@usefui/components 1.5.3 → 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 +6 -0
- package/dist/index.d.mts +237 -1
- package/dist/index.d.ts +237 -1
- package/dist/index.js +702 -231
- package/dist/index.mjs +668 -210
- 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/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/toolbar/hooks/index.tsx +5 -1
- 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
|
};
|
|
@@ -2371,23 +2393,175 @@ Field.Wrapper = FieldWrapper;
|
|
|
2371
2393
|
Field.Label = FieldLabel;
|
|
2372
2394
|
Field.Meta = FieldMeta;
|
|
2373
2395
|
|
|
2374
|
-
// src/
|
|
2396
|
+
// src/message-bubble/index.tsx
|
|
2375
2397
|
var import_react23 = __toESM(require("react"));
|
|
2376
2398
|
|
|
2377
|
-
// src/
|
|
2399
|
+
// src/message-bubble/hooks/index.tsx
|
|
2378
2400
|
var import_react22 = __toESM(require("react"));
|
|
2379
|
-
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(
|
|
2380
2554
|
null
|
|
2381
2555
|
);
|
|
2382
2556
|
var useOTPField = () => {
|
|
2383
|
-
const context =
|
|
2557
|
+
const context = import_react24.default.useContext(OTPFieldContext);
|
|
2384
2558
|
if (!context) return null;
|
|
2385
2559
|
return context;
|
|
2386
2560
|
};
|
|
2387
2561
|
|
|
2388
2562
|
// src/otp-field/styles/index.ts
|
|
2389
|
-
var
|
|
2390
|
-
var OTPCell =
|
|
2563
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2564
|
+
var OTPCell = import_styled_components12.default.input`
|
|
2391
2565
|
width: var(--measurement-medium-90);
|
|
2392
2566
|
height: var(--measurement-medium-90);
|
|
2393
2567
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
@@ -2422,11 +2596,11 @@ var OTPCell = import_styled_components11.default.input`
|
|
|
2422
2596
|
// src/otp-field/index.tsx
|
|
2423
2597
|
var OTPField = ({ children, length, onComplete }) => {
|
|
2424
2598
|
const defaultLength = length ?? 6;
|
|
2425
|
-
const inputRefs =
|
|
2426
|
-
const [otp, setOtp] =
|
|
2599
|
+
const inputRefs = import_react25.default.useRef([]);
|
|
2600
|
+
const [otp, setOtp] = import_react25.default.useState(
|
|
2427
2601
|
Array.from({ length: defaultLength }, () => "")
|
|
2428
2602
|
);
|
|
2429
|
-
const [activeIndex, setActiveIndex] =
|
|
2603
|
+
const [activeIndex, setActiveIndex] = import_react25.default.useState(0);
|
|
2430
2604
|
const handleChange = (index, value) => {
|
|
2431
2605
|
const newOtp = [...otp];
|
|
2432
2606
|
newOtp[index] = value.substring(value.length - 1);
|
|
@@ -2487,13 +2661,13 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2487
2661
|
);
|
|
2488
2662
|
return () => clearTimeout(timeout);
|
|
2489
2663
|
};
|
|
2490
|
-
|
|
2664
|
+
import_react25.default.useEffect(() => {
|
|
2491
2665
|
const otpString = otp.join("");
|
|
2492
2666
|
if (otpString.length === defaultLength && onComplete) {
|
|
2493
2667
|
onComplete(otpString);
|
|
2494
2668
|
}
|
|
2495
2669
|
}, [otp, defaultLength, onComplete]);
|
|
2496
|
-
const contextValue =
|
|
2670
|
+
const contextValue = import_react25.default.useMemo(() => {
|
|
2497
2671
|
return {
|
|
2498
2672
|
otp,
|
|
2499
2673
|
activeIndex,
|
|
@@ -2516,11 +2690,11 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2516
2690
|
handleClick,
|
|
2517
2691
|
handlePaste
|
|
2518
2692
|
]);
|
|
2519
|
-
return /* @__PURE__ */
|
|
2693
|
+
return /* @__PURE__ */ import_react25.default.createElement(OTPFieldContext.Provider, { value: contextValue }, children);
|
|
2520
2694
|
};
|
|
2521
2695
|
OTPField.displayName = "OTPField";
|
|
2522
|
-
var OTPFieldGroup =
|
|
2523
|
-
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 });
|
|
2524
2698
|
});
|
|
2525
2699
|
OTPFieldGroup.displayName = "OTPField.Group";
|
|
2526
2700
|
var OTPFieldSlot = ({
|
|
@@ -2539,10 +2713,12 @@ var OTPFieldSlot = ({
|
|
|
2539
2713
|
handleClick,
|
|
2540
2714
|
handlePaste
|
|
2541
2715
|
} = context;
|
|
2542
|
-
return /* @__PURE__ */
|
|
2716
|
+
return /* @__PURE__ */ import_react25.default.createElement(
|
|
2543
2717
|
OTPCell,
|
|
2544
2718
|
{
|
|
2545
|
-
ref: (el) =>
|
|
2719
|
+
ref: (el) => {
|
|
2720
|
+
inputRefs.current[index] = el;
|
|
2721
|
+
},
|
|
2546
2722
|
type: "text",
|
|
2547
2723
|
"data-testid": "otp-field-slot",
|
|
2548
2724
|
"data-active": activeIndex === index,
|
|
@@ -2565,11 +2741,11 @@ OTPField.Group = OTPFieldGroup;
|
|
|
2565
2741
|
OTPField.Slot = OTPFieldSlot;
|
|
2566
2742
|
|
|
2567
2743
|
// src/overlay/index.tsx
|
|
2568
|
-
var
|
|
2744
|
+
var import_react26 = __toESM(require("react"));
|
|
2569
2745
|
|
|
2570
2746
|
// src/overlay/styles/index.ts
|
|
2571
|
-
var
|
|
2572
|
-
var OverlayWrapper =
|
|
2747
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
2748
|
+
var OverlayWrapper = import_styled_components13.default.div`
|
|
2573
2749
|
@keyframes animate-fade {
|
|
2574
2750
|
0% {
|
|
2575
2751
|
opacity: 0;
|
|
@@ -2597,15 +2773,15 @@ var OverlayWrapper = import_styled_components12.default.div`
|
|
|
2597
2773
|
// src/overlay/index.tsx
|
|
2598
2774
|
var Overlay = (props) => {
|
|
2599
2775
|
const { raw, visible, closeOnInteract, onClick, ...restProps } = props;
|
|
2600
|
-
const [mounted, setMounted] =
|
|
2776
|
+
const [mounted, setMounted] = import_react26.default.useState(Boolean(visible));
|
|
2601
2777
|
const handleClick = (event) => {
|
|
2602
2778
|
if (onClick) onClick(event);
|
|
2603
2779
|
if (closeOnInteract) setMounted(false);
|
|
2604
2780
|
};
|
|
2605
|
-
|
|
2781
|
+
import_react26.default.useEffect(() => {
|
|
2606
2782
|
if (visible !== mounted) setMounted(Boolean(visible));
|
|
2607
2783
|
}, [visible]);
|
|
2608
|
-
return /* @__PURE__ */
|
|
2784
|
+
return /* @__PURE__ */ import_react26.default.createElement(import_react26.default.Fragment, null, mounted && /* @__PURE__ */ import_react26.default.createElement(
|
|
2609
2785
|
OverlayWrapper,
|
|
2610
2786
|
{
|
|
2611
2787
|
tabIndex: -1,
|
|
@@ -2619,14 +2795,14 @@ var Overlay = (props) => {
|
|
|
2619
2795
|
Overlay.displayName = "Overlay";
|
|
2620
2796
|
|
|
2621
2797
|
// src/page/index.tsx
|
|
2622
|
-
var
|
|
2798
|
+
var import_react27 = __toESM(require("react"));
|
|
2623
2799
|
|
|
2624
2800
|
// src/page/styles/index.ts
|
|
2625
|
-
var
|
|
2801
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
2626
2802
|
|
|
2627
2803
|
// src/scrollarea/styles/index.ts
|
|
2628
|
-
var
|
|
2629
|
-
var HiddenScrollbar =
|
|
2804
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
2805
|
+
var HiddenScrollbar = import_styled_components14.css`
|
|
2630
2806
|
scrollbar-width: none;
|
|
2631
2807
|
|
|
2632
2808
|
&::-webkit-scrollbar {
|
|
@@ -2638,7 +2814,7 @@ var HiddenScrollbar = import_styled_components13.css`
|
|
|
2638
2814
|
display: none;
|
|
2639
2815
|
}
|
|
2640
2816
|
`;
|
|
2641
|
-
var CustomScrollbar =
|
|
2817
|
+
var CustomScrollbar = import_styled_components14.css`
|
|
2642
2818
|
height: ${({ $height }) => $height || "100%"};
|
|
2643
2819
|
width: ${({ $width }) => $width || "100%"};
|
|
2644
2820
|
overflow-y: auto;
|
|
@@ -2670,7 +2846,7 @@ var CustomScrollbar = import_styled_components13.css`
|
|
|
2670
2846
|
scrollbar-width: thin;
|
|
2671
2847
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor || "var(--font-color-alpha-10)"} ${$trackColor || "transparent"}`};
|
|
2672
2848
|
`;
|
|
2673
|
-
var ScrollAreaWrapper =
|
|
2849
|
+
var ScrollAreaWrapper = import_styled_components14.default.div`
|
|
2674
2850
|
overflow: scroll;
|
|
2675
2851
|
|
|
2676
2852
|
&[data-scrollbar="true"] {
|
|
@@ -2682,11 +2858,11 @@ var ScrollAreaWrapper = import_styled_components13.default.div`
|
|
|
2682
2858
|
`;
|
|
2683
2859
|
|
|
2684
2860
|
// src/page/styles/index.ts
|
|
2685
|
-
var PageRootWrapper =
|
|
2861
|
+
var PageRootWrapper = import_styled_components15.default.div`
|
|
2686
2862
|
height: 100dvh;
|
|
2687
2863
|
width: 100%;
|
|
2688
2864
|
`;
|
|
2689
|
-
var PageNavWrapper =
|
|
2865
|
+
var PageNavWrapper = import_styled_components15.default.nav`
|
|
2690
2866
|
background-color: var(--body-color);
|
|
2691
2867
|
border: var(--measurement-small-10) solid transparent;
|
|
2692
2868
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2695,7 +2871,7 @@ var PageNavWrapper = import_styled_components14.default.nav`
|
|
|
2695
2871
|
max-height: var(--measurement-large-20);
|
|
2696
2872
|
padding: var(--measurement-medium-30);
|
|
2697
2873
|
`;
|
|
2698
|
-
var PageMenuWrapper =
|
|
2874
|
+
var PageMenuWrapper = import_styled_components15.default.menu`
|
|
2699
2875
|
background-color: var(--body-color);
|
|
2700
2876
|
border: var(--measurement-small-10) solid transparent;
|
|
2701
2877
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2705,19 +2881,19 @@ var PageMenuWrapper = import_styled_components14.default.menu`
|
|
|
2705
2881
|
margin: 0;
|
|
2706
2882
|
padding: var(--measurement-medium-60) var(--measurement-medium-30);
|
|
2707
2883
|
`;
|
|
2708
|
-
var PagePanelWrapper =
|
|
2884
|
+
var PagePanelWrapper = import_styled_components15.default.aside`
|
|
2709
2885
|
position: absolute;
|
|
2710
2886
|
bottom: 0;
|
|
2711
2887
|
width: 100%;
|
|
2712
2888
|
overflow: scroll;
|
|
2713
2889
|
${HiddenScrollbar}
|
|
2714
2890
|
`;
|
|
2715
|
-
var PageSectionWrapper =
|
|
2891
|
+
var PageSectionWrapper = import_styled_components15.default.div`
|
|
2716
2892
|
background: var(--body-color);
|
|
2717
2893
|
width: 100%;
|
|
2718
2894
|
height: 100%;
|
|
2719
2895
|
`;
|
|
2720
|
-
var PageBodyWrapper =
|
|
2896
|
+
var PageBodyWrapper = import_styled_components15.default.div`
|
|
2721
2897
|
--menus-height: calc(
|
|
2722
2898
|
var(--measurement-large-30) *
|
|
2723
2899
|
${({ $menus }) => $menus ? Number($menus) : 0}
|
|
@@ -2742,12 +2918,12 @@ var PageBodyWrapper = import_styled_components14.default.div`
|
|
|
2742
2918
|
// src/page/index.tsx
|
|
2743
2919
|
var Page = (props) => {
|
|
2744
2920
|
const { children } = props;
|
|
2745
|
-
return /* @__PURE__ */
|
|
2921
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageRootWrapper, { className: "flex", ...props }, children);
|
|
2746
2922
|
};
|
|
2747
2923
|
Page.displayName = "Page";
|
|
2748
2924
|
var PageNavigation = (props) => {
|
|
2749
2925
|
const { children } = props;
|
|
2750
|
-
return /* @__PURE__ */
|
|
2926
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageNavWrapper, { ...props }, children);
|
|
2751
2927
|
};
|
|
2752
2928
|
PageNavigation.displayName = "Page.Navigation";
|
|
2753
2929
|
var PageTools = (props) => {
|
|
@@ -2769,7 +2945,7 @@ var PageTools = (props) => {
|
|
|
2769
2945
|
const handleClick = (event) => {
|
|
2770
2946
|
if (onClick) onClick(event);
|
|
2771
2947
|
};
|
|
2772
|
-
return /* @__PURE__ */
|
|
2948
|
+
return /* @__PURE__ */ import_react27.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react27.default.createElement(
|
|
2773
2949
|
Toolbar,
|
|
2774
2950
|
{
|
|
2775
2951
|
raw,
|
|
@@ -2781,27 +2957,27 @@ var PageTools = (props) => {
|
|
|
2781
2957
|
defaultOpen,
|
|
2782
2958
|
...props
|
|
2783
2959
|
},
|
|
2784
|
-
/* @__PURE__ */
|
|
2785
|
-
!fixed && /* @__PURE__ */
|
|
2960
|
+
/* @__PURE__ */ import_react27.default.createElement(Toolbar.Section, { showoncollapse }, children),
|
|
2961
|
+
!fixed && /* @__PURE__ */ import_react27.default.createElement(
|
|
2786
2962
|
Toolbar.Trigger,
|
|
2787
2963
|
{
|
|
2788
2964
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2789
2965
|
onClick: handleClick,
|
|
2790
2966
|
...triggerProps
|
|
2791
2967
|
},
|
|
2792
|
-
trigger ?? /* @__PURE__ */
|
|
2968
|
+
trigger ?? /* @__PURE__ */ import_react27.default.createElement("span", null, "\u2194")
|
|
2793
2969
|
)
|
|
2794
2970
|
));
|
|
2795
2971
|
};
|
|
2796
2972
|
PageTools.displayName = "Page.Tools";
|
|
2797
2973
|
var PageContent = (props) => {
|
|
2798
2974
|
const { children } = props;
|
|
2799
|
-
return /* @__PURE__ */
|
|
2975
|
+
return /* @__PURE__ */ import_react27.default.createElement(ScrollArea, { as: PageSectionWrapper, ...props }, children);
|
|
2800
2976
|
};
|
|
2801
2977
|
PageContent.displayName = "Page.Content";
|
|
2802
2978
|
var PageWrapper = (props) => {
|
|
2803
2979
|
const { children } = props;
|
|
2804
|
-
return /* @__PURE__ */
|
|
2980
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageBodyWrapper, { ...props }, children);
|
|
2805
2981
|
};
|
|
2806
2982
|
PageWrapper.displayName = "Page.Wrapper";
|
|
2807
2983
|
var PagePanel = (props) => {
|
|
@@ -2824,7 +3000,7 @@ var PagePanel = (props) => {
|
|
|
2824
3000
|
const handleClick = (event) => {
|
|
2825
3001
|
if (onClick) onClick(event);
|
|
2826
3002
|
};
|
|
2827
|
-
return /* @__PURE__ */
|
|
3003
|
+
return /* @__PURE__ */ import_react27.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react27.default.createElement(
|
|
2828
3004
|
PagePanelWrapper,
|
|
2829
3005
|
{
|
|
2830
3006
|
as: Toolbar,
|
|
@@ -2838,22 +3014,22 @@ var PagePanel = (props) => {
|
|
|
2838
3014
|
defaultOpen,
|
|
2839
3015
|
"aria-label": props["aria-label"]
|
|
2840
3016
|
},
|
|
2841
|
-
!fixed && /* @__PURE__ */
|
|
3017
|
+
!fixed && /* @__PURE__ */ import_react27.default.createElement(
|
|
2842
3018
|
Toolbar.Trigger,
|
|
2843
3019
|
{
|
|
2844
3020
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2845
3021
|
onClick: handleClick,
|
|
2846
3022
|
...triggerProps
|
|
2847
3023
|
},
|
|
2848
|
-
trigger ?? /* @__PURE__ */
|
|
3024
|
+
trigger ?? /* @__PURE__ */ import_react27.default.createElement("span", { style: { transform: "rotate(90deg)" } }, "\u2194")
|
|
2849
3025
|
),
|
|
2850
|
-
/* @__PURE__ */
|
|
3026
|
+
/* @__PURE__ */ import_react27.default.createElement(Toolbar.Section, { showoncollapse }, children)
|
|
2851
3027
|
));
|
|
2852
3028
|
};
|
|
2853
3029
|
PagePanel.displayName = "Page.Panel";
|
|
2854
3030
|
var PageMenu = (props) => {
|
|
2855
3031
|
const { children } = props;
|
|
2856
|
-
return /* @__PURE__ */
|
|
3032
|
+
return /* @__PURE__ */ import_react27.default.createElement(PageMenuWrapper, { ...props }, children);
|
|
2857
3033
|
};
|
|
2858
3034
|
PageMenu.displayName = "Page.Menu";
|
|
2859
3035
|
Page.Navigation = PageNavigation;
|
|
@@ -2864,14 +3040,14 @@ Page.Panel = PagePanel;
|
|
|
2864
3040
|
Page.Menu = PageMenu;
|
|
2865
3041
|
|
|
2866
3042
|
// src/portal/index.tsx
|
|
2867
|
-
var
|
|
3043
|
+
var import_react28 = __toESM(require("react"));
|
|
2868
3044
|
var import_react_dom = require("react-dom");
|
|
2869
3045
|
var Portal = (props) => {
|
|
2870
3046
|
if (typeof document === "undefined") return null;
|
|
2871
3047
|
const { container, children } = props;
|
|
2872
|
-
const [hasMounted, setHasMounted] =
|
|
2873
|
-
const [portalRoot, setPortalRoot] =
|
|
2874
|
-
|
|
3048
|
+
const [hasMounted, setHasMounted] = import_react28.default.useState(false);
|
|
3049
|
+
const [portalRoot, setPortalRoot] = import_react28.default.useState(null);
|
|
3050
|
+
import_react28.default.useEffect(() => {
|
|
2875
3051
|
setHasMounted(true);
|
|
2876
3052
|
setPortalRoot(document.querySelector(`#${container}`));
|
|
2877
3053
|
}, [container]);
|
|
@@ -2881,18 +3057,18 @@ var Portal = (props) => {
|
|
|
2881
3057
|
Portal.displayName = "Portal";
|
|
2882
3058
|
|
|
2883
3059
|
// src/privacy-field/index.tsx
|
|
2884
|
-
var
|
|
3060
|
+
var import_react29 = __toESM(require("react"));
|
|
2885
3061
|
|
|
2886
3062
|
// src/privacy-field/styles/index.ts
|
|
2887
|
-
var
|
|
2888
|
-
var Wrapper = (0,
|
|
3063
|
+
var import_styled_components16 = __toESM(require("styled-components"));
|
|
3064
|
+
var Wrapper = (0, import_styled_components16.default)(Field.Wrapper)`
|
|
2889
3065
|
position: relative;
|
|
2890
3066
|
|
|
2891
3067
|
input {
|
|
2892
3068
|
width: 100% !important;
|
|
2893
3069
|
}
|
|
2894
3070
|
`;
|
|
2895
|
-
var Trigger = (0,
|
|
3071
|
+
var Trigger = (0, import_styled_components16.default)(Button)`
|
|
2896
3072
|
position: absolute !important;
|
|
2897
3073
|
right: var(--measurement-medium-50);
|
|
2898
3074
|
top: calc(var(--measurement-medium-50));
|
|
@@ -2905,30 +3081,30 @@ var PrivacyField = ({
|
|
|
2905
3081
|
passwordIcon,
|
|
2906
3082
|
...restProps
|
|
2907
3083
|
}) => {
|
|
2908
|
-
const [type, setType] =
|
|
3084
|
+
const [type, setType] = import_react29.default.useState(
|
|
2909
3085
|
defaultType ?? "password"
|
|
2910
3086
|
);
|
|
2911
|
-
const handleChangeType =
|
|
3087
|
+
const handleChangeType = import_react29.default.useCallback(() => {
|
|
2912
3088
|
if (type === "text") setType("password");
|
|
2913
3089
|
if (type === "password") setType("text");
|
|
2914
3090
|
}, [type, setType]);
|
|
2915
|
-
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));
|
|
2916
3092
|
};
|
|
2917
3093
|
PrivacyField.displayName = "PrivacyField";
|
|
2918
3094
|
|
|
2919
3095
|
// src/resizable/index.tsx
|
|
2920
|
-
var
|
|
3096
|
+
var import_react30 = __toESM(require("react"));
|
|
2921
3097
|
|
|
2922
3098
|
// src/resizable/styles/index.ts
|
|
2923
|
-
var
|
|
2924
|
-
var SplitContainer =
|
|
3099
|
+
var import_styled_components17 = __toESM(require("styled-components"));
|
|
3100
|
+
var SplitContainer = import_styled_components17.default.div`
|
|
2925
3101
|
position: relative;
|
|
2926
3102
|
`;
|
|
2927
|
-
var Panel =
|
|
3103
|
+
var Panel = import_styled_components17.default.div`
|
|
2928
3104
|
overflow: hidden;
|
|
2929
3105
|
width: ${(props) => props.width}%;
|
|
2930
3106
|
`;
|
|
2931
|
-
var Divider2 =
|
|
3107
|
+
var Divider2 = import_styled_components17.default.div`
|
|
2932
3108
|
width: var(--measurement-medium-10);
|
|
2933
3109
|
height: 100%;
|
|
2934
3110
|
top: 0;
|
|
@@ -2952,14 +3128,14 @@ var Divider2 = import_styled_components16.default.div`
|
|
|
2952
3128
|
height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
|
|
2953
3129
|
}
|
|
2954
3130
|
`;
|
|
2955
|
-
var DragHandle =
|
|
3131
|
+
var DragHandle = import_styled_components17.default.div`
|
|
2956
3132
|
position: absolute;
|
|
2957
3133
|
top: 0;
|
|
2958
3134
|
bottom: 0;
|
|
2959
3135
|
left: calc(var(--measurement-medium-10) * -1);
|
|
2960
3136
|
right: calc(var(--measurement-medium-10) * -1);
|
|
2961
3137
|
`;
|
|
2962
|
-
var DragIndicator =
|
|
3138
|
+
var DragIndicator = import_styled_components17.default.div`
|
|
2963
3139
|
position: fixed;
|
|
2964
3140
|
width: var(--measurement-medium-10);
|
|
2965
3141
|
/* height: var(--measurement-medium-60); */
|
|
@@ -2969,7 +3145,7 @@ var DragIndicator = import_styled_components16.default.div`
|
|
|
2969
3145
|
opacity: 0;
|
|
2970
3146
|
transition: all 0.2s;
|
|
2971
3147
|
`;
|
|
2972
|
-
var DragOverlay =
|
|
3148
|
+
var DragOverlay = import_styled_components17.default.div`
|
|
2973
3149
|
position: fixed;
|
|
2974
3150
|
top: 0;
|
|
2975
3151
|
left: 0;
|
|
@@ -2985,12 +3161,12 @@ var Resizable = ({
|
|
|
2985
3161
|
left,
|
|
2986
3162
|
right
|
|
2987
3163
|
}) => {
|
|
2988
|
-
const containerRef =
|
|
2989
|
-
const [leftWidth, setLeftWidth] =
|
|
2990
|
-
const [isDragging, setIsDragging] =
|
|
2991
|
-
const handleMouseDown =
|
|
2992
|
-
const handleMouseUp =
|
|
2993
|
-
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(
|
|
2994
3170
|
(e) => {
|
|
2995
3171
|
if (!isDragging || !containerRef.current) return;
|
|
2996
3172
|
const containerRect = containerRef.current.getBoundingClientRect();
|
|
@@ -3004,7 +3180,7 @@ var Resizable = ({
|
|
|
3004
3180
|
},
|
|
3005
3181
|
[isDragging]
|
|
3006
3182
|
);
|
|
3007
|
-
|
|
3183
|
+
import_react30.default.useEffect(() => {
|
|
3008
3184
|
if (isDragging) {
|
|
3009
3185
|
document.addEventListener("mousemove", handleMouseMove);
|
|
3010
3186
|
document.addEventListener("mouseup", handleMouseUp);
|
|
@@ -3023,45 +3199,47 @@ var Resizable = ({
|
|
|
3023
3199
|
document.body.style.userSelect = "";
|
|
3024
3200
|
};
|
|
3025
3201
|
}, [isDragging, handleMouseMove, handleMouseUp]);
|
|
3026
|
-
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(
|
|
3027
3203
|
Divider2,
|
|
3028
3204
|
{
|
|
3029
3205
|
$dragging: isDragging,
|
|
3030
3206
|
onMouseDown: handleMouseDown,
|
|
3031
3207
|
onTouchStart: handleMouseDown
|
|
3032
3208
|
},
|
|
3033
|
-
/* @__PURE__ */
|
|
3209
|
+
/* @__PURE__ */ import_react30.default.createElement(
|
|
3034
3210
|
DragHandle,
|
|
3035
3211
|
{
|
|
3036
3212
|
className: "flex align-center justify-center",
|
|
3037
3213
|
id: "drag-handle"
|
|
3038
3214
|
},
|
|
3039
|
-
/* @__PURE__ */
|
|
3215
|
+
/* @__PURE__ */ import_react30.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
|
|
3040
3216
|
)
|
|
3041
|
-
), /* @__PURE__ */
|
|
3217
|
+
), /* @__PURE__ */ import_react30.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react30.default.createElement(DragOverlay, null));
|
|
3042
3218
|
};
|
|
3043
3219
|
Resizable.displayName = "Resizable";
|
|
3044
3220
|
|
|
3045
3221
|
// src/sheet/index.tsx
|
|
3046
|
-
var
|
|
3222
|
+
var import_react32 = __toESM(require("react"));
|
|
3047
3223
|
|
|
3048
3224
|
// src/sheet/hooks/index.tsx
|
|
3049
|
-
var
|
|
3050
|
-
var SheetContext =
|
|
3225
|
+
var import_react31 = __toESM(require("react"));
|
|
3226
|
+
var SheetContext = import_react31.default.createContext({
|
|
3051
3227
|
id: {},
|
|
3052
3228
|
states: {},
|
|
3053
3229
|
methods: {}
|
|
3054
3230
|
});
|
|
3055
|
-
var useSheet = () =>
|
|
3056
|
-
var SheetProvider = ({
|
|
3231
|
+
var useSheet = () => import_react31.default.useContext(SheetContext);
|
|
3232
|
+
var SheetProvider = ({
|
|
3233
|
+
children
|
|
3234
|
+
}) => {
|
|
3057
3235
|
const context = useSheetProvider();
|
|
3058
|
-
return /* @__PURE__ */
|
|
3236
|
+
return /* @__PURE__ */ import_react31.default.createElement(SheetContext.Provider, { value: context }, children);
|
|
3059
3237
|
};
|
|
3060
3238
|
function useSheetProvider() {
|
|
3061
|
-
const containerId =
|
|
3062
|
-
const triggerId =
|
|
3063
|
-
const controlId =
|
|
3064
|
-
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);
|
|
3065
3243
|
return {
|
|
3066
3244
|
id: {
|
|
3067
3245
|
containerId,
|
|
@@ -3079,8 +3257,8 @@ function useSheetProvider() {
|
|
|
3079
3257
|
}
|
|
3080
3258
|
|
|
3081
3259
|
// src/sheet/styles/index.ts
|
|
3082
|
-
var
|
|
3083
|
-
var SheetStyles =
|
|
3260
|
+
var import_styled_components18 = __toESM(require("styled-components"));
|
|
3261
|
+
var SheetStyles = import_styled_components18.css`
|
|
3084
3262
|
all: unset;
|
|
3085
3263
|
position: fixed;
|
|
3086
3264
|
background-color: var(--body-color);
|
|
@@ -3111,7 +3289,7 @@ var SheetStyles = import_styled_components17.css`
|
|
|
3111
3289
|
animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
|
3112
3290
|
animation-fill-mode: backwards;
|
|
3113
3291
|
`;
|
|
3114
|
-
var SheetSizeStyles =
|
|
3292
|
+
var SheetSizeStyles = import_styled_components18.css`
|
|
3115
3293
|
&[data-size="small"] {
|
|
3116
3294
|
width: var(--measurement-large-80);
|
|
3117
3295
|
}
|
|
@@ -3124,7 +3302,7 @@ var SheetSizeStyles = import_styled_components17.css`
|
|
|
3124
3302
|
width: calc(var(--measurement-large-90) * 1.5);
|
|
3125
3303
|
}
|
|
3126
3304
|
`;
|
|
3127
|
-
var SheetSideStyles =
|
|
3305
|
+
var SheetSideStyles = import_styled_components18.css`
|
|
3128
3306
|
top: 0;
|
|
3129
3307
|
|
|
3130
3308
|
&[data-side="right"] {
|
|
@@ -3139,7 +3317,7 @@ var SheetSideStyles = import_styled_components17.css`
|
|
|
3139
3317
|
animation-name: slide-left;
|
|
3140
3318
|
}
|
|
3141
3319
|
`;
|
|
3142
|
-
var SheetWrapper =
|
|
3320
|
+
var SheetWrapper = import_styled_components18.default.dialog`
|
|
3143
3321
|
&[data-raw="false"] {
|
|
3144
3322
|
${SheetStyles}
|
|
3145
3323
|
${SheetSideStyles}
|
|
@@ -3149,7 +3327,7 @@ var SheetWrapper = import_styled_components17.default.dialog`
|
|
|
3149
3327
|
|
|
3150
3328
|
// src/sheet/index.tsx
|
|
3151
3329
|
var SheetRoot = ({ children }) => {
|
|
3152
|
-
return /* @__PURE__ */
|
|
3330
|
+
return /* @__PURE__ */ import_react32.default.createElement(SheetProvider, null, children);
|
|
3153
3331
|
};
|
|
3154
3332
|
SheetRoot.displayName = "Sheet.Root";
|
|
3155
3333
|
var Sheet = (props) => {
|
|
@@ -3170,16 +3348,16 @@ var Sheet = (props) => {
|
|
|
3170
3348
|
const { id, states, methods } = useSheet();
|
|
3171
3349
|
const { toggle } = methods;
|
|
3172
3350
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
3173
|
-
|
|
3351
|
+
import_react32.default.useEffect(() => {
|
|
3174
3352
|
if (open && toggle) return toggle();
|
|
3175
3353
|
}, [open]);
|
|
3176
|
-
|
|
3354
|
+
import_react32.default.useEffect(() => {
|
|
3177
3355
|
if (shortcut && shortcutControls && toggle) {
|
|
3178
3356
|
return toggle();
|
|
3179
3357
|
}
|
|
3180
3358
|
}, [shortcutControls]);
|
|
3181
3359
|
useDisabledScroll(lock && Boolean(states.open));
|
|
3182
|
-
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(
|
|
3183
3361
|
SheetWrapper,
|
|
3184
3362
|
{
|
|
3185
3363
|
role: "dialog",
|
|
@@ -3196,7 +3374,7 @@ var Sheet = (props) => {
|
|
|
3196
3374
|
...restProps
|
|
3197
3375
|
},
|
|
3198
3376
|
children
|
|
3199
|
-
), overlay && /* @__PURE__ */
|
|
3377
|
+
), overlay && /* @__PURE__ */ import_react32.default.createElement(
|
|
3200
3378
|
Overlay,
|
|
3201
3379
|
{
|
|
3202
3380
|
onClick: () => toggle && toggle(!states.open),
|
|
@@ -3222,7 +3400,7 @@ var SheetTrigger = (props) => {
|
|
|
3222
3400
|
if (onClick) onClick(event);
|
|
3223
3401
|
if (toggle) toggle(!states.open);
|
|
3224
3402
|
};
|
|
3225
|
-
return /* @__PURE__ */
|
|
3403
|
+
return /* @__PURE__ */ import_react32.default.createElement(
|
|
3226
3404
|
Button,
|
|
3227
3405
|
{
|
|
3228
3406
|
id: id.triggerId,
|
|
@@ -3241,14 +3419,76 @@ SheetTrigger.displayName = "Sheet.Trigger";
|
|
|
3241
3419
|
Sheet.Root = SheetRoot;
|
|
3242
3420
|
Sheet.Trigger = SheetTrigger;
|
|
3243
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
|
+
|
|
3244
3484
|
// src/scrollarea/index.tsx
|
|
3245
|
-
var
|
|
3485
|
+
var import_react34 = __toESM(require("react"));
|
|
3246
3486
|
var ScrollArea = ({
|
|
3247
3487
|
scrollbar = false,
|
|
3248
3488
|
children,
|
|
3249
3489
|
...restProps
|
|
3250
3490
|
}) => {
|
|
3251
|
-
return /* @__PURE__ */
|
|
3491
|
+
return /* @__PURE__ */ import_react34.default.createElement(
|
|
3252
3492
|
ScrollAreaWrapper,
|
|
3253
3493
|
{
|
|
3254
3494
|
"aria-hidden": "true",
|
|
@@ -3260,11 +3500,11 @@ var ScrollArea = ({
|
|
|
3260
3500
|
};
|
|
3261
3501
|
|
|
3262
3502
|
// src/spinner/index.tsx
|
|
3263
|
-
var
|
|
3503
|
+
var import_react35 = __toESM(require("react"));
|
|
3264
3504
|
|
|
3265
3505
|
// src/spinner/styles/index.ts
|
|
3266
|
-
var
|
|
3267
|
-
var Rotate =
|
|
3506
|
+
var import_styled_components20 = __toESM(require("styled-components"));
|
|
3507
|
+
var Rotate = import_styled_components20.keyframes`
|
|
3268
3508
|
0% {
|
|
3269
3509
|
transform: rotate(0deg);
|
|
3270
3510
|
}
|
|
@@ -3272,7 +3512,7 @@ var Rotate = import_styled_components18.keyframes`
|
|
|
3272
3512
|
transform: rotate(360deg);
|
|
3273
3513
|
}
|
|
3274
3514
|
`;
|
|
3275
|
-
var FieldSizeStyles2 =
|
|
3515
|
+
var FieldSizeStyles2 = import_styled_components20.css`
|
|
3276
3516
|
&[data-size="small"] {
|
|
3277
3517
|
width: var(--measurement-medium-40);
|
|
3278
3518
|
height: var(--measurement-medium-40);
|
|
@@ -3286,7 +3526,7 @@ var FieldSizeStyles2 = import_styled_components18.css`
|
|
|
3286
3526
|
height: var(--measurement-medium-60);
|
|
3287
3527
|
}
|
|
3288
3528
|
`;
|
|
3289
|
-
var RotatingSpinner =
|
|
3529
|
+
var RotatingSpinner = import_styled_components20.default.span`
|
|
3290
3530
|
padding: 0;
|
|
3291
3531
|
margin: 0;
|
|
3292
3532
|
|
|
@@ -3304,15 +3544,15 @@ var RotatingSpinner = import_styled_components18.default.span`
|
|
|
3304
3544
|
|
|
3305
3545
|
// src/spinner/index.tsx
|
|
3306
3546
|
var Spinner = (props) => {
|
|
3307
|
-
return /* @__PURE__ */
|
|
3547
|
+
return /* @__PURE__ */ import_react35.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
|
|
3308
3548
|
};
|
|
3309
3549
|
|
|
3310
3550
|
// src/skeleton/index.tsx
|
|
3311
|
-
var
|
|
3551
|
+
var import_react36 = __toESM(require("react"));
|
|
3312
3552
|
|
|
3313
3553
|
// src/skeleton/styles/index.ts
|
|
3314
|
-
var
|
|
3315
|
-
var SkeletonBlink =
|
|
3554
|
+
var import_styled_components21 = __toESM(require("styled-components"));
|
|
3555
|
+
var SkeletonBlink = import_styled_components21.keyframes`
|
|
3316
3556
|
0% {
|
|
3317
3557
|
opacity: 0.3;
|
|
3318
3558
|
}
|
|
@@ -3320,7 +3560,7 @@ var SkeletonBlink = import_styled_components19.keyframes`
|
|
|
3320
3560
|
opacity: 0.1;
|
|
3321
3561
|
}
|
|
3322
3562
|
`;
|
|
3323
|
-
var SkeletonBaseStyles =
|
|
3563
|
+
var SkeletonBaseStyles = import_styled_components21.css`
|
|
3324
3564
|
background: linear-gradient(
|
|
3325
3565
|
45deg,
|
|
3326
3566
|
var(--font-color-alpha-10),
|
|
@@ -3328,7 +3568,7 @@ var SkeletonBaseStyles = import_styled_components19.css`
|
|
|
3328
3568
|
);
|
|
3329
3569
|
animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
|
|
3330
3570
|
`;
|
|
3331
|
-
var SkeletonSizeStyles =
|
|
3571
|
+
var SkeletonSizeStyles = import_styled_components21.css`
|
|
3332
3572
|
&[data-size="small"] {
|
|
3333
3573
|
width: 100%;
|
|
3334
3574
|
|
|
@@ -3346,7 +3586,7 @@ var SkeletonSizeStyles = import_styled_components19.css`
|
|
|
3346
3586
|
min-height: var(--measurement-medium-90);
|
|
3347
3587
|
}
|
|
3348
3588
|
`;
|
|
3349
|
-
var SkeletonShapeStyles =
|
|
3589
|
+
var SkeletonShapeStyles = import_styled_components21.css`
|
|
3350
3590
|
&[data-shape="square"] {
|
|
3351
3591
|
border-radius: 0;
|
|
3352
3592
|
}
|
|
@@ -3357,7 +3597,7 @@ var SkeletonShapeStyles = import_styled_components19.css`
|
|
|
3357
3597
|
border-radius: var(--measurement-large-90);
|
|
3358
3598
|
}
|
|
3359
3599
|
`;
|
|
3360
|
-
var SkeletonLoader =
|
|
3600
|
+
var SkeletonLoader = import_styled_components21.default.span`
|
|
3361
3601
|
${SkeletonBaseStyles}
|
|
3362
3602
|
${SkeletonSizeStyles}
|
|
3363
3603
|
${SkeletonShapeStyles}
|
|
@@ -3370,7 +3610,7 @@ var Skeleton = (props) => {
|
|
|
3370
3610
|
shape = "smooth",
|
|
3371
3611
|
...restProps
|
|
3372
3612
|
} = props;
|
|
3373
|
-
return /* @__PURE__ */
|
|
3613
|
+
return /* @__PURE__ */ import_react36.default.createElement(
|
|
3374
3614
|
SkeletonLoader,
|
|
3375
3615
|
{
|
|
3376
3616
|
"data-size": sizing,
|
|
@@ -3383,24 +3623,26 @@ var Skeleton = (props) => {
|
|
|
3383
3623
|
Skeleton.displayName = "Skeleton";
|
|
3384
3624
|
|
|
3385
3625
|
// src/switch/index.tsx
|
|
3386
|
-
var
|
|
3626
|
+
var import_react38 = __toESM(require("react"));
|
|
3387
3627
|
|
|
3388
3628
|
// src/switch/hooks/index.tsx
|
|
3389
|
-
var
|
|
3390
|
-
var
|
|
3629
|
+
var import_react37 = __toESM(require("react"));
|
|
3630
|
+
var defaultComponentAPI7 = {
|
|
3391
3631
|
id: "",
|
|
3392
3632
|
states: {},
|
|
3393
3633
|
methods: {}
|
|
3394
3634
|
};
|
|
3395
|
-
var SwitchContext = (0,
|
|
3396
|
-
var useSwitch = () => (0,
|
|
3397
|
-
var SwitchProvider = ({
|
|
3635
|
+
var SwitchContext = (0, import_react37.createContext)(defaultComponentAPI7);
|
|
3636
|
+
var useSwitch = () => (0, import_react37.useContext)(SwitchContext);
|
|
3637
|
+
var SwitchProvider = ({
|
|
3638
|
+
children
|
|
3639
|
+
}) => {
|
|
3398
3640
|
const context = useSwitchProvider();
|
|
3399
|
-
return /* @__PURE__ */
|
|
3641
|
+
return /* @__PURE__ */ import_react37.default.createElement(SwitchContext.Provider, { value: context }, children);
|
|
3400
3642
|
};
|
|
3401
3643
|
function useSwitchProvider() {
|
|
3402
|
-
const [checked, setChecked] = (0,
|
|
3403
|
-
const switchId =
|
|
3644
|
+
const [checked, setChecked] = (0, import_react37.useState)(false);
|
|
3645
|
+
const switchId = import_react37.default.useId();
|
|
3404
3646
|
return {
|
|
3405
3647
|
id: switchId,
|
|
3406
3648
|
states: {
|
|
@@ -3413,8 +3655,8 @@ function useSwitchProvider() {
|
|
|
3413
3655
|
}
|
|
3414
3656
|
|
|
3415
3657
|
// src/switch/styles/index.ts
|
|
3416
|
-
var
|
|
3417
|
-
var SwitchDefaultStyles =
|
|
3658
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
3659
|
+
var SwitchDefaultStyles = import_styled_components22.css`
|
|
3418
3660
|
all: unset;
|
|
3419
3661
|
|
|
3420
3662
|
border: var(--measurement-small-10) solid transparent;
|
|
@@ -3428,7 +3670,7 @@ var SwitchDefaultStyles = import_styled_components20.css`
|
|
|
3428
3670
|
opacity: 0.6;
|
|
3429
3671
|
}
|
|
3430
3672
|
`;
|
|
3431
|
-
var SwitchVariantsStyles =
|
|
3673
|
+
var SwitchVariantsStyles = import_styled_components22.css`
|
|
3432
3674
|
&[data-variant="primary"] {
|
|
3433
3675
|
&[aria-checked="true"] {
|
|
3434
3676
|
background-color: var(--color-green);
|
|
@@ -3459,7 +3701,7 @@ var SwitchVariantsStyles = import_styled_components20.css`
|
|
|
3459
3701
|
}
|
|
3460
3702
|
}
|
|
3461
3703
|
`;
|
|
3462
|
-
var SwitchSizeStyles =
|
|
3704
|
+
var SwitchSizeStyles = import_styled_components22.css`
|
|
3463
3705
|
&[data-size="small"] {
|
|
3464
3706
|
width: calc(var(--measurement-medium-60) * 1.33);
|
|
3465
3707
|
height: var(--measurement-medium-50);
|
|
@@ -3508,14 +3750,14 @@ var SwitchSizeStyles = import_styled_components20.css`
|
|
|
3508
3750
|
}
|
|
3509
3751
|
}
|
|
3510
3752
|
`;
|
|
3511
|
-
var TriggerWrapper =
|
|
3753
|
+
var TriggerWrapper = import_styled_components22.default.button`
|
|
3512
3754
|
&[data-raw="false"] {
|
|
3513
3755
|
${SwitchDefaultStyles}
|
|
3514
3756
|
${SwitchVariantsStyles}
|
|
3515
3757
|
${SwitchSizeStyles}
|
|
3516
3758
|
}
|
|
3517
3759
|
`;
|
|
3518
|
-
var Thumb =
|
|
3760
|
+
var Thumb = import_styled_components22.default.span`
|
|
3519
3761
|
&[data-raw="false"] {
|
|
3520
3762
|
all: unset;
|
|
3521
3763
|
display: block;
|
|
@@ -3549,10 +3791,10 @@ var Switch = (props) => {
|
|
|
3549
3791
|
if (onClick) onClick(event);
|
|
3550
3792
|
if (toggleSwitch) toggleSwitch();
|
|
3551
3793
|
};
|
|
3552
|
-
|
|
3794
|
+
import_react38.default.useEffect(() => {
|
|
3553
3795
|
if (defaultChecked && toggleSwitch) toggleSwitch();
|
|
3554
3796
|
}, [defaultChecked]);
|
|
3555
|
-
return /* @__PURE__ */
|
|
3797
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3556
3798
|
TriggerWrapper,
|
|
3557
3799
|
{
|
|
3558
3800
|
type: "button",
|
|
@@ -3568,19 +3810,19 @@ var Switch = (props) => {
|
|
|
3568
3810
|
"data-raw": Boolean(raw),
|
|
3569
3811
|
...restProps
|
|
3570
3812
|
},
|
|
3571
|
-
/* @__PURE__ */
|
|
3813
|
+
/* @__PURE__ */ import_react38.default.createElement("title", null, "Switch"),
|
|
3572
3814
|
children
|
|
3573
3815
|
);
|
|
3574
3816
|
};
|
|
3575
3817
|
Switch.displayName = "Switch";
|
|
3576
3818
|
var SwitchRoot = ({ children }) => {
|
|
3577
|
-
return /* @__PURE__ */
|
|
3819
|
+
return /* @__PURE__ */ import_react38.default.createElement(SwitchProvider, null, children);
|
|
3578
3820
|
};
|
|
3579
3821
|
SwitchRoot.displayName = "Switch.Root";
|
|
3580
3822
|
var SwitchThumb = (props) => {
|
|
3581
3823
|
const { raw, sizing } = props;
|
|
3582
3824
|
const { id, states } = useSwitch();
|
|
3583
|
-
return /* @__PURE__ */
|
|
3825
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3584
3826
|
Thumb,
|
|
3585
3827
|
{
|
|
3586
3828
|
role: "presentation",
|
|
@@ -3600,11 +3842,11 @@ Switch.Root = SwitchRoot;
|
|
|
3600
3842
|
Switch.Thumb = SwitchThumb;
|
|
3601
3843
|
|
|
3602
3844
|
// src/table/index.tsx
|
|
3603
|
-
var
|
|
3845
|
+
var import_react39 = __toESM(require("react"));
|
|
3604
3846
|
|
|
3605
3847
|
// src/table/styles/index.ts
|
|
3606
|
-
var
|
|
3607
|
-
var CellStyles =
|
|
3848
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3849
|
+
var CellStyles = import_styled_components23.css`
|
|
3608
3850
|
box-sizing: border-box;
|
|
3609
3851
|
border: none;
|
|
3610
3852
|
line-height: 1;
|
|
@@ -3614,11 +3856,11 @@ var CellStyles = import_styled_components21.css`
|
|
|
3614
3856
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
3615
3857
|
);
|
|
3616
3858
|
`;
|
|
3617
|
-
var TableLayer =
|
|
3859
|
+
var TableLayer = import_styled_components23.default.div`
|
|
3618
3860
|
border-radius: var(--measurement-medium-30);
|
|
3619
3861
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
3620
3862
|
`;
|
|
3621
|
-
var TableWrapper =
|
|
3863
|
+
var TableWrapper = import_styled_components23.default.table`
|
|
3622
3864
|
border-collapse: collapse;
|
|
3623
3865
|
|
|
3624
3866
|
tbody {
|
|
@@ -3629,7 +3871,7 @@ var TableWrapper = import_styled_components21.default.table`
|
|
|
3629
3871
|
}
|
|
3630
3872
|
}
|
|
3631
3873
|
`;
|
|
3632
|
-
var RowWrapper =
|
|
3874
|
+
var RowWrapper = import_styled_components23.default.tr`
|
|
3633
3875
|
border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
3634
3876
|
|
|
3635
3877
|
transition: background-color linear 0.1s;
|
|
@@ -3638,7 +3880,7 @@ var RowWrapper = import_styled_components21.default.tr`
|
|
|
3638
3880
|
background-color: var(--font-color-alpha-10);
|
|
3639
3881
|
}
|
|
3640
3882
|
`;
|
|
3641
|
-
var HeadCellWrapper =
|
|
3883
|
+
var HeadCellWrapper = import_styled_components23.default.th`
|
|
3642
3884
|
font-size: var(--fontsize-medium-10);
|
|
3643
3885
|
${CellStyles}
|
|
3644
3886
|
|
|
@@ -3646,7 +3888,7 @@ var HeadCellWrapper = import_styled_components21.default.th`
|
|
|
3646
3888
|
color: var(--font-color-alpha-60);
|
|
3647
3889
|
}
|
|
3648
3890
|
`;
|
|
3649
|
-
var CellWrapper =
|
|
3891
|
+
var CellWrapper = import_styled_components23.default.td`
|
|
3650
3892
|
${CellStyles}
|
|
3651
3893
|
`;
|
|
3652
3894
|
|
|
@@ -3655,43 +3897,43 @@ var Table = ({
|
|
|
3655
3897
|
children,
|
|
3656
3898
|
...restProps
|
|
3657
3899
|
}) => {
|
|
3658
|
-
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));
|
|
3659
3901
|
};
|
|
3660
3902
|
Table.displayName = "Table";
|
|
3661
3903
|
var TableHead = ({
|
|
3662
3904
|
children,
|
|
3663
3905
|
...restProps
|
|
3664
3906
|
}) => {
|
|
3665
|
-
return /* @__PURE__ */
|
|
3907
|
+
return /* @__PURE__ */ import_react39.default.createElement("thead", { ...restProps }, children);
|
|
3666
3908
|
};
|
|
3667
3909
|
TableHead.displayName = "Table.Head";
|
|
3668
3910
|
var TableBody = ({
|
|
3669
3911
|
children,
|
|
3670
3912
|
...restProps
|
|
3671
3913
|
}) => {
|
|
3672
|
-
return /* @__PURE__ */
|
|
3914
|
+
return /* @__PURE__ */ import_react39.default.createElement("tbody", { ...restProps }, children);
|
|
3673
3915
|
};
|
|
3674
3916
|
TableBody.displayName = "Table.Body";
|
|
3675
3917
|
var TableHeadCell = ({
|
|
3676
3918
|
children,
|
|
3677
3919
|
...restProps
|
|
3678
3920
|
}) => {
|
|
3679
|
-
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));
|
|
3680
3922
|
};
|
|
3681
3923
|
TableHeadCell.displayName = "Table.HeadCell";
|
|
3682
3924
|
var TableRow = ({ children, ...restProps }) => {
|
|
3683
|
-
return /* @__PURE__ */
|
|
3925
|
+
return /* @__PURE__ */ import_react39.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
|
|
3684
3926
|
};
|
|
3685
3927
|
TableRow.displayName = "Table.Row";
|
|
3686
3928
|
var TableCell = ({ children, ...restProps }) => {
|
|
3687
|
-
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));
|
|
3688
3930
|
};
|
|
3689
3931
|
TableCell.displayName = "Table.Cell";
|
|
3690
3932
|
var TableFooter = ({
|
|
3691
3933
|
children,
|
|
3692
3934
|
...restProps
|
|
3693
3935
|
}) => {
|
|
3694
|
-
return /* @__PURE__ */
|
|
3936
|
+
return /* @__PURE__ */ import_react39.default.createElement("tfoot", { ...restProps }, children);
|
|
3695
3937
|
};
|
|
3696
3938
|
TableFooter.displayName = "Table.Footer";
|
|
3697
3939
|
Table.Head = TableHead;
|
|
@@ -3702,24 +3944,26 @@ Table.Cell = TableCell;
|
|
|
3702
3944
|
Table.Footer = TableFooter;
|
|
3703
3945
|
|
|
3704
3946
|
// src/tabs/index.tsx
|
|
3705
|
-
var
|
|
3947
|
+
var import_react41 = __toESM(require("react"));
|
|
3706
3948
|
|
|
3707
3949
|
// src/tabs/hooks/index.tsx
|
|
3708
|
-
var
|
|
3709
|
-
var
|
|
3950
|
+
var import_react40 = __toESM(require("react"));
|
|
3951
|
+
var defaultComponentAPI8 = {
|
|
3710
3952
|
id: "",
|
|
3711
3953
|
states: {},
|
|
3712
3954
|
methods: {}
|
|
3713
3955
|
};
|
|
3714
|
-
var TabsContext = (0,
|
|
3715
|
-
var useTabs = () => (0,
|
|
3716
|
-
var TabsProvider = ({
|
|
3956
|
+
var TabsContext = (0, import_react40.createContext)(defaultComponentAPI8);
|
|
3957
|
+
var useTabs = () => (0, import_react40.useContext)(TabsContext);
|
|
3958
|
+
var TabsProvider = ({
|
|
3959
|
+
children
|
|
3960
|
+
}) => {
|
|
3717
3961
|
const context = useTabsProvider();
|
|
3718
|
-
return /* @__PURE__ */
|
|
3962
|
+
return /* @__PURE__ */ import_react40.default.createElement(TabsContext.Provider, { value: context }, children);
|
|
3719
3963
|
};
|
|
3720
3964
|
function useTabsProvider() {
|
|
3721
|
-
const [value, setValue] = (0,
|
|
3722
|
-
const tabsId =
|
|
3965
|
+
const [value, setValue] = (0, import_react40.useState)(null);
|
|
3966
|
+
const tabsId = import_react40.default.useId();
|
|
3723
3967
|
return {
|
|
3724
3968
|
id: tabsId,
|
|
3725
3969
|
states: {
|
|
@@ -3733,8 +3977,8 @@ function useTabsProvider() {
|
|
|
3733
3977
|
}
|
|
3734
3978
|
|
|
3735
3979
|
// src/tabs/styles/index.ts
|
|
3736
|
-
var
|
|
3737
|
-
var TabWrapper =
|
|
3980
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
3981
|
+
var TabWrapper = import_styled_components24.default.div`
|
|
3738
3982
|
button {
|
|
3739
3983
|
&[aria-selected="true"] {
|
|
3740
3984
|
color: var(--font-color) !important;
|
|
@@ -3747,22 +3991,22 @@ var Tabs = (props) => {
|
|
|
3747
3991
|
const { defaultOpen, children, ...restProps } = props;
|
|
3748
3992
|
const { methods } = useTabs();
|
|
3749
3993
|
const { applyValue } = methods;
|
|
3750
|
-
const childArray =
|
|
3994
|
+
const childArray = import_react41.Children.toArray(children);
|
|
3751
3995
|
const firstChild = childArray[0];
|
|
3752
|
-
|
|
3753
|
-
if (
|
|
3996
|
+
import_react41.default.useEffect(() => {
|
|
3997
|
+
if (import_react41.default.isValidElement(firstChild)) {
|
|
3754
3998
|
if (childArray.length > 0 && applyValue)
|
|
3755
3999
|
applyValue(firstChild.props.value);
|
|
3756
4000
|
}
|
|
3757
4001
|
}, []);
|
|
3758
|
-
|
|
4002
|
+
import_react41.default.useEffect(() => {
|
|
3759
4003
|
if (defaultOpen && applyValue) applyValue(defaultOpen);
|
|
3760
4004
|
}, []);
|
|
3761
|
-
return /* @__PURE__ */
|
|
4005
|
+
return /* @__PURE__ */ import_react41.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
|
|
3762
4006
|
};
|
|
3763
4007
|
Tabs.displayName = "Tabs";
|
|
3764
4008
|
var TabsRoot = ({ children }) => {
|
|
3765
|
-
return /* @__PURE__ */
|
|
4009
|
+
return /* @__PURE__ */ import_react41.default.createElement(TabsProvider, null, children);
|
|
3766
4010
|
};
|
|
3767
4011
|
TabsRoot.displayName = "Tabs.Root";
|
|
3768
4012
|
var TabsTrigger = (props) => {
|
|
@@ -3778,7 +4022,7 @@ var TabsTrigger = (props) => {
|
|
|
3778
4022
|
if (applyValue) applyValue(value);
|
|
3779
4023
|
if (onClick) onClick(event);
|
|
3780
4024
|
};
|
|
3781
|
-
return /* @__PURE__ */
|
|
4025
|
+
return /* @__PURE__ */ import_react41.default.createElement(
|
|
3782
4026
|
Button,
|
|
3783
4027
|
{
|
|
3784
4028
|
type: "button",
|
|
@@ -3806,7 +4050,7 @@ var TabsContent = (props) => {
|
|
|
3806
4050
|
trigger: getTabsId && getTabsId({ value, type: "trigger" }),
|
|
3807
4051
|
content: getTabsId && getTabsId({ value, type: "content" })
|
|
3808
4052
|
};
|
|
3809
|
-
return /* @__PURE__ */
|
|
4053
|
+
return /* @__PURE__ */ import_react41.default.createElement(
|
|
3810
4054
|
"div",
|
|
3811
4055
|
{
|
|
3812
4056
|
tabIndex: 0,
|
|
@@ -3827,11 +4071,11 @@ Tabs.Trigger = TabsTrigger;
|
|
|
3827
4071
|
Tabs.Content = TabsContent;
|
|
3828
4072
|
|
|
3829
4073
|
// src/text-area/index.tsx
|
|
3830
|
-
var
|
|
4074
|
+
var import_react42 = __toESM(require("react"));
|
|
3831
4075
|
|
|
3832
4076
|
// src/text-area/styles/index.ts
|
|
3833
|
-
var
|
|
3834
|
-
var CustomScrollbar2 =
|
|
4077
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
4078
|
+
var CustomScrollbar2 = import_styled_components25.css`
|
|
3835
4079
|
height: ${({ $height }) => $height ?? "100%"};
|
|
3836
4080
|
width: ${({ $width }) => $width ?? "100%"};
|
|
3837
4081
|
overflow-y: auto;
|
|
@@ -3863,7 +4107,7 @@ var CustomScrollbar2 = import_styled_components23.css`
|
|
|
3863
4107
|
scrollbar-width: thin;
|
|
3864
4108
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
|
|
3865
4109
|
`;
|
|
3866
|
-
var TextareaSizeStyles =
|
|
4110
|
+
var TextareaSizeStyles = import_styled_components25.css`
|
|
3867
4111
|
padding: var(--measurement-medium-30);
|
|
3868
4112
|
max-height: var(--measurement-large-60);
|
|
3869
4113
|
|
|
@@ -3878,7 +4122,7 @@ var TextareaSizeStyles = import_styled_components23.css`
|
|
|
3878
4122
|
max-height: var(--measurement-large-80);
|
|
3879
4123
|
}
|
|
3880
4124
|
`;
|
|
3881
|
-
var TextareaResizableStyles =
|
|
4125
|
+
var TextareaResizableStyles = import_styled_components25.css`
|
|
3882
4126
|
&[data-resizable="true"] {
|
|
3883
4127
|
resize: vertical;
|
|
3884
4128
|
}
|
|
@@ -3886,7 +4130,7 @@ var TextareaResizableStyles = import_styled_components23.css`
|
|
|
3886
4130
|
resize: none;
|
|
3887
4131
|
}
|
|
3888
4132
|
`;
|
|
3889
|
-
var TextAreaContainer =
|
|
4133
|
+
var TextAreaContainer = import_styled_components25.default.textarea`
|
|
3890
4134
|
&[data-raw="false"] {
|
|
3891
4135
|
${FieldDefaultStyles}
|
|
3892
4136
|
${FieldShapeStyles}
|
|
@@ -3902,7 +4146,7 @@ var TextAreaContainer = import_styled_components23.default.textarea`
|
|
|
3902
4146
|
// src/text-area/index.tsx
|
|
3903
4147
|
var Textarea = (props) => {
|
|
3904
4148
|
const { raw, shape, sizing, variant, resizable, onChange } = props;
|
|
3905
|
-
const textareaRef =
|
|
4149
|
+
const textareaRef = import_react42.default.useRef(null);
|
|
3906
4150
|
const adjustHeight = () => {
|
|
3907
4151
|
const textarea = textareaRef.current;
|
|
3908
4152
|
if (textarea) {
|
|
@@ -3917,8 +4161,8 @@ var Textarea = (props) => {
|
|
|
3917
4161
|
adjustHeight();
|
|
3918
4162
|
onChange?.(e);
|
|
3919
4163
|
};
|
|
3920
|
-
|
|
3921
|
-
return /* @__PURE__ */
|
|
4164
|
+
import_react42.default.useEffect(() => adjustHeight(), [props.value]);
|
|
4165
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3922
4166
|
TextAreaContainer,
|
|
3923
4167
|
{
|
|
3924
4168
|
ref: textareaRef,
|
|
@@ -3935,22 +4179,22 @@ var Textarea = (props) => {
|
|
|
3935
4179
|
Textarea.displayName = "Textarea";
|
|
3936
4180
|
|
|
3937
4181
|
// src/toggle/index.tsx
|
|
3938
|
-
var
|
|
4182
|
+
var import_react43 = __toESM(require("react"));
|
|
3939
4183
|
var Toggle = (props) => {
|
|
3940
4184
|
const { defaultChecked, onClick, disabled, children, ...restProps } = props;
|
|
3941
|
-
const [checked, setChecked] =
|
|
4185
|
+
const [checked, setChecked] = import_react43.default.useState(
|
|
3942
4186
|
defaultChecked ?? false
|
|
3943
4187
|
);
|
|
3944
4188
|
const handleClick = (event) => {
|
|
3945
4189
|
if (onClick) onClick(event);
|
|
3946
4190
|
if (!disabled) setChecked((prevChecked) => !prevChecked);
|
|
3947
4191
|
};
|
|
3948
|
-
|
|
4192
|
+
import_react43.default.useEffect(() => {
|
|
3949
4193
|
if (defaultChecked !== void 0) {
|
|
3950
4194
|
setChecked(Boolean(defaultChecked));
|
|
3951
4195
|
}
|
|
3952
4196
|
}, [defaultChecked]);
|
|
3953
|
-
return /* @__PURE__ */
|
|
4197
|
+
return /* @__PURE__ */ import_react43.default.createElement(
|
|
3954
4198
|
Button,
|
|
3955
4199
|
{
|
|
3956
4200
|
role: "switch",
|
|
@@ -3968,24 +4212,26 @@ var Toggle = (props) => {
|
|
|
3968
4212
|
Toggle.displayName = "Toggle";
|
|
3969
4213
|
|
|
3970
4214
|
// src/toolbar/index.tsx
|
|
3971
|
-
var
|
|
4215
|
+
var import_react45 = __toESM(require("react"));
|
|
3972
4216
|
|
|
3973
4217
|
// src/toolbar/hooks/index.tsx
|
|
3974
|
-
var
|
|
3975
|
-
var
|
|
4218
|
+
var import_react44 = __toESM(require("react"));
|
|
4219
|
+
var defaultComponentAPI9 = {
|
|
3976
4220
|
id: "",
|
|
3977
4221
|
states: {},
|
|
3978
4222
|
methods: {}
|
|
3979
4223
|
};
|
|
3980
|
-
var ToolbarContext = (0,
|
|
3981
|
-
var useToolbar = () => (0,
|
|
3982
|
-
var ToolbarProvider = ({
|
|
4224
|
+
var ToolbarContext = (0, import_react44.createContext)(defaultComponentAPI9);
|
|
4225
|
+
var useToolbar = () => (0, import_react44.useContext)(ToolbarContext);
|
|
4226
|
+
var ToolbarProvider = ({
|
|
4227
|
+
children
|
|
4228
|
+
}) => {
|
|
3983
4229
|
const context = useToolbarProvider();
|
|
3984
|
-
return /* @__PURE__ */
|
|
4230
|
+
return /* @__PURE__ */ import_react44.default.createElement(ToolbarContext.Provider, { value: context }, children);
|
|
3985
4231
|
};
|
|
3986
4232
|
function useToolbarProvider() {
|
|
3987
|
-
const [expanded, setExpanded] = (0,
|
|
3988
|
-
const toolbarId =
|
|
4233
|
+
const [expanded, setExpanded] = (0, import_react44.useState)(false);
|
|
4234
|
+
const toolbarId = import_react44.default.useId();
|
|
3989
4235
|
return {
|
|
3990
4236
|
id: toolbarId,
|
|
3991
4237
|
states: {
|
|
@@ -3998,8 +4244,8 @@ function useToolbarProvider() {
|
|
|
3998
4244
|
}
|
|
3999
4245
|
|
|
4000
4246
|
// src/toolbar/styles/index.ts
|
|
4001
|
-
var
|
|
4002
|
-
var ToolbarDefaultStyles =
|
|
4247
|
+
var import_styled_components26 = __toESM(require("styled-components"));
|
|
4248
|
+
var ToolbarDefaultStyles = import_styled_components26.css`
|
|
4003
4249
|
margin: 0;
|
|
4004
4250
|
display: grid;
|
|
4005
4251
|
grid-template-rows: min-content;
|
|
@@ -4033,7 +4279,7 @@ var ToolbarDefaultStyles = import_styled_components24.css`
|
|
|
4033
4279
|
}
|
|
4034
4280
|
}
|
|
4035
4281
|
`;
|
|
4036
|
-
var ToolbarSizeStyles =
|
|
4282
|
+
var ToolbarSizeStyles = import_styled_components26.css`
|
|
4037
4283
|
&[data-size="small"] {
|
|
4038
4284
|
&[aria-orientation="vertical"] {
|
|
4039
4285
|
max-width: var(--measurement-large-70);
|
|
@@ -4079,7 +4325,7 @@ var ToolbarSizeStyles = import_styled_components24.css`
|
|
|
4079
4325
|
}
|
|
4080
4326
|
}
|
|
4081
4327
|
`;
|
|
4082
|
-
var ToolbarSideStyles =
|
|
4328
|
+
var ToolbarSideStyles = import_styled_components26.css`
|
|
4083
4329
|
&[data-side="top"] {
|
|
4084
4330
|
border-bottom-color: var(--font-color-alpha-10);
|
|
4085
4331
|
}
|
|
@@ -4111,7 +4357,7 @@ var ToolbarSideStyles = import_styled_components24.css`
|
|
|
4111
4357
|
}
|
|
4112
4358
|
}
|
|
4113
4359
|
`;
|
|
4114
|
-
var ToolbarWrapper =
|
|
4360
|
+
var ToolbarWrapper = import_styled_components26.default.menu`
|
|
4115
4361
|
&[data-raw="false"] {
|
|
4116
4362
|
${ToolbarDefaultStyles}
|
|
4117
4363
|
${ToolbarSizeStyles}
|
|
@@ -4119,7 +4365,7 @@ var ToolbarWrapper = import_styled_components24.default.menu`
|
|
|
4119
4365
|
${ToolbarSideStyles}
|
|
4120
4366
|
}
|
|
4121
4367
|
`;
|
|
4122
|
-
var ToolbarTriggerWrapper =
|
|
4368
|
+
var ToolbarTriggerWrapper = import_styled_components26.default.menu`
|
|
4123
4369
|
&[data-raw="false"] {
|
|
4124
4370
|
all: unset;
|
|
4125
4371
|
align-self: flex-end;
|
|
@@ -4144,13 +4390,13 @@ var Toolbar = (props) => {
|
|
|
4144
4390
|
const { toggleToolbar } = methods;
|
|
4145
4391
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
4146
4392
|
const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
|
|
4147
|
-
|
|
4393
|
+
import_react45.default.useEffect(() => {
|
|
4148
4394
|
if (defaultOpen && toggleToolbar) return toggleToolbar(true);
|
|
4149
4395
|
}, [defaultOpen]);
|
|
4150
|
-
|
|
4396
|
+
import_react45.default.useEffect(() => {
|
|
4151
4397
|
if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
|
|
4152
4398
|
}, [shortcutControls]);
|
|
4153
|
-
return /* @__PURE__ */
|
|
4399
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
4154
4400
|
ToolbarWrapper,
|
|
4155
4401
|
{
|
|
4156
4402
|
id,
|
|
@@ -4170,7 +4416,7 @@ var Toolbar = (props) => {
|
|
|
4170
4416
|
};
|
|
4171
4417
|
Toolbar.displayName = "Toolbar";
|
|
4172
4418
|
var ToolbarRoot = ({ children }) => {
|
|
4173
|
-
return /* @__PURE__ */
|
|
4419
|
+
return /* @__PURE__ */ import_react45.default.createElement(ToolbarProvider, null, children);
|
|
4174
4420
|
};
|
|
4175
4421
|
ToolbarRoot.displayName = "Toolbar.Root";
|
|
4176
4422
|
var ToolbarTrigger = (props) => {
|
|
@@ -4188,7 +4434,7 @@ var ToolbarTrigger = (props) => {
|
|
|
4188
4434
|
if (onClick) onClick(event);
|
|
4189
4435
|
if (toggleToolbar) toggleToolbar(!states.expanded);
|
|
4190
4436
|
};
|
|
4191
|
-
return /* @__PURE__ */
|
|
4437
|
+
return /* @__PURE__ */ import_react45.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react45.default.createElement(
|
|
4192
4438
|
Button,
|
|
4193
4439
|
{
|
|
4194
4440
|
id: `${id}-trigger`,
|
|
@@ -4206,13 +4452,13 @@ var ToolbarSection = (props) => {
|
|
|
4206
4452
|
const { showoncollapse, children, ...restProps } = props;
|
|
4207
4453
|
const { states } = useToolbar();
|
|
4208
4454
|
const { expanded } = states;
|
|
4209
|
-
if (showoncollapse) return /* @__PURE__ */
|
|
4210
|
-
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);
|
|
4211
4457
|
};
|
|
4212
4458
|
ToolbarSection.displayName = "Toolbar.Section";
|
|
4213
4459
|
var ToolbarItem = (props) => {
|
|
4214
4460
|
const { showfirstchild, onClick, children, ...restProps } = props;
|
|
4215
|
-
const childArray =
|
|
4461
|
+
const childArray = import_react45.default.Children.toArray(children);
|
|
4216
4462
|
const { id, states, methods } = useToolbar();
|
|
4217
4463
|
const { expanded } = states;
|
|
4218
4464
|
const { toggleToolbar } = methods;
|
|
@@ -4221,7 +4467,7 @@ var ToolbarItem = (props) => {
|
|
|
4221
4467
|
if (onClick) onClick(event);
|
|
4222
4468
|
if (toggleToolbar && !expanded) toggleToolbar(true);
|
|
4223
4469
|
};
|
|
4224
|
-
return /* @__PURE__ */
|
|
4470
|
+
return /* @__PURE__ */ import_react45.default.createElement(
|
|
4225
4471
|
"div",
|
|
4226
4472
|
{
|
|
4227
4473
|
tabIndex: -1,
|
|
@@ -4242,11 +4488,11 @@ Toolbar.Item = ToolbarItem;
|
|
|
4242
4488
|
Toolbar.Section = ToolbarSection;
|
|
4243
4489
|
|
|
4244
4490
|
// src/tooltip/index.tsx
|
|
4245
|
-
var
|
|
4491
|
+
var import_react46 = __toESM(require("react"));
|
|
4246
4492
|
|
|
4247
4493
|
// src/tooltip/styles/index.ts
|
|
4248
|
-
var
|
|
4249
|
-
var FadeIn2 =
|
|
4494
|
+
var import_styled_components27 = __toESM(require("styled-components"));
|
|
4495
|
+
var FadeIn2 = import_styled_components27.keyframes`
|
|
4250
4496
|
0% {
|
|
4251
4497
|
opacity: 0;
|
|
4252
4498
|
}
|
|
@@ -4254,11 +4500,11 @@ var FadeIn2 = import_styled_components25.keyframes`
|
|
|
4254
4500
|
opacity: 1;
|
|
4255
4501
|
}
|
|
4256
4502
|
`;
|
|
4257
|
-
var ContentBox =
|
|
4503
|
+
var ContentBox = import_styled_components27.default.div`
|
|
4258
4504
|
display: inline-block;
|
|
4259
4505
|
position: relative;
|
|
4260
4506
|
`;
|
|
4261
|
-
var ContentWrapper2 =
|
|
4507
|
+
var ContentWrapper2 = import_styled_components27.default.span`
|
|
4262
4508
|
&[data-raw="false"] {
|
|
4263
4509
|
width: fit-content;
|
|
4264
4510
|
max-width: var(--measurement-large-60);
|
|
@@ -4289,13 +4535,13 @@ var Tooltip = ({
|
|
|
4289
4535
|
children,
|
|
4290
4536
|
...restProps
|
|
4291
4537
|
}) => {
|
|
4292
|
-
const [visible, setVisible] =
|
|
4293
|
-
const [triggerProps, setTriggerProps] =
|
|
4294
|
-
const [contentProps, setContentProps] =
|
|
4295
|
-
const mounted =
|
|
4296
|
-
const containerRef =
|
|
4297
|
-
const contentRef =
|
|
4298
|
-
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);
|
|
4299
4545
|
const contentRect = () => contentRef?.current?.getBoundingClientRect();
|
|
4300
4546
|
const bodyRect = () => {
|
|
4301
4547
|
if (typeof document !== "undefined") {
|
|
@@ -4319,14 +4565,14 @@ var Tooltip = ({
|
|
|
4319
4565
|
};
|
|
4320
4566
|
const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
|
|
4321
4567
|
const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
|
|
4322
|
-
const showTooltip =
|
|
4568
|
+
const showTooltip = import_react46.default.useCallback(() => {
|
|
4323
4569
|
timeoutRef.current = setTimeout(() => setVisible(true), delay);
|
|
4324
4570
|
}, [delay]);
|
|
4325
|
-
const hideTooltip =
|
|
4571
|
+
const hideTooltip = import_react46.default.useCallback(() => {
|
|
4326
4572
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
4327
4573
|
setVisible(false);
|
|
4328
4574
|
}, []);
|
|
4329
|
-
const handleMouseEnter =
|
|
4575
|
+
const handleMouseEnter = import_react46.default.useCallback(() => {
|
|
4330
4576
|
const rect = containerRef.current?.getBoundingClientRect();
|
|
4331
4577
|
if (rect) {
|
|
4332
4578
|
setTriggerProps({
|
|
@@ -4340,11 +4586,11 @@ var Tooltip = ({
|
|
|
4340
4586
|
showTooltip();
|
|
4341
4587
|
}
|
|
4342
4588
|
}, [showTooltip]);
|
|
4343
|
-
const handleMouseLeave =
|
|
4589
|
+
const handleMouseLeave = import_react46.default.useCallback(
|
|
4344
4590
|
() => hideTooltip(),
|
|
4345
4591
|
[hideTooltip]
|
|
4346
4592
|
);
|
|
4347
|
-
|
|
4593
|
+
import_react46.default.useEffect(() => {
|
|
4348
4594
|
mounted.current = true;
|
|
4349
4595
|
setContentProps && setContentProps({
|
|
4350
4596
|
top: Number(contentRect()?.top),
|
|
@@ -4358,7 +4604,7 @@ var Tooltip = ({
|
|
|
4358
4604
|
mounted.current = false;
|
|
4359
4605
|
};
|
|
4360
4606
|
}, [visible]);
|
|
4361
|
-
return /* @__PURE__ */
|
|
4607
|
+
return /* @__PURE__ */ import_react46.default.createElement(
|
|
4362
4608
|
ContentBox,
|
|
4363
4609
|
{
|
|
4364
4610
|
ref: containerRef,
|
|
@@ -4368,7 +4614,7 @@ var Tooltip = ({
|
|
|
4368
4614
|
...restProps
|
|
4369
4615
|
},
|
|
4370
4616
|
children,
|
|
4371
|
-
visible && /* @__PURE__ */
|
|
4617
|
+
visible && /* @__PURE__ */ import_react46.default.createElement(
|
|
4372
4618
|
ContentWrapper2,
|
|
4373
4619
|
{
|
|
4374
4620
|
ref: contentRef,
|
|
@@ -4383,11 +4629,223 @@ var Tooltip = ({
|
|
|
4383
4629
|
"data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
|
|
4384
4630
|
"data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
|
|
4385
4631
|
},
|
|
4386
|
-
/* @__PURE__ */
|
|
4632
|
+
/* @__PURE__ */ import_react46.default.createElement("div", null, content)
|
|
4387
4633
|
)
|
|
4388
4634
|
);
|
|
4389
4635
|
};
|
|
4390
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;
|
|
4391
4849
|
// Annotate the CommonJS export names for ESM import in node:
|
|
4392
4850
|
0 && (module.exports = {
|
|
4393
4851
|
Accordion,
|
|
@@ -4430,6 +4888,10 @@ Tooltip.displayName = "Tooltip";
|
|
|
4430
4888
|
FieldMeta,
|
|
4431
4889
|
FieldRoot,
|
|
4432
4890
|
FieldWrapper,
|
|
4891
|
+
MessageBubble,
|
|
4892
|
+
MessageBubbleContent,
|
|
4893
|
+
MessageBubbleMeta,
|
|
4894
|
+
MessageBubbleRoot,
|
|
4433
4895
|
MetaVariantEnum,
|
|
4434
4896
|
OTPField,
|
|
4435
4897
|
OTPFieldSlot,
|
|
@@ -4448,6 +4910,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
4448
4910
|
Sheet,
|
|
4449
4911
|
SheetRoot,
|
|
4450
4912
|
SheetTrigger,
|
|
4913
|
+
Shimmer,
|
|
4451
4914
|
Skeleton,
|
|
4452
4915
|
Spinner,
|
|
4453
4916
|
Switch,
|
|
@@ -4472,14 +4935,22 @@ Tooltip.displayName = "Tooltip";
|
|
|
4472
4935
|
ToolbarSection,
|
|
4473
4936
|
ToolbarTrigger,
|
|
4474
4937
|
Tooltip,
|
|
4938
|
+
Tree,
|
|
4939
|
+
TreeContent,
|
|
4940
|
+
TreeNode,
|
|
4941
|
+
TreeRoot,
|
|
4942
|
+
TreeTrigger,
|
|
4475
4943
|
useAccordion,
|
|
4476
4944
|
useCheckbox,
|
|
4477
4945
|
useCollapsible,
|
|
4478
4946
|
useDialog,
|
|
4479
4947
|
useDropdownMenu,
|
|
4480
4948
|
useField,
|
|
4949
|
+
useMessageBubble,
|
|
4481
4950
|
useSheet,
|
|
4482
4951
|
useSwitch,
|
|
4483
4952
|
useTabs,
|
|
4484
|
-
useToolbar
|
|
4953
|
+
useToolbar,
|
|
4954
|
+
useTree,
|
|
4955
|
+
useTreeNode
|
|
4485
4956
|
});
|