@unifiedsoftware/react-ui 1.0.23 → 1.0.25

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.js CHANGED
@@ -1,3194 +1 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __defProps = Object.defineProperties;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
- var __getOwnPropNames = Object.getOwnPropertyNames;
8
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
- var __getProtoOf = Object.getPrototypeOf;
10
- var __hasOwnProp = Object.prototype.hasOwnProperty;
11
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {}))
15
- if (__hasOwnProp.call(b, prop))
16
- __defNormalProp(a, prop, b[prop]);
17
- if (__getOwnPropSymbols)
18
- for (var prop of __getOwnPropSymbols(b)) {
19
- if (__propIsEnum.call(b, prop))
20
- __defNormalProp(a, prop, b[prop]);
21
- }
22
- return a;
23
- };
24
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
- var __objRest = (source, exclude) => {
26
- var target = {};
27
- for (var prop in source)
28
- if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
- target[prop] = source[prop];
30
- if (source != null && __getOwnPropSymbols)
31
- for (var prop of __getOwnPropSymbols(source)) {
32
- if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
- target[prop] = source[prop];
34
- }
35
- return target;
36
- };
37
- var __export = (target, all) => {
38
- for (var name in all)
39
- __defProp(target, name, { get: all[name], enumerable: true });
40
- };
41
- var __copyProps = (to, from, except, desc) => {
42
- if (from && typeof from === "object" || typeof from === "function") {
43
- for (let key of __getOwnPropNames(from))
44
- if (!__hasOwnProp.call(to, key) && key !== except)
45
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
- }
47
- return to;
48
- };
49
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
50
- // If the importer is in node compatibility mode or this is not an ESM
51
- // file that has been converted to a CommonJS file using a Babel-
52
- // compatible transform (i.e. "__esModule" has not been set), then set
53
- // "default" to the CommonJS "module.exports" for node compatibility.
54
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
55
- mod
56
- ));
57
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
58
- var __async = (__this, __arguments, generator) => {
59
- return new Promise((resolve, reject) => {
60
- var fulfilled = (value) => {
61
- try {
62
- step(generator.next(value));
63
- } catch (e) {
64
- reject(e);
65
- }
66
- };
67
- var rejected = (value) => {
68
- try {
69
- step(generator.throw(value));
70
- } catch (e) {
71
- reject(e);
72
- }
73
- };
74
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
75
- step((generator = generator.apply(__this, __arguments)).next());
76
- });
77
- };
78
-
79
- // src/index.ts
80
- var src_exports = {};
81
- __export(src_exports, {
82
- Accordion: () => Accordion_default,
83
- AccordionContent: () => AccordionContent_default,
84
- AccordionHeader: () => AccordionHeader_default,
85
- AccordionItem: () => AccordionItem_default,
86
- AccordionPanel: () => AccordionPanel_default,
87
- Autocomplete: () => Autocomplete_default,
88
- Backdrop: () => Backdrop_default,
89
- Badge: () => Badge_default,
90
- Button: () => Button,
91
- Card: () => Card_default,
92
- CardHeader: () => CardHeader_default,
93
- Chip: () => Chip_default,
94
- Collapse: () => Collapse_default,
95
- CollapseContent: () => CollapseContent_default,
96
- CollapseContext: () => CollapseContext_default,
97
- CollapseTrigger: () => CollapseTrigger_default,
98
- Drawer: () => Drawer_default,
99
- Field: () => Field_default,
100
- Icon: () => Icon_default,
101
- List: () => List_default,
102
- ListGroup: () => ListGroup_default,
103
- ListItem: () => ListItem_default,
104
- Menu: () => Menu_default,
105
- MenuContext: () => MenuContext_default,
106
- MenuGroup: () => MenuGroup_default,
107
- MenuItem: () => MenuItem_default,
108
- MenuSubmenu: () => MenuSubmenu_default,
109
- MenuValueContext: () => MenuValueContext_default,
110
- Portal: () => Portal_default,
111
- QueryStatus: () => QueryStatus,
112
- ScrollArea: () => ScrollArea_default,
113
- Select: () => Select_default,
114
- Switch: () => Switch_default,
115
- Tab: () => Tab,
116
- Tabs: () => Tabs,
117
- TextInput: () => TextInput_default,
118
- Toolbar: () => Toolbar_default,
119
- Transition: () => Transition_default,
120
- assignRef: () => assignRef,
121
- clsx: () => clsx_default,
122
- getOpenValuesByPathname: () => getOpenValuesByPathname,
123
- hasResizeObserver: () => hasResizeObserver,
124
- mergeRefs: () => mergeRefs_default,
125
- scrollToItem: () => scrollToItem,
126
- useAccordionItem: () => useAccordionItem,
127
- useCollapse: () => useCollapse,
128
- useDebounce: () => useDebounce_default,
129
- useDisclosure: () => useDisclosure_default,
130
- useEffectEvent: () => useEffectEvent_default,
131
- useElementSize: () => useElementSize_default,
132
- useInfiniteQuery: () => useInfiniteQuery_default,
133
- useLocalStorage: () => useLocalStorage,
134
- useMenu: () => useMenu,
135
- useMenuItemValue: () => useMenuItemValue,
136
- useOnClickOutside: () => useOnClickOutside_default,
137
- usePrevious: () => usePrevious,
138
- useResizeObserver: () => useResizeObserver_default,
139
- useStep: () => useStep,
140
- useValueEffect: () => useValueEffect_default,
141
- useVirtualizer: () => useVirtualizer_default
142
- });
143
- module.exports = __toCommonJS(src_exports);
144
-
145
- // src/components/Autocomplete/Autocomplete.tsx
146
- var import_react38 = require("react");
147
-
148
- // src/constants/index.ts
149
- var PREFIX_CLS = "us-";
150
-
151
- // src/hooks/useLocalStorage.tsx
152
- var import_react3 = require("react");
153
-
154
- // src/hooks/useEventListener.tsx
155
- var import_react2 = require("react");
156
-
157
- // src/hooks/useIsomorphicLayoutEffect.tsx
158
- var import_react = require("react");
159
- var useIsomorphicLayoutEffect = typeof window !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect;
160
- var useIsomorphicLayoutEffect_default = useIsomorphicLayoutEffect;
161
-
162
- // src/hooks/useEventListener.tsx
163
- function useEventListener(handler) {
164
- const savedHandler = (0, import_react2.useRef)(handler);
165
- useIsomorphicLayoutEffect_default(() => {
166
- savedHandler.current = handler;
167
- }, [handler]);
168
- }
169
- var useEventListener_default = useEventListener;
170
-
171
- // src/hooks/useLocalStorage.tsx
172
- function useLocalStorage(key, initialValue) {
173
- const readValue = (0, import_react3.useCallback)(() => {
174
- if (typeof window === "undefined") {
175
- return initialValue;
176
- }
177
- try {
178
- const item = window.localStorage.getItem(key);
179
- return item ? parseJSON(item) : initialValue;
180
- } catch (error) {
181
- console.warn(`Error reading localStorage key \u201C${key}\u201D:`, error);
182
- return initialValue;
183
- }
184
- }, [initialValue, key]);
185
- const [storedValue, setStoredValue] = (0, import_react3.useState)(readValue);
186
- const setValue = (0, import_react3.useCallback)(
187
- (value) => {
188
- if (typeof window == "undefined") {
189
- console.warn(`Tried setting localStorage key \u201C${key}\u201D even though environment is not a client`);
190
- }
191
- try {
192
- const newValue = value instanceof Function ? value(storedValue) : value;
193
- window.localStorage.setItem(key, JSON.stringify(newValue));
194
- setStoredValue(newValue);
195
- window.dispatchEvent(new Event("local-storage"));
196
- } catch (error) {
197
- console.warn(`Error setting localStorage key \u201C${key}\u201D:`, error);
198
- }
199
- },
200
- [key, storedValue]
201
- );
202
- (0, import_react3.useEffect)(() => {
203
- setStoredValue(readValue());
204
- }, []);
205
- const handleStorageChange = (0, import_react3.useCallback)(() => {
206
- setStoredValue(readValue());
207
- }, [readValue]);
208
- useEventListener_default("storage", handleStorageChange);
209
- useEventListener_default("local-storage", handleStorageChange);
210
- return [storedValue, setValue];
211
- }
212
- function parseJSON(value) {
213
- try {
214
- return value === "undefined" ? void 0 : JSON.parse(value != null ? value : "");
215
- } catch (e) {
216
- return void 0;
217
- }
218
- }
219
-
220
- // src/hooks/usePrevious.tsx
221
- var import_react4 = require("react");
222
- var usePrevious = (value) => {
223
- const ref = (0, import_react4.useRef)();
224
- (0, import_react4.useEffect)(() => {
225
- ref.current = value;
226
- });
227
- return ref.current;
228
- };
229
-
230
- // src/hooks/useDisclosure.ts
231
- var import_react5 = require("react");
232
- function useDisclosure({ defaultValue } = {}) {
233
- const [isOpen, setIsOpen] = (0, import_react5.useState)(defaultValue || false);
234
- const onOpen = () => {
235
- setIsOpen(true);
236
- };
237
- const onClose = () => {
238
- setIsOpen(false);
239
- };
240
- const onToggle = () => {
241
- setIsOpen((prevState) => !prevState);
242
- };
243
- return {
244
- isOpen,
245
- onOpen,
246
- onClose,
247
- onToggle
248
- };
249
- }
250
- var useDisclosure_default = useDisclosure;
251
-
252
- // src/hooks/useOnClickOutside.tsx
253
- var import_react6 = require("react");
254
- var useOnClickOutside = (ref, handler) => {
255
- (0, import_react6.useEffect)(() => {
256
- const listener = (event) => {
257
- if (!ref.current || ref.current.contains(event.target)) {
258
- return;
259
- }
260
- handler(event);
261
- };
262
- document.addEventListener("click", listener);
263
- return () => {
264
- document.removeEventListener("click", listener);
265
- };
266
- }, [ref, handler]);
267
- };
268
- var useOnClickOutside_default = useOnClickOutside;
269
-
270
- // src/hooks/useStep.tsx
271
- var import_react7 = require("react");
272
- var useStep = (maxStep) => {
273
- const [currentStep, setCurrentStep] = (0, import_react7.useState)(1);
274
- const canGoToNextStep = (0, import_react7.useMemo)(() => currentStep + 1 <= maxStep, [currentStep, maxStep]);
275
- const canGoToPrevStep = (0, import_react7.useMemo)(() => currentStep - 1 >= 1, [currentStep]);
276
- const setStep = (0, import_react7.useCallback)(
277
- (step) => {
278
- const newStep = step instanceof Function ? step(currentStep) : step;
279
- if (newStep >= 1 && newStep <= maxStep) {
280
- setCurrentStep(newStep);
281
- return;
282
- }
283
- throw new Error("Step not valid");
284
- },
285
- [maxStep, currentStep]
286
- );
287
- const goToNextStep = (0, import_react7.useCallback)(() => {
288
- if (canGoToNextStep) {
289
- setCurrentStep((step) => step + 1);
290
- }
291
- }, [canGoToNextStep]);
292
- const goToPrevStep = (0, import_react7.useCallback)(() => {
293
- if (canGoToPrevStep) {
294
- setCurrentStep((step) => step - 1);
295
- }
296
- }, [canGoToPrevStep]);
297
- const reset = (0, import_react7.useCallback)(() => {
298
- setCurrentStep(1);
299
- }, []);
300
- return [
301
- currentStep,
302
- {
303
- goToNextStep,
304
- goToPrevStep,
305
- canGoToNextStep,
306
- canGoToPrevStep,
307
- setStep,
308
- reset
309
- }
310
- ];
311
- };
312
-
313
- // src/hooks/useDebounce.ts
314
- var import_react8 = require("react");
315
- function useDebounce(value, delay) {
316
- const [debouncedValue, setDebouncedValue] = (0, import_react8.useState)(value);
317
- (0, import_react8.useEffect)(() => {
318
- const timer = setTimeout(() => setDebouncedValue(value), delay || 500);
319
- return () => {
320
- clearTimeout(timer);
321
- };
322
- }, [value, delay]);
323
- return debouncedValue;
324
- }
325
- var useDebounce_default = useDebounce;
326
-
327
- // src/hooks/useVirtualizer/useVirtualizer.ts
328
- var import_react_virtual = require("@tanstack/react-virtual");
329
- var import_react9 = require("react");
330
- function useVirtualizer(options) {
331
- const {
332
- parentRef,
333
- total,
334
- count = 0,
335
- overscan = 5,
336
- hasNextPage,
337
- isFetchingNextPage,
338
- onFetchNextPage,
339
- estimateSize
340
- } = options;
341
- const virtualizer = (0, import_react_virtual.useVirtualizer)({
342
- count: total ? total : hasNextPage ? count + 1 : count,
343
- getScrollElement: () => parentRef.current,
344
- estimateSize,
345
- overscan
346
- });
347
- (0, import_react9.useEffect)(() => {
348
- if (!onFetchNextPage)
349
- return;
350
- const [lastItem] = [...virtualizer.getVirtualItems()].reverse();
351
- if (!lastItem) {
352
- return;
353
- }
354
- if (lastItem.index >= count - 1 && hasNextPage && !isFetchingNextPage) {
355
- onFetchNextPage == null ? void 0 : onFetchNextPage();
356
- }
357
- }, [hasNextPage, onFetchNextPage, count, isFetchingNextPage, virtualizer.getVirtualItems()]);
358
- return {
359
- getVirtualItems: virtualizer.getVirtualItems,
360
- getTotalSize: virtualizer.getTotalSize,
361
- scrollToIndex: (index, options2) => {
362
- virtualizer.scrollToIndex(index, options2);
363
- },
364
- scrollToOffset: (toOffset, options2) => {
365
- virtualizer.scrollToOffset(toOffset, options2);
366
- }
367
- };
368
- }
369
- var useVirtualizer_default = useVirtualizer;
370
-
371
- // src/hooks/useInfiniteQuery/useInfiniteQuery.ts
372
- var import_react10 = require("react");
373
-
374
- // src/hooks/useInfiniteQuery/types.ts
375
- var QueryStatus = /* @__PURE__ */ ((QueryStatus2) => {
376
- QueryStatus2[QueryStatus2["IDLE"] = 0] = "IDLE";
377
- QueryStatus2[QueryStatus2["LOADING"] = 1] = "LOADING";
378
- QueryStatus2[QueryStatus2["SUCCESS"] = 2] = "SUCCESS";
379
- QueryStatus2[QueryStatus2["ERROR"] = 3] = "ERROR";
380
- return QueryStatus2;
381
- })(QueryStatus || {});
382
-
383
- // src/hooks/useInfiniteQuery/useInfiniteQuery.ts
384
- function useInfiniteQuery(options, deps = []) {
385
- const [status, setStatus] = (0, import_react10.useState)(0 /* IDLE */);
386
- const [data, setData] = (0, import_react10.useState)({ pages: [] });
387
- const [error, setError] = (0, import_react10.useState)();
388
- const [hasNextPage, setHasNextPage] = (0, import_react10.useState)(true);
389
- const [isFetchingNextPage, setIsFetchingNextPage] = (0, import_react10.useState)(false);
390
- const fetchNextPage = () => __async(this, null, function* () {
391
- try {
392
- setStatus(1 /* LOADING */);
393
- setError(void 0);
394
- setIsFetchingNextPage(true);
395
- const lastIndex = data.pages.length - 1;
396
- const page = options.getNextPage(data.pages[lastIndex], data.pages);
397
- const newPage = yield options.query({ page });
398
- const newData = { pages: [...data.pages, newPage] };
399
- setData(newData);
400
- const newLastIndex = newData.pages.length - 1;
401
- const nextPage = options.getNextPage(newData.pages[newLastIndex], newData.pages);
402
- setHasNextPage(nextPage !== void 0);
403
- setIsFetchingNextPage(false);
404
- setStatus(2 /* SUCCESS */);
405
- } catch (error2) {
406
- setError(error2);
407
- setStatus(3 /* ERROR */);
408
- }
409
- });
410
- (0, import_react10.useEffect)(() => {
411
- const fetchData = () => __async(this, null, function* () {
412
- try {
413
- setStatus(1 /* LOADING */);
414
- setError(void 0);
415
- setIsFetchingNextPage(true);
416
- const page = void 0;
417
- const newPage = yield options.query({ page });
418
- setData({ pages: [newPage] });
419
- const nextPage = options.getNextPage(newPage, [newPage]);
420
- setHasNextPage(nextPage !== void 0);
421
- setIsFetchingNextPage(false);
422
- setStatus(2 /* SUCCESS */);
423
- } catch (error2) {
424
- setError(error2);
425
- setStatus(3 /* ERROR */);
426
- }
427
- });
428
- fetchData();
429
- }, deps);
430
- return { status, data, error, hasNextPage, isFetchingNextPage, fetchNextPage };
431
- }
432
- var useInfiniteQuery_default = useInfiniteQuery;
433
-
434
- // src/hooks/useElementSize/useElementSize.ts
435
- var import_react11 = require("react");
436
- var defaultState = {
437
- width: 0,
438
- height: 0
439
- };
440
- function useElementSize(options) {
441
- var _a;
442
- const frameID = (0, import_react11.useRef)(0);
443
- const [resize, setResize] = (0, import_react11.useState)(defaultState);
444
- const observer = (0, import_react11.useMemo)(
445
- () => typeof window !== "undefined" ? new ResizeObserver((entries) => {
446
- const entry = entries[0];
447
- if (entry) {
448
- cancelAnimationFrame(frameID.current);
449
- frameID.current = requestAnimationFrame(() => {
450
- var _a2, _b, _c;
451
- const target = (_b = (_a2 = options.ref) == null ? void 0 : _a2.current) != null ? _b : options.target;
452
- if (target) {
453
- (_c = options.callback) == null ? void 0 : _c.call(options, resize);
454
- setResize({ width: entry.contentRect.width, height: entry.contentRect.height });
455
- }
456
- });
457
- }
458
- }) : null,
459
- []
460
- );
461
- (0, import_react11.useEffect)(() => {
462
- var _a2, _b;
463
- const target = (_b = (_a2 = options.ref) == null ? void 0 : _a2.current) != null ? _b : options.target;
464
- if (target) {
465
- observer == null ? void 0 : observer.observe(target);
466
- }
467
- return () => {
468
- observer == null ? void 0 : observer.disconnect();
469
- if (frameID.current) {
470
- cancelAnimationFrame(frameID.current);
471
- }
472
- };
473
- }, [(_a = options.ref) == null ? void 0 : _a.current, options.target]);
474
- return resize;
475
- }
476
- var useElementSize_default = useElementSize;
477
-
478
- // src/hooks/useResizeObserver/useResizeObserver.ts
479
- var import_react12 = require("react");
480
- function hasResizeObserver() {
481
- return typeof window.ResizeObserver !== "undefined";
482
- }
483
- function useResizeObserver(options) {
484
- const { ref, onResize } = options;
485
- (0, import_react12.useEffect)(() => {
486
- const element = ref == null ? void 0 : ref.current;
487
- if (!element) {
488
- return;
489
- }
490
- if (!hasResizeObserver()) {
491
- window.addEventListener("resize", onResize);
492
- return () => {
493
- window.removeEventListener("resize", onResize);
494
- };
495
- } else {
496
- const resizeObserver = new window.ResizeObserver((entries) => {
497
- if (!entries.length) {
498
- return;
499
- }
500
- onResize();
501
- });
502
- resizeObserver.observe(element);
503
- return () => {
504
- if (element) {
505
- resizeObserver.unobserve(element);
506
- }
507
- };
508
- }
509
- }, [ref, onResize]);
510
- }
511
- var useResizeObserver_default = useResizeObserver;
512
-
513
- // src/hooks/useEffectEvent/useEffectEvent.ts
514
- var import_react13 = require("react");
515
- function useEffectEvent(fn) {
516
- const ref = (0, import_react13.useRef)(null);
517
- (0, import_react13.useLayoutEffect)(() => {
518
- ref.current = fn;
519
- }, [fn]);
520
- return (0, import_react13.useCallback)((...args) => {
521
- const f = ref.current;
522
- return f(...args);
523
- }, []);
524
- }
525
- var useEffectEvent_default = useEffectEvent;
526
-
527
- // src/hooks/useValueEffect/useValueEffect.ts
528
- var import_react14 = require("react");
529
- function useValueEffect(defaultValue) {
530
- const [value, setValue] = (0, import_react14.useState)(defaultValue);
531
- const effect = (0, import_react14.useRef)(null);
532
- const nextRef = useEffectEvent_default(() => {
533
- if (!effect.current)
534
- return;
535
- const newValue = effect.current.next();
536
- if (newValue.done) {
537
- effect.current = null;
538
- return;
539
- }
540
- if (value === newValue.value) {
541
- nextRef();
542
- } else {
543
- setValue(newValue.value);
544
- }
545
- });
546
- (0, import_react14.useLayoutEffect)(() => {
547
- if (effect.current) {
548
- nextRef();
549
- }
550
- });
551
- const queue = useEffectEvent_default((fn) => {
552
- effect.current = fn(value);
553
- nextRef();
554
- });
555
- return [value, queue];
556
- }
557
- var useValueEffect_default = useValueEffect;
558
-
559
- // src/icons/ChevronDownIcon.tsx
560
- var import_react15 = require("react");
561
- var import_jsx_runtime = require("react/jsx-runtime");
562
- var ChevronDownIcon = (0, import_react15.forwardRef)((props, ref) => {
563
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
564
- "svg",
565
- __spreadProps(__spreadValues({
566
- ref,
567
- stroke: "currentColor",
568
- fill: "currentColor",
569
- strokeWidth: "0",
570
- viewBox: "0 0 24 24",
571
- height: "1em",
572
- width: "1em",
573
- xmlns: "http://www.w3.org/2000/svg"
574
- }, props), {
575
- children: [
576
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { fill: "none", d: "M0 0h24v24H0V0z" }),
577
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("path", { d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z" })
578
- ]
579
- })
580
- );
581
- });
582
- var ChevronDownIcon_default = ChevronDownIcon;
583
-
584
- // src/icons/ChevronUpIcon.tsx
585
- var import_react16 = require("react");
586
- var import_jsx_runtime2 = require("react/jsx-runtime");
587
- var ChevronUpIcon = (0, import_react16.forwardRef)((props, ref) => {
588
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
589
- "svg",
590
- __spreadProps(__spreadValues({
591
- ref,
592
- stroke: "currentColor",
593
- fill: "currentColor",
594
- strokeWidth: "0",
595
- viewBox: "0 0 24 24",
596
- height: "1em",
597
- width: "1em",
598
- xmlns: "http://www.w3.org/2000/svg"
599
- }, props), {
600
- children: [
601
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { fill: "none", d: "M0 0h24v24H0z" }),
602
- /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("path", { d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z" })
603
- ]
604
- })
605
- );
606
- });
607
- var ChevronUpIcon_default = ChevronUpIcon;
608
-
609
- // src/icons/LoaderIcon.tsx
610
- var import_react17 = require("react");
611
- var import_jsx_runtime3 = require("react/jsx-runtime");
612
- var LoaderIcon = (0, import_react17.forwardRef)((props, ref) => {
613
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
614
- "svg",
615
- __spreadProps(__spreadValues({
616
- ref,
617
- stroke: "currentColor",
618
- fill: "none",
619
- strokeWidth: "2",
620
- viewBox: "0 0 24 24",
621
- strokeLinecap: "round",
622
- strokeLinejoin: "round",
623
- height: "1em",
624
- width: "1em",
625
- xmlns: "http://www.w3.org/2000/svg"
626
- }, props), {
627
- children: [
628
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
629
- /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("path", { d: "M12 3a9 9 0 1 0 9 9" })
630
- ]
631
- })
632
- );
633
- });
634
- var LoaderIcon_default = LoaderIcon;
635
-
636
- // src/icons/CloseIcon.tsx
637
- var import_react18 = require("react");
638
- var import_jsx_runtime4 = require("react/jsx-runtime");
639
- var CloseIcon = (0, import_react18.forwardRef)((props, ref) => {
640
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
641
- "svg",
642
- __spreadProps(__spreadValues({
643
- ref,
644
- xmlns: "http://www.w3.org/2000/svg",
645
- width: "24",
646
- height: "24",
647
- viewBox: "0 0 24 24",
648
- strokeWidth: "2",
649
- stroke: "currentColor",
650
- fill: "none",
651
- strokeLinecap: "round",
652
- strokeLinejoin: "round"
653
- }, props), {
654
- children: [
655
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { stroke: "none", d: "M0 0h24v24H0z", fill: "none" }),
656
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M18 6l-12 12" }),
657
- /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("path", { d: "M6 6l12 12" })
658
- ]
659
- })
660
- );
661
- });
662
- var CloseIcon_default = CloseIcon;
663
-
664
- // src/utils/scroll.ts
665
- var scrollToItem = (parentElement, currentElement) => {
666
- const parentRect = parentElement.getBoundingClientRect();
667
- const currentRect = currentElement.getBoundingClientRect();
668
- const behavior = "smooth";
669
- const previousElement = currentElement.previousSibling;
670
- const previousRect = (previousElement == null ? void 0 : previousElement.getBoundingClientRect()) || currentRect;
671
- if (parentRect.left > previousRect.left) {
672
- let offset = 0;
673
- if (previousElement) {
674
- offset = previousRect.left - parentRect.left + parentElement.scrollLeft + previousRect.width / 4;
675
- }
676
- parentElement.scrollTo({ behavior, left: offset });
677
- }
678
- const nextElement = currentElement.nextSibling;
679
- const nextRect = (nextElement == null ? void 0 : nextElement.getBoundingClientRect()) || currentRect;
680
- if (parentRect.right < nextRect.right) {
681
- let offset = parentElement.scrollWidth;
682
- if (nextElement) {
683
- offset = nextRect.right - parentRect.right + parentElement.scrollLeft - nextRect.width / 4;
684
- }
685
- parentElement.scrollTo({ behavior, left: offset });
686
- }
687
- };
688
-
689
- // src/utils/clsx.ts
690
- function toVal(mix) {
691
- let k, y, str = "";
692
- if (typeof mix === "string" || typeof mix === "number") {
693
- str += mix;
694
- } else if (typeof mix === "object") {
695
- if (Array.isArray(mix)) {
696
- for (k = 0; k < mix.length; k++) {
697
- if (mix[k]) {
698
- if (y = toVal(mix[k])) {
699
- str && (str += " ");
700
- str += y;
701
- }
702
- }
703
- }
704
- } else {
705
- for (k in mix) {
706
- if (mix[k]) {
707
- str && (str += " ");
708
- str += k;
709
- }
710
- }
711
- }
712
- }
713
- return str;
714
- }
715
- function clsx(...inputs) {
716
- let i = 0, tmp, x, str = "";
717
- while (i < inputs.length) {
718
- if (tmp = inputs[i++]) {
719
- if (x = toVal(tmp)) {
720
- str && (str += " ");
721
- str += x;
722
- }
723
- }
724
- }
725
- return str;
726
- }
727
- var clsx_default = clsx;
728
-
729
- // src/utils/mergeRefs.ts
730
- function assignRef(ref, value) {
731
- if (ref == null)
732
- return;
733
- if (typeof ref === "function") {
734
- ref(value);
735
- return;
736
- }
737
- try {
738
- ref.current = value;
739
- } catch (error) {
740
- throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);
741
- }
742
- }
743
- function mergeRefs(...refs) {
744
- return (node) => {
745
- refs.forEach((ref) => {
746
- assignRef(ref, node);
747
- });
748
- };
749
- }
750
- var mergeRefs_default = mergeRefs;
751
-
752
- // src/components/Button/Button.tsx
753
- var import_clsx3 = __toESM(require("clsx"));
754
- var import_react20 = require("react");
755
-
756
- // src/components/Icon/Icon.tsx
757
- var import_clsx2 = __toESM(require("clsx"));
758
- var import_react19 = require("react");
759
- var Icon = (0, import_react19.forwardRef)(({ children, size }, ref) => {
760
- const child = import_react19.Children.only(children);
761
- return (0, import_react19.cloneElement)(child, __spreadProps(__spreadValues({
762
- ref
763
- }, child.props), {
764
- className: (0, import_clsx2.default)(`${PREFIX_CLS}icon`, { [`${PREFIX_CLS}font-size-${size}`]: size }, child.props.className)
765
- }));
766
- });
767
- var Icon_default = Icon;
768
-
769
- // src/components/Button/Button.tsx
770
- var import_jsx_runtime5 = require("react/jsx-runtime");
771
- var Button = (0, import_react20.forwardRef)(
772
- (_a, ref) => {
773
- var _b = _a, {
774
- as: Component = "button",
775
- children,
776
- className,
777
- role = "presentation",
778
- variant = "text",
779
- color = "primary",
780
- size = "md",
781
- iconOnly,
782
- startContent,
783
- endContent,
784
- block,
785
- loading,
786
- disabled
787
- } = _b, rest = __objRest(_b, [
788
- "as",
789
- "children",
790
- "className",
791
- "role",
792
- "variant",
793
- "color",
794
- "size",
795
- "iconOnly",
796
- "startContent",
797
- "endContent",
798
- "block",
799
- "loading",
800
- "disabled"
801
- ]);
802
- const prefixCls = PREFIX_CLS;
803
- return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
804
- Component,
805
- __spreadProps(__spreadValues({
806
- ref,
807
- className: (0, import_clsx3.default)(
808
- `${prefixCls}button`,
809
- {
810
- [`${prefixCls}button--${variant}`]: variant,
811
- [`${prefixCls}button--${color}`]: color,
812
- [`${prefixCls}button--${size}`]: size,
813
- [`${prefixCls}button--block`]: block,
814
- [`${prefixCls}button--icon-only`]: iconOnly,
815
- [`${prefixCls}button--disabled`]: disabled
816
- },
817
- className
818
- ),
819
- role,
820
- disabled
821
- }, rest), {
822
- children: [
823
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `${prefixCls}overlay` }),
824
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `${prefixCls}outline` }),
825
- loading ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(LoaderIcon_default, { className: `${prefixCls}animation-spin` }) }) : startContent,
826
- /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: `${prefixCls}button__content`, children }),
827
- endContent
828
- ]
829
- })
830
- );
831
- }
832
- );
833
-
834
- // src/components/Popover/Popover.tsx
835
- var import_react24 = require("react");
836
-
837
- // src/components/Portal/Portal.tsx
838
- var import_react21 = require("react");
839
- var import_react_dom = require("react-dom");
840
- var import_jsx_runtime6 = require("react/jsx-runtime");
841
- var Portal = (0, import_react21.forwardRef)(({ children, container }, ref) => {
842
- const prefixCls = PREFIX_CLS;
843
- return (0, import_react_dom.createPortal)(
844
- /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { ref, className: `${prefixCls}portal`, children }),
845
- container || document.body
846
- );
847
- });
848
- var Portal_default = Portal;
849
-
850
- // src/components/Transition/Transition.tsx
851
- var import_clsx4 = __toESM(require("clsx"));
852
- var import_react22 = require("react");
853
- var import_react_transition_group = require("react-transition-group");
854
- var import_jsx_runtime7 = require("react/jsx-runtime");
855
- var Transition = (0, import_react22.forwardRef)((props, ref) => {
856
- const {
857
- children,
858
- className,
859
- nodeRef,
860
- name,
861
- isOpen,
862
- enter = 0,
863
- leave = 0,
864
- mountOnEnter,
865
- unmountOnExit,
866
- onExited
867
- } = props;
868
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
869
- import_react_transition_group.CSSTransition,
870
- {
871
- nodeRef,
872
- in: isOpen,
873
- appear: true,
874
- timeout: { enter, exit: leave },
875
- mountOnEnter,
876
- unmountOnExit,
877
- classNames: (0, import_clsx4.default)(name, className),
878
- onExited,
879
- children
880
- }
881
- );
882
- });
883
- var Transition_default = Transition;
884
-
885
- // src/components/Popover/constans.ts
886
- var POPOVER_TRANSITION_DURATION_LEAVE = 150;
887
-
888
- // src/components/Popover/PopoverContext.tsx
889
- var import_react23 = require("react");
890
- var PopoverContext = (0, import_react23.createContext)(null);
891
- var usePopover = () => {
892
- const context = (0, import_react23.useContext)(PopoverContext);
893
- if (!context) {
894
- throw new Error("`usePopover` must be used within a `<Popover />`");
895
- }
896
- return context;
897
- };
898
- var PopoverContext_default = PopoverContext;
899
-
900
- // src/components/Popover/Popover.tsx
901
- var import_jsx_runtime8 = require("react/jsx-runtime");
902
- var Popover = (props) => {
903
- const {
904
- children,
905
- target,
906
- autoClose = true,
907
- triggerClosable = true,
908
- isOpen,
909
- onOpen,
910
- onClose,
911
- onToggle,
912
- onAfterClose
913
- } = props;
914
- const triggerRef = (0, import_react24.useRef)(null);
915
- const contentRef = (0, import_react24.useRef)(null);
916
- const [internalOpen, setInternalOpen] = (0, import_react24.useState)(props.isOpen || false);
917
- const [trigger, content] = import_react24.Children.toArray(children);
918
- const prefixCls = PREFIX_CLS;
919
- const handleOpen = () => {
920
- if (isOpen !== void 0) {
921
- onOpen == null ? void 0 : onOpen();
922
- } else {
923
- setInternalOpen(true);
924
- }
925
- };
926
- const handleClose = () => {
927
- if (isOpen !== void 0) {
928
- onClose == null ? void 0 : onClose();
929
- } else {
930
- setInternalOpen(false);
931
- }
932
- };
933
- const handleToggle = () => {
934
- if (isOpen !== void 0) {
935
- onToggle == null ? void 0 : onToggle();
936
- } else {
937
- setInternalOpen((prevState) => !prevState);
938
- }
939
- };
940
- (0, import_react24.useEffect)(() => {
941
- setInternalOpen(isOpen || false);
942
- }, [isOpen]);
943
- return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(
944
- PopoverContext_default.Provider,
945
- {
946
- value: {
947
- triggerRef,
948
- contentRef,
949
- target,
950
- isOpen: internalOpen,
951
- autoClose,
952
- triggerClosable,
953
- onOpen: handleOpen,
954
- onClose: handleClose,
955
- onToggle: handleToggle
956
- },
957
- children: [
958
- trigger,
959
- /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
960
- Transition_default,
961
- {
962
- nodeRef: contentRef,
963
- isOpen: internalOpen,
964
- enter: 300,
965
- leave: POPOVER_TRANSITION_DURATION_LEAVE,
966
- name: `${prefixCls}popover`,
967
- unmountOnExit: true,
968
- onExited: onAfterClose,
969
- children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(Portal_default, { children: (0, import_react24.cloneElement)(import_react24.Children.only(content), __spreadProps(__spreadValues({}, content.props), {
970
- ref: contentRef
971
- })) })
972
- }
973
- )
974
- ]
975
- }
976
- );
977
- };
978
- var Popover_default = Popover;
979
-
980
- // src/components/Popover/PopoverContent.tsx
981
- var import_react25 = require("react");
982
- var import_jsx_runtime9 = require("react/jsx-runtime");
983
- function getScrollParent(node) {
984
- if (node == null) {
985
- return null;
986
- }
987
- if (node.scrollHeight > node.clientHeight) {
988
- return node;
989
- } else {
990
- return getScrollParent(node.parentNode);
991
- }
992
- }
993
- var PopoverContent = (0, import_react25.forwardRef)((props, ref) => {
994
- const _a = props, { children, style, className, onClick } = _a, rest = __objRest(_a, ["children", "style", "className", "onClick"]);
995
- const { triggerRef, contentRef, target, onClose } = usePopover();
996
- const prefixCls = PREFIX_CLS;
997
- const menuListRef = (0, import_react25.useRef)(null);
998
- const [contentStyle, setContentStyle] = (0, import_react25.useState)({
999
- position: "absolute",
1000
- top: 0,
1001
- left: 0,
1002
- visibility: "hidden"
1003
- });
1004
- const containerEl = getScrollParent(triggerRef.current) || window;
1005
- useElementSize_default({
1006
- target: containerEl,
1007
- callback: () => {
1008
- handleSize();
1009
- }
1010
- });
1011
- useOnClickOutside_default(contentRef, (event) => {
1012
- const el = triggerRef.current;
1013
- if (!el || el.contains(event.target))
1014
- return;
1015
- onClose();
1016
- });
1017
- const handleClick = (ev) => {
1018
- ev.stopPropagation();
1019
- onClick == null ? void 0 : onClick(ev);
1020
- };
1021
- const handleSize = (0, import_react25.useCallback)(() => {
1022
- var _a2, _b;
1023
- const popoverRect = (_a2 = contentRef.current) == null ? void 0 : _a2.getBoundingClientRect();
1024
- const triggerClientRect = (_b = triggerRef.current) == null ? void 0 : _b.getBoundingClientRect();
1025
- if (!popoverRect || !triggerClientRect || !containerEl) {
1026
- return;
1027
- }
1028
- const container = { innerWidth: window.innerWidth, innerHeight: window.innerHeight };
1029
- const triggerRect = {
1030
- width: triggerClientRect.width,
1031
- height: triggerClientRect.height,
1032
- top: triggerClientRect.top + window.scrollY,
1033
- bottom: triggerClientRect.top + triggerClientRect.height + window.scrollY,
1034
- left: triggerClientRect.left + window.scrollX,
1035
- right: triggerClientRect.left + triggerClientRect.width + window.scrollX
1036
- };
1037
- const outsideX = triggerRect.left + popoverRect.width > container.innerWidth;
1038
- const outsideY = triggerRect.top + popoverRect.height > container.innerHeight + window.scrollY;
1039
- const style2 = __spreadProps(__spreadValues({}, target && {
1040
- width: triggerRect.width,
1041
- minWidth: "auto"
1042
- }), {
1043
- position: "absolute",
1044
- top: outsideY ? void 0 : triggerRect.bottom,
1045
- bottom: outsideY ? container.innerHeight - triggerRect.top : void 0,
1046
- left: outsideX ? void 0 : triggerRect.left,
1047
- right: outsideX ? container.innerWidth - triggerRect.right : void 0,
1048
- visibility: void 0
1049
- });
1050
- setContentStyle(style2);
1051
- }, []);
1052
- (0, import_react25.useEffect)(() => {
1053
- handleSize();
1054
- containerEl.addEventListener("scroll", handleSize);
1055
- window.addEventListener("orientationchange", handleSize);
1056
- return () => {
1057
- containerEl.removeEventListener("scroll", handleSize);
1058
- window.removeEventListener("orientationchange", handleSize);
1059
- };
1060
- }, []);
1061
- return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
1062
- "div",
1063
- __spreadProps(__spreadValues({
1064
- ref: mergeRefs_default(menuListRef, ref),
1065
- className: clsx_default(`${prefixCls}popover`, className),
1066
- style: __spreadValues(__spreadValues({}, style), contentStyle),
1067
- onClick: handleClick
1068
- }, rest), {
1069
- children
1070
- })
1071
- );
1072
- });
1073
- var PopoverContent_default = PopoverContent;
1074
-
1075
- // src/components/Popover/PopoverTrigger.tsx
1076
- var import_react26 = require("react");
1077
- var PopoverTrigger = (0, import_react26.forwardRef)((props, ref) => {
1078
- const _a = props, { children, onClick } = _a, rest = __objRest(_a, ["children", "onClick"]);
1079
- const { isOpen, triggerRef, triggerClosable, onOpen, onClose } = usePopover();
1080
- const child = import_react26.Children.only(typeof children === "function" ? children(isOpen) : children);
1081
- const handleClick = (ev) => {
1082
- var _a2, _b;
1083
- ev.preventDefault();
1084
- triggerClosable && isOpen ? onClose() : onOpen();
1085
- onClick == null ? void 0 : onClick(ev);
1086
- (_b = (_a2 = child.props).onClick) == null ? void 0 : _b.call(_a2, ev);
1087
- };
1088
- return (0, import_react26.cloneElement)(child, __spreadProps(__spreadValues(__spreadValues({}, child.props), rest), {
1089
- ref: mergeRefs_default(ref, triggerRef),
1090
- onClick: handleClick
1091
- }));
1092
- });
1093
- var PopoverTrigger_default = PopoverTrigger;
1094
-
1095
- // src/components/Autocomplete/AutocompleteContent.tsx
1096
- var import_react36 = require("react");
1097
-
1098
- // src/components/List/List.tsx
1099
- var import_react27 = require("react");
1100
- var import_jsx_runtime10 = require("react/jsx-runtime");
1101
- var List = (0, import_react27.forwardRef)((_a, ref) => {
1102
- var _b = _a, { as: Component = "div", children } = _b, rest = __objRest(_b, ["as", "children"]);
1103
- const prefixCls = PREFIX_CLS;
1104
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Component, __spreadProps(__spreadValues({ ref, className: `${prefixCls}list` }, rest), { children }));
1105
- });
1106
- var List_default = List;
1107
-
1108
- // src/components/List/ListGroup.tsx
1109
- var import_react33 = require("react");
1110
-
1111
- // src/components/Collapse/Collapse.tsx
1112
- var import_react29 = require("react");
1113
-
1114
- // src/components/Collapse/CollapseContext.tsx
1115
- var import_react28 = require("react");
1116
- var CollapseContext = (0, import_react28.createContext)(null);
1117
- var useCollapse = () => {
1118
- const context = (0, import_react28.useContext)(CollapseContext);
1119
- if (!context) {
1120
- throw new Error("`useCollapse` must be used within a `<Collapse />`");
1121
- }
1122
- return context;
1123
- };
1124
- var CollapseContext_default = CollapseContext;
1125
-
1126
- // src/components/Collapse/Collapse.tsx
1127
- var import_jsx_runtime11 = require("react/jsx-runtime");
1128
- var Collapse = ({ children, isOpen, onOpen, onClose, onToggle }) => {
1129
- const collapseRef = (0, import_react29.useRef)(null);
1130
- const [selfIsOpen, setSelfIsOpen] = (0, import_react29.useState)(isOpen != null ? isOpen : false);
1131
- const [heightAuto, setHeightAuto] = (0, import_react29.useState)(false);
1132
- const [trigger, content] = import_react29.Children.toArray(children);
1133
- const handleOpen = () => {
1134
- setSelfIsOpen(true);
1135
- onOpen == null ? void 0 : onOpen();
1136
- };
1137
- const handleClose = () => {
1138
- setSelfIsOpen(false);
1139
- onClose == null ? void 0 : onClose();
1140
- };
1141
- const handleToggle = () => {
1142
- setSelfIsOpen((prevState) => !prevState);
1143
- onToggle == null ? void 0 : onToggle();
1144
- };
1145
- (0, import_react29.useEffect)(() => {
1146
- if (isOpen !== void 0) {
1147
- setSelfIsOpen(isOpen);
1148
- }
1149
- setTimeout(() => {
1150
- if (isOpen) {
1151
- setHeightAuto(true);
1152
- } else {
1153
- setHeightAuto(false);
1154
- }
1155
- }, 100);
1156
- }, [isOpen]);
1157
- return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
1158
- CollapseContext_default.Provider,
1159
- {
1160
- value: {
1161
- collapseRef,
1162
- isOpen: selfIsOpen,
1163
- heightAuto,
1164
- onOpen: handleOpen,
1165
- onClose: handleClose,
1166
- onToggle: handleToggle
1167
- },
1168
- children: [
1169
- trigger,
1170
- content
1171
- ]
1172
- }
1173
- );
1174
- };
1175
- var Collapse_default = Collapse;
1176
-
1177
- // src/components/Collapse/CollapseContent.tsx
1178
- var import_clsx5 = __toESM(require("clsx"));
1179
- var import_react30 = require("react");
1180
- var CollapseContent = (0, import_react30.forwardRef)(({ children }, ref) => {
1181
- var _a, _b;
1182
- const { collapseRef, isOpen, heightAuto } = useCollapse();
1183
- const child = import_react30.Children.only(children);
1184
- return (0, import_react30.cloneElement)(child, __spreadProps(__spreadValues({}, child.props), {
1185
- ref: (node) => {
1186
- collapseRef.current = node;
1187
- if (ref !== null) {
1188
- ref.current = node;
1189
- }
1190
- },
1191
- style: __spreadProps(__spreadValues({}, child.props.style), {
1192
- height: isOpen && heightAuto ? "auto" : isOpen ? (_a = collapseRef.current) == null ? void 0 : _a.scrollHeight : !isOpen && heightAuto ? (_b = collapseRef.current) == null ? void 0 : _b.scrollHeight : 0
1193
- }),
1194
- className: (0, import_clsx5.default)(`${PREFIX_CLS}collapse`, child.props.className)
1195
- }));
1196
- });
1197
- var CollapseContent_default = CollapseContent;
1198
-
1199
- // src/components/Collapse/CollapseTrigger.tsx
1200
- var import_react31 = require("react");
1201
- var CollapseTrigger = (0, import_react31.forwardRef)(({ children }, ref) => {
1202
- const { collapseRef, onToggle } = useCollapse();
1203
- const child = import_react31.Children.only(children);
1204
- const _a = child.props, { onClick } = _a, rest = __objRest(_a, ["onClick"]);
1205
- return (0, import_react31.cloneElement)(child, __spreadValues({
1206
- ref,
1207
- onClick: (event) => {
1208
- if (!collapseRef.current) {
1209
- return;
1210
- }
1211
- onToggle();
1212
- onClick == null ? void 0 : onClick(event);
1213
- }
1214
- }, rest));
1215
- });
1216
- var CollapseTrigger_default = CollapseTrigger;
1217
-
1218
- // src/components/List/ListItem.tsx
1219
- var import_react32 = require("react");
1220
- var import_jsx_runtime12 = require("react/jsx-runtime");
1221
- var ListItem = (0, import_react32.forwardRef)(
1222
- (_a, ref) => {
1223
- var _b = _a, {
1224
- as: Component = "div",
1225
- children,
1226
- className,
1227
- title,
1228
- subtitle,
1229
- startContent,
1230
- endContent,
1231
- level = 1,
1232
- hoverable,
1233
- selected,
1234
- disabled,
1235
- slotProps,
1236
- style,
1237
- onClick
1238
- } = _b, rest = __objRest(_b, [
1239
- "as",
1240
- "children",
1241
- "className",
1242
- "title",
1243
- "subtitle",
1244
- "startContent",
1245
- "endContent",
1246
- "level",
1247
- "hoverable",
1248
- "selected",
1249
- "disabled",
1250
- "slotProps",
1251
- "style",
1252
- "onClick"
1253
- ]);
1254
- var _a2, _b2;
1255
- const prefixCls = PREFIX_CLS;
1256
- const handleClick = (event) => {
1257
- onClick == null ? void 0 : onClick(event);
1258
- };
1259
- return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
1260
- Component,
1261
- __spreadProps(__spreadValues({
1262
- ref,
1263
- className: clsx_default(
1264
- `${prefixCls}list-item`,
1265
- {
1266
- [`${prefixCls}list-item--selected`]: selected,
1267
- [`${prefixCls}list-item--hoverable`]: hoverable,
1268
- [`${prefixCls}list-item--disabled`]: disabled
1269
- },
1270
- className
1271
- ),
1272
- style: __spreadValues({
1273
- paddingLeft: level <= 1 ? `var(--${prefixCls}list-item-padding-x)` : `calc(${level} * var(--${prefixCls}list-item-padding-level))`
1274
- }, style),
1275
- onClick: handleClick
1276
- }, rest), {
1277
- children: [
1278
- hoverable && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${prefixCls}overlay` }),
1279
- startContent && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${prefixCls}list-item__start-content`, children: startContent }),
1280
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${prefixCls}list-item__content`, children: title || subtitle ? /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_jsx_runtime12.Fragment, { children: [
1281
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", __spreadProps(__spreadValues({}, slotProps == null ? void 0 : slotProps.title), { className: clsx_default(`${prefixCls}list-item__title`, (_a2 = slotProps == null ? void 0 : slotProps.title) == null ? void 0 : _a2.className), children: title })),
1282
- /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
1283
- "span",
1284
- __spreadProps(__spreadValues({}, slotProps == null ? void 0 : slotProps.subtitle), {
1285
- className: clsx_default(`${prefixCls}list-item__subtitle`, (_b2 = slotProps == null ? void 0 : slotProps.subtitle) == null ? void 0 : _b2.className),
1286
- children: subtitle
1287
- })
1288
- )
1289
- ] }) : children }),
1290
- endContent && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: `${prefixCls}list-item__end-content`, children: endContent })
1291
- ]
1292
- })
1293
- );
1294
- }
1295
- );
1296
- var ListItem_default = ListItem;
1297
-
1298
- // src/components/List/ListGroup.tsx
1299
- var import_jsx_runtime13 = require("react/jsx-runtime");
1300
- var ListGroup = (0, import_react33.forwardRef)(
1301
- (_a, ref) => {
1302
- var _b = _a, {
1303
- children,
1304
- startContent,
1305
- endContent,
1306
- expandVisible = true,
1307
- expandPosition = "end",
1308
- isOpen,
1309
- onOpen,
1310
- onClose,
1311
- onToggle
1312
- } = _b, rest = __objRest(_b, [
1313
- "children",
1314
- "startContent",
1315
- "endContent",
1316
- "expandVisible",
1317
- "expandPosition",
1318
- "isOpen",
1319
- "onOpen",
1320
- "onClose",
1321
- "onToggle"
1322
- ]);
1323
- const disclosure = isOpen !== void 0 ? { isOpen, onOpen, onClose, onToggle } : useDisclosure_default();
1324
- const prefixCls = PREFIX_CLS;
1325
- return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: `${prefixCls}list-group`, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(Collapse_default, __spreadProps(__spreadValues({}, disclosure), { children: [
1326
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
1327
- ListItem_default,
1328
- __spreadValues({
1329
- ref,
1330
- startContent: expandVisible && expandPosition === "start" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1331
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon_default, { children: disclosure.isOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronUpIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronDownIcon_default, {}) }),
1332
- startContent
1333
- ] }) : startContent,
1334
- endContent: expandVisible && expandPosition === "end" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_jsx_runtime13.Fragment, { children: [
1335
- endContent,
1336
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(Icon_default, { children: disclosure.isOpen ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronUpIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronDownIcon_default, {}) })
1337
- ] }) : endContent
1338
- }, rest)
1339
- ) }),
1340
- /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(List_default, { children }) }) })
1341
- ] })) });
1342
- }
1343
- );
1344
- var ListGroup_default = ListGroup;
1345
-
1346
- // src/components/ScrollArea/ScrollArea.tsx
1347
- var import_react34 = require("react");
1348
- var import_react_custom_scrollbars_2 = require("react-custom-scrollbars-2");
1349
- var import_jsx_runtime14 = require("react/jsx-runtime");
1350
- var ScrollArea = (0, import_react34.forwardRef)(({ children, autoHide = false, style }, ref) => {
1351
- const prefixCls = PREFIX_CLS;
1352
- const renderView = (props) => {
1353
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", __spreadProps(__spreadValues({}, props), { className: clsx_default(`${prefixCls}scroll-area__view`, props.className) }));
1354
- };
1355
- const renderTrackHorizontal = (props) => {
1356
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1357
- "div",
1358
- __spreadProps(__spreadValues({}, props), {
1359
- className: clsx_default(`${prefixCls}scroll-area__track ${prefixCls}scroll-area__track--horizontal`, props.className)
1360
- })
1361
- );
1362
- };
1363
- const renderTrackVertical = (props) => {
1364
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1365
- "div",
1366
- __spreadProps(__spreadValues({}, props), {
1367
- className: clsx_default(`${prefixCls}scroll-area__track ${prefixCls}scroll-area__track--vertical`, props.className)
1368
- })
1369
- );
1370
- };
1371
- const renderThumbHorizontal = (props) => {
1372
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1373
- "div",
1374
- __spreadProps(__spreadValues({}, props), {
1375
- className: clsx_default(`${prefixCls}scroll-area__thumb ${prefixCls}scroll-area__thumb--horizontal`, props.className)
1376
- })
1377
- );
1378
- };
1379
- const renderThumbVertical = (props) => {
1380
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1381
- "div",
1382
- __spreadProps(__spreadValues({}, props), {
1383
- className: clsx_default(`${prefixCls}scroll-area__thumb ${prefixCls}scroll-area__thumb--vertical`, props.className)
1384
- })
1385
- );
1386
- };
1387
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
1388
- import_react_custom_scrollbars_2.Scrollbars,
1389
- {
1390
- autoHide,
1391
- className: `${prefixCls}scroll-area`,
1392
- renderTrackHorizontal,
1393
- renderTrackVertical,
1394
- renderThumbHorizontal,
1395
- renderThumbVertical,
1396
- renderView,
1397
- style,
1398
- ref: (node) => {
1399
- node && assignRef(ref, node.container.firstElementChild);
1400
- },
1401
- children
1402
- }
1403
- );
1404
- });
1405
- var ScrollArea_default = ScrollArea;
1406
-
1407
- // src/components/Autocomplete/AutocompleteContext.tsx
1408
- var import_react35 = require("react");
1409
- var AutocompleteContext = (0, import_react35.createContext)(null);
1410
- var useAutocomplete = () => {
1411
- const context = (0, import_react35.useContext)(AutocompleteContext);
1412
- if (!context) {
1413
- throw new Error("`useAutocomplete` must be used within a `<Autocomplete />`");
1414
- }
1415
- return context;
1416
- };
1417
- var AutocompleteContext_default = AutocompleteContext;
1418
-
1419
- // src/components/Autocomplete/AutocompleteContent.tsx
1420
- var import_jsx_runtime15 = require("react/jsx-runtime");
1421
- var AutocompleteContent = () => {
1422
- const { data, values, offset, setOffset, keyField, textField, onItemSelect, renderItem } = useAutocomplete();
1423
- const parentRef = (0, import_react36.useRef)(null);
1424
- const { isOpen } = usePopover();
1425
- const handleItemSelect = (item) => {
1426
- var _a;
1427
- onItemSelect(item);
1428
- setOffset(((_a = parentRef.current) == null ? void 0 : _a.scrollHeight) || 0);
1429
- };
1430
- (0, import_react36.useEffect)(() => {
1431
- var _a;
1432
- if (!isOpen)
1433
- return;
1434
- (_a = parentRef.current) == null ? void 0 : _a.scrollTo({ top: offset });
1435
- }, [isOpen]);
1436
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1437
- ScrollArea_default,
1438
- {
1439
- ref: parentRef,
1440
- style: {
1441
- height: `200px`,
1442
- width: `100%`,
1443
- position: "relative"
1444
- },
1445
- children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(List_default, { children: renderItem ? data.map((item) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react36.Fragment, { children: renderItem(item, {
1446
- title: "",
1447
- selected: values.includes(item[keyField]),
1448
- hoverable: true,
1449
- onClick: () => handleItemSelect(item)
1450
- }) }, item[keyField])) : data.map((item) => /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
1451
- ListItem_default,
1452
- {
1453
- title: item[textField],
1454
- selected: values.includes(item[keyField]),
1455
- hoverable: true,
1456
- onClick: () => handleItemSelect(item)
1457
- },
1458
- item[keyField]
1459
- )) })
1460
- }
1461
- );
1462
- };
1463
- var AutocompleteContent_default = AutocompleteContent;
1464
-
1465
- // src/components/Autocomplete/AutocompleteVirtual.tsx
1466
- var import_react37 = require("react");
1467
-
1468
- // src/components/Autocomplete/utils.ts
1469
- var valueToValues = (value) => {
1470
- return Array.isArray(value) ? value : value !== null ? [value] : [];
1471
- };
1472
- var valuesToValue = (values) => {
1473
- return Array.isArray(values) ? values.length !== 0 ? values[0] : null : values;
1474
- };
1475
-
1476
- // src/components/Autocomplete/AutocompleteVirtual.tsx
1477
- var import_jsx_runtime16 = require("react/jsx-runtime");
1478
- var AutocompleteVirtual = () => {
1479
- const { data, values, keyField, textField, virtual, onItemSelect, renderItem } = useAutocomplete();
1480
- const parentRef = (0, import_react37.useRef)(null);
1481
- const virtualizer = useVirtualizer_default(__spreadProps(__spreadValues({}, virtual), { count: data.length, parentRef }));
1482
- const { isOpen } = usePopover();
1483
- const handleItemSelect = (item) => {
1484
- onItemSelect(item);
1485
- };
1486
- (0, import_react37.useEffect)(() => {
1487
- if (!isOpen)
1488
- return;
1489
- const value = valuesToValue(values);
1490
- const index = data.findIndex((item) => item[keyField] === value);
1491
- if (index !== -1) {
1492
- virtualizer.scrollToIndex(index, { align: "start" });
1493
- }
1494
- }, [isOpen]);
1495
- if (!virtual)
1496
- return null;
1497
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1498
- ScrollArea_default,
1499
- {
1500
- ref: parentRef,
1501
- autoHide: true,
1502
- style: {
1503
- height: `200px`,
1504
- width: `100%`,
1505
- position: "relative"
1506
- },
1507
- children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(List_default, { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1508
- "div",
1509
- {
1510
- style: {
1511
- height: `${virtualizer.getTotalSize()}px`,
1512
- width: "100%",
1513
- position: "relative"
1514
- },
1515
- children: virtualizer.getVirtualItems().map((virtualItem) => {
1516
- const isLoaderRow = virtualItem.index > data.length - 1;
1517
- const item = data[virtualItem.index];
1518
- if (isLoaderRow) {
1519
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1520
- ListItem_default,
1521
- {
1522
- title: virtual.hasNextPage ? "Loading..." : "Nothing more to load",
1523
- style: {
1524
- position: "absolute",
1525
- top: 0,
1526
- left: 0,
1527
- width: "100%",
1528
- height: `${virtualItem.size}px`,
1529
- transform: `translateY(${virtualItem.start}px)`
1530
- }
1531
- },
1532
- virtualItem.index
1533
- );
1534
- }
1535
- if (!item) {
1536
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1537
- ListItem_default,
1538
- {
1539
- title: `Item ${virtualItem.index} not found`,
1540
- style: {
1541
- position: "absolute",
1542
- top: 0,
1543
- left: 0,
1544
- width: "100%",
1545
- height: `${virtualItem.size}px`,
1546
- transform: `translateY(${virtualItem.start}px)`
1547
- }
1548
- },
1549
- virtualItem.index
1550
- );
1551
- }
1552
- if (renderItem) {
1553
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_react37.Fragment, { children: renderItem(item, {
1554
- title: "",
1555
- selected: values.includes(item[keyField]),
1556
- hoverable: true,
1557
- style: {
1558
- position: "absolute",
1559
- top: 0,
1560
- left: 0,
1561
- width: "100%",
1562
- height: `${virtualItem.size}px`,
1563
- transform: `translateY(${virtualItem.start}px)`
1564
- },
1565
- onClick: () => handleItemSelect(item)
1566
- }) }, virtualItem.index);
1567
- }
1568
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1569
- ListItem_default,
1570
- {
1571
- title: item[textField],
1572
- selected: values.includes(item[keyField]),
1573
- hoverable: true,
1574
- style: {
1575
- position: "absolute",
1576
- top: 0,
1577
- left: 0,
1578
- width: "100%",
1579
- height: `${virtualItem.size}px`,
1580
- transform: `translateY(${virtualItem.start}px)`
1581
- },
1582
- onClick: () => handleItemSelect(item)
1583
- },
1584
- virtualItem.index
1585
- );
1586
- })
1587
- }
1588
- ) })
1589
- }
1590
- );
1591
- };
1592
- var AutocompleteVirtual_default = AutocompleteVirtual;
1593
-
1594
- // src/components/Autocomplete/Autocomplete.tsx
1595
- var import_jsx_runtime17 = require("react/jsx-runtime");
1596
- var Autocomplete = (props) => {
1597
- const {
1598
- data,
1599
- value: valueProp,
1600
- keyField = "key",
1601
- textField = "text",
1602
- isMultiple = false,
1603
- disabled,
1604
- loading,
1605
- disclosure: disclosureProp,
1606
- virtual,
1607
- placeholder,
1608
- className,
1609
- style,
1610
- startContent,
1611
- endContent,
1612
- onFilterChange,
1613
- renderItem
1614
- } = props;
1615
- const disclosure = disclosureProp !== void 0 ? disclosureProp : useDisclosure_default();
1616
- const prefixCls = PREFIX_CLS;
1617
- const inputRef = (0, import_react38.useRef)(null);
1618
- const [filter, setFilter] = (0, import_react38.useState)("");
1619
- const [search, setSearch] = (0, import_react38.useState)("");
1620
- const [isSearch, setIsSearch] = (0, import_react38.useState)(false);
1621
- const [focus, setFocus] = (0, import_react38.useState)(false);
1622
- const values = (0, import_react38.useMemo)(() => {
1623
- return valueToValues(valueProp);
1624
- }, [valueProp]);
1625
- const items = (0, import_react38.useMemo)(() => {
1626
- return data.filter((item) => values.includes(item[keyField]));
1627
- }, [data, values]);
1628
- const [offset, setOffset] = (0, import_react38.useState)(0);
1629
- const handleClick = () => {
1630
- var _a;
1631
- (_a = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a.focus();
1632
- };
1633
- const handleChange = (values2) => {
1634
- var _a, _b, _c, _d, _e;
1635
- if (props.isMultiple) {
1636
- const items2 = data.filter((item) => values2.includes(item[keyField]));
1637
- (_a = props.onChange) == null ? void 0 : _a.call(props, items2);
1638
- (_b = props.onValueChange) == null ? void 0 : _b.call(props, values2);
1639
- } else {
1640
- const newValue = valuesToValue(values2);
1641
- let item = null;
1642
- if (newValue !== void 0) {
1643
- item = (_c = data.find((item2) => item2[keyField] === newValue)) != null ? _c : null;
1644
- }
1645
- (_d = props.onChange) == null ? void 0 : _d.call(props, item);
1646
- (_e = props.onValueChange) == null ? void 0 : _e.call(props, newValue);
1647
- }
1648
- };
1649
- const handleClear = (event) => {
1650
- var _a, _b, _c, _d;
1651
- event.stopPropagation();
1652
- setIsSearch(true);
1653
- setSearch("");
1654
- if (props.isMultiple) {
1655
- (_a = props.onChange) == null ? void 0 : _a.call(props, []);
1656
- (_b = props.onValueChange) == null ? void 0 : _b.call(props, []);
1657
- } else {
1658
- (_c = props.onChange) == null ? void 0 : _c.call(props, null);
1659
- (_d = props.onValueChange) == null ? void 0 : _d.call(props, null);
1660
- }
1661
- setIsSearch(false);
1662
- };
1663
- const handleFilterChange = (event) => {
1664
- !disclosure.isOpen && disclosure.onOpen();
1665
- setIsSearch(true);
1666
- setSearch(event.target.value);
1667
- onFilterChange == null ? void 0 : onFilterChange(event.target.value);
1668
- };
1669
- const handleItemSelect = (item) => {
1670
- var _a;
1671
- const newValue = item[keyField];
1672
- if (props.isMultiple) {
1673
- const newValues = [...values];
1674
- const valueIndex = values.indexOf(newValue);
1675
- if (valueIndex === -1) {
1676
- newValues.push(newValue);
1677
- } else {
1678
- newValues.splice(valueIndex, 1);
1679
- }
1680
- handleChange(newValues);
1681
- } else {
1682
- const value = valuesToValue(values);
1683
- if (value !== newValue) {
1684
- handleChange([newValue]);
1685
- }
1686
- }
1687
- if (isSearch) {
1688
- setFilter(search);
1689
- }
1690
- setIsSearch(false);
1691
- (_a = inputRef.current) == null ? void 0 : _a.focus();
1692
- disclosure.onClose();
1693
- };
1694
- const handleOpen = () => {
1695
- disclosure.onOpen();
1696
- setFocus(true);
1697
- };
1698
- const handleClose = () => {
1699
- disclosure.onClose();
1700
- if (!props.isMultiple) {
1701
- if (isSearch) {
1702
- const item = items[0];
1703
- if (item !== void 0) {
1704
- setSearch(item[textField]);
1705
- onFilterChange == null ? void 0 : onFilterChange(filter);
1706
- } else {
1707
- setSearch("");
1708
- onFilterChange == null ? void 0 : onFilterChange(filter);
1709
- }
1710
- setIsSearch(false);
1711
- }
1712
- }
1713
- };
1714
- (0, import_react38.useEffect)(() => {
1715
- if (isSearch)
1716
- return;
1717
- if (!props.isMultiple) {
1718
- const item = items[0];
1719
- if (item !== void 0) {
1720
- setSearch(item[textField]);
1721
- }
1722
- }
1723
- }, [items]);
1724
- (0, import_react38.useEffect)(() => {
1725
- const values2 = valueToValues(valueProp);
1726
- const value = values2[0];
1727
- if (value === void 0) {
1728
- setSearch("");
1729
- onFilterChange == null ? void 0 : onFilterChange("");
1730
- }
1731
- }, [valueProp]);
1732
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1733
- AutocompleteContext_default.Provider,
1734
- {
1735
- value: {
1736
- data,
1737
- values,
1738
- keyField,
1739
- textField,
1740
- isMultiple,
1741
- virtual,
1742
- onChange: handleChange,
1743
- onItemSelect: handleItemSelect,
1744
- offset,
1745
- setOffset,
1746
- renderItem
1747
- },
1748
- children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1749
- Popover_default,
1750
- __spreadProps(__spreadValues({
1751
- target: true
1752
- }, disclosure), {
1753
- isOpen: disclosure.isOpen,
1754
- onOpen: handleOpen,
1755
- onClose: handleClose,
1756
- autoClose: "outside",
1757
- children: [
1758
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PopoverTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
1759
- "div",
1760
- {
1761
- className: clsx_default(
1762
- `${prefixCls}input ${prefixCls}input--filterable`,
1763
- {
1764
- [`${prefixCls}input--focus`]: focus,
1765
- [`${prefixCls}input--disabled`]: disabled
1766
- },
1767
- className
1768
- ),
1769
- style,
1770
- onClick: handleClick,
1771
- onFocus: () => {
1772
- setFocus(true);
1773
- },
1774
- onBlur: () => {
1775
- setFocus(false);
1776
- },
1777
- children: [
1778
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `${prefixCls}outline` }),
1779
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `${prefixCls}input__content`, children: [
1780
- startContent && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { className: `${prefixCls}input__start-content`, children: startContent }),
1781
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
1782
- "input",
1783
- {
1784
- ref: inputRef,
1785
- className: `${prefixCls}input__field`,
1786
- value: search,
1787
- placeholder,
1788
- disabled,
1789
- onChange: handleFilterChange
1790
- }
1791
- ),
1792
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)("div", { className: `${prefixCls}input__end-content`, children: [
1793
- endContent,
1794
- loading ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(LoaderIcon_default, { className: `${prefixCls}animation-spin` }) }) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Button, { color: "secondary", variant: "plain", size: "xs", iconOnly: true, onClick: handleClear, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CloseIcon_default, {}) }) }),
1795
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { style: { pointerEvents: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Icon_default, { children: disclosure.isOpen ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronUpIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ChevronDownIcon_default, {}) }) })
1796
- ] })
1797
- ] })
1798
- ]
1799
- }
1800
- ) }),
1801
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(PopoverContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)("div", { children: virtual ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AutocompleteVirtual_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(AutocompleteContent_default, {}) }) })
1802
- ]
1803
- })
1804
- )
1805
- }
1806
- );
1807
- };
1808
- var Autocomplete_default = Autocomplete;
1809
-
1810
- // src/components/Backdrop/Backdrop.tsx
1811
- var import_clsx6 = __toESM(require("clsx"));
1812
- var import_react39 = require("react");
1813
- var import_react_merge_refs = require("react-merge-refs");
1814
- var import_jsx_runtime18 = require("react/jsx-runtime");
1815
- var Backdrop = (0, import_react39.forwardRef)((props, ref) => {
1816
- const _a = props, { children, className, isOpen, onClose } = _a, rest = __objRest(_a, ["children", "className", "isOpen", "onClose"]);
1817
- const nodeRef = (0, import_react39.useRef)(null);
1818
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1819
- Transition_default,
1820
- {
1821
- nodeRef,
1822
- isOpen,
1823
- name: `${PREFIX_CLS}backdrop`,
1824
- enter: 300,
1825
- leave: 300,
1826
- mountOnEnter: true,
1827
- unmountOnExit: true,
1828
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Portal_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1829
- "div",
1830
- __spreadProps(__spreadValues({
1831
- ref: (0, import_react_merge_refs.mergeRefs)([ref, nodeRef]),
1832
- className: (0, import_clsx6.default)(`${PREFIX_CLS}backdrop`, className),
1833
- tabIndex: -1
1834
- }, rest), {
1835
- children: [
1836
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: `${PREFIX_CLS}backdrop__overlay`, onClick: onClose }),
1837
- children
1838
- ]
1839
- })
1840
- ) })
1841
- }
1842
- );
1843
- });
1844
- var Backdrop_default = Backdrop;
1845
-
1846
- // src/components/Badge/Badge.tsx
1847
- var import_clsx7 = __toESM(require("clsx"));
1848
- var import_jsx_runtime19 = require("react/jsx-runtime");
1849
- var Badge = ({ children, placement, content }) => {
1850
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: (0, import_clsx7.default)(`${PREFIX_CLS}badge-wrapper`), children: [
1851
- children,
1852
- /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1853
- "div",
1854
- {
1855
- className: (0, import_clsx7.default)(`${PREFIX_CLS}badge`, {
1856
- [`${PREFIX_CLS}badge--${placement}`]: placement
1857
- }),
1858
- children: content
1859
- }
1860
- )
1861
- ] });
1862
- };
1863
- var Badge_default = Badge;
1864
-
1865
- // src/components/Card/Card.tsx
1866
- var import_react40 = require("react");
1867
- var import_jsx_runtime20 = require("react/jsx-runtime");
1868
- var Card = (0, import_react40.forwardRef)((_a, ref) => {
1869
- var _b = _a, { as: Component = "div", children, className } = _b, rest = __objRest(_b, ["as", "children", "className"]);
1870
- const prefixCls = PREFIX_CLS;
1871
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Component, __spreadProps(__spreadValues({ ref, className: clsx_default(`${prefixCls}card`, className) }, rest), { children }));
1872
- });
1873
- var Card_default = Card;
1874
-
1875
- // src/components/Card/CardHeader.tsx
1876
- var import_react41 = require("react");
1877
- var import_jsx_runtime21 = require("react/jsx-runtime");
1878
- var CardHeader = (0, import_react41.forwardRef)(
1879
- (_a, ref) => {
1880
- var _b = _a, { as: Component = "div", className, title, subtitle, startContent, endContent } = _b, rest = __objRest(_b, ["as", "className", "title", "subtitle", "startContent", "endContent"]);
1881
- const prefixCls = PREFIX_CLS;
1882
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(Component, __spreadProps(__spreadValues({ ref, className: clsx_default(`${prefixCls}card-header`, className) }, rest), { children: [
1883
- startContent && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${prefixCls}card-header__start-content`, children: startContent }),
1884
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `${prefixCls}card-header__content`, children: [
1885
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${prefixCls}card-header__title`, children: title }),
1886
- subtitle && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${prefixCls}card-header__subtitle`, children: subtitle })
1887
- ] }),
1888
- endContent && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${prefixCls}card-header__end-content`, children: endContent })
1889
- ] }));
1890
- }
1891
- );
1892
- var CardHeader_default = CardHeader;
1893
-
1894
- // src/components/Chip/Chip.tsx
1895
- var import_clsx8 = __toESM(require("clsx"));
1896
- var import_react42 = require("react");
1897
- var import_jsx_runtime22 = require("react/jsx-runtime");
1898
- var Chip = (0, import_react42.forwardRef)(
1899
- (_a, ref) => {
1900
- var _b = _a, { as: Component = "div", children, className, variant = "text", color = "primary", size = "md" } = _b, rest = __objRest(_b, ["as", "children", "className", "variant", "color", "size"]);
1901
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1902
- Component,
1903
- __spreadProps(__spreadValues({
1904
- ref,
1905
- className: (0, import_clsx8.default)(
1906
- `${PREFIX_CLS}chip`,
1907
- {
1908
- [`${PREFIX_CLS}chip--${variant}`]: variant,
1909
- [`${PREFIX_CLS}chip--${color}`]: color,
1910
- [`${PREFIX_CLS}chip--${size}`]: size
1911
- },
1912
- className
1913
- )
1914
- }, rest), {
1915
- children: [
1916
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: (0, import_clsx8.default)(`${PREFIX_CLS}overlay`) }),
1917
- /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: `${PREFIX_CLS}outline` }),
1918
- children
1919
- ]
1920
- })
1921
- );
1922
- }
1923
- );
1924
- var Chip_default = Chip;
1925
-
1926
- // src/components/Drawer/Drawer.tsx
1927
- var import_clsx9 = __toESM(require("clsx"));
1928
- var import_react43 = require("react");
1929
- var import_react_merge_refs2 = require("react-merge-refs");
1930
- var import_jsx_runtime23 = require("react/jsx-runtime");
1931
- var Drawer = (0, import_react43.forwardRef)((props, ref) => {
1932
- const { children, className, isOpen, size = "md", position = "left", onClose } = props;
1933
- const nodeRef = (0, import_react43.useRef)(null);
1934
- const handleClose = () => {
1935
- onClose();
1936
- };
1937
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Backdrop_default, { isOpen, onClose: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Transition_default, { nodeRef, isOpen, name: `${PREFIX_CLS}drawer`, enter: 600, leave: 300, unmountOnExit: true, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1938
- "div",
1939
- {
1940
- ref: (0, import_react_merge_refs2.mergeRefs)([ref, nodeRef]),
1941
- className: (0, import_clsx9.default)(
1942
- `${PREFIX_CLS}drawer`,
1943
- {
1944
- [`${PREFIX_CLS}drawer--${size}`]: size,
1945
- [`${PREFIX_CLS}drawer--${position}`]: position
1946
- },
1947
- className
1948
- ),
1949
- children: [
1950
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: `${PREFIX_CLS}drawer__overlay` }),
1951
- children
1952
- ]
1953
- }
1954
- ) }) });
1955
- });
1956
- var Drawer_default = Drawer;
1957
-
1958
- // src/components/Menu/Menu.tsx
1959
- var import_clsx13 = __toESM(require("clsx"));
1960
- var import_react49 = require("react");
1961
-
1962
- // src/components/Menu/MenuContext.tsx
1963
- var import_react44 = require("react");
1964
- var MenuContext = (0, import_react44.createContext)(null);
1965
- var useMenu = () => {
1966
- const context = (0, import_react44.useContext)(MenuContext);
1967
- if (!context) {
1968
- throw new Error("`useMenu` must be used within a `<Menu />`");
1969
- }
1970
- return context;
1971
- };
1972
- var MenuContext_default = MenuContext;
1973
-
1974
- // src/components/Menu/MenuGroup.tsx
1975
- var import_clsx12 = __toESM(require("clsx"));
1976
- var import_react48 = require("react");
1977
-
1978
- // src/components/Menu/MenuItem.tsx
1979
- var import_clsx10 = __toESM(require("clsx"));
1980
- var import_react46 = require("react");
1981
-
1982
- // src/components/Menu/MenuValueContext.tsx
1983
- var import_react45 = require("react");
1984
- var MenuValueContext = (0, import_react45.createContext)([]);
1985
- var useMenuItemValue = () => {
1986
- const context = (0, import_react45.useContext)(MenuValueContext);
1987
- if (!context) {
1988
- throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");
1989
- }
1990
- return context;
1991
- };
1992
- var MenuValueContext_default = MenuValueContext;
1993
-
1994
- // src/components/Menu/MenuItem.tsx
1995
- var import_jsx_runtime24 = require("react/jsx-runtime");
1996
- var MenuItem = (0, import_react46.forwardRef)((props, ref) => {
1997
- const _a = props, { as: Component = "div", className, style, value, title, icon, level = 1, disabled, onClick } = _a, rest = __objRest(_a, ["as", "className", "style", "value", "title", "icon", "level", "disabled", "onClick"]);
1998
- const { value: menuValue, originalValue, navMode, onChange, onOpen, onItemSelect } = useMenu();
1999
- const values = (0, import_react46.useContext)(MenuValueContext_default);
2000
- const mergedValues = [...values, value];
2001
- const isSelected = menuValue[level - 1] === value;
2002
- const handleClick = (event) => {
2003
- if (value !== void 0) {
2004
- onChange(mergedValues);
2005
- }
2006
- onClick == null ? void 0 : onClick(event);
2007
- onItemSelect == null ? void 0 : onItemSelect(props);
2008
- };
2009
- (0, import_react46.useEffect)(() => {
2010
- if (navMode === "automatic" && originalValue.length > 0 && originalValue[originalValue.length - 1] === value) {
2011
- onOpen(values);
2012
- onChange(mergedValues);
2013
- }
2014
- }, [value, originalValue, navMode]);
2015
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
2016
- Component,
2017
- __spreadProps(__spreadValues({
2018
- ref,
2019
- className: (0, import_clsx10.default)(
2020
- `${PREFIX_CLS}menu-item`,
2021
- {
2022
- [`${PREFIX_CLS}menu-item--selected`]: isSelected,
2023
- [`${PREFIX_CLS}menu-item--disabled`]: disabled
2024
- },
2025
- className
2026
- ),
2027
- style: __spreadValues({
2028
- paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
2029
- }, style),
2030
- onClick: handleClick
2031
- }, rest), {
2032
- children: [
2033
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
2034
- icon && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
2035
- /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) })
2036
- ]
2037
- })
2038
- );
2039
- });
2040
- MenuItem.displayName = "MenuItem";
2041
- var MenuItem_default = MenuItem;
2042
-
2043
- // src/components/Menu/MenuSubmenu.tsx
2044
- var import_clsx11 = __toESM(require("clsx"));
2045
- var import_react47 = require("react");
2046
-
2047
- // src/components/Menu/utils.ts
2048
- var getOpenValuesByPathname = (pathname) => {
2049
- return pathname.split("/").reduce((previousValue, currentValue) => {
2050
- const previousPath = previousValue[previousValue.length - 1];
2051
- if (previousPath != void 0) {
2052
- previousValue.push(previousPath + "/" + currentValue);
2053
- } else {
2054
- previousValue.push("");
2055
- }
2056
- return previousValue;
2057
- }, []);
2058
- };
2059
- var addOrRemoveValueInArray = (array, value) => {
2060
- const index = array.indexOf(value);
2061
- const newArray = [...array];
2062
- if (index === -1) {
2063
- newArray.push(value);
2064
- } else {
2065
- newArray.splice(index, 1);
2066
- }
2067
- return newArray;
2068
- };
2069
-
2070
- // src/components/Menu/MenuSubmenu.tsx
2071
- var import_jsx_runtime25 = require("react/jsx-runtime");
2072
- var MenuSubmenu = (_a) => {
2073
- var _b = _a, {
2074
- children,
2075
- className,
2076
- style,
2077
- value,
2078
- title,
2079
- icon,
2080
- level = 1,
2081
- items,
2082
- onClick
2083
- } = _b, rest = __objRest(_b, [
2084
- "children",
2085
- "className",
2086
- "style",
2087
- "value",
2088
- "title",
2089
- "icon",
2090
- "level",
2091
- "items",
2092
- "onClick"
2093
- ]);
2094
- const { value: menuValue, openValues, expandMode, onOpen } = useMenu();
2095
- const values = (0, import_react47.useContext)(MenuValueContext_default);
2096
- const isOpen = openValues.includes(value);
2097
- const mergedValues = [...values, value];
2098
- const isSelected = menuValue[level - 1] === value;
2099
- const content = (0, import_react47.useMemo)(() => {
2100
- return items == null ? void 0 : items.map((_a2, index) => {
2101
- var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
2102
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuSubmenu, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuGroup_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuItem_default, __spreadValues({ level: level !== void 0 ? level + 1 : void 0 }, item), index);
2103
- });
2104
- }, [items]);
2105
- const handleClick = (event) => {
2106
- if (expandMode === "multiple") {
2107
- const updatedOpenValues = addOrRemoveValueInArray(openValues, value);
2108
- onOpen(updatedOpenValues);
2109
- } else {
2110
- if (isOpen) {
2111
- const updatedOpenValues = addOrRemoveValueInArray(mergedValues, value);
2112
- onOpen(updatedOpenValues);
2113
- } else {
2114
- const updatedOpenValues = addOrRemoveValueInArray(values, value);
2115
- onOpen(updatedOpenValues);
2116
- }
2117
- }
2118
- onClick == null ? void 0 : onClick(event);
2119
- };
2120
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MenuValueContext_default.Provider, { value: mergedValues, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: (0, import_clsx11.default)(`${PREFIX_CLS}menu-submenu`), children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(Collapse_default, { isOpen, children: [
2121
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(
2122
- "div",
2123
- __spreadProps(__spreadValues({
2124
- className: (0, import_clsx11.default)(
2125
- `${PREFIX_CLS}menu-item`,
2126
- {
2127
- [`${PREFIX_CLS}menu-item--selected`]: isSelected || items && mergedValues.includes(menuValue)
2128
- },
2129
- className
2130
- ),
2131
- style: __spreadValues({
2132
- paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-item-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-item-padding-level))`
2133
- }, style),
2134
- onClick: handleClick
2135
- }, rest), {
2136
- children: [
2137
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${PREFIX_CLS}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${PREFIX_CLS}overlay__surface` }) }),
2138
- icon && /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: icon }),
2139
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${PREFIX_CLS}menu-item__content`, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("span", { className: `${PREFIX_CLS}menu-item__title`, children: title }) }),
2140
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: `${PREFIX_CLS}menu-item__icon`, children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ChevronUpIcon_default, { className: `${PREFIX_CLS}icon` }) : /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(ChevronDownIcon_default, { className: `${PREFIX_CLS}icon` }) })
2141
- ]
2142
- })
2143
- ) }),
2144
- /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
2145
- "ul",
2146
- {
2147
- className: (0, import_clsx11.default)(`${PREFIX_CLS}menu`, {
2148
- [`${PREFIX_CLS}menu-open`]: !isOpen
2149
- }),
2150
- children: content || children
2151
- }
2152
- ) })
2153
- ] }) }) });
2154
- };
2155
- var MenuSubmenu_default = MenuSubmenu;
2156
-
2157
- // src/components/Menu/MenuGroup.tsx
2158
- var import_jsx_runtime26 = require("react/jsx-runtime");
2159
- var MenuGroup = (_a) => {
2160
- var _b = _a, {
2161
- children,
2162
- className,
2163
- style,
2164
- title,
2165
- icon,
2166
- level = 1,
2167
- items
2168
- } = _b, rest = __objRest(_b, [
2169
- "children",
2170
- "className",
2171
- "style",
2172
- "title",
2173
- "icon",
2174
- "level",
2175
- "items"
2176
- ]);
2177
- const content = (0, import_react48.useMemo)(() => {
2178
- return items == null ? void 0 : items.map((_a2, index) => {
2179
- var _b2 = _a2, { type } = _b2, item = __objRest(_b2, ["type"]);
2180
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(MenuItem_default, __spreadValues({}, item), index);
2181
- });
2182
- }, [items]);
2183
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
2184
- /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
2185
- "div",
2186
- __spreadProps(__spreadValues({
2187
- className: (0, import_clsx12.default)(`${PREFIX_CLS}menu-group`, className),
2188
- style: __spreadValues({
2189
- paddingLeft: level <= 1 ? `var(--${PREFIX_CLS}menu-group-padding-x)` : `calc(${level} * var(--${PREFIX_CLS}menu-group-padding-level))`
2190
- }, style)
2191
- }, rest), {
2192
- children: [
2193
- icon && /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `${PREFIX_CLS}menu-group__icon`, children: icon }),
2194
- /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("div", { className: `${PREFIX_CLS}menu-group__content`, children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("span", { className: `${PREFIX_CLS}menu-group__title`, children: title }) })
2195
- ]
2196
- })
2197
- ),
2198
- content || children
2199
- ] });
2200
- };
2201
- var MenuGroup_default = MenuGroup;
2202
-
2203
- // src/components/Menu/Menu.tsx
2204
- var import_jsx_runtime27 = require("react/jsx-runtime");
2205
- var Menu = (_a) => {
2206
- var _b = _a, {
2207
- children,
2208
- value: valueProp = [],
2209
- defaultValue,
2210
- openValues: openValuesProp,
2211
- expandMode = "multiple",
2212
- navMode = "manual",
2213
- items,
2214
- onChange,
2215
- onOpen,
2216
- onItemSelect
2217
- } = _b, rest = __objRest(_b, [
2218
- "children",
2219
- "value",
2220
- "defaultValue",
2221
- "openValues",
2222
- "expandMode",
2223
- "navMode",
2224
- "items",
2225
- "onChange",
2226
- "onOpen",
2227
- "onItemSelect"
2228
- ]);
2229
- var _a2;
2230
- const [selfValue, setSelfValue] = (0, import_react49.useState)((_a2 = valueProp != null ? valueProp : defaultValue) != null ? _a2 : []);
2231
- const [selfOpenValues, setSelfOpenValues] = (0, import_react49.useState)(openValuesProp != null ? openValuesProp : []);
2232
- const content = (0, import_react49.useMemo)(() => {
2233
- return items == null ? void 0 : items.map((_a3, index) => {
2234
- var _b2 = _a3, { type } = _b2, item = __objRest(_b2, ["type"]);
2235
- return type === "item" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MenuItem_default, __spreadValues({}, item), index) : type === "submenu" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MenuSubmenu_default, __spreadValues({}, item), index) : type === "group" ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MenuGroup_default, __spreadValues({}, item), index) : /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(MenuItem_default, __spreadValues({}, item), index);
2236
- });
2237
- }, [items]);
2238
- const handleChange = (value) => {
2239
- if (valueProp !== void 0 && navMode !== "automatic") {
2240
- onChange == null ? void 0 : onChange(value);
2241
- } else {
2242
- setSelfValue(value);
2243
- }
2244
- };
2245
- const handleOpen = (values) => {
2246
- if (openValuesProp !== void 0) {
2247
- onOpen == null ? void 0 : onOpen(values);
2248
- } else {
2249
- setSelfOpenValues(values);
2250
- }
2251
- };
2252
- const handleItemSelect = (props) => {
2253
- onItemSelect == null ? void 0 : onItemSelect(props);
2254
- };
2255
- (0, import_react49.useEffect)(() => {
2256
- if (valueProp !== void 0 && navMode !== "automatic") {
2257
- setSelfValue(valueProp);
2258
- }
2259
- }, [valueProp]);
2260
- (0, import_react49.useEffect)(() => {
2261
- if (openValuesProp !== void 0) {
2262
- setSelfOpenValues(openValuesProp);
2263
- }
2264
- }, [openValuesProp]);
2265
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
2266
- MenuContext_default.Provider,
2267
- {
2268
- value: {
2269
- value: selfValue,
2270
- originalValue: valueProp,
2271
- openValues: selfOpenValues,
2272
- expandMode,
2273
- navMode,
2274
- onOpen: handleOpen,
2275
- onChange: handleChange,
2276
- onItemSelect: handleItemSelect
2277
- },
2278
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", __spreadProps(__spreadValues({ className: (0, import_clsx13.default)(`${PREFIX_CLS}menu`) }, rest), { children: content || children }))
2279
- }
2280
- );
2281
- };
2282
- Menu.displayName = "Menu";
2283
- var Menu_default = Menu;
2284
-
2285
- // src/components/Accordion/Accordion.tsx
2286
- var import_react50 = require("react");
2287
- var import_jsx_runtime28 = require("react/jsx-runtime");
2288
- var Accordion = (0, import_react50.forwardRef)((props, ref) => {
2289
- const _a = props, { children, className } = _a, rest = __objRest(_a, ["children", "className"]);
2290
- const prefixCls = PREFIX_CLS;
2291
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", __spreadProps(__spreadValues({ ref, className: clsx_default(`${prefixCls}accordion`, className) }, rest), { children }));
2292
- });
2293
- var Accordion_default = Accordion;
2294
-
2295
- // src/components/Accordion/AccordionItem.tsx
2296
- var import_react51 = require("react");
2297
- var import_uuid = require("uuid");
2298
- var import_jsx_runtime29 = require("react/jsx-runtime");
2299
- var AccordionItemContext = (0, import_react51.createContext)(null);
2300
- var useAccordionItem = () => {
2301
- const context = (0, import_react51.useContext)(AccordionItemContext);
2302
- if (!context) {
2303
- throw new Error("`useAccordionItem` must be used within a `<AccordionItem />`");
2304
- }
2305
- return context;
2306
- };
2307
- var AccordionItem = (0, import_react51.forwardRef)((props, ref) => {
2308
- const _a = props, { children, className, value: valueProp } = _a, rest = __objRest(_a, ["children", "className", "value"]);
2309
- const [id] = (0, import_react51.useState)((0, import_uuid.v4)());
2310
- const value = valueProp != null ? valueProp : id;
2311
- const { isOpen, onOpen, onClose, onToggle } = useDisclosure_default({ defaultValue: true });
2312
- const prefixCls = PREFIX_CLS;
2313
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(AccordionItemContext.Provider, { value: { value }, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", __spreadProps(__spreadValues({ ref, className: clsx_default(`${prefixCls}accordion-item`, className) }, rest), { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Collapse_default, { isOpen, onOpen, onClose, onToggle, children }) })) });
2314
- });
2315
- var AccordionItem_default = AccordionItem;
2316
-
2317
- // src/components/Accordion/AccordionHeader.tsx
2318
- var import_react52 = require("react");
2319
- var import_jsx_runtime30 = require("react/jsx-runtime");
2320
- var AccordionHeader = (0, import_react52.forwardRef)((props, ref) => {
2321
- const _a = props, { className, title, subtitle, startContent, endContent } = _a, rest = __objRest(_a, ["className", "title", "subtitle", "startContent", "endContent"]);
2322
- const prefixCls = PREFIX_CLS;
2323
- const { isOpen } = useCollapse();
2324
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(CollapseTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", __spreadProps(__spreadValues({ ref, className: clsx_default(`${prefixCls}accordion-header`, className) }, rest), { children: [
2325
- startContent && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${prefixCls}accordion-header__start-content`, children: startContent }),
2326
- /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: `${prefixCls}accordion-header__content`, children: [
2327
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${prefixCls}accordion-header__title`, children: title }),
2328
- subtitle && /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${prefixCls}accordion-header__subtitle`, children: subtitle })
2329
- ] }),
2330
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: `${prefixCls}accordion-header__end-content`, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)("div", { className: "us-d-flex us-items-center us-gap-1", children: [
2331
- endContent,
2332
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Button, { type: "button", variant: "text", color: "secondary", size: "sm", iconOnly: true, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon_default, { children: isOpen ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronUpIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(ChevronDownIcon_default, {}) }) })
2333
- ] }) })
2334
- ] })) });
2335
- });
2336
- var AccordionHeader_default = AccordionHeader;
2337
-
2338
- // src/components/Accordion/AccordionPanel.tsx
2339
- var import_react53 = require("react");
2340
- var import_jsx_runtime31 = require("react/jsx-runtime");
2341
- var AccordionPanel = (0, import_react53.forwardRef)((_a, ref) => {
2342
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2343
- const prefixCls = PREFIX_CLS;
2344
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { ref, children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", __spreadProps(__spreadValues({ className: clsx_default(`${prefixCls}accordion-panel`, className) }, rest), { children })) }) });
2345
- });
2346
- var AccordionPanel_default = AccordionPanel;
2347
-
2348
- // src/components/Accordion/AccordionContent.tsx
2349
- var import_react54 = require("react");
2350
- var import_jsx_runtime32 = require("react/jsx-runtime");
2351
- var AccordionContent = (0, import_react54.forwardRef)((_a, ref) => {
2352
- var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
2353
- const prefixCls = PREFIX_CLS;
2354
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(CollapseContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { ref, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", __spreadProps(__spreadValues({ className: clsx_default(`${prefixCls}accordion-content`, className) }, rest), { children })) }) });
2355
- });
2356
- var AccordionContent_default = AccordionContent;
2357
-
2358
- // src/components/Tabs/Tab.tsx
2359
- var import_clsx15 = __toESM(require("clsx"));
2360
- var import_merge_refs = __toESM(require("merge-refs"));
2361
- var import_react56 = require("react");
2362
- var import_uuid2 = require("uuid");
2363
-
2364
- // src/components/Tabs/TabsContext.ts
2365
- var import_react55 = require("react");
2366
- var TabsContext = (0, import_react55.createContext)(null);
2367
- var useTabs = () => {
2368
- const context = (0, import_react55.useContext)(TabsContext);
2369
- if (!context) {
2370
- throw new Error("`useTabs` must be used within a `<Tabs />`");
2371
- }
2372
- return context;
2373
- };
2374
-
2375
- // src/components/Tabs/Tab.tsx
2376
- var import_jsx_runtime33 = require("react/jsx-runtime");
2377
- var Tab = (0, import_react56.forwardRef)(
2378
- (_a, ref) => {
2379
- var _b = _a, {
2380
- as: Component = "div",
2381
- children,
2382
- className,
2383
- role = "presentation",
2384
- value: valueProp,
2385
- startContent,
2386
- endContent,
2387
- closable,
2388
- disabled,
2389
- onClick
2390
- } = _b, rest = __objRest(_b, [
2391
- "as",
2392
- "children",
2393
- "className",
2394
- "role",
2395
- "value",
2396
- "startContent",
2397
- "endContent",
2398
- "closable",
2399
- "disabled",
2400
- "onClick"
2401
- ]);
2402
- const prefixCls = PREFIX_CLS;
2403
- const tabRef = (0, import_react56.useRef)(null);
2404
- const [id] = (0, import_react56.useState)((0, import_uuid2.v4)());
2405
- const value = valueProp != null ? valueProp : id;
2406
- const _a2 = useTabs(), { onClose, registerItem } = _a2, tabs = __objRest(_a2, ["onClose", "registerItem"]);
2407
- const handleClick = (event) => {
2408
- const previousTab = tabs.previousTabRef.current;
2409
- const currentTab = tabRef.current;
2410
- if (!currentTab)
2411
- return;
2412
- if (previousTab) {
2413
- const previousIndicator = previousTab.querySelector(`.${prefixCls}tab__indicator`);
2414
- const currentIndicator = currentTab.querySelector(`.${prefixCls}tab__indicator`);
2415
- if (!previousIndicator || !currentIndicator)
2416
- return;
2417
- const from = {};
2418
- const fromRect = previousIndicator.getBoundingClientRect();
2419
- const fromPos = fromRect.left;
2420
- const fromWidth = fromRect.width;
2421
- const toRect = currentIndicator.getBoundingClientRect();
2422
- const toPos = toRect.left;
2423
- const toWidth = toRect.width;
2424
- const scale = fromWidth / toWidth;
2425
- if (scale) {
2426
- from["transform"] = `translateX(${(fromPos - toPos).toFixed(4)}px) scaleX(${scale.toFixed(4)})`;
2427
- } else {
2428
- from["opacity"] = 0;
2429
- }
2430
- const keyframes = [from, { transform: "none" }];
2431
- currentIndicator.animate(keyframes, {
2432
- duration: 250,
2433
- easing: "cubic-bezier(.3,0,0,1)"
2434
- });
2435
- tabs.previousTabRef.current = tabRef.current;
2436
- }
2437
- tabs.previousTabRef.current = tabRef.current;
2438
- tabs.onChange(value);
2439
- onClick == null ? void 0 : onClick(event);
2440
- };
2441
- const handleClose = (event) => {
2442
- event.stopPropagation();
2443
- onClose(value);
2444
- };
2445
- (0, import_react56.useEffect)(() => {
2446
- registerItem({ value, disabled });
2447
- if (value === tabs.value) {
2448
- tabs.previousTabRef.current = tabRef.current;
2449
- }
2450
- }, [value, tabs.value]);
2451
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
2452
- Component,
2453
- __spreadProps(__spreadValues({
2454
- ref: (0, import_merge_refs.default)(tabRef, ref, (el) => tabs.tabRefs.current[value] = el),
2455
- className: (0, import_clsx15.default)(
2456
- `${prefixCls}tab`,
2457
- { [`${prefixCls}tab--selected`]: value === tabs.value, [`${prefixCls}tab--disabled`]: disabled },
2458
- className
2459
- ),
2460
- role,
2461
- onClick: handleClick
2462
- }, rest), {
2463
- children: [
2464
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${prefixCls}overlay`, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${prefixCls}overlay__surface` }) }),
2465
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `${prefixCls}tab__content`, children: [
2466
- startContent && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${prefixCls}tab__start-content`, children: startContent }),
2467
- children,
2468
- endContent || closable && /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)("div", { className: `${prefixCls}tab__end-content`, children: [
2469
- endContent,
2470
- closable && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Button, { variant: "text", color: "secondary", iconOnly: true, size: "xs", onClick: handleClose, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(CloseIcon_default, {}) }) })
2471
- ] })
2472
- ] }),
2473
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { className: `${prefixCls}tab__indicator` })
2474
- ]
2475
- })
2476
- );
2477
- }
2478
- );
2479
-
2480
- // src/components/Tabs/Tabs.tsx
2481
- var import_clsx16 = __toESM(require("clsx"));
2482
- var import_react57 = require("react");
2483
- var import_jsx_runtime34 = require("react/jsx-runtime");
2484
- var Tabs = (_a) => {
2485
- var _b = _a, {
2486
- children,
2487
- className,
2488
- value,
2489
- defaultValue,
2490
- alignment = "start",
2491
- onChange,
2492
- onClose
2493
- } = _b, rest = __objRest(_b, [
2494
- "children",
2495
- "className",
2496
- "value",
2497
- "defaultValue",
2498
- "alignment",
2499
- "onChange",
2500
- "onClose"
2501
- ]);
2502
- const tabsRef = (0, import_react57.useRef)(null);
2503
- const tabRefs = (0, import_react57.useRef)({});
2504
- const previousTabRef = (0, import_react57.useRef)(null);
2505
- const [selfValue, setSelfValue] = (0, import_react57.useState)(value != null ? value : defaultValue);
2506
- const [items, setItems] = (0, import_react57.useState)([]);
2507
- const registerItem = (item) => {
2508
- setItems((prevItems) => {
2509
- const index = prevItems.findIndex((item2) => item2.value);
2510
- if (index === -1) {
2511
- prevItems.push(item);
2512
- }
2513
- return prevItems;
2514
- });
2515
- };
2516
- const scrollToTab = (value2) => {
2517
- const tabsEl = tabsRef.current;
2518
- if (!tabsEl)
2519
- return;
2520
- const currentTabEl = tabRefs.current[value2];
2521
- if (!currentTabEl)
2522
- return;
2523
- scrollToItem(tabsEl, currentTabEl);
2524
- };
2525
- const handleChange = (value2) => {
2526
- setSelfValue(value2);
2527
- onChange == null ? void 0 : onChange(value2);
2528
- scrollToTab(value2);
2529
- };
2530
- const handleClose = (value2) => {
2531
- onClose == null ? void 0 : onClose(value2);
2532
- };
2533
- (0, import_react57.useEffect)(() => {
2534
- if (value !== void 0) {
2535
- setSelfValue(value);
2536
- scrollToTab(value);
2537
- }
2538
- }, [value]);
2539
- (0, import_react57.useEffect)(() => {
2540
- if (value === void 0) {
2541
- const item = items.find((tab) => !tab.disabled);
2542
- setSelfValue(item == null ? void 0 : item.value);
2543
- }
2544
- }, [value, items]);
2545
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2546
- TabsContext.Provider,
2547
- {
2548
- value: { previousTabRef, tabRefs, value: selfValue, onChange: handleChange, onClose: handleClose, registerItem },
2549
- children: [
2550
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2551
- "div",
2552
- __spreadProps(__spreadValues({
2553
- ref: tabsRef,
2554
- className: (0, import_clsx16.default)(`${PREFIX_CLS}tabs`, { [`${PREFIX_CLS}tabs--${alignment}`]: alignment }, className)
2555
- }, rest), {
2556
- children
2557
- })
2558
- ),
2559
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: `${PREFIX_CLS}divider` })
2560
- ]
2561
- }
2562
- );
2563
- };
2564
-
2565
- // src/components/Toolbar/Toolbar.tsx
2566
- var import_clsx17 = __toESM(require("clsx"));
2567
- var import_jsx_runtime35 = require("react/jsx-runtime");
2568
- var Toolbar = (props) => {
2569
- const _a = props, {
2570
- children,
2571
- className,
2572
- size = "md",
2573
- startContent,
2574
- endContent,
2575
- startAction,
2576
- endAction,
2577
- title,
2578
- subtitle
2579
- } = _a, rest = __objRest(_a, [
2580
- "children",
2581
- "className",
2582
- "size",
2583
- "startContent",
2584
- "endContent",
2585
- "startAction",
2586
- "endAction",
2587
- "title",
2588
- "subtitle"
2589
- ]);
2590
- const prefixCls = PREFIX_CLS;
2591
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", __spreadProps(__spreadValues({ className: (0, import_clsx17.default)(`${prefixCls}toolbar`, { [`${prefixCls}toolbar--${size}`]: size }, className) }, rest), { children: [
2592
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: `${prefixCls}outline-b` }),
2593
- /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__container`), children: [
2594
- startContent ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__start-content`), children: startContent }) : startAction && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__start-action`), children: startAction }),
2595
- /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__content`), children: title || subtitle ? /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
2596
- title && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__title`), children: title }),
2597
- subtitle && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__subtitle`), children: subtitle })
2598
- ] }) : children }),
2599
- endContent ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__end-content`), children: endContent }) : endAction && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { className: (0, import_clsx17.default)(`${prefixCls}toolbar__end-action`), children: endAction })
2600
- ] })
2601
- ] }));
2602
- };
2603
- var Toolbar_default = Toolbar;
2604
-
2605
- // src/components/TextInput/TextInput.tsx
2606
- var import_react58 = require("react");
2607
- var import_jsx_runtime36 = require("react/jsx-runtime");
2608
- var TextInput = (0, import_react58.forwardRef)(
2609
- (_a, ref) => {
2610
- var _b = _a, { className, value, defaultValue, disabled, inputRef, startContent, endContent, style, onChange, onClick } = _b, rest = __objRest(_b, ["className", "value", "defaultValue", "disabled", "inputRef", "startContent", "endContent", "style", "onChange", "onClick"]);
2611
- const [focus, setFocus] = (0, import_react58.useState)(false);
2612
- const selfInputRef = (0, import_react58.useRef)(null);
2613
- const prefixCls = PREFIX_CLS;
2614
- const handleChange = (event) => {
2615
- onChange == null ? void 0 : onChange(event);
2616
- };
2617
- const handleClick = (event) => {
2618
- var _a2;
2619
- onClick == null ? void 0 : onClick(event);
2620
- (_a2 = selfInputRef == null ? void 0 : selfInputRef.current) == null ? void 0 : _a2.focus();
2621
- };
2622
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2623
- "div",
2624
- {
2625
- ref,
2626
- className: clsx_default(
2627
- `${prefixCls}input`,
2628
- { [`${prefixCls}input--focus`]: focus, [`${prefixCls}input--disabled`]: disabled },
2629
- className
2630
- ),
2631
- style,
2632
- onFocus: () => {
2633
- setFocus(true);
2634
- },
2635
- onBlur: () => {
2636
- setFocus(false);
2637
- },
2638
- onClick: handleClick,
2639
- children: [
2640
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${prefixCls}outline` }),
2641
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: `${prefixCls}input__content`, children: [
2642
- startContent && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${prefixCls}input__start-content`, children: startContent }),
2643
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2644
- "input",
2645
- __spreadValues({
2646
- ref: mergeRefs_default(selfInputRef, inputRef),
2647
- className: `${prefixCls}input__field`,
2648
- value,
2649
- defaultValue,
2650
- disabled,
2651
- onChange: handleChange
2652
- }, rest)
2653
- ),
2654
- endContent && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: `${prefixCls}input__end-content`, children: endContent })
2655
- ] })
2656
- ]
2657
- }
2658
- );
2659
- }
2660
- );
2661
- var TextInput_default = TextInput;
2662
-
2663
- // src/components/Switch/Switch.tsx
2664
- var import_clsx18 = __toESM(require("clsx"));
2665
- var import_react59 = require("react");
2666
- var import_jsx_runtime37 = require("react/jsx-runtime");
2667
- var Switch = (0, import_react59.forwardRef)(
2668
- (_a, ref) => {
2669
- var _b = _a, {
2670
- id,
2671
- name,
2672
- value,
2673
- defaultValue,
2674
- checked: checkedProp,
2675
- defaultChecked,
2676
- onChange,
2677
- onCheckedChange: onCheckedChangeProp,
2678
- disabled
2679
- } = _b, rest = __objRest(_b, [
2680
- "id",
2681
- "name",
2682
- "value",
2683
- "defaultValue",
2684
- "checked",
2685
- "defaultChecked",
2686
- "onChange",
2687
- "onCheckedChange",
2688
- "disabled"
2689
- ]);
2690
- const [selftChecked, setSelfChecked] = (0, import_react59.useState)(checkedProp);
2691
- const prefixCls = PREFIX_CLS;
2692
- const handleChange = (event) => {
2693
- const { value: value2, checked } = event.target;
2694
- setSelfChecked(checked);
2695
- onChange == null ? void 0 : onChange(value2);
2696
- onCheckedChangeProp == null ? void 0 : onCheckedChangeProp(checked);
2697
- };
2698
- (0, import_react59.useEffect)(() => {
2699
- if (checkedProp !== void 0) {
2700
- setSelfChecked(checkedProp);
2701
- }
2702
- }, [checkedProp]);
2703
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsxs)(
2704
- "label",
2705
- __spreadProps(__spreadValues({
2706
- ref,
2707
- htmlFor: id,
2708
- className: (0, import_clsx18.default)(`${prefixCls}switch`, {
2709
- [`${prefixCls}switch--checked`]: !!selftChecked
2710
- })
2711
- }, rest), {
2712
- children: [
2713
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2714
- "input",
2715
- {
2716
- type: "checkbox",
2717
- id,
2718
- name,
2719
- value,
2720
- defaultValue,
2721
- checked: selftChecked,
2722
- defaultChecked,
2723
- disabled,
2724
- onChange: handleChange
2725
- }
2726
- ),
2727
- /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: `${prefixCls}switch__thumb` })
2728
- ]
2729
- })
2730
- );
2731
- }
2732
- );
2733
- var Switch_default = Switch;
2734
-
2735
- // src/components/Select/Select.tsx
2736
- var import_react63 = require("react");
2737
-
2738
- // src/components/Select/SelectContent.tsx
2739
- var import_react61 = require("react");
2740
-
2741
- // src/components/Select/SelectContext.tsx
2742
- var import_react60 = require("react");
2743
- var SelectContext = (0, import_react60.createContext)(null);
2744
- var useSelect = () => {
2745
- const context = (0, import_react60.useContext)(SelectContext);
2746
- if (!context) {
2747
- throw new Error("`useSelect` must be used within a `<Select />`");
2748
- }
2749
- return context;
2750
- };
2751
- var SelectContext_default = SelectContext;
2752
-
2753
- // src/components/Select/SelectContent.tsx
2754
- var import_jsx_runtime38 = require("react/jsx-runtime");
2755
- var SelectContent = () => {
2756
- const { data, values, offset, setOffset, keyField, textField, onItemSelect, renderItem } = useSelect();
2757
- const parentRef = (0, import_react61.useRef)(null);
2758
- const { isOpen } = usePopover();
2759
- const handleItemSelect = (item) => {
2760
- var _a;
2761
- onItemSelect(item);
2762
- setOffset(((_a = parentRef.current) == null ? void 0 : _a.scrollHeight) || 0);
2763
- };
2764
- (0, import_react61.useEffect)(() => {
2765
- var _a;
2766
- if (!isOpen)
2767
- return;
2768
- (_a = parentRef.current) == null ? void 0 : _a.scrollTo({ top: offset });
2769
- }, [isOpen]);
2770
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2771
- ScrollArea_default,
2772
- {
2773
- ref: parentRef,
2774
- style: {
2775
- height: `200px`,
2776
- width: `100%`,
2777
- position: "relative"
2778
- },
2779
- children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(List_default, { children: renderItem ? data.map((item) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react61.Fragment, { children: renderItem(item, {
2780
- title: "",
2781
- selected: values.includes(item[keyField]),
2782
- hoverable: true,
2783
- onClick: () => handleItemSelect(item)
2784
- }) }, item[keyField])) : data.map((item) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2785
- ListItem_default,
2786
- {
2787
- title: item[textField],
2788
- selected: values.includes(item[keyField]),
2789
- hoverable: true,
2790
- onClick: () => handleItemSelect(item)
2791
- },
2792
- item[keyField]
2793
- )) })
2794
- }
2795
- );
2796
- };
2797
- var SelectContent_default = SelectContent;
2798
-
2799
- // src/components/Select/SelectVirtual.tsx
2800
- var import_react62 = require("react");
2801
-
2802
- // src/components/Select/utils.ts
2803
- var valueToValues2 = (value) => {
2804
- return Array.isArray(value) ? value : value !== null ? [value] : [];
2805
- };
2806
- var valuesToValue2 = (values) => {
2807
- return Array.isArray(values) ? values.length !== 0 ? values[0] : null : values;
2808
- };
2809
-
2810
- // src/components/Select/SelectVirtual.tsx
2811
- var import_jsx_runtime39 = require("react/jsx-runtime");
2812
- var SelectVirtual = () => {
2813
- const { data, values, keyField, textField, virtual, onItemSelect, renderItem } = useSelect();
2814
- const parentRef = (0, import_react62.useRef)(null);
2815
- const virtualizer = useVirtualizer_default(__spreadProps(__spreadValues({}, virtual), { count: data.length, parentRef }));
2816
- const { isOpen } = usePopover();
2817
- const handleItemSelect = (item) => {
2818
- onItemSelect(item);
2819
- };
2820
- (0, import_react62.useEffect)(() => {
2821
- if (!isOpen)
2822
- return;
2823
- const value = valuesToValue2(values);
2824
- const index = data.findIndex((item) => item[keyField] === value);
2825
- virtualizer.scrollToIndex(index, { align: "start" });
2826
- }, [isOpen]);
2827
- if (!virtual)
2828
- return null;
2829
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2830
- ScrollArea_default,
2831
- {
2832
- ref: parentRef,
2833
- autoHide: true,
2834
- style: {
2835
- height: `200px`,
2836
- width: `100%`,
2837
- position: "relative"
2838
- },
2839
- children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(List_default, { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2840
- "div",
2841
- {
2842
- style: {
2843
- height: `${virtualizer.getTotalSize()}px`,
2844
- width: "100%",
2845
- position: "relative"
2846
- },
2847
- children: virtualizer.getVirtualItems().map((virtualItem) => {
2848
- const isLoaderRow = virtualItem.index > data.length - 1;
2849
- const item = data[virtualItem.index];
2850
- if (isLoaderRow) {
2851
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2852
- ListItem_default,
2853
- {
2854
- title: virtual.hasNextPage ? "Loading..." : "Nothing more to load",
2855
- style: {
2856
- position: "absolute",
2857
- top: 0,
2858
- left: 0,
2859
- width: "100%",
2860
- height: `${virtualItem.size}px`,
2861
- transform: `translateY(${virtualItem.start}px)`
2862
- }
2863
- },
2864
- virtualItem.index
2865
- );
2866
- }
2867
- if (!item) {
2868
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2869
- ListItem_default,
2870
- {
2871
- title: `Item ${virtualItem.index} not found`,
2872
- style: {
2873
- position: "absolute",
2874
- top: 0,
2875
- left: 0,
2876
- width: "100%",
2877
- height: `${virtualItem.size}px`,
2878
- transform: `translateY(${virtualItem.start}px)`
2879
- }
2880
- },
2881
- virtualItem.index
2882
- );
2883
- }
2884
- if (renderItem) {
2885
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_react62.Fragment, { children: renderItem(item, {
2886
- title: "",
2887
- selected: values.includes(item[keyField]),
2888
- hoverable: true,
2889
- style: {
2890
- position: "absolute",
2891
- top: 0,
2892
- left: 0,
2893
- width: "100%",
2894
- height: `${virtualItem.size}px`,
2895
- transform: `translateY(${virtualItem.start}px)`
2896
- },
2897
- onClick: () => handleItemSelect(item)
2898
- }) }, virtualItem.index);
2899
- }
2900
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2901
- ListItem_default,
2902
- {
2903
- title: item[textField],
2904
- selected: values.includes(item[keyField]),
2905
- hoverable: true,
2906
- style: {
2907
- position: "absolute",
2908
- top: 0,
2909
- left: 0,
2910
- width: "100%",
2911
- height: `${virtualItem.size}px`,
2912
- transform: `translateY(${virtualItem.start}px)`
2913
- },
2914
- onClick: () => handleItemSelect(item)
2915
- },
2916
- virtualItem.index
2917
- );
2918
- })
2919
- }
2920
- ) })
2921
- }
2922
- );
2923
- };
2924
- var SelectVirtual_default = SelectVirtual;
2925
-
2926
- // src/components/Select/Select.tsx
2927
- var import_jsx_runtime40 = require("react/jsx-runtime");
2928
- var Select = (props) => {
2929
- const {
2930
- data,
2931
- value: valueProp,
2932
- keyField = "key",
2933
- textField = "text",
2934
- isMultiple = false,
2935
- disabled,
2936
- loading,
2937
- disclosure: disclosureProp,
2938
- virtual,
2939
- placeholder,
2940
- className,
2941
- style,
2942
- startContent,
2943
- endContent,
2944
- renderItem
2945
- } = props;
2946
- const disclosure = disclosureProp !== void 0 ? disclosureProp : useDisclosure_default();
2947
- const prefixCls = PREFIX_CLS;
2948
- const inputRef = (0, import_react63.useRef)(null);
2949
- const [search, setSearch] = (0, import_react63.useState)("");
2950
- const [isSearch, setIsSearch] = (0, import_react63.useState)(false);
2951
- const [focus, setFocus] = (0, import_react63.useState)(false);
2952
- const values = (0, import_react63.useMemo)(() => {
2953
- return valueToValues2(valueProp);
2954
- }, [valueProp]);
2955
- const items = (0, import_react63.useMemo)(() => {
2956
- return data.filter((item) => values.includes(item[keyField]));
2957
- }, [data, values]);
2958
- const [offset, setOffset] = (0, import_react63.useState)(0);
2959
- const handleClick = () => {
2960
- var _a;
2961
- (_a = inputRef == null ? void 0 : inputRef.current) == null ? void 0 : _a.focus();
2962
- };
2963
- const handleChange = (values2) => {
2964
- var _a, _b, _c, _d, _e;
2965
- if (props.isMultiple) {
2966
- const items2 = data.filter((item) => values2.includes(item[keyField]));
2967
- (_a = props.onChange) == null ? void 0 : _a.call(props, items2);
2968
- (_b = props.onValueChange) == null ? void 0 : _b.call(props, values2);
2969
- } else {
2970
- const newValue = valuesToValue2(values2);
2971
- let item = null;
2972
- if (newValue !== null) {
2973
- item = (_c = data.find((item2) => item2[keyField] === newValue)) != null ? _c : null;
2974
- }
2975
- (_d = props.onChange) == null ? void 0 : _d.call(props, item);
2976
- (_e = props.onValueChange) == null ? void 0 : _e.call(props, newValue);
2977
- }
2978
- };
2979
- const handleClear = (event) => {
2980
- var _a, _b, _c, _d;
2981
- event.stopPropagation();
2982
- setIsSearch(true);
2983
- setSearch("");
2984
- if (props.isMultiple) {
2985
- (_a = props.onChange) == null ? void 0 : _a.call(props, []);
2986
- (_b = props.onValueChange) == null ? void 0 : _b.call(props, []);
2987
- } else {
2988
- (_c = props.onChange) == null ? void 0 : _c.call(props, null);
2989
- (_d = props.onValueChange) == null ? void 0 : _d.call(props, null);
2990
- }
2991
- setIsSearch(false);
2992
- };
2993
- const handleItemSelect = (item) => {
2994
- var _a;
2995
- const newValue = item[keyField];
2996
- if (props.isMultiple) {
2997
- const newValues = [...values];
2998
- const valueIndex = values.indexOf(newValue);
2999
- if (valueIndex === -1) {
3000
- newValues.push(newValue);
3001
- } else {
3002
- newValues.splice(valueIndex, 1);
3003
- }
3004
- handleChange(newValues);
3005
- } else {
3006
- const value = valuesToValue2(values);
3007
- if (value !== newValue) {
3008
- handleChange([newValue]);
3009
- }
3010
- }
3011
- setIsSearch(false);
3012
- (_a = inputRef.current) == null ? void 0 : _a.focus();
3013
- disclosure.onClose();
3014
- };
3015
- const handleOpen = () => {
3016
- disclosure.onOpen();
3017
- setFocus(true);
3018
- };
3019
- const handleClose = () => {
3020
- disclosure.onClose();
3021
- if (!props.isMultiple) {
3022
- if (isSearch) {
3023
- const item = items[0];
3024
- if (item !== void 0) {
3025
- setSearch(item[textField]);
3026
- } else {
3027
- setSearch("");
3028
- }
3029
- setIsSearch(false);
3030
- }
3031
- }
3032
- };
3033
- (0, import_react63.useEffect)(() => {
3034
- if (isSearch)
3035
- return;
3036
- if (!props.isMultiple) {
3037
- const item = items[0];
3038
- if (item !== void 0) {
3039
- setSearch(item[textField]);
3040
- }
3041
- }
3042
- }, [items]);
3043
- (0, import_react63.useEffect)(() => {
3044
- const values2 = valueToValues2(valueProp);
3045
- const value = values2[0];
3046
- if (value === void 0) {
3047
- setSearch("");
3048
- }
3049
- }, [valueProp]);
3050
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
3051
- SelectContext_default.Provider,
3052
- {
3053
- value: {
3054
- data,
3055
- values,
3056
- keyField,
3057
- textField,
3058
- isMultiple,
3059
- virtual,
3060
- onChange: handleChange,
3061
- onItemSelect: handleItemSelect,
3062
- offset,
3063
- setOffset,
3064
- renderItem
3065
- },
3066
- children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
3067
- Popover_default,
3068
- __spreadProps(__spreadValues({
3069
- target: true
3070
- }, disclosure), {
3071
- isOpen: disclosure.isOpen,
3072
- onOpen: handleOpen,
3073
- onClose: handleClose,
3074
- autoClose: "outside",
3075
- children: [
3076
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PopoverTrigger_default, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
3077
- "div",
3078
- {
3079
- className: clsx_default(
3080
- `${prefixCls}input`,
3081
- {
3082
- [`${prefixCls}input--focus`]: focus,
3083
- [`${prefixCls}input--disabled`]: disabled
3084
- },
3085
- className
3086
- ),
3087
- style,
3088
- onClick: handleClick,
3089
- onFocus: () => {
3090
- setFocus(true);
3091
- },
3092
- onBlur: () => {
3093
- setFocus(false);
3094
- },
3095
- children: [
3096
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("input", { type: "text", ref: inputRef, style: { position: "absolute", opacity: 0 } }),
3097
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${prefixCls}outline` }),
3098
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: `${prefixCls}input__content`, children: [
3099
- startContent && /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${prefixCls}input__start-content`, children: startContent }),
3100
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: `${prefixCls}input__field`, children: search || placeholder }),
3101
- /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)("div", { className: `${prefixCls}input__end-content`, children: [
3102
- endContent,
3103
- loading ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(LoaderIcon_default, { className: `${prefixCls}animation-spin` }) }) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Button, { color: "secondary", variant: "plain", size: "xs", iconOnly: true, onClick: handleClear, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon_default, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(CloseIcon_default, {}) }) }),
3104
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { style: { pointerEvents: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Icon_default, { children: disclosure.isOpen ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronUpIcon_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(ChevronDownIcon_default, {}) }) })
3105
- ] })
3106
- ] })
3107
- ]
3108
- }
3109
- ) }),
3110
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(PopoverContent_default, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { children: virtual ? /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SelectVirtual_default, {}) : /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(SelectContent_default, {}) }) })
3111
- ]
3112
- })
3113
- )
3114
- }
3115
- );
3116
- };
3117
- var Select_default = Select;
3118
-
3119
- // src/components/Field/Field.tsx
3120
- var import_react64 = require("react");
3121
- var import_jsx_runtime41 = require("react/jsx-runtime");
3122
- var Field = (0, import_react64.forwardRef)(({ children, label }, ref) => {
3123
- {
3124
- const prefixCls = PREFIX_CLS;
3125
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)("div", { ref, className: clsx_default(`${prefixCls}field`), children: [
3126
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `${prefixCls}field__label`, children: label }),
3127
- /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: `${prefixCls}field__content`, children })
3128
- ] });
3129
- }
3130
- });
3131
- var Field_default = Field;
3132
- // Annotate the CommonJS export names for ESM import in node:
3133
- 0 && (module.exports = {
3134
- Accordion,
3135
- AccordionContent,
3136
- AccordionHeader,
3137
- AccordionItem,
3138
- AccordionPanel,
3139
- Autocomplete,
3140
- Backdrop,
3141
- Badge,
3142
- Button,
3143
- Card,
3144
- CardHeader,
3145
- Chip,
3146
- Collapse,
3147
- CollapseContent,
3148
- CollapseContext,
3149
- CollapseTrigger,
3150
- Drawer,
3151
- Field,
3152
- Icon,
3153
- List,
3154
- ListGroup,
3155
- ListItem,
3156
- Menu,
3157
- MenuContext,
3158
- MenuGroup,
3159
- MenuItem,
3160
- MenuSubmenu,
3161
- MenuValueContext,
3162
- Portal,
3163
- QueryStatus,
3164
- ScrollArea,
3165
- Select,
3166
- Switch,
3167
- Tab,
3168
- Tabs,
3169
- TextInput,
3170
- Toolbar,
3171
- Transition,
3172
- assignRef,
3173
- clsx,
3174
- getOpenValuesByPathname,
3175
- hasResizeObserver,
3176
- mergeRefs,
3177
- scrollToItem,
3178
- useAccordionItem,
3179
- useCollapse,
3180
- useDebounce,
3181
- useDisclosure,
3182
- useEffectEvent,
3183
- useElementSize,
3184
- useInfiniteQuery,
3185
- useLocalStorage,
3186
- useMenu,
3187
- useMenuItemValue,
3188
- useOnClickOutside,
3189
- usePrevious,
3190
- useResizeObserver,
3191
- useStep,
3192
- useValueEffect,
3193
- useVirtualizer
3194
- });
1
+ "use strict";var ir=Object.create;var It=Object.defineProperty;var ar=Object.getOwnPropertyDescriptor;var cr=Object.getOwnPropertyNames;var ur=Object.getPrototypeOf,pr=Object.prototype.hasOwnProperty;var mr=(e,t)=>{for(var n in t)It(e,n,{get:t[n],enumerable:!0})},ao=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of cr(t))!pr.call(e,r)&&r!==n&&It(e,r,{get:()=>t[r],enumerable:!(o=ar(t,r))||o.enumerable});return e};var N=(e,t,n)=>(n=e!=null?ir(ur(e)):{},ao(t||!e||!e.__esModule?It(n,"default",{value:e,enumerable:!0}):n,e)),dr=e=>ao(It({},"__esModule",{value:!0}),e);var fs={};mr(fs,{Accordion:()=>wn,AccordionContent:()=>Kn,AccordionHeader:()=>Vn,AccordionItem:()=>Hn,AccordionPanel:()=>Dn,Autocomplete:()=>nn,Backdrop:()=>Vt,Badge:()=>ln,Button:()=>oe,Card:()=>cn,CardHeader:()=>mn,Chip:()=>fn,Collapse:()=>ye,CollapseContent:()=>re,CollapseContext:()=>Ot,CollapseTrigger:()=>Re,Drawer:()=>Cn,Field:()=>lr,Icon:()=>A,List:()=>U,ListGroup:()=>qo,ListItem:()=>O,Menu:()=>Ln,MenuContext:()=>Kt,MenuGroup:()=>et,MenuItem:()=>Z,MenuSubmenu:()=>je,MenuValueContext:()=>_e,Portal:()=>Be,QueryStatus:()=>eo,ScrollArea:()=>se,Select:()=>rr,Switch:()=>jn,Tab:()=>Wn,Tabs:()=>Yn,TextInput:()=>Jn,Toolbar:()=>qn,Transition:()=>Te,assignRef:()=>mt,clsx:()=>b,getOpenValuesByPathname:()=>bn,hasResizeObserver:()=>to,mergeRefs:()=>Ce,scrollToItem:()=>oo,useAccordionItem:()=>_n,useCollapse:()=>he,useDebounce:()=>Co,useDisclosure:()=>ee,useEffectEvent:()=>at,useElementSize:()=>wt,useInfiniteQuery:()=>ho,useLocalStorage:()=>po,useMenu:()=>Je,useMenuItemValue:()=>hn,useOnClickOutside:()=>Lt,usePrevious:()=>mo,useResizeObserver:()=>Ro,useStep:()=>xo,useValueEffect:()=>bo,useVirtualizer:()=>Ve});module.exports=dr(fs);var k=require("react");var a="us-";var fe=require("react");var uo=require("react");var Et=require("react"),fr=typeof window<"u"?Et.useLayoutEffect:Et.useEffect,co=fr;function vr(e){let t=(0,uo.useRef)(e);co(()=>{t.current=e},[e])}var jt=vr;function po(e,t){let n=(0,fe.useCallback)(()=>{if(typeof window>"u")return t;try{let c=window.localStorage.getItem(e);return c?xr(c):t}catch(c){return console.warn(`Error reading localStorage key \u201C${e}\u201D:`,c),t}},[t,e]),[o,r]=(0,fe.useState)(n),l=(0,fe.useCallback)(c=>{typeof window>"u"&&console.warn(`Tried setting localStorage key \u201C${e}\u201D even though environment is not a client`);try{let u=c instanceof Function?c(o):c;window.localStorage.setItem(e,JSON.stringify(u)),r(u),window.dispatchEvent(new Event("local-storage"))}catch(u){console.warn(`Error setting localStorage key \u201C${e}\u201D:`,u)}},[e,o]);(0,fe.useEffect)(()=>{r(n())},[]);let i=(0,fe.useCallback)(()=>{r(n())},[n]);return jt("storage",i),jt("local-storage",i),[o,l]}function xr(e){try{return e==="undefined"?void 0:JSON.parse(e??"")}catch{return}}var Mt=require("react"),mo=e=>{let t=(0,Mt.useRef)();return(0,Mt.useEffect)(()=>{t.current=e}),t.current};var fo=require("react");function Cr({defaultValue:e}={}){let[t,n]=(0,fo.useState)(e||!1);return{isOpen:t,onOpen:()=>{n(!0)},onClose:()=>{n(!1)},onToggle:()=>{n(i=>!i)}}}var ee=Cr;var vo=require("react"),gr=(e,t)=>{(0,vo.useEffect)(()=>{let n=o=>{!e.current||e.current.contains(o.target)||t(o)};return document.addEventListener("click",n),()=>{document.removeEventListener("click",n)}},[e,t])},Lt=gr;var te=require("react"),xo=e=>{let[t,n]=(0,te.useState)(1),o=(0,te.useMemo)(()=>t+1<=e,[t,e]),r=(0,te.useMemo)(()=>t-1>=1,[t]),l=(0,te.useCallback)(p=>{let m=p instanceof Function?p(t):p;if(m>=1&&m<=e){n(m);return}throw new Error("Step not valid")},[e,t]),i=(0,te.useCallback)(()=>{o&&n(p=>p+1)},[o]),c=(0,te.useCallback)(()=>{r&&n(p=>p-1)},[r]),u=(0,te.useCallback)(()=>{n(1)},[]);return[t,{goToNextStep:i,goToPrevStep:c,canGoToNextStep:o,canGoToPrevStep:r,setStep:l,reset:u}]};var At=require("react");function Tr(e,t){let[n,o]=(0,At.useState)(e);return(0,At.useEffect)(()=>{let r=setTimeout(()=>o(e),t||500);return()=>{clearTimeout(r)}},[e,t]),n}var Co=Tr;var go=require("@tanstack/react-virtual"),To=require("react");function hr(e){let{parentRef:t,total:n,count:o=0,overscan:r=5,hasNextPage:l,isFetchingNextPage:i,onFetchNextPage:c,estimateSize:u}=e,p=(0,go.useVirtualizer)({count:n||(l?o+1:o),getScrollElement:()=>t.current,estimateSize:u,overscan:r});return(0,To.useEffect)(()=>{if(!c)return;let[m]=[...p.getVirtualItems()].reverse();m&&m.index>=o-1&&l&&!i&&c?.()},[l,c,o,i,p.getVirtualItems()]),{getVirtualItems:p.getVirtualItems,getTotalSize:p.getTotalSize,scrollToIndex:(m,s)=>{p.scrollToIndex(m,s)},scrollToOffset:(m,s)=>{p.scrollToOffset(m,s)}}}var Ve=hr;var ve=require("react");var eo=(r=>(r[r.IDLE=0]="IDLE",r[r.LOADING=1]="LOADING",r[r.SUCCESS=2]="SUCCESS",r[r.ERROR=3]="ERROR",r))(eo||{});function yr(e,t=[]){let[n,o]=(0,ve.useState)(0),[r,l]=(0,ve.useState)({pages:[]}),[i,c]=(0,ve.useState)(),[u,p]=(0,ve.useState)(!0),[m,s]=(0,ve.useState)(!1),v=async()=>{try{o(1),c(void 0),s(!0);let d=r.pages.length-1,R=e.getNextPage(r.pages[d],r.pages),f=await e.query({page:R}),g={pages:[...r.pages,f]};l(g);let T=g.pages.length-1,x=e.getNextPage(g.pages[T],g.pages);p(x!==void 0),s(!1),o(2)}catch(d){c(d),o(3)}};return(0,ve.useEffect)(()=>{(async()=>{try{o(1),c(void 0),s(!0);let R=void 0,f=await e.query({page:R});l({pages:[f]});let g=e.getNextPage(f,[f]);p(g!==void 0),s(!1),o(2)}catch(R){c(R),o(3)}})()},t),{status:n,data:r,error:i,hasNextPage:u,isFetchingNextPage:m,fetchNextPage:v}}var ho=yr;var xe=require("react"),Rr={width:0,height:0};function br(e){let t=(0,xe.useRef)(0),[n,o]=(0,xe.useState)(Rr),r=(0,xe.useMemo)(()=>typeof window<"u"?new ResizeObserver(l=>{let i=l[0];i&&(cancelAnimationFrame(t.current),t.current=requestAnimationFrame(()=>{(e.ref?.current??e.target)&&(e.callback?.(n),o({width:i.contentRect.width,height:i.contentRect.height}))}))}):null,[]);return(0,xe.useEffect)(()=>{let l=e.ref?.current??e.target;return l&&r?.observe(l),()=>{r?.disconnect(),t.current&&cancelAnimationFrame(t.current)}},[e.ref?.current,e.target]),n}var wt=br;var yo=require("react");function to(){return typeof window.ResizeObserver<"u"}function Pr(e){let{ref:t,onResize:n}=e;(0,yo.useEffect)(()=>{let o=t?.current;if(o)if(to()){let r=new window.ResizeObserver(l=>{l.length&&n()});return r.observe(o),()=>{o&&r.unobserve(o)}}else return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[t,n])}var Ro=Pr;var Fe=require("react");function Sr(e){let t=(0,Fe.useRef)(null);return(0,Fe.useLayoutEffect)(()=>{t.current=e},[e]),(0,Fe.useCallback)((...n)=>{let o=t.current;return o(...n)},[])}var at=Sr;var De=require("react");function Ir(e){let[t,n]=(0,De.useState)(e),o=(0,De.useRef)(null),r=at(()=>{if(!o.current)return;let i=o.current.next();if(i.done){o.current=null;return}t===i.value?r():n(i.value)});(0,De.useLayoutEffect)(()=>{o.current&&r()});let l=at(i=>{o.current=i(t),r()});return[t,l]}var bo=Ir;var Po=require("react"),ct=require("react/jsx-runtime"),Er=(0,Po.forwardRef)((e,t)=>(0,ct.jsxs)("svg",{ref:t,stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 24 24",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,ct.jsx)("path",{fill:"none",d:"M0 0h24v24H0V0z"}),(0,ct.jsx)("path",{d:"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})]})),B=Er;var So=require("react"),ut=require("react/jsx-runtime"),Mr=(0,So.forwardRef)((e,t)=>(0,ut.jsxs)("svg",{ref:t,stroke:"currentColor",fill:"currentColor",strokeWidth:"0",viewBox:"0 0 24 24",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,ut.jsx)("path",{fill:"none",d:"M0 0h24v24H0z"}),(0,ut.jsx)("path",{d:"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"})]})),G=Mr;var Io=require("react"),pt=require("react/jsx-runtime"),Lr=(0,Io.forwardRef)((e,t)=>(0,pt.jsxs)("svg",{ref:t,stroke:"currentColor",fill:"none",strokeWidth:"2",viewBox:"0 0 24 24",strokeLinecap:"round",strokeLinejoin:"round",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,pt.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,pt.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9"})]})),Ne=Lr;var Eo=require("react"),ze=require("react/jsx-runtime"),Ar=(0,Eo.forwardRef)((e,t)=>(0,ze.jsxs)("svg",{ref:t,xmlns:"http://www.w3.org/2000/svg",width:"24",height:"24",viewBox:"0 0 24 24",strokeWidth:"2",stroke:"currentColor",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",...e,children:[(0,ze.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,ze.jsx)("path",{d:"M18 6l-12 12"}),(0,ze.jsx)("path",{d:"M6 6l12 12"})]})),$e=Ar;var oo=(e,t)=>{let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),r="smooth",l=t.previousSibling,i=l?.getBoundingClientRect()||o;if(n.left>i.left){let p=0;l&&(p=i.left-n.left+e.scrollLeft+i.width/4),e.scrollTo({behavior:r,left:p})}let c=t.nextSibling,u=c?.getBoundingClientRect()||o;if(n.right<u.right){let p=e.scrollWidth;c&&(p=u.right-n.right+e.scrollLeft-u.width/4),e.scrollTo({behavior:r,left:p})}};function Mo(e){let t,n,o="";if(typeof e=="string"||typeof e=="number")o+=e;else if(typeof e=="object")if(Array.isArray(e))for(t=0;t<e.length;t++)e[t]&&(n=Mo(e[t]))&&(o&&(o+=" "),o+=n);else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function wr(...e){let t=0,n,o,r="";for(;t<e.length;)(n=e[t++])&&(o=Mo(n))&&(r&&(r+=" "),r+=o);return r}var b=wr;function mt(e,t){if(e!=null){if(typeof e=="function"){e(t);return}try{e.current=t}catch{throw new Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function Nr(...e){return t=>{e.forEach(n=>{mt(n,t)})}}var Ce=Nr;var Ao=N(require("clsx")),wo=require("react");var Lo=N(require("clsx")),Ke=require("react");var $r=(0,Ke.forwardRef)(({children:e,size:t},n)=>{let o=Ke.Children.only(e);return(0,Ke.cloneElement)(o,{ref:n,...o.props,className:(0,Lo.default)(`${a}icon`,{[`${a}font-size-${t}`]:t},o.props.className)})}),A=$r;var ge=require("react/jsx-runtime"),oe=(0,wo.forwardRef)(({as:e="button",children:t,className:n,role:o="presentation",variant:r="text",color:l="primary",size:i="md",iconOnly:c,startContent:u,endContent:p,block:m,loading:s,disabled:v,...d},R)=>{let f=a;return(0,ge.jsxs)(e,{ref:R,className:(0,Ao.default)(`${f}button`,{[`${f}button--${r}`]:r,[`${f}button--${l}`]:l,[`${f}button--${i}`]:i,[`${f}button--block`]:m,[`${f}button--icon-only`]:c,[`${f}button--disabled`]:v},n),role:o,disabled:v,...d,children:[(0,ge.jsx)("div",{className:`${f}overlay`}),(0,ge.jsx)("div",{className:`${f}outline`}),s?(0,ge.jsx)(A,{children:(0,ge.jsx)(Ne,{className:`${f}animation-spin`})}):u,(0,ge.jsx)("div",{className:`${f}button__content`,children:t}),p]})});var X=require("react");var No=require("react"),$o=require("react-dom");var Oo=require("react/jsx-runtime"),Or=(0,No.forwardRef)(({children:e,container:t},n)=>(0,$o.createPortal)((0,Oo.jsx)("div",{ref:n,className:`${a}portal`,children:e}),t||document.body)),Be=Or;var _o=N(require("clsx")),Ho=require("react"),ko=require("react-transition-group"),Vo=require("react/jsx-runtime"),_r=(0,Ho.forwardRef)((e,t)=>{let{children:n,className:o,nodeRef:r,name:l,isOpen:i,enter:c=0,leave:u=0,mountOnEnter:p,unmountOnExit:m,onExited:s}=e;return(0,Vo.jsx)(ko.CSSTransition,{nodeRef:r,in:i,appear:!0,timeout:{enter:c,exit:u},mountOnEnter:p,unmountOnExit:m,classNames:(0,_o.default)(l,o),onExited:s,children:n})}),Te=_r;var Nt=require("react"),Fo=(0,Nt.createContext)(null),D=()=>{let e=(0,Nt.useContext)(Fo);if(!e)throw new Error("`usePopover` must be used within a `<Popover />`");return e},Do=Fo;var dt=require("react/jsx-runtime"),Hr=e=>{let{children:t,target:n,autoClose:o=!0,triggerClosable:r=!0,isOpen:l,onOpen:i,onClose:c,onToggle:u,onAfterClose:p}=e,m=(0,X.useRef)(null),s=(0,X.useRef)(null),[v,d]=(0,X.useState)(e.isOpen||!1),[R,f]=X.Children.toArray(t),g=a,T=()=>{l!==void 0?i?.():d(!0)},x=()=>{l!==void 0?c?.():d(!1)},C=()=>{l!==void 0?u?.():d(y=>!y)};return(0,X.useEffect)(()=>{d(l||!1)},[l]),(0,dt.jsxs)(Do.Provider,{value:{triggerRef:m,contentRef:s,target:n,isOpen:v,autoClose:o,triggerClosable:r,onOpen:T,onClose:x,onToggle:C},children:[R,(0,dt.jsx)(Te,{nodeRef:s,isOpen:v,enter:300,leave:150,name:`${g}popover`,unmountOnExit:!0,onExited:p,children:(0,dt.jsx)(Be,{children:(0,X.cloneElement)(X.Children.only(f),{...f.props,ref:s})})})]})},ft=Hr;var ne=require("react");var Ko=require("react/jsx-runtime");function zo(e){return e==null?null:e.scrollHeight>e.clientHeight?e:zo(e.parentNode)}var kr=(0,ne.forwardRef)((e,t)=>{let{children:n,style:o,className:r,onClick:l,...i}=e,{triggerRef:c,contentRef:u,target:p,onClose:m}=D(),s=a,v=(0,ne.useRef)(null),[d,R]=(0,ne.useState)({position:"absolute",top:0,left:0,visibility:"hidden"}),f=zo(c.current)||window;wt({target:f,callback:()=>{T()}}),Lt(u,x=>{let C=c.current;!C||C.contains(x.target)||m()});let g=x=>{x.stopPropagation(),l?.(x)},T=(0,ne.useCallback)(()=>{let x=u.current?.getBoundingClientRect(),C=c.current?.getBoundingClientRect();if(!x||!C||!f)return;let y={innerWidth:window.innerWidth,innerHeight:window.innerHeight},h={width:C.width,height:C.height,top:C.top+window.scrollY,bottom:C.top+C.height+window.scrollY,left:C.left+window.scrollX,right:C.left+C.width+window.scrollX},I=h.left+x.width>y.innerWidth,H=h.top+x.height>y.innerHeight+window.scrollY,K={...p&&{width:h.width,minWidth:"auto"},position:"absolute",top:H?void 0:h.bottom,bottom:H?y.innerHeight-h.top:void 0,left:I?void 0:h.left,right:I?y.innerWidth-h.right:void 0,visibility:void 0};R(K)},[]);return(0,ne.useEffect)(()=>(T(),f.addEventListener("scroll",T),window.addEventListener("orientationchange",T),()=>{f.removeEventListener("scroll",T),window.removeEventListener("orientationchange",T)}),[]),(0,Ko.jsx)("div",{ref:Ce(v,t),className:b(`${s}popover`,r),style:{...o,...d},onClick:g,...i,children:n})}),vt=kr;var Ge=require("react");var Vr=(0,Ge.forwardRef)((e,t)=>{let{children:n,onClick:o,...r}=e,{isOpen:l,triggerRef:i,triggerClosable:c,onOpen:u,onClose:p}=D(),m=Ge.Children.only(typeof n=="function"?n(l):n),s=v=>{v.preventDefault(),c&&l?p():u(),o?.(v),m.props.onClick?.(v)};return(0,Ge.cloneElement)(m,{...m.props,...r,ref:Ce(t,i),onClick:s})}),xt=Vr;var We=require("react");var Bo=require("react");var Go=require("react/jsx-runtime"),Fr=(0,Bo.forwardRef)(({as:e="div",children:t,...n},o)=>(0,Go.jsx)(e,{ref:o,className:`${a}list`,...n,children:t})),U=Fr;var Yo=require("react");var ue=require("react");var $t=require("react"),Xo=(0,$t.createContext)(null),he=()=>{let e=(0,$t.useContext)(Xo);if(!e)throw new Error("`useCollapse` must be used within a `<Collapse />`");return e},Ot=Xo;var Uo=require("react/jsx-runtime"),Dr=({children:e,isOpen:t,onOpen:n,onClose:o,onToggle:r})=>{let l=(0,ue.useRef)(null),[i,c]=(0,ue.useState)(t??!1),[u,p]=(0,ue.useState)(!1),[m,s]=ue.Children.toArray(e),v=()=>{c(!0),n?.()},d=()=>{c(!1),o?.()},R=()=>{c(f=>!f),r?.()};return(0,ue.useEffect)(()=>{t!==void 0&&c(t),setTimeout(()=>{p(!!t)},100)},[t]),(0,Uo.jsxs)(Ot.Provider,{value:{collapseRef:l,isOpen:i,heightAuto:u,onOpen:v,onClose:d,onToggle:R},children:[m,s]})},ye=Dr;var Wo=N(require("clsx")),Xe=require("react");var zr=(0,Xe.forwardRef)(({children:e},t)=>{let{collapseRef:n,isOpen:o,heightAuto:r}=he(),l=Xe.Children.only(e);return(0,Xe.cloneElement)(l,{...l.props,ref:i=>{n.current=i,t!==null&&(t.current=i)},style:{...l.props.style,height:o&&r?"auto":o||!o&&r?n.current?.scrollHeight:0},className:(0,Wo.default)(`${a}collapse`,l.props.className)})}),re=zr;var Ue=require("react");var Kr=(0,Ue.forwardRef)(({children:e},t)=>{let{collapseRef:n,onToggle:o}=he(),r=Ue.Children.only(e),{onClick:l,...i}=r.props;return(0,Ue.cloneElement)(r,{ref:t,onClick:c=>{n.current&&(o(),l?.(c))},...i})}),Re=Kr;var Qo=require("react");var W=require("react/jsx-runtime"),Br=(0,Qo.forwardRef)(({as:e="div",children:t,className:n,title:o,subtitle:r,startContent:l,endContent:i,level:c=1,hoverable:u,selected:p,disabled:m,slotProps:s,style:v,onClick:d,...R},f)=>{let g=a,T=x=>{d?.(x)};return(0,W.jsxs)(e,{ref:f,className:b(`${g}list-item`,{[`${g}list-item--selected`]:p,[`${g}list-item--hoverable`]:u,[`${g}list-item--disabled`]:m},n),style:{paddingLeft:c<=1?`var(--${g}list-item-padding-x)`:`calc(${c} * var(--${g}list-item-padding-level))`,...v},onClick:T,...R,children:[u&&(0,W.jsx)("div",{className:`${g}overlay`}),l&&(0,W.jsx)("div",{className:`${g}list-item__start-content`,children:l}),(0,W.jsx)("div",{className:`${g}list-item__content`,children:o||r?(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)("span",{...s?.title,className:b(`${g}list-item__title`,s?.title?.className),children:o}),(0,W.jsx)("span",{...s?.subtitle,className:b(`${g}list-item__subtitle`,s?.subtitle?.className),children:r})]}):t}),i&&(0,W.jsx)("div",{className:`${g}list-item__end-content`,children:i})]})}),O=Br;var M=require("react/jsx-runtime"),Gr=(0,Yo.forwardRef)(({children:e,startContent:t,endContent:n,expandVisible:o=!0,expandPosition:r="end",isOpen:l,onOpen:i,onClose:c,onToggle:u,...p},m)=>{let s=l!==void 0?{isOpen:l,onOpen:i,onClose:c,onToggle:u}:ee();return(0,M.jsx)("div",{className:`${a}list-group`,children:(0,M.jsxs)(ye,{...s,children:[(0,M.jsx)(Re,{children:(0,M.jsx)(O,{ref:m,startContent:o&&r==="start"?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(A,{children:s.isOpen?(0,M.jsx)(G,{}):(0,M.jsx)(B,{})}),t]}):t,endContent:o&&r==="end"?(0,M.jsxs)(M.Fragment,{children:[n,(0,M.jsx)(A,{children:s.isOpen?(0,M.jsx)(G,{}):(0,M.jsx)(B,{})})]}):n,...p})}),(0,M.jsx)(re,{children:(0,M.jsx)("div",{children:(0,M.jsx)(U,{children:e})})})]})})}),qo=Gr;var Jo=require("react"),Zo=require("react-custom-scrollbars-2");var Oe=require("react/jsx-runtime"),Xr=(0,Jo.forwardRef)(({children:e,autoHide:t=!1,style:n},o)=>{let r=a,l=m=>(0,Oe.jsx)("div",{...m,className:b(`${r}scroll-area__view`,m.className)}),i=m=>(0,Oe.jsx)("div",{...m,className:b(`${r}scroll-area__track ${r}scroll-area__track--horizontal`,m.className)}),c=m=>(0,Oe.jsx)("div",{...m,className:b(`${r}scroll-area__track ${r}scroll-area__track--vertical`,m.className)}),u=m=>(0,Oe.jsx)("div",{...m,className:b(`${r}scroll-area__thumb ${r}scroll-area__thumb--horizontal`,m.className)}),p=m=>(0,Oe.jsx)("div",{...m,className:b(`${r}scroll-area__thumb ${r}scroll-area__thumb--vertical`,m.className)});return(0,Oe.jsx)(Zo.Scrollbars,{autoHide:t,className:`${r}scroll-area`,renderTrackHorizontal:i,renderTrackVertical:c,renderThumbHorizontal:u,renderThumbVertical:p,renderView:l,style:n,ref:m=>{m&&mt(o,m.container.firstElementChild)},children:e})}),se=Xr;var _t=require("react"),jo=(0,_t.createContext)(null),Ht=()=>{let e=(0,_t.useContext)(jo);if(!e)throw new Error("`useAutocomplete` must be used within a `<Autocomplete />`");return e},en=jo;var Ct=require("react/jsx-runtime"),Ur=()=>{let{data:e,values:t,offset:n,setOffset:o,keyField:r,textField:l,onItemSelect:i,renderItem:c}=Ht(),u=(0,We.useRef)(null),{isOpen:p}=D(),m=s=>{i(s),o(u.current?.scrollHeight||0)};return(0,We.useEffect)(()=>{p&&u.current?.scrollTo({top:n})},[p]),(0,Ct.jsx)(se,{ref:u,style:{height:"200px",width:"100%",position:"relative"},children:(0,Ct.jsx)(U,{children:c?e.map(s=>(0,Ct.jsx)(We.Fragment,{children:c(s,{title:"",selected:t.includes(s[r]),hoverable:!0,onClick:()=>m(s)})},s[r])):e.map(s=>(0,Ct.jsx)(O,{title:s[l],selected:t.includes(s[r]),hoverable:!0,onClick:()=>m(s)},s[r]))})})},tn=Ur;var Qe=require("react");var no=e=>Array.isArray(e)?e:e!==null?[e]:[],gt=e=>Array.isArray(e)?e.length!==0?e[0]:null:e;var be=require("react/jsx-runtime"),Wr=()=>{let{data:e,values:t,keyField:n,textField:o,virtual:r,onItemSelect:l,renderItem:i}=Ht(),c=(0,Qe.useRef)(null),u=Ve({...r,count:e.length,parentRef:c}),{isOpen:p}=D(),m=s=>{l(s)};return(0,Qe.useEffect)(()=>{if(!p)return;let s=gt(t),v=e.findIndex(d=>d[n]===s);v!==-1&&u.scrollToIndex(v,{align:"start"})},[p]),r?(0,be.jsx)(se,{ref:c,autoHide:!0,style:{height:"200px",width:"100%",position:"relative"},children:(0,be.jsx)(U,{children:(0,be.jsx)("div",{style:{height:`${u.getTotalSize()}px`,width:"100%",position:"relative"},children:u.getVirtualItems().map(s=>{let v=s.index>e.length-1,d=e[s.index];return v?(0,be.jsx)(O,{title:r.hasNextPage?"Loading...":"Nothing more to load",style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`}},s.index):d?i?(0,be.jsx)(Qe.Fragment,{children:i(d,{title:"",selected:t.includes(d[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>m(d)})},s.index):(0,be.jsx)(O,{title:d[o],selected:t.includes(d[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>m(d)},s.index):(0,be.jsx)(O,{title:`Item ${s.index} not found`,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`}},s.index)})})})}):null},on=Wr;var S=require("react/jsx-runtime"),Qr=e=>{let{data:t,value:n,keyField:o="key",textField:r="text",isMultiple:l=!1,disabled:i,loading:c,disclosure:u,virtual:p,placeholder:m,className:s,style:v,startContent:d,endContent:R,onFilterChange:f,renderItem:g}=e,T=u!==void 0?u:ee(),x=a,C=(0,k.useRef)(null),[y,h]=(0,k.useState)(""),[I,H]=(0,k.useState)(""),[K,$]=(0,k.useState)(!1),[ae,pe]=(0,k.useState)(!1),j=(0,k.useMemo)(()=>no(n),[n]),we=(0,k.useMemo)(()=>t.filter(L=>j.includes(L[o])),[t,j]),[me,st]=(0,k.useState)(0),lt=()=>{C?.current?.focus()},de=L=>{if(e.isMultiple){let J=t.filter(ce=>L.includes(ce[o]));e.onChange?.(J),e.onValueChange?.(L)}else{let J=gt(L),ce=null;J!==void 0&&(ce=t.find(St=>St[o]===J)??null),e.onChange?.(ce),e.onValueChange?.(J)}},it=L=>{L.stopPropagation(),$(!0),H(""),e.isMultiple?(e.onChange?.([]),e.onValueChange?.([])):(e.onChange?.(null),e.onValueChange?.(null)),$(!1)},w=L=>{!T.isOpen&&T.onOpen(),$(!0),H(L.target.value),f?.(L.target.value)},F=L=>{let J=L[o];if(e.isMultiple){let ce=[...j],St=j.indexOf(J);St===-1?ce.push(J):ce.splice(St,1),de(ce)}else gt(j)!==J&&de([J]);K&&h(I),$(!1),C.current?.focus(),T.onClose()},q=()=>{T.onOpen(),pe(!0)},ke=()=>{if(T.onClose(),!e.isMultiple&&K){let L=we[0];L!==void 0?(H(L[r]),f?.(y)):(H(""),f?.(y)),$(!1)}};return(0,k.useEffect)(()=>{if(!K&&!e.isMultiple){let L=we[0];L!==void 0&&H(L[r])}},[we]),(0,k.useEffect)(()=>{no(n)[0]===void 0&&(H(""),f?.(""))},[n]),(0,S.jsx)(en.Provider,{value:{data:t,values:j,keyField:o,textField:r,isMultiple:l,virtual:p,onChange:de,onItemSelect:F,offset:me,setOffset:st,renderItem:g},children:(0,S.jsxs)(ft,{target:!0,...T,isOpen:T.isOpen,onOpen:q,onClose:ke,autoClose:"outside",children:[(0,S.jsx)(xt,{children:(0,S.jsxs)("div",{className:b(`${x}input ${x}input--filterable`,{[`${x}input--focus`]:ae,[`${x}input--disabled`]:i},s),style:v,onClick:lt,onFocus:()=>{pe(!0)},onBlur:()=>{pe(!1)},children:[(0,S.jsx)("div",{className:`${x}outline`}),(0,S.jsxs)("div",{className:`${x}input__content`,children:[d&&(0,S.jsx)("div",{className:`${x}input__start-content`,children:d}),(0,S.jsx)("input",{ref:C,className:`${x}input__field`,value:I,placeholder:m,disabled:i,onChange:w}),(0,S.jsxs)("div",{className:`${x}input__end-content`,children:[R,c?(0,S.jsx)(A,{children:(0,S.jsx)(Ne,{className:`${x}animation-spin`})}):(0,S.jsx)(oe,{color:"secondary",variant:"plain",size:"xs",iconOnly:!0,onClick:it,children:(0,S.jsx)(A,{children:(0,S.jsx)($e,{})})}),(0,S.jsx)("div",{style:{pointerEvents:"none"},children:(0,S.jsx)(A,{children:T.isOpen?(0,S.jsx)(G,{}):(0,S.jsx)(B,{})})})]})]})]})}),(0,S.jsx)(vt,{children:(0,S.jsx)("div",{children:p?(0,S.jsx)(on,{}):(0,S.jsx)(tn,{})})})]})})},nn=Qr;var rn=N(require("clsx")),kt=require("react"),sn=require("react-merge-refs");var Ye=require("react/jsx-runtime"),Yr=(0,kt.forwardRef)((e,t)=>{let{children:n,className:o,isOpen:r,onClose:l,...i}=e,c=(0,kt.useRef)(null);return(0,Ye.jsx)(Te,{nodeRef:c,isOpen:r,name:`${a}backdrop`,enter:300,leave:300,mountOnEnter:!0,unmountOnExit:!0,children:(0,Ye.jsx)(Be,{children:(0,Ye.jsxs)("div",{ref:(0,sn.mergeRefs)([t,c]),className:(0,rn.default)(`${a}backdrop`,o),tabIndex:-1,...i,children:[(0,Ye.jsx)("div",{className:`${a}backdrop__overlay`,onClick:l}),n]})})})}),Vt=Yr;var ro=N(require("clsx"));var Ft=require("react/jsx-runtime"),qr=({children:e,placement:t,content:n})=>(0,Ft.jsxs)("div",{className:(0,ro.default)(`${a}badge-wrapper`),children:[e,(0,Ft.jsx)("div",{className:(0,ro.default)(`${a}badge`,{[`${a}badge--${t}`]:t}),children:n})]}),ln=qr;var an=require("react");var un=require("react/jsx-runtime"),Jr=(0,an.forwardRef)(({as:e="div",children:t,className:n,...o},r)=>(0,un.jsx)(e,{ref:r,className:b(`${a}card`,n),...o,children:t})),cn=Jr;var pn=require("react");var Pe=require("react/jsx-runtime"),Zr=(0,pn.forwardRef)(({as:e="div",className:t,title:n,subtitle:o,startContent:r,endContent:l,...i},c)=>{let u=a;return(0,Pe.jsxs)(e,{ref:c,className:b(`${u}card-header`,t),...i,children:[r&&(0,Pe.jsx)("div",{className:`${u}card-header__start-content`,children:r}),(0,Pe.jsxs)("div",{className:`${u}card-header__content`,children:[(0,Pe.jsx)("div",{className:`${u}card-header__title`,children:n}),o&&(0,Pe.jsx)("div",{className:`${u}card-header__subtitle`,children:o})]}),l&&(0,Pe.jsx)("div",{className:`${u}card-header__end-content`,children:l})]})}),mn=Zr;var so=N(require("clsx")),dn=require("react");var Tt=require("react/jsx-runtime"),jr=(0,dn.forwardRef)(({as:e="div",children:t,className:n,variant:o="text",color:r="primary",size:l="md",...i},c)=>(0,Tt.jsxs)(e,{ref:c,className:(0,so.default)(`${a}chip`,{[`${a}chip--${o}`]:o,[`${a}chip--${r}`]:r,[`${a}chip--${l}`]:l},n),...i,children:[(0,Tt.jsx)("div",{className:(0,so.default)(`${a}overlay`)}),(0,Tt.jsx)("div",{className:`${a}outline`}),t]})),fn=jr;var vn=N(require("clsx")),Dt=require("react"),xn=require("react-merge-refs");var qe=require("react/jsx-runtime"),es=(0,Dt.forwardRef)((e,t)=>{let{children:n,className:o,isOpen:r,size:l="md",position:i="left",onClose:c}=e,u=(0,Dt.useRef)(null);return(0,qe.jsx)(Vt,{isOpen:r,onClose:()=>{c()},children:(0,qe.jsx)(Te,{nodeRef:u,isOpen:r,name:`${a}drawer`,enter:600,leave:300,unmountOnExit:!0,children:(0,qe.jsxs)("div",{ref:(0,xn.mergeRefs)([t,u]),className:(0,vn.default)(`${a}drawer`,{[`${a}drawer--${l}`]:l,[`${a}drawer--${i}`]:i},o),children:[(0,qe.jsx)("div",{className:`${a}drawer__overlay`}),n]})})})}),Cn=es;var En=N(require("clsx")),Ie=require("react");var zt=require("react"),gn=(0,zt.createContext)(null),Je=()=>{let e=(0,zt.useContext)(gn);if(!e)throw new Error("`useMenu` must be used within a `<Menu />`");return e},Kt=gn;var Sn=N(require("clsx")),In=require("react");var yn=N(require("clsx")),Ze=require("react");var Bt=require("react"),Tn=(0,Bt.createContext)([]),hn=()=>{let e=(0,Bt.useContext)(Tn);if(!e)throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");return e},_e=Tn;var Se=require("react/jsx-runtime"),Rn=(0,Ze.forwardRef)((e,t)=>{let{as:n="div",className:o,style:r,value:l,title:i,icon:c,level:u=1,disabled:p,onClick:m,...s}=e,{value:v,originalValue:d,navMode:R,onChange:f,onOpen:g,onItemSelect:T}=Je(),x=(0,Ze.useContext)(_e),C=[...x,l],y=v[u-1]===l,h=I=>{l!==void 0&&f(C),m?.(I),T?.(e)};return(0,Ze.useEffect)(()=>{R==="automatic"&&d.length>0&&d[d.length-1]===l&&(g(x),f(C))},[l,d,R]),(0,Se.jsxs)(n,{ref:t,className:(0,yn.default)(`${a}menu-item`,{[`${a}menu-item--selected`]:y,[`${a}menu-item--disabled`]:p},o),style:{paddingLeft:u<=1?`var(--${a}menu-item-padding-x)`:`calc(${u} * var(--${a}menu-item-padding-level))`,...r},onClick:h,...s,children:[(0,Se.jsx)("div",{className:`${a}overlay`,children:(0,Se.jsx)("div",{className:`${a}overlay__surface`})}),c&&(0,Se.jsx)("div",{className:`${a}menu-item__icon`,children:c}),(0,Se.jsx)("div",{className:`${a}menu-item__content`,children:(0,Se.jsx)("span",{className:`${a}menu-item__title`,children:i})})]})});Rn.displayName="MenuItem";var Z=Rn;var Xt=N(require("clsx")),Ut=require("react");var bn=e=>e.split("/").reduce((t,n)=>{let o=t[t.length-1];return o!=null?t.push(o+"/"+n):t.push(""),t},[]),Gt=(e,t)=>{let n=e.indexOf(t),o=[...e];return n===-1?o.push(t):o.splice(n,1),o};var E=require("react/jsx-runtime"),Pn=({children:e,className:t,style:n,value:o,title:r,icon:l,level:i=1,items:c,onClick:u,...p})=>{let{value:m,openValues:s,expandMode:v,onOpen:d}=Je(),R=(0,Ut.useContext)(_e),f=s.includes(o),g=[...R,o],T=m[i-1]===o,x=(0,Ut.useMemo)(()=>c?.map(({type:y,...h},I)=>y==="item"?(0,E.jsx)(Z,{level:i!==void 0?i+1:void 0,...h},I):y==="submenu"?(0,E.jsx)(Pn,{level:i!==void 0?i+1:void 0,...h},I):y==="group"?(0,E.jsx)(et,{level:i!==void 0?i+1:void 0,...h},I):(0,E.jsx)(Z,{level:i!==void 0?i+1:void 0,...h},I)),[c]),C=y=>{if(v==="multiple"){let h=Gt(s,o);d(h)}else if(f){let h=Gt(g,o);d(h)}else{let h=Gt(R,o);d(h)}u?.(y)};return(0,E.jsx)(_e.Provider,{value:g,children:(0,E.jsx)("div",{className:(0,Xt.default)(`${a}menu-submenu`),children:(0,E.jsxs)(ye,{isOpen:f,children:[(0,E.jsx)(Re,{children:(0,E.jsxs)("div",{className:(0,Xt.default)(`${a}menu-item`,{[`${a}menu-item--selected`]:T||c&&g.includes(m)},t),style:{paddingLeft:i<=1?`var(--${a}menu-item-padding-x)`:`calc(${i} * var(--${a}menu-item-padding-level))`,...n},onClick:C,...p,children:[(0,E.jsx)("div",{className:`${a}overlay`,children:(0,E.jsx)("div",{className:`${a}overlay__surface`})}),l&&(0,E.jsx)("div",{className:`${a}menu-item__icon`,children:l}),(0,E.jsx)("div",{className:`${a}menu-item__content`,children:(0,E.jsx)("span",{className:`${a}menu-item__title`,children:r})}),(0,E.jsx)("div",{className:`${a}menu-item__icon`,children:f?(0,E.jsx)(G,{className:`${a}icon`}):(0,E.jsx)(B,{className:`${a}icon`})})]})}),(0,E.jsx)(re,{children:(0,E.jsx)("ul",{className:(0,Xt.default)(`${a}menu`,{[`${a}menu-open`]:!f}),children:x||e})})]})})})},je=Pn;var Q=require("react/jsx-runtime"),ts=({children:e,className:t,style:n,title:o,icon:r,level:l=1,items:i,...c})=>{let u=(0,In.useMemo)(()=>i?.map(({type:p,...m},s)=>p==="item"?(0,Q.jsx)(Z,{...m},s):p==="submenu"?(0,Q.jsx)(je,{...m},s):(0,Q.jsx)(Z,{...m},s)),[i]);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)("div",{className:(0,Sn.default)(`${a}menu-group`,t),style:{paddingLeft:l<=1?`var(--${a}menu-group-padding-x)`:`calc(${l} * var(--${a}menu-group-padding-level))`,...n},...c,children:[r&&(0,Q.jsx)("div",{className:`${a}menu-group__icon`,children:r}),(0,Q.jsx)("div",{className:`${a}menu-group__content`,children:(0,Q.jsx)("span",{className:`${a}menu-group__title`,children:o})})]}),u||e]})},et=ts;var He=require("react/jsx-runtime"),Mn=({children:e,value:t=[],defaultValue:n,openValues:o,expandMode:r="multiple",navMode:l="manual",items:i,onChange:c,onOpen:u,onItemSelect:p,...m})=>{let[s,v]=(0,Ie.useState)(t??n??[]),[d,R]=(0,Ie.useState)(o??[]),f=(0,Ie.useMemo)(()=>i?.map(({type:C,...y},h)=>C==="item"?(0,He.jsx)(Z,{...y},h):C==="submenu"?(0,He.jsx)(je,{...y},h):C==="group"?(0,He.jsx)(et,{...y},h):(0,He.jsx)(Z,{...y},h)),[i]),g=C=>{t!==void 0&&l!=="automatic"?c?.(C):v(C)},T=C=>{o!==void 0?u?.(C):R(C)},x=C=>{p?.(C)};return(0,Ie.useEffect)(()=>{t!==void 0&&l!=="automatic"&&v(t)},[t]),(0,Ie.useEffect)(()=>{o!==void 0&&R(o)},[o]),(0,He.jsx)(Kt.Provider,{value:{value:s,originalValue:t,openValues:d,expandMode:r,navMode:l,onOpen:T,onChange:g,onItemSelect:x},children:(0,He.jsx)("div",{className:(0,En.default)(`${a}menu`),...m,children:f||e})})};Mn.displayName="Menu";var Ln=Mn;var An=require("react");var Nn=require("react/jsx-runtime"),os=(0,An.forwardRef)((e,t)=>{let{children:n,className:o,...r}=e;return(0,Nn.jsx)("div",{ref:t,className:b(`${a}accordion`,o),...r,children:n})}),wn=os;var Ee=require("react"),$n=require("uuid");var Wt=require("react/jsx-runtime"),On=(0,Ee.createContext)(null),_n=()=>{let e=(0,Ee.useContext)(On);if(!e)throw new Error("`useAccordionItem` must be used within a `<AccordionItem />`");return e},ns=(0,Ee.forwardRef)((e,t)=>{let{children:n,className:o,value:r,...l}=e,[i]=(0,Ee.useState)((0,$n.v4)()),c=r??i,{isOpen:u,onOpen:p,onClose:m,onToggle:s}=ee({defaultValue:!0}),v=a;return(0,Wt.jsx)(On.Provider,{value:{value:c},children:(0,Wt.jsx)("div",{ref:t,className:b(`${v}accordion-item`,o),...l,children:(0,Wt.jsx)(ye,{isOpen:u,onOpen:p,onClose:m,onToggle:s,children:n})})})}),Hn=ns;var kn=require("react");var V=require("react/jsx-runtime"),rs=(0,kn.forwardRef)((e,t)=>{let{className:n,title:o,subtitle:r,startContent:l,endContent:i,...c}=e,u=a,{isOpen:p}=he();return(0,V.jsx)(Re,{children:(0,V.jsxs)("div",{ref:t,className:b(`${u}accordion-header`,n),...c,children:[l&&(0,V.jsx)("div",{className:`${u}accordion-header__start-content`,children:l}),(0,V.jsxs)("div",{className:`${u}accordion-header__content`,children:[(0,V.jsx)("div",{className:`${u}accordion-header__title`,children:o}),r&&(0,V.jsx)("div",{className:`${u}accordion-header__subtitle`,children:r})]}),(0,V.jsx)("div",{className:`${u}accordion-header__end-content`,children:(0,V.jsxs)("div",{className:"us-d-flex us-items-center us-gap-1",children:[i,(0,V.jsx)(oe,{type:"button",variant:"text",color:"secondary",size:"sm",iconOnly:!0,children:(0,V.jsx)(A,{children:p?(0,V.jsx)(G,{}):(0,V.jsx)(B,{})})})]})})]})})}),Vn=rs;var Fn=require("react");var Qt=require("react/jsx-runtime"),ss=(0,Fn.forwardRef)(({children:e,className:t,...n},o)=>(0,Qt.jsx)(re,{children:(0,Qt.jsx)("div",{ref:o,children:(0,Qt.jsx)("div",{className:b(`${a}accordion-panel`,t),...n,children:e})})})),Dn=ss;var zn=require("react");var Yt=require("react/jsx-runtime"),ls=(0,zn.forwardRef)(({children:e,className:t,...n},o)=>(0,Yt.jsx)(re,{children:(0,Yt.jsx)("div",{ref:o,children:(0,Yt.jsx)("div",{className:b(`${a}accordion-content`,t),...n,children:e})})})),Kn=ls;var Gn=N(require("clsx")),Xn=N(require("merge-refs")),Me=require("react"),Un=require("uuid");var qt=require("react"),lo=(0,qt.createContext)(null),Bn=()=>{let e=(0,qt.useContext)(lo);if(!e)throw new Error("`useTabs` must be used within a `<Tabs />`");return e};var Y=require("react/jsx-runtime"),Wn=(0,Me.forwardRef)(({as:e="div",children:t,className:n,role:o="presentation",value:r,startContent:l,endContent:i,closable:c,disabled:u,onClick:p,...m},s)=>{let v=a,d=(0,Me.useRef)(null),[R]=(0,Me.useState)((0,Un.v4)()),f=r??R,{onClose:g,registerItem:T,...x}=Bn(),C=h=>{let I=x.previousTabRef.current,H=d.current;if(H){if(I){let K=I.querySelector(`.${v}tab__indicator`),$=H.querySelector(`.${v}tab__indicator`);if(!K||!$)return;let ae={},pe=K.getBoundingClientRect(),j=pe.left,we=pe.width,me=$.getBoundingClientRect(),st=me.left,lt=me.width,de=we/lt;de?ae.transform=`translateX(${(j-st).toFixed(4)}px) scaleX(${de.toFixed(4)})`:ae.opacity=0;let it=[ae,{transform:"none"}];$.animate(it,{duration:250,easing:"cubic-bezier(.3,0,0,1)"}),x.previousTabRef.current=d.current}x.previousTabRef.current=d.current,x.onChange(f),p?.(h)}},y=h=>{h.stopPropagation(),g(f)};return(0,Me.useEffect)(()=>{T({value:f,disabled:u}),f===x.value&&(x.previousTabRef.current=d.current)},[f,x.value]),(0,Y.jsxs)(e,{ref:(0,Xn.default)(d,s,h=>x.tabRefs.current[f]=h),className:(0,Gn.default)(`${v}tab`,{[`${v}tab--selected`]:f===x.value,[`${v}tab--disabled`]:u},n),role:o,onClick:C,...m,children:[(0,Y.jsx)("div",{className:`${v}overlay`,children:(0,Y.jsx)("div",{className:`${v}overlay__surface`})}),(0,Y.jsxs)("div",{className:`${v}tab__content`,children:[l&&(0,Y.jsx)("div",{className:`${v}tab__start-content`,children:l}),t,i||c&&(0,Y.jsxs)("div",{className:`${v}tab__end-content`,children:[i,c&&(0,Y.jsx)(oe,{variant:"text",color:"secondary",iconOnly:!0,size:"xs",onClick:y,children:(0,Y.jsx)(A,{children:(0,Y.jsx)($e,{})})})]})]}),(0,Y.jsx)("div",{className:`${v}tab__indicator`})]})});var Qn=N(require("clsx")),le=require("react");var ht=require("react/jsx-runtime"),Yn=({children:e,className:t,value:n,defaultValue:o,alignment:r="start",onChange:l,onClose:i,...c})=>{let u=(0,le.useRef)(null),p=(0,le.useRef)({}),m=(0,le.useRef)(null),[s,v]=(0,le.useState)(n??o),[d,R]=(0,le.useState)([]),f=C=>{R(y=>(y.findIndex(I=>I.value)===-1&&y.push(C),y))},g=C=>{let y=u.current;if(!y)return;let h=p.current[C];h&&oo(y,h)},T=C=>{v(C),l?.(C),g(C)},x=C=>{i?.(C)};return(0,le.useEffect)(()=>{n!==void 0&&(v(n),g(n))},[n]),(0,le.useEffect)(()=>{if(n===void 0){let C=d.find(y=>!y.disabled);v(C?.value)}},[n,d]),(0,ht.jsxs)(lo.Provider,{value:{previousTabRef:m,tabRefs:p,value:s,onChange:T,onClose:x,registerItem:f},children:[(0,ht.jsx)("div",{ref:u,className:(0,Qn.default)(`${a}tabs`,{[`${a}tabs--${r}`]:r},t),...c,children:e}),(0,ht.jsx)("div",{className:`${a}divider`})]})};var ie=N(require("clsx"));var _=require("react/jsx-runtime"),is=e=>{let{children:t,className:n,size:o="md",startContent:r,endContent:l,startAction:i,endAction:c,title:u,subtitle:p,...m}=e,s=a;return(0,_.jsxs)("div",{className:(0,ie.default)(`${s}toolbar`,{[`${s}toolbar--${o}`]:o},n),...m,children:[(0,_.jsx)("div",{className:`${s}outline-b`}),(0,_.jsxs)("div",{className:(0,ie.default)(`${s}toolbar__container`),children:[r?(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__start-content`),children:r}):i&&(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__start-action`),children:i}),(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__content`),children:u||p?(0,_.jsxs)(_.Fragment,{children:[u&&(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__title`),children:u}),p&&(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__subtitle`),children:p})]}):t}),l?(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__end-content`),children:l}):c&&(0,_.jsx)("div",{className:(0,ie.default)(`${s}toolbar__end-action`),children:c})]})]})},qn=is;var tt=require("react");var Le=require("react/jsx-runtime");var as=(0,tt.forwardRef)(({className:e,value:t,defaultValue:n,disabled:o,inputRef:r,startContent:l,endContent:i,style:c,onChange:u,onClick:p,...m},s)=>{let[v,d]=(0,tt.useState)(!1),R=(0,tt.useRef)(null),f=a,g=x=>{u?.(x)},T=x=>{p?.(x),R?.current?.focus()};return(0,Le.jsxs)("div",{ref:s,className:b(`${f}input`,{[`${f}input--focus`]:v,[`${f}input--disabled`]:o},e),style:c,onFocus:()=>{d(!0)},onBlur:()=>{d(!1)},onClick:T,children:[(0,Le.jsx)("div",{className:`${f}outline`}),(0,Le.jsxs)("div",{className:`${f}input__content`,children:[l&&(0,Le.jsx)("div",{className:`${f}input__start-content`,children:l}),(0,Le.jsx)("input",{ref:Ce(R,r),className:`${f}input__field`,value:t,defaultValue:n,disabled:o,onChange:g,...m}),i&&(0,Le.jsx)("div",{className:`${f}input__end-content`,children:i})]})]})}),Jn=as;var Zn=N(require("clsx")),ot=require("react");var yt=require("react/jsx-runtime"),cs=(0,ot.forwardRef)(({id:e,name:t,value:n,defaultValue:o,checked:r,defaultChecked:l,onChange:i,onCheckedChange:c,disabled:u,...p},m)=>{let[s,v]=(0,ot.useState)(r),d=a,R=f=>{let{value:g,checked:T}=f.target;v(T),i?.(g),c?.(T)};return(0,ot.useEffect)(()=>{r!==void 0&&v(r)},[r]),(0,yt.jsxs)("label",{ref:m,htmlFor:e,className:(0,Zn.default)(`${d}switch`,{[`${d}switch--checked`]:!!s}),...p,children:[(0,yt.jsx)("input",{type:"checkbox",id:e,name:t,value:n,defaultValue:o,checked:s,defaultChecked:l,disabled:u,onChange:R}),(0,yt.jsx)("div",{className:`${d}switch__thumb`})]})}),jn=cs;var z=require("react");var nt=require("react");var Jt=require("react"),er=(0,Jt.createContext)(null),Zt=()=>{let e=(0,Jt.useContext)(er);if(!e)throw new Error("`useSelect` must be used within a `<Select />`");return e},tr=er;var Rt=require("react/jsx-runtime"),us=()=>{let{data:e,values:t,offset:n,setOffset:o,keyField:r,textField:l,onItemSelect:i,renderItem:c}=Zt(),u=(0,nt.useRef)(null),{isOpen:p}=D(),m=s=>{i(s),o(u.current?.scrollHeight||0)};return(0,nt.useEffect)(()=>{p&&u.current?.scrollTo({top:n})},[p]),(0,Rt.jsx)(se,{ref:u,style:{height:"200px",width:"100%",position:"relative"},children:(0,Rt.jsx)(U,{children:c?e.map(s=>(0,Rt.jsx)(nt.Fragment,{children:c(s,{title:"",selected:t.includes(s[r]),hoverable:!0,onClick:()=>m(s)})},s[r])):e.map(s=>(0,Rt.jsx)(O,{title:s[l],selected:t.includes(s[r]),hoverable:!0,onClick:()=>m(s)},s[r]))})})},or=us;var rt=require("react");var io=e=>Array.isArray(e)?e:e!==null?[e]:[],bt=e=>Array.isArray(e)?e.length!==0?e[0]:null:e;var Ae=require("react/jsx-runtime"),ps=()=>{let{data:e,values:t,keyField:n,textField:o,virtual:r,onItemSelect:l,renderItem:i}=Zt(),c=(0,rt.useRef)(null),u=Ve({...r,count:e.length,parentRef:c}),{isOpen:p}=D(),m=s=>{l(s)};return(0,rt.useEffect)(()=>{if(!p)return;let s=bt(t),v=e.findIndex(d=>d[n]===s);u.scrollToIndex(v,{align:"start"})},[p]),r?(0,Ae.jsx)(se,{ref:c,autoHide:!0,style:{height:"200px",width:"100%",position:"relative"},children:(0,Ae.jsx)(U,{children:(0,Ae.jsx)("div",{style:{height:`${u.getTotalSize()}px`,width:"100%",position:"relative"},children:u.getVirtualItems().map(s=>{let v=s.index>e.length-1,d=e[s.index];return v?(0,Ae.jsx)(O,{title:r.hasNextPage?"Loading...":"Nothing more to load",style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`}},s.index):d?i?(0,Ae.jsx)(rt.Fragment,{children:i(d,{title:"",selected:t.includes(d[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>m(d)})},s.index):(0,Ae.jsx)(O,{title:d[o],selected:t.includes(d[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>m(d)},s.index):(0,Ae.jsx)(O,{title:`Item ${s.index} not found`,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`}},s.index)})})})}):null},nr=ps;var P=require("react/jsx-runtime"),ms=e=>{let{data:t,value:n,keyField:o="key",textField:r="text",isMultiple:l=!1,disabled:i,loading:c,disclosure:u,virtual:p,placeholder:m,className:s,style:v,startContent:d,endContent:R,renderItem:f}=e,g=u!==void 0?u:ee(),T=a,x=(0,z.useRef)(null),[C,y]=(0,z.useState)(""),[h,I]=(0,z.useState)(!1),[H,K]=(0,z.useState)(!1),$=(0,z.useMemo)(()=>io(n),[n]),ae=(0,z.useMemo)(()=>t.filter(w=>$.includes(w[o])),[t,$]),[pe,j]=(0,z.useState)(0),we=()=>{x?.current?.focus()},me=w=>{if(e.isMultiple){let F=t.filter(q=>w.includes(q[o]));e.onChange?.(F),e.onValueChange?.(w)}else{let F=bt(w),q=null;F!==null&&(q=t.find(ke=>ke[o]===F)??null),e.onChange?.(q),e.onValueChange?.(F)}},st=w=>{w.stopPropagation(),I(!0),y(""),e.isMultiple?(e.onChange?.([]),e.onValueChange?.([])):(e.onChange?.(null),e.onValueChange?.(null)),I(!1)},lt=w=>{let F=w[o];if(e.isMultiple){let q=[...$],ke=$.indexOf(F);ke===-1?q.push(F):q.splice(ke,1),me(q)}else bt($)!==F&&me([F]);I(!1),x.current?.focus(),g.onClose()},de=()=>{g.onOpen(),K(!0)},it=()=>{if(g.onClose(),!e.isMultiple&&h){let w=ae[0];y(w!==void 0?w[r]:""),I(!1)}};return(0,z.useEffect)(()=>{if(!h&&!e.isMultiple){let w=ae[0];w!==void 0&&y(w[r])}},[ae]),(0,z.useEffect)(()=>{io(n)[0]===void 0&&y("")},[n]),(0,P.jsx)(tr.Provider,{value:{data:t,values:$,keyField:o,textField:r,isMultiple:l,virtual:p,onChange:me,onItemSelect:lt,offset:pe,setOffset:j,renderItem:f},children:(0,P.jsxs)(ft,{target:!0,...g,isOpen:g.isOpen,onOpen:de,onClose:it,autoClose:"outside",children:[(0,P.jsx)(xt,{children:(0,P.jsxs)("div",{className:b(`${T}input`,{[`${T}input--focus`]:H,[`${T}input--disabled`]:i},s),style:v,onClick:we,onFocus:()=>{K(!0)},onBlur:()=>{K(!1)},children:[(0,P.jsx)("input",{type:"text",ref:x,style:{position:"absolute",opacity:0}}),(0,P.jsx)("div",{className:`${T}outline`}),(0,P.jsxs)("div",{className:`${T}input__content`,children:[d&&(0,P.jsx)("div",{className:`${T}input__start-content`,children:d}),(0,P.jsx)("div",{className:`${T}input__field`,children:C||m}),(0,P.jsxs)("div",{className:`${T}input__end-content`,children:[R,c?(0,P.jsx)(A,{children:(0,P.jsx)(Ne,{className:`${T}animation-spin`})}):(0,P.jsx)(oe,{color:"secondary",variant:"plain",size:"xs",iconOnly:!0,onClick:st,children:(0,P.jsx)(A,{children:(0,P.jsx)($e,{})})}),(0,P.jsx)("div",{style:{pointerEvents:"none"},children:(0,P.jsx)(A,{children:g.isOpen?(0,P.jsx)(G,{}):(0,P.jsx)(B,{})})})]})]})]})}),(0,P.jsx)(vt,{children:(0,P.jsx)("div",{children:p?(0,P.jsx)(nr,{}):(0,P.jsx)(or,{})})})]})})},rr=ms;var sr=require("react");var Pt=require("react/jsx-runtime"),ds=(0,sr.forwardRef)(({children:e,label:t},n)=>{{let o=a;return(0,Pt.jsxs)("div",{ref:n,className:b(`${o}field`),children:[(0,Pt.jsx)("div",{className:`${o}field__label`,children:t}),(0,Pt.jsx)("div",{className:`${o}field__content`,children:e})]})}}),lr=ds;0&&(module.exports={Accordion,AccordionContent,AccordionHeader,AccordionItem,AccordionPanel,Autocomplete,Backdrop,Badge,Button,Card,CardHeader,Chip,Collapse,CollapseContent,CollapseContext,CollapseTrigger,Drawer,Field,Icon,List,ListGroup,ListItem,Menu,MenuContext,MenuGroup,MenuItem,MenuSubmenu,MenuValueContext,Portal,QueryStatus,ScrollArea,Select,Switch,Tab,Tabs,TextInput,Toolbar,Transition,assignRef,clsx,getOpenValuesByPathname,hasResizeObserver,mergeRefs,scrollToItem,useAccordionItem,useCollapse,useDebounce,useDisclosure,useEffectEvent,useElementSize,useInfiniteQuery,useLocalStorage,useMenu,useMenuItemValue,useOnClickOutside,usePrevious,useResizeObserver,useStep,useValueEffect,useVirtualizer});