@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.cjs CHANGED
@@ -3,8 +3,8 @@
3
3
  var react = require('@emotion/react');
4
4
  var jsxRuntime = require('react/jsx-runtime');
5
5
  var react$1 = require('react');
6
- var styled8 = require('@emotion/styled');
7
- var isPropValid = require('@emotion/is-prop-valid');
6
+ var styled18 = require('@emotion/styled');
7
+ var isPropValid8 = require('@emotion/is-prop-valid');
8
8
  var RadixAvatar = require('@radix-ui/react-avatar');
9
9
  var RadixProgress = require('@radix-ui/react-progress');
10
10
  var TextareaAutosize = require('react-textarea-autosize');
@@ -15,6 +15,8 @@ var CheckboxPrimitive = require('@radix-ui/react-checkbox');
15
15
  var RadioGroupPrimitive = require('@radix-ui/react-radio-group');
16
16
  var DropdownMenu2 = require('@radix-ui/react-dropdown-menu');
17
17
  var TooltipPrimitive2 = require('@radix-ui/react-tooltip');
18
+ var ToggleGroup = require('@radix-ui/react-toggle-group');
19
+ var TabsPrimitive = require('@radix-ui/react-tabs');
18
20
 
19
21
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
20
22
 
@@ -36,8 +38,8 @@ function _interopNamespace(e) {
36
38
  return Object.freeze(n);
37
39
  }
38
40
 
39
- var styled8__default = /*#__PURE__*/_interopDefault(styled8);
40
- var isPropValid__default = /*#__PURE__*/_interopDefault(isPropValid);
41
+ var styled18__default = /*#__PURE__*/_interopDefault(styled18);
42
+ var isPropValid8__default = /*#__PURE__*/_interopDefault(isPropValid8);
41
43
  var RadixAvatar__namespace = /*#__PURE__*/_interopNamespace(RadixAvatar);
42
44
  var RadixProgress__namespace = /*#__PURE__*/_interopNamespace(RadixProgress);
43
45
  var TextareaAutosize__default = /*#__PURE__*/_interopDefault(TextareaAutosize);
@@ -47,6 +49,8 @@ var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimit
47
49
  var RadioGroupPrimitive__namespace = /*#__PURE__*/_interopNamespace(RadioGroupPrimitive);
48
50
  var DropdownMenu2__namespace = /*#__PURE__*/_interopNamespace(DropdownMenu2);
49
51
  var TooltipPrimitive2__namespace = /*#__PURE__*/_interopNamespace(TooltipPrimitive2);
52
+ var ToggleGroup__namespace = /*#__PURE__*/_interopNamespace(ToggleGroup);
53
+ var TabsPrimitive__namespace = /*#__PURE__*/_interopNamespace(TabsPrimitive);
50
54
 
51
55
  // src/BichonThemeProvider.tsx
52
56
 
@@ -122,144 +126,110 @@ var colors = {
122
126
  textWarning: basicColor.red[500]
123
127
  };
124
128
 
