@usefui/components 1.5.1 → 1.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/index.d.mts +230 -9
- package/dist/index.d.ts +230 -9
- package/dist/index.js +1131 -309
- package/dist/index.mjs +1085 -276
- 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 +37 -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 +27 -0
- package/src/text-area/index.tsx +62 -0
- package/src/text-area/styles/index.ts +124 -0
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,22 @@ 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;
|
|
1753
2102
|
|
|
1754
|
-
font-size: var(--fontsize-
|
|
1755
|
-
|
|
2103
|
+
font-size: var(--fontsize-medium-20);
|
|
2104
|
+
|
|
1756
2105
|
line-height: 1.1;
|
|
1757
2106
|
letter-spacing: calc(
|
|
1758
2107
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
1759
2108
|
);
|
|
1760
2109
|
|
|
1761
2110
|
border: var(--measurement-small-10) solid transparent;
|
|
1762
|
-
border-radius: var(--measurement-medium-30);
|
|
1763
2111
|
backdrop-filter: blur(var(--measurement-small-10));
|
|
1764
2112
|
color: var(--font-color-alpha-60);
|
|
1765
2113
|
width: fit-content;
|
|
@@ -1777,29 +2125,37 @@ var FieldDefaultStyles = import_styled_components8.css`
|
|
|
1777
2125
|
&:focus,
|
|
1778
2126
|
&:active {
|
|
1779
2127
|
color: var(--font-color);
|
|
1780
|
-
|
|
1781
2128
|
svg,
|
|
1782
2129
|
span,
|
|
1783
2130
|
img {
|
|
1784
2131
|
opacity: 1;
|
|
1785
2132
|
}
|
|
1786
2133
|
}
|
|
2134
|
+
|
|
1787
2135
|
&::placeholder {
|
|
1788
2136
|
color: var(--font-color-alpha-30);
|
|
1789
2137
|
}
|
|
2138
|
+
|
|
1790
2139
|
&:disabled {
|
|
1791
2140
|
cursor: not-allowed;
|
|
1792
2141
|
opacity: 0.6;
|
|
1793
2142
|
}
|
|
1794
2143
|
`;
|
|
1795
|
-
var FieldVariantsStyles =
|
|
2144
|
+
var FieldVariantsStyles = import_styled_components10.css`
|
|
1796
2145
|
&[data-variant="primary"] {
|
|
1797
2146
|
background-color: var(--font-color-alpha-10);
|
|
2147
|
+
border-color: var(--font-color-alpha-10);
|
|
2148
|
+
|
|
2149
|
+
&:focus,
|
|
2150
|
+
&:active {
|
|
2151
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
|
|
2152
|
+
}
|
|
1798
2153
|
|
|
1799
2154
|
&[data-error="true"] {
|
|
1800
2155
|
color: var(--color-red);
|
|
1801
2156
|
background-color: var(--alpha-red-10);
|
|
1802
2157
|
border-color: var(--alpha-red-10);
|
|
2158
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
|
|
1803
2159
|
}
|
|
1804
2160
|
}
|
|
1805
2161
|
|
|
@@ -1810,7 +2166,12 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1810
2166
|
&:hover,
|
|
1811
2167
|
&:focus,
|
|
1812
2168
|
&:active {
|
|
1813
|
-
|
|
2169
|
+
border-color: var(--font-color-alpha-20);
|
|
2170
|
+
}
|
|
2171
|
+
|
|
2172
|
+
&:focus,
|
|
2173
|
+
&:active {
|
|
2174
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--font-color-alpha-10);
|
|
1814
2175
|
}
|
|
1815
2176
|
|
|
1816
2177
|
&[data-error="true"] {
|
|
@@ -1821,6 +2182,7 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1821
2182
|
&:focus,
|
|
1822
2183
|
&:active {
|
|
1823
2184
|
background-color: var(--alpha-red-10);
|
|
2185
|
+
box-shadow: 0 0 0 var(--measurement-small-30) var(--alpha-red-10);
|
|
1824
2186
|
}
|
|
1825
2187
|
}
|
|
1826
2188
|
}
|
|
@@ -1844,39 +2206,51 @@ var FieldVariantsStyles = import_styled_components8.css`
|
|
|
1844
2206
|
}
|
|
1845
2207
|
}
|
|
1846
2208
|
`;
|
|
1847
|
-
var FieldSizeStyles =
|
|
2209
|
+
var FieldSizeStyles = import_styled_components10.css`
|
|
1848
2210
|
&[data-size="small"] {
|
|
1849
|
-
|
|
2211
|
+
font-size: var(--fontsize-small-60);
|
|
2212
|
+
|
|
1850
2213
|
padding: 0 var(--measurement-medium-30);
|
|
1851
2214
|
min-width: var(--measurement-medium-60);
|
|
1852
2215
|
min-height: var(--measurement-medium-80);
|
|
1853
2216
|
}
|
|
1854
2217
|
&[data-size="medium"] {
|
|
1855
|
-
gap: var(--measurement-medium-30);
|
|
1856
2218
|
padding: 0 var(--measurement-medium-30);
|
|
1857
2219
|
min-width: var(--measurement-medium-90);
|
|
1858
2220
|
min-height: var(--measurement-medium-90);
|
|
1859
2221
|
width: fit-content;
|
|
1860
2222
|
}
|
|
1861
2223
|
&[data-size="large"] {
|
|
1862
|
-
padding: var(--measurement-medium-
|
|
2224
|
+
padding: var(--measurement-medium-50);
|
|
1863
2225
|
min-width: var(--measurement-medium-90);
|
|
1864
2226
|
min-height: var(--measurement-medium-90);
|
|
1865
2227
|
}
|
|
1866
2228
|
`;
|
|
1867
|
-
var
|
|
2229
|
+
var FieldShapeStyles = import_styled_components10.css`
|
|
2230
|
+
&[data-shape="square"] {
|
|
2231
|
+
border-radius: 0;
|
|
2232
|
+
}
|
|
2233
|
+
&[data-shape="smooth"] {
|
|
2234
|
+
border-radius: var(--measurement-medium-20);
|
|
2235
|
+
}
|
|
2236
|
+
&[data-shape="round"] {
|
|
2237
|
+
border-radius: var(--measurement-large-90);
|
|
2238
|
+
}
|
|
2239
|
+
`;
|
|
2240
|
+
var Fieldset = import_styled_components10.default.fieldset`
|
|
1868
2241
|
all: unset;
|
|
1869
2242
|
display: grid;
|
|
1870
2243
|
gap: var(--measurement-medium-10);
|
|
1871
2244
|
`;
|
|
1872
|
-
var Sup =
|
|
2245
|
+
var Sup = import_styled_components10.default.sup`
|
|
1873
2246
|
color: var(--color-red);
|
|
1874
2247
|
`;
|
|
1875
|
-
var Input =
|
|
2248
|
+
var Input = import_styled_components10.default.input`
|
|
1876
2249
|
&[data-raw="false"] {
|
|
1877
2250
|
${FieldDefaultStyles}
|
|
1878
2251
|
${FieldVariantsStyles}
|
|
1879
2252
|
${FieldSizeStyles}
|
|
2253
|
+
${FieldShapeStyles}
|
|
1880
2254
|
|
|
1881
2255
|
&[data-error="true"] {
|
|
1882
2256
|
&::placeholder {
|
|
@@ -1885,7 +2259,7 @@ var Input = import_styled_components8.default.input`
|
|
|
1885
2259
|
}
|
|
1886
2260
|
}
|
|
1887
2261
|
`;
|
|
1888
|
-
var Label =
|
|
2262
|
+
var Label = import_styled_components10.default.label`
|
|
1889
2263
|
&[data-raw="false"] {
|
|
1890
2264
|
font-weight: 500;
|
|
1891
2265
|
line-height: 1.1;
|
|
@@ -1894,7 +2268,7 @@ var Label = import_styled_components8.default.label`
|
|
|
1894
2268
|
);
|
|
1895
2269
|
}
|
|
1896
2270
|
`;
|
|
1897
|
-
var Def =
|
|
2271
|
+
var Def = import_styled_components10.default.dfn`
|
|
1898
2272
|
&[data-raw="false"] {
|
|
1899
2273
|
font-style: normal;
|
|
1900
2274
|
font-size: var(--fontsize-medium-10);
|
|
@@ -1921,13 +2295,14 @@ var Field = (props) => {
|
|
|
1921
2295
|
raw,
|
|
1922
2296
|
sizing = "medium" /* Medium */,
|
|
1923
2297
|
variant = "primary" /* Primary */,
|
|
2298
|
+
shape = "smooth",
|
|
1924
2299
|
error,
|
|
1925
2300
|
hint,
|
|
1926
2301
|
...restProps
|
|
1927
2302
|
} = props;
|
|
1928
|
-
const metaId =
|
|
2303
|
+
const metaId = import_react21.default.useId();
|
|
1929
2304
|
const { id } = useField();
|
|
1930
|
-
return /* @__PURE__ */
|
|
2305
|
+
return /* @__PURE__ */ import_react21.default.createElement(import_react21.default.Fragment, null, /* @__PURE__ */ import_react21.default.createElement(
|
|
1931
2306
|
Input,
|
|
1932
2307
|
{
|
|
1933
2308
|
id,
|
|
@@ -1937,10 +2312,11 @@ var Field = (props) => {
|
|
|
1937
2312
|
"data-error": Boolean(error),
|
|
1938
2313
|
"data-variant": variant,
|
|
1939
2314
|
"data-size": sizing,
|
|
2315
|
+
"data-shape": shape,
|
|
1940
2316
|
"data-raw": Boolean(raw),
|
|
1941
2317
|
...restProps
|
|
1942
2318
|
}
|
|
1943
|
-
), (error ?? hint) && /* @__PURE__ */
|
|
2319
|
+
), (error ?? hint) && /* @__PURE__ */ import_react21.default.createElement(
|
|
1944
2320
|
FieldMeta,
|
|
1945
2321
|
{
|
|
1946
2322
|
raw,
|
|
@@ -1951,20 +2327,20 @@ var Field = (props) => {
|
|
|
1951
2327
|
};
|
|
1952
2328
|
Field.displayName = "Field";
|
|
1953
2329
|
var FieldRoot = ({ children }) => {
|
|
1954
|
-
return /* @__PURE__ */
|
|
2330
|
+
return /* @__PURE__ */ import_react21.default.createElement(FieldProvider, null, children);
|
|
1955
2331
|
};
|
|
1956
2332
|
FieldRoot.displayName = "Field.Root";
|
|
1957
2333
|
var FieldWrapper = ({
|
|
1958
2334
|
children,
|
|
1959
2335
|
...restProps
|
|
1960
2336
|
}) => {
|
|
1961
|
-
return /* @__PURE__ */
|
|
2337
|
+
return /* @__PURE__ */ import_react21.default.createElement(Fieldset, { ...restProps }, children);
|
|
1962
2338
|
};
|
|
1963
2339
|
FieldWrapper.displayName = "Field.Wrapper";
|
|
1964
2340
|
var FieldLabel = (props) => {
|
|
1965
2341
|
const { raw, optional = false, children, ...restProps } = props;
|
|
1966
2342
|
const { id } = useField();
|
|
1967
|
-
return /* @__PURE__ */
|
|
2343
|
+
return /* @__PURE__ */ import_react21.default.createElement(Label, { htmlFor: id, "data-raw": Boolean(raw), ...restProps }, children, !optional && /* @__PURE__ */ import_react21.default.createElement(Sup, null, "*"));
|
|
1968
2344
|
};
|
|
1969
2345
|
FieldLabel.displayName = "Field.Label";
|
|
1970
2346
|
var FieldMeta = (props) => {
|
|
@@ -1974,9 +2350,9 @@ var FieldMeta = (props) => {
|
|
|
1974
2350
|
children,
|
|
1975
2351
|
...restProps
|
|
1976
2352
|
} = props;
|
|
1977
|
-
const metaId =
|
|
2353
|
+
const metaId = import_react21.default.useId();
|
|
1978
2354
|
const { id } = useField();
|
|
1979
|
-
return /* @__PURE__ */
|
|
2355
|
+
return /* @__PURE__ */ import_react21.default.createElement(
|
|
1980
2356
|
Def,
|
|
1981
2357
|
{
|
|
1982
2358
|
id: metaId,
|
|
@@ -1995,22 +2371,22 @@ Field.Label = FieldLabel;
|
|
|
1995
2371
|
Field.Meta = FieldMeta;
|
|
1996
2372
|
|
|
1997
2373
|
// src/otp-field/index.tsx
|
|
1998
|
-
var
|
|
2374
|
+
var import_react23 = __toESM(require("react"));
|
|
1999
2375
|
|
|
2000
2376
|
// src/otp-field/hooks/index.tsx
|
|
2001
|
-
var
|
|
2002
|
-
var OTPFieldContext =
|
|
2377
|
+
var import_react22 = __toESM(require("react"));
|
|
2378
|
+
var OTPFieldContext = import_react22.default.createContext(
|
|
2003
2379
|
null
|
|
2004
2380
|
);
|
|
2005
2381
|
var useOTPField = () => {
|
|
2006
|
-
const context =
|
|
2382
|
+
const context = import_react22.default.useContext(OTPFieldContext);
|
|
2007
2383
|
if (!context) return null;
|
|
2008
2384
|
return context;
|
|
2009
2385
|
};
|
|
2010
2386
|
|
|
2011
2387
|
// src/otp-field/styles/index.ts
|
|
2012
|
-
var
|
|
2013
|
-
var OTPCell =
|
|
2388
|
+
var import_styled_components11 = __toESM(require("styled-components"));
|
|
2389
|
+
var OTPCell = import_styled_components11.default.input`
|
|
2014
2390
|
width: var(--measurement-medium-90);
|
|
2015
2391
|
height: var(--measurement-medium-90);
|
|
2016
2392
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
@@ -2045,11 +2421,11 @@ var OTPCell = import_styled_components9.default.input`
|
|
|
2045
2421
|
// src/otp-field/index.tsx
|
|
2046
2422
|
var OTPField = ({ children, length, onComplete }) => {
|
|
2047
2423
|
const defaultLength = length ?? 6;
|
|
2048
|
-
const inputRefs =
|
|
2049
|
-
const [otp, setOtp] =
|
|
2424
|
+
const inputRefs = import_react23.default.useRef([]);
|
|
2425
|
+
const [otp, setOtp] = import_react23.default.useState(
|
|
2050
2426
|
Array.from({ length: defaultLength }, () => "")
|
|
2051
2427
|
);
|
|
2052
|
-
const [activeIndex, setActiveIndex] =
|
|
2428
|
+
const [activeIndex, setActiveIndex] = import_react23.default.useState(0);
|
|
2053
2429
|
const handleChange = (index, value) => {
|
|
2054
2430
|
const newOtp = [...otp];
|
|
2055
2431
|
newOtp[index] = value.substring(value.length - 1);
|
|
@@ -2110,13 +2486,13 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2110
2486
|
);
|
|
2111
2487
|
return () => clearTimeout(timeout);
|
|
2112
2488
|
};
|
|
2113
|
-
|
|
2489
|
+
import_react23.default.useEffect(() => {
|
|
2114
2490
|
const otpString = otp.join("");
|
|
2115
2491
|
if (otpString.length === defaultLength && onComplete) {
|
|
2116
2492
|
onComplete(otpString);
|
|
2117
2493
|
}
|
|
2118
2494
|
}, [otp, defaultLength, onComplete]);
|
|
2119
|
-
const contextValue =
|
|
2495
|
+
const contextValue = import_react23.default.useMemo(() => {
|
|
2120
2496
|
return {
|
|
2121
2497
|
otp,
|
|
2122
2498
|
activeIndex,
|
|
@@ -2139,11 +2515,11 @@ var OTPField = ({ children, length, onComplete }) => {
|
|
|
2139
2515
|
handleClick,
|
|
2140
2516
|
handlePaste
|
|
2141
2517
|
]);
|
|
2142
|
-
return /* @__PURE__ */
|
|
2518
|
+
return /* @__PURE__ */ import_react23.default.createElement(OTPFieldContext.Provider, { value: contextValue }, children);
|
|
2143
2519
|
};
|
|
2144
2520
|
OTPField.displayName = "OTPField";
|
|
2145
|
-
var OTPFieldGroup =
|
|
2146
|
-
return /* @__PURE__ */
|
|
2521
|
+
var OTPFieldGroup = import_react23.default.forwardRef(({ ...props }, ref) => {
|
|
2522
|
+
return /* @__PURE__ */ import_react23.default.createElement("span", { ref, className: "flex g-medium-10 align-center", ...props });
|
|
2147
2523
|
});
|
|
2148
2524
|
OTPFieldGroup.displayName = "OTPField.Group";
|
|
2149
2525
|
var OTPFieldSlot = ({
|
|
@@ -2162,7 +2538,7 @@ var OTPFieldSlot = ({
|
|
|
2162
2538
|
handleClick,
|
|
2163
2539
|
handlePaste
|
|
2164
2540
|
} = context;
|
|
2165
|
-
return /* @__PURE__ */
|
|
2541
|
+
return /* @__PURE__ */ import_react23.default.createElement(
|
|
2166
2542
|
OTPCell,
|
|
2167
2543
|
{
|
|
2168
2544
|
ref: (el) => inputRefs.current[index] = el,
|
|
@@ -2188,11 +2564,11 @@ OTPField.Group = OTPFieldGroup;
|
|
|
2188
2564
|
OTPField.Slot = OTPFieldSlot;
|
|
2189
2565
|
|
|
2190
2566
|
// src/overlay/index.tsx
|
|
2191
|
-
var
|
|
2567
|
+
var import_react24 = __toESM(require("react"));
|
|
2192
2568
|
|
|
2193
2569
|
// src/overlay/styles/index.ts
|
|
2194
|
-
var
|
|
2195
|
-
var OverlayWrapper =
|
|
2570
|
+
var import_styled_components12 = __toESM(require("styled-components"));
|
|
2571
|
+
var OverlayWrapper = import_styled_components12.default.div`
|
|
2196
2572
|
@keyframes animate-fade {
|
|
2197
2573
|
0% {
|
|
2198
2574
|
opacity: 0;
|
|
@@ -2220,15 +2596,15 @@ var OverlayWrapper = import_styled_components10.default.div`
|
|
|
2220
2596
|
// src/overlay/index.tsx
|
|
2221
2597
|
var Overlay = (props) => {
|
|
2222
2598
|
const { raw, visible, closeOnInteract, onClick, ...restProps } = props;
|
|
2223
|
-
const [mounted, setMounted] =
|
|
2599
|
+
const [mounted, setMounted] = import_react24.default.useState(Boolean(visible));
|
|
2224
2600
|
const handleClick = (event) => {
|
|
2225
2601
|
if (onClick) onClick(event);
|
|
2226
2602
|
if (closeOnInteract) setMounted(false);
|
|
2227
2603
|
};
|
|
2228
|
-
|
|
2604
|
+
import_react24.default.useEffect(() => {
|
|
2229
2605
|
if (visible !== mounted) setMounted(Boolean(visible));
|
|
2230
2606
|
}, [visible]);
|
|
2231
|
-
return /* @__PURE__ */
|
|
2607
|
+
return /* @__PURE__ */ import_react24.default.createElement(import_react24.default.Fragment, null, mounted && /* @__PURE__ */ import_react24.default.createElement(
|
|
2232
2608
|
OverlayWrapper,
|
|
2233
2609
|
{
|
|
2234
2610
|
tabIndex: -1,
|
|
@@ -2242,14 +2618,14 @@ var Overlay = (props) => {
|
|
|
2242
2618
|
Overlay.displayName = "Overlay";
|
|
2243
2619
|
|
|
2244
2620
|
// src/page/index.tsx
|
|
2245
|
-
var
|
|
2621
|
+
var import_react25 = __toESM(require("react"));
|
|
2246
2622
|
|
|
2247
2623
|
// src/page/styles/index.ts
|
|
2248
|
-
var
|
|
2624
|
+
var import_styled_components14 = __toESM(require("styled-components"));
|
|
2249
2625
|
|
|
2250
2626
|
// src/scrollarea/styles/index.ts
|
|
2251
|
-
var
|
|
2252
|
-
var HiddenScrollbar =
|
|
2627
|
+
var import_styled_components13 = __toESM(require("styled-components"));
|
|
2628
|
+
var HiddenScrollbar = import_styled_components13.css`
|
|
2253
2629
|
scrollbar-width: none;
|
|
2254
2630
|
|
|
2255
2631
|
&::-webkit-scrollbar {
|
|
@@ -2261,7 +2637,7 @@ var HiddenScrollbar = import_styled_components11.css`
|
|
|
2261
2637
|
display: none;
|
|
2262
2638
|
}
|
|
2263
2639
|
`;
|
|
2264
|
-
var CustomScrollbar =
|
|
2640
|
+
var CustomScrollbar = import_styled_components13.css`
|
|
2265
2641
|
height: ${({ $height }) => $height || "100%"};
|
|
2266
2642
|
width: ${({ $width }) => $width || "100%"};
|
|
2267
2643
|
overflow-y: auto;
|
|
@@ -2293,7 +2669,7 @@ var CustomScrollbar = import_styled_components11.css`
|
|
|
2293
2669
|
scrollbar-width: thin;
|
|
2294
2670
|
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor || "var(--font-color-alpha-10)"} ${$trackColor || "transparent"}`};
|
|
2295
2671
|
`;
|
|
2296
|
-
var ScrollAreaWrapper =
|
|
2672
|
+
var ScrollAreaWrapper = import_styled_components13.default.div`
|
|
2297
2673
|
overflow: scroll;
|
|
2298
2674
|
|
|
2299
2675
|
&[data-scrollbar="true"] {
|
|
@@ -2305,11 +2681,11 @@ var ScrollAreaWrapper = import_styled_components11.default.div`
|
|
|
2305
2681
|
`;
|
|
2306
2682
|
|
|
2307
2683
|
// src/page/styles/index.ts
|
|
2308
|
-
var PageRootWrapper =
|
|
2684
|
+
var PageRootWrapper = import_styled_components14.default.div`
|
|
2309
2685
|
height: 100dvh;
|
|
2310
2686
|
width: 100%;
|
|
2311
2687
|
`;
|
|
2312
|
-
var PageNavWrapper =
|
|
2688
|
+
var PageNavWrapper = import_styled_components14.default.nav`
|
|
2313
2689
|
background-color: var(--body-color);
|
|
2314
2690
|
border: var(--measurement-small-10) solid transparent;
|
|
2315
2691
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2318,7 +2694,7 @@ var PageNavWrapper = import_styled_components12.default.nav`
|
|
|
2318
2694
|
max-height: var(--measurement-large-20);
|
|
2319
2695
|
padding: var(--measurement-medium-30);
|
|
2320
2696
|
`;
|
|
2321
|
-
var PageMenuWrapper =
|
|
2697
|
+
var PageMenuWrapper = import_styled_components14.default.menu`
|
|
2322
2698
|
background-color: var(--body-color);
|
|
2323
2699
|
border: var(--measurement-small-10) solid transparent;
|
|
2324
2700
|
border-bottom-color: var(--font-color-alpha-10);
|
|
@@ -2328,19 +2704,19 @@ var PageMenuWrapper = import_styled_components12.default.menu`
|
|
|
2328
2704
|
margin: 0;
|
|
2329
2705
|
padding: var(--measurement-medium-60) var(--measurement-medium-30);
|
|
2330
2706
|
`;
|
|
2331
|
-
var PagePanelWrapper =
|
|
2707
|
+
var PagePanelWrapper = import_styled_components14.default.aside`
|
|
2332
2708
|
position: absolute;
|
|
2333
2709
|
bottom: 0;
|
|
2334
2710
|
width: 100%;
|
|
2335
2711
|
overflow: scroll;
|
|
2336
2712
|
${HiddenScrollbar}
|
|
2337
2713
|
`;
|
|
2338
|
-
var PageSectionWrapper =
|
|
2714
|
+
var PageSectionWrapper = import_styled_components14.default.div`
|
|
2339
2715
|
background: var(--body-color);
|
|
2340
2716
|
width: 100%;
|
|
2341
2717
|
height: 100%;
|
|
2342
2718
|
`;
|
|
2343
|
-
var PageBodyWrapper =
|
|
2719
|
+
var PageBodyWrapper = import_styled_components14.default.div`
|
|
2344
2720
|
--menus-height: calc(
|
|
2345
2721
|
var(--measurement-large-30) *
|
|
2346
2722
|
${({ $menus }) => $menus ? Number($menus) : 0}
|
|
@@ -2365,12 +2741,12 @@ var PageBodyWrapper = import_styled_components12.default.div`
|
|
|
2365
2741
|
// src/page/index.tsx
|
|
2366
2742
|
var Page = (props) => {
|
|
2367
2743
|
const { children } = props;
|
|
2368
|
-
return /* @__PURE__ */
|
|
2744
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageRootWrapper, { className: "flex", ...props }, children);
|
|
2369
2745
|
};
|
|
2370
2746
|
Page.displayName = "Page";
|
|
2371
2747
|
var PageNavigation = (props) => {
|
|
2372
2748
|
const { children } = props;
|
|
2373
|
-
return /* @__PURE__ */
|
|
2749
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageNavWrapper, { ...props }, children);
|
|
2374
2750
|
};
|
|
2375
2751
|
PageNavigation.displayName = "Page.Navigation";
|
|
2376
2752
|
var PageTools = (props) => {
|
|
@@ -2392,7 +2768,7 @@ var PageTools = (props) => {
|
|
|
2392
2768
|
const handleClick = (event) => {
|
|
2393
2769
|
if (onClick) onClick(event);
|
|
2394
2770
|
};
|
|
2395
|
-
return /* @__PURE__ */
|
|
2771
|
+
return /* @__PURE__ */ import_react25.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react25.default.createElement(
|
|
2396
2772
|
Toolbar,
|
|
2397
2773
|
{
|
|
2398
2774
|
raw,
|
|
@@ -2404,27 +2780,27 @@ var PageTools = (props) => {
|
|
|
2404
2780
|
defaultOpen,
|
|
2405
2781
|
...props
|
|
2406
2782
|
},
|
|
2407
|
-
/* @__PURE__ */
|
|
2408
|
-
!fixed && /* @__PURE__ */
|
|
2783
|
+
/* @__PURE__ */ import_react25.default.createElement(Toolbar.Section, { showoncollapse }, children),
|
|
2784
|
+
!fixed && /* @__PURE__ */ import_react25.default.createElement(
|
|
2409
2785
|
Toolbar.Trigger,
|
|
2410
2786
|
{
|
|
2411
2787
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2412
2788
|
onClick: handleClick,
|
|
2413
2789
|
...triggerProps
|
|
2414
2790
|
},
|
|
2415
|
-
trigger ?? /* @__PURE__ */
|
|
2791
|
+
trigger ?? /* @__PURE__ */ import_react25.default.createElement("span", null, "\u2194")
|
|
2416
2792
|
)
|
|
2417
2793
|
));
|
|
2418
2794
|
};
|
|
2419
2795
|
PageTools.displayName = "Page.Tools";
|
|
2420
2796
|
var PageContent = (props) => {
|
|
2421
2797
|
const { children } = props;
|
|
2422
|
-
return /* @__PURE__ */
|
|
2798
|
+
return /* @__PURE__ */ import_react25.default.createElement(ScrollArea, { as: PageSectionWrapper, ...props }, children);
|
|
2423
2799
|
};
|
|
2424
2800
|
PageContent.displayName = "Page.Content";
|
|
2425
2801
|
var PageWrapper = (props) => {
|
|
2426
2802
|
const { children } = props;
|
|
2427
|
-
return /* @__PURE__ */
|
|
2803
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageBodyWrapper, { ...props }, children);
|
|
2428
2804
|
};
|
|
2429
2805
|
PageWrapper.displayName = "Page.Wrapper";
|
|
2430
2806
|
var PagePanel = (props) => {
|
|
@@ -2447,7 +2823,7 @@ var PagePanel = (props) => {
|
|
|
2447
2823
|
const handleClick = (event) => {
|
|
2448
2824
|
if (onClick) onClick(event);
|
|
2449
2825
|
};
|
|
2450
|
-
return /* @__PURE__ */
|
|
2826
|
+
return /* @__PURE__ */ import_react25.default.createElement(Toolbar.Root, null, /* @__PURE__ */ import_react25.default.createElement(
|
|
2451
2827
|
PagePanelWrapper,
|
|
2452
2828
|
{
|
|
2453
2829
|
as: Toolbar,
|
|
@@ -2461,22 +2837,22 @@ var PagePanel = (props) => {
|
|
|
2461
2837
|
defaultOpen,
|
|
2462
2838
|
"aria-label": props["aria-label"]
|
|
2463
2839
|
},
|
|
2464
|
-
!fixed && /* @__PURE__ */
|
|
2840
|
+
!fixed && /* @__PURE__ */ import_react25.default.createElement(
|
|
2465
2841
|
Toolbar.Trigger,
|
|
2466
2842
|
{
|
|
2467
2843
|
title: shortcut ? `${bindkey ?? "ctrl"} + ${hotkey}` : "toolbar-trigger",
|
|
2468
2844
|
onClick: handleClick,
|
|
2469
2845
|
...triggerProps
|
|
2470
2846
|
},
|
|
2471
|
-
trigger ?? /* @__PURE__ */
|
|
2847
|
+
trigger ?? /* @__PURE__ */ import_react25.default.createElement("span", { style: { transform: "rotate(90deg)" } }, "\u2194")
|
|
2472
2848
|
),
|
|
2473
|
-
/* @__PURE__ */
|
|
2849
|
+
/* @__PURE__ */ import_react25.default.createElement(Toolbar.Section, { showoncollapse }, children)
|
|
2474
2850
|
));
|
|
2475
2851
|
};
|
|
2476
2852
|
PagePanel.displayName = "Page.Panel";
|
|
2477
2853
|
var PageMenu = (props) => {
|
|
2478
2854
|
const { children } = props;
|
|
2479
|
-
return /* @__PURE__ */
|
|
2855
|
+
return /* @__PURE__ */ import_react25.default.createElement(PageMenuWrapper, { ...props }, children);
|
|
2480
2856
|
};
|
|
2481
2857
|
PageMenu.displayName = "Page.Menu";
|
|
2482
2858
|
Page.Navigation = PageNavigation;
|
|
@@ -2487,14 +2863,14 @@ Page.Panel = PagePanel;
|
|
|
2487
2863
|
Page.Menu = PageMenu;
|
|
2488
2864
|
|
|
2489
2865
|
// src/portal/index.tsx
|
|
2490
|
-
var
|
|
2866
|
+
var import_react26 = __toESM(require("react"));
|
|
2491
2867
|
var import_react_dom = require("react-dom");
|
|
2492
2868
|
var Portal = (props) => {
|
|
2493
2869
|
if (typeof document === "undefined") return null;
|
|
2494
2870
|
const { container, children } = props;
|
|
2495
|
-
const [hasMounted, setHasMounted] =
|
|
2496
|
-
const [portalRoot, setPortalRoot] =
|
|
2497
|
-
|
|
2871
|
+
const [hasMounted, setHasMounted] = import_react26.default.useState(false);
|
|
2872
|
+
const [portalRoot, setPortalRoot] = import_react26.default.useState(null);
|
|
2873
|
+
import_react26.default.useEffect(() => {
|
|
2498
2874
|
setHasMounted(true);
|
|
2499
2875
|
setPortalRoot(document.querySelector(`#${container}`));
|
|
2500
2876
|
}, [container]);
|
|
@@ -2503,26 +2879,188 @@ var Portal = (props) => {
|
|
|
2503
2879
|
};
|
|
2504
2880
|
Portal.displayName = "Portal";
|
|
2505
2881
|
|
|
2882
|
+
// src/privacy-field/index.tsx
|
|
2883
|
+
var import_react27 = __toESM(require("react"));
|
|
2884
|
+
|
|
2885
|
+
// src/privacy-field/styles/index.ts
|
|
2886
|
+
var import_styled_components15 = __toESM(require("styled-components"));
|
|
2887
|
+
var Wrapper = (0, import_styled_components15.default)(Field.Wrapper)`
|
|
2888
|
+
position: relative;
|
|
2889
|
+
|
|
2890
|
+
input {
|
|
2891
|
+
width: 100% !important;
|
|
2892
|
+
}
|
|
2893
|
+
`;
|
|
2894
|
+
var Trigger = (0, import_styled_components15.default)(Button)`
|
|
2895
|
+
position: absolute !important;
|
|
2896
|
+
right: var(--measurement-medium-50);
|
|
2897
|
+
top: calc(var(--measurement-medium-50));
|
|
2898
|
+
`;
|
|
2899
|
+
|
|
2900
|
+
// src/privacy-field/index.tsx
|
|
2901
|
+
var PrivacyField = ({
|
|
2902
|
+
defaultType,
|
|
2903
|
+
textIcon,
|
|
2904
|
+
passwordIcon,
|
|
2905
|
+
...restProps
|
|
2906
|
+
}) => {
|
|
2907
|
+
const [type, setType] = import_react27.default.useState(
|
|
2908
|
+
defaultType ?? "password"
|
|
2909
|
+
);
|
|
2910
|
+
const handleChangeType = import_react27.default.useCallback(() => {
|
|
2911
|
+
if (type === "text") setType("password");
|
|
2912
|
+
if (type === "password") setType("text");
|
|
2913
|
+
}, [type, setType]);
|
|
2914
|
+
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));
|
|
2915
|
+
};
|
|
2916
|
+
PrivacyField.displayName = "PrivacyField";
|
|
2917
|
+
|
|
2918
|
+
// src/resizable/index.tsx
|
|
2919
|
+
var import_react28 = __toESM(require("react"));
|
|
2920
|
+
|
|
2921
|
+
// src/resizable/styles/index.ts
|
|
2922
|
+
var import_styled_components16 = __toESM(require("styled-components"));
|
|
2923
|
+
var SplitContainer = import_styled_components16.default.div`
|
|
2924
|
+
position: relative;
|
|
2925
|
+
`;
|
|
2926
|
+
var Panel = import_styled_components16.default.div`
|
|
2927
|
+
overflow: hidden;
|
|
2928
|
+
width: ${(props) => props.width}%;
|
|
2929
|
+
`;
|
|
2930
|
+
var Divider2 = import_styled_components16.default.div`
|
|
2931
|
+
width: var(--measurement-medium-10);
|
|
2932
|
+
height: 100%;
|
|
2933
|
+
top: 0;
|
|
2934
|
+
|
|
2935
|
+
border-radius: var(--measurement-medium-60);
|
|
2936
|
+
background-color: transparent;
|
|
2937
|
+
|
|
2938
|
+
/* background-color: ${(props) => props.$dragging ? "var(--font-color-alpha-10)" : "transparent"}; */
|
|
2939
|
+
|
|
2940
|
+
cursor: col-resize;
|
|
2941
|
+
transition: background-color 0.2s;
|
|
2942
|
+
position: relative;
|
|
2943
|
+
|
|
2944
|
+
/** Shows DragIndicator on hover */
|
|
2945
|
+
&:hover .drag-indicator-handle,
|
|
2946
|
+
&:active .drag-indicator-handle {
|
|
2947
|
+
opacity: 1;
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
.drag-indicator-handle {
|
|
2951
|
+
height: ${(props) => props.$dragging ? "var(--measurement-large-10)" : "var(--measurement-medium-60)"};
|
|
2952
|
+
}
|
|
2953
|
+
`;
|
|
2954
|
+
var DragHandle = import_styled_components16.default.div`
|
|
2955
|
+
position: absolute;
|
|
2956
|
+
top: 0;
|
|
2957
|
+
bottom: 0;
|
|
2958
|
+
left: calc(var(--measurement-medium-10) * -1);
|
|
2959
|
+
right: calc(var(--measurement-medium-10) * -1);
|
|
2960
|
+
`;
|
|
2961
|
+
var DragIndicator = import_styled_components16.default.div`
|
|
2962
|
+
position: fixed;
|
|
2963
|
+
width: var(--measurement-medium-10);
|
|
2964
|
+
/* height: var(--measurement-medium-60); */
|
|
2965
|
+
background-color: var(--font-color-alpha-60);
|
|
2966
|
+
border-radius: var(--measurement-large-10);
|
|
2967
|
+
|
|
2968
|
+
opacity: 0;
|
|
2969
|
+
transition: all 0.2s;
|
|
2970
|
+
`;
|
|
2971
|
+
var DragOverlay = import_styled_components16.default.div`
|
|
2972
|
+
position: fixed;
|
|
2973
|
+
top: 0;
|
|
2974
|
+
left: 0;
|
|
2975
|
+
right: 0;
|
|
2976
|
+
bottom: 0;
|
|
2977
|
+
z-index: var(--depth-default-90);
|
|
2978
|
+
cursor: col-resize;
|
|
2979
|
+
`;
|
|
2980
|
+
|
|
2981
|
+
// src/resizable/index.tsx
|
|
2982
|
+
var Resizable = ({
|
|
2983
|
+
defaultWidth,
|
|
2984
|
+
left,
|
|
2985
|
+
right
|
|
2986
|
+
}) => {
|
|
2987
|
+
const containerRef = import_react28.default.useRef(null);
|
|
2988
|
+
const [leftWidth, setLeftWidth] = import_react28.default.useState(defaultWidth ?? 50);
|
|
2989
|
+
const [isDragging, setIsDragging] = import_react28.default.useState(false);
|
|
2990
|
+
const handleMouseDown = import_react28.default.useCallback(() => setIsDragging(true), []);
|
|
2991
|
+
const handleMouseUp = import_react28.default.useCallback(() => setIsDragging(false), []);
|
|
2992
|
+
const handleMouseMove = import_react28.default.useCallback(
|
|
2993
|
+
(e) => {
|
|
2994
|
+
if (!isDragging || !containerRef.current) return;
|
|
2995
|
+
const containerRect = containerRef.current.getBoundingClientRect();
|
|
2996
|
+
const newLeftWidth = (e.clientX - containerRect.left) / containerRect.width * 100;
|
|
2997
|
+
const threshold = { min: 30, max: 70 };
|
|
2998
|
+
const constrainedWidth = Math.min(
|
|
2999
|
+
Math.max(newLeftWidth, threshold.min),
|
|
3000
|
+
threshold.max
|
|
3001
|
+
);
|
|
3002
|
+
setLeftWidth(constrainedWidth);
|
|
3003
|
+
},
|
|
3004
|
+
[isDragging]
|
|
3005
|
+
);
|
|
3006
|
+
import_react28.default.useEffect(() => {
|
|
3007
|
+
if (isDragging) {
|
|
3008
|
+
document.addEventListener("mousemove", handleMouseMove);
|
|
3009
|
+
document.addEventListener("mouseup", handleMouseUp);
|
|
3010
|
+
document.body.style.cursor = "col-resize";
|
|
3011
|
+
document.body.style.userSelect = "none";
|
|
3012
|
+
} else {
|
|
3013
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
|
3014
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
3015
|
+
document.body.style.cursor = "";
|
|
3016
|
+
document.body.style.userSelect = "";
|
|
3017
|
+
}
|
|
3018
|
+
return () => {
|
|
3019
|
+
document.removeEventListener("mousemove", handleMouseMove);
|
|
3020
|
+
document.removeEventListener("mouseup", handleMouseUp);
|
|
3021
|
+
document.body.style.cursor = "";
|
|
3022
|
+
document.body.style.userSelect = "";
|
|
3023
|
+
};
|
|
3024
|
+
}, [isDragging, handleMouseMove, handleMouseUp]);
|
|
3025
|
+
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(
|
|
3026
|
+
Divider2,
|
|
3027
|
+
{
|
|
3028
|
+
$dragging: isDragging,
|
|
3029
|
+
onMouseDown: handleMouseDown,
|
|
3030
|
+
onTouchStart: handleMouseDown
|
|
3031
|
+
},
|
|
3032
|
+
/* @__PURE__ */ import_react28.default.createElement(
|
|
3033
|
+
DragHandle,
|
|
3034
|
+
{
|
|
3035
|
+
className: "flex align-center justify-center",
|
|
3036
|
+
id: "drag-handle"
|
|
3037
|
+
},
|
|
3038
|
+
/* @__PURE__ */ import_react28.default.createElement(DragIndicator, { className: "drag-indicator-handle" })
|
|
3039
|
+
)
|
|
3040
|
+
), /* @__PURE__ */ import_react28.default.createElement(Panel, { width: 100 - leftWidth }, right)), isDragging && /* @__PURE__ */ import_react28.default.createElement(DragOverlay, null));
|
|
3041
|
+
};
|
|
3042
|
+
Resizable.displayName = "Resizable";
|
|
3043
|
+
|
|
2506
3044
|
// src/sheet/index.tsx
|
|
2507
|
-
var
|
|
3045
|
+
var import_react30 = __toESM(require("react"));
|
|
2508
3046
|
|
|
2509
3047
|
// src/sheet/hooks/index.tsx
|
|
2510
|
-
var
|
|
2511
|
-
var SheetContext =
|
|
3048
|
+
var import_react29 = __toESM(require("react"));
|
|
3049
|
+
var SheetContext = import_react29.default.createContext({
|
|
2512
3050
|
id: {},
|
|
2513
3051
|
states: {},
|
|
2514
3052
|
methods: {}
|
|
2515
3053
|
});
|
|
2516
|
-
var useSheet = () =>
|
|
3054
|
+
var useSheet = () => import_react29.default.useContext(SheetContext);
|
|
2517
3055
|
var SheetProvider = ({ children }) => {
|
|
2518
3056
|
const context = useSheetProvider();
|
|
2519
|
-
return /* @__PURE__ */
|
|
3057
|
+
return /* @__PURE__ */ import_react29.default.createElement(SheetContext.Provider, { value: context }, children);
|
|
2520
3058
|
};
|
|
2521
3059
|
function useSheetProvider() {
|
|
2522
|
-
const containerId =
|
|
2523
|
-
const triggerId =
|
|
2524
|
-
const controlId =
|
|
2525
|
-
const [open, setOpen] =
|
|
3060
|
+
const containerId = import_react29.default.useId();
|
|
3061
|
+
const triggerId = import_react29.default.useId();
|
|
3062
|
+
const controlId = import_react29.default.useId();
|
|
3063
|
+
const [open, setOpen] = import_react29.default.useState(false);
|
|
2526
3064
|
return {
|
|
2527
3065
|
id: {
|
|
2528
3066
|
containerId,
|
|
@@ -2540,8 +3078,8 @@ function useSheetProvider() {
|
|
|
2540
3078
|
}
|
|
2541
3079
|
|
|
2542
3080
|
// src/sheet/styles/index.ts
|
|
2543
|
-
var
|
|
2544
|
-
var SheetStyles =
|
|
3081
|
+
var import_styled_components17 = __toESM(require("styled-components"));
|
|
3082
|
+
var SheetStyles = import_styled_components17.css`
|
|
2545
3083
|
all: unset;
|
|
2546
3084
|
position: fixed;
|
|
2547
3085
|
background-color: var(--body-color);
|
|
@@ -2572,7 +3110,7 @@ var SheetStyles = import_styled_components13.css`
|
|
|
2572
3110
|
animation-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
|
|
2573
3111
|
animation-fill-mode: backwards;
|
|
2574
3112
|
`;
|
|
2575
|
-
var SheetSizeStyles =
|
|
3113
|
+
var SheetSizeStyles = import_styled_components17.css`
|
|
2576
3114
|
&[data-size="small"] {
|
|
2577
3115
|
width: var(--measurement-large-80);
|
|
2578
3116
|
}
|
|
@@ -2585,7 +3123,7 @@ var SheetSizeStyles = import_styled_components13.css`
|
|
|
2585
3123
|
width: calc(var(--measurement-large-90) * 1.5);
|
|
2586
3124
|
}
|
|
2587
3125
|
`;
|
|
2588
|
-
var SheetSideStyles =
|
|
3126
|
+
var SheetSideStyles = import_styled_components17.css`
|
|
2589
3127
|
top: 0;
|
|
2590
3128
|
|
|
2591
3129
|
&[data-side="right"] {
|
|
@@ -2600,7 +3138,7 @@ var SheetSideStyles = import_styled_components13.css`
|
|
|
2600
3138
|
animation-name: slide-left;
|
|
2601
3139
|
}
|
|
2602
3140
|
`;
|
|
2603
|
-
var SheetWrapper =
|
|
3141
|
+
var SheetWrapper = import_styled_components17.default.dialog`
|
|
2604
3142
|
&[data-raw="false"] {
|
|
2605
3143
|
${SheetStyles}
|
|
2606
3144
|
${SheetSideStyles}
|
|
@@ -2610,7 +3148,7 @@ var SheetWrapper = import_styled_components13.default.dialog`
|
|
|
2610
3148
|
|
|
2611
3149
|
// src/sheet/index.tsx
|
|
2612
3150
|
var SheetRoot = ({ children }) => {
|
|
2613
|
-
return /* @__PURE__ */
|
|
3151
|
+
return /* @__PURE__ */ import_react30.default.createElement(SheetProvider, null, children);
|
|
2614
3152
|
};
|
|
2615
3153
|
SheetRoot.displayName = "Sheet.Root";
|
|
2616
3154
|
var Sheet = (props) => {
|
|
@@ -2631,16 +3169,16 @@ var Sheet = (props) => {
|
|
|
2631
3169
|
const { id, states, methods } = useSheet();
|
|
2632
3170
|
const { toggle } = methods;
|
|
2633
3171
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
2634
|
-
|
|
3172
|
+
import_react30.default.useEffect(() => {
|
|
2635
3173
|
if (open && toggle) return toggle();
|
|
2636
3174
|
}, [open]);
|
|
2637
|
-
|
|
3175
|
+
import_react30.default.useEffect(() => {
|
|
2638
3176
|
if (shortcut && shortcutControls && toggle) {
|
|
2639
3177
|
return toggle();
|
|
2640
3178
|
}
|
|
2641
3179
|
}, [shortcutControls]);
|
|
2642
3180
|
useDisabledScroll(lock && Boolean(states.open));
|
|
2643
|
-
return /* @__PURE__ */
|
|
3181
|
+
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
3182
|
SheetWrapper,
|
|
2645
3183
|
{
|
|
2646
3184
|
role: "dialog",
|
|
@@ -2657,7 +3195,7 @@ var Sheet = (props) => {
|
|
|
2657
3195
|
...restProps
|
|
2658
3196
|
},
|
|
2659
3197
|
children
|
|
2660
|
-
), overlay && /* @__PURE__ */
|
|
3198
|
+
), overlay && /* @__PURE__ */ import_react30.default.createElement(
|
|
2661
3199
|
Overlay,
|
|
2662
3200
|
{
|
|
2663
3201
|
onClick: () => toggle && toggle(!states.open),
|
|
@@ -2683,7 +3221,7 @@ var SheetTrigger = (props) => {
|
|
|
2683
3221
|
if (onClick) onClick(event);
|
|
2684
3222
|
if (toggle) toggle(!states.open);
|
|
2685
3223
|
};
|
|
2686
|
-
return /* @__PURE__ */
|
|
3224
|
+
return /* @__PURE__ */ import_react30.default.createElement(
|
|
2687
3225
|
Button,
|
|
2688
3226
|
{
|
|
2689
3227
|
id: id.triggerId,
|
|
@@ -2703,13 +3241,13 @@ Sheet.Root = SheetRoot;
|
|
|
2703
3241
|
Sheet.Trigger = SheetTrigger;
|
|
2704
3242
|
|
|
2705
3243
|
// src/scrollarea/index.tsx
|
|
2706
|
-
var
|
|
3244
|
+
var import_react31 = __toESM(require("react"));
|
|
2707
3245
|
var ScrollArea = ({
|
|
2708
3246
|
scrollbar = false,
|
|
2709
3247
|
children,
|
|
2710
3248
|
...restProps
|
|
2711
3249
|
}) => {
|
|
2712
|
-
return /* @__PURE__ */
|
|
3250
|
+
return /* @__PURE__ */ import_react31.default.createElement(
|
|
2713
3251
|
ScrollAreaWrapper,
|
|
2714
3252
|
{
|
|
2715
3253
|
"aria-hidden": "true",
|
|
@@ -2720,25 +3258,148 @@ var ScrollArea = ({
|
|
|
2720
3258
|
);
|
|
2721
3259
|
};
|
|
2722
3260
|
|
|
3261
|
+
// src/spinner/index.tsx
|
|
3262
|
+
var import_react32 = __toESM(require("react"));
|
|
3263
|
+
|
|
3264
|
+
// src/spinner/styles/index.ts
|
|
3265
|
+
var import_styled_components18 = __toESM(require("styled-components"));
|
|
3266
|
+
var Rotate = import_styled_components18.keyframes`
|
|
3267
|
+
0% {
|
|
3268
|
+
transform: rotate(0deg);
|
|
3269
|
+
}
|
|
3270
|
+
100% {
|
|
3271
|
+
transform: rotate(360deg);
|
|
3272
|
+
}
|
|
3273
|
+
`;
|
|
3274
|
+
var FieldSizeStyles2 = import_styled_components18.css`
|
|
3275
|
+
&[data-size="small"] {
|
|
3276
|
+
width: var(--measurement-medium-40);
|
|
3277
|
+
height: var(--measurement-medium-40);
|
|
3278
|
+
}
|
|
3279
|
+
&[data-size="medium"] {
|
|
3280
|
+
width: var(--measurement-medium-50);
|
|
3281
|
+
height: var(--measurement-medium-50);
|
|
3282
|
+
}
|
|
3283
|
+
&[data-size="large"] {
|
|
3284
|
+
width: var(--measurement-medium-60);
|
|
3285
|
+
height: var(--measurement-medium-60);
|
|
3286
|
+
}
|
|
3287
|
+
`;
|
|
3288
|
+
var RotatingSpinner = import_styled_components18.default.span`
|
|
3289
|
+
padding: 0;
|
|
3290
|
+
margin: 0;
|
|
3291
|
+
|
|
3292
|
+
display: inline-block;
|
|
3293
|
+
box-sizing: border-box;
|
|
3294
|
+
|
|
3295
|
+
border: var(--measurement-small-60) solid var(--font-color-alpha-30);
|
|
3296
|
+
border-bottom-color: transparent;
|
|
3297
|
+
border-radius: var(--measurement-large-90);
|
|
3298
|
+
|
|
3299
|
+
animation: ${Rotate} 1s linear infinite;
|
|
3300
|
+
|
|
3301
|
+
${FieldSizeStyles2}
|
|
3302
|
+
`;
|
|
3303
|
+
|
|
3304
|
+
// src/spinner/index.tsx
|
|
3305
|
+
var Spinner = (props) => {
|
|
3306
|
+
return /* @__PURE__ */ import_react32.default.createElement(RotatingSpinner, { "data-size": props.sizing ?? "medium" });
|
|
3307
|
+
};
|
|
3308
|
+
|
|
3309
|
+
// src/skeleton/index.tsx
|
|
3310
|
+
var import_react33 = __toESM(require("react"));
|
|
3311
|
+
|
|
3312
|
+
// src/skeleton/styles/index.ts
|
|
3313
|
+
var import_styled_components19 = __toESM(require("styled-components"));
|
|
3314
|
+
var SkeletonBlink = import_styled_components19.keyframes`
|
|
3315
|
+
0% {
|
|
3316
|
+
opacity: 0.3;
|
|
3317
|
+
}
|
|
3318
|
+
100% {
|
|
3319
|
+
opacity: 0.1;
|
|
3320
|
+
}
|
|
3321
|
+
`;
|
|
3322
|
+
var SkeletonBaseStyles = import_styled_components19.css`
|
|
3323
|
+
background: linear-gradient(
|
|
3324
|
+
45deg,
|
|
3325
|
+
var(--font-color-alpha-10),
|
|
3326
|
+
var(--font-color-alpha-20)
|
|
3327
|
+
);
|
|
3328
|
+
animation: ${SkeletonBlink} 1s ease-in-out alternate-reverse infinite;
|
|
3329
|
+
`;
|
|
3330
|
+
var SkeletonSizeStyles = import_styled_components19.css`
|
|
3331
|
+
&[data-size="small"] {
|
|
3332
|
+
width: 100%;
|
|
3333
|
+
|
|
3334
|
+
min-width: var(--measurement-medium-60);
|
|
3335
|
+
min-height: var(--measurement-medium-70);
|
|
3336
|
+
}
|
|
3337
|
+
&[data-size="medium"] {
|
|
3338
|
+
width: 100%;
|
|
3339
|
+
min-width: var(--measurement-medium-90);
|
|
3340
|
+
min-height: var(--measurement-medium-80);
|
|
3341
|
+
}
|
|
3342
|
+
&[data-size="large"] {
|
|
3343
|
+
width: 100%;
|
|
3344
|
+
min-width: var(--measurement-medium-90);
|
|
3345
|
+
min-height: var(--measurement-medium-90);
|
|
3346
|
+
}
|
|
3347
|
+
`;
|
|
3348
|
+
var SkeletonShapeStyles = import_styled_components19.css`
|
|
3349
|
+
&[data-shape="square"] {
|
|
3350
|
+
border-radius: 0;
|
|
3351
|
+
}
|
|
3352
|
+
&[data-shape="smooth"] {
|
|
3353
|
+
border-radius: var(--measurement-medium-20);
|
|
3354
|
+
}
|
|
3355
|
+
&[data-shape="round"] {
|
|
3356
|
+
border-radius: var(--measurement-large-90);
|
|
3357
|
+
}
|
|
3358
|
+
`;
|
|
3359
|
+
var SkeletonLoader = import_styled_components19.default.span`
|
|
3360
|
+
${SkeletonBaseStyles}
|
|
3361
|
+
${SkeletonSizeStyles}
|
|
3362
|
+
${SkeletonShapeStyles}
|
|
3363
|
+
`;
|
|
3364
|
+
|
|
3365
|
+
// src/skeleton/index.tsx
|
|
3366
|
+
var Skeleton = (props) => {
|
|
3367
|
+
const {
|
|
3368
|
+
sizing = "medium" /* Medium */,
|
|
3369
|
+
shape = "smooth",
|
|
3370
|
+
...restProps
|
|
3371
|
+
} = props;
|
|
3372
|
+
return /* @__PURE__ */ import_react33.default.createElement(
|
|
3373
|
+
SkeletonLoader,
|
|
3374
|
+
{
|
|
3375
|
+
"data-size": sizing,
|
|
3376
|
+
"data-shape": shape,
|
|
3377
|
+
tabIndex: 0,
|
|
3378
|
+
...restProps
|
|
3379
|
+
}
|
|
3380
|
+
);
|
|
3381
|
+
};
|
|
3382
|
+
Skeleton.displayName = "Skeleton";
|
|
3383
|
+
|
|
2723
3384
|
// src/switch/index.tsx
|
|
2724
|
-
var
|
|
3385
|
+
var import_react35 = __toESM(require("react"));
|
|
2725
3386
|
|
|
2726
3387
|
// src/switch/hooks/index.tsx
|
|
2727
|
-
var
|
|
3388
|
+
var import_react34 = __toESM(require("react"));
|
|
2728
3389
|
var defaultComponentAPI6 = {
|
|
2729
3390
|
id: "",
|
|
2730
3391
|
states: {},
|
|
2731
3392
|
methods: {}
|
|
2732
3393
|
};
|
|
2733
|
-
var SwitchContext = (0,
|
|
2734
|
-
var useSwitch = () => (0,
|
|
3394
|
+
var SwitchContext = (0, import_react34.createContext)(defaultComponentAPI6);
|
|
3395
|
+
var useSwitch = () => (0, import_react34.useContext)(SwitchContext);
|
|
2735
3396
|
var SwitchProvider = ({ children }) => {
|
|
2736
3397
|
const context = useSwitchProvider();
|
|
2737
|
-
return /* @__PURE__ */
|
|
3398
|
+
return /* @__PURE__ */ import_react34.default.createElement(SwitchContext.Provider, { value: context }, children);
|
|
2738
3399
|
};
|
|
2739
3400
|
function useSwitchProvider() {
|
|
2740
|
-
const [checked, setChecked] = (0,
|
|
2741
|
-
const switchId =
|
|
3401
|
+
const [checked, setChecked] = (0, import_react34.useState)(false);
|
|
3402
|
+
const switchId = import_react34.default.useId();
|
|
2742
3403
|
return {
|
|
2743
3404
|
id: switchId,
|
|
2744
3405
|
states: {
|
|
@@ -2751,8 +3412,8 @@ function useSwitchProvider() {
|
|
|
2751
3412
|
}
|
|
2752
3413
|
|
|
2753
3414
|
// src/switch/styles/index.ts
|
|
2754
|
-
var
|
|
2755
|
-
var SwitchDefaultStyles =
|
|
3415
|
+
var import_styled_components20 = __toESM(require("styled-components"));
|
|
3416
|
+
var SwitchDefaultStyles = import_styled_components20.css`
|
|
2756
3417
|
all: unset;
|
|
2757
3418
|
|
|
2758
3419
|
border: var(--measurement-small-10) solid transparent;
|
|
@@ -2766,7 +3427,7 @@ var SwitchDefaultStyles = import_styled_components14.css`
|
|
|
2766
3427
|
opacity: 0.6;
|
|
2767
3428
|
}
|
|
2768
3429
|
`;
|
|
2769
|
-
var SwitchVariantsStyles =
|
|
3430
|
+
var SwitchVariantsStyles = import_styled_components20.css`
|
|
2770
3431
|
&[data-variant="primary"] {
|
|
2771
3432
|
&[aria-checked="true"] {
|
|
2772
3433
|
background-color: var(--color-green);
|
|
@@ -2797,7 +3458,7 @@ var SwitchVariantsStyles = import_styled_components14.css`
|
|
|
2797
3458
|
}
|
|
2798
3459
|
}
|
|
2799
3460
|
`;
|
|
2800
|
-
var SwitchSizeStyles =
|
|
3461
|
+
var SwitchSizeStyles = import_styled_components20.css`
|
|
2801
3462
|
&[data-size="small"] {
|
|
2802
3463
|
width: calc(var(--measurement-medium-60) * 1.33);
|
|
2803
3464
|
height: var(--measurement-medium-50);
|
|
@@ -2846,14 +3507,14 @@ var SwitchSizeStyles = import_styled_components14.css`
|
|
|
2846
3507
|
}
|
|
2847
3508
|
}
|
|
2848
3509
|
`;
|
|
2849
|
-
var TriggerWrapper =
|
|
3510
|
+
var TriggerWrapper = import_styled_components20.default.button`
|
|
2850
3511
|
&[data-raw="false"] {
|
|
2851
3512
|
${SwitchDefaultStyles}
|
|
2852
3513
|
${SwitchVariantsStyles}
|
|
2853
3514
|
${SwitchSizeStyles}
|
|
2854
3515
|
}
|
|
2855
3516
|
`;
|
|
2856
|
-
var Thumb =
|
|
3517
|
+
var Thumb = import_styled_components20.default.span`
|
|
2857
3518
|
&[data-raw="false"] {
|
|
2858
3519
|
all: unset;
|
|
2859
3520
|
display: block;
|
|
@@ -2887,10 +3548,10 @@ var Switch = (props) => {
|
|
|
2887
3548
|
if (onClick) onClick(event);
|
|
2888
3549
|
if (toggleSwitch) toggleSwitch();
|
|
2889
3550
|
};
|
|
2890
|
-
|
|
3551
|
+
import_react35.default.useEffect(() => {
|
|
2891
3552
|
if (defaultChecked && toggleSwitch) toggleSwitch();
|
|
2892
3553
|
}, [defaultChecked]);
|
|
2893
|
-
return /* @__PURE__ */
|
|
3554
|
+
return /* @__PURE__ */ import_react35.default.createElement(
|
|
2894
3555
|
TriggerWrapper,
|
|
2895
3556
|
{
|
|
2896
3557
|
type: "button",
|
|
@@ -2906,19 +3567,19 @@ var Switch = (props) => {
|
|
|
2906
3567
|
"data-raw": Boolean(raw),
|
|
2907
3568
|
...restProps
|
|
2908
3569
|
},
|
|
2909
|
-
/* @__PURE__ */
|
|
3570
|
+
/* @__PURE__ */ import_react35.default.createElement("title", null, "Switch"),
|
|
2910
3571
|
children
|
|
2911
3572
|
);
|
|
2912
3573
|
};
|
|
2913
3574
|
Switch.displayName = "Switch";
|
|
2914
3575
|
var SwitchRoot = ({ children }) => {
|
|
2915
|
-
return /* @__PURE__ */
|
|
3576
|
+
return /* @__PURE__ */ import_react35.default.createElement(SwitchProvider, null, children);
|
|
2916
3577
|
};
|
|
2917
3578
|
SwitchRoot.displayName = "Switch.Root";
|
|
2918
3579
|
var SwitchThumb = (props) => {
|
|
2919
3580
|
const { raw, sizing } = props;
|
|
2920
3581
|
const { id, states } = useSwitch();
|
|
2921
|
-
return /* @__PURE__ */
|
|
3582
|
+
return /* @__PURE__ */ import_react35.default.createElement(
|
|
2922
3583
|
Thumb,
|
|
2923
3584
|
{
|
|
2924
3585
|
role: "presentation",
|
|
@@ -2938,11 +3599,11 @@ Switch.Root = SwitchRoot;
|
|
|
2938
3599
|
Switch.Thumb = SwitchThumb;
|
|
2939
3600
|
|
|
2940
3601
|
// src/table/index.tsx
|
|
2941
|
-
var
|
|
3602
|
+
var import_react36 = __toESM(require("react"));
|
|
2942
3603
|
|
|
2943
3604
|
// src/table/styles/index.ts
|
|
2944
|
-
var
|
|
2945
|
-
var CellStyles =
|
|
3605
|
+
var import_styled_components21 = __toESM(require("styled-components"));
|
|
3606
|
+
var CellStyles = import_styled_components21.css`
|
|
2946
3607
|
box-sizing: border-box;
|
|
2947
3608
|
border: none;
|
|
2948
3609
|
line-height: 1;
|
|
@@ -2952,11 +3613,11 @@ var CellStyles = import_styled_components15.css`
|
|
|
2952
3613
|
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
2953
3614
|
);
|
|
2954
3615
|
`;
|
|
2955
|
-
var TableLayer =
|
|
3616
|
+
var TableLayer = import_styled_components21.default.div`
|
|
2956
3617
|
border-radius: var(--measurement-medium-30);
|
|
2957
3618
|
border: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
2958
3619
|
`;
|
|
2959
|
-
var TableWrapper =
|
|
3620
|
+
var TableWrapper = import_styled_components21.default.table`
|
|
2960
3621
|
border-collapse: collapse;
|
|
2961
3622
|
|
|
2962
3623
|
tbody {
|
|
@@ -2967,7 +3628,7 @@ var TableWrapper = import_styled_components15.default.table`
|
|
|
2967
3628
|
}
|
|
2968
3629
|
}
|
|
2969
3630
|
`;
|
|
2970
|
-
var RowWrapper =
|
|
3631
|
+
var RowWrapper = import_styled_components21.default.tr`
|
|
2971
3632
|
border-bottom: var(--measurement-small-10) solid var(--font-color-alpha-10);
|
|
2972
3633
|
|
|
2973
3634
|
transition: background-color linear 0.1s;
|
|
@@ -2976,7 +3637,7 @@ var RowWrapper = import_styled_components15.default.tr`
|
|
|
2976
3637
|
background-color: var(--font-color-alpha-10);
|
|
2977
3638
|
}
|
|
2978
3639
|
`;
|
|
2979
|
-
var HeadCellWrapper =
|
|
3640
|
+
var HeadCellWrapper = import_styled_components21.default.th`
|
|
2980
3641
|
font-size: var(--fontsize-medium-10);
|
|
2981
3642
|
${CellStyles}
|
|
2982
3643
|
|
|
@@ -2984,7 +3645,7 @@ var HeadCellWrapper = import_styled_components15.default.th`
|
|
|
2984
3645
|
color: var(--font-color-alpha-60);
|
|
2985
3646
|
}
|
|
2986
3647
|
`;
|
|
2987
|
-
var CellWrapper =
|
|
3648
|
+
var CellWrapper = import_styled_components21.default.td`
|
|
2988
3649
|
${CellStyles}
|
|
2989
3650
|
`;
|
|
2990
3651
|
|
|
@@ -2993,43 +3654,43 @@ var Table = ({
|
|
|
2993
3654
|
children,
|
|
2994
3655
|
...restProps
|
|
2995
3656
|
}) => {
|
|
2996
|
-
return /* @__PURE__ */
|
|
3657
|
+
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
3658
|
};
|
|
2998
3659
|
Table.displayName = "Table";
|
|
2999
3660
|
var TableHead = ({
|
|
3000
3661
|
children,
|
|
3001
3662
|
...restProps
|
|
3002
3663
|
}) => {
|
|
3003
|
-
return /* @__PURE__ */
|
|
3664
|
+
return /* @__PURE__ */ import_react36.default.createElement("thead", { ...restProps }, children);
|
|
3004
3665
|
};
|
|
3005
3666
|
TableHead.displayName = "Table.Head";
|
|
3006
3667
|
var TableBody = ({
|
|
3007
3668
|
children,
|
|
3008
3669
|
...restProps
|
|
3009
3670
|
}) => {
|
|
3010
|
-
return /* @__PURE__ */
|
|
3671
|
+
return /* @__PURE__ */ import_react36.default.createElement("tbody", { ...restProps }, children);
|
|
3011
3672
|
};
|
|
3012
3673
|
TableBody.displayName = "Table.Body";
|
|
3013
3674
|
var TableHeadCell = ({
|
|
3014
3675
|
children,
|
|
3015
3676
|
...restProps
|
|
3016
3677
|
}) => {
|
|
3017
|
-
return /* @__PURE__ */
|
|
3678
|
+
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
3679
|
};
|
|
3019
3680
|
TableHeadCell.displayName = "Table.HeadCell";
|
|
3020
3681
|
var TableRow = ({ children, ...restProps }) => {
|
|
3021
|
-
return /* @__PURE__ */
|
|
3682
|
+
return /* @__PURE__ */ import_react36.default.createElement(RowWrapper, { className: "p-medium-30", ...restProps }, children);
|
|
3022
3683
|
};
|
|
3023
3684
|
TableRow.displayName = "Table.Row";
|
|
3024
3685
|
var TableCell = ({ children, ...restProps }) => {
|
|
3025
|
-
return /* @__PURE__ */
|
|
3686
|
+
return /* @__PURE__ */ import_react36.default.createElement(CellWrapper, { ...restProps }, /* @__PURE__ */ import_react36.default.createElement("div", { className: "flex align-center g-medium-30" }, children));
|
|
3026
3687
|
};
|
|
3027
3688
|
TableCell.displayName = "Table.Cell";
|
|
3028
3689
|
var TableFooter = ({
|
|
3029
3690
|
children,
|
|
3030
3691
|
...restProps
|
|
3031
3692
|
}) => {
|
|
3032
|
-
return /* @__PURE__ */
|
|
3693
|
+
return /* @__PURE__ */ import_react36.default.createElement("tfoot", { ...restProps }, children);
|
|
3033
3694
|
};
|
|
3034
3695
|
TableFooter.displayName = "Table.Footer";
|
|
3035
3696
|
Table.Head = TableHead;
|
|
@@ -3040,24 +3701,24 @@ Table.Cell = TableCell;
|
|
|
3040
3701
|
Table.Footer = TableFooter;
|
|
3041
3702
|
|
|
3042
3703
|
// src/tabs/index.tsx
|
|
3043
|
-
var
|
|
3704
|
+
var import_react38 = __toESM(require("react"));
|
|
3044
3705
|
|
|
3045
3706
|
// src/tabs/hooks/index.tsx
|
|
3046
|
-
var
|
|
3707
|
+
var import_react37 = __toESM(require("react"));
|
|
3047
3708
|
var defaultComponentAPI7 = {
|
|
3048
3709
|
id: "",
|
|
3049
3710
|
states: {},
|
|
3050
3711
|
methods: {}
|
|
3051
3712
|
};
|
|
3052
|
-
var TabsContext = (0,
|
|
3053
|
-
var useTabs = () => (0,
|
|
3713
|
+
var TabsContext = (0, import_react37.createContext)(defaultComponentAPI7);
|
|
3714
|
+
var useTabs = () => (0, import_react37.useContext)(TabsContext);
|
|
3054
3715
|
var TabsProvider = ({ children }) => {
|
|
3055
3716
|
const context = useTabsProvider();
|
|
3056
|
-
return /* @__PURE__ */
|
|
3717
|
+
return /* @__PURE__ */ import_react37.default.createElement(TabsContext.Provider, { value: context }, children);
|
|
3057
3718
|
};
|
|
3058
3719
|
function useTabsProvider() {
|
|
3059
|
-
const [value, setValue] = (0,
|
|
3060
|
-
const tabsId =
|
|
3720
|
+
const [value, setValue] = (0, import_react37.useState)(null);
|
|
3721
|
+
const tabsId = import_react37.default.useId();
|
|
3061
3722
|
return {
|
|
3062
3723
|
id: tabsId,
|
|
3063
3724
|
states: {
|
|
@@ -3071,8 +3732,8 @@ function useTabsProvider() {
|
|
|
3071
3732
|
}
|
|
3072
3733
|
|
|
3073
3734
|
// src/tabs/styles/index.ts
|
|
3074
|
-
var
|
|
3075
|
-
var TabWrapper =
|
|
3735
|
+
var import_styled_components22 = __toESM(require("styled-components"));
|
|
3736
|
+
var TabWrapper = import_styled_components22.default.div`
|
|
3076
3737
|
button {
|
|
3077
3738
|
&[aria-selected="true"] {
|
|
3078
3739
|
color: var(--font-color) !important;
|
|
@@ -3085,22 +3746,22 @@ var Tabs = (props) => {
|
|
|
3085
3746
|
const { defaultOpen, children, ...restProps } = props;
|
|
3086
3747
|
const { methods } = useTabs();
|
|
3087
3748
|
const { applyValue } = methods;
|
|
3088
|
-
const childArray =
|
|
3749
|
+
const childArray = import_react38.Children.toArray(children);
|
|
3089
3750
|
const firstChild = childArray[0];
|
|
3090
|
-
|
|
3091
|
-
if (
|
|
3751
|
+
import_react38.default.useEffect(() => {
|
|
3752
|
+
if (import_react38.default.isValidElement(firstChild)) {
|
|
3092
3753
|
if (childArray.length > 0 && applyValue)
|
|
3093
3754
|
applyValue(firstChild.props.value);
|
|
3094
3755
|
}
|
|
3095
3756
|
}, []);
|
|
3096
|
-
|
|
3757
|
+
import_react38.default.useEffect(() => {
|
|
3097
3758
|
if (defaultOpen && applyValue) applyValue(defaultOpen);
|
|
3098
3759
|
}, []);
|
|
3099
|
-
return /* @__PURE__ */
|
|
3760
|
+
return /* @__PURE__ */ import_react38.default.createElement(TabWrapper, { role: "tablist", ...restProps }, children);
|
|
3100
3761
|
};
|
|
3101
3762
|
Tabs.displayName = "Tabs";
|
|
3102
3763
|
var TabsRoot = ({ children }) => {
|
|
3103
|
-
return /* @__PURE__ */
|
|
3764
|
+
return /* @__PURE__ */ import_react38.default.createElement(TabsProvider, null, children);
|
|
3104
3765
|
};
|
|
3105
3766
|
TabsRoot.displayName = "Tabs.Root";
|
|
3106
3767
|
var TabsTrigger = (props) => {
|
|
@@ -3116,7 +3777,7 @@ var TabsTrigger = (props) => {
|
|
|
3116
3777
|
if (applyValue) applyValue(value);
|
|
3117
3778
|
if (onClick) onClick(event);
|
|
3118
3779
|
};
|
|
3119
|
-
return /* @__PURE__ */
|
|
3780
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3120
3781
|
Button,
|
|
3121
3782
|
{
|
|
3122
3783
|
type: "button",
|
|
@@ -3144,7 +3805,7 @@ var TabsContent = (props) => {
|
|
|
3144
3805
|
trigger: getTabsId && getTabsId({ value, type: "trigger" }),
|
|
3145
3806
|
content: getTabsId && getTabsId({ value, type: "content" })
|
|
3146
3807
|
};
|
|
3147
|
-
return /* @__PURE__ */
|
|
3808
|
+
return /* @__PURE__ */ import_react38.default.createElement(
|
|
3148
3809
|
"div",
|
|
3149
3810
|
{
|
|
3150
3811
|
tabIndex: 0,
|
|
@@ -3164,23 +3825,171 @@ Tabs.Root = TabsRoot;
|
|
|
3164
3825
|
Tabs.Trigger = TabsTrigger;
|
|
3165
3826
|
Tabs.Content = TabsContent;
|
|
3166
3827
|
|
|
3828
|
+
// src/text-area/index.tsx
|
|
3829
|
+
var import_react39 = __toESM(require("react"));
|
|
3830
|
+
|
|
3831
|
+
// src/text-area/styles/index.ts
|
|
3832
|
+
var import_styled_components23 = __toESM(require("styled-components"));
|
|
3833
|
+
var CustomScrollbar2 = import_styled_components23.css`
|
|
3834
|
+
height: ${({ $height }) => $height ?? "100%"};
|
|
3835
|
+
width: ${({ $width }) => $width ?? "100%"};
|
|
3836
|
+
overflow-y: auto;
|
|
3837
|
+
overflow-x: hidden;
|
|
3838
|
+
|
|
3839
|
+
&::-webkit-scrollbar {
|
|
3840
|
+
cursor: pointer;
|
|
3841
|
+
|
|
3842
|
+
width: var(--measurement-medium-10);
|
|
3843
|
+
}
|
|
3844
|
+
|
|
3845
|
+
&::-webkit-scrollbar-track {
|
|
3846
|
+
background: ${({ $trackColor }) => $trackColor ?? "transparent"};
|
|
3847
|
+
border-radius: var(--measurement-medium-30);
|
|
3848
|
+
border: none;
|
|
3849
|
+
}
|
|
3850
|
+
|
|
3851
|
+
&::-webkit-scrollbar-thumb {
|
|
3852
|
+
background: ${({ $thumbColor }) => $thumbColor ?? "var(--font-color-alpha-10)"};
|
|
3853
|
+
border-radius: var(--measurement-medium-30);
|
|
3854
|
+
transition: background-color 0.2s ease;
|
|
3855
|
+
}
|
|
3856
|
+
|
|
3857
|
+
&::-webkit-scrollbar-thumb:hover {
|
|
3858
|
+
background: ${({ $thumbHoverColor, $thumbColor }) => $thumbHoverColor ?? $thumbColor ?? "var(--font-color-alpha-20)"};
|
|
3859
|
+
}
|
|
3860
|
+
|
|
3861
|
+
// Firefox
|
|
3862
|
+
scrollbar-width: thin;
|
|
3863
|
+
scrollbar-color: ${({ $thumbColor, $trackColor }) => `${$thumbColor ?? "var(--font-color-alpha-10)"} ${$trackColor ?? "transparent"}`};
|
|
3864
|
+
`;
|
|
3865
|
+
var TextAreaContainer = import_styled_components23.default.textarea`
|
|
3866
|
+
&[data-raw="false"] {
|
|
3867
|
+
resize: vertical;
|
|
3868
|
+
max-height: var(--measurement-large-60);
|
|
3869
|
+
min-height: auto;
|
|
3870
|
+
width: 100%;
|
|
3871
|
+
|
|
3872
|
+
overflow-y: auto;
|
|
3873
|
+
|
|
3874
|
+
outline: none;
|
|
3875
|
+
cursor: pointer;
|
|
3876
|
+
display: flex;
|
|
3877
|
+
align-items: center;
|
|
3878
|
+
justify-content: center;
|
|
3879
|
+
|
|
3880
|
+
font-size: var(--fontsize-small-80);
|
|
3881
|
+
padding: var(--measurement-medium-30) var(--measurement-medium-30)
|
|
3882
|
+
var(--measurement-large-10) var(--measurement-medium-30);
|
|
3883
|
+
|
|
3884
|
+
font-weight: 500;
|
|
3885
|
+
line-height: 1.1;
|
|
3886
|
+
letter-spacing: calc(
|
|
3887
|
+
var(--fontsize-small-10) - ((var(--fontsize-small-10) * 1.066))
|
|
3888
|
+
);
|
|
3889
|
+
|
|
3890
|
+
border: var(--measurement-small-10) solid transparent;
|
|
3891
|
+
border-radius: var(--measurement-medium-30);
|
|
3892
|
+
backdrop-filter: blur(var(--measurement-small-10));
|
|
3893
|
+
color: var(--font-color-alpha-60);
|
|
3894
|
+
|
|
3895
|
+
transition: all ease-in-out 0.2s;
|
|
3896
|
+
|
|
3897
|
+
svg,
|
|
3898
|
+
span,
|
|
3899
|
+
img {
|
|
3900
|
+
opacity: 0.6;
|
|
3901
|
+
}
|
|
3902
|
+
|
|
3903
|
+
&:hover,
|
|
3904
|
+
&:focus,
|
|
3905
|
+
&:active {
|
|
3906
|
+
color: var(--font-color);
|
|
3907
|
+
|
|
3908
|
+
svg,
|
|
3909
|
+
span,
|
|
3910
|
+
img {
|
|
3911
|
+
opacity: 1;
|
|
3912
|
+
}
|
|
3913
|
+
}
|
|
3914
|
+
&::placeholder {
|
|
3915
|
+
color: var(--font-color-alpha-30);
|
|
3916
|
+
}
|
|
3917
|
+
&:disabled {
|
|
3918
|
+
cursor: not-allowed;
|
|
3919
|
+
opacity: 0.6;
|
|
3920
|
+
}
|
|
3921
|
+
|
|
3922
|
+
&::placeholder {
|
|
3923
|
+
color: var(--font-color-alpha-30);
|
|
3924
|
+
}
|
|
3925
|
+
|
|
3926
|
+
&:focus-visible {
|
|
3927
|
+
outline: none;
|
|
3928
|
+
}
|
|
3929
|
+
|
|
3930
|
+
&:disabled {
|
|
3931
|
+
cursor: not-allowed;
|
|
3932
|
+
}
|
|
3933
|
+
|
|
3934
|
+
&[data-error="true"] {
|
|
3935
|
+
&::placeholder {
|
|
3936
|
+
color: var(--alpha-red-30);
|
|
3937
|
+
}
|
|
3938
|
+
}
|
|
3939
|
+
|
|
3940
|
+
${CustomScrollbar2}
|
|
3941
|
+
${FieldVariantsStyles}
|
|
3942
|
+
}
|
|
3943
|
+
`;
|
|
3944
|
+
|
|
3945
|
+
// src/text-area/index.tsx
|
|
3946
|
+
var Textarea = ({ onChange, ...props }) => {
|
|
3947
|
+
const textareaRef = import_react39.default.useRef(null);
|
|
3948
|
+
const adjustHeight = () => {
|
|
3949
|
+
const textarea = textareaRef.current;
|
|
3950
|
+
if (textarea) {
|
|
3951
|
+
textarea.style.height = "auto";
|
|
3952
|
+
textarea.style.height = `${Math.min(
|
|
3953
|
+
textarea.scrollHeight,
|
|
3954
|
+
parseInt(getComputedStyle(textarea).maxHeight)
|
|
3955
|
+
)}px`;
|
|
3956
|
+
}
|
|
3957
|
+
};
|
|
3958
|
+
const handleChange = (e) => {
|
|
3959
|
+
adjustHeight();
|
|
3960
|
+
onChange?.(e);
|
|
3961
|
+
};
|
|
3962
|
+
import_react39.default.useEffect(() => adjustHeight(), [props.value]);
|
|
3963
|
+
return /* @__PURE__ */ import_react39.default.createElement(Field.Wrapper, { className: "w-100 h-auto" }, /* @__PURE__ */ import_react39.default.createElement(
|
|
3964
|
+
TextAreaContainer,
|
|
3965
|
+
{
|
|
3966
|
+
ref: textareaRef,
|
|
3967
|
+
onChange: handleChange,
|
|
3968
|
+
"data-variant": props.variant ?? "secondary",
|
|
3969
|
+
"data-raw": String(Boolean(props?.raw)),
|
|
3970
|
+
...props
|
|
3971
|
+
}
|
|
3972
|
+
));
|
|
3973
|
+
};
|
|
3974
|
+
Textarea.displayName = "Textarea";
|
|
3975
|
+
|
|
3167
3976
|
// src/toggle/index.tsx
|
|
3168
|
-
var
|
|
3977
|
+
var import_react40 = __toESM(require("react"));
|
|
3169
3978
|
var Toggle = (props) => {
|
|
3170
3979
|
const { defaultChecked, onClick, disabled, children, ...restProps } = props;
|
|
3171
|
-
const [checked, setChecked] =
|
|
3980
|
+
const [checked, setChecked] = import_react40.default.useState(
|
|
3172
3981
|
defaultChecked ?? false
|
|
3173
3982
|
);
|
|
3174
3983
|
const handleClick = (event) => {
|
|
3175
3984
|
if (onClick) onClick(event);
|
|
3176
3985
|
if (!disabled) setChecked((prevChecked) => !prevChecked);
|
|
3177
3986
|
};
|
|
3178
|
-
|
|
3987
|
+
import_react40.default.useEffect(() => {
|
|
3179
3988
|
if (defaultChecked !== void 0) {
|
|
3180
3989
|
setChecked(Boolean(defaultChecked));
|
|
3181
3990
|
}
|
|
3182
3991
|
}, [defaultChecked]);
|
|
3183
|
-
return /* @__PURE__ */
|
|
3992
|
+
return /* @__PURE__ */ import_react40.default.createElement(
|
|
3184
3993
|
Button,
|
|
3185
3994
|
{
|
|
3186
3995
|
role: "switch",
|
|
@@ -3198,24 +4007,24 @@ var Toggle = (props) => {
|
|
|
3198
4007
|
Toggle.displayName = "Toggle";
|
|
3199
4008
|
|
|
3200
4009
|
// src/toolbar/index.tsx
|
|
3201
|
-
var
|
|
4010
|
+
var import_react42 = __toESM(require("react"));
|
|
3202
4011
|
|
|
3203
4012
|
// src/toolbar/hooks/index.tsx
|
|
3204
|
-
var
|
|
4013
|
+
var import_react41 = __toESM(require("react"));
|
|
3205
4014
|
var defaultComponentAPI8 = {
|
|
3206
4015
|
id: "",
|
|
3207
4016
|
states: {},
|
|
3208
4017
|
methods: {}
|
|
3209
4018
|
};
|
|
3210
|
-
var ToolbarContext = (0,
|
|
3211
|
-
var useToolbar = () => (0,
|
|
4019
|
+
var ToolbarContext = (0, import_react41.createContext)(defaultComponentAPI8);
|
|
4020
|
+
var useToolbar = () => (0, import_react41.useContext)(ToolbarContext);
|
|
3212
4021
|
var ToolbarProvider = ({ children }) => {
|
|
3213
4022
|
const context = useToolbarProvider();
|
|
3214
|
-
return /* @__PURE__ */
|
|
4023
|
+
return /* @__PURE__ */ import_react41.default.createElement(ToolbarContext.Provider, { value: context }, children);
|
|
3215
4024
|
};
|
|
3216
4025
|
function useToolbarProvider() {
|
|
3217
|
-
const [expanded, setExpanded] = (0,
|
|
3218
|
-
const toolbarId =
|
|
4026
|
+
const [expanded, setExpanded] = (0, import_react41.useState)(false);
|
|
4027
|
+
const toolbarId = import_react41.default.useId();
|
|
3219
4028
|
return {
|
|
3220
4029
|
id: toolbarId,
|
|
3221
4030
|
states: {
|
|
@@ -3228,8 +4037,8 @@ function useToolbarProvider() {
|
|
|
3228
4037
|
}
|
|
3229
4038
|
|
|
3230
4039
|
// src/toolbar/styles/index.ts
|
|
3231
|
-
var
|
|
3232
|
-
var ToolbarDefaultStyles =
|
|
4040
|
+
var import_styled_components24 = __toESM(require("styled-components"));
|
|
4041
|
+
var ToolbarDefaultStyles = import_styled_components24.css`
|
|
3233
4042
|
margin: 0;
|
|
3234
4043
|
display: grid;
|
|
3235
4044
|
grid-template-rows: min-content;
|
|
@@ -3263,7 +4072,7 @@ var ToolbarDefaultStyles = import_styled_components17.css`
|
|
|
3263
4072
|
}
|
|
3264
4073
|
}
|
|
3265
4074
|
`;
|
|
3266
|
-
var ToolbarSizeStyles =
|
|
4075
|
+
var ToolbarSizeStyles = import_styled_components24.css`
|
|
3267
4076
|
&[data-size="small"] {
|
|
3268
4077
|
&[aria-orientation="vertical"] {
|
|
3269
4078
|
max-width: var(--measurement-large-70);
|
|
@@ -3309,7 +4118,7 @@ var ToolbarSizeStyles = import_styled_components17.css`
|
|
|
3309
4118
|
}
|
|
3310
4119
|
}
|
|
3311
4120
|
`;
|
|
3312
|
-
var ToolbarSideStyles =
|
|
4121
|
+
var ToolbarSideStyles = import_styled_components24.css`
|
|
3313
4122
|
&[data-side="top"] {
|
|
3314
4123
|
border-bottom-color: var(--font-color-alpha-10);
|
|
3315
4124
|
}
|
|
@@ -3341,7 +4150,7 @@ var ToolbarSideStyles = import_styled_components17.css`
|
|
|
3341
4150
|
}
|
|
3342
4151
|
}
|
|
3343
4152
|
`;
|
|
3344
|
-
var ToolbarWrapper =
|
|
4153
|
+
var ToolbarWrapper = import_styled_components24.default.menu`
|
|
3345
4154
|
&[data-raw="false"] {
|
|
3346
4155
|
${ToolbarDefaultStyles}
|
|
3347
4156
|
${ToolbarSizeStyles}
|
|
@@ -3349,7 +4158,7 @@ var ToolbarWrapper = import_styled_components17.default.menu`
|
|
|
3349
4158
|
${ToolbarSideStyles}
|
|
3350
4159
|
}
|
|
3351
4160
|
`;
|
|
3352
|
-
var ToolbarTriggerWrapper =
|
|
4161
|
+
var ToolbarTriggerWrapper = import_styled_components24.default.menu`
|
|
3353
4162
|
&[data-raw="false"] {
|
|
3354
4163
|
all: unset;
|
|
3355
4164
|
align-self: flex-end;
|
|
@@ -3374,13 +4183,13 @@ var Toolbar = (props) => {
|
|
|
3374
4183
|
const { toggleToolbar } = methods;
|
|
3375
4184
|
const shortcutControls = useKeyPress(String(hotkey), true, bindkey);
|
|
3376
4185
|
const orientation = side && ["left", "right"].includes(side) ? "vertical" : "horizontal";
|
|
3377
|
-
|
|
4186
|
+
import_react42.default.useEffect(() => {
|
|
3378
4187
|
if (defaultOpen && toggleToolbar) return toggleToolbar(true);
|
|
3379
4188
|
}, [defaultOpen]);
|
|
3380
|
-
|
|
4189
|
+
import_react42.default.useEffect(() => {
|
|
3381
4190
|
if (shortcut && shortcutControls && toggleToolbar) toggleToolbar();
|
|
3382
4191
|
}, [shortcutControls]);
|
|
3383
|
-
return /* @__PURE__ */
|
|
4192
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3384
4193
|
ToolbarWrapper,
|
|
3385
4194
|
{
|
|
3386
4195
|
id,
|
|
@@ -3400,7 +4209,7 @@ var Toolbar = (props) => {
|
|
|
3400
4209
|
};
|
|
3401
4210
|
Toolbar.displayName = "Toolbar";
|
|
3402
4211
|
var ToolbarRoot = ({ children }) => {
|
|
3403
|
-
return /* @__PURE__ */
|
|
4212
|
+
return /* @__PURE__ */ import_react42.default.createElement(ToolbarProvider, null, children);
|
|
3404
4213
|
};
|
|
3405
4214
|
ToolbarRoot.displayName = "Toolbar.Root";
|
|
3406
4215
|
var ToolbarTrigger = (props) => {
|
|
@@ -3418,7 +4227,7 @@ var ToolbarTrigger = (props) => {
|
|
|
3418
4227
|
if (onClick) onClick(event);
|
|
3419
4228
|
if (toggleToolbar) toggleToolbar(!states.expanded);
|
|
3420
4229
|
};
|
|
3421
|
-
return /* @__PURE__ */
|
|
4230
|
+
return /* @__PURE__ */ import_react42.default.createElement(ToolbarTriggerWrapper, { "data-raw": Boolean(raw) }, /* @__PURE__ */ import_react42.default.createElement(
|
|
3422
4231
|
Button,
|
|
3423
4232
|
{
|
|
3424
4233
|
id: `${id}-trigger`,
|
|
@@ -3436,13 +4245,13 @@ var ToolbarSection = (props) => {
|
|
|
3436
4245
|
const { showoncollapse, children, ...restProps } = props;
|
|
3437
4246
|
const { states } = useToolbar();
|
|
3438
4247
|
const { expanded } = states;
|
|
3439
|
-
if (showoncollapse) return /* @__PURE__ */
|
|
3440
|
-
return /* @__PURE__ */
|
|
4248
|
+
if (showoncollapse) return /* @__PURE__ */ import_react42.default.createElement("section", { ...restProps }, children);
|
|
4249
|
+
return /* @__PURE__ */ import_react42.default.createElement("section", { ...restProps }, expanded && children);
|
|
3441
4250
|
};
|
|
3442
4251
|
ToolbarSection.displayName = "Toolbar.Section";
|
|
3443
4252
|
var ToolbarItem = (props) => {
|
|
3444
4253
|
const { showfirstchild, onClick, children, ...restProps } = props;
|
|
3445
|
-
const childArray =
|
|
4254
|
+
const childArray = import_react42.default.Children.toArray(children);
|
|
3446
4255
|
const { id, states, methods } = useToolbar();
|
|
3447
4256
|
const { expanded } = states;
|
|
3448
4257
|
const { toggleToolbar } = methods;
|
|
@@ -3451,7 +4260,7 @@ var ToolbarItem = (props) => {
|
|
|
3451
4260
|
if (onClick) onClick(event);
|
|
3452
4261
|
if (toggleToolbar && !expanded) toggleToolbar(true);
|
|
3453
4262
|
};
|
|
3454
|
-
return /* @__PURE__ */
|
|
4263
|
+
return /* @__PURE__ */ import_react42.default.createElement(
|
|
3455
4264
|
"div",
|
|
3456
4265
|
{
|
|
3457
4266
|
tabIndex: -1,
|
|
@@ -3472,11 +4281,11 @@ Toolbar.Item = ToolbarItem;
|
|
|
3472
4281
|
Toolbar.Section = ToolbarSection;
|
|
3473
4282
|
|
|
3474
4283
|
// src/tooltip/index.tsx
|
|
3475
|
-
var
|
|
4284
|
+
var import_react43 = __toESM(require("react"));
|
|
3476
4285
|
|
|
3477
4286
|
// src/tooltip/styles/index.ts
|
|
3478
|
-
var
|
|
3479
|
-
var FadeIn2 =
|
|
4287
|
+
var import_styled_components25 = __toESM(require("styled-components"));
|
|
4288
|
+
var FadeIn2 = import_styled_components25.keyframes`
|
|
3480
4289
|
0% {
|
|
3481
4290
|
opacity: 0;
|
|
3482
4291
|
}
|
|
@@ -3484,11 +4293,11 @@ var FadeIn2 = import_styled_components18.keyframes`
|
|
|
3484
4293
|
opacity: 1;
|
|
3485
4294
|
}
|
|
3486
4295
|
`;
|
|
3487
|
-
var ContentBox =
|
|
4296
|
+
var ContentBox = import_styled_components25.default.div`
|
|
3488
4297
|
display: inline-block;
|
|
3489
4298
|
position: relative;
|
|
3490
4299
|
`;
|
|
3491
|
-
var ContentWrapper2 =
|
|
4300
|
+
var ContentWrapper2 = import_styled_components25.default.span`
|
|
3492
4301
|
&[data-raw="false"] {
|
|
3493
4302
|
width: fit-content;
|
|
3494
4303
|
max-width: var(--measurement-large-60);
|
|
@@ -3519,15 +4328,15 @@ var Tooltip = ({
|
|
|
3519
4328
|
children,
|
|
3520
4329
|
...restProps
|
|
3521
4330
|
}) => {
|
|
3522
|
-
const [visible, setVisible] =
|
|
3523
|
-
const [triggerProps, setTriggerProps] =
|
|
3524
|
-
const [contentProps, setContentProps] =
|
|
3525
|
-
const mounted =
|
|
3526
|
-
const containerRef =
|
|
3527
|
-
const contentRef =
|
|
3528
|
-
const timeoutRef =
|
|
4331
|
+
const [visible, setVisible] = import_react43.default.useState(false);
|
|
4332
|
+
const [triggerProps, setTriggerProps] = import_react43.default.useState(null);
|
|
4333
|
+
const [contentProps, setContentProps] = import_react43.default.useState(null);
|
|
4334
|
+
const mounted = import_react43.default.useRef(false);
|
|
4335
|
+
const containerRef = import_react43.default.useRef(null);
|
|
4336
|
+
const contentRef = import_react43.default.useRef(null);
|
|
4337
|
+
const timeoutRef = import_react43.default.useRef(null);
|
|
3529
4338
|
const contentRect = () => contentRef?.current?.getBoundingClientRect();
|
|
3530
|
-
const bodyRect =
|
|
4339
|
+
const bodyRect = import_react43.default.useCallback(() => {
|
|
3531
4340
|
if (typeof document !== "undefined") {
|
|
3532
4341
|
return document.body.getBoundingClientRect();
|
|
3533
4342
|
}
|
|
@@ -3548,14 +4357,14 @@ var Tooltip = ({
|
|
|
3548
4357
|
};
|
|
3549
4358
|
const hasEnoughHorizontalSpace = Number(dimensions.body_width) - Number(dimensions.content_left) > Number(dimensions.content_width) * 1.1;
|
|
3550
4359
|
const hasEnoughVerticalSpace = Number(dimensions.body_height) - Number(dimensions.content_bottom) > Number(dimensions.content_height) * 0.9;
|
|
3551
|
-
const showTooltip =
|
|
4360
|
+
const showTooltip = import_react43.default.useCallback(() => {
|
|
3552
4361
|
timeoutRef.current = setTimeout(() => setVisible(true), delay);
|
|
3553
4362
|
}, [delay]);
|
|
3554
|
-
const hideTooltip =
|
|
4363
|
+
const hideTooltip = import_react43.default.useCallback(() => {
|
|
3555
4364
|
if (timeoutRef.current) clearTimeout(timeoutRef.current);
|
|
3556
4365
|
setVisible(false);
|
|
3557
4366
|
}, []);
|
|
3558
|
-
const handleMouseEnter =
|
|
4367
|
+
const handleMouseEnter = import_react43.default.useCallback(() => {
|
|
3559
4368
|
const rect = containerRef.current?.getBoundingClientRect();
|
|
3560
4369
|
if (rect) {
|
|
3561
4370
|
setTriggerProps({
|
|
@@ -3569,11 +4378,11 @@ var Tooltip = ({
|
|
|
3569
4378
|
showTooltip();
|
|
3570
4379
|
}
|
|
3571
4380
|
}, [showTooltip]);
|
|
3572
|
-
const handleMouseLeave =
|
|
4381
|
+
const handleMouseLeave = import_react43.default.useCallback(
|
|
3573
4382
|
() => hideTooltip(),
|
|
3574
4383
|
[hideTooltip]
|
|
3575
4384
|
);
|
|
3576
|
-
|
|
4385
|
+
import_react43.default.useEffect(() => {
|
|
3577
4386
|
mounted.current = true;
|
|
3578
4387
|
setContentProps && setContentProps({
|
|
3579
4388
|
top: Number(contentRect()?.top),
|
|
@@ -3587,7 +4396,7 @@ var Tooltip = ({
|
|
|
3587
4396
|
mounted.current = false;
|
|
3588
4397
|
};
|
|
3589
4398
|
}, [visible]);
|
|
3590
|
-
return /* @__PURE__ */
|
|
4399
|
+
return /* @__PURE__ */ import_react43.default.createElement(
|
|
3591
4400
|
ContentBox,
|
|
3592
4401
|
{
|
|
3593
4402
|
ref: containerRef,
|
|
@@ -3597,7 +4406,7 @@ var Tooltip = ({
|
|
|
3597
4406
|
...restProps
|
|
3598
4407
|
},
|
|
3599
4408
|
children,
|
|
3600
|
-
visible && /* @__PURE__ */
|
|
4409
|
+
visible && /* @__PURE__ */ import_react43.default.createElement(
|
|
3601
4410
|
ContentWrapper2,
|
|
3602
4411
|
{
|
|
3603
4412
|
ref: contentRef,
|
|
@@ -3612,7 +4421,7 @@ var Tooltip = ({
|
|
|
3612
4421
|
"data-side": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */,
|
|
3613
4422
|
"data-align": hasEnoughHorizontalSpace ? "left" /* Left */ : "right" /* Right */
|
|
3614
4423
|
},
|
|
3615
|
-
/* @__PURE__ */
|
|
4424
|
+
/* @__PURE__ */ import_react43.default.createElement("div", null, content)
|
|
3616
4425
|
)
|
|
3617
4426
|
);
|
|
3618
4427
|
};
|
|
@@ -3626,7 +4435,14 @@ Tooltip.displayName = "Tooltip";
|
|
|
3626
4435
|
AvataStatusEnum,
|
|
3627
4436
|
Avatar,
|
|
3628
4437
|
Badge,
|
|
4438
|
+
Breadcrumb,
|
|
4439
|
+
BreadcrumbItem,
|
|
4440
|
+
BreadcrumbSeparator,
|
|
3629
4441
|
Button,
|
|
4442
|
+
Card,
|
|
4443
|
+
CardBody,
|
|
4444
|
+
CardGrid,
|
|
4445
|
+
CardMeta,
|
|
3630
4446
|
Checkbox,
|
|
3631
4447
|
CheckboxIndicator,
|
|
3632
4448
|
CheckboxRoot,
|
|
@@ -3634,6 +4450,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
3634
4450
|
CollapsibleContent,
|
|
3635
4451
|
CollapsibleRoot,
|
|
3636
4452
|
CollapsibleTrigger,
|
|
4453
|
+
CopyButton,
|
|
3637
4454
|
Dialog,
|
|
3638
4455
|
DialogControl,
|
|
3639
4456
|
DialogMenu,
|
|
@@ -3663,10 +4480,14 @@ Tooltip.displayName = "Tooltip";
|
|
|
3663
4480
|
PageTools,
|
|
3664
4481
|
PageWrapper,
|
|
3665
4482
|
Portal,
|
|
4483
|
+
PrivacyField,
|
|
4484
|
+
Resizable,
|
|
3666
4485
|
ScrollArea,
|
|
3667
4486
|
Sheet,
|
|
3668
4487
|
SheetRoot,
|
|
3669
4488
|
SheetTrigger,
|
|
4489
|
+
Skeleton,
|
|
4490
|
+
Spinner,
|
|
3670
4491
|
Switch,
|
|
3671
4492
|
SwitchRoot,
|
|
3672
4493
|
SwitchThumb,
|
|
@@ -3681,6 +4502,7 @@ Tooltip.displayName = "Tooltip";
|
|
|
3681
4502
|
TabsContent,
|
|
3682
4503
|
TabsRoot,
|
|
3683
4504
|
TabsTrigger,
|
|
4505
|
+
Textarea,
|
|
3684
4506
|
Toggle,
|
|
3685
4507
|
Toolbar,
|
|
3686
4508
|
ToolbarItem,
|