@unifiedsoftware/react-ui 1.0.22 → 1.0.24

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 ar=Object.create;var Et=Object.defineProperty;var cr=Object.getOwnPropertyDescriptor;var ur=Object.getOwnPropertyNames;var pr=Object.getPrototypeOf,mr=Object.prototype.hasOwnProperty;var dr=(e,t)=>{for(var n in t)Et(e,n,{get:t[n],enumerable:!0})},co=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ur(t))!mr.call(e,r)&&r!==n&&Et(e,r,{get:()=>t[r],enumerable:!(o=cr(t,r))||o.enumerable});return e};var $=(e,t,n)=>(n=e!=null?ar(pr(e)):{},co(t||!e||!e.__esModule?Et(n,"default",{value:e,enumerable:!0}):n,e)),fr=e=>co(Et({},"__esModule",{value:!0}),e);var vs={};dr(vs,{Accordion:()=>Nn,AccordionContent:()=>Bn,AccordionHeader:()=>Fn,AccordionItem:()=>kn,AccordionPanel:()=>zn,Autocomplete:()=>rn,Backdrop:()=>Ft,Badge:()=>an,Button:()=>ne,Card:()=>un,CardHeader:()=>dn,Chip:()=>vn,Collapse:()=>Re,CollapseContent:()=>se,CollapseContext:()=>_t,CollapseTrigger:()=>be,Drawer:()=>gn,Field:()=>ir,Icon:()=>w,List:()=>W,ListGroup:()=>Jo,ListItem:()=>_,Menu:()=>An,MenuContext:()=>Bt,MenuGroup:()=>tt,MenuItem:()=>j,MenuSubmenu:()=>et,MenuValueContext:()=>He,Portal:()=>Ge,QueryStatus:()=>to,ScrollArea:()=>le,Select:()=>sr,Switch:()=>er,Tab:()=>Qn,Tabs:()=>qn,TextInput:()=>Zn,Toolbar:()=>Jn,Transition:()=>he,assignRef:()=>dt,clsx:()=>P,getOpenValuesByPathname:()=>Pn,hasResizeObserver:()=>oo,mergeRefs:()=>ge,scrollToItem:()=>no,useAccordionItem:()=>Hn,useCollapse:()=>ye,useDebounce:()=>go,useDisclosure:()=>te,useEffectEvent:()=>ct,useElementSize:()=>Nt,useInfiniteQuery:()=>yo,useLocalStorage:()=>mo,useMenu:()=>Ze,useMenuItemValue:()=>yn,useOnClickOutside:()=>At,usePrevious:()=>fo,useResizeObserver:()=>bo,useStep:()=>Co,useValueEffect:()=>Po,useVirtualizer:()=>Fe});module.exports=fr(vs);var V=require("react");var a="us-";var ve=require("react");var po=require("react");var Mt=require("react"),vr=typeof window<"u"?Mt.useLayoutEffect:Mt.useEffect,uo=vr;function xr(e){let t=(0,po.useRef)(e);uo(()=>{t.current=e},[e])}var eo=xr;function mo(e,t){let n=(0,ve.useCallback)(()=>{if(typeof window>"u")return t;try{let u=window.localStorage.getItem(e);return u?Cr(u):t}catch(u){return console.warn(`Error reading localStorage key \u201C${e}\u201D:`,u),t}},[t,e]),[o,r]=(0,ve.useState)(n),l=(0,ve.useCallback)(u=>{typeof window>"u"&&console.warn(`Tried setting localStorage key \u201C${e}\u201D even though environment is not a client`);try{let p=u instanceof Function?u(o):u;window.localStorage.setItem(e,JSON.stringify(p)),r(p),window.dispatchEvent(new Event("local-storage"))}catch(p){console.warn(`Error setting localStorage key \u201C${e}\u201D:`,p)}},[e,o]);(0,ve.useEffect)(()=>{r(n())},[]);let i=(0,ve.useCallback)(()=>{r(n())},[n]);return eo("storage",i),eo("local-storage",i),[o,l]}function Cr(e){try{return e==="undefined"?void 0:JSON.parse(e??"")}catch{return}}var Lt=require("react"),fo=e=>{let t=(0,Lt.useRef)();return(0,Lt.useEffect)(()=>{t.current=e}),t.current};var vo=require("react");function gr({defaultValue:e}={}){let[t,n]=(0,vo.useState)(e||!1);return{isOpen:t,onOpen:()=>{n(!0)},onClose:()=>{n(!1)},onToggle:()=>{n(i=>!i)}}}var te=gr;var xo=require("react"),Tr=(e,t)=>{(0,xo.useEffect)(()=>{let n=o=>{!e.current||e.current.contains(o.target)||t(o)};return document.addEventListener("click",n),()=>{document.removeEventListener("click",n)}},[e,t])},At=Tr;var oe=require("react"),Co=e=>{let[t,n]=(0,oe.useState)(1),o=(0,oe.useMemo)(()=>t+1<=e,[t,e]),r=(0,oe.useMemo)(()=>t-1>=1,[t]),l=(0,oe.useCallback)(m=>{let d=m instanceof Function?m(t):m;if(d>=1&&d<=e){n(d);return}throw new Error("Step not valid")},[e,t]),i=(0,oe.useCallback)(()=>{o&&n(m=>m+1)},[o]),u=(0,oe.useCallback)(()=>{r&&n(m=>m-1)},[r]),p=(0,oe.useCallback)(()=>{n(1)},[]);return[t,{goToNextStep:i,goToPrevStep:u,canGoToNextStep:o,canGoToPrevStep:r,setStep:l,reset:p}]};var wt=require("react");function hr(e,t){let[n,o]=(0,wt.useState)(e);return(0,wt.useEffect)(()=>{let r=setTimeout(()=>o(e),t||500);return()=>{clearTimeout(r)}},[e,t]),n}var go=hr;var To=require("@tanstack/react-virtual"),ho=require("react");function yr(e){let{parentRef:t,total:n,count:o=0,overscan:r=5,hasNextPage:l,isFetchingNextPage:i,onFetchNextPage:u,estimateSize:p}=e,m=(0,To.useVirtualizer)({count:n||(l?o+1:o),getScrollElement:()=>t.current,estimateSize:p,overscan:r});return(0,ho.useEffect)(()=>{if(!u)return;let[d]=[...m.getVirtualItems()].reverse();d&&d.index>=o-1&&l&&!i&&u?.()},[l,u,o,i,m.getVirtualItems()]),{getVirtualItems:m.getVirtualItems,getTotalSize:m.getTotalSize,scrollToIndex:(d,s)=>{m.scrollToIndex(d,s)},scrollToOffset:(d,s)=>{m.scrollToOffset(d,s)}}}var Fe=yr;var xe=require("react");var to=(r=>(r[r.IDLE=0]="IDLE",r[r.LOADING=1]="LOADING",r[r.SUCCESS=2]="SUCCESS",r[r.ERROR=3]="ERROR",r))(to||{});function Rr(e,t=[]){let[n,o]=(0,xe.useState)(0),[r,l]=(0,xe.useState)({pages:[]}),[i,u]=(0,xe.useState)(),[p,m]=(0,xe.useState)(!0),[d,s]=(0,xe.useState)(!1),x=async()=>{try{o(1),u(void 0),s(!0);let f=r.pages.length-1,b=e.getNextPage(r.pages[f],r.pages),v=await e.query({page:b}),T={pages:[...r.pages,v]};l(T);let h=T.pages.length-1,C=e.getNextPage(T.pages[h],T.pages);m(C!==void 0),s(!1),o(2)}catch(f){u(f),o(3)}};return(0,xe.useEffect)(()=>{(async()=>{try{o(1),u(void 0),s(!0);let b=void 0,v=await e.query({page:b});l({pages:[v]});let T=e.getNextPage(v,[v]);m(T!==void 0),s(!1),o(2)}catch(b){u(b),o(3)}})()},t),{status:n,data:r,error:i,hasNextPage:p,isFetchingNextPage:d,fetchNextPage:x}}var yo=Rr;var Ce=require("react"),br={width:0,height:0};function Pr(e){let t=(0,Ce.useRef)(0),[n,o]=(0,Ce.useState)(br),r=(0,Ce.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,Ce.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 Nt=Pr;var Ro=require("react");function oo(){return typeof window.ResizeObserver<"u"}function Sr(e){let{ref:t,onResize:n}=e;(0,Ro.useEffect)(()=>{let o=t?.current;if(o)if(oo()){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 bo=Sr;var De=require("react");function Ir(e){let t=(0,De.useRef)(null);return(0,De.useLayoutEffect)(()=>{t.current=e},[e]),(0,De.useCallback)((...n)=>{let o=t.current;return o(...n)},[])}var ct=Ir;var ze=require("react");function Er(e){let[t,n]=(0,ze.useState)(e),o=(0,ze.useRef)(null),r=ct(()=>{if(!o.current)return;let i=o.current.next();if(i.done){o.current=null;return}t===i.value?r():n(i.value)});(0,ze.useLayoutEffect)(()=>{o.current&&r()});let l=ct(i=>{o.current=i(t),r()});return[t,l]}var Po=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 0h24v24H0V0z"}),(0,ut.jsx)("path",{d:"M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})]})),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:"currentColor",strokeWidth:"0",viewBox:"0 0 24 24",height:"1em",width:"1em",xmlns:"http://www.w3.org/2000/svg",...e,children:[(0,pt.jsx)("path",{fill:"none",d:"M0 0h24v24H0z"}),(0,pt.jsx)("path",{d:"M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6z"})]})),X=Lr;var Eo=require("react"),mt=require("react/jsx-runtime"),Ar=(0,Eo.forwardRef)((e,t)=>(0,mt.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,mt.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,mt.jsx)("path",{d:"M12 3a9 9 0 1 0 9 9"})]})),$e=Ar;var Mo=require("react"),Ke=require("react/jsx-runtime"),wr=(0,Mo.forwardRef)((e,t)=>(0,Ke.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,Ke.jsx)("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),(0,Ke.jsx)("path",{d:"M18 6l-12 12"}),(0,Ke.jsx)("path",{d:"M6 6l12 12"})]})),Oe=wr;var no=(e,t)=>{let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),r="smooth",l=t.previousSibling,i=l?.getBoundingClientRect()||o;if(n.left>i.left){let m=0;l&&(m=i.left-n.left+e.scrollLeft+i.width/4),e.scrollTo({behavior:r,left:m})}let u=t.nextSibling,p=u?.getBoundingClientRect()||o;if(n.right<p.right){let m=e.scrollWidth;u&&(m=p.right-n.right+e.scrollLeft-p.width/4),e.scrollTo({behavior:r,left:m})}};function Lo(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=Lo(e[t]))&&(o&&(o+=" "),o+=n);else for(t in e)e[t]&&(o&&(o+=" "),o+=t);return o}function Nr(...e){let t=0,n,o,r="";for(;t<e.length;)(n=e[t++])&&(o=Lo(n))&&(r&&(r+=" "),r+=o);return r}var P=Nr;function dt(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 $r(...e){return t=>{e.forEach(n=>{dt(n,t)})}}var ge=$r;var wo=$(require("clsx")),No=require("react");var Ao=$(require("clsx")),Be=require("react");var Or=(0,Be.forwardRef)(({children:e,size:t},n)=>{let o=Be.Children.only(e);return(0,Be.cloneElement)(o,{ref:n,...o.props,className:(0,Ao.default)(`${a}icon`,{[`${a}font-size-${t}`]:t},o.props.className)})}),w=Or;var Te=require("react/jsx-runtime"),ne=(0,No.forwardRef)(({as:e="button",children:t,className:n,role:o="presentation",variant:r="text",color:l="primary",size:i="md",iconOnly:u,startContent:p,endContent:m,block:d,loading:s,disabled:x,...f},b)=>{let v=a;return(0,Te.jsxs)(e,{ref:b,className:(0,wo.default)(`${v}button`,{[`${v}button--${r}`]:r,[`${v}button--${l}`]:l,[`${v}button--${i}`]:i,[`${v}button--block`]:d,[`${v}button--icon-only`]:u,[`${v}button--disabled`]:x},n),role:o,disabled:x,...f,children:[(0,Te.jsx)("div",{className:`${v}overlay`}),(0,Te.jsx)("div",{className:`${v}outline`}),s?(0,Te.jsx)(w,{children:(0,Te.jsx)($e,{className:`${v}animation-spin`})}):p,(0,Te.jsx)("div",{className:`${v}button__content`,children:t}),m]})});var U=require("react");var $o=require("react"),Oo=require("react-dom");var _o=require("react/jsx-runtime"),_r=(0,$o.forwardRef)(({children:e,container:t},n)=>(0,Oo.createPortal)((0,_o.jsx)("div",{ref:n,className:`${a}portal`,children:e}),t||document.body)),Ge=_r;var Ho=$(require("clsx")),ko=require("react"),Vo=require("react-transition-group"),Fo=require("react/jsx-runtime"),Hr=(0,ko.forwardRef)((e,t)=>{let{children:n,className:o,nodeRef:r,name:l,isOpen:i,enter:u=0,leave:p=0,mountOnEnter:m,unmountOnExit:d,onExited:s}=e;return(0,Fo.jsx)(Vo.CSSTransition,{nodeRef:r,in:i,appear:!0,timeout:{enter:u,exit:p},mountOnEnter:m,unmountOnExit:d,classNames:(0,Ho.default)(l,o),onExited:s,children:n})}),he=Hr;var $t=require("react"),Do=(0,$t.createContext)(null),z=()=>{let e=(0,$t.useContext)(Do);if(!e)throw new Error("`usePopover` must be used within a `<Popover />`");return e},zo=Do;var ft=require("react/jsx-runtime"),kr=e=>{let{children:t,target:n,autoClose:o=!0,triggerClosable:r=!0,isOpen:l,onOpen:i,onClose:u,onToggle:p,onAfterClose:m}=e,d=(0,U.useRef)(null),s=(0,U.useRef)(null),[x,f]=(0,U.useState)(e.isOpen||!1),[b,v]=U.Children.toArray(t),T=a,h=()=>{l!==void 0?i?.():f(!0)},C=()=>{l!==void 0?u?.():f(!1)},g=()=>{l!==void 0?p?.():f(R=>!R)};return(0,U.useEffect)(()=>{f(l||!1)},[l]),(0,ft.jsxs)(zo.Provider,{value:{triggerRef:d,contentRef:s,target:n,isOpen:x,autoClose:o,triggerClosable:r,onOpen:h,onClose:C,onToggle:g},children:[b,(0,ft.jsx)(he,{nodeRef:s,isOpen:x,enter:300,leave:150,name:`${T}popover`,unmountOnExit:!0,onExited:m,children:(0,ft.jsx)(Ge,{children:(0,U.cloneElement)(U.Children.only(v),{...v.props,ref:s})})})]})},vt=kr;var re=require("react");var Bo=require("react/jsx-runtime");function Ko(e){return e==null?null:e.scrollHeight>e.clientHeight?e:Ko(e.parentNode)}var Vr=(0,re.forwardRef)((e,t)=>{let{children:n,style:o,className:r,onClick:l,...i}=e,{triggerRef:u,contentRef:p,target:m,onClose:d}=z(),s=a,x=(0,re.useRef)(null),[f,b]=(0,re.useState)({position:"absolute",top:0,left:0,visibility:"hidden"}),v=Ko(u.current)||window;Nt({target:v,callback:()=>{h()}}),At(p,C=>{let g=u.current;!g||g.contains(C.target)||d()});let T=C=>{C.stopPropagation(),l?.(C)},h=(0,re.useCallback)(()=>{let C=p.current?.getBoundingClientRect(),g=u.current?.getBoundingClientRect();if(!C||!g||!v)return;let R={innerWidth:window.innerWidth,innerHeight:window.innerHeight},y={width:g.width,height:g.height,top:g.top+window.scrollY,bottom:g.top+g.height+window.scrollY,left:g.left+window.scrollX,right:g.left+g.width+window.scrollX},E=y.left+C.width>R.innerWidth,k=y.top+C.height>R.innerHeight+window.scrollY,B={...m&&{width:y.width,minWidth:"auto"},position:"absolute",top:k?void 0:y.bottom,bottom:k?R.innerHeight-y.top:void 0,left:E?void 0:y.left,right:E?R.innerWidth-y.right:void 0,visibility:void 0};b(B)},[]);return(0,re.useEffect)(()=>(h(),v.addEventListener("scroll",h),window.addEventListener("orientationchange",h),()=>{v.removeEventListener("scroll",h),window.removeEventListener("orientationchange",h)}),[]),(0,Bo.jsx)("div",{ref:ge(x,t),className:P(`${s}popover`,r),style:{...o,...f},onClick:T,...i,children:n})}),xt=Vr;var Xe=require("react");var Fr=(0,Xe.forwardRef)((e,t)=>{let{children:n,onClick:o,...r}=e,{isOpen:l,triggerRef:i,triggerClosable:u,onOpen:p,onClose:m}=z(),d=Xe.Children.only(typeof n=="function"?n(l):n),s=x=>{x.preventDefault(),u&&l?m():p(),o?.(x),d.props.onClick?.(x)};return(0,Xe.cloneElement)(d,{...d.props,...r,ref:ge(t,i),onClick:s})}),Ct=Fr;var Qe=require("react");var Go=require("react");var Xo=require("react/jsx-runtime"),Dr=(0,Go.forwardRef)(({as:e="div",children:t,...n},o)=>(0,Xo.jsx)(e,{ref:o,className:`${a}list`,...n,children:t})),W=Dr;var qo=require("react");var pe=require("react");var Ot=require("react"),Uo=(0,Ot.createContext)(null),ye=()=>{let e=(0,Ot.useContext)(Uo);if(!e)throw new Error("`useCollapse` must be used within a `<Collapse />`");return e},_t=Uo;var Wo=require("react/jsx-runtime"),zr=({children:e,isOpen:t,onOpen:n,onClose:o,onToggle:r})=>{let l=(0,pe.useRef)(null),[i,u]=(0,pe.useState)(t??!1),[p,m]=(0,pe.useState)(!1),[d,s]=pe.Children.toArray(e),x=()=>{u(!0),n?.()},f=()=>{u(!1),o?.()},b=()=>{u(v=>!v),r?.()};return(0,pe.useEffect)(()=>{t!==void 0&&u(t),setTimeout(()=>{m(!!t)},100)},[t]),(0,Wo.jsxs)(_t.Provider,{value:{collapseRef:l,isOpen:i,heightAuto:p,onOpen:x,onClose:f,onToggle:b},children:[d,s]})},Re=zr;var Qo=$(require("clsx")),Ue=require("react");var Kr=(0,Ue.forwardRef)(({children:e},t)=>{let{collapseRef:n,isOpen:o,heightAuto:r}=ye(),l=Ue.Children.only(e);return(0,Ue.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,Qo.default)(`${a}collapse`,l.props.className)})}),se=Kr;var We=require("react");var Br=(0,We.forwardRef)(({children:e},t)=>{let{collapseRef:n,onToggle:o}=ye(),r=We.Children.only(e),{onClick:l,...i}=r.props;return(0,We.cloneElement)(r,{ref:t,onClick:u=>{n.current&&(o(),l?.(u))},...i})}),be=Br;var Yo=require("react");var Q=require("react/jsx-runtime"),Gr=(0,Yo.forwardRef)(({as:e="div",children:t,className:n,title:o,subtitle:r,startContent:l,endContent:i,level:u=1,hoverable:p,selected:m,disabled:d,slotProps:s,style:x,onClick:f,...b},v)=>{let T=a,h=C=>{f?.(C)};return(0,Q.jsxs)(e,{ref:v,className:P(`${T}list-item`,{[`${T}list-item--selected`]:m,[`${T}list-item--hoverable`]:p,[`${T}list-item--disabled`]:d},n),style:{paddingLeft:u<=1?`var(--${T}list-item-padding-x)`:`calc(${u} * var(--${T}list-item-padding-level))`,...x},onClick:h,...b,children:[p&&(0,Q.jsx)("div",{className:`${T}overlay`}),l&&(0,Q.jsx)("div",{className:`${T}list-item__start-content`,children:l}),(0,Q.jsx)("div",{className:`${T}list-item__content`,children:o||r?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)("span",{...s?.title,className:P(`${T}list-item__title`,s?.title?.className),children:o}),(0,Q.jsx)("span",{...s?.subtitle,className:P(`${T}list-item__subtitle`,s?.subtitle?.className),children:r})]}):t}),i&&(0,Q.jsx)("div",{className:`${T}list-item__end-content`,children:i})]})}),_=Gr;var L=require("react/jsx-runtime"),Xr=(0,qo.forwardRef)(({children:e,startContent:t,endContent:n,expandVisible:o=!0,expandPosition:r="end",isOpen:l,onOpen:i,onClose:u,onToggle:p,...m},d)=>{let s=l!==void 0?{isOpen:l,onOpen:i,onClose:u,onToggle:p}:te();return(0,L.jsx)("div",{className:`${a}list-group`,children:(0,L.jsxs)(Re,{...s,children:[(0,L.jsx)(be,{children:(0,L.jsx)(_,{ref:d,startContent:o&&r==="start"?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(w,{children:s.isOpen?(0,L.jsx)(X,{}):(0,L.jsx)(G,{})}),t]}):t,endContent:o&&r==="end"?(0,L.jsxs)(L.Fragment,{children:[n,(0,L.jsx)(w,{children:s.isOpen?(0,L.jsx)(X,{}):(0,L.jsx)(G,{})})]}):n,...m})}),(0,L.jsx)(se,{children:(0,L.jsx)("div",{children:(0,L.jsx)(W,{children:e})})})]})})}),Jo=Xr;var Zo=require("react"),jo=require("react-custom-scrollbars-2");var _e=require("react/jsx-runtime"),Ur=(0,Zo.forwardRef)(({children:e,autoHide:t=!1,style:n},o)=>{let r=a,l=d=>(0,_e.jsx)("div",{...d,className:P(`${r}scroll-area__view`,d.className)}),i=d=>(0,_e.jsx)("div",{...d,className:P(`${r}scroll-area__track ${r}scroll-area__track--horizontal`,d.className)}),u=d=>(0,_e.jsx)("div",{...d,className:P(`${r}scroll-area__track ${r}scroll-area__track--vertical`,d.className)}),p=d=>(0,_e.jsx)("div",{...d,className:P(`${r}scroll-area__thumb ${r}scroll-area__thumb--horizontal`,d.className)}),m=d=>(0,_e.jsx)("div",{...d,className:P(`${r}scroll-area__thumb ${r}scroll-area__thumb--vertical`,d.className)});return(0,_e.jsx)(jo.Scrollbars,{autoHide:t,className:`${r}scroll-area`,renderTrackHorizontal:i,renderTrackVertical:u,renderThumbHorizontal:p,renderThumbVertical:m,renderView:l,style:n,ref:d=>{d&&dt(o,d.container.firstElementChild)},children:e})}),le=Ur;var Ht=require("react"),en=(0,Ht.createContext)(null),kt=()=>{let e=(0,Ht.useContext)(en);if(!e)throw new Error("`useAutocomplete` must be used within a `<Autocomplete />`");return e},tn=en;var gt=require("react/jsx-runtime"),Wr=()=>{let{data:e,values:t,offset:n,setOffset:o,keyField:r,textField:l,onItemSelect:i,renderItem:u}=kt(),p=(0,Qe.useRef)(null),{isOpen:m}=z(),d=s=>{i(s),o(p.current?.scrollHeight||0)};return(0,Qe.useEffect)(()=>{m&&p.current?.scrollTo({top:n})},[m]),(0,gt.jsx)(le,{ref:p,style:{height:"200px",width:"100%",position:"relative"},children:(0,gt.jsx)(W,{children:u?e.map(s=>(0,gt.jsx)(Qe.Fragment,{children:u(s,{title:"",selected:t.includes(s[r]),hoverable:!0,onClick:()=>d(s)})},s[r])):e.map(s=>(0,gt.jsx)(_,{title:s[l],selected:t.includes(s[r]),hoverable:!0,onClick:()=>d(s)},s[r]))})})},on=Wr;var Ye=require("react");var ro=e=>Array.isArray(e)?e:e!==null?[e]:[],Tt=e=>Array.isArray(e)?e.length!==0?e[0]:null:e;var Pe=require("react/jsx-runtime"),Qr=()=>{let{data:e,values:t,keyField:n,textField:o,virtual:r,onItemSelect:l,renderItem:i}=kt(),u=(0,Ye.useRef)(null),p=Fe({...r,count:e.length,parentRef:u}),{isOpen:m}=z(),d=s=>{l(s)};return(0,Ye.useEffect)(()=>{if(!m)return;let s=Tt(t),x=e.findIndex(f=>f[n]===s);x!==-1&&p.scrollToIndex(x,{align:"start"})},[m]),r?(0,Pe.jsx)(le,{ref:u,autoHide:!0,style:{height:"200px",width:"100%",position:"relative"},children:(0,Pe.jsx)(W,{children:(0,Pe.jsx)("div",{style:{height:`${p.getTotalSize()}px`,width:"100%",position:"relative"},children:p.getVirtualItems().map(s=>{let x=s.index>e.length-1,f=e[s.index];return x?(0,Pe.jsx)(_,{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):f?i?(0,Pe.jsx)(Ye.Fragment,{children:i(f,{title:"",selected:t.includes(f[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>d(f)})},s.index):(0,Pe.jsx)(_,{title:f[o],selected:t.includes(f[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>d(f)},s.index):(0,Pe.jsx)(_,{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},nn=Qr;var I=require("react/jsx-runtime"),Yr=e=>{let{data:t,value:n,keyField:o="key",textField:r="text",isMultiple:l=!1,disabled:i,loading:u,disclosure:p,virtual:m,placeholder:d,className:s,style:x,startContent:f,endContent:b,onFilterChange:v,renderItem:T}=e,h=p!==void 0?p:te(),C=a,g=(0,V.useRef)(null),[R,y]=(0,V.useState)(""),[E,k]=(0,V.useState)(""),[B,O]=(0,V.useState)(!1),[ce,me]=(0,V.useState)(!1),ee=(0,V.useMemo)(()=>ro(n),[n]),Ne=(0,V.useMemo)(()=>t.filter(A=>ee.includes(A[o])),[t,ee]),[de,lt]=(0,V.useState)(0),it=()=>{g?.current?.focus()},fe=A=>{if(e.isMultiple){let Z=t.filter(ue=>A.includes(ue[o]));e.onChange?.(Z),e.onValueChange?.(A)}else{let Z=Tt(A),ue=null;Z!==void 0&&(ue=t.find(It=>It[o]===Z)??null),e.onChange?.(ue),e.onValueChange?.(Z)}},at=A=>{A.stopPropagation(),O(!0),k(""),e.isMultiple?(e.onChange?.([]),e.onValueChange?.([])):(e.onChange?.(null),e.onValueChange?.(null)),O(!1)},N=A=>{!h.isOpen&&h.onOpen(),O(!0),k(A.target.value),v?.(A.target.value)},D=A=>{let Z=A[o];if(e.isMultiple){let ue=[...ee],It=ee.indexOf(Z);It===-1?ue.push(Z):ue.splice(It,1),fe(ue)}else Tt(ee)!==Z&&fe([Z]);B&&y(E),O(!1),g.current?.focus(),h.onClose()},J=()=>{h.onOpen(),me(!0)},Ve=()=>{if(h.onClose(),!e.isMultiple&&B){let A=Ne[0];A!==void 0?(k(A[r]),v?.(R)):(k(""),v?.(R)),O(!1)}};return(0,V.useEffect)(()=>{if(!B&&!e.isMultiple){let A=Ne[0];A!==void 0&&k(A[r])}},[Ne]),(0,V.useEffect)(()=>{ro(n)[0]===void 0&&(k(""),v?.(""))},[n]),(0,I.jsx)(tn.Provider,{value:{data:t,values:ee,keyField:o,textField:r,isMultiple:l,virtual:m,onChange:fe,onItemSelect:D,offset:de,setOffset:lt,renderItem:T},children:(0,I.jsxs)(vt,{target:!0,...h,isOpen:h.isOpen,onOpen:J,onClose:Ve,autoClose:"outside",children:[(0,I.jsx)(Ct,{children:(0,I.jsxs)("div",{className:P(`${C}input ${C}input--filterable`,{[`${C}input--focus`]:ce,[`${C}input--disabled`]:i},s),style:x,onClick:it,onFocus:()=>{me(!0)},onBlur:()=>{me(!1)},children:[(0,I.jsx)("div",{className:`${C}outline`}),(0,I.jsxs)("div",{className:`${C}input__content`,children:[f&&(0,I.jsx)("div",{className:`${C}input__start-content`,children:f}),(0,I.jsx)("input",{ref:g,className:`${C}input__field`,value:E,placeholder:d,disabled:i,onChange:N}),(0,I.jsxs)("div",{className:`${C}input__end-content`,children:[b,u?(0,I.jsx)(w,{children:(0,I.jsx)($e,{className:`${C}animation-spin`})}):(0,I.jsx)(ne,{color:"secondary",variant:"plain",size:"xs",iconOnly:!0,onClick:at,children:(0,I.jsx)(w,{children:(0,I.jsx)(Oe,{})})}),(0,I.jsx)("div",{style:{pointerEvents:"none"},children:(0,I.jsx)(w,{children:h.isOpen?(0,I.jsx)(X,{}):(0,I.jsx)(G,{})})})]})]})]})}),(0,I.jsx)(xt,{children:(0,I.jsx)("div",{children:m?(0,I.jsx)(nn,{}):(0,I.jsx)(on,{})})})]})})},rn=Yr;var sn=$(require("clsx")),Vt=require("react"),ln=require("react-merge-refs");var qe=require("react/jsx-runtime"),qr=(0,Vt.forwardRef)((e,t)=>{let{children:n,className:o,isOpen:r,onClose:l,...i}=e,u=(0,Vt.useRef)(null);return(0,qe.jsx)(he,{nodeRef:u,isOpen:r,name:`${a}backdrop`,enter:300,leave:300,mountOnEnter:!0,unmountOnExit:!0,children:(0,qe.jsx)(Ge,{children:(0,qe.jsxs)("div",{ref:(0,ln.mergeRefs)([t,u]),className:(0,sn.default)(`${a}backdrop`,o),tabIndex:-1,...i,children:[(0,qe.jsx)("div",{className:`${a}backdrop__overlay`,onClick:l}),n]})})})}),Ft=qr;var so=$(require("clsx"));var Dt=require("react/jsx-runtime"),Jr=({children:e,placement:t,content:n})=>(0,Dt.jsxs)("div",{className:(0,so.default)(`${a}badge-wrapper`),children:[e,(0,Dt.jsx)("div",{className:(0,so.default)(`${a}badge`,{[`${a}badge--${t}`]:t}),children:n})]}),an=Jr;var cn=require("react");var pn=require("react/jsx-runtime"),Zr=(0,cn.forwardRef)(({as:e="div",children:t,className:n,...o},r)=>(0,pn.jsx)(e,{ref:r,className:P(`${a}card`,n),...o,children:t})),un=Zr;var mn=require("react");var Se=require("react/jsx-runtime"),jr=(0,mn.forwardRef)(({as:e="div",className:t,title:n,subtitle:o,startContent:r,endContent:l,...i},u)=>{let p=a;return(0,Se.jsxs)(e,{ref:u,className:P(`${p}card-header`,t),...i,children:[r&&(0,Se.jsx)("div",{className:`${p}card-header__start-content`,children:r}),(0,Se.jsxs)("div",{className:`${p}card-header__content`,children:[(0,Se.jsx)("div",{className:`${p}card-header__title`,children:n}),o&&(0,Se.jsx)("div",{className:`${p}card-header__subtitle`,children:o})]}),l&&(0,Se.jsx)("div",{className:`${p}card-header__end-content`,children:l})]})}),dn=jr;var lo=$(require("clsx")),fn=require("react");var ht=require("react/jsx-runtime"),es=(0,fn.forwardRef)(({as:e="div",children:t,className:n,variant:o="text",color:r="primary",size:l="md",...i},u)=>(0,ht.jsxs)(e,{ref:u,className:(0,lo.default)(`${a}chip`,{[`${a}chip--${o}`]:o,[`${a}chip--${r}`]:r,[`${a}chip--${l}`]:l},n),...i,children:[(0,ht.jsx)("div",{className:(0,lo.default)(`${a}overlay`)}),(0,ht.jsx)("div",{className:`${a}outline`}),t]})),vn=es;var xn=$(require("clsx")),zt=require("react"),Cn=require("react-merge-refs");var Je=require("react/jsx-runtime"),ts=(0,zt.forwardRef)((e,t)=>{let{children:n,className:o,isOpen:r,size:l="md",position:i="left",onClose:u}=e,p=(0,zt.useRef)(null);return(0,Je.jsx)(Ft,{isOpen:r,onClose:()=>{u()},children:(0,Je.jsx)(he,{nodeRef:p,isOpen:r,name:`${a}drawer`,enter:600,leave:300,unmountOnExit:!0,children:(0,Je.jsxs)("div",{ref:(0,Cn.mergeRefs)([t,p]),className:(0,xn.default)(`${a}drawer`,{[`${a}drawer--${l}`]:l,[`${a}drawer--${i}`]:i},o),children:[(0,Je.jsx)("div",{className:`${a}drawer__overlay`}),n]})})})}),gn=ts;var Mn=$(require("clsx")),Ee=require("react");var Kt=require("react"),Tn=(0,Kt.createContext)(null),Ze=()=>{let e=(0,Kt.useContext)(Tn);if(!e)throw new Error("`useMenu` must be used within a `<Menu />`");return e},Bt=Tn;var In=$(require("clsx")),En=require("react");var Rn=$(require("clsx")),je=require("react");var Gt=require("react"),hn=(0,Gt.createContext)([]),yn=()=>{let e=(0,Gt.useContext)(hn);if(!e)throw new Error("`useMenuValue` must be used within a `<MenuValueContext.Provider />`");return e},He=hn;var Ie=require("react/jsx-runtime"),bn=(0,je.forwardRef)((e,t)=>{let{as:n="div",className:o,style:r,value:l,title:i,icon:u,level:p=1,disabled:m,onClick:d,...s}=e,{value:x,originalValue:f,navMode:b,onChange:v,onOpen:T,onItemSelect:h}=Ze(),C=(0,je.useContext)(He),g=[...C,l],R=x[p-1]===l,y=E=>{l!==void 0&&v(g),d?.(E),h?.(e)};return(0,je.useEffect)(()=>{b==="automatic"&&f.length>0&&f[f.length-1]===l&&(T(C),v(g))},[l,f,b]),(0,Ie.jsxs)(n,{ref:t,className:(0,Rn.default)(`${a}menu-item`,{[`${a}menu-item--selected`]:R,[`${a}menu-item--disabled`]:m},o),style:{paddingLeft:p<=1?`var(--${a}menu-item-padding-x)`:`calc(${p} * var(--${a}menu-item-padding-level))`,...r},onClick:y,...s,children:[(0,Ie.jsx)("div",{className:`${a}overlay`,children:(0,Ie.jsx)("div",{className:`${a}overlay__surface`})}),u&&(0,Ie.jsx)("div",{className:`${a}menu-item__icon`,children:u}),(0,Ie.jsx)("div",{className:`${a}menu-item__content`,children:(0,Ie.jsx)("span",{className:`${a}menu-item__title`,children:i})})]})});bn.displayName="MenuItem";var j=bn;var Ut=$(require("clsx")),Wt=require("react");var Pn=e=>e.split("/").reduce((t,n)=>{let o=t[t.length-1];return o!=null?t.push(o+"/"+n):t.push(""),t},[]),Xt=(e,t)=>{let n=e.indexOf(t),o=[...e];return n===-1?o.push(t):o.splice(n,1),o};var M=require("react/jsx-runtime"),Sn=({children:e,className:t,style:n,value:o,title:r,icon:l,level:i=1,items:u,onClick:p,...m})=>{let{value:d,openValues:s,expandMode:x,onOpen:f}=Ze(),b=(0,Wt.useContext)(He),v=s.includes(o),T=[...b,o],h=d[i-1]===o,C=(0,Wt.useMemo)(()=>u?.map(({type:R,...y},E)=>R==="item"?(0,M.jsx)(j,{level:i!==void 0?i+1:void 0,...y},E):R==="submenu"?(0,M.jsx)(Sn,{level:i!==void 0?i+1:void 0,...y},E):R==="group"?(0,M.jsx)(tt,{level:i!==void 0?i+1:void 0,...y},E):(0,M.jsx)(j,{level:i!==void 0?i+1:void 0,...y},E)),[u]),g=R=>{if(x==="multiple"){let y=Xt(s,o);f(y)}else if(v){let y=Xt(T,o);f(y)}else{let y=Xt(b,o);f(y)}p?.(R)};return(0,M.jsx)(He.Provider,{value:T,children:(0,M.jsx)("div",{className:(0,Ut.default)(`${a}menu-submenu`),children:(0,M.jsxs)(Re,{isOpen:v,children:[(0,M.jsx)(be,{children:(0,M.jsxs)("div",{className:(0,Ut.default)(`${a}menu-item`,{[`${a}menu-item--selected`]:h||u&&T.includes(d)},t),style:{paddingLeft:i<=1?`var(--${a}menu-item-padding-x)`:`calc(${i} * var(--${a}menu-item-padding-level))`,...n},onClick:g,...m,children:[(0,M.jsx)("div",{className:`${a}overlay`,children:(0,M.jsx)("div",{className:`${a}overlay__surface`})}),l&&(0,M.jsx)("div",{className:`${a}menu-item__icon`,children:l}),(0,M.jsx)("div",{className:`${a}menu-item__content`,children:(0,M.jsx)("span",{className:`${a}menu-item__title`,children:r})}),(0,M.jsx)("div",{className:`${a}menu-item__icon`,children:v?(0,M.jsx)(X,{className:`${a}icon`}):(0,M.jsx)(G,{className:`${a}icon`})})]})}),(0,M.jsx)(se,{children:(0,M.jsx)("ul",{className:(0,Ut.default)(`${a}menu`,{[`${a}menu-open`]:!v}),children:C||e})})]})})})},et=Sn;var Y=require("react/jsx-runtime"),os=({children:e,className:t,style:n,title:o,icon:r,level:l=1,items:i,...u})=>{let p=(0,En.useMemo)(()=>i?.map(({type:m,...d},s)=>m==="item"?(0,Y.jsx)(j,{...d},s):m==="submenu"?(0,Y.jsx)(et,{...d},s):(0,Y.jsx)(j,{...d},s)),[i]);return(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)("div",{className:(0,In.default)(`${a}menu-group`,t),style:{paddingLeft:l<=1?`var(--${a}menu-group-padding-x)`:`calc(${l} * var(--${a}menu-group-padding-level))`,...n},...u,children:[r&&(0,Y.jsx)("div",{className:`${a}menu-group__icon`,children:r}),(0,Y.jsx)("div",{className:`${a}menu-group__content`,children:(0,Y.jsx)("span",{className:`${a}menu-group__title`,children:o})})]}),p||e]})},tt=os;var ke=require("react/jsx-runtime"),Ln=({children:e,value:t=[],defaultValue:n,openValues:o,expandMode:r="multiple",navMode:l="manual",items:i,onChange:u,onOpen:p,onItemSelect:m,...d})=>{let[s,x]=(0,Ee.useState)(t??n??[]),[f,b]=(0,Ee.useState)(o??[]),v=(0,Ee.useMemo)(()=>i?.map(({type:g,...R},y)=>g==="item"?(0,ke.jsx)(j,{...R},y):g==="submenu"?(0,ke.jsx)(et,{...R},y):g==="group"?(0,ke.jsx)(tt,{...R},y):(0,ke.jsx)(j,{...R},y)),[i]),T=g=>{t!==void 0&&l!=="automatic"?u?.(g):x(g)},h=g=>{o!==void 0?p?.(g):b(g)},C=g=>{m?.(g)};return(0,Ee.useEffect)(()=>{t!==void 0&&l!=="automatic"&&x(t)},[t]),(0,Ee.useEffect)(()=>{o!==void 0&&b(o)},[o]),(0,ke.jsx)(Bt.Provider,{value:{value:s,originalValue:t,openValues:f,expandMode:r,navMode:l,onOpen:h,onChange:T,onItemSelect:C},children:(0,ke.jsx)("div",{className:(0,Mn.default)(`${a}menu`),...d,children:v||e})})};Ln.displayName="Menu";var An=Ln;var wn=require("react");var $n=require("react/jsx-runtime"),ns=(0,wn.forwardRef)((e,t)=>{let{children:n,className:o,...r}=e;return(0,$n.jsx)("div",{ref:t,className:P(`${a}accordion`,o),...r,children:n})}),Nn=ns;var Me=require("react"),On=require("uuid");var Qt=require("react/jsx-runtime"),_n=(0,Me.createContext)(null),Hn=()=>{let e=(0,Me.useContext)(_n);if(!e)throw new Error("`useAccordionItem` must be used within a `<AccordionItem />`");return e},rs=(0,Me.forwardRef)((e,t)=>{let{children:n,className:o,value:r,...l}=e,[i]=(0,Me.useState)((0,On.v4)()),u=r??i,{isOpen:p,onOpen:m,onClose:d,onToggle:s}=te({defaultValue:!0}),x=a;return(0,Qt.jsx)(_n.Provider,{value:{value:u},children:(0,Qt.jsx)("div",{ref:t,className:P(`${x}accordion-item`,o),...l,children:(0,Qt.jsx)(Re,{isOpen:p,onOpen:m,onClose:d,onToggle:s,children:n})})})}),kn=rs;var Vn=require("react");var F=require("react/jsx-runtime"),ss=(0,Vn.forwardRef)((e,t)=>{let{className:n,title:o,subtitle:r,startContent:l,endContent:i,...u}=e,p=a,{isOpen:m}=ye();return(0,F.jsx)(be,{children:(0,F.jsxs)("div",{ref:t,className:P(`${p}accordion-header`,n),...u,children:[l&&(0,F.jsx)("div",{className:`${p}accordion-header__start-content`,children:l}),(0,F.jsxs)("div",{className:`${p}accordion-header__content`,children:[(0,F.jsx)("div",{className:`${p}accordion-header__title`,children:o}),r&&(0,F.jsx)("div",{className:`${p}accordion-header__subtitle`,children:r})]}),(0,F.jsx)("div",{className:`${p}accordion-header__end-content`,children:(0,F.jsxs)("div",{className:"us-d-flex us-items-center us-gap-1",children:[i,(0,F.jsx)(ne,{type:"button",variant:"text",color:"secondary",size:"sm",iconOnly:!0,children:(0,F.jsx)(w,{children:m?(0,F.jsx)(X,{}):(0,F.jsx)(G,{})})})]})})]})})}),Fn=ss;var Dn=require("react");var Yt=require("react/jsx-runtime"),ls=(0,Dn.forwardRef)(({children:e,className:t,...n},o)=>(0,Yt.jsx)(se,{children:(0,Yt.jsx)("div",{ref:o,children:(0,Yt.jsx)("div",{className:P(`${a}accordion-panel`,t),...n,children:e})})})),zn=ls;var Kn=require("react");var qt=require("react/jsx-runtime"),is=(0,Kn.forwardRef)(({children:e,className:t,...n},o)=>(0,qt.jsx)(se,{children:(0,qt.jsx)("div",{ref:o,children:(0,qt.jsx)("div",{className:P(`${a}accordion-content`,t),...n,children:e})})})),Bn=is;var Xn=$(require("clsx")),Un=$(require("merge-refs")),Le=require("react"),Wn=require("uuid");var Jt=require("react"),io=(0,Jt.createContext)(null),Gn=()=>{let e=(0,Jt.useContext)(io);if(!e)throw new Error("`useTabs` must be used within a `<Tabs />`");return e};var q=require("react/jsx-runtime"),Qn=(0,Le.forwardRef)(({as:e="div",children:t,className:n,role:o="presentation",value:r,startContent:l,endContent:i,closable:u,disabled:p,onClick:m,...d},s)=>{let x=a,f=(0,Le.useRef)(null),[b]=(0,Le.useState)((0,Wn.v4)()),v=r??b,{onClose:T,registerItem:h,...C}=Gn(),g=y=>{let E=C.previousTabRef.current,k=f.current;if(k){if(E){let B=E.querySelector(`.${x}tab__indicator`),O=k.querySelector(`.${x}tab__indicator`);if(!B||!O)return;let ce={},me=B.getBoundingClientRect(),ee=me.left,Ne=me.width,de=O.getBoundingClientRect(),lt=de.left,it=de.width,fe=Ne/it;fe?ce.transform=`translateX(${(ee-lt).toFixed(4)}px) scaleX(${fe.toFixed(4)})`:ce.opacity=0;let at=[ce,{transform:"none"}];O.animate(at,{duration:250,easing:"cubic-bezier(.3,0,0,1)"}),C.previousTabRef.current=f.current}C.previousTabRef.current=f.current,C.onChange(v),m?.(y)}},R=y=>{y.stopPropagation(),T(v)};return(0,Le.useEffect)(()=>{h({value:v,disabled:p}),v===C.value&&(C.previousTabRef.current=f.current)},[v,C.value]),(0,q.jsxs)(e,{ref:(0,Un.default)(f,s,y=>C.tabRefs.current[v]=y),className:(0,Xn.default)(`${x}tab`,{[`${x}tab--selected`]:v===C.value,[`${x}tab--disabled`]:p},n),role:o,onClick:g,...d,children:[(0,q.jsx)("div",{className:`${x}overlay`,children:(0,q.jsx)("div",{className:`${x}overlay__surface`})}),(0,q.jsxs)("div",{className:`${x}tab__content`,children:[l&&(0,q.jsx)("div",{className:`${x}tab__start-content`,children:l}),t,i||u&&(0,q.jsxs)("div",{className:`${x}tab__end-content`,children:[i,u&&(0,q.jsx)(ne,{variant:"text",color:"secondary",iconOnly:!0,size:"xs",onClick:R,children:(0,q.jsx)(w,{children:(0,q.jsx)(Oe,{})})})]})]}),(0,q.jsx)("div",{className:`${x}tab__indicator`})]})});var Yn=$(require("clsx")),ie=require("react");var yt=require("react/jsx-runtime"),qn=({children:e,className:t,value:n,defaultValue:o,alignment:r="start",onChange:l,onClose:i,...u})=>{let p=(0,ie.useRef)(null),m=(0,ie.useRef)({}),d=(0,ie.useRef)(null),[s,x]=(0,ie.useState)(n??o),[f,b]=(0,ie.useState)([]),v=g=>{b(R=>(R.findIndex(E=>E.value)===-1&&R.push(g),R))},T=g=>{let R=p.current;if(!R)return;let y=m.current[g];y&&no(R,y)},h=g=>{x(g),l?.(g),T(g)},C=g=>{i?.(g)};return(0,ie.useEffect)(()=>{n!==void 0&&(x(n),T(n))},[n]),(0,ie.useEffect)(()=>{if(n===void 0){let g=f.find(R=>!R.disabled);x(g?.value)}},[n,f]),(0,yt.jsxs)(io.Provider,{value:{previousTabRef:d,tabRefs:m,value:s,onChange:h,onClose:C,registerItem:v},children:[(0,yt.jsx)("div",{ref:p,className:(0,Yn.default)(`${a}tabs`,{[`${a}tabs--${r}`]:r},t),...u,children:e}),(0,yt.jsx)("div",{className:`${a}divider`})]})};var ae=$(require("clsx"));var H=require("react/jsx-runtime"),as=e=>{let{children:t,className:n,size:o="md",startContent:r,endContent:l,startAction:i,endAction:u,title:p,subtitle:m,...d}=e,s=a;return(0,H.jsxs)("div",{className:(0,ae.default)(`${s}toolbar`,{[`${s}toolbar--${o}`]:o},n),...d,children:[(0,H.jsx)("div",{className:`${s}outline-b`}),(0,H.jsxs)("div",{className:(0,ae.default)(`${s}toolbar__container`),children:[r?(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__start-content`),children:r}):i&&(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__start-action`),children:i}),(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__content`),children:p||m?(0,H.jsxs)(H.Fragment,{children:[p&&(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__title`),children:p}),m&&(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__subtitle`),children:m})]}):t}),l?(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__end-content`),children:l}):u&&(0,H.jsx)("div",{className:(0,ae.default)(`${s}toolbar__end-action`),children:u})]})]})},Jn=as;var ot=require("react");var Ae=require("react/jsx-runtime");var cs=(0,ot.forwardRef)(({className:e,value:t,defaultValue:n,disabled:o,inputRef:r,startContent:l,endContent:i,style:u,onChange:p,onClick:m,...d},s)=>{let[x,f]=(0,ot.useState)(!1),b=(0,ot.useRef)(null),v=a,T=C=>{p?.(C)},h=C=>{m?.(C),b?.current?.focus()};return(0,Ae.jsxs)("div",{ref:s,className:P(`${v}input`,{[`${v}input--focus`]:x,[`${v}input--disabled`]:o},e),style:u,onFocus:()=>{f(!0)},onBlur:()=>{f(!1)},onClick:h,children:[(0,Ae.jsx)("div",{className:`${v}outline`}),(0,Ae.jsxs)("div",{className:`${v}input__content`,children:[l&&(0,Ae.jsx)("div",{className:`${v}input__start-content`,children:l}),(0,Ae.jsx)("input",{ref:ge(b,r),className:`${v}input__field`,value:t,defaultValue:n,disabled:o,onChange:T,...d}),i&&(0,Ae.jsx)("div",{className:`${v}input__end-content`,children:i})]})]})}),Zn=cs;var jn=$(require("clsx")),nt=require("react");var Rt=require("react/jsx-runtime"),us=(0,nt.forwardRef)(({id:e,name:t,value:n,defaultValue:o,checked:r,defaultChecked:l,onChange:i,onCheckedChange:u,disabled:p,...m},d)=>{let[s,x]=(0,nt.useState)(r),f=a,b=v=>{let{value:T,checked:h}=v.target;x(h),i?.(T),u?.(h)};return(0,nt.useEffect)(()=>{r!==void 0&&x(r)},[r]),(0,Rt.jsxs)("label",{ref:d,htmlFor:e,className:(0,jn.default)(`${f}switch`,{[`${f}switch--checked`]:!!s}),...m,children:[(0,Rt.jsx)("input",{type:"checkbox",id:e,name:t,value:n,defaultValue:o,checked:s,defaultChecked:l,disabled:p,onChange:b}),(0,Rt.jsx)("div",{className:`${f}switch__thumb`})]})}),er=us;var K=require("react");var rt=require("react");var Zt=require("react"),tr=(0,Zt.createContext)(null),jt=()=>{let e=(0,Zt.useContext)(tr);if(!e)throw new Error("`useSelect` must be used within a `<Select />`");return e},or=tr;var bt=require("react/jsx-runtime"),ps=()=>{let{data:e,values:t,offset:n,setOffset:o,keyField:r,textField:l,onItemSelect:i,renderItem:u}=jt(),p=(0,rt.useRef)(null),{isOpen:m}=z(),d=s=>{i(s),o(p.current?.scrollHeight||0)};return(0,rt.useEffect)(()=>{m&&p.current?.scrollTo({top:n})},[m]),(0,bt.jsx)(le,{ref:p,style:{height:"200px",width:"100%",position:"relative"},children:(0,bt.jsx)(W,{children:u?e.map(s=>(0,bt.jsx)(rt.Fragment,{children:u(s,{title:"",selected:t.includes(s[r]),hoverable:!0,onClick:()=>d(s)})},s[r])):e.map(s=>(0,bt.jsx)(_,{title:s[l],selected:t.includes(s[r]),hoverable:!0,onClick:()=>d(s)},s[r]))})})},nr=ps;var st=require("react");var ao=e=>Array.isArray(e)?e:e!==null?[e]:[],Pt=e=>Array.isArray(e)?e.length!==0?e[0]:null:e;var we=require("react/jsx-runtime"),ms=()=>{let{data:e,values:t,keyField:n,textField:o,virtual:r,onItemSelect:l,renderItem:i}=jt(),u=(0,st.useRef)(null),p=Fe({...r,count:e.length,parentRef:u}),{isOpen:m}=z(),d=s=>{l(s)};return(0,st.useEffect)(()=>{if(!m)return;let s=Pt(t),x=e.findIndex(f=>f[n]===s);p.scrollToIndex(x,{align:"start"})},[m]),r?(0,we.jsx)(le,{ref:u,autoHide:!0,style:{height:"200px",width:"100%",position:"relative"},children:(0,we.jsx)(W,{children:(0,we.jsx)("div",{style:{height:`${p.getTotalSize()}px`,width:"100%",position:"relative"},children:p.getVirtualItems().map(s=>{let x=s.index>e.length-1,f=e[s.index];return x?(0,we.jsx)(_,{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):f?i?(0,we.jsx)(st.Fragment,{children:i(f,{title:"",selected:t.includes(f[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>d(f)})},s.index):(0,we.jsx)(_,{title:f[o],selected:t.includes(f[n]),hoverable:!0,style:{position:"absolute",top:0,left:0,width:"100%",height:`${s.size}px`,transform:`translateY(${s.start}px)`},onClick:()=>d(f)},s.index):(0,we.jsx)(_,{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},rr=ms;var S=require("react/jsx-runtime"),ds=e=>{let{data:t,value:n,keyField:o="key",textField:r="text",isMultiple:l=!1,disabled:i,loading:u,disclosure:p,virtual:m,placeholder:d,className:s,style:x,startContent:f,endContent:b,renderItem:v}=e,T=p!==void 0?p:te(),h=a,C=(0,K.useRef)(null),[g,R]=(0,K.useState)(""),[y,E]=(0,K.useState)(!1),[k,B]=(0,K.useState)(!1),O=(0,K.useMemo)(()=>ao(n),[n]),ce=(0,K.useMemo)(()=>t.filter(N=>O.includes(N[o])),[t,O]),[me,ee]=(0,K.useState)(0),Ne=()=>{C?.current?.focus()},de=N=>{if(e.isMultiple){let D=t.filter(J=>N.includes(J[o]));e.onChange?.(D),e.onValueChange?.(N)}else{let D=Pt(N),J=null;D!==null&&(J=t.find(Ve=>Ve[o]===D)??null),e.onChange?.(J),e.onValueChange?.(D)}},lt=N=>{N.stopPropagation(),E(!0),R(""),e.isMultiple?(e.onChange?.([]),e.onValueChange?.([])):(e.onChange?.(null),e.onValueChange?.(null)),E(!1)},it=N=>{let D=N[o];if(e.isMultiple){let J=[...O],Ve=O.indexOf(D);Ve===-1?J.push(D):J.splice(Ve,1),de(J)}else Pt(O)!==D&&de([D]);E(!1),C.current?.focus(),T.onClose()},fe=()=>{T.onOpen(),B(!0)},at=()=>{if(T.onClose(),!e.isMultiple&&y){let N=ce[0];R(N!==void 0?N[r]:""),E(!1)}};return(0,K.useEffect)(()=>{if(!y&&!e.isMultiple){let N=ce[0];N!==void 0&&R(N[r])}},[ce]),(0,K.useEffect)(()=>{ao(n)[0]===void 0&&R("")},[n]),(0,S.jsx)(or.Provider,{value:{data:t,values:O,keyField:o,textField:r,isMultiple:l,virtual:m,onChange:de,onItemSelect:it,offset:me,setOffset:ee,renderItem:v},children:(0,S.jsxs)(vt,{target:!0,...T,isOpen:T.isOpen,onOpen:fe,onClose:at,autoClose:"outside",children:[(0,S.jsx)(Ct,{children:(0,S.jsxs)("div",{className:P(`${h}input`,{[`${h}input--focus`]:k,[`${h}input--disabled`]:i},s),style:x,onClick:Ne,onFocus:()=>{B(!0)},onBlur:()=>{B(!1)},children:[(0,S.jsx)("input",{type:"text",ref:C,style:{position:"absolute",opacity:0}}),(0,S.jsx)("div",{className:`${h}outline`}),(0,S.jsxs)("div",{className:`${h}input__content`,children:[f&&(0,S.jsx)("div",{className:`${h}input__start-content`,children:f}),(0,S.jsx)("div",{className:`${h}input__field`,children:g||d}),(0,S.jsxs)("div",{className:`${h}input__end-content`,children:[b,u?(0,S.jsx)(w,{children:(0,S.jsx)($e,{className:`${h}animation-spin`})}):(0,S.jsx)(ne,{color:"secondary",variant:"plain",size:"xs",iconOnly:!0,onClick:lt,children:(0,S.jsx)(w,{children:(0,S.jsx)(Oe,{})})}),(0,S.jsx)("div",{style:{pointerEvents:"none"},children:(0,S.jsx)(w,{children:T.isOpen?(0,S.jsx)(X,{}):(0,S.jsx)(G,{})})})]})]})]})}),(0,S.jsx)(xt,{children:(0,S.jsx)("div",{children:m?(0,S.jsx)(rr,{}):(0,S.jsx)(nr,{})})})]})})},sr=ds;var lr=require("react");var St=require("react/jsx-runtime"),fs=(0,lr.forwardRef)(({children:e,label:t},n)=>{{let o=a;return(0,St.jsxs)("div",{ref:n,className:P(`${o}field`),children:[(0,St.jsx)("div",{className:`${o}field__label`,children:t}),(0,St.jsx)("div",{className:`${o}field__content`,children:e})]})}}),ir=fs;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});