125
- // src/tokens/typography.ts
126
- var fontSize = {
127
- xs: "12px",
128
- sm: "13px",
129
- base: "14px",
130
- md: "15px",
131
- lg: "16px",
132
- xl: "18px",
133
- "2xl": "20px",
134
- "3xl": "24px",
135
- "4xl": "32px"
136
- };
137
- var fontWeight = {
138
- regular: 400,
139
- medium: 500,
140
- semibold: 600
141
- };
142
- var lineHeight = {
143
- xs: "18px",
144
- sm: "19.5px",
145
- base: "21px",
146
- md: "22.5px",
147
- lg: "24px",
148
- xl: "27px",
149
- "2xl": "29px",
150
- "3xl": "32px",
151
- "4xl": "42px"
152
- };
153
- var letterSpacing = {
154
- tight: "-0.02em",
155
- normal: "0em"
156
- };
157
- var typography = {
158
- // Headings
159
- heading4xl: {
160
- fontSize: fontSize["4xl"],
161
- lineHeight: lineHeight["4xl"],
162
- fontWeight: fontWeight.semibold,
163
- letterSpacing: letterSpacing.tight
164
- },
165
- heading3xl: {
166
- fontSize: fontSize["3xl"],
167
- lineHeight: lineHeight["3xl"],
168
- fontWeight: fontWeight.semibold,
169
- letterSpacing: letterSpacing.tight
170
- },
171
- heading2xl: {
172
- fontSize: fontSize["2xl"],
173
- lineHeight: lineHeight["2xl"],
174
- fontWeight: fontWeight.semibold,
175
- letterSpacing: letterSpacing.tight
176
- },
177
- headingXl: {
178
- fontSize: fontSize.xl,
179
- lineHeight: lineHeight.xl,
180
- fontWeight: fontWeight.semibold,
181
- letterSpacing: letterSpacing.tight
182
- },
183
- headingLg: {
184
- fontSize: fontSize.lg,
185
- lineHeight: lineHeight.lg,
186
- fontWeight: fontWeight.semibold,
187
- letterSpacing: letterSpacing.tight
188
- },
189
- headingBase: {
190
- fontSize: fontSize.base,
191
- lineHeight: lineHeight.base,
192
- fontWeight: fontWeight.semibold,
193
- letterSpacing: letterSpacing.tight
194
- },
195
- // Body Text - Medium
196
- bodyXlMedium: {
197
- fontSize: fontSize.xl,
198
- lineHeight: lineHeight.xl,
199
- fontWeight: fontWeight.medium,
200
- letterSpacing: letterSpacing.tight
201
- },
202
- bodyLgMedium: {
203
- fontSize: fontSize.lg,
204
- lineHeight: lineHeight.lg,
205
- fontWeight: fontWeight.medium,
206
- letterSpacing: letterSpacing.tight
207
- },
208
- bodyMdMedium: {
209
- fontSize: fontSize.md,
210
- lineHeight: lineHeight.md,
211
- fontWeight: fontWeight.medium,
212
- letterSpacing: letterSpacing.tight
213
- },
214
- bodyBaseMedium: {
215
- fontSize: fontSize.base,
216
- lineHeight: lineHeight.base,
217
- fontWeight: fontWeight.medium,
218
- letterSpacing: letterSpacing.tight
219
- },
220
- bodySmMedium: {
221
- fontSize: fontSize.sm,
222
- lineHeight: lineHeight.sm,
223
- fontWeight: fontWeight.medium,
224
- letterSpacing: letterSpacing.tight
225
- },
226
- bodyXsMedium: {
227
- fontSize: fontSize.xs,
228
- lineHeight: lineHeight.xs,
229
- fontWeight: fontWeight.medium,
230
- letterSpacing: letterSpacing.tight
231
- },
232
- // Body Text - Regular
233
- bodyLgRegular: {
234
- fontSize: fontSize.lg,
235
- lineHeight: lineHeight.lg,
236
- fontWeight: fontWeight.regular,
237
- letterSpacing: letterSpacing.tight
238
- },
239
- bodyMdRegular: {
240
- fontSize: fontSize.md,
241
- lineHeight: lineHeight.md,
242
- fontWeight: fontWeight.regular,
243
- letterSpacing: letterSpacing.tight
244
- },
245
- bodyBaseRegular: {
246
- fontSize: fontSize.base,
247
- lineHeight: lineHeight.base,
248
- fontWeight: fontWeight.regular,
249
- letterSpacing: letterSpacing.tight
250
- },
251
- bodySmRegular: {
252
- fontSize: fontSize.sm,
253
- lineHeight: lineHeight.sm,
254
- fontWeight: fontWeight.regular,
255
- letterSpacing: letterSpacing.tight
256
- },
257
- bodyXsRegular: {
258
- fontSize: fontSize.xs,
259
- lineHeight: lineHeight.xs,
260
- fontWeight: fontWeight.regular,
261
- letterSpacing: letterSpacing.tight
262
- }
129
+ // src/tokens/typo.ts
130
+ var typo = {
131
+ Sb_32: `
132
+ font-size: 32px;
133
+ line-height: 42px;
134
+ font-weight: 600;
135
+ letter-spacing: -0.02em;
136
+ `,
137
+ Sb_24: `
138
+ font-size: 24px;
139
+ line-height: 32px;
140
+ font-weight: 600;
141
+ letter-spacing: -0.02em;
142
+ `,
143
+ Sb_20: `
144
+ font-size: 20px;
145
+ line-height: 29px;
146
+ font-weight: 600;
147
+ letter-spacing: -0.02em;
148
+ `,
149
+ Sb_18: `
150
+ font-size: 18px;
151
+ line-height: 27px;
152
+ font-weight: 600;
153
+ letter-spacing: -0.02em;
154
+ `,
155
+ Sb_16: `
156
+ font-size: 16px;
157
+ line-height: 24px;
158
+ font-weight: 600;
159
+ letter-spacing: -0.02em;
160
+ `,
161
+ Sb_14: `
162
+ font-size: 14px;
163
+ line-height: 21px;
164
+ font-weight: 600;
165
+ letter-spacing: -0.02em;
166
+ `,
167
+ Md_18: `
168
+ font-size: 18px;
169
+ line-height: 27px;
170
+ font-weight: 500;
171
+ letter-spacing: -0.02em;
172
+ `,
173
+ Md_16: `
174
+ font-size: 16px;
175
+ line-height: 24px;
176
+ font-weight: 500;
177
+ letter-spacing: -0.02em;
178
+ `,
179
+ Md_15: `
180
+ font-size: 15px;
181
+ line-height: 22.5px;
182
+ font-weight: 500;
183
+ letter-spacing: -0.02em;
184
+ `,
185
+ Md_14: `
186
+ font-size: 14px;
187
+ line-height: 21px;
188
+ font-weight: 500;
189
+ letter-spacing: -0.02em;
190
+ `,
191
+ Md_13: `
192
+ font-size: 13px;
193
+ line-height: 19.5px;
194
+ font-weight: 500;
195
+ letter-spacing: -0.02em;
196
+ `,
197
+ Md_12: `
198
+ font-size: 12px;
199
+ line-height: 18px;
200
+ font-weight: 500;
201
+ letter-spacing: -0.02em;
202
+ `,
203
+ Rg_16: `
204
+ font-size: 16px;
205
+ line-height: 24px;
206
+ font-weight: 400;
207
+ letter-spacing: -0.02em;
208
+ `,
209
+ Rg_15: `
210
+ font-size: 15px;
211
+ line-height: 22.5px;
212
+ font-weight: 400;
213
+ letter-spacing: -0.02em;
214
+ `,
215
+ Rg_14: `
216
+ font-size: 14px;
217
+ line-height: 21px;
218
+ font-weight: 400;
219
+ letter-spacing: -0.02em;
220
+ `,
221
+ Rg_13: `
222
+ font-size: 13px;
223
+ line-height: 19.5px;
224
+ font-weight: 400;
225
+ letter-spacing: -0.02em;
226
+ `,
227
+ Rg_12: `
228
+ font-size: 12px;
229
+ line-height: 18px;
230
+ font-weight: 400;
231
+ letter-spacing: -0.02em;
232
+ `
263
233
  };
264
234
 
265
235
  // src/tokens/spacing.ts
@@ -480,7 +450,7 @@ var globalStyles = react.css`
480
450
  `;
481
451
  var theme = {
482
452
  colors,
483
- typography,
453
+ typo,
484
454
  spacing,
485
455
  radius,
486
456
  shadows
@@ -505,8 +475,8 @@ var sizeStyles = {
505
475
  height: "24px"
506
476
  }
507
477
  };
508
- var propFilter = (prop) => !["$size"].includes(prop) && isPropValid__default.default(prop);
509
- var StyledAvatarRoot = styled8__default.default(RadixAvatar__namespace.Root, {
478
+ var propFilter = (prop) => !["$size"].includes(prop) && isPropValid8__default.default(prop);
479
+ var StyledAvatarRoot = styled18__default.default(RadixAvatar__namespace.Root, {
510
480
  shouldForwardProp: propFilter
511
481
  })`
512
482
  display: inline-flex;
@@ -521,13 +491,13 @@ var StyledAvatarRoot = styled8__default.default(RadixAvatar__namespace.Root, {
521
491
  border: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
522
492
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
523
493
  `;
524
- var StyledAvatarImage = styled8__default.default(RadixAvatar__namespace.Image)`
494
+ var StyledAvatarImage = styled18__default.default(RadixAvatar__namespace.Image)`
525
495
  width: 100%;
526
496
  height: 100%;
527
497
  object-fit: cover;
528
498
  border-radius: inherit;
529
499
  `;
530
- var StyledAvatarFallback = styled8__default.default(RadixAvatar__namespace.Fallback)`
500
+ var StyledAvatarFallback = styled18__default.default(RadixAvatar__namespace.Fallback)`
531
501
  width: 100%;
532
502
  height: 100%;
533
503
  display: flex;
@@ -589,22 +559,19 @@ Avatar.displayName = "Avatar";
589
559
  var sizeStyles2 = {
590
560
  large: {
591
561
  padding: "3.5px 12px",
592
- typography: "bodyBaseMedium"
593
- // md14 (14px)
562
+ typography: "Md_14"
594
563
  },
595
564
  medium: {
596
565
  padding: "2px 10px",
597
- typography: "bodySmMedium"
598
- // md13 (13px)
566
+ typography: "Md_13"
599
567
  },
600
568
  small: {
601
569
  padding: "1px 8px",
602
- typography: "bodyXsMedium"
603
- // md12 (12px)
570
+ typography: "Md_12"
604
571
  }
605
572
  };
606
- var propFilter2 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid__default.default(prop);
607
- var StyledBadge = styled8__default.default("span", {
573
+ var propFilter2 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid8__default.default(prop);
574
+ var StyledBadge = styled18__default.default("span", {
608
575
  shouldForwardProp: propFilter2
609
576
  })`
610
577
  display: inline-flex;
@@ -617,12 +584,8 @@ var StyledBadge = styled8__default.default("span", {
617
584
 
618
585
  ${({ $size, theme: theme2 }) => {
619
586
  const spec = sizeStyles2[$size];
620
- const typo = theme2.typography[spec.typography];
621
587
  return `
622
- font-size: ${typo.fontSize};
623
- line-height: ${typo.lineHeight};
624
- font-weight: ${typo.fontWeight};
625
- letter-spacing: ${typo.letterSpacing};
588
+ ${theme2.typo[spec.typography]}
626
589
  padding: ${spec.padding};
627
590
  `;
628
591
  }}
@@ -680,8 +643,8 @@ var sizeStyles3 = {
680
643
  height: "2px"
681
644
  }
682
645
  };
683
- var propFilter3 = (prop) => !["$size", "$width"].includes(prop) && isPropValid__default.default(prop);
684
- var StyledProgressRoot = styled8__default.default(RadixProgress__namespace.Root, {
646
+ var propFilter3 = (prop) => !["$size", "$width"].includes(prop) && isPropValid8__default.default(prop);
647
+ var StyledProgressRoot = styled18__default.default(RadixProgress__namespace.Root, {
685
648
  shouldForwardProp: propFilter3
686
649
  })`
687
650
  position: relative;
@@ -705,7 +668,7 @@ var StyledProgressRoot = styled8__default.default(RadixProgress__namespace.Root,
705
668
  }
706
669
  }
707
670
  `;
708
- var StyledProgressIndicator = styled8__default.default(RadixProgress__namespace.Indicator)`
671
+ var StyledProgressIndicator = styled18__default.default(RadixProgress__namespace.Indicator)`
709
672
  background-color: ${({ theme: theme2 }) => theme2.colors.bgAccent};
710
673
  width: 100%;
711
674
  height: 100%;
@@ -739,76 +702,28 @@ var Progress = react$1.forwardRef(
739
702
  Progress.displayName = "Progress";
740
703
  var sizeStyles4 = {
741
704
  filled: {
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
- }
705
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
706
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
707
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
757
708
  },
758
709
  warning: {
759
- large: {
760
- borderRadius: "xl",
761
- typography: "bodyLgMedium",
762
- padding: "12px 16px"
763
- },
764
- medium: {
765
- borderRadius: "lg",
766
- typography: "bodyMdMedium",
767
- padding: "8.5px 16px"
768
- },
769
- small: {
770
- borderRadius: "lg",
771
- typography: "bodyBaseMedium",
772
- padding: "5.5px 12px"
773
- }
710
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
711
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
712
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
774
713
  },
775
714
  outlined: {
776
- large: {
777
- borderRadius: "xl",
778
- typography: "bodyLgMedium",
779
- padding: "12px 16px"
780
- },
781
- medium: {
782
- borderRadius: "lg",
783
- typography: "bodyMdMedium",
784
- padding: "8.5px 16px"
785
- },
786
- small: {
787
- borderRadius: "lg",
788
- typography: "bodyBaseMedium",
789
- padding: "5.5px 12px"
790
- }
715
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 16px" },
716
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 16px" },
717
+ small: { borderRadius: "lg", typography: "Md_14", padding: "5.5px 12px" }
791
718
  },
792
719
  text: {
793
- large: {
794
- borderRadius: "xl",
795
- typography: "bodyLgMedium",
796
- padding: "12px 8px"
797
- },
798
- medium: {
799
- borderRadius: "lg",
800
- typography: "bodyMdMedium",
801
- padding: "8.5px 8px"
802
- },
803
- small: {
804
- borderRadius: "lg",
805
- typography: "bodyBaseMedium",
806
- padding: "8px 6px"
807
- }
720
+ large: { borderRadius: "xl", typography: "Md_16", padding: "12px 8px" },
721
+ medium: { borderRadius: "lg", typography: "Md_15", padding: "8.5px 8px" },
722
+ small: { borderRadius: "lg", typography: "Md_14", padding: "8px 6px" }
808
723
  }
809
724
  };
810
- var propFilter4 = (prop) => !["$variant", "$size", "$width"].includes(prop) && isPropValid__default.default(prop);
811
- var StyledButton = styled8__default.default("button", {
725
+ var propFilter4 = (prop) => !["$variant", "$size", "$width", "$active"].includes(prop) && isPropValid8__default.default(prop);
726
+ var StyledButton = styled18__default.default("button", {
812
727
  shouldForwardProp: propFilter4
813
728
  })`
814
729
  display: inline-flex;
@@ -830,26 +745,21 @@ var StyledButton = styled8__default.default("button", {
830
745
  ${({ $variant, $size, theme: theme2 }) => {
831
746
  const spec = sizeStyles4[$variant][$size];
832
747
  const borderRadius = "borderRadius" in spec ? theme2.radius[spec.borderRadius] : "";
833
- const typo = theme2.typography[spec.typography];
834
748
  return `
835
- font-size: ${typo.fontSize};
836
- line-height: ${typo.lineHeight};
837
- font-weight: ${typo.fontWeight};
838
- letter-spacing: ${typo.letterSpacing};
749
+ ${theme2.typo[spec.typography]}
839
750
  padding: ${spec.padding};
840
751
  ${borderRadius ? `border-radius: ${borderRadius};` : ""}
841
752
  `;
842
753
  }}
843
754
 
844
- ${({ $variant, theme: theme2 }) => {
755
+ ${({ $variant, $active, theme: theme2 }) => {
756
+ const activeSelector = $active ? `&, ` : "";
757
+ const hoverActive = `&:hover:not(:disabled), &:active:not(:disabled)`;
845
758
  if ($variant === "filled") {
846
759
  return `
847
- background-color: ${theme2.colors.bgAccent};
760
+ background-color: ${$active ? theme2.colors.bgAccentDark : theme2.colors.bgAccent};
848
761
  color: ${theme2.colors.bgWhite};
849
-
850
- /* Pressed & Hovered \uB3D9\uC77C \uCC98\uB9AC */
851
- &:hover:not(:disabled),
852
- &:active:not(:disabled) {
762
+ ${activeSelector}${hoverActive} {
853
763
  background-color: ${theme2.colors.bgAccentDark};
854
764
  color: ${theme2.colors.bgWhite};
855
765
  }
@@ -857,11 +767,9 @@ var StyledButton = styled8__default.default("button", {
857
767
  }
858
768
  if ($variant === "warning") {
859
769
  return `
860
- background-color: ${theme2.colors.bgWarning};
770
+ background-color: ${$active ? theme2.colors.bgWarningDark : theme2.colors.bgWarning};
861
771
  color: ${theme2.colors.bgWhite};
862
-
863
- &:hover:not(:disabled),
864
- &:active:not(:disabled) {
772
+ ${activeSelector}${hoverActive} {
865
773
  background-color: ${theme2.colors.bgWarningDark};
866
774
  color: ${theme2.colors.bgWhite};
867
775
  }
@@ -869,13 +777,10 @@ var StyledButton = styled8__default.default("button", {
869
777
  }
870
778
  if ($variant === "outlined") {
871
779
  return `
872
- background-color: ${theme2.colors.bgWhite};
780
+ background-color: ${$active ? theme2.colors.bgMediumGrey : theme2.colors.bgWhite};
873
781
  border: 1px solid ${theme2.colors.lineDefault};
874
782
  color: ${theme2.colors.textPrimary};
875
-
876
- /* Pressed & Hovered: bg-medium-gray */
877
- &:hover:not(:disabled),
878
- &:active:not(:disabled) {
783
+ ${activeSelector}${hoverActive} {
879
784
  background-color: ${theme2.colors.bgMediumGrey};
880
785
  border: 1px solid ${theme2.colors.lineDefault};
881
786
  color: ${theme2.colors.textPrimary};
@@ -883,11 +788,9 @@ var StyledButton = styled8__default.default("button", {
883
788
  `;
884
789
  }
885
790
  return `
886
- background-color: transparent;
791
+ background-color: ${$active ? theme2.colors.bgMediumGrey : "transparent"};
887
792
  color: ${theme2.colors.textPrimary};
888
-
889
- &:hover:not(:disabled),
890
- &:active:not(:disabled) {
793
+ ${activeSelector}${hoverActive} {
891
794
  background-color: ${theme2.colors.bgMediumGrey};
892
795
  color: ${theme2.colors.textPrimary};
893
796
  }
@@ -905,6 +808,7 @@ var Button = react$1.forwardRef(
905
808
  variant = "filled",
906
809
  size = "medium",
907
810
  width,
811
+ active,
908
812
  children,
909
813
  type = "button",
910
814
  ...props
@@ -916,6 +820,7 @@ var Button = react$1.forwardRef(
916
820
  $variant: variant,
917
821
  $size: size,
918
822
  $width: width,
823
+ $active: active,
919
824
  type,
920
825
  ...props,
921
826
  children
@@ -924,7 +829,7 @@ var Button = react$1.forwardRef(
924
829
  }
925
830
  );
926
831
  Button.displayName = "Button";
927
- var StyledFlex = styled8__default.default.div`
832
+ var StyledFlex = styled18__default.default.div`
928
833
  display: flex;
929
834
  flex-direction: ${({ direction }) => direction || "row"};
930
835
  justify-content: ${({ justify }) => justify || "flex-start"};
@@ -940,7 +845,7 @@ var Flex = react$1.forwardRef(
940
845
  }
941
846
  );
942
847
  Flex.displayName = "Flex";
943
- var StyledTextFieldInput = styled8__default.default.input`
848
+ var StyledTextFieldInput = styled18__default.default.input`
944
849
  width: 100%;
945
850
  padding: 12.5px 16px;
946
851
  border: 1px solid
@@ -952,10 +857,7 @@ var StyledTextFieldInput = styled8__default.default.input`
952
857
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
953
858
  background: ${({ theme: theme2 }) => theme2.colors.bgWhite};
954
859
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
955
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontSize};
956
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.lineHeight};
957
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontWeight};
958
- letter-spacing: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.letterSpacing};
860
+ ${({ theme: theme2 }) => theme2.typo.Rg_16}
959
861
  opacity: ${({ $variant }) => $variant === "disabled" ? 0.5 : 1};
960
862
 
961
863
  &::placeholder {
@@ -975,8 +877,8 @@ var StyledTextFieldInput = styled8__default.default.input`
975
877
  opacity: 0.5;
976
878
  }
977
879
  `;
978
- var StyledTextFieldTextarea = styled8__default.default(TextareaAutosize__default.default, {
979
- shouldForwardProp: (prop) => isPropValid__default.default(prop) || prop === "minRows" || prop === "maxRows"
880
+ var StyledTextFieldTextarea = styled18__default.default(TextareaAutosize__default.default, {
881
+ shouldForwardProp: (prop) => isPropValid8__default.default(prop) || prop === "minRows" || prop === "maxRows"
980
882
  })`
981
883
  width: 100%;
982
884
  padding: 12.5px 16px;
@@ -989,10 +891,7 @@ var StyledTextFieldTextarea = styled8__default.default(TextareaAutosize__default
989
891
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
990
892
  background: ${({ theme: theme2 }) => theme2.colors.bgWhite};
991
893
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
992
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontSize};
993
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.lineHeight};
994
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.fontWeight};
995
- letter-spacing: ${({ theme: theme2 }) => theme2.typography.bodyLgRegular.letterSpacing};
894
+ ${({ theme: theme2 }) => theme2.typo.Rg_16}
996
895
  opacity: ${({ $variant }) => $variant === "disabled" ? 0.5 : 1};
997
896
  resize: none;
998
897
  font-family: inherit;
@@ -1014,9 +913,8 @@ var StyledTextFieldTextarea = styled8__default.default(TextareaAutosize__default
1014
913
  opacity: 0.5;
1015
914
  }
1016
915
  `;
1017
- var StyledHelperText = styled8__default.default.div`
1018
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyXsRegular.fontSize};
1019
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyXsRegular.lineHeight};
916
+ var StyledHelperText = styled18__default.default.div`
917
+ ${({ theme: theme2 }) => theme2.typo.Rg_12}
1020
918
  margin-top: 6px;
1021
919
  color: ${({ theme: theme2, $variant }) => {
1022
920
  if ($variant === "warning") return theme2.colors.textWarning;
@@ -1080,7 +978,7 @@ var TextField = react$1.forwardRef(
1080
978
  }
1081
979
  );
1082
980
  TextField.displayName = "TextField";
1083
- var StyledToastViewport = styled8__default.default(ToastPrimitive__namespace.Viewport)`
981
+ var StyledToastViewport = styled18__default.default(ToastPrimitive__namespace.Viewport)`
1084
982
  position: fixed;
1085
983
  ${({ $position, $viewportOffset }) => $position === "top" ? `top: ${$viewportOffset}px;` : `bottom: ${$viewportOffset}px;`}
1086
984
  left: 50%;
@@ -1092,7 +990,7 @@ var StyledToastViewport = styled8__default.default(ToastPrimitive__namespace.Vie
1092
990
  max-width: 90vw;
1093
991
  z-index: 9999;
1094
992
  `;
1095
- var StyledToastRoot = styled8__default.default(ToastPrimitive__namespace.Root)`
993
+ var StyledToastRoot = styled18__default.default(ToastPrimitive__namespace.Root)`
1096
994
  background-color: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1097
995
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1098
996
  border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
@@ -1129,10 +1027,8 @@ var StyledToastRoot = styled8__default.default(ToastPrimitive__namespace.Root)`
1129
1027
  }
1130
1028
  }
1131
1029
  `;
1132
- var StyledToastDescription = styled8__default.default(ToastPrimitive__namespace.Description)`
1133
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1134
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1135
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
1030
+ var StyledToastDescription = styled18__default.default(ToastPrimitive__namespace.Description)`
1031
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1136
1032
  `;
1137
1033
  var ToastContext = react$1.createContext(null);
1138
1034
  function ToastProvider({
@@ -1179,7 +1075,7 @@ function useToast() {
1179
1075
  };
1180
1076
  return { showToast };
1181
1077
  }
1182
- var StyledOverlay = styled8__default.default(DialogPrimitive__namespace.Overlay)`
1078
+ var StyledOverlay = styled18__default.default(DialogPrimitive__namespace.Overlay)`
1183
1079
  background-color: ${({ theme: theme2 }) => theme2.colors.basic.black30};
1184
1080
  position: fixed;
1185
1081
  inset: 0;
@@ -1203,7 +1099,7 @@ var StyledOverlay = styled8__default.default(DialogPrimitive__namespace.Overlay)
1203
1099
  to { opacity: 0; }
1204
1100
  }
1205
1101
  `;
1206
- var StyledContent = styled8__default.default(DialogPrimitive__namespace.Content)`
1102
+ var StyledContent = styled18__default.default(DialogPrimitive__namespace.Content)`
1207
1103
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1208
1104
  border-radius: ${({ theme: theme2 }) => theme2.radius["2xl"]};
1209
1105
  box-shadow: ${({ theme: theme2 }) => theme2.shadows.modal};
@@ -1236,20 +1132,18 @@ var StyledContent = styled8__default.default(DialogPrimitive__namespace.Content)
1236
1132
  outline: none;
1237
1133
  }
1238
1134
  `;
1239
- var StyledHeader = styled8__default.default.div`
1135
+ var StyledHeader = styled18__default.default.div`
1240
1136
  display: flex;
1241
1137
  justify-content: space-between;
1242
1138
  align-items: flex-start;
1243
1139
  margin-bottom: ${({ theme: theme2 }) => theme2.spacing[4]};
1244
1140
  `;
1245
- var StyledTitle = styled8__default.default(DialogPrimitive__namespace.Title)`
1246
- font-size: ${({ theme: theme2 }) => theme2.typography.headingXl.fontSize};
1247
- line-height: ${({ theme: theme2 }) => theme2.typography.headingXl.lineHeight};
1248
- font-weight: ${({ theme: theme2 }) => theme2.typography.headingXl.fontWeight};
1141
+ var StyledTitle = styled18__default.default(DialogPrimitive__namespace.Title)`
1142
+ ${({ theme: theme2 }) => theme2.typo.Sb_18}
1249
1143
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1250
1144
  margin: 0;
1251
1145
  `;
1252
- var StyledCloseButton = styled8__default.default.button`
1146
+ var StyledCloseButton = styled18__default.default.button`
1253
1147
  background: transparent;
1254
1148
  border: none;
1255
1149
  cursor: pointer;
@@ -1264,13 +1158,12 @@ var StyledCloseButton = styled8__default.default.button`
1264
1158
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1265
1159
  }
1266
1160
  `;
1267
- var StyledBody = styled8__default.default.div`
1268
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1269
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1161
+ var StyledBody = styled18__default.default.div`
1162
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1270
1163
  color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1271
1164
  margin-bottom: ${({ theme: theme2 }) => theme2.spacing[6]};
1272
1165
  `;
1273
- var StyledFooter = styled8__default.default.div`
1166
+ var StyledFooter = styled18__default.default.div`
1274
1167
  display: flex;
1275
1168
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1276
1169
  justify-content: flex-end;
@@ -1298,16 +1191,14 @@ var Dialog = DialogRoot;
1298
1191
  Dialog.Title = DialogTitle;
1299
1192
  Dialog.Content = DialogContent;
1300
1193
  Dialog.Footer = DialogFooter;
1301
- var StyledChatBubble = styled8__default.default.div`
1194
+ var StyledChatBubble = styled18__default.default.div`
1302
1195
  padding: ${({ theme: theme2 }) => `${theme2.spacing[3]} ${theme2.spacing[4]}`};
1303
1196
  border-radius: ${({ theme: theme2 }) => theme2.radius.xl};
1304
1197
  max-width: 70%;
1305
1198
  width: fit-content;
1306
1199
  word-wrap: break-word;
1307
1200
 
1308
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1309
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1310
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
1201
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1311
1202
 
1312
1203
  ${({ $variant, theme: theme2 }) => {
1313
1204
  if ($variant === "user") {
@@ -1392,8 +1283,8 @@ var iconButtonSizeStyles = {
1392
1283
  }
1393
1284
  }
1394
1285
  };
1395
- var propFilter5 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid__default.default(prop);
1396
- var StyledIconButton = styled8__default.default("button", {
1286
+ var propFilter5 = (prop) => !["$variant", "$size"].includes(prop) && isPropValid8__default.default(prop);
1287
+ var StyledIconButton = styled18__default.default("button", {
1397
1288
  shouldForwardProp: propFilter5
1398
1289
  })`
1399
1290
  display: inline-flex;
@@ -1421,12 +1312,8 @@ var StyledIconButton = styled8__default.default("button", {
1421
1312
  ${({ $variant, $size, theme: theme2 }) => {
1422
1313
  const spec = iconButtonSizeStyles[$variant][$size];
1423
1314
  const borderRadius = "borderRadius" in spec ? theme2.radius[spec.borderRadius] : "";
1424
- const typo = theme2.typography[spec.typography];
1425
1315
  return `
1426
- font-size: ${typo.fontSize};
1427
- line-height: ${typo.lineHeight};
1428
- font-weight: ${typo.fontWeight};
1429
- letter-spacing: ${typo.letterSpacing};
1316
+ ${theme2.typo[spec.typography]}
1430
1317
  padding: ${spec.padding};
1431
1318
  ${borderRadius ? `border-radius: ${borderRadius};` : ""}
1432
1319
  `;
@@ -1507,18 +1394,18 @@ var IconButton = react$1.forwardRef(
1507
1394
  }
1508
1395
  );
1509
1396
  IconButton.displayName = "IconButton";
1510
- var PaginationContainer = styled8__default.default.div`
1397
+ var PaginationContainer = styled18__default.default.div`
1511
1398
  display: flex;
1512
1399
  align-items: center;
1513
1400
  gap: ${({ theme: theme2 }) => theme2.spacing[1]};
1514
1401
  `;
1515
- var PaginationPages = styled8__default.default.div`
1402
+ var PaginationPages = styled18__default.default.div`
1516
1403
  display: flex;
1517
1404
  align-items: center;
1518
1405
  gap: 0;
1519
1406
  `;
1520
- var StyledPaginationButton = styled8__default.default("button", {
1521
- shouldForwardProp: (prop) => prop !== "$active" && isPropValid__default.default(prop)
1407
+ var StyledPaginationButton = styled18__default.default("button", {
1408
+ shouldForwardProp: (prop) => prop !== "$active" && isPropValid8__default.default(prop)
1522
1409
  })`
1523
1410
  display: inline-flex;
1524
1411
  align-items: center;
@@ -1539,9 +1426,7 @@ var StyledPaginationButton = styled8__default.default("button", {
1539
1426
  justify-content: center;
1540
1427
  width: 23px;
1541
1428
  height: 23px;
1542
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1543
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1544
- font-weight: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontWeight};
1429
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1545
1430
  color: ${({ theme: theme2, $active }) => $active ? theme2.colors.textPrimary : theme2.colors.textTertiary};
1546
1431
  }
1547
1432
 
@@ -1658,7 +1543,7 @@ function Pagination({
1658
1543
  )
1659
1544
  ] });
1660
1545
  }
1661
- var StyledCheckbox = styled8__default.default(CheckboxPrimitive__namespace.Root)`
1546
+ var StyledCheckbox = styled18__default.default(CheckboxPrimitive__namespace.Root)`
1662
1547
  width: 20px;
1663
1548
  height: 20px;
1664
1549
  border-radius: ${({ theme: theme2 }) => theme2.radius.sm};
@@ -1684,20 +1569,19 @@ var StyledCheckbox = styled8__default.default(CheckboxPrimitive__namespace.Root)
1684
1569
  cursor: not-allowed;
1685
1570
  }
1686
1571
  `;
1687
- var StyledIndicator = styled8__default.default(CheckboxPrimitive__namespace.Indicator)`
1572
+ var StyledIndicator = styled18__default.default(CheckboxPrimitive__namespace.Indicator)`
1688
1573
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1689
1574
  display: flex;
1690
1575
  align-items: center;
1691
1576
  justify-content: center;
1692
1577
  `;
1693
- var CheckboxContainer = styled8__default.default.div`
1578
+ var CheckboxContainer = styled18__default.default.div`
1694
1579
  display: flex;
1695
1580
  align-items: center;
1696
1581
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1697
1582
  `;
1698
- var Label = styled8__default.default.label`
1699
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1700
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1583
+ var Label = styled18__default.default.label`
1584
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1701
1585
  color: ${({ theme: theme2, $disabled }) => $disabled ? theme2.colors.textDisabled : theme2.colors.textPrimary};
1702
1586
  cursor: ${({ $disabled }) => $disabled ? "not-allowed" : "pointer"};
1703
1587
  user-select: none;
@@ -1710,17 +1594,17 @@ var Checkbox = react$1.forwardRef(({ label, disabled, id, ...props }, ref) => {
1710
1594
  ] });
1711
1595
  });
1712
1596
  Checkbox.displayName = "Checkbox";
1713
- var StyledRadioGroup = styled8__default.default(RadioGroupPrimitive__namespace.Root)`
1597
+ var StyledRadioGroup = styled18__default.default(RadioGroupPrimitive__namespace.Root)`
1714
1598
  display: flex;
1715
1599
  flex-direction: column;
1716
1600
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1717
1601
  `;
1718
- var RadioItem = styled8__default.default.div`
1602
+ var RadioItem = styled18__default.default.div`
1719
1603
  display: flex;
1720
1604
  align-items: center;
1721
1605
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1722
1606
  `;
1723
- var StyledRadioButton = styled8__default.default(RadioGroupPrimitive__namespace.Item)`
1607
+ var StyledRadioButton = styled18__default.default(RadioGroupPrimitive__namespace.Item)`
1724
1608
  width: 20px;
1725
1609
  height: 20px;
1726
1610
  border-radius: ${({ theme: theme2 }) => theme2.radius.full};
@@ -1745,15 +1629,14 @@ var StyledRadioButton = styled8__default.default(RadioGroupPrimitive__namespace.
1745
1629
  cursor: not-allowed;
1746
1630
  }
1747
1631
  `;
1748
- var StyledIndicator2 = styled8__default.default(RadioGroupPrimitive__namespace.Indicator)`
1632
+ var StyledIndicator2 = styled18__default.default(RadioGroupPrimitive__namespace.Indicator)`
1749
1633
  width: 10px;
1750
1634
  height: 10px;
1751
1635
  border-radius: ${({ theme: theme2 }) => theme2.radius.full};
1752
1636
  background-color: ${({ theme: theme2 }) => theme2.colors.bgAccent};
1753
1637
  `;
1754
- var Label2 = styled8__default.default.label`
1755
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1756
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1638
+ var Label2 = styled18__default.default.label`
1639
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1757
1640
  color: ${({ theme: theme2, $disabled }) => $disabled ? theme2.colors.textDisabled : theme2.colors.textPrimary};
1758
1641
  cursor: ${({ $disabled }) => $disabled ? "not-allowed" : "pointer"};
1759
1642
  user-select: none;
@@ -1776,7 +1659,7 @@ var RadioButton = react$1.forwardRef(({ options, ...props }, ref) => {
1776
1659
  }) });
1777
1660
  });
1778
1661
  RadioButton.displayName = "RadioButton";
1779
- var StyledMenuContent = styled8__default.default(DropdownMenu2__namespace.Content)`
1662
+ var StyledMenuContent = styled18__default.default(DropdownMenu2__namespace.Content)`
1780
1663
  min-width: 200px;
1781
1664
  background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1782
1665
  border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
@@ -1799,14 +1682,13 @@ var StyledMenuContent = styled8__default.default(DropdownMenu2__namespace.Conten
1799
1682
  }
1800
1683
  }
1801
1684
  `;
1802
- var StyledMenuItem = styled8__default.default(DropdownMenu2__namespace.Item)`
1685
+ var StyledMenuItem = styled18__default.default(DropdownMenu2__namespace.Item)`
1803
1686
  display: flex;
1804
1687
  align-items: center;
1805
1688
  justify-content: space-between;
1806
1689
  padding: ${({ theme: theme2 }) => `${theme2.spacing[2]} ${theme2.spacing[3]}`};
1807
1690
  border-radius: ${({ theme: theme2 }) => theme2.radius.md};
1808
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.fontSize};
1809
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyBaseMedium.lineHeight};
1691
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1810
1692
  color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1811
1693
  cursor: pointer;
1812
1694
  outline: none;
@@ -1823,20 +1705,20 @@ var StyledMenuItem = styled8__default.default(DropdownMenu2__namespace.Item)`
1823
1705
  pointer-events: none;
1824
1706
  }
1825
1707
  `;
1826
- var MenuItemLeft = styled8__default.default.div`
1708
+ var MenuItemLeft = styled18__default.default.div`
1827
1709
  display: flex;
1828
1710
  align-items: center;
1829
1711
  gap: ${({ theme: theme2 }) => theme2.spacing[2]};
1830
1712
  `;
1831
- var MenuItemText = styled8__default.default.span``;
1832
- var MenuLeadingIcon = styled8__default.default.span`
1713
+ var MenuItemText = styled18__default.default.span``;
1714
+ var MenuLeadingIcon = styled18__default.default.span`
1833
1715
  display: flex;
1834
1716
  align-items: center;
1835
1717
  justify-content: center;
1836
1718
  width: 20px;
1837
1719
  height: 20px;
1838
1720
  `;
1839
- var MenuTrailingIcon = styled8__default.default.span`
1721
+ var MenuTrailingIcon = styled18__default.default.span`
1840
1722
  display: flex;
1841
1723
  align-items: center;
1842
1724
  justify-content: center;
@@ -1859,13 +1741,12 @@ var MenuItem = react$1.forwardRef(
1859
1741
  ] })
1860
1742
  );
1861
1743
  MenuItem.displayName = "MenuItem";
1862
- var StyledTooltipContent = styled8__default.default(TooltipPrimitive2__namespace.Content)`
1744
+ var StyledTooltipContent = styled18__default.default(TooltipPrimitive2__namespace.Content)`
1863
1745
  background-color: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1864
1746
  color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1865
1747
  border-radius: ${({ theme: theme2 }) => theme2.radius.md};
1866
1748
  padding: ${({ theme: theme2 }) => `${theme2.spacing[1]} ${theme2.spacing[2]}`};
1867
- font-size: ${({ theme: theme2 }) => theme2.typography.bodyXsMedium.fontSize};
1868
- line-height: ${({ theme: theme2 }) => theme2.typography.bodyXsMedium.lineHeight};
1749
+ ${({ theme: theme2 }) => theme2.typo.Md_12}
1869
1750
  box-shadow: ${({ theme: theme2 }) => theme2.shadows.base};
1870
1751
  z-index: 9999;
1871
1752
  max-width: 300px;
@@ -1885,7 +1766,7 @@ var StyledTooltipContent = styled8__default.default(TooltipPrimitive2__namespace
1885
1766
  }
1886
1767
  }
1887
1768
  `;
1888
- var StyledArrow = styled8__default.default(TooltipPrimitive2__namespace.Arrow)`
1769
+ var StyledArrow = styled18__default.default(TooltipPrimitive2__namespace.Arrow)`
1889
1770
  fill: ${({ theme: theme2 }) => theme2.colors.bgDarkGrey};
1890
1771
  `;
1891
1772
  var TooltipProvider = react$1.forwardRef(
@@ -1902,6 +1783,332 @@ var TooltipContent = react$1.forwardRef(
1902
1783
  ] }) })
