@zelelo/iskra-ui 0.1.1 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -1
- package/dist/index.cjs +348 -148
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +177 -45
- package/dist/index.css.map +1 -1
- package/dist/index.d.cts +41 -8
- package/dist/index.d.ts +41 -8
- package/dist/index.js +290 -93
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -389,28 +389,122 @@ var Checkbox = forwardRef2(
|
|
|
389
389
|
);
|
|
390
390
|
Checkbox.displayName = "Checkbox";
|
|
391
391
|
|
|
392
|
+
// src/components/Divider/Divider.tsx
|
|
393
|
+
import "react";
|
|
394
|
+
|
|
395
|
+
// src/components/Divider/Divider.module.css
|
|
396
|
+
var Divider_default = {
|
|
397
|
+
divider: "Divider_divider",
|
|
398
|
+
horizontal: "Divider_horizontal",
|
|
399
|
+
vertical: "Divider_vertical",
|
|
400
|
+
withLabel: "Divider_withLabel",
|
|
401
|
+
label: "Divider_label",
|
|
402
|
+
start: "Divider_start",
|
|
403
|
+
end: "Divider_end"
|
|
404
|
+
};
|
|
405
|
+
|
|
406
|
+
// src/components/Divider/Divider.tsx
|
|
407
|
+
import { jsx as jsx11 } from "react/jsx-runtime";
|
|
408
|
+
var Divider = ({
|
|
409
|
+
orientation = "horizontal",
|
|
410
|
+
decorative = false,
|
|
411
|
+
thickness,
|
|
412
|
+
labelPosition = "center",
|
|
413
|
+
className,
|
|
414
|
+
style,
|
|
415
|
+
children,
|
|
416
|
+
...props
|
|
417
|
+
}) => {
|
|
418
|
+
const hasLabel = Boolean(children) && orientation === "horizontal";
|
|
419
|
+
const classes = cx(
|
|
420
|
+
Divider_default.divider,
|
|
421
|
+
Divider_default[orientation],
|
|
422
|
+
hasLabel && Divider_default.withLabel,
|
|
423
|
+
hasLabel && Divider_default[labelPosition],
|
|
424
|
+
className
|
|
425
|
+
);
|
|
426
|
+
return /* @__PURE__ */ jsx11(
|
|
427
|
+
"div",
|
|
428
|
+
{
|
|
429
|
+
className: classes,
|
|
430
|
+
style: { ...style, "--divider-thickness": toCss(thickness) },
|
|
431
|
+
role: hasLabel ? void 0 : decorative ? "none" : "separator",
|
|
432
|
+
"aria-orientation": !decorative && orientation === "vertical" ? "vertical" : void 0,
|
|
433
|
+
...props,
|
|
434
|
+
children: hasLabel && /* @__PURE__ */ jsx11("span", { className: Divider_default.label, children })
|
|
435
|
+
}
|
|
436
|
+
);
|
|
437
|
+
};
|
|
438
|
+
Divider.displayName = "Divider";
|
|
439
|
+
|
|
392
440
|
// src/components/Input/Input.tsx
|
|
393
|
-
import { forwardRef as forwardRef3
|
|
441
|
+
import { forwardRef as forwardRef3 } from "react";
|
|
442
|
+
|
|
443
|
+
// src/components/FormField/FormField.tsx
|
|
444
|
+
import { useId as useId3 } from "react";
|
|
445
|
+
|
|
446
|
+
// src/components/FormField/FormField.module.css
|
|
447
|
+
var FormField_default = {
|
|
448
|
+
sm: "FormField_sm",
|
|
449
|
+
md: "FormField_md",
|
|
450
|
+
lg: "FormField_lg",
|
|
451
|
+
root: "FormField_root",
|
|
452
|
+
label: "FormField_label",
|
|
453
|
+
required: "FormField_required",
|
|
454
|
+
box: "FormField_box",
|
|
455
|
+
disabled: "FormField_disabled",
|
|
456
|
+
invalid: "FormField_invalid",
|
|
457
|
+
message: "FormField_message",
|
|
458
|
+
error: "FormField_error"
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
// src/components/FormField/FormField.tsx
|
|
462
|
+
import { jsx as jsx12, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
463
|
+
var FormField = ({
|
|
464
|
+
id,
|
|
465
|
+
label,
|
|
466
|
+
hint,
|
|
467
|
+
error,
|
|
468
|
+
required,
|
|
469
|
+
disabled,
|
|
470
|
+
size = "md",
|
|
471
|
+
className,
|
|
472
|
+
"aria-describedby": ariaDescribedBy,
|
|
473
|
+
children
|
|
474
|
+
}) => {
|
|
475
|
+
const autoId = useId3();
|
|
476
|
+
const controlId = id ?? autoId;
|
|
477
|
+
const hasError = Boolean(error);
|
|
478
|
+
const message = hasError ? error : hint;
|
|
479
|
+
const messageId = message ? `${controlId}-message` : void 0;
|
|
480
|
+
const describedBy = [ariaDescribedBy, messageId].filter(Boolean).join(" ") || void 0;
|
|
481
|
+
return /* @__PURE__ */ jsxs4("div", { className: cx(FormField_default.root, FormField_default[size], className), children: [
|
|
482
|
+
label && /* @__PURE__ */ jsxs4("label", { htmlFor: controlId, className: FormField_default.label, children: [
|
|
483
|
+
label,
|
|
484
|
+
required && /* @__PURE__ */ jsx12("span", { className: FormField_default.required, "aria-hidden": "true", children: " *" })
|
|
485
|
+
] }),
|
|
486
|
+
children({
|
|
487
|
+
controlProps: {
|
|
488
|
+
id: controlId,
|
|
489
|
+
"aria-describedby": describedBy,
|
|
490
|
+
"aria-invalid": hasError || void 0
|
|
491
|
+
},
|
|
492
|
+
boxClassName: cx(FormField_default.box, hasError && FormField_default.invalid, disabled && FormField_default.disabled)
|
|
493
|
+
}),
|
|
494
|
+
message && /* @__PURE__ */ jsx12("p", { id: messageId, className: cx(FormField_default.message, hasError && FormField_default.error), children: message })
|
|
495
|
+
] });
|
|
496
|
+
};
|
|
497
|
+
FormField.displayName = "FormField";
|
|
394
498
|
|
|
395
499
|
// src/components/Input/Input.module.css
|
|
396
500
|
var Input_default = {
|
|
397
|
-
|
|
398
|
-
md: "Input_md",
|
|
399
|
-
lg: "Input_lg",
|
|
400
|
-
root: "Input_root",
|
|
401
|
-
label: "Input_label",
|
|
402
|
-
required: "Input_required",
|
|
403
|
-
field: "Input_field",
|
|
404
|
-
disabled: "Input_disabled",
|
|
405
|
-
invalid: "Input_invalid",
|
|
501
|
+
box: "Input_box",
|
|
406
502
|
input: "Input_input",
|
|
407
|
-
icon: "Input_icon"
|
|
408
|
-
message: "Input_message",
|
|
409
|
-
error: "Input_error"
|
|
503
|
+
icon: "Input_icon"
|
|
410
504
|
};
|
|
411
505
|
|
|
412
506
|
// src/components/Input/Input.tsx
|
|
413
|
-
import { jsx as
|
|
507
|
+
import { jsx as jsx13, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
414
508
|
var Input = forwardRef3(
|
|
415
509
|
({
|
|
416
510
|
size = "md",
|
|
@@ -425,39 +519,35 @@ var Input = forwardRef3(
|
|
|
425
519
|
disabled,
|
|
426
520
|
"aria-describedby": ariaDescribedBy,
|
|
427
521
|
...props
|
|
428
|
-
}, ref) =>
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
/* @__PURE__ */ jsx11(
|
|
522
|
+
}, ref) => /* @__PURE__ */ jsx13(
|
|
523
|
+
FormField,
|
|
524
|
+
{
|
|
525
|
+
id,
|
|
526
|
+
size,
|
|
527
|
+
label,
|
|
528
|
+
hint,
|
|
529
|
+
error,
|
|
530
|
+
required,
|
|
531
|
+
disabled,
|
|
532
|
+
className,
|
|
533
|
+
"aria-describedby": ariaDescribedBy,
|
|
534
|
+
children: ({ controlProps, boxClassName }) => /* @__PURE__ */ jsxs5("div", { className: cx(boxClassName, Input_default.box), children: [
|
|
535
|
+
startIcon && /* @__PURE__ */ jsx13("span", { className: Input_default.icon, children: startIcon }),
|
|
536
|
+
/* @__PURE__ */ jsx13(
|
|
444
537
|
"input",
|
|
445
538
|
{
|
|
446
539
|
ref,
|
|
447
|
-
|
|
540
|
+
...controlProps,
|
|
448
541
|
required,
|
|
449
542
|
disabled,
|
|
450
|
-
"aria-invalid": hasError || void 0,
|
|
451
|
-
"aria-describedby": describeBy,
|
|
452
543
|
className: Input_default.input,
|
|
453
544
|
...props
|
|
454
545
|
}
|
|
455
546
|
),
|
|
456
|
-
endIcon && /* @__PURE__ */
|
|
457
|
-
] })
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
}
|
|
547
|
+
endIcon && /* @__PURE__ */ jsx13("span", { className: Input_default.icon, children: endIcon })
|
|
548
|
+
] })
|
|
549
|
+
}
|
|
550
|
+
)
|
|
461
551
|
);
|
|
462
552
|
Input.displayName = "Input";
|
|
463
553
|
|
|
@@ -481,7 +571,7 @@ var Modal_default = {
|
|
|
481
571
|
};
|
|
482
572
|
|
|
483
573
|
// src/components/Modal/Modal.tsx
|
|
484
|
-
import { jsx as
|
|
574
|
+
import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
485
575
|
var Modal = ({
|
|
486
576
|
open,
|
|
487
577
|
onClose,
|
|
@@ -504,7 +594,7 @@ var Modal = ({
|
|
|
504
594
|
return (
|
|
505
595
|
// Escape у <dialog> уже закрывает модалку с клавиатуры
|
|
506
596
|
// oxlint-disable-next-line jsx-a11y/click-events-have-key-events jsx-a11y/no-noninteractive-element-interactions
|
|
507
|
-
/* @__PURE__ */
|
|
597
|
+
/* @__PURE__ */ jsx14(
|
|
508
598
|
"dialog",
|
|
509
599
|
{
|
|
510
600
|
ref,
|
|
@@ -513,13 +603,13 @@ var Modal = ({
|
|
|
513
603
|
"aria-labelledby": title ? titleId : void 0,
|
|
514
604
|
onClose,
|
|
515
605
|
onClick: (e) => e.target === e.currentTarget && close(),
|
|
516
|
-
children: /* @__PURE__ */
|
|
517
|
-
title && /* @__PURE__ */
|
|
518
|
-
/* @__PURE__ */
|
|
519
|
-
/* @__PURE__ */
|
|
606
|
+
children: /* @__PURE__ */ jsxs6("div", { className: Modal_default.content, children: [
|
|
607
|
+
title && /* @__PURE__ */ jsxs6("header", { className: Modal_default.header, children: [
|
|
608
|
+
/* @__PURE__ */ jsx14("h2", { id: titleId, className: Modal_default.title, children: title }),
|
|
609
|
+
/* @__PURE__ */ jsx14("button", { type: "button", className: Modal_default.close, "aria-label": "\u0417\u0430\u043A\u0440\u044B\u0442\u044C", onClick: close, children: "\xD7" })
|
|
520
610
|
] }),
|
|
521
|
-
/* @__PURE__ */
|
|
522
|
-
footer && /* @__PURE__ */
|
|
611
|
+
/* @__PURE__ */ jsx14("div", { className: Modal_default.body, children }),
|
|
612
|
+
footer && /* @__PURE__ */ jsx14("footer", { className: Modal_default.footer, children: footer })
|
|
523
613
|
] })
|
|
524
614
|
}
|
|
525
615
|
)
|
|
@@ -527,6 +617,56 @@ var Modal = ({
|
|
|
527
617
|
};
|
|
528
618
|
Modal.displayName = "Modal";
|
|
529
619
|
|
|
620
|
+
// src/components/ProgressBar/ProgressBar.module.css
|
|
621
|
+
var ProgressBar_default = {
|
|
622
|
+
progress: "ProgressBar_progress",
|
|
623
|
+
sm: "ProgressBar_sm",
|
|
624
|
+
md: "ProgressBar_md",
|
|
625
|
+
lg: "ProgressBar_lg",
|
|
626
|
+
success: "ProgressBar_success",
|
|
627
|
+
danger: "ProgressBar_danger",
|
|
628
|
+
fill: "ProgressBar_fill",
|
|
629
|
+
indeterminate: "ProgressBar_indeterminate"
|
|
630
|
+
};
|
|
631
|
+
|
|
632
|
+
// src/components/ProgressBar/ProgressBar.tsx
|
|
633
|
+
import { jsx as jsx15 } from "react/jsx-runtime";
|
|
634
|
+
var ProgressBar = ({
|
|
635
|
+
value,
|
|
636
|
+
max = 100,
|
|
637
|
+
size = "md",
|
|
638
|
+
variant = "accent",
|
|
639
|
+
className,
|
|
640
|
+
style,
|
|
641
|
+
...props
|
|
642
|
+
}) => {
|
|
643
|
+
const isIndenterminate = value === void 0;
|
|
644
|
+
const safeMax = max > 0 ? max : 100;
|
|
645
|
+
const clamped = isIndenterminate ? 0 : Math.min(Math.max(value, 0), safeMax);
|
|
646
|
+
const percent = clamped / safeMax * 100;
|
|
647
|
+
const classes = cx(
|
|
648
|
+
ProgressBar_default.progress,
|
|
649
|
+
ProgressBar_default[size],
|
|
650
|
+
ProgressBar_default[variant],
|
|
651
|
+
isIndenterminate && ProgressBar_default.indeterminate,
|
|
652
|
+
className
|
|
653
|
+
);
|
|
654
|
+
return /* @__PURE__ */ jsx15(
|
|
655
|
+
"div",
|
|
656
|
+
{
|
|
657
|
+
className: classes,
|
|
658
|
+
style: { ...style, "--progress-offset": `${percent - 100}%` },
|
|
659
|
+
role: "progressbar",
|
|
660
|
+
"aria-valuemin": 0,
|
|
661
|
+
"aria-valuemax": safeMax,
|
|
662
|
+
"aria-valuenow": isIndenterminate ? void 0 : clamped,
|
|
663
|
+
...props,
|
|
664
|
+
children: /* @__PURE__ */ jsx15("div", { className: ProgressBar_default.fill })
|
|
665
|
+
}
|
|
666
|
+
);
|
|
667
|
+
};
|
|
668
|
+
ProgressBar.displayName = "ProgressBar";
|
|
669
|
+
|
|
530
670
|
// src/components/Radio/Radio.tsx
|
|
531
671
|
import { forwardRef as forwardRef4, useContext as useContext3, useId as useId5 } from "react";
|
|
532
672
|
|
|
@@ -549,7 +689,7 @@ var Radio_default = {
|
|
|
549
689
|
};
|
|
550
690
|
|
|
551
691
|
// src/components/Radio/Radio.tsx
|
|
552
|
-
import { jsx as
|
|
692
|
+
import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
553
693
|
var Radio = forwardRef4(
|
|
554
694
|
({
|
|
555
695
|
size = "md",
|
|
@@ -580,7 +720,7 @@ var Radio = forwardRef4(
|
|
|
580
720
|
onChange?.(event);
|
|
581
721
|
group?.onChange(event.target.value);
|
|
582
722
|
};
|
|
583
|
-
return /* @__PURE__ */
|
|
723
|
+
return /* @__PURE__ */ jsxs7(
|
|
584
724
|
"div",
|
|
585
725
|
{
|
|
586
726
|
className: cx(
|
|
@@ -591,8 +731,8 @@ var Radio = forwardRef4(
|
|
|
591
731
|
className
|
|
592
732
|
),
|
|
593
733
|
children: [
|
|
594
|
-
/* @__PURE__ */
|
|
595
|
-
/* @__PURE__ */
|
|
734
|
+
/* @__PURE__ */ jsxs7("label", { className: Radio_default.label, children: [
|
|
735
|
+
/* @__PURE__ */ jsx16(
|
|
596
736
|
"input",
|
|
597
737
|
{
|
|
598
738
|
ref,
|
|
@@ -610,9 +750,9 @@ var Radio = forwardRef4(
|
|
|
610
750
|
}
|
|
611
751
|
),
|
|
612
752
|
label,
|
|
613
|
-
required && !group && /* @__PURE__ */
|
|
753
|
+
required && !group && /* @__PURE__ */ jsx16("span", { className: Radio_default.required, "aria-hidden": "true", children: " *" })
|
|
614
754
|
] }),
|
|
615
|
-
hasError && /* @__PURE__ */
|
|
755
|
+
hasError && /* @__PURE__ */ jsx16("p", { id: messageId, className: Radio_default.error, children: error })
|
|
616
756
|
]
|
|
617
757
|
}
|
|
618
758
|
);
|
|
@@ -625,7 +765,7 @@ import { useId as useId7 } from "react";
|
|
|
625
765
|
|
|
626
766
|
// src/components/RadioGroup/RadioGroupProvider/RadioGroupProvider.tsx
|
|
627
767
|
import { useId as useId6, useState as useState3 } from "react";
|
|
628
|
-
import { jsx as
|
|
768
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
629
769
|
var RadioGroupProvider = ({
|
|
630
770
|
name,
|
|
631
771
|
value: controlledValue,
|
|
@@ -646,7 +786,7 @@ var RadioGroupProvider = ({
|
|
|
646
786
|
}
|
|
647
787
|
onChange?.(newValue);
|
|
648
788
|
};
|
|
649
|
-
return /* @__PURE__ */
|
|
789
|
+
return /* @__PURE__ */ jsx17(
|
|
650
790
|
RadioGroupContext.Provider,
|
|
651
791
|
{
|
|
652
792
|
value: {
|
|
@@ -672,7 +812,7 @@ var RadioGroup_default = {
|
|
|
672
812
|
};
|
|
673
813
|
|
|
674
814
|
// src/components/RadioGroup/RadioGroup.tsx
|
|
675
|
-
import { jsx as
|
|
815
|
+
import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
676
816
|
var RadioGroup = ({
|
|
677
817
|
value,
|
|
678
818
|
defaultValue,
|
|
@@ -689,7 +829,7 @@ var RadioGroup = ({
|
|
|
689
829
|
const labelId = useId7();
|
|
690
830
|
const messageId = useId7();
|
|
691
831
|
const hasError = Boolean(error);
|
|
692
|
-
return /* @__PURE__ */
|
|
832
|
+
return /* @__PURE__ */ jsx18(
|
|
693
833
|
RadioGroupProvider,
|
|
694
834
|
{
|
|
695
835
|
name,
|
|
@@ -698,7 +838,7 @@ var RadioGroup = ({
|
|
|
698
838
|
onChange,
|
|
699
839
|
disabled,
|
|
700
840
|
required,
|
|
701
|
-
children: /* @__PURE__ */
|
|
841
|
+
children: /* @__PURE__ */ jsxs8(
|
|
702
842
|
"div",
|
|
703
843
|
{
|
|
704
844
|
className: cx(RadioGroup_default.root, disabled && RadioGroup_default.disabled, className),
|
|
@@ -709,12 +849,12 @@ var RadioGroup = ({
|
|
|
709
849
|
"aria-required": required || void 0,
|
|
710
850
|
...props,
|
|
711
851
|
children: [
|
|
712
|
-
label && /* @__PURE__ */
|
|
852
|
+
label && /* @__PURE__ */ jsxs8("div", { id: labelId, className: RadioGroup_default.groupLabel, children: [
|
|
713
853
|
label,
|
|
714
|
-
required && /* @__PURE__ */
|
|
854
|
+
required && /* @__PURE__ */ jsx18("span", { className: RadioGroup_default.required, "aria-hidden": "true", children: " *" })
|
|
715
855
|
] }),
|
|
716
|
-
/* @__PURE__ */
|
|
717
|
-
hasError && /* @__PURE__ */
|
|
856
|
+
/* @__PURE__ */ jsx18("div", { className: RadioGroup_default.options, children }),
|
|
857
|
+
hasError && /* @__PURE__ */ jsx18("p", { id: messageId, className: RadioGroup_default.error, children: error })
|
|
718
858
|
]
|
|
719
859
|
}
|
|
720
860
|
)
|
|
@@ -737,7 +877,7 @@ var Skeleton_default = {
|
|
|
737
877
|
};
|
|
738
878
|
|
|
739
879
|
// src/components/Skeleton/Skeleton.tsx
|
|
740
|
-
import { jsx as
|
|
880
|
+
import { jsx as jsx19 } from "react/jsx-runtime";
|
|
741
881
|
var Skeleton = ({
|
|
742
882
|
variant = "text",
|
|
743
883
|
width,
|
|
@@ -761,14 +901,14 @@ var Skeleton = ({
|
|
|
761
901
|
borderRadius: toCss(radius)
|
|
762
902
|
};
|
|
763
903
|
if (variant === "text" && lines > 1) {
|
|
764
|
-
return /* @__PURE__ */
|
|
904
|
+
return /* @__PURE__ */ jsx19(
|
|
765
905
|
"span",
|
|
766
906
|
{
|
|
767
907
|
className: cx(Skeleton_default.lines, className),
|
|
768
908
|
style: { width: sizeStyle.width, ...style },
|
|
769
909
|
"aria-hidden": "true",
|
|
770
910
|
...props,
|
|
771
|
-
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */
|
|
911
|
+
children: Array.from({ length: lines }, (_, i) => /* @__PURE__ */ jsx19(
|
|
772
912
|
"span",
|
|
773
913
|
{
|
|
774
914
|
className: baseClasses,
|
|
@@ -779,14 +919,14 @@ var Skeleton = ({
|
|
|
779
919
|
}
|
|
780
920
|
);
|
|
781
921
|
}
|
|
782
|
-
return /* @__PURE__ */
|
|
922
|
+
return /* @__PURE__ */ jsx19(
|
|
783
923
|
"span",
|
|
784
924
|
{
|
|
785
925
|
className: cx(baseClasses, children != null && Skeleton_default.withChildren, className),
|
|
786
926
|
style: { ...sizeStyle, ...style },
|
|
787
927
|
"aria-hidden": "true",
|
|
788
928
|
...props,
|
|
789
|
-
children: children != null && /* @__PURE__ */
|
|
929
|
+
children: children != null && /* @__PURE__ */ jsx19("span", { className: Skeleton_default.hidden, children })
|
|
790
930
|
}
|
|
791
931
|
);
|
|
792
932
|
};
|
|
@@ -816,7 +956,7 @@ var Spinner_default = {
|
|
|
816
956
|
};
|
|
817
957
|
|
|
818
958
|
// src/components/Spinner/Spinner.tsx
|
|
819
|
-
import { jsx as
|
|
959
|
+
import { jsx as jsx20 } from "react/jsx-runtime";
|
|
820
960
|
var Spinner = ({
|
|
821
961
|
variant = "circle",
|
|
822
962
|
size = "md",
|
|
@@ -827,7 +967,7 @@ var Spinner = ({
|
|
|
827
967
|
...props
|
|
828
968
|
}) => {
|
|
829
969
|
const { items } = SPINNER_VARIANTS[variant];
|
|
830
|
-
return /* @__PURE__ */
|
|
970
|
+
return /* @__PURE__ */ jsx20(
|
|
831
971
|
"span",
|
|
832
972
|
{
|
|
833
973
|
role: "status",
|
|
@@ -835,7 +975,7 @@ var Spinner = ({
|
|
|
835
975
|
className: cx(Spinner_default.spinner, Spinner_default[variant], Spinner_default[size], className),
|
|
836
976
|
style: { ...style, ...color && { color } },
|
|
837
977
|
...props,
|
|
838
|
-
children: Array.from({ length: items }, (_, i) => /* @__PURE__ */
|
|
978
|
+
children: Array.from({ length: items }, (_, i) => /* @__PURE__ */ jsx20("span", { className: Spinner_default.item, style: { "--i": i } }, i))
|
|
839
979
|
}
|
|
840
980
|
);
|
|
841
981
|
};
|
|
@@ -857,10 +997,10 @@ var Switch_default = {
|
|
|
857
997
|
};
|
|
858
998
|
|
|
859
999
|
// src/components/Switch/Switch.tsx
|
|
860
|
-
import { jsx as
|
|
1000
|
+
import { jsx as jsx21, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
861
1001
|
var Switch = forwardRef5(
|
|
862
|
-
({ size = "md", label, className, disabled, ...props }, ref) => /* @__PURE__ */
|
|
863
|
-
/* @__PURE__ */
|
|
1002
|
+
({ size = "md", label, className, disabled, ...props }, ref) => /* @__PURE__ */ jsxs9("label", { className: cx(Switch_default.root, Switch_default[size], disabled && Switch_default.disabled, className), children: [
|
|
1003
|
+
/* @__PURE__ */ jsx21(
|
|
864
1004
|
"input",
|
|
865
1005
|
{
|
|
866
1006
|
ref,
|
|
@@ -872,8 +1012,8 @@ var Switch = forwardRef5(
|
|
|
872
1012
|
...props
|
|
873
1013
|
}
|
|
874
1014
|
),
|
|
875
|
-
/* @__PURE__ */
|
|
876
|
-
label && /* @__PURE__ */
|
|
1015
|
+
/* @__PURE__ */ jsx21("span", { className: Switch_default.track, "aria-hidden": "true", children: /* @__PURE__ */ jsx21("span", { className: Switch_default.thumb }) }),
|
|
1016
|
+
label && /* @__PURE__ */ jsx21("span", { className: Switch_default.label, children: label })
|
|
877
1017
|
] })
|
|
878
1018
|
);
|
|
879
1019
|
|
|
@@ -889,7 +1029,7 @@ var Tabs_default = {
|
|
|
889
1029
|
};
|
|
890
1030
|
|
|
891
1031
|
// src/components/Tabs/Tabs.tsx
|
|
892
|
-
import { jsx as
|
|
1032
|
+
import { jsx as jsx22, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
893
1033
|
var Tabs = ({ items, defaultValue, onChange, className }) => {
|
|
894
1034
|
const [active, setActive] = useState4(() => {
|
|
895
1035
|
const isSelectable = items.some((item) => item.value === defaultValue && !item.disabled);
|
|
@@ -927,10 +1067,10 @@ var Tabs = ({ items, defaultValue, onChange, className }) => {
|
|
|
927
1067
|
tabRefs.current[next]?.focus();
|
|
928
1068
|
select(items[next].value);
|
|
929
1069
|
};
|
|
930
|
-
return /* @__PURE__ */
|
|
931
|
-
/* @__PURE__ */
|
|
1070
|
+
return /* @__PURE__ */ jsxs10("div", { className: cx(Tabs_default.tabs, className), children: [
|
|
1071
|
+
/* @__PURE__ */ jsx22("div", { role: "tablist", className: Tabs_default.list, children: items.map((item, index) => {
|
|
932
1072
|
const selected = index === activeIndex;
|
|
933
|
-
return /* @__PURE__ */
|
|
1073
|
+
return /* @__PURE__ */ jsx22(
|
|
934
1074
|
"button",
|
|
935
1075
|
{
|
|
936
1076
|
ref: (el) => {
|
|
@@ -951,7 +1091,7 @@ var Tabs = ({ items, defaultValue, onChange, className }) => {
|
|
|
951
1091
|
item.value
|
|
952
1092
|
);
|
|
953
1093
|
}) }),
|
|
954
|
-
/* @__PURE__ */
|
|
1094
|
+
/* @__PURE__ */ jsx22(
|
|
955
1095
|
"div",
|
|
956
1096
|
{
|
|
957
1097
|
role: "tabpanel",
|
|
@@ -966,6 +1106,60 @@ var Tabs = ({ items, defaultValue, onChange, className }) => {
|
|
|
966
1106
|
};
|
|
967
1107
|
Tabs.displayName = "Tabs";
|
|
968
1108
|
|
|
1109
|
+
// src/components/Textarea/Textarea.tsx
|
|
1110
|
+
import { forwardRef as forwardRef6 } from "react";
|
|
1111
|
+
|
|
1112
|
+
// src/components/Textarea/Textarea.module.css
|
|
1113
|
+
var Textarea_default = {
|
|
1114
|
+
textarea: "Textarea_textarea",
|
|
1115
|
+
resizeNone: "Textarea_resizeNone"
|
|
1116
|
+
};
|
|
1117
|
+
|
|
1118
|
+
// src/components/Textarea/Textarea.tsx
|
|
1119
|
+
import { jsx as jsx23 } from "react/jsx-runtime";
|
|
1120
|
+
var Textarea = forwardRef6(
|
|
1121
|
+
({
|
|
1122
|
+
size = "md",
|
|
1123
|
+
label,
|
|
1124
|
+
hint,
|
|
1125
|
+
error,
|
|
1126
|
+
resize = "vertical",
|
|
1127
|
+
rows = 3,
|
|
1128
|
+
className,
|
|
1129
|
+
id,
|
|
1130
|
+
required,
|
|
1131
|
+
disabled,
|
|
1132
|
+
"aria-describedby": ariaDescribedBy,
|
|
1133
|
+
...props
|
|
1134
|
+
}, ref) => /* @__PURE__ */ jsx23(
|
|
1135
|
+
FormField,
|
|
1136
|
+
{
|
|
1137
|
+
id,
|
|
1138
|
+
size,
|
|
1139
|
+
label,
|
|
1140
|
+
hint,
|
|
1141
|
+
error,
|
|
1142
|
+
required,
|
|
1143
|
+
disabled,
|
|
1144
|
+
className,
|
|
1145
|
+
"aria-describedby": ariaDescribedBy,
|
|
1146
|
+
children: ({ controlProps, boxClassName }) => /* @__PURE__ */ jsx23(
|
|
1147
|
+
"textarea",
|
|
1148
|
+
{
|
|
1149
|
+
ref,
|
|
1150
|
+
...controlProps,
|
|
1151
|
+
rows,
|
|
1152
|
+
required,
|
|
1153
|
+
disabled,
|
|
1154
|
+
className: cx(boxClassName, Textarea_default.textarea, resize === "none" && Textarea_default.resizeNone),
|
|
1155
|
+
...props
|
|
1156
|
+
}
|
|
1157
|
+
)
|
|
1158
|
+
}
|
|
1159
|
+
)
|
|
1160
|
+
);
|
|
1161
|
+
Textarea.displayName = "Textarea";
|
|
1162
|
+
|
|
969
1163
|
// src/components/Toast/Toast.tsx
|
|
970
1164
|
import { useCallback, useEffect as useEffect3, useRef as useRef4, useState as useState5 } from "react";
|
|
971
1165
|
|
|
@@ -984,7 +1178,7 @@ var Toast_default = {
|
|
|
984
1178
|
};
|
|
985
1179
|
|
|
986
1180
|
// src/components/Toast/Toast.tsx
|
|
987
|
-
import { jsx as
|
|
1181
|
+
import { jsx as jsx24, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
988
1182
|
var Toast = ({
|
|
989
1183
|
variant = "info",
|
|
990
1184
|
title,
|
|
@@ -1040,7 +1234,7 @@ var Toast = ({
|
|
|
1040
1234
|
return null;
|
|
1041
1235
|
}
|
|
1042
1236
|
const classes = cx(Toast_default.toast, Toast_default[variant], className);
|
|
1043
|
-
return /* @__PURE__ */
|
|
1237
|
+
return /* @__PURE__ */ jsxs11(
|
|
1044
1238
|
"div",
|
|
1045
1239
|
{
|
|
1046
1240
|
className: classes,
|
|
@@ -1048,11 +1242,11 @@ var Toast = ({
|
|
|
1048
1242
|
onMouseLeave: handleMouseLeave,
|
|
1049
1243
|
...props,
|
|
1050
1244
|
children: [
|
|
1051
|
-
/* @__PURE__ */
|
|
1052
|
-
title && /* @__PURE__ */
|
|
1053
|
-
children && /* @__PURE__ */
|
|
1245
|
+
/* @__PURE__ */ jsxs11("div", { className: Toast_default.content, role: "status", "aria-live": "polite", children: [
|
|
1246
|
+
title && /* @__PURE__ */ jsx24("div", { className: Toast_default.title, children: title }),
|
|
1247
|
+
children && /* @__PURE__ */ jsx24("div", { className: Toast_default.description, children })
|
|
1054
1248
|
] }),
|
|
1055
|
-
closable && /* @__PURE__ */
|
|
1249
|
+
closable && /* @__PURE__ */ jsx24(
|
|
1056
1250
|
"button",
|
|
1057
1251
|
{
|
|
1058
1252
|
type: "button",
|
|
@@ -1084,7 +1278,7 @@ var ToastContainer_default = {
|
|
|
1084
1278
|
};
|
|
1085
1279
|
|
|
1086
1280
|
// src/components/Toast/ToastProvider/ToastProvider.tsx
|
|
1087
|
-
import { jsx as
|
|
1281
|
+
import { jsx as jsx25, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
1088
1282
|
var idCounter = 0;
|
|
1089
1283
|
var nextId = () => `toast-${Date.now()}-${idCounter++}`;
|
|
1090
1284
|
var ToastContext = createContext3(null);
|
|
@@ -1104,10 +1298,10 @@ var ToastProvider = ({
|
|
|
1104
1298
|
const value = useMemo(() => {
|
|
1105
1299
|
return { show, close };
|
|
1106
1300
|
}, [show, close]);
|
|
1107
|
-
return /* @__PURE__ */
|
|
1301
|
+
return /* @__PURE__ */ jsxs12(ToastContext.Provider, { value, children: [
|
|
1108
1302
|
children,
|
|
1109
1303
|
typeof document !== "undefined" && createPortal(
|
|
1110
|
-
/* @__PURE__ */
|
|
1304
|
+
/* @__PURE__ */ jsx25("div", { className: cx(ToastContainer_default.container, ToastContainer_default[position]), children: toasts.map(({ id, description, ...rest }) => /* @__PURE__ */ jsx25(Toast, { ...rest, onClose: () => close(id), children: description }, id)) }),
|
|
1111
1305
|
document.body
|
|
1112
1306
|
)
|
|
1113
1307
|
] });
|
|
@@ -1154,7 +1348,7 @@ var Tooltip_default = {
|
|
|
1154
1348
|
};
|
|
1155
1349
|
|
|
1156
1350
|
// src/components/Tooltip/Tooltip.tsx
|
|
1157
|
-
import { Fragment, jsx as
|
|
1351
|
+
import { Fragment, jsx as jsx26, jsxs as jsxs13 } from "react/jsx-runtime";
|
|
1158
1352
|
var Tooltip = ({
|
|
1159
1353
|
content,
|
|
1160
1354
|
children,
|
|
@@ -1188,10 +1382,10 @@ var Tooltip = ({
|
|
|
1188
1382
|
...children.props,
|
|
1189
1383
|
ref: mergedRef
|
|
1190
1384
|
})
|
|
1191
|
-
) : /* @__PURE__ */
|
|
1192
|
-
return /* @__PURE__ */
|
|
1385
|
+
) : /* @__PURE__ */ jsx26("span", { ref: refs.setReference, ...getReferenceProps(), children });
|
|
1386
|
+
return /* @__PURE__ */ jsxs13(Fragment, { children: [
|
|
1193
1387
|
child,
|
|
1194
|
-
open && /* @__PURE__ */
|
|
1388
|
+
open && /* @__PURE__ */ jsxs13(
|
|
1195
1389
|
"div",
|
|
1196
1390
|
{
|
|
1197
1391
|
ref: refs.setFloating,
|
|
@@ -1201,7 +1395,7 @@ var Tooltip = ({
|
|
|
1201
1395
|
...getFloatingProps(props),
|
|
1202
1396
|
children: [
|
|
1203
1397
|
content,
|
|
1204
|
-
/* @__PURE__ */
|
|
1398
|
+
/* @__PURE__ */ jsx26("div", { className: Tooltip_default.arrow })
|
|
1205
1399
|
]
|
|
1206
1400
|
}
|
|
1207
1401
|
)
|
|
@@ -1216,14 +1410,17 @@ export {
|
|
|
1216
1410
|
Badge,
|
|
1217
1411
|
Button,
|
|
1218
1412
|
Checkbox,
|
|
1413
|
+
Divider,
|
|
1219
1414
|
Input,
|
|
1220
1415
|
Modal,
|
|
1416
|
+
ProgressBar,
|
|
1221
1417
|
Radio,
|
|
1222
1418
|
RadioGroup,
|
|
1223
1419
|
Skeleton,
|
|
1224
1420
|
Spinner,
|
|
1225
1421
|
Switch,
|
|
1226
1422
|
Tabs,
|
|
1423
|
+
Textarea,
|
|
1227
1424
|
Toast,
|
|
1228
1425
|
ToastProvider,
|
|
1229
1426
|
Tooltip,
|