@hua-labs/ui 1.0.0 → 1.1.0-alpha.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.
Files changed (348) hide show
  1. package/README.md +891 -213
  2. package/dist/ComponentLayout-BxCenSAm.d.mts +73 -0
  3. package/dist/advanced/dashboard.d.ts +7 -0
  4. package/dist/advanced/dashboard.d.ts.map +1 -0
  5. package/dist/advanced/motion.d.ts +2 -0
  6. package/dist/advanced/motion.d.ts.map +1 -0
  7. package/dist/advanced-dashboard.d.mts +4 -0
  8. package/dist/advanced-dashboard.js +2 -0
  9. package/dist/advanced-dashboard.js.map +1 -0
  10. package/dist/advanced-dashboard.mjs +2 -0
  11. package/dist/advanced-dashboard.mjs.map +1 -0
  12. package/dist/advanced-motion.d.mts +93 -0
  13. package/dist/advanced-motion.js +2 -0
  14. package/dist/advanced-motion.js.map +1 -0
  15. package/dist/advanced-motion.mjs +2 -0
  16. package/dist/advanced-motion.mjs.map +1 -0
  17. package/dist/advanced.d.mts +734 -0
  18. package/dist/advanced.d.ts +17 -0
  19. package/dist/advanced.d.ts.map +1 -0
  20. package/dist/advanced.js +2 -0
  21. package/dist/advanced.js.map +1 -0
  22. package/dist/advanced.mjs +2 -0
  23. package/dist/advanced.mjs.map +1 -0
  24. package/dist/chunk-6NXF6ATP.mjs +2 -0
  25. package/dist/chunk-6NXF6ATP.mjs.map +1 -0
  26. package/dist/chunk-ACEKLG37.mjs +2 -0
  27. package/dist/chunk-ACEKLG37.mjs.map +1 -0
  28. package/dist/chunk-DMYT7RZ4.mjs +2 -0
  29. package/dist/chunk-DMYT7RZ4.mjs.map +1 -0
  30. package/dist/chunk-KHEJZ3U4.mjs +2 -0
  31. package/dist/chunk-KHEJZ3U4.mjs.map +1 -0
  32. package/dist/chunk-QXBMXCML.mjs +2 -0
  33. package/dist/chunk-QXBMXCML.mjs.map +1 -0
  34. package/dist/chunk-SGCVGEDR.mjs +2 -0
  35. package/dist/chunk-SGCVGEDR.mjs.map +1 -0
  36. package/dist/chunk-UUHAXGMO.mjs +2 -0
  37. package/dist/chunk-UUHAXGMO.mjs.map +1 -0
  38. package/dist/chunk-VPOFRDYL.mjs +2 -0
  39. package/dist/chunk-VPOFRDYL.mjs.map +1 -0
  40. package/dist/chunk-YY6ZBUVJ.mjs +2 -0
  41. package/dist/chunk-YY6ZBUVJ.mjs.map +1 -0
  42. package/dist/chunk-ZQAAB3P4.mjs +2 -0
  43. package/dist/chunk-ZQAAB3P4.mjs.map +1 -0
  44. package/dist/components/Accordion.d.ts +109 -1
  45. package/dist/components/Accordion.d.ts.map +1 -1
  46. package/dist/components/Action.d.ts +68 -0
  47. package/dist/components/Action.d.ts.map +1 -0
  48. package/dist/components/ActionToolbar.d.ts +65 -0
  49. package/dist/components/ActionToolbar.d.ts.map +1 -0
  50. package/dist/components/Alert.d.ts +49 -0
  51. package/dist/components/Alert.d.ts.map +1 -1
  52. package/dist/components/Autocomplete.d.ts +88 -0
  53. package/dist/components/Autocomplete.d.ts.map +1 -0
  54. package/dist/components/Avatar.d.ts +71 -1
  55. package/dist/components/Avatar.d.ts.map +1 -1
  56. package/dist/components/Badge.d.ts +32 -2
  57. package/dist/components/Badge.d.ts.map +1 -1
  58. package/dist/components/Bookmark.d.ts +49 -0
  59. package/dist/components/Bookmark.d.ts.map +1 -0
  60. package/dist/components/BottomSheet.d.ts +91 -1
  61. package/dist/components/BottomSheet.d.ts.map +1 -1
  62. package/dist/components/Breadcrumb.d.ts +73 -14
  63. package/dist/components/Breadcrumb.d.ts.map +1 -1
  64. package/dist/components/Button.d.ts +82 -7
  65. package/dist/components/Button.d.ts.map +1 -1
  66. package/dist/components/Card.d.ts +122 -5
  67. package/dist/components/Card.d.ts.map +1 -1
  68. package/dist/components/ChatMessage.d.ts +67 -1
  69. package/dist/components/ChatMessage.d.ts.map +1 -1
  70. package/dist/components/Checkbox.d.ts +48 -2
  71. package/dist/components/Checkbox.d.ts.map +1 -1
  72. package/dist/components/Command.d.ts +82 -1
  73. package/dist/components/Command.d.ts.map +1 -1
  74. package/dist/components/ComponentLayout.d.ts +72 -0
  75. package/dist/components/ComponentLayout.d.ts.map +1 -0
  76. package/dist/components/ConfirmModal.d.ts +66 -1
  77. package/dist/components/ConfirmModal.d.ts.map +1 -1
  78. package/dist/components/Container.d.ts +39 -0
  79. package/dist/components/Container.d.ts.map +1 -1
  80. package/dist/components/ContextMenu.d.ts +51 -1
  81. package/dist/components/ContextMenu.d.ts.map +1 -1
  82. package/dist/components/DatePicker.d.ts +62 -0
  83. package/dist/components/DatePicker.d.ts.map +1 -0
  84. package/dist/components/Divider.d.ts +13 -3
  85. package/dist/components/Divider.d.ts.map +1 -1
  86. package/dist/components/Drawer.d.ts +103 -1
  87. package/dist/components/Drawer.d.ts.map +1 -1
  88. package/dist/components/Dropdown.d.ts +51 -1
  89. package/dist/components/Dropdown.d.ts.map +1 -1
  90. package/dist/components/EmotionAnalysis.d.ts +59 -1
  91. package/dist/components/EmotionAnalysis.d.ts.map +1 -1
  92. package/dist/components/EmotionButton.d.ts +35 -1
  93. package/dist/components/EmotionButton.d.ts.map +1 -1
  94. package/dist/components/EmotionMeter.d.ts +38 -2
  95. package/dist/components/EmotionMeter.d.ts.map +1 -1
  96. package/dist/components/EmotionSelector.d.ts +51 -1
  97. package/dist/components/EmotionSelector.d.ts.map +1 -1
  98. package/dist/components/FeatureCard.d.ts +61 -0
  99. package/dist/components/FeatureCard.d.ts.map +1 -0
  100. package/dist/components/Form.d.ts +114 -0
  101. package/dist/components/Form.d.ts.map +1 -0
  102. package/dist/components/Grid.d.ts +42 -1
  103. package/dist/components/Grid.d.ts.map +1 -1
  104. package/dist/components/HeroSection.d.ts +77 -0
  105. package/dist/components/HeroSection.d.ts.map +1 -0
  106. package/dist/components/Icon/Icon.d.ts +159 -0
  107. package/dist/components/Icon/Icon.d.ts.map +1 -0
  108. package/dist/components/Icon/IconProvider.d.ts +94 -0
  109. package/dist/components/Icon/IconProvider.d.ts.map +1 -0
  110. package/dist/components/Icon/icon-store.d.ts +21 -0
  111. package/dist/components/Icon/icon-store.d.ts.map +1 -0
  112. package/dist/components/Icon/index.d.ts +10 -0
  113. package/dist/components/Icon/index.d.ts.map +1 -0
  114. package/dist/components/InfoCard.d.ts +48 -0
  115. package/dist/components/InfoCard.d.ts.map +1 -0
  116. package/dist/components/Input.d.ts +40 -8
  117. package/dist/components/Input.d.ts.map +1 -1
  118. package/dist/components/Label.d.ts +50 -0
  119. package/dist/components/Label.d.ts.map +1 -0
  120. package/dist/components/LanguageToggle.d.ts +41 -1
  121. package/dist/components/LanguageToggle.d.ts.map +1 -1
  122. package/dist/components/Link.d.ts +52 -0
  123. package/dist/components/Link.d.ts.map +1 -0
  124. package/dist/components/LoadingSpinner.d.ts +44 -5
  125. package/dist/components/LoadingSpinner.d.ts.map +1 -1
  126. package/dist/components/Menu.d.ts +92 -1
  127. package/dist/components/Menu.d.ts.map +1 -1
  128. package/dist/components/Modal.d.ts +67 -5
  129. package/dist/components/Modal.d.ts.map +1 -1
  130. package/dist/components/Navigation.d.ts +72 -0
  131. package/dist/components/Navigation.d.ts.map +1 -0
  132. package/dist/components/PageNavigation.d.ts +48 -0
  133. package/dist/components/PageNavigation.d.ts.map +1 -0
  134. package/dist/components/PageTransition.d.ts +44 -1
  135. package/dist/components/PageTransition.d.ts.map +1 -1
  136. package/dist/components/Pagination.d.ts +52 -1
  137. package/dist/components/Pagination.d.ts.map +1 -1
  138. package/dist/components/Panel.d.ts +99 -0
  139. package/dist/components/Panel.d.ts.map +1 -0
  140. package/dist/components/Popover.d.ts +46 -1
  141. package/dist/components/Popover.d.ts.map +1 -1
  142. package/dist/components/Progress.d.ts +52 -3
  143. package/dist/components/Progress.d.ts.map +1 -1
  144. package/dist/components/Radio.d.ts +44 -2
  145. package/dist/components/Radio.d.ts.map +1 -1
  146. package/dist/components/ScrollArea.d.ts +53 -1
  147. package/dist/components/ScrollArea.d.ts.map +1 -1
  148. package/dist/components/ScrollIndicator.d.ts +43 -1
  149. package/dist/components/ScrollIndicator.d.ts.map +1 -1
  150. package/dist/components/ScrollProgress.d.ts +37 -0
  151. package/dist/components/ScrollProgress.d.ts.map +1 -1
  152. package/dist/components/ScrollToTop.d.ts +48 -11
  153. package/dist/components/ScrollToTop.d.ts.map +1 -1
  154. package/dist/components/SectionHeader.d.ts +42 -0
  155. package/dist/components/SectionHeader.d.ts.map +1 -0
  156. package/dist/components/Select.d.ts +59 -2
  157. package/dist/components/Select.d.ts.map +1 -1
  158. package/dist/components/Skeleton.d.ts +44 -1
  159. package/dist/components/Skeleton.d.ts.map +1 -1
  160. package/dist/components/Slider.d.ts +75 -0
  161. package/dist/components/Slider.d.ts.map +1 -0
  162. package/dist/components/Stack.d.ts +42 -1
  163. package/dist/components/Stack.d.ts.map +1 -1
  164. package/dist/components/StatsPanel.d.ts +72 -0
  165. package/dist/components/StatsPanel.d.ts.map +1 -0
  166. package/dist/components/Switch.d.ts +48 -2
  167. package/dist/components/Switch.d.ts.map +1 -1
  168. package/dist/components/Table.d.ts +206 -0
  169. package/dist/components/Table.d.ts.map +1 -0
  170. package/dist/components/Tabs.d.ts +123 -10
  171. package/dist/components/Tabs.d.ts.map +1 -1
  172. package/dist/components/Textarea.d.ts +48 -2
  173. package/dist/components/Textarea.d.ts.map +1 -1
  174. package/dist/components/ThemeProvider.d.ts +67 -2
  175. package/dist/components/ThemeProvider.d.ts.map +1 -1
  176. package/dist/components/ThemeToggle.d.ts +44 -0
  177. package/dist/components/ThemeToggle.d.ts.map +1 -1
  178. package/dist/components/Toast.d.ts +75 -1
  179. package/dist/components/Toast.d.ts.map +1 -1
  180. package/dist/components/Toggle.d.ts +62 -0
  181. package/dist/components/Toggle.d.ts.map +1 -0
  182. package/dist/components/Tooltip.d.ts +48 -1
  183. package/dist/components/Tooltip.d.ts.map +1 -1
  184. package/dist/components/Upload.d.ts +87 -0
  185. package/dist/components/Upload.d.ts.map +1 -0
  186. package/dist/components/advanced/AdvancedPageTransition.d.ts +25 -0
  187. package/dist/components/advanced/AdvancedPageTransition.d.ts.map +1 -0
  188. package/dist/components/advanced/index.d.ts +4 -0
  189. package/dist/components/advanced/index.d.ts.map +1 -0
  190. package/dist/components/advanced/usePageTransition.d.ts +33 -0
  191. package/dist/components/advanced/usePageTransition.d.ts.map +1 -0
  192. package/dist/components/advanced/usePageTransitionManager.d.ts +44 -0
  193. package/dist/components/advanced/usePageTransitionManager.d.ts.map +1 -0
  194. package/dist/components/dashboard/ActivityFeed.d.ts +87 -0
  195. package/dist/components/dashboard/ActivityFeed.d.ts.map +1 -0
  196. package/dist/components/dashboard/BarChart.d.ts +82 -0
  197. package/dist/components/dashboard/BarChart.d.ts.map +1 -0
  198. package/dist/components/dashboard/DashboardGrid.d.ts +44 -0
  199. package/dist/components/dashboard/DashboardGrid.d.ts.map +1 -0
  200. package/dist/components/dashboard/DashboardSidebar.d.ts +105 -0
  201. package/dist/components/dashboard/DashboardSidebar.d.ts.map +1 -0
  202. package/dist/components/dashboard/DashboardToolbar.d.ts +120 -0
  203. package/dist/components/dashboard/DashboardToolbar.d.ts.map +1 -0
  204. package/dist/components/dashboard/EmptyState.d.ts +61 -0
  205. package/dist/components/dashboard/EmptyState.d.ts.map +1 -0
  206. package/dist/components/dashboard/MembershipBadge.d.ts +45 -0
  207. package/dist/components/dashboard/MembershipBadge.d.ts.map +1 -0
  208. package/dist/components/dashboard/MerchantList.d.ts +98 -0
  209. package/dist/components/dashboard/MerchantList.d.ts.map +1 -0
  210. package/dist/components/dashboard/MetricCard.d.ts +75 -0
  211. package/dist/components/dashboard/MetricCard.d.ts.map +1 -0
  212. package/dist/components/dashboard/MiniBarChart.d.ts +60 -0
  213. package/dist/components/dashboard/MiniBarChart.d.ts.map +1 -0
  214. package/dist/components/dashboard/NotificationCard.d.ts +89 -0
  215. package/dist/components/dashboard/NotificationCard.d.ts.map +1 -0
  216. package/dist/components/dashboard/ProfileCard.d.ts +82 -0
  217. package/dist/components/dashboard/ProfileCard.d.ts.map +1 -0
  218. package/dist/components/dashboard/ProgressCard.d.ts +71 -0
  219. package/dist/components/dashboard/ProgressCard.d.ts.map +1 -0
  220. package/dist/components/dashboard/QuickActionCard.d.ts +63 -0
  221. package/dist/components/dashboard/QuickActionCard.d.ts.map +1 -0
  222. package/dist/components/dashboard/RoutingBreakdownCard.d.ts +88 -0
  223. package/dist/components/dashboard/RoutingBreakdownCard.d.ts.map +1 -0
  224. package/dist/components/dashboard/SettlementTimeline.d.ts +90 -0
  225. package/dist/components/dashboard/SettlementTimeline.d.ts.map +1 -0
  226. package/dist/components/dashboard/StatCard.d.ts +70 -0
  227. package/dist/components/dashboard/StatCard.d.ts.map +1 -0
  228. package/dist/components/dashboard/SummaryCard.d.ts +73 -0
  229. package/dist/components/dashboard/SummaryCard.d.ts.map +1 -0
  230. package/dist/components/dashboard/TransactionDetailDrawer.d.ts +183 -0
  231. package/dist/components/dashboard/TransactionDetailDrawer.d.ts.map +1 -0
  232. package/dist/components/dashboard/TransactionsTable.d.ts +137 -0
  233. package/dist/components/dashboard/TransactionsTable.d.ts.map +1 -0
  234. package/dist/components/dashboard/TrendChart.d.ts +75 -0
  235. package/dist/components/dashboard/TrendChart.d.ts.map +1 -0
  236. package/dist/components/dashboard/index.d.ts +41 -0
  237. package/dist/components/dashboard/index.d.ts.map +1 -0
  238. package/dist/components/scrollbar/scrollbar.d.ts +12 -0
  239. package/dist/components/scrollbar/scrollbar.d.ts.map +1 -0
  240. package/dist/dashboard-QMssHf5j.d.mts +1801 -0
  241. package/dist/feedback.d.mts +103 -0
  242. package/dist/feedback.d.ts +21 -0
  243. package/dist/feedback.d.ts.map +1 -0
  244. package/dist/feedback.js +2 -0
  245. package/dist/feedback.js.map +1 -0
  246. package/dist/feedback.mjs +2 -0
  247. package/dist/feedback.mjs.map +1 -0
  248. package/dist/form.d.mts +803 -0
  249. package/dist/form.d.ts +42 -0
  250. package/dist/form.d.ts.map +1 -0
  251. package/dist/form.js +2 -0
  252. package/dist/form.js.map +1 -0
  253. package/dist/form.mjs +2 -0
  254. package/dist/form.mjs.map +1 -0
  255. package/dist/hooks/useScrollToggle.d.ts +12 -0
  256. package/dist/hooks/useScrollToggle.d.ts.map +1 -0
  257. package/dist/icons-DoSGIez_.d.mts +135 -0
  258. package/dist/index.d.mts +3770 -0
  259. package/dist/index.d.ts +76 -38
  260. package/dist/index.d.ts.map +1 -1
  261. package/dist/index.js +37 -49
  262. package/dist/index.js.map +1 -0
  263. package/dist/index.mjs +37 -0
  264. package/dist/index.mjs.map +1 -0
  265. package/dist/lib/icon-aliases.d.ts +24 -0
  266. package/dist/lib/icon-aliases.d.ts.map +1 -0
  267. package/dist/lib/icon-names.d.ts +47 -0
  268. package/dist/lib/icon-names.d.ts.map +1 -0
  269. package/dist/lib/icon-providers.d.ts +560 -0
  270. package/dist/lib/icon-providers.d.ts.map +1 -0
  271. package/dist/lib/icons.d.ts +113 -24
  272. package/dist/lib/icons.d.ts.map +1 -1
  273. package/dist/lib/phosphor-icons.d.ts +6 -0
  274. package/dist/lib/phosphor-icons.d.ts.map +1 -0
  275. package/dist/lib/styles/colors.d.ts +131 -0
  276. package/dist/lib/styles/colors.d.ts.map +1 -0
  277. package/dist/lib/styles/index.d.ts +8 -0
  278. package/dist/lib/styles/index.d.ts.map +1 -0
  279. package/dist/lib/styles/utils.d.ts +87 -0
  280. package/dist/lib/styles/utils.d.ts.map +1 -0
  281. package/dist/lib/styles/variants.d.ts +79 -0
  282. package/dist/lib/styles/variants.d.ts.map +1 -0
  283. package/dist/lib/types/common.d.ts +80 -0
  284. package/dist/lib/types/common.d.ts.map +1 -0
  285. package/dist/lib/types/index.d.ts +6 -0
  286. package/dist/lib/types/index.d.ts.map +1 -0
  287. package/dist/lib/utils.d.ts +73 -1
  288. package/dist/lib/utils.d.ts.map +1 -1
  289. package/dist/navigation.d.mts +105 -0
  290. package/dist/navigation.d.ts +22 -0
  291. package/dist/navigation.d.ts.map +1 -0
  292. package/dist/navigation.js +2 -0
  293. package/dist/navigation.js.map +1 -0
  294. package/dist/navigation.mjs +2 -0
  295. package/dist/navigation.mjs.map +1 -0
  296. package/package.json +85 -19
  297. package/src/styles/toast.css +23 -0
  298. package/dist/components/Accordion.js +0 -84
  299. package/dist/components/Alert.js +0 -61
  300. package/dist/components/Avatar.js +0 -18
  301. package/dist/components/Badge.js +0 -15
  302. package/dist/components/BottomSheet.js +0 -96
  303. package/dist/components/Breadcrumb.js +0 -47
  304. package/dist/components/Button.js +0 -23
  305. package/dist/components/Card.js +0 -18
  306. package/dist/components/ChatMessage.js +0 -59
  307. package/dist/components/Checkbox.js +0 -30
  308. package/dist/components/Command.js +0 -119
  309. package/dist/components/ConfirmModal.js +0 -53
  310. package/dist/components/Container.js +0 -23
  311. package/dist/components/ContextMenu.js +0 -110
  312. package/dist/components/Divider.js +0 -39
  313. package/dist/components/Drawer.js +0 -79
  314. package/dist/components/Dropdown.js +0 -174
  315. package/dist/components/EmotionAnalysis.js +0 -40
  316. package/dist/components/EmotionButton.js +0 -16
  317. package/dist/components/EmotionMeter.js +0 -21
  318. package/dist/components/EmotionSelector.js +0 -46
  319. package/dist/components/Grid.js +0 -44
  320. package/dist/components/Icon.d.ts +0 -26
  321. package/dist/components/Icon.d.ts.map +0 -1
  322. package/dist/components/Icon.js +0 -48
  323. package/dist/components/Input.js +0 -25
  324. package/dist/components/LanguageToggle.js +0 -61
  325. package/dist/components/LoadingSpinner.js +0 -37
  326. package/dist/components/Menu.js +0 -122
  327. package/dist/components/Modal.js +0 -62
  328. package/dist/components/PageTransition.js +0 -39
  329. package/dist/components/Pagination.js +0 -87
  330. package/dist/components/Popover.js +0 -159
  331. package/dist/components/Progress.js +0 -51
  332. package/dist/components/Radio.js +0 -29
  333. package/dist/components/ScrollArea.js +0 -42
  334. package/dist/components/ScrollIndicator.js +0 -60
  335. package/dist/components/ScrollProgress.js +0 -39
  336. package/dist/components/ScrollToTop.js +0 -46
  337. package/dist/components/Select.js +0 -29
  338. package/dist/components/Skeleton.js +0 -71
  339. package/dist/components/Stack.js +0 -34
  340. package/dist/components/Switch.js +0 -29
  341. package/dist/components/Tabs.js +0 -117
  342. package/dist/components/Textarea.js +0 -31
  343. package/dist/components/ThemeProvider.js +0 -76
  344. package/dist/components/ThemeToggle.js +0 -49
  345. package/dist/components/Toast.js +0 -138
  346. package/dist/components/Tooltip.js +0 -102
  347. package/dist/lib/icons.js +0 -321
  348. package/dist/lib/utils.js +0 -5
