@livechat/design-system-react-components 1.0.0-alpha.53 → 1.0.0-alpha.55
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 +10 -7
- package/dist/dsrc.es.js +242 -199
- package/dist/dsrc.umd.js +10 -7
- package/dist/shadow/color-scheme.css +14 -0
- package/dist/shadow/color-scheme.css.map +1 -0
- package/dist/shadow/spacing.css +1 -0
- package/dist/shadow/spacing.css.map +1 -1
- package/dist/spacing/color-scheme.css +14 -0
- package/dist/spacing/color-scheme.css.map +1 -0
- package/dist/spacing/spacing.css +1 -0
- package/dist/spacing/spacing.css.map +1 -1
- package/dist/src/components/Alert/Alert.d.ts +14 -0
- package/dist/src/components/Button/Button.d.ts +1 -1
- package/dist/src/components/Card/Card.d.ts +18 -0
- package/dist/src/components/Input/Input.d.ts +13 -2
- package/dist/src/components/Picker/Picker.d.ts +8 -0
- package/dist/src/components/Picker/Trigger.d.ts +1 -0
- package/dist/src/components/PromoBanner/PromoBanner.d.ts +27 -0
- package/dist/src/components/Search/Search.d.ts +24 -0
- package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +21 -0
- package/dist/src/components/Tag/Tag.d.ts +27 -0
- package/dist/src/components/TagInput/TagInput.d.ts +23 -4
- 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",
|
|
@@ -349,18 +350,16 @@ const Popover = ({
|
|
|
349
350
|
}
|
|
350
351
|
}
|
|
351
352
|
const handleHideOnEscape = (event) => {
|
|
352
|
-
if (event.key === "Escape") {
|
|
353
|
+
if (closeOnEsc && event.key === "Escape") {
|
|
353
354
|
setVisibility(false);
|
|
354
355
|
}
|
|
355
356
|
};
|
|
356
357
|
React.useEffect(() => {
|
|
357
358
|
document.addEventListener("mousedown", handleDocumentClick);
|
|
358
|
-
|
|
359
|
-
document.addEventListener("keydown", handleHideOnEscape);
|
|
360
|
-
}
|
|
359
|
+
document.addEventListener("keydown", handleHideOnEscape);
|
|
361
360
|
return () => {
|
|
362
|
-
document.removeEventListener("keydown", handleHideOnEscape);
|
|
363
361
|
document.removeEventListener("mousedown", handleDocumentClick);
|
|
362
|
+
document.removeEventListener("keydown", handleHideOnEscape);
|
|
364
363
|
};
|
|
365
364
|
}, []);
|
|
366
365
|
const mergedClassNames = cx(cssStyles["popover"], className, {
|
|
@@ -614,22 +613,161 @@ const Icon = (props) => {
|
|
|
614
613
|
className: mergedClassNames
|
|
615
614
|
}), GeneratedIcon);
|
|
616
615
|
};
|
|
616
|
+
const loader = "lc-Loader-module__loader___LRflD";
|
|
617
|
+
const loader__spinner = "lc-Loader-module__loader__spinner___l3C1g";
|
|
618
|
+
const rotate = "lc-Loader-module__rotate___Tlni-";
|
|
619
|
+
const loader__label = "lc-Loader-module__loader__label___R74f6";
|
|
620
|
+
var styles$C = {
|
|
621
|
+
loader,
|
|
622
|
+
loader__spinner,
|
|
623
|
+
"loader__spinner--small": "lc-Loader-module__loader__spinner--small___dGFFt",
|
|
624
|
+
"loader__spinner--medium": "lc-Loader-module__loader__spinner--medium___J-ki0",
|
|
625
|
+
"loader__spinner--large": "lc-Loader-module__loader__spinner--large___Poqq7",
|
|
626
|
+
"loader__spinner-circle": "lc-Loader-module__loader__spinner-circle___ApBUO",
|
|
627
|
+
rotate,
|
|
628
|
+
loader__label
|
|
629
|
+
};
|
|
630
|
+
const baseClass$L = "loader";
|
|
631
|
+
const spinnerClass = `${baseClass$L}__spinner`;
|
|
632
|
+
const Loader = ({
|
|
633
|
+
primaryColor,
|
|
634
|
+
secondaryColor,
|
|
635
|
+
label,
|
|
636
|
+
className,
|
|
637
|
+
size = "medium"
|
|
638
|
+
}) => {
|
|
639
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
640
|
+
className: cx(styles$C[baseClass$L], className)
|
|
641
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
642
|
+
className: cx(styles$C[spinnerClass], styles$C[`${spinnerClass}--${size}`])
|
|
643
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
644
|
+
className: styles$C["loader__spinner-circle"],
|
|
645
|
+
style: {
|
|
646
|
+
borderColor: secondaryColor,
|
|
647
|
+
borderTopColor: primaryColor
|
|
648
|
+
}
|
|
649
|
+
})), label && /* @__PURE__ */ React.createElement(Text, {
|
|
650
|
+
as: "div",
|
|
651
|
+
size: "md",
|
|
652
|
+
className: styles$C["loader__label"]
|
|
653
|
+
}, label));
|
|
654
|
+
};
|
|
655
|
+
const btn$1 = "lc-Button-module__btn___aijZJ";
|
|
656
|
+
const btn__loader = "lc-Button-module__btn__loader___c8zZz";
|
|
657
|
+
const btn__content = "lc-Button-module__btn__content___wefl2";
|
|
658
|
+
const btn__icon = "lc-Button-module__btn__icon___GVExB";
|
|
659
|
+
var styles$B = {
|
|
660
|
+
btn: btn$1,
|
|
661
|
+
"btn--disabled": "lc-Button-module__btn--disabled___lXBav",
|
|
662
|
+
"btn--full-width": "lc-Button-module__btn--full-width___kdbAr",
|
|
663
|
+
"btn--basic": "lc-Button-module__btn--basic___Jc2gD",
|
|
664
|
+
"btn--primary": "lc-Button-module__btn--primary___ajbjQ",
|
|
665
|
+
"btn--secondary": "lc-Button-module__btn--secondary___iWzE0",
|
|
666
|
+
"btn--destructive": "lc-Button-module__btn--destructive___-kLCl",
|
|
667
|
+
"btn--compact": "lc-Button-module__btn--compact___4eptQ",
|
|
668
|
+
"btn--icon-only": "lc-Button-module__btn--icon-only___bF5pW",
|
|
669
|
+
"btn--large": "lc-Button-module__btn--large___lb-z6",
|
|
670
|
+
"btn--text": "lc-Button-module__btn--text___WA8OL",
|
|
671
|
+
"btn--plain": "lc-Button-module__btn--plain___eOPui",
|
|
672
|
+
"btn--plain-light": "lc-Button-module__btn--plain-light___eS9em",
|
|
673
|
+
"btn--subtle": "lc-Button-module__btn--subtle___s22xR",
|
|
674
|
+
"btn--float": "lc-Button-module__btn--float___J4lTs",
|
|
675
|
+
"btn--dotted": "lc-Button-module__btn--dotted___y1EEP",
|
|
676
|
+
"btn--loading": "lc-Button-module__btn--loading___ZAgjv",
|
|
677
|
+
btn__loader,
|
|
678
|
+
btn__content,
|
|
679
|
+
btn__icon,
|
|
680
|
+
"btn__icon--left": "lc-Button-module__btn__icon--left___H68zu",
|
|
681
|
+
"btn__icon--right": "lc-Button-module__btn__icon--right___fHr3D",
|
|
682
|
+
"btn--icon-only--bg": "lc-Button-module__btn--icon-only--bg___X-4V2"
|
|
683
|
+
};
|
|
684
|
+
const baseClass$K = "btn";
|
|
685
|
+
const Button = React.forwardRef((_g, ref) => {
|
|
686
|
+
var _h = _g, {
|
|
687
|
+
loading = false,
|
|
688
|
+
disabled = false,
|
|
689
|
+
type = "button",
|
|
690
|
+
fullWidth = false,
|
|
691
|
+
kind = "basic",
|
|
692
|
+
size = "medium",
|
|
693
|
+
icon: icon2 = null,
|
|
694
|
+
iconPosition = "left",
|
|
695
|
+
loaderLabel,
|
|
696
|
+
className,
|
|
697
|
+
children,
|
|
698
|
+
href,
|
|
699
|
+
onClick
|
|
700
|
+
} = _h, props = __objRest(_h, [
|
|
701
|
+
"loading",
|
|
702
|
+
"disabled",
|
|
703
|
+
"type",
|
|
704
|
+
"fullWidth",
|
|
705
|
+
"kind",
|
|
706
|
+
"size",
|
|
707
|
+
"icon",
|
|
708
|
+
"iconPosition",
|
|
709
|
+
"loaderLabel",
|
|
710
|
+
"className",
|
|
711
|
+
"children",
|
|
712
|
+
"href",
|
|
713
|
+
"onClick"
|
|
714
|
+
]);
|
|
715
|
+
const isDisabled = loading || disabled;
|
|
716
|
+
const isIconOnly = !children && icon2;
|
|
717
|
+
const isTextButton = ["text", "plain", "plain-light"].includes(kind);
|
|
718
|
+
const Component = href ? "a" : "button";
|
|
719
|
+
const getSpinnerColors = () => {
|
|
720
|
+
if (kind === "primary" || kind === "destructive") {
|
|
721
|
+
return {
|
|
722
|
+
primaryColor: "var(--action-primary-default)",
|
|
723
|
+
secondaryColor: "var(--border-invert-primary)"
|
|
724
|
+
};
|
|
725
|
+
}
|
|
726
|
+
};
|
|
727
|
+
const mergedClassNames = cx(className, styles$B[baseClass$K], styles$B[`${baseClass$K}--${kind}`], styles$B[`${baseClass$K}--${size}`], {
|
|
728
|
+
[styles$B[`${baseClass$K}--loading`]]: loading,
|
|
729
|
+
[styles$B[`${baseClass$K}--full-width`]]: fullWidth,
|
|
730
|
+
[styles$B[`${baseClass$K}--icon-only`]]: isIconOnly,
|
|
731
|
+
[styles$B[`${baseClass$K}--icon-only--bg`]]: isIconOnly && isTextButton,
|
|
732
|
+
[styles$B[`${baseClass$K}--disabled`]]: isDisabled
|
|
733
|
+
});
|
|
734
|
+
return /* @__PURE__ */ React.createElement(Component, __spreadValues({
|
|
735
|
+
ref,
|
|
736
|
+
className: mergedClassNames,
|
|
737
|
+
"aria-disabled": isDisabled,
|
|
738
|
+
type,
|
|
739
|
+
href: isDisabled ? void 0 : href,
|
|
740
|
+
onClick: isDisabled ? void 0 : onClick,
|
|
741
|
+
disabled: isDisabled
|
|
742
|
+
}, props), loading && /* @__PURE__ */ React.createElement(Loader, __spreadValues({
|
|
743
|
+
size: "small",
|
|
744
|
+
label: loaderLabel,
|
|
745
|
+
className: styles$B[`${baseClass$K}__loader`]
|
|
746
|
+
}, getSpinnerColors())), icon2 && React.cloneElement(icon2, {
|
|
747
|
+
className: cx(styles$B[`${baseClass$K}__icon`], styles$B[`${baseClass$K}__icon--${iconPosition}`]),
|
|
748
|
+
disabled
|
|
749
|
+
}), /* @__PURE__ */ React.createElement("div", {
|
|
750
|
+
className: styles$B[`${baseClass$K}__content`]
|
|
751
|
+
}, children));
|
|
752
|
+
});
|
|
617
753
|
const alert = "lc-Alert-module__alert___HBTns";
|
|
618
|
-
const alert__content = "lc-Alert-module__alert__content___9nZdf";
|
|
619
754
|
const alert__icon = "lc-Alert-module__alert__icon___8TaAH";
|
|
620
|
-
|
|
755
|
+
const alert__content = "lc-Alert-module__alert__content___9nZdf";
|
|
756
|
+
const alert__content__text = "lc-Alert-module__alert__content__text___7nx1p";
|
|
757
|
+
const alert__content__cta = "lc-Alert-module__alert__content__cta___gTWPt";
|
|
758
|
+
var styles$A = {
|
|
621
759
|
alert,
|
|
760
|
+
alert__icon,
|
|
622
761
|
alert__content,
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
"alert__content-icon": "lc-Alert-module__alert__content-icon___-EXJm",
|
|
626
|
-
"alert--small": "lc-Alert-module__alert--small___Fyk-v",
|
|
762
|
+
alert__content__text,
|
|
763
|
+
alert__content__cta,
|
|
627
764
|
"alert__close-icon": "lc-Alert-module__alert__close-icon___rYxVy",
|
|
765
|
+
"alert--small": "lc-Alert-module__alert--small___Fyk-v",
|
|
766
|
+
"alert--medium": "lc-Alert-module__alert--medium___ItZWT",
|
|
628
767
|
"alert--info": "lc-Alert-module__alert--info___GmIGN",
|
|
629
768
|
"alert--warning": "lc-Alert-module__alert--warning___MubhD",
|
|
630
769
|
"alert--success": "lc-Alert-module__alert--success___fPtlZ",
|
|
631
|
-
"alert--error": "lc-Alert-module__alert--error___DKPo0"
|
|
632
|
-
alert__icon
|
|
770
|
+
"alert--error": "lc-Alert-module__alert--error___DKPo0"
|
|
633
771
|
};
|
|
634
772
|
const IconConfig = {
|
|
635
773
|
info: {
|
|
@@ -649,46 +787,65 @@ const IconConfig = {
|
|
|
649
787
|
kind: "error"
|
|
650
788
|
}
|
|
651
789
|
};
|
|
652
|
-
const baseClass$
|
|
653
|
-
const Alert = (
|
|
654
|
-
var
|
|
790
|
+
const baseClass$J = "alert";
|
|
791
|
+
const Alert = (_i) => {
|
|
792
|
+
var _j = _i, {
|
|
655
793
|
children,
|
|
656
794
|
className,
|
|
795
|
+
primaryButton,
|
|
796
|
+
secondaryButton,
|
|
657
797
|
kind = "info",
|
|
658
798
|
onClose
|
|
659
|
-
} =
|
|
799
|
+
} = _j, props = __objRest(_j, [
|
|
660
800
|
"children",
|
|
661
801
|
"className",
|
|
802
|
+
"primaryButton",
|
|
803
|
+
"secondaryButton",
|
|
662
804
|
"kind",
|
|
663
805
|
"onClose"
|
|
664
806
|
]);
|
|
665
807
|
const containerRef = React.useRef(null);
|
|
666
|
-
const [
|
|
667
|
-
const mergedClassNames = cx(styles$
|
|
808
|
+
const [containerSize, setContainerSize] = React.useState(null);
|
|
809
|
+
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);
|
|
668
810
|
React.useEffect(() => {
|
|
669
|
-
const
|
|
811
|
+
const resize = () => {
|
|
670
812
|
if (containerRef.current && containerRef.current.offsetWidth <= 400) {
|
|
671
|
-
return
|
|
813
|
+
return setContainerSize("small");
|
|
814
|
+
}
|
|
815
|
+
if (containerRef.current && containerRef.current.offsetWidth > 400 && containerRef.current.offsetWidth <= 800) {
|
|
816
|
+
return setContainerSize("medium");
|
|
672
817
|
}
|
|
673
|
-
return
|
|
818
|
+
return setContainerSize(null);
|
|
819
|
+
};
|
|
820
|
+
const handleResize = debounce(() => {
|
|
821
|
+
resize();
|
|
674
822
|
}, 500);
|
|
675
823
|
window.addEventListener("resize", handleResize);
|
|
824
|
+
resize();
|
|
676
825
|
return () => window.removeEventListener("resize", handleResize);
|
|
677
826
|
});
|
|
678
827
|
return /* @__PURE__ */ React.createElement("div", __spreadValues({
|
|
679
828
|
ref: containerRef,
|
|
680
829
|
className: mergedClassNames
|
|
681
|
-
}, props), /* @__PURE__ */ React.createElement(
|
|
682
|
-
className: styles$C[`${baseClass$L}__content`]
|
|
683
|
-
}, /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
|
|
830
|
+
}, props), /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
|
|
684
831
|
size: "large",
|
|
685
|
-
className: styles$
|
|
686
|
-
})), /* @__PURE__ */ React.createElement(
|
|
832
|
+
className: styles$A[`${baseClass$J}__icon`]
|
|
833
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
834
|
+
className: styles$A[`${baseClass$J}__content`]
|
|
835
|
+
}, /* @__PURE__ */ React.createElement(Text, {
|
|
687
836
|
as: "div",
|
|
688
|
-
className:
|
|
689
|
-
}, children)
|
|
837
|
+
className: styles$A[`${baseClass$J}__content__text`]
|
|
838
|
+
}, children), (primaryButton || secondaryButton) && /* @__PURE__ */ React.createElement("div", {
|
|
839
|
+
className: styles$A[`${baseClass$J}__content__cta`]
|
|
840
|
+
}, primaryButton && /* @__PURE__ */ React.createElement(Button, {
|
|
841
|
+
kind: "primary",
|
|
842
|
+
onClick: primaryButton.handleClick
|
|
843
|
+
}, primaryButton.label), secondaryButton && /* @__PURE__ */ React.createElement(Button, {
|
|
844
|
+
kind: "text",
|
|
845
|
+
onClick: secondaryButton.handleClick
|
|
846
|
+
}, secondaryButton.label))), onClose && /* @__PURE__ */ React.createElement("button", {
|
|
690
847
|
type: "button",
|
|
691
|
-
className: styles$
|
|
848
|
+
className: styles$A[`${baseClass$J}__close-icon`],
|
|
692
849
|
onClick: onClose
|
|
693
850
|
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
694
851
|
source: Close,
|
|
@@ -706,7 +863,7 @@ const avatar = "lc-Avatar-module__avatar___1zTCE";
|
|
|
706
863
|
const avatar__status = "lc-Avatar-module__avatar__status___nX2Ls";
|
|
707
864
|
const avatar__rim = "lc-Avatar-module__avatar__rim___RCQ8Q";
|
|
708
865
|
const avatar__image = "lc-Avatar-module__avatar__image___YqfqE";
|
|
709
|
-
var styles$
|
|
866
|
+
var styles$z = {
|
|
710
867
|
avatar,
|
|
711
868
|
avatar__status,
|
|
712
869
|
"avatar__status--available": "lc-Avatar-module__avatar__status--available___tcpFg",
|
|
@@ -752,7 +909,7 @@ var styles$B = {
|
|
|
752
909
|
"avatar--xlarge": "lc-Avatar-module__avatar--xlarge___zwgeW",
|
|
753
910
|
"avatar--xxlarge": "lc-Avatar-module__avatar--xxlarge___Ur0ul"
|
|
754
911
|
};
|
|
755
|
-
const baseClass$
|
|
912
|
+
const baseClass$I = "avatar";
|
|
756
913
|
const Avatar = ({
|
|
757
914
|
alt,
|
|
758
915
|
className,
|
|
@@ -773,15 +930,15 @@ const Avatar = ({
|
|
|
773
930
|
const initials = getInitials(text, letterCount);
|
|
774
931
|
const fontColor = color && getFontColor(color);
|
|
775
932
|
const mergedClassNames = cx({
|
|
776
|
-
[styles$
|
|
777
|
-
[styles$
|
|
778
|
-
[styles$
|
|
779
|
-
[styles$
|
|
933
|
+
[styles$z[baseClass$I]]: true,
|
|
934
|
+
[styles$z[`${baseClass$I}--${shape}`]]: true,
|
|
935
|
+
[styles$z[`${baseClass$I}--${size}`]]: true,
|
|
936
|
+
[styles$z[`${baseClass$I}--with-rim`]]: withRim,
|
|
780
937
|
[`${className}`]: className
|
|
781
938
|
});
|
|
782
|
-
const mergedStatusClassNames = cx(styles$
|
|
783
|
-
const mergedIconClassNames = cx(styles$
|
|
784
|
-
const mergedRimClassNames = cx(styles$
|
|
939
|
+
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}`]);
|
|
940
|
+
const mergedIconClassNames = cx(styles$z[`${baseClass$I}__icon`], styles$z[`${baseClass$I}__icon--${size}`]);
|
|
941
|
+
const mergedRimClassNames = cx(styles$z[`${baseClass$I}__rim`], styles$z[`${baseClass$I}__rim--${size}`]);
|
|
785
942
|
const handleError = React.useCallback(() => setShouldDisplayFallbackAvatar(true), []);
|
|
786
943
|
React.useEffect(() => {
|
|
787
944
|
setShouldDisplayFallbackAvatar(isImproperImageSetup);
|
|
@@ -790,27 +947,27 @@ const Avatar = ({
|
|
|
790
947
|
className: mergedClassNames,
|
|
791
948
|
style: { backgroundColor: color }
|
|
792
949
|
}, withRim && /* @__PURE__ */ React.createElement("div", {
|
|
793
|
-
"data-testid": `${baseClass$
|
|
950
|
+
"data-testid": `${baseClass$I}__rim`,
|
|
794
951
|
className: mergedRimClassNames
|
|
795
952
|
}), status && /* @__PURE__ */ React.createElement("div", {
|
|
796
|
-
"data-testid": `${baseClass$
|
|
953
|
+
"data-testid": `${baseClass$I}__status`,
|
|
797
954
|
className: mergedStatusClassNames
|
|
798
955
|
}), shouldDisplayImage && /* @__PURE__ */ React.createElement("img", {
|
|
799
|
-
className: styles$
|
|
956
|
+
className: styles$z[`${baseClass$I}__image`],
|
|
800
957
|
src,
|
|
801
958
|
alt,
|
|
802
959
|
onError: handleError
|
|
803
960
|
}), shouldDisplayInitials && /* @__PURE__ */ React.createElement("span", {
|
|
804
961
|
style: { color: fontColor }
|
|
805
962
|
}, initials), shouldDisplayFallbackAvatar && /* @__PURE__ */ React.createElement(Icon, {
|
|
806
|
-
"data-testid": `${baseClass$
|
|
963
|
+
"data-testid": `${baseClass$I}__icon`,
|
|
807
964
|
className: mergedIconClassNames,
|
|
808
965
|
source: Person
|
|
809
966
|
}));
|
|
810
967
|
};
|
|
811
968
|
const badge = "lc-Badge-module__badge___GhLnu";
|
|
812
969
|
const badge__dot = "lc-Badge-module__badge__dot___z6RO6";
|
|
813
|
-
var styles$
|
|
970
|
+
var styles$y = {
|
|
814
971
|
badge,
|
|
815
972
|
badge__dot,
|
|
816
973
|
"badge--large": "lc-Badge-module__badge--large___B131q",
|
|
@@ -823,16 +980,16 @@ var styles$A = {
|
|
|
823
980
|
function formatCount(count, max) {
|
|
824
981
|
return count > max ? `${max}+` : `${count}`;
|
|
825
982
|
}
|
|
826
|
-
const baseClass$
|
|
827
|
-
const Badge = (
|
|
828
|
-
var
|
|
983
|
+
const baseClass$H = "badge";
|
|
984
|
+
const Badge = (_k) => {
|
|
985
|
+
var _l = _k, {
|
|
829
986
|
className,
|
|
830
987
|
count = 0,
|
|
831
988
|
max = 99,
|
|
832
989
|
kind = "primary",
|
|
833
990
|
size = "medium",
|
|
834
991
|
type = "counter"
|
|
835
|
-
} =
|
|
992
|
+
} = _l, spanProps = __objRest(_l, [
|
|
836
993
|
"className",
|
|
837
994
|
"count",
|
|
838
995
|
"max",
|
|
@@ -840,154 +997,18 @@ const Badge = (_i) => {
|
|
|
840
997
|
"size",
|
|
841
998
|
"type"
|
|
842
999
|
]);
|
|
843
|
-
const mergedClassNames = cx(className, styles$
|
|
1000
|
+
const mergedClassNames = cx(className, styles$y[baseClass$H], styles$y[`${baseClass$H}--${kind}`], styles$y[`${baseClass$H}--${size}`]);
|
|
844
1001
|
const content = {
|
|
845
1002
|
["counter"]: formatCount(count, max),
|
|
846
1003
|
["alert"]: "!",
|
|
847
1004
|
["dot"]: /* @__PURE__ */ React.createElement("span", {
|
|
848
|
-
className: styles$
|
|
1005
|
+
className: styles$y[`${baseClass$H}__dot`]
|
|
849
1006
|
})
|
|
850
1007
|
}[type];
|
|
851
1008
|
return /* @__PURE__ */ React.createElement("span", __spreadValues({
|
|
852
1009
|
className: mergedClassNames
|
|
853
1010
|
}, spanProps), content);
|
|
854
1011
|
};
|
|
855
|
-
const loader = "lc-Loader-module__loader___LRflD";
|
|
856
|
-
const loader__spinner = "lc-Loader-module__loader__spinner___l3C1g";
|
|
857
|
-
const rotate = "lc-Loader-module__rotate___Tlni-";
|
|
858
|
-
const loader__label = "lc-Loader-module__loader__label___R74f6";
|
|
859
|
-
var styles$z = {
|
|
860
|
-
loader,
|
|
861
|
-
loader__spinner,
|
|
862
|
-
"loader__spinner--small": "lc-Loader-module__loader__spinner--small___dGFFt",
|
|
863
|
-
"loader__spinner--medium": "lc-Loader-module__loader__spinner--medium___J-ki0",
|
|
864
|
-
"loader__spinner--large": "lc-Loader-module__loader__spinner--large___Poqq7",
|
|
865
|
-
"loader__spinner-circle": "lc-Loader-module__loader__spinner-circle___ApBUO",
|
|
866
|
-
rotate,
|
|
867
|
-
loader__label
|
|
868
|
-
};
|
|
869
|
-
const baseClass$I = "loader";
|
|
870
|
-
const spinnerClass = `${baseClass$I}__spinner`;
|
|
871
|
-
const Loader = ({
|
|
872
|
-
primaryColor,
|
|
873
|
-
secondaryColor,
|
|
874
|
-
label,
|
|
875
|
-
className,
|
|
876
|
-
size = "medium"
|
|
877
|
-
}) => {
|
|
878
|
-
return /* @__PURE__ */ React.createElement("div", {
|
|
879
|
-
className: cx(styles$z[baseClass$I], className)
|
|
880
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
881
|
-
className: cx(styles$z[spinnerClass], styles$z[`${spinnerClass}--${size}`])
|
|
882
|
-
}, /* @__PURE__ */ React.createElement("div", {
|
|
883
|
-
className: styles$z["loader__spinner-circle"],
|
|
884
|
-
style: {
|
|
885
|
-
borderColor: secondaryColor,
|
|
886
|
-
borderTopColor: primaryColor
|
|
887
|
-
}
|
|
888
|
-
})), label && /* @__PURE__ */ React.createElement(Text, {
|
|
889
|
-
as: "div",
|
|
890
|
-
size: "md",
|
|
891
|
-
className: styles$z["loader__label"]
|
|
892
|
-
}, label));
|
|
893
|
-
};
|
|
894
|
-
const btn$1 = "lc-Button-module__btn___aijZJ";
|
|
895
|
-
const btn__loader = "lc-Button-module__btn__loader___c8zZz";
|
|
896
|
-
const btn__content = "lc-Button-module__btn__content___wefl2";
|
|
897
|
-
const btn__icon = "lc-Button-module__btn__icon___GVExB";
|
|
898
|
-
var styles$y = {
|
|
899
|
-
btn: btn$1,
|
|
900
|
-
"btn--disabled": "lc-Button-module__btn--disabled___lXBav",
|
|
901
|
-
"btn--full-width": "lc-Button-module__btn--full-width___kdbAr",
|
|
902
|
-
"btn--basic": "lc-Button-module__btn--basic___Jc2gD",
|
|
903
|
-
"btn--primary": "lc-Button-module__btn--primary___ajbjQ",
|
|
904
|
-
"btn--secondary": "lc-Button-module__btn--secondary___iWzE0",
|
|
905
|
-
"btn--destructive": "lc-Button-module__btn--destructive___-kLCl",
|
|
906
|
-
"btn--compact": "lc-Button-module__btn--compact___4eptQ",
|
|
907
|
-
"btn--icon-only": "lc-Button-module__btn--icon-only___bF5pW",
|
|
908
|
-
"btn--large": "lc-Button-module__btn--large___lb-z6",
|
|
909
|
-
"btn--text": "lc-Button-module__btn--text___WA8OL",
|
|
910
|
-
"btn--plain": "lc-Button-module__btn--plain___eOPui",
|
|
911
|
-
"btn--plain-light": "lc-Button-module__btn--plain-light___eS9em",
|
|
912
|
-
"btn--subtle": "lc-Button-module__btn--subtle___s22xR",
|
|
913
|
-
"btn--float": "lc-Button-module__btn--float___J4lTs",
|
|
914
|
-
"btn--loading": "lc-Button-module__btn--loading___ZAgjv",
|
|
915
|
-
btn__loader,
|
|
916
|
-
btn__content,
|
|
917
|
-
btn__icon,
|
|
918
|
-
"btn__icon--left": "lc-Button-module__btn__icon--left___H68zu",
|
|
919
|
-
"btn__icon--right": "lc-Button-module__btn__icon--right___fHr3D",
|
|
920
|
-
"btn--icon-only--bg": "lc-Button-module__btn--icon-only--bg___X-4V2"
|
|
921
|
-
};
|
|
922
|
-
const baseClass$H = "btn";
|
|
923
|
-
const Button = React.forwardRef((_k, ref) => {
|
|
924
|
-
var _l = _k, {
|
|
925
|
-
loading = false,
|
|
926
|
-
disabled = false,
|
|
927
|
-
type = "button",
|
|
928
|
-
fullWidth = false,
|
|
929
|
-
kind = "basic",
|
|
930
|
-
size = "medium",
|
|
931
|
-
icon: icon2 = null,
|
|
932
|
-
iconPosition = "left",
|
|
933
|
-
loaderLabel,
|
|
934
|
-
className,
|
|
935
|
-
children,
|
|
936
|
-
href,
|
|
937
|
-
onClick
|
|
938
|
-
} = _l, props = __objRest(_l, [
|
|
939
|
-
"loading",
|
|
940
|
-
"disabled",
|
|
941
|
-
"type",
|
|
942
|
-
"fullWidth",
|
|
943
|
-
"kind",
|
|
944
|
-
"size",
|
|
945
|
-
"icon",
|
|
946
|
-
"iconPosition",
|
|
947
|
-
"loaderLabel",
|
|
948
|
-
"className",
|
|
949
|
-
"children",
|
|
950
|
-
"href",
|
|
951
|
-
"onClick"
|
|
952
|
-
]);
|
|
953
|
-
const isDisabled = loading || disabled;
|
|
954
|
-
const isIconOnly = !children && icon2;
|
|
955
|
-
const isTextButton = ["text", "plain", "plain-light"].includes(kind);
|
|
956
|
-
const Component = href ? "a" : "button";
|
|
957
|
-
const getSpinnerColors = () => {
|
|
958
|
-
if (kind === "primary" || kind === "destructive") {
|
|
959
|
-
return {
|
|
960
|
-
primaryColor: "var(--action-primary-default)",
|
|
961
|
-
secondaryColor: "var(--border-invert-primary)"
|
|
962
|
-
};
|
|
963
|
-
}
|
|
964
|
-
};
|
|
965
|
-
const mergedClassNames = cx(className, styles$y[baseClass$H], styles$y[`${baseClass$H}--${kind}`], styles$y[`${baseClass$H}--${size}`], {
|
|
966
|
-
[styles$y[`${baseClass$H}--loading`]]: loading,
|
|
967
|
-
[styles$y[`${baseClass$H}--full-width`]]: fullWidth,
|
|
968
|
-
[styles$y[`${baseClass$H}--icon-only`]]: isIconOnly,
|
|
969
|
-
[styles$y[`${baseClass$H}--icon-only--bg`]]: isIconOnly && isTextButton,
|
|
970
|
-
[styles$y[`${baseClass$H}--disabled`]]: isDisabled
|
|
971
|
-
});
|
|
972
|
-
return /* @__PURE__ */ React.createElement(Component, __spreadValues({
|
|
973
|
-
ref,
|
|
974
|
-
className: mergedClassNames,
|
|
975
|
-
"aria-disabled": isDisabled,
|
|
976
|
-
type,
|
|
977
|
-
href: isDisabled ? void 0 : href,
|
|
978
|
-
onClick: isDisabled ? void 0 : onClick,
|
|
979
|
-
disabled: isDisabled
|
|
980
|
-
}, props), loading && /* @__PURE__ */ React.createElement(Loader, __spreadValues({
|
|
981
|
-
size: "small",
|
|
982
|
-
label: loaderLabel,
|
|
983
|
-
className: styles$y[`${baseClass$H}__loader`]
|
|
984
|
-
}, getSpinnerColors())), icon2 && React.cloneElement(icon2, {
|
|
985
|
-
className: cx(styles$y[`${baseClass$H}__icon`], styles$y[`${baseClass$H}__icon--${iconPosition}`]),
|
|
986
|
-
disabled
|
|
987
|
-
}), /* @__PURE__ */ React.createElement("div", {
|
|
988
|
-
className: styles$y[`${baseClass$H}__content`]
|
|
989
|
-
}, children));
|
|
990
|
-
});
|
|
991
1012
|
const btn = "lc-SegmentedControl-module__btn___tfsvL";
|
|
992
1013
|
var styles$x = {
|
|
993
1014
|
"segmented-control": "lc-SegmentedControl-module__segmented-control___LHWSk",
|
|
@@ -1924,7 +1945,7 @@ const FormField = ({
|
|
|
1924
1945
|
className: cx(styles$p[`${baseClass$w}__label-right-node`])
|
|
1925
1946
|
}, labelRightNode)), /* @__PURE__ */ React.createElement("div", {
|
|
1926
1947
|
className: cx(styles$p[`${baseClass$w}__content`])
|
|
1927
|
-
}, children, error && /* @__PURE__ */ React.createElement(FieldError, null, error), description && /* @__PURE__ */ React.createElement(FieldDescription, null, description))));
|
|
1948
|
+
}, children, error && /* @__PURE__ */ React.createElement(FieldError, null, error), !error && description && /* @__PURE__ */ React.createElement(FieldDescription, null, description))));
|
|
1928
1949
|
};
|
|
1929
1950
|
var styles$o = {
|
|
1930
1951
|
"form-group": "lc-FormGroup-module__form-group___e2JHa",
|
|
@@ -1968,6 +1989,7 @@ var styles$n = {
|
|
|
1968
1989
|
"input--focused": "lc-Input-module__input--focused___wQH5-",
|
|
1969
1990
|
"input--disabled": "lc-Input-module__input--disabled___HidXX",
|
|
1970
1991
|
"input--error": "lc-Input-module__input--error___DlDbC",
|
|
1992
|
+
"input--xsmall": "lc-Input-module__input--xsmall___9u99K",
|
|
1971
1993
|
"input--compact": "lc-Input-module__input--compact___iKSQZ",
|
|
1972
1994
|
"input--medium": "lc-Input-module__input--medium___3BjqQ",
|
|
1973
1995
|
"input--large": "lc-Input-module__input--large___jX5RW",
|
|
@@ -2029,7 +2051,7 @@ const Input = React.forwardRef((_A, ref) => {
|
|
|
2029
2051
|
type: type && !isPasswordVisible ? type : "text"
|
|
2030
2052
|
})), shouldRenderRightIcon && renderIcon(icon2, disabled), type === "password" && /* @__PURE__ */ React.createElement(Button, {
|
|
2031
2053
|
disabled,
|
|
2032
|
-
kind: "
|
|
2054
|
+
kind: "subtle",
|
|
2033
2055
|
icon: /* @__PURE__ */ React.createElement(Icon, {
|
|
2034
2056
|
customColor: iconCustomColor,
|
|
2035
2057
|
source: iconSource
|
|
@@ -2356,7 +2378,8 @@ const Trigger = ({
|
|
|
2356
2378
|
size = "medium",
|
|
2357
2379
|
hideClearButton,
|
|
2358
2380
|
onTrigger,
|
|
2359
|
-
onClear
|
|
2381
|
+
onClear,
|
|
2382
|
+
testId
|
|
2360
2383
|
}) => {
|
|
2361
2384
|
const triggerRef = React.useRef(null);
|
|
2362
2385
|
const mergedClassNames = cx(styles$j[baseClass$p], styles$j[`${baseClass$p}--${size}`], isMultiSelect && styles$j[`${baseClass$p}--multi-select`], isMultiSelect && isItemSelected && styles$j[`${baseClass$p}--multi-select--with-items`], isDisabled && styles$j[`${baseClass$p}--disabled`], isOpen && styles$j[`${baseClass$p}--focused`], isError && styles$j[`${baseClass$p}--error`]);
|
|
@@ -2388,7 +2411,8 @@ const Trigger = ({
|
|
|
2388
2411
|
ref: triggerRef,
|
|
2389
2412
|
className: mergedClassNames,
|
|
2390
2413
|
onClick: handleTriggerClick,
|
|
2391
|
-
tabIndex: 0
|
|
2414
|
+
tabIndex: 0,
|
|
2415
|
+
"data-testid": testId
|
|
2392
2416
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
2393
2417
|
className: styles$j[`${baseClass$p}__content`]
|
|
2394
2418
|
}, children), /* @__PURE__ */ React.createElement("div", {
|
|
@@ -2778,6 +2802,7 @@ const Picker = (_M) => {
|
|
|
2778
2802
|
type = "single",
|
|
2779
2803
|
searchDisabled = false,
|
|
2780
2804
|
hideClearButton,
|
|
2805
|
+
openedOnInit = false,
|
|
2781
2806
|
onSelect
|
|
2782
2807
|
} = _N, props = __objRest(_N, [
|
|
2783
2808
|
"className",
|
|
@@ -2794,9 +2819,10 @@ const Picker = (_M) => {
|
|
|
2794
2819
|
"type",
|
|
2795
2820
|
"searchDisabled",
|
|
2796
2821
|
"hideClearButton",
|
|
2822
|
+
"openedOnInit",
|
|
2797
2823
|
"onSelect"
|
|
2798
2824
|
]);
|
|
2799
|
-
const [isListOpen, setIsListOpen] = React.useState(
|
|
2825
|
+
const [isListOpen, setIsListOpen] = React.useState(openedOnInit);
|
|
2800
2826
|
const [searchPhrase, setSearchPhrase] = React.useState(null);
|
|
2801
2827
|
const triggerRef = React.useRef(null);
|
|
2802
2828
|
const mergedClassNames = cx(styles$h[baseClass$l], className);
|
|
@@ -2880,19 +2906,21 @@ const Picker = (_M) => {
|
|
|
2880
2906
|
const itemName = item.name.toLowerCase();
|
|
2881
2907
|
return itemName.includes(search);
|
|
2882
2908
|
});
|
|
2883
|
-
}, [searchPhrase]);
|
|
2909
|
+
}, [searchPhrase, options]);
|
|
2884
2910
|
const selectedItemsKeys = React.useMemo(() => {
|
|
2885
2911
|
if (!selected) {
|
|
2886
2912
|
return null;
|
|
2887
2913
|
}
|
|
2888
2914
|
return selected.map((item) => item.key);
|
|
2889
2915
|
}, [selected]);
|
|
2890
|
-
return /* @__PURE__ */ React.createElement("div",
|
|
2916
|
+
return /* @__PURE__ */ React.createElement("div", {
|
|
2891
2917
|
ref: triggerRef,
|
|
2892
|
-
className: mergedClassNames
|
|
2893
|
-
|
|
2918
|
+
className: mergedClassNames,
|
|
2919
|
+
id: props.id
|
|
2920
|
+
}, /* @__PURE__ */ React.createElement("div", {
|
|
2894
2921
|
className: styles$h[`${baseClass$l}__container`]
|
|
2895
2922
|
}, /* @__PURE__ */ React.createElement(Trigger, {
|
|
2923
|
+
testId: props["data-testid"],
|
|
2896
2924
|
isSearchDisabled: searchDisabled,
|
|
2897
2925
|
isError: error,
|
|
2898
2926
|
isOpen: isListOpen,
|
|
@@ -3137,7 +3165,9 @@ const PromoBanner = ({
|
|
|
3137
3165
|
className: styles$c[`${baseClass$i}__wrapper`]
|
|
3138
3166
|
}, /* @__PURE__ */ React.createElement("div", {
|
|
3139
3167
|
className: styles$c[`${baseClass$i}__header`]
|
|
3140
|
-
}, header), /* @__PURE__ */ React.createElement(
|
|
3168
|
+
}, header), /* @__PURE__ */ React.createElement(Text, {
|
|
3169
|
+
as: "div"
|
|
3170
|
+
}, children), containerSize !== "large" && footer), containerSize === "large" && footer), onClose && /* @__PURE__ */ React.createElement("button", {
|
|
3141
3171
|
type: "button",
|
|
3142
3172
|
className: styles$c[`${baseClass$i}__close-icon`],
|
|
3143
3173
|
onClick: onClose
|
|
@@ -3967,6 +3997,7 @@ const Tooltip = (props) => {
|
|
|
3967
3997
|
function renderFloatingComponent() {
|
|
3968
3998
|
if (withFadeAnimation) {
|
|
3969
3999
|
const enter = css`
|
|
4000
|
+
pointer-events: none;
|
|
3970
4001
|
opacity: 0;
|
|
3971
4002
|
`;
|
|
3972
4003
|
const enterActive = css`
|
|
@@ -3975,6 +4006,9 @@ const Tooltip = (props) => {
|
|
|
3975
4006
|
transition-duration: ${transitionDuration}ms;
|
|
3976
4007
|
transition-delay: ${transitionDelay}ms;
|
|
3977
4008
|
`;
|
|
4009
|
+
const enterDone = css`
|
|
4010
|
+
pointer-events: initial;
|
|
4011
|
+
`;
|
|
3978
4012
|
const exit = css`
|
|
3979
4013
|
opacity: 1;
|
|
3980
4014
|
`;
|
|
@@ -3992,6 +4026,7 @@ const Tooltip = (props) => {
|
|
|
3992
4026
|
timeout,
|
|
3993
4027
|
classNames: {
|
|
3994
4028
|
enter,
|
|
4029
|
+
enterDone,
|
|
3995
4030
|
enterActive,
|
|
3996
4031
|
exit,
|
|
3997
4032
|
exitActive
|
|
@@ -4275,19 +4310,27 @@ var styles$3 = {
|
|
|
4275
4310
|
const baseClass$3 = "textarea";
|
|
4276
4311
|
const Textarea = React.forwardRef((__, ref) => {
|
|
4277
4312
|
var _$ = __, { className, error } = _$, textareaProps = __objRest(_$, ["className", "error"]);
|
|
4278
|
-
const { disabled } = textareaProps;
|
|
4313
|
+
const { disabled, onBlur, onFocus } = textareaProps;
|
|
4279
4314
|
const [isFocused, setIsFocused] = React.useState(false);
|
|
4280
4315
|
const mergedClassNames = cx(className, styles$3[baseClass$3], {
|
|
4281
4316
|
[styles$3[`${baseClass$3}--disabled`]]: disabled,
|
|
4282
4317
|
[styles$3[`${baseClass$3}--focused`]]: isFocused,
|
|
4283
4318
|
[styles$3[`${baseClass$3}--error`]]: error
|
|
4284
4319
|
});
|
|
4320
|
+
const handleOnBlur = (e) => {
|
|
4321
|
+
setIsFocused(false);
|
|
4322
|
+
onBlur == null ? void 0 : onBlur(e);
|
|
4323
|
+
};
|
|
4324
|
+
const handleOnFocus = (e) => {
|
|
4325
|
+
setIsFocused(true);
|
|
4326
|
+
onFocus == null ? void 0 : onFocus(e);
|
|
4327
|
+
};
|
|
4285
4328
|
return /* @__PURE__ */ React.createElement("div", {
|
|
4286
4329
|
className: mergedClassNames
|
|
4287
4330
|
}, /* @__PURE__ */ React.createElement("textarea", __spreadProps(__spreadValues({}, textareaProps), {
|
|
4288
4331
|
ref,
|
|
4289
|
-
onFocus:
|
|
4290
|
-
onBlur:
|
|
4332
|
+
onFocus: handleOnFocus,
|
|
4333
|
+
onBlur: handleOnBlur
|
|
4291
4334
|
})));
|
|
4292
4335
|
});
|
|
4293
4336
|
var styles$2 = {
|