@livechat/design-system-react-components 1.0.0-alpha.52 → 1.0.0-alpha.54
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/dsrc.cjs.js +3 -3
- package/dist/dsrc.es.js +236 -197
- package/dist/dsrc.umd.js +2 -2
- package/dist/shadow/spacing.css +1 -0
- package/dist/shadow/spacing.css.map +1 -1
- package/dist/spacing/spacing.css +1 -0
- package/dist/spacing/spacing.css.map +1 -1
- package/dist/src/components/Alert/Alert.d.ts +23 -0
- package/dist/src/components/Avatar/Avatar.d.ts +30 -0
- package/dist/src/components/Badge/Badge.d.ts +15 -0
- package/dist/src/components/Button/Button.d.ts +43 -1
- package/dist/src/components/Card/Card.d.ts +18 -0
- package/dist/src/components/Picker/Picker.d.ts +49 -0
- package/dist/src/components/Picker/Trigger.d.ts +1 -0
- package/dist/src/components/Popover/Popover.d.ts +22 -0
- package/dist/src/foundations/spacing-token.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +3 -3
package/dist/dsrc.es.js
CHANGED
|
@@ -284,6 +284,7 @@ const SpacingToken = {
|
|
|
284
284
|
Spacing6: "--spacing-6",
|
|
285
285
|
Spacing8: "--spacing-8",
|
|
286
286
|
Spacing12: "--spacing-12",
|
|
287
|
+
Spacing14: "--spacing-14",
|
|
287
288
|
Spacing16: "--spacing-16",
|
|
288
289
|
Spacing18: "--spacing-18",
|
|
289
290
|
Spacing20: "--spacing-20",
|
|
@@ -299,16 +300,16 @@ var cssStyles = {
|
|
|
299
300
|
popover,
|
|
300
301
|
"popover--visible": "lc-Popover-module__popover--visible___u5NXB"
|
|
301
302
|
};
|
|
302
|
-
const Popover = (
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
303
|
+
const Popover = ({
|
|
304
|
+
triggerRenderer,
|
|
305
|
+
onClose,
|
|
306
|
+
children,
|
|
307
|
+
className,
|
|
308
|
+
placement,
|
|
309
|
+
flipOptions,
|
|
310
|
+
isVisible = false,
|
|
311
|
+
closeOnEsc = true
|
|
312
|
+
}) => {
|
|
312
313
|
const [visible, setVisibility] = React.useState(false);
|
|
313
314
|
const prevVisibleState = React.useRef(false);
|
|
314
315
|
const {
|
|
@@ -354,8 +355,10 @@ const Popover = (props) => {
|
|
|
354
355
|
}
|
|
355
356
|
};
|
|
356
357
|
React.useEffect(() => {
|
|
357
|
-
document.addEventListener("keydown", handleHideOnEscape);
|
|
358
358
|
document.addEventListener("mousedown", handleDocumentClick);
|
|
359
|
+
if (closeOnEsc) {
|
|
360
|
+
document.addEventListener("keydown", handleHideOnEscape);
|
|
361
|
+
}
|
|
359
362
|
return () => {
|
|
360
363
|
document.removeEventListener("keydown", handleHideOnEscape);
|
|
361
364
|
document.removeEventListener("mousedown", handleDocumentClick);
|
|
@@ -612,22 +615,161 @@ const Icon = (props) => {
|
|
|
612
615
|
className: mergedClassNames
|
|
613
616
|
}), GeneratedIcon);
|
|
614
617
|
};
|
|
618
|
+
const loader = "lc-Loader-module__loader___LRflD";
|
|
619
|
+
const loader__spinner = "lc-Loader-module__loader__spinner___l3C1g";
|
|
620
|
+
const rotate = "lc-Loader-module__rotate___Tlni-";
|
|
621
|
+
const loader__label = "lc-Loader-module__loader__label___R74f6";
|
|
622
|
+
var styles$C = {
|
|
623
|
+
loader,
|
|
624
|
+
loader__spinner,
|
|
625
|
+
"loader__spinner--small": "lc-Loader-module__loader__spinner--small___dGFFt",
|
|
626
|
+
"loader__spinner--medium": "lc-Loader-module__loader__spinner--medium___J-ki0",
|
|
627
|
+
"loader__spinner--large": "lc-Loader-module__loader__spinner--large___Poqq7",
|
|
628
|
+
"loader__spinner-circle": "lc-Loader-module__loader__spinner-circle___ApBUO",
|
|
629
|
+
rotate,
|
|
630
|
+
loader__label
|
|
631
|
+
};
|
|
632
|
+
const baseClass$L = "loader";
|
|
633
|
+
const spinnerClass = `${baseClass$L}__spinner`;
|
|
634
|
+
const Loader = ({
|
|
635
|
+
primaryColor,
|
|
636
|
+
secondaryColor,
|
|
637
|
+
label,
|
|
638
|
+
className,
|
|
639
|
+
size = "medium"
|
|
640
|
+
}) => {
|
|
641
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
642
|
+
className: cx(styles$C[baseClass$L], className)
|
|
643
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
644
|
+
className: cx(styles$C[spinnerClass], styles$C[`${spinnerClass}--${size}`])
|
|
645
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
646
|
+
className: styles$C["loader__spinner-circle"],
|
|
647
|
+
style: {
|
|
648
|
+
borderColor: secondaryColor,
|
|
649
|
+
borderTopColor: primaryColor
|
|
650
|
+
}
|
|
651
|
+
})), label && /* @__PURE__ */ React.createElement(Text, {
|
|
652
|
+
as: "div",
|
|
653
|
+
size: "md",
|
|
654
|
+
className: styles$C["loader__label"]
|
|
655
|
+
}, label));
|
|
656
|
+
};
|
|
657
|
+
const btn$1 = "lc-Button-module__btn___aijZJ";
|
|
658
|
+
const btn__loader = "lc-Button-module__btn__loader___c8zZz";
|
|
659
|
+
const btn__content = "lc-Button-module__btn__content___wefl2";
|
|
660
|
+
const btn__icon = "lc-Button-module__btn__icon___GVExB";
|
|
661
|
+
var styles$B = {
|
|
662
|
+
btn: btn$1,
|
|
663
|
+
"btn--disabled": "lc-Button-module__btn--disabled___lXBav",
|
|
664
|
+
"btn--full-width": "lc-Button-module__btn--full-width___kdbAr",
|
|
665
|
+
"btn--basic": "lc-Button-module__btn--basic___Jc2gD",
|
|
666
|
+
"btn--primary": "lc-Button-module__btn--primary___ajbjQ",
|
|
667
|
+
"btn--secondary": "lc-Button-module__btn--secondary___iWzE0",
|
|
668
|
+
"btn--destructive": "lc-Button-module__btn--destructive___-kLCl",
|
|
669
|
+
"btn--compact": "lc-Button-module__btn--compact___4eptQ",
|
|
670
|
+
"btn--icon-only": "lc-Button-module__btn--icon-only___bF5pW",
|
|
671
|
+
"btn--large": "lc-Button-module__btn--large___lb-z6",
|
|
672
|
+
"btn--text": "lc-Button-module__btn--text___WA8OL",
|
|
673
|
+
"btn--plain": "lc-Button-module__btn--plain___eOPui",
|
|
674
|
+
"btn--plain-light": "lc-Button-module__btn--plain-light___eS9em",
|
|
675
|
+
"btn--subtle": "lc-Button-module__btn--subtle___s22xR",
|
|
676
|
+
"btn--float": "lc-Button-module__btn--float___J4lTs",
|
|
677
|
+
"btn--dotted": "lc-Button-module__btn--dotted___y1EEP",
|
|
678
|
+
"btn--loading": "lc-Button-module__btn--loading___ZAgjv",
|
|
679
|
+
btn__loader,
|
|
680
|
+
btn__content,
|
|
681
|
+
btn__icon,
|
|
682
|
+
"btn__icon--left": "lc-Button-module__btn__icon--left___H68zu",
|
|
683
|
+
"btn__icon--right": "lc-Button-module__btn__icon--right___fHr3D",
|
|
684
|
+
"btn--icon-only--bg": "lc-Button-module__btn--icon-only--bg___X-4V2"
|
|
685
|
+
};
|
|
686
|
+
const baseClass$K = "btn";
|
|
687
|
+
const Button = React.forwardRef((_g, ref) => {
|
|
688
|
+
var _h = _g, {
|
|
689
|
+
loading = false,
|
|
690
|
+
disabled = false,
|
|
691
|
+
type = "button",
|
|
692
|
+
fullWidth = false,
|
|
693
|
+
kind = "basic",
|
|
694
|
+
size = "medium",
|
|
695
|
+
icon: icon2 = null,
|
|
696
|
+
iconPosition = "left",
|
|
697
|
+
loaderLabel,
|
|
698
|
+
className,
|
|
699
|
+
children,
|
|
700
|
+
href,
|
|
701
|
+
onClick
|
|
702
|
+
} = _h, props = __objRest(_h, [
|
|
703
|
+
"loading",
|
|
704
|
+
"disabled",
|
|
705
|
+
"type",
|
|
706
|
+
"fullWidth",
|
|
707
|
+
"kind",
|
|
708
|
+
"size",
|
|
709
|
+
"icon",
|
|
710
|
+
"iconPosition",
|
|
711
|
+
"loaderLabel",
|
|
712
|
+
"className",
|
|
713
|
+
"children",
|
|
714
|
+
"href",
|
|
715
|
+
"onClick"
|
|
716
|
+
]);
|
|
717
|
+
const isDisabled = loading || disabled;
|
|
718
|
+
const isIconOnly = !children && icon2;
|
|
719
|
+
const isTextButton = ["text", "plain", "plain-light"].includes(kind);
|
|
720
|
+
const Component = href ? "a" : "button";
|
|
721
|
+
const getSpinnerColors = () => {
|
|
722
|
+
if (kind === "primary" || kind === "destructive") {
|
|
723
|
+
return {
|
|
724
|
+
primaryColor: "var(--action-primary-default)",
|
|
725
|
+
secondaryColor: "var(--border-invert-primary)"
|
|
726
|
+
};
|
|
727
|
+
}
|
|
728
|
+
};
|
|
729
|
+
const mergedClassNames = cx(className, styles$B[baseClass$K], styles$B[`${baseClass$K}--${kind}`], styles$B[`${baseClass$K}--${size}`], {
|
|
730
|
+
[styles$B[`${baseClass$K}--loading`]]: loading,
|
|
731
|
+
[styles$B[`${baseClass$K}--full-width`]]: fullWidth,
|
|
732
|
+
[styles$B[`${baseClass$K}--icon-only`]]: isIconOnly,
|
|
733
|
+
[styles$B[`${baseClass$K}--icon-only--bg`]]: isIconOnly && isTextButton,
|
|
734
|
+
[styles$B[`${baseClass$K}--disabled`]]: isDisabled
|
|
735
|
+
});
|
|
736
|
+
return /* @__PURE__ */ React.createElement(Component, __spreadValues({
|
|
737
|
+
ref,
|
|
738
|
+
className: mergedClassNames,
|
|
739
|
+
"aria-disabled": isDisabled,
|
|
740
|
+
type,
|
|
741
|
+
href: isDisabled ? void 0 : href,
|
|
742
|
+
onClick: isDisabled ? void 0 : onClick,
|
|
743
|
+
disabled: isDisabled
|
|
744
|
+
}, props), loading && /* @__PURE__ */ React.createElement(Loader, __spreadValues({
|
|
745
|
+
size: "small",
|
|
746
|
+
label: loaderLabel,
|
|
747
|
+
className: styles$B[`${baseClass$K}__loader`]
|
|
748
|
+
}, getSpinnerColors())), icon2 && React.cloneElement(icon2, {
|
|
749
|
+
className: cx(styles$B[`${baseClass$K}__icon`], styles$B[`${baseClass$K}__icon--${iconPosition}`]),
|
|
750
|
+
disabled
|
|
751
|
+
}), /* @__PURE__ */ React.createElement("div", {
|
|
752
|
+
className: styles$B[`${baseClass$K}__content`]
|
|
753
|
+
}, children));
|
|
754
|
+
});
|
|
615
755
|
const alert = "lc-Alert-module__alert___HBTns";
|
|
616
|
-
const alert__content = "lc-Alert-module__alert__content___9nZdf";
|
|
617
756
|
const alert__icon = "lc-Alert-module__alert__icon___8TaAH";
|
|
618
|
-
|
|
757
|
+
const alert__content = "lc-Alert-module__alert__content___9nZdf";
|
|
758
|
+
const alert__content__text = "lc-Alert-module__alert__content__text___7nx1p";
|
|
759
|
+
const alert__content__cta = "lc-Alert-module__alert__content__cta___gTWPt";
|
|
760
|
+
var styles$A = {
|
|
619
761
|
alert,
|
|
762
|
+
alert__icon,
|
|
620
763
|
alert__content,
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
"alert__content-icon": "lc-Alert-module__alert__content-icon___-EXJm",
|
|
624
|
-
"alert--small": "lc-Alert-module__alert--small___Fyk-v",
|
|
764
|
+
alert__content__text,
|
|
765
|
+
alert__content__cta,
|
|
625
766
|
"alert__close-icon": "lc-Alert-module__alert__close-icon___rYxVy",
|
|
767
|
+
"alert--small": "lc-Alert-module__alert--small___Fyk-v",
|
|
768
|
+
"alert--medium": "lc-Alert-module__alert--medium___ItZWT",
|
|
626
769
|
"alert--info": "lc-Alert-module__alert--info___GmIGN",
|
|
627
770
|
"alert--warning": "lc-Alert-module__alert--warning___MubhD",
|
|
628
771
|
"alert--success": "lc-Alert-module__alert--success___fPtlZ",
|
|
629
|
-
"alert--error": "lc-Alert-module__alert--error___DKPo0"
|
|
630
|
-
alert__icon
|
|
772
|
+
"alert--error": "lc-Alert-module__alert--error___DKPo0"
|
|
631
773
|
};
|
|
632
774
|
const IconConfig = {
|
|
633
775
|
info: {
|
|
@@ -647,46 +789,65 @@ const IconConfig = {
|
|
|
647
789
|
kind: "error"
|
|
648
790
|
}
|
|
649
791
|
};
|
|
650
|
-
const baseClass$
|
|
651
|
-
const Alert = (
|
|
652
|
-
var
|
|
792
|
+
const baseClass$J = "alert";
|
|
793
|
+
const Alert = (_i) => {
|
|
794
|
+
var _j = _i, {
|
|
653
795
|
children,
|
|
654
796
|
className,
|
|
797
|
+
primaryButton,
|
|
798
|
+
secondaryButton,
|
|
655
799
|
kind = "info",
|
|
656
800
|
onClose
|
|
657
|
-
} =
|
|
801
|
+
} = _j, props = __objRest(_j, [
|
|
658
802
|
"children",
|
|
659
803
|
"className",
|
|
804
|
+
"primaryButton",
|
|
805
|
+
"secondaryButton",
|
|
660
806
|
"kind",
|
|
661
807
|
"onClose"
|
|
662
808
|
]);
|
|
663
809
|
const containerRef = React.useRef(null);
|
|
664
|
-
const [
|
|
665
|
-
const mergedClassNames = cx(styles$
|
|
810
|
+
const [containerSize, setContainerSize] = React.useState(null);
|
|
811
|
+
const mergedClassNames = cx(styles$A[baseClass$J], styles$A[`${baseClass$J}--${kind}`], containerSize === "medium" && styles$A[`${baseClass$J}--medium`], containerSize === "small" && styles$A[`${baseClass$J}--small`], className);
|
|
666
812
|
React.useEffect(() => {
|
|
667
|
-
const
|
|
813
|
+
const resize = () => {
|
|
668
814
|
if (containerRef.current && containerRef.current.offsetWidth <= 400) {
|
|
669
|
-
return
|
|
815
|
+
return setContainerSize("small");
|
|
670
816
|
}
|
|
671
|
-
|
|
817
|
+
if (containerRef.current && containerRef.current.offsetWidth > 400 && containerRef.current.offsetWidth <= 800) {
|
|
818
|
+
return setContainerSize("medium");
|
|
819
|
+
}
|
|
820
|
+
return setContainerSize(null);
|
|
821
|
+
};
|
|
822
|
+
const handleResize = debounce(() => {
|
|
823
|
+
resize();
|
|
672
824
|
}, 500);
|
|
673
825
|
window.addEventListener("resize", handleResize);
|
|
826
|
+
resize();
|
|
674
827
|
return () => window.removeEventListener("resize", handleResize);
|
|
675
828
|
});
|
|
676
829
|
return /* @__PURE__ */ React.createElement("div", __spreadValues({
|
|
677
830
|
ref: containerRef,
|
|
678
831
|
className: mergedClassNames
|
|
679
|
-
}, props), /* @__PURE__ */ React.createElement(
|
|
680
|
-
className: styles$C[`${baseClass$L}__content`]
|
|
681
|
-
}, /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
|
|
832
|
+
}, props), /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
|
|
682
833
|
size: "large",
|
|
683
|
-
className: styles$
|
|
684
|
-
})), /* @__PURE__ */ React.createElement(
|
|
834
|
+
className: styles$A[`${baseClass$J}__icon`]
|
|
835
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
836
|
+
className: styles$A[`${baseClass$J}__content`]
|
|
837
|
+
}, /* @__PURE__ */ React.createElement(Text, {
|
|
685
838
|
as: "div",
|
|
686
|
-
className:
|
|
687
|
-
}, children)
|
|
839
|
+
className: styles$A[`${baseClass$J}__content__text`]
|
|
840
|
+
}, children), (primaryButton || secondaryButton) && /* @__PURE__ */ React.createElement("div", {
|
|
841
|
+
className: styles$A[`${baseClass$J}__content__cta`]
|
|
842
|
+
}, primaryButton && /* @__PURE__ */ React.createElement(Button, {
|
|
843
|
+
kind: "primary",
|
|
844
|
+
onClick: primaryButton.handleClick
|
|
845
|
+
}, primaryButton.label), secondaryButton && /* @__PURE__ */ React.createElement(Button, {
|
|
846
|
+
kind: "text",
|
|
847
|
+
onClick: secondaryButton.handleClick
|
|
848
|
+
}, secondaryButton.label))), onClose && /* @__PURE__ */ React.createElement("button", {
|
|
688
849
|
type: "button",
|
|
689
|
-
className: styles$
|
|
850
|
+
className: styles$A[`${baseClass$J}__close-icon`],
|
|
690
851
|
onClick: onClose
|
|
691
852
|
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
692
853
|
source: Close,
|
|
@@ -704,7 +865,7 @@ const avatar = "lc-Avatar-module__avatar___1zTCE";
|
|
|
704
865
|
const avatar__status = "lc-Avatar-module__avatar__status___nX2Ls";
|
|
705
866
|
const avatar__rim = "lc-Avatar-module__avatar__rim___RCQ8Q";
|
|
706
867
|
const avatar__image = "lc-Avatar-module__avatar__image___YqfqE";
|
|
707
|
-
var styles$
|
|
868
|
+
var styles$z = {
|
|
708
869
|
avatar,
|
|
709
870
|
avatar__status,
|
|
710
871
|
"avatar__status--available": "lc-Avatar-module__avatar__status--available___tcpFg",
|
|
@@ -750,7 +911,7 @@ var styles$B = {
|
|
|
750
911
|
"avatar--xlarge": "lc-Avatar-module__avatar--xlarge___zwgeW",
|
|
751
912
|
"avatar--xxlarge": "lc-Avatar-module__avatar--xxlarge___Ur0ul"
|
|
752
913
|
};
|
|
753
|
-
const baseClass$
|
|
914
|
+
const baseClass$I = "avatar";
|
|
754
915
|
const Avatar = ({
|
|
755
916
|
alt,
|
|
756
917
|
className,
|
|
@@ -771,15 +932,15 @@ const Avatar = ({
|
|
|
771
932
|
const initials = getInitials(text, letterCount);
|
|
772
933
|
const fontColor = color && getFontColor(color);
|
|
773
934
|
const mergedClassNames = cx({
|
|
774
|
-
[styles$
|
|
775
|
-
[styles$
|
|
776
|
-
[styles$
|
|
777
|
-
[styles$
|
|
935
|
+
[styles$z[baseClass$I]]: true,
|
|
936
|
+
[styles$z[`${baseClass$I}--${shape}`]]: true,
|
|
937
|
+
[styles$z[`${baseClass$I}--${size}`]]: true,
|
|
938
|
+
[styles$z[`${baseClass$I}--with-rim`]]: withRim,
|
|
778
939
|
[`${className}`]: className
|
|
779
940
|
});
|
|
780
|
-
const mergedStatusClassNames = cx(styles$
|
|
781
|
-
const mergedIconClassNames = cx(styles$
|
|
782
|
-
const mergedRimClassNames = cx(styles$
|
|
941
|
+
const mergedStatusClassNames = cx(styles$z[`${baseClass$I}__status`], styles$z[`${baseClass$I}__status--${shape}`], styles$z[`${baseClass$I}__status--${size}`], styles$z[`${baseClass$I}__status--${status}`]);
|
|
942
|
+
const mergedIconClassNames = cx(styles$z[`${baseClass$I}__icon`], styles$z[`${baseClass$I}__icon--${size}`]);
|
|
943
|
+
const mergedRimClassNames = cx(styles$z[`${baseClass$I}__rim`], styles$z[`${baseClass$I}__rim--${size}`]);
|
|
783
944
|
const handleError = React.useCallback(() => setShouldDisplayFallbackAvatar(true), []);
|
|
784
945
|
React.useEffect(() => {
|
|
785
946
|
setShouldDisplayFallbackAvatar(isImproperImageSetup);
|
|
@@ -788,27 +949,27 @@ const Avatar = ({
|
|
|
788
949
|
className: mergedClassNames,
|
|
789
950
|
style: { backgroundColor: color }
|
|
790
951
|
}, withRim && /* @__PURE__ */ React.createElement("div", {
|
|
791
|
-
"data-testid": `${baseClass$
|
|
952
|
+
"data-testid": `${baseClass$I}__rim`,
|
|
792
953
|
className: mergedRimClassNames
|
|
793
954
|
}), status && /* @__PURE__ */ React.createElement("div", {
|
|
794
|
-
"data-testid": `${baseClass$
|
|
955
|
+
"data-testid": `${baseClass$I}__status`,
|
|
795
956
|
className: mergedStatusClassNames
|
|
796
957
|
}), shouldDisplayImage && /* @__PURE__ */ React.createElement("img", {
|
|
797
|
-
className: styles$
|
|
958
|
+
className: styles$z[`${baseClass$I}__image`],
|
|
798
959
|
src,
|
|
799
960
|
alt,
|
|
800
961
|
onError: handleError
|
|
801
962
|
}), shouldDisplayInitials && /* @__PURE__ */ React.createElement("span", {
|
|
802
963
|
style: { color: fontColor }
|
|
803
964
|
}, initials), shouldDisplayFallbackAvatar && /* @__PURE__ */ React.createElement(Icon, {
|
|
804
|
-
"data-testid": `${baseClass$
|
|
965
|
+
"data-testid": `${baseClass$I}__icon`,
|
|
805
966
|
className: mergedIconClassNames,
|
|
806
967
|
source: Person
|
|
807
968
|
}));
|
|
808
969
|
};
|
|
809
970
|
const badge = "lc-Badge-module__badge___GhLnu";
|
|
810
971
|
const badge__dot = "lc-Badge-module__badge__dot___z6RO6";
|
|
811
|
-
var styles$
|
|
972
|
+
var styles$y = {
|
|
812
973
|
badge,
|
|
813
974
|
badge__dot,
|
|
814
975
|
"badge--large": "lc-Badge-module__badge--large___B131q",
|
|
@@ -821,16 +982,16 @@ var styles$A = {
|
|
|
821
982
|
function formatCount(count, max) {
|
|
822
983
|
return count > max ? `${max}+` : `${count}`;
|
|
823
984
|
}
|
|
824
|
-
const baseClass$
|
|
825
|
-
const Badge = (
|
|
826
|
-
var
|
|
985
|
+
const baseClass$H = "badge";
|
|
986
|
+
const Badge = (_k) => {
|
|
987
|
+
var _l = _k, {
|
|
827
988
|
className,
|
|
828
989
|
count = 0,
|
|
829
990
|
max = 99,
|
|
830
991
|
kind = "primary",
|
|
831
992
|
size = "medium",
|
|
832
993
|
type = "counter"
|
|
833
|
-
} =
|
|
994
|
+
} = _l, spanProps = __objRest(_l, [
|
|
834
995
|
"className",
|
|
835
996
|
"count",
|
|
836
997
|
"max",
|
|
@@ -838,153 +999,18 @@ const Badge = (_i) => {
|
|
|
838
999
|
"size",
|
|
839
1000
|
"type"
|
|
840
1001
|
]);
|
|
841
|
-
const mergedClassNames = cx(className, styles$
|
|
1002
|
+
const mergedClassNames = cx(className, styles$y[baseClass$H], styles$y[`${baseClass$H}--${kind}`], styles$y[`${baseClass$H}--${size}`]);
|
|
842
1003
|
const content = {
|
|
843
1004
|
["counter"]: formatCount(count, max),
|
|
844
1005
|
["alert"]: "!",
|
|
845
1006
|
["dot"]: /* @__PURE__ */ React.createElement("span", {
|
|
846
|
-
className: styles$
|
|
1007
|
+
className: styles$y[`${baseClass$H}__dot`]
|
|
847
1008
|
})
|
|
848
1009
|
}[type];
|
|
849
1010
|
return /* @__PURE__ */ React.createElement("span", __spreadValues({
|
|
850
1011
|
className: mergedClassNames
|
|
851
1012
|
}, spanProps), content);
|
|
852
1013
|
};
|
|
853
|
-
const loader = "lc-Loader-module__loader___LRflD";
|
|
854
|
-
const loader__spinner = "lc-Loader-module__loader__spinner___l3C1g";
|
|
855
|
-
const rotate = "lc-Loader-module__rotate___Tlni-";
|
|
856
|
-
const loader__label = "lc-Loader-module__loader__label___R74f6";
|
|
857
|
-
var styles$z = {
|
|
858
|
-
loader,
|
|
859
|
-
loader__spinner,
|
|
860
|
-
"loader__spinner--small": "lc-Loader-module__loader__spinner--small___dGFFt",
|
|
861
|
-
"loader__spinner--medium": "lc-Loader-module__loader__spinner--medium___J-ki0",
|
|
862
|
-
"loader__spinner--large": "lc-Loader-module__loader__spinner--large___Poqq7",
|
|
863
|
-
"loader__spinner-circle": "lc-Loader-module__loader__spinner-circle___ApBUO",
|
|
864
|
-
rotate,
|
|
865
|
-
loader__label
|
|
866
|
-
};
|
|
867
|
-
const baseClass$I = "loader";
|
|
868
|
-
const spinnerClass = `${baseClass$I}__spinner`;
|
|
869
|
-
const Loader = ({
|
|
870
|
-
primaryColor,
|
|
871
|
-
secondaryColor,
|
|
872
|
-
label,
|
|
873
|
-
className,
|
|
874
|
-
size = "medium"
|
|
875
|
-
}) => {
|
|
876
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
877
|
-
className: cx(styles$z[baseClass$I], className)
|
|
878
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
879
|
-
className: cx(styles$z[spinnerClass], styles$z[`${spinnerClass}--${size}`])
|
|
880
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
881
|
-
className: styles$z["loader__spinner-circle"],
|
|
882
|
-
style: {
|
|
883
|
-
borderColor: secondaryColor,
|
|
884
|
-
borderTopColor: primaryColor
|
|
885
|
-
}
|
|
886
|
-
})), label && /* @__PURE__ */ React.createElement(Text, {
|
|
887
|
-
as: "div",
|
|
888
|
-
size: "md",
|
|
889
|
-
className: styles$z["loader__label"]
|
|
890
|
-
}, label));
|
|
891
|
-
};
|
|
892
|
-
const btn$1 = "lc-Button-module__btn___aijZJ";
|
|
893
|
-
const btn__loader = "lc-Button-module__btn__loader___c8zZz";
|
|
894
|
-
const btn__content = "lc-Button-module__btn__content___wefl2";
|
|
895
|
-
const btn__icon = "lc-Button-module__btn__icon___GVExB";
|
|
896
|
-
var styles$y = {
|
|
897
|
-
btn: btn$1,
|
|
898
|
-
"btn--disabled": "lc-Button-module__btn--disabled___lXBav",
|
|
899
|
-
"btn--full-width": "lc-Button-module__btn--full-width___kdbAr",
|
|
900
|
-
"btn--basic": "lc-Button-module__btn--basic___Jc2gD",
|
|
901
|
-
"btn--primary": "lc-Button-module__btn--primary___ajbjQ",
|
|
902
|
-
"btn--secondary": "lc-Button-module__btn--secondary___iWzE0",
|
|
903
|
-
"btn--destructive": "lc-Button-module__btn--destructive___-kLCl",
|
|
904
|
-
"btn--compact": "lc-Button-module__btn--compact___4eptQ",
|
|
905
|
-
"btn--icon-only": "lc-Button-module__btn--icon-only___bF5pW",
|
|
906
|
-
"btn--large": "lc-Button-module__btn--large___lb-z6",
|
|
907
|
-
"btn--text": "lc-Button-module__btn--text___WA8OL",
|
|
908
|
-
"btn--plain": "lc-Button-module__btn--plain___eOPui",
|
|
909
|
-
"btn--plain-light": "lc-Button-module__btn--plain-light___eS9em",
|
|
910
|
-
"btn--subtle": "lc-Button-module__btn--subtle___s22xR",
|
|
911
|
-
"btn--loading": "lc-Button-module__btn--loading___ZAgjv",
|
|
912
|
-
btn__loader,
|
|
913
|
-
btn__content,
|
|
914
|
-
btn__icon,
|
|
915
|
-
"btn__icon--left": "lc-Button-module__btn__icon--left___H68zu",
|
|
916
|
-
"btn__icon--right": "lc-Button-module__btn__icon--right___fHr3D",
|
|
917
|
-
"btn--icon-only--bg": "lc-Button-module__btn--icon-only--bg___X-4V2"
|
|
918
|
-
};
|
|
919
|
-
const baseClass$H = "btn";
|
|
920
|
-
const Button = React.forwardRef((_k, ref) => {
|
|
921
|
-
var _l = _k, {
|
|
922
|
-
loading = false,
|
|
923
|
-
disabled = false,
|
|
924
|
-
type = "button",
|
|
925
|
-
fullWidth = false,
|
|
926
|
-
kind = "basic",
|
|
927
|
-
size = "medium",
|
|
928
|
-
icon: icon2 = null,
|
|
929
|
-
iconPosition = "left",
|
|
930
|
-
loaderLabel,
|
|
931
|
-
className,
|
|
932
|
-
children,
|
|
933
|
-
href,
|
|
934
|
-
onClick
|
|
935
|
-
} = _l, props = __objRest(_l, [
|
|
936
|
-
"loading",
|
|
937
|
-
"disabled",
|
|
938
|
-
"type",
|
|
939
|
-
"fullWidth",
|
|
940
|
-
"kind",
|
|
941
|
-
"size",
|
|
942
|
-
"icon",
|
|
943
|
-
"iconPosition",
|
|
944
|
-
"loaderLabel",
|
|
945
|
-
"className",
|
|
946
|
-
"children",
|
|
947
|
-
"href",
|
|
948
|
-
"onClick"
|
|
949
|
-
]);
|
|
950
|
-
const isDisabled = loading || disabled;
|
|
951
|
-
const isIconOnly = !children && icon2;
|
|
952
|
-
const isTextButton = ["text", "plain", "plain-light"].includes(kind);
|
|
953
|
-
const Component = href ? "a" : "button";
|
|
954
|
-
const getSpinnerColors = () => {
|
|
955
|
-
if (kind === "primary" || kind === "destructive") {
|
|
956
|
-
return {
|
|
957
|
-
primaryColor: "var(--action-primary-default)",
|
|
958
|
-
secondaryColor: "var(--border-invert-primary)"
|
|
959
|
-
};
|
|
960
|
-
}
|
|
961
|
-
};
|
|
962
|
-
const mergedClassNames = cx(className, styles$y[baseClass$H], styles$y[`${baseClass$H}--${kind}`], styles$y[`${baseClass$H}--${size}`], {
|
|
963
|
-
[styles$y[`${baseClass$H}--loading`]]: loading,
|
|
964
|
-
[styles$y[`${baseClass$H}--full-width`]]: fullWidth,
|
|
965
|
-
[styles$y[`${baseClass$H}--icon-only`]]: isIconOnly,
|
|
966
|
-
[styles$y[`${baseClass$H}--icon-only--bg`]]: isIconOnly && isTextButton,
|
|
967
|
-
[styles$y[`${baseClass$H}--disabled`]]: isDisabled
|
|
968
|
-
});
|
|
969
|
-
return /* @__PURE__ */ React.createElement(Component, __spreadValues({
|
|
970
|
-
ref,
|
|
971
|
-
className: mergedClassNames,
|
|
972
|
-
"aria-disabled": isDisabled,
|
|
973
|
-
type,
|
|
974
|
-
href: isDisabled ? void 0 : href,
|
|
975
|
-
onClick: isDisabled ? void 0 : onClick,
|
|
976
|
-
disabled: isDisabled
|
|
977
|
-
}, props), loading && /* @__PURE__ */ React.createElement(Loader, __spreadValues({
|
|
978
|
-
size: "small",
|
|
979
|
-
label: loaderLabel,
|
|
980
|
-
className: styles$y[`${baseClass$H}__loader`]
|
|
981
|
-
}, getSpinnerColors())), icon2 && React.cloneElement(icon2, {
|
|
982
|
-
className: cx(styles$y[`${baseClass$H}__icon`], styles$y[`${baseClass$H}__icon--${iconPosition}`]),
|
|
983
|
-
disabled
|
|
984
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
985
|
-
className: styles$y[`${baseClass$H}__content`]
|
|
986
|
-
}, children));
|
|
987
|
-
});
|
|
988
1014
|
const btn = "lc-SegmentedControl-module__btn___tfsvL";
|
|
989
1015
|
var styles$x = {
|
|
990
1016
|
"segmented-control": "lc-SegmentedControl-module__segmented-control___LHWSk",
|
|
@@ -1921,7 +1947,7 @@ const FormField = ({
|
|
|
1921
1947
|
className: cx(styles$p[`${baseClass$w}__label-right-node`])
|
|
1922
1948
|
}, labelRightNode)), /* @__PURE__ */ React.createElement("div", {
|
|
1923
1949
|
className: cx(styles$p[`${baseClass$w}__content`])
|
|
1924
|
-
}, children, error && /* @__PURE__ */ React.createElement(FieldError, null, error), description && /* @__PURE__ */ React.createElement(FieldDescription, null, description))));
|
|
1950
|
+
}, children, error && /* @__PURE__ */ React.createElement(FieldError, null, error), !error && description && /* @__PURE__ */ React.createElement(FieldDescription, null, description))));
|
|
1925
1951
|
};
|
|
1926
1952
|
var styles$o = {
|
|
1927
1953
|
"form-group": "lc-FormGroup-module__form-group___e2JHa",
|
|
@@ -2351,6 +2377,7 @@ const Trigger = ({
|
|
|
2351
2377
|
isRequired,
|
|
2352
2378
|
isMultiSelect,
|
|
2353
2379
|
size = "medium",
|
|
2380
|
+
hideClearButton,
|
|
2354
2381
|
onTrigger,
|
|
2355
2382
|
onClear
|
|
2356
2383
|
}) => {
|
|
@@ -2379,6 +2406,7 @@ const Trigger = ({
|
|
|
2379
2406
|
e.stopPropagation();
|
|
2380
2407
|
onClear();
|
|
2381
2408
|
};
|
|
2409
|
+
const shouldShowClearButton = !hideClearButton && isItemSelected && !isDisabled && !isRequired;
|
|
2382
2410
|
return /* @__PURE__ */ React.createElement("div", {
|
|
2383
2411
|
ref: triggerRef,
|
|
2384
2412
|
className: mergedClassNames,
|
|
@@ -2388,7 +2416,7 @@ const Trigger = ({
|
|
|
2388
2416
|
className: styles$j[`${baseClass$p}__content`]
|
|
2389
2417
|
}, children), /* @__PURE__ */ React.createElement("div", {
|
|
2390
2418
|
className: cx(styles$j[`${baseClass$p}__controls`], styles$j[`${baseClass$p}__controls--${size}`])
|
|
2391
|
-
},
|
|
2419
|
+
}, shouldShowClearButton && /* @__PURE__ */ React.createElement("div", {
|
|
2392
2420
|
"data-testid": `${baseClass$p}__clear-icon`,
|
|
2393
2421
|
className: styles$j[`${baseClass$p}__clear-icon`],
|
|
2394
2422
|
onClick: handleOnClearClick
|
|
@@ -2772,6 +2800,7 @@ const Picker = (_M) => {
|
|
|
2772
2800
|
selectAllOptionText,
|
|
2773
2801
|
type = "single",
|
|
2774
2802
|
searchDisabled = false,
|
|
2803
|
+
hideClearButton,
|
|
2775
2804
|
onSelect
|
|
2776
2805
|
} = _N, props = __objRest(_N, [
|
|
2777
2806
|
"className",
|
|
@@ -2787,6 +2816,7 @@ const Picker = (_M) => {
|
|
|
2787
2816
|
"selectAllOptionText",
|
|
2788
2817
|
"type",
|
|
2789
2818
|
"searchDisabled",
|
|
2819
|
+
"hideClearButton",
|
|
2790
2820
|
"onSelect"
|
|
2791
2821
|
]);
|
|
2792
2822
|
const [isListOpen, setIsListOpen] = React.useState(false);
|
|
@@ -2873,7 +2903,7 @@ const Picker = (_M) => {
|
|
|
2873
2903
|
const itemName = item.name.toLowerCase();
|
|
2874
2904
|
return itemName.includes(search);
|
|
2875
2905
|
});
|
|
2876
|
-
}, [searchPhrase]);
|
|
2906
|
+
}, [searchPhrase, options]);
|
|
2877
2907
|
const selectedItemsKeys = React.useMemo(() => {
|
|
2878
2908
|
if (!selected) {
|
|
2879
2909
|
return null;
|
|
@@ -2894,6 +2924,7 @@ const Picker = (_M) => {
|
|
|
2894
2924
|
isRequired,
|
|
2895
2925
|
isMultiSelect: type === "multi",
|
|
2896
2926
|
size,
|
|
2927
|
+
hideClearButton,
|
|
2897
2928
|
onTrigger: handleTrigger,
|
|
2898
2929
|
onClear: handleClear
|
|
2899
2930
|
}, /* @__PURE__ */ React.createElement(TriggerBody, {
|
|
@@ -4267,19 +4298,27 @@ var styles$3 = {
|
|
|
4267
4298
|
const baseClass$3 = "textarea";
|
|
4268
4299
|
const Textarea = React.forwardRef((__, ref) => {
|
|
4269
4300
|
var _$ = __, { className, error } = _$, textareaProps = __objRest(_$, ["className", "error"]);
|
|
4270
|
-
const { disabled } = textareaProps;
|
|
4301
|
+
const { disabled, onBlur, onFocus } = textareaProps;
|
|
4271
4302
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
4272
4303
|
const mergedClassNames = cx(className, styles$3[baseClass$3], {
|
|
4273
4304
|
[styles$3[`${baseClass$3}--disabled`]]: disabled,
|
|
4274
4305
|
[styles$3[`${baseClass$3}--focused`]]: isFocused,
|
|
4275
4306
|
[styles$3[`${baseClass$3}--error`]]: error
|
|
4276
4307
|
});
|
|
4308
|
+
const handleOnBlur = (e) => {
|
|
4309
|
+
setIsFocused(false);
|
|
4310
|
+
onBlur == null ? void 0 : onBlur(e);
|
|
4311
|
+
};
|
|
4312
|
+
const handleOnFocus = (e) => {
|
|
4313
|
+
setIsFocused(true);
|
|
4314
|
+
onFocus == null ? void 0 : onFocus(e);
|
|
4315
|
+
};
|
|
4277
4316
|
return /* @__PURE__ */ React.createElement("div", {
|
|
4278
4317
|
className: mergedClassNames
|
|
4279
4318
|
}, /* @__PURE__ */ React.createElement("textarea", __spreadProps(__spreadValues({}, textareaProps), {
|
|
4280
4319
|
ref,
|
|
4281
|
-
onFocus:
|
|
4282
|
-
onBlur:
|
|
4320
|
+
onFocus: handleOnFocus,
|
|
4321
|
+
onBlur: handleOnBlur
|
|
4283
4322
|
})));
|
|
4284
4323
|
});
|
|
4285
4324
|
var styles$2 = {
|