@@ -0,0 +1,114 @@
1
+ import React from "react";
2
+ /**
3
+ * Form 컴포넌트의 props / Form component props
4
+ * @typedef {Object} FormProps
5
+ * @property {(e: React.FormEvent<HTMLFormElement>) => void} [onSubmit] - 폼 제출 핸들러 / Form submit handler
6
+ * @property {"default" | "glass"} [variant="default"] - Form 스타일 변형 / Form style variant
7
+ * @extends {React.FormHTMLAttributes<HTMLFormElement>}
8
+ */
9
+ export interface FormProps extends React.FormHTMLAttributes<HTMLFormElement> {
10
+ onSubmit?: (e: React.FormEvent<HTMLFormElement>) => void;
11
+ variant?: "default" | "glass";
12
+ }
13
+ /**
14
+ * FormField 컴포넌트의 props / FormField component props
15
+ * @typedef {Object} FormFieldProps
16
+ * @property {string} [error] - 에러 메시지 / Error message
17
+ * @property {boolean} [required=false] - 필수 필드 여부 / Required field
18
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
19
+ */
20
+ export interface FormFieldProps extends React.HTMLAttributes<HTMLDivElement> {
21
+ error?: string;
22
+ required?: boolean;
23
+ }
24
+ /**
25
+ * FormGroup 컴포넌트의 props / FormGroup component props
26
+ * @typedef {Object} FormGroupProps
27
+ * @property {boolean} [inline=false] - 인라인 레이아웃 여부 / Inline layout
28
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
29
+ */
30
+ export interface FormGroupProps extends React.HTMLAttributes<HTMLDivElement> {
31
+ inline?: boolean;
32
+ }
33
+ /**
34
+ * Form 컴포넌트 / Form component
35
+ *
36
+ * 폼 컨테이너 컴포넌트입니다.
37
+ * FormField, FormGroup과 함께 사용하여 구조화된 폼을 구성합니다.
38
+ *
39
+ * Form container component.
40
+ * Used with FormField and FormGroup to create structured forms.
41
+ *
42
+ * @component
43
+ * @example
44
+ * // 기본 사용 / Basic usage
45
+ * <Form onSubmit={(e) => { e.preventDefault(); console.log('제출') }}>
46
+ * <FormField>
47
+ * <Label>이름</Label>
48
+ * <Input />
49
+ * </FormField>
50
+ * </Form>
51
+ *
52
+ * @example
53
+ * // Glass 스타일 / Glass style
54
+ * <Form variant="glass" onSubmit={handleSubmit}>
55
+ * <FormGroup>
56
+ * <FormField>
57
+ * <Label>이메일</Label>
58
+ * <Input type="email" />
59
+ * </FormField>
60
+ * </FormGroup>
61
+ * </Form>
62
+ *
63
+ * @param {FormProps} props - Form 컴포넌트의 props / Form component props
64
+ * @param {React.Ref<HTMLFormElement>} ref - form 요소 ref / form element ref
65
+ * @returns {JSX.Element} Form 컴포넌트 / Form component
66
+ */
67
+ declare const Form: React.ForwardRefExoticComponent<FormProps & React.RefAttributes<HTMLFormElement>>;
68
+ /**
69
+ * FormField 컴포넌트 / FormField component
70
+ *
71
+ * 폼 필드를 감싸는 컨테이너입니다.
72
+ * 에러 메시지를 표시하고 필수 필드 표시를 지원합니다.
73
+ *
74
+ * Container that wraps a form field.
75
+ * Displays error messages and supports required field indication.
76
+ *
77
+ * @component
78
+ * @example
79
+ * <FormField error="이 필드는 필수입니다" required>
80
+ * <Label>이름</Label>
81
+ * <Input />
82
+ * </FormField>
83
+ *
84
+ * @param {FormFieldProps} props - FormField 컴포넌트의 props / FormField component props
85
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
86
+ * @returns {JSX.Element} FormField 컴포넌트 / FormField component
87
+ */
88
+ declare const FormField: React.ForwardRefExoticComponent<FormFieldProps & React.RefAttributes<HTMLDivElement>>;
89
+ /**
90
+ * FormGroup 컴포넌트 / FormGroup component
91
+ *
92
+ * 여러 폼 필드를 그룹화하는 컨테이너입니다.
93
+ * Container that groups multiple form fields.
94
+ *
95
+ * @component
96
+ * @example
97
+ * <FormGroup inline>
98
+ * <FormField>
99
+ * <Label>이름</Label>
100
+ * <Input />
101
+ * </FormField>
102
+ * <FormField>
103
+ * <Label>성</Label>
104
+ * <Input />
105
+ * </FormField>
106
+ * </FormGroup>
107
+ *
108
+ * @param {FormGroupProps} props - FormGroup 컴포넌트의 props / FormGroup component props
109
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
110
+ * @returns {JSX.Element} FormGroup 컴포넌트 / FormGroup component
111
+ */
112
+ declare const FormGroup: React.ForwardRefExoticComponent<FormGroupProps & React.RefAttributes<HTMLDivElement>>;
113
+ export { Form, FormField, FormGroup };
114
+ //# sourceMappingURL=Form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../src/components/Form.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,kBAAkB,CAAC,eAAe,CAAC;IAC1E,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,IAAI,CAAA;IACxD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,IAAI,mFA6BT,CAAA;AAGD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,QAAA,MAAM,SAAS,uFA6Ed,CAAA;AAGD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,QAAA,MAAM,SAAS,uFAoBd,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAA"}
@@ -1,4 +1,14 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Grid 컴포넌트의 props
4
+ * @typedef {Object} GridProps
5
+ * @property {1|2|3|4|5|6|7|8|9|10|11|12} [cols=1] - 그리드 열 개수
6
+ * @property {"none" | "sm" | "md" | "lg" | "xl"} [gap="md"] - 그리드 아이템 간 간격
7
+ * @property {"none" | "sm" | "md" | "lg" | "xl"} [gapX] - 가로 간격 (gap보다 우선)
8
+ * @property {"none" | "sm" | "md" | "lg" | "xl"} [gapY] - 세로 간격
9
+ * @property {boolean} [responsive=true] - 반응형 그리드 활성화 (모바일: 1열, 태블릿: 2열, 데스크톱: 지정 열)
10
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
11
+ */
2
12
  export interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