1903
1784
  );
1904
1785
  TooltipContent.displayName = "TooltipContent";
1786
+ var itemSizeStyles = {
1787
+ large: {
1788
+ padding: "8.5px 17.5px",
1789
+ typography: "Md_15"
1790
+ },
1791
+ small: {
1792
+ padding: "3.5px 19.5px",
1793
+ typography: "Md_14"
1794
+ }
1795
+ };
1796
+ var rootPropFilter = (prop) => !["$size"].includes(prop) && isPropValid8__default.default(prop);
1797
+ var StyledSegmentedControlRoot = styled18__default.default(
1798
+ ToggleGroup__namespace.Root,
1799
+ { shouldForwardProp: rootPropFilter }
1800
+ )`
1801
+ display: inline-flex;
1802
+ padding: 4px;
1803
+ border-radius: 12px;
1804
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgMediumGrey};
1805
+ box-shadow: ${({ theme: theme2 }) => theme2.shadows.base};
1806
+ width: fit-content;
1807
+ `;
1808
+ var itemPropFilter = (prop) => !["$size"].includes(prop) && isPropValid8__default.default(prop);
1809
+ var StyledSegmentedControlItem = styled18__default.default(
1810
+ ToggleGroup__namespace.Item,
1811
+ { shouldForwardProp: itemPropFilter }
1812
+ )`
1813
+ display: inline-flex;
1814
+ align-items: center;
1815
+ justify-content: center;
1816
+ border: none;
1817
+ outline: none;
1818
+ cursor: pointer;
1819
+ border-radius: 12px;
1820
+ white-space: nowrap;
1821
+ font-family: inherit;
1822
+ transition:
1823
+ background-color 0.2s ease,
1824
+ color 0.2s ease;
1825
+
1826
+ ${({ $size, theme: theme2 }) => {
1827
+ const spec = itemSizeStyles[$size];
1828
+ return `
1829
+ padding: ${spec.padding};
1830
+ ${theme2.typo[spec.typography]}
1831
+ `;
1832
+ }}
1833
+
1834
+ color: ${({ theme: theme2 }) => theme2.colors.textTertiary};
1835
+ background-color: transparent;
1836
+
1837
+ &[data-state='on'] {
1838
+ color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1839
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1840
+ }
1841
+
1842
+ &:hover:not([data-state='on']) {
1843
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1844
+ }
1845
+
1846
+ &:disabled {
1847
+ cursor: not-allowed;
1848
+ opacity: 0.5;
1849
+ }
1850
+ `;
1851
+ var SegmentedControlSizeContext = react$1.createContext("large");
1852
+ var SegmentedControlRoot = react$1.forwardRef(({ size = "large", children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(SegmentedControlSizeContext.Provider, { value: size, children: /* @__PURE__ */ jsxRuntime.jsx(
1853
+ StyledSegmentedControlRoot,
1854
+ {
1855
+ ref,
1856
+ type: "single",
1857
+ $size: size,
1858
+ ...props,
1859
+ children
1860
+ }
1861
+ ) }));
1862
+ SegmentedControlRoot.displayName = "SegmentedControlRoot";
1863
+ var SegmentedControlItem = react$1.forwardRef(({ children, ...props }, ref) => {
1864
+ const size = react$1.useContext(SegmentedControlSizeContext);
1865
+ return /* @__PURE__ */ jsxRuntime.jsx(StyledSegmentedControlItem, { ref, $size: size, ...props, children });
1866
+ });
1867
+ SegmentedControlItem.displayName = "SegmentedControlItem";
1868
+ var propFilter6 = (prop) => isPropValid8__default.default(prop);
1869
+ var StyledTabList = styled18__default.default(TabsPrimitive__namespace.List, {
1870
+ shouldForwardProp: propFilter6
1871
+ })`
1872
+ display: flex;
1873
+ border-bottom: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
1874
+ width: fit-content;
1875
+ `;
1876
+ var StyledTabTrigger = styled18__default.default(TabsPrimitive__namespace.Trigger, {
1877
+ shouldForwardProp: propFilter6
1878
+ })`
1879
+ display: inline-flex;
1880
+ align-items: center;
1881
+ justify-content: center;
1882
+ padding: 12px 16px;
1883
+ border: none;
1884
+ outline: none;
1885
+ cursor: pointer;
1886
+ background: transparent;
1887
+ font-family: inherit;
1888
+ ${({ theme: theme2 }) => theme2.typo.Sb_16}
1889
+ color: ${({ theme: theme2 }) => theme2.colors.textTertiary};
1890
+ position: relative;
1891
+ transition: color 0.2s ease;
1892
+
1893
+ &[data-state="active"] {
1894
+ color: ${({ theme: theme2 }) => theme2.colors.textPrimary};
1895
+ }
1896
+
1897
+ &[data-state="active"]::after {
1898
+ content: "";
1899
+ position: absolute;
1900
+ bottom: -1px;
1901
+ left: 4px;
1902
+ right: 4px;
1903
+ height: 2px;
1904
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgBlack};
1905
+ border-radius: 100px;
1906
+ }
1907
+
1908
+ &:hover:not([data-state="active"]) {
1909
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1910
+ }
1911
+
1912
+ &:disabled {
1913
+ cursor: not-allowed;
1914
+ opacity: 0.5;
1915
+ }
1916
+ `;
1917
+ var StyledTabContent = styled18__default.default(TabsPrimitive__namespace.Content, {
1918
+ shouldForwardProp: propFilter6
1919
+ })`
1920
+ outline: none;
1921
+ `;
1922
+ var TabRoot = react$1.forwardRef(
1923
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Root, { ref, ...props, children })
1924
+ );
1925
+ TabRoot.displayName = "TabRoot";
1926
+ var TabList = react$1.forwardRef(
1927
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTabList, { ref, ...props, children })
1928
+ );
1929
+ TabList.displayName = "TabList";
1930
+ var TabTrigger = react$1.forwardRef(
1931
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTabTrigger, { ref, ...props, children })
1932
+ );
1933
+ TabTrigger.displayName = "TabTrigger";
1934
+ var TabContent = react$1.forwardRef(
1935
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTabContent, { ref, ...props, children })
1936
+ );
1937
+ TabContent.displayName = "TabContent";
1938
+ var propFilter7 = (prop) => isPropValid8__default.default(prop);
1939
+ var StyledTableRoot = styled18__default.default("div", {
1940
+ shouldForwardProp: propFilter7
1941
+ })`
1942
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgWhite};
1943
+ border-radius: ${({ theme: theme2 }) => theme2.radius.lg};
1944
+ overflow: hidden;
1945
+ width: fit-content;
1946
+ `;
1947
+ var StyledTable = styled18__default.default("table", {
1948
+ shouldForwardProp: propFilter7
1949
+ })`
1950
+ width: 100%;
1951
+ border-collapse: collapse;
1952
+ `;
1953
+ var StyledTableHeader = styled18__default.default("thead", {
1954
+ shouldForwardProp: propFilter7
1955
+ })``;
1956
+ var StyledTableBody = styled18__default.default("tbody", {
1957
+ shouldForwardProp: propFilter7
1958
+ })``;
1959
+ var StyledTableHeaderRow = styled18__default.default("tr", {
1960
+ shouldForwardProp: propFilter7
1961
+ })``;
1962
+ var StyledTableBodyRow = styled18__default.default("tr", {
1963
+ shouldForwardProp: propFilter7
1964
+ })`
1965
+ background: transparent;
1966
+ border-radius: 0;
1967
+ transition: background-color 0.2s ease;
1968
+
1969
+ &:hover {
1970
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgLightGrey};
1971
+ }
1972
+ `;
1973
+ var StyledTableHeaderCell = styled18__default.default("th", {
1974
+ shouldForwardProp: propFilter7
1975
+ })`
1976
+ ${({ theme: theme2 }) => theme2.typo.Md_14}
1977
+ color: ${({ theme: theme2 }) => theme2.colors.textSecondary};
1978
+ height: 36px;
1979
+ padding: 0 16px;
1980
+ background-color: ${({ theme: theme2 }) => theme2.colors.bgMediumGrey};
1981
+ border: none;
1982
+ font-family: inherit;
1983
+ text-align: left;
1984
+ vertical-align: middle;
1985
+
1986
+ &:first-of-type {
1987
+ border-radius: ${({ theme: theme2 }) => theme2.radius.lg} 0 0
1988
+ ${({ theme: theme2 }) => theme2.radius.lg};
1989
+ }
1990
+
1991
+ &:last-of-type {
1992
+ border-radius: 0 ${({ theme: theme2 }) => theme2.radius.lg}
1993
+ ${({ theme: theme2 }) => theme2.radius.lg} 0;
1994
+ }
1995
+ `;
1996
+ var StyledTableBodyCell = styled18__default.default("td", {
1997
+ shouldForwardProp: propFilter7
1998
+ })`
1999
+ height: 56px;
2000
+ padding: 0 16px;
2001
+ background: transparent;
2002
+ border: none;
2003
+ border-top: 1px solid ${({ theme: theme2 }) => theme2.colors.lineDefault};
2004
+ border-radius: 0;
2005
+ font-family: inherit;
2006
+ text-align: left;
2007
+ vertical-align: middle;
2008
+
2009
+ tr:first-of-type & {
2010
+ border-top: none;
2011
+ }
2012
+ `;
2013
+ var TableRoot = react$1.forwardRef(
2014
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableRoot, { ref, ...props, children })
2015
+ );
2016
+ TableRoot.displayName = "TableRoot";
2017
+ var Table = react$1.forwardRef(
2018
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTable, { ref, ...props, children })
2019
+ );
2020
+ Table.displayName = "Table";
2021
+ var TableHeader = react$1.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableHeader, { ref, ...props, children }));
2022
+ TableHeader.displayName = "TableHeader";
2023
+ var TableBody = react$1.forwardRef(
2024
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableBody, { ref, ...props, children })
2025
+ );
2026
+ TableBody.displayName = "TableBody";
2027
+ var TableHeaderRow = react$1.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableHeaderRow, { ref, ...props, children }));
2028
+ TableHeaderRow.displayName = "TableHeaderRow";
2029
+ var TableBodyRow = react$1.forwardRef(
2030
+ ({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableBodyRow, { ref, ...props, children })
2031
+ );
2032
+ TableBodyRow.displayName = "TableBodyRow";
2033
+ var TableHeaderCell = react$1.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableHeaderCell, { ref, ...props, children }));
2034
+ TableHeaderCell.displayName = "TableHeaderCell";
2035
+ var TableBodyCell = react$1.forwardRef(({ children, ...props }, ref) => /* @__PURE__ */ jsxRuntime.jsx(StyledTableBodyCell, { ref, ...props, children }));
2036
+ TableBodyCell.displayName = "TableBodyCell";
2037
+ var dim = (v) => v === void 0 ? void 0 : typeof v === "number" ? `${v}px` : v;
2038
+ var StyledSkeleton = styled18__default.default("span", {
2039
+ shouldForwardProp: (prop) => ![
2040
+ "$width",
2041
+ "$minWidth",
2042
+ "$maxWidth",
2043
+ "$height",
2044
+ "$minHeight",
2045
+ "$maxHeight",
2046
+ "$loading"
2047
+ ].includes(prop) && isPropValid8__default.default(prop)
2048
+ })`
2049
+ display: inline-block;
2050
+ position: relative;
2051
+ border-radius: ${({ theme: theme2 }) => theme2.radius.sm};
2052
+
2053
+ ${({ $width }) => $width !== void 0 && `width: ${dim($width)};`}
2054
+ ${({ $minWidth }) => $minWidth !== void 0 && `min-width: ${dim($minWidth)};`}
2055
+ ${({ $maxWidth }) => $maxWidth !== void 0 && `max-width: ${dim($maxWidth)};`}
2056
+ ${({ $height }) => $height !== void 0 && `height: ${dim($height)};`}
2057
+ ${({ $minHeight }) => $minHeight !== void 0 && `min-height: ${dim($minHeight)};`}
2058
+ ${({ $maxHeight }) => $maxHeight !== void 0 && `max-height: ${dim($maxHeight)};`}
2059
+
2060
+ ${({ $loading, theme: theme2 }) => $loading && `
2061
+ background-color: ${theme2.colors.bgMediumGrey};
2062
+ animation: skeleton-pulse 1.5s ease-in-out infinite;
2063
+
2064
+ & > * {
2065
+ visibility: hidden;
2066
+ pointer-events: none;
2067
+ }
2068
+ `}
2069
+
2070
+ ${({ $loading }) => !$loading && `
2071
+ background-color: transparent;
2072
+ `}
2073
+
2074
+ @keyframes skeleton-pulse {
2075
+ 0%,
2076
+ 100% {
2077
+ opacity: 1;
2078
+ }
2079
+ 50% {
2080
+ opacity: 0.6;
2081
+ }
2082
+ }
2083
+ `;
2084
+ var Skeleton = react$1.forwardRef(
2085
+ ({
2086
+ loading = true,
2087
+ children,
2088
+ width,
2089
+ minWidth,
2090
+ maxWidth,
2091
+ height,
2092
+ minHeight,
2093
+ maxHeight,
2094
+ ...props
2095
+ }, ref) => /* @__PURE__ */ jsxRuntime.jsx(
2096
+ StyledSkeleton,
2097
+ {
2098
+ ref,
2099
+ $loading: loading,
2100
+ $width: width,
2101
+ $minWidth: minWidth,
2102
+ $maxWidth: maxWidth,
2103
+ $height: height,
2104
+ $minHeight: minHeight,
2105
+ $maxHeight: maxHeight,
2106
+ ...props,
2107
+ children
2108
+ }
2109
+ )
2110
+ );
2111
+ Skeleton.displayName = "Skeleton";
1905
2112
 
