@usefui/components 1.5.1 → 1.5.3
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 +237 -9
- package/dist/index.d.ts +237 -9
- package/dist/index.js +1095 -311
- package/dist/index.mjs +1049 -278
- package/package.json +6 -6
- package/src/avatar/index.tsx +1 -1
- package/src/badge/index.tsx +3 -3
- package/src/breadcrumb/Breadcrumb.stories.tsx +36 -0
- package/src/breadcrumb/index.tsx +117 -0
- package/src/breadcrumb/styles/index.ts +19 -0
- package/src/button/Button.stories.tsx +80 -8
- package/src/button/index.tsx +67 -5
- package/src/button/styles/index.ts +82 -10
- package/src/card/Card.stories.tsx +57 -0
- package/src/card/index.tsx +55 -0
- package/src/card/styles/index.ts +72 -0
- package/src/copy-button/CopyButton.stories.tsx +29 -0
- package/src/copy-button/index.tsx +101 -0
- package/src/dialog/index.tsx +1 -1
- package/src/dropdown/index.tsx +1 -1
- package/src/field/Field.stories.tsx +39 -8
- package/src/field/index.tsx +5 -0
- package/src/field/styles/index.ts +38 -12
- package/src/index.ts +8 -0
- package/src/page/index.tsx +1 -1
- package/src/privacy-field/PrivacyField.stories.tsx +29 -0
- package/src/privacy-field/index.tsx +56 -0
- package/src/privacy-field/styles/index.ts +17 -0
- package/src/resizable/Resizable.stories.tsx +40 -0
- package/src/resizable/index.tsx +108 -0
- package/src/resizable/styles/index.ts +65 -0
- package/src/skeleton/Skeleton.stories.tsx +32 -0
- package/src/skeleton/index.tsx +43 -0
- package/src/skeleton/styles/index.ts +56 -0
- package/src/spinner/Spinner.stories.tsx +27 -0
- package/src/spinner/index.tsx +19 -0
- package/src/spinner/styles/index.ts +43 -0
- package/src/text-area/Textarea.stories.tsx +32 -0
- package/src/text-area/index.tsx +78 -0
- package/src/text-area/styles/index.ts +84 -0
- package/src/tooltip/index.tsx +4 -3
package/dist/index.js
CHANGED
|
@@ -37,7 +37,14 @@ __export(index_exports, {
|
|
|
37
37
|
AvataStatusEnum: () => AvataStatusEnum,
|
|
38
38
|
Avatar: () => Avatar,
|
|
39
39
|
Badge: () => Badge,
|
|
40
|
+
Breadcrumb: () => Breadcrumb,
|
|
41
|
+
BreadcrumbItem: () => BreadcrumbItem,
|
|
42
|
+
BreadcrumbSeparator: () => BreadcrumbSeparator,
|
|
40
43
|
Button: () => Button,
|
|
44
|
+
Card: () => Card,
|
|
45
|
+
CardBody: () => CardBody,
|
|
46
|
+
CardGrid: () => CardGrid,
|
|
47
|
+
CardMeta: () => CardMeta,
|
|
41
48
|
Checkbox: () => Checkbox,
|
|
42
49
|
CheckboxIndicator: () => CheckboxIndicator,
|
|
43
50
|
CheckboxRoot: () => CheckboxRoot,
|
|
@@ -45,6 +52,7 @@ __export(index_exports, {
|
|
|
45
52
|
CollapsibleContent: () => CollapsibleContent,
|
|
46
53
|
CollapsibleRoot: () => CollapsibleRoot,
|
|
47
54
|
CollapsibleTrigger: () => CollapsibleTrigger,
|
|
55
|
+
CopyButton: () => CopyButton,
|
|
48
56
|
Dialog: () => Dialog,
|
|
49
57
|
DialogControl: () => DialogControl,
|
|
50
58
|
DialogMenu: () => DialogMenu,
|
|
@@ -74,10 +82,14 @@ __export(index_exports, {
|
|
|
74
82
|
PageTools: () => PageTools,
|
|
75
83
|
PageWrapper: () => PageWrapper,
|
|
76
84
|
Portal: () => Portal,
|
|
85
|
+
PrivacyField: () => PrivacyField,
|
|
86
|
+
Resizable: () => Resizable,
|
|
77
87
|
ScrollArea: () => ScrollArea,
|
|
78
88
|
Sheet: () => Sheet,
|
|
79
89
|
SheetRoot: () => SheetRoot,
|
|
80
90
|
SheetTrigger: () => SheetTrigger,
|
|
91
|
+
Skeleton: () => Skeleton,
|
|
92
|
+
Spinner: () => Spinner,
|
|
81
93
|
Switch: () => Switch,
|
|
82
94
|
SwitchRoot: () => SwitchRoot,
|
|
83
95
|
SwitchThumb: () => SwitchThumb,
|
|
@@ -92,6 +104,7 @@ __export(index_exports, {
|
|
|
92
104
|
TabsContent: () => TabsContent,
|
|
93
105
|
TabsRoot: () => TabsRoot,
|
|
94
106
|
TabsTrigger: () => TabsTrigger,
|
|
107
|
+
Textarea: () => Textarea,
|
|
95
108
|
Toggle: () => Toggle,
|
|
96
109
|
Toolbar: () => Toolbar,
|
|
97
110
|
ToolbarItem: () => ToolbarItem,
|
|
@@ -176,6 +189,11 @@ var ButtonDefaultStyles = import_styled_components.css`
|
|
|
176
189
|
opacity: 0.6;
|
|
177
190
|
}
|
|
178
191
|
|
|
192
|
+
svg,
|
|
193
|
+
span {
|
|
194
|
+
transition: all 0.2s ease-in-out;
|
|
195
|
+
}
|
|
196
|
+
|
|
179
197
|
&:hover,
|
|
180
198
|
&:focus,
|
|
181
199
|
&:active {
|
|
@@ -228,19 +246,19 @@ var ButtonVariantsStyles = import_styled_components.css`
|
|
|
228
246
|
}
|
|
229
247
|
&[data-variant="secondary"] {
|
|
230
248
|
color: var(--font-color-alpha-60);
|
|
231
|
-
background-color:
|
|
249
|
+
background-color: transparent;
|
|
232
250
|
border-color: var(--font-color-alpha-10);
|
|
233
251
|
|
|
234
252
|
&:hover,
|
|
235
253
|
&:focus,
|
|
236
254
|
&:active {
|
|
237
255
|
color: var(--font-color);
|
|
238
|
-
|
|
256
|
+
background-color: var(--font-color-alpha-10);
|
|
257
|
+
border-color: transparent;
|
|
239
258
|
}
|
|
240
259
|
}
|
|
241
260
|
&[data-variant="tertiary"] {
|
|
242
|
-
color: var(--font-color-alpha-
|
|
243
|
-
border-color: var(--font-color-alpha-10);
|
|
261
|
+
color: var(--font-color-alpha-80);
|
|
244
262
|
background-color: transparent;
|
|
245
263
|
|
|
246
264
|
&:hover,
|
|
@@ -248,7 +266,6 @@ var ButtonVariantsStyles = import_styled_components.css`
|
|
|
248
266
|
&:active {
|
|
249
267
|
color: var(--font-color);
|
|
250
268
|
background-color: var(--font-color-alpha-10);
|
|
251
|
-
border-color: transparent;
|
|
252
269
|
}
|
|
253
270
|
}
|
|
254
271
|
&[data-variant="border"] {
|
|
@@ -260,6 +277,27 @@ var ButtonVariantsStyles = import_styled_components.css`
|
|
|
260
277
|
&:focus,
|
|
261
278
|
&:active {
|
|
262
279
|
color: var(--font-color);
|
|
280
|
+
border-color: var(--font-color-alpha-20);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
&[data-variant="danger"] {
|
|
284
|
+
color: var(--color-mono-white);
|
|
285
|
+
background-color: var(--color-red);
|
|
286
|
+
|
|
287
|
+
&:hover,
|
|
288
|
+
&:focus,
|
|
289
|
+
&:active {
|
|
290
|
+
background-color: var(--shade-red-10);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
&[data-variant="warning"] {
|
|
294
|
+
color: var(--color-mono-dark);
|
|
295
|
+
background-color: var(--color-orange);
|
|
296
|
+
|
|
297
|
+
&:hover,
|
|
298
|
+
&:focus,
|
|
299
|
+
&:active {
|
|
300
|
+
background-color: var(--shade-orange-10);
|
|
263
301
|
}
|
|
264
302
|
}
|
|
265
303
|
&[data-variant="mono"] {
|
|
@@ -290,8 +328,7 @@ var ButtonVariantsStyles = import_styled_components.css`
|
|
|
290
328
|
`;
|
|
291
329
|
var ButtonSizeStyles = import_styled_components.css`
|
|
292
330
|
&[data-size="small"] {
|
|
293
|
-
|
|
294
|
-
font-size: var(--fontsize-medium-10);
|
|
331
|
+
font-size: var(--fontsize-small-60);
|
|
295
332
|
|
|
296
333
|
gap: var(--measurement-medium-10);
|
|
297
334
|
padding: var(--measurement-medium-10) var(--measurement-medium-30);
|
|
@@ -304,39 +341,83 @@ var ButtonSizeStyles = import_styled_components.css`
|
|
|
304
341
|
}
|
|
305
342
|
}
|
|
306
343
|
&[data-size="medium"] {
|
|
307
|
-
border-radius: var(--measurement-medium-30);
|
|
308
344
|
padding: var(--measurement-medium-10) var(--measurement-medium-60);
|
|
309
345
|
min-width: var(--measurement-medium-90);
|
|
310
346
|
min-height: var(--measurement-medium-80);
|
|
311
347
|
}
|
|
312
348
|
&[data-size="large"] {
|
|
313
|
-
border-radius: var(--measurement-medium-30);
|
|
314
349
|
padding: var(--measurement-medium-10) var(--measurement-medium-60);
|
|
315
350
|
min-width: var(--measurement-medium-90);
|
|
316
351
|
min-height: var(--measurement-medium-90);
|
|
317
352
|
}
|
|
318
353
|
`;
|
|
354
|
+
var ButtonShapeStyles = import_styled_components.css`
|
|
355
|
+
&[data-shape="square"] {
|
|
356
|
+
border-radius: 0;
|
|
357
|
+
}
|
|
358
|
+
&[data-shape="smooth"] {
|
|
359
|
+
border-radius: var(--measurement-medium-20);
|
|
360
|
+
}
|
|
361
|
+
&[data-shape="round"] {
|
|
362
|
+
border-radius: var(--measurement-large-90);
|
|
363
|
+
}
|
|
364
|
+
`;
|
|
319
365
|
var ButtonWrapper = import_styled_components.default.button`
|
|
320
366
|
&[data-raw="false"] {
|
|
321
367
|
${ButtonDefaultStyles}
|
|
322
368
|
${ButtonSizeStyles}
|
|
369
|
+
${ButtonShapeStyles}
|
|
323
370
|
${ButtonVariantsStyles}
|
|
324
|
-
|
|
325
371
|
&[data-rawIcon="false"] {
|
|
326
372
|
${ButtonIconStyles}
|
|
327
373
|
}
|
|
328
374
|
}
|
|
329
375
|
`;
|
|
376
|
+
var ButtonOverlay = import_styled_components.default.div`
|
|
377
|
+
position: absolute;
|
|
378
|
+
inset: -1px;
|
|
379
|
+
pointer-events: none;
|
|
380
|
+
opacity: ${(props) => props.$isHovering ? 1 : 0};
|
|
381
|
+
background: transparent;
|
|
382
|
+
transition: opacity 0.2s ease-in-out;
|
|
383
|
+
|
|
384
|
+
${ButtonShapeStyles}
|
|
385
|
+
`;
|
|
386
|
+
var ButtonMaskElement = import_styled_components.default.div`
|
|
387
|
+
position: absolute;
|
|
388
|
+
inset: 0;
|
|
389
|
+
background: transparent;
|
|
390
|
+
border: var(--measurement-small-10) solid var(--font-color-alpha-20);
|
|
391
|
+
clip-path: inset(0 round var(--measurement-medium-30));
|
|
392
|
+
|
|
393
|
+
mask-image: radial-gradient(
|
|
394
|
+
circle at ${(props) => props.$mouseX}% ${(props) => props.$mouseY}%,
|
|
395
|
+
var(--body-color),
|
|
396
|
+
transparent 100%
|
|
397
|
+
);
|
|
398
|
+
-webkit-mask-image: radial-gradient(
|
|
399
|
+
circle at ${(props) => props.$mouseX}% ${(props) => props.$mouseY}%,
|
|
400
|
+
var(--body-color),
|
|
401
|
+
transparent 100%
|
|
402
|
+
);
|
|
403
|
+
|
|
404
|
+
${ButtonShapeStyles}
|
|
405
|
+
`;
|
|
330
406
|
|
|
331
407
|
// src/button/index.tsx
|
|
332
408
|
var Button = import_react2.default.forwardRef(
|
|
333
409
|
(props, forwardedRef) => {
|
|
334
410
|
const {
|
|
335
411
|
name,
|
|
336
|
-
variant = "
|
|
412
|
+
variant = "primary" /* Primary */,
|
|
337
413
|
sizing = "medium" /* Medium */,
|
|
414
|
+
shape = "smooth",
|
|
415
|
+
animation,
|
|
338
416
|
raw,
|
|
339
417
|
rawicon,
|
|
418
|
+
onMouseMove,
|
|
419
|
+
onMouseEnter,
|
|
420
|
+
onMouseLeave,
|
|
340
421
|
children,
|
|
341
422
|
...restProps
|
|
342
423
|
} = props;
|
|
@@ -347,6 +428,37 @@ var Button = import_react2.default.forwardRef(
|
|
|
347
428
|
const buttonDescription = `${ariaLabel}:${buttonType}`;
|
|
348
429
|
const buttonStateDescription = `disabled:${disabledState}`;
|
|
349
430
|
const ButtonFullDesc = `${buttonDescription}/${buttonStateDescription}`;
|
|
431
|
+
const isReflective = animation === "reflective" && variant !== "ghost";
|
|
432
|
+
const [position, setPosition] = import_react2.default.useState({ x: 0, y: 0 });
|
|
433
|
+
const [isHovering, setIsHovering] = import_react2.default.useState(false);
|
|
434
|
+
const handleMouseMove = import_react2.default.useCallback(
|
|
435
|
+
(e) => {
|
|
436
|
+
if (onMouseMove) onMouseMove(e);
|
|
437
|
+
if (!isReflective) return;
|
|
438
|
+
const rect = e.currentTarget.getBoundingClientRect();
|
|
439
|
+
setPosition({
|
|
440
|
+
x: (e.clientX - rect.left) / rect.width * 100,
|
|
441
|
+
y: (e.clientY - rect.top) / rect.height * 100
|
|
442
|
+
});
|
|
443
|
+
},
|
|
444
|
+
[]
|
|
445
|
+
);
|
|
446
|
+
const handleMouseEnter = import_react2.default.useCallback(
|
|
447
|
+
(e) => {
|
|
448
|
+
if (onMouseEnter) onMouseEnter(e);
|
|
449
|
+
if (!isReflective) return;
|
|
450
|
+
setIsHovering(true);
|
|
451
|
+
},
|
|
452
|
+
[]
|
|
453
|
+
);
|
|
454
|
+
const handleMouseLeave = import_react2.default.useCallback(
|
|
455
|
+
(e) => {
|
|
456
|
+
if (onMouseLeave) onMouseLeave(e);
|
|
457
|
+
if (!isReflective) return;
|
|
458
|
+
setIsHovering(false);
|
|
459
|
+
},
|
|
460
|
+
[]
|
|
461
|
+
);
|
|
350
462
|
return /* @__PURE__ */ import_react2.default.createElement(
|
|
351
463
|
ButtonWrapper,
|
|
352
464
|
{
|
|
@@ -359,11 +471,24 @@ var Button = import_react2.default.forwardRef(
|
|
|
359
471
|
"aria-disabled": disabledState,
|
|
360
472
|
"data-variant": variant,
|
|
361
473
|
"data-size": sizing,
|
|
474
|
+
"data-shape": shape,
|
|
475
|
+
"data-animation": animation,
|
|
362
476
|
"data-raw": Boolean(raw),
|
|
363
477
|
"data-rawicon": Boolean(rawicon),
|
|
364
478
|
tabIndex: 0,
|
|
479
|
+
onMouseMove: handleMouseMove,
|
|
480
|
+
onMouseEnter: handleMouseEnter,
|
|
481
|
+
onMouseLeave: handleMouseLeave,
|
|
365
482
|
...restProps
|
|
366
483
|
},
|
|
484
|
+
isReflective && /* @__PURE__ */ import_react2.default.createElement(ButtonOverlay, { $isHovering: isHovering, "data-shape": shape }, /* @__PURE__ */ import_react2.default.createElement(
|
|
485
|
+
ButtonMaskElement,
|
|
486
|
+
{
|
|
487
|
+
$mouseX: position.x,
|
|
488
|
+
$mouseY: position.y,
|
|
489
|
+
"data-shape": shape
|
|
490
|
+
}
|
|
491
|
+
)),
|
|
367
492
|
children
|
|
368
493
|
);
|
|
369
494
|
}
|
|
@@ -718,25 +843,186 @@ var Badge = (props) => {
|
|
|
718
843
|
};
|
|
719
844
|
Badge.displayName = "Badge";
|
|
720
845
|
|
|
721
|
-
// src/
|
|
846
|
+
// src/breadcrumb/index.tsx
|
|
847
|
+
var import_react6 = __toESM(require("react"));
|
|
848
|
+
|
|
849
|
+
// src/breadcrumb/styles/index.ts
|
|
850
|
+
var import_styled_components4 = __toESM(require("styled-components"));
|
|
851
|
+
var ItemWrapper = import_styled_components4.default.span`
|
|
852
|
+
width: 100%;
|
|
853
|
+
line-clamp: 2;
|
|
854
|
+
word-break: break-all;
|
|
855
|
+
|
|
856
|
+
&[data-current="true"] {
|
|
857
|
+
opacity: 1 !important;
|
|
858
|
+
}
|
|
859
|
+
`;
|
|
860
|
+
var SeparatorItem = import_styled_components4.default.span`
|
|
861
|
+
color: var(--font-color-alpha-10) !important;
|
|
862
|
+
user-select: none;
|
|
863
|
+
pointer-events: none;
|
|
864
|
+
`;
|
|
865
|
+
|
|
866
|
+
// src/breadcrumb/index.tsx
|
|
867
|
+
var SEGMENT_SEPARATOR = "/";
|
|
868
|
+
var BreadcrumbItem = (props) => {
|
|
869
|
+
const { isLastItem = false, children, ...restProps } = props;
|
|
870
|
+
return /* @__PURE__ */ import_react6.default.createElement(Button, { sizing: "small", variant: "ghost", ...restProps }, /* @__PURE__ */ import_react6.default.createElement(ItemWrapper, { "data-current": isLastItem }, children));
|
|
871
|
+
};
|
|
872
|
+
BreadcrumbItem.displayName = "Breadcrumb.Item";
|
|
873
|
+
var BreadcrumbSeparator = (props) => {
|
|
874
|
+
const { children } = props;
|
|
875
|
+
return /* @__PURE__ */ import_react6.default.createElement(SeparatorItem, null, children ?? SEGMENT_SEPARATOR);
|
|
876
|
+
};
|
|
877
|
+
BreadcrumbSeparator.displayName = "Breadcrumb.Separator";
|
|
878
|
+
var Breadcrumb = (props) => {
|
|
879
|
+
const { path, navigate, capitalizeItems = true, children } = props;
|
|
880
|
+
const segments = path.split(SEGMENT_SEPARATOR).filter(Boolean);
|
|
881
|
+
const items = segments.map((segment, index) => {
|
|
882
|
+
const href = `/${segments.slice(0, index + 1).join(SEGMENT_SEPARATOR)}`;
|
|
883
|
+
const isLastItem = index === segments.length - 1;
|
|
884
|
+
return {
|
|
885
|
+
href,
|
|
886
|
+
label: segment,
|
|
887
|
+
isLastItem
|
|
888
|
+
};
|
|
889
|
+
});
|
|
890
|
+
const breadcrumbLabel = (segment) => {
|
|
891
|
+
return capitalizeItems ? segment.charAt(0).toUpperCase() + segment.slice(1).replace(/-/g, " ") : segment.replace(/-/g, " ");
|
|
892
|
+
};
|
|
893
|
+
const handleNavigate = import_react6.default.useCallback((href) => {
|
|
894
|
+
if (navigate) navigate(href);
|
|
895
|
+
}, []);
|
|
896
|
+
if (path === SEGMENT_SEPARATOR) return null;
|
|
897
|
+
return /* @__PURE__ */ import_react6.default.createElement("div", { className: "flex align-center g-medium-30" }, children && /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, null, children, /* @__PURE__ */ import_react6.default.createElement(Breadcrumb.Separator, null)), items.map((item, key) => /* @__PURE__ */ import_react6.default.createElement(import_react6.default.Fragment, { key }, /* @__PURE__ */ import_react6.default.createElement(
|
|
898
|
+
Breadcrumb.Item,
|
|
899
|
+
{
|
|
900
|
+
isLastItem: item.isLastItem,
|
|
901
|
+
disabled: !navigate,
|
|
902
|
+
onClick: () => handleNavigate(item.href)
|
|
903
|
+
},
|
|
904
|
+
breadcrumbLabel(item.label)
|
|
905
|
+
), !item.isLastItem && /* @__PURE__ */ import_react6.default.createElement(Breadcrumb.Separator, null))));
|
|
906
|
+
};
|
|
907
|
+
Breadcrumb.displayName = "Breadcrumb";
|
|
908
|
+
Breadcrumb.Item = BreadcrumbItem;
|
|
909
|
+
Breadcrumb.Separator = BreadcrumbSeparator;
|
|
910
|
+
|
|
911
|
+
// src/card/index.tsx
|
|
722
912
|
var import_react7 = __toESM(require("react"));
|
|
723
913
|
|
|
914
|
+
// src/card/styles/index.ts
|
|
915
|
+
var import_styled_components5 = __toESM(require("styled-components"));
|
|
916
|
+
var GridDefaultStyles = import_styled_components5.css`
|
|
917
|
+
display: grid;
|
|
918
|
+
grid-gap: var(--measurement-medium-30) var(--measurement-medium-30);
|
|
919
|
+
box-sizing: border-box;
|
|
920
|
+
|
|
921
|
+
@media (max-width: 768px) {
|
|
922
|
+
grid-template-columns: repeat(auto-fill, minmax(100%, 1fr));
|
|
923
|
+
}
|
|
924
|
+
`;
|
|
925
|
+
var GridSizeStyles = import_styled_components5.css`
|
|
926
|
+
&[data-size="small"] {
|
|
927
|
+
grid-template-columns: repeat(
|
|
928
|
+
auto-fill,
|
|
929
|
+
minmax(var(--measurement-large-80), 1fr)
|
|
930
|
+
);
|
|
931
|
+
}
|
|
932
|
+
&[data-size="medium"] {
|
|
933
|
+
grid-template-columns: repeat(
|
|
934
|
+
auto-fill,
|
|
935
|
+
minmax(var(--measurement-large-90), 1fr)
|
|
936
|
+
);
|
|
937
|
+
}
|
|
938
|
+
&[data-size="large"] {
|
|
939
|
+
grid-template-columns: repeat(
|
|
940
|
+
auto-fill,
|
|
941
|
+
minmax(calc(var(--measurement-large-90) * 1.2), 1fr)
|
|
942
|
+
);
|
|
943
|
+
}
|
|
944
|
+
`;
|
|
945
|
+
var CardShapeStyles = import_styled_components5.css`
|
|
946
|
+
&[data-shape="square"] {
|
|
947
|
+
border-radius: 0;
|
|
948
|
+
}
|
|
949
|
+
&[data-shape="smooth"] {
|
|
950
|
+
border-radius: var(--measurement-medium-30);
|
|
951
|
+
}
|
|
952
|
+
&[data-shape="round"] {
|
|
953
|
+
border-radius: var(--measurement-medium-60);
|
|
954
|
+
}
|
|
955
|
+
`;
|
|
956
|
+
var CardDefaultStyles = import_styled_components5.css`
|
|
957
|
+
${CardShapeStyles}
|
|
958
|
+
|
|
959
|
+
box-sizing: border-box;
|
|
960
|
+
`;
|
|
961
|
+
var CardContainer = import_styled_components5.default.div`
|
|
962
|
+
width: 100%;
|
|
963
|
+
background-color: var(--font-color-alpha-10);
|
|
964
|
+
|
|
965
|
+
${CardDefaultStyles}
|
|
966
|
+
`;
|
|
967
|
+
var CardWrapper = import_styled_components5.default.div`
|
|
968
|
+
display: flex;
|
|
969
|
+
flex-direction: column;
|
|
970
|
+
gap: var(--measurement-large-10);
|
|
971
|
+
padding: var(--measurement-medium-60);
|
|
972
|
+
background-color: var(--contrast-color);
|
|
973
|
+
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
974
|
+
|
|
975
|
+
${CardDefaultStyles}
|
|
976
|
+
`;
|
|
977
|
+
var CardsGrid = import_styled_components5.default.div`
|
|
978
|
+
${GridDefaultStyles}
|
|
979
|
+
${GridSizeStyles}
|
|
980
|
+
`;
|
|
981
|
+
|
|
982
|
+
// src/card/index.tsx
|
|
983
|
+
var CardGrid = (props) => {
|
|
984
|
+
const { sizing = "medium", children } = props;
|
|
985
|
+
return /* @__PURE__ */ import_react7.default.createElement(CardsGrid, { "data-size": sizing }, children);
|
|
986
|
+
};
|
|
987
|
+
CardGrid.displayName = "Card.Grid";
|
|
988
|
+
var CardMeta = (props) => {
|
|
989
|
+
const { children } = props;
|
|
990
|
+
return /* @__PURE__ */ import_react7.default.createElement("div", { className: "p-y-medium-20 p-x-medium-30", ...props }, children);
|
|
991
|
+
};
|
|
992
|
+
CardMeta.displayName = "Card.Meta";
|
|
993
|
+
var CardBody = (props) => {
|
|
994
|
+
const { shape = "smooth", children } = props;
|
|
995
|
+
return /* @__PURE__ */ import_react7.default.createElement(CardWrapper, { "data-shape": shape }, children);
|
|
996
|
+
};
|
|
997
|
+
CardBody.displayName = "Card.Body";
|
|
998
|
+
var Card = (props) => {
|
|
999
|
+
const { shape = "smooth", children } = props;
|
|
1000
|
+
return /* @__PURE__ */ import_react7.default.createElement(CardContainer, { "data-shape": shape }, " ", children);
|
|
1001
|
+
};
|
|
1002
|
+
Card.displayName = "Card";
|
|
1003
|
+
Card.Grid = CardGrid;
|
|
1004
|
+
Card.Meta = CardMeta;
|
|
1005
|
+
Card.Body = CardBody;
|
|
1006
|
+
|
|
1007
|
+
// src/checkbox/index.tsx
|
|
1008
|
+
var import_react9 = __toESM(require("react"));
|
|
1009
|
+
|
|
724
1010
|
// src/checkbox/hooks/index.tsx
|
|
725
|
-
var
|
|
1011
|
+
var import_react8 = __toESM(require("react"));
|
|
726
1012
|
var defaultComponentAPI2 = {
|
|
727
1013
|
id: "",
|
|
728
1014
|
states: {},
|
|
729
1015
|
methods: {}
|
|
730
1016
|
};
|
|
731
|
-
var CheckboxContext = (0,
|
|
732
|
-
var useCheckbox = () => (0,
|
|
1017
|
+
var CheckboxContext = (0, import_react8.createContext)(defaultComponentAPI2);
|
|
1018
|
+
var useCheckbox = () => (0, import_react8.useContext)(CheckboxContext);
|
|
733
1019
|
var CheckboxProvider = ({ children }) => {
|
|
734
1020
|
const context = useCheckboxProvider();
|
|
735
|
-
return /* @__PURE__ */
|
|
1021
|
+
return /* @__PURE__ */ import_react8.default.createElement(CheckboxContext.Provider, { value: context }, children);
|
|
736
1022
|
};
|
|
737
1023
|
function useCheckboxProvider() {
|
|
738
|
-
const [checked, setChecked] = (0,
|
|
739
|
-
const checkboxId =
|
|
1024
|
+
const [checked, setChecked] = (0, import_react8.useState)(false);
|
|
1025
|
+
const checkboxId = import_react8.default.useId();
|
|
740
1026
|
return {
|
|
741
1027
|
id: checkboxId,
|
|
742
1028
|
states: {
|
|
@@ -750,8 +1036,8 @@ function useCheckboxProvider() {
|
|
|
750
1036
|
}
|
|
751
1037
|
|
|
752
1038
|
// src/checkbox/styles/index.ts
|
|
753
|
-
var
|
|
754
|
-
var CheckboxDefaultStyles =
|
|
1039
|
+
var import_styled_components6 = __toESM(require("styled-components"));
|
|
1040
|
+
var CheckboxDefaultStyles = import_styled_components6.css`
|
|
755
1041
|
position: relative;
|
|
756
1042
|
display: flex;
|
|
757
1043
|
align-items: center;
|
|
@@ -759,7 +1045,7 @@ var CheckboxDefaultStyles = import_styled_components4.css`
|
|
|
759
1045
|
backdrop-filter: blur(var(--measurement-small-10));
|
|
760
1046
|
transition: all ease-in-out 0.2s;
|
|
761
1047
|
`;
|
|
762
|
-
var CheckboxVariantsStyles =
|
|
1048
|
+
var CheckboxVariantsStyles = import_styled_components6.css`
|
|
763
1049
|
&[data-variant="primary"] {
|
|
764
1050
|
background-color: var(--font-color-alpha-10);
|
|
765
1051
|
border: var(--measurement-small-10) solid transparent;
|
|
@@ -831,7 +1117,7 @@ var CheckboxVariantsStyles = import_styled_components4.css`
|
|
|
831
1117
|
}
|
|
832
1118
|
}
|
|
833
1119
|
`;
|
|
834
|
-
var CheckboxSizeStyles =
|
|
1120
|
+
var CheckboxSizeStyles = import_styled_components6.css`
|
|
835
1121
|
&[data-size="small"] {
|
|
836
1122
|
width: var(--measurement-medium-60);
|
|
837
1123
|
height: var(--measurement-medium-60);
|
|
@@ -848,7 +1134,7 @@ var CheckboxSizeStyles = import_styled_components4.css`
|
|
|
848
1134
|
border-radius: var(--measurement-medium-20);
|
|
849
1135
|
}
|
|
850
1136
|
`;
|
|
851
|
-
var CheckboxWrapper =
|
|
1137
|
+
var CheckboxWrapper = import_styled_components6.default.div`
|
|
852
1138
|
cursor: pointer;
|
|
853
1139
|
|
|
854
1140
|
&[data-raw="false"] {
|
|
@@ -866,7 +1152,7 @@ var CheckboxWrapper = import_styled_components4.default.div`
|
|
|
866
1152
|
}
|
|
867
1153
|
}
|
|
868
1154
|
`;
|
|
869
|
-
var NativeInput =
|
|
1155
|
+
var NativeInput = import_styled_components6.default.input`
|
|
870
1156
|
&[data-raw="false"] {
|
|
871
1157
|
appearance: none;
|
|
872
1158
|
background: none;
|
|
@@ -883,7 +1169,7 @@ var NativeInput = import_styled_components4.default.input`
|
|
|
883
1169
|
}
|
|
884
1170
|
}
|
|
885
1171
|
`;
|
|
886
|
-
var Indicator =
|
|
1172
|
+
var Indicator = import_styled_components6.default.span`
|
|
887
1173
|
line-height: 0;
|
|
888
1174
|
pointer-events: none;
|
|
889
1175
|
`;
|
|
@@ -910,10 +1196,10 @@ var Checkbox = (props) => {
|
|
|
910
1196
|
if (toggleChecked) toggleChecked();
|
|
911
1197
|
if (onClick) onClick(event);
|
|
912
1198
|
};
|
|
913
|
-
|
|
1199
|
+
import_react9.default.useEffect(() => {
|
|
914
1200
|
if (defaultChecked && applyChecked) applyChecked(defaultChecked);
|
|
915
1201
|
}, []);
|
|
916
|
-
return /* @__PURE__ */
|
|
1202
|
+
return /* @__PURE__ */ import_react9.default.createElement(
|
|
917
1203
|
CheckboxWrapper,
|
|
918
1204
|
{
|
|
919
1205
|
role: "checkbox",
|
|
@@ -925,7 +1211,7 @@ var Checkbox = (props) => {
|
|
|
925
1211
|
"data-variant": variant,
|
|
926
1212
|
"aria-label": props["aria-label"] ?? `${name}-checkbox`
|
|
927
1213
|
},
|
|
928
|
-
/* @__PURE__ */
|
|
1214
|
+
/* @__PURE__ */ import_react9.default.createElement(
|
|
929
1215
|
NativeInput,
|
|
930
1216
|
{
|
|
931
1217
|
type: "checkbox",
|
|
@@ -951,13 +1237,13 @@ var Checkbox = (props) => {
|
|
|
951
1237
|
Checkbox.displayName = "Checkbox";
|
|
952
1238
|
var CheckboxRoot = (props) => {
|
|
953
1239
|
const { children, ...restProps } = props;
|
|
954
|
-
return /* @__PURE__ */
|
|
1240
|
+
return /* @__PURE__ */ import_react9.default.createElement(CheckboxProvider, { ...restProps }, children);
|
|
955
1241
|
};
|
|
956
1242
|
CheckboxRoot.displayName = "Checkbox.Root";
|
|
957
1243
|
var CheckboxIndicator = (props) => {
|
|
958
1244
|
const { states } = useCheckbox();
|
|
959
1245
|
const { children, ...restProps } = props;
|
|
960
|
-
return /* @__PURE__ */
|
|
1246
|
+
return /* @__PURE__ */ import_react9.default.createElement(import_react9.default.Fragment, null, states.checked && /* @__PURE__ */ import_react9.default.createElement(Indicator, { ...restProps }, children ?? /* @__PURE__ */ import_react9.default.createElement(
|
|
961
1247
|
"svg",
|
|
962
1248
|
{
|
|
963
1249
|
tabIndex: -1,
|
|
@@ -969,8 +1255,8 @@ var CheckboxIndicator = (props) => {
|
|
|
969
1255
|
viewBox: "0 0 10 10",
|
|
970
1256
|
fill: "none"
|
|
971
1257
|
},
|
|
972
|
-
/* @__PURE__ */
|
|
973
|
-
/* @__PURE__ */
|
|
1258
|
+
/* @__PURE__ */ import_react9.default.createElement("title", null, "Checked"),
|
|
1259
|
+
/* @__PURE__ */ import_react9.default.createElement(
|
|
974
1260
|
"path",
|
|
975
1261
|
{
|
|
976
1262
|
d: "M2 5.5L4.12132 7.62132L8.36396 3.37868",
|
|
@@ -986,27 +1272,27 @@ Checkbox.Root = CheckboxRoot;
|
|
|
986
1272
|
Checkbox.Indicator = CheckboxIndicator;
|
|
987
1273
|
|
|
988
1274
|
// src/collapsible/index.tsx
|
|
989
|
-
var
|
|
1275
|
+
var import_react11 = __toESM(require("react"));
|
|
990
1276
|
|
|
991
1277
|
// src/collapsible/hooks/index.tsx
|
|
992
|
-
var
|
|
1278
|
+
var import_react10 = __toESM(require("react"));
|
|
993
1279
|
var defaultComponentAPI3 = {
|
|
994
1280
|
id: "",
|
|
995
1281
|
states: {},
|
|
996
1282
|
methods: {}
|
|
997
1283
|
};
|
|
998
|
-
var CollapsibleContext = (0,
|
|
999
|
-
var useCollapsible = () => (0,
|
|
1284
|
+
var CollapsibleContext = (0, import_react10.createContext)(defaultComponentAPI3);
|
|
1285
|
+
var useCollapsible = () => (0, import_react10.useContext)(CollapsibleContext);
|
|
1000
1286
|
var CollapsibleProvider = ({
|
|
1001
1287
|
children
|
|
1002
1288
|
}) => {
|
|
1003
1289
|
const context = useCollapsibleProvider();
|
|
1004
|
-
return /* @__PURE__ */
|
|
1290
|
+
return /* @__PURE__ */ import_react10.default.createElement(CollapsibleContext.Provider, { value: context }, children);
|
|
1005
1291
|
};
|
|
1006
1292
|
function useCollapsibleProvider() {
|
|
1007
|
-
const [expanded, setExpanded] = (0,
|
|
1008
|
-
const [defaultOpen, setDefaultOpen] = (0,
|
|
1009
|
-
const collapsibleId =
|
|
1293
|
+
const [expanded, setExpanded] = (0, import_react10.useState)(false);
|
|
1294
|
+
const [defaultOpen, setDefaultOpen] = (0, import_react10.useState)(false);
|
|
1295
|
+
const collapsibleId = import_react10.default.useId();
|
|
1010
1296
|
const toggleCollapsible = () => {
|
|
1011
1297
|
setExpanded(!expanded);
|
|
1012
1298
|
setDefaultOpen(false);
|
|
@@ -1035,7 +1321,7 @@ var applyDataState = (condition) => condition ? "open" : "closed";
|
|
|
1035
1321
|
var Collapsible = (props) => {
|
|
1036
1322
|
const { children, ...restProps } = props;
|
|
1037
1323
|
const collapsibleContext = useCollapsible();
|
|
1038
|
-
return /* @__PURE__ */
|
|
1324
|
+
return /* @__PURE__ */ import_react11.default.createElement(
|
|
1039
1325
|
"div",
|
|
1040
1326
|
{
|
|
1041
1327
|
"data-state": applyDataState(Boolean(collapsibleContext.states.expanded)),
|
|
@@ -1046,7 +1332,7 @@ var Collapsible = (props) => {
|
|
|
1046
1332
|
};
|
|
1047
1333
|
Collapsible.displayName = "Collapsible";
|
|
1048
1334
|
var CollapsibleRoot = ({ children }) => {
|
|
1049
|
-
return /* @__PURE__ */
|
|
1335
|
+
return /* @__PURE__ */ import_react11.default.createElement(CollapsibleProvider, null, children);
|
|
1050
1336
|
};
|
|
1051
1337
|
CollapsibleRoot.displayName = "Collapsible.Root";
|
|
1052
1338
|
var CollapsibleTrigger = (props) => {
|
|
@@ -1057,7 +1343,7 @@ var CollapsibleTrigger = (props) => {
|
|
|
1057
1343
|
if (toggleCollapsible) toggleCollapsible();
|
|
1058
1344
|
if (onClick) onClick(event);
|
|
1059
1345
|
};
|
|
1060
|
-
return /* @__PURE__ */
|
|
1346
|
+
return /* @__PURE__ */ import_react11.default.createElement(
|
|
1061
1347
|
Button,
|
|
1062
1348
|
{
|
|
1063
1349
|
disabled,
|
|
@@ -1076,13 +1362,13 @@ var CollapsibleContent = (props) => {
|
|
|
1076
1362
|
const { defaultOpen = false, showFirstChild, children, ...restProps } = props;
|
|
1077
1363
|
const { id, states, methods } = useCollapsible();
|
|
1078
1364
|
const { applyDefaultOpen } = methods;
|
|
1079
|
-
const childArray =
|
|
1365
|
+
const childArray = import_react11.default.Children.toArray(children);
|
|
1080
1366
|
const displayChildren = states.expanded ?? states.defaultOpen;
|
|
1081
1367
|
const displayFirstChild = showFirstChild && childArray.length > 1 && !states.expanded;
|
|
1082
|
-
|
|
1368
|
+
import_react11.default.useEffect(() => {
|
|
1083
1369
|
if (defaultOpen && applyDefaultOpen) applyDefaultOpen();
|
|
1084
1370
|
}, []);
|
|
1085
|
-
return /* @__PURE__ */
|
|
1371
|
+
return /* @__PURE__ */ import_react11.default.createElement(
|
|
1086
1372
|
"div",
|
|
1087
1373
|
{
|
|
1088
1374
|
id,
|
|
@@ -1099,25 +1385,88 @@ Collapsible.Root = CollapsibleRoot;
|
|
|
1099
1385
|
Collapsible.Trigger = CollapsibleTrigger;
|
|
1100
1386
|
Collapsible.Content = CollapsibleContent;
|
|
1101
1387
|
|
|
1388
|
+
// src/copy-button/index.tsx
|
|
1389
|
+
var import_react12 = __toESM(require("react"));
|
|
1390
|
+
var CopyButton = ({
|
|
1391
|
+
value,
|
|
1392
|
+
delay,
|
|
1393
|
+
tooltip,
|
|
1394
|
+
children,
|
|
1395
|
+
...restProps
|
|
1396
|
+
}) => {
|
|
1397
|
+
const timerRef = import_react12.default.useRef(null);
|
|
1398
|
+
const [copied, setCopied] = import_react12.default.useState(false);
|
|
1399
|
+
const tooltipLabels = import_react12.default.useMemo(() => {
|
|
1400
|
+
return {
|
|
1401
|
+
copy: tooltip?.copyLabel ?? "Copy",
|
|
1402
|
+
copied: tooltip?.copiedLabel ?? "Copied!"
|
|
1403
|
+
};
|
|
1404
|
+
}, [tooltip]);
|
|
1405
|
+
const copyToClipboard = async () => {
|
|
1406
|
+
if (value == null) return;
|
|
1407
|
+
try {
|
|
1408
|
+
await navigator.clipboard.writeText(value);
|
|
1409
|
+
setCopied(true);
|
|
1410
|
+
} catch {
|
|
1411
|
+
const ta = document.createElement("textarea");
|
|
1412
|
+
ta.value = value;
|
|
1413
|
+
ta.style.position = "fixed";
|
|
1414
|
+
ta.style.opacity = "0";
|
|
1415
|
+
document.body.appendChild(ta);
|
|
1416
|
+
ta.select();
|
|
1417
|
+
try {
|
|
1418
|
+
document.execCommand("copy");
|
|
1419
|
+
setCopied(true);
|
|
1420
|
+
} finally {
|
|
1421
|
+
document.body.removeChild(ta);
|
|
1422
|
+
}
|
|
1423
|
+
}
|
|
1424
|
+
if (timerRef.current != null) window.clearTimeout(timerRef.current);
|
|
1425
|
+
timerRef.current = window.setTimeout(() => setCopied(false), delay ?? 1e3);
|
|
1426
|
+
};
|
|
1427
|
+
import_react12.default.useEffect(() => {
|
|
1428
|
+
return () => {
|
|
1429
|
+
if (timerRef.current != null) {
|
|
1430
|
+
window.clearTimeout(timerRef.current);
|
|
1431
|
+
timerRef.current = null;
|
|
1432
|
+
}
|
|
1433
|
+
};
|
|
1434
|
+
}, []);
|
|
1435
|
+
return /* @__PURE__ */ import_react12.default.createElement(Tooltip, { content: copied ? tooltipLabels.copied : tooltipLabels.copy }, /* @__PURE__ */ import_react12.default.createElement(
|
|
1436
|
+
Button,
|
|
1437
|
+
{
|
|
1438
|
+
"data-testId": "copy-code",
|
|
1439
|
+
"aria-label": "copy-code",
|
|
1440
|
+
disabled: value == null,
|
|
1441
|
+
"aria-disabled": value == null,
|
|
1442
|
+
variant: restProps?.variant ?? "ghost",
|
|
1443
|
+
onClick: copyToClipboard,
|
|
1444
|
+
...restProps
|
|
1445
|
+
},
|
|
1446
|
+
children
|
|
1447
|
+
));
|
|
1448
|
+
};
|
|
1449
|
+
CopyButton.displayName = "CopyButton";
|
|
1450
|
+
|
|
1102
1451
|
// src/dialog/index.tsx
|
|
1103
|
-
var
|
|
1452
|
+
var import_react17 = __toESM(require("react"));
|
|
1104
1453
|
|
|
1105
1454
|
// src/dialog/hooks/index.tsx
|
|
1106
|
-
var
|
|
1455
|
+
var import_react13 = __toESM(require("react"));
|
|
1107
1456
|
var defaultComponentAPI4 = {
|
|
1108
1457
|
id: "",
|
|
1109
1458
|
states: {},
|
|
1110
1459
|
methods: {}
|
|
1111
1460
|
};
|
|
1112
|
-
var DialogContext = (0,
|
|
1113
|
-
var useDialog = () => (0,
|
|
1461
|
+
var DialogContext = (0, import_react13.createContext)(defaultComponentAPI4);
|
|
1462
|
+
var useDialog = () => (0, import_react13.useContext)(DialogContext);
|
|
1114
1463
|
var DialogProvider = ({ children }) => {
|
|
1115
1464
|
const context = useDialogProvider();
|
|
1116
|
-
return /* @__PURE__ */
|
|
1465
|
+
return /* @__PURE__ */ import_react13.default.createElement(DialogContext.Provider, { value: context }, children);
|
|
1117
1466
|
};
|
|
1118
1467
|
function useDialogProvider() {
|
|
1119
|
-
const [open, setOpen] = (0,
|
|
1120
|
-
const dialogId =
|
|
1468
|
+
const [open, setOpen] = (0, import_react13.useState)(false);
|
|
1469
|
+
const dialogId = import_react13.default.useId();
|
|
1121
1470
|
return {
|
|
1122
1471
|
id: dialogId,
|
|
1123
1472
|
states: {
|
|
@@ -1131,15 +1480,15 @@ function useDialogProvider() {
|
|
|
1131
1480
|
}
|
|
1132
1481
|
|
|
1133
1482
|
// ../hooks/dist/index.mjs
|
|
1134
|
-
var
|
|
1135
|
-
var
|
|
1136
|
-
var
|
|
1483
|
+
var import_react14 = require("react");
|
|
1484
|
+
var import_react15 = require("react");
|
|
1485
|
+
var import_react16 = __toESM(require("react"), 1);
|
|
1137
1486
|
function useEventListener(eventName, handler, element) {
|
|
1138
|
-
const savedHandler = (0,
|
|
1139
|
-
(0,
|
|
1487
|
+
const savedHandler = (0, import_react14.useRef)(handler);
|
|
1488
|
+
(0, import_react14.useEffect)(() => {
|
|
1140
1489
|
savedHandler.current = handler;
|
|
1141
1490
|
}, [handler]);
|
|
1142
|
-
(0,
|
|
1491
|
+
(0, import_react14.useEffect)(() => {
|
|
1143
1492
|
const targetElement = element && element.current || window;
|
|
1144
1493
|
if (!(targetElement && targetElement.addEventListener)) return;
|
|
1145
1494
|
const eventListener = (event) => savedHandler.current(event);
|
|
@@ -1156,8 +1505,8 @@ function useClickOutside(ref, handler, mouseEvent = "mousedown") {
|
|
|
1156
1505
|
});
|
|
1157
1506
|
}
|
|
1158
1507
|
function useKeyPress(targetKey, hotkey, bindKey) {
|
|
1159
|
-
const [keyPressed, setKeyPressed] = (0,
|
|
1160
|
-
const switchStoredKeyPressed = (0,
|
|
1508
|
+
const [keyPressed, setKeyPressed] = (0, import_react15.useState)(false);
|
|
1509
|
+
const switchStoredKeyPressed = (0, import_react15.useCallback)(
|
|
1161
1510
|
(event, state) => {
|
|
1162
1511
|
if (!hotkey && event.key === targetKey) {
|
|
1163
1512
|
return setKeyPressed(state);
|
|
@@ -1172,15 +1521,15 @@ function useKeyPress(targetKey, hotkey, bindKey) {
|
|
|
1172
1521
|
},
|
|
1173
1522
|
[bindKey, hotkey, targetKey]
|
|
1174
1523
|
);
|
|
1175
|
-
const KeyDownHandler = (0,
|
|
1524
|
+
const KeyDownHandler = (0, import_react15.useCallback)(
|
|
1176
1525
|
(event) => switchStoredKeyPressed(event, true),
|
|
1177
1526
|
[switchStoredKeyPressed]
|
|
1178
1527
|
);
|
|
1179
|
-
const KeyUpHandler = (0,
|
|
1528
|
+
const KeyUpHandler = (0, import_react15.useCallback)(
|
|
1180
1529
|
(event) => switchStoredKeyPressed(event, false),
|
|
1181
1530
|
[switchStoredKeyPressed]
|
|
1182
1531
|
);
|
|
1183
|
-
(0,
|
|
1532
|
+
(0, import_react15.useEffect)(() => {
|
|
1184
1533
|
window.addEventListener("keydown", KeyDownHandler);
|
|
1185
1534
|
window.addEventListener("keyup", KeyUpHandler);
|
|
1186
1535
|
return () => {
|
|
@@ -1192,7 +1541,7 @@ function useKeyPress(targetKey, hotkey, bindKey) {
|
|
|
1192
1541
|
}
|
|
1193
1542
|
var useDisabledScroll = (state) => {
|
|
1194
1543
|
const overflow = state ? "hidden" : "";
|
|
1195
|
-
|
|
1544
|
+
import_react16.default.useEffect(() => {
|
|
1196
1545
|
document.body.style.overflowY = overflow;
|
|
1197
1546
|
}, [state]);
|
|
1198
1547
|
return {
|
|
@@ -1202,8 +1551,8 @@ var useDisabledScroll = (state) => {
|
|
|
1202
1551
|
};
|
|
1203
1552
|
|
|
1204
1553
|
// src/dialog/styles/index.ts
|
|
1205
|
-
var
|
|
1206
|
-
var DialogDefaultStyles =
|
|
1554
|
+
var import_styled_components7 = __toESM(require("styled-components"));
|
|
1555
|
+
var DialogDefaultStyles = import_styled_components7.css`
|
|
1207
1556
|
position: fixed;
|
|
1208
1557
|
top: 15dvh;
|
|
1209
1558
|
padding: var(--measurement-medium-60);
|
|
@@ -1216,7 +1565,7 @@ var DialogDefaultStyles = import_styled_components5.css`
|
|
|
1216
1565
|
transition: all ease-in-out 0.2s;
|
|
1217
1566
|
z-index: var(--depth-default-100);
|
|
1218
1567
|
`;
|
|
1219
|
-
var DialogSizeStyles =
|
|
1568
|
+
var DialogSizeStyles = import_styled_components7.css`
|
|
1220
1569
|
--base-size: var(--measurement-medium-60);
|
|
1221
1570
|
--computed-size: calc(100% - (var(--base-size) * 2));
|
|
1222
1571
|
--max-height: 75dvh;
|
|
@@ -1237,7 +1586,7 @@ var DialogSizeStyles = import_styled_components5.css`
|
|
|
1237
1586
|
padding: var(--measurement-medium-80);
|
|
1238
1587
|
}
|
|
1239
1588
|
`;
|
|
1240
|
-
var Menu =
|
|
1589
|
+
var Menu = import_styled_components7.default.menu`
|
|
1241
1590
|
margin: 0;
|
|
1242
1591
|
padding: 0;
|
|
1243
1592
|
|
|
@@ -1247,7 +1596,7 @@ var Menu = import_styled_components5.default.menu`
|
|
|
1247
1596
|
gap: var(--measurement-medium-30);
|
|
1248
1597
|
}
|
|
1249
1598
|
`;
|
|
1250
|
-
var DialogWrapper =
|
|
1599
|
+
var DialogWrapper = import_styled_components7.default.dialog`
|
|
1251
1600
|
@keyframes slide-in {
|
|
1252
1601
|
0% {
|
|
1253
1602
|
opacity: 0;
|
|
@@ -1287,11 +1636,11 @@ var Dialog = (props) => {
|
|
|
1287
1636
|
const { getDialogId, toggleDialog } = methods;
|
|
1288
1637
|
const triggerId = getDialogId && getDialogId("trigger");
|
|
1289
1638
|
const contentId = getDialogId && getDialogId("content");
|
|
1290
|
-
|
|
1639
|
+
import_react17.default.useEffect(() => {
|
|
1291
1640
|
if (open && toggleDialog) toggleDialog();
|
|
1292
1641
|
}, []);
|
|
1293
1642
|
if (lock) useDisabledScroll(Boolean(states.open));
|
|
1294
|
-
return /* @__PURE__ */
|
|
1643
|
+
return /* @__PURE__ */ import_react17.default.createElement(import_react17.default.Fragment, null, states.open && /* @__PURE__ */ import_react17.default.createElement(
|
|
1295
1644
|
ScrollArea,
|
|
1296
1645
|
{
|
|
1297
1646
|
as: DialogWrapper,
|
|
@@ -1310,7 +1659,7 @@ var Dialog = (props) => {
|
|
|
1310
1659
|
};
|
|
1311
1660
|
Dialog.displayName = "Dialog";
|
|
1312
1661
|
var DialogRoot = ({ children }) => {
|
|
1313
|
-
return /* @__PURE__ */
|
|
1662
|
+
return /* @__PURE__ */ import_react17.default.createElement(DialogProvider, null, children);
|
|
1314
1663
|
};
|
|
1315
1664
|
DialogRoot.displayName = "Dialog.Root";
|
|
1316
1665
|
var DialogOverlay = (props) => {
|
|
@@ -1321,7 +1670,7 @@ var DialogOverlay = (props) => {
|
|
|
1321
1670
|
if (closeOnInteract && toggleDialog) toggleDialog();
|
|
1322
1671
|
if (onClick) onClick(event);
|
|
1323
1672
|
};
|
|
1324
|
-
return /* @__PURE__ */
|
|
1673
|
+
return /* @__PURE__ */ import_react17.default.createElement(
|
|
1325
1674
|
Overlay,
|
|
1326
1675
|
{
|
|
1327
1676
|
visible: Boolean(states.open),
|
|
@@ -1342,7 +1691,7 @@ var DialogTrigger = (props) => {
|
|
|
1342
1691
|
if (toggleDialog) toggleDialog();
|
|
1343
1692
|
if (onClick) onClick(event);
|
|
1344
1693
|
};
|
|
1345
|
-
return /* @__PURE__ */
|
|
1694
|
+
return /* @__PURE__ */ import_react17.default.createElement(
|
|
1346
1695
|
Button,
|
|
1347
1696
|
{
|
|
1348
1697
|
id: String(triggerId),
|
|
@@ -1358,7 +1707,7 @@ var DialogTrigger = (props) => {
|
|
|
1358
1707
|
DialogTrigger.displayName = "Dialog.Trigger";
|
|
1359
1708
|
var DialogMenu = (props) => {
|
|
1360
1709
|
const { raw, children, ...restProps } = props;
|
|
1361
|
-
return /* @__PURE__ */
|
|
1710
|
+
return /* @__PURE__ */ import_react17.default.createElement(Menu, { "data-raw": Boolean(raw), ...restProps }, children);
|
|
1362
1711
|
};
|
|
1363
1712
|
DialogMenu.displayName = "Dialog.Menu";
|
|
1364
1713
|
var DialogControl = (props) => {
|
|
@@ -1371,7 +1720,7 @@ var DialogControl = (props) => {
|
|
|
1371
1720
|
if (toggleDialog) toggleDialog();
|
|
1372
1721
|
if (onClick) onClick(event);
|
|
1373
1722
|
};
|
|
1374
|
-
return /* @__PURE__ */
|
|
1723
|
+
return /* @__PURE__ */ import_react17.default.createElement(
|
|
1375
1724
|
Button,
|
|
1376
1725
|
{
|
|
1377
1726
|
id: String(innerControlId),
|
|
@@ -1392,8 +1741,8 @@ Dialog.Menu = DialogMenu;
|
|
|
1392
1741
|
Dialog.Overlay = DialogOverlay;
|
|
1393
1742
|
|
|
1394
1743
|
// src/divider/index.ts
|
|
1395
|
-
var
|
|
1396
|
-
var Divider =
|
|
1744
|
+
var import_styled_components8 = __toESM(require("styled-components"));
|
|
1745
|
+
var Divider = import_styled_components8.default.hr`
|
|
1397
1746
|
height: var(--measurement-small-10);
|
|
1398
1747
|
margin: var(--measurement-medium-30) 0;
|
|
1399
1748
|
background: var(--font-color-alpha-10);
|
|
@@ -1401,10 +1750,10 @@ var Divider = import_styled_components6.default.hr`
|
|
|
1401
1750
|
`;
|
|
1402
1751
|
|
|
1403
1752
|
// src/dropdown/index.tsx
|
|
1404
|
-
var
|
|
1753
|
+
var import_react19 = __toESM(require("react"));
|
|
1405
1754
|
|
|
1406
1755
|
// src/dropdown/hooks/index.tsx
|
|
1407
|
-
var
|
|
1756
|
+
var import_react18 = __toESM(require("react"));
|
|
1408
1757
|
var DEFAULT_API = {
|
|
1409
1758
|
id: "",
|
|
1410
1759
|
states: {},
|
|
@@ -1420,26 +1769,26 @@ var DEFAULT_DIMENSIONS = {
|
|
|
1420
1769
|
width: 0,
|
|
1421
1770
|
height: 0
|
|
1422
1771
|
};
|
|
1423
|
-
var DropdownMenuContext =
|
|
1424
|
-
var useDropdownMenu = () =>
|
|
1772
|
+
var DropdownMenuContext = import_react18.default.createContext(DEFAULT_API);
|
|
1773
|
+
var useDropdownMenu = () => import_react18.default.useContext(DropdownMenuContext);
|
|
1425
1774
|
var DropdownMenuProvider = ({
|
|
1426
1775
|
children
|
|
1427
1776
|
}) => {
|
|
1428
1777
|
const context = useDropdownMenuProvider();
|
|
1429
|
-
return /* @__PURE__ */
|
|
1778
|
+
return /* @__PURE__ */ import_react18.default.createElement(DropdownMenuContext.Provider, { value: context }, children);
|
|
1430
1779
|
};
|
|
1431
1780
|
function useDropdownMenuProvider() {
|
|
1432
|
-
const [open, setOpen] =
|
|
1433
|
-
const [contentProps, setContentProps] =
|
|
1781
|
+
const [open, setOpen] = import_react18.default.useState(false);
|
|
1782
|
+
const [contentProps, setContentProps] = import_react18.default.useState({
|
|
1434
1783
|
...DEFAULT_POSITIONS,
|
|
1435
1784
|
...DEFAULT_DIMENSIONS
|
|
1436
1785
|
});
|
|
1437
|
-
const [triggerProps, setTriggerProps] =
|
|
1786
|
+
const [triggerProps, setTriggerProps] = import_react18.default.useState({
|
|
1438
1787
|
...DEFAULT_POSITIONS,
|
|
1439
1788
|
...DEFAULT_DIMENSIONS
|
|
1440
1789
|
});
|
|
1441
|
-
const triggerId =
|
|
1442
|
-
const dropdownId =
|
|
1790
|
+
const triggerId = import_react18.default.useId();
|
|
1791
|
+
const dropdownId = import_react18.default.useId();
|
|
1443
1792
|
const composedId = `${triggerId}|${dropdownId}`;
|
|
1444
1793
|
return {
|
|
1445
1794
|
id: composedId,
|
|
@@ -1457,8 +1806,8 @@ function useDropdownMenuProvider() {
|
|
|
1457
1806
|
}
|
|
1458
1807
|
|
|
1459
1808
|
// src/dropdown/styles/index.ts
|
|
1460
|
-
var
|
|
1461
|
-
var FadeIn =
|
|
1809
|
+
var import_styled_components9 = __toESM(require("styled-components"));
|
|
1810
|
+
var FadeIn = import_styled_components9.keyframes`
|
|
1462
1811
|
0% {
|
|
1463
1812
|
opacity: 0;
|
|
1464
1813
|
}
|
|
@@ -1466,7 +1815,7 @@ var FadeIn = import_styled_components7.keyframes`
|
|
|
1466
1815
|
opacity: 1;
|
|
1467
1816
|
}
|
|
1468
1817
|
`;
|
|
1469
|
-
var ContentWrapperSizes =
|
|
1818
|
+
var ContentWrapperSizes = import_styled_components9.css`
|
|
1470
1819
|
--small: var(--measurement-large-60);
|
|
1471
1820
|
--medium: var(--measurement-large-80);
|
|
1472
1821
|
--large: var(--measurement-large-90);
|
|
@@ -1488,10 +1837,10 @@ var ContentWrapperSizes = import_styled_components7.css`
|
|
|
1488
1837
|
max-width: var(--large);
|
|
1489
1838
|
}
|
|
1490
1839
|
`;
|
|
1491
|
-
var RootWrapper =
|
|
1840
|
+
var RootWrapper = import_styled_components9.default.div`
|
|
1492
1841
|
position: relative;
|
|
1493
1842
|
`;
|
|
1494
|
-
var ContentWrapper =
|
|
1843
|
+
var ContentWrapper = import_styled_components9.default.ul`
|
|
1495
1844
|
--small: var(--measurement-large-60);
|
|
1496
1845
|
--medium: var(--measurement-large-80);
|
|
1497
1846
|
--large: var(--measurement-large-90);
|
|
@@ -1515,7 +1864,7 @@ var ContentWrapper = import_styled_components7.default.ul`
|
|
|
1515
1864
|
${ContentWrapperSizes}
|
|
1516
1865
|
}
|
|
1517
1866
|
`;
|
|
1518
|
-
var
|
|
1867
|
+
var ItemWrapper2 = import_styled_components9.default.li`
|
|
1519
1868
|
list-style: none;
|
|
1520
1869
|
padding: 0;
|
|
1521
1870
|
margin: 0;
|
|
@@ -1547,7 +1896,7 @@ var ItemWrapper = import_styled_components7.default.li`
|
|
|
1547
1896
|
|
|
1548
1897
|
// src/dropdown/index.tsx
|
|
1549
1898
|
var DropdownMenu = ({ children }) => {
|
|
1550
|
-
const DropdownContentRef =
|
|
1899
|
+
const DropdownContentRef = import_react19.default.useRef(null);
|
|
1551
1900
|
const { states, methods } = useDropdownMenu();
|
|
1552
1901
|
const { toggleOpen } = methods;
|
|
1553
1902
|
const handleClickOutside = () => {
|
|
@@ -1555,15 +1904,15 @@ var DropdownMenu = ({ children }) => {
|
|
|
1555
1904
|
};
|
|
1556
1905
|
useClickOutside(DropdownContentRef, handleClickOutside);
|
|
1557
1906
|
useDisabledScroll(Boolean(states.open));
|
|
1558
|
-
return /* @__PURE__ */
|
|
1907
|
+
return /* @__PURE__ */ import_react19.default.createElement(RootWrapper, { ref: DropdownContentRef }, children);
|
|
1559
1908
|
};
|
|
1560
1909
|
DropdownMenu.displayName = "DropdownMenu";
|
|
1561
1910
|
var DropdownMenuRoot = ({ children }) => {
|
|
1562
|
-
return /* @__PURE__ */
|
|
1911
|
+
return /* @__PURE__ */ import_react19.default.createElement(DropdownMenuProvider, null, children);
|
|
1563
1912
|
};
|
|
1564
1913
|
DropdownMenuRoot.displayName = "DropdownMenu.Root";
|
|
1565
1914
|
var DropdownMenuTrigger = (props) => {
|
|
1566
|
-
const triggerRef =
|
|
1915
|
+
const triggerRef = import_react19.default.useRef(null);
|
|
1567
1916
|
const triggerRect = () => triggerRef.current?.getBoundingClientRect();
|
|
1568
1917
|
const { variant = "ghost", onClick, children, ...restProps } = props;
|
|
1569
1918
|
const { id, states, methods } = useDropdownMenu();
|
|
@@ -1581,7 +1930,7 @@ var DropdownMenuTrigger = (props) => {
|
|
|
1581
1930
|
height: Number(triggerRect()?.height)
|
|
1582
1931
|
});
|
|
1583
1932
|
};
|
|
1584
|
-
return /* @__PURE__ */
|
|
1933
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
1585
1934
|
Button,
|
|
1586
1935
|
{
|
|
1587
1936
|
ref: triggerRef,
|
|
@@ -1596,12 +1945,12 @@ var DropdownMenuTrigger = (props) => {
|
|
|
1596
1945
|
);
|
|
1597
1946
|
};
|
|
1598
1947
|
DropdownMenuTrigger.displayName = "DropdownMenu.Trigger";
|
|
1599
|
-
var DropdownMenuContent =
|
|
1948
|
+
var DropdownMenuContent = import_react19.default.forwardRef((props, _) => {
|
|
1600
1949
|
const { raw, sizing = "medium", defaultOpen, children, ...restProps } = props;
|
|
1601
1950
|
const { id, states, methods } = useDropdownMenu();
|
|
1602
1951
|
const { toggleOpen, setContentProps } = methods;
|
|
1603
|
-
const mounted =
|
|
1604
|
-
const contentRef =
|
|
1952
|
+
const mounted = import_react19.default.useRef(false);
|
|
1953
|
+
const contentRef = import_react19.default.useRef(null);
|
|
1605
1954
|
const contentRect = () => contentRef?.current?.getBoundingClientRect();
|
|
1606
1955
|
const bodyRect = () => {
|
|
1607
1956
|
if (typeof document !== "undefined") {
|
|
@@ -1625,10 +1974,10 @@ var DropdownMenuContent = import_react16.default.forwardRef((props, _) => {
|
|
|
1625
1974
|
};
|
|
1626
1975
|
const hasEnoughHorizontalSpace = dimensions.body_width - dimensions.content_left > dimensions.content_width * 1.1;
|
|
1627
1976
|
const hasEnoughVerticalSpace = dimensions.body_height - dimensions.content_bottom > dimensions.content_height - dimensions.content_height * 0.9;
|
|
1628
|
-
|
|
1977
|
+
import_react19.default.useEffect(() => {
|
|
1629
1978
|
if (defaultOpen && toggleOpen) toggleOpen();
|
|
1630
1979
|
}, []);
|
|
1631
|
-
|
|
1980
|
+
import_react19.default.useEffect(() => {
|
|
1632
1981
|
mounted.current = true;
|
|
1633
1982
|
setContentProps && setContentProps({
|
|
1634
1983
|
top: Number(contentRect()?.top),
|
|
@@ -1642,7 +1991,7 @@ var DropdownMenuContent = import_react16.default.forwardRef((props, _) => {
|
|
|
1642
1991
|
mounted.current = false;
|
|
1643
1992
|
};
|
|
1644
1993
|
}, [states.open]);
|
|
1645
|
-
return /* @__PURE__ */
|
|
1994
|
+
return /* @__PURE__ */ import_react19.default.createElement(import_react19.default.Fragment, null, states.open && /* @__PURE__ */ import_react19.default.createElement(
|
|
1646
1995
|
ContentWrapper,
|
|
1647
1996
|
{
|
|
1648
1997
|
ref: contentRef,
|
|
@@ -1696,8 +2045,8 @@ var DropdownMenuItem = (props) => {
|
|
|
1696
2045
|
EventsHandler.toggle();
|
|
1697
2046
|
}
|
|
1698
2047
|
};
|
|
1699
|
-
return /* @__PURE__ */
|
|
1700
|
-
|
|
2048
|
+
return /* @__PURE__ */ import_react19.default.createElement(
|
|
2049
|
+
ItemWrapper2,
|
|
1701
2050
|
{
|
|
1702
2051
|
role: "menuitem",
|
|
1703
2052
|
tabIndex: 0,
|
|
@@ -1718,23 +2067,23 @@ DropdownMenu.Content = DropdownMenuContent;
|
|
|
1718
2067
|
DropdownMenu.Item = DropdownMenuItem;
|
|
1719
2068
|
|
|
1720
2069
|
// src/field/index.tsx
|
|
1721
|
-
var
|
|
2070
|
+
var import_react21 = __toESM(require("react"));
|
|
1722
2071
|
|
|
1723
2072
|
// src/field/hooks/index.tsx
|
|
1724
|
-
var
|
|
2073
|
+
var import_react20 = __toESM(require("react"));
|
|
1725
2074
|
var defaultComponentAPI5 = {
|
|
1726
2075
|
id: "",
|
|
1727
2076
|
states: {},
|
|
1728
2077
|
methods: {}
|
|
1729
2078
|
};
|
|
1730
|
-
var FieldContext = (0,
|
|
1731
|
-
var useField = () => (0,
|
|
2079
|
+
var FieldContext = (0, import_react20.createContext)(defaultComponentAPI5);
|
|
2080
|
+
var useField = () => (0, import_react20.useContext)(FieldContext);
|
|
1732
2081
|
var FieldProvider = ({ children }) => {
|
|
1733
2082
|
const context = useFieldProvider();
|
|
1734
|
-
return /* @__PURE__ */
|
|
2083
|
+
return /* @__PURE__ */ import_react20.default.createElement(FieldContext.Provider, { value: context }, children);
|
|
1735
2084
|
};
|
|
1736
2085
|
function useFieldProvider() {
|
|
1737
|
-
const fieldId =
|
|
2086
|
+
const fieldId = import_react20.default.useId();
|
|
1738
2087
|
return {
|
|
1739
2088
|
id: fieldId,
|
|
1740
2089
|
states: {},
|
|
@@ -1743,23 +2092,23 @@ function useFieldProvider() {
|
|
|
1743
2092
|
}
|
|
1744
2093
|
|
|
1745
2094
|
// src/field/styles/index.ts
|
|
1746
|
-
var
|
|
1747
|
-
var FieldDefaultStyles =
|
|
2095
|
+
var import_styled_components10 = __toESM(require("styled-components"));
|
|
2096
|
+
var FieldDefaultStyles = import_styled_components10.css`
|
|
1748
2097
|
outline: none;
|
|
1749
|
-
cursor:
|
|
2098
|
+
cursor: text;
|
|
1750
2099
|
display: flex;
|
|
1751
2100
|
align-items: center;
|
|
1752
2101
|
justify-content: center;
|
|
2102
|
+
box-sizing: border-box;
|
|
2103
|
+
|
|
2104
|
+
font-size: var(--fontsize-medium-20);
|
|
1753
2105
|
|
|
1754
|
-
font-size: var(--fontsize-small-80);
|
|
1755
|
-
font-weight: 500;
|
|
1756
2106
|
line-height: 1.1;
|
|
1757
2107
|
letter-spacing: calc(
|
|
1758
2108
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
1759
2109
|
);
|
|
1760
2110
|
|
|
1761
2111
|
border: var(--measurement-small-10) solid transparent;
|
|
1762
|
-
border-radius: var(--measurement-medium-30);
|
|
1763
2112
|
backdrop-filter: blur(var(--measurement-small-10));
|
|
1764
2113
|
color: var(--font-color-alpha-60);
|
|
1765
2114
|
width: fit-content;
|
|
@@ -1777,29 +2126,37 @@ var FieldDefaultStyles = import_styled_components8.css`
|
|
|
1777
2126
|
&:focus,
|
|
1778
2127
|
&:active {
|
|
1779
2128
|
color: var(--font-color);
|
|
1780
|
-
|
|
1781
2129
|
svg,
|
|
1782
2130
|
span,
|
|
1783
2131
|
img {
|
|
1784
2132
|
opacity: 1;
|
|
1785
2133
|
}
|
|
1786
2134
|
}
|
|
2135
|
+
|
|
1787
2136
|
&::placeholder {
|
|
1788
2137
|
color: var(--font-color-alpha-30);
|
|
1789
2138
|
}
|
|
2139
|
+
|
|
1790
2140
|
&:disabled {
|
|
1791
2141
|
cursor: not-allowed;
|
|
1792
2142
|
opacity: 0.6;
|
|
1793
2143
|
}
|
|
1794
2144
|
`;
|
|
1795
|
-
var FieldVariantsStyles =
|
|
2145
|
+
var FieldVariantsStyles = import_styled_components10.css`
|
|
1796
2146
|
&[data-variant="primary"] {
|
|
1797
2147
|
background-color: var(--font-color-alpha-10);
|
|
2148
|
+
border-color: var(--font-color-alpha-10);
|
|
2149
|
+
|
|
2150
|
+
&:focus,
|
|
2151
|
+
&:active {
|
|
2152
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
|
|
2153
|
+
}
|
|
1798
2154
|
|
|
1799
2155
|
&[data-error="true"] {
|
|
1800
2156
|
color: var(--color-red);
|
|
1801
2157
|
background-color: var(--alpha-red-10);
|
|
1802
2158
|
border-color: var(--alpha-red-10);
|
|
2159
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
|
|
1803
2160
|
}
|
|
1804
2161
|
}
|
|
1805
2162
|
|
|
@@ -1810,7 +2167,12 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1810
2167
|
&:hover,
|
|
1811
2168
|
&:focus,
|
|
1812
2169
|
&:active {
|
|
1813
|
-
|
|
2170
|
+
border-color: var(--font-color-alpha-20);
|
|
2171
|
+
}
|
|
2172
|
+
|
|
2173
|
+
&:focus,
|
|
2174
|
+
&:active {
|
|
2175
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
|
|
1814
2176
|
}
|
|
1815
2177
|
|
|
1816
2178
|
&[data-error="true"] {
|
|
@@ -1821,6 +2183,7 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1821
2183
|
&:focus,
|
|
1822
2184
|
&:active {
|
|
1823
2185
|
background-color: var(--alpha-red-10);
|
|
2186
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
|
|
1824
2187
|
}
|
|
1825
2188
|
}
|
|
1826
2189
|
}
|
|
@@ -1844,39 +2207,51 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1844
2207
|
}
|
|
1845
2208
|
}
|
|
1846
2209
|
`;
|
|
1847
|
-
var FieldSizeStyles =
|
|
2210
|
+
var FieldSizeStyles = import_styled_components10.css`
|
|
1848
2211
|
&[data-size="small"] {
|
|
1849
|
-
|
|
2212
|
+
font-size: var(--fontsize-small-60);
|
|
2213
|
+
|
|
1850
2214
|
padding: 0 var(--measurement-medium-30);
|
|
1851
2215
|
min-width: var(--measurement-medium-60);
|
|
1852
2216
|
min-height: var(--measurement-medium-80);
|
|
1853
2217
|
}
|
|
1854
2218
|
&[data-size="medium"] {
|
|
1855
|
-
gap: var(--measurement-medium-30);
|
|
1856
2219
|
padding: 0 var(--measurement-medium-30);
|
|
1857
2220
|
min-width: var(--measurement-medium-90);
|
|
1858
2221
|
min-height: var(--measurement-medium-90);
|
|
1859
2222
|
width: fit-content;
|
|
1860
2223
|
}
|
|
1861
2224
|
&[data-size="large"] {
|
|
1862
|
-
padding: var(--measurement-medium-
|
|
2225
|
+
padding: var(--measurement-medium-50);
|
|
1863
2226
|
min-width: var(--measurement-medium-90);
|
|
1864
2227
|
min-height: var(--measurement-medium-90);
|
|
1865
2228
|
}
|
|
1866
2229
|
`;
|
|
1867
|
-
var
|
|
2230
|
+
var FieldShapeStyles = import_styled_components10.css`
|
|
2231
|
+
&[data-shape="square"] {
|
|
2232
|
+
border-radius: 0;
|
|
2233
|
+
}
|
|
2234
|
+
&[data-shape="smooth"] {
|
|
2235
|
+
border-radius: var(--measurement-medium-20);
|
|
2236
|
+
}
|
|
2237
|
+
&[data-shape="round"] {
|
|
2238
|
+
border-radius: var(--measurement-large-90);
|
|
2239
|
+
}
|
|
2240
|
+
`;
|
|
2241
|
+
var Fieldset = import_styled_components10.default.fieldset`
|
|
1868
2242
|
all: unset;
|
|
1869
2243
|
display: grid;
|
|
1870
2244
|
gap: var(--measurement-medium-10);
|
|
1871
2245
|
`;
|
|
1872
|
-
var Sup =
|
|
2246
|
+
var Sup = import_styled_components10.default.sup`
|
|
1873
2247
|
color: var(--color-red);
|
|
1874
2248
|
`;
|
|
1875
|
-
var Input =
|
|
2249
|
+
var Input = import_styled_components10.default.input`
|
|
1876
2250
|
&[data-raw="false"] {
|
|
1877
2251
|
${FieldDefaultStyles}
|
|
1878
2252
|
${FieldVariantsStyles}
|
|
1879
2253
|
${FieldSizeStyles}
|
|
2254
|
+
${FieldShapeStyles}
|
|
1880
2255
|
|
|
1881
2256
|
&[data-error="true"] {
|
|
1882
2257
|
&::placeholder {
|
|
@@ -1885,7 +2260,7 @@ var Input = import_styled_components8.default.input`
|
|
|
1885
2260
|
}
|
|
1886
2261
|
}
|
|
1887
2262
|
`;
|
|
1888
|
-
var Label =
|
|
2263
|
+
var Label = import_styled_components10.default.label`
|
|
1889
2264
|
&[data-raw="false"] {
|
|
1890
2265
|
font-weight: 500;
|
|
1891
2266
|
line-height: 1.1;
|
|
@@ -1894,7 +2269,7 @@ var Label = import_styled_components8.default.label`
|
|
|
1894
2269
|
);
|
|
1895
2270
|
}
|
|
1896
2271
|
`;
|
|
1897
|
-
var Def =
|
|
2272
|
+
var Def = import_styled_components10.default.dfn`
|
|
1898
2273
|
&[data-raw="false"] {
|
|
1899
2274
|
font-style: normal;
|
|
1900
2275
|
font-size: var(--fontsize-medium-10);
|
|
@@ -1921,13 +2296,14 @@ var Field = (props) => {
|
|
|
1921
2296
|
raw,
|
|
1922
2297
|
sizing = "medium" /* Medium */,
|
|
1923
2298
|
variant = "primary" /* Primary */,
|
|
2299
|
+
shape = "smooth",
|
|
1924
2300
|
error,
|
|
1925
2301
|
hint,
|
|
1926
2302
|
...restProps
|
|
1927
2303
|
} = props;
|
|
1928
|
-
const metaId =
|
|
2304
|
+
const metaId = import_react21.default.useId();
|
|
1929
2305
|
const { id } = useField();
|
|
1930
|
-
return /* @__PURE__ */
|
|
2306
|
+
return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
|
|
1931
2307
|
Input,
|
|
1932
2308
|
{
|
|
1933
2309
|
id,
|
|
@@ -1937,10 +2313,11 @@ var Field = (props) => {
|
|
|
1937
2313
|
"data-error": Boolean(error),
|
|
1938
2314
|
"data-variant": variant,
|
|
1939
2315
|
"data-size": sizing,
|
|
2316
|
+
"data-shape": shape,
|
|
1940
2317
|
"data-raw": Boolean(raw),
|
|
1941
2318
|
...restProps
|
|
1942
2319
|
}
|
|
1943
|
-
), (error ?? hint) && /* @__PURE__ */
|
|
2320
|
+
), (error ?? hint) && /* @__PURE__ */ import_react21.default.createElement(
|
|
1944
2321
|
FieldMeta,
|
|
1945
2322
|
{
|
|
1946
2323
|
raw,
|
|
@@ -1951,20 +2328,20 @@ var Field = (props) => {
|
|
|
1951
2328
|
};
|
|
1952
2329
|
Field.displayName = "Field";
|
|
1953
2330
|
var FieldRoot = ({ children }) => {
|
|
1954
|
-
return /* @__PURE__ */
|
|
2331
|
+
return /* @__PURE__ */ import_react21.default.createElement(FieldProvider, null, children);
|
|
1955
2332
|
};
|
|
1956
2333
|
FieldRoot.displayName = "Field.Root";
|
|
1957
2334
|
var FieldWrapper = ({
|
|
1958
2335
|
children,
|
|
1959
2336
|
...restProps
|
|
1960
2337
|
}) => {
|
|
1961
|
-
return /* @__PURE__ */
|
|
2338
|
+
return /* @__PURE__ */ import_react21.default.createElement(Fieldset, { ...restProps }, children);
|
|
1962
2339
|
};
|
|
1963
2340
|
FieldWrapper.displayName = "Field.Wrapper";
|
|
1964
2341
|
var FieldLabel = (props) => {
|
|
1965
2342
|
const { raw, optional = false, children, ...restProps } = props;
|
|
1966
2343
|
const { id } = useField();
|
|
1967
|
-
return /* @__PURE__ */
|
|
2344
|
+
return /* @__PURE__ */ import_react21.default.createElement(Label, { htmlFor: id, "data-raw": Boolean(raw), ...restProps }, children, !optional && /* @__PURE__ */ import_react21.default.createElement(Sup, null, "*"));
|
|
1968
2345
|
};
|
|
1969
2346
|
FieldLabel.displayName = "Field.Label";
|
|
1970
2347
|
var FieldMeta = (props) => {
|
|
@@ -1974,9 +2351,9 @@ var FieldMeta = (props) => {
|
|
|
1974
2351
|
children,
|
|
1975
2352
|
...restProps
|
|
1976
2353
|
} = props;
|
|
1977
|
-
const metaId =
|
|
2354
|
+
const metaId = import_react21.default.useId();
|
|
1978
2355
|
const { id } = useField();
|
|
1979
|
-
return /* @__PURE__ */
|
|
2356
|
+
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1980
2357
|
Def,
|
|
1981
2358
|
{
|
|
1982
2359
|
id: metaId,
|
|
@@ -1995,22 +2372,22 @@ Field.Label = FieldLabel;
|
|
|
1995
2372
|
Field.Meta = FieldMeta;
|
|
1996
2373
|
|
|
1997
2374
|
// src/otp-field/index.tsx
|
|
1998
|
-
var
|
|
2375
|
+
var import_react23 = __toESM(require("react"));
|
|
1999
2376
|
|
|
2000
2377
|
// src/otp-field/hooks/index.tsx
|
|
2001
|
-
var
|
|
2002
|
-
var OTPFieldContext =
|
|
2378
|
+
var import_react22 = __toESM(require("react"));
|
|
2379
|
+
var OTPFieldContext = import_react22.default.createContext(
|
|
2003
2380
|
null
|
|
2004
2381
|
);
|
|
2005
2382
|
var useOTPField = () => {
|
|
2006
|
-
const context =
|
|
2383
|
+
const context = import_react22.default.useContext(OTPFieldContext);
|
|
2007
2384
|
if (!context) return null;
|
|
2008
2385
|
return context;
|
|
2009
2386
|
};
|
|
2010
2387
|
|
|
2011
2388
|
// src/otp-field/styles/index.ts
|
|
2012
|
-
var
|
|
2013
|
-
var OTPCell =
|
|
2389
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2390
|
+
var OTPCell = import_styled_components11.default.input`
|
|
2014
2391
|
width: var(--measurement-medium-90);
|
|
2015
2392
|
height: var(--measurement-medium-90);
|
|
2016
2393
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
@@ -2045,11 +2422,11 @@ var OTPCell = import_styled_components9.default.input`
|
|
|
2045
2422
|
// src/otp-field/index.tsx
|
|
2046
2423
|
var OTPField = ({ children, length, onComplete }) => {
|
|
2047
2424
|
const defaultLength = length ?? 6;
|
|
2048
|
-
const inputRefs =
|
|
2049
|
-
const [otp, setOtp] =
|
|
2425
|
+
const inputRefs = import_react23.default.useRef([]);
|
|
2426
|
+
const [otp, setOtp] = import_react23.default.useState(
|
|
2050
2427
|
Array.from({ length: defaultLength }, () => "")
|
|
2051
2428
|
);
|
|
2052
|
-
const [activeIndex, setActiveIndex] =
|
|
2429
|
+
const [activeIndex, setActiveIndex] = import_react23.default.useState(0);
|
|
2053
2430
|
const handleChange = (index, value) => {
|
|
2054
2431
|
const newOtp = [...otp];
|
|
2055
2432
|
newOtp[index] = value.substring(value.length - 1);
|
|
@@ -2110,13 +2487,13 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2110
2487
|
);
|
|
2111
2488
|
return () => clearTimeout(timeout);
|
|
2112
2489
|
};
|
|
2113
|
-
|
|
2490
|
+
import_react23.default.useEffect(() => {
|
|
2114
2491
|
const otpString = otp.join("");
|
|
2115
2492
|
if (otpString.length === defaultLength && onComplete) {
|
|
2116
2493
|
onComplete(otpString);
|
|
2117
2494
|
}
|
|
2118
2495
|
}, [otp, defaultLength, onComplete]);
|
|
2119
|
-
const contextValue =
|
|
2496
|
+
const contextValue = import_react23.default.useMemo(() => {
|
|
2120
2497
|
return {
|
|
2121
2498
|
otp,
|
|
2122
2499
|
activeIndex,
|
|
@@ -2139,11 +2516,11 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2139
2516
|
handleClick,
|
|
2140
2517
|
handlePaste
|
|
2141
2518
|
]);
|
|
2142
|
-
return /* @__PURE__ */
|
|
2519
|
+
return /* @__PURE__ */ import_react23.default.createElement(OTPFieldContext.Provider, { value: contextValue }, children);
|
|
2143
2520
|
};
|
|
2144
2521
|
OTPField.displayName = "OTPField";
|
|
2145
|
-
var OTPFieldGroup =
|
|
2146
|
-
return /* @__PURE__ */
|
|
2522
|
+
var OTPFieldGroup = import_react23.default.forwardRef(({ ...props }, ref) => {
|
|
2523
|
+
return /* @__PURE__ */ import_react23.default.createElement("span", { ref, className: "flex g-medium-10 align-center", ...props });
|
|
2147
2524
|
});
|
|
2148
2525
|
OTPFieldGroup.displayName = "OTPField.Group";
|
|
2149
2526
|
var OTPFieldSlot = ({
|
|
@@ -2162,7 +2539,7 @@ var OTPFieldSlot = ({
|
|
|
2162
2539
|
handleClick,
|
|
2163
2540
|
handlePaste
|
|
2164
2541
|
} = context;
|
|
2165
|
-
return /* @__PURE__ */
|
|
2542
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2166
2543
|
OTPCell,
|
|
2167
2544
|
{
|
|
2168
2545
|
ref: (el) => inputRefs.current[index] = el,
|
|
@@ -2188,11 +2565,11 @@ OTPField.Group = OTPFieldGroup;
|
|
|
2188
2565
|
OTPField.Slot = OTPFieldSlot;
|
|
2189
2566
|
|
|
2190
2567
|
// src/overlay/index.tsx
|
|
2191
|
-
var
|
|
2568
|
+
var import_react24 = __toESM(require("react"));
|
|
2192
2569
|
|
|
2193
2570
|
// src/overlay/styles/index.ts
|
|
2194
|
-
var
|
|
2195
|
-
var OverlayWrapper =
|
|
2571
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2572
|
+
var OverlayWrapper = import_styled_components12.default.div`
|
|
2196
2573
|
@keyframes animate-fade {
|
|
2197
2574
|
0% {
|
|
2198
2575
|
opacity: 0;
|
|
@@ -2220,15 +2597,15 @@ var OverlayWrapper = import_styled_components10.default.div`
|
|
|
2220
2597
|
// src/overlay/index.tsx
|
|
2221
2598
|
var Overlay = (props) => {
|
|
2222
2599
|
const { raw, visible, closeOnInteract, onClick, ...restProps } = props;
|
|
2223
|
-
const [mounted, setMounted] =
|
|
2600
|
+
const [mounted, setMounted] = import_react24.default.useState(Boolean(visible));
|
|
2224
2601
|
const handleClick = (event) => {
|
|
2225
2602
|
if (onClick) onClick(event);
|
|
2226
2603
|
if (closeOnInteract) setMounted(false);
|
|
2227
2604
|
};
|
|
2228
|
-
|
|
2605
|
+
import_react24.default.useEffect(() => {
|
|
2229
2606
|
if (visible !== mounted) setMounted(Boolean(visible));
|
|
2230
2607
|
}, [visible]);
|
|
2231
|
-
return /* @__PURE__ */
|
|
2608
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, mounted && /* @__PURE__ */ import_react24.default.createElement(
|
|
2232
2609
|
OverlayWrapper,
|
|
2233
2610
|
{
|
|
2234
2611
|
tabIndex: -1,
|
|
@@ -2242,14 +2619,14 @@ var Overlay = (props) => {
|
|
|
2242
2619
|
Overlay.displayName = "Overlay";
|
|
2243
2620
|
|
|
2244
2621
|
// src/page/index.tsx
|
|
2245
|
-
var
|
|
2622
|
+
var import_react25 = __toESM(require("react"));
|
|
2246
2623
|
|
|
2247
2624
|
// src/page/styles/index.ts
|
|
2248
|
-
var
|
|
2625
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
2249
2626
|
|
|
2250
2627
|
// src/scrollarea/styles/index.ts
|
|
2251
|
-
var
|
|
2252
|
-
var HiddenScrollbar =
|
|
2628
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
2629
|
+
var HiddenScrollbar = import_styled_components13.css`
|
|
2253
2630
|
scrollbar-width: none;
|
|
2254
2631
|
|
|
2255
2632
|
&::-webkit-scrollbar {
|
|
@@ -2261,7 +2638,7 @@ var HiddenScrollbar = import_styled_components11.css`
|
|
|
2261
2638
|
display: none;
|
|
2262
2639
|
}
|
|
2263
2640
|
`;
|
|
2264
|
-
var CustomScrollbar =
|
|
2641
|
+
var CustomScrollbar = import_styled_components13.css`
|
|
2265
2642
|
height: ${({ $height }) => $height || "100%"};
|
|
2266
2643
|
width: ${({ $width }) => $width || "100%"};
|
|
2267
2644
|
overflow-y: auto;
|
|
@@ -2293,7 +2670,7 @@ var CustomScrollbar = import_styled_components11.css`
|
|
|
2293
2670
|
scrollbar-width: thin;
|
|
2294
2671
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor || "var(--font-color-alpha-10)"} ${$trackColor || "transparent"}`};
|
|
2295
2672
|
`;
|
|
2296
|
-
var ScrollAreaWrapper =
|
|
2673
|
+
var ScrollAreaWrapper = import_styled_components13.default.div`
|
|
2297
2674
|
overflow: scroll;
|
|
2298
2675
|
|
|
2299
2676
|
&[data-scrollbar="true"] {
|
|
@@ -2305,11 +2682,11 @@ var ScrollAreaWrapper = import_styled_components11.default.div`
|
|
|
2305
2682
|
`;
|
|
2306
2683
|
|
|
2307
2684
|
// src/page/styles/index.ts
|
|
2308
|
-
var PageRootWrapper =
|
|
2685
|
+
var PageRootWrapper = import_styled_components14.default.div`
|
|
2309
2686
|
height: 100dvh;
|
|
2310
2687
|
width: 100%;
|
|
2311
2688
|
`;
|
|
2312
|
-
var PageNavWrapper =
|
|
2689
|
+
var PageNavWrapper = import_styled_components14.default.nav`
|
|
2313
2690
|
background-color: var(--body-color);
|
|
2314
2691
|
border: var(--measurement-small-10) solid transparent;
|
|
2315
2692
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2318,7 +2695,7 @@ var PageNavWrapper = import_styled_components12.default.nav`
|
|
|
2318
2695
|
max-height: var(--measurement-large-20);
|
|
2319
2696
|
padding: var(--measurement-medium-30);
|
|
2320
2697
|
`;
|
|
2321
|
-
var PageMenuWrapper =
|
|
2698
|
+
var PageMenuWrapper = import_styled_components14.default.menu`
|
|
2322
2699
|
background-color: var(--body-color);
|
|
2323
2700
|
border: var(--measurement-small-10) solid transparent;
|
|
2324
2701
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2328,19 +2705,19 @@ var PageMenuWrapper = import_styled_components12.default.menu`
|
|
|
2328
2705
|
margin: 0;
|
|
2329
2706
|
padding: var(--measurement-medium-60) var(--measurement-medium-30);
|
|
2330
2707
|
`;
|
|
2331
|
-
var PagePanelWrapper =
|
|
2708
|
+
var PagePanelWrapper = import_styled_components14.default.aside`
|
|
2332
2709
|
position: absolute;
|
|
2333
2710
|
bottom: 0;
|
|
2334
2711
|
width: 100%;
|
|
2335
2712
|
overflow: scroll;
|
|
2336
2713
|
${HiddenScrollbar}
|
|
2337
2714
|
`;
|
|
2338
|
-
var PageSectionWrapper =
|
|
2715
|
+
var PageSectionWrapper = import_styled_components14.default.div`
|
|
2339
2716
|
background: var(--body-color);
|
|
2340
2717
|
width: 100%;
|
|
2341
2718
|
height: 100%;
|
|
2342
2719
|
`;
|
|
2343
|
-
var PageBodyWrapper =
|
|
2720
|
+
var PageBodyWrapper = import_styled_components14.default.div`
|
|
2344
2721
|
--menus-height: calc(
|
|
2345
2722
|
var(--measurement-large-30) *
|
|
2346
2723
|
${({ $menus }) => $menus ? Number($menus) : 0}
|
|
@@ -2365,12 +2742,12 @@ var PageBodyWrapper = import_styled_components12.default.div`
|
|
|
2365
2742
|
// src/page/index.tsx
|
|
2366
2743
|
var Page = (props) => {
|
|
2367
2744
|
const { children } = props;
|
|
2368
|
-
return /* @__PURE__ */
|
|
2745
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageRootWrapper, { className: "flex", ...props }, children);
|
|
2369
2746
|
};
|
|
2370
2747
|
Page.displayName = "Page";
|
|
2371
2748
|
var PageNavigation = (props) => {
|
|
2372
2749
|
const { children } = props;
|
|
2373
|
-
return /* @__PURE__ */
|
|
2750
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageNavWrapper, { ...props }, children);
|
|
2374
2751
|
};
|
|
2375
2752
|
PageNavigation.displayName = "Page.Navigation";
|
|
2376
2753
|
var PageTools = (props) => {
|
|
@@ -2392,7 +2769,7 @@ var PageTools = (props) => {
|
|
|
2392
2769
|
const handleClick = (event) => {
|
|
2393
2770
|
if (onClick) onClick(event);
|
|
2394
2771
|
};
|
|
2395
|
-
return /* @__PURE__ */
|
|
2772
|
+
return /* @__PURE__ */ import_react25.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react25.default.createElement(
|
|
2396
2773
|
Toolbar,
|
|
2397
2774
|
{
|
|
2398
2775
|
raw,
|
|
@@ -2404,27 +2781,27 @@ var PageTools = (props) => {
|
|
|
2404
2781
|
defaultOpen,
|
|
2405
2782
|
...props
|
|
2406
2783
|
},
|
|
2407
|
-
/* @__PURE__ */
|
|
2408
|
-
!fixed && /* @__PURE__ */
|
|
2784
|
+
/* @__PURE__ */ import_react25.default.createElement(Toolbar.Section, { showoncollapse }, children),
|
|
2785
|
+
!fixed && /* @__PURE__ */ import_react25.default.createElement(
|
|
2409
2786
|
Toolbar.Trigger,
|
|
2410
2787
|
{
|
|
2411
2788
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2412
2789
|
onClick: handleClick,
|
|
2413
2790
|
...triggerProps
|
|
2414
2791
|
},
|
|
2415
|
-
trigger ?? /* @__PURE__ */
|
|
2792
|
+
trigger ?? /* @__PURE__ */ import_react25.default.createElement("span", null, "\u2194")
|
|
2416
2793
|
)
|
|
2417
2794
|
));
|
|
2418
2795
|
};
|
|
2419
2796
|
PageTools.displayName = "Page.Tools";
|
|
2420
2797
|
var PageContent = (props) => {
|
|
2421
2798
|
const { children } = props;
|
|
2422
|
-
return /* @__PURE__ */
|
|
2799
|
+
return /* @__PURE__ */ import_react25.default.createElement(ScrollArea, { as: PageSectionWrapper, ...props }, children);
|
|
2423
2800
|
};
|
|
2424
2801
|
PageContent.displayName = "Page.Content";
|
|
2425
2802
|
var PageWrapper = (props) => {
|
|
2426
2803
|
const { children } = props;
|
|
2427
|
-
return /* @__PURE__ */
|
|
2804
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageBodyWrapper, { ...props }, children);
|
|
2428
2805
|
};
|
|
2429
2806
|
PageWrapper.displayName = "Page.Wrapper";
|
|
2430
2807
|
var PagePanel = (props) => {
|
|
@@ -2447,7 +2824,7 @@ var PagePanel = (props) => {
|
|
|
2447
2824
|
const handleClick = (event) => {
|
|
2448
2825
|
if (onClick) onClick(event);
|
|
2449
2826
|
};
|
|
2450
|
-
return /* @__PURE__ */
|
|
2827
|
+
return /* @__PURE__ */ import_react25.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react25.default.createElement(
|
|
2451
2828
|
PagePanelWrapper,
|
|
2452
2829
|
{
|
|
2453
2830
|
as: Toolbar,
|
|
@@ -2461,22 +2838,22 @@ var PagePanel = (props) => {
|
|
|
2461
2838
|
defaultOpen,
|
|
2462
2839
|
"aria-label": props["aria-label"]
|
|
2463
2840
|
},
|
|
2464
|
-
!fixed && /* @__PURE__ */
|
|
2841
|
+
!fixed && /* @__PURE__ */ import_react25.default.createElement(
|
|
2465
2842
|
Toolbar.Trigger,
|
|
2466
2843
|
{
|
|
2467
2844
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2468
2845
|
onClick: handleClick,
|
|
2469
2846
|
...triggerProps
|
|
2470
2847
|
},
|
|
2471
|
-
trigger ?? /* @__PURE__ */
|
|
2848
|
+
trigger ?? /* @__PURE__ */ import_react25.default.createElement("span", { style: { transform: "rotate(90deg)" } }, "\u2194")
|
|
2472
2849
|
),
|
|
2473
|
-
/* @__PURE__ */
|
|
2850
|
+
/* @__PURE__ */ import_react25.default.createElement(Toolbar.Section, { showoncollapse }, children)
|
|
2474
2851
|
));
|
|
2475
2852
|
};
|
|
2476
2853
|
PagePanel.displayName = "Page.Panel";
|
|
2477
2854
|
var PageMenu = (props) => {
|
|
2478
2855
|
const { children } = props;
|
|
2479
|
-
return /* @__PURE__ */
|
|
2856
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageMenuWrapper, { ...props }, children);
|
|
2480
2857
|
};
|
|
2481
2858
|
PageMenu.displayName = "Page.Menu";
|
|
2482
2859
|
Page.Navigation = PageNavigation;
|
|
@@ -2487,14 +2864,14 @@ Page.Panel = PagePanel;
|
|
|
2487
2864
|
Page.Menu = PageMenu;
|
|
2488
2865
|
|
|
2489
2866
|
// src/portal/index.tsx
|
|
2490
|
-
var
|
|
2867
|
+
var import_react26 = __toESM(require("react"));
|
|
2491
2868
|
var import_react_dom = require("react-dom");
|
|
2492
2869
|
var Portal = (props) => {
|
|
2493
2870
|
if (typeof document === "undefined") return null;
|
|
2494
2871
|
const { container, children } = props;
|
|
2495
|
-
const [hasMounted, setHasMounted] =
|
|
2496
|
-
const [portalRoot, setPortalRoot] =
|
|
2497
|
-
|
|
2872
|
+
const [hasMounted, setHasMounted] = import_react26.default.useState(false);
|
|
2873
|
+
const [portalRoot, setPortalRoot] = import_react26.default.useState(null);
|
|
2874
|
+
import_react26.default.useEffect(() => {
|
|
2498
2875
|
setHasMounted(true);
|
|
2499
2876
|
setPortalRoot(document.querySelector(`#${container}`));
|
|
2500
2877
|
}, [container]);
|
|
@@ -2503,26 +2880,188 @@ var Portal = (props) => {
|
|
|
2503
2880
|
};
|
|
2504
2881
|
Portal.displayName = "Portal";
|
|
2505
2882
|
|
|
2883
|
+
// src/privacy-field/index.tsx
|
|
2884
|
+
var import_react27 = __toESM(require("react"));
|
|
2885
|
+
|
|
2886
|
+
// src/privacy-field/styles/index.ts
|
|
2887
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
2888
|
+
var Wrapper = (0, import_styled_components15.default)(Field.Wrapper)`
|
|
2889
|
+
position: relative;
|
|
2890
|
+
|
|
2891
|
+
input {
|
|
2892
|
+
width: 100% !important;
|
|
2893
|
+
}
|
|
2894
|
+
`;
|
|
2895
|
+
var Trigger = (0, import_styled_components15.default)(Button)`
|
|
2896
|
+
position: absolute !important;
|
|
2897
|
+
right: var(--measurement-medium-50);
|
|
2898
|
+
top: calc(var(--measurement-medium-50));
|
|
2899
|
+
`;
|
|
2900
|
+
|
|
2901
|
+
// src/privacy-field/index.tsx
|
|
2902
|
+
var PrivacyField = ({
|
|
2903
|
+
defaultType,
|
|
2904
|
+
textIcon,
|
|
2905
|
+
passwordIcon,
|
|
2906
|
+
...restProps
|
|
2907
|
+
}) => {
|
|
2908
|
+
const [type, setType] = import_react27.default.useState(
|
|
2909
|
+
defaultType ?? "password"
|
|
2910
|
+
);
|
|
2911
|
+
const handleChangeType = import_react27.default.useCallback(() => {
|
|
2912
|
+
if (type === "text") setType("password");
|
|
2913
|
+
if (type === "password") setType("text");
|
|
2914
|
+
}, [type, setType]);
|
|
2915
|
+
return /* @__PURE__ */ import_react27.default.createElement(Wrapper, { className: "flex" }, /* @__PURE__ */ import_react27.default.createElement(Field, { autoComplete: "off", type, ...restProps }), /* @__PURE__ */ import_react27.default.createElement(Trigger, { variant: "ghost", sizing: "small", onClick: handleChangeType }, type === "text" && textIcon, type === "password" && passwordIcon));
|
|
2916
|
+
};
|
|
2917
|
+
PrivacyField.displayName = "PrivacyField";
|
|
2918
|
+
|
|
2919
|
+
// src/resizable/index.tsx
|
|
2920
|
+
var import_react28 = __toESM(require("react"));
|
|
2921
|
+
|
|
2922
|
+
// src/resizable/styles/index.ts
|
|
2923
|
+
var import_styled_components16 = __toESM(require("styled-components"));
|
|
2924
|
+
var SplitContainer = import_styled_components16.default.div`
|
|
2925
|
+
position: relative;
|
|
2926
|
+
`;
|
|
2927
|
+
var Panel = import_styled_components16.default.div`
|
|
2928
|
+
overflow: hidden;
|
|
2929
|
+
width: ${(props) => props.width}%;
|
|
2930
|
+
`;
|
|
2931
|
+
var Divider2 = import_styled_components16.default.div`
|
|
2932
|
+
width: var(--measurement-medium-10);
|
|
2933
|
+
height: 100%;
|
|
2934
|
+
top: 0;
|
|
2935
|
+
|
|
2936
|
+
border-radius: var(--measurement-medium-60);
|
|
2937
|
+
background-color: transparent;
|
|
2938
|
+
|
|
2939
|
+
/* background-color: ${(props) => props.$dragging ? "var(--font-color-alpha-10)" : "transparent"}; */
|
|
2940
|
+
|
|
2941
|
+
cursor: col-resize;
|
|
2942
|
+
transition: background-color 0.2s;
|
|
2943
|
+
position: relative;
|
|
2944
|
+
|
|
2945
|
+
/** Shows DragIndicator on hover */
|
|
2946
|
+
&:hover .drag-indicator-handle,
|
|
2947
|
+
&:active .drag-indicator-handle {
|
|
2948
|
+
opacity: 1;
|
|
2949
|
+
}
|
|
2950
|
+
|
|
2951
|
+
.drag-indicator-handle {
|
|
2952
|
+
height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
|
|
2953
|
+
}
|
|
2954
|
+
`;
|
|
2955
|
+
var DragHandle = import_styled_components16.default.div`
|
|
2956
|
+
position: absolute;
|
|
2957
|
+
top: 0;
|
|
2958
|
+
bottom: 0;
|
|
2959
|
+
left: calc(var(--measurement-medium-10) * -1);
|
|
2960
|
+
right: calc(var(--measurement-medium-10) * -1);
|
|
2961
|
+
`;
|
|
2962
|
+
var DragIndicator = import_styled_components16.default.div`
|
|
2963
|
+
position: fixed;
|
|
2964
|
+
width: var(--measurement-medium-10);
|
|
2965
|
+
/* height: var(--measurement-medium-60); */
|
|
2966
|
+
background-color: var(--font-color-alpha-60);
|
|
2967
|
+
border-radius: var(--measurement-large-10);
|
|
2968
|
+
|
|
2969
|
+
opacity: 0;
|
|
2970
|
+
transition: all 0.2s;
|
|
2971
|
+
`;
|
|
2972
|
+
var DragOverlay = import_styled_components16.default.div`
|
|
2973
|
+
position: fixed;
|
|
2974
|
+
top: 0;
|
|
2975
|
+
left: 0;
|
|
2976
|
+
right: 0;
|
|
2977
|
+
bottom: 0;
|
|
2978
|
+
z-index: var(--depth-default-90);
|
|
2979
|
+
cursor: col-resize;
|
|
2980
|
+
`;
|
|
2981
|
+
|
|
2982
|
+
// src/resizable/index.tsx
|
|
2983
|
+
var Resizable = ({
|
|
2984
|
+
defaultWidth,
|
|
2985
|
+
left,
|
|
2986
|
+
right
|
|
2987
|
+
}) => {
|
|
2988
|
+
const containerRef = import_react28.default.useRef(null);
|
|
2989
|
+
const [leftWidth, setLeftWidth] = import_react28.default.useState(defaultWidth ?? 50);
|
|
2990
|
+
const [isDragging, setIsDragging] = import_react28.default.useState(false);
|
|
2991
|
+
const handleMouseDown = import_react28.default.useCallback(() => setIsDragging(true), []);
|
|
2992
|
+
const handleMouseUp = import_react28.default.useCallback(() => setIsDragging(false), []);
|
|
2993
|
+
const handleMouseMove = import_react28.default.useCallback(
|
|
2994
|
+
(e) => {
|
|
2995
|
+
if (!isDragging || !containerRef.current) return;
|
|
2996
|
+
const containerRect = containerRef.current.getBoundingClientRect();
|
|
2997
|
+
const newLeftWidth = (e.clientX - containerRect.left) / containerRect.width * 100;
|
|
2998
|
+
const threshold = { min: 30, max: 70 };
|
|
2999
|
+
const constrainedWidth = Math.min(
|
|
3000
|
+
Math.max(newLeftWidth, threshold.min),
|
|
3001
|
+
threshold.max
|
|
3002
|
+
);
|
|
3003
|
+
setLeftWidth(constrainedWidth);
|
|
3004
|
+
},
|
|
3005
|
+
[isDragging]
|
|
3006
|
+
);
|
|
3007
|
+
import_react28.default.useEffect(() => {
|
|
3008
|
+
if (isDragging) {
|
|
3009
|
+
document.addEventListener("mousemove", handleMouseMove);
|
|
3010
|
+
document.addEventListener("mouseup", handleMouseUp);
|
|
3011
|
+
document.body.style.cursor = "col-resize";
|
|
3012
|
+
document.body.style.userSelect = "none";
|
|
3013
|
+
} else {
|
|
3014
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
|
3015
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
3016
|
+
document.body.style.cursor = "";
|
|
3017
|
+
document.body.style.userSelect = "";
|
|
3018
|
+
}
|
|
3019
|
+
return () => {
|
|
3020
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
|
3021
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
3022
|
+
document.body.style.cursor = "";
|
|
3023
|
+
document.body.style.userSelect = "";
|
|
3024
|
+
};
|
|
3025
|
+
}, [isDragging, handleMouseMove, handleMouseUp]);
|
|
3026
|
+
return /* @__PURE__ */ import_react28.default.createElement(import_react28.default.Fragment, null, /* @__PURE__ */ import_react28.default.createElement(SplitContainer, { ref: containerRef, className: "h-100 flex" }, /* @__PURE__ */ import_react28.default.createElement(Panel, { width: leftWidth }, left), /* @__PURE__ */ import_react28.default.createElement(
|
|
3027
|
+
Divider2,
|
|
3028
|
+
{
|
|
3029
|
+
$dragging: isDragging,
|
|
3030
|
+
onMouseDown: handleMouseDown,
|
|
3031
|
+
onTouchStart: handleMouseDown
|
|
3032
|
+
},
|
|
3033
|
+
/* @__PURE__ */ import_react28.default.createElement(
|
|
3034
|
+
DragHandle,
|
|
3035
|
+
{
|
|
3036
|
+
className: "flex align-center justify-center",
|
|
3037
|
+
id: "drag-handle"
|
|
3038
|
+
},
|
|
3039
|
+
/* @__PURE__ */ import_react28.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
|
|
3040
|
+
)
|
|
3041
|
+
), /* @__PURE__ */ import_react28.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react28.default.createElement(DragOverlay, null));
|
|
3042
|
+
};
|
|
3043
|
+
Resizable.displayName = "Resizable";
|
|
3044
|
+
|
|
2506
3045
|
// src/sheet/index.tsx
|
|
2507
|
-
var
|
|
3046
|
+
var import_react30 = __toESM(require("react"));
|
|
2508
3047
|
|
|
2509
3048
|
// src/sheet/hooks/index.tsx
|
|
2510
|
-
var
|
|
2511
|
-
var SheetContext =
|
|
3049
|
+
var import_react29 = __toESM(require("react"));
|
|
3050
|
+
var SheetContext = import_react29.default.createContext({
|
|
2512
3051
|
id: {},
|
|
2513
3052
|
states: {},
|
|
2514
3053
|
methods: {}
|
|
2515
3054
|
});
|
|
2516
|
-
var useSheet = () =>
|
|
3055
|
+
var useSheet = () => import_react29.default.useContext(SheetContext);
|
|
2517
3056
|
var SheetProvider = ({ children }) => {
|
|
2518
3057
|
const context = useSheetProvider();
|
|
2519
|
-
return /* @__PURE__ */
|
|
3058
|
+
return /* @__PURE__ */ import_react29.default.createElement(SheetContext.Provider, { value: context }, children);
|
|
2520
3059
|
};
|
|
2521
3060
|
function useSheetProvider() {
|
|
2522
|
-
const containerId =
|
|
2523
|
-
const triggerId =
|
|
2524
|
-
const controlId =
|
|
2525
|
-
const [open, setOpen] =
|
|
3061
|
+
const containerId = import_react29.default.useId();
|
|
3062
|
+
const triggerId = import_react29.default.useId();
|
|
3063
|
+
const controlId = import_react29.default.useId();
|
|
3064
|
+
const [open, setOpen] = import_react29.default.useState(false);
|
|
2526
3065
|
return {
|
|
2527
3066
|
id: {
|
|
2528
3067
|
containerId,
|
|
@@ -2540,8 +3079,8 @@ function useSheetProvider() {
|
|
|
2540
3079
|
}
|
|
2541
3080
|
|
|
2542
3081
|
// src/sheet/styles/index.ts
|
|
2543
|
-
var
|
|
2544
|
-
var SheetStyles =
|
|
3082
|
+
var import_styled_components17 = __toESM(require("styled-components"));
|
|
3083
|
+
var SheetStyles = import_styled_components17.css`
|
|
2545
3084
|
all: unset;
|
|
2546
3085
|
position: fixed;
|
|
2547
3086
|
background-color: var(--body-color);
|
|
@@ -2572,7 +3111,7 @@ var SheetStyles = import_styled_components13.css`
|
|
|
2572
3111
|
animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
|
2573
3112
|
animation-fill-mode: backwards;
|
|
2574
3113
|
`;
|
|
2575
|
-
var SheetSizeStyles =
|
|
3114
|
+
var SheetSizeStyles = import_styled_components17.css`
|
|
2576
3115
|
&[data-size="small"] {
|
|
2577
3116
|
width: var(--measurement-large-80);
|
|
2578
3117
|
}
|
|
@@ -2585,7 +3124,7 @@ var SheetSizeStyles = import_styled_components13.css`
|
|
|
2585
3124
|
width: calc(var(--measurement-large-90) * 1.5);
|
|
2586
3125
|
}
|
|
2587
3126
|
`;
|
|
2588
|
-
var SheetSideStyles =
|
|
3127
|
+
var SheetSideStyles = import_styled_components17.css`
|
|
2589
3128
|
top: 0;
|
|
2590
3129
|
|
|
2591
3130
|
&[data-side="right"] {
|
|
@@ -2600,7 +3139,7 @@ var SheetSideStyles = import_styled_components13.css`
|
|
|
2600
3139
|
animation-name: slide-left;
|
|
2601
3140
|
}
|
|
2602
3141
|
`;
|
|
2603
|
-
var SheetWrapper =
|
|
3142
|
+
var SheetWrapper = import_styled_components17.default.dialog`
|
|
2604
3143
|
&[data-raw="false"] {
|
|
2605
3144
|
${SheetStyles}
|
|
2606
3145
|
${SheetSideStyles}
|
|
@@ -2610,7 +3149,7 @@ var SheetWrapper = import_styled_components13.default.dialog`
|
|
|
2610
3149
|
|
|
2611
3150
|
// src/sheet/index.tsx
|
|
2612
3151
|
var SheetRoot = ({ children }) => {
|
|
2613
|
-
return /* @__PURE__ */
|
|
3152
|
+
return /* @__PURE__ */ import_react30.default.createElement(SheetProvider, null, children);
|
|
2614
3153
|
};
|
|
2615
3154
|
SheetRoot.displayName = "Sheet.Root";
|
|
2616
3155
|
var Sheet = (props) => {
|
|
@@ -2631,16 +3170,16 @@ var Sheet = (props) => {
|
|
|
2631
3170
|
const { id, states, methods } = useSheet();
|
|
2632
3171
|
const { toggle } = methods;
|
|
2633
3172
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
2634
|
-
|
|
3173
|
+
import_react30.default.useEffect(() => {
|
|
2635
3174
|
if (open && toggle) return toggle();
|
|
2636
3175
|
}, [open]);
|
|
2637
|
-
|
|
3176
|
+
import_react30.default.useEffect(() => {
|
|
2638
3177
|
if (shortcut && shortcutControls && toggle) {
|
|
2639
3178
|
return toggle();
|
|
2640
3179
|
}
|
|
2641
3180
|
}, [shortcutControls]);
|
|
2642
3181
|
useDisabledScroll(lock && Boolean(states.open));
|
|
2643
|
-
return /* @__PURE__ */
|
|
3182
|
+
return /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, states.open && /* @__PURE__ */ import_react30.default.createElement(import_react30.default.Fragment, null, /* @__PURE__ */ import_react30.default.createElement(
|
|
2644
3183
|
SheetWrapper,
|
|
2645
3184
|
{
|
|
2646
3185
|
role: "dialog",
|
|
@@ -2657,7 +3196,7 @@ var Sheet = (props) => {
|
|
|
2657
3196
|
...restProps
|
|
2658
3197
|
},
|
|
2659
3198
|
children
|
|
2660
|
-
), overlay && /* @__PURE__ */
|
|
3199
|
+
), overlay && /* @__PURE__ */ import_react30.default.createElement(
|
|
2661
3200
|
Overlay,
|
|
2662
3201
|
{
|
|
2663
3202
|
onClick: () => toggle && toggle(!states.open),
|
|
@@ -2683,7 +3222,7 @@ var SheetTrigger = (props) => {
|
|
|
2683
3222
|
if (onClick) onClick(event);
|
|
2684
3223
|
if (toggle) toggle(!states.open);
|
|
2685
3224
|
};
|
|
2686
|
-
return /* @__PURE__ */
|
|
3225
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
2687
3226
|
Button,
|
|
2688
3227
|
{
|
|
2689
3228
|
id: id.triggerId,
|
|
@@ -2703,13 +3242,13 @@ Sheet.Root = SheetRoot;
|
|
|
2703
3242
|
Sheet.Trigger = SheetTrigger;
|
|
2704
3243
|
|
|
2705
3244
|
// src/scrollarea/index.tsx
|
|
2706
|
-
var
|
|
3245
|
+
var import_react31 = __toESM(require("react"));
|
|
2707
3246
|
var ScrollArea = ({
|
|
2708
3247
|
scrollbar = false,
|
|
2709
3248
|
children,
|
|
2710
3249
|
...restProps
|
|
2711
3250
|
}) => {
|
|
2712
|
-
return /* @__PURE__ */
|
|
3251
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
2713
3252
|
ScrollAreaWrapper,
|
|
2714
3253
|
{
|
|
2715
3254
|
"aria-hidden": "true",
|
|
@@ -2720,25 +3259,148 @@ var ScrollArea = ({
|
|
|
2720
3259
|
);
|
|
2721
3260
|
};
|
|
2722
3261
|
|
|
3262
|
+
// src/spinner/index.tsx
|
|
3263
|
+
var import_react32 = __toESM(require("react"));
|
|
3264
|
+
|
|
3265
|
+
// src/spinner/styles/index.ts
|
|
3266
|
+
var import_styled_components18 = __toESM(require("styled-components"));
|
|
3267
|
+
var Rotate = import_styled_components18.keyframes`
|
|
3268
|
+
0% {
|
|
3269
|
+
transform: rotate(0deg);
|
|
3270
|
+
}
|
|
3271
|
+
100% {
|
|
3272
|
+
transform: rotate(360deg);
|
|
3273
|
+
}
|
|
3274
|
+
`;
|
|
3275
|
+
var FieldSizeStyles2 = import_styled_components18.css`
|
|
3276
|
+
&[data-size="small"] {
|
|
3277
|
+
width: var(--measurement-medium-40);
|
|
3278
|
+
height: var(--measurement-medium-40);
|
|
3279
|
+
}
|
|
3280
|
+
&[data-size="medium"] {
|
|
3281
|
+
width: var(--measurement-medium-50);
|
|
3282
|
+
height: var(--measurement-medium-50);
|
|
3283
|
+
}
|
|
3284
|
+
&[data-size="large"] {
|
|
3285
|
+
width: var(--measurement-medium-60);
|
|
3286
|
+
height: var(--measurement-medium-60);
|
|
3287
|
+
}
|
|
3288
|
+
`;
|
|
3289
|
+
var RotatingSpinner = import_styled_components18.default.span`
|
|
3290
|
+
padding: 0;
|
|
3291
|
+
margin: 0;
|
|
3292
|
+
|
|
3293
|
+
display: inline-block;
|
|
3294
|
+
box-sizing: border-box;
|
|
3295
|
+
|
|
3296
|
+
border: var(--measurement-small-60) solid var(--font-color-alpha-30);
|
|
3297
|
+
border-bottom-color: transparent;
|
|
3298
|
+
border-radius: var(--measurement-large-90);
|
|
3299
|
+
|
|
3300
|
+
animation: ${Rotate} 1s linear infinite;
|
|
3301
|
+
|
|
3302
|
+
${FieldSizeStyles2}
|
|
3303
|
+
`;
|
|
3304
|
+
|
|
3305
|
+
// src/spinner/index.tsx
|
|
3306
|
+
var Spinner = (props) => {
|
|
3307
|
+
return /* @__PURE__ */ import_react32.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
|
|
3308
|
+
};
|
|
3309
|
+
|
|
3310
|
+
// src/skeleton/index.tsx
|
|
3311
|
+
var import_react33 = __toESM(require("react"));
|
|
3312
|
+
|
|
3313
|
+
// src/skeleton/styles/index.ts
|
|
3314
|
+
var import_styled_components19 = __toESM(require("styled-components"));
|
|
3315
|
+
var SkeletonBlink = import_styled_components19.keyframes`
|
|
3316
|
+
0% {
|
|
3317
|
+
opacity: 0.3;
|
|
3318
|
+
}
|
|
3319
|
+
100% {
|
|
3320
|
+
opacity: 0.1;
|
|
3321
|
+
}
|
|
3322
|
+
`;
|
|
3323
|
+
var SkeletonBaseStyles = import_styled_components19.css`
|
|
3324
|
+
background: linear-gradient(
|
|
3325
|
+
45deg,
|
|
3326
|
+
var(--font-color-alpha-10),
|
|
3327
|
+
var(--font-color-alpha-20)
|
|
3328
|
+
);
|
|
3329
|
+
animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
|
|
3330
|
+
`;
|
|
3331
|
+
var SkeletonSizeStyles = import_styled_components19.css`
|
|
3332
|
+
&[data-size="small"] {
|
|
3333
|
+
width: 100%;
|
|
3334
|
+
|
|
3335
|
+
min-width: var(--measurement-medium-60);
|
|
3336
|
+
min-height: var(--measurement-medium-70);
|
|
3337
|
+
}
|
|
3338
|
+
&[data-size="medium"] {
|
|
3339
|
+
width: 100%;
|
|
3340
|
+
min-width: var(--measurement-medium-90);
|
|
3341
|
+
min-height: var(--measurement-medium-80);
|
|
3342
|
+
}
|
|
3343
|
+
&[data-size="large"] {
|
|
3344
|
+
width: 100%;
|
|
3345
|
+
min-width: var(--measurement-medium-90);
|
|
3346
|
+
min-height: var(--measurement-medium-90);
|
|
3347
|
+
}
|
|
3348
|
+
`;
|
|
3349
|
+
var SkeletonShapeStyles = import_styled_components19.css`
|
|
3350
|
+
&[data-shape="square"] {
|
|
3351
|
+
border-radius: 0;
|
|
3352
|
+
}
|
|
3353
|
+
&[data-shape="smooth"] {
|
|
3354
|
+
border-radius: var(--measurement-medium-20);
|
|
3355
|
+
}
|
|
3356
|
+
&[data-shape="round"] {
|
|
3357
|
+
border-radius: var(--measurement-large-90);
|
|
3358
|
+
}
|
|
3359
|
+
`;
|
|
3360
|
+
var SkeletonLoader = import_styled_components19.default.span`
|
|
3361
|
+
${SkeletonBaseStyles}
|
|
3362
|
+
${SkeletonSizeStyles}
|
|
3363
|
+
${SkeletonShapeStyles}
|
|
3364
|
+
`;
|
|
3365
|
+
|
|
3366
|
+
// src/skeleton/index.tsx
|
|
3367
|
+
var Skeleton = (props) => {
|
|
3368
|
+
const {
|
|
3369
|
+
sizing = "medium" /* Medium */,
|
|
3370
|
+
shape = "smooth",
|
|
3371
|
+
...restProps
|
|
3372
|
+
} = props;
|
|
3373
|
+
return /* @__PURE__ */ import_react33.default.createElement(
|
|
3374
|
+
SkeletonLoader,
|
|
3375
|
+
{
|
|
3376
|
+
"data-size": sizing,
|
|
3377
|
+
"data-shape": shape,
|
|
3378
|
+
tabIndex: 0,
|
|
3379
|
+
...restProps
|
|
3380
|
+
}
|
|
3381
|
+
);
|
|
3382
|
+
};
|
|
3383
|
+
Skeleton.displayName = "Skeleton";
|
|
3384
|
+
|
|
2723
3385
|
// src/switch/index.tsx
|
|
2724
|
-
var
|
|
3386
|
+
var import_react35 = __toESM(require("react"));
|
|
2725
3387
|
|
|
2726
3388
|
// src/switch/hooks/index.tsx
|
|
2727
|
-
var
|
|
3389
|
+
var import_react34 = __toESM(require("react"));
|
|
2728
3390
|
var defaultComponentAPI6 = {
|
|
2729
3391
|
id: "",
|
|
2730
3392
|
states: {},
|
|
2731
3393
|
methods: {}
|
|
2732
3394
|
};
|
|
2733
|
-
var SwitchContext = (0,
|
|
2734
|
-
var useSwitch = () => (0,
|
|
3395
|
+
var SwitchContext = (0, import_react34.createContext)(defaultComponentAPI6);
|
|
3396
|
+
var useSwitch = () => (0, import_react34.useContext)(SwitchContext);
|
|
2735
3397
|
var SwitchProvider = ({ children }) => {
|
|
2736
3398
|
const context = useSwitchProvider();
|
|
2737
|
-
return /* @__PURE__ */
|
|
3399
|
+
return /* @__PURE__ */ import_react34.default.createElement(SwitchContext.Provider, { value: context }, children);
|
|
2738
3400
|
};
|
|
2739
3401
|
function useSwitchProvider() {
|
|
2740
|
-
const [checked, setChecked] = (0,
|
|
2741
|
-
const switchId =
|
|
3402
|
+
const [checked, setChecked] = (0, import_react34.useState)(false);
|
|
3403
|
+
const switchId = import_react34.default.useId();
|
|
2742
3404
|
return {
|
|
2743
3405
|
id: switchId,
|
|
2744
3406
|
states: {
|
|
@@ -2751,8 +3413,8 @@ function useSwitchProvider() {
|
|
|
2751
3413
|
}
|
|
2752
3414
|
|
|
2753
3415
|
// src/switch/styles/index.ts
|
|
2754
|
-
var
|
|
2755
|
-
var SwitchDefaultStyles =
|
|
3416
|
+
var import_styled_components20 = __toESM(require("styled-components"));
|
|
3417
|
+
var SwitchDefaultStyles = import_styled_components20.css`
|
|
2756
3418
|
all: unset;
|
|
2757
3419
|
|
|
2758
3420
|
border: var(--measurement-small-10) solid transparent;
|
|
@@ -2766,7 +3428,7 @@ var SwitchDefaultStyles = import_styled_components14.css`
|
|
|
2766
3428
|
opacity: 0.6;
|
|
2767
3429
|
}
|
|
2768
3430
|
`;
|
|
2769
|
-
var SwitchVariantsStyles =
|
|
3431
|
+
var SwitchVariantsStyles = import_styled_components20.css`
|
|
2770
3432
|
&[data-variant="primary"] {
|
|
2771
3433
|
&[aria-checked="true"] {
|
|
2772
3434
|
background-color: var(--color-green);
|
|
@@ -2797,7 +3459,7 @@ var SwitchVariantsStyles = import_styled_components14.css`
|
|
|
2797
3459
|
}
|
|
2798
3460
|
}
|
|
2799
3461
|
`;
|
|
2800
|
-
var SwitchSizeStyles =
|
|
3462
|
+
var SwitchSizeStyles = import_styled_components20.css`
|
|
2801
3463
|
&[data-size="small"] {
|
|
2802
3464
|
width: calc(var(--measurement-medium-60) * 1.33);
|
|
2803
3465
|
height: var(--measurement-medium-50);
|
|
@@ -2846,14 +3508,14 @@ var SwitchSizeStyles = import_styled_components14.css`
|
|
|
2846
3508
|
}
|
|
2847
3509
|
}
|
|
2848
3510
|
`;
|
|
2849
|
-
var TriggerWrapper =
|
|
3511
|
+
var TriggerWrapper = import_styled_components20.default.button`
|
|
2850
3512
|
&[data-raw="false"] {
|
|
2851
3513
|
${SwitchDefaultStyles}
|
|
2852
3514
|
${SwitchVariantsStyles}
|
|
2853
3515
|
${SwitchSizeStyles}
|
|
2854
3516
|
}
|
|
2855
3517
|
`;
|
|
2856
|
-
var Thumb =
|
|
3518
|
+
var Thumb = import_styled_components20.default.span`
|
|
2857
3519
|
&[data-raw="false"] {
|
|
2858
3520
|
all: unset;
|
|
2859
3521
|
display: block;
|
|
@@ -2887,10 +3549,10 @@ var Switch = (props) => {
|
|
|
2887
3549
|
if (onClick) onClick(event);
|
|
2888
3550
|
if (toggleSwitch) toggleSwitch();
|
|
2889
3551
|
};
|
|
2890
|
-
|
|
3552
|
+
import_react35.default.useEffect(() => {
|
|
2891
3553
|
if (defaultChecked && toggleSwitch) toggleSwitch();
|
|
2892
3554
|
}, [defaultChecked]);
|
|
2893
|
-
return /* @__PURE__ */
|
|
3555
|
+
return /* @__PURE__ */ import_react35.default.createElement(
|
|
2894
3556
|
TriggerWrapper,
|
|
2895
3557
|
{
|
|
2896
3558
|
type: "button",
|
|
@@ -2906,19 +3568,19 @@ var Switch = (props) => {
|
|
|
2906
3568
|
"data-raw": Boolean(raw),
|
|
2907
3569
|
...restProps
|
|
2908
3570
|
},
|
|
2909
|
-
/* @__PURE__ */
|
|
3571
|
+
/* @__PURE__ */ import_react35.default.createElement("title", null, "Switch"),
|
|
2910
3572
|
children
|
|
2911
3573
|
);
|
|
2912
3574
|
};
|
|
2913
3575
|
Switch.displayName = "Switch";
|
|
2914
3576
|
var SwitchRoot = ({ children }) => {
|
|
2915
|
-
return /* @__PURE__ */
|
|
3577
|
+
return /* @__PURE__ */ import_react35.default.createElement(SwitchProvider, null, children);
|
|
2916
3578
|
};
|
|
2917
3579
|
SwitchRoot.displayName = "Switch.Root";
|
|
2918
3580
|
var SwitchThumb = (props) => {
|
|
2919
3581
|
const { raw, sizing } = props;
|
|
2920
3582
|
const { id, states } = useSwitch();
|
|
2921
|
-
return /* @__PURE__ */
|
|
3583
|
+
return /* @__PURE__ */ import_react35.default.createElement(
|
|
2922
3584
|
Thumb,
|
|
2923
3585
|
{
|
|
2924
3586
|
role: "presentation",
|
|
@@ -2938,11 +3600,11 @@ Switch.Root = SwitchRoot;
|
|
|
2938
3600
|
Switch.Thumb = SwitchThumb;
|
|
2939
3601
|
|
|
2940
3602
|
// src/table/index.tsx
|
|
2941
|
-
var
|
|
3603
|
+
var import_react36 = __toESM(require("react"));
|
|
2942
3604
|
|
|
2943
3605
|
// src/table/styles/index.ts
|
|
2944
|
-
var
|
|
2945
|
-
var CellStyles =
|
|
3606
|
+
var import_styled_components21 = __toESM(require("styled-components"));
|
|
3607
|
+
var CellStyles = import_styled_components21.css`
|
|
2946
3608
|
box-sizing: border-box;
|
|
2947
3609
|
border: none;
|
|
2948
3610
|
line-height: 1;
|
|
@@ -2952,11 +3614,11 @@ var CellStyles = import_styled_components15.css`
|
|
|
2952
3614
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
2953
3615
|
);
|
|
2954
3616
|
`;
|
|
2955
|
-
var TableLayer =
|
|
3617
|
+
var TableLayer = import_styled_components21.default.div`
|
|
2956
3618
|
border-radius: var(--measurement-medium-30);
|
|
2957
3619
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
2958
3620
|
`;
|
|
2959
|
-
var TableWrapper =
|
|
3621
|
+
var TableWrapper = import_styled_components21.default.table`
|
|
2960
3622
|
border-collapse: collapse;
|
|
2961
3623
|
|
|
2962
3624
|
tbody {
|
|
@@ -2967,7 +3629,7 @@ var TableWrapper = import_styled_components15.default.table`
|
|
|
2967
3629
|
}
|
|
2968
3630
|
}
|
|
2969
3631
|
`;
|
|
2970
|
-
var RowWrapper =
|
|
3632
|
+
var RowWrapper = import_styled_components21.default.tr`
|
|
2971
3633
|
border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
2972
3634
|
|
|
2973
3635
|
transition: background-color linear 0.1s;
|
|
@@ -2976,7 +3638,7 @@ var RowWrapper = import_styled_components15.default.tr`
|
|
|
2976
3638
|
background-color: var(--font-color-alpha-10);
|
|
2977
3639
|
}
|
|
2978
3640
|
`;
|
|
2979
|
-
var HeadCellWrapper =
|
|
3641
|
+
var HeadCellWrapper = import_styled_components21.default.th`
|
|
2980
3642
|
font-size: var(--fontsize-medium-10);
|
|
2981
3643
|
${CellStyles}
|
|
2982
3644
|
|
|
@@ -2984,7 +3646,7 @@ var HeadCellWrapper = import_styled_components15.default.th`
|
|
|
2984
3646
|
color: var(--font-color-alpha-60);
|
|
2985
3647
|
}
|
|
2986
3648
|
`;
|
|
2987
|
-
var CellWrapper =
|
|
3649
|
+
var CellWrapper = import_styled_components21.default.td`
|
|
2988
3650
|
${CellStyles}
|
|
2989
3651
|
`;
|
|
2990
3652
|
|
|
@@ -2993,43 +3655,43 @@ var Table = ({
|
|
|
2993
3655
|
children,
|
|
2994
3656
|
...restProps
|
|
2995
3657
|
}) => {
|
|
2996
|
-
return /* @__PURE__ */
|
|
3658
|
+
return /* @__PURE__ */ import_react36.default.createElement(ScrollArea, { as: TableLayer, role: "presentation", tabIndex: -1 }, /* @__PURE__ */ import_react36.default.createElement(TableWrapper, { ...restProps, cellSpacing: "0", cellPadding: "0" }, children));
|
|
2997
3659
|
};
|
|
2998
3660
|
Table.displayName = "Table";
|
|
2999
3661
|
var TableHead = ({
|
|
3000
3662
|
children,
|
|
3001
3663
|
...restProps
|
|
3002
3664
|
}) => {
|
|
3003
|
-
return /* @__PURE__ */
|
|
3665
|
+
return /* @__PURE__ */ import_react36.default.createElement("thead", { ...restProps }, children);
|
|
3004
3666
|
};
|
|
3005
3667
|
TableHead.displayName = "Table.Head";
|
|
3006
3668
|
var TableBody = ({
|
|
3007
3669
|
children,
|
|
3008
3670
|
...restProps
|
|
3009
3671
|
}) => {
|
|
3010
|
-
return /* @__PURE__ */
|
|
3672
|
+
return /* @__PURE__ */ import_react36.default.createElement("tbody", { ...restProps }, children);
|
|
3011
3673
|
};
|
|
3012
3674
|
TableBody.displayName = "Table.Body";
|
|
3013
3675
|
var TableHeadCell = ({
|
|
3014
3676
|
children,
|
|
3015
3677
|
...restProps
|
|
3016
3678
|
}) => {
|
|
3017
|
-
return /* @__PURE__ */
|
|
3679
|
+
return /* @__PURE__ */ import_react36.default.createElement(HeadCellWrapper, { colSpan: 1, ...restProps }, /* @__PURE__ */ import_react36.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
|
|
3018
3680
|
};
|
|
3019
3681
|
TableHeadCell.displayName = "Table.HeadCell";
|
|
3020
3682
|
var TableRow = ({ children, ...restProps }) => {
|
|
3021
|
-
return /* @__PURE__ */
|
|
3683
|
+
return /* @__PURE__ */ import_react36.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
|
|
3022
3684
|
};
|
|
3023
3685
|
TableRow.displayName = "Table.Row";
|
|
3024
3686
|
var TableCell = ({ children, ...restProps }) => {
|
|
3025
|
-
return /* @__PURE__ */
|
|
3687
|
+
return /* @__PURE__ */ import_react36.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react36.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
|
|
3026
3688
|
};
|
|
3027
3689
|
TableCell.displayName = "Table.Cell";
|
|
3028
3690
|
var TableFooter = ({
|
|
3029
3691
|
children,
|
|
3030
3692
|
...restProps
|
|
3031
3693
|
}) => {
|
|
3032
|
-
return /* @__PURE__ */
|
|
3694
|
+
return /* @__PURE__ */ import_react36.default.createElement("tfoot", { ...restProps }, children);
|
|
3033
3695
|
};
|
|
3034
3696
|
TableFooter.displayName = "Table.Footer";
|
|
3035
3697
|
Table.Head = TableHead;
|
|
@@ -3040,24 +3702,24 @@ Table.Cell = TableCell;
|
|
|
3040
3702
|
Table.Footer = TableFooter;
|
|
3041
3703
|
|
|
3042
3704
|
// src/tabs/index.tsx
|
|
3043
|
-
var
|
|
3705
|
+
var import_react38 = __toESM(require("react"));
|
|
3044
3706
|
|
|
3045
3707
|
// src/tabs/hooks/index.tsx
|
|
3046
|
-
var
|
|
3708
|
+
var import_react37 = __toESM(require("react"));
|
|
3047
3709
|
var defaultComponentAPI7 = {
|
|
3048
3710
|
id: "",
|
|
3049
3711
|
states: {},
|
|
3050
3712
|
methods: {}
|
|
3051
3713
|
};
|
|
3052
|
-
var TabsContext = (0,
|
|
3053
|
-
var useTabs = () => (0,
|
|
3714
|
+
var TabsContext = (0, import_react37.createContext)(defaultComponentAPI7);
|
|
3715
|
+
var useTabs = () => (0, import_react37.useContext)(TabsContext);
|
|
3054
3716
|
var TabsProvider = ({ children }) => {
|
|
3055
3717
|
const context = useTabsProvider();
|
|
3056
|
-
return /* @__PURE__ */
|
|
3718
|
+
return /* @__PURE__ */ import_react37.default.createElement(TabsContext.Provider, { value: context }, children);
|
|
3057
3719
|
};
|
|
3058
3720
|
function useTabsProvider() {
|
|
3059
|
-
const [value, setValue] = (0,
|
|
3060
|
-
const tabsId =
|
|
3721
|
+
const [value, setValue] = (0, import_react37.useState)(null);
|
|
3722
|
+
const tabsId = import_react37.default.useId();
|
|
3061
3723
|
return {
|
|
3062
3724
|
id: tabsId,
|
|
3063
3725
|
states: {
|
|
@@ -3071,8 +3733,8 @@ function useTabsProvider() {
|
|
|
3071
3733
|
}
|
|
3072
3734
|
|
|
3073
3735
|
// src/tabs/styles/index.ts
|
|
3074
|
-
var
|
|
3075
|
-
var TabWrapper =
|
|
3736
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
3737
|
+
var TabWrapper = import_styled_components22.default.div`
|
|
3076
3738
|
button {
|
|
3077
3739
|
&[aria-selected="true"] {
|
|
3078
3740
|
color: var(--font-color) !important;
|
|
@@ -3085,22 +3747,22 @@ var Tabs = (props) => {
|
|
|
3085
3747
|
const { defaultOpen, children, ...restProps } = props;
|
|
3086
3748
|
const { methods } = useTabs();
|
|
3087
3749
|
const { applyValue } = methods;
|
|
3088
|
-
const childArray =
|
|
3750
|
+
const childArray = import_react38.Children.toArray(children);
|
|
3089
3751
|
const firstChild = childArray[0];
|
|
3090
|
-
|
|
3091
|
-
if (
|
|
3752
|
+
import_react38.default.useEffect(() => {
|
|
3753
|
+
if (import_react38.default.isValidElement(firstChild)) {
|
|
3092
3754
|
if (childArray.length > 0 && applyValue)
|
|
3093
3755
|
applyValue(firstChild.props.value);
|
|
3094
3756
|
}
|
|
3095
3757
|
}, []);
|
|
3096
|
-
|
|
3758
|
+
import_react38.default.useEffect(() => {
|
|
3097
3759
|
if (defaultOpen && applyValue) applyValue(defaultOpen);
|
|
3098
3760
|
}, []);
|
|
3099
|
-
return /* @__PURE__ */
|
|
3761
|
+
return /* @__PURE__ */ import_react38.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
|
|
3100
3762
|
};
|
|
3101
3763
|
Tabs.displayName = "Tabs";
|
|
3102
3764
|
var TabsRoot = ({ children }) => {
|
|
3103
|
-
return /* @__PURE__ */
|
|
3765
|
+
return /* @__PURE__ */ import_react38.default.createElement(TabsProvider, null, children);
|
|
3104
3766
|
};
|
|
3105
3767
|
TabsRoot.displayName = "Tabs.Root";
|
|
3106
3768
|
var TabsTrigger = (props) => {
|
|
@@ -3116,7 +3778,7 @@ var TabsTrigger = (props) => {
|
|
|
3116
3778
|
if (applyValue) applyValue(value);
|
|
3117
3779
|
if (onClick) onClick(event);
|
|
3118
3780
|
};
|
|
3119
|
-
return /* @__PURE__ */
|
|
3781
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3120
3782
|
Button,
|
|
3121
3783
|
{
|
|
3122
3784
|
type: "button",
|
|
@@ -3144,7 +3806,7 @@ var TabsContent = (props) => {
|
|
|
3144
3806
|
trigger: getTabsId && getTabsId({ value, type: "trigger" }),
|
|
3145
3807
|
content: getTabsId && getTabsId({ value, type: "content" })
|
|
3146
3808
|
};
|
|
3147
|
-
return /* @__PURE__ */
|
|
3809
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3148
3810
|
"div",
|
|
3149
3811
|
{
|
|
3150
3812
|
tabIndex: 0,
|
|
@@ -3164,23 +3826,131 @@ Tabs.Root = TabsRoot;
|
|
|
3164
3826
|
Tabs.Trigger = TabsTrigger;
|
|
3165
3827
|
Tabs.Content = TabsContent;
|
|
3166
3828
|
|
|
3829
|
+
// src/text-area/index.tsx
|
|
3830
|
+
var import_react39 = __toESM(require("react"));
|
|
3831
|
+
|
|
3832
|
+
// src/text-area/styles/index.ts
|
|
3833
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3834
|
+
var CustomScrollbar2 = import_styled_components23.css`
|
|
3835
|
+
height: ${({ $height }) => $height ?? "100%"};
|
|
3836
|
+
width: ${({ $width }) => $width ?? "100%"};
|
|
3837
|
+
overflow-y: auto;
|
|
3838
|
+
overflow-x: hidden;
|
|
3839
|
+
|
|
3840
|
+
&::-webkit-scrollbar {
|
|
3841
|
+
cursor: pointer;
|
|
3842
|
+
|
|
3843
|
+
width: var(--measurement-medium-10);
|
|
3844
|
+
}
|
|
3845
|
+
|
|
3846
|
+
&::-webkit-scrollbar-track {
|
|
3847
|
+
background: ${({ $trackColor }) => $trackColor ?? "transparent"};
|
|
3848
|
+
border-radius: var(--measurement-medium-30);
|
|
3849
|
+
border: none;
|
|
3850
|
+
}
|
|
3851
|
+
|
|
3852
|
+
&::-webkit-scrollbar-thumb {
|
|
3853
|
+
background: ${({ $thumbColor }) => $thumbColor ?? "var(--font-color-alpha-10)"};
|
|
3854
|
+
border-radius: var(--measurement-medium-30);
|
|
3855
|
+
transition: background-color 0.2s ease;
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
3859
|
+
background: ${({ $thumbHoverColor, $thumbColor }) => $thumbHoverColor ?? $thumbColor ?? "var(--font-color-alpha-20)"};
|
|
3860
|
+
}
|
|
3861
|
+
|
|
3862
|
+
// Firefox
|
|
3863
|
+
scrollbar-width: thin;
|
|
3864
|
+
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
|
|
3865
|
+
`;
|
|
3866
|
+
var TextareaSizeStyles = import_styled_components23.css`
|
|
3867
|
+
padding: var(--measurement-medium-30);
|
|
3868
|
+
max-height: var(--measurement-large-60);
|
|
3869
|
+
|
|
3870
|
+
&[data-size="small"] {
|
|
3871
|
+
min-height: var(--measurement-large-30);
|
|
3872
|
+
}
|
|
3873
|
+
&[data-size="medium"] {
|
|
3874
|
+
min-height: var(--measurement-large-50);
|
|
3875
|
+
}
|
|
3876
|
+
&[data-size="large"] {
|
|
3877
|
+
min-height: var(--measurement-large-60);
|
|
3878
|
+
max-height: var(--measurement-large-80);
|
|
3879
|
+
}
|
|
3880
|
+
`;
|
|
3881
|
+
var TextareaResizableStyles = import_styled_components23.css`
|
|
3882
|
+
&[data-resizable="true"] {
|
|
3883
|
+
resize: vertical;
|
|
3884
|
+
}
|
|
3885
|
+
&[data-resizable="false"] {
|
|
3886
|
+
resize: none;
|
|
3887
|
+
}
|
|
3888
|
+
`;
|
|
3889
|
+
var TextAreaContainer = import_styled_components23.default.textarea`
|
|
3890
|
+
&[data-raw="false"] {
|
|
3891
|
+
${FieldDefaultStyles}
|
|
3892
|
+
${FieldShapeStyles}
|
|
3893
|
+
|
|
3894
|
+
${TextareaSizeStyles}
|
|
3895
|
+
${TextareaResizableStyles}
|
|
3896
|
+
|
|
3897
|
+
${CustomScrollbar2}
|
|
3898
|
+
${FieldVariantsStyles}
|
|
3899
|
+
}
|
|
3900
|
+
`;
|
|
3901
|
+
|
|
3902
|
+
// src/text-area/index.tsx
|
|
3903
|
+
var Textarea = (props) => {
|
|
3904
|
+
const { raw, shape, sizing, variant, resizable, onChange } = props;
|
|
3905
|
+
const textareaRef = import_react39.default.useRef(null);
|
|
3906
|
+
const adjustHeight = () => {
|
|
3907
|
+
const textarea = textareaRef.current;
|
|
3908
|
+
if (textarea) {
|
|
3909
|
+
textarea.style.height = "auto";
|
|
3910
|
+
textarea.style.height = `${Math.min(
|
|
3911
|
+
textarea.scrollHeight,
|
|
3912
|
+
parseInt(getComputedStyle(textarea).maxHeight)
|
|
3913
|
+
)}px`;
|
|
3914
|
+
}
|
|
3915
|
+
};
|
|
3916
|
+
const handleChange = (e) => {
|
|
3917
|
+
adjustHeight();
|
|
3918
|
+
onChange?.(e);
|
|
3919
|
+
};
|
|
3920
|
+
import_react39.default.useEffect(() => adjustHeight(), [props.value]);
|
|
3921
|
+
return /* @__PURE__ */ import_react39.default.createElement(
|
|
3922
|
+
TextAreaContainer,
|
|
3923
|
+
{
|
|
3924
|
+
ref: textareaRef,
|
|
3925
|
+
onChange: handleChange,
|
|
3926
|
+
"data-variant": variant ?? "secondary",
|
|
3927
|
+
"data-shape": shape ?? "smooth",
|
|
3928
|
+
"data-size": sizing ?? "medium" /* Medium */,
|
|
3929
|
+
"data-resizable": resizable,
|
|
3930
|
+
"data-raw": String(Boolean(raw)),
|
|
3931
|
+
...props
|
|
3932
|
+
}
|
|
3933
|
+
);
|
|
3934
|
+
};
|
|
3935
|
+
Textarea.displayName = "Textarea";
|
|
3936
|
+
|
|
3167
3937
|
// src/toggle/index.tsx
|
|
3168
|
-
var
|
|
3938
|
+
var import_react40 = __toESM(require("react"));
|
|
3169
3939
|
var Toggle = (props) => {
|
|
3170
3940
|
const { defaultChecked, onClick, disabled, children, ...restProps } = props;
|
|
3171
|
-
const [checked, setChecked] =
|
|
3941
|
+
const [checked, setChecked] = import_react40.default.useState(
|
|
3172
3942
|
defaultChecked ?? false
|
|
3173
3943
|
);
|
|
3174
3944
|
const handleClick = (event) => {
|
|
3175
3945
|
if (onClick) onClick(event);
|
|
3176
3946
|
if (!disabled) setChecked((prevChecked) => !prevChecked);
|
|
3177
3947
|
};
|
|
3178
|
-
|
|
3948
|
+
import_react40.default.useEffect(() => {
|
|
3179
3949
|
if (defaultChecked !== void 0) {
|
|
3180
3950
|
setChecked(Boolean(defaultChecked));
|
|
3181
3951
|
}
|
|
3182
3952
|
}, [defaultChecked]);
|
|
3183
|
-
return /* @__PURE__ */
|
|
3953
|
+
return /* @__PURE__ */ import_react40.default.createElement(
|
|
3184
3954
|
Button,
|
|
3185
3955
|
{
|
|
3186
3956
|
role: "switch",
|
|
@@ -3198,24 +3968,24 @@ var Toggle = (props) => {
|
|
|
3198
3968
|
Toggle.displayName = "Toggle";
|
|
3199
3969
|
|
|
3200
3970
|
// src/toolbar/index.tsx
|
|
3201
|
-
var
|
|
3971
|
+
var import_react42 = __toESM(require("react"));
|
|
3202
3972
|
|
|
3203
3973
|
// src/toolbar/hooks/index.tsx
|
|
3204
|
-
var
|
|
3974
|
+
var import_react41 = __toESM(require("react"));
|
|
3205
3975
|
var defaultComponentAPI8 = {
|
|
3206
3976
|
id: "",
|
|
3207
3977
|
states: {},
|
|
3208
3978
|
methods: {}
|
|
3209
3979
|
};
|
|
3210
|
-
var ToolbarContext = (0,
|
|
3211
|
-
var useToolbar = () => (0,
|
|
3980
|
+
var ToolbarContext = (0, import_react41.createContext)(defaultComponentAPI8);
|
|
3981
|
+
var useToolbar = () => (0, import_react41.useContext)(ToolbarContext);
|
|
3212
3982
|
var ToolbarProvider = ({ children }) => {
|
|
3213
3983
|
const context = useToolbarProvider();
|
|
3214
|
-
return /* @__PURE__ */
|
|
3984
|
+
return /* @__PURE__ */ import_react41.default.createElement(ToolbarContext.Provider, { value: context }, children);
|
|
3215
3985
|
};
|
|
3216
3986
|
function useToolbarProvider() {
|
|
3217
|
-
const [expanded, setExpanded] = (0,
|
|
3218
|
-
const toolbarId =
|
|
3987
|
+
const [expanded, setExpanded] = (0, import_react41.useState)(false);
|
|
3988
|
+
const toolbarId = import_react41.default.useId();
|
|
3219
3989
|
return {
|
|
3220
3990
|
id: toolbarId,
|
|
3221
3991
|
states: {
|
|
@@ -3228,8 +3998,8 @@ function useToolbarProvider() {
|
|
|
3228
3998
|
}
|
|
3229
3999
|
|
|
3230
4000
|
// src/toolbar/styles/index.ts
|
|
3231
|
-
var
|
|
3232
|
-
var ToolbarDefaultStyles =
|
|
4001
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
4002
|
+
var ToolbarDefaultStyles = import_styled_components24.css`
|
|
3233
4003
|
margin: 0;
|
|
3234
4004
|
display: grid;
|
|
3235
4005
|
grid-template-rows: min-content;
|
|
@@ -3263,7 +4033,7 @@ var ToolbarDefaultStyles = import_styled_components17.css`
|
|
|
3263
4033
|
}
|
|
3264
4034
|
}
|
|
3265
4035
|
`;
|
|
3266
|
-
var ToolbarSizeStyles =
|
|
4036
|
+
var ToolbarSizeStyles = import_styled_components24.css`
|
|
3267
4037
|
&[data-size="small"] {
|
|
3268
4038
|
&[aria-orientation="vertical"] {
|
|
3269
4039
|
max-width: var(--measurement-large-70);
|
|
@@ -3309,7 +4079,7 @@ var ToolbarSizeStyles = import_styled_components17.css`
|
|
|
3309
4079
|
}
|
|
3310
4080
|
}
|
|
3311
4081
|
`;
|
|
3312
|
-
var ToolbarSideStyles =
|
|
4082
|
+
var ToolbarSideStyles = import_styled_components24.css`
|
|
3313
4083
|
&[data-side="top"] {
|
|
3314
4084
|
border-bottom-color: var(--font-color-alpha-10);
|
|
3315
4085
|
}
|
|
@@ -3341,7 +4111,7 @@ var ToolbarSideStyles = import_styled_components17.css`
|
|
|
3341
4111
|
}
|
|
3342
4112
|
}
|
|
3343
4113
|
`;
|
|
3344
|
-
var ToolbarWrapper =
|
|
4114
|
+
var ToolbarWrapper = import_styled_components24.default.menu`
|
|
3345
4115
|
&[data-raw="false"] {
|
|
3346
4116
|
${ToolbarDefaultStyles}
|
|
3347
4117
|
${ToolbarSizeStyles}
|
|
@@ -3349,7 +4119,7 @@ var ToolbarWrapper = import_styled_components17.default.menu`
|
|
|
3349
4119
|
${ToolbarSideStyles}
|
|
3350
4120
|
}
|
|
3351
4121
|
`;
|
|
3352
|
-
var ToolbarTriggerWrapper =
|
|
4122
|
+
var ToolbarTriggerWrapper = import_styled_components24.default.menu`
|
|
3353
4123
|
&[data-raw="false"] {
|
|
3354
4124
|
all: unset;
|
|
3355
4125
|
align-self: flex-end;
|
|
@@ -3374,13 +4144,13 @@ var Toolbar = (props) => {
|
|
|
3374
4144
|
const { toggleToolbar } = methods;
|
|
3375
4145
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
3376
4146
|
const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
|
|
3377
|
-
|
|
4147
|
+
import_react42.default.useEffect(() => {
|
|
3378
4148
|
if (defaultOpen && toggleToolbar) return toggleToolbar(true);
|
|
3379
4149
|
}, [defaultOpen]);
|
|
3380
|
-
|
|
4150
|
+
import_react42.default.useEffect(() => {
|
|
3381
4151
|
if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
|
|
3382
4152
|
}, [shortcutControls]);
|
|
3383
|
-
return /* @__PURE__ */
|
|
4153
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3384
4154
|
ToolbarWrapper,
|
|
3385
4155
|
{
|
|
3386
4156
|
id,
|
|
@@ -3400,7 +4170,7 @@ var Toolbar = (props) => {
|
|
|
3400
4170
|
};
|
|
3401
4171
|
Toolbar.displayName = "Toolbar";
|
|
3402
4172
|
var ToolbarRoot = ({ children }) => {
|
|
3403
|
-
return /* @__PURE__ */
|
|
4173
|
+
return /* @__PURE__ */ import_react42.default.createElement(ToolbarProvider, null, children);
|
|
3404
4174
|
};
|
|
3405
4175
|
ToolbarRoot.displayName = "Toolbar.Root";
|
|
3406
4176
|
var ToolbarTrigger = (props) => {
|
|
@@ -3418,7 +4188,7 @@ var ToolbarTrigger = (props) => {
|
|
|
3418
4188
|
if (onClick) onClick(event);
|
|
3419
4189
|
if (toggleToolbar) toggleToolbar(!states.expanded);
|
|
3420
4190
|
};
|
|
3421
|
-
return /* @__PURE__ */
|
|
4191
|
+
return /* @__PURE__ */ import_react42.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react42.default.createElement(
|
|
3422
4192
|
Button,
|
|
3423
4193
|
{
|
|
3424
4194
|
id: `${id}-trigger`,
|
|
@@ -3436,13 +4206,13 @@ var ToolbarSection = (props) => {
|
|
|
3436
4206
|
const { showoncollapse, children, ...restProps } = props;
|
|
3437
4207
|
const { states } = useToolbar();
|
|
3438
4208
|
const { expanded } = states;
|
|
3439
|
-
if (showoncollapse) return /* @__PURE__ */
|
|
3440
|
-
return /* @__PURE__ */
|
|
4209
|
+
if (showoncollapse) return /* @__PURE__ */ import_react42.default.createElement("section", { ...restProps }, children);
|
|
4210
|
+
return /* @__PURE__ */ import_react42.default.createElement("section", { ...restProps }, expanded && children);
|
|
3441
4211
|
};
|
|
3442
4212
|
ToolbarSection.displayName = "Toolbar.Section";
|
|
3443
4213
|
var ToolbarItem = (props) => {
|
|
3444
4214
|
const { showfirstchild, onClick, children, ...restProps } = props;
|
|
3445
|
-
const childArray =
|
|
4215
|
+
const childArray = import_react42.default.Children.toArray(children);
|
|
3446
4216
|
const { id, states, methods } = useToolbar();
|
|
3447
4217
|
const { expanded } = states;
|
|
3448
4218
|
const { toggleToolbar } = methods;
|
|
@@ -3451,7 +4221,7 @@ var ToolbarItem = (props) => {
|
|
|
3451
4221
|
if (onClick) onClick(event);
|
|
3452
4222
|
if (toggleToolbar && !expanded) toggleToolbar(true);
|
|
3453
4223
|
};
|
|
3454
|
-
return /* @__PURE__ */
|
|
4224
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3455
4225
|
"div",
|
|
3456
4226
|
{
|
|
3457
4227
|
tabIndex: -1,
|
|
@@ -3472,11 +4242,11 @@ Toolbar.Item = ToolbarItem;
|
|
|
3472
4242
|
Toolbar.Section = ToolbarSection;
|
|
3473
4243
|
|
|
3474
4244
|
// src/tooltip/index.tsx
|
|
3475
|
-
var
|
|
4245
|
+
var import_react43 = __toESM(require("react"));
|
|
3476
4246
|
|
|
3477
4247
|
// src/tooltip/styles/index.ts
|
|
3478
|
-
var
|
|
3479
|
-
var FadeIn2 =
|
|
4248
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
4249
|
+
var FadeIn2 = import_styled_components25.keyframes`
|
|
3480
4250
|
0% {
|
|
3481
4251
|
opacity: 0;
|
|
3482
4252
|
}
|
|
@@ -3484,11 +4254,11 @@ var FadeIn2 = import_styled_components18.keyframes`
|
|
|
3484
4254
|
opacity: 1;
|
|
3485
4255
|
}
|
|
3486
4256
|
`;
|
|
3487
|
-
var ContentBox =
|
|
4257
|
+
var ContentBox = import_styled_components25.default.div`
|
|
3488
4258
|
display: inline-block;
|
|
3489
4259
|
position: relative;
|
|
3490
4260
|
`;
|
|
3491
|
-
var ContentWrapper2 =
|
|
4261
|
+
var ContentWrapper2 = import_styled_components25.default.span`
|
|
3492
4262
|
&[data-raw="false"] {
|
|
3493
4263
|
width: fit-content;
|
|
3494
4264
|
max-width: var(--measurement-large-60);
|
|
@@ -3519,19 +4289,20 @@ var Tooltip = ({
|
|
|
3519
4289
|
children,
|
|
3520
4290
|
...restProps
|
|
3521
4291
|
}) => {
|
|
3522
|
-
const [visible, setVisible] =
|
|
3523
|
-
const [triggerProps, setTriggerProps] =
|
|
3524
|
-
const [contentProps, setContentProps] =
|
|
3525
|
-
const mounted =
|
|
3526
|
-
const containerRef =
|
|
3527
|
-
const contentRef =
|
|
3528
|
-
const timeoutRef =
|
|
4292
|
+
const [visible, setVisible] = import_react43.default.useState(false);
|
|
4293
|
+
const [triggerProps, setTriggerProps] = import_react43.default.useState(null);
|
|
4294
|
+
const [contentProps, setContentProps] = import_react43.default.useState(null);
|
|
4295
|
+
const mounted = import_react43.default.useRef(false);
|
|
4296
|
+
const containerRef = import_react43.default.useRef(null);
|
|
4297
|
+
const contentRef = import_react43.default.useRef(null);
|
|
4298
|
+
const timeoutRef = import_react43.default.useRef(null);
|
|
3529
4299
|
const contentRect = () => contentRef?.current?.getBoundingClientRect();
|
|
3530
|
-
const bodyRect =
|
|
4300
|
+
const bodyRect = () => {
|
|
3531
4301
|
if (typeof document !== "undefined") {
|
|
3532
|
-
return document
|
|
4302
|
+
return document?.body?.getBoundingClientRect();
|
|
3533
4303
|
}
|
|
3534
|
-
|
|
4304
|
+
return void 0;
|
|
4305
|
+
};
|
|
3535
4306
|
const positions = {
|
|
3536
4307
|
btt: `calc((${triggerProps?.top}px - ${contentProps?.height}px) - (var(--measurement-medium-10)))`,
|
|
3537
4308
|
ttb: `calc((${triggerProps?.top}px + ${triggerProps?.height}px) + var(--measurement-medium-10))`,
|
|
@@ -3548,14 +4319,14 @@ var Tooltip = ({
|
|
|
3548
4319
|
};
|
|
3549
4320
|
const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
|
|
3550
4321
|
const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
|
|
3551
|
-
const showTooltip =
|
|
4322
|
+
const showTooltip = import_react43.default.useCallback(() => {
|
|
3552
4323
|
timeoutRef.current = setTimeout(() => setVisible(true), delay);
|
|
3553
4324
|
}, [delay]);
|
|
3554
|
-
const hideTooltip =
|
|
4325
|
+
const hideTooltip = import_react43.default.useCallback(() => {
|
|
3555
4326
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
3556
4327
|
setVisible(false);
|
|
3557
4328
|
}, []);
|
|
3558
|
-
const handleMouseEnter =
|
|
4329
|
+
const handleMouseEnter = import_react43.default.useCallback(() => {
|
|
3559
4330
|
const rect = containerRef.current?.getBoundingClientRect();
|
|
3560
4331
|
if (rect) {
|
|
3561
4332
|
setTriggerProps({
|
|
@@ -3569,11 +4340,11 @@ var Tooltip = ({
|
|
|
3569
4340
|
showTooltip();
|
|
3570
4341
|
}
|
|
3571
4342
|
}, [showTooltip]);
|
|
3572
|
-
const handleMouseLeave =
|
|
4343
|
+
const handleMouseLeave = import_react43.default.useCallback(
|
|
3573
4344
|
() => hideTooltip(),
|
|
3574
4345
|
[hideTooltip]
|
|
3575
4346
|
);
|
|
3576
|
-
|
|
4347
|
+
import_react43.default.useEffect(() => {
|
|
3577
4348
|
mounted.current = true;
|
|
3578
4349
|
setContentProps && setContentProps({
|
|
3579
4350
|
top: Number(contentRect()?.top),
|
|
@@ -3587,7 +4358,7 @@ var Tooltip = ({
|
|
|
3587
4358
|
mounted.current = false;
|
|
3588
4359
|
};
|
|
3589
4360
|
}, [visible]);
|
|
3590
|
-
return /* @__PURE__ */
|
|
4361
|
+
return /* @__PURE__ */ import_react43.default.createElement(
|
|
3591
4362
|
ContentBox,
|
|
3592
4363
|
{
|
|
3593
4364
|
ref: containerRef,
|
|
@@ -3597,7 +4368,7 @@ var Tooltip = ({
|
|
|
3597
4368
|
...restProps
|
|
3598
4369
|
},
|
|
3599
4370
|
children,
|
|
3600
|
-
visible && /* @__PURE__ */
|
|
4371
|
+
visible && /* @__PURE__ */ import_react43.default.createElement(
|
|
3601
4372
|
ContentWrapper2,
|
|
3602
4373
|
{
|
|
3603
4374
|
ref: contentRef,
|
|
@@ -3612,7 +4383,7 @@ var Tooltip = ({
|
|
|
3612
4383
|
"data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
|
|
3613
4384
|
"data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
|
|
3614
4385
|
},
|
|
3615
|
-
/* @__PURE__ */
|
|
4386
|
+
/* @__PURE__ */ import_react43.default.createElement("div", null, content)
|
|
3616
4387
|
)
|
|
3617
4388
|
);
|
|
3618
4389
|
};
|
|
@@ -3626,7 +4397,14 @@ Tooltip.displayName = "Tooltip";
|
|
|
3626
4397
|
AvataStatusEnum,
|
|
3627
4398
|
Avatar,
|
|
3628
4399
|
Badge,
|
|
4400
|
+
Breadcrumb,
|
|
4401
|
+
BreadcrumbItem,
|
|
4402
|
+
BreadcrumbSeparator,
|
|
3629
4403
|
Button,
|
|
4404
|
+
Card,
|
|
4405
|
+
CardBody,
|
|
4406
|
+
CardGrid,
|
|
4407
|
+
CardMeta,
|
|
3630
4408
|
Checkbox,
|
|
3631
4409
|
CheckboxIndicator,
|
|
3632
4410
|
CheckboxRoot,
|
|
@@ -3634,6 +4412,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
3634
4412
|
CollapsibleContent,
|
|
3635
4413
|
CollapsibleRoot,
|
|
3636
4414
|
CollapsibleTrigger,
|
|
4415
|
+
CopyButton,
|
|
3637
4416
|
Dialog,
|
|
3638
4417
|
DialogControl,
|
|
3639
4418
|
DialogMenu,
|
|
@@ -3663,10 +4442,14 @@ Tooltip.displayName = "Tooltip";
|
|
|
3663
4442
|
PageTools,
|
|
3664
4443
|
PageWrapper,
|
|
3665
4444
|
Portal,
|
|
4445
|
+
PrivacyField,
|
|
4446
|
+
Resizable,
|
|
3666
4447
|
ScrollArea,
|
|
3667
4448
|
Sheet,
|
|
3668
4449
|
SheetRoot,
|
|
3669
4450
|
SheetTrigger,
|
|
4451
|
+
Skeleton,
|
|
4452
|
+
Spinner,
|
|
3670
4453
|
Switch,
|
|
3671
4454
|
SwitchRoot,
|
|
3672
4455
|
SwitchThumb,
|
|
@@ -3681,6 +4464,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
3681
4464
|
TabsContent,
|
|
3682
4465
|
TabsRoot,
|
|
3683
4466
|
TabsTrigger,
|
|
4467
|
+
Textarea,
|
|
3684
4468
|
Toggle,
|
|
3685
4469
|
Toolbar,
|
|
3686
4470
|
ToolbarItem,
|