3
13
  cols?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
4
14
  gap?: "none" | "sm" | "md" | "lg" | "xl";
@@ -6,6 +16,37 @@ export interface GridProps extends React.HTMLAttributes<HTMLDivElement> {
6
16
  gapY?: "none" | "sm" | "md" | "lg" | "xl";
7
17
  responsive?: boolean;
8
18
  }
19
+ /**
20
+ * Grid 컴포넌트
21
+ *
22
+ * CSS Grid를 사용한 그리드 레이아웃 컴포넌트입니다.
23
+ * 반응형 그리드를 지원하여 모바일부터 데스크톱까지 최적화된 레이아웃을 제공합니다.
24
+ *
25
+ * @component
26
+ * @example
27
+ * // 기본 3열 그리드
28
+ * <Grid cols={3} gap="md">
29
+ * <div>아이템 1</div>
30
+ * <div>아이템 2</div>
31
+ * <div>아이템 3</div>
32
+ * </Grid>
33
+ *
34
+ * @example
35
+ * // 가로/세로 간격 분리
36
+ * <Grid cols={4} gapX="lg" gapY="sm">
37
+ * {items.map(item => <div key={item.id}>{item.content}</div>)}
38
+ * </Grid>
39
+ *
40
+ * @example
41
+ * // 반응형 비활성화 (고정 그리드)
42
+ * <Grid cols={6} responsive={false} gap="lg">
43
+ * <div>고정 6열</div>
44
+ * </Grid>
45
+ *
46
+ * @param {GridProps} props - Grid 컴포넌트의 props
47
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref
48
+ * @returns {JSX.Element} Grid 컴포넌트
49
+ */
9
50
  declare const Grid: React.ForwardRefExoticComponent<GridProps & React.RefAttributes<HTMLDivElement>>;
10
51
  export { Grid };
11
52
  //# sourceMappingURL=Grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,QAAA,MAAM,IAAI,kFA+DT,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../src/components/Grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;GASG;AACH,MAAM,WAAW,SAAU,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACrE,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAA;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACxC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,QAAA,MAAM,IAAI,kFA+DT,CAAA;AAGD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1,77 @@
1
+ import React from "react";
2
+ /**
3
+ * HeroSection 컴포넌트의 props / HeroSection component props
4
+ * @typedef {Object} HeroSectionProps
5
+ * @property {string} title - 히어로 섹션 제목 / Hero section title
6
+ * @property {string} [subtitle] - 히어로 섹션 부제목 / Hero section subtitle
7
+ * @property {string} description - 히어로 섹션 설명 / Hero section description
8
+ * @property {Object} [primaryAction] - 주요 액션 버튼 / Primary action button
9
+ * @property {string} primaryAction.label - 버튼 라벨 / Button label
10
+ * @property {string} primaryAction.href - 버튼 링크 / Button link
11
+ * @property {string} [primaryAction.icon] - 버튼 아이콘 / Button icon
12
+ * @property {Object} [secondaryAction] - 보조 액션 버튼 / Secondary action button
13
+ * @property {string} secondaryAction.label - 버튼 라벨 / Button label
14
+ * @property {string} secondaryAction.href - 버튼 링크 / Button link
15
+ * @property {string} [secondaryAction.icon] - 버튼 아이콘 / Button icon
16
+ * @property {"default" | "gradient" | "glass" | "neon"} [variant="default"] - HeroSection 스타일 변형 / HeroSection style variant
17
+ * @property {"none" | "gradient" | "particles" | "video"} [background="gradient"] - 배경 타입 / Background type
18
+ * @property {string} [customBackground] - 커스텀 배경 / Custom background
19
+ * @property {"sm" | "md" | "lg" | "xl"} [size="lg"] - HeroSection 크기 / HeroSection size
20
+ * @extends {React.HTMLAttributes<HTMLElement>}
21
+ */
22
+ export interface HeroSectionProps extends React.HTMLAttributes<HTMLElement> {
23
+ title: string;
24
+ subtitle?: string;
25
+ description: string;
26
+ primaryAction?: {
27
+ label: string;
28
+ href: string;
29
+ icon?: string;
30
+ };
31
+ secondaryAction?: {
32
+ label: string;
33
+ href: string;
34
+ icon?: string;
35
+ };
36
+ variant?: "default" | "gradient" | "glass" | "neon";
37
+ background?: "none" | "gradient" | "particles" | "video";
38
+ customBackground?: string;
39
+ size?: "sm" | "md" | "lg" | "xl";
40
+ }
41
+ /**
42
+ * HeroSection 컴포넌트 / HeroSection component
43
+ *
44
+ * 랜딩 페이지의 히어로 섹션을 제공하는 컴포넌트입니다.
45
+ * 제목, 설명, 액션 버튼을 포함하며, 다양한 배경 효과를 지원합니다.
46
+ *
47
+ * Component that provides hero section for landing pages.
48
+ * Includes title, description, and action buttons, supports various background effects.
49
+ *
50
+ * @component
51
+ * @example
52
+ * // 기본 사용 / Basic usage
53
+ * <HeroSection
54
+ * title="환영합니다"
55
+ * description="우리 서비스를 소개합니다"
56
+ * primaryAction={{ label: "시작하기", href: "/start" }}
57
+ * />
58
+ *
59
+ * @example
60
+ * // Gradient 배경, 두 개의 액션 버튼 / Gradient background, two action buttons
61
+ * <HeroSection
62
+ * title="혁신적인 솔루션"
63
+ * subtitle="차세대 플랫폼"
64
+ * description="최신 기술로 만든 플랫폼"
65
+ * variant="gradient"
66
+ * background="gradient"
67
+ * primaryAction={{ label: "시작하기", href: "/start", icon: "arrowRight" }}
68
+ * secondaryAction={{ label: "더 알아보기", href: "/about" }}
69
+ * />
70
+ *
71
+ * @param {HeroSectionProps} props - HeroSection 컴포넌트의 props / HeroSection component props
72
+ * @param {React.Ref<HTMLElement>} ref - section 요소 ref / section element ref
73
+ * @returns {JSX.Element} HeroSection 컴포넌트 / HeroSection component
74
+ */
75
+ declare const HeroSection: React.ForwardRefExoticComponent<HeroSectionProps & React.RefAttributes<HTMLElement>>;
76
+ export { HeroSection };
77
+ //# sourceMappingURL=HeroSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeroSection.d.ts","sourceRoot":"","sources":["../../src/components/HeroSection.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,eAAe,CAAC,EAAE;QAChB,KAAK,EAAE,MAAM,CAAA;QACb,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,CAAA;IACnD,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAA;IACxD,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,QAAA,MAAM,WAAW,sFAgKhB,CAAA;AAID,OAAO,EAAE,WAAW,EAAE,CAAA"}
@@ -0,0 +1,159 @@
1
+ import React from 'react';
2
+ import { emotionIcons, statusIcons } from '../../lib/icons';
3
+ import { type IconSet } from './IconProvider';
4
+ import { type PhosphorWeight } from './icon-store';
5
+ import type { AllIconName } from '../../lib/icon-names';
6
+ /**
7
+ * Icon 컴포넌트 Props
8
+ *
9
+ * Icon component props interface.
10
+ *
11
+ * @interface IconProps
12
+ */
13
+ export interface IconProps {
14
+ /** 아이콘 이름 / Icon name */
15
+ name: AllIconName;
16
+ /** 아이콘 크기 (숫자 또는 문자열) / Icon size (number or string) */
17
+ size?: number | string;
18
+ /** 추가 CSS 클래스 / Additional CSS classes */
19
+ className?: string;
20
+ /** 감정 아이콘 타입 / Emotion icon type */
21
+ emotion?: keyof typeof emotionIcons;
22
+ /** 상태 아이콘 타입 / Status icon type */
23
+ status?: keyof typeof statusIcons;
24
+ /** 아이콘 프로바이더 오버라이드 (전역 설정 무시) / Icon provider override (ignores global config) */
25
+ provider?: IconSet;
26
+ /** 부드러운 애니메이션 효과 / Smooth animation effect */
27
+ animated?: boolean;
28
+ /** 펄스 애니메이션 / Pulse animation */
29
+ pulse?: boolean;
30
+ /** 회전 애니메이션 / Spin animation */
31
+ spin?: boolean;
32
+ /** 바운스 애니메이션 / Bounce animation */
33
+ bounce?: boolean;
34
+ /** 색상 변형 / Color variant */
35
+ variant?: 'default' | 'primary' | 'secondary' | 'success' | 'warning' | 'error' | 'muted';
36
+ /** Phosphor 아이콘 weight 오버라이드 / Phosphor icon weight override */
37
+ weight?: PhosphorWeight;
38
+ /** 스크린 리더용 라벨 (의미 있는 아이콘인 경우) / Screen reader label (for meaningful icons) */
39
+ 'aria-label'?: string;
40
+ /** 장식용 아이콘인 경우 true (스크린 리더에서 숨김) / Set to true for decorative icons (hidden from screen readers) */
41
+ 'aria-hidden'?: boolean;
42
+ }
43
+ /**
44
+ * Icon 컴포넌트
45
+ *
46
+ * 다중 아이콘 라이브러리(Lucide, Phosphor, Untitled)를 지원하는 통합 아이콘 컴포넌트입니다.
47
+ * IconProvider를 통해 전역 설정을 관리할 수 있으며, 개별 아이콘에서도 설정을 오버라이드할 수 있습니다.
48
+ *
49
+ * Icon component that supports multiple icon libraries (Lucide, Phosphor, Untitled).
50
+ * Global settings can be managed through IconProvider, and individual icons can override settings.
51
+ *
52
+ * @component
53
+ * @example
54
+ * ```tsx
55
+ * // 기본 사용 / Basic usage
56
+ * <Icon name="heart" />
57
+ *
58
+ * // 크기 지정 / Specify size
59
+ * <Icon name="user" size={24} />
60
+ *
61
+ * // 색상 변형 / Color variant
62
+ * <Icon name="check" variant="success" />
63
+ *
64
+ * // 애니메이션 / Animation
65
+ * <Icon name="loader" spin />
66
+ * <Icon name="heart" pulse />
67
+ *
68
+ * // 접근성 / Accessibility
69
+ * <Icon name="search" aria-label="검색" />
70
+ * <Icon name="decorative-icon" aria-hidden />
71
+ *
72
+ * // 감정 아이콘 / Emotion icon
73
+ * <Icon emotion="happy" />
74
+ *
75
+ * // 상태 아이콘 / Status icon
76
+ * <Icon status="loading" spin />
77
+ * ```
78
+ *
79
+ * @param props - Icon 컴포넌트 props / Icon component props
80
+ * @returns Icon 컴포넌트 / Icon component
81
+ */
82
+ declare const IconComponent: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<HTMLSpanElement>>;
83
+ export declare const Icon: typeof IconComponent;
84
+ /**
85
+ * EmotionIcon 컴포넌트
86
+ *
87
+ * 감정을 표현하는 아이콘 컴포넌트입니다.
88
+ * Icon component for expressing emotions.
89
+ *
90
+ * @component
91
+ * @example
92
+ * ```tsx
93
+ * <EmotionIcon emotion="happy" />
94
+ * <EmotionIcon emotion="sad" size={24} />
95
+ * ```
96
+ */
97
+ export declare const EmotionIcon: React.ForwardRefExoticComponent<Omit<IconProps, "name"> & {
98
+ emotion: keyof typeof emotionIcons;
99
+ } & React.RefAttributes<HTMLSpanElement>>;
100
+ /**
101
+ * StatusIcon 컴포넌트
102
+ *
103
+ * 상태를 표현하는 아이콘 컴포넌트입니다.
104
+ * Icon component for expressing status.
105
+ *
106
+ * @component
107
+ * @example
108
+ * ```tsx
109
+ * <StatusIcon status="loading" spin />
110
+ * <StatusIcon status="success" variant="success" />
111
+ * ```
112
+ */
113
+ export declare const StatusIcon: React.ForwardRefExoticComponent<Omit<IconProps, "name"> & {
114
+ status: keyof typeof statusIcons;
115
+ } & React.RefAttributes<HTMLSpanElement>>;
116
+ /**
117
+ * LoadingIcon 컴포넌트
118
+ *
119
+ * 로딩 상태를 표시하는 전용 아이콘 컴포넌트입니다.
120
+ * Dedicated icon component for displaying loading status.
121
+ *
122
+ * @component
123
+ * @example
124
+ * ```tsx
125
+ * <LoadingIcon />
126
+ * <LoadingIcon size={32} />
127
+ * ```
128
+ */
129
+ export declare const LoadingIcon: React.ForwardRefExoticComponent<Omit<IconProps, "name" | "status"> & React.RefAttributes<HTMLDivElement>>;
130
+ /**
131
+ * SuccessIcon 컴포넌트
132
+ *
133
+ * 성공 상태를 표시하는 전용 아이콘 컴포넌트입니다.
134
+ * Dedicated icon component for displaying success status.
135
+ *
136
+ * @component
137
+ * @example
138
+ * ```tsx
139
+ * <SuccessIcon />
140
+ * <SuccessIcon size={24} />
141
+ * ```
142
+ */
143
+ export declare const SuccessIcon: React.ForwardRefExoticComponent<Omit<IconProps, "name" | "status"> & React.RefAttributes<HTMLDivElement>>;
144
+ /**
145
+ * ErrorIcon 컴포넌트
146
+ *
147
+ * 에러 상태를 표시하는 전용 아이콘 컴포넌트입니다.
148
+ * Dedicated icon component for displaying error status.
149
+ *
150
+ * @component
151
+ * @example
152
+ * ```tsx
153
+ * <ErrorIcon />
154
+ * <ErrorIcon size={24} />
155
+ * ```
156
+ */
157
+ export declare const ErrorIcon: React.ForwardRefExoticComponent<Omit<IconProps, "name" | "status"> & React.RefAttributes<HTMLDivElement>>;
158
+ export {};
159
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,EAAmB,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAG5E,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAC7D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEvD;;;;;;GAMG;AACH,MAAM,WAAW,SAAS;IACxB,yBAAyB;IACzB,IAAI,EAAE,WAAW,CAAA;IACjB,wDAAwD;IACxD,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,OAAO,YAAY,CAAA;IACnC,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,OAAO,WAAW,CAAA;IACjC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,iCAAiC;IACjC,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAA;IACzF,gEAAgE;IAChE,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,qGAAqG;IACrG,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,QAAA,MAAM,aAAa,mFAyLjB,CAAA;AA+BF,eAAO,MAAM,IAAI,EAAmB,OAAO,aAAa,CAAA;AAIxD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;aAA0E,MAAM,OAAO,YAAY;yCAE1H,CAAA;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU;YAAyE,MAAM,OAAO,WAAW;yCAEvH,CAAA;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,2GAIvB,CAAA;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,2GAIvB,CAAA;AAID;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,2GAIrB,CAAA"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * IconProvider - Icon 시스템 전역 설정 Provider
3
+ *
4
+ * React Context를 사용하여 전역 아이콘 설정을 제공합니다.
5
+ * 서비스 레벨에서 Zustand 등으로 상태관리 후 props로 전달 가능합니다.
6
+ *
7
+ * IconProvider - Global Icon Settings Provider
8
+ *
9
+ * Provides global icon settings using React Context API.
10
+ * Can be integrated with state management (e.g., Zustand) at the service level.
11
+ */
12
+ import React from 'react';
13
+ import { type IconConfig, type IconSet, type PhosphorWeight } from './icon-store';
14
+ /**
15
+ * IconProvider 컴포넌트 Props
16
+ *
17
+ * IconProvider component props interface.
18
+ *
19
+ * @interface IconProviderProps
20
+ */
21
+ export interface IconProviderProps {
22
+ /** 아이콘 세트 (lucide, phosphor, untitled) / Icon set (lucide, phosphor, untitled) */
23
+ set?: IconSet;
24
+ /** Phosphor 아이콘 weight (thin, light, regular, bold, duotone, fill) / Phosphor icon weight */
25
+ weight?: PhosphorWeight;
26
+ /** 기본 아이콘 크기 / Default icon size */
27
+ size?: number;
28
+ /** 기본 아이콘 색상 / Default icon color */
29
+ color?: string;
30
+ /** Lucide/Untitled 아이콘 stroke width / Lucide/Untitled icon stroke width */
31
+ strokeWidth?: number;
32
+ /** 자식 컴포넌트 / Child components */
33
+ children: React.ReactNode;
34
+ }
35
+ interface IconContextValue extends IconConfig {
36
+ }
37
+ /**
38
+ * IconProvider 컴포넌트
39
+ *
40
+ * 전역 아이콘 설정을 Context로 제공합니다.
41
+ * 서비스에서 Zustand로 관리한 값을 props로 전달할 수 있습니다.
42
+ *
43
+ * IconProvider component
44
+ *
45
+ * Provides global icon settings through Context API.
46
+ * Can receive values managed by Zustand at the service level.
47
+ *
48
+ * @component
49
+ * @example
50
+ * ```tsx
51
+ * // 기본 사용 / Basic usage
52
+ * <IconProvider set="phosphor" weight="regular" size={20}>
53
+ * <App />
54
+ * </IconProvider>
55
+ *
56
+ * // Zustand와 함께 사용 / With Zustand
57
+ * const iconConfig = useIconStore(state => state.iconConfig)
58
+ * <IconProvider {...iconConfig}>
59
+ * <App />
60
+ * </IconProvider>
61
+ *
62
+ * // Lucide 아이콘 사용 / Using Lucide icons
63
+ * <IconProvider set="lucide" size={24} strokeWidth={1.5}>
64
+ * <App />
65
+ * </IconProvider>
66
+ * ```
67
+ *
68
+ * @param props - IconProvider 컴포넌트 props / IconProvider component props
69
+ * @returns IconProvider 컴포넌트 / IconProvider component
70
+ */
71
+ export declare function IconProvider({ set, weight, size, color, strokeWidth, children, }: IconProviderProps): import("react/jsx-runtime").JSX.Element;
72
+ /**
73
+ * useIconContext Hook
74
+ *
75
+ * Icon Context를 사용하는 Hook입니다.
76
+ * Icon 컴포넌트 내부에서 사용됩니다.
77
+ *
78
+ * Hook to use Icon Context.
79
+ * Used internally by Icon component.
80
+ *
81
+ * @returns Icon 설정 값 / Icon configuration value
82
+ *
83
+ * @example
84
+ * ```tsx
85
+ * // Icon 컴포넌트 내부에서 사용 / Used inside Icon component
86
+ * const config = useIconContext()
87
+ * const iconSet = config.set
88
+ * const iconSize = config.size
89
+ * ```
90
+ */
91
+ export declare function useIconContext(): IconContextValue;
92
+ export type { IconSet, PhosphorWeight, IconConfig } from './icon-store';
93
+ export { defaultIconConfig, getDefaultStrokeWidth } from './icon-store';
94
+ //# sourceMappingURL=IconProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconProvider.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/IconProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAEH,OAAO,KAAoC,MAAM,OAAO,CAAA;AACxD,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,OAAO,EAAE,KAAK,cAAc,EAAqB,MAAM,cAAc,CAAA;AAEpG;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,kFAAkF;IAClF,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,6FAA6F;IAC7F,MAAM,CAAC,EAAE,cAAc,CAAA;IACvB,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,UAAU,gBAAiB,SAAQ,UAAU;CAAG;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,YAAY,CAAC,EAC3B,GAA2B,EAC3B,MAAiC,EACjC,IAA6B,EAC7B,KAA+B,EAC/B,WAA2C,EAC3C,QAAQ,GACT,EAAE,iBAAiB,2CAcnB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,IAAI,gBAAgB,CAEjD;AAGD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Icon Config Types
3
+ *
4
+ * Icon 시스템의 설정 타입 정의
5
+ * 상태관리는 서비스 레벨에서 관리 (Zustand 등)
6
+ */
7
+ export type IconSet = 'lucide' | 'phosphor' | 'untitled';
8
+ export type PhosphorWeight = 'thin' | 'light' | 'regular' | 'bold' | 'duotone' | 'fill';
9
+ export interface IconConfig {
10
+ set: IconSet;
11
+ weight: PhosphorWeight;
12
+ size: number;
13
+ color: string;
14
+ strokeWidth?: number;
15
+ }
16
+ export declare const defaultIconConfig: IconConfig;
17
+ /**
18
+ * 세트별 기본 strokeWidth
19
+ */
20
+ export declare const getDefaultStrokeWidth: (set: IconSet) => number;
21
+ //# sourceMappingURL=icon-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"icon-store.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/icon-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,UAAU,CAAA;AAExD,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;AAEvF,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAA;IACZ,MAAM,EAAE,cAAc,CAAA;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,UAM/B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAAI,KAAK,OAAO,KAAG,MAWpD,CAAA"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Icon Component Exports
3
+ */
4
+ export { Icon, EmotionIcon, StatusIcon, LoadingIcon, SuccessIcon, ErrorIcon } from './Icon';
5
+ export type { IconProps } from './Icon';
6
+ export { IconProvider, useIconContext } from './IconProvider';
7
+ export type { IconProviderProps } from './IconProvider';
8
+ export type { IconSet, PhosphorWeight, IconConfig } from './icon-store';
9
+ export { defaultIconConfig, getDefaultStrokeWidth } from './icon-store';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC3F,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC7D,YAAY,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACvD,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACvE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,48 @@
1
+ import React from "react";
2
+ import type { IconName } from "../lib/icons";
3
+ /**
4
+ * InfoCard 컴포넌트의 props / InfoCard component props
5
+ * @typedef {Object} InfoCardProps
6
+ * @property {string} title - 카드 제목 / Card title
7
+ * @property {IconName} icon - 카드 아이콘 / Card icon
8
+ * @property {"blue" | "purple" | "green" | "orange"} [tone="blue"] - InfoCard 톤 색상 / InfoCard tone color
9
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
10
+ */
11
+ export interface InfoCardProps extends React.HTMLAttributes<HTMLDivElement> {
12
+ title: string;
13
+ icon: IconName;
14
+ tone?: "blue" | "purple" | "green" | "orange";
15
+ }
16
+ /**
17
+ * InfoCard 컴포넌트 / InfoCard component
18
+ *
19
+ * 정보를 표시하는 카드 컴포넌트입니다.
20
+ * 아이콘, 제목, 내용을 포함하며, 다양한 톤 색상을 지원합니다.
21
+ *
22
+ * Card component that displays information.
23
+ * Includes icon, title, and content, supports various tone colors.
24
+ *
25
+ * @component
26
+ * @example
27
+ * // 기본 사용 / Basic usage
28
+ * <InfoCard
29
+ * icon="info"
30
+ * title="정보"
31
+ * tone="blue"
32
+ * >
33
+ * 이것은 정보 카드입니다.
34
+ * </InfoCard>
35
+ *
36
+ * @example
37
+ * // 다양한 톤 / Various tones
38
+ * <InfoCard icon="check" title="성공" tone="green">
39
+ * 작업이 완료되었습니다.
40
+ * </InfoCard>
41
+ *
42
+ * @param {InfoCardProps} props - InfoCard 컴포넌트의 props / InfoCard component props
43
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
44
+ * @returns {JSX.Element} InfoCard 컴포넌트 / InfoCard component
45
+ */
46
+ export declare const InfoCard: React.ForwardRefExoticComponent<InfoCardProps & React.RefAttributes<HTMLDivElement>>;
47
+ export default InfoCard;
48
+ //# sourceMappingURL=InfoCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoCard.d.ts","sourceRoot":"","sources":["../../src/components/InfoCard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACzE,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,QAAQ,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;CAC9C;AA6BD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,QAAQ,sFAanB,CAAA;AAIF,eAAe,QAAQ,CAAA"}