achery-ui 0.5.9 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +231 -73
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +236 -63
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +192 -105
- package/dist/index.d.ts +192 -105
- package/dist/index.js +231 -74
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -241,6 +241,13 @@ function Mark(props) {
|
|
|
241
241
|
/* @__PURE__ */ jsxRuntime.jsx("polygon", { points: "56,50 47,58 47,52", stroke: "none" })
|
|
242
242
|
] });
|
|
243
243
|
}
|
|
244
|
+
function Menu(props) {
|
|
245
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", ...props, children: [
|
|
246
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "7", x2: "21", y2: "7" }),
|
|
247
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "12", x2: "21", y2: "12" }),
|
|
248
|
+
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "17", x2: "21", y2: "17" })
|
|
249
|
+
] });
|
|
250
|
+
}
|
|
244
251
|
function Mercury(props) {
|
|
245
252
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round", strokeLinejoin: "round", ...props, children: [
|
|
246
253
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "12", cy: "9", r: "5" }),
|
|
@@ -282,6 +289,9 @@ function Sigil(props) {
|
|
|
282
289
|
/* @__PURE__ */ jsxRuntime.jsx("circle", { cx: "24", cy: "24", r: "3" })
|
|
283
290
|
] });
|
|
284
291
|
}
|
|
292
|
+
function Spinner(props) {
|
|
293
|
+
return /* @__PURE__ */ jsxRuntime.jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", ...props, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3a9 9 0 1 0 9 9" }) });
|
|
294
|
+
}
|
|
285
295
|
function Sprig(props) {
|
|
286
296
|
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.4", strokeLinecap: "round", ...props, children: [
|
|
287
297
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M12 3v18" }),
|
|
@@ -332,13 +342,6 @@ function Wordmark(props) {
|
|
|
332
342
|
/* @__PURE__ */ jsxRuntime.jsx("g", { transform: "translate(82,72)", fontFamily: "'Space Grotesk', sansSerif", fontWeight: "600", fontSize: "10", letterSpacing: "6", stroke: "none", children: /* @__PURE__ */ jsxRuntime.jsx("text", { x: "2", y: "0", children: "\u2014 W O R K S H O P \u2014" }) })
|
|
333
343
|
] });
|
|
334
344
|
}
|
|
335
|
-
function Menu(props) {
|
|
336
|
-
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "1.8", strokeLinecap: "round", ...props, children: [
|
|
337
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "7", x2: "21", y2: "7" }),
|
|
338
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "12", x2: "21", y2: "12" }),
|
|
339
|
-
/* @__PURE__ */ jsxRuntime.jsx("line", { x1: "3", y1: "17", x2: "21", y2: "17" })
|
|
340
|
-
] });
|
|
341
|
-
}
|
|
342
345
|
var glyphMap = {
|
|
343
346
|
"arrow-right": ArrowRight,
|
|
344
347
|
"arrow-up": ArrowUp,
|
|
@@ -365,6 +368,7 @@ var glyphMap = {
|
|
|
365
368
|
"salt": Salt,
|
|
366
369
|
"scroll": Scroll,
|
|
367
370
|
"sigil": Sigil,
|
|
371
|
+
"spinner": Spinner,
|
|
368
372
|
"sprig": Sprig,
|
|
369
373
|
"square": Square,
|
|
370
374
|
"star": Star,
|
|
@@ -473,45 +477,56 @@ function Badge({
|
|
|
473
477
|
}
|
|
474
478
|
);
|
|
475
479
|
}
|
|
476
|
-
var button = createRuntimeFn.createRuntimeFn({ defaultClassName: "
|
|
477
|
-
var kbdHint = "
|
|
480
|
+
var button = createRuntimeFn.createRuntimeFn({ defaultClassName: "Button_button__1torrqc2", variantClassNames: { variant: { primary: "Button_button_variant_primary__1torrqc3", secondary: "Button_button_variant_secondary__1torrqc4", accent: "Button_button_variant_accent__1torrqc5", ghost: "Button_button_variant_ghost__1torrqc6", danger: "Button_button_variant_danger__1torrqc7" }, size: { sm: "Button_button_size_sm__1torrqc8", md: "Button_button_size_md__1torrqc9" } }, defaultVariants: { variant: "secondary", size: "md" }, compoundVariants: [] });
|
|
481
|
+
var kbdHint = "Button_kbdHint__1torrqca";
|
|
482
|
+
var spinner = "Button_spinner__1torrqc1";
|
|
478
483
|
function Button({
|
|
479
484
|
variant = "secondary",
|
|
480
485
|
size = "md",
|
|
481
486
|
glyph: glyph2,
|
|
482
487
|
glyphPosition = "start",
|
|
483
488
|
kbd,
|
|
489
|
+
loading = false,
|
|
490
|
+
loadingLabel = "Loading\u2026",
|
|
484
491
|
children,
|
|
485
492
|
className,
|
|
486
493
|
...props
|
|
487
494
|
}) {
|
|
488
495
|
const glyphSize = size === "sm" ? 12 : 14;
|
|
489
|
-
return /* @__PURE__ */ jsxRuntime.
|
|
496
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
490
497
|
"button",
|
|
491
498
|
{
|
|
492
499
|
className: [button({ variant, size }), className].filter(Boolean).join(" "),
|
|
500
|
+
disabled: loading || props.disabled,
|
|
501
|
+
"aria-busy": loading || void 0,
|
|
493
502
|
...props,
|
|
494
|
-
children: [
|
|
503
|
+
children: loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
504
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: spinner, "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: "spinner", size: glyphSize }) }),
|
|
505
|
+
loadingLabel
|
|
506
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
495
507
|
glyph2 && glyphPosition === "start" && /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: glyph2, size: glyphSize, "aria-hidden": "true" }),
|
|
496
508
|
children,
|
|
497
509
|
glyph2 && glyphPosition === "end" && /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: glyph2, size: glyphSize, "aria-hidden": "true" }),
|
|
498
510
|
kbd && /* @__PURE__ */ jsxRuntime.jsx("span", { className: kbdHint, children: kbd })
|
|
499
|
-
]
|
|
511
|
+
] })
|
|
500
512
|
}
|
|
501
513
|
);
|
|
502
514
|
}
|
|
503
515
|
|
|
504
516
|
// src/components/Toggle/Toggle.css.ts
|
|
505
|
-
var label = "
|
|
506
|
-
var
|
|
507
|
-
var
|
|
508
|
-
var
|
|
517
|
+
var label = "Toggle_label__trpmwc4";
|
|
518
|
+
var statusIndicator = "Toggle_statusIndicator__trpmwc5";
|
|
519
|
+
var statusIndicatorVariants = { saving: "Toggle_statusIndicatorVariants_saving__trpmwc6", saved: "Toggle_statusIndicatorVariants_saved__trpmwc7", error: "Toggle_statusIndicatorVariants_error__trpmwc8" };
|
|
520
|
+
var thumb = "Toggle_thumb__trpmwc2";
|
|
521
|
+
var track = "Toggle_track__trpmwc1";
|
|
522
|
+
var wrapper = "Toggle_wrapper__trpmwc3";
|
|
509
523
|
function Toggle({
|
|
510
524
|
pressed,
|
|
511
525
|
defaultPressed,
|
|
512
526
|
onPressedChange,
|
|
513
527
|
disabled,
|
|
514
528
|
label: label4,
|
|
529
|
+
status,
|
|
515
530
|
className,
|
|
516
531
|
"aria-label": ariaLabel
|
|
517
532
|
}) {
|
|
@@ -528,7 +543,8 @@ function Toggle({
|
|
|
528
543
|
children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: thumb })
|
|
529
544
|
}
|
|
530
545
|
),
|
|
531
|
-
label4 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: label, children: label4 })
|
|
546
|
+
label4 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: label, children: label4 }),
|
|
547
|
+
status && status !== "idle" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIndicator, statusIndicatorVariants[status]].join(" "), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
532
548
|
] });
|
|
533
549
|
}
|
|
534
550
|
|
|
@@ -554,17 +570,24 @@ function Marginalia({
|
|
|
554
570
|
}
|
|
555
571
|
|
|
556
572
|
// src/components/Input/Input.css.ts
|
|
557
|
-
var errorText = "
|
|
558
|
-
var fieldRoot = "
|
|
559
|
-
var hint = "
|
|
560
|
-
var inputBase = "
|
|
561
|
-
var inputError = "
|
|
562
|
-
var
|
|
563
|
-
var
|
|
564
|
-
var
|
|
565
|
-
var
|
|
566
|
-
var
|
|
567
|
-
var
|
|
573
|
+
var errorText = "Input_errorText__6w3tie4";
|
|
574
|
+
var fieldRoot = "Input_fieldRoot__6w3tie1";
|
|
575
|
+
var hint = "Input_hint__6w3tie3";
|
|
576
|
+
var inputBase = "Input_inputBase__6w3tie5";
|
|
577
|
+
var inputError = "Input_inputError__6w3tie6";
|
|
578
|
+
var inputWithStatus = "Input_inputWithStatus__6w3tiea Input_inputBase__6w3tie5";
|
|
579
|
+
var inputWrapper = "Input_inputWrapper__6w3tie9";
|
|
580
|
+
var label2 = "Input_label__6w3tie2";
|
|
581
|
+
var searchIcon = "Input_searchIcon__6w3tiej";
|
|
582
|
+
var searchInput = "Input_searchInput__6w3tiek Input_inputBase__6w3tie5";
|
|
583
|
+
var searchWrapper = "Input_searchWrapper__6w3tiei";
|
|
584
|
+
var selectInput = "Input_selectInput__6w3tie8 Input_inputBase__6w3tie5";
|
|
585
|
+
var selectWithStatus = "Input_selectWithStatus__6w3tiec";
|
|
586
|
+
var statusIcon = "Input_statusIcon__6w3tied";
|
|
587
|
+
var statusIconTextarea = "Input_statusIconTextarea__6w3tiee Input_statusIcon__6w3tied";
|
|
588
|
+
var statusIconVariants = { saving: "Input_statusIconVariants_saving__6w3tief", saved: "Input_statusIconVariants_saved__6w3tieg", error: "Input_statusIconVariants_error__6w3tieh" };
|
|
589
|
+
var textarea = "Input_textarea__6w3tie7 Input_inputBase__6w3tie5";
|
|
590
|
+
var textareaWithStatus = "Input_textareaWithStatus__6w3tieb";
|
|
568
591
|
function Field({ label: label4, hint: hint2, error, children, className }) {
|
|
569
592
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [fieldRoot, className].filter(Boolean).join(" "), children: [
|
|
570
593
|
label4 && /* @__PURE__ */ jsxRuntime.jsx("label", { className: label2, children: label4 }),
|
|
@@ -573,33 +596,73 @@ function Field({ label: label4, hint: hint2, error, children, className }) {
|
|
|
573
596
|
!error && hint2 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: hint, children: hint2 })
|
|
574
597
|
] });
|
|
575
598
|
}
|
|
576
|
-
function Input({ error, className, ...props }) {
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
599
|
+
function Input({ error, status, className, ...props }) {
|
|
600
|
+
const hasStatus = status && status !== "idle";
|
|
601
|
+
if (!hasStatus) {
|
|
602
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
603
|
+
"input",
|
|
604
|
+
{
|
|
605
|
+
className: [inputBase, error && inputError, className].filter(Boolean).join(" "),
|
|
606
|
+
...props
|
|
607
|
+
}
|
|
608
|
+
);
|
|
609
|
+
}
|
|
610
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [inputWrapper, className].filter(Boolean).join(" "), children: [
|
|
611
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
612
|
+
"input",
|
|
613
|
+
{
|
|
614
|
+
className: [inputBase, inputWithStatus, error && inputError].filter(Boolean).join(" "),
|
|
615
|
+
...props
|
|
616
|
+
}
|
|
617
|
+
),
|
|
618
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIcon, statusIconVariants[status]].join(" "), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
619
|
+
] });
|
|
584
620
|
}
|
|
585
|
-
function Textarea({ error, className, ...props }) {
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
621
|
+
function Textarea({ error, status, className, ...props }) {
|
|
622
|
+
const hasStatus = status && status !== "idle";
|
|
623
|
+
if (!hasStatus) {
|
|
624
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
625
|
+
"textarea",
|
|
626
|
+
{
|
|
627
|
+
className: [textarea, error && inputError, className].filter(Boolean).join(" "),
|
|
628
|
+
...props
|
|
629
|
+
}
|
|
630
|
+
);
|
|
631
|
+
}
|
|
632
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [inputWrapper, className].filter(Boolean).join(" "), children: [
|
|
633
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
634
|
+
"textarea",
|
|
635
|
+
{
|
|
636
|
+
className: [textarea, textareaWithStatus, error && inputError].filter(Boolean).join(" "),
|
|
637
|
+
...props
|
|
638
|
+
}
|
|
639
|
+
),
|
|
640
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIconTextarea, statusIconVariants[status]].join(" "), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
641
|
+
] });
|
|
593
642
|
}
|
|
594
|
-
function Select({ error, children, className, ...props }) {
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
643
|
+
function Select({ error, status, children, className, ...props }) {
|
|
644
|
+
const hasStatus = status && status !== "idle";
|
|
645
|
+
if (!hasStatus) {
|
|
646
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
647
|
+
"select",
|
|
648
|
+
{
|
|
649
|
+
className: [selectInput, error && inputError, className].filter(Boolean).join(" "),
|
|
650
|
+
...props,
|
|
651
|
+
children
|
|
652
|
+
}
|
|
653
|
+
);
|
|
654
|
+
}
|
|
655
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [inputWrapper, className].filter(Boolean).join(" "), children: [
|
|
656
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
657
|
+
"select",
|
|
658
|
+
{
|
|
659
|
+
className: [selectInput, selectWithStatus, error && inputError].filter(Boolean).join(" "),
|
|
660
|
+
...props,
|
|
661
|
+
children
|
|
662
|
+
}
|
|
663
|
+
),
|
|
664
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIcon, statusIconVariants[status]].join(" "), "aria-hidden": "true", style: { right: "28px" }, children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
665
|
+
] });
|
|
603
666
|
}
|
|
604
667
|
function SearchInput({ className, ...props }) {
|
|
605
668
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [searchWrapper, className].filter(Boolean).join(" "), children: [
|
|
@@ -861,12 +924,66 @@ function NavItem({ item: item2, active, onClick, renderLink, collapsed }) {
|
|
|
861
924
|
);
|
|
862
925
|
}
|
|
863
926
|
|
|
927
|
+
// src/components/Skeleton/Skeleton.css.ts
|
|
928
|
+
var block = "Skeleton_block__112laiw3 Skeleton_skeleton__112laiw1";
|
|
929
|
+
var line = "Skeleton_line__112laiw2 Skeleton_skeleton__112laiw1";
|
|
930
|
+
var Skeleton = ({ lines = 1, width = "100%", block: block2 = false, height, style, className }) => {
|
|
931
|
+
if (block2) {
|
|
932
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
933
|
+
"span",
|
|
934
|
+
{
|
|
935
|
+
className: [block, className].filter(Boolean).join(" "),
|
|
936
|
+
style: height ? { height, ...style } : style,
|
|
937
|
+
"aria-hidden": "true"
|
|
938
|
+
}
|
|
939
|
+
);
|
|
940
|
+
}
|
|
941
|
+
const widths = Array.isArray(width) ? width : Array.from({ length: lines }, () => width);
|
|
942
|
+
if (lines === 1) {
|
|
943
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
944
|
+
"span",
|
|
945
|
+
{
|
|
946
|
+
className: [line, className].filter(Boolean).join(" "),
|
|
947
|
+
style: widths[0] !== "100%" ? { width: widths[0], ...style } : style,
|
|
948
|
+
"aria-hidden": "true"
|
|
949
|
+
}
|
|
950
|
+
);
|
|
951
|
+
}
|
|
952
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
953
|
+
"span",
|
|
954
|
+
{
|
|
955
|
+
style: { display: "flex", flexDirection: "column", gap: "6px", width: "100%" },
|
|
956
|
+
"aria-hidden": "true",
|
|
957
|
+
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
958
|
+
"span",
|
|
959
|
+
{
|
|
960
|
+
className: line,
|
|
961
|
+
style: widths[i] !== "100%" ? { width: widths[i] } : void 0
|
|
962
|
+
},
|
|
963
|
+
i
|
|
964
|
+
))
|
|
965
|
+
}
|
|
966
|
+
);
|
|
967
|
+
};
|
|
968
|
+
|
|
864
969
|
// src/components/ProgressBar/ProgressBar.css.ts
|
|
865
970
|
var fill = "ProgressBar_fill__1686i1k3";
|
|
866
971
|
var fillTone = { neutral: "ProgressBar_fillTone_neutral__1686i1k4", accent: "ProgressBar_fillTone_accent__1686i1k5" };
|
|
867
972
|
var track2 = "ProgressBar_track__1686i1k0";
|
|
868
973
|
var trackSize = { sm: "ProgressBar_trackSize_sm__1686i1k1", md: "ProgressBar_trackSize_md__1686i1k2" };
|
|
869
|
-
|
|
974
|
+
var trackHeightPx = { sm: "4px", md: "8px" };
|
|
975
|
+
function ProgressBar({ value: value2, size = "md", tone = "neutral", loading = false, className }) {
|
|
976
|
+
if (loading) {
|
|
977
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
978
|
+
Skeleton,
|
|
979
|
+
{
|
|
980
|
+
block: true,
|
|
981
|
+
height: trackHeightPx[size],
|
|
982
|
+
className,
|
|
983
|
+
style: { borderRadius: 0 }
|
|
984
|
+
}
|
|
985
|
+
);
|
|
986
|
+
}
|
|
870
987
|
const pct = Math.min(100, Math.max(0, value2));
|
|
871
988
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
872
989
|
"div",
|
|
@@ -888,7 +1005,20 @@ function ProgressBar({ value: value2, size = "md", tone = "neutral", className }
|
|
|
888
1005
|
}
|
|
889
1006
|
var avatar = createRuntimeFn.createRuntimeFn({ defaultClassName: "Avatar_avatar__16f6qlf0", variantClassNames: { size: { sm: "Avatar_avatar_size_sm__16f6qlf1", md: "Avatar_avatar_size_md__16f6qlf2", lg: "Avatar_avatar_size_lg__16f6qlf3" }, tone: { moss: "Avatar_avatar_tone_moss__16f6qlf4", neutral: "Avatar_avatar_tone_neutral__16f6qlf5" } }, defaultVariants: { size: "md", tone: "neutral" }, compoundVariants: [] });
|
|
890
1007
|
var initials = "Avatar_initials__16f6qlf6";
|
|
891
|
-
|
|
1008
|
+
var avatarPx = { sm: "24px", md: "32px", lg: "40px" };
|
|
1009
|
+
function Avatar({ initials: initials2, size = "md", tone = "neutral", loading = false, className }) {
|
|
1010
|
+
if (loading) {
|
|
1011
|
+
const px = avatarPx[size];
|
|
1012
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1013
|
+
Skeleton,
|
|
1014
|
+
{
|
|
1015
|
+
block: true,
|
|
1016
|
+
height: px,
|
|
1017
|
+
className,
|
|
1018
|
+
style: { width: px, borderRadius: "50%", flexShrink: 0 }
|
|
1019
|
+
}
|
|
1020
|
+
);
|
|
1021
|
+
}
|
|
892
1022
|
const display2 = initials2.slice(0, 2).toUpperCase();
|
|
893
1023
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
894
1024
|
"span",
|
|
@@ -1031,6 +1161,7 @@ var thSortable = "Table_thSortable__1a2tbys5 Table_th__1a2tbys4";
|
|
|
1031
1161
|
var thead = "Table_thead__1a2tbys3";
|
|
1032
1162
|
var toolbar = "Table_toolbar__1a2tbysa";
|
|
1033
1163
|
var tr = "Table_tr__1a2tbys7";
|
|
1164
|
+
var skeletonWidths = ["75%", "90%", "65%", "85%", "70%", "95%", "60%", "80%"];
|
|
1034
1165
|
function buildPageWindow(current, total, window2) {
|
|
1035
1166
|
const pages = /* @__PURE__ */ new Set();
|
|
1036
1167
|
pages.add(0);
|
|
@@ -1068,6 +1199,7 @@ function Table({
|
|
|
1068
1199
|
height,
|
|
1069
1200
|
toolbar: toolbar2,
|
|
1070
1201
|
emptyState: emptyState2,
|
|
1202
|
+
loading = false,
|
|
1071
1203
|
className
|
|
1072
1204
|
}) {
|
|
1073
1205
|
const [internalSortKey, setInternalSortKey] = react.useState(defaultSortKey ?? null);
|
|
@@ -1128,7 +1260,7 @@ function Table({
|
|
|
1128
1260
|
},
|
|
1129
1261
|
col.key
|
|
1130
1262
|
)) }) }),
|
|
1131
|
-
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: data.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: columns.length, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: emptyState, children: emptyState2 ?? "No data." }) }) }) : sortedData.map((row) => {
|
|
1263
|
+
/* @__PURE__ */ jsxRuntime.jsx("tbody", { children: loading ? Array.from({ length: pageSize ?? 10 }, (_, i) => /* @__PURE__ */ jsxRuntime.jsx("tr", { className: tr, "aria-hidden": "true", children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: col.mono ? tdMono : td, children: /* @__PURE__ */ jsxRuntime.jsx(Skeleton, { width: col.width ? "80%" : skeletonWidths[i % skeletonWidths.length] }) }, col.key)) }, i)) : data.length === 0 ? /* @__PURE__ */ jsxRuntime.jsx("tr", { children: /* @__PURE__ */ jsxRuntime.jsx("td", { colSpan: columns.length, children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: emptyState, children: emptyState2 ?? "No data." }) }) }) : sortedData.map((row) => {
|
|
1132
1264
|
const key = rowKey(row);
|
|
1133
1265
|
const isSelected = selectedKeys?.includes(key) ?? false;
|
|
1134
1266
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -1136,7 +1268,11 @@ function Table({
|
|
|
1136
1268
|
{
|
|
1137
1269
|
className: tr,
|
|
1138
1270
|
"data-selected": isSelected,
|
|
1139
|
-
onClick: onRowClick ? () =>
|
|
1271
|
+
onClick: onRowClick ? (e) => {
|
|
1272
|
+
const target = e.target;
|
|
1273
|
+
if (target.closest('a, button, input, select, textarea, [role="checkbox"], [role="button"]')) return;
|
|
1274
|
+
onRowClick(key, row);
|
|
1275
|
+
} : void 0,
|
|
1140
1276
|
style: onRowClick ? { cursor: "pointer" } : void 0,
|
|
1141
1277
|
children: columns.map((col) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: col.mono ? tdMono : td, children: col.render ? col.render(row) : String(row[col.key] ?? "") }, col.key))
|
|
1142
1278
|
},
|
|
@@ -1291,10 +1427,12 @@ function ToastProvider({ children }) {
|
|
|
1291
1427
|
}
|
|
1292
1428
|
|
|
1293
1429
|
// src/components/Checkbox/Checkbox.css.ts
|
|
1294
|
-
var indicator = "
|
|
1295
|
-
var label3 = "
|
|
1296
|
-
var root = "
|
|
1297
|
-
var
|
|
1430
|
+
var indicator = "Checkbox_indicator__nnmycq3";
|
|
1431
|
+
var label3 = "Checkbox_label__nnmycq4";
|
|
1432
|
+
var root = "Checkbox_root__nnmycq2";
|
|
1433
|
+
var statusIndicator2 = "Checkbox_statusIndicator__nnmycq5";
|
|
1434
|
+
var statusIndicatorVariants2 = { saving: "Checkbox_statusIndicatorVariants_saving__nnmycq6", saved: "Checkbox_statusIndicatorVariants_saved__nnmycq7", error: "Checkbox_statusIndicatorVariants_error__nnmycq8" };
|
|
1435
|
+
var wrapper2 = "Checkbox_wrapper__nnmycq1";
|
|
1298
1436
|
function Checkbox({
|
|
1299
1437
|
checked,
|
|
1300
1438
|
defaultChecked,
|
|
@@ -1302,6 +1440,7 @@ function Checkbox({
|
|
|
1302
1440
|
disabled,
|
|
1303
1441
|
label: label4,
|
|
1304
1442
|
id,
|
|
1443
|
+
status,
|
|
1305
1444
|
className,
|
|
1306
1445
|
"aria-label": ariaLabel
|
|
1307
1446
|
}) {
|
|
@@ -1320,7 +1459,8 @@ function Checkbox({
|
|
|
1320
1459
|
children: /* @__PURE__ */ jsxRuntime.jsx(RadixCheckbox__namespace.Indicator, { className: indicator, children: checked === "indeterminate" ? /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "10", height: "2", viewBox: "0 0 10 2", fill: "currentColor", children: /* @__PURE__ */ jsxRuntime.jsx("rect", { width: "10", height: "2", rx: "1" }) }) : /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("polyline", { points: "1,4 4,7 9,1" }) }) })
|
|
1321
1460
|
}
|
|
1322
1461
|
),
|
|
1323
|
-
label4 && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: resolvedId, className: label3, style: { cursor: disabled ? "not-allowed" : "pointer" }, children: label4 })
|
|
1462
|
+
label4 && /* @__PURE__ */ jsxRuntime.jsx("label", { htmlFor: resolvedId, className: label3, style: { cursor: disabled ? "not-allowed" : "pointer" }, children: label4 }),
|
|
1463
|
+
status && status !== "idle" && /* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIndicator2, statusIndicatorVariants2[status]].join(" "), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
1324
1464
|
] });
|
|
1325
1465
|
}
|
|
1326
1466
|
|
|
@@ -1365,7 +1505,10 @@ function Menu2({ trigger: trigger2, items, side = "bottom", align = "end", class
|
|
|
1365
1505
|
}
|
|
1366
1506
|
|
|
1367
1507
|
// src/components/DatePicker/DatePicker.css.ts
|
|
1368
|
-
var input = "
|
|
1508
|
+
var input = "DatePicker_input__1etdrw71";
|
|
1509
|
+
var statusIcon2 = "DatePicker_statusIcon__1etdrw73";
|
|
1510
|
+
var statusIconVariants2 = { saving: "DatePicker_statusIconVariants_saving__1etdrw74", saved: "DatePicker_statusIconVariants_saved__1etdrw75", error: "DatePicker_statusIconVariants_error__1etdrw76" };
|
|
1511
|
+
var wrapper3 = "DatePicker_wrapper__1etdrw72";
|
|
1369
1512
|
function DatePicker({
|
|
1370
1513
|
type = "date",
|
|
1371
1514
|
value: value2,
|
|
@@ -1374,11 +1517,13 @@ function DatePicker({
|
|
|
1374
1517
|
max,
|
|
1375
1518
|
disabled,
|
|
1376
1519
|
error,
|
|
1520
|
+
status,
|
|
1377
1521
|
placeholder,
|
|
1378
1522
|
className,
|
|
1379
1523
|
...rest
|
|
1380
1524
|
}) {
|
|
1381
|
-
|
|
1525
|
+
const hasStatus = status && status !== "idle";
|
|
1526
|
+
const input3 = /* @__PURE__ */ jsxRuntime.jsx(
|
|
1382
1527
|
"input",
|
|
1383
1528
|
{
|
|
1384
1529
|
type,
|
|
@@ -1389,10 +1534,16 @@ function DatePicker({
|
|
|
1389
1534
|
disabled,
|
|
1390
1535
|
placeholder,
|
|
1391
1536
|
"data-error": error || void 0,
|
|
1392
|
-
|
|
1537
|
+
"data-has-status": hasStatus || void 0,
|
|
1538
|
+
className: [input, !hasStatus && className].filter(Boolean).join(" "),
|
|
1393
1539
|
...rest
|
|
1394
1540
|
}
|
|
1395
1541
|
);
|
|
1542
|
+
if (!hasStatus) return input3;
|
|
1543
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: [wrapper3, className].filter(Boolean).join(" "), children: [
|
|
1544
|
+
input3,
|
|
1545
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: [statusIcon2, statusIconVariants2[status]].join(" "), "aria-hidden": "true", children: /* @__PURE__ */ jsxRuntime.jsx(Glyph, { name: status === "saving" ? "spinner" : status === "saved" ? "tick" : "cross", size: 12 }) })
|
|
1546
|
+
] });
|
|
1396
1547
|
}
|
|
1397
1548
|
|
|
1398
1549
|
// src/components/Combobox/Combobox.css.ts
|
|
@@ -1403,7 +1554,7 @@ var option = "Combobox_option__1irfr5o7";
|
|
|
1403
1554
|
var optionCheck = "Combobox_optionCheck__1irfr5o8";
|
|
1404
1555
|
var popover = "Combobox_popover__1irfr5o6";
|
|
1405
1556
|
var trigger = "Combobox_trigger__1irfr5o1";
|
|
1406
|
-
var
|
|
1557
|
+
var wrapper4 = "Combobox_wrapper__1irfr5o0";
|
|
1407
1558
|
function Combobox({
|
|
1408
1559
|
value: value2,
|
|
1409
1560
|
onChange,
|
|
@@ -1473,7 +1624,7 @@ function Combobox({
|
|
|
1473
1624
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1474
1625
|
"div",
|
|
1475
1626
|
{
|
|
1476
|
-
className: [
|
|
1627
|
+
className: [wrapper4, className].filter(Boolean).join(" "),
|
|
1477
1628
|
onClick: () => {
|
|
1478
1629
|
if (!disabled) inputRef.current?.focus();
|
|
1479
1630
|
},
|
|
@@ -1621,7 +1772,7 @@ function SingleCombobox({
|
|
|
1621
1772
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1622
1773
|
"div",
|
|
1623
1774
|
{
|
|
1624
|
-
className: [
|
|
1775
|
+
className: [wrapper4, className].filter(Boolean).join(" "),
|
|
1625
1776
|
onClick: () => {
|
|
1626
1777
|
if (!disabled) inputRef.current?.focus();
|
|
1627
1778
|
},
|
|
@@ -1820,7 +1971,7 @@ function Sparkline({
|
|
|
1820
1971
|
// src/components/KpiTile/KpiTile.css.ts
|
|
1821
1972
|
var inner = "KpiTile_inner__1yi98c61";
|
|
1822
1973
|
var value = "KpiTile_value__1yi98c62";
|
|
1823
|
-
var
|
|
1974
|
+
var wrapper5 = "KpiTile_wrapper__1yi98c60";
|
|
1824
1975
|
var deltaToneToBadge = {
|
|
1825
1976
|
positive: "saved",
|
|
1826
1977
|
negative: "stopped",
|
|
@@ -1833,16 +1984,22 @@ function KpiTile({
|
|
|
1833
1984
|
deltaTone = "neutral",
|
|
1834
1985
|
sparkData,
|
|
1835
1986
|
onClick,
|
|
1987
|
+
loading = false,
|
|
1836
1988
|
className
|
|
1837
1989
|
}) {
|
|
1838
1990
|
const inner2 = /* @__PURE__ */ jsxRuntime.jsx(Card, { variant: "stamp", padding: "md", ...className !== void 0 ? { className } : {}, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: inner, children: [
|
|
1839
1991
|
/* @__PURE__ */ jsxRuntime.jsx(Eyebrow, { children: label4 }),
|
|
1840
|
-
/* @__PURE__ */ jsxRuntime.
|
|
1841
|
-
|
|
1842
|
-
|
|
1992
|
+
loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1993
|
+
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { width: "55%" }),
|
|
1994
|
+
/* @__PURE__ */ jsxRuntime.jsx(Skeleton, { width: "70%" })
|
|
1995
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
1996
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: value, children: value2 }),
|
|
1997
|
+
delta && /* @__PURE__ */ jsxRuntime.jsx(Badge, { tone: deltaToneToBadge[deltaTone], dot: true, children: delta }),
|
|
1998
|
+
sparkData && sparkData.length >= 2 && /* @__PURE__ */ jsxRuntime.jsx(Sparkline, { data: sparkData, tone: deltaTone, width: 80, height: 24 })
|
|
1999
|
+
] })
|
|
1843
2000
|
] }) });
|
|
1844
2001
|
if (onClick) {
|
|
1845
|
-
return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick, className:
|
|
2002
|
+
return /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", onClick, className: wrapper5, children: inner2 });
|
|
1846
2003
|
}
|
|
1847
2004
|
return inner2;
|
|
1848
2005
|
}
|
|
@@ -1896,6 +2053,7 @@ exports.SearchInput = SearchInput;
|
|
|
1896
2053
|
exports.Select = Select;
|
|
1897
2054
|
exports.Sidebar = Sidebar;
|
|
1898
2055
|
exports.SingleCombobox = SingleCombobox;
|
|
2056
|
+
exports.Skeleton = Skeleton;
|
|
1899
2057
|
exports.Sparkline = Sparkline;
|
|
1900
2058
|
exports.StatePill = StatePill;
|
|
1901
2059
|
exports.Table = Table;
|