@jects/jds 0.0.1

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.
@@ -0,0 +1,1474 @@
1
+ import * as _emotion_react_jsx_runtime from '@emotion/react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import { ReactNode, ElementType, ComponentPropsWithoutRef, ComponentPropsWithRef, ChangeEvent, ComponentProps } from 'react';
4
+ import { ToggleGroup, Tabs, Tooltip as Tooltip$1, DropdownMenu } from 'radix-ui';
5
+ import { ToggleGroupSingleProps, ToggleGroupItemProps } from '@radix-ui/react-toggle-group';
6
+ import * as TabPrimitive from '@radix-ui/react-tabs';
7
+ import * as _emotion_styled from '@emotion/styled';
8
+ import * as _emotion_react from '@emotion/react';
9
+ import * as NavigationMenu from '@radix-ui/react-navigation-menu';
10
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
11
+ import * as AccordionPrimitive from '@radix-ui/react-accordion';
12
+
13
+ type BadgeStyle = {
14
+ bg: string;
15
+ color: string;
16
+ border: string;
17
+ };
18
+ type BadgeStyleWithoutBorder = Omit<BadgeStyle, "border">;
19
+ type ContentBadgeStyle = "solid" | "alpha" | "outlined";
20
+ type NumericBadgeStyle = "solid" | "empty";
21
+ type BadgeSize = "lg" | "md" | "sm" | "xs";
22
+ type BasicHierarchy$1 = "accent" | "primary" | "secondary" | "tertiary";
23
+ type FeedbackVariant = "positive" | "destructive" | "notifying";
24
+ type ThemeVariant = "red" | "orange" | "amber" | "yellow" | "lime" | "green" | "emerald" | "teal" | "cyan" | "sky" | "blue" | "violet" | "purple" | "fuchsia" | "pink" | "rose";
25
+
26
+ interface ContentBadgeBasicProps {
27
+ hierarchy?: BasicHierarchy$1;
28
+ size?: BadgeSize;
29
+ badgeStyle?: ContentBadgeStyle;
30
+ isMuted?: boolean;
31
+ withIcon?: boolean;
32
+ children: ReactNode;
33
+ }
34
+ interface ContentFeedbackBadgeProps {
35
+ variant?: FeedbackVariant;
36
+ size?: BadgeSize;
37
+ badgeStyle?: ContentBadgeStyle;
38
+ isMuted?: boolean;
39
+ children: ReactNode;
40
+ }
41
+ interface ContentThemeBadgeProps {
42
+ variant?: ThemeVariant;
43
+ size?: BadgeSize;
44
+ badgeStyle?: ContentBadgeStyle;
45
+ isMuted?: boolean;
46
+ children: ReactNode;
47
+ }
48
+ declare const ContentBadge: {
49
+ Basic: {
50
+ ({ hierarchy, size, badgeStyle, isMuted, withIcon, children, }: ContentBadgeBasicProps): _emotion_react_jsx_runtime.JSX.Element;
51
+ displayName: string;
52
+ };
53
+ Feedback: {
54
+ ({ variant, size, badgeStyle, isMuted, children, }: ContentFeedbackBadgeProps): _emotion_react_jsx_runtime.JSX.Element;
55
+ displayName: string;
56
+ };
57
+ Theme: {
58
+ ({ variant, size, badgeStyle, isMuted, children, }: ContentThemeBadgeProps): _emotion_react_jsx_runtime.JSX.Element;
59
+ displayName: string;
60
+ };
61
+ };
62
+
63
+ interface DotBadgeFeedbackProps {
64
+ variant: FeedbackVariant;
65
+ size?: BadgeSize;
66
+ isMuted?: boolean;
67
+ }
68
+ declare const DotBadgeFeedback: {
69
+ ({ variant, size, isMuted, }: DotBadgeFeedbackProps): _emotion_react_jsx_runtime.JSX.Element;
70
+ displayName: string;
71
+ };
72
+ declare const DotBadge: {
73
+ Feedback: {
74
+ ({ variant, size, isMuted, }: DotBadgeFeedbackProps): _emotion_react_jsx_runtime.JSX.Element;
75
+ displayName: string;
76
+ };
77
+ };
78
+
79
+ interface NumericBadgeBasicProps {
80
+ hierarchy?: BasicHierarchy$1;
81
+ size?: BadgeSize;
82
+ badgeStyle?: NumericBadgeStyle;
83
+ isMuted?: boolean;
84
+ children: ReactNode;
85
+ }
86
+ interface NumericBasicBadgeProps {
87
+ variant?: FeedbackVariant;
88
+ size?: BadgeSize;
89
+ badgeStyle?: NumericBadgeStyle;
90
+ isMuted?: boolean;
91
+ children: ReactNode;
92
+ }
93
+ declare const NumericBadge: {
94
+ Basic: {
95
+ ({ hierarchy, size, badgeStyle, isMuted, children, }: NumericBadgeBasicProps): _emotion_react_jsx_runtime.JSX.Element;
96
+ displayName: string;
97
+ };
98
+ Feedback: {
99
+ ({ variant, size, badgeStyle, isMuted, children, }: NumericBasicBadgeProps): _emotion_react_jsx_runtime.JSX.Element;
100
+ displayName: string;
101
+ };
102
+ };
103
+
104
+ /**
105
+ * Polymorphic Component Prop type (ref 제외)
106
+ */
107
+ type PolymorphicProps<E extends ElementType, P> = P & Omit<ComponentPropsWithoutRef<E>, keyof P | "as"> & {
108
+ as?: E;
109
+ };
110
+ type PolymorphicRef<E extends ElementType> = ComponentPropsWithRef<E>["ref"];
111
+ type PolymorphicComponentPropsWithRef<E extends ElementType, P> = PolymorphicProps<E, P> & {
112
+ ref?: PolymorphicRef<E>;
113
+ };
114
+
115
+ type ImgRatio = "1:1" | "4:5" | "3:4" | "2:3" | "9:16" | "1:2" | "9:21";
116
+ type ImgOrientation = "portrait" | "landscape";
117
+ interface ImageOwnProps {
118
+ src?: string;
119
+ fallbackSrc?: string;
120
+ alt: string;
121
+ ratio?: ImgRatio;
122
+ orientation?: ImgOrientation;
123
+ isReadonly?: boolean;
124
+ badgeVisible?: boolean;
125
+ badgeLabel?: string;
126
+ loading?: "lazy" | "eager";
127
+ }
128
+ declare const Image: (<E extends ElementType = "button">(props: PolymorphicComponentPropsWithRef<E, ImageOwnProps>) => react.ReactElement | null) & {
129
+ displayName?: string;
130
+ };
131
+
132
+ type BannerVariant = "bar" | "image";
133
+ interface BaseBannerProps extends ComponentPropsWithoutRef<"div"> {
134
+ title: string;
135
+ subtitle?: string;
136
+ }
137
+ interface BannerBarProps extends BaseBannerProps {
138
+ variant?: "bar";
139
+ label?: string;
140
+ onClose?: () => void;
141
+ closeAriaLabel?: string;
142
+ }
143
+ interface BannerImageProps extends Omit<ImageOwnProps, "ratio" | "orientation" | "badgeVisible" | "badgeLabel" | "alt"> {
144
+ variant?: "image";
145
+ title: string;
146
+ subtitle?: string;
147
+ }
148
+ type BannerProps = BannerBarProps | BannerImageProps;
149
+
150
+ declare const Banner: {
151
+ Bar: react.ForwardRefExoticComponent<BannerBarProps & react.RefAttributes<HTMLDivElement>>;
152
+ Image: react.ForwardRefExoticComponent<BannerImageProps & react.RefAttributes<HTMLDivElement>>;
153
+ };
154
+
155
+ declare const BlockButton: {
156
+ Basic: react.ForwardRefExoticComponent<BlockButtonBasicProps & react.RefAttributes<HTMLButtonElement>>;
157
+ Feedback: react.ForwardRefExoticComponent<BlockButtonFeedbackProps & react.RefAttributes<HTMLButtonElement>>;
158
+ };
159
+
160
+ type BlockButtonSize = "xs" | "sm" | "md" | "lg";
161
+ type BlockButtonHierarchy = "accent" | "primary" | "secondary" | "tertiary";
162
+ type BlockButtonStyle = "solid" | "outlined" | "empty";
163
+ type FeedbackIntent = "positive" | "destructive";
164
+ interface BaseBlockButtonProps extends ComponentPropsWithoutRef<"button"> {
165
+ children: ReactNode;
166
+ size?: BlockButtonSize;
167
+ prefixIcon?: IconName;
168
+ suffixIcon?: IconName;
169
+ }
170
+ interface BlockButtonBasicProps extends BaseBlockButtonProps {
171
+ variant?: BlockButtonStyle;
172
+ hierarchy?: BlockButtonHierarchy;
173
+ }
174
+ interface BlockButtonFeedbackProps extends BaseBlockButtonProps {
175
+ intent: FeedbackIntent;
176
+ }
177
+
178
+ type CardLayout = "vertical" | "horizontal";
179
+ type CardVariant = "plate" | "post";
180
+ type CardStyle = "outlined" | "empty";
181
+ interface CardRootOwnProps {
182
+ layout?: CardLayout;
183
+ variant?: CardVariant;
184
+ cardStyle?: CardStyle;
185
+ isDisabled?: boolean;
186
+ interactive?: boolean;
187
+ children?: ReactNode;
188
+ }
189
+ interface CardImageProps extends ComponentPropsWithoutRef<"div"> {
190
+ src?: string;
191
+ alt: string;
192
+ fallbackSrc?: string;
193
+ ratio?: ImgRatio;
194
+ orientation?: ImgOrientation;
195
+ badgeVisible?: boolean;
196
+ badgeLabel?: string;
197
+ loading?: "lazy" | "eager";
198
+ }
199
+ interface CardContentProps extends ComponentPropsWithoutRef<"div"> {
200
+ children: ReactNode;
201
+ }
202
+ interface CardCaptionProps extends ComponentPropsWithoutRef<"span"> {
203
+ children: ReactNode;
204
+ standalone?: boolean;
205
+ }
206
+ interface CardTitleProps extends ComponentPropsWithoutRef<"h3"> {
207
+ children: ReactNode;
208
+ }
209
+ interface CardLabelProps extends ComponentPropsWithoutRef<"h4"> {
210
+ children: ReactNode;
211
+ }
212
+ interface CardBodyProps extends ComponentPropsWithoutRef<"p"> {
213
+ children: ReactNode;
214
+ }
215
+ interface CardMetaProps extends ComponentPropsWithoutRef<"div"> {
216
+ children: ReactNode;
217
+ }
218
+ interface CardMetaItemProps extends ComponentPropsWithoutRef<"span"> {
219
+ children: ReactNode;
220
+ }
221
+ interface BasePresetOwnProps {
222
+ layout?: CardLayout;
223
+ isDisabled?: boolean;
224
+ image?: {
225
+ src?: string;
226
+ alt: string;
227
+ };
228
+ }
229
+ interface PlateWithTitlePresetBaseProps extends BasePresetOwnProps {
230
+ caption?: string;
231
+ title: string;
232
+ body: ReactNode;
233
+ }
234
+ type PlateWithTitlePresetProps = (PlateWithTitlePresetBaseProps & {
235
+ as: "a";
236
+ href: string;
237
+ target?: string;
238
+ rel?: string;
239
+ }) | (PlateWithTitlePresetBaseProps & {
240
+ as: "button";
241
+ onClick: () => void;
242
+ type?: "button" | "submit" | "reset";
243
+ });
244
+ interface PlateWithLabelPresetBaseProps extends BasePresetOwnProps {
245
+ caption?: string;
246
+ label: string;
247
+ body: ReactNode;
248
+ }
249
+ type PlateWithLabelPresetProps = (PlateWithLabelPresetBaseProps & {
250
+ as: "a";
251
+ href: string;
252
+ target?: string;
253
+ rel?: string;
254
+ }) | (PlateWithLabelPresetBaseProps & {
255
+ as: "button";
256
+ onClick: () => void;
257
+ type?: "button" | "submit" | "reset";
258
+ });
259
+ interface PlateCompactPresetBaseProps extends BasePresetOwnProps {
260
+ caption: string;
261
+ body: ReactNode;
262
+ }
263
+ type PlateCompactPresetProps = (PlateCompactPresetBaseProps & {
264
+ as: "a";
265
+ href: string;
266
+ target?: string;
267
+ rel?: string;
268
+ }) | (PlateCompactPresetBaseProps & {
269
+ as: "button";
270
+ onClick: () => void;
271
+ type?: "button" | "submit" | "reset";
272
+ });
273
+ interface PostPresetBaseProps extends BasePresetOwnProps {
274
+ cardStyle?: "outlined" | "empty";
275
+ title: string;
276
+ body: ReactNode;
277
+ author: string;
278
+ date: string;
279
+ }
280
+ type PostPresetProps = (PostPresetBaseProps & {
281
+ as: "a";
282
+ href: string;
283
+ target?: string;
284
+ rel?: string;
285
+ }) | (PostPresetBaseProps & {
286
+ as: "button";
287
+ onClick: () => void;
288
+ type?: "button" | "submit" | "reset";
289
+ });
290
+
291
+ declare const Card: {
292
+ Root: react.ForwardRefExoticComponent<CardRootOwnProps & react.RefAttributes<HTMLDivElement>>;
293
+ Image: react.ForwardRefExoticComponent<CardImageProps & react.RefAttributes<HTMLDivElement>>;
294
+ Content: react.ForwardRefExoticComponent<CardContentProps & react.RefAttributes<HTMLDivElement>>;
295
+ Caption: react.ForwardRefExoticComponent<CardCaptionProps & react.RefAttributes<HTMLSpanElement>>;
296
+ Title: react.ForwardRefExoticComponent<CardTitleProps & react.RefAttributes<HTMLHeadingElement>>;
297
+ Label: react.ForwardRefExoticComponent<CardLabelProps & react.RefAttributes<HTMLHeadingElement>>;
298
+ Body: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLParagraphElement>>;
299
+ Meta: react.ForwardRefExoticComponent<CardMetaProps & react.RefAttributes<HTMLDivElement>>;
300
+ MetaItem: react.ForwardRefExoticComponent<CardMetaItemProps & react.RefAttributes<HTMLSpanElement>>;
301
+ Overlay: (<E extends react.ElementType = "a">(props: PolymorphicComponentPropsWithRef<E, {
302
+ [x: string]: never;
303
+ }>) => react.ReactElement | null) & {
304
+ displayName?: string;
305
+ };
306
+ Preset: {
307
+ PlateWithTitle: {
308
+ Link: react.ForwardRefExoticComponent<{
309
+ isDisabled?: boolean | undefined;
310
+ body: react.ReactNode;
311
+ caption?: string | undefined;
312
+ title: string;
313
+ image?: {
314
+ src?: string;
315
+ alt: string;
316
+ } | undefined;
317
+ target?: string | undefined;
318
+ href: string;
319
+ rel?: string | undefined;
320
+ layout?: CardLayout | undefined;
321
+ } & react.RefAttributes<HTMLDivElement>>;
322
+ Button: react.ForwardRefExoticComponent<{
323
+ isDisabled?: boolean | undefined;
324
+ body: react.ReactNode;
325
+ caption?: string | undefined;
326
+ title: string;
327
+ image?: {
328
+ src?: string;
329
+ alt: string;
330
+ } | undefined;
331
+ type?: ("button" | "submit" | "reset") | undefined;
332
+ onClick: () => void;
333
+ layout?: CardLayout | undefined;
334
+ } & react.RefAttributes<HTMLDivElement>>;
335
+ };
336
+ PlateWithLabel: {
337
+ Link: react.ForwardRefExoticComponent<{
338
+ isDisabled?: boolean | undefined;
339
+ body: react.ReactNode;
340
+ caption?: string | undefined;
341
+ label: string;
342
+ image?: {
343
+ src?: string;
344
+ alt: string;
345
+ } | undefined;
346
+ target?: string | undefined;
347
+ href: string;
348
+ rel?: string | undefined;
349
+ layout?: CardLayout | undefined;
350
+ } & react.RefAttributes<HTMLDivElement>>;
351
+ Button: react.ForwardRefExoticComponent<{
352
+ isDisabled?: boolean | undefined;
353
+ body: react.ReactNode;
354
+ caption?: string | undefined;
355
+ label: string;
356
+ image?: {
357
+ src?: string;
358
+ alt: string;
359
+ } | undefined;
360
+ type?: ("button" | "submit" | "reset") | undefined;
361
+ onClick: () => void;
362
+ layout?: CardLayout | undefined;
363
+ } & react.RefAttributes<HTMLDivElement>>;
364
+ };
365
+ PlateCompact: {
366
+ Link: react.ForwardRefExoticComponent<{
367
+ isDisabled?: boolean | undefined;
368
+ body: react.ReactNode;
369
+ caption: string;
370
+ image?: {
371
+ src?: string;
372
+ alt: string;
373
+ } | undefined;
374
+ target?: string | undefined;
375
+ href: string;
376
+ rel?: string | undefined;
377
+ layout?: CardLayout | undefined;
378
+ } & react.RefAttributes<HTMLDivElement>>;
379
+ Button: react.ForwardRefExoticComponent<{
380
+ isDisabled?: boolean | undefined;
381
+ body: react.ReactNode;
382
+ caption: string;
383
+ image?: {
384
+ src?: string;
385
+ alt: string;
386
+ } | undefined;
387
+ type?: ("button" | "submit" | "reset") | undefined;
388
+ onClick: () => void;
389
+ layout?: CardLayout | undefined;
390
+ } & react.RefAttributes<HTMLDivElement>>;
391
+ };
392
+ Post: {
393
+ Link: react.ForwardRefExoticComponent<{
394
+ isDisabled?: boolean | undefined;
395
+ body: react.ReactNode;
396
+ title: string;
397
+ image?: {
398
+ src?: string;
399
+ alt: string;
400
+ } | undefined;
401
+ target?: string | undefined;
402
+ href: string;
403
+ rel?: string | undefined;
404
+ date: string;
405
+ layout?: CardLayout | undefined;
406
+ cardStyle?: ("outlined" | "empty") | undefined;
407
+ author: string;
408
+ } & react.RefAttributes<HTMLDivElement>>;
409
+ Button: react.ForwardRefExoticComponent<{
410
+ isDisabled?: boolean | undefined;
411
+ body: react.ReactNode;
412
+ title: string;
413
+ image?: {
414
+ src?: string;
415
+ alt: string;
416
+ } | undefined;
417
+ type?: ("button" | "submit" | "reset") | undefined;
418
+ onClick: () => void;
419
+ date: string;
420
+ layout?: CardLayout | undefined;
421
+ cardStyle?: ("outlined" | "empty") | undefined;
422
+ author: string;
423
+ } & react.RefAttributes<HTMLDivElement>>;
424
+ };
425
+ };
426
+ };
427
+
428
+ type BasicHierarchy = "accent" | "primary" | "secondary";
429
+ type FeedbackHierarchy = "positive" | "destructive" | "notifying";
430
+ type CalloutVariant = "hero" | "hint";
431
+ type CalloutSize = "lg" | "md" | "sm" | "xs" | "2xs";
432
+ interface BaseCalloutProps {
433
+ variant?: CalloutVariant;
434
+ size?: CalloutSize;
435
+ titleVisible?: boolean;
436
+ extraButtonVisible?: boolean;
437
+ title?: string;
438
+ blockButtonProps?: Omit<BaseBlockButtonProps, "size">;
439
+ children: ReactNode;
440
+ className?: string;
441
+ }
442
+ interface BasicCalloutProps extends BaseCalloutProps {
443
+ hierarchy: BasicHierarchy;
444
+ }
445
+ interface FeedbackCalloutProps extends BaseCalloutProps {
446
+ feedback: FeedbackHierarchy;
447
+ }
448
+
449
+ declare const Callout: {
450
+ Basic: {
451
+ ({ variant, hierarchy, size, title, blockButtonProps, children, className, }: BasicCalloutProps): _emotion_react_jsx_runtime.JSX.Element;
452
+ displayName: string;
453
+ };
454
+ Feedback: {
455
+ ({ variant, feedback, size, title, blockButtonProps, children, className, }: FeedbackCalloutProps): _emotion_react_jsx_runtime.JSX.Element;
456
+ displayName: string;
457
+ };
458
+ };
459
+
460
+ declare const Checkbox: {
461
+ Basic: react.ForwardRefExoticComponent<CheckboxBasicProps & react.RefAttributes<HTMLInputElement>>;
462
+ Content: react.ForwardRefExoticComponent<CheckboxContentProps & react.RefAttributes<HTMLInputElement>>;
463
+ };
464
+
465
+ type CheckboxSize = "xs" | "sm" | "md" | "lg";
466
+ type CheckboxVariant = "empty" | "outlined";
467
+ type CheckboxAlign = "left" | "right";
468
+ type CheckedState = boolean | "indeterminate";
469
+ interface CheckboxCommonProps extends Omit<ComponentPropsWithoutRef<"input">, "size" | "onChange" | "checked" | "defaultChecked"> {
470
+ disabled?: boolean;
471
+ isInvalid?: boolean;
472
+ size?: CheckboxSize;
473
+ onCheckedChange?: (checked: CheckedState) => void;
474
+ }
475
+ interface CheckboxBoxProps extends CheckboxCommonProps {
476
+ checked: boolean;
477
+ isIndeterminate: boolean;
478
+ }
479
+ interface CheckboxBasicProps extends CheckboxCommonProps {
480
+ checked?: CheckedState;
481
+ }
482
+ interface CheckboxContentProps extends CheckboxCommonProps {
483
+ variant?: CheckboxVariant;
484
+ align?: CheckboxAlign;
485
+ label: ReactNode;
486
+ subLabel?: ReactNode;
487
+ checked?: CheckedState;
488
+ }
489
+
490
+ interface FileItemProps extends ComponentPropsWithoutRef<"button"> {
491
+ fileName: ReactNode;
492
+ fileSize?: ReactNode;
493
+ readonly?: boolean;
494
+ disabled?: boolean;
495
+ hasError?: boolean;
496
+ errorMessage?: ReactNode;
497
+ suffixButton?: ReactNode;
498
+ }
499
+
500
+ declare const FileItem: react.ForwardRefExoticComponent<FileItemProps & react.RefAttributes<HTMLButtonElement>>;
501
+
502
+ declare const iconMap: {
503
+ readonly absolute: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
504
+ readonly "account-circle-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
505
+ readonly "add-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
506
+ readonly "alert-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
507
+ readonly "alert-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
508
+ readonly "arrow-down-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
509
+ readonly "arrow-down-s-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
510
+ readonly "arrow-down-s-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
511
+ readonly "arrow-down-wide-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
512
+ readonly "arrow-go-back-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
513
+ readonly "arrow-go-forward-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
514
+ readonly "arrow-left-down-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
515
+ readonly "arrow-left-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
516
+ readonly "arrow-left-s-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
517
+ readonly "arrow-left-up-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
518
+ readonly "arrow-right-down-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
519
+ readonly "arrow-right-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
520
+ readonly "arrow-right-s-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
521
+ readonly "arrow-right-up-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
522
+ readonly "arrow-up-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
523
+ readonly "arrow-up-s-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
524
+ readonly "arrow-up-s-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
525
+ readonly "arrow-up-wide-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
526
+ readonly asterisk: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
527
+ readonly "at-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
528
+ readonly "attachment-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
529
+ readonly bar: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
530
+ readonly blank: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
531
+ readonly "bookmark-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
532
+ readonly "bookmark-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
533
+ readonly "calendar-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
534
+ readonly "chat-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
535
+ readonly "check-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
536
+ readonly "circle-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
537
+ readonly "circle-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
538
+ readonly "close-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
539
+ readonly "cloud-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
540
+ readonly "cloud-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
541
+ readonly "code-s-slash-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
542
+ readonly "coin-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
543
+ readonly component: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
544
+ readonly "computer-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
545
+ readonly "corner-down-left-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
546
+ readonly "corner-down-right-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
547
+ readonly "cursor-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
548
+ readonly "delete-bin-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
549
+ readonly "download-2-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
550
+ readonly draggable: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
551
+ readonly effect: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
552
+ readonly "error-warning-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
553
+ readonly "export-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
554
+ readonly "external-link-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
555
+ readonly "eye-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
556
+ readonly "eye-off-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
557
+ readonly "file-3-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
558
+ readonly "file-text-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
559
+ readonly "file-unknow-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
560
+ readonly "file-warning-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
561
+ readonly "figma-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
562
+ readonly "flag-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
563
+ readonly "flag-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
564
+ readonly "flow-chart": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
565
+ readonly "folder-4-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
566
+ readonly "footer-logo": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
567
+ readonly frame: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
568
+ readonly "function-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
569
+ readonly "github-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
570
+ readonly "global-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
571
+ readonly "guide-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
572
+ readonly "heart-3-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
573
+ readonly "heart-3-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
574
+ readonly "home-2-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
575
+ readonly "home-2-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
576
+ readonly "image-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
577
+ readonly "information-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
578
+ readonly "information-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
579
+ readonly instagram: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
580
+ readonly instance: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
581
+ readonly layer: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
582
+ readonly line: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
583
+ readonly "link-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
584
+ readonly "mail-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
585
+ readonly "mail-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
586
+ readonly "megaphone-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
587
+ readonly "message-2-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
588
+ readonly "moon-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
589
+ readonly "more-horizontal": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
590
+ readonly "more-vertical": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
591
+ readonly "notification-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
592
+ readonly "notion-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
593
+ readonly "pencil-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
594
+ readonly property: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
595
+ readonly "qr-code-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
596
+ readonly "question-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
597
+ readonly "radius-angled": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
598
+ readonly "radius-circle": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
599
+ readonly "radius-rounded": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
600
+ readonly "reset-left-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
601
+ readonly "restart-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
602
+ readonly "robot-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
603
+ readonly "save-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
604
+ readonly "search-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
605
+ readonly shapes: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
606
+ readonly "slash-command": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
607
+ readonly "smartphone-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
608
+ readonly spinner: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
609
+ readonly "square-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
610
+ readonly "square-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
611
+ readonly "sticky-note-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
612
+ readonly style: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
613
+ readonly "subtract-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
614
+ readonly "sun-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
615
+ readonly "tablet-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
616
+ readonly text: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
617
+ readonly "upload-2-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
618
+ readonly "user-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
619
+ readonly variable: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
620
+ readonly vector: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
621
+ readonly "youtube-fill": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
622
+ readonly "menu-line": (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
623
+ readonly frontend: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
624
+ readonly backend: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
625
+ readonly product: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
626
+ readonly design: (props: react.SVGProps<SVGSVGElement>) => _emotion_react_jsx_runtime.JSX.Element;
627
+ };
628
+
629
+ type IconName = keyof typeof iconMap;
630
+ type IconSize = "5xl" | "4xl" | "3xl" | "2xl" | "xl" | "lg" | "md" | "sm" | "xs" | "2xs";
631
+ interface IconProps extends Omit<ComponentPropsWithoutRef<"svg">, "width" | "height"> {
632
+ name: IconName;
633
+ size?: IconSize;
634
+ color?: string;
635
+ }
636
+
637
+ interface FooterLink {
638
+ label: string;
639
+ href: string;
640
+ external?: boolean;
641
+ }
642
+ interface FooterSection {
643
+ title: string;
644
+ links: FooterLink[];
645
+ }
646
+ interface FooterRootProps extends ComponentPropsWithoutRef<"footer"> {
647
+ children: ReactNode;
648
+ }
649
+ interface FooterContentProps extends ComponentPropsWithoutRef<"div"> {
650
+ children: ReactNode;
651
+ }
652
+ interface FooterHeaderProps extends ComponentPropsWithoutRef<"div"> {
653
+ children: ReactNode;
654
+ }
655
+ interface FooterLogoLinkProps extends ComponentPropsWithoutRef<"a"> {
656
+ children?: ReactNode;
657
+ }
658
+ interface FooterLogoDivProps extends ComponentPropsWithoutRef<"div"> {
659
+ children?: ReactNode;
660
+ }
661
+ interface FooterNavProps extends ComponentPropsWithoutRef<"nav"> {
662
+ sections: FooterSection[];
663
+ }
664
+ interface FooterSectionProps extends ComponentPropsWithoutRef<"div"> {
665
+ title: string;
666
+ links: FooterLink[];
667
+ }
668
+ interface FooterSocialProps extends ComponentPropsWithoutRef<"div"> {
669
+ github?: string;
670
+ instagram?: string;
671
+ iconSize?: IconSize;
672
+ }
673
+ interface FooterBottomProps extends ComponentPropsWithoutRef<"div"> {
674
+ copyright: string;
675
+ email?: string;
676
+ privacyLink?: string;
677
+ }
678
+
679
+ declare const Footer: {
680
+ Root: react.ForwardRefExoticComponent<FooterRootProps & react.RefAttributes<HTMLElement>>;
681
+ Content: react.ForwardRefExoticComponent<FooterContentProps & react.RefAttributes<HTMLDivElement>>;
682
+ Header: react.ForwardRefExoticComponent<FooterHeaderProps & react.RefAttributes<HTMLDivElement>>;
683
+ Divider: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLHRElement>, HTMLHRElement>, "ref"> & react.RefAttributes<HTMLHRElement>>;
684
+ LogoLink: react.ForwardRefExoticComponent<FooterLogoLinkProps & react.RefAttributes<HTMLAnchorElement>>;
685
+ LogoDiv: react.ForwardRefExoticComponent<FooterLogoDivProps & react.RefAttributes<HTMLDivElement>>;
686
+ Social: react.ForwardRefExoticComponent<FooterSocialProps & react.RefAttributes<HTMLDivElement>>;
687
+ Nav: react.ForwardRefExoticComponent<FooterNavProps & react.RefAttributes<HTMLElement>>;
688
+ Section: react.ForwardRefExoticComponent<FooterSectionProps & react.RefAttributes<HTMLDivElement>>;
689
+ Bottom: react.ForwardRefExoticComponent<FooterBottomProps & react.RefAttributes<HTMLDivElement>>;
690
+ };
691
+
692
+ declare const SIZE_TO_TEXT_STYLE: {
693
+ readonly xs: "semantic-textStyle-hero-1";
694
+ readonly sm: "semantic-textStyle-hero-2";
695
+ readonly md: "semantic-textStyle-hero-3";
696
+ readonly lg: "semantic-textStyle-hero-4";
697
+ };
698
+ declare const TEXT_ALIGN_MAPPING$1: {
699
+ readonly center: "center";
700
+ readonly left: "flex-start";
701
+ readonly right: "flex-end";
702
+ };
703
+ type HeroSize = keyof typeof SIZE_TO_TEXT_STYLE;
704
+ type HeroTextAlign = keyof typeof TEXT_ALIGN_MAPPING$1;
705
+
706
+ interface HeroProps {
707
+ size?: HeroSize;
708
+ textAlign?: HeroTextAlign;
709
+ color?: string;
710
+ children: React.ReactNode;
711
+ }
712
+ declare const Hero: react.ForwardRefExoticComponent<HeroProps & react.RefAttributes<HTMLDivElement>>;
713
+
714
+ declare const Icon: react.ForwardRefExoticComponent<IconProps & react.RefAttributes<HTMLSpanElement>>;
715
+
716
+ declare const IconButton: {
717
+ Basic: react.ForwardRefExoticComponent<IconButtonBasicProps & react.RefAttributes<HTMLButtonElement>>;
718
+ Feedback: react.ForwardRefExoticComponent<IconButtonFeedbackProps & react.RefAttributes<HTMLButtonElement>>;
719
+ };
720
+
721
+ type IconButtonSize = "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
722
+ type IconButtonHierarchy = "accent" | "primary" | "secondary" | "tertiary";
723
+ type IconButtonIntent = "positive" | "destructive";
724
+ interface BaseIconButtonProps extends ComponentPropsWithoutRef<"button"> {
725
+ icon: IconName;
726
+ size?: IconButtonSize;
727
+ "aria-label"?: string;
728
+ }
729
+ interface IconButtonBasicProps extends BaseIconButtonProps {
730
+ hierarchy?: IconButtonHierarchy;
731
+ }
732
+ interface IconButtonFeedbackProps extends BaseIconButtonProps {
733
+ intent: IconButtonIntent;
734
+ }
735
+
736
+ type InputStyle = "outlined" | "empty";
737
+ type InputLayout = "vertical" | "horizontal";
738
+ type InputValidation = "none" | "error" | "success";
739
+ type InputInteraction = "enabled" | "disabled" | "readOnly";
740
+ interface FieldPublicProps {
741
+ style?: InputStyle;
742
+ layout?: InputLayout;
743
+ validation?: InputValidation;
744
+ interaction?: InputInteraction;
745
+ }
746
+ type FieldInputPublicProps = Omit<ComponentPropsWithoutRef<"input">, "style">;
747
+ type FieldTextAreaPublicProps = Omit<ComponentPropsWithoutRef<"textarea">, "style">;
748
+
749
+ interface Tag {
750
+ id: string;
751
+ label: string;
752
+ }
753
+ interface TagFieldPublicProps extends FieldPublicProps, Omit<ComponentPropsWithoutRef<"input">, "value" | "onChange" | "defaultValue" | "style" | "type"> {
754
+ label?: string;
755
+ labelIcon?: IconName;
756
+ helperText?: string;
757
+ tags: Tag[];
758
+ onTagsChange: (tags: Tag[]) => void;
759
+ maxTags?: number;
760
+ allowDuplicates?: boolean;
761
+ placeholder?: string;
762
+ }
763
+ type TagFieldProps = TagFieldPublicProps;
764
+ interface TagFieldButtonProps extends TagFieldPublicProps {
765
+ button: ReactNode;
766
+ }
767
+
768
+ declare const TagField: react.ForwardRefExoticComponent<TagFieldPublicProps & react.RefAttributes<HTMLInputElement>> & {
769
+ Button: react.ForwardRefExoticComponent<TagFieldButtonProps & react.RefAttributes<HTMLInputElement>>;
770
+ };
771
+
772
+ type InputAreaStyle = "outlined" | "empty";
773
+ type InputAreaLayout = "vertical" | "horizontal";
774
+ type InputAreaValidation = "none" | "error";
775
+ type InputAreaStatus = "placeholder" | "filled";
776
+ interface InputAreaPublicProps extends Omit<ComponentPropsWithoutRef<"textarea">, "style"> {
777
+ style?: InputAreaStyle;
778
+ layout?: InputAreaLayout;
779
+ validation?: InputAreaValidation;
780
+ interaction?: InputInteraction;
781
+ label?: ReactNode;
782
+ labelIcon?: IconName;
783
+ labelVisible?: boolean;
784
+ helperText?: string;
785
+ maxLength?: number;
786
+ height?: number | string;
787
+ minHeight?: number | string;
788
+ value: string;
789
+ onChange: (e: ChangeEvent<HTMLTextAreaElement>) => void;
790
+ }
791
+ type InputAreaProps = InputAreaPublicProps;
792
+
793
+ interface SelectFieldPublicProps extends FieldPublicProps {
794
+ label?: ReactNode;
795
+ labelIcon?: IconName;
796
+ helperText?: string;
797
+ value: string;
798
+ placeholder?: string;
799
+ dropdownIcon?: IconName;
800
+ isOpen?: boolean;
801
+ onClick?: () => void;
802
+ children?: ReactNode;
803
+ }
804
+ type SelectFieldProps = SelectFieldPublicProps;
805
+ interface SelectFieldButtonProps extends SelectFieldPublicProps {
806
+ button: ReactNode;
807
+ }
808
+
809
+ declare const SelectField: react.ForwardRefExoticComponent<SelectFieldPublicProps & react.RefAttributes<HTMLDivElement>> & {
810
+ Button: react.ForwardRefExoticComponent<SelectFieldButtonProps & react.RefAttributes<HTMLDivElement>>;
811
+ };
812
+
813
+ interface TextFieldPublicProps extends FieldPublicProps, Omit<FieldInputPublicProps, "value" | "onChange" | "defaultValue"> {
814
+ label?: ReactNode;
815
+ labelIcon?: IconName;
816
+ helperText?: string;
817
+ value: string;
818
+ onChange: (e: ChangeEvent<HTMLInputElement>) => void;
819
+ }
820
+ type TextFieldProps = TextFieldPublicProps;
821
+ interface TextFieldButtonProps extends TextFieldPublicProps {
822
+ button: ReactNode;
823
+ }
824
+
825
+ declare const TextField: react.ForwardRefExoticComponent<TextFieldPublicProps & react.RefAttributes<HTMLInputElement>> & {
826
+ Button: react.ForwardRefExoticComponent<TextFieldButtonProps & react.RefAttributes<HTMLInputElement>>;
827
+ };
828
+
829
+ declare const InputArea: react.ForwardRefExoticComponent<InputAreaPublicProps & react.RefAttributes<HTMLTextAreaElement>>;
830
+
831
+ declare const Input: {
832
+ TextField: react.ForwardRefExoticComponent<TextFieldPublicProps & react.RefAttributes<HTMLInputElement>> & {
833
+ Button: react.ForwardRefExoticComponent<TextFieldButtonProps & react.RefAttributes<HTMLInputElement>>;
834
+ };
835
+ SelectField: react.ForwardRefExoticComponent<SelectFieldPublicProps & react.RefAttributes<HTMLDivElement>> & {
836
+ Button: react.ForwardRefExoticComponent<SelectFieldButtonProps & react.RefAttributes<HTMLDivElement>>;
837
+ };
838
+ InputArea: react.ForwardRefExoticComponent<InputAreaPublicProps & react.RefAttributes<HTMLTextAreaElement>>;
839
+ TagField: react.ForwardRefExoticComponent<TagFieldPublicProps & react.RefAttributes<HTMLInputElement>> & {
840
+ Button: react.ForwardRefExoticComponent<TagFieldButtonProps & react.RefAttributes<HTMLInputElement>>;
841
+ };
842
+ };
843
+
844
+ declare const TEXT_ALIGN_MAPPING: {
845
+ readonly center: "center";
846
+ readonly left: "flex-start";
847
+ readonly right: "flex-end";
848
+ };
849
+ type LabelSize = "lg" | "md" | "sm" | "xs";
850
+ type LabelTextAlign = keyof typeof TEXT_ALIGN_MAPPING;
851
+ type LabelWeight = "bold" | "normal" | "subtle";
852
+
853
+ /**
854
+ * @remarks
855
+ * - polymorphicForwardRef를 통해 `as` prop이 자동으로 추가됩니다
856
+ * - 색상 커스터마이징이 필요한 경우 `styled(Label)` 패턴을 사용하면 됩니다.
857
+ */
858
+ type LabelOwnProps = {
859
+ size?: LabelSize;
860
+ textAlign?: LabelTextAlign;
861
+ weight?: LabelWeight;
862
+ };
863
+
864
+ /**
865
+ * Label - Polymorphic Label 컴포넌트
866
+ *
867
+ * `as` prop을 통해 다양한 HTML 요소로 렌더링할 수 있습니다.
868
+ * TypeScript가 `as` prop에 따라 올바른 HTML 속성을 자동으로 추론합니다.
869
+ *
870
+ *
871
+ */
872
+ declare const Label: (<E extends ElementType = "label">(props: PolymorphicComponentPropsWithRef<E, LabelOwnProps>) => react.ReactElement | null) & {
873
+ displayName?: string;
874
+ };
875
+
876
+ declare const LabelButton: {
877
+ Basic: react.ForwardRefExoticComponent<LabelButtonBasicProps & react.RefAttributes<HTMLButtonElement>>;
878
+ Feedback: react.ForwardRefExoticComponent<LabelButtonFeedbackProps & react.RefAttributes<HTMLButtonElement>>;
879
+ };
880
+
881
+ type LabelButtonSize = "xs" | "sm" | "md" | "lg";
882
+ type LabelButtonHierarchy = "accent" | "primary" | "secondary" | "tertiary";
883
+ type LabelButtonIntent = "positive" | "destructive";
884
+ interface BaseLabelButtonProps extends ComponentPropsWithoutRef<"button"> {
885
+ children: ReactNode;
886
+ size?: LabelButtonSize;
887
+ prefixIcon?: IconName;
888
+ suffixIcon?: IconName;
889
+ }
890
+ interface LabelButtonBasicProps extends BaseLabelButtonProps {
891
+ hierarchy?: LabelButtonHierarchy;
892
+ }
893
+ interface LabelButtonFeedbackProps extends BaseLabelButtonProps {
894
+ intent: LabelButtonIntent;
895
+ }
896
+
897
+ type LogoHierarchy = "primary" | "secondary" | "tertiary" | "inverse";
898
+ interface LogoProps extends Omit<ComponentPropsWithoutRef<"a">, "children"> {
899
+ hierarchy?: LogoHierarchy;
900
+ height?: number;
901
+ href?: string;
902
+ }
903
+
904
+ declare const Logo: react.ForwardRefExoticComponent<LogoProps & react.RefAttributes<HTMLAnchorElement>>;
905
+
906
+ type SegmentedControlSize = "lg" | "md" | "sm" | "xs";
907
+ interface SegmentedControlRootProps extends Omit<ToggleGroupSingleProps, "type"> {
908
+ size?: SegmentedControlSize;
909
+ }
910
+ type SegmentedControlItemProps = ToggleGroupItemProps;
911
+
912
+ declare const SegmentedControl: {
913
+ Root: react.ForwardRefExoticComponent<SegmentedControlRootProps & react.RefAttributes<HTMLDivElement>>;
914
+ Item: react.ForwardRefExoticComponent<ToggleGroup.ToggleGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
915
+ };
916
+
917
+ type SelectVariant = "list" | "checkbox" | "radio";
918
+ type SelectSize = "md" | "sm";
919
+ type SelectValue = string | string[];
920
+ interface SelectContextType {
921
+ value: SelectValue;
922
+ variant: SelectVariant;
923
+ size: SelectSize;
924
+ onChange: (value: string) => void;
925
+ isSelected: (value: string) => boolean;
926
+ }
927
+ interface BaseSelectProps {
928
+ size?: SelectSize;
929
+ label?: string;
930
+ children?: ReactNode;
931
+ }
932
+ interface SelectListProps extends BaseSelectProps, Omit<ComponentPropsWithoutRef<"div">, "size" | "onChange"> {
933
+ variant?: "list";
934
+ value: string;
935
+ onChange: (value: string) => void;
936
+ }
937
+ interface SelectRadioVariantProps extends BaseSelectProps, Omit<ComponentPropsWithoutRef<"div">, "size" | "onChange"> {
938
+ variant: "radio";
939
+ value: string;
940
+ onChange: (value: string) => void;
941
+ }
942
+ interface SelectCheckboxVariantProps extends BaseSelectProps, Omit<ComponentPropsWithoutRef<"div">, "size" | "onChange"> {
943
+ variant: "checkbox";
944
+ value: string[];
945
+ onChange: (value: string[]) => void;
946
+ }
947
+ type SelectProps = SelectListProps | SelectRadioVariantProps | SelectCheckboxVariantProps;
948
+ interface BaseSelectItemProps {
949
+ value: string;
950
+ isDisabled?: boolean;
951
+ caption?: string;
952
+ children?: ReactNode;
953
+ }
954
+ interface SelectLabelProps extends BaseSelectItemProps, Omit<ComponentPropsWithoutRef<"div">, "onClick"> {
955
+ badge?: ReactNode;
956
+ }
957
+ interface SelectRadioProps extends BaseSelectItemProps, Omit<ComponentPropsWithoutRef<"div">, "onClick"> {
958
+ }
959
+ interface SelectCheckboxProps extends BaseSelectItemProps, Omit<ComponentPropsWithoutRef<"div">, "onClick"> {
960
+ }
961
+
962
+ declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLDivElement>> & {
963
+ Label: react.ForwardRefExoticComponent<SelectLabelProps & react.RefAttributes<HTMLDivElement>>;
964
+ Radio: react.ForwardRefExoticComponent<SelectRadioProps & react.RefAttributes<HTMLDivElement>>;
965
+ Checkbox: react.ForwardRefExoticComponent<SelectCheckboxProps & react.RefAttributes<HTMLDivElement>>;
966
+ };
967
+
968
+ type StepSize = 'lg' | 'md' | 'sm' | 'xs';
969
+ type StepStatus = 'completed' | 'ongoing' | 'uncompleted';
970
+ interface StepRootProps extends ComponentPropsWithoutRef<'div'> {
971
+ size?: StepSize;
972
+ current?: number;
973
+ children: ReactNode;
974
+ }
975
+ interface StepItemProps extends ComponentPropsWithoutRef<'div'> {
976
+ index: number;
977
+ status?: StepStatus;
978
+ children: ReactNode;
979
+ }
980
+
981
+ declare const Step: {
982
+ Root: react.ForwardRefExoticComponent<StepRootProps & react.RefAttributes<HTMLDivElement>>;
983
+ Item: react.ForwardRefExoticComponent<StepItemProps & react.RefAttributes<HTMLDivElement>>;
984
+ };
985
+
986
+ type TabVariant = "header" | "content";
987
+ type TabRootProps = ComponentPropsWithoutRef<typeof TabPrimitive.Root> & {
988
+ variant?: TabVariant;
989
+ isItemStretched?: boolean;
990
+ };
991
+ type TabListProps = ComponentPropsWithoutRef<typeof TabPrimitive.List> & {
992
+ variant?: TabVariant;
993
+ };
994
+ type TabTriggerProps = ComponentPropsWithoutRef<typeof TabPrimitive.Trigger> & {
995
+ badge?: ReactNode;
996
+ };
997
+ type TabContentProps = ComponentPropsWithoutRef<typeof TabPrimitive.Content>;
998
+
999
+ declare const TabRoot: react.ForwardRefExoticComponent<Omit<Tabs.TabsProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1000
+ variant?: TabVariant;
1001
+ isItemStretched?: boolean;
1002
+ } & react.RefAttributes<HTMLDivElement>>;
1003
+ declare const TabList: react.ForwardRefExoticComponent<Omit<Tabs.TabsListProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1004
+ variant?: TabVariant;
1005
+ } & react.RefAttributes<HTMLDivElement>>;
1006
+ declare const TabTrigger: react.ForwardRefExoticComponent<Omit<Tabs.TabsTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
1007
+ badge?: react.ReactNode;
1008
+ } & react.RefAttributes<HTMLButtonElement>>;
1009
+ declare const TabContent: react.ForwardRefExoticComponent<Omit<Tabs.TabsContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1010
+ declare const Tab: {
1011
+ Root: react.ForwardRefExoticComponent<Omit<Tabs.TabsProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1012
+ variant?: TabVariant;
1013
+ isItemStretched?: boolean;
1014
+ } & react.RefAttributes<HTMLDivElement>>;
1015
+ List: react.ForwardRefExoticComponent<Omit<Tabs.TabsListProps & react.RefAttributes<HTMLDivElement>, "ref"> & {
1016
+ variant?: TabVariant;
1017
+ } & react.RefAttributes<HTMLDivElement>>;
1018
+ Trigger: react.ForwardRefExoticComponent<Omit<Tabs.TabsTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
1019
+ badge?: react.ReactNode;
1020
+ } & react.RefAttributes<HTMLButtonElement>>;
1021
+ Content: react.ForwardRefExoticComponent<Omit<Tabs.TabsContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1022
+ };
1023
+
1024
+ type TitleSize = "lg" | "md" | "sm" | "xs";
1025
+ type TitleTextAlign = keyof typeof TEXT_ALIGN_MAPPING$1;
1026
+ interface StyledTitleProps {
1027
+ size: TitleSize;
1028
+ textAlign: TitleTextAlign;
1029
+ color?: string;
1030
+ }
1031
+ declare const StyledTitle: _emotion_styled.StyledComponent<{
1032
+ theme?: _emotion_react.Theme;
1033
+ as?: React.ElementType;
1034
+ } & StyledTitleProps, react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
1035
+
1036
+ interface TitleProps extends ComponentProps<typeof StyledTitle> {
1037
+ children: ReactNode;
1038
+ }
1039
+ declare const Title: react.ForwardRefExoticComponent<Omit<TitleProps, "ref"> & react.RefAttributes<HTMLDivElement>>;
1040
+
1041
+ interface TooltipProps extends Omit<Tooltip$1.TooltipProps, "children"> {
1042
+ children: ReactNode;
1043
+ }
1044
+ type TooltipTriggerProps = Tooltip$1.TooltipTriggerProps;
1045
+ interface TooltipContentProps extends Tooltip$1.TooltipContentProps {
1046
+ children?: ReactNode;
1047
+ }
1048
+
1049
+ declare const Tooltip: {
1050
+ Provider: react.FC<Tooltip$1.TooltipProviderProps>;
1051
+ Root: {
1052
+ ({ children, delayDuration, ...radixProps }: TooltipProps): _emotion_react_jsx_runtime.JSX.Element;
1053
+ displayName: string;
1054
+ };
1055
+ Trigger: {
1056
+ ({ children, asChild, ...restProps }: TooltipTriggerProps): _emotion_react_jsx_runtime.JSX.Element;
1057
+ displayName: string;
1058
+ };
1059
+ Content: {
1060
+ ({ children, side, sideOffset, collisionPadding, avoidCollisions, ...restProps }: TooltipContentProps): _emotion_react_jsx_runtime.JSX.Element;
1061
+ displayName: string;
1062
+ };
1063
+ };
1064
+
1065
+ type ByteNumber = number;
1066
+ type UploadError = {
1067
+ type: UploadErrorType;
1068
+ file: File;
1069
+ };
1070
+ type UploadErrorType = "FILE_TOO_LARGE" | "INVALID_TYPE" | "TOTAL_SIZE_EXCEEDED";
1071
+ interface UploaderOptions {
1072
+ accept?: string[];
1073
+ maxFileSize?: ByteNumber;
1074
+ maxTotalSize?: ByteNumber;
1075
+ existingFilesSize?: ByteNumber;
1076
+ files?: File[];
1077
+ onUpload?: (files: File[]) => void;
1078
+ onError?: (error: UploadError) => void;
1079
+ }
1080
+ interface UploaderMessages {
1081
+ rest: ReactNode;
1082
+ loading: ReactNode;
1083
+ disabled: ReactNode;
1084
+ }
1085
+ interface UploaderFileButtonProps {
1086
+ triggerUpload: () => void;
1087
+ isLoading?: boolean;
1088
+ isDisabled?: boolean;
1089
+ uploadButton?: (triggerUpload: () => void) => ReactNode;
1090
+ cancelButton?: ReactNode;
1091
+ helperLabel?: ReactNode;
1092
+ }
1093
+ interface UploaderFileProps extends UploaderOptions, Omit<UploaderFileButtonProps, "triggerUpload"> {
1094
+ multiple?: boolean;
1095
+ messages?: UploaderMessages;
1096
+ }
1097
+ interface UploaderImageButtonProps {
1098
+ isDisabled?: boolean;
1099
+ isLoading?: boolean;
1100
+ uploadLabel?: string;
1101
+ loadingLabel?: string;
1102
+ cancelButton?: ReactNode;
1103
+ }
1104
+ interface UploaderImageProps extends UploaderOptions, UploaderImageButtonProps {
1105
+ multiple?: boolean;
1106
+ }
1107
+
1108
+ declare const Uploader: {
1109
+ File: {
1110
+ ({ accept, multiple, maxFileSize, maxTotalSize, existingFilesSize, files: controlledFiles, onUpload, onError, isLoading, isDisabled, messages, uploadButton, cancelButton, helperLabel, }: UploaderFileProps): _emotion_react_jsx_runtime.JSX.Element;
1111
+ displayName: string;
1112
+ };
1113
+ Image: {
1114
+ ({ accept, multiple, maxFileSize, maxTotalSize, existingFilesSize, files: controlledFiles, onUpload, onError, isLoading, isDisabled, uploadLabel, loadingLabel, cancelButton, }: UploaderImageProps): _emotion_react_jsx_runtime.JSX.Element;
1115
+ displayName: string;
1116
+ };
1117
+ };
1118
+
1119
+ type GlobalNavigationVariant = "empty" | "solid";
1120
+ type GlobalNavigationVariantAlign = "left" | "center" | "right";
1121
+ interface GlobalNavigationRootProps extends NavigationMenu.NavigationMenuProps {
1122
+ variant?: GlobalNavigationVariant;
1123
+ }
1124
+ interface GlobalNavigationListProps extends NavigationMenu.NavigationMenuListProps {
1125
+ align?: GlobalNavigationVariantAlign;
1126
+ }
1127
+ interface GlobalNavigationToggleItemProps extends NavigationMenu.NavigationMenuItemProps {
1128
+ label?: ReactNode;
1129
+ }
1130
+ interface GlobalNavigationBlockItemProps extends NavigationMenu.NavigationMenuLinkProps {
1131
+ href: string;
1132
+ }
1133
+ interface GlobalNavigationMenuContentProps extends NavigationMenu.NavigationMenuContentProps {
1134
+ offset?: number;
1135
+ }
1136
+ interface GlobalNavigationLogoItemProps extends ComponentPropsWithoutRef<"div"> {
1137
+ children?: ReactNode;
1138
+ }
1139
+ interface GlobalNavigationLogoLinkProps extends NavigationMenu.NavigationMenuLinkProps {
1140
+ children?: ReactNode;
1141
+ href: string;
1142
+ }
1143
+ type GlobalNavigationMobileMenuButtonProps = Omit<IconButtonBasicProps, "hierarchy" | "icon" | "size" | "aria-label">;
1144
+
1145
+ declare const GlobalNavigation: {
1146
+ Root: react.ForwardRefExoticComponent<GlobalNavigationRootProps & react.RefAttributes<HTMLElement>>;
1147
+ List: react.ForwardRefExoticComponent<GlobalNavigationListProps & react.RefAttributes<HTMLUListElement>>;
1148
+ Item: react.ForwardRefExoticComponent<NavigationMenu.NavigationMenuItemProps & react.RefAttributes<HTMLLIElement>>;
1149
+ Trigger: react.ForwardRefExoticComponent<NavigationMenu.NavigationMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1150
+ Link: react.ForwardRefExoticComponent<NavigationMenu.NavigationMenuLinkProps & react.RefAttributes<HTMLAnchorElement>>;
1151
+ LogoItem: react.ForwardRefExoticComponent<GlobalNavigationLogoItemProps & react.RefAttributes<HTMLDivElement>>;
1152
+ LogoLink: react.ForwardRefExoticComponent<GlobalNavigationLogoLinkProps & react.RefAttributes<HTMLAnchorElement>>;
1153
+ Divider: () => _emotion_react_jsx_runtime.JSX.Element;
1154
+ Content: react.ForwardRefExoticComponent<GlobalNavigationMenuContentProps & react.RefAttributes<HTMLDivElement>>;
1155
+ MobileMenuButton: react.ForwardRefExoticComponent<GlobalNavigationMobileMenuButtonProps & react.RefAttributes<HTMLButtonElement>>;
1156
+ };
1157
+
1158
+ interface UseGlobalNavigationVariantOptions {
1159
+ threshold?: number;
1160
+ }
1161
+ declare const useGlobalNavigationVariant: (options?: UseGlobalNavigationVariantOptions) => GlobalNavigationVariant;
1162
+
1163
+ interface LocalNavigationRootProps {
1164
+ isStretched?: boolean;
1165
+ children?: ReactNode;
1166
+ }
1167
+ type LocalNavigationBackButtonProps = Omit<IconButtonBasicProps, 'icon' | 'hierarchy' | 'size'>;
1168
+ interface LocalNavigationTitleProps {
1169
+ as?: ElementType;
1170
+ children?: ReactNode;
1171
+ }
1172
+ interface LocalNavigationButtonGroupProps {
1173
+ extraButtonVisible?: boolean;
1174
+ children?: ReactNode;
1175
+ }
1176
+
1177
+ declare const LocalNavigation: {
1178
+ Root: react.ForwardRefExoticComponent<LocalNavigationRootProps & react.RefAttributes<HTMLDivElement>>;
1179
+ BackButton: react.ForwardRefExoticComponent<LocalNavigationBackButtonProps & react.RefAttributes<HTMLButtonElement>>;
1180
+ Title: react.ForwardRefExoticComponent<LocalNavigationTitleProps & react.RefAttributes<HTMLDivElement>>;
1181
+ ButtonGroup: react.ForwardRefExoticComponent<LocalNavigationButtonGroupProps & react.RefAttributes<HTMLDivElement>>;
1182
+ };
1183
+
1184
+ type DividerThickness = "normal" | "bold" | "bolder" | "boldest";
1185
+ type DividerOrientation = "horizontal" | "vertical";
1186
+ type DividerVariant = "solid" | "dashed";
1187
+ interface DividerProps extends Omit<ComponentPropsWithoutRef<"hr">, "children" | "color"> {
1188
+ thickness?: DividerThickness;
1189
+ decorative?: boolean;
1190
+ orientation?: DividerOrientation;
1191
+ variant?: DividerVariant;
1192
+ }
1193
+
1194
+ declare const Divider: react.ForwardRefExoticComponent<DividerProps & react.RefAttributes<HTMLDivElement | HTMLHRElement>>;
1195
+
1196
+ type EmptyStateStyleVariant = {
1197
+ variant?: "empty" | "outlined" | "alpha";
1198
+ layout?: "vertical" | "horizontal";
1199
+ button?: "primary" | "both";
1200
+ };
1201
+ type BlockButtonActionProps$1 = Pick<BlockButtonBasicProps, "children" | "onClick" | "disabled">;
1202
+ type EmptyStateActionOptions = {
1203
+ primaryAction?: undefined;
1204
+ secondaryAction?: never;
1205
+ } | {
1206
+ primaryAction: BlockButtonActionProps$1;
1207
+ secondaryAction?: BlockButtonActionProps$1;
1208
+ };
1209
+ interface EmptyStateBaseProps {
1210
+ header: string;
1211
+ body: string;
1212
+ icon?: IconName;
1213
+ }
1214
+ type EmptyStateProps = EmptyStateStyleVariant & EmptyStateBaseProps & EmptyStateActionOptions;
1215
+
1216
+ declare const EmptyState: react.ForwardRefExoticComponent<EmptyStateProps & react.RefAttributes<HTMLDivElement>>;
1217
+
1218
+ type MegaMenuProps = ComponentPropsWithoutRef<"div">;
1219
+ interface MegaMenuSectionProps extends ComponentPropsWithoutRef<"div"> {
1220
+ sectionName?: string;
1221
+ children: ReactNode;
1222
+ }
1223
+ interface MegaMenuGroupProps extends ComponentPropsWithoutRef<"ul"> {
1224
+ children: ReactNode;
1225
+ }
1226
+ type MegaMenuGroupItemProps = ComponentPropsWithoutRef<"li">;
1227
+
1228
+ declare const MegaMenu: {
1229
+ Root: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1230
+ Section: react.ForwardRefExoticComponent<MegaMenuSectionProps & react.RefAttributes<HTMLDivElement>>;
1231
+ Divider: {
1232
+ (): _emotion_react_jsx_runtime.JSX.Element;
1233
+ displayName: string;
1234
+ };
1235
+ Group: react.ForwardRefExoticComponent<MegaMenuGroupProps & react.RefAttributes<HTMLUListElement>>;
1236
+ GroupItem: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & react.RefAttributes<HTMLLIElement>>;
1237
+ };
1238
+
1239
+ type MenuItemVariant = "icon" | "thumbnail";
1240
+ type MenuItemSize = "lg" | "md" | "sm";
1241
+ interface MenuItemButtonProps extends ComponentPropsWithoutRef<"button"> {
1242
+ variant?: MenuItemVariant;
1243
+ size?: MenuItemSize;
1244
+ isSelected?: boolean;
1245
+ isDestructive?: boolean;
1246
+ prefixIcon?: IconName;
1247
+ suffixIcon?: IconName;
1248
+ prefixIconVisible?: boolean;
1249
+ suffixIconVisible?: boolean;
1250
+ children: ReactNode;
1251
+ imageAlt?: string;
1252
+ imageSrc?: string;
1253
+ }
1254
+ interface MenuItemAnchorProps extends ComponentPropsWithoutRef<"a"> {
1255
+ variant?: MenuItemVariant;
1256
+ size?: MenuItemSize;
1257
+ disabled?: boolean;
1258
+ isSelected?: boolean;
1259
+ isDestructive?: boolean;
1260
+ prefixIcon?: IconName;
1261
+ suffixIcon?: IconName;
1262
+ prefixIconVisible?: boolean;
1263
+ suffixIconVisible?: boolean;
1264
+ children: ReactNode;
1265
+ imageAlt?: string;
1266
+ imageSrc?: string;
1267
+ }
1268
+
1269
+ declare const MenuItem: {
1270
+ Button: react.ForwardRefExoticComponent<MenuItemButtonProps & react.RefAttributes<HTMLButtonElement>>;
1271
+ Anchor: react.ForwardRefExoticComponent<MenuItemAnchorProps & react.RefAttributes<HTMLAnchorElement>>;
1272
+ };
1273
+
1274
+ type MenuStyle = "solid" | "empty";
1275
+ type MenuSize = "lg" | "md" | "sm";
1276
+ interface MenuRootProps extends ComponentPropsWithoutRef<typeof DropdownMenu.Root> {
1277
+ menuStyle?: MenuStyle;
1278
+ size?: MenuSize;
1279
+ children: ReactNode;
1280
+ }
1281
+ interface MenuContentProps extends ComponentPropsWithoutRef<typeof DropdownMenu.Content> {
1282
+ children: ReactNode;
1283
+ }
1284
+ interface MenuCategoryProps extends LabelOwnProps {
1285
+ children: ReactNode;
1286
+ }
1287
+ interface MenuGroupProps {
1288
+ children: ReactNode;
1289
+ }
1290
+ type MenuTrigger = DropdownMenu.DropdownMenuTriggerProps;
1291
+ type MenuItemProps = ComponentPropsWithoutRef<typeof DropdownMenu.Item>;
1292
+ type MenuButtonProps = MenuItemButtonProps;
1293
+ type MenuAnchorProps = MenuItemAnchorProps;
1294
+
1295
+ declare const Menu: {
1296
+ Root: {
1297
+ ({ children, menuStyle, size, ...rest }: MenuRootProps): _emotion_react_jsx_runtime.JSX.Element;
1298
+ displayName: string;
1299
+ };
1300
+ Trigger: react.ForwardRefExoticComponent<DropdownMenu.DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
1301
+ Content: react.ForwardRefExoticComponent<MenuContentProps & react.RefAttributes<HTMLDivElement>>;
1302
+ Category: react.ForwardRefExoticComponent<MenuCategoryProps & react.RefAttributes<HTMLDivElement>>;
1303
+ Group: react.ForwardRefExoticComponent<MenuGroupProps & react.RefAttributes<HTMLUListElement>>;
1304
+ GroupItem: react.ForwardRefExoticComponent<Omit<DropdownMenu.DropdownMenuItemProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLLIElement>>;
1305
+ Button: react.ForwardRefExoticComponent<MenuItemButtonProps & react.RefAttributes<HTMLButtonElement>>;
1306
+ Anchor: react.ForwardRefExoticComponent<MenuItemAnchorProps & react.RefAttributes<HTMLAnchorElement>>;
1307
+ };
1308
+
1309
+ type BlockButtonActionProps = Pick<BlockButtonBasicProps, "children" | "onClick" | "disabled" | "hierarchy">;
1310
+ type CheckBoxActionProps = Pick<CheckboxContentProps, "label" | "checked" | "onCheckedChange">;
1311
+ type RadixDialogProps = Omit<DialogPrimitive.DialogProps, "children">;
1312
+ type DialogActionOptions = {
1313
+ secondaryAction?: undefined;
1314
+ tertiaryAction?: never;
1315
+ } | {
1316
+ secondaryAction: BlockButtonActionProps;
1317
+ tertiaryAction?: BlockButtonActionProps;
1318
+ };
1319
+ interface DialogBaseProps {
1320
+ header: string;
1321
+ body: ReactNode;
1322
+ isButtonStretched?: boolean;
1323
+ checkboxAction?: CheckBoxActionProps;
1324
+ primaryAction: BlockButtonActionProps;
1325
+ }
1326
+ type DialogProps = DialogBaseProps & DialogActionOptions & RadixDialogProps;
1327
+
1328
+ declare const Dialog: react.ForwardRefExoticComponent<DialogProps & react.RefAttributes<HTMLDivElement>>;
1329
+
1330
+ interface LimitedQueueProviderBaseItem {
1331
+ id: string;
1332
+ isClosing?: boolean;
1333
+ }
1334
+
1335
+ type ToastVariant = "positive" | "destructive";
1336
+ type ToastStyle = "basic" | ToastVariant;
1337
+ interface ToastBaseProps {
1338
+ title: ReactNode;
1339
+ caption?: ReactNode;
1340
+ }
1341
+ type ToastBase = ToastBaseProps & LimitedQueueProviderBaseItem;
1342
+ interface ToastBasicProps extends ToastBase {
1343
+ onRemove?: () => void;
1344
+ }
1345
+ interface ToastFeedbackProps extends ToastBase {
1346
+ variant?: ToastVariant;
1347
+ onRemove?: () => void;
1348
+ }
1349
+ interface ToastItem extends ToastBase {
1350
+ type: ToastStyle;
1351
+ }
1352
+ interface ToastHandler {
1353
+ basic: (title: string, caption?: string) => void;
1354
+ positive: (title: string, caption?: string) => void;
1355
+ destructive: (title: string, caption?: string) => void;
1356
+ }
1357
+
1358
+ declare const Toast: {
1359
+ Basic: {
1360
+ ({ id, caption, onRemove, title, isClosing }: ToastBasicProps): _emotion_react_jsx_runtime.JSX.Element;
1361
+ displayName: string;
1362
+ };
1363
+ Feedback: {
1364
+ ({ id, variant, caption, onRemove, title, isClosing, }: ToastFeedbackProps): _emotion_react_jsx_runtime.JSX.Element;
1365
+ displayName: string;
1366
+ };
1367
+ };
1368
+
1369
+ interface ToastContextType {
1370
+ toast: ToastHandler;
1371
+ removeToast: (id: string) => void;
1372
+ }
1373
+ declare const ToastProvider: ({ children }: {
1374
+ children: ReactNode;
1375
+ }) => _emotion_react_jsx_runtime.JSX.Element;
1376
+ declare const useToast: () => ToastContextType;
1377
+
1378
+ type ToastController = {
1379
+ setHandler: (handler: ToastHandler) => void;
1380
+ clearHandler: () => void;
1381
+ basic: ToastHandler["basic"];
1382
+ positive: ToastHandler["positive"];
1383
+ destructive: ToastHandler["destructive"];
1384
+ };
1385
+ declare const toastController: ToastController;
1386
+
1387
+ type SnackbarVariant = "positive" | "destructive";
1388
+ type SnackbarStyle = "basic" | SnackbarVariant;
1389
+ type SnackbarButtonProps = Omit<BlockButtonBasicProps, "hierarchy" | "size" | "variants">;
1390
+ interface SnackbarButtonsProps {
1391
+ prefixButtonProps?: SnackbarButtonProps;
1392
+ suffixButtonProps?: SnackbarButtonProps;
1393
+ }
1394
+ interface SnackbarBaseProps {
1395
+ title: ReactNode;
1396
+ caption?: ReactNode;
1397
+ prefixButtonProps?: SnackbarButtonProps;
1398
+ suffixButtonProps?: SnackbarButtonProps;
1399
+ }
1400
+ type SnackbarBase = SnackbarBaseProps & LimitedQueueProviderBaseItem;
1401
+ interface SnackbarBasicProps extends SnackbarBase {
1402
+ onRemove?: () => void;
1403
+ }
1404
+ interface SnackbarFeedbackProps extends SnackbarBase {
1405
+ variant?: SnackbarVariant;
1406
+ onRemove?: () => void;
1407
+ }
1408
+ interface SnackbarItem extends SnackbarBase {
1409
+ type: SnackbarStyle;
1410
+ }
1411
+ interface SnackbarHandler {
1412
+ basic: (snackbarFnParam: SnackbarBaseProps) => void;
1413
+ positive: (snackbarFnParam: SnackbarBaseProps) => void;
1414
+ destructive: (snackbarFnParam: SnackbarBaseProps) => void;
1415
+ }
1416
+
1417
+ declare const Snackbar: {
1418
+ Basic: {
1419
+ ({ id, caption, prefixButtonProps, suffixButtonProps, title, onRemove, isClosing, }: SnackbarBasicProps): _emotion_react_jsx_runtime.JSX.Element;
1420
+ displayName: string;
1421
+ };
1422
+ Feedback: {
1423
+ ({ id, variant, caption, prefixButtonProps, suffixButtonProps, title, onRemove, isClosing, }: SnackbarFeedbackProps): _emotion_react_jsx_runtime.JSX.Element;
1424
+ displayName: string;
1425
+ };
1426
+ };
1427
+
1428
+ interface SnackbarContextType {
1429
+ snackbar: SnackbarHandler;
1430
+ removeSnackbar: (id: string) => void;
1431
+ }
1432
+ declare const SnackbarProvider: ({ children }: {
1433
+ children: ReactNode;
1434
+ }) => _emotion_react_jsx_runtime.JSX.Element;
1435
+ declare const useSnackbar: () => SnackbarContextType;
1436
+
1437
+ type SnackbarController = {
1438
+ setHandler: (handler: SnackbarHandler) => void;
1439
+ clearHandler: () => void;
1440
+ basic: SnackbarHandler["basic"];
1441
+ positive: SnackbarHandler["positive"];
1442
+ destructive: SnackbarHandler["destructive"];
1443
+ };
1444
+ declare const snackbarController: SnackbarController;
1445
+
1446
+ type AccordionSize = "lg" | "md" | "sm";
1447
+ type AccordionRootProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Root> & {
1448
+ isStretched?: boolean;
1449
+ withPrefixIcon?: boolean;
1450
+ size?: AccordionSize;
1451
+ };
1452
+ type AccordionItemProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>;
1453
+ type AccordionTriggerProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger> & {
1454
+ isStretched?: boolean;
1455
+ withPrefixIcon?: IconName | null;
1456
+ };
1457
+ type AccordionContentProps = ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>;
1458
+
1459
+ declare const Accordion: {
1460
+ Root: {
1461
+ ({ children, isStretched, size, ...props }: AccordionRootProps): _emotion_react_jsx_runtime.JSX.Element;
1462
+ displayName: string;
1463
+ };
1464
+ Item: react.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1465
+ Trigger: react.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>, "ref"> & {
1466
+ isStretched?: boolean;
1467
+ withPrefixIcon?: IconName | null;
1468
+ } & react.RefAttributes<HTMLButtonElement>>;
1469
+ Content: react.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & react.RefAttributes<HTMLDivElement>, "ref"> & react.RefAttributes<HTMLDivElement>>;
1470
+ };
1471
+
1472
+ declare const JDS_VERSION = "0.0.1";
1473
+
1474
+ export { Accordion, type AccordionContentProps, type AccordionItemProps, type AccordionRootProps, type AccordionTriggerProps, type BadgeSize, type BadgeStyle, type BadgeStyleWithoutBorder, Banner, type BannerBarProps, type BannerImageProps, type BannerProps, type BannerVariant, type BasicCalloutProps, type BasicHierarchy$1 as BasicHierarchy, BlockButton, type BlockButtonBasicProps, type BlockButtonFeedbackProps, type BlockButtonHierarchy, type BlockButtonSize, type BlockButtonStyle, Callout, Card, type CardBodyProps, type CardCaptionProps, type CardContentProps, type CardImageProps, type CardLabelProps, type CardLayout, type CardMetaItemProps, type CardMetaProps, type CardRootOwnProps, type CardStyle, type CardTitleProps, type CardVariant, Checkbox, type CheckboxAlign, type CheckboxBasicProps, type CheckboxBoxProps, type CheckboxContentProps, type CheckboxSize, type CheckboxVariant, type CheckedState, ContentBadge, type ContentBadgeBasicProps, type ContentBadgeStyle, type ContentFeedbackBadgeProps, type ContentThemeBadgeProps, Dialog, type DialogProps, Divider, type DividerOrientation, type DividerProps, type DividerThickness, type DividerVariant, DotBadge, DotBadgeFeedback, type DotBadgeFeedbackProps, EmptyState, type EmptyStateProps, type FeedbackCalloutProps, type FeedbackIntent, type FeedbackVariant, type FieldInputPublicProps, type FieldPublicProps, type FieldTextAreaPublicProps, FileItem, type FileItemProps, Footer, type FooterBottomProps, type FooterContentProps, type FooterHeaderProps, type FooterLink, type FooterLogoDivProps, type FooterLogoLinkProps, type FooterNavProps, type FooterRootProps, type FooterSection, type FooterSectionProps, type FooterSocialProps, GlobalNavigation, type GlobalNavigationBlockItemProps, type GlobalNavigationListProps, type GlobalNavigationLogoItemProps, type GlobalNavigationLogoLinkProps, type GlobalNavigationRootProps, type GlobalNavigationToggleItemProps, type GlobalNavigationVariant, Hero, type HeroProps, Icon, IconButton, type IconButtonBasicProps, type IconButtonFeedbackProps, type IconButtonHierarchy, type IconButtonIntent, type IconButtonSize, type IconName, type IconProps, type IconSize, Image, type ImageOwnProps, type ImgOrientation, type ImgRatio, Input, InputArea, type InputAreaLayout, type InputAreaProps, type InputAreaStatus, type InputAreaStyle, type InputAreaValidation, type InputLayout, type InputStyle, type InputValidation, JDS_VERSION, Label, LabelButton, type LabelButtonBasicProps, type LabelButtonFeedbackProps, type LabelButtonHierarchy, type LabelButtonIntent, type LabelButtonSize, type LabelOwnProps, LocalNavigation, type LocalNavigationBackButtonProps, type LocalNavigationButtonGroupProps, type LocalNavigationRootProps, type LocalNavigationTitleProps, Logo, type LogoHierarchy, type LogoProps, MegaMenu, type MegaMenuGroupItemProps, type MegaMenuGroupProps, type MegaMenuProps, type MegaMenuSectionProps, Menu, type MenuAnchorProps, type MenuButtonProps, type MenuCategoryProps, type MenuContentProps, type MenuGroupProps, MenuItem, type MenuItemAnchorProps, type MenuItemButtonProps, type MenuItemProps, type MenuItemSize, type MenuItemVariant, type MenuRootProps, type MenuSize, type MenuStyle, type MenuTrigger, NumericBadge, type NumericBadgeBasicProps, type NumericBadgeStyle, type NumericBasicBadgeProps, type PlateCompactPresetProps, type PlateWithLabelPresetProps, type PlateWithTitlePresetProps, type PostPresetProps, SegmentedControl, type SegmentedControlItemProps, type SegmentedControlRootProps, type SegmentedControlSize, Select, type SelectCheckboxProps, type SelectContextType, SelectField, type SelectFieldProps, type SelectLabelProps, type SelectProps, type SelectRadioProps, type SelectSize, type SelectValue, type SelectVariant, Snackbar, type SnackbarBase, type SnackbarBaseProps, type SnackbarBasicProps, type SnackbarButtonsProps, type SnackbarFeedbackProps, type SnackbarHandler, type SnackbarItem, SnackbarProvider, type SnackbarStyle, type SnackbarVariant, Step, type StepItemProps, type StepRootProps, type StepSize, type StepStatus, Tab, TabContent, type TabContentProps, TabList, type TabListProps, TabRoot, type TabRootProps, TabTrigger, type TabTriggerProps, type TabVariant, type Tag, TagField, type TagFieldProps, TextField, type TextFieldButtonProps, type TextFieldProps, type TextFieldPublicProps, type ThemeVariant, Title, type TitleProps, Toast, type ToastBaseProps, type ToastFeedbackProps, type ToastHandler, type ToastItem, ToastProvider, type ToastStyle, Tooltip, type TooltipContentProps, type TooltipProps, type TooltipTriggerProps, type UploadError, type UploadErrorType, Uploader, type UploaderFileButtonProps, type UploaderFileProps, type UploaderImageButtonProps, type UploaderImageProps, type UploaderOptions, snackbarController, toastController, useGlobalNavigationVariant, useSnackbar, useToast };