@usefui/components 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/index.d.mts +246 -3
- package/dist/index.d.ts +246 -3
- package/dist/index.js +740 -307
- package/dist/index.mjs +708 -288
- package/package.json +12 -12
- package/src/__tests__/MessageBubble.test.tsx +179 -0
- package/src/__tests__/Shimmer.test.tsx +122 -0
- package/src/__tests__/Tree.test.tsx +275 -0
- package/src/accordion/hooks/index.tsx +3 -1
- package/src/badge/index.tsx +2 -3
- package/src/checkbox/hooks/index.tsx +5 -1
- package/src/collapsible/hooks/index.tsx +3 -1
- package/src/dialog/hooks/index.tsx +5 -1
- package/src/dropdown/hooks/index.tsx +3 -1
- package/src/dropdown/index.tsx +9 -9
- package/src/field/hooks/index.tsx +5 -1
- package/src/field/styles/index.ts +1 -0
- package/src/index.ts +6 -0
- package/src/message-bubble/MessageBubble.stories.tsx +91 -0
- package/src/message-bubble/hooks/index.tsx +41 -0
- package/src/message-bubble/index.tsx +153 -0
- package/src/message-bubble/styles/index.ts +61 -0
- package/src/otp-field/hooks/index.tsx +3 -1
- package/src/otp-field/index.tsx +5 -3
- package/src/sheet/hooks/index.tsx +5 -1
- package/src/shimmer/Shimmer.stories.tsx +95 -0
- package/src/shimmer/index.tsx +64 -0
- package/src/shimmer/styles/index.ts +33 -0
- package/src/switch/hooks/index.tsx +5 -1
- package/src/tabs/hooks/index.tsx +5 -1
- package/src/text-area/Textarea.stories.tsx +7 -2
- package/src/text-area/index.tsx +30 -14
- package/src/text-area/styles/index.ts +32 -72
- package/src/toolbar/hooks/index.tsx +5 -1
- package/src/tooltip/index.tsx +4 -3
- package/src/tree/Tree.stories.tsx +139 -0
- package/src/tree/hooks/tree-node-provider.tsx +50 -0
- package/src/tree/hooks/tree-provider.tsx +75 -0
- package/src/tree/index.tsx +231 -0
- package/src/tree/styles/index.ts +23 -0
- package/tsconfig.build.json +20 -0
- package/tsconfig.json +1 -3
package/dist/index.js
CHANGED
|
@@ -70,6 +70,10 @@ __export(index_exports, {
|
|
|
70
70
|
FieldMeta: () => FieldMeta,
|
|
71
71
|
FieldRoot: () => FieldRoot,
|
|
72
72
|
FieldWrapper: () => FieldWrapper,
|
|
73
|
+
MessageBubble: () => MessageBubble,
|
|
74
|
+
MessageBubbleContent: () => MessageBubbleContent,
|
|
75
|
+
MessageBubbleMeta: () => MessageBubbleMeta,
|
|
76
|
+
MessageBubbleRoot: () => MessageBubbleRoot,
|
|
73
77
|
MetaVariantEnum: () => MetaVariantEnum,
|
|
74
78
|
OTPField: () => OTPField,
|
|
75
79
|
OTPFieldSlot: () => OTPFieldSlot,
|
|
@@ -88,6 +92,7 @@ __export(index_exports, {
|
|
|
88
92
|
Sheet: () => Sheet,
|
|
89
93
|
SheetRoot: () => SheetRoot,
|
|
90
94
|
SheetTrigger: () => SheetTrigger,
|
|
95
|
+
Shimmer: () => Shimmer,
|
|
91
96
|
Skeleton: () => Skeleton,
|
|
92
97
|
Spinner: () => Spinner,
|
|
93
98
|
Switch: () => Switch,
|
|
@@ -112,16 +117,24 @@ __export(index_exports, {
|
|
|
112
117
|
ToolbarSection: () => ToolbarSection,
|
|
113
118
|
ToolbarTrigger: () => ToolbarTrigger,
|
|
114
119
|
Tooltip: () => Tooltip,
|
|
120
|
+
Tree: () => Tree,
|
|
121
|
+
TreeContent: () => TreeContent,
|
|
122
|
+
TreeNode: () => TreeNode,
|
|
123
|
+
TreeRoot: () => TreeRoot,
|
|
124
|
+
TreeTrigger: () => TreeTrigger,
|
|
115
125
|
useAccordion: () => useAccordion,
|
|
116
126
|
useCheckbox: () => useCheckbox,
|
|
117
127
|
useCollapsible: () => useCollapsible,
|
|
118
128
|
useDialog: () => useDialog,
|
|
119
129
|
useDropdownMenu: () => useDropdownMenu,
|
|
120
130
|
useField: () => useField,
|
|
131
|
+
useMessageBubble: () => useMessageBubble,
|
|
121
132
|
useSheet: () => useSheet,
|
|
122
133
|
useSwitch: () => useSwitch,
|
|
123
134
|
useTabs: () => useTabs,
|
|
124
|
-
useToolbar: () => useToolbar
|
|
135
|
+
useToolbar: () => useToolbar,
|
|
136
|
+
useTree: () => useTree,
|
|
137
|
+
useTreeNode: () => useTreeNode
|
|
125
138
|
});
|
|
126
139
|
module.exports = __toCommonJS(index_exports);
|
|
127
140
|
|
|
@@ -1016,7 +1029,9 @@ var defaultComponentAPI2 = {
|
|
|
1016
1029
|
};
|
|
1017
1030
|
var CheckboxContext = (0, import_react8.createContext)(defaultComponentAPI2);
|
|
1018
1031
|
var useCheckbox = () => (0, import_react8.useContext)(CheckboxContext);
|
|
1019
|
-
var CheckboxProvider = ({
|
|
1032
|
+
var CheckboxProvider = ({
|
|
1033
|
+
children
|
|
1034
|
+
}) => {
|
|
1020
1035
|
const context = useCheckboxProvider();
|
|
1021
1036
|
return /* @__PURE__ */ import_react8.default.createElement(CheckboxContext.Provider, { value: context }, children);
|
|
1022
1037
|
};
|
|
@@ -1460,7 +1475,9 @@ var defaultComponentAPI4 = {
|
|
|
1460
1475
|
};
|
|
1461
1476
|
var DialogContext = (0, import_react13.createContext)(defaultComponentAPI4);
|
|
1462
1477
|
var useDialog = () => (0, import_react13.useContext)(DialogContext);
|
|
1463
|
-
var DialogProvider = ({
|
|
1478
|
+
var DialogProvider = ({
|
|
1479
|
+
children
|
|
1480
|
+
}) => {
|
|
1464
1481
|
const context = useDialogProvider();
|
|
1465
1482
|
return /* @__PURE__ */ import_react13.default.createElement(DialogContext.Provider, { value: context }, children);
|
|
1466
1483
|
};
|
|
@@ -1902,7 +1919,10 @@ var DropdownMenu = ({ children }) => {
|
|
|
1902
1919
|
const handleClickOutside = () => {
|
|
1903
1920
|
if (states.open && toggleOpen) toggleOpen();
|
|
1904
1921
|
};
|
|
1905
|
-
useClickOutside(
|
|
1922
|
+
useClickOutside(
|
|
1923
|
+
DropdownContentRef,
|
|
1924
|
+
handleClickOutside
|
|
1925
|
+
);
|
|
1906
1926
|
useDisabledScroll(Boolean(states.open));
|
|
1907
1927
|
return /* @__PURE__ */ import_react19.default.createElement(RootWrapper, { ref: DropdownContentRef }, children);
|
|
1908
1928
|
};
|
|
@@ -2078,7 +2098,9 @@ var defaultComponentAPI5 = {
|
|
|
2078
2098
|
};
|
|
2079
2099
|
var FieldContext = (0, import_react20.createContext)(defaultComponentAPI5);
|
|
2080
2100
|
var useField = () => (0, import_react20.useContext)(FieldContext);
|
|
2081
|
-
var FieldProvider = ({
|
|
2101
|
+
var FieldProvider = ({
|
|
2102
|
+
children
|
|
2103
|
+
}) => {
|
|
2082
2104
|
const context = useFieldProvider();
|
|
2083
2105
|
return /* @__PURE__ */ import_react20.default.createElement(FieldContext.Provider, { value: context }, children);
|
|
2084
2106
|
};
|
|
@@ -2099,6 +2121,7 @@ var FieldDefaultStyles = import_styled_components10.css`
|
|
|
2099
2121
|
display: flex;
|
|
2100
2122
|
align-items: center;
|
|
2101
2123
|
justify-content: center;
|
|
2124
|
+
box-sizing: border-box;
|
|
2102
2125
|
|
|
2103
2126
|
font-size: var(--fontsize-medium-20);
|
|
2104
2127
|
|
|
@@ -2370,23 +2393,175 @@ Field.Wrapper = FieldWrapper;
|
|
|
2370
2393
|
Field.Label = FieldLabel;
|
|
2371
2394
|
Field.Meta = FieldMeta;
|
|
2372
2395
|
|
|
2373
|
-
// src/
|
|
2396
|
+
// src/message-bubble/index.tsx
|
|
2374
2397
|
var import_react23 = __toESM(require("react"));
|
|
2375
2398
|
|
|
2376
|
-
// src/
|
|
2399
|
+
// src/message-bubble/hooks/index.tsx
|
|
2377
2400
|
var import_react22 = __toESM(require("react"));
|
|
2378
|
-
var
|
|
2401
|
+
var defaultComponentAPI6 = {
|
|
2402
|
+
id: "",
|
|
2403
|
+
states: {},
|
|
2404
|
+
methods: {}
|
|
2405
|
+
};
|
|
2406
|
+
var MessageBubbleContext = (0, import_react22.createContext)(defaultComponentAPI6);
|
|
2407
|
+
var useMessageBubble = () => (0, import_react22.useContext)(MessageBubbleContext);
|
|
2408
|
+
var MessageBubbleProvider = ({
|
|
2409
|
+
children
|
|
2410
|
+
}) => {
|
|
2411
|
+
const context = useMessageBubbleProvider();
|
|
2412
|
+
return /* @__PURE__ */ import_react22.default.createElement(MessageBubbleContext.Provider, { value: context }, children);
|
|
2413
|
+
};
|
|
2414
|
+
function useMessageBubbleProvider() {
|
|
2415
|
+
const [side, setSide] = (0, import_react22.useState)(null);
|
|
2416
|
+
const MessageBubbleId = import_react22.default.useId();
|
|
2417
|
+
return {
|
|
2418
|
+
id: MessageBubbleId,
|
|
2419
|
+
states: {
|
|
2420
|
+
side
|
|
2421
|
+
},
|
|
2422
|
+
methods: {
|
|
2423
|
+
applySide: (side2) => setSide(side2)
|
|
2424
|
+
}
|
|
2425
|
+
};
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2428
|
+
// src/message-bubble/styles/index.ts
|
|
2429
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2430
|
+
var MessageBubbleWrapper = import_styled_components11.default.div`
|
|
2431
|
+
display: flex;
|
|
2432
|
+
flex-direction: column;
|
|
2433
|
+
gap: var(--measurement-medium-10);
|
|
2434
|
+
|
|
2435
|
+
&[data-side="right"] {
|
|
2436
|
+
align-items: flex-end;
|
|
2437
|
+
}
|
|
2438
|
+
|
|
2439
|
+
&[data-side="left"] {
|
|
2440
|
+
align-items: flex-start;
|
|
2441
|
+
}
|
|
2442
|
+
`;
|
|
2443
|
+
var MessageBubbleBadge = (0, import_styled_components11.default)(Badge)`
|
|
2444
|
+
position: relative;
|
|
2445
|
+
max-width: var(--measurement-large-90);
|
|
2446
|
+
width: 100%;
|
|
2447
|
+
justify-self: flex-end;
|
|
2448
|
+
padding: var(--measurement-medium-30) var(--measurement-medium-50) !important;
|
|
2449
|
+
border-radius: var(--measurement-medium-60) !important;
|
|
2450
|
+
|
|
2451
|
+
&[data-side="left"] {
|
|
2452
|
+
background-color: var(--contrast-color) !important;
|
|
2453
|
+
border-bottom-left-radius: 0 !important;
|
|
2454
|
+
}
|
|
2455
|
+
|
|
2456
|
+
&[data-side="right"] {
|
|
2457
|
+
background-color: var(--font-color-alpha-10) !important;
|
|
2458
|
+
border-bottom-right-radius: 0 !important;
|
|
2459
|
+
}
|
|
2460
|
+
`;
|
|
2461
|
+
var MessageBubbleContentWrapper = import_styled_components11.default.div`
|
|
2462
|
+
line-height: 1.5;
|
|
2463
|
+
font-weight: 500;
|
|
2464
|
+
word-break: keep-all;
|
|
2465
|
+
width: 100%;
|
|
2466
|
+
|
|
2467
|
+
* {
|
|
2468
|
+
font-size: var(--fontsize-medium-10) !important;
|
|
2469
|
+
}
|
|
2470
|
+
`;
|
|
2471
|
+
var MessageBubbleMetaWrapper = import_styled_components11.default.div`
|
|
2472
|
+
display: flex;
|
|
2473
|
+
align-items: center;
|
|
2474
|
+
gap: var(--measurement-medium-10);
|
|
2475
|
+
width: 100%;
|
|
2476
|
+
|
|
2477
|
+
&[data-side="right"] {
|
|
2478
|
+
justify-content: flex-end;
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
&[data-side="left"] {
|
|
2482
|
+
justify-content: flex-start;
|
|
2483
|
+
}
|
|
2484
|
+
`;
|
|
2485
|
+
|
|
2486
|
+
// src/message-bubble/index.tsx
|
|
2487
|
+
var MessageBubbleRoot = ({ children }) => {
|
|
2488
|
+
return /* @__PURE__ */ import_react23.default.createElement(MessageBubbleProvider, null, children);
|
|
2489
|
+
};
|
|
2490
|
+
MessageBubbleRoot.displayName = "MessageBubble.Root";
|
|
2491
|
+
var MessageBubble = (props) => {
|
|
2492
|
+
const { side, raw, children, ...restProps } = props;
|
|
2493
|
+
const { methods } = useMessageBubble();
|
|
2494
|
+
import_react23.default.useEffect(() => {
|
|
2495
|
+
if (side && methods?.applySide) methods.applySide(side);
|
|
2496
|
+
}, [side]);
|
|
2497
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2498
|
+
MessageBubbleWrapper,
|
|
2499
|
+
{
|
|
2500
|
+
"data-raw": Boolean(raw),
|
|
2501
|
+
"data-side": side,
|
|
2502
|
+
"aria-label": restProps["aria-label"] ?? `message-bubble-${side}`,
|
|
2503
|
+
...restProps
|
|
2504
|
+
},
|
|
2505
|
+
children
|
|
2506
|
+
);
|
|
2507
|
+
};
|
|
2508
|
+
MessageBubble.displayName = "MessageBubble";
|
|
2509
|
+
var MessageBubbleContent = (props) => {
|
|
2510
|
+
const { children, raw, ...restProps } = props;
|
|
2511
|
+
const { id, states } = useMessageBubble();
|
|
2512
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2513
|
+
MessageBubbleBadge,
|
|
2514
|
+
{
|
|
2515
|
+
variant: "secondary",
|
|
2516
|
+
"data-raw": Boolean(raw),
|
|
2517
|
+
"data-side": states?.side,
|
|
2518
|
+
"aria-label": `message-bubble-content-${id}`,
|
|
2519
|
+
...restProps
|
|
2520
|
+
},
|
|
2521
|
+
/* @__PURE__ */ import_react23.default.createElement(MessageBubbleContentWrapper, null, children)
|
|
2522
|
+
);
|
|
2523
|
+
};
|
|
2524
|
+
MessageBubbleContent.displayName = "MessageBubble.Content";
|
|
2525
|
+
var MessageBubbleMeta = (props) => {
|
|
2526
|
+
const { createdAt, raw, ...restProps } = props;
|
|
2527
|
+
const { states } = useMessageBubble();
|
|
2528
|
+
const formattedDate = new Intl.DateTimeFormat("en-US", {
|
|
2529
|
+
dateStyle: "medium",
|
|
2530
|
+
timeStyle: "short"
|
|
2531
|
+
}).format(createdAt);
|
|
2532
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2533
|
+
MessageBubbleMetaWrapper,
|
|
2534
|
+
{
|
|
2535
|
+
"data-raw": Boolean(raw),
|
|
2536
|
+
"data-side": states?.side,
|
|
2537
|
+
"aria-label": `message-bubble-meta-${states?.side}`,
|
|
2538
|
+
...restProps
|
|
2539
|
+
},
|
|
2540
|
+
formattedDate
|
|
2541
|
+
);
|
|
2542
|
+
};
|
|
2543
|
+
MessageBubbleMeta.displayName = "MessageBubble.Meta";
|
|
2544
|
+
MessageBubble.Root = MessageBubbleRoot;
|
|
2545
|
+
MessageBubble.Content = MessageBubbleContent;
|
|
2546
|
+
MessageBubble.Meta = MessageBubbleMeta;
|
|
2547
|
+
|
|
2548
|
+
// src/otp-field/index.tsx
|
|
2549
|
+
var import_react25 = __toESM(require("react"));
|
|
2550
|
+
|
|
2551
|
+
// src/otp-field/hooks/index.tsx
|
|
2552
|
+
var import_react24 = __toESM(require("react"));
|
|
2553
|
+
var OTPFieldContext = import_react24.default.createContext(
|
|
2379
2554
|
null
|
|
2380
2555
|
);
|
|
2381
2556
|
var useOTPField = () => {
|
|
2382
|
-
const context =
|
|
2557
|
+
const context = import_react24.default.useContext(OTPFieldContext);
|
|
2383
2558
|
if (!context) return null;
|
|
2384
2559
|
return context;
|
|
2385
2560
|
};
|
|
2386
2561
|
|
|
2387
2562
|
// src/otp-field/styles/index.ts
|
|
2388
|
-
var
|
|
2389
|
-
var OTPCell =
|
|
2563
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2564
|
+
var OTPCell = import_styled_components12.default.input`
|
|
2390
2565
|
width: var(--measurement-medium-90);
|
|
2391
2566
|
height: var(--measurement-medium-90);
|
|
2392
2567
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
@@ -2421,11 +2596,11 @@ var OTPCell = import_styled_components11.default.input`
|
|
|
2421
2596
|
// src/otp-field/index.tsx
|
|
2422
2597
|
var OTPField = ({ children, length, onComplete }) => {
|
|
2423
2598
|
const defaultLength = length ?? 6;
|
|
2424
|
-
const inputRefs =
|
|
2425
|
-
const [otp, setOtp] =
|
|
2599
|
+
const inputRefs = import_react25.default.useRef([]);
|
|
2600
|
+
const [otp, setOtp] = import_react25.default.useState(
|
|
2426
2601
|
Array.from({ length: defaultLength }, () => "")
|
|
2427
2602
|
);
|
|
2428
|
-
const [activeIndex, setActiveIndex] =
|
|
2603
|
+
const [activeIndex, setActiveIndex] = import_react25.default.useState(0);
|
|
2429
2604
|
const handleChange = (index, value) => {
|
|
2430
2605
|
const newOtp = [...otp];
|
|
2431
2606
|
newOtp[index] = value.substring(value.length - 1);
|
|
@@ -2486,13 +2661,13 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2486
2661
|
);
|
|
2487
2662
|
return () => clearTimeout(timeout);
|
|
2488
2663
|
};
|
|
2489
|
-
|
|
2664
|
+
import_react25.default.useEffect(() => {
|
|
2490
2665
|
const otpString = otp.join("");
|
|
2491
2666
|
if (otpString.length === defaultLength && onComplete) {
|
|
2492
2667
|
onComplete(otpString);
|
|
2493
2668
|
}
|
|
2494
2669
|
}, [otp, defaultLength, onComplete]);
|
|
2495
|
-
const contextValue =
|
|
2670
|
+
const contextValue = import_react25.default.useMemo(() => {
|
|
2496
2671
|
return {
|
|
2497
2672
|
otp,
|
|
2498
2673
|
activeIndex,
|
|
@@ -2515,11 +2690,11 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2515
2690
|
handleClick,
|
|
2516
2691
|
handlePaste
|
|
2517
2692
|
]);
|
|
2518
|
-
return /* @__PURE__ */
|
|
2693
|
+
return /* @__PURE__ */ import_react25.default.createElement(OTPFieldContext.Provider, { value: contextValue }, children);
|
|
2519
2694
|
};
|
|
2520
2695
|
OTPField.displayName = "OTPField";
|
|
2521
|
-
var OTPFieldGroup =
|
|
2522
|
-
return /* @__PURE__ */
|
|
2696
|
+
var OTPFieldGroup = import_react25.default.forwardRef(({ ...props }, ref) => {
|
|
2697
|
+
return /* @__PURE__ */ import_react25.default.createElement("span", { ref, className: "flex g-medium-10 align-center", ...props });
|
|
2523
2698
|
});
|
|
2524
2699
|
OTPFieldGroup.displayName = "OTPField.Group";
|
|
2525
2700
|
var OTPFieldSlot = ({
|
|
@@ -2538,10 +2713,12 @@ var OTPFieldSlot = ({
|
|
|
2538
2713
|
handleClick,
|
|
2539
2714
|
handlePaste
|
|
2540
2715
|
} = context;
|
|
2541
|
-
return /* @__PURE__ */
|
|
2716
|
+
return /* @__PURE__ */ import_react25.default.createElement(
|
|
2542
2717
|
OTPCell,
|
|
2543
2718
|
{
|
|
2544
|
-
ref: (el) =>
|
|
2719
|
+
ref: (el) => {
|
|
2720
|
+
inputRefs.current[index] = el;
|
|
2721
|
+
},
|
|
2545
2722
|
type: "text",
|
|
2546
2723
|
"data-testid": "otp-field-slot",
|
|
2547
2724
|
"data-active": activeIndex === index,
|
|
@@ -2564,11 +2741,11 @@ OTPField.Group = OTPFieldGroup;
|
|
|
2564
2741
|
OTPField.Slot = OTPFieldSlot;
|
|
2565
2742
|
|
|
2566
2743
|
// src/overlay/index.tsx
|
|
2567
|
-
var
|
|
2744
|
+
var import_react26 = __toESM(require("react"));
|
|
2568
2745
|
|
|
2569
2746
|
// src/overlay/styles/index.ts
|
|
2570
|
-
var
|
|
2571
|
-
var OverlayWrapper =
|
|
2747
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
2748
|
+
var OverlayWrapper = import_styled_components13.default.div`
|
|
2572
2749
|
@keyframes animate-fade {
|
|
2573
2750
|
0% {
|
|
2574
2751
|
opacity: 0;
|
|
@@ -2596,15 +2773,15 @@ var OverlayWrapper = import_styled_components12.default.div`
|
|
|
2596
2773
|
// src/overlay/index.tsx
|
|
2597
2774
|
var Overlay = (props) => {
|
|
2598
2775
|
const { raw, visible, closeOnInteract, onClick, ...restProps } = props;
|
|
2599
|
-
const [mounted, setMounted] =
|
|
2776
|
+
const [mounted, setMounted] = import_react26.default.useState(Boolean(visible));
|
|
2600
2777
|
const handleClick = (event) => {
|
|
2601
2778
|
if (onClick) onClick(event);
|
|
2602
2779
|
if (closeOnInteract) setMounted(false);
|
|
2603
2780
|
};
|
|
2604
|
-
|
|
2781
|
+
import_react26.default.useEffect(() => {
|
|
2605
2782
|
if (visible !== mounted) setMounted(Boolean(visible));
|
|
2606
2783
|
}, [visible]);
|
|
2607
|
-
return /* @__PURE__ */
|
|
2784
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, mounted && /* @__PURE__ */ import_react26.default.createElement(
|
|
2608
2785
|
OverlayWrapper,
|
|
2609
2786
|
{
|
|
2610
2787
|
tabIndex: -1,
|
|
@@ -2618,14 +2795,14 @@ var Overlay = (props) => {
|
|
|
2618
2795
|
Overlay.displayName = "Overlay";
|
|
2619
2796
|
|
|
2620
2797
|
// src/page/index.tsx
|
|
2621
|
-
var
|
|
2798
|
+
var import_react27 = __toESM(require("react"));
|
|
2622
2799
|
|
|
2623
2800
|
// src/page/styles/index.ts
|
|
2624
|
-
var
|
|
2801
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
2625
2802
|
|
|
2626
2803
|
// src/scrollarea/styles/index.ts
|
|
2627
|
-
var
|
|
2628
|
-
var HiddenScrollbar =
|
|
2804
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
2805
|
+
var HiddenScrollbar = import_styled_components14.css`
|
|
2629
2806
|
scrollbar-width: none;
|
|
2630
2807
|
|
|
2631
2808
|
&::-webkit-scrollbar {
|
|
@@ -2637,7 +2814,7 @@ var HiddenScrollbar = import_styled_components13.css`
|
|
|
2637
2814
|
display: none;
|
|
2638
2815
|
}
|
|
2639
2816
|
`;
|
|
2640
|
-
var CustomScrollbar =
|
|
2817
|
+
var CustomScrollbar = import_styled_components14.css`
|
|
2641
2818
|
height: ${({ $height }) => $height || "100%"};
|
|
2642
2819
|
width: ${({ $width }) => $width || "100%"};
|
|
2643
2820
|
overflow-y: auto;
|
|
@@ -2669,7 +2846,7 @@ var CustomScrollbar = import_styled_components13.css`
|
|
|
2669
2846
|
scrollbar-width: thin;
|
|
2670
2847
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor || "var(--font-color-alpha-10)"} ${$trackColor || "transparent"}`};
|
|
2671
2848
|
`;
|
|
2672
|
-
var ScrollAreaWrapper =
|
|
2849
|
+
var ScrollAreaWrapper = import_styled_components14.default.div`
|
|
2673
2850
|
overflow: scroll;
|
|
2674
2851
|
|
|
2675
2852
|
&[data-scrollbar="true"] {
|
|
@@ -2681,11 +2858,11 @@ var ScrollAreaWrapper = import_styled_components13.default.div`
|
|
|
2681
2858
|
`;
|
|
2682
2859
|
|
|
2683
2860
|
// src/page/styles/index.ts
|
|
2684
|
-
var PageRootWrapper =
|
|
2861
|
+
var PageRootWrapper = import_styled_components15.default.div`
|
|
2685
2862
|
height: 100dvh;
|
|
2686
2863
|
width: 100%;
|
|
2687
2864
|
`;
|
|
2688
|
-
var PageNavWrapper =
|
|
2865
|
+
var PageNavWrapper = import_styled_components15.default.nav`
|
|
2689
2866
|
background-color: var(--body-color);
|
|
2690
2867
|
border: var(--measurement-small-10) solid transparent;
|
|
2691
2868
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2694,7 +2871,7 @@ var PageNavWrapper = import_styled_components14.default.nav`
|
|
|
2694
2871
|
max-height: var(--measurement-large-20);
|
|
2695
2872
|
padding: var(--measurement-medium-30);
|
|
2696
2873
|
`;
|
|
2697
|
-
var PageMenuWrapper =
|
|
2874
|
+
var PageMenuWrapper = import_styled_components15.default.menu`
|
|
2698
2875
|
background-color: var(--body-color);
|
|
2699
2876
|
border: var(--measurement-small-10) solid transparent;
|
|
2700
2877
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2704,19 +2881,19 @@ var PageMenuWrapper = import_styled_components14.default.menu`
|
|
|
2704
2881
|
margin: 0;
|
|
2705
2882
|
padding: var(--measurement-medium-60) var(--measurement-medium-30);
|
|
2706
2883
|
`;
|
|
2707
|
-
var PagePanelWrapper =
|
|
2884
|
+
var PagePanelWrapper = import_styled_components15.default.aside`
|
|
2708
2885
|
position: absolute;
|
|
2709
2886
|
bottom: 0;
|
|
2710
2887
|
width: 100%;
|
|
2711
2888
|
overflow: scroll;
|
|
2712
2889
|
${HiddenScrollbar}
|
|
2713
2890
|
`;
|
|
2714
|
-
var PageSectionWrapper =
|
|
2891
|
+
var PageSectionWrapper = import_styled_components15.default.div`
|
|
2715
2892
|
background: var(--body-color);
|
|
2716
2893
|
width: 100%;
|
|
2717
2894
|
height: 100%;
|
|
2718
2895
|
`;
|
|
2719
|
-
var PageBodyWrapper =
|
|
2896
|
+
var PageBodyWrapper = import_styled_components15.default.div`
|
|
2720
2897
|
--menus-height: calc(
|
|
2721
2898
|
var(--measurement-large-30) *
|
|
2722
2899
|
${({ $menus }) => $menus ? Number($menus) : 0}
|
|
@@ -2741,12 +2918,12 @@ var PageBodyWrapper = import_styled_components14.default.div`
|
|
|
2741
2918
|
// src/page/index.tsx
|
|
2742
2919
|
var Page = (props) => {
|
|
2743
2920
|
const { children } = props;
|
|
2744
|
-
return /* @__PURE__ */
|
|
2921
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageRootWrapper, { className: "flex", ...props }, children);
|
|
2745
2922
|
};
|
|
2746
2923
|
Page.displayName = "Page";
|
|
2747
2924
|
var PageNavigation = (props) => {
|
|
2748
2925
|
const { children } = props;
|
|
2749
|
-
return /* @__PURE__ */
|
|
2926
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageNavWrapper, { ...props }, children);
|
|
2750
2927
|
};
|
|
2751
2928
|
PageNavigation.displayName = "Page.Navigation";
|
|
2752
2929
|
var PageTools = (props) => {
|
|
@@ -2768,7 +2945,7 @@ var PageTools = (props) => {
|
|
|
2768
2945
|
const handleClick = (event) => {
|
|
2769
2946
|
if (onClick) onClick(event);
|
|
2770
2947
|
};
|
|
2771
|
-
return /* @__PURE__ */
|
|
2948
|
+
return /* @__PURE__ */ import_react27.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react27.default.createElement(
|
|
2772
2949
|
Toolbar,
|
|
2773
2950
|
{
|
|
2774
2951
|
raw,
|
|
@@ -2780,27 +2957,27 @@ var PageTools = (props) => {
|
|
|
2780
2957
|
defaultOpen,
|
|
2781
2958
|
...props
|
|
2782
2959
|
},
|
|
2783
|
-
/* @__PURE__ */
|
|
2784
|
-
!fixed && /* @__PURE__ */
|
|
2960
|
+
/* @__PURE__ */ import_react27.default.createElement(Toolbar.Section, { showoncollapse }, children),
|
|
2961
|
+
!fixed && /* @__PURE__ */ import_react27.default.createElement(
|
|
2785
2962
|
Toolbar.Trigger,
|
|
2786
2963
|
{
|
|
2787
2964
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2788
2965
|
onClick: handleClick,
|
|
2789
2966
|
...triggerProps
|
|
2790
2967
|
},
|
|
2791
|
-
trigger ?? /* @__PURE__ */
|
|
2968
|
+
trigger ?? /* @__PURE__ */ import_react27.default.createElement("span", null, "\u2194")
|
|
2792
2969
|
)
|
|
2793
2970
|
));
|
|
2794
2971
|
};
|
|
2795
2972
|
PageTools.displayName = "Page.Tools";
|
|
2796
2973
|
var PageContent = (props) => {
|
|
2797
2974
|
const { children } = props;
|
|
2798
|
-
return /* @__PURE__ */
|
|
2975
|
+
return /* @__PURE__ */ import_react27.default.createElement(ScrollArea, { as: PageSectionWrapper, ...props }, children);
|
|
2799
2976
|
};
|
|
2800
2977
|
PageContent.displayName = "Page.Content";
|
|
2801
2978
|
var PageWrapper = (props) => {
|
|
2802
2979
|
const { children } = props;
|
|
2803
|
-
return /* @__PURE__ */
|
|
2980
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageBodyWrapper, { ...props }, children);
|
|
2804
2981
|
};
|
|
2805
2982
|
PageWrapper.displayName = "Page.Wrapper";
|
|
2806
2983
|
var PagePanel = (props) => {
|
|
@@ -2823,7 +3000,7 @@ var PagePanel = (props) => {
|
|
|
2823
3000
|
const handleClick = (event) => {
|
|
2824
3001
|
if (onClick) onClick(event);
|
|
2825
3002
|
};
|
|
2826
|
-
return /* @__PURE__ */
|
|
3003
|
+
return /* @__PURE__ */ import_react27.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react27.default.createElement(
|
|
2827
3004
|
PagePanelWrapper,
|
|
2828
3005
|
{
|
|
2829
3006
|
as: Toolbar,
|
|
@@ -2837,22 +3014,22 @@ var PagePanel = (props) => {
|
|
|
2837
3014
|
defaultOpen,
|
|
2838
3015
|
"aria-label": props["aria-label"]
|
|
2839
3016
|
},
|
|
2840
|
-
!fixed && /* @__PURE__ */
|
|
3017
|
+
!fixed && /* @__PURE__ */ import_react27.default.createElement(
|
|
2841
3018
|
Toolbar.Trigger,
|
|
2842
3019
|
{
|
|
2843
3020
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2844
3021
|
onClick: handleClick,
|
|
2845
3022
|
...triggerProps
|
|
2846
3023
|
},
|
|
2847
|
-
trigger ?? /* @__PURE__ */
|
|
3024
|
+
trigger ?? /* @__PURE__ */ import_react27.default.createElement("span", { style: { transform: "rotate(90deg)" } }, "\u2194")
|
|
2848
3025
|
),
|
|
2849
|
-
/* @__PURE__ */
|
|
3026
|
+
/* @__PURE__ */ import_react27.default.createElement(Toolbar.Section, { showoncollapse }, children)
|
|
2850
3027
|
));
|
|
2851
3028
|
};
|
|
2852
3029
|
PagePanel.displayName = "Page.Panel";
|
|
2853
3030
|
var PageMenu = (props) => {
|
|
2854
3031
|
const { children } = props;
|
|
2855
|
-
return /* @__PURE__ */
|
|
3032
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageMenuWrapper, { ...props }, children);
|
|
2856
3033
|
};
|
|
2857
3034
|
PageMenu.displayName = "Page.Menu";
|
|
2858
3035
|
Page.Navigation = PageNavigation;
|
|
@@ -2863,14 +3040,14 @@ Page.Panel = PagePanel;
|
|
|
2863
3040
|
Page.Menu = PageMenu;
|
|
2864
3041
|
|
|
2865
3042
|
// src/portal/index.tsx
|
|
2866
|
-
var
|
|
3043
|
+
var import_react28 = __toESM(require("react"));
|
|
2867
3044
|
var import_react_dom = require("react-dom");
|
|
2868
3045
|
var Portal = (props) => {
|
|
2869
3046
|
if (typeof document === "undefined") return null;
|
|
2870
3047
|
const { container, children } = props;
|
|
2871
|
-
const [hasMounted, setHasMounted] =
|
|
2872
|
-
const [portalRoot, setPortalRoot] =
|
|
2873
|
-
|
|
3048
|
+
const [hasMounted, setHasMounted] = import_react28.default.useState(false);
|
|
3049
|
+
const [portalRoot, setPortalRoot] = import_react28.default.useState(null);
|
|
3050
|
+
import_react28.default.useEffect(() => {
|
|
2874
3051
|
setHasMounted(true);
|
|
2875
3052
|
setPortalRoot(document.querySelector(`#${container}`));
|
|
2876
3053
|
}, [container]);
|
|
@@ -2880,18 +3057,18 @@ var Portal = (props) => {
|
|
|
2880
3057
|
Portal.displayName = "Portal";
|
|
2881
3058
|
|
|
2882
3059
|
// src/privacy-field/index.tsx
|
|
2883
|
-
var
|
|
3060
|
+
var import_react29 = __toESM(require("react"));
|
|
2884
3061
|
|
|
2885
3062
|
// src/privacy-field/styles/index.ts
|
|
2886
|
-
var
|
|
2887
|
-
var Wrapper = (0,
|
|
3063
|
+
var import_styled_components16 = __toESM(require("styled-components"));
|
|
3064
|
+
var Wrapper = (0, import_styled_components16.default)(Field.Wrapper)`
|
|
2888
3065
|
position: relative;
|
|
2889
3066
|
|
|
2890
3067
|
input {
|
|
2891
3068
|
width: 100% !important;
|
|
2892
3069
|
}
|
|
2893
3070
|
`;
|
|
2894
|
-
var Trigger = (0,
|
|
3071
|
+
var Trigger = (0, import_styled_components16.default)(Button)`
|
|
2895
3072
|
position: absolute !important;
|
|
2896
3073
|
right: var(--measurement-medium-50);
|
|
2897
3074
|
top: calc(var(--measurement-medium-50));
|
|
@@ -2904,30 +3081,30 @@ var PrivacyField = ({
|
|
|
2904
3081
|
passwordIcon,
|
|
2905
3082
|
...restProps
|
|
2906
3083
|
}) => {
|
|
2907
|
-
const [type, setType] =
|
|
3084
|
+
const [type, setType] = import_react29.default.useState(
|
|
2908
3085
|
defaultType ?? "password"
|
|
2909
3086
|
);
|
|
2910
|
-
const handleChangeType =
|
|
3087
|
+
const handleChangeType = import_react29.default.useCallback(() => {
|
|
2911
3088
|
if (type === "text") setType("password");
|
|
2912
3089
|
if (type === "password") setType("text");
|
|
2913
3090
|
}, [type, setType]);
|
|
2914
|
-
return /* @__PURE__ */
|
|
3091
|
+
return /* @__PURE__ */ import_react29.default.createElement(Wrapper, { className: "flex" }, /* @__PURE__ */ import_react29.default.createElement(Field, { autoComplete: "off", type, ...restProps }), /* @__PURE__ */ import_react29.default.createElement(Trigger, { variant: "ghost", sizing: "small", onClick: handleChangeType }, type === "text" && textIcon, type === "password" && passwordIcon));
|
|
2915
3092
|
};
|
|
2916
3093
|
PrivacyField.displayName = "PrivacyField";
|
|
2917
3094
|
|
|
2918
3095
|
// src/resizable/index.tsx
|
|
2919
|
-
var
|
|
3096
|
+
var import_react30 = __toESM(require("react"));
|
|
2920
3097
|
|
|
2921
3098
|
// src/resizable/styles/index.ts
|
|
2922
|
-
var
|
|
2923
|
-
var SplitContainer =
|
|
3099
|
+
var import_styled_components17 = __toESM(require("styled-components"));
|
|
3100
|
+
var SplitContainer = import_styled_components17.default.div`
|
|
2924
3101
|
position: relative;
|
|
2925
3102
|
`;
|
|
2926
|
-
var Panel =
|
|
3103
|
+
var Panel = import_styled_components17.default.div`
|
|
2927
3104
|
overflow: hidden;
|
|
2928
3105
|
width: ${(props) => props.width}%;
|
|
2929
3106
|
`;
|
|
2930
|
-
var Divider2 =
|
|
3107
|
+
var Divider2 = import_styled_components17.default.div`
|
|
2931
3108
|
width: var(--measurement-medium-10);
|
|
2932
3109
|
height: 100%;
|
|
2933
3110
|
top: 0;
|
|
@@ -2951,14 +3128,14 @@ var Divider2 = import_styled_components16.default.div`
|
|
|
2951
3128
|
height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
|
|
2952
3129
|
}
|
|
2953
3130
|
`;
|
|
2954
|
-
var DragHandle =
|
|
3131
|
+
var DragHandle = import_styled_components17.default.div`
|
|
2955
3132
|
position: absolute;
|
|
2956
3133
|
top: 0;
|
|
2957
3134
|
bottom: 0;
|
|
2958
3135
|
left: calc(var(--measurement-medium-10) * -1);
|
|
2959
3136
|
right: calc(var(--measurement-medium-10) * -1);
|
|
2960
3137
|
`;
|
|
2961
|
-
var DragIndicator =
|
|
3138
|
+
var DragIndicator = import_styled_components17.default.div`
|
|
2962
3139
|
position: fixed;
|
|
2963
3140
|
width: var(--measurement-medium-10);
|
|
2964
3141
|
/* height: var(--measurement-medium-60); */
|
|
@@ -2968,7 +3145,7 @@ var DragIndicator = import_styled_components16.default.div`
|
|
|
2968
3145
|
opacity: 0;
|
|
2969
3146
|
transition: all 0.2s;
|
|
2970
3147
|
`;
|
|
2971
|
-
var DragOverlay =
|
|
3148
|
+
var DragOverlay = import_styled_components17.default.div`
|
|
2972
3149
|
position: fixed;
|
|
2973
3150
|
top: 0;
|
|
2974
3151
|
left: 0;
|
|
@@ -2984,12 +3161,12 @@ var Resizable = ({
|
|
|
2984
3161
|
left,
|
|
2985
3162
|
right
|
|
2986
3163
|
}) => {
|
|
2987
|
-
const containerRef =
|
|
2988
|
-
const [leftWidth, setLeftWidth] =
|
|
2989
|
-
const [isDragging, setIsDragging] =
|
|
2990
|
-
const handleMouseDown =
|
|
2991
|
-
const handleMouseUp =
|
|
2992
|
-
const handleMouseMove =
|
|
3164
|
+
const containerRef = import_react30.default.useRef(null);
|
|
3165
|
+
const [leftWidth, setLeftWidth] = import_react30.default.useState(defaultWidth ?? 50);
|
|
3166
|
+
const [isDragging, setIsDragging] = import_react30.default.useState(false);
|
|
3167
|
+
const handleMouseDown = import_react30.default.useCallback(() => setIsDragging(true), []);
|
|
3168
|
+
const handleMouseUp = import_react30.default.useCallback(() => setIsDragging(false), []);
|
|
3169
|
+
const handleMouseMove = import_react30.default.useCallback(
|
|
2993
3170
|
(e) => {
|
|
2994
3171
|
if (!isDragging || !containerRef.current) return;
|
|
2995
3172
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
@@ -3003,7 +3180,7 @@ var Resizable = ({
|
|
|
3003
3180
|
},
|
|
3004
3181
|
[isDragging]
|
|
3005
3182
|
);
|
|
3006
|
-
|
|
3183
|
+
import_react30.default.useEffect(() => {
|
|
3007
3184
|
if (isDragging) {
|
|
3008
3185
|
document.addEventListener("mousemove", handleMouseMove);
|
|
3009
3186
|
document.addEventListener("mouseup", handleMouseUp);
|
|
@@ -3022,45 +3199,47 @@ var Resizable = ({
|
|
|
3022
3199
|
document.body.style.userSelect = "";
|
|
3023
3200
|
};
|
|
3024
3201
|
}, [isDragging, handleMouseMove, handleMouseUp]);
|
|
3025
|
-
return /* @__PURE__ */
|
|
3202
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(SplitContainer, { ref: containerRef, className: "h-100 flex" }, /* @__PURE__ */ import_react30.default.createElement(Panel, { width: leftWidth }, left), /* @__PURE__ */ import_react30.default.createElement(
|
|
3026
3203
|
Divider2,
|
|
3027
3204
|
{
|
|
3028
3205
|
$dragging: isDragging,
|
|
3029
3206
|
onMouseDown: handleMouseDown,
|
|
3030
3207
|
onTouchStart: handleMouseDown
|
|
3031
3208
|
},
|
|
3032
|
-
/* @__PURE__ */
|
|
3209
|
+
/* @__PURE__ */ import_react30.default.createElement(
|
|
3033
3210
|
DragHandle,
|
|
3034
3211
|
{
|
|
3035
3212
|
className: "flex align-center justify-center",
|
|
3036
3213
|
id: "drag-handle"
|
|
3037
3214
|
},
|
|
3038
|
-
/* @__PURE__ */
|
|
3215
|
+
/* @__PURE__ */ import_react30.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
|
|
3039
3216
|
)
|
|
3040
|
-
), /* @__PURE__ */
|
|
3217
|
+
), /* @__PURE__ */ import_react30.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react30.default.createElement(DragOverlay, null));
|
|
3041
3218
|
};
|
|
3042
3219
|
Resizable.displayName = "Resizable";
|
|
3043
3220
|
|
|
3044
3221
|
// src/sheet/index.tsx
|
|
3045
|
-
var
|
|
3222
|
+
var import_react32 = __toESM(require("react"));
|
|
3046
3223
|
|
|
3047
3224
|
// src/sheet/hooks/index.tsx
|
|
3048
|
-
var
|
|
3049
|
-
var SheetContext =
|
|
3225
|
+
var import_react31 = __toESM(require("react"));
|
|
3226
|
+
var SheetContext = import_react31.default.createContext({
|
|
3050
3227
|
id: {},
|
|
3051
3228
|
states: {},
|
|
3052
3229
|
methods: {}
|
|
3053
3230
|
});
|
|
3054
|
-
var useSheet = () =>
|
|
3055
|
-
var SheetProvider = ({
|
|
3231
|
+
var useSheet = () => import_react31.default.useContext(SheetContext);
|
|
3232
|
+
var SheetProvider = ({
|
|
3233
|
+
children
|
|
3234
|
+
}) => {
|
|
3056
3235
|
const context = useSheetProvider();
|
|
3057
|
-
return /* @__PURE__ */
|
|
3236
|
+
return /* @__PURE__ */ import_react31.default.createElement(SheetContext.Provider, { value: context }, children);
|
|
3058
3237
|
};
|
|
3059
3238
|
function useSheetProvider() {
|
|
3060
|
-
const containerId =
|
|
3061
|
-
const triggerId =
|
|
3062
|
-
const controlId =
|
|
3063
|
-
const [open, setOpen] =
|
|
3239
|
+
const containerId = import_react31.default.useId();
|
|
3240
|
+
const triggerId = import_react31.default.useId();
|
|
3241
|
+
const controlId = import_react31.default.useId();
|
|
3242
|
+
const [open, setOpen] = import_react31.default.useState(false);
|
|
3064
3243
|
return {
|
|
3065
3244
|
id: {
|
|
3066
3245
|
containerId,
|
|
@@ -3078,8 +3257,8 @@ function useSheetProvider() {
|
|
|
3078
3257
|
}
|
|
3079
3258
|
|
|
3080
3259
|
// src/sheet/styles/index.ts
|
|
3081
|
-
var
|
|
3082
|
-
var SheetStyles =
|
|
3260
|
+
var import_styled_components18 = __toESM(require("styled-components"));
|
|
3261
|
+
var SheetStyles = import_styled_components18.css`
|
|
3083
3262
|
all: unset;
|
|
3084
3263
|
position: fixed;
|
|
3085
3264
|
background-color: var(--body-color);
|
|
@@ -3110,7 +3289,7 @@ var SheetStyles = import_styled_components17.css`
|
|
|
3110
3289
|
animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
|
3111
3290
|
animation-fill-mode: backwards;
|
|
3112
3291
|
`;
|
|
3113
|
-
var SheetSizeStyles =
|
|
3292
|
+
var SheetSizeStyles = import_styled_components18.css`
|
|
3114
3293
|
&[data-size="small"] {
|
|
3115
3294
|
width: var(--measurement-large-80);
|
|
3116
3295
|
}
|
|
@@ -3123,7 +3302,7 @@ var SheetSizeStyles = import_styled_components17.css`
|
|
|
3123
3302
|
width: calc(var(--measurement-large-90) * 1.5);
|
|
3124
3303
|
}
|
|
3125
3304
|
`;
|
|
3126
|
-
var SheetSideStyles =
|
|
3305
|
+
var SheetSideStyles = import_styled_components18.css`
|
|
3127
3306
|
top: 0;
|
|
3128
3307
|
|
|
3129
3308
|
&[data-side="right"] {
|
|
@@ -3138,7 +3317,7 @@ var SheetSideStyles = import_styled_components17.css`
|
|
|
3138
3317
|
animation-name: slide-left;
|
|
3139
3318
|
}
|
|
3140
3319
|
`;
|
|
3141
|
-
var SheetWrapper =
|
|
3320
|
+
var SheetWrapper = import_styled_components18.default.dialog`
|
|
3142
3321
|
&[data-raw="false"] {
|
|
3143
3322
|
${SheetStyles}
|
|
3144
3323
|
${SheetSideStyles}
|
|
@@ -3148,7 +3327,7 @@ var SheetWrapper = import_styled_components17.default.dialog`
|
|
|
3148
3327
|
|
|
3149
3328
|
// src/sheet/index.tsx
|
|
3150
3329
|
var SheetRoot = ({ children }) => {
|
|
3151
|
-
return /* @__PURE__ */
|
|
3330
|
+
return /* @__PURE__ */ import_react32.default.createElement(SheetProvider, null, children);
|
|
3152
3331
|
};
|
|
3153
3332
|
SheetRoot.displayName = "Sheet.Root";
|
|
3154
3333
|
var Sheet = (props) => {
|
|
@@ -3169,16 +3348,16 @@ var Sheet = (props) => {
|
|
|
3169
3348
|
const { id, states, methods } = useSheet();
|
|
3170
3349
|
const { toggle } = methods;
|
|
3171
3350
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
3172
|
-
|
|
3351
|
+
import_react32.default.useEffect(() => {
|
|
3173
3352
|
if (open && toggle) return toggle();
|
|
3174
3353
|
}, [open]);
|
|
3175
|
-
|
|
3354
|
+
import_react32.default.useEffect(() => {
|
|
3176
3355
|
if (shortcut && shortcutControls && toggle) {
|
|
3177
3356
|
return toggle();
|
|
3178
3357
|
}
|
|
3179
3358
|
}, [shortcutControls]);
|
|
3180
3359
|
useDisabledScroll(lock && Boolean(states.open));
|
|
3181
|
-
return /* @__PURE__ */
|
|
3360
|
+
return /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, states.open && /* @__PURE__ */ import_react32.default.createElement(import_react32.default.Fragment, null, /* @__PURE__ */ import_react32.default.createElement(
|
|
3182
3361
|
SheetWrapper,
|
|
3183
3362
|
{
|
|
3184
3363
|
role: "dialog",
|
|
@@ -3195,7 +3374,7 @@ var Sheet = (props) => {
|
|
|
3195
3374
|
...restProps
|
|
3196
3375
|
},
|
|
3197
3376
|
children
|
|
3198
|
-
), overlay && /* @__PURE__ */
|
|
3377
|
+
), overlay && /* @__PURE__ */ import_react32.default.createElement(
|
|
3199
3378
|
Overlay,
|
|
3200
3379
|
{
|
|
3201
3380
|
onClick: () => toggle && toggle(!states.open),
|
|
@@ -3221,7 +3400,7 @@ var SheetTrigger = (props) => {
|
|
|
3221
3400
|
if (onClick) onClick(event);
|
|
3222
3401
|
if (toggle) toggle(!states.open);
|
|
3223
3402
|
};
|
|
3224
|
-
return /* @__PURE__ */
|
|
3403
|
+
return /* @__PURE__ */ import_react32.default.createElement(
|
|
3225
3404
|
Button,
|
|
3226
3405
|
{
|
|
3227
3406
|
id: id.triggerId,
|
|
@@ -3240,14 +3419,76 @@ SheetTrigger.displayName = "Sheet.Trigger";
|
|
|
3240
3419
|
Sheet.Root = SheetRoot;
|
|
3241
3420
|
Sheet.Trigger = SheetTrigger;
|
|
3242
3421
|
|
|
3422
|
+
// src/shimmer/index.tsx
|
|
3423
|
+
var import_react33 = __toESM(require("react"));
|
|
3424
|
+
|
|
3425
|
+
// src/shimmer/styles/index.ts
|
|
3426
|
+
var import_styled_components19 = __toESM(require("styled-components"));
|
|
3427
|
+
var shimmer = import_styled_components19.keyframes`
|
|
3428
|
+
0% {
|
|
3429
|
+
background-position: 200% center;
|
|
3430
|
+
}
|
|
3431
|
+
100% {
|
|
3432
|
+
background-position: -200% center;
|
|
3433
|
+
}
|
|
3434
|
+
`;
|
|
3435
|
+
var TextShimmerWrapper = import_styled_components19.default.span`
|
|
3436
|
+
background: linear-gradient(
|
|
3437
|
+
90deg,
|
|
3438
|
+
${({ "data-base-color": baseColor }) => baseColor} 0%,
|
|
3439
|
+
${({ "data-shimmer-color": shimmerColor }) => shimmerColor} 40%,
|
|
3440
|
+
${({ "data-base-color": baseColor }) => baseColor} 60%,
|
|
3441
|
+
${({ "data-base-color": baseColor }) => baseColor} 100%
|
|
3442
|
+
);
|
|
3443
|
+
background-size: ${({ "data-spread": spread }) => spread}% auto;
|
|
3444
|
+
background-clip: text;
|
|
3445
|
+
-webkit-background-clip: text;
|
|
3446
|
+
-webkit-text-fill-color: transparent;
|
|
3447
|
+
color: transparent;
|
|
3448
|
+
animation: ${shimmer} ${({ "data-duration": duration }) => duration}s linear
|
|
3449
|
+
infinite;
|
|
3450
|
+
display: inline-block;
|
|
3451
|
+
`;
|
|
3452
|
+
|
|
3453
|
+
// src/shimmer/index.tsx
|
|
3454
|
+
var DEFAULT_DURATION = 2;
|
|
3455
|
+
var DEFAULT_SPREAD = 200;
|
|
3456
|
+
var DEFAULT_SHIMMER_COLOR = "var(--font-color-alpha-60)";
|
|
3457
|
+
var DEFAULT_BASE_COLOR = "var(--font-color-alpha-30)";
|
|
3458
|
+
var Shimmer = (props) => {
|
|
3459
|
+
const {
|
|
3460
|
+
children,
|
|
3461
|
+
raw,
|
|
3462
|
+
duration = DEFAULT_DURATION,
|
|
3463
|
+
spread = DEFAULT_SPREAD,
|
|
3464
|
+
shimmerColor = DEFAULT_SHIMMER_COLOR,
|
|
3465
|
+
baseColor = DEFAULT_BASE_COLOR,
|
|
3466
|
+
...restProps
|
|
3467
|
+
} = props;
|
|
3468
|
+
return /* @__PURE__ */ import_react33.default.createElement(
|
|
3469
|
+
TextShimmerWrapper,
|
|
3470
|
+
{
|
|
3471
|
+
"data-raw": Boolean(raw),
|
|
3472
|
+
"data-duration": duration,
|
|
3473
|
+
"data-spread": spread,
|
|
3474
|
+
"data-shimmer-color": shimmerColor,
|
|
3475
|
+
"data-base-color": baseColor,
|
|
3476
|
+
"aria-label": restProps["aria-label"] ?? "shimmer-text",
|
|
3477
|
+
...restProps
|
|
3478
|
+
},
|
|
3479
|
+
children
|
|
3480
|
+
);
|
|
3481
|
+
};
|
|
3482
|
+
Shimmer.displayName = "Shimmer";
|
|
3483
|
+
|
|
3243
3484
|
// src/scrollarea/index.tsx
|
|
3244
|
-
var
|
|
3485
|
+
var import_react34 = __toESM(require("react"));
|
|
3245
3486
|
var ScrollArea = ({
|
|
3246
3487
|
scrollbar = false,
|
|
3247
3488
|
children,
|
|
3248
3489
|
...restProps
|
|
3249
3490
|
}) => {
|
|
3250
|
-
return /* @__PURE__ */
|
|
3491
|
+
return /* @__PURE__ */ import_react34.default.createElement(
|
|
3251
3492
|
ScrollAreaWrapper,
|
|
3252
3493
|
{
|
|
3253
3494
|
"aria-hidden": "true",
|
|
@@ -3259,11 +3500,11 @@ var ScrollArea = ({
|
|
|
3259
3500
|
};
|
|
3260
3501
|
|
|
3261
3502
|
// src/spinner/index.tsx
|
|
3262
|
-
var
|
|
3503
|
+
var import_react35 = __toESM(require("react"));
|
|
3263
3504
|
|
|
3264
3505
|
// src/spinner/styles/index.ts
|
|
3265
|
-
var
|
|
3266
|
-
var Rotate =
|
|
3506
|
+
var import_styled_components20 = __toESM(require("styled-components"));
|
|
3507
|
+
var Rotate = import_styled_components20.keyframes`
|
|
3267
3508
|
0% {
|
|
3268
3509
|
transform: rotate(0deg);
|
|
3269
3510
|
}
|
|
@@ -3271,7 +3512,7 @@ var Rotate = import_styled_components18.keyframes`
|
|
|
3271
3512
|
transform: rotate(360deg);
|
|
3272
3513
|
}
|
|
3273
3514
|
`;
|
|
3274
|
-
var FieldSizeStyles2 =
|
|
3515
|
+
var FieldSizeStyles2 = import_styled_components20.css`
|
|
3275
3516
|
&[data-size="small"] {
|
|
3276
3517
|
width: var(--measurement-medium-40);
|
|
3277
3518
|
height: var(--measurement-medium-40);
|
|
@@ -3285,7 +3526,7 @@ var FieldSizeStyles2 = import_styled_components18.css`
|
|
|
3285
3526
|
height: var(--measurement-medium-60);
|
|
3286
3527
|
}
|
|
3287
3528
|
`;
|
|
3288
|
-
var RotatingSpinner =
|
|
3529
|
+
var RotatingSpinner = import_styled_components20.default.span`
|
|
3289
3530
|
padding: 0;
|
|
3290
3531
|
margin: 0;
|
|
3291
3532
|
|
|
@@ -3303,15 +3544,15 @@ var RotatingSpinner = import_styled_components18.default.span`
|
|
|
3303
3544
|
|
|
3304
3545
|
// src/spinner/index.tsx
|
|
3305
3546
|
var Spinner = (props) => {
|
|
3306
|
-
return /* @__PURE__ */
|
|
3547
|
+
return /* @__PURE__ */ import_react35.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
|
|
3307
3548
|
};
|
|
3308
3549
|
|
|
3309
3550
|
// src/skeleton/index.tsx
|
|
3310
|
-
var
|
|
3551
|
+
var import_react36 = __toESM(require("react"));
|
|
3311
3552
|
|
|
3312
3553
|
// src/skeleton/styles/index.ts
|
|
3313
|
-
var
|
|
3314
|
-
var SkeletonBlink =
|
|
3554
|
+
var import_styled_components21 = __toESM(require("styled-components"));
|
|
3555
|
+
var SkeletonBlink = import_styled_components21.keyframes`
|
|
3315
3556
|
0% {
|
|
3316
3557
|
opacity: 0.3;
|
|
3317
3558
|
}
|
|
@@ -3319,7 +3560,7 @@ var SkeletonBlink = import_styled_components19.keyframes`
|
|
|
3319
3560
|
opacity: 0.1;
|
|
3320
3561
|
}
|
|
3321
3562
|
`;
|
|
3322
|
-
var SkeletonBaseStyles =
|
|
3563
|
+
var SkeletonBaseStyles = import_styled_components21.css`
|
|
3323
3564
|
background: linear-gradient(
|
|
3324
3565
|
45deg,
|
|
3325
3566
|
var(--font-color-alpha-10),
|
|
@@ -3327,7 +3568,7 @@ var SkeletonBaseStyles = import_styled_components19.css`
|
|
|
3327
3568
|
);
|
|
3328
3569
|
animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
|
|
3329
3570
|
`;
|
|
3330
|
-
var SkeletonSizeStyles =
|
|
3571
|
+
var SkeletonSizeStyles = import_styled_components21.css`
|
|
3331
3572
|
&[data-size="small"] {
|
|
3332
3573
|
width: 100%;
|
|
3333
3574
|
|
|
@@ -3345,7 +3586,7 @@ var SkeletonSizeStyles = import_styled_components19.css`
|
|
|
3345
3586
|
min-height: var(--measurement-medium-90);
|
|
3346
3587
|
}
|
|
3347
3588
|
`;
|
|
3348
|
-
var SkeletonShapeStyles =
|
|
3589
|
+
var SkeletonShapeStyles = import_styled_components21.css`
|
|
3349
3590
|
&[data-shape="square"] {
|
|
3350
3591
|
border-radius: 0;
|
|
3351
3592
|
}
|
|
@@ -3356,7 +3597,7 @@ var SkeletonShapeStyles = import_styled_components19.css`
|
|
|
3356
3597
|
border-radius: var(--measurement-large-90);
|
|
3357
3598
|
}
|
|
3358
3599
|
`;
|
|
3359
|
-
var SkeletonLoader =
|
|
3600
|
+
var SkeletonLoader = import_styled_components21.default.span`
|
|
3360
3601
|
${SkeletonBaseStyles}
|
|
3361
3602
|
${SkeletonSizeStyles}
|
|
3362
3603
|
${SkeletonShapeStyles}
|
|
@@ -3369,7 +3610,7 @@ var Skeleton = (props) => {
|
|
|
3369
3610
|
shape = "smooth",
|
|
3370
3611
|
...restProps
|
|
3371
3612
|
} = props;
|
|
3372
|
-
return /* @__PURE__ */
|
|
3613
|
+
return /* @__PURE__ */ import_react36.default.createElement(
|
|
3373
3614
|
SkeletonLoader,
|
|
3374
3615
|
{
|
|
3375
3616
|
"data-size": sizing,
|
|
@@ -3382,24 +3623,26 @@ var Skeleton = (props) => {
|
|
|
3382
3623
|
Skeleton.displayName = "Skeleton";
|
|
3383
3624
|
|
|
3384
3625
|
// src/switch/index.tsx
|
|
3385
|
-
var
|
|
3626
|
+
var import_react38 = __toESM(require("react"));
|
|
3386
3627
|
|
|
3387
3628
|
// src/switch/hooks/index.tsx
|
|
3388
|
-
var
|
|
3389
|
-
var
|
|
3629
|
+
var import_react37 = __toESM(require("react"));
|
|
3630
|
+
var defaultComponentAPI7 = {
|
|
3390
3631
|
id: "",
|
|
3391
3632
|
states: {},
|
|
3392
3633
|
methods: {}
|
|
3393
3634
|
};
|
|
3394
|
-
var SwitchContext = (0,
|
|
3395
|
-
var useSwitch = () => (0,
|
|
3396
|
-
var SwitchProvider = ({
|
|
3635
|
+
var SwitchContext = (0, import_react37.createContext)(defaultComponentAPI7);
|
|
3636
|
+
var useSwitch = () => (0, import_react37.useContext)(SwitchContext);
|
|
3637
|
+
var SwitchProvider = ({
|
|
3638
|
+
children
|
|
3639
|
+
}) => {
|
|
3397
3640
|
const context = useSwitchProvider();
|
|
3398
|
-
return /* @__PURE__ */
|
|
3641
|
+
return /* @__PURE__ */ import_react37.default.createElement(SwitchContext.Provider, { value: context }, children);
|
|
3399
3642
|
};
|
|
3400
3643
|
function useSwitchProvider() {
|
|
3401
|
-
const [checked, setChecked] = (0,
|
|
3402
|
-
const switchId =
|
|
3644
|
+
const [checked, setChecked] = (0, import_react37.useState)(false);
|
|
3645
|
+
const switchId = import_react37.default.useId();
|
|
3403
3646
|
return {
|
|
3404
3647
|
id: switchId,
|
|
3405
3648
|
states: {
|
|
@@ -3412,8 +3655,8 @@ function useSwitchProvider() {
|
|
|
3412
3655
|
}
|
|
3413
3656
|
|
|
3414
3657
|
// src/switch/styles/index.ts
|
|
3415
|
-
var
|
|
3416
|
-
var SwitchDefaultStyles =
|
|
3658
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
3659
|
+
var SwitchDefaultStyles = import_styled_components22.css`
|
|
3417
3660
|
all: unset;
|
|
3418
3661
|
|
|
3419
3662
|
border: var(--measurement-small-10) solid transparent;
|
|
@@ -3427,7 +3670,7 @@ var SwitchDefaultStyles = import_styled_components20.css`
|
|
|
3427
3670
|
opacity: 0.6;
|
|
3428
3671
|
}
|
|
3429
3672
|
`;
|
|
3430
|
-
var SwitchVariantsStyles =
|
|
3673
|
+
var SwitchVariantsStyles = import_styled_components22.css`
|
|
3431
3674
|
&[data-variant="primary"] {
|
|
3432
3675
|
&[aria-checked="true"] {
|
|
3433
3676
|
background-color: var(--color-green);
|
|
@@ -3458,7 +3701,7 @@ var SwitchVariantsStyles = import_styled_components20.css`
|
|
|
3458
3701
|
}
|
|
3459
3702
|
}
|
|
3460
3703
|
`;
|
|
3461
|
-
var SwitchSizeStyles =
|
|
3704
|
+
var SwitchSizeStyles = import_styled_components22.css`
|
|
3462
3705
|
&[data-size="small"] {
|
|
3463
3706
|
width: calc(var(--measurement-medium-60) * 1.33);
|
|
3464
3707
|
height: var(--measurement-medium-50);
|
|
@@ -3507,14 +3750,14 @@ var SwitchSizeStyles = import_styled_components20.css`
|
|
|
3507
3750
|
}
|
|
3508
3751
|
}
|
|
3509
3752
|
`;
|
|
3510
|
-
var TriggerWrapper =
|
|
3753
|
+
var TriggerWrapper = import_styled_components22.default.button`
|
|
3511
3754
|
&[data-raw="false"] {
|
|
3512
3755
|
${SwitchDefaultStyles}
|
|
3513
3756
|
${SwitchVariantsStyles}
|
|
3514
3757
|
${SwitchSizeStyles}
|
|
3515
3758
|
}
|
|
3516
3759
|
`;
|
|
3517
|
-
var Thumb =
|
|
3760
|
+
var Thumb = import_styled_components22.default.span`
|
|
3518
3761
|
&[data-raw="false"] {
|
|
3519
3762
|
all: unset;
|
|
3520
3763
|
display: block;
|
|
@@ -3548,10 +3791,10 @@ var Switch = (props) => {
|
|
|
3548
3791
|
if (onClick) onClick(event);
|
|
3549
3792
|
if (toggleSwitch) toggleSwitch();
|
|
3550
3793
|
};
|
|
3551
|
-
|
|
3794
|
+
import_react38.default.useEffect(() => {
|
|
3552
3795
|
if (defaultChecked && toggleSwitch) toggleSwitch();
|
|
3553
3796
|
}, [defaultChecked]);
|
|
3554
|
-
return /* @__PURE__ */
|
|
3797
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3555
3798
|
TriggerWrapper,
|
|
3556
3799
|
{
|
|
3557
3800
|
type: "button",
|
|
@@ -3567,19 +3810,19 @@ var Switch = (props) => {
|
|
|
3567
3810
|
"data-raw": Boolean(raw),
|
|
3568
3811
|
...restProps
|
|
3569
3812
|
},
|
|
3570
|
-
/* @__PURE__ */
|
|
3813
|
+
/* @__PURE__ */ import_react38.default.createElement("title", null, "Switch"),
|
|
3571
3814
|
children
|
|
3572
3815
|
);
|
|
3573
3816
|
};
|
|
3574
3817
|
Switch.displayName = "Switch";
|
|
3575
3818
|
var SwitchRoot = ({ children }) => {
|
|
3576
|
-
return /* @__PURE__ */
|
|
3819
|
+
return /* @__PURE__ */ import_react38.default.createElement(SwitchProvider, null, children);
|
|
3577
3820
|
};
|
|
3578
3821
|
SwitchRoot.displayName = "Switch.Root";
|
|
3579
3822
|
var SwitchThumb = (props) => {
|
|
3580
3823
|
const { raw, sizing } = props;
|
|
3581
3824
|
const { id, states } = useSwitch();
|
|
3582
|
-
return /* @__PURE__ */
|
|
3825
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3583
3826
|
Thumb,
|
|
3584
3827
|
{
|
|
3585
3828
|
role: "presentation",
|
|
@@ -3599,11 +3842,11 @@ Switch.Root = SwitchRoot;
|
|
|
3599
3842
|
Switch.Thumb = SwitchThumb;
|
|
3600
3843
|
|
|
3601
3844
|
// src/table/index.tsx
|
|
3602
|
-
var
|
|
3845
|
+
var import_react39 = __toESM(require("react"));
|
|
3603
3846
|
|
|
3604
3847
|
// src/table/styles/index.ts
|
|
3605
|
-
var
|
|
3606
|
-
var CellStyles =
|
|
3848
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3849
|
+
var CellStyles = import_styled_components23.css`
|
|
3607
3850
|
box-sizing: border-box;
|
|
3608
3851
|
border: none;
|
|
3609
3852
|
line-height: 1;
|
|
@@ -3613,11 +3856,11 @@ var CellStyles = import_styled_components21.css`
|
|
|
3613
3856
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
3614
3857
|
);
|
|
3615
3858
|
`;
|
|
3616
|
-
var TableLayer =
|
|
3859
|
+
var TableLayer = import_styled_components23.default.div`
|
|
3617
3860
|
border-radius: var(--measurement-medium-30);
|
|
3618
3861
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
3619
3862
|
`;
|
|
3620
|
-
var TableWrapper =
|
|
3863
|
+
var TableWrapper = import_styled_components23.default.table`
|
|
3621
3864
|
border-collapse: collapse;
|
|
3622
3865
|
|
|
3623
3866
|
tbody {
|
|
@@ -3628,7 +3871,7 @@ var TableWrapper = import_styled_components21.default.table`
|
|
|
3628
3871
|
}
|
|
3629
3872
|
}
|
|
3630
3873
|
`;
|
|
3631
|
-
var RowWrapper =
|
|
3874
|
+
var RowWrapper = import_styled_components23.default.tr`
|
|
3632
3875
|
border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
3633
3876
|
|
|
3634
3877
|
transition: background-color linear 0.1s;
|
|
@@ -3637,7 +3880,7 @@ var RowWrapper = import_styled_components21.default.tr`
|
|
|
3637
3880
|
background-color: var(--font-color-alpha-10);
|
|
3638
3881
|
}
|
|
3639
3882
|
`;
|
|
3640
|
-
var HeadCellWrapper =
|
|
3883
|
+
var HeadCellWrapper = import_styled_components23.default.th`
|
|
3641
3884
|
font-size: var(--fontsize-medium-10);
|
|
3642
3885
|
${CellStyles}
|
|
3643
3886
|
|
|
@@ -3645,7 +3888,7 @@ var HeadCellWrapper = import_styled_components21.default.th`
|
|
|
3645
3888
|
color: var(--font-color-alpha-60);
|
|
3646
3889
|
}
|
|
3647
3890
|
`;
|
|
3648
|
-
var CellWrapper =
|
|
3891
|
+
var CellWrapper = import_styled_components23.default.td`
|
|
3649
3892
|
${CellStyles}
|
|
3650
3893
|
`;
|
|
3651
3894
|
|
|
@@ -3654,43 +3897,43 @@ var Table = ({
|
|
|
3654
3897
|
children,
|
|
3655
3898
|
...restProps
|
|
3656
3899
|
}) => {
|
|
3657
|
-
return /* @__PURE__ */
|
|
3900
|
+
return /* @__PURE__ */ import_react39.default.createElement(ScrollArea, { as: TableLayer, role: "presentation", tabIndex: -1 }, /* @__PURE__ */ import_react39.default.createElement(TableWrapper, { ...restProps, cellSpacing: "0", cellPadding: "0" }, children));
|
|
3658
3901
|
};
|
|
3659
3902
|
Table.displayName = "Table";
|
|
3660
3903
|
var TableHead = ({
|
|
3661
3904
|
children,
|
|
3662
3905
|
...restProps
|
|
3663
3906
|
}) => {
|
|
3664
|
-
return /* @__PURE__ */
|
|
3907
|
+
return /* @__PURE__ */ import_react39.default.createElement("thead", { ...restProps }, children);
|
|
3665
3908
|
};
|
|
3666
3909
|
TableHead.displayName = "Table.Head";
|
|
3667
3910
|
var TableBody = ({
|
|
3668
3911
|
children,
|
|
3669
3912
|
...restProps
|
|
3670
3913
|
}) => {
|
|
3671
|
-
return /* @__PURE__ */
|
|
3914
|
+
return /* @__PURE__ */ import_react39.default.createElement("tbody", { ...restProps }, children);
|
|
3672
3915
|
};
|
|
3673
3916
|
TableBody.displayName = "Table.Body";
|
|
3674
3917
|
var TableHeadCell = ({
|
|
3675
3918
|
children,
|
|
3676
3919
|
...restProps
|
|
3677
3920
|
}) => {
|
|
3678
|
-
return /* @__PURE__ */
|
|
3921
|
+
return /* @__PURE__ */ import_react39.default.createElement(HeadCellWrapper, { colSpan: 1, ...restProps }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
|
|
3679
3922
|
};
|
|
3680
3923
|
TableHeadCell.displayName = "Table.HeadCell";
|
|
3681
3924
|
var TableRow = ({ children, ...restProps }) => {
|
|
3682
|
-
return /* @__PURE__ */
|
|
3925
|
+
return /* @__PURE__ */ import_react39.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
|
|
3683
3926
|
};
|
|
3684
3927
|
TableRow.displayName = "Table.Row";
|
|
3685
3928
|
var TableCell = ({ children, ...restProps }) => {
|
|
3686
|
-
return /* @__PURE__ */
|
|
3929
|
+
return /* @__PURE__ */ import_react39.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react39.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
|
|
3687
3930
|
};
|
|
3688
3931
|
TableCell.displayName = "Table.Cell";
|
|
3689
3932
|
var TableFooter = ({
|
|
3690
3933
|
children,
|
|
3691
3934
|
...restProps
|
|
3692
3935
|
}) => {
|
|
3693
|
-
return /* @__PURE__ */
|
|
3936
|
+
return /* @__PURE__ */ import_react39.default.createElement("tfoot", { ...restProps }, children);
|
|
3694
3937
|
};
|
|
3695
3938
|
TableFooter.displayName = "Table.Footer";
|
|
3696
3939
|
Table.Head = TableHead;
|
|
@@ -3701,24 +3944,26 @@ Table.Cell = TableCell;
|
|
|
3701
3944
|
Table.Footer = TableFooter;
|
|
3702
3945
|
|
|
3703
3946
|
// src/tabs/index.tsx
|
|
3704
|
-
var
|
|
3947
|
+
var import_react41 = __toESM(require("react"));
|
|
3705
3948
|
|
|
3706
3949
|
// src/tabs/hooks/index.tsx
|
|
3707
|
-
var
|
|
3708
|
-
var
|
|
3950
|
+
var import_react40 = __toESM(require("react"));
|
|
3951
|
+
var defaultComponentAPI8 = {
|
|
3709
3952
|
id: "",
|
|
3710
3953
|
states: {},
|
|
3711
3954
|
methods: {}
|
|
3712
3955
|
};
|
|
3713
|
-
var TabsContext = (0,
|
|
3714
|
-
var useTabs = () => (0,
|
|
3715
|
-
var TabsProvider = ({
|
|
3956
|
+
var TabsContext = (0, import_react40.createContext)(defaultComponentAPI8);
|
|
3957
|
+
var useTabs = () => (0, import_react40.useContext)(TabsContext);
|
|
3958
|
+
var TabsProvider = ({
|
|
3959
|
+
children
|
|
3960
|
+
}) => {
|
|
3716
3961
|
const context = useTabsProvider();
|
|
3717
|
-
return /* @__PURE__ */
|
|
3962
|
+
return /* @__PURE__ */ import_react40.default.createElement(TabsContext.Provider, { value: context }, children);
|
|
3718
3963
|
};
|
|
3719
3964
|
function useTabsProvider() {
|
|
3720
|
-
const [value, setValue] = (0,
|
|
3721
|
-
const tabsId =
|
|
3965
|
+
const [value, setValue] = (0, import_react40.useState)(null);
|
|
3966
|
+
const tabsId = import_react40.default.useId();
|
|
3722
3967
|
return {
|
|
3723
3968
|
id: tabsId,
|
|
3724
3969
|
states: {
|
|
@@ -3732,8 +3977,8 @@ function useTabsProvider() {
|
|
|
3732
3977
|
}
|
|
3733
3978
|
|
|
3734
3979
|
// src/tabs/styles/index.ts
|
|
3735
|
-
var
|
|
3736
|
-
var TabWrapper =
|
|
3980
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
3981
|
+
var TabWrapper = import_styled_components24.default.div`
|
|
3737
3982
|
button {
|
|
3738
3983
|
&[aria-selected="true"] {
|
|
3739
3984
|
color: var(--font-color) !important;
|
|
@@ -3746,22 +3991,22 @@ var Tabs = (props) => {
|
|
|
3746
3991
|
const { defaultOpen, children, ...restProps } = props;
|
|
3747
3992
|
const { methods } = useTabs();
|
|
3748
3993
|
const { applyValue } = methods;
|
|
3749
|
-
const childArray =
|
|
3994
|
+
const childArray = import_react41.Children.toArray(children);
|
|
3750
3995
|
const firstChild = childArray[0];
|
|
3751
|
-
|
|
3752
|
-
if (
|
|
3996
|
+
import_react41.default.useEffect(() => {
|
|
3997
|
+
if (import_react41.default.isValidElement(firstChild)) {
|
|
3753
3998
|
if (childArray.length > 0 && applyValue)
|
|
3754
3999
|
applyValue(firstChild.props.value);
|
|
3755
4000
|
}
|
|
3756
4001
|
}, []);
|
|
3757
|
-
|
|
4002
|
+
import_react41.default.useEffect(() => {
|
|
3758
4003
|
if (defaultOpen && applyValue) applyValue(defaultOpen);
|
|
3759
4004
|
}, []);
|
|
3760
|
-
return /* @__PURE__ */
|
|
4005
|
+
return /* @__PURE__ */ import_react41.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
|
|
3761
4006
|
};
|
|
3762
4007
|
Tabs.displayName = "Tabs";
|
|
3763
4008
|
var TabsRoot = ({ children }) => {
|
|
3764
|
-
return /* @__PURE__ */
|
|
4009
|
+
return /* @__PURE__ */ import_react41.default.createElement(TabsProvider, null, children);
|
|
3765
4010
|
};
|
|
3766
4011
|
TabsRoot.displayName = "Tabs.Root";
|
|
3767
4012
|
var TabsTrigger = (props) => {
|
|
@@ -3777,7 +4022,7 @@ var TabsTrigger = (props) => {
|
|
|
3777
4022
|
if (applyValue) applyValue(value);
|
|
3778
4023
|
if (onClick) onClick(event);
|
|
3779
4024
|
};
|
|
3780
|
-
return /* @__PURE__ */
|
|
4025
|
+
return /* @__PURE__ */ import_react41.default.createElement(
|
|
3781
4026
|
Button,
|
|
3782
4027
|
{
|
|
3783
4028
|
type: "button",
|
|
@@ -3805,7 +4050,7 @@ var TabsContent = (props) => {
|
|
|
3805
4050
|
trigger: getTabsId && getTabsId({ value, type: "trigger" }),
|
|
3806
4051
|
content: getTabsId && getTabsId({ value, type: "content" })
|
|
3807
4052
|
};
|
|
3808
|
-
return /* @__PURE__ */
|
|
4053
|
+
return /* @__PURE__ */ import_react41.default.createElement(
|
|
3809
4054
|
"div",
|
|
3810
4055
|
{
|
|
3811
4056
|
tabIndex: 0,
|
|
@@ -3826,11 +4071,11 @@ Tabs.Trigger = TabsTrigger;
|
|
|
3826
4071
|
Tabs.Content = TabsContent;
|
|
3827
4072
|
|
|
3828
4073
|
// src/text-area/index.tsx
|
|
3829
|
-
var
|
|
4074
|
+
var import_react42 = __toESM(require("react"));
|
|
3830
4075
|
|
|
3831
4076
|
// src/text-area/styles/index.ts
|
|
3832
|
-
var
|
|
3833
|
-
var CustomScrollbar2 =
|
|
4077
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
4078
|
+
var CustomScrollbar2 = import_styled_components25.css`
|
|
3834
4079
|
height: ${({ $height }) => $height ?? "100%"};
|
|
3835
4080
|
width: ${({ $width }) => $width ?? "100%"};
|
|
3836
4081
|
overflow-y: auto;
|
|
@@ -3862,80 +4107,36 @@ var CustomScrollbar2 = import_styled_components23.css`
|
|
|
3862
4107
|
scrollbar-width: thin;
|
|
3863
4108
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
|
|
3864
4109
|
`;
|
|
3865
|
-
var
|
|
3866
|
-
|
|
3867
|
-
|
|
3868
|
-
max-height: var(--measurement-large-60);
|
|
3869
|
-
min-height: auto;
|
|
3870
|
-
width: 100%;
|
|
3871
|
-
|
|
3872
|
-
overflow-y: auto;
|
|
3873
|
-
|
|
3874
|
-
outline: none;
|
|
3875
|
-
cursor: pointer;
|
|
3876
|
-
display: flex;
|
|
3877
|
-
align-items: center;
|
|
3878
|
-
justify-content: center;
|
|
3879
|
-
|
|
3880
|
-
font-size: var(--fontsize-small-80);
|
|
3881
|
-
padding: var(--measurement-medium-30) var(--measurement-medium-30)
|
|
3882
|
-
var(--measurement-large-10) var(--measurement-medium-30);
|
|
3883
|
-
|
|
3884
|
-
font-weight: 500;
|
|
3885
|
-
line-height: 1.1;
|
|
3886
|
-
letter-spacing: calc(
|
|
3887
|
-
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
3888
|
-
);
|
|
3889
|
-
|
|
3890
|
-
border: var(--measurement-small-10) solid transparent;
|
|
3891
|
-
border-radius: var(--measurement-medium-30);
|
|
3892
|
-
backdrop-filter: blur(var(--measurement-small-10));
|
|
3893
|
-
color: var(--font-color-alpha-60);
|
|
3894
|
-
|
|
3895
|
-
transition: all ease-in-out 0.2s;
|
|
3896
|
-
|
|
3897
|
-
svg,
|
|
3898
|
-
span,
|
|
3899
|
-
img {
|
|
3900
|
-
opacity: 0.6;
|
|
3901
|
-
}
|
|
3902
|
-
|
|
3903
|
-
&:hover,
|
|
3904
|
-
&:focus,
|
|
3905
|
-
&:active {
|
|
3906
|
-
color: var(--font-color);
|
|
3907
|
-
|
|
3908
|
-
svg,
|
|
3909
|
-
span,
|
|
3910
|
-
img {
|
|
3911
|
-
opacity: 1;
|
|
3912
|
-
}
|
|
3913
|
-
}
|
|
3914
|
-
&::placeholder {
|
|
3915
|
-
color: var(--font-color-alpha-30);
|
|
3916
|
-
}
|
|
3917
|
-
&:disabled {
|
|
3918
|
-
cursor: not-allowed;
|
|
3919
|
-
opacity: 0.6;
|
|
3920
|
-
}
|
|
3921
|
-
|
|
3922
|
-
&::placeholder {
|
|
3923
|
-
color: var(--font-color-alpha-30);
|
|
3924
|
-
}
|
|
3925
|
-
|
|
3926
|
-
&:focus-visible {
|
|
3927
|
-
outline: none;
|
|
3928
|
-
}
|
|
4110
|
+
var TextareaSizeStyles = import_styled_components25.css`
|
|
4111
|
+
padding: var(--measurement-medium-30);
|
|
4112
|
+
max-height: var(--measurement-large-60);
|
|
3929
4113
|
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
4114
|
+
&[data-size="small"] {
|
|
4115
|
+
min-height: var(--measurement-large-30);
|
|
4116
|
+
}
|
|
4117
|
+
&[data-size="medium"] {
|
|
4118
|
+
min-height: var(--measurement-large-50);
|
|
4119
|
+
}
|
|
4120
|
+
&[data-size="large"] {
|
|
4121
|
+
min-height: var(--measurement-large-60);
|
|
4122
|
+
max-height: var(--measurement-large-80);
|
|
4123
|
+
}
|
|
4124
|
+
`;
|
|
4125
|
+
var TextareaResizableStyles = import_styled_components25.css`
|
|
4126
|
+
&[data-resizable="true"] {
|
|
4127
|
+
resize: vertical;
|
|
4128
|
+
}
|
|
4129
|
+
&[data-resizable="false"] {
|
|
4130
|
+
resize: none;
|
|
4131
|
+
}
|
|
4132
|
+
`;
|
|
4133
|
+
var TextAreaContainer = import_styled_components25.default.textarea`
|
|
4134
|
+
&[data-raw="false"] {
|
|
4135
|
+
${FieldDefaultStyles}
|
|
4136
|
+
${FieldShapeStyles}
|
|
3933
4137
|
|
|
3934
|
-
|
|
3935
|
-
|
|
3936
|
-
color: var(--alpha-red-30);
|
|
3937
|
-
}
|
|
3938
|
-
}
|
|
4138
|
+
${TextareaSizeStyles}
|
|
4139
|
+
${TextareaResizableStyles}
|
|
3939
4140
|
|
|
3940
4141
|
${CustomScrollbar2}
|
|
3941
4142
|
${FieldVariantsStyles}
|
|
@@ -3943,8 +4144,9 @@ var TextAreaContainer = import_styled_components23.default.textarea`
|
|
|
3943
4144
|
`;
|
|
3944
4145
|
|
|
3945
4146
|
// src/text-area/index.tsx
|
|
3946
|
-
var Textarea = (
|
|
3947
|
-
const
|
|
4147
|
+
var Textarea = (props) => {
|
|
4148
|
+
const { raw, shape, sizing, variant, resizable, onChange } = props;
|
|
4149
|
+
const textareaRef = import_react42.default.useRef(null);
|
|
3948
4150
|
const adjustHeight = () => {
|
|
3949
4151
|
const textarea = textareaRef.current;
|
|
3950
4152
|
if (textarea) {
|
|
@@ -3959,37 +4161,40 @@ var Textarea = ({ onChange, ...props }) => {
|
|
|
3959
4161
|
adjustHeight();
|
|
3960
4162
|
onChange?.(e);
|
|
3961
4163
|
};
|
|
3962
|
-
|
|
3963
|
-
return /* @__PURE__ */
|
|
4164
|
+
import_react42.default.useEffect(() => adjustHeight(), [props.value]);
|
|
4165
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3964
4166
|
TextAreaContainer,
|
|
3965
4167
|
{
|
|
3966
4168
|
ref: textareaRef,
|
|
3967
4169
|
onChange: handleChange,
|
|
3968
|
-
"data-variant":
|
|
3969
|
-
"data-
|
|
4170
|
+
"data-variant": variant ?? "secondary",
|
|
4171
|
+
"data-shape": shape ?? "smooth",
|
|
4172
|
+
"data-size": sizing ?? "medium" /* Medium */,
|
|
4173
|
+
"data-resizable": resizable,
|
|
4174
|
+
"data-raw": String(Boolean(raw)),
|
|
3970
4175
|
...props
|
|
3971
4176
|
}
|
|
3972
|
-
)
|
|
4177
|
+
);
|
|
3973
4178
|
};
|
|
3974
4179
|
Textarea.displayName = "Textarea";
|
|
3975
4180
|
|
|
3976
4181
|
// src/toggle/index.tsx
|
|
3977
|
-
var
|
|
4182
|
+
var import_react43 = __toESM(require("react"));
|
|
3978
4183
|
var Toggle = (props) => {
|
|
3979
4184
|
const { defaultChecked, onClick, disabled, children, ...restProps } = props;
|
|
3980
|
-
const [checked, setChecked] =
|
|
4185
|
+
const [checked, setChecked] = import_react43.default.useState(
|
|
3981
4186
|
defaultChecked ?? false
|
|
3982
4187
|
);
|
|
3983
4188
|
const handleClick = (event) => {
|
|
3984
4189
|
if (onClick) onClick(event);
|
|
3985
4190
|
if (!disabled) setChecked((prevChecked) => !prevChecked);
|
|
3986
4191
|
};
|
|
3987
|
-
|
|
4192
|
+
import_react43.default.useEffect(() => {
|
|
3988
4193
|
if (defaultChecked !== void 0) {
|
|
3989
4194
|
setChecked(Boolean(defaultChecked));
|
|
3990
4195
|
}
|
|
3991
4196
|
}, [defaultChecked]);
|
|
3992
|
-
return /* @__PURE__ */
|
|
4197
|
+
return /* @__PURE__ */ import_react43.default.createElement(
|
|
3993
4198
|
Button,
|
|
3994
4199
|
{
|
|
3995
4200
|
role: "switch",
|
|
@@ -4007,24 +4212,26 @@ var Toggle = (props) => {
|
|
|
4007
4212
|
Toggle.displayName = "Toggle";
|
|
4008
4213
|
|
|
4009
4214
|
// src/toolbar/index.tsx
|
|
4010
|
-
var
|
|
4215
|
+
var import_react45 = __toESM(require("react"));
|
|
4011
4216
|
|
|
4012
4217
|
// src/toolbar/hooks/index.tsx
|
|
4013
|
-
var
|
|
4014
|
-
var
|
|
4218
|
+
var import_react44 = __toESM(require("react"));
|
|
4219
|
+
var defaultComponentAPI9 = {
|
|
4015
4220
|
id: "",
|
|
4016
4221
|
states: {},
|
|
4017
4222
|
methods: {}
|
|
4018
4223
|
};
|
|
4019
|
-
var ToolbarContext = (0,
|
|
4020
|
-
var useToolbar = () => (0,
|
|
4021
|
-
var ToolbarProvider = ({
|
|
4224
|
+
var ToolbarContext = (0, import_react44.createContext)(defaultComponentAPI9);
|
|
4225
|
+
var useToolbar = () => (0, import_react44.useContext)(ToolbarContext);
|
|
4226
|
+
var ToolbarProvider = ({
|
|
4227
|
+
children
|
|
4228
|
+
}) => {
|
|
4022
4229
|
const context = useToolbarProvider();
|
|
4023
|
-
return /* @__PURE__ */
|
|
4230
|
+
return /* @__PURE__ */ import_react44.default.createElement(ToolbarContext.Provider, { value: context }, children);
|
|
4024
4231
|
};
|
|
4025
4232
|
function useToolbarProvider() {
|
|
4026
|
-
const [expanded, setExpanded] = (0,
|
|
4027
|
-
const toolbarId =
|
|
4233
|
+
const [expanded, setExpanded] = (0, import_react44.useState)(false);
|
|
4234
|
+
const toolbarId = import_react44.default.useId();
|
|
4028
4235
|
return {
|
|
4029
4236
|
id: toolbarId,
|
|
4030
4237
|
states: {
|
|
@@ -4037,8 +4244,8 @@ function useToolbarProvider() {
|
|
|
4037
4244
|
}
|
|
4038
4245
|
|
|
4039
4246
|
// src/toolbar/styles/index.ts
|
|
4040
|
-
var
|
|
4041
|
-
var ToolbarDefaultStyles =
|
|
4247
|
+
var import_styled_components26 = __toESM(require("styled-components"));
|
|
4248
|
+
var ToolbarDefaultStyles = import_styled_components26.css`
|
|
4042
4249
|
margin: 0;
|
|
4043
4250
|
display: grid;
|
|
4044
4251
|
grid-template-rows: min-content;
|
|
@@ -4072,7 +4279,7 @@ var ToolbarDefaultStyles = import_styled_components24.css`
|
|
|
4072
4279
|
}
|
|
4073
4280
|
}
|
|
4074
4281
|
`;
|
|
4075
|
-
var ToolbarSizeStyles =
|
|
4282
|
+
var ToolbarSizeStyles = import_styled_components26.css`
|
|
4076
4283
|
&[data-size="small"] {
|
|
4077
4284
|
&[aria-orientation="vertical"] {
|
|
4078
4285
|
max-width: var(--measurement-large-70);
|
|
@@ -4118,7 +4325,7 @@ var ToolbarSizeStyles = import_styled_components24.css`
|
|
|
4118
4325
|
}
|
|
4119
4326
|
}
|
|
4120
4327
|
`;
|
|
4121
|
-
var ToolbarSideStyles =
|
|
4328
|
+
var ToolbarSideStyles = import_styled_components26.css`
|
|
4122
4329
|
&[data-side="top"] {
|
|
4123
4330
|
border-bottom-color: var(--font-color-alpha-10);
|
|
4124
4331
|
}
|
|
@@ -4150,7 +4357,7 @@ var ToolbarSideStyles = import_styled_components24.css`
|
|
|
4150
4357
|
}
|
|
4151
4358
|
}
|
|
4152
4359
|
`;
|
|
4153
|
-
var ToolbarWrapper =
|
|
4360
|
+
var ToolbarWrapper = import_styled_components26.default.menu`
|
|
4154
4361
|
&[data-raw="false"] {
|
|
4155
4362
|
${ToolbarDefaultStyles}
|
|
4156
4363
|
${ToolbarSizeStyles}
|
|
@@ -4158,7 +4365,7 @@ var ToolbarWrapper = import_styled_components24.default.menu`
|
|
|
4158
4365
|
${ToolbarSideStyles}
|
|
4159
4366
|
}
|
|
4160
4367
|
`;
|
|
4161
|
-
var ToolbarTriggerWrapper =
|
|
4368
|
+
var ToolbarTriggerWrapper = import_styled_components26.default.menu`
|
|
4162
4369
|
&[data-raw="false"] {
|
|
4163
4370
|
all: unset;
|
|
4164
4371
|
align-self: flex-end;
|
|
@@ -4183,13 +4390,13 @@ var Toolbar = (props) => {
|
|
|
4183
4390
|
const { toggleToolbar } = methods;
|
|
4184
4391
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
4185
4392
|
const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
|
|
4186
|
-
|
|
4393
|
+
import_react45.default.useEffect(() => {
|
|
4187
4394
|
if (defaultOpen && toggleToolbar) return toggleToolbar(true);
|
|
4188
4395
|
}, [defaultOpen]);
|
|
4189
|
-
|
|
4396
|
+
import_react45.default.useEffect(() => {
|
|
4190
4397
|
if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
|
|
4191
4398
|
}, [shortcutControls]);
|
|
4192
|
-
return /* @__PURE__ */
|
|
4399
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
4193
4400
|
ToolbarWrapper,
|
|
4194
4401
|
{
|
|
4195
4402
|
id,
|
|
@@ -4209,7 +4416,7 @@ var Toolbar = (props) => {
|
|
|
4209
4416
|
};
|
|
4210
4417
|
Toolbar.displayName = "Toolbar";
|
|
4211
4418
|
var ToolbarRoot = ({ children }) => {
|
|
4212
|
-
return /* @__PURE__ */
|
|
4419
|
+
return /* @__PURE__ */ import_react45.default.createElement(ToolbarProvider, null, children);
|
|
4213
4420
|
};
|
|
4214
4421
|
ToolbarRoot.displayName = "Toolbar.Root";
|
|
4215
4422
|
var ToolbarTrigger = (props) => {
|
|
@@ -4227,7 +4434,7 @@ var ToolbarTrigger = (props) => {
|
|
|
4227
4434
|
if (onClick) onClick(event);
|
|
4228
4435
|
if (toggleToolbar) toggleToolbar(!states.expanded);
|
|
4229
4436
|
};
|
|
4230
|
-
return /* @__PURE__ */
|
|
4437
|
+
return /* @__PURE__ */ import_react45.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react45.default.createElement(
|
|
4231
4438
|
Button,
|
|
4232
4439
|
{
|
|
4233
4440
|
id: `${id}-trigger`,
|
|
@@ -4245,13 +4452,13 @@ var ToolbarSection = (props) => {
|
|
|
4245
4452
|
const { showoncollapse, children, ...restProps } = props;
|
|
4246
4453
|
const { states } = useToolbar();
|
|
4247
4454
|
const { expanded } = states;
|
|
4248
|
-
if (showoncollapse) return /* @__PURE__ */
|
|
4249
|
-
return /* @__PURE__ */
|
|
4455
|
+
if (showoncollapse) return /* @__PURE__ */ import_react45.default.createElement("section", { ...restProps }, children);
|
|
4456
|
+
return /* @__PURE__ */ import_react45.default.createElement("section", { ...restProps }, expanded && children);
|
|
4250
4457
|
};
|
|
4251
4458
|
ToolbarSection.displayName = "Toolbar.Section";
|
|
4252
4459
|
var ToolbarItem = (props) => {
|
|
4253
4460
|
const { showfirstchild, onClick, children, ...restProps } = props;
|
|
4254
|
-
const childArray =
|
|
4461
|
+
const childArray = import_react45.default.Children.toArray(children);
|
|
4255
4462
|
const { id, states, methods } = useToolbar();
|
|
4256
4463
|
const { expanded } = states;
|
|
4257
4464
|
const { toggleToolbar } = methods;
|
|
@@ -4260,7 +4467,7 @@ var ToolbarItem = (props) => {
|
|
|
4260
4467
|
if (onClick) onClick(event);
|
|
4261
4468
|
if (toggleToolbar && !expanded) toggleToolbar(true);
|
|
4262
4469
|
};
|
|
4263
|
-
return /* @__PURE__ */
|
|
4470
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
4264
4471
|
"div",
|
|
4265
4472
|
{
|
|
4266
4473
|
tabIndex: -1,
|
|
@@ -4281,11 +4488,11 @@ Toolbar.Item = ToolbarItem;
|
|
|
4281
4488
|
Toolbar.Section = ToolbarSection;
|
|
4282
4489
|
|
|
4283
4490
|
// src/tooltip/index.tsx
|
|
4284
|
-
var
|
|
4491
|
+
var import_react46 = __toESM(require("react"));
|
|
4285
4492
|
|
|
4286
4493
|
// src/tooltip/styles/index.ts
|
|
4287
|
-
var
|
|
4288
|
-
var FadeIn2 =
|
|
4494
|
+
var import_styled_components27 = __toESM(require("styled-components"));
|
|
4495
|
+
var FadeIn2 = import_styled_components27.keyframes`
|
|
4289
4496
|
0% {
|
|
4290
4497
|
opacity: 0;
|
|
4291
4498
|
}
|
|
@@ -4293,11 +4500,11 @@ var FadeIn2 = import_styled_components25.keyframes`
|
|
|
4293
4500
|
opacity: 1;
|
|
4294
4501
|
}
|
|
4295
4502
|
`;
|
|
4296
|
-
var ContentBox =
|
|
4503
|
+
var ContentBox = import_styled_components27.default.div`
|
|
4297
4504
|
display: inline-block;
|
|
4298
4505
|
position: relative;
|
|
4299
4506
|
`;
|
|
4300
|
-
var ContentWrapper2 =
|
|
4507
|
+
var ContentWrapper2 = import_styled_components27.default.span`
|
|
4301
4508
|
&[data-raw="false"] {
|
|
4302
4509
|
width: fit-content;
|
|
4303
4510
|
max-width: var(--measurement-large-60);
|
|
@@ -4328,19 +4535,20 @@ var Tooltip = ({
|
|
|
4328
4535
|
children,
|
|
4329
4536
|
...restProps
|
|
4330
4537
|
}) => {
|
|
4331
|
-
const [visible, setVisible] =
|
|
4332
|
-
const [triggerProps, setTriggerProps] =
|
|
4333
|
-
const [contentProps, setContentProps] =
|
|
4334
|
-
const mounted =
|
|
4335
|
-
const containerRef =
|
|
4336
|
-
const contentRef =
|
|
4337
|
-
const timeoutRef =
|
|
4538
|
+
const [visible, setVisible] = import_react46.default.useState(false);
|
|
4539
|
+
const [triggerProps, setTriggerProps] = import_react46.default.useState(null);
|
|
4540
|
+
const [contentProps, setContentProps] = import_react46.default.useState(null);
|
|
4541
|
+
const mounted = import_react46.default.useRef(false);
|
|
4542
|
+
const containerRef = import_react46.default.useRef(null);
|
|
4543
|
+
const contentRef = import_react46.default.useRef(null);
|
|
4544
|
+
const timeoutRef = import_react46.default.useRef(null);
|
|
4338
4545
|
const contentRect = () => contentRef?.current?.getBoundingClientRect();
|
|
4339
|
-
const bodyRect =
|
|
4546
|
+
const bodyRect = () => {
|
|
4340
4547
|
if (typeof document !== "undefined") {
|
|
4341
|
-
return document
|
|
4548
|
+
return document?.body?.getBoundingClientRect();
|
|
4342
4549
|
}
|
|
4343
|
-
|
|
4550
|
+
return void 0;
|
|
4551
|
+
};
|
|
4344
4552
|
const positions = {
|
|
4345
4553
|
btt: `calc((${triggerProps?.top}px - ${contentProps?.height}px) - (var(--measurement-medium-10)))`,
|
|
4346
4554
|
ttb: `calc((${triggerProps?.top}px + ${triggerProps?.height}px) + var(--measurement-medium-10))`,
|
|
@@ -4357,14 +4565,14 @@ var Tooltip = ({
|
|
|
4357
4565
|
};
|
|
4358
4566
|
const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
|
|
4359
4567
|
const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
|
|
4360
|
-
const showTooltip =
|
|
4568
|
+
const showTooltip = import_react46.default.useCallback(() => {
|
|
4361
4569
|
timeoutRef.current = setTimeout(() => setVisible(true), delay);
|
|
4362
4570
|
}, [delay]);
|
|
4363
|
-
const hideTooltip =
|
|
4571
|
+
const hideTooltip = import_react46.default.useCallback(() => {
|
|
4364
4572
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
4365
4573
|
setVisible(false);
|
|
4366
4574
|
}, []);
|
|
4367
|
-
const handleMouseEnter =
|
|
4575
|
+
const handleMouseEnter = import_react46.default.useCallback(() => {
|
|
4368
4576
|
const rect = containerRef.current?.getBoundingClientRect();
|
|
4369
4577
|
if (rect) {
|
|
4370
4578
|
setTriggerProps({
|
|
@@ -4378,11 +4586,11 @@ var Tooltip = ({
|
|
|
4378
4586
|
showTooltip();
|
|
4379
4587
|
}
|
|
4380
4588
|
}, [showTooltip]);
|
|
4381
|
-
const handleMouseLeave =
|
|
4589
|
+
const handleMouseLeave = import_react46.default.useCallback(
|
|
4382
4590
|
() => hideTooltip(),
|
|
4383
4591
|
[hideTooltip]
|
|
4384
4592
|
);
|
|
4385
|
-
|
|
4593
|
+
import_react46.default.useEffect(() => {
|
|
4386
4594
|
mounted.current = true;
|
|
4387
4595
|
setContentProps && setContentProps({
|
|
4388
4596
|
top: Number(contentRect()?.top),
|
|
@@ -4396,7 +4604,7 @@ var Tooltip = ({
|
|
|
4396
4604
|
mounted.current = false;
|
|
4397
4605
|
};
|
|
4398
4606
|
}, [visible]);
|
|
4399
|
-
return /* @__PURE__ */
|
|
4607
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
4400
4608
|
ContentBox,
|
|
4401
4609
|
{
|
|
4402
4610
|
ref: containerRef,
|
|
@@ -4406,7 +4614,7 @@ var Tooltip = ({
|
|
|
4406
4614
|
...restProps
|
|
4407
4615
|
},
|
|
4408
4616
|
children,
|
|
4409
|
-
visible && /* @__PURE__ */
|
|
4617
|
+
visible && /* @__PURE__ */ import_react46.default.createElement(
|
|
4410
4618
|
ContentWrapper2,
|
|
4411
4619
|
{
|
|
4412
4620
|
ref: contentRef,
|
|
@@ -4421,11 +4629,223 @@ var Tooltip = ({
|
|
|
4421
4629
|
"data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
|
|
4422
4630
|
"data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
|
|
4423
4631
|
},
|
|
4424
|
-
/* @__PURE__ */
|
|
4632
|
+
/* @__PURE__ */ import_react46.default.createElement("div", null, content)
|
|
4425
4633
|
)
|
|
4426
4634
|
);
|
|
4427
4635
|
};
|
|
4428
4636
|
Tooltip.displayName = "Tooltip";
|
|
4637
|
+
|
|
4638
|
+
// src/tree/index.tsx
|
|
4639
|
+
var import_react49 = __toESM(require("react"));
|
|
4640
|
+
|
|
4641
|
+
// src/tree/hooks/tree-provider.tsx
|
|
4642
|
+
var import_react47 = __toESM(require("react"));
|
|
4643
|
+
var defaultTreeAPI = {
|
|
4644
|
+
id: "",
|
|
4645
|
+
states: {},
|
|
4646
|
+
methods: {}
|
|
4647
|
+
};
|
|
4648
|
+
var TreeContext = (0, import_react47.createContext)(defaultTreeAPI);
|
|
4649
|
+
var useTree = () => (0, import_react47.useContext)(TreeContext);
|
|
4650
|
+
var TreeProvider = ({
|
|
4651
|
+
children,
|
|
4652
|
+
defaultExpandedIds = [],
|
|
4653
|
+
onSelectionChange
|
|
4654
|
+
}) => {
|
|
4655
|
+
const context = useTreeProviderContext({
|
|
4656
|
+
defaultExpandedIds,
|
|
4657
|
+
onSelectionChange
|
|
4658
|
+
});
|
|
4659
|
+
return /* @__PURE__ */ import_react47.default.createElement(TreeContext.Provider, { value: context }, children);
|
|
4660
|
+
};
|
|
4661
|
+
function useTreeProviderContext({
|
|
4662
|
+
defaultExpandedIds,
|
|
4663
|
+
onSelectionChange
|
|
4664
|
+
}) {
|
|
4665
|
+
const treeId = import_react47.default.useId();
|
|
4666
|
+
const [expandedIds, setExpandedIds] = (0, import_react47.useState)(
|
|
4667
|
+
() => new Set(defaultExpandedIds)
|
|
4668
|
+
);
|
|
4669
|
+
const [selectedIds, setSelectedIds] = (0, import_react47.useState)(() => /* @__PURE__ */ new Set());
|
|
4670
|
+
return {
|
|
4671
|
+
id: treeId,
|
|
4672
|
+
states: {
|
|
4673
|
+
expandedIds,
|
|
4674
|
+
selectedIds
|
|
4675
|
+
},
|
|
4676
|
+
methods: {
|
|
4677
|
+
isExpanded: (id) => expandedIds.has(id),
|
|
4678
|
+
isSelected: (id) => selectedIds.has(id),
|
|
4679
|
+
toggleExpanded: (id) => {
|
|
4680
|
+
setExpandedIds((prev) => {
|
|
4681
|
+
const next = new Set(prev);
|
|
4682
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
4683
|
+
return next;
|
|
4684
|
+
});
|
|
4685
|
+
},
|
|
4686
|
+
toggleSelected: (id) => {
|
|
4687
|
+
setSelectedIds((prev) => {
|
|
4688
|
+
const next = new Set(prev);
|
|
4689
|
+
next.has(id) ? next.delete(id) : next.add(id);
|
|
4690
|
+
onSelectionChange?.(Array.from(next));
|
|
4691
|
+
return next;
|
|
4692
|
+
});
|
|
4693
|
+
},
|
|
4694
|
+
getTreeId: ({ nodeId, type }) => `${treeId}-${type}-${nodeId}`
|
|
4695
|
+
}
|
|
4696
|
+
};
|
|
4697
|
+
}
|
|
4698
|
+
|
|
4699
|
+
// src/tree/hooks/tree-node-provider.tsx
|
|
4700
|
+
var import_react48 = __toESM(require("react"));
|
|
4701
|
+
var defaultTreeNodeAPI = {
|
|
4702
|
+
id: "",
|
|
4703
|
+
states: {},
|
|
4704
|
+
methods: {}
|
|
4705
|
+
};
|
|
4706
|
+
var TreeNodeContext = (0, import_react48.createContext)(defaultTreeNodeAPI);
|
|
4707
|
+
var useTreeNode = () => (0, import_react48.useContext)(TreeNodeContext);
|
|
4708
|
+
var TreeNodeProvider = ({
|
|
4709
|
+
children,
|
|
4710
|
+
nodeId,
|
|
4711
|
+
level,
|
|
4712
|
+
isLast
|
|
4713
|
+
}) => {
|
|
4714
|
+
const context = useTreeNodeProviderContext({ nodeId, level, isLast });
|
|
4715
|
+
return /* @__PURE__ */ import_react48.default.createElement(TreeNodeContext.Provider, { value: context }, children);
|
|
4716
|
+
};
|
|
4717
|
+
function useTreeNodeProviderContext({
|
|
4718
|
+
nodeId,
|
|
4719
|
+
level,
|
|
4720
|
+
isLast
|
|
4721
|
+
}) {
|
|
4722
|
+
return {
|
|
4723
|
+
id: nodeId,
|
|
4724
|
+
states: {
|
|
4725
|
+
nodeId,
|
|
4726
|
+
level,
|
|
4727
|
+
isLast
|
|
4728
|
+
},
|
|
4729
|
+
methods: {}
|
|
4730
|
+
};
|
|
4731
|
+
}
|
|
4732
|
+
|
|
4733
|
+
// src/tree/styles/index.ts
|
|
4734
|
+
var import_styled_components28 = __toESM(require("styled-components"));
|
|
4735
|
+
var TreeView = import_styled_components28.default.ul`
|
|
4736
|
+
display: flex;
|
|
4737
|
+
flex-direction: column;
|
|
4738
|
+
list-style: none;
|
|
4739
|
+
margin: 0;
|
|
4740
|
+
padding: 0;
|
|
4741
|
+
`;
|
|
4742
|
+
var TreeItem = import_styled_components28.default.li`
|
|
4743
|
+
display: flex;
|
|
4744
|
+
flex-direction: column;
|
|
4745
|
+
list-style: none;
|
|
4746
|
+
`;
|
|
4747
|
+
var TreeNodeContent = import_styled_components28.default.ul`
|
|
4748
|
+
display: flex;
|
|
4749
|
+
flex-direction: column;
|
|
4750
|
+
list-style: none;
|
|
4751
|
+
margin: 0;
|
|
4752
|
+
padding: 0;
|
|
4753
|
+
`;
|
|
4754
|
+
|
|
4755
|
+
// src/tree/index.tsx
|
|
4756
|
+
var Tree = (props) => {
|
|
4757
|
+
const { children, ...restProps } = props;
|
|
4758
|
+
const { id } = useTree();
|
|
4759
|
+
return /* @__PURE__ */ import_react49.default.createElement(TreeView, { id, role: "tree", ...restProps }, children);
|
|
4760
|
+
};
|
|
4761
|
+
Tree.displayName = "Tree";
|
|
4762
|
+
var TreeRoot = ({
|
|
4763
|
+
children,
|
|
4764
|
+
defaultExpandedIds,
|
|
4765
|
+
onSelectionChange
|
|
4766
|
+
}) => {
|
|
4767
|
+
return /* @__PURE__ */ import_react49.default.createElement(
|
|
4768
|
+
TreeProvider,
|
|
4769
|
+
{
|
|
4770
|
+
defaultExpandedIds,
|
|
4771
|
+
onSelectionChange
|
|
4772
|
+
},
|
|
4773
|
+
children
|
|
4774
|
+
);
|
|
4775
|
+
};
|
|
4776
|
+
TreeRoot.displayName = "Tree.Root";
|
|
4777
|
+
var TreeNode = (props) => {
|
|
4778
|
+
const { nodeId, level = 0, isLast = false, children, ...restProps } = props;
|
|
4779
|
+
return /* @__PURE__ */ import_react49.default.createElement(TreeNodeProvider, { nodeId, level, isLast }, /* @__PURE__ */ import_react49.default.createElement(TreeItem, { role: "treeitem", "aria-level": level + 1, ...restProps }, children));
|
|
4780
|
+
};
|
|
4781
|
+
TreeNode.displayName = "Tree.Node";
|
|
4782
|
+
var TreeTrigger = (props) => {
|
|
4783
|
+
const { nodeId, disabled, onClick, children, ...restProps } = props;
|
|
4784
|
+
const { methods } = useTree();
|
|
4785
|
+
const { getTreeId, toggleExpanded, toggleSelected } = methods;
|
|
4786
|
+
const isExpanded = methods.isExpanded && methods.isExpanded(nodeId);
|
|
4787
|
+
const isSelected = methods.isSelected && methods.isSelected(nodeId);
|
|
4788
|
+
const IdHandler = {
|
|
4789
|
+
trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
|
|
4790
|
+
content: getTreeId && getTreeId({ nodeId, type: "content" })
|
|
4791
|
+
};
|
|
4792
|
+
const { states: nodeStates } = useTreeNode();
|
|
4793
|
+
const level = nodeStates.level ?? 0;
|
|
4794
|
+
const handleClick = (event) => {
|
|
4795
|
+
if (!disabled) {
|
|
4796
|
+
onClick && onClick(event);
|
|
4797
|
+
toggleExpanded && toggleExpanded(nodeId);
|
|
4798
|
+
toggleSelected && toggleSelected(nodeId);
|
|
4799
|
+
}
|
|
4800
|
+
};
|
|
4801
|
+
return /* @__PURE__ */ import_react49.default.createElement(
|
|
4802
|
+
Button,
|
|
4803
|
+
{
|
|
4804
|
+
id: String(IdHandler.trigger),
|
|
4805
|
+
disabled: disabled ?? false,
|
|
4806
|
+
onClick: handleClick,
|
|
4807
|
+
"data-state": isExpanded ? "expanded" : "collapsed",
|
|
4808
|
+
"data-selected": isSelected || void 0,
|
|
4809
|
+
variant: props.variant ?? "ghost" /* Ghost */,
|
|
4810
|
+
style: { paddingLeft: `calc(${level} * 1rem + 0.5rem)` },
|
|
4811
|
+
rawicon: true,
|
|
4812
|
+
...restProps
|
|
4813
|
+
},
|
|
4814
|
+
children
|
|
4815
|
+
);
|
|
4816
|
+
};
|
|
4817
|
+
TreeTrigger.displayName = "Tree.Trigger";
|
|
4818
|
+
var TreeContent = (props) => {
|
|
4819
|
+
const { nodeId, defaultOpen = false, children, ...restProps } = props;
|
|
4820
|
+
const { methods } = useTree();
|
|
4821
|
+
const { getTreeId, toggleExpanded } = methods;
|
|
4822
|
+
const isExpanded = methods.isExpanded && methods.isExpanded(nodeId);
|
|
4823
|
+
const IdHandler = {
|
|
4824
|
+
trigger: getTreeId && getTreeId({ nodeId, type: "trigger" }),
|
|
4825
|
+
content: getTreeId && getTreeId({ nodeId, type: "content" })
|
|
4826
|
+
};
|
|
4827
|
+
import_react49.default.useEffect(() => {
|
|
4828
|
+
if (defaultOpen && !isExpanded && toggleExpanded) toggleExpanded(nodeId);
|
|
4829
|
+
}, []);
|
|
4830
|
+
if (isExpanded)
|
|
4831
|
+
return /* @__PURE__ */ import_react49.default.createElement(
|
|
4832
|
+
TreeNodeContent,
|
|
4833
|
+
{
|
|
4834
|
+
role: "group",
|
|
4835
|
+
id: String(IdHandler.content),
|
|
4836
|
+
"aria-labelledby": String(IdHandler.trigger),
|
|
4837
|
+
"data-nodeId": nodeId,
|
|
4838
|
+
...restProps
|
|
4839
|
+
},
|
|
4840
|
+
children
|
|
4841
|
+
);
|
|
4842
|
+
return /* @__PURE__ */ import_react49.default.createElement(import_react49.default.Fragment, null);
|
|
4843
|
+
};
|
|
4844
|
+
TreeContent.displayName = "Tree.Content";
|
|
4845
|
+
Tree.Root = TreeRoot;
|
|
4846
|
+
Tree.Node = TreeNode;
|
|
4847
|
+
Tree.Trigger = TreeTrigger;
|
|
4848
|
+
Tree.Content = TreeContent;
|
|
4429
4849
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4430
4850
|
0 && (module.exports = {
|
|
4431
4851
|
Accordion,
|
|
@@ -4468,6 +4888,10 @@ Tooltip.displayName = "Tooltip";
|
|
|
4468
4888
|
FieldMeta,
|
|
4469
4889
|
FieldRoot,
|
|
4470
4890
|
FieldWrapper,
|
|
4891
|
+
MessageBubble,
|
|
4892
|
+
MessageBubbleContent,
|
|
4893
|
+
MessageBubbleMeta,
|
|
4894
|
+
MessageBubbleRoot,
|
|
4471
4895
|
MetaVariantEnum,
|
|
4472
4896
|
OTPField,
|
|
4473
4897
|
OTPFieldSlot,
|
|
@@ -4486,6 +4910,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
4486
4910
|
Sheet,
|
|
4487
4911
|
SheetRoot,
|
|
4488
4912
|
SheetTrigger,
|
|
4913
|
+
Shimmer,
|
|
4489
4914
|
Skeleton,
|
|
4490
4915
|
Spinner,
|
|
4491
4916
|
Switch,
|
|
@@ -4510,14 +4935,22 @@ Tooltip.displayName = "Tooltip";
|
|
|
4510
4935
|
ToolbarSection,
|
|
4511
4936
|
ToolbarTrigger,
|
|
4512
4937
|
Tooltip,
|
|
4938
|
+
Tree,
|
|
4939
|
+
TreeContent,
|
|
4940
|
+
TreeNode,
|
|
4941
|
+
TreeRoot,
|
|
4942
|
+
TreeTrigger,
|
|
4513
4943
|
useAccordion,
|
|
4514
4944
|
useCheckbox,
|
|
4515
4945
|
useCollapsible,
|
|
4516
4946
|
useDialog,
|
|
4517
4947
|
useDropdownMenu,
|
|
4518
4948
|
useField,
|
|
4949
|
+
useMessageBubble,
|
|
4519
4950
|
useSheet,
|
|
4520
4951
|
useSwitch,
|
|
4521
4952
|
useTabs,
|
|
4522
|
-
useToolbar
|
|
4953
|
+
useToolbar,
|
|
4954
|
+
useTree,
|
|
4955
|
+
useTreeNode
|
|
4523
4956
|
});
|