@livechat/design-system-react-components 1.0.0-alpha.53 → 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.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",
@@ -614,22 +615,161 @@ const Icon = (props) => {
614
615
  className: mergedClassNames
615
616
  }), GeneratedIcon);
616
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
+ });
617
755
  const alert = "lc-Alert-module__alert___HBTns";
618
- const alert__content = "lc-Alert-module__alert__content___9nZdf";
619
756
  const alert__icon = "lc-Alert-module__alert__icon___8TaAH";
620
- var styles$C = {
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 = {
621
761
  alert,
762
+ alert__icon,
622
763
  alert__content,
623
- "alert__content-text": "lc-Alert-module__alert__content-text___x2Un5",
624
- "alert__content-text--margin": "lc-Alert-module__alert__content-text--margin___whVzG",
625
- "alert__content-icon": "lc-Alert-module__alert__content-icon___-EXJm",
626
- "alert--small": "lc-Alert-module__alert--small___Fyk-v",
764
+ alert__content__text,
765
+ alert__content__cta,
627
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",
628
769
  "alert--info": "lc-Alert-module__alert--info___GmIGN",
629
770
  "alert--warning": "lc-Alert-module__alert--warning___MubhD",
630
771
  "alert--success": "lc-Alert-module__alert--success___fPtlZ",
631
- "alert--error": "lc-Alert-module__alert--error___DKPo0",
632
- alert__icon
772
+ "alert--error": "lc-Alert-module__alert--error___DKPo0"
633
773
  };
634
774
  const IconConfig = {
635
775
  info: {
@@ -649,46 +789,65 @@ const IconConfig = {
649
789
  kind: "error"
650
790
  }
651
791
  };
652
- const baseClass$L = "alert";
653
- const Alert = (_g) => {
654
- var _h = _g, {
792
+ const baseClass$J = "alert";
793
+ const Alert = (_i) => {
794
+ var _j = _i, {
655
795
  children,
656
796
  className,
797
+ primaryButton,
798
+ secondaryButton,
657
799
  kind = "info",
658
800
  onClose
659
- } = _h, props = __objRest(_h, [
801
+ } = _j, props = __objRest(_j, [
660
802
  "children",
661
803
  "className",
804
+ "primaryButton",
805
+ "secondaryButton",
662
806
  "kind",
663
807
  "onClose"
664
808
  ]);
665
809
  const containerRef = React.useRef(null);
666
- const [isSmallContainer, setIsSmallContainer] = React.useState(false);
667
- const mergedClassNames = cx(styles$C[baseClass$L], styles$C[`${baseClass$L}--${kind}`], isSmallContainer && styles$C[`${baseClass$L}--small`], className);
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);
668
812
  React.useEffect(() => {
669
- const handleResize = debounce(() => {
813
+ const resize = () => {
670
814
  if (containerRef.current && containerRef.current.offsetWidth <= 400) {
671
- return setIsSmallContainer(true);
815
+ return setContainerSize("small");
816
+ }
817
+ if (containerRef.current && containerRef.current.offsetWidth > 400 && containerRef.current.offsetWidth <= 800) {
818
+ return setContainerSize("medium");
672
819
  }
673
- return setIsSmallContainer(false);
820
+ return setContainerSize(null);
821
+ };
822
+ const handleResize = debounce(() => {
823
+ resize();
674
824
  }, 500);
675
825
  window.addEventListener("resize", handleResize);
826
+ resize();
676
827
  return () => window.removeEventListener("resize", handleResize);
677
828
  });
678
829
  return /* @__PURE__ */ React.createElement("div", __spreadValues({
679
830
  ref: containerRef,
680
831
  className: mergedClassNames
681
- }, props), /* @__PURE__ */ React.createElement("div", {
682
- className: styles$C[`${baseClass$L}__content`]
683
- }, /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
832
+ }, props), /* @__PURE__ */ React.createElement(Icon, __spreadProps(__spreadValues({}, IconConfig[kind]), {
684
833
  size: "large",
685
- className: styles$C[`${baseClass$L}__content-icon`]
686
- })), /* @__PURE__ */ React.createElement(Text, {
834
+ className: styles$A[`${baseClass$J}__icon`]
835
+ })), /* @__PURE__ */ React.createElement("div", {
836
+ className: styles$A[`${baseClass$J}__content`]
837
+ }, /* @__PURE__ */ React.createElement(Text, {
687
838
  as: "div",
688
- className: cx(styles$C[`${baseClass$L}__content-text`], onClose && styles$C[`${baseClass$L}__content-text--margin`])
689
- }, children)), onClose && /* @__PURE__ */ React.createElement("button", {
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", {
690
849
  type: "button",
691
- className: styles$C[`${baseClass$L}__close-icon`],
850
+ className: styles$A[`${baseClass$J}__close-icon`],
692
851
  onClick: onClose
693
852
  }, /* @__PURE__ */ React.createElement(Icon, {
694
853
  source: Close,
@@ -706,7 +865,7 @@ const avatar = "lc-Avatar-module__avatar___1zTCE";
706
865
  const avatar__status = "lc-Avatar-module__avatar__status___nX2Ls";
707
866
  const avatar__rim = "lc-Avatar-module__avatar__rim___RCQ8Q";
708
867
  const avatar__image = "lc-Avatar-module__avatar__image___YqfqE";
709
- var styles$B = {
868
+ var styles$z = {
710
869
  avatar,
711
870
  avatar__status,
712
871
  "avatar__status--available": "lc-Avatar-module__avatar__status--available___tcpFg",
@@ -752,7 +911,7 @@ var styles$B = {
752
911
  "avatar--xlarge": "lc-Avatar-module__avatar--xlarge___zwgeW",
753
912
  "avatar--xxlarge": "lc-Avatar-module__avatar--xxlarge___Ur0ul"
754
913
  };
755
- const baseClass$K = "avatar";
914
+ const baseClass$I = "avatar";
756
915
  const Avatar = ({
757
916
  alt,
758
917
  className,
@@ -773,15 +932,15 @@ const Avatar = ({
773
932
  const initials = getInitials(text, letterCount);
774
933
  const fontColor = color && getFontColor(color);
775
934
  const mergedClassNames = cx({
776
- [styles$B[baseClass$K]]: true,
777
- [styles$B[`${baseClass$K}--${shape}`]]: true,
778
- [styles$B[`${baseClass$K}--${size}`]]: true,
779
- [styles$B[`${baseClass$K}--with-rim`]]: withRim,
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,
780
939
  [`${className}`]: className
781
940
  });
782
- const mergedStatusClassNames = cx(styles$B[`${baseClass$K}__status`], styles$B[`${baseClass$K}__status--${shape}`], styles$B[`${baseClass$K}__status--${size}`], styles$B[`${baseClass$K}__status--${status}`]);
783
- const mergedIconClassNames = cx(styles$B[`${baseClass$K}__icon`], styles$B[`${baseClass$K}__icon--${size}`]);
784
- const mergedRimClassNames = cx(styles$B[`${baseClass$K}__rim`], styles$B[`${baseClass$K}__rim--${size}`]);
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}`]);
785
944
  const handleError = React.useCallback(() => setShouldDisplayFallbackAvatar(true), []);
786
945
  React.useEffect(() => {
787
946
  setShouldDisplayFallbackAvatar(isImproperImageSetup);
@@ -790,27 +949,27 @@ const Avatar = ({
790
949
  className: mergedClassNames,
791
950
  style: { backgroundColor: color }
792
951
  }, withRim && /* @__PURE__ */ React.createElement("div", {
793
- "data-testid": `${baseClass$K}__rim`,
952
+ "data-testid": `${baseClass$I}__rim`,
794
953
  className: mergedRimClassNames
795
954
  }), status && /* @__PURE__ */ React.createElement("div", {
796
- "data-testid": `${baseClass$K}__status`,
955
+ "data-testid": `${baseClass$I}__status`,
797
956
  className: mergedStatusClassNames
798
957
  }), shouldDisplayImage && /* @__PURE__ */ React.createElement("img", {
799
- className: styles$B[`${baseClass$K}__image`],
958
+ className: styles$z[`${baseClass$I}__image`],
800
959
  src,
801
960
  alt,
802
961
  onError: handleError
803
962
  }), shouldDisplayInitials && /* @__PURE__ */ React.createElement("span", {
804
963
  style: { color: fontColor }
805
964
  }, initials), shouldDisplayFallbackAvatar && /* @__PURE__ */ React.createElement(Icon, {
806
- "data-testid": `${baseClass$K}__icon`,
965
+ "data-testid": `${baseClass$I}__icon`,
807
966
  className: mergedIconClassNames,
808
967
  source: Person
809
968
  }));
810
969
  };
811
970
  const badge = "lc-Badge-module__badge___GhLnu";
812
971
  const badge__dot = "lc-Badge-module__badge__dot___z6RO6";
813
- var styles$A = {
972
+ var styles$y = {
814
973
  badge,
815
974
  badge__dot,
816
975
  "badge--large": "lc-Badge-module__badge--large___B131q",
@@ -823,16 +982,16 @@ var styles$A = {
823
982
  function formatCount(count, max) {
824
983
  return count > max ? `${max}+` : `${count}`;
825
984
  }
826
- const baseClass$J = "badge";
827
- const Badge = (_i) => {
828
- var _j = _i, {
985
+ const baseClass$H = "badge";
986
+ const Badge = (_k) => {
987
+ var _l = _k, {
829
988
  className,
830
989
  count = 0,
831
990
  max = 99,
832
991
  kind = "primary",
833
992
  size = "medium",
834
993
  type = "counter"
835
- } = _j, spanProps = __objRest(_j, [
994
+ } = _l, spanProps = __objRest(_l, [
836
995
  "className",
837
996
  "count",
838
997
  "max",
@@ -840,154 +999,18 @@ const Badge = (_i) => {
840
999
  "size",
841
1000
  "type"
842
1001
  ]);
843
- const mergedClassNames = cx(className, styles$A[baseClass$J], styles$A[`${baseClass$J}--${kind}`], styles$A[`${baseClass$J}--${size}`]);
1002
+ const mergedClassNames = cx(className, styles$y[baseClass$H], styles$y[`${baseClass$H}--${kind}`], styles$y[`${baseClass$H}--${size}`]);
844
1003
  const content = {
845
1004
  ["counter"]: formatCount(count, max),
846
1005
  ["alert"]: "!",
847
1006
  ["dot"]: /* @__PURE__ */ React.createElement("span", {
848
- className: styles$A[`${baseClass$J}__dot`]
1007
+ className: styles$y[`${baseClass$H}__dot`]
849
1008
  })
850
1009
  }[type];
851
1010
  return /* @__PURE__ */ React.createElement("span", __spreadValues({
852
1011
  className: mergedClassNames
853
1012
  }, spanProps), content);
854
1013
  };
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
1014
  const btn = "lc-SegmentedControl-module__btn___tfsvL";
992
1015
  var styles$x = {
993
1016
  "segmented-control": "lc-SegmentedControl-module__segmented-control___LHWSk",
@@ -1924,7 +1947,7 @@ const FormField = ({
1924
1947
  className: cx(styles$p[`${baseClass$w}__label-right-node`])
1925
1948
  }, labelRightNode)), /* @__PURE__ */ React.createElement("div", {
1926
1949
  className: cx(styles$p[`${baseClass$w}__content`])
1927
- }, 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))));
1928
1951
  };
1929
1952
  var styles$o = {
1930
1953
  "form-group": "lc-FormGroup-module__form-group___e2JHa",
@@ -2880,7 +2903,7 @@ const Picker = (_M) => {
2880
2903
  const itemName = item.name.toLowerCase();
2881
2904
  return itemName.includes(search);
2882
2905
  });
2883
- }, [searchPhrase]);
2906
+ }, [searchPhrase, options]);
2884
2907
  const selectedItemsKeys = React.useMemo(() => {
2885
2908
  if (!selected) {
2886
2909
  return null;
@@ -4275,19 +4298,27 @@ var styles$3 = {
4275
4298
  const baseClass$3 = "textarea";
4276
4299
  const Textarea = React.forwardRef((__, ref) => {
4277
4300
  var _$ = __, { className, error } = _$, textareaProps = __objRest(_$, ["className", "error"]);
4278
- const { disabled } = textareaProps;
4301
+ const { disabled, onBlur, onFocus } = textareaProps;
4279
4302
  const [isFocused, setIsFocused] = React.useState(false);
4280
4303
  const mergedClassNames = cx(className, styles$3[baseClass$3], {
4281
4304
  [styles$3[`${baseClass$3}--disabled`]]: disabled,
4282
4305
  [styles$3[`${baseClass$3}--focused`]]: isFocused,
4283
4306
  [styles$3[`${baseClass$3}--error`]]: error
4284
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
+ };
4285
4316
  return /* @__PURE__ */ React.createElement("div", {
4286
4317
  className: mergedClassNames
4287
4318
  }, /* @__PURE__ */ React.createElement("textarea", __spreadProps(__spreadValues({}, textareaProps), {
4288
4319
  ref,
4289
- onFocus: () => setIsFocused(true),
4290
- onBlur: () => setIsFocused(false)
4320
+ onFocus: handleOnFocus,
4321
+ onBlur: handleOnBlur
4291
4322
  })));
4292
4323
  });
4293
4324
  var styles$2 = {