@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.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
- import { ReactNode, HTMLAttributes, ButtonHTMLAttributes, CSSProperties, InputHTMLAttributes, TextareaHTMLAttributes } from 'react';
3
+ import { ReactNode, HTMLAttributes, ButtonHTMLAttributes, CSSProperties, InputHTMLAttributes, TextareaHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
4
4
  import * as RadixAvatar from '@radix-ui/react-avatar';
5
5
  import * as RadixProgress from '@radix-ui/react-progress';
6
6
  import * as ToastPrimitive from '@radix-ui/react-toast';
@@ -8,6 +8,7 @@ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
8
8
  import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
9
9
  import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
10
10
  import * as TooltipPrimitive from '@radix-ui/react-tooltip';
11
+ import * as ToggleGroup from '@radix-ui/react-toggle-group';
11
12
 
12
13
  /**
13
14
  * Emotion Theme augmentation for Bichon design tokens.
@@ -45,21 +46,25 @@ type BichonColors = {
45
46
  readonly [key: string]: unknown;
46
47
  };
47
48
 
48
- type BichonTypographyStyle = {
49
- readonly fontSize: string;
50
- readonly lineHeight: string;
51
- readonly fontWeight: number;
52
- readonly letterSpacing: string;
53
- };
54
-
55
49
  type BichonTypography$1 = {
56
- readonly bodyLgMedium: BichonTypographyStyle;
57
- readonly bodyMdMedium: BichonTypographyStyle;
58
- readonly bodyLgRegular: BichonTypographyStyle;
59
- readonly bodyXsRegular: BichonTypographyStyle;
60
- readonly bodyBaseMedium: BichonTypographyStyle;
61
- readonly headingXl: BichonTypographyStyle;
62
- readonly [key: string]: BichonTypographyStyle;
50
+ readonly Sb_32: string;
51
+ readonly Sb_24: string;
52
+ readonly Sb_20: string;
53
+ readonly Sb_18: string;
54
+ readonly Sb_16: string;
55
+ readonly Sb_14: string;
56
+ readonly Md_18: string;
57
+ readonly Md_16: string;
58
+ readonly Md_15: string;
59
+ readonly Md_14: string;
60
+ readonly Md_13: string;
61
+ readonly Md_12: string;
62
+ readonly Rg_16: string;
63
+ readonly Rg_15: string;
64
+ readonly Rg_14: string;
65
+ readonly Rg_13: string;
66
+ readonly Rg_12: string;
67
+ [key: string]: string;
63
68
  };
64
69
 
65
70
  type BichonSpacing$1 = Record<number, string> & Record<string, string>;
@@ -68,10 +73,10 @@ type BichonRadius$1 = Record<string, string>;
68
73
 
69
74
  type BichonShadows$1 = Record<string, string>;
70
75
 
71
- declare module '@emotion/react' {
76
+ declare module "@emotion/react" {
72
77
  export interface Theme {
73
78
  colors: BichonColors;
74
- typography: BichonTypography$1;
79
+ typo: BichonTypography$1;
75
80
  spacing: BichonSpacing$1;
76
81
  radius: BichonRadius$1;
77
82
  shadows: BichonShadows$1;
@@ -80,7 +85,7 @@ declare module '@emotion/react' {
80
85
 
81
86
  type BichonEmotionTheme = {
82
87
  colors: BichonColors;
83
- typography: BichonTypography$1;
88
+ typo: BichonTypography$1;
84
89
  spacing: BichonSpacing$1;
85
90
  radius: BichonRadius$1;
86
91
  shadows: BichonShadows$1;
@@ -150,147 +155,26 @@ declare const colors: {
150
155
  };
151
156
  type Colors = typeof colors;
152
157
 
153
- /**
154
- * Typography Tokens for Bichon Design System
155
- *
156
- * Semantic typography system with consistent naming and scales.
157
- */
158
- declare const fontSize: {
159
- readonly xs: "12px";
160
- readonly sm: "13px";
161
- readonly base: "14px";
162
- readonly md: "15px";
163
- readonly lg: "16px";
164
- readonly xl: "18px";
165
- readonly '2xl': "20px";
166
- readonly '3xl': "24px";
167
- readonly '4xl': "32px";
168
- };
169
- declare const fontWeight: {
170
- readonly regular: 400;
171
- readonly medium: 500;
172
- readonly semibold: 600;
173
- };
174
- declare const lineHeight: {
175
- readonly xs: "18px";
176
- readonly sm: "19.5px";
177
- readonly base: "21px";
178
- readonly md: "22.5px";
179
- readonly lg: "24px";
180
- readonly xl: "27px";
181
- readonly '2xl': "29px";
182
- readonly '3xl': "32px";
183
- readonly '4xl': "42px";
184
- };
185
- declare const letterSpacing: {
186
- readonly tight: "-0.02em";
187
- readonly normal: "0em";
188
- };
189
- declare const typography: {
190
- readonly heading4xl: {
191
- readonly fontSize: "32px";
192
- readonly lineHeight: "42px";
193
- readonly fontWeight: 600;
194
- readonly letterSpacing: "-0.02em";
195
- };
196
- readonly heading3xl: {
197
- readonly fontSize: "24px";
198
- readonly lineHeight: "32px";
199
- readonly fontWeight: 600;
200
- readonly letterSpacing: "-0.02em";
201
- };
202
- readonly heading2xl: {
203
- readonly fontSize: "20px";
204
- readonly lineHeight: "29px";
205
- readonly fontWeight: 600;
206
- readonly letterSpacing: "-0.02em";
207
- };
208
- readonly headingXl: {
209
- readonly fontSize: "18px";
210
- readonly lineHeight: "27px";
211
- readonly fontWeight: 600;
212
- readonly letterSpacing: "-0.02em";
213
- };
214
- readonly headingLg: {
215
- readonly fontSize: "16px";
216
- readonly lineHeight: "24px";
217
- readonly fontWeight: 600;
218
- readonly letterSpacing: "-0.02em";
219
- };
220
- readonly headingBase: {
221
- readonly fontSize: "14px";
222
- readonly lineHeight: "21px";
223
- readonly fontWeight: 600;
224
- readonly letterSpacing: "-0.02em";
225
- };
226
- readonly bodyXlMedium: {
227
- readonly fontSize: "18px";
228
- readonly lineHeight: "27px";
229
- readonly fontWeight: 500;
230
- readonly letterSpacing: "-0.02em";
231
- };
232
- readonly bodyLgMedium: {
233
- readonly fontSize: "16px";
234
- readonly lineHeight: "24px";
235
- readonly fontWeight: 500;
236
- readonly letterSpacing: "-0.02em";
237
- };
238
- readonly bodyMdMedium: {
239
- readonly fontSize: "15px";
240
- readonly lineHeight: "22.5px";
241
- readonly fontWeight: 500;
242
- readonly letterSpacing: "-0.02em";
243
- };
244
- readonly bodyBaseMedium: {
245
- readonly fontSize: "14px";
246
- readonly lineHeight: "21px";
247
- readonly fontWeight: 500;
248
- readonly letterSpacing: "-0.02em";
249
- };
250
- readonly bodySmMedium: {
251
- readonly fontSize: "13px";
252
- readonly lineHeight: "19.5px";
253
- readonly fontWeight: 500;
254
- readonly letterSpacing: "-0.02em";
255
- };
256
- readonly bodyXsMedium: {
257
- readonly fontSize: "12px";
258
- readonly lineHeight: "18px";
259
- readonly fontWeight: 500;
260
- readonly letterSpacing: "-0.02em";
261
- };
262
- readonly bodyLgRegular: {
263
- readonly fontSize: "16px";
264
- readonly lineHeight: "24px";
265
- readonly fontWeight: 400;
266
- readonly letterSpacing: "-0.02em";
267
- };
268
- readonly bodyMdRegular: {
269
- readonly fontSize: "15px";
270
- readonly lineHeight: "22.5px";
271
- readonly fontWeight: 400;
272
- readonly letterSpacing: "-0.02em";
273
- };
274
- readonly bodyBaseRegular: {
275
- readonly fontSize: "14px";
276
- readonly lineHeight: "21px";
277
- readonly fontWeight: 400;
278
- readonly letterSpacing: "-0.02em";
279
- };
280
- readonly bodySmRegular: {
281
- readonly fontSize: "13px";
282
- readonly lineHeight: "19.5px";
283
- readonly fontWeight: 400;
284
- readonly letterSpacing: "-0.02em";
285
- };
286
- readonly bodyXsRegular: {
287
- readonly fontSize: "12px";
288
- readonly lineHeight: "18px";
289
- readonly fontWeight: 400;
290
- readonly letterSpacing: "-0.02em";
291
- };
158
+ declare const typo: {
159
+ readonly Sb_32: "\n font-size: 32px;\n line-height: 42px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
160
+ readonly Sb_24: "\n font-size: 24px;\n line-height: 32px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
161
+ readonly Sb_20: "\n font-size: 20px;\n line-height: 29px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
162
+ readonly Sb_18: "\n font-size: 18px;\n line-height: 27px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
163
+ readonly Sb_16: "\n font-size: 16px;\n line-height: 24px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
164
+ readonly Sb_14: "\n font-size: 14px;\n line-height: 21px;\n font-weight: 600;\n letter-spacing: -0.02em;\n ";
165
+ readonly Md_18: "\n font-size: 18px;\n line-height: 27px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
166
+ readonly Md_16: "\n font-size: 16px;\n line-height: 24px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
167
+ readonly Md_15: "\n font-size: 15px;\n line-height: 22.5px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
168
+ readonly Md_14: "\n font-size: 14px;\n line-height: 21px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
169
+ readonly Md_13: "\n font-size: 13px;\n line-height: 19.5px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
170
+ readonly Md_12: "\n font-size: 12px;\n line-height: 18px;\n font-weight: 500;\n letter-spacing: -0.02em;\n ";
171
+ readonly Rg_16: "\n font-size: 16px;\n line-height: 24px;\n font-weight: 400;\n letter-spacing: -0.02em;\n ";
172
+ readonly Rg_15: "\n font-size: 15px;\n line-height: 22.5px;\n font-weight: 400;\n letter-spacing: -0.02em;\n ";
173
+ readonly Rg_14: "\n font-size: 14px;\n line-height: 21px;\n font-weight: 400;\n letter-spacing: -0.02em;\n ";
174
+ readonly Rg_13: "\n font-size: 13px;\n line-height: 19.5px;\n font-weight: 400;\n letter-spacing: -0.02em;\n ";
175
+ readonly Rg_12: "\n font-size: 12px;\n line-height: 18px;\n font-weight: 400;\n letter-spacing: -0.02em;\n ";
292
176
  };
293
- type BichonTypography = typeof typography;
177
+ type BichonTypography = typeof typo;
294
178
 
295
179
  /**
296
180
  * Spacing Tokens for Bichon Design System
@@ -318,8 +202,8 @@ declare const semanticSpacing: {
318
202
  readonly md: "12px";
319
203
  readonly lg: "16px";
320
204
  readonly xl: "20px";
321
- readonly '2xl': "24px";
322
- readonly '3xl': "32px";
205
+ readonly "2xl": "24px";
206
+ readonly "3xl": "32px";
323
207
  };
324
208
  declare const componentSize: {
325
209
  readonly cardWidth: "286px";
@@ -371,7 +255,7 @@ type BichonShadows = typeof shadows;
371
255
 
372
256
  interface BichonTheme {
373
257
  colors: typeof colors;
374
- typography: typeof typography;
258
+ typo: typeof typo;
375
259
  spacing: typeof spacing;
376
260
  radius: typeof radius;
377
261
  shadows: typeof shadows;
@@ -399,8 +283,8 @@ interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {
399
283
  }
400
284
  declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
401
285
 
402
- type ProgressSize = 'large' | 'medium' | 'small';
403
- interface ProgressProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixProgress.Root>, 'asChild'> {
286
+ type ProgressSize = "large" | "medium" | "small";
287
+ interface ProgressProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixProgress.Root>, "asChild"> {
404
288
  size?: ProgressSize;
405
289
  value?: number;
406
290
  width?: string | number;
@@ -411,13 +295,14 @@ declare const Progress: react.ForwardRefExoticComponent<ProgressProps & react.Re
411
295
  /**
412
296
  * Button Styled Components
413
297
  */
414
- type ButtonVariant = 'filled' | 'outlined' | 'text' | 'warning';
415
- type ButtonSize = 'large' | 'medium' | 'small';
298
+ type ButtonVariant = "filled" | "outlined" | "text" | "warning";
299
+ type ButtonSize = "large" | "medium" | "small";
416
300
 
417
301
  interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> {
418
302
  variant?: ButtonVariant;
419
303
  size?: ButtonSize;
420
304
  width?: string | number;
305
+ active?: boolean;
421
306
  children: ReactNode;
422
307
  }
423
308
  declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
@@ -553,4 +438,92 @@ interface TooltipContentProps extends React.ComponentPropsWithoutRef<typeof Tool
553
438
  }
554
439
  declare const TooltipContent: react.ForwardRefExoticComponent<TooltipContentProps & react.RefAttributes<HTMLDivElement>>;
555
440
 
556
- export { Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, type BichonComponentSize, type BichonEmotionTheme, type BichonRadius, type BichonSemanticSpacing, type BichonShadows, type BichonSpacing, type BichonTheme, BichonThemeProvider, type BichonThemeProviderProps, type BichonTypography, Button, type ButtonProps, type ButtonSize, type ButtonVariant, ChatBubble, type ChatBubbleProps, type ChatBubbleVariant, Checkbox, type CheckboxProps, type Colors, Dialog, type DialogContentProps, type DialogFooterProps, type DialogProps, type DialogTitleProps, Flex, type FlexProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Menu, MenuContent, MenuItem, type MenuItemProps, MenuTrigger, Pagination, type PaginationProps, Progress, type ProgressProps, type ProgressSize, RadioButton, type RadioButtonOption, type RadioButtonProps, TextField, type TextFieldProps, type TextFieldVariant, ToastProvider, type ToastProviderProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, colors, componentSize, fontSize, fontWeight, letterSpacing, lineHeight, radius, semanticSpacing, shadows, spacing, typography, useToast };
441
+ type SegmentedControlSize = "large" | "small";
442
+ interface SegmentedControlRootProps {
443
+ size?: SegmentedControlSize;
444
+ children: ReactNode;
445
+ defaultValue?: string;
446
+ value?: string;
447
+ onValueChange?: (value: string) => void;
448
+ disabled?: boolean;
449
+ dir?: "ltr" | "rtl";
450
+ rovingFocus?: boolean;
451
+ }
452
+ declare const SegmentedControlRoot: react.ForwardRefExoticComponent<SegmentedControlRootProps & react.RefAttributes<HTMLDivElement>>;
453
+ interface SegmentedControlItemProps extends Omit<React.ComponentPropsWithoutRef<typeof ToggleGroup.Item>, "children"> {
454
+ children: ReactNode;
455
+ }
456
+ declare const SegmentedControlItem: react.ForwardRefExoticComponent<SegmentedControlItemProps & react.RefAttributes<HTMLButtonElement>>;
457
+
458
+ interface TabRootProps {
459
+ children: ReactNode;
460
+ defaultValue?: string;
461
+ value?: string;
462
+ onValueChange?: (value: string) => void;
463
+ orientation?: "horizontal" | "vertical";
464
+ dir?: "ltr" | "rtl";
465
+ }
466
+ declare const TabRoot: react.ForwardRefExoticComponent<TabRootProps & react.RefAttributes<HTMLDivElement>>;
467
+ interface TabListProps {
468
+ children: ReactNode;
469
+ }
470
+ declare const TabList: react.ForwardRefExoticComponent<TabListProps & react.RefAttributes<HTMLDivElement>>;
471
+ interface TabTriggerProps {
472
+ value: string;
473
+ children: ReactNode;
474
+ disabled?: boolean;
475
+ }
476
+ declare const TabTrigger: react.ForwardRefExoticComponent<TabTriggerProps & react.RefAttributes<HTMLButtonElement>>;
477
+ interface TabContentProps {
478
+ value: string;
479
+ children: ReactNode;
480
+ }
481
+ declare const TabContent: react.ForwardRefExoticComponent<TabContentProps & react.RefAttributes<HTMLDivElement>>;
482
+
483
+ interface TableRootProps {
484
+ children: ReactNode;
485
+ }
486
+ declare const TableRoot: react.ForwardRefExoticComponent<TableRootProps & react.RefAttributes<HTMLDivElement>>;
487
+ interface TableProps {
488
+ children: ReactNode;
489
+ }
490
+ declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
491
+ interface TableHeaderProps {
492
+ children: ReactNode;
493
+ }
494
+ declare const TableHeader: react.ForwardRefExoticComponent<TableHeaderProps & react.RefAttributes<HTMLTableSectionElement>>;
495
+ interface TableBodyProps {
496
+ children: ReactNode;
497
+ }
498
+ declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLTableSectionElement>>;
499
+ interface TableHeaderRowProps {
500
+ children: ReactNode;
501
+ }
502
+ declare const TableHeaderRow: react.ForwardRefExoticComponent<TableHeaderRowProps & react.RefAttributes<HTMLTableRowElement>>;
503
+ interface TableBodyRowProps {
504
+ children: ReactNode;
505
+ }
506
+ declare const TableBodyRow: react.ForwardRefExoticComponent<TableBodyRowProps & react.RefAttributes<HTMLTableRowElement>>;
507
+ interface TableHeaderCellProps extends ThHTMLAttributes<HTMLTableHeaderCellElement> {
508
+ children?: ReactNode;
509
+ }
510
+ declare const TableHeaderCell: react.ForwardRefExoticComponent<TableHeaderCellProps & react.RefAttributes<HTMLTableHeaderCellElement>>;
511
+ interface TableBodyCellProps extends TdHTMLAttributes<HTMLTableDataCellElement> {
512
+ children?: ReactNode;
513
+ }
514
+ declare const TableBodyCell: react.ForwardRefExoticComponent<TableBodyCellProps & react.RefAttributes<HTMLTableDataCellElement>>;
515
+
516
+ interface SkeletonProps {
517
+ /** 로딩 중이면 스켈레톤 표시, false면 children 표시 */
518
+ loading?: boolean;
519
+ children?: ReactNode;
520
+ width?: string | number;
521
+ minWidth?: string | number;
522
+ maxWidth?: string | number;
523
+ height?: string | number;
524
+ minHeight?: string | number;
525
+ maxHeight?: string | number;
526
+ }
527
+ declare const Skeleton: react.ForwardRefExoticComponent<SkeletonProps & react.RefAttributes<HTMLSpanElement>>;
528
+
529
+ export { Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeSize, type BadgeVariant, type BichonComponentSize, type BichonEmotionTheme, type BichonRadius, type BichonSemanticSpacing, type BichonShadows, type BichonSpacing, type BichonTheme, BichonThemeProvider, type BichonThemeProviderProps, type BichonTypography, Button, type ButtonProps, type ButtonSize, type ButtonVariant, ChatBubble, type ChatBubbleProps, type ChatBubbleVariant, Checkbox, type CheckboxProps, type Colors, Dialog, type DialogContentProps, type DialogFooterProps, type DialogProps, type DialogTitleProps, Flex, type FlexProps, IconButton, type IconButtonProps, type IconButtonSize, type IconButtonVariant, Menu, MenuContent, MenuItem, type MenuItemProps, MenuTrigger, Pagination, type PaginationProps, Progress, type ProgressProps, type ProgressSize, RadioButton, type RadioButtonOption, type RadioButtonProps, SegmentedControlItem, type SegmentedControlItemProps, SegmentedControlRoot, type SegmentedControlRootProps, type SegmentedControlSize, Skeleton, type SkeletonProps, TabContent, type TabContentProps, TabList, type TabListProps, TabRoot, type TabRootProps, TabTrigger, type TabTriggerProps, Table, TableBody, TableBodyCell, type TableBodyCellProps, type TableBodyProps, TableBodyRow, type TableBodyRowProps, TableHeader, TableHeaderCell, type TableHeaderCellProps, type TableHeaderProps, TableHeaderRow, type TableHeaderRowProps, type TableProps, TableRoot, type TableRootProps, TextField, type TextFieldProps, type TextFieldVariant, ToastProvider, type ToastProviderProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, colors, componentSize, radius, semanticSpacing, shadows, spacing, typo, useToast };