@bichon/ds 0.0.0
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/LICENSE +21 -0
- package/dist/Pretendard-Black-JLVK6ESK.woff2 +0 -0
- package/dist/Pretendard-Bold-4AHBL5CN.woff2 +0 -0
- package/dist/Pretendard-ExtraBold-3U7HNRI4.woff2 +0 -0
- package/dist/Pretendard-ExtraLight-W2EFW6U4.woff2 +0 -0
- package/dist/Pretendard-Light-44S62PI7.woff2 +0 -0
- package/dist/Pretendard-Medium-CLYKZXFO.woff2 +0 -0
- package/dist/Pretendard-Regular-CGOPAG2E.woff2 +0 -0
- package/dist/Pretendard-SemiBold-Z6RJ4TYK.woff2 +0 -0
- package/dist/Pretendard-Thin-7QVSFVOF.woff2 +0 -0
- package/dist/index.cjs +1939 -0
- package/dist/index.d.cts +556 -0
- package/dist/index.d.ts +556 -0
- package/dist/index.js +1872 -0
- package/package.json +65 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,556 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as react from 'react';
|
|
3
|
+
import { ReactNode, HTMLAttributes, ButtonHTMLAttributes, CSSProperties, InputHTMLAttributes, TextareaHTMLAttributes } from 'react';
|
|
4
|
+
import * as RadixAvatar from '@radix-ui/react-avatar';
|
|
5
|
+
import * as RadixProgress from '@radix-ui/react-progress';
|
|
6
|
+
import * as ToastPrimitive from '@radix-ui/react-toast';
|
|
7
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
8
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
9
|
+
import * as DropdownMenu from '@radix-ui/react-dropdown-menu';
|
|
10
|
+
import * as TooltipPrimitive from '@radix-ui/react-tooltip';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Emotion Theme augmentation for Bichon design tokens.
|
|
14
|
+
* BichonThemeProvider 하위 styled components에서 theme.colors, theme.typography 등 사용 시 타입 지원.
|
|
15
|
+
* @docs-front/packages/ui styles/emotion.d.ts 패턴 참고.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
type BichonColors = {
|
|
21
|
+
readonly basic: Record<string, unknown>;
|
|
22
|
+
readonly none: string;
|
|
23
|
+
readonly textPrimary: string;
|
|
24
|
+
readonly textSecondary: string;
|
|
25
|
+
readonly textTertiary: string;
|
|
26
|
+
readonly textDisabled: string;
|
|
27
|
+
readonly textPlaceholder: string;
|
|
28
|
+
readonly lineLight: string;
|
|
29
|
+
readonly lineDefault: string;
|
|
30
|
+
readonly lineAccent: string;
|
|
31
|
+
readonly lineWarning: string;
|
|
32
|
+
readonly bgWhite: string;
|
|
33
|
+
readonly bgLightGrey: string;
|
|
34
|
+
readonly bgMediumGrey: string;
|
|
35
|
+
readonly bgDarkGrey: string;
|
|
36
|
+
readonly bgBlack: string;
|
|
37
|
+
readonly bgAccent: string;
|
|
38
|
+
readonly bgAccentDark: string;
|
|
39
|
+
readonly bgAccentSubtle: string;
|
|
40
|
+
readonly bgWarning: string;
|
|
41
|
+
readonly bgWarningDark: string;
|
|
42
|
+
readonly bgWarningSubtle: string;
|
|
43
|
+
readonly textAccent: string;
|
|
44
|
+
readonly textWarning: string;
|
|
45
|
+
readonly [key: string]: unknown;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
type BichonTypographyStyle = {
|
|
49
|
+
readonly fontSize: string;
|
|
50
|
+
readonly lineHeight: string;
|
|
51
|
+
readonly fontWeight: number;
|
|
52
|
+
readonly letterSpacing: string;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
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;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
type BichonSpacing$1 = Record<number, string> & Record<string, string>;
|
|
66
|
+
|
|
67
|
+
type BichonRadius$1 = Record<string, string>;
|
|
68
|
+
|
|
69
|
+
type BichonShadows$1 = Record<string, string>;
|
|
70
|
+
|
|
71
|
+
declare module '@emotion/react' {
|
|
72
|
+
export interface Theme {
|
|
73
|
+
colors: BichonColors;
|
|
74
|
+
typography: BichonTypography$1;
|
|
75
|
+
spacing: BichonSpacing$1;
|
|
76
|
+
radius: BichonRadius$1;
|
|
77
|
+
shadows: BichonShadows$1;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
type BichonEmotionTheme = {
|
|
82
|
+
colors: BichonColors;
|
|
83
|
+
typography: BichonTypography$1;
|
|
84
|
+
spacing: BichonSpacing$1;
|
|
85
|
+
radius: BichonRadius$1;
|
|
86
|
+
shadows: BichonShadows$1;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
declare const colors: {
|
|
90
|
+
readonly basic: {
|
|
91
|
+
readonly blue: {
|
|
92
|
+
readonly 100: "#EAF3FF";
|
|
93
|
+
readonly 300: "#ABCDFF";
|
|
94
|
+
readonly 500: "#2C81FC";
|
|
95
|
+
readonly 700: "#0C52B8";
|
|
96
|
+
readonly 900: "#002F74";
|
|
97
|
+
};
|
|
98
|
+
readonly grey: {
|
|
99
|
+
readonly 50: "#FAFAFC";
|
|
100
|
+
readonly 100: "#F1F1F4";
|
|
101
|
+
readonly 200: "#E3E4E8";
|
|
102
|
+
readonly 300: "#B5B9C4";
|
|
103
|
+
readonly 400: "#949AA8";
|
|
104
|
+
readonly 500: "#6E7687";
|
|
105
|
+
readonly 600: "#596070";
|
|
106
|
+
readonly 700: "#4B505D";
|
|
107
|
+
readonly 800: "#3F434D";
|
|
108
|
+
readonly 900: "#25262C";
|
|
109
|
+
};
|
|
110
|
+
readonly black: "#25262C";
|
|
111
|
+
readonly white: "#FFFFFF";
|
|
112
|
+
readonly black30: "rgba(37, 38, 44, 0.3)";
|
|
113
|
+
readonly red: {
|
|
114
|
+
readonly 100: "#FFECEE";
|
|
115
|
+
readonly 500: "#F04452";
|
|
116
|
+
readonly 700: "#AC202B";
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
readonly none: "transparent";
|
|
120
|
+
readonly chartBlack: "#25262C";
|
|
121
|
+
readonly chartRed: "#F04452";
|
|
122
|
+
readonly chartOrange: "#F98A00";
|
|
123
|
+
readonly chartYellow: "#EDB100";
|
|
124
|
+
readonly chartGreen: "#31A96B";
|
|
125
|
+
readonly chartBlue: "#2C81FC";
|
|
126
|
+
readonly chartPurple: "#8B4EDD";
|
|
127
|
+
readonly chartPink: "#F05C96";
|
|
128
|
+
readonly textPrimary: "#25262C";
|
|
129
|
+
readonly textSecondary: "#596070";
|
|
130
|
+
readonly textTertiary: "#6E7687";
|
|
131
|
+
readonly textDisabled: "#B5B9C4";
|
|
132
|
+
readonly textPlaceholder: "#B5B9C4";
|
|
133
|
+
readonly lineLight: "#F1F1F4";
|
|
134
|
+
readonly lineDefault: "#E3E4E8";
|
|
135
|
+
readonly lineAccent: "#2C81FC";
|
|
136
|
+
readonly lineWarning: "#F04452";
|
|
137
|
+
readonly bgWhite: "#FFFFFF";
|
|
138
|
+
readonly bgLightGrey: "#FAFAFC";
|
|
139
|
+
readonly bgMediumGrey: "#F1F1F4";
|
|
140
|
+
readonly bgDarkGrey: "#3F434D";
|
|
141
|
+
readonly bgBlack: "#25262C";
|
|
142
|
+
readonly bgAccent: "#2C81FC";
|
|
143
|
+
readonly bgAccentDark: "#0C52B8";
|
|
144
|
+
readonly bgAccentSubtle: "#EAF3FF";
|
|
145
|
+
readonly bgWarning: "#F04452";
|
|
146
|
+
readonly bgWarningDark: "#AC202B";
|
|
147
|
+
readonly bgWarningSubtle: "#FFECEE";
|
|
148
|
+
readonly textAccent: "#2C81FC";
|
|
149
|
+
readonly textWarning: "#F04452";
|
|
150
|
+
};
|
|
151
|
+
type Colors = typeof colors;
|
|
152
|
+
|
|
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
|
+
};
|
|
292
|
+
};
|
|
293
|
+
type BichonTypography = typeof typography;
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Spacing Tokens for Bichon Design System
|
|
297
|
+
*
|
|
298
|
+
* Consistent spacing scale for margins, padding, and gaps.
|
|
299
|
+
*/
|
|
300
|
+
declare const spacing: {
|
|
301
|
+
readonly 0: "0px";
|
|
302
|
+
readonly 1: "4px";
|
|
303
|
+
readonly 2: "8px";
|
|
304
|
+
readonly 3: "12px";
|
|
305
|
+
readonly 4: "16px";
|
|
306
|
+
readonly 5: "20px";
|
|
307
|
+
readonly 6: "24px";
|
|
308
|
+
readonly 8: "32px";
|
|
309
|
+
readonly 10: "40px";
|
|
310
|
+
readonly 12: "48px";
|
|
311
|
+
readonly 16: "64px";
|
|
312
|
+
readonly 20: "80px";
|
|
313
|
+
readonly 24: "96px";
|
|
314
|
+
};
|
|
315
|
+
declare const semanticSpacing: {
|
|
316
|
+
readonly xs: "4px";
|
|
317
|
+
readonly sm: "8px";
|
|
318
|
+
readonly md: "12px";
|
|
319
|
+
readonly lg: "16px";
|
|
320
|
+
readonly xl: "20px";
|
|
321
|
+
readonly '2xl': "24px";
|
|
322
|
+
readonly '3xl': "32px";
|
|
323
|
+
};
|
|
324
|
+
declare const componentSize: {
|
|
325
|
+
readonly cardWidth: "286px";
|
|
326
|
+
readonly cardContainerWidth: "334px";
|
|
327
|
+
readonly modalWidth: "400px";
|
|
328
|
+
readonly inputHeight: {
|
|
329
|
+
readonly small: "32px";
|
|
330
|
+
readonly medium: "40px";
|
|
331
|
+
readonly large: "48px";
|
|
332
|
+
};
|
|
333
|
+
};
|
|
334
|
+
type BichonSpacing = typeof spacing;
|
|
335
|
+
type BichonSemanticSpacing = typeof semanticSpacing;
|
|
336
|
+
type BichonComponentSize = typeof componentSize;
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Border Radius Tokens for Bichon Design System
|
|
340
|
+
*
|
|
341
|
+
* Consistent border radius scale for components.
|
|
342
|
+
*/
|
|
343
|
+
declare const radius: {
|
|
344
|
+
readonly none: "0px";
|
|
345
|
+
readonly xs: "2px";
|
|
346
|
+
readonly sm: "4px";
|
|
347
|
+
readonly md: "6px";
|
|
348
|
+
readonly lg: "8px";
|
|
349
|
+
readonly xl: "10px";
|
|
350
|
+
readonly '2xl': "12px";
|
|
351
|
+
readonly '3xl': "20px";
|
|
352
|
+
readonly full: "9999px";
|
|
353
|
+
};
|
|
354
|
+
type BichonRadius = typeof radius;
|
|
355
|
+
|
|
356
|
+
/**
|
|
357
|
+
* Shadow Tokens for Bichon Design System
|
|
358
|
+
*
|
|
359
|
+
* Elevation and depth effects for components.
|
|
360
|
+
*/
|
|
361
|
+
declare const shadows: {
|
|
362
|
+
readonly none: "none";
|
|
363
|
+
readonly sm: "0px 1px 2px 0px rgba(0, 27, 55, 0.08)";
|
|
364
|
+
readonly base: "0px 2px 4px 0px rgba(0, 27, 55, 0.10)";
|
|
365
|
+
readonly md: "0px 4px 8px 0px rgba(0, 27, 55, 0.12)";
|
|
366
|
+
readonly lg: "0px 8px 16px 0px rgba(0, 27, 55, 0.15)";
|
|
367
|
+
readonly xl: "0px 12px 24px 0px rgba(0, 27, 55, 0.18)";
|
|
368
|
+
readonly modal: "0px 4px 12px 0px rgba(0, 27, 55, 0.15)";
|
|
369
|
+
};
|
|
370
|
+
type BichonShadows = typeof shadows;
|
|
371
|
+
|
|
372
|
+
interface BichonTheme {
|
|
373
|
+
colors: typeof colors;
|
|
374
|
+
typography: typeof typography;
|
|
375
|
+
spacing: typeof spacing;
|
|
376
|
+
radius: typeof radius;
|
|
377
|
+
shadows: typeof shadows;
|
|
378
|
+
}
|
|
379
|
+
interface BichonThemeProviderProps {
|
|
380
|
+
children: ReactNode;
|
|
381
|
+
}
|
|
382
|
+
declare function BichonThemeProvider({ children }: BichonThemeProviderProps): react_jsx_runtime.JSX.Element;
|
|
383
|
+
|
|
384
|
+
type AvatarSize = 'large' | 'medium' | 'small';
|
|
385
|
+
interface AvatarProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixAvatar.Root>, 'asChild'> {
|
|
386
|
+
size?: AvatarSize;
|
|
387
|
+
src?: string;
|
|
388
|
+
alt?: string;
|
|
389
|
+
fallback?: React.ReactNode;
|
|
390
|
+
}
|
|
391
|
+
declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLSpanElement>>;
|
|
392
|
+
|
|
393
|
+
type BadgeVariant = 'active' | 'neutral' | 'warning';
|
|
394
|
+
type BadgeSize = 'large' | 'medium' | 'small';
|
|
395
|
+
interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'> {
|
|
396
|
+
variant?: BadgeVariant;
|
|
397
|
+
size?: BadgeSize;
|
|
398
|
+
children: ReactNode;
|
|
399
|
+
}
|
|
400
|
+
declare const Badge: react.ForwardRefExoticComponent<BadgeProps & react.RefAttributes<HTMLSpanElement>>;
|
|
401
|
+
|
|
402
|
+
type ProgressSize = 'large' | 'medium' | 'small';
|
|
403
|
+
interface ProgressProps extends Omit<React.ComponentPropsWithoutRef<typeof RadixProgress.Root>, 'asChild'> {
|
|
404
|
+
size?: ProgressSize;
|
|
405
|
+
value?: number;
|
|
406
|
+
width?: string | number;
|
|
407
|
+
duration?: string;
|
|
408
|
+
}
|
|
409
|
+
declare const Progress: react.ForwardRefExoticComponent<ProgressProps & react.RefAttributes<HTMLDivElement>>;
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Button Styled Components
|
|
413
|
+
*/
|
|
414
|
+
type ButtonVariant = 'filled' | 'outlined' | 'text' | 'warning';
|
|
415
|
+
type ButtonSize = 'large' | 'medium' | 'small';
|
|
416
|
+
|
|
417
|
+
interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "color"> {
|
|
418
|
+
variant?: ButtonVariant;
|
|
419
|
+
size?: ButtonSize;
|
|
420
|
+
width?: string | number;
|
|
421
|
+
children: ReactNode;
|
|
422
|
+
}
|
|
423
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
424
|
+
|
|
425
|
+
interface FlexProps extends HTMLAttributes<HTMLDivElement> {
|
|
426
|
+
direction?: CSSProperties['flexDirection'];
|
|
427
|
+
justify?: CSSProperties['justifyContent'];
|
|
428
|
+
alignItems?: CSSProperties['alignItems'];
|
|
429
|
+
gap?: number | string;
|
|
430
|
+
width?: string | number;
|
|
431
|
+
height?: string | number;
|
|
432
|
+
padding?: CSSProperties['padding'];
|
|
433
|
+
}
|
|
434
|
+
declare const Flex: react.ForwardRefExoticComponent<FlexProps & react.RefAttributes<HTMLDivElement>>;
|
|
435
|
+
|
|
436
|
+
type TextFieldVariant = 'default' | 'focus' | 'warning' | 'disabled';
|
|
437
|
+
|
|
438
|
+
interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement> & TextareaHTMLAttributes<HTMLTextAreaElement>, 'width'> {
|
|
439
|
+
multiline?: boolean;
|
|
440
|
+
variant?: TextFieldVariant;
|
|
441
|
+
width?: CSSProperties['width'];
|
|
442
|
+
minRows?: number;
|
|
443
|
+
maxRows?: number;
|
|
444
|
+
helperText?: string;
|
|
445
|
+
showHelperText?: boolean;
|
|
446
|
+
}
|
|
447
|
+
type TextFieldRef = HTMLInputElement | HTMLTextAreaElement;
|
|
448
|
+
declare const TextField: react.ForwardRefExoticComponent<TextFieldProps & react.RefAttributes<TextFieldRef>>;
|
|
449
|
+
|
|
450
|
+
interface ToastProviderProps extends ToastPrimitive.ToastProviderProps {
|
|
451
|
+
children: ReactNode;
|
|
452
|
+
position?: 'top' | 'bottom';
|
|
453
|
+
viewportOffset?: number;
|
|
454
|
+
}
|
|
455
|
+
declare function ToastProvider({ children, position: defaultPosition, viewportOffset, ...props }: ToastProviderProps): react_jsx_runtime.JSX.Element;
|
|
456
|
+
declare function useToast(): {
|
|
457
|
+
showToast: (message: string, options?: {
|
|
458
|
+
duration?: number;
|
|
459
|
+
position?: "top" | "bottom";
|
|
460
|
+
}) => void;
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
interface DialogProps {
|
|
464
|
+
isOpen: boolean;
|
|
465
|
+
onClose: () => void;
|
|
466
|
+
children: ReactNode;
|
|
467
|
+
}
|
|
468
|
+
interface DialogTitleProps {
|
|
469
|
+
children: ReactNode;
|
|
470
|
+
}
|
|
471
|
+
interface DialogContentProps {
|
|
472
|
+
children: ReactNode;
|
|
473
|
+
}
|
|
474
|
+
interface DialogFooterProps {
|
|
475
|
+
children: ReactNode;
|
|
476
|
+
}
|
|
477
|
+
declare function DialogTitle({ children }: DialogTitleProps): react_jsx_runtime.JSX.Element;
|
|
478
|
+
declare function DialogContent({ children }: DialogContentProps): react_jsx_runtime.JSX.Element;
|
|
479
|
+
declare function DialogFooter({ children }: DialogFooterProps): react_jsx_runtime.JSX.Element;
|
|
480
|
+
interface DialogCompoundComponent {
|
|
481
|
+
(props: DialogProps): JSX.Element;
|
|
482
|
+
Title: typeof DialogTitle;
|
|
483
|
+
Content: typeof DialogContent;
|
|
484
|
+
Footer: typeof DialogFooter;
|
|
485
|
+
}
|
|
486
|
+
declare const Dialog: DialogCompoundComponent;
|
|
487
|
+
|
|
488
|
+
type ChatBubbleVariant = 'user' | 'assistant';
|
|
489
|
+
|
|
490
|
+
interface ChatBubbleProps {
|
|
491
|
+
variant?: ChatBubbleVariant;
|
|
492
|
+
children: ReactNode;
|
|
493
|
+
}
|
|
494
|
+
declare function ChatBubble({ variant, children }: ChatBubbleProps): react_jsx_runtime.JSX.Element;
|
|
495
|
+
|
|
496
|
+
type IconButtonVariant = ButtonVariant;
|
|
497
|
+
type IconButtonSize = ButtonSize;
|
|
498
|
+
interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'> {
|
|
499
|
+
variant?: IconButtonVariant;
|
|
500
|
+
size?: IconButtonSize;
|
|
501
|
+
children: ReactNode;
|
|
502
|
+
}
|
|
503
|
+
declare const IconButton: react.ForwardRefExoticComponent<IconButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Pagination Component
|
|
507
|
+
*
|
|
508
|
+
* Page navigation with ellipsis for large page counts.
|
|
509
|
+
*/
|
|
510
|
+
interface PaginationProps {
|
|
511
|
+
currentPage: number;
|
|
512
|
+
totalPage: number;
|
|
513
|
+
onPageChange: (page: number) => void;
|
|
514
|
+
siblingCount?: number;
|
|
515
|
+
}
|
|
516
|
+
declare function Pagination({ currentPage, totalPage, onPageChange, siblingCount }: PaginationProps): react_jsx_runtime.JSX.Element | null;
|
|
517
|
+
|
|
518
|
+
interface CheckboxProps extends Omit<React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>, 'asChild'> {
|
|
519
|
+
label?: string;
|
|
520
|
+
}
|
|
521
|
+
declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLButtonElement>>;
|
|
522
|
+
|
|
523
|
+
interface RadioButtonOption {
|
|
524
|
+
value: string;
|
|
525
|
+
label: string;
|
|
526
|
+
disabled?: boolean;
|
|
527
|
+
}
|
|
528
|
+
interface RadioButtonProps extends Omit<React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>, 'asChild'> {
|
|
529
|
+
options: RadioButtonOption[];
|
|
530
|
+
}
|
|
531
|
+
declare const RadioButton: react.ForwardRefExoticComponent<RadioButtonProps & react.RefAttributes<HTMLDivElement>>;
|
|
532
|
+
|
|
533
|
+
declare const Menu: react.FC<DropdownMenu.DropdownMenuProps>;
|
|
534
|
+
declare const MenuTrigger: react.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
535
|
+
declare const MenuContent: react.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
|
|
536
|
+
interface MenuItemProps extends Omit<React.ComponentPropsWithoutRef<typeof DropdownMenu.Item>, 'children'> {
|
|
537
|
+
leadingIcon?: ReactNode;
|
|
538
|
+
trailingIcon?: boolean;
|
|
539
|
+
children: ReactNode;
|
|
540
|
+
width?: string | number;
|
|
541
|
+
}
|
|
542
|
+
declare const MenuItem: react.ForwardRefExoticComponent<MenuItemProps & react.RefAttributes<HTMLDivElement>>;
|
|
543
|
+
|
|
544
|
+
interface TooltipProviderProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider> {
|
|
545
|
+
children: ReactNode;
|
|
546
|
+
}
|
|
547
|
+
declare const TooltipProvider: react.ForwardRefExoticComponent<TooltipProviderProps & react.RefAttributes<HTMLDivElement>>;
|
|
548
|
+
declare const Tooltip: react.FC<TooltipPrimitive.TooltipProps>;
|
|
549
|
+
declare const TooltipTrigger: react.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & react.RefAttributes<HTMLButtonElement>>;
|
|
550
|
+
interface TooltipContentProps extends React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> {
|
|
551
|
+
children: ReactNode;
|
|
552
|
+
showArrow?: boolean;
|
|
553
|
+
}
|
|
554
|
+
declare const TooltipContent: react.ForwardRefExoticComponent<TooltipContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
555
|
+
|
|
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 };
|