@bichon/ds 0.0.0 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { css, ThemeProvider, Global, useTheme } from '@emotion/react';
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
- import { forwardRef, useMemo, createContext, useState, useContext } from 'react';
4
- import styled8 from '@emotion/styled';
5
- import isPropValid from '@emotion/is-prop-valid';
3
+ import { forwardRef, useMemo, createContext, useContext, useState } from 'react';
4
+ import styled18 from '@emotion/styled';
5
+ import isPropValid8 from '@emotion/is-prop-valid';
6
6
  import * as RadixAvatar from '@radix-ui/react-avatar';
7
7
  import * as RadixProgress from '@radix-ui/react-progress';
8
8
  import TextareaAutosize from 'react-textarea-autosize';
@@ -13,6 +13,8 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
13
13
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
14
14
  import * as DropdownMenu2 from '@radix-ui/react-dropdown-menu';
15
15
  import * as TooltipPrimitive2 from '@radix-ui/react-tooltip';
16
+ import * as ToggleGroup from '@radix-ui/react-toggle-group';
17
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
16
18
 
17
19
  // src/BichonThemeProvider.tsx
18
20
 
@@ -88,144 +90,110 @@ var colors = {
88
90
  textWarning: basicColor.red[500]
89
91
  };
90
92
 
91
- // src/tokens/typography.ts
92
- var fontSize = {
93
- xs: "12px",
94
- sm: "13px",
95
- base: "14px",
96
- md: "15px",
97
- lg: "16px",
98
- xl: "18px",
99
- "2xl": "20px",
100
- "3xl": "24px",
101
- "4xl": "32px"
102
- };
103
- var fontWeight = {
104
- regular: 400,
105
- medium: 500,
106
- semibold: 600
107
- };
108
- var lineHeight = {
109
- xs: "18px",
110
- sm: "19.5px",
111
- base: "21px",
112
- md: "22.5px",
113
- lg: "24px",
114
- xl: "27px",
115
- "2xl": "29px",
116
- "3xl": "32px",
117
- "4xl": "42px"
118
- };
119
- var letterSpacing = {
120
- tight: "-0.02em",
121
- normal: "0em"
122
- };
123
- var typography = {
124
- // Headings
125
- heading4xl: {
126
- fontSize: fontSize["4xl"],
127
- lineHeight: lineHeight["4xl"],
128
- fontWeight: fontWeight.semibold,
129
- letterSpacing: letterSpacing.tight
130
- },
131
- heading3xl: {
132
- fontSize: fontSize["3xl"],
133
- lineHeight: lineHeight["3xl"],
134
- fontWeight: fontWeight.semibold,
135
- letterSpacing: letterSpacing.tight
136
- },
137
- heading2xl: {
138
- fontSize: fontSize["2xl"],
139
- lineHeight: lineHeight["2xl"],
140
- fontWeight: fontWeight.semibold,
141
- letterSpacing: letterSpacing.tight
142
- },
143
- headingXl: {
144
- fontSize: fontSize.xl,
145
- lineHeight: lineHeight.xl,
146
- fontWeight: fontWeight.semibold,
147
- letterSpacing: letterSpacing.tight
148
- },
149
- headingLg: {
150
- fontSize: fontSize.lg,
151
- lineHeight: lineHeight.lg,
152
- fontWeight: fontWeight.semibold,
153
- letterSpacing: letterSpacing.tight
154
- },
155
- headingBase: {
156
- fontSize: fontSize.base,
157
- lineHeight: lineHeight.base,
158
- fontWeight: fontWeight.semibold,
159
- letterSpacing: letterSpacing.tight
160
- },
161
- // Body Text - Medium
162
- bodyXlMedium: {
163
- fontSize: fontSize.xl,
164
- lineHeight: lineHeight.xl,
165
- fontWeight: fontWeight.medium,
166
- letterSpacing: letterSpacing.tight
167
- },
168
- bodyLgMedium: {
169
- fontSize: fontSize.lg,
170
- lineHeight: lineHeight.lg,
171
- fontWeight: fontWeight.medium,
172
- letterSpacing: letterSpacing.tight
173
- },
174
- bodyMdMedium: {
175
- fontSize: fontSize.md,
176
- lineHeight: lineHeight.md,
177
- fontWeight: fontWeight.medium,
178
- letterSpacing: letterSpacing.tight
179
- },
180
- bodyBaseMedium: {
181
- fontSize: fontSize.base,
182
- lineHeight: lineHeight.base,
183
- fontWeight: fontWeight.medium,
184
- letterSpacing: letterSpacing.tight
185
- },
186
- bodySmMedium: {
187
- fontSize: fontSize.sm,
188
- lineHeight: lineHeight.sm,
189
- fontWeight: fontWeight.medium,
190
- letterSpacing: letterSpacing.tight
191
- },
192
- bodyXsMedium: {
193
- fontSize: fontSize.xs,
194
- lineHeight: lineHeight.xs,
195
- fontWeight: fontWeight.medium,
196
- letterSpacing: letterSpacing.tight
197
- },
198
- // Body Text - Regular
199
- bodyLgRegular: {
200
- fontSize: fontSize.lg,
201
- lineHeight: lineHeight.lg,
202
- fontWeight: fontWeight.regular,
203
- letterSpacing: letterSpacing.tight
204
- },
205
- bodyMdRegular: {
206
- fontSize: fontSize.md,
207
- lineHeight: lineHeight.md,
208
- fontWeight: fontWeight.regular,
209
- letterSpacing: letterSpacing.tight
210
- },
211
- bodyBaseRegular: {
212
- fontSize: fontSize.base,
213
- lineHeight: lineHeight.base,
214
- fontWeight: fontWeight.regular,
215
- letterSpacing: letterSpacing.tight
216
- },
217
- bodySmRegular: {
218
- fontSize: fontSize.sm,
219
- lineHeight: lineHeight.sm,
220
- fontWeight: fontWeight.regular,
221
- letterSpacing: letterSpacing.tight
222
- },
223
- bodyXsRegular: {
224
- fontSize: fontSize.xs,
225
- lineHeight: lineHeight.xs,
226
- fontWeight: fontWeight.regular,
227
- letterSpacing: letterSpacing.tight
228
- }
93
+ // src/tokens/typo.ts
94
+ var typo = {
95
+ Sb_32: `
96
+ font-size: 32px;
97
+ line-height: 42px;
98
+ font-weight: 600;
99
+ letter-spacing: -0.02em;
100
+ `,
101
+ Sb_24: `
102
+ font-size: 24px;
103
+ line-height: 32px;
104
+ font-weight: 600;
105
+ letter-spacing: -0.02em;
106
+ `,
107
+ Sb_20: `
108
+ font-size: 20px;
109
+ line-height: 29px;
110
+ font-weight: 600;
111
+ letter-spacing: -0.02em;
112
+ `,
113
+ Sb_18: `
114
+ font-size: 18px;
115
+ line-height: 27px;
116
+ font-weight: 600;
117
+ letter-spacing: -0.02em;
118
+ `,
119
+ Sb_16: `
120
+ font-size: 16px;
121
+ line-height: 24px;
122
+ font-weight: 600;
123
+ letter-spacing: -0.02em;
124
+ `,
125
+ Sb_14: `
126
+ font-size: 14px;
127
+ line-height: 21px;
128
+ font-weight: 600;
129
+ letter-spacing: -0.02em;
130
+ `,
131
+ Md_18: `
132
+ font-size: 18px;
133
+ line-height: 27px;
134
+ font-weight: 500;
135
+ letter-spacing: -0.02em;
136
+ `,
137
+ Md_16: `
138
+ font-size: 16px;
139
+ line-height: 24px;
140
+ font-weight: 500;
141
+ letter-spacing: -0.02em;
142
+ `,
143
+ Md_15: `
144
+ font-size: 15px;
145
+ line-height: 22.5px;
146
+ font-weight: 500;
147
+ letter-spacing: -0.02em;
148
+ `,
149
+ Md_14: `
150
+ font-size: 14px;
151
+ line-height: 21px;
152
+ font-weight: 500;
153
+ letter-spacing: -0.02em;
154
+ `,
155
+ Md_13: `
156
+ font-size: 13px;
157
+ line-height: 19.5px;
158
+ font-weight: 500;
159
+ letter-spacing: -0.02em;
160
+ `,
161
+ Md_12: `
162
+ font-size: 12px;
163
+ line-height: 18px;
164
+ font-weight: 500;
165
+ letter-spacing: -0.02em;
166
+ `,
167
+ Rg_16: `
168
+ font-size: 16px;
169
+ line-height: 24px;
170
+ font-weight: 400;
171
+ letter-spacing: -0.02em;
172
+ `,
173
+ Rg_15: `
174
+ font-size: 15px;
175
+ line-height: 22.5px;
176
+ font-weight: 400;
177
+ letter-spacing: -0.02em;
178
+ `,
179
+ Rg_14: `
180
+ font-size: 14px;
181
+ line-height: 21px;
182
+ font-weight: 400;
183
+ letter-spacing: -0.02em;
184
+ `,
185
+ Rg_13: `
186
+ font-size: 13px;
187
+ line-height: 19.5px;
188
+ font-weight: 400;
189
+ letter-spacing: -0.02em;
190
+ `,
191
+ Rg_12: `
192
+ font-size: 12px;
193
+ line-height: 18px;
194
+ font-weight: 400;
195
+ letter-spacing: -0.02em;
196
+ `
229
197
  };
230
198
 
231
199
  // src/tokens/spacing.ts
@@ -446,7 +414,7 @@ var globalStyles = css`
446
414
  `;
447
415
  var theme = {
448
416
  colors,
449
- typography,
417
+ typo,
450
418
  spacing,
451
419
  radius,
452
420
  shadows
@@ -471,8 +439,8 @@ var sizeStyles = {
471
439
  height: "24px"
472
440
  }
473
441
  };
474
- var propFilter = (prop) => !["$size"].includes(prop) && isPropValid(prop);
475
- var StyledAvatarRoot = styled8(RadixAvatar.Root, {
442
+ var propFilter = (prop) => !["$size"].includes(prop) && isPropValid8(prop);
443
+ var StyledAvatarRoot = styled18(RadixAvatar.Root, {
476
444
  shouldForwardProp: propFilter
477
445
  })`
478
446
  display: inline-flex;
@@ -487,13 +455,13 @@ var StyledAvatarRoot = styled8(RadixAvatar.Root, {
487
455
  border: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
488
456
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
489
457
  `;
490
- var StyledAvatarImage = styled8(RadixAvatar.Image)`
458
+ var StyledAvatarImage = styled18(RadixAvatar.Image)`
491
459
  width: 100%;
492
460
  height: 100%;
493
461
  object-fit: cover;
494
462
  border-radius: inherit;
495
463
  `;
496
- var StyledAvatarFallback = styled8(RadixAvatar.Fallback)`
464
+ var StyledAvatarFallback = styled18(RadixAvatar.Fallback)`
497
465
  width: 100%;
498
466
  height: 100%;
499
467
  display: flex;
@@ -555,22 +523,19 @@ Avatar.displayName = "Avatar";
555
523
  var sizeStyles2 = {
556
524
  large: {
557
525
  padding: "3.5px 12px",
558
- typography: "bodyBaseMedium"
559
- // md14 (14px)
526
+ typography: "Md_14"
560
527
  },
561
528
  medium: {
562
529
  padding: "2px 10px",
563
- typography: "bodySmMedium"
564
- // md13 (13px)
530
+ typography: "Md_13"
565
531
  },
566
532
  small: {
567
533
  padding: "1px 8px",
568
- typography: "bodyXsMedium"
569
- // md12 (12px)
534
+ typography: "Md_12"
570
535
  }
571
536
  };
572
- var propFilter2 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid(prop);
573
- var StyledBadge = styled8("span", {
537
+ var propFilter2 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid8(prop);
538
+ var StyledBadge = styled18("span", {
574
539
  shouldForwardProp: propFilter2
575
540
  })`
576
541
  display: inline-flex;
@@ -583,12 +548,8 @@ var StyledBadge = styled8("span", {
583
548
 
584
549
  ${({ $size, theme: theme2 }) => {
585
550
  const spec = sizeStyles2[$size];
586
- const typo = theme2.typography[spec.typography];
587
551
  return `
588
- font-size: ${typo.fontSize};
589
- line-height: ${typo.lineHeight};
590
- font-weight: ${typo.fontWeight};
591
- letter-spacing: ${typo.letterSpacing};
552
+ ${theme2.typo[spec.typography]}
592
553
  padding: ${spec.padding};
593
554
  `;
594
555
  }}
@@ -646,8 +607,8 @@ var sizeStyles3 = {
646
607
  height: "2px"
647
608
  }
648
609
  };
649
- var propFilter3 = (prop) => !["$size", "$width"].includes(prop) && isPropValid(prop);
650
- var StyledProgressRoot = styled8(RadixProgress.Root, {
610
+ var propFilter3 = (prop) => !["$size", "$width"].includes(prop) && isPropValid8(prop);
611
+ var StyledProgressRoot = styled18(RadixProgress.Root, {
651
612
  shouldForwardProp: propFilter3
652
613
  })`
653
614
  position: relative;
@@ -671,7 +632,7 @@ var StyledProgressRoot = styled8(RadixProgress.Root, {
671
632
  }
672
633
  }
673
634
  `;
674
- var StyledProgressIndicator = styled8(RadixProgress.Indicator)`
635
+ var StyledProgressIndicator = styled18(RadixProgress.Indicator)`
675
636
  background-color: ${({ theme: theme2 }) => theme2.colors.bgAccent};
676
637
  width: 100%;
677
638
  height: 100%;
@@ -705,76 +666,28 @@ var Progress = forwardRef(
705
666
  Progress.displayName = "Progress";
706
667
  var sizeStyles4 = {
707
668
  filled: {
708
- large: {
709
- borderRadius: "xl",
710
- typography: "bodyLgMedium",
711
- padding: "12px 16px"
712
- },
713
- medium: {
714
- borderRadius: "lg",
715
- typography: "bodyMdMedium",
716
- padding: "8.5px 16px"
717
- },
718
- small: {
719
- borderRadius: "lg",
720
- typography: "bodyBaseMedium",
721
- padding: "5.5px 12px"
722
- }
669
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
670
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
671
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
723
672
  },
724
673
  warning: {
725
- large: {
726
- borderRadius: "xl",
727
- typography: "bodyLgMedium",
728
- padding: "12px 16px"
729
- },
730
- medium: {
731
- borderRadius: "lg",
732
- typography: "bodyMdMedium",
733
- padding: "8.5px 16px"
734
- },
735
- small: {
736
- borderRadius: "lg",
737
- typography: "bodyBaseMedium",
738
- padding: "5.5px 12px"
739
- }
674
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
675
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
676
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
740
677
  },
741
678
  outlined: {
742
- large: {
743
- borderRadius: "xl",
744
- typography: "bodyLgMedium",
745
- padding: "12px 16px"
746
- },
747
- medium: {
748
- borderRadius: "lg",
749
- typography: "bodyMdMedium",
750
- padding: "8.5px 16px"
751
- },
752
- small: {
753
- borderRadius: "lg",
754
- typography: "bodyBaseMedium",
755
- padding: "5.5px 12px"
756
- }
679
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
680
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
681
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
757
682
  },
758
683
  text: {
759
- large: {
760
- borderRadius: "xl",
761
- typography: "bodyLgMedium",
762
- padding: "12px 8px"
763
- },
764
- medium: {
765
- borderRadius: "lg",
766
- typography: "bodyMdMedium",
767
- padding: "8.5px 8px"
768
- },
769
- small: {
770
- borderRadius: "lg",
771
- typography: "bodyBaseMedium",
772
- padding: "8px 6px"
773
- }
684
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 8px" },
685
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 8px" },
686
+ small: { borderRadius: "lg", typography: "Md_14", padding: "8px 6px" }
774
687
  }
775
688
  };
776
- var propFilter4 = (prop) => !["$variant", "$size", "$width"].includes(prop) && isPropValid(prop);
777
- var StyledButton = styled8("button", {
689
+ var propFilter4 = (prop) => !["$variant", "$size", "$width", "$active"].includes(prop) && isPropValid8(prop);
690
+ var StyledButton = styled18("button", {
778
691
  shouldForwardProp: propFilter4
779
692
  })`
780
693
  display: inline-flex;
@@ -796,26 +709,21 @@ var StyledButton = styled8("button", {
796
709
  ${({ $variant, $size, theme: theme2 }) => {
797
710
  const spec = sizeStyles4[$variant][$size];
798
711
  const borderRadius = "borderRadius" in spec ? theme2.radius[spec.borderRadius] : "";
799
- const typo = theme2.typography[spec.typography];
800
712
  return `
801
- font-size: ${typo.fontSize};
802
- line-height: ${typo.lineHeight};
803
- font-weight: ${typo.fontWeight};
804
- letter-spacing: ${typo.letterSpacing};
713
+ ${theme2.typo[spec.typography]}
805
714
  padding: ${spec.padding};
806
715
  ${borderRadius ? `border-radius: ${borderRadius};` : ""}
807
716
  `;
808
717
  }}
809
718
 
810
- ${({ $variant, theme: theme2 }) => {
719
+ ${({ $variant, $active, theme: theme2 }) => {
720
+ const activeSelector = $active ? `&, ` : "";
721
+ const hoverActive = `&:hover:not(:disabled), &:active:not(:disabled)`;
811
722
  if ($variant === "filled") {
812
723
  return `
813
- background-color: ${theme2.colors.bgAccent};
724
+ background-color: ${$active ? theme2.colors.bgAccentDark : theme2.colors.bgAccent};
814
725
  color: ${theme2.colors.bgWhite};
815
-
816
- /* Pressed & Hovered \uB3D9\uC77C \uCC98\uB9AC */
817
- &:hover:not(:disabled),
818
- &:active:not(:disabled) {
726
+ ${activeSelector}${hoverActive} {
819
727
  background-color: ${theme2.colors.bgAccentDark};
820
728
  color: ${theme2.colors.bgWhite};
821
729
  }
@@ -823,11 +731,9 @@ var StyledButton = styled8("button", {
823
731
  }
824
732
  if ($variant === "warning") {
825
733
  return `
826
- background-color: ${theme2.colors.bgWarning};
734
+ background-color: ${$active ? theme2.colors.bgWarningDark : theme2.colors.bgWarning};
827
735
  color: ${theme2.colors.bgWhite};
828
-
829
- &:hover:not(:disabled),
830
- &:active:not(:disabled) {
736
+ ${activeSelector}${hoverActive} {
831
737
  background-color: ${theme2.colors.bgWarningDark};
832
738
  color: ${theme2.colors.bgWhite};
833
739
  }
@@ -835,13 +741,10 @@ var StyledButton = styled8("button", {
835
741
  }
836
742
  if ($variant === "outlined") {
837
743
  return `
838
- background-color: ${theme2.colors.bgWhite};
744
+ background-color: ${$active ? theme2.colors.bgMediumGrey : theme2.colors.bgWhite};
839
745
  border: 1px solid ${theme2.colors.lineDefault};
840
746
  color: ${theme2.colors.textPrimary};
841
-
842
- /* Pressed & Hovered: bg-medium-gray */
843
- &:hover:not(:disabled),
844
- &:active:not(:disabled) {
747
+ ${activeSelector}${hoverActive} {
845
748
  background-color: ${theme2.colors.bgMediumGrey};
846
749
  border: 1px solid ${theme2.colors.lineDefault};
847
750
  color: ${theme2.colors.textPrimary};
@@ -849,11 +752,9 @@ var StyledButton = styled8("button", {
849
752
  `;
850
753
  }
851
754
  return `
852
- background-color: transparent;
755
+ background-color: ${$active ? theme2.colors.bgMediumGrey : "transparent"};
853
756
  color: ${theme2.colors.textPrimary};
854
-
855
- &:hover:not(:disabled),
856
- &:active:not(:disabled) {
757
+ ${activeSelector}${hoverActive} {
857
758
  background-color: ${theme2.colors.bgMediumGrey};
858
759
  color: ${theme2.colors.textPrimary};
859
760
  }
@@ -871,6 +772,7 @@ var Button = forwardRef(
871
772
  variant = "filled",
872
773
  size = "medium",
873
774
  width,
775
+ active,
874
776
  children,
875
777
  type = "button",
876
778
  ...props
@@ -882,6 +784,7 @@ var Button = forwardRef(
882
784
  $variant: variant,
883
785
  $size: size,
884
786
  $width: width,
787
+ $active: active,
885
788
  type,
886
789
  ...props,
887
790
  children
@@ -890,7 +793,7 @@ var Button = forwardRef(
890
793
  }
891
794
  );
892
795
  Button.displayName = "Button";
893
- var StyledFlex = styled8.div`
796
+ var StyledFlex = styled18.div`
894
797
  display: flex;
895
798
  flex-direction: ${({ direction }) => direction || "row"};
896
799
  justify-content: ${({ justify }) => justify || "flex-start"};
@@ -906,7 +809,7 @@ var Flex = forwardRef(
906
809
  }
907
810
  );
908
811
  Flex.displayName = "Flex";
909
- var StyledTextFieldInput = styled8.input`
812
+ var StyledTextFieldInput = styled18.input`
910
813
  width: 100%;
911
814
  padding: 12.5px 16px;
912
815
  border: 1px solid
@@ -918,10 +821,7 @@ var StyledTextFieldInput = styled8.input`
918
821
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
919
822
  background: ${({ theme: theme2 }) => theme2.colors.bgWhite};
920
823
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
921
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontSize};
922
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.lineHeight};
923
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontWeight};
924
- letter-spacing: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.letterSpacing};
824
+ ${({ theme: theme2 }) => theme2.typo.Rg_16}
925
825
  opacity: ${({ $variant }) => $variant === "disabled" ? 0.5 : 1};
926
826
 
927
827
  &::placeholder {
@@ -941,8 +841,8 @@ var StyledTextFieldInput = styled8.input`
941
841
  opacity: 0.5;
942
842
  }
943
843
  `;
944
- var StyledTextFieldTextarea = styled8(TextareaAutosize, {
945
- shouldForwardProp: (prop) => isPropValid(prop) || prop === "minRows" || prop === "maxRows"
844
+ var StyledTextFieldTextarea = styled18(TextareaAutosize, {
845
+ shouldForwardProp: (prop) => isPropValid8(prop) || prop === "minRows" || prop === "maxRows"
946
846
  })`
947
847
  width: 100%;
948
848
  padding: 12.5px 16px;
@@ -955,10 +855,7 @@ var StyledTextFieldTextarea = styled8(TextareaAutosize, {
955
855
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
956
856
  background: ${({ theme: theme2 }) => theme2.colors.bgWhite};
957
857
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
958
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontSize};
959
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.lineHeight};
960
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontWeight};
961
- letter-spacing: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.letterSpacing};
858
+ ${({ theme: theme2 }) => theme2.typo.Rg_16}
962
859
  opacity: ${({ $variant }) => $variant === "disabled" ? 0.5 : 1};
963
860
  resize: none;
964
861
  font-family: inherit;
@@ -980,9 +877,8 @@ var StyledTextFieldTextarea = styled8(TextareaAutosize, {
980
877
  opacity: 0.5;
981
878
  }
982
879
  `;
983
- var StyledHelperText = styled8.div`
984
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyXsRegular.fontSize};
985
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyXsRegular.lineHeight};
880
+ var StyledHelperText = styled18.div`
881
+ ${({ theme: theme2 }) => theme2.typo.Rg_12}
986
882
  margin-top: 6px;
987
883
  color: ${({ theme: theme2, $variant }) => {
988
884
  if ($variant === "warning") return theme2.colors.textWarning;
@@ -1046,7 +942,7 @@ var TextField = forwardRef(
1046
942
  }
1047
943
  );
1048
944
  TextField.displayName = "TextField";
1049
- var StyledToastViewport = styled8(ToastPrimitive.Viewport)`
945
+ var StyledToastViewport = styled18(ToastPrimitive.Viewport)`
1050
946
  position: fixed;
1051
947
  ${({ $position, $viewportOffset }) => $position === "top" ? `top: ${$viewportOffset}px;` : `bottom: ${$viewportOffset}px;`}
1052
948
  left: 50%;
@@ -1058,7 +954,7 @@ var StyledToastViewport = styled8(ToastPrimitive.Viewport)`
1058
954
  max-width: 90vw;
1059
955
  z-index: 9999;
1060
956
  `;
1061
- var StyledToastRoot = styled8(ToastPrimitive.Root)`
957
+ var StyledToastRoot = styled18(ToastPrimitive.Root)`
1062
958
  background-color: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1063
959
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1064
960
  border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
@@ -1095,10 +991,8 @@ var StyledToastRoot = styled8(ToastPrimitive.Root)`
1095
991
  }
1096
992
  }
1097
993
  `;
1098
- var StyledToastDescription = styled8(ToastPrimitive.Description)`
1099
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1100
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1101
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
994
+ var StyledToastDescription = styled18(ToastPrimitive.Description)`
995
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1102
996
  `;
1103
997
  var ToastContext = createContext(null);
1104
998
  function ToastProvider({
@@ -1145,7 +1039,7 @@ function useToast() {
1145
1039
  };
1146
1040
  return { showToast };
1147
1041
  }
1148
- var StyledOverlay = styled8(DialogPrimitive.Overlay)`
1042
+ var StyledOverlay = styled18(DialogPrimitive.Overlay)`
1149
1043
  background-color: ${({ theme: theme2 }) => theme2.colors.basic.black30};
1150
1044
  position: fixed;
1151
1045
  inset: 0;
@@ -1169,7 +1063,7 @@ var StyledOverlay = styled8(DialogPrimitive.Overlay)`
1169
1063
  to { opacity: 0; }
1170
1064
  }
1171
1065
  `;
1172
- var StyledContent = styled8(DialogPrimitive.Content)`
1066
+ var StyledContent = styled18(DialogPrimitive.Content)`
1173
1067
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1174
1068
  border-radius: ${({ theme: theme2 }) => theme2.radius["2xl"]};
1175
1069
  box-shadow: ${({ theme: theme2 }) => theme2.shadows.modal};
@@ -1202,20 +1096,18 @@ var StyledContent = styled8(DialogPrimitive.Content)`
1202
1096
  outline: none;
1203
1097
  }
1204
1098
  `;
1205
- var StyledHeader = styled8.div`
1099
+ var StyledHeader = styled18.div`
1206
1100
  display: flex;
1207
1101
  justify-content: space-between;
1208
1102
  align-items: flex-start;
1209
1103
  margin-bottom: ${({ theme: theme2 }) => theme2.spacing[4]};
1210
1104
  `;
1211
- var StyledTitle = styled8(DialogPrimitive.Title)`
1212
- font-size: ${({ theme: theme2 }) => theme2.typography.headingXl.fontSize};
1213
- line-height: ${({ theme: theme2 }) => theme2.typography.headingXl.lineHeight};
1214
- font-weight: ${({ theme: theme2 }) => theme2.typography.headingXl.fontWeight};
1105
+ var StyledTitle = styled18(DialogPrimitive.Title)`
1106
+ ${({ theme: theme2 }) => theme2.typo.Sb_18}
1215
1107
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1216
1108
  margin: 0;
1217
1109
  `;
1218
- var StyledCloseButton = styled8.button`
1110
+ var StyledCloseButton = styled18.button`
1219
1111
  background: transparent;
1220
1112
  border: none;
1221
1113
  cursor: pointer;
@@ -1230,13 +1122,12 @@ var StyledCloseButton = styled8.button`
1230
1122
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1231
1123
  }
1232
1124
  `;
1233
- var StyledBody = styled8.div`
1234
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1235
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1125
+ var StyledBody = styled18.div`
1126
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1236
1127
  color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1237
1128
  margin-bottom: ${({ theme: theme2 }) => theme2.spacing[6]};
1238
1129
  `;
1239
- var StyledFooter = styled8.div`
1130
+ var StyledFooter = styled18.div`
1240
1131
  display: flex;
1241
1132
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1242
1133
  justify-content: flex-end;
@@ -1264,16 +1155,14 @@ var Dialog = DialogRoot;
1264
1155
  Dialog.Title = DialogTitle;
1265
1156
  Dialog.Content = DialogContent;
1266
1157
  Dialog.Footer = DialogFooter;
1267
- var StyledChatBubble = styled8.div`
1158
+ var StyledChatBubble = styled18.div`
1268
1159
  padding: ${({ theme: theme2 }) => `${theme2.spacing[3]} ${theme2.spacing[4]}`};
1269
1160
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
1270
1161
  max-width: 70%;
1271
1162
  width: fit-content;
1272
1163
  word-wrap: break-word;
1273
1164
 
1274
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1275
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1276
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
1165
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1277
1166
 
1278
1167
  ${({ $variant, theme: theme2 }) => {
1279
1168
  if ($variant === "user") {
@@ -1358,8 +1247,8 @@ var iconButtonSizeStyles = {
1358
1247
  }
1359
1248
  }
1360
1249
  };
1361
- var propFilter5 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid(prop);
1362
- var StyledIconButton = styled8("button", {
1250
+ var propFilter5 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid8(prop);
1251
+ var StyledIconButton = styled18("button", {
1363
1252
  shouldForwardProp: propFilter5
1364
1253
  })`
1365
1254
  display: inline-flex;
@@ -1387,12 +1276,8 @@ var StyledIconButton = styled8("button", {
1387
1276
  ${({ $variant, $size, theme: theme2 }) => {
1388
1277
  const spec = iconButtonSizeStyles[$variant][$size];
1389
1278
  const borderRadius = "borderRadius" in spec ? theme2.radius[spec.borderRadius] : "";
1390
- const typo = theme2.typography[spec.typography];
1391
1279
  return `
1392
- font-size: ${typo.fontSize};
1393
- line-height: ${typo.lineHeight};
1394
- font-weight: ${typo.fontWeight};
1395
- letter-spacing: ${typo.letterSpacing};
1280
+ ${theme2.typo[spec.typography]}
1396
1281
  padding: ${spec.padding};
1397
1282
  ${borderRadius ? `border-radius: ${borderRadius};` : ""}
1398
1283
  `;
@@ -1473,18 +1358,18 @@ var IconButton = forwardRef(
1473
1358
  }
1474
1359
  );
1475
1360
  IconButton.displayName = "IconButton";
1476
- var PaginationContainer = styled8.div`
1361
+ var PaginationContainer = styled18.div`
1477
1362
  display: flex;
1478
1363
  align-items: center;
1479
1364
  gap: ${({ theme: theme2 }) => theme2.spacing[1]};
1480
1365
  `;
1481
- var PaginationPages = styled8.div`
1366
+ var PaginationPages = styled18.div`
1482
1367
  display: flex;
1483
1368
  align-items: center;
1484
1369
  gap: 0;
1485
1370
  `;
1486
- var StyledPaginationButton = styled8("button", {
1487
- shouldForwardProp: (prop) => prop !== "$active" && isPropValid(prop)
1371
+ var StyledPaginationButton = styled18("button", {
1372
+ shouldForwardProp: (prop) => prop !== "$active" && isPropValid8(prop)
1488
1373
  })`
1489
1374
  display: inline-flex;
1490
1375
  align-items: center;
@@ -1505,9 +1390,7 @@ var StyledPaginationButton = styled8("button", {
1505
1390
  justify-content: center;
1506
1391
  width: 23px;
1507
1392
  height: 23px;
1508
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1509
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1510
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
1393
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1511
1394
  color: ${({ theme: theme2, $active }) => $active ? theme2.colors.textPrimary : theme2.colors.textTertiary};
1512
1395
  }
1513
1396
 
@@ -1624,7 +1507,7 @@ function Pagination({
1624
1507
  )
1625
1508
  ] });
1626
1509
  }
1627
- var StyledCheckbox = styled8(CheckboxPrimitive.Root)`
1510
+ var StyledCheckbox = styled18(CheckboxPrimitive.Root)`
1628
1511
  width: 20px;
1629
1512
  height: 20px;
1630
1513
  border-radius: ${({ theme: theme2 }) => theme2.radius.sm};
@@ -1650,20 +1533,19 @@ var StyledCheckbox = styled8(CheckboxPrimitive.Root)`
1650
1533
  cursor: not-allowed;
1651
1534
  }
1652
1535
  `;
1653
- var StyledIndicator = styled8(CheckboxPrimitive.Indicator)`
1536
+ var StyledIndicator = styled18(CheckboxPrimitive.Indicator)`
1654
1537
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1655
1538
  display: flex;
1656
1539
  align-items: center;
1657
1540
  justify-content: center;
1658
1541
  `;
1659
- var CheckboxContainer = styled8.div`
1542
+ var CheckboxContainer = styled18.div`
1660
1543
  display: flex;
1661
1544
  align-items: center;
1662
1545
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1663
1546
  `;
1664
- var Label = styled8.label`
1665
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1666
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1547
+ var Label = styled18.label`
1548
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1667
1549
  color: ${({ theme: theme2, $disabled }) => $disabled ? theme2.colors.textDisabled : theme2.colors.textPrimary};
1668
1550
  cursor: ${({ $disabled }) => $disabled ? "not-allowed" : "pointer"};
1669
1551
  user-select: none;
@@ -1676,17 +1558,17 @@ var Checkbox = forwardRef(({ label, disabled, id, ...props }, ref) => {
1676
1558
  ] });
1677
1559
  });
1678
1560
  Checkbox.displayName = "Checkbox";
1679
- var StyledRadioGroup = styled8(RadioGroupPrimitive.Root)`
1561
+ var StyledRadioGroup = styled18(RadioGroupPrimitive.Root)`
1680
1562
  display: flex;
1681
1563
  flex-direction: column;
1682
1564
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1683
1565
  `;
1684
- var RadioItem = styled8.div`
1566
+ var RadioItem = styled18.div`
1685
1567
  display: flex;
1686
1568
  align-items: center;
1687
1569
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1688
1570
  `;
1689
- var StyledRadioButton = styled8(RadioGroupPrimitive.Item)`
1571
+ var StyledRadioButton = styled18(RadioGroupPrimitive.Item)`
1690
1572
  width: 20px;
1691
1573
  height: 20px;
1692
1574
  border-radius: ${({ theme: theme2 }) => theme2.radius.full};
@@ -1711,15 +1593,14 @@ var StyledRadioButton = styled8(RadioGroupPrimitive.Item)`
1711
1593
  cursor: not-allowed;
1712
1594
  }
1713
1595
  `;
1714
- var StyledIndicator2 = styled8(RadioGroupPrimitive.Indicator)`
1596
+ var StyledIndicator2 = styled18(RadioGroupPrimitive.Indicator)`
1715
1597
  width: 10px;
1716
1598
  height: 10px;
1717
1599
  border-radius: ${({ theme: theme2 }) => theme2.radius.full};
1718
1600
  background-color: ${({ theme: theme2 }) => theme2.colors.bgAccent};
1719
1601
  `;
1720
- var Label2 = styled8.label`
1721
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1722
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1602
+ var Label2 = styled18.label`
1603
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1723
1604
  color: ${({ theme: theme2, $disabled }) => $disabled ? theme2.colors.textDisabled : theme2.colors.textPrimary};
1724
1605
  cursor: ${({ $disabled }) => $disabled ? "not-allowed" : "pointer"};
1725
1606
  user-select: none;
@@ -1742,7 +1623,7 @@ var RadioButton = forwardRef(({ options, ...props }, ref) => {
1742
1623
  }) });
1743
1624
  });
1744
1625
  RadioButton.displayName = "RadioButton";
1745
- var StyledMenuContent = styled8(DropdownMenu2.Content)`
1626
+ var StyledMenuContent = styled18(DropdownMenu2.Content)`
1746
1627
  min-width: 200px;
1747
1628
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1748
1629
  border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
@@ -1765,14 +1646,13 @@ var StyledMenuContent = styled8(DropdownMenu2.Content)`
1765
1646
  }
1766
1647
  }
1767
1648
  `;
1768
- var StyledMenuItem = styled8(DropdownMenu2.Item)`
1649
+ var StyledMenuItem = styled18(DropdownMenu2.Item)`
1769
1650
  display: flex;
1770
1651
  align-items: center;
1771
1652
  justify-content: space-between;
1772
1653
  padding: ${({ theme: theme2 }) => `${theme2.spacing[2]} ${theme2.spacing[3]}`};
1773
1654
  border-radius: ${({ theme: theme2 }) => theme2.radius.md};
1774
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1775
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1655
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1776
1656
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1777
1657
  cursor: pointer;
1778
1658
  outline: none;
@@ -1789,20 +1669,20 @@ var StyledMenuItem = styled8(DropdownMenu2.Item)`
1789
1669
  pointer-events: none;
1790
1670
  }
1791
1671
  `;
1792
- var MenuItemLeft = styled8.div`
1672
+ var MenuItemLeft = styled18.div`
1793
1673
  display: flex;
1794
1674
  align-items: center;
1795
1675
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1796
1676
  `;
1797
- var MenuItemText = styled8.span``;
1798
- var MenuLeadingIcon = styled8.span`
1677
+ var MenuItemText = styled18.span``;
1678
+ var MenuLeadingIcon = styled18.span`
1799
1679
  display: flex;
1800
1680
  align-items: center;
1801
1681
  justify-content: center;
1802
1682
  width: 20px;
1803
1683
  height: 20px;
1804
1684
  `;
1805
- var MenuTrailingIcon = styled8.span`
1685
+ var MenuTrailingIcon = styled18.span`
1806
1686
  display: flex;
1807
1687
  align-items: center;
1808
1688
  justify-content: center;
@@ -1825,13 +1705,12 @@ var MenuItem = forwardRef(
1825
1705
  ] })
1826
1706
  );
1827
1707
  MenuItem.displayName = "MenuItem";
1828
- var StyledTooltipContent = styled8(TooltipPrimitive2.Content)`
1708
+ var StyledTooltipContent = styled18(TooltipPrimitive2.Content)`
1829
1709
  background-color: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1830
1710
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1831
1711
  border-radius: ${({ theme: theme2 }) => theme2.radius.md};
1832
1712
  padding: ${({ theme: theme2 }) => `${theme2.spacing[1]} ${theme2.spacing[2]}`};
1833
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyXsMedium.fontSize};
1834
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyXsMedium.lineHeight};
1713
+ ${({ theme: theme2 }) => theme2.typo.Md_12}
1835
1714
  box-shadow: ${({ theme: theme2 }) => theme2.shadows.base};
1836
1715
  z-index: 9999;
1837
1716
  max-width: 300px;
@@ -1851,7 +1730,7 @@ var StyledTooltipContent = styled8(TooltipPrimitive2.Content)`
1851
1730
  }
1852
1731
  }
1853
1732
  `;
1854
- var StyledArrow = styled8(TooltipPrimitive2.Arrow)`
1733
+ var StyledArrow = styled18(TooltipPrimitive2.Arrow)`
1855
1734
  fill: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1856
1735
  `;
1857
1736
  var TooltipProvider = forwardRef(
@@ -1868,5 +1747,331 @@ var TooltipContent = forwardRef(
1868
1747
  ] }) })
1869
1748
  );
1870
1749
  TooltipContent.displayName = "TooltipContent";
1750
+ var itemSizeStyles = {
1751
+ large: {
1752
+ padding: "8.5px 17.5px",
1753
+ typography: "Md_15"
1754
+ },
1755
+ small: {
1756
+ padding: "3.5px 19.5px",
1757
+ typography: "Md_14"
1758
+ }
1759
+ };
1760
+ var rootPropFilter = (prop) => !["$size"].includes(prop) && isPropValid8(prop);
1761
+ var StyledSegmentedControlRoot = styled18(
1762
+ ToggleGroup.Root,
1763
+ { shouldForwardProp: rootPropFilter }
1764
+ )`
1765
+ display: inline-flex;
1766
+ padding: 4px;
1767
+ border-radius: 12px;
1768
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgMediumGrey};
1769
+ box-shadow: ${({ theme: theme2 }) => theme2.shadows.base};
1770
+ width: fit-content;
1771
+ `;
1772
+ var itemPropFilter = (prop) => !["$size"].includes(prop) && isPropValid8(prop);
1773
+ var StyledSegmentedControlItem = styled18(
1774
+ ToggleGroup.Item,
1775
+ { shouldForwardProp: itemPropFilter }
1776
+ )`
1777
+ display: inline-flex;
1778
+ align-items: center;
1779
+ justify-content: center;
1780
+ border: none;
1781
+ outline: none;
1782
+ cursor: pointer;
1783
+ border-radius: 12px;
1784
+ white-space: nowrap;
1785
+ font-family: inherit;
1786
+ transition:
1787
+ background-color 0.2s ease,
1788
+ color 0.2s ease;
1789
+
1790
+ ${({ $size, theme: theme2 }) => {
1791
+ const spec = itemSizeStyles[$size];
1792
+ return `
1793
+ padding: ${spec.padding};
1794
+ ${theme2.typo[spec.typography]}
1795
+ `;
1796
+ }}
1797
+
1798
+ color: ${({ theme: theme2 }) => theme2.colors.textTertiary};
1799
+ background-color: transparent;
1800
+
1801
+ &[data-state='on'] {
1802
+ color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1803
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1804
+ }
1805
+
1806
+ &:hover:not([data-state='on']) {
1807
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1808
+ }
1809
+
1810
+ &:disabled {
1811
+ cursor: not-allowed;
1812
+ opacity: 0.5;
1813
+ }
1814
+ `;
1815
+ var SegmentedControlSizeContext = createContext("large");
1816
+ var SegmentedControlRoot = forwardRef(({ size = "large", children, ...props }, ref) => /* @__PURE__ */ jsx(SegmentedControlSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsx(
1817
+ StyledSegmentedControlRoot,
1818
+ {
1819
+ ref,
1820
+ type: "single",
1821
+ $size: size,
1822
+ ...props,
1823
+ children
1824
+ }
1825
+ ) }));
1826
+ SegmentedControlRoot.displayName = "SegmentedControlRoot";
1827
+ var SegmentedControlItem = forwardRef(({ children, ...props }, ref) => {
1828
+ const size = useContext(SegmentedControlSizeContext);
1829
+ return /* @__PURE__ */ jsx(StyledSegmentedControlItem, { ref, $size: size, ...props, children });
1830
+ });
1831
+ SegmentedControlItem.displayName = "SegmentedControlItem";
1832
+ var propFilter6 = (prop) => isPropValid8(prop);
1833
+ var StyledTabList = styled18(TabsPrimitive.List, {
1834
+ shouldForwardProp: propFilter6
1835
+ })`
1836
+ display: flex;
1837
+ border-bottom: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
1838
+ width: fit-content;
1839
+ `;
1840
+ var StyledTabTrigger = styled18(TabsPrimitive.Trigger, {
1841
+ shouldForwardProp: propFilter6
1842
+ })`
1843
+ display: inline-flex;
1844
+ align-items: center;
1845
+ justify-content: center;
1846
+ padding: 12px 16px;
1847
+ border: none;
1848
+ outline: none;
1849
+ cursor: pointer;
1850
+ background: transparent;
1851
+ font-family: inherit;
1852
+ ${({ theme: theme2 }) => theme2.typo.Sb_16}
1853
+ color: ${({ theme: theme2 }) => theme2.colors.textTertiary};
1854
+ position: relative;
1855
+ transition: color 0.2s ease;
1856
+
1857
+ &[data-state="active"] {
1858
+ color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1859
+ }
1860
+
1861
+ &[data-state="active"]::after {
1862
+ content: "";
1863
+ position: absolute;
1864
+ bottom: -1px;
1865
+ left: 4px;
1866
+ right: 4px;
1867
+ height: 2px;
1868
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgBlack};
1869
+ border-radius: 100px;
1870
+ }
1871
+
1872
+ &:hover:not([data-state="active"]) {
1873
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1874
+ }
1875
+
1876
+ &:disabled {
1877
+ cursor: not-allowed;
1878
+ opacity: 0.5;
1879
+ }
1880
+ `;
1881
+ var StyledTabContent = styled18(TabsPrimitive.Content, {
1882
+ shouldForwardProp: propFilter6
1883
+ })`
1884
+ outline: none;
1885
+ `;
1886
+ var TabRoot = forwardRef(
1887
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(TabsPrimitive.Root, { ref, ...props, children })
1888
+ );
1889
+ TabRoot.displayName = "TabRoot";
1890
+ var TabList = forwardRef(
1891
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTabList, { ref, ...props, children })
1892
+ );
1893
+ TabList.displayName = "TabList";
1894
+ var TabTrigger = forwardRef(
1895
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTabTrigger, { ref, ...props, children })
1896
+ );
1897
+ TabTrigger.displayName = "TabTrigger";
1898
+ var TabContent = forwardRef(
1899
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTabContent, { ref, ...props, children })
1900
+ );
1901
+ TabContent.displayName = "TabContent";
1902
+ var propFilter7 = (prop) => isPropValid8(prop);
1903
+ var StyledTableRoot = styled18("div", {
1904
+ shouldForwardProp: propFilter7
1905
+ })`
1906
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1907
+ border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
1908
+ overflow: hidden;
1909
+ width: fit-content;
1910
+ `;
1911
+ var StyledTable = styled18("table", {
1912
+ shouldForwardProp: propFilter7
1913
+ })`
1914
+ width: 100%;
1915
+ border-collapse: collapse;
1916
+ `;
1917
+ var StyledTableHeader = styled18("thead", {
1918
+ shouldForwardProp: propFilter7
1919
+ })``;
1920
+ var StyledTableBody = styled18("tbody", {
1921
+ shouldForwardProp: propFilter7
1922
+ })``;
1923
+ var StyledTableHeaderRow = styled18("tr", {
1924
+ shouldForwardProp: propFilter7
1925
+ })``;
1926
+ var StyledTableBodyRow = styled18("tr", {
1927
+ shouldForwardProp: propFilter7
1928
+ })`
1929
+ background: transparent;
1930
+ border-radius: 0;
1931
+ transition: background-color 0.2s ease;
1932
+
1933
+ &:hover {
1934
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgLightGrey};
1935
+ }
1936
+ `;
1937
+ var StyledTableHeaderCell = styled18("th", {
1938
+ shouldForwardProp: propFilter7
1939
+ })`
1940
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1941
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1942
+ height: 36px;
1943
+ padding: 0 16px;
1944
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgMediumGrey};
1945
+ border: none;
1946
+ font-family: inherit;
1947
+ text-align: left;
1948
+ vertical-align: middle;
1949
+
1950
+ &:first-of-type {
1951
+ border-radius: ${({ theme: theme2 }) => theme2.radius.lg} 0 0
1952
+ ${({ theme: theme2 }) => theme2.radius.lg};
1953
+ }
1954
+
1955
+ &:last-of-type {
1956
+ border-radius: 0 ${({ theme: theme2 }) => theme2.radius.lg}
1957
+ ${({ theme: theme2 }) => theme2.radius.lg} 0;
1958
+ }
1959
+ `;
1960
+ var StyledTableBodyCell = styled18("td", {
1961
+ shouldForwardProp: propFilter7
1962
+ })`
1963
+ height: 56px;
1964
+ padding: 0 16px;
1965
+ background: transparent;
1966
+ border: none;
1967
+ border-top: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
1968
+ border-radius: 0;
1969
+ font-family: inherit;
1970
+ text-align: left;
1971
+ vertical-align: middle;
1972
+
1973
+ tr:first-of-type & {
1974
+ border-top: none;
1975
+ }
1976
+ `;
1977
+ var TableRoot = forwardRef(
1978
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableRoot, { ref, ...props, children })
1979
+ );
1980
+ TableRoot.displayName = "TableRoot";
1981
+ var Table = forwardRef(
1982
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTable, { ref, ...props, children })
1983
+ );
1984
+ Table.displayName = "Table";
1985
+ var TableHeader = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableHeader, { ref, ...props, children }));
1986
+ TableHeader.displayName = "TableHeader";
1987
+ var TableBody = forwardRef(
1988
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableBody, { ref, ...props, children })
1989
+ );
1990
+ TableBody.displayName = "TableBody";
1991
+ var TableHeaderRow = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableHeaderRow, { ref, ...props, children }));
1992
+ TableHeaderRow.displayName = "TableHeaderRow";
1993
+ var TableBodyRow = forwardRef(
1994
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableBodyRow, { ref, ...props, children })
1995
+ );
1996
+ TableBodyRow.displayName = "TableBodyRow";
1997
+ var TableHeaderCell = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableHeaderCell, { ref, ...props, children }));
1998
+ TableHeaderCell.displayName = "TableHeaderCell";
1999
+ var TableBodyCell = forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsx(StyledTableBodyCell, { ref, ...props, children }));
2000
+ TableBodyCell.displayName = "TableBodyCell";
2001
+ var dim = (v) => v === void 0 ? void 0 : typeof v === "number" ? `${v}px` : v;
2002
+ var StyledSkeleton = styled18("span", {
2003
+ shouldForwardProp: (prop) => ![
2004
+ "$width",
2005
+ "$minWidth",
2006
+ "$maxWidth",
2007
+ "$height",
2008
+ "$minHeight",
2009
+ "$maxHeight",
2010
+ "$loading"
2011
+ ].includes(prop) && isPropValid8(prop)
2012
+ })`
2013
+ display: inline-block;
2014
+ position: relative;
2015
+ border-radius: ${({ theme: theme2 }) => theme2.radius.sm};
2016
+
2017
+ ${({ $width }) => $width !== void 0 && `width: ${dim($width)};`}
2018
+ ${({ $minWidth }) => $minWidth !== void 0 && `min-width: ${dim($minWidth)};`}
2019
+ ${({ $maxWidth }) => $maxWidth !== void 0 && `max-width: ${dim($maxWidth)};`}
2020
+ ${({ $height }) => $height !== void 0 && `height: ${dim($height)};`}
2021
+ ${({ $minHeight }) => $minHeight !== void 0 && `min-height: ${dim($minHeight)};`}
2022
+ ${({ $maxHeight }) => $maxHeight !== void 0 && `max-height: ${dim($maxHeight)};`}
2023
+
2024
+ ${({ $loading, theme: theme2 }) => $loading && `
2025
+ background-color: ${theme2.colors.bgMediumGrey};
2026
+ animation: skeleton-pulse 1.5s ease-in-out infinite;
2027
+
2028
+ & > * {
2029
+ visibility: hidden;
2030
+ pointer-events: none;
2031
+ }
2032
+ `}
2033
+
2034
+ ${({ $loading }) => !$loading && `
2035
+ background-color: transparent;
2036
+ `}
2037
+
2038
+ @keyframes skeleton-pulse {
2039
+ 0%,
2040
+ 100% {
2041
+ opacity: 1;
2042
+ }
2043
+ 50% {
2044
+ opacity: 0.6;
2045
+ }
2046
+ }
2047
+ `;
2048
+ var Skeleton = forwardRef(
2049
+ ({
2050
+ loading = true,
2051
+ children,
2052
+ width,
2053
+ minWidth,
2054
+ maxWidth,
2055
+ height,
2056
+ minHeight,
2057
+ maxHeight,
2058
+ ...props
2059
+ }, ref) => /* @__PURE__ */ jsx(
2060
+ StyledSkeleton,
2061
+ {
2062
+ ref,
2063
+ $loading: loading,
2064
+ $width: width,
2065
+ $minWidth: minWidth,
2066
+ $maxWidth: maxWidth,
2067
+ $height: height,
2068
+ $minHeight: minHeight,
2069
+ $maxHeight: maxHeight,
2070
+ ...props,
2071
+ children
2072
+ }
2073
+ )
2074
+ );
2075
+ Skeleton.displayName = "Skeleton";
1871
2076
 
1872
- export { Avatar, Badge, BichonThemeProvider, Button, ChatBubble, Checkbox, Dialog, Flex, IconButton, Menu, MenuContent, MenuItem, MenuTrigger, Pagination, Progress, RadioButton, TextField, ToastProvider, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, colors, componentSize, fontSize, fontWeight, letterSpacing, lineHeight, radius, semanticSpacing, shadows, spacing, typography, useToast };
2077
+ export { Avatar, Badge, BichonThemeProvider, Button, ChatBubble, Checkbox, Dialog, Flex, IconButton, Menu, MenuContent, MenuItem, MenuTrigger, Pagination, Progress, RadioButton, SegmentedControlItem, SegmentedControlRoot, Skeleton, TabContent, TabList, TabRoot, TabTrigger, Table, TableBody, TableBodyCell, TableBodyRow, TableHeader, TableHeaderCell, TableHeaderRow, TableRoot, TextField, ToastProvider, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, colors, componentSize, radius, semanticSpacing, shadows, spacing, typo, useToast };