1906
2113
  exports.Avatar = Avatar;
1907
2114
  exports.Badge = Badge;
@@ -1919,6 +2126,21 @@ exports.MenuTrigger = MenuTrigger;
1919
2126
  exports.Pagination = Pagination;
1920
2127
  exports.Progress = Progress;
1921
2128
  exports.RadioButton = RadioButton;
2129
+ exports.SegmentedControlItem = SegmentedControlItem;
2130
+ exports.SegmentedControlRoot = SegmentedControlRoot;
2131
+ exports.Skeleton = Skeleton;
2132
+ exports.TabContent = TabContent;
2133
+ exports.TabList = TabList;
2134
+ exports.TabRoot = TabRoot;
2135
+ exports.TabTrigger = TabTrigger;
2136
+ exports.Table = Table;
2137
+ exports.TableBody = TableBody;
2138
+ exports.TableBodyCell = TableBodyCell;
2139
+ exports.TableBodyRow = TableBodyRow;
2140
+ exports.TableHeader = TableHeader;
2141
+ exports.TableHeaderCell = TableHeaderCell;
2142
+ exports.TableHeaderRow = TableHeaderRow;
2143
+ exports.TableRoot = TableRoot;
1922
2144
  exports.TextField = TextField;
1923
2145
  exports.ToastProvider = ToastProvider;
1924
2146
  exports.Tooltip = Tooltip;
@@ -1927,13 +2149,9 @@ exports.TooltipProvider = TooltipProvider;
1927
2149
  exports.TooltipTrigger = TooltipTrigger;
1928
2150
  exports.colors = colors;
1929
2151
  exports.componentSize = componentSize;
1930
- exports.fontSize = fontSize;
1931
- exports.fontWeight = fontWeight;
1932
- exports.letterSpacing = letterSpacing;
1933
- exports.lineHeight = lineHeight;
1934
2152
  exports.radius = radius;
1935
2153
  exports.semanticSpacing = semanticSpacing;
1936
2154
  exports.shadows = shadows;
1937
2155
  exports.spacing = spacing;
1938
- exports.typography = typography;
2156
+ exports.typo = typo;
1939
2157
  exports.useToast = useToast;