@hua-labs/ui 1.0.0 → 1.1.0-alpha.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (348) hide show
  1. package/README.md +897 -210
  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-627HOIRV.mjs +2 -0
  25. package/dist/chunk-627HOIRV.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-E5PN4LUS.mjs +2 -0
  29. package/dist/chunk-E5PN4LUS.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-MXGXBG63.mjs +2 -0
  33. package/dist/chunk-MXGXBG63.mjs.map +1 -0
  34. package/dist/chunk-R5KCFRYV.mjs +2 -0
  35. package/dist/chunk-R5KCFRYV.mjs.map +1 -0
  36. package/dist/chunk-UGSYQDR4.mjs +2 -0
  37. package/dist/chunk-UGSYQDR4.mjs.map +1 -0
  38. package/dist/chunk-UUHAXGMO.mjs +2 -0
  39. package/dist/chunk-UUHAXGMO.mjs.map +1 -0
  40. package/dist/chunk-VU264VFN.mjs +2 -0
  41. package/dist/chunk-VU264VFN.mjs.map +1 -0
  42. package/dist/chunk-ZFS4B5QT.mjs +2 -0
  43. package/dist/chunk-ZFS4B5QT.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 +559 -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 +92 -25
  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
@@ -1,5 +1,14 @@
1
- import * as React from "react";
1
+ import React from "react";
2
2
  type Theme = "light" | "dark" | "system";
