@exem-ui/react 0.1.0-next.bf3c711 → 0.1.0-next.ef0891e

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.
Files changed (261) hide show
  1. package/dist/index.d.mts +1166 -37
  2. package/dist/index.d.ts +1166 -37
  3. package/dist/index.js +3055 -130
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +3016 -27
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +1 -121
  8. package/dist/Button-CMenVfb7.d.mts +0 -35
  9. package/dist/Button-CMenVfb7.d.ts +0 -35
  10. package/dist/Select-DMvWV_rF.d.mts +0 -94
  11. package/dist/Select-DMvWV_rF.d.ts +0 -94
  12. package/dist/avatar/index.d.mts +0 -37
  13. package/dist/avatar/index.d.ts +0 -37
  14. package/dist/avatar/index.js +0 -13
  15. package/dist/avatar/index.js.map +0 -1
  16. package/dist/avatar/index.mjs +0 -4
  17. package/dist/avatar/index.mjs.map +0 -1
  18. package/dist/badge/index.d.mts +0 -29
  19. package/dist/badge/index.d.ts +0 -29
  20. package/dist/badge/index.js +0 -12
  21. package/dist/badge/index.js.map +0 -1
  22. package/dist/badge/index.mjs +0 -3
  23. package/dist/badge/index.mjs.map +0 -1
  24. package/dist/breadcrumb/index.d.mts +0 -43
  25. package/dist/breadcrumb/index.d.ts +0 -43
  26. package/dist/breadcrumb/index.js +0 -13
  27. package/dist/breadcrumb/index.js.map +0 -1
  28. package/dist/breadcrumb/index.mjs +0 -4
  29. package/dist/breadcrumb/index.mjs.map +0 -1
  30. package/dist/button/index.d.mts +0 -9
  31. package/dist/button/index.d.ts +0 -9
  32. package/dist/button/index.js +0 -29
  33. package/dist/button/index.js.map +0 -1
  34. package/dist/button/index.mjs +0 -12
  35. package/dist/button/index.mjs.map +0 -1
  36. package/dist/checkbox/index.d.mts +0 -54
  37. package/dist/checkbox/index.d.ts +0 -54
  38. package/dist/checkbox/index.js +0 -13
  39. package/dist/checkbox/index.js.map +0 -1
  40. package/dist/checkbox/index.mjs +0 -4
  41. package/dist/checkbox/index.mjs.map +0 -1
  42. package/dist/chunk-34QIGWCT.mjs +0 -10
  43. package/dist/chunk-34QIGWCT.mjs.map +0 -1
  44. package/dist/chunk-3FPMWAQT.js +0 -30
  45. package/dist/chunk-3FPMWAQT.js.map +0 -1
  46. package/dist/chunk-3HMT3DQV.js +0 -104
  47. package/dist/chunk-3HMT3DQV.js.map +0 -1
  48. package/dist/chunk-4WAO7CUT.mjs +0 -95
  49. package/dist/chunk-4WAO7CUT.mjs.map +0 -1
  50. package/dist/chunk-5QX4TO4F.js +0 -61
  51. package/dist/chunk-5QX4TO4F.js.map +0 -1
  52. package/dist/chunk-5TEFN2CW.js +0 -97
  53. package/dist/chunk-5TEFN2CW.js.map +0 -1
  54. package/dist/chunk-5TES5PG6.js +0 -41
  55. package/dist/chunk-5TES5PG6.js.map +0 -1
  56. package/dist/chunk-5TVMECVF.js +0 -148
  57. package/dist/chunk-5TVMECVF.js.map +0 -1
  58. package/dist/chunk-5WGNZX7Z.mjs +0 -27
  59. package/dist/chunk-5WGNZX7Z.mjs.map +0 -1
  60. package/dist/chunk-AQ3OIM2T.js +0 -103
  61. package/dist/chunk-AQ3OIM2T.js.map +0 -1
  62. package/dist/chunk-AU5NTBK3.js +0 -361
  63. package/dist/chunk-AU5NTBK3.js.map +0 -1
  64. package/dist/chunk-DJHGCJR4.mjs +0 -224
  65. package/dist/chunk-DJHGCJR4.mjs.map +0 -1
  66. package/dist/chunk-DPUTW5KD.mjs +0 -74
  67. package/dist/chunk-DPUTW5KD.mjs.map +0 -1
  68. package/dist/chunk-E53FHDVN.mjs +0 -336
  69. package/dist/chunk-E53FHDVN.mjs.map +0 -1
  70. package/dist/chunk-ECRQD7UU.js +0 -82
  71. package/dist/chunk-ECRQD7UU.js.map +0 -1
  72. package/dist/chunk-FB4ESGOX.mjs +0 -59
  73. package/dist/chunk-FB4ESGOX.mjs.map +0 -1
  74. package/dist/chunk-FDX4IQK5.js +0 -76
  75. package/dist/chunk-FDX4IQK5.js.map +0 -1
  76. package/dist/chunk-FOMIUDRM.js +0 -96
  77. package/dist/chunk-FOMIUDRM.js.map +0 -1
  78. package/dist/chunk-FR5F3VTU.js +0 -139
  79. package/dist/chunk-FR5F3VTU.js.map +0 -1
  80. package/dist/chunk-GW53LH3I.mjs +0 -81
  81. package/dist/chunk-GW53LH3I.mjs.map +0 -1
  82. package/dist/chunk-GXMRIT5E.mjs +0 -94
  83. package/dist/chunk-GXMRIT5E.mjs.map +0 -1
  84. package/dist/chunk-IANSI7F7.mjs +0 -393
  85. package/dist/chunk-IANSI7F7.mjs.map +0 -1
  86. package/dist/chunk-IDM6MZHF.js +0 -415
  87. package/dist/chunk-IDM6MZHF.js.map +0 -1
  88. package/dist/chunk-J5ZYQ3TP.js +0 -104
  89. package/dist/chunk-J5ZYQ3TP.js.map +0 -1
  90. package/dist/chunk-KPAUBWZA.mjs +0 -39
  91. package/dist/chunk-KPAUBWZA.mjs.map +0 -1
  92. package/dist/chunk-L7P2NDST.mjs +0 -124
  93. package/dist/chunk-L7P2NDST.mjs.map +0 -1
  94. package/dist/chunk-M6OWN7QH.js +0 -118
  95. package/dist/chunk-M6OWN7QH.js.map +0 -1
  96. package/dist/chunk-MQVHREEI.js +0 -448
  97. package/dist/chunk-MQVHREEI.js.map +0 -1
  98. package/dist/chunk-MT47ECUN.js +0 -127
  99. package/dist/chunk-MT47ECUN.js.map +0 -1
  100. package/dist/chunk-N6U54JI4.mjs +0 -126
  101. package/dist/chunk-N6U54JI4.mjs.map +0 -1
  102. package/dist/chunk-NDG4LR3Q.js +0 -139
  103. package/dist/chunk-NDG4LR3Q.js.map +0 -1
  104. package/dist/chunk-PPD4BU4W.mjs +0 -80
  105. package/dist/chunk-PPD4BU4W.mjs.map +0 -1
  106. package/dist/chunk-PU5NO5EZ.js +0 -4
  107. package/dist/chunk-PU5NO5EZ.js.map +0 -1
  108. package/dist/chunk-Q442ZDTI.mjs +0 -117
  109. package/dist/chunk-Q442ZDTI.mjs.map +0 -1
  110. package/dist/chunk-QH23RO3C.mjs +0 -137
  111. package/dist/chunk-QH23RO3C.mjs.map +0 -1
  112. package/dist/chunk-REBHUF4L.js +0 -226
  113. package/dist/chunk-REBHUF4L.js.map +0 -1
  114. package/dist/chunk-RGB3QLQT.js +0 -275
  115. package/dist/chunk-RGB3QLQT.js.map +0 -1
  116. package/dist/chunk-T7U2QRLC.js +0 -94
  117. package/dist/chunk-T7U2QRLC.js.map +0 -1
  118. package/dist/chunk-TEHHJ3CS.mjs +0 -73
  119. package/dist/chunk-TEHHJ3CS.mjs.map +0 -1
  120. package/dist/chunk-TJY4MIBC.js +0 -117
  121. package/dist/chunk-TJY4MIBC.js.map +0 -1
  122. package/dist/chunk-VCMZQOQM.mjs +0 -102
  123. package/dist/chunk-VCMZQOQM.mjs.map +0 -1
  124. package/dist/chunk-VKN4H4WI.mjs +0 -3
  125. package/dist/chunk-VKN4H4WI.mjs.map +0 -1
  126. package/dist/chunk-VSB25XTY.js +0 -12
  127. package/dist/chunk-VSB25XTY.js.map +0 -1
  128. package/dist/chunk-VWTE74UT.mjs +0 -96
  129. package/dist/chunk-VWTE74UT.mjs.map +0 -1
  130. package/dist/chunk-WBTL7PBV.js +0 -105
  131. package/dist/chunk-WBTL7PBV.js.map +0 -1
  132. package/dist/chunk-WOK3EP3O.js +0 -83
  133. package/dist/chunk-WOK3EP3O.js.map +0 -1
  134. package/dist/chunk-WWT73GGM.mjs +0 -83
  135. package/dist/chunk-WWT73GGM.mjs.map +0 -1
  136. package/dist/chunk-XBDXTRK3.mjs +0 -102
  137. package/dist/chunk-XBDXTRK3.mjs.map +0 -1
  138. package/dist/chunk-YGBEKZWU.mjs +0 -81
  139. package/dist/chunk-YGBEKZWU.mjs.map +0 -1
  140. package/dist/chunk-YVFLRPFV.mjs +0 -72
  141. package/dist/chunk-YVFLRPFV.mjs.map +0 -1
  142. package/dist/chunk-ZMVBIQ2Z.mjs +0 -253
  143. package/dist/chunk-ZMVBIQ2Z.mjs.map +0 -1
  144. package/dist/chunk-ZWCMSHDP.mjs +0 -425
  145. package/dist/chunk-ZWCMSHDP.mjs.map +0 -1
  146. package/dist/flat/index.d.mts +0 -13
  147. package/dist/flat/index.d.ts +0 -13
  148. package/dist/flat/index.js +0 -31
  149. package/dist/flat/index.js.map +0 -1
  150. package/dist/flat/index.mjs +0 -10
  151. package/dist/flat/index.mjs.map +0 -1
  152. package/dist/flat/segment.d.mts +0 -39
  153. package/dist/flat/segment.d.ts +0 -39
  154. package/dist/flat/segment.js +0 -13
  155. package/dist/flat/segment.js.map +0 -1
  156. package/dist/flat/segment.mjs +0 -4
  157. package/dist/flat/segment.mjs.map +0 -1
  158. package/dist/flat/select.d.mts +0 -58
  159. package/dist/flat/select.d.ts +0 -58
  160. package/dist/flat/select.js +0 -14
  161. package/dist/flat/select.js.map +0 -1
  162. package/dist/flat/select.mjs +0 -5
  163. package/dist/flat/select.mjs.map +0 -1
  164. package/dist/flat/tooltip.d.mts +0 -98
  165. package/dist/flat/tooltip.d.ts +0 -98
  166. package/dist/flat/tooltip.js +0 -17
  167. package/dist/flat/tooltip.js.map +0 -1
  168. package/dist/flat/tooltip.mjs +0 -4
  169. package/dist/flat/tooltip.mjs.map +0 -1
  170. package/dist/index-CXip5Wb1.d.mts +0 -62
  171. package/dist/index-Drz3P-6Y.d.ts +0 -62
  172. package/dist/input/index.d.mts +0 -82
  173. package/dist/input/index.d.ts +0 -82
  174. package/dist/input/index.js +0 -22
  175. package/dist/input/index.js.map +0 -1
  176. package/dist/input/index.mjs +0 -5
  177. package/dist/input/index.mjs.map +0 -1
  178. package/dist/loading/index.d.mts +0 -54
  179. package/dist/loading/index.d.ts +0 -54
  180. package/dist/loading/index.js +0 -12
  181. package/dist/loading/index.js.map +0 -1
  182. package/dist/loading/index.mjs +0 -3
  183. package/dist/loading/index.mjs.map +0 -1
  184. package/dist/messageBox/index.d.mts +0 -33
  185. package/dist/messageBox/index.d.ts +0 -33
  186. package/dist/messageBox/index.js +0 -13
  187. package/dist/messageBox/index.js.map +0 -1
  188. package/dist/messageBox/index.mjs +0 -4
  189. package/dist/messageBox/index.mjs.map +0 -1
  190. package/dist/modal/index.d.mts +0 -97
  191. package/dist/modal/index.d.ts +0 -97
  192. package/dist/modal/index.js +0 -15
  193. package/dist/modal/index.js.map +0 -1
  194. package/dist/modal/index.mjs +0 -6
  195. package/dist/modal/index.mjs.map +0 -1
  196. package/dist/picker/index.d.mts +0 -12
  197. package/dist/picker/index.d.ts +0 -12
  198. package/dist/picker/index.js +0 -13
  199. package/dist/picker/index.js.map +0 -1
  200. package/dist/picker/index.mjs +0 -4
  201. package/dist/picker/index.mjs.map +0 -1
  202. package/dist/progress/index.d.mts +0 -36
  203. package/dist/progress/index.d.ts +0 -36
  204. package/dist/progress/index.js +0 -12
  205. package/dist/progress/index.js.map +0 -1
  206. package/dist/progress/index.mjs +0 -3
  207. package/dist/progress/index.mjs.map +0 -1
  208. package/dist/radio/index.d.mts +0 -39
  209. package/dist/radio/index.d.ts +0 -39
  210. package/dist/radio/index.js +0 -12
  211. package/dist/radio/index.js.map +0 -1
  212. package/dist/radio/index.mjs +0 -3
  213. package/dist/radio/index.mjs.map +0 -1
  214. package/dist/scrollArea/index.d.mts +0 -31
  215. package/dist/scrollArea/index.d.ts +0 -31
  216. package/dist/scrollArea/index.js +0 -16
  217. package/dist/scrollArea/index.js.map +0 -1
  218. package/dist/scrollArea/index.mjs +0 -3
  219. package/dist/scrollArea/index.mjs.map +0 -1
  220. package/dist/segment/index.d.mts +0 -46
  221. package/dist/segment/index.d.ts +0 -46
  222. package/dist/segment/index.js +0 -12
  223. package/dist/segment/index.js.map +0 -1
  224. package/dist/segment/index.mjs +0 -3
  225. package/dist/segment/index.mjs.map +0 -1
  226. package/dist/star/index.d.mts +0 -30
  227. package/dist/star/index.d.ts +0 -30
  228. package/dist/star/index.js +0 -12
  229. package/dist/star/index.js.map +0 -1
  230. package/dist/star/index.mjs +0 -3
  231. package/dist/star/index.mjs.map +0 -1
  232. package/dist/switch/index.d.mts +0 -32
  233. package/dist/switch/index.d.ts +0 -32
  234. package/dist/switch/index.js +0 -12
  235. package/dist/switch/index.js.map +0 -1
  236. package/dist/switch/index.mjs +0 -3
  237. package/dist/switch/index.mjs.map +0 -1
  238. package/dist/tabs/index.d.mts +0 -52
  239. package/dist/tabs/index.d.ts +0 -52
  240. package/dist/tabs/index.js +0 -12
  241. package/dist/tabs/index.js.map +0 -1
  242. package/dist/tabs/index.mjs +0 -3
  243. package/dist/tabs/index.mjs.map +0 -1
  244. package/dist/tag/index.d.mts +0 -68
  245. package/dist/tag/index.d.ts +0 -68
  246. package/dist/tag/index.js +0 -17
  247. package/dist/tag/index.js.map +0 -1
  248. package/dist/tag/index.mjs +0 -4
  249. package/dist/tag/index.mjs.map +0 -1
  250. package/dist/toast/index.d.mts +0 -175
  251. package/dist/toast/index.d.ts +0 -175
  252. package/dist/toast/index.js +0 -25
  253. package/dist/toast/index.js.map +0 -1
  254. package/dist/toast/index.mjs +0 -4
  255. package/dist/toast/index.mjs.map +0 -1
  256. package/dist/tooltip/index.d.mts +0 -26
  257. package/dist/tooltip/index.d.ts +0 -26
  258. package/dist/tooltip/index.js +0 -12
  259. package/dist/tooltip/index.js.map +0 -1
  260. package/dist/tooltip/index.mjs +0 -3
  261. package/dist/tooltip/index.mjs.map +0 -1
package/dist/index.d.mts CHANGED
@@ -1,37 +1,1166 @@
1
- export { Avatar, AvatarComponent, AvatarProps } from './avatar/index.mjs';
2
- export { Badge, BadgeComponent, BadgeProps } from './badge/index.mjs';
3
- export { Star, StarComponent, StarProps } from './star/index.mjs';
4
- export { DoubleTag, DoubleTagProps, Tag, TagColor, TagComponent, TagProps } from './tag/index.mjs';
5
- export { Breadcrumb, BreadcrumbComponent, BreadcrumbEllipsisProps, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbRootProps, BreadcrumbSeparatorProps } from './breadcrumb/index.mjs';
6
- export { Tabs, TabsComponent, TabsContentProps, TabsListProps, TabsRootProps, TabsTriggerProps } from './tabs/index.mjs';
7
- export { B as Button, a as ButtonComponent, b as ButtonProps } from './Button-CMenVfb7.mjs';
8
- export { B as ButtonGroup, a as ButtonGroupComponent, b as ButtonGroupItem, c as ButtonGroupProps, I as IconButton, d as IconButtonComponent, e as IconButtonProps } from './index-CXip5Wb1.mjs';
9
- export { Checkbox, CheckboxComponent, CheckboxProps } from './checkbox/index.mjs';
10
- export { Radio, RadioComponent, RadioItemProps, RadioRootProps } from './radio/index.mjs';
11
- export { Switch, SwitchComponent, SwitchProps } from './switch/index.mjs';
12
- export { DatePicker, DatePickerProps } from './picker/index.mjs';
13
- export { S as Select, a as SelectBoxProps, b as SelectComponent, c as SelectDescriptionProps, d as SelectEmptyProps, e as SelectGroupProps, f as SelectItemProps, g as SelectLabelProps, h as SelectListProps, i as SelectRootProps, j as SelectTriggerProps } from './Select-DMvWV_rF.mjs';
14
- export { TextArea, TextAreaComponent, TextAreaDescriptionProps, TextAreaFieldProps, TextAreaLabelProps, TextAreaRootProps, TextField, TextFieldComponent, TextFieldDescriptionProps, TextFieldInputProps, TextFieldLabelProps, TextFieldRootProps } from './input/index.mjs';
15
- export { Segment, SegmentComponent, SegmentContentProps, SegmentItemProps, SegmentListProps, SegmentRootProps } from './segment/index.mjs';
16
- export { ScrollArea, ScrollAreaProps, ScrollBar } from './scrollArea/index.mjs';
17
- export { Modal, ModalActionsProps, ModalBodyProps, ModalCloseProps, ModalComponent, ModalContentProps, ModalDescriptionProps, ModalFooterDescriptionProps, ModalFooterProps, ModalHeaderProps, ModalOverlayProps, ModalPortalProps, ModalRootProps, ModalTitleProps, ModalTriggerProps } from './modal/index.mjs';
18
- export { MessageBox, MessageBoxActionProps, MessageBoxActionsProps, MessageBoxCancelProps, MessageBoxComponent, MessageBoxContentProps, MessageBoxDescriptionProps, MessageBoxRootProps, MessageBoxTitleProps, MessageBoxTriggerProps, MessageBoxVariant } from './messageBox/index.mjs';
19
- export { Tooltip, TooltipComponent, TooltipContentProps, TooltipDescriptionProps, TooltipProviderProps, TooltipRootProps, TooltipTitleProps, TooltipTriggerProps } from './tooltip/index.mjs';
20
- export { Loading, LoadingComponent, LoadingProps } from './loading/index.mjs';
21
- export { Progress, ProgressComponent, ProgressProps } from './progress/index.mjs';
22
- export { ExtendedExternalToast, SonnerToastOptions, ToastAction, ToastInput, ToastOptions, ToastProvider, ToastProviderProps, Toaster, ToasterActionProps, ToasterComponent, ToasterContainerProps, ToasterDescriptionProps, ToasterIconProps, ToasterRootProps, ToasterTitleProps, toast, useToast } from './toast/index.mjs';
23
- import 'class-variance-authority/types';
24
- import '@exem-ui/core/utils';
25
- import 'react';
26
- import '@radix-ui/react-tabs';
27
- import './flat/tooltip.mjs';
28
- import 'react/jsx-runtime';
29
- import '@radix-ui/react-checkbox';
30
- import '@radix-ui/react-radio-group';
31
- import '@radix-ui/react-switch';
32
- import 'react-day-picker';
33
- import '@radix-ui/react-select';
34
- import '@radix-ui/react-scroll-area';
35
- import '@radix-ui/react-dialog';
36
- import '@radix-ui/react-tooltip';
37
- import 'sonner';
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import { VariantProps } from '@exem-ui/core/utils';
3
+ import * as React$1 from 'react';
4
+ import React__default, { ComponentProps } from 'react';
5
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
6
+ import * as react_jsx_runtime from 'react/jsx-runtime';
7
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
8
+ import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
9
+ import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
10
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
11
+ import { DayPicker } from 'react-day-picker';
12
+ import * as SelectPrimitive from '@radix-ui/react-select';
13
+ import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
14
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
15
+ import { Toaster as Toaster$1, ExternalToast, toast as toast$1 } from 'sonner';
16
+
17
+ interface AvatarProps extends React__default.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarVariants> {
18
+ /** 사용자 이름. 이미지가 없을 이니셜 폴백에 사용됩니다. */
19
+ name?: string;
20
+ /** 아바타 이미지 URL */
21
+ src?: string;
22
+ /** 이미지 대체 텍스트 */
23
+ alt?: string;
24
+ }
25
+ type AvatarComponent = React__default.ForwardRefExoticComponent<AvatarProps & React__default.RefAttributes<HTMLDivElement>>;
26
+ declare const avatarVariants: (props?: ({
27
+ size?: "small" | "xsmall" | "medium" | "large" | null | undefined;
28
+ type?: "image" | "initial" | null | undefined;
29
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
30
+ /**
31
+ * 사용자 아바타를 표시하는 컴포넌트입니다. 이니셜, 이미지, 아이콘 폴백을 지원합니다.
32
+ *
33
+ * @example
34
+ * ```tsx
35
+ * // 이니셜 표시
36
+ * <Avatar name="홍길동" size="large" />
37
+ *
38
+ * // 이미지 표시
39
+ * <Avatar type="image" src="/avatar.png" name="홍길동" />
40
+ *
41
+ * // 이미지 없을 때 아이콘 폴백
42
+ * <Avatar type="image" name="홍길동" />
43
+ * ```
44
+ *
45
+ * @see {@link AvatarProps} props 상세
46
+ */
47
+ declare const Avatar: AvatarComponent;
48
+
49
+ interface BadgeProps extends React__default.HTMLAttributes<HTMLDivElement> {
50
+ /**
51
+ * 배지 스타일 변형
52
+ * @default 'default'
53
+ */
54
+ variant?: 'default' | 'accent';
55
+ /**
56
+ * 비활성화 상태
57
+ * @default false
58
+ */
59
+ disabled?: boolean;
60
+ }
61
+ type BadgeComponent = React__default.ForwardRefExoticComponent<BadgeProps & React__default.RefAttributes<HTMLDivElement>>;
62
+ /**
63
+ * 상태나 카운트를 표시하는 배지 컴포넌트입니다.
64
+ *
65
+ * @example
66
+ * ```tsx
67
+ * <Badge variant="accent">3</Badge>
68
+ * <Badge variant="default" disabled>0</Badge>
69
+ * ```
70
+ *
71
+ * @see {@link BadgeProps} props 상세
72
+ */
73
+ declare const Badge: BadgeComponent;
74
+
75
+ interface StarProps extends React__default.SVGProps<SVGSVGElement> {
76
+ /**
77
+ * 별 아이콘 크기
78
+ * @default 'medium'
79
+ */
80
+ size?: 'small' | 'medium' | 'large';
81
+ /**
82
+ * 선택(채워짐) 상태 여부
83
+ * @default false
84
+ */
85
+ selected?: boolean;
86
+ /** 클릭 이벤트 핸들러 */
87
+ onClick?: (event: React__default.MouseEvent<SVGSVGElement>) => void;
88
+ }
89
+ type StarComponent = React__default.ForwardRefExoticComponent<Omit<StarProps, 'ref'> & React__default.RefAttributes<SVGSVGElement>>;
90
+ /**
91
+ * 별점 평가에 사용되는 Star 아이콘 컴포넌트입니다.
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * <Star selected size="medium" onClick={() => console.log('clicked')} />
96
+ * ```
97
+ *
98
+ * @see {@link StarProps} props 상세
99
+ */
100
+ declare const Star: StarComponent;
101
+
102
+ type TagColor = VariantProps<typeof tagVariants>['color'];
103
+ interface TagProps extends Pick<React__default.HTMLAttributes<HTMLDivElement>, 'className' | 'children' | 'style'>, VariantProps<typeof tagVariants> {
104
+ /** 텍스트 왼쪽에 표시할 아이콘 */
105
+ leftIcon?: React__default.ReactElement<{
106
+ className?: string;
107
+ }>;
108
+ /**
109
+ * 삭제 아이콘 표시 여부
110
+ * @default false
111
+ */
112
+ canDelete?: boolean;
113
+ /** 삭제 버튼 클릭 핸들러 */
114
+ onDelete?: () => void;
115
+ /** 텍스트 오른쪽에 표시할 슬롯 요소 */
116
+ rightSlot?: React__default.ReactNode;
117
+ }
118
+ type TagComponent = React__default.ForwardRefExoticComponent<TagProps & React__default.RefAttributes<HTMLDivElement>>;
119
+ interface DoubleTagProps {
120
+ /** 표시할 태그 항목 배열 (각 항목은 color와 content를 가짐) */
121
+ items: {
122
+ color: TagColor;
123
+ content: React__default.ReactNode;
124
+ }[];
125
+ className?: string;
126
+ }
127
+ declare const tagVariants: (props?: ({
128
+ color?: "mono" | "sky" | "red" | "amber" | "green" | "orange" | "cyan" | "violet" | "pink" | "yellow" | "lime" | "emerald" | "teal" | "blue" | "indigo" | "purple" | "fuchsia" | "rose" | null | undefined;
129
+ type?: "fill" | "line" | null | undefined;
130
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
131
+ /**
132
+ * 카테고리나 상태를 나타내는 라벨 컴포넌트입니다.
133
+ * 18가지 색상과 `fill`/`line` 타입을 지원합니다.
134
+ *
135
+ * @example
136
+ * ```tsx
137
+ * <Tag color="sky">라벨</Tag>
138
+ * <Tag color="red" type="line">경고</Tag>
139
+ * <Tag color="green" canDelete onDelete={handleDelete}>삭제 가능</Tag>
140
+ * <Tag color="blue" leftIcon={<StarIcon type="regular" />}>아이콘 태그</Tag>
141
+ * <Tag color="blue" rightSlot={<Icon />}>커스텀 슬롯</Tag>
142
+ * ```
143
+ *
144
+ * @see {@link TagProps} props 상세
145
+ */
146
+ declare const Tag: React__default.ForwardRefExoticComponent<TagProps & React__default.RefAttributes<HTMLDivElement>>;
147
+ /**
148
+ * 두 개의 태그를 나란히 연결하여 키-값 쌍을 표시하는 컴포넌트입니다.
149
+ * 각 태그는 `line` 타입으로 렌더링되며, 사이에 구분선이 표시됩니다.
150
+ *
151
+ * @example
152
+ * ```tsx
153
+ * <DoubleTag
154
+ * items={[
155
+ * { color: 'blue', content: '카테고리' },
156
+ * { color: 'red', content: '긴급' },
157
+ * ]}
158
+ * />
159
+ * ```
160
+ *
161
+ * @see {@link DoubleTagProps} props 상세
162
+ */
163
+ declare const DoubleTag: React__default.ForwardRefExoticComponent<DoubleTagProps & React__default.RefAttributes<HTMLDivElement>>;
164
+
165
+ type BreadcrumbRootProps = React__default.ComponentPropsWithoutRef<'nav'>;
166
+ type BreadcrumbListProps = React__default.ComponentPropsWithoutRef<'ol'>;
167
+ type BreadcrumbItemProps = React__default.ComponentPropsWithoutRef<'li'>;
168
+ type BreadcrumbLinkProps = React__default.ComponentPropsWithoutRef<'a'> & {
169
+ asChild?: boolean;
170
+ };
171
+ type BreadcrumbPageProps = React__default.ComponentPropsWithoutRef<'span'>;
172
+ type BreadcrumbSeparatorProps = React__default.ComponentProps<'li'>;
173
+ type BreadcrumbEllipsisProps = React__default.ComponentProps<'span'>;
174
+ type BreadcrumbComponent = React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbRootProps> & React__default.RefAttributes<HTMLElement>> & {
175
+ List: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbListProps> & React__default.RefAttributes<HTMLOListElement>>;
176
+ Item: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbItemProps> & React__default.RefAttributes<HTMLLIElement>>;
177
+ Link: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbLinkProps> & React__default.RefAttributes<HTMLAnchorElement>>;
178
+ Page: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbPageProps> & React__default.RefAttributes<HTMLSpanElement>>;
179
+ Separator: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbSeparatorProps> & React__default.RefAttributes<HTMLLIElement>>;
180
+ Ellipsis: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<BreadcrumbEllipsisProps> & React__default.RefAttributes<HTMLSpanElement>>;
181
+ };
182
+ /**
183
+ * 현재 페이지의 계층 위치를 표시하는 탐색 경로 컴포넌트입니다.
184
+ * Compound Component 패턴으로 하위 컴포넌트와 함께 사용합니다.
185
+ *
186
+ * @example
187
+ * ```tsx
188
+ * <Breadcrumb>
189
+ * <Breadcrumb.List>
190
+ * <Breadcrumb.Item>
191
+ * <Breadcrumb.Link href="/">홈</Breadcrumb.Link>
192
+ * </Breadcrumb.Item>
193
+ * <Breadcrumb.Separator />
194
+ * <Breadcrumb.Item>
195
+ * <Breadcrumb.Page>현재 페이지</Breadcrumb.Page>
196
+ * </Breadcrumb.Item>
197
+ * </Breadcrumb.List>
198
+ * </Breadcrumb>
199
+ * ```
200
+ *
201
+ * @see {@link BreadcrumbRootProps} props 상세
202
+ */
203
+ declare const Breadcrumb: BreadcrumbComponent;
204
+
205
+ type TabsType = 'primary' | 'secondary';
206
+ type TabsRootProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
207
+ /**
208
+ * 탭 스타일 유형
209
+ * @default 'primary'
210
+ */
211
+ type?: TabsType;
212
+ };
213
+ type TabsListProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
214
+ type TabsTriggerProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
215
+ /** 텍스트 왼쪽에 표시할 아이콘 요소 */
216
+ leftIcon?: React__default.ReactElement<{
217
+ className?: string;
218
+ }>;
219
+ /** 텍스트 오른쪽에 표시할 아이콘 요소 */
220
+ rightIcon?: React__default.ReactElement<{
221
+ className?: string;
222
+ }>;
223
+ /** 탭 라벨 옆에 표시할 배지 텍스트 */
224
+ badge?: string | number;
225
+ };
226
+ type TabsContentProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
227
+ type TabsComponent = React__default.ForwardRefExoticComponent<TabsRootProps & React__default.RefAttributes<React__default.ElementRef<typeof TabsPrimitive.Root>>> & {
228
+ List: React__default.ForwardRefExoticComponent<TabsListProps>;
229
+ Trigger: React__default.ForwardRefExoticComponent<TabsTriggerProps>;
230
+ Content: React__default.ForwardRefExoticComponent<TabsContentProps>;
231
+ };
232
+ /**
233
+ * 탭 형태의 콘텐츠 전환 컴포넌트입니다.
234
+ * Compound Component 패턴으로 `Tabs.List`, `Tabs.Trigger`, `Tabs.Content`와 함께 사용합니다.
235
+ *
236
+ * @example
237
+ * ```tsx
238
+ * <Tabs defaultValue="tab1" type="primary">
239
+ * <Tabs.List>
240
+ * <Tabs.Trigger value="tab1">첫 번째</Tabs.Trigger>
241
+ * <Tabs.Trigger value="tab2">두 번째</Tabs.Trigger>
242
+ * </Tabs.List>
243
+ * <Tabs.Content value="tab1">첫 번째 내용</Tabs.Content>
244
+ * <Tabs.Content value="tab2">두 번째 내용</Tabs.Content>
245
+ * </Tabs>
246
+ * ```
247
+ *
248
+ * @see {@link TabsRootProps} 루트 props 상세
249
+ * @see {@link TabsTriggerProps} 트리거 props 상세
250
+ */
251
+ declare const Tabs: TabsComponent;
252
+
253
+ type ButtonColorVariantCombination = {
254
+ color?: 'primary';
255
+ variant?: 'contained' | 'outlined' | 'invisible';
256
+ } | {
257
+ color?: 'accent';
258
+ variant?: 'contained' | 'outlined' | 'invisible';
259
+ } | {
260
+ color?: 'critical';
261
+ variant?: 'contained' | 'outlined' | 'invisible';
262
+ } | {
263
+ color?: 'assistive';
264
+ variant?: 'contained';
265
+ } | {
266
+ color?: 'inverse';
267
+ variant?: 'contained';
268
+ };
269
+ type ButtonProps = React__default.ButtonHTMLAttributes<HTMLButtonElement> & Omit<VariantProps<typeof buttonVariants>, 'variant' | 'color'> & ButtonColorVariantCombination & {
270
+ size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
271
+ icon?: React__default.ReactElement<{
272
+ className?: string;
273
+ }>;
274
+ };
275
+ type ButtonComponent = React__default.ForwardRefExoticComponent<ButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
276
+ declare const buttonVariants: (props?: ({
277
+ color?: "accent" | "primary" | "critical" | "assistive" | "inverse" | null | undefined;
278
+ size?: "small" | "xsmall" | "medium" | "large" | "xlarge" | null | undefined;
279
+ variant?: "contained" | "outlined" | "invisible" | null | undefined;
280
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
281
+ declare const Button: ButtonComponent;
282
+
283
+ type SegmentSize = 'small' | 'medium' | 'large';
284
+ type SegmentListProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
285
+ type SegmentItemProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
286
+ /** 텍스트 왼쪽에 표시할 아이콘 요소 */
287
+ leftIcon?: React__default.ReactElement<{
288
+ className?: string;
289
+ }>;
290
+ };
291
+ type SegmentContentProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
292
+ type SegmentRootProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
293
+ /**
294
+ * 세그먼트 크기
295
+ * @default 'medium'
296
+ */
297
+ size?: SegmentSize;
298
+ };
299
+ type SegmentComponent = React__default.ForwardRefExoticComponent<SegmentRootProps & React__default.RefAttributes<React__default.ElementRef<typeof TabsPrimitive.Root>>> & {
300
+ List: React__default.ForwardRefExoticComponent<SegmentListProps>;
301
+ Item: React__default.ForwardRefExoticComponent<SegmentItemProps>;
302
+ Content: React__default.ForwardRefExoticComponent<SegmentContentProps>;
303
+ };
304
+ /**
305
+ * 탭 형태의 세그먼트 컨트롤 컴포넌트입니다.
306
+ * Compound Component 패턴으로 `Segment.List`, `Segment.Item`, `Segment.Content`와 함께 사용합니다.
307
+ *
308
+ * @example
309
+ * ```tsx
310
+ * <Segment defaultValue="tab1" size="medium">
311
+ * <Segment.List>
312
+ * <Segment.Item value="tab1">첫 번째</Segment.Item>
313
+ * <Segment.Item value="tab2">두 번째</Segment.Item>
314
+ * </Segment.List>
315
+ * <Segment.Content value="tab1">첫 번째 내용</Segment.Content>
316
+ * <Segment.Content value="tab2">두 번째 내용</Segment.Content>
317
+ * </Segment>
318
+ * ```
319
+ *
320
+ * @see {@link SegmentRootProps} 루트 props 상세
321
+ * @see {@link SegmentItemProps} 아이템 props 상세
322
+ */
323
+ declare const Segment: SegmentComponent;
324
+
325
+ type Size = 'xsmall' | 'small' | 'medium' | 'large';
326
+ type Variant = 'fill' | 'line';
327
+ type Icon = React.ReactElement<{
328
+ className?: string;
329
+ }>;
330
+
331
+ /** Select 라벨 Props */
332
+ type SelectLabelProps = {
333
+ children: React$1.ReactNode;
334
+ required?: boolean;
335
+ size?: Size;
336
+ className?: string;
337
+ };
338
+ /** Select 트리거 Props */
339
+ type SelectTriggerProps = {
340
+ children?: React$1.ReactNode;
341
+ /** 트리거 왼쪽에 표시할 아이콘 */
342
+ leftIcon?: Icon;
343
+ className?: string;
344
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
345
+ /** Select Box (Trigger + Value 조합) Props */
346
+ type SelectBoxProps = {
347
+ placeholder?: string;
348
+ /** 트리거 왼쪽에 표시할 아이콘 */
349
+ leftIcon?: Icon;
350
+ className?: string;
351
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
352
+ /** Select 아이템 Props */
353
+ type SelectItemProps = {
354
+ children?: React$1.ReactNode;
355
+ /** 아이템 왼쪽에 표시할 아이콘 */
356
+ leftIcon?: Icon;
357
+ /** 아이템 오른쪽에 표시할 아이콘 */
358
+ rightIcon?: Icon;
359
+ /** 왼쪽 아이콘 크기 */
360
+ leftIconSize?: Size;
361
+ /** 오른쪽 아이콘 크기 */
362
+ rightIconSize?: Size;
363
+ size?: Size;
364
+ className?: string;
365
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>, 'children'>;
366
+ type SelectEmptyProps = {
367
+ children?: React$1.ReactNode;
368
+ className?: string;
369
+ };
370
+ type SelectDescriptionProps = {
371
+ children?: React$1.ReactNode;
372
+ size?: Size;
373
+ className?: string;
374
+ };
375
+ type SelectGroupProps = {
376
+ children: React$1.ReactNode;
377
+ size?: Size;
378
+ /** 셀렉트 그룹 스타일 변형 */
379
+ variant?: Variant;
380
+ /** 불투명 배경 (elevation-0) 사용 여부. 반투명 배경이 비쳐보이는 것을 방지합니다. */
381
+ hasBackground?: boolean;
382
+ className?: string;
383
+ };
384
+ /** Select 루트 Props */
385
+ type SelectRootProps = {
386
+ children?: React$1.ReactNode;
387
+ /** 셀렉트 크기 */
388
+ size?: Size;
389
+ /** 셀렉트 스타일 변형 */
390
+ variant?: Variant;
391
+ /** 에러 상태 */
392
+ error?: boolean;
393
+ /** 포커스 상태 (line variant에서만 적용) */
394
+ focus?: boolean;
395
+ /** 활성화 상태 (필터 적용 등 내부 상태가 활성화됨을 표시) */
396
+ active?: boolean;
397
+ /** 비활성화 상태 */
398
+ disabled?: boolean;
399
+ className?: string;
400
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, 'disabled' | 'children'>;
401
+ type SelectListProps = Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>, 'position'>;
402
+ type SelectComponent = React$1.ForwardRefExoticComponent<SelectRootProps & React$1.RefAttributes<HTMLDivElement>> & {
403
+ Label: React$1.ForwardRefExoticComponent<SelectLabelProps & React$1.RefAttributes<HTMLLabelElement>>;
404
+ Trigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
405
+ Box: React$1.ForwardRefExoticComponent<SelectBoxProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
406
+ Value: React$1.ForwardRefExoticComponent<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Value> & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Value>>>;
407
+ List: React$1.ForwardRefExoticComponent<SelectListProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Content>>>;
408
+ Item: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Item>>>;
409
+ Empty: React$1.ForwardRefExoticComponent<SelectEmptyProps & React$1.RefAttributes<HTMLDivElement>>;
410
+ Description: React$1.ForwardRefExoticComponent<SelectDescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
411
+ Group: React$1.ForwardRefExoticComponent<SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
412
+ };
413
+ declare const Select: SelectComponent;
414
+
415
+ type TooltipRootProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>;
416
+ type TooltipProviderProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>;
417
+ type TooltipTriggerProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>;
418
+ type TooltipContentProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & VariantProps<typeof tooltipContentVariants> & {
419
+ portalContainer?: HTMLElement | null;
420
+ };
421
+ type TooltipTitleProps = React__default.HTMLAttributes<HTMLDivElement>;
422
+ type TooltipDescriptionProps = React__default.HTMLAttributes<HTMLDivElement>;
423
+ type TooltipComponent = typeof TooltipPrimitive.Root & {
424
+ Provider: typeof TooltipPrimitive.Provider;
425
+ Trigger: typeof TooltipPrimitive.Trigger;
426
+ Content: React__default.ForwardRefExoticComponent<TooltipContentProps & React__default.RefAttributes<React__default.ElementRef<typeof TooltipPrimitive.Content>>>;
427
+ Title: React__default.ForwardRefExoticComponent<TooltipTitleProps & React__default.RefAttributes<HTMLDivElement>>;
428
+ Description: React__default.ForwardRefExoticComponent<TooltipDescriptionProps & React__default.RefAttributes<HTMLDivElement>>;
429
+ };
430
+ declare const tooltipContentVariants: (props?: ({
431
+ size?: "small" | "medium" | "large" | "xlarge" | "tiny" | null | undefined;
432
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
433
+ declare const Tooltip: TooltipComponent;
434
+
435
+ interface FlatTooltipProps {
436
+ /** 툴팁을 적용할 자식 요소 */
437
+ children: React.ReactNode;
438
+ /** 툴팁 제목 (선택) */
439
+ title?: React.ReactNode;
440
+ /** 툴팁 크기 */
441
+ size: ComponentProps<typeof Tooltip.Content>['size'];
442
+ /** 툴팁 표시 위치 */
443
+ side?: ComponentProps<typeof Tooltip.Content>['side'];
444
+ /** 툴팁 정렬 */
445
+ align?: ComponentProps<typeof Tooltip.Content>['align'];
446
+ /** 사이드 방향 오프셋 (px) */
447
+ sideOffset?: ComponentProps<typeof Tooltip.Content>['sideOffset'];
448
+ /** 정렬 방향 오프셋 (px) */
449
+ alignOffset?: ComponentProps<typeof Tooltip.Content>['alignOffset'];
450
+ /** 툴팁 설명 텍스트 */
451
+ description: React.ReactNode;
452
+ }
453
+ /**
454
+ * Tooltip 컴포넌트의 간소화된 Flat API입니다.
455
+ * Compound Component 없이 props만으로 간편하게 사용할 수 있습니다.
456
+ *
457
+ * @example
458
+ * ```tsx
459
+ * <FlatTooltip size="small" description="도움말 텍스트">
460
+ * <button>호버하세요</button>
461
+ * </FlatTooltip>
462
+ *
463
+ * <FlatTooltip size="tiny" title="제목" description="설명">
464
+ * <span>정보</span>
465
+ * </FlatTooltip>
466
+ * ```
467
+ *
468
+ * @see {@link FlatTooltipProps} props 상세
469
+ */
470
+ declare const FlatTooltip: {
471
+ ({ children, title, size, description, ...props }: FlatTooltipProps): react_jsx_runtime.JSX.Element;
472
+ displayName: string;
473
+ };
474
+ /** FlatTooltip 설정 객체 타입 (children 제외) */
475
+ type TooltipConfig = Omit<ComponentProps<typeof FlatTooltip>, 'children' | 'size'> & {
476
+ /**
477
+ * 툴팁 사용 여부
478
+ * @default true
479
+ */
480
+ use?: boolean;
481
+ size?: ComponentProps<typeof FlatTooltip>['size'];
482
+ };
483
+ interface ConditionalTooltipProps {
484
+ /** 툴팁으로 감쌀 자식 요소 */
485
+ children: React.ReactNode;
486
+ /**
487
+ * 툴팁 설정값
488
+ * - `string`: 기본 tiny 사이즈의 툴팁 description으로 사용
489
+ * - `object`: FlatTooltip props를 직접 전달 (`use: false`로 비활성화 가능)
490
+ */
491
+ tooltip: ComponentProps<typeof FlatTooltip>['description'] | TooltipConfig;
492
+ }
493
+ /**
494
+ * 조건부로 FlatTooltip을 적용하는 래퍼 컴포넌트입니다.
495
+ *
496
+ * @description
497
+ * tooltip prop의 타입에 따라 다르게 동작합니다:
498
+ * - `string`: tiny 사이즈의 기본 툴팁으로 렌더링
499
+ * - `object` (`use !== false`): 전달된 props로 FlatTooltip 렌더링
500
+ * - `object` (`use === false`) 또는 기타: children만 반환 (툴팁 없음)
501
+ *
502
+ * @example
503
+ * ```tsx
504
+ * <ConditionalTooltip tooltip="도움말 텍스트">
505
+ * <button>버튼</button>
506
+ * </ConditionalTooltip>
507
+ *
508
+ * <ConditionalTooltip tooltip={{ description: "설명", size: "small", side: "top" }}>
509
+ * <button>버튼</button>
510
+ * </ConditionalTooltip>
511
+ *
512
+ * <ConditionalTooltip tooltip={{ use: false, description: "" }}>
513
+ * <button>툴팁 없음</button>
514
+ * </ConditionalTooltip>
515
+ * ```
516
+ *
517
+ * @see {@link ConditionalTooltipProps} props 상세
518
+ */
519
+ declare function ConditionalTooltip({ children, tooltip }: ConditionalTooltipProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
520
+ declare namespace ConditionalTooltip {
521
+ var displayName: string;
522
+ }
523
+
524
+ type ButtonGroupSize = 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
525
+ interface ButtonGroupItem {
526
+ id: string;
527
+ label?: string;
528
+ icon?: React__default.ReactElement<{
529
+ className?: string;
530
+ }>;
531
+ /** 툴팁 설정 (문자열 또는 FlatTooltip 설정 객체) */
532
+ tooltip?: ComponentProps<typeof ConditionalTooltip>['tooltip'];
533
+ onClick?: () => void;
534
+ }
535
+ interface ButtonGroupProps {
536
+ /** 버튼 그룹 스타일 변형 */
537
+ variant?: 'contained' | 'outlined';
538
+ /** 아이콘만 표시 */
539
+ iconOnly?: boolean;
540
+ /** 배경색 표시 여부 (뒷 레이어가 보이지 않아야 할 때) */
541
+ hasBackground?: boolean;
542
+ /** 버튼 크기 */
543
+ size?: ButtonGroupSize;
544
+ /** 버튼 항목 목록 */
545
+ items: ButtonGroupItem[];
546
+ /** 커스텀 className */
547
+ className?: string;
548
+ }
549
+ type ButtonGroupComponent = React__default.ForwardRefExoticComponent<ButtonGroupProps & React__default.RefAttributes<HTMLDivElement>>;
550
+ declare const ButtonGroup: ButtonGroupComponent;
551
+
552
+ type IconButtonVariant = 'contained' | 'outlined' | 'invisible';
553
+ type IconButtonColorVariantCombination = {
554
+ color?: 'primary';
555
+ variant?: 'contained' | 'outlined' | 'invisible';
556
+ } | {
557
+ color?: 'accent';
558
+ variant?: 'contained' | 'outlined' | 'invisible';
559
+ } | {
560
+ color?: 'critical';
561
+ variant?: 'contained' | 'outlined' | 'invisible';
562
+ } | {
563
+ color?: 'assistive';
564
+ variant?: 'contained';
565
+ } | {
566
+ color?: 'inverse';
567
+ variant?: 'contained';
568
+ };
569
+ type IconButtonProps = Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, 'children'> & IconButtonColorVariantCombination & {
570
+ icon: React__default.ReactElement<{
571
+ className?: string;
572
+ }>;
573
+ variant?: IconButtonVariant;
574
+ size?: 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge';
575
+ /** 툴팁 설정 (문자열 또는 FlatTooltip 설정 객체) */
576
+ tooltip?: ComponentProps<typeof ConditionalTooltip>['tooltip'];
577
+ };
578
+ type IconButtonComponent = React__default.ForwardRefExoticComponent<IconButtonProps & React__default.RefAttributes<HTMLButtonElement>>;
579
+ declare const IconButton: IconButtonComponent;
580
+
581
+ type CheckboxSize = 'small' | 'medium' | 'large';
582
+ type LabelPosition = 'left' | 'right';
583
+ interface CheckboxProps extends React__default.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root> {
584
+ /** 체크 상태. `'indeterminate'`는 부분 선택을 나타냅니다. */
585
+ checked?: boolean | 'indeterminate';
586
+ /** 체크박스 옆에 표시할 레이블 */
587
+ label?: React__default.ReactNode;
588
+ /** 추가 클래스명 */
589
+ className?: string;
590
+ /**
591
+ * 체크박스 크기
592
+ * @default 'medium'
593
+ */
594
+ size?: CheckboxSize;
595
+ /**
596
+ * 레이블 위치
597
+ * @default 'right'
598
+ */
599
+ labelPosition?: LabelPosition;
600
+ /** 체크 상태 변경 핸들러 */
601
+ onCheckedChange?: (checked: boolean) => void;
602
+ /** 초기 체크 상태 (비제어) */
603
+ defaultChecked?: boolean;
604
+ /**
605
+ * 비활성화 상태
606
+ * @default false
607
+ */
608
+ disabled?: boolean;
609
+ }
610
+ type CheckboxComponent = React__default.ForwardRefExoticComponent<CheckboxProps & React__default.RefAttributes<HTMLButtonElement>>;
611
+ /**
612
+ * 하나 이상의 항목을 선택하는 체크박스 컴포넌트입니다.
613
+ * 체크, 미체크, indeterminate(부분 선택) 상태를 지원합니다.
614
+ *
615
+ * @example
616
+ * ```tsx
617
+ * // 기본 사용
618
+ * <Checkbox label="이용 약관에 동의합니다" />
619
+ *
620
+ * // 제어 컴포넌트
621
+ * <Checkbox checked={isChecked} onCheckedChange={setIsChecked} label="선택" />
622
+ *
623
+ * // 부분 선택 상태
624
+ * <Checkbox checked="indeterminate" label="전체 선택" />
625
+ * ```
626
+ *
627
+ * @see {@link CheckboxProps} props 상세
628
+ */
629
+ declare const Checkbox: CheckboxComponent;
630
+
631
+ type RadioRootProps = React__default.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
632
+ type RadioItemProps = React__default.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item> & {
633
+ /**
634
+ * 라디오 버튼 크기
635
+ * @default 'medium'
636
+ */
637
+ size?: 'small' | 'medium' | 'large';
638
+ /** 라디오 버튼 옆에 표시할 레이블 */
639
+ label?: React__default.ReactNode;
640
+ /**
641
+ * 레이블 위치
642
+ * @default 'right'
643
+ */
644
+ labelPosition?: 'left' | 'right';
645
+ };
646
+ type RadioComponent = React__default.ForwardRefExoticComponent<RadioRootProps & React__default.RefAttributes<React__default.ElementRef<typeof RadioGroupPrimitive.Root>>> & {
647
+ Item: React__default.ForwardRefExoticComponent<RadioItemProps & React__default.RefAttributes<React__default.ElementRef<typeof RadioGroupPrimitive.Item>>>;
648
+ };
649
+ /**
650
+ * 여러 옵션 중 하나를 선택하는 라디오 그룹 컴포넌트입니다.
651
+ * Compound Component 패턴으로 `Radio.Item`과 함께 사용합니다.
652
+ *
653
+ * @example
654
+ * ```tsx
655
+ * <Radio defaultValue="a">
656
+ * <Radio.Item value="a" label="옵션 A" />
657
+ * <Radio.Item value="b" label="옵션 B" />
658
+ * </Radio>
659
+ * ```
660
+ *
661
+ * @see {@link RadioRootProps} 루트 props 상세
662
+ * @see {@link RadioItemProps} 아이템 props 상세
663
+ */
664
+ declare const Radio: RadioComponent;
665
+
666
+ declare const switchVariants: (props?: ({
667
+ size?: "small" | "medium" | "large" | null | undefined;
668
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
669
+ interface SwitchProps extends React__default.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>, VariantProps<typeof switchVariants> {
670
+ /** 스위치 옆에 표시할 레이블 텍스트 */
671
+ label?: string;
672
+ /**
673
+ * 레이블 위치
674
+ * @default 'right'
675
+ */
676
+ labelPosition?: 'left' | 'right';
677
+ }
678
+ type SwitchComponent = React__default.ForwardRefExoticComponent<SwitchProps & React__default.RefAttributes<HTMLButtonElement>>;
679
+ /**
680
+ * 켜기/끄기 상태를 전환하는 스위치 컴포넌트입니다.
681
+ *
682
+ * @example
683
+ * ```tsx
684
+ * <Switch label="알림 받기" size="medium" />
685
+ * <Switch label="다크 모드" labelPosition="left" defaultChecked />
686
+ * ```
687
+ *
688
+ * @see {@link SwitchProps} props 상세
689
+ */
690
+ declare const Switch: SwitchComponent;
691
+
692
+ type DistributiveOmit<T, K extends string> = T extends unknown ? Omit<T, K> : never;
693
+ type DatePickerProps = DistributiveOmit<ComponentProps<typeof DayPicker>, 'mode'> & {
694
+ /** 날짜 선택 유형 */
695
+ type?: 'single' | 'range';
696
+ };
697
+ declare function DatePicker({ type, showOutsideDays, ...rest }: DatePickerProps): react_jsx_runtime.JSX.Element;
698
+
699
+ type TextAreaLabelProps = {
700
+ children: React$1.ReactNode;
701
+ required?: boolean;
702
+ className?: string;
703
+ };
704
+ type TextAreaFieldProps = Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size' | 'disabled' | 'id' | 'value' | 'onChange' | 'maxLength'>;
705
+ type TextAreaDescriptionProps = {
706
+ children?: React$1.ReactNode;
707
+ showCounter?: boolean;
708
+ className?: string;
709
+ };
710
+ type TextAreaRootProps = {
711
+ children?: React$1.ReactNode;
712
+ /**
713
+ * 입력 필드 스타일 유형
714
+ * @default 'fill'
715
+ */
716
+ variant?: Variant;
717
+ size?: Size;
718
+ error?: boolean;
719
+ disabled?: boolean;
720
+ /**
721
+ * TextArea의 기본값. Context를 통해 하위 컴포넌트로 전달됩니다.
722
+ * TextArea.Field에서 value prop이 전달되면 Field의 value가 우선 적용됩니다.
723
+ *
724
+ * 사용 패턴:
725
+ * - 통합 관리: <TextArea value={state}> - Context로 모든 Field에 적용
726
+ * - 개별 제어: <TextArea.Field value={localState}> - 특정 Field만 개별 제어
727
+ */
728
+ value?: string;
729
+ maxLength?: number;
730
+ className?: string;
731
+ } & Omit<React$1.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size' | 'disabled' | 'id' | 'className'>;
732
+ type TextAreaComponent = React$1.ForwardRefExoticComponent<TextAreaRootProps & React$1.RefAttributes<HTMLDivElement>> & {
733
+ Label: React$1.ForwardRefExoticComponent<TextAreaLabelProps & React$1.RefAttributes<HTMLLabelElement>>;
734
+ Field: React$1.ForwardRefExoticComponent<TextAreaFieldProps & React$1.RefAttributes<HTMLTextAreaElement>>;
735
+ Description: React$1.ForwardRefExoticComponent<TextAreaDescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
736
+ };
737
+ declare const TextArea: TextAreaComponent;
738
+
739
+ type TextFieldRootProps = {
740
+ children?: React__default.ReactNode;
741
+ /**
742
+ * 입력 필드 스타일 유형
743
+ * @default 'fill'
744
+ */
745
+ variant?: Variant;
746
+ size?: Size;
747
+ error?: boolean;
748
+ disabled?: boolean;
749
+ className?: string;
750
+ value?: string;
751
+ onChange?: React__default.ChangeEventHandler<HTMLInputElement>;
752
+ } & Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'disabled' | 'className' | 'value' | 'onChange'>;
753
+ type TextFieldLabelProps = {
754
+ children: React__default.ReactNode;
755
+ required?: boolean;
756
+ className?: string;
757
+ };
758
+ type TextFieldInputProps = Omit<React__default.InputHTMLAttributes<HTMLInputElement>, 'size' | 'disabled' | 'id' | 'value' | 'onChange'> & {
759
+ leftIcon?: Icon;
760
+ rightIcon?: Icon;
761
+ subText?: string;
762
+ };
763
+ type TextFieldDescriptionProps = {
764
+ children: React__default.ReactNode;
765
+ className?: string;
766
+ };
767
+ type TextFieldComponent = React__default.ForwardRefExoticComponent<TextFieldRootProps & React__default.RefAttributes<HTMLDivElement>> & {
768
+ Label: React__default.ForwardRefExoticComponent<TextFieldLabelProps & React__default.RefAttributes<HTMLLabelElement>>;
769
+ Input: React__default.ForwardRefExoticComponent<TextFieldInputProps & React__default.RefAttributes<HTMLInputElement>>;
770
+ Description: React__default.ForwardRefExoticComponent<TextFieldDescriptionProps & React__default.RefAttributes<HTMLParagraphElement>>;
771
+ };
772
+ declare const TextField: TextFieldComponent;
773
+
774
+ interface ScrollAreaProps extends React__default.ComponentProps<typeof ScrollAreaPrimitive.Root> {
775
+ /** 스크롤 뷰포트의 ref. 스크롤 위치 제어 시 사용합니다. */
776
+ scrollRef?: React__default.ComponentProps<typeof ScrollAreaPrimitive.Viewport>['ref'];
777
+ /** 세로 스크롤바 숨김 여부 */
778
+ hideVerticalScrollbar?: boolean;
779
+ /** 가로 스크롤바 숨김 여부 */
780
+ hideHorizontalScrollbar?: boolean;
781
+ /** 가로 스크롤 비활성화 (overflow-x: hidden) */
782
+ disableHorizontalScroll?: boolean;
783
+ }
784
+ declare function ScrollBar({ className, orientation, ...props }: React__default.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>): react_jsx_runtime.JSX.Element;
785
+ /**
786
+ * 커스텀 스크롤바를 제공하는 스크롤 영역 컴포넌트입니다.
787
+ * 마우스 호버 시 스크롤바가 나타나는 UX를 제공합니다.
788
+ *
789
+ * @example
790
+ * ```tsx
791
+ * <ScrollArea className="h-[300px]">
792
+ * <div>스크롤 가능한 콘텐츠</div>
793
+ * </ScrollArea>
794
+ * ```
795
+ *
796
+ * @see {@link ScrollAreaProps} props 상세
797
+ */
798
+ declare function ScrollArea({ className, children, onScroll, scrollRef, hideVerticalScrollbar, hideHorizontalScrollbar, disableHorizontalScroll, ...props }: ScrollAreaProps): react_jsx_runtime.JSX.Element;
799
+
800
+ type ModalSize = 'small' | 'medium' | 'large' | 'xlarge' | 'fullsize';
801
+ type ModalRootProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
802
+ type ModalTriggerProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
803
+ type ModalPortalProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Portal>;
804
+ type ModalOverlayProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>;
805
+ type ModalContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
806
+ /**
807
+ * 모달 크기
808
+ * @default 'medium'
809
+ */
810
+ size?: ModalSize;
811
+ };
812
+ type ModalCloseProps = Omit<ButtonProps, 'color' | 'variant'>;
813
+ type ModalHeaderProps = React__default.HTMLAttributes<HTMLDivElement> & {
814
+ /**
815
+ * 하단 구분선 표시 여부
816
+ * @default false
817
+ */
818
+ line?: boolean;
819
+ /**
820
+ * 닫기 아이콘 표시 여부
821
+ * @default true
822
+ */
823
+ showCloseIcon?: boolean;
824
+ };
825
+ type ModalBodyProps = React__default.HTMLAttributes<HTMLDivElement>;
826
+ type ModalFooterProps = React__default.HTMLAttributes<HTMLDivElement> & {
827
+ /**
828
+ * 상단 구분선 표시 여부
829
+ * @default true
830
+ */
831
+ line?: boolean;
832
+ };
833
+ type ModalFooterDescriptionProps = React__default.HTMLAttributes<HTMLDivElement> & {
834
+ /** 에러 상태 표시 여부 */
835
+ error?: boolean;
836
+ /** 설명 앞에 표시할 아이콘 요소 */
837
+ icon?: React__default.ReactNode;
838
+ };
839
+ type ModalActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
840
+ type ModalActionProps = Omit<ButtonProps, 'color' | 'variant'> & {
841
+ /**
842
+ * 버튼 색상
843
+ * @default 'primary'
844
+ */
845
+ color?: 'primary' | 'critical';
846
+ };
847
+ type ModalTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
848
+ type ModalDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
849
+ type ModalComponent = typeof DialogPrimitive.Root & {
850
+ Trigger: typeof DialogPrimitive.Trigger;
851
+ Portal: typeof DialogPrimitive.Portal;
852
+ Close: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalCloseProps> & React__default.RefAttributes<HTMLButtonElement>>;
853
+ Overlay: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalOverlayProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Overlay>>>;
854
+ Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
855
+ Header: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalHeaderProps> & React__default.RefAttributes<HTMLDivElement>>;
856
+ Body: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalBodyProps> & React__default.RefAttributes<HTMLDivElement>>;
857
+ Footer: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalFooterProps> & React__default.RefAttributes<HTMLDivElement>>;
858
+ FooterDescription: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalFooterDescriptionProps> & React__default.RefAttributes<HTMLDivElement>>;
859
+ Actions: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalActionsProps> & React__default.RefAttributes<HTMLDivElement>>;
860
+ Action: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalActionProps> & React__default.RefAttributes<HTMLButtonElement>>;
861
+ Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
862
+ Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<ModalDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
863
+ };
864
+ /**
865
+ * 사용자 인터랙션이 필요한 오버레이 다이얼로그 컴포넌트입니다.
866
+ * Compound Component 패턴으로 하위 컴포넌트와 함께 사용합니다.
867
+ *
868
+ * @example
869
+ * ```tsx
870
+ * <Modal>
871
+ * <Modal.Trigger>열기</Modal.Trigger>
872
+ * <Modal.Content size="medium">
873
+ * <Modal.Header>
874
+ * <Modal.Title>제목</Modal.Title>
875
+ * </Modal.Header>
876
+ * <Modal.Body>내용</Modal.Body>
877
+ * <Modal.Footer>
878
+ * <Modal.Actions>
879
+ * <Modal.Close>닫기</Modal.Close>
880
+ * </Modal.Actions>
881
+ * </Modal.Footer>
882
+ * </Modal.Content>
883
+ * </Modal>
884
+ * ```
885
+ *
886
+ * @see {@link ModalContentProps} Content props 상세
887
+ */
888
+ declare const Modal: ModalComponent;
889
+
890
+ type MessageBoxVariant = 'default' | 'critical';
891
+ type MessageBoxRootProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Root>;
892
+ type MessageBoxTriggerProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Trigger>;
893
+ type MessageBoxContentProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {
894
+ /**
895
+ * 메시지 박스 variant
896
+ * @default 'default'
897
+ */
898
+ variant?: MessageBoxVariant;
899
+ };
900
+ type MessageBoxTitleProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>;
901
+ type MessageBoxDescriptionProps = React__default.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>;
902
+ type MessageBoxActionsProps = React__default.HTMLAttributes<HTMLDivElement>;
903
+ type MessageBoxCancelProps = Omit<ButtonProps, 'color' | 'variant'>;
904
+ type MessageBoxActionProps = Omit<ButtonProps, 'color' | 'variant'>;
905
+ type MessageBoxComponent = React__default.FC<MessageBoxRootProps> & {
906
+ Trigger: typeof DialogPrimitive.Trigger;
907
+ Content: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxContentProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Content>>>;
908
+ Title: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxTitleProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Title>>>;
909
+ Description: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxDescriptionProps> & React__default.RefAttributes<React__default.ElementRef<typeof DialogPrimitive.Description>>>;
910
+ Actions: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxActionsProps> & React__default.RefAttributes<HTMLDivElement>>;
911
+ Cancel: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxCancelProps> & React__default.RefAttributes<HTMLButtonElement>>;
912
+ Action: React__default.ForwardRefExoticComponent<React__default.PropsWithoutRef<MessageBoxActionProps> & React__default.RefAttributes<HTMLButtonElement>>;
913
+ };
914
+ declare const MessageBox: MessageBoxComponent;
915
+
916
+ interface LoadingProps extends VariantProps<typeof containerVariants>, VariantProps<typeof spinnerVariants>, Omit<React__default.HTMLAttributes<HTMLDivElement>, 'children'> {
917
+ /**
918
+ * 로딩 표시 여부
919
+ * @default true
920
+ */
921
+ isLoading?: boolean;
922
+ /**
923
+ * 배경 딤 처리 여부
924
+ * @default true
925
+ */
926
+ dim?: boolean;
927
+ /**
928
+ * 로딩 중 하위 요소 인터랙션 차단 여부
929
+ * @default false
930
+ */
931
+ blockInteraction?: boolean;
932
+ /** 컨테이너 추가 클래스 */
933
+ containerClassName?: string;
934
+ /** 오버레이 추가 클래스 */
935
+ overlayClassName?: string;
936
+ /** 스피너 추가 클래스 */
937
+ spinnerClassName?: string;
938
+ }
939
+ type LoadingComponent = React__default.ForwardRefExoticComponent<LoadingProps & React__default.RefAttributes<HTMLDivElement>>;
940
+ declare const containerVariants: (props?: ({
941
+ position?: "fixed" | "absolute" | null | undefined;
942
+ blockInteraction?: boolean | null | undefined;
943
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
944
+ declare const spinnerVariants: (props?: ({
945
+ size?: "small" | "medium" | "large" | null | undefined;
946
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
947
+ /**
948
+ * 비동기 작업 중 로딩 상태를 표시하는 오버레이 컴포넌트입니다.
949
+ *
950
+ * @example
951
+ * ```tsx
952
+ * // 기본 사용 (전체 화면 고정)
953
+ * <Loading isLoading />
954
+ *
955
+ * // 특정 영역 내 로딩 (absolute 위치)
956
+ * <div style={{ position: 'relative' }}>
957
+ * <Loading isLoading position="absolute" size="small" />
958
+ * </div>
959
+ * ```
960
+ *
961
+ * @see {@link LoadingProps} props 상세
962
+ */
963
+ declare const Loading: LoadingComponent;
964
+
965
+ declare const trackVariants: (props?: ({
966
+ size?: "small" | "medium" | "large" | null | undefined;
967
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
968
+ interface ProgressProps extends VariantProps<typeof trackVariants>, Omit<React__default.HTMLAttributes<HTMLDivElement>, 'children'> {
969
+ /**
970
+ * 현재 진행 값
971
+ * @default 0
972
+ */
973
+ value?: number;
974
+ /**
975
+ * 최대 값
976
+ * @default 100
977
+ */
978
+ max?: number;
979
+ /** 트랙(배경) 추가 클래스 */
980
+ trackClassName?: string;
981
+ /** 게이지(채움) 추가 클래스 */
982
+ gaugeClassName?: string;
983
+ }
984
+ type ProgressComponent = React__default.ForwardRefExoticComponent<ProgressProps & React__default.RefAttributes<HTMLDivElement>>;
985
+ /**
986
+ * 작업 진행률을 시각적으로 표시하는 바 컴포넌트입니다.
987
+ *
988
+ * @example
989
+ * ```tsx
990
+ * <Progress value={60} />
991
+ * <Progress value={30} max={100} size="large" />
992
+ * ```
993
+ */
994
+ declare const Progress: ProgressComponent;
995
+
996
+ type ToasterRootProps = React$1.ComponentProps<typeof Toaster$1>;
997
+ type ToasterContainerProps = {
998
+ children: React$1.ReactNode;
999
+ } & React$1.HTMLAttributes<HTMLDivElement>;
1000
+ type ToasterIconProps = {
1001
+ children: React$1.ReactNode;
1002
+ } & React$1.HTMLAttributes<HTMLDivElement>;
1003
+ type ToasterTitleProps = {
1004
+ children: React$1.ReactNode;
1005
+ } & React$1.HTMLAttributes<HTMLDivElement>;
1006
+ type ToasterDescriptionProps = {
1007
+ children: React$1.ReactNode;
1008
+ } & React$1.HTMLAttributes<HTMLDivElement>;
1009
+ type ToasterActionProps = {
1010
+ children?: React$1.ReactNode;
1011
+ altText?: string;
1012
+ } & React$1.ButtonHTMLAttributes<HTMLButtonElement>;
1013
+ type ToasterComponent = React$1.FC<ToasterRootProps> & {
1014
+ Container: React$1.ForwardRefExoticComponent<ToasterContainerProps & React$1.RefAttributes<HTMLDivElement>>;
1015
+ Icon: React$1.ForwardRefExoticComponent<ToasterIconProps & React$1.RefAttributes<HTMLDivElement>>;
1016
+ Title: React$1.ForwardRefExoticComponent<ToasterTitleProps & React$1.RefAttributes<HTMLDivElement>>;
1017
+ Description: React$1.ForwardRefExoticComponent<ToasterDescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
1018
+ Action: React$1.ForwardRefExoticComponent<ToasterActionProps & React$1.RefAttributes<HTMLButtonElement>>;
1019
+ };
1020
+ declare const Toaster: ToasterComponent;
1021
+
1022
+ interface ToastProviderProps {
1023
+ children?: React__default.ReactNode;
1024
+ /**
1025
+ * 호버 시 토스트 확장
1026
+ * @default true
1027
+ */
1028
+ expand?: boolean;
1029
+ /**
1030
+ * Rich colors 스타일 적용
1031
+ * @default false
1032
+ */
1033
+ richColors?: boolean;
1034
+ /**
1035
+ * Provider 레벨 닫기 버튼
1036
+ * @default false
1037
+ */
1038
+ closeButton?: boolean;
1039
+ /**
1040
+ * 토스트가 표시될 위치
1041
+ * @default 'top-center'
1042
+ */
1043
+ position?: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
1044
+ /**
1045
+ * 토스트 표시 시간 (ms)
1046
+ * @default 4000
1047
+ */
1048
+ duration?: number;
1049
+ /**
1050
+ * 토스트 최대 개수
1051
+ * @default 10
1052
+ */
1053
+ visibleToasts?: number;
1054
+ /**
1055
+ * 추가 Toaster props
1056
+ */
1057
+ toasterProps?: Omit<ToasterRootProps, 'children' | 'expand' | 'richColors' | 'closeButton'>;
1058
+ }
1059
+ declare const ToastProvider: React__default.FC<ToastProviderProps>;
1060
+
1061
+ interface ToastAction {
1062
+ label: string;
1063
+ onClick: () => void;
1064
+ }
1065
+ interface ToastOptions {
1066
+ title: string;
1067
+ description?: string;
1068
+ action?: ToastAction;
1069
+ close?: boolean;
1070
+ }
1071
+ interface ExtendedExternalToast extends ExternalToast {
1072
+ description?: string;
1073
+ action?: ToastAction;
1074
+ close?: boolean;
1075
+ }
1076
+ type ToastInput = string | ToastOptions;
1077
+ /**
1078
+ * toast() — 커스텀 디자인이 적용된 toast 함수
1079
+ *
1080
+ * sonner의 toast를 래핑하여 프로젝트의 디자인 시스템을 자동으로 적용합니다.
1081
+ *
1082
+ * @example
1083
+ * ```tsx
1084
+ * import { toast } from '@exem-ui/react';
1085
+ *
1086
+ * // 간단한 메시지
1087
+ * toast('기본 메시지');
1088
+ * toast.success('성공');
1089
+ * toast.error('오류');
1090
+ * toast.info('정보');
1091
+ * toast.warning('경고');
1092
+ *
1093
+ * // title + description + action
1094
+ * toast.success({
1095
+ * title: '저장 완료',
1096
+ * description: '변경사항이 저장되었습니다.',
1097
+ * action: { label: '되돌리기', onClick: () => handleUndo() },
1098
+ * });
1099
+ *
1100
+ * // 닫기 버튼
1101
+ * toast.success({ title: '저장 완료', close: true });
1102
+ *
1103
+ * // 문자열 + 옵션 (sonner 스타일)
1104
+ * toast.success('생성 완료', {
1105
+ * description: '일요일, 12월 3일',
1106
+ * action: { label: 'Undo', onClick: () => console.log('Undo') },
1107
+ * });
1108
+ * ```
1109
+ */
1110
+ declare const toast: ((input: ToastInput, options?: ExtendedExternalToast) => string | number) & {
1111
+ success: (input: ToastInput, options?: ExtendedExternalToast) => string | number;
1112
+ error: (input: ToastInput, options?: ExtendedExternalToast) => string | number;
1113
+ info: (input: ToastInput, options?: ExtendedExternalToast) => string | number;
1114
+ warning: (input: ToastInput, options?: ExtendedExternalToast) => string | number;
1115
+ loading: (input: ToastInput, options?: ExtendedExternalToast) => string | number;
1116
+ dismiss: (id?: number | string) => string | number;
1117
+ promise: typeof toast$1.promise;
1118
+ custom: (jsx: (id: number | string) => React.ReactElement, data?: ExternalToast) => string | number;
1119
+ };
1120
+
1121
+ type Options = ExternalToast & {
1122
+ description?: React__default.ReactNode;
1123
+ };
1124
+ type PromiseOptions<T> = {
1125
+ loading: string;
1126
+ success: string | ((data: T) => string | React__default.ReactNode);
1127
+ error: string | ((error: unknown) => string | React__default.ReactNode);
1128
+ description?: string | React__default.ReactNode;
1129
+ finally?: () => void | Promise<void>;
1130
+ };
1131
+
1132
+ /**
1133
+ * @deprecated `toast` 함수를 직접 사용하세요.
1134
+ *
1135
+ * 하위호환을 위해 유지되며, 내부적으로 `toast`에 위임합니다.
1136
+ *
1137
+ * @example
1138
+ * ```tsx
1139
+ * // Before (useToast)
1140
+ * const { success } = useToast();
1141
+ * success('완료');
1142
+ *
1143
+ * // After (toast 직접 사용)
1144
+ * import { toast } from '@exem-ui/react';
1145
+ * toast.success('완료');
1146
+ * ```
1147
+ */
1148
+ declare function useToast(): {
1149
+ show: (message: string, options?: Options) => string | number;
1150
+ dismiss: (toastId: string | number) => string | number;
1151
+ promise: <T>(promiseTask: Promise<T>, options: PromiseOptions<T>, toastOptions?: Options) => (string & {
1152
+ unwrap: () => Promise<T>;
1153
+ }) | (number & {
1154
+ unwrap: () => Promise<T>;
1155
+ }) | {
1156
+ unwrap: () => Promise<T>;
1157
+ };
1158
+ custom: (render: (id: string | number) => React__default.ReactElement, options?: Options) => string | number;
1159
+ success: (message?: string, options?: Options) => string | number;
1160
+ error: (message?: string, options?: Options) => string | number;
1161
+ info: (message?: string, options?: Options) => string | number;
1162
+ warning: (message?: string, options?: Options) => string | number;
1163
+ loading: (message?: string, options?: Options) => string | number;
1164
+ };
1165
+
1166
+ export { Avatar, type AvatarComponent, type AvatarProps, Badge, type BadgeComponent, type BadgeProps, Breadcrumb, type BreadcrumbComponent, type BreadcrumbEllipsisProps, type BreadcrumbItemProps, type BreadcrumbLinkProps, type BreadcrumbListProps, type BreadcrumbPageProps, type BreadcrumbRootProps, type BreadcrumbSeparatorProps, Button, type ButtonComponent, ButtonGroup, type ButtonGroupComponent, type ButtonGroupItem, type ButtonGroupProps, type ButtonProps, Checkbox, type CheckboxComponent, type CheckboxProps, DatePicker, type DatePickerProps, DoubleTag, type DoubleTagProps, type ExtendedExternalToast, IconButton, type IconButtonComponent, type IconButtonProps, Loading, type LoadingComponent, type LoadingProps, MessageBox, type MessageBoxActionProps, type MessageBoxActionsProps, type MessageBoxCancelProps, type MessageBoxComponent, type MessageBoxContentProps, type MessageBoxDescriptionProps, type MessageBoxRootProps, type MessageBoxTitleProps, type MessageBoxTriggerProps, type MessageBoxVariant, Modal, type ModalActionsProps, type ModalBodyProps, type ModalCloseProps, type ModalComponent, type ModalContentProps, type ModalDescriptionProps, type ModalFooterDescriptionProps, type ModalFooterProps, type ModalHeaderProps, type ModalOverlayProps, type ModalPortalProps, type ModalRootProps, type ModalTitleProps, type ModalTriggerProps, Progress, type ProgressComponent, type ProgressProps, Radio, type RadioComponent, type RadioItemProps, type RadioRootProps, ScrollArea, type ScrollAreaProps, ScrollBar, Segment, type SegmentComponent, type SegmentContentProps, type SegmentItemProps, type SegmentListProps, type SegmentRootProps, Select, type SelectBoxProps, type SelectComponent, type SelectDescriptionProps, type SelectEmptyProps, type SelectGroupProps, type SelectItemProps, type SelectLabelProps, type SelectListProps, type SelectRootProps, type SelectTriggerProps, type Options as SonnerToastOptions, Star, type StarComponent, type StarProps, Switch, type SwitchComponent, type SwitchProps, Tabs, type TabsComponent, type TabsContentProps, type TabsListProps, type TabsRootProps, type TabsTriggerProps, Tag, type TagColor, type TagComponent, type TagProps, TextArea, type TextAreaComponent, type TextAreaDescriptionProps, type TextAreaFieldProps, type TextAreaLabelProps, type TextAreaRootProps, TextField, type TextFieldComponent, type TextFieldDescriptionProps, type TextFieldInputProps, type TextFieldLabelProps, type TextFieldRootProps, type ToastAction, type ToastInput, type ToastOptions, ToastProvider, type ToastProviderProps, Toaster, type ToasterActionProps, type ToasterComponent, type ToasterContainerProps, type ToasterDescriptionProps, type ToasterIconProps, type ToasterRootProps, type ToasterTitleProps, Tooltip, type TooltipComponent, type TooltipContentProps, type TooltipDescriptionProps, type TooltipProviderProps, type TooltipRootProps, type TooltipTitleProps, type TooltipTriggerProps, toast, useToast };