3
+ /**
4
+ * ThemeProvider 컴포넌트의 props / ThemeProvider component props
5
+ * @typedef {Object} ThemeProviderProps
6
+ * @property {React.ReactNode} children - 자식 컴포넌트 / Child components
7
+ * @property {"light" | "dark" | "system"} [defaultTheme="light"] - 기본 테마 / Default theme
8
+ * @property {string} [storageKey="hua-ui-theme"] - localStorage 키 / localStorage key
9
+ * @property {boolean} [enableSystem=true] - 시스템 테마 감지 활성화 / Enable system theme detection
10
+ * @property {boolean} [enableTransition=true] - 테마 전환 애니메이션 활성화 / Enable theme transition animation
11
+ */
3
12
  interface ThemeProviderProps {
4
13
  children: React.ReactNode;
5
14
  defaultTheme?: Theme;
@@ -7,13 +16,69 @@ interface ThemeProviderProps {
7
16
  enableSystem?: boolean;
8
17
  enableTransition?: boolean;
9
18
  }
19
+ /**
20
+ * ThemeProvider의 상태 타입 / ThemeProvider state type
21
+ * @typedef {Object} ThemeProviderState
22
+ * @property {"light" | "dark" | "system"} theme - 현재 테마 / Current theme
23
+ * @property {(theme: "light" | "dark" | "system") => void} setTheme - 테마 설정 함수 / Theme setter function
24
+ * @property {"light" | "dark"} resolvedTheme - 실제 적용된 테마 (system일 경우 시스템 테마) / Actually applied theme (system theme when system is selected)
25
+ * @property {() => void} toggleTheme - 테마 토글 함수 / Theme toggle function
26
+ */
10
27
  interface ThemeProviderState {
11
28
  theme: Theme;
12
29
  setTheme: (theme: Theme) => void;
13
30
  resolvedTheme: "light" | "dark";
14
31
  toggleTheme: () => void;
15
32
  }
16
- export declare function ThemeProvider({ children, defaultTheme, storageKey, enableSystem, enableTransition, ...props }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
33
+ /**
34
+ * ThemeProvider 컴포넌트 / ThemeProvider component
35
+ *
36
+ * 테마 관리를 위한 Context Provider 컴포넌트입니다.
37
+ * localStorage에 테마를 저장하고, 시스템 테마를 감지할 수 있습니다.
38
+ * useTheme 훅을 통해 테마 상태에 접근할 수 있습니다.
39
+ *
40
+ * Context Provider component for theme management.
41
+ * Saves theme to localStorage and can detect system theme.
42
+ * Access theme state through useTheme hook.
43
+ *
44
+ * @component
45
+ * @example
46
+ * // 기본 사용 / Basic usage
47
+ * <ThemeProvider>
48
+ * <App />
49
+ * </ThemeProvider>
50
+ *
51
+ * @example
52
+ * // 커스텀 설정 / Custom settings
53
+ * <ThemeProvider
54
+ * defaultTheme="dark"
55
+ * storageKey="my-app-theme"
56
+ * enableSystem={true}
57
+ * enableTransition={true}
58
+ * >
59
+ * <App />
60
+ * </ThemeProvider>
61
+ *
62
+ * @param {ThemeProviderProps} props - ThemeProvider 컴포넌트의 props / ThemeProvider component props
63
+ * @returns {JSX.Element} ThemeProvider 컴포넌트 / ThemeProvider component
64
+ */
65
+ export declare function ThemeProvider({ children, defaultTheme, // system에서 light로 변경
66
+ storageKey, enableSystem, enableTransition, ...props }: ThemeProviderProps): React.ReactElement;
67
+ /**
68
+ * useTheme 훅 / useTheme hook
69
+ *
70
+ * ThemeProvider의 테마 상태에 접근하는 훅입니다.
71
+ * ThemeProvider 내부에서만 사용할 수 있습니다.
72
+ *
73
+ * Hook to access ThemeProvider's theme state.
74
+ * Can only be used inside ThemeProvider.
75
+ *
76
+ * @example
77
+ * const { theme, setTheme, resolvedTheme, toggleTheme } = useTheme()
78
+ *
79
+ * @returns {ThemeProviderState} 테마 상태와 함수들 / Theme state and functions
80
+ * @throws {Error} ThemeProvider 외부에서 사용 시 에러 발생 / Error when used outside ThemeProvider
81
+ */
17
82
  export declare const useTheme: () => ThemeProviderState;
18
83
  export {};
19
84
  //# sourceMappingURL=ThemeProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/components/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExC,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAWD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAuB,EACvB,UAA2B,EAC3B,YAAmB,EACnB,gBAAuB,EACvB,GAAG,KAAK,EACT,EAAE,kBAAkB,2CAyEpB;AAED,eAAO,MAAM,QAAQ,0BAOpB,CAAA"}
1
+ {"version":3,"file":"ThemeProvider.d.ts","sourceRoot":"","sources":["../../src/components/ThemeProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAyD,MAAM,OAAO,CAAA;AAE7E,KAAK,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAA;AAExC;;;;;;;;GAQG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED;;;;;;;GAOG;AACH,UAAU,kBAAkB;IAC1B,KAAK,EAAE,KAAK,CAAA;IACZ,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,aAAa,EAAE,OAAO,GAAG,MAAM,CAAA;IAC/B,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAsB,EAAG,qBAAqB;AAC9C,UAA2B,EAC3B,YAAmB,EACnB,gBAAuB,EACvB,GAAG,KAAK,EACT,EAAE,kBAAkB,GAAG,KAAK,CAAC,YAAY,CAyEzC;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,QAAQ,0BAOpB,CAAA"}
@@ -1,3 +1,15 @@
1
+ /**
2
+ * ThemeToggle 컴포넌트의 props / ThemeToggle component props
3
+ * @typedef {Object} ThemeToggleProps
4
+ * @property {string} [className] - 추가 CSS 클래스 / Additional CSS class
5
+ * @property {"sm" | "md" | "lg"} [size="md"] - Toggle 크기 / Toggle size
6
+ * @property {"button" | "icon" | "switch"} [variant="button"] - Toggle 스타일 변형 / Toggle style variant
7
+ * @property {boolean} [showLabel=false] - 라벨 표시 여부 / Show label
8
+ * @property {Object} [label] - 커스텀 라벨 텍스트 / Custom label text
9
+ * @property {string} [label.light="라이트"] - 라이트 모드 라벨 / Light mode label
10
+ * @property {string} [label.dark="다크"] - 다크 모드 라벨 / Dark mode label
11
+ * @property {string} [label.system="시스템"] - 시스템 모드 라벨 / System mode label
12
+ */
1
13
  interface ThemeToggleProps {
2
14
  className?: string;
3
15
  size?: "sm" | "md" | "lg";
@@ -9,6 +21,38 @@ interface ThemeToggleProps {
9
21
  system?: string;
10
22
  };
11
23
  }
24
+ /**
25
+ * ThemeToggle 컴포넌트 / ThemeToggle component
26
+ *
27
+ * 테마를 전환하는 토글 컴포넌트입니다.
28
+ * ThemeProvider와 함께 사용하며, light/dark/system 테마를 지원합니다.
29
+ *
30
+ * Toggle component for switching themes.
31
+ * Used with ThemeProvider, supports light/dark/system themes.
32
+ *
33
+ * @component
34
+ * @example
35
+ * // 기본 사용 (버튼 스타일) / Basic usage (button style)
36
+ * <ThemeToggle />
37
+ *
38
+ * @example
39
+ * // 아이콘만 표시 / Icon only
40
+ * <ThemeToggle variant="icon" size="lg" />
41
+ *
42
+ * @example
43
+ * // Switch 스타일 / Switch style
44
+ * <ThemeToggle variant="switch" />
45
+ *
46
+ * @example
47
+ * // 라벨과 함께 / With label
48
+ * <ThemeToggle
49
+ * showLabel
50
+ * label={{ light: "밝게", dark: "어둡게" }}
51
+ * />
52
+ *
53
+ * @param {ThemeToggleProps} props - ThemeToggle 컴포넌트의 props / ThemeToggle component props
54
+ * @returns {JSX.Element} ThemeToggle 컴포넌트 / ThemeToggle component
55
+ */
12
56
  export declare function ThemeToggle({ className, size, variant, showLabel, label, ...props }: ThemeToggleProps): import("react/jsx-runtime").JSX.Element;
13
57
  export {};
14
58
  //# sourceMappingURL=ThemeToggle.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,IAAW,EACX,OAAkB,EAClB,SAAiB,EACjB,KAIC,EACD,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAiHlB"}
1
+ {"version":3,"file":"ThemeToggle.d.ts","sourceRoot":"","sources":["../../src/components/ThemeToggle.tsx"],"names":[],"mappings":"AAOA;;;;;;;;;;;GAWG;AACH,UAAU,gBAAgB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IACtC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,KAAK,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,IAAW,EACX,OAAkB,EAClB,SAAiB,EACjB,KAIC,EACD,GAAG,KAAK,EACT,EAAE,gBAAgB,2CAiHlB"}
@@ -1,4 +1,16 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Toast 메시지 타입 / Toast message type
4
+ * @typedef {Object} Toast
5
+ * @property {string} id - Toast 고유 ID / Toast unique ID
6
+ * @property {"success" | "error" | "warning" | "info"} type - Toast 타입 / Toast type
7
+ * @property {string} [title] - Toast 제목 / Toast title
8
+ * @property {string} message - Toast 메시지 / Toast message
9
+ * @property {number} [duration] - 표시 시간(ms), 0이면 자동 제거 안 함 / Display duration (ms), 0 means no auto-remove
10
+ * @property {Object} [action] - 액션 버튼 / Action button
11
+ * @property {string} action.label - 액션 버튼 레이블 / Action button label
12
+ * @property {() => void} action.onClick - 액션 버튼 클릭 핸들러 / Action button click handler
13
+ */
2
14
  export interface Toast {
3
15
  id: string;
4
16
  type: "success" | "error" | "warning" | "info";
@@ -16,12 +28,74 @@ interface ToastContextType {
16
28
  removeToast: (id: string) => void;
17
29
  clearToasts: () => void;
18
30
  }
31
+ /**
32
+ * useToast Hook
33
+ *
34
+ * Toast를 추가, 제거, 초기화하는 훅입니다.
35
+ * ToastProvider 내부에서만 사용 가능합니다.
36
+ *
37
+ * Hook for adding, removing, and clearing toasts.
38
+ * Can only be used within ToastProvider.
39
+ *
40
+ * @example
41
+ * const { addToast, removeToast, clearToasts } = useToast()
42
+ *
43
+ * addToast({
44
+ * type: "success",
45
+ * message: "저장되었습니다",
46
+ * duration: 3000
47
+ * })
48
+ *
49
+ * @returns {ToastContextType} Toast 컨텍스트 값 / Toast context value
50
+ * @throws {Error} ToastProvider 외부에서 사용 시 에러 발생 / Error when used outside ToastProvider
51
+ */
19
52
  export declare function useToast(): ToastContextType;
53
+ /**
54
+ * ToastProvider 컴포넌트의 props / ToastProvider component props
55
+ * @typedef {Object} ToastProviderProps
56
+ * @property {React.ReactNode} children - 자식 컴포넌트 / Child components
57
+ * @property {number} [maxToasts=5] - 최대 Toast 개수 / Maximum number of toasts
58
+ * @property {"top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center"} [position="top-right"] - Toast 표시 위치 / Toast display position
59
+ */
20
60
  interface ToastProviderProps {
21
61
  children: React.ReactNode;
22
62
  maxToasts?: number;
23
63
  position?: "top-right" | "top-left" | "bottom-right" | "bottom-left" | "top-center" | "bottom-center";
24
64
  }
65
+ /**
66
+ * ToastProvider 컴포넌트 / ToastProvider component
67
+ *
68
+ * Toast 시스템의 컨텍스트를 제공하는 Provider 컴포넌트입니다.
69
+ * 앱의 루트 레벨에서 사용하여 전역 Toast 기능을 활성화합니다.
70
+ *
71
+ * Provider component that provides context for the Toast system.
72
+ * Use at the root level of your app to enable global Toast functionality.
73
+ *
74
+ * @component
75
+ * @example
76
+ * // App.tsx
77
+ * <ToastProvider position="top-center" maxToasts={3}>
78
+ * <App />
79
+ * </ToastProvider>
80
+ *
81
+ * @example
82
+ * // 컴포넌트에서 사용 / Usage in component
83
+ * const { addToast } = useToast()
84
+ *
85
+ * const handleSave = () => {
86
+ * addToast({
87
+ * type: "success",
88
+ * message: "저장되었습니다",
89
+ * title: "성공"
90
+ * })
91
+ * }
92
+ *
93
+ * @param {ToastProviderProps} props - ToastProvider 컴포넌트의 props / ToastProvider component props
94
+ * @returns {JSX.Element} ToastProvider 컴포넌트 / ToastProvider component
95
+ *
96
+ * @todo 접근성 개선: ToastItem에 role="alert" 또는 role="status" 추가 필요 / Accessibility: Add role="alert" or role="status" to ToastItem
97
+ * @todo 접근성 개선: aria-live="polite" 또는 aria-live="assertive" 추가 필요 / Accessibility: Add aria-live="polite" or aria-live="assertive"
98
+ */
25
99
  export declare function ToastProvider({ children, maxToasts, position }: ToastProviderProps): import("react/jsx-runtime").JSX.Element;
26
100
  export declare const showToast: (toast: Omit<Toast, "id">) => void;
27
101
  export declare const showSuccessToast: (message: string, title?: string, duration?: number) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAMD,wBAAgB,QAAQ,qBAMvB;AAGD,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAA;CACtG;AAGD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAa,EACb,QAAsB,EACvB,EAAE,kBAAkB,2CAkCpB;AAuLD,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAGjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAEhF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAE/E,CAAA"}
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../src/components/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAA;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,IAAI,CAAA;KACpB,CAAA;CACF;AAGD,UAAU,gBAAgB;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA;IAC5C,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,WAAW,EAAE,MAAM,IAAI,CAAA;CACxB;AAKD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,QAAQ,IAAI,gBAAgB,CAM3C;AAED;;;;;;GAMG;AACH,UAAU,kBAAkB;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,aAAa,GAAG,YAAY,GAAG,eAAe,CAAA;CACtG;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAa,EACb,QAAsB,EACvB,EAAE,kBAAkB,2CAkCpB;AAwKD,eAAO,MAAM,SAAS,GAAI,OAAO,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,SAGjD,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,cAAc,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAEhF,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAElF,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,EAAE,WAAW,MAAM,SAE/E,CAAA"}
@@ -0,0 +1,62 @@
1
+ import React from "react";
2
+ /**
3
+ * Toggle 컴포넌트의 props / Toggle component props
4
+ * @typedef {Object} ToggleProps
5
+ * @property {"default" | "outline" | "filled" | "ghost" | "glass"} [variant="default"] - Toggle 스타일 변형 / Toggle style variant
6
+ * @property {"sm" | "md" | "lg"} [size="md"] - Toggle 크기 / Toggle size
7
+ * @property {boolean} [pressed] - 제어 모드에서 눌림 상태 / Pressed state in controlled mode
8
+ * @property {(pressed: boolean) => void} [onPressedChange] - 상태 변경 콜백 / State change callback
9
+ * @property {string} [label] - Toggle 라벨 텍스트 / Toggle label text
10
+ * @property {string} [description] - Toggle 설명 텍스트 / Toggle description text
11
+ * @property {React.ReactNode} [icon] - 아이콘 / Icon
12
+ * @property {"left" | "right"} [iconPosition="left"] - 아이콘 위치 / Icon position
13
+ * @extends {Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'>}
14
+ */
15
+ export interface ToggleProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'size'> {
16
+ variant?: "default" | "outline" | "filled" | "ghost" | "glass";
17
+ size?: "sm" | "md" | "lg";
18
+ pressed?: boolean;
19
+ onPressedChange?: (pressed: boolean) => void;
20
+ label?: string;
21
+ description?: string;
22
+ icon?: React.ReactNode;
23
+ iconPosition?: "left" | "right";
24
+ }
25
+ /**
26
+ * Toggle 컴포넌트 / Toggle component
27
+ *
28
+ * 눌림 상태를 가지는 토글 버튼 컴포넌트입니다.
29
+ * Switch와 달리 버튼 형태로 표시되며, 여러 개를 그룹으로 사용할 수 있습니다.
30
+ *
31
+ * Toggle button component with pressed state.
32
+ * Unlike Switch, displayed as a button and can be used in groups.
33
+ *
34
+ * @component
35
+ * @example
36
+ * // 기본 사용 / Basic usage
37
+ * <Toggle label="알림" />
38
+ *
39
+ * @example
40
+ * // 제어 모드 / Controlled mode
41
+ * const [pressed, setPressed] = useState(false)
42
+ * <Toggle
43
+ * pressed={pressed}
44
+ * onPressedChange={setPressed}
45
+ * label="다크 모드"
46
+ * icon={<Icon name="moon" />}
47
+ * />
48
+ *
49
+ * @example
50
+ * // 아이콘만 / Icon only
51
+ * <Toggle
52
+ * icon={<Icon name="heart" />}
53
+ * variant="ghost"
54
+ * />
55
+ *
56
+ * @param {ToggleProps} props - Toggle 컴포넌트의 props / Toggle component props
57
+ * @param {React.Ref<HTMLButtonElement>} ref - button 요소 ref / button element ref
58
+ * @returns {JSX.Element} Toggle 컴포넌트 / Toggle component
59
+ */
60
+ declare const Toggle: React.ForwardRefExoticComponent<ToggleProps & React.RefAttributes<HTMLButtonElement>>;
61
+ export { Toggle };
62
+ //# sourceMappingURL=Toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toggle.d.ts","sourceRoot":"","sources":["../../src/components/Toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC9F,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAA;IAC9D,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAChC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,QAAA,MAAM,MAAM,uFAqFX,CAAA;AAGD,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1,4 +1,15 @@
1
- import * as React from "react";
1
+ import React from "react";
2
+ /**
3
+ * Tooltip 컴포넌트의 props / Tooltip component props
4
+ * @typedef {Object} TooltipProps
5
+ * @property {string} content - Tooltip 내용 / Tooltip content
6
+ * @property {React.ReactNode} children - Tooltip이 연결될 요소 / Element to attach tooltip to
7
+ * @property {"top" | "bottom" | "left" | "right"} [position="top"] - Tooltip 표시 위치 / Tooltip display position
8
+ * @property {"default" | "light" | "dark"} [variant="default"] - Tooltip 스타일 변형 / Tooltip style variant
9
+ * @property {number} [delay=300] - Tooltip 표시 지연 시간(ms) / Tooltip display delay (ms)
10
+ * @property {boolean} [disabled=false] - Tooltip 비활성화 여부 / Disable tooltip
11
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
12
+ */
2
13
  export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
3
14
  content: string;
4
15
  children: React.ReactNode;
@@ -7,6 +18,42 @@ export interface TooltipProps extends React.HTMLAttributes<HTMLDivElement> {
7
18
  delay?: number;
8
19
  disabled?: boolean;
9
20
  }
21
+ /**
22
+ * Tooltip 컴포넌트 / Tooltip component
23
+ *
24
+ * 호버 시 추가 정보를 표시하는 툴팁 컴포넌트입니다.
25
+ * 마우스 호버 시 지연 시간 후 표시됩니다.
26
+ *
27
+ * Tooltip component that displays additional information on hover.
28
+ * Appears after a delay when the mouse hovers over the element.
29
+ *
30
+ * @component
31
+ * @example
32
+ * // 기본 사용 / Basic usage
33
+ * <Tooltip content="이것은 도움말입니다">
34
+ * <Button>호버하세요</Button>
35
+ * </Tooltip>
36
+ *
37
+ * @example
38
+ * // 다양한 위치 / Different positions
39
+ * <Tooltip content="위치 변경" position="bottom">
40
+ * <Icon name="info" />
41
+ * </Tooltip>
42
+ *
43
+ * @example
44
+ * // 커스텀 스타일 / Custom styles
45
+ * <Tooltip content="라이트 스타일" variant="light" delay={500}>
46
+ * <span>호버</span>
47
+ * </Tooltip>
48
+ *
49
+ * @param {TooltipProps} props - Tooltip 컴포넌트의 props / Tooltip component props
50
+ * @param {React.Ref<HTMLDivElement>} ref - div 요소 ref / div element ref
51
+ * @returns {JSX.Element} Tooltip 컴포넌트 / Tooltip component
52
+ *
53
+ * @todo 접근성 개선: role="tooltip" 추가 필요 / Accessibility: Add role="tooltip"
54
+ * @todo 접근성 개선: aria-describedby 연결 필요 / Accessibility: Connect aria-describedby
55
+ * @todo 접근성 개선: 키보드 포커스 시 Tooltip 표시 필요 / Accessibility: Show tooltip on keyboard focus
56
+ */
10
57
  declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps & React.RefAttributes<HTMLDivElement>>;
11
58
  export declare const TooltipLight: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
12
59
  export declare const TooltipDark: React.ForwardRefExoticComponent<Omit<TooltipProps, "variant"> & React.RefAttributes<HTMLDivElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,QAAA,MAAM,OAAO,qFA8IZ,CAAA;AAID,eAAO,MAAM,YAAY,sGAIxB,CAAA;AAGD,eAAO,MAAM,WAAW,sGAIvB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../src/components/Tooltip.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;IAC9C,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;IACtC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,QAAA,MAAM,OAAO,qFA+IZ,CAAA;AAID,eAAO,MAAM,YAAY,sGAIxB,CAAA;AAGD,eAAO,MAAM,WAAW,sGAIvB,CAAA;AAGD,OAAO,EAAE,OAAO,EAAE,CAAA"}
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ /**
3
+ * 업로드된 파일 정보 인터페이스 / Uploaded file information interface
4
+ * @typedef {Object} UploadedFile
5
+ * @property {string} id - 파일 고유 ID / File unique ID
6
+ * @property {File} file - 파일 객체 / File object
7
+ * @property {string} name - 파일 이름 / File name
8
+ * @property {number} size - 파일 크기 (bytes) / File size in bytes
9
+ * @property {string} type - 파일 타입 / File type
10
+ * @property {number} [progress] - 업로드 진행률 (0-100) / Upload progress (0-100)
11
+ * @property {"pending" | "uploading" | "success" | "error"} [status] - 업로드 상태 / Upload status
12
+ * @property {string} [url] - 업로드된 파일 URL / Uploaded file URL
13
+ * @property {string} [error] - 에러 메시지 / Error message
14
+ */
15
+ export interface UploadedFile {
16
+ id: string;
17
+ file: File;
18
+ name: string;
19
+ size: number;
20
+ type: string;
21
+ progress?: number;
22
+ status?: "pending" | "uploading" | "success" | "error";
23
+ url?: string;
24
+ error?: string;
25
+ }
26
+ /**
27
+ * Upload 컴포넌트의 props / Upload component props
28
+ * @typedef {Object} UploadProps
29
+ * @property {UploadedFile[]} [files] - 업로드된 파일 목록 / Uploaded files list
30
+ * @property {(files: File[]) => void} [onChange] - 파일 선택 핸들러 / File selection handler
31
+ * @property {(file: UploadedFile) => void} [onRemove] - 파일 제거 핸들러 / File removal handler
32
+ * @property {boolean} [multiple=false] - 다중 파일 선택 허용 / Allow multiple file selection
33
+ * @property {string} [accept] - 허용할 파일 타입 (예: "image/*", ".pdf") / Accepted file types
34
+ * @property {number} [maxSize] - 최대 파일 크기 (bytes) / Maximum file size in bytes
35
+ * @property {number} [maxFiles] - 최대 파일 개수 / Maximum number of files
36
+ * @property {boolean} [disabled=false] - 비활성화 상태 / Disabled state
37
+ * @property {boolean} [dragDrop=true] - 드래그 앤 드롭 활성화 / Enable drag and drop
38
+ * @property {string} [placeholder="파일을 선택하거나 여기에 드래그하세요"] - 플레이스홀더 / Placeholder
39
+ * @property {"sm" | "md" | "lg"} [size="md"] - 크기 / Size
40
+ * @property {string} [className] - 추가 클래스명 / Additional class name
41
+ */
42
+ export interface UploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
43
+ files?: UploadedFile[];
44
+ onChange?: (files: File[]) => void;
45
+ onRemove?: (file: UploadedFile) => void;
46
+ multiple?: boolean;
47
+ accept?: string;
48
+ maxSize?: number;
49
+ maxFiles?: number;
50
+ disabled?: boolean;
51
+ dragDrop?: boolean;
52
+ placeholder?: string;
53
+ size?: "sm" | "md" | "lg";
54
+ className?: string;
55
+ }
56
+ /**
57
+ * Upload 컴포넌트 / Upload component
58
+ *
59
+ * 파일을 업로드할 수 있는 컴포넌트입니다.
60
+ * 드래그 앤 드롭, 다중 파일 선택, 파일 크기 제한 등을 지원합니다.
61
+ *
62
+ * Component for uploading files.
63
+ * Supports drag and drop, multiple file selection, file size limits, and more.
64
+ *
65
+ * @component
66
+ * @example
67
+ * // 기본 사용 / Basic usage
68
+ * <Upload
69
+ * onChange={(files) => console.log(files)}
70
+ * />
71
+ *
72
+ * @example
73
+ * // 이미지만, 다중 선택 / Images only, multiple selection
74
+ * <Upload
75
+ * accept="image/*"
76
+ * multiple
77
+ * maxSize={5 * 1024 * 1024} // 5MB
78
+ * maxFiles={5}
79
+ * files={uploadedFiles}
80
+ * onRemove={(file) => handleRemove(file)}
81
+ * />
82
+ *
83
+ * @param {UploadProps} props - Upload 컴포넌트의 props / Upload component props
84
+ * @returns {JSX.Element} Upload 컴포넌트 / Upload component
85
+ */
86
+ export declare const Upload: React.ForwardRefExoticComponent<UploadProps & React.RefAttributes<HTMLDivElement>>;
87
+ //# sourceMappingURL=Upload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Upload.d.ts","sourceRoot":"","sources":["../../src/components/Upload.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,IAAI,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACzF,KAAK,CAAC,EAAE,YAAY,EAAE,CAAA;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAmBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,MAAM,oFAiNlB,CAAA"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
3
+ export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
4
+ export interface AdvancedPageTransitionProps {
5
+ children: React.ReactNode;
6
+ className?: string;
7
+ type?: TransitionType;
8
+ duration?: number;
9
+ easing?: TransitionEasing;
10
+ delay?: number;
11
+ autoStart?: boolean;
12
+ onStart?: () => void;
13
+ onComplete?: () => void;
14
+ showProgress?: boolean;
15
+ progressClassName?: string;
16
+ }
17
+ export declare const AdvancedPageTransition: React.ForwardRefExoticComponent<AdvancedPageTransitionProps & React.RefAttributes<HTMLDivElement>>;
18
+ export declare const FadePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
19
+ export declare const SlidePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const ScalePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
21
+ export declare const FlipPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
22
+ export declare const MorphPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
23
+ export declare const CubePageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
24
+ export declare const ZoomPageTransition: React.ForwardRefExoticComponent<Omit<AdvancedPageTransitionProps, "type"> & React.RefAttributes<HTMLDivElement>>;
25
+ //# sourceMappingURL=AdvancedPageTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdvancedPageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/AdvancedPageTransition.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAG1D,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,eAAO,MAAM,sBAAsB,oGAkNjC,CAAA;AAKF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,mBAAmB,kHAE9B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA;AAEF,eAAO,MAAM,kBAAkB,kHAE7B,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './AdvancedPageTransition';
2
+ export { usePageTransition } from './usePageTransition';
3
+ export { usePageTransitionManager } from './usePageTransitionManager';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/index.ts"],"names":[],"mappings":"AACA,cAAc,0BAA0B,CAAA;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAA"}
@@ -0,0 +1,33 @@
1
+ export type TransitionType = 'fade' | 'slide' | 'scale' | 'flip' | 'morph' | 'cube' | 'zoom' | 'slide-up' | 'slide-down' | 'slide-left' | 'slide-right';
2
+ export type TransitionEasing = 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'bounce' | 'elastic' | 'smooth';
3
+ export interface TransitionConfig {
4
+ type: TransitionType;
5
+ duration: number;
6
+ easing: TransitionEasing;
7
+ delay?: number;
8
+ stagger?: number;
9
+ direction?: 'forward' | 'backward';
10
+ onStart?: () => void;
11
+ onComplete?: () => void;
12
+ onReverse?: () => void;
13
+ }
14
+ export interface PageTransitionState {
15
+ isTransitioning: boolean;
16
+ isVisible: boolean;
17
+ currentStep: number;
18
+ progress: number;
19
+ }
20
+ export interface PageTransitionControls {
21
+ start: (config?: Partial<TransitionConfig>) => Promise<void>;
22
+ reverse: () => Promise<void>;
23
+ pause: () => void;
24
+ resume: () => void;
25
+ reset: () => void;
26
+ }
27
+ export declare const usePageTransition: (initialConfig?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
28
+ export declare const useFadeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
29
+ export declare const useSlideTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
30
+ export declare const useScaleTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
31
+ export declare const useMorphTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
32
+ export declare const useCubeTransition: (config?: Partial<TransitionConfig>) => [PageTransitionState, PageTransitionControls];
33
+ //# sourceMappingURL=usePageTransition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageTransition.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransition.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,GACN,OAAO,GACP,MAAM,GACN,MAAM,GACN,UAAU,GACV,YAAY,GACZ,YAAY,GACZ,aAAa,CAAA;AAEjB,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,SAAS,GACT,UAAU,GACV,aAAa,GACb,QAAQ,GACR,SAAS,GACT,QAAQ,CAAA;AAEZ,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,KAAK,EAAE,MAAM,IAAI,CAAA;CAClB;AAED,eAAO,MAAM,iBAAiB,GAC5B,gBAAe,OAAO,CAAC,gBAAgB,CAAM,KAC5C,CAAC,mBAAmB,EAAE,sBAAsB,CAgJ9C,CAAA;AAGD,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEpE,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,kDAEnE,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { TransitionType, TransitionEasing, TransitionConfig } from './usePageTransition';
2
+ export interface PageTransitionManagerConfig {
3
+ defaultType?: TransitionType;
4
+ defaultDuration?: number;
5
+ defaultEasing?: TransitionEasing;
6
+ enableHistory?: boolean;
7
+ enableProgress?: boolean;
8
+ enableDebug?: boolean;
9
+ }
10
+ export interface PageTransitionEvent {
11
+ id: string;
12
+ type: TransitionType;
13
+ duration: number;
14
+ easing: TransitionEasing;
15
+ timestamp: number;
16
+ status: 'pending' | 'active' | 'completed' | 'failed';
17
+ }
18
+ export interface PageTransitionManagerState {
19
+ isTransitioning: boolean;
20
+ currentTransition: PageTransitionEvent | null;
21
+ transitionHistory: PageTransitionEvent[];
22
+ totalTransitions: number;
23
+ averageDuration: number;
24
+ }
25
+ export interface PageTransitionManagerControls {
26
+ startTransition: (config: Partial<TransitionConfig>) => Promise<string>;
27
+ cancelTransition: (id: string) => void;
28
+ pauseAll: () => void;
29
+ resumeAll: () => void;
30
+ clearHistory: () => void;
31
+ getTransitionStats: () => {
32
+ total: number;
33
+ average: number;
34
+ byType: Record<TransitionType, number>;
35
+ byStatus: Record<string, number>;
36
+ };
37
+ }
38
+ export declare const usePageTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
39
+ export declare const useFadeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
40
+ export declare const useSlideTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
41
+ export declare const useScaleTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
42
+ export declare const useMorphTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
43
+ export declare const useCubeTransitionManager: (config?: PageTransitionManagerConfig) => [PageTransitionManagerState, PageTransitionManagerControls];
44
+ //# sourceMappingURL=usePageTransitionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageTransitionManager.d.ts","sourceRoot":"","sources":["../../../src/components/advanced/usePageTransitionManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAExF,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,cAAc,CAAA;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,gBAAgB,CAAA;IAChC,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,cAAc,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAA;CACtD;AAED,MAAM,WAAW,0BAA0B;IACzC,eAAe,EAAE,OAAO,CAAA;IACxB,iBAAiB,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAC7C,iBAAiB,EAAE,mBAAmB,EAAE,CAAA;IACxC,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACvE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,kBAAkB,EAAE,MAAM;QACxB,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA;QACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACjC,CAAA;CACF;AAED,eAAO,MAAM,wBAAwB,GACnC,SAAQ,2BAAgC,KACvC,CAAC,0BAA0B,EAAE,6BAA6B,CAqL5D,CAAA;AAGD,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,2BAA2B,gEAE7E,CAAA;AAED,eAAO,MAAM,wBAAwB,GAAI,SAAS,2BAA2B,gEAE5E,CAAA"}