@hua-labs/ui 2.0.2 → 2.1.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 (214) hide show
  1. package/README.md +34 -161
  2. package/dist/{ComponentLayout-btJq4TjA.d.mts → ComponentLayout-DrZpz0yv.d.mts} +1 -1
  3. package/dist/Section-BWzyshgX.d.mts +67 -0
  4. package/dist/advanced/dashboard.d.ts.map +1 -1
  5. package/dist/advanced-dashboard.d.mts +1 -1
  6. package/dist/advanced-dashboard.js +4 -4
  7. package/dist/advanced-dashboard.js.map +1 -1
  8. package/dist/advanced-dashboard.mjs +3 -3
  9. package/dist/advanced-dashboard.mjs.map +1 -1
  10. package/dist/advanced-emotion.mjs +1 -1
  11. package/dist/advanced-motion.d.mts +65 -1
  12. package/dist/advanced-motion.js +14 -14
  13. package/dist/advanced-motion.js.map +1 -1
  14. package/dist/advanced-motion.mjs +1 -1
  15. package/dist/advanced.d.mts +4 -4
  16. package/dist/advanced.js +16 -16
  17. package/dist/advanced.js.map +1 -1
  18. package/dist/advanced.mjs +3 -3
  19. package/dist/advanced.mjs.map +1 -1
  20. package/dist/chunk-3CCF7U3P.mjs +3 -0
  21. package/dist/{chunk-IFSEJVOR.mjs.map → chunk-3CCF7U3P.mjs.map} +1 -1
  22. package/dist/chunk-3GAUTZXQ.mjs +3 -0
  23. package/dist/{chunk-X7ZIWYRC.mjs.map → chunk-3GAUTZXQ.mjs.map} +1 -1
  24. package/dist/chunk-42RGFEL2.mjs +3 -0
  25. package/dist/chunk-42RGFEL2.mjs.map +1 -0
  26. package/dist/chunk-4NJE7D6X.mjs +3 -0
  27. package/dist/chunk-4NJE7D6X.mjs.map +1 -0
  28. package/dist/chunk-6HVJFEDA.mjs +3 -0
  29. package/dist/{chunk-FSL373O6.mjs.map → chunk-6HVJFEDA.mjs.map} +1 -1
  30. package/dist/chunk-7OYT3QSY.mjs +3 -0
  31. package/dist/chunk-7OYT3QSY.mjs.map +1 -0
  32. package/dist/chunk-ANYZ56VB.mjs +3 -0
  33. package/dist/{chunk-QQCELXFD.mjs.map → chunk-ANYZ56VB.mjs.map} +1 -1
  34. package/dist/chunk-AOSXB5JJ.mjs +4 -0
  35. package/dist/{chunk-GLZKT7JN.mjs.map → chunk-AOSXB5JJ.mjs.map} +1 -1
  36. package/dist/chunk-B544MRF7.mjs +3 -0
  37. package/dist/{chunk-SDFHJ4GB.mjs.map → chunk-B544MRF7.mjs.map} +1 -1
  38. package/dist/chunk-CVWWS25A.mjs +3 -0
  39. package/dist/chunk-CVWWS25A.mjs.map +1 -0
  40. package/dist/chunk-DYNBM24D.mjs +3 -0
  41. package/dist/{chunk-OSCMSA2Q.mjs.map → chunk-DYNBM24D.mjs.map} +1 -1
  42. package/dist/{chunk-NBJUE7NR.mjs → chunk-FX57OSYG.mjs} +2 -2
  43. package/dist/{chunk-NBJUE7NR.mjs.map → chunk-FX57OSYG.mjs.map} +1 -1
  44. package/dist/chunk-IJSYSNM5.mjs +3 -0
  45. package/dist/{chunk-IN7RWQCJ.mjs.map → chunk-IJSYSNM5.mjs.map} +1 -1
  46. package/dist/chunk-KJZGOL2Z.mjs +3 -0
  47. package/dist/{chunk-LOYAJIWO.mjs.map → chunk-KJZGOL2Z.mjs.map} +1 -1
  48. package/dist/chunk-KYRIUUQP.mjs +3 -0
  49. package/dist/{chunk-PAEKNQWW.mjs.map → chunk-KYRIUUQP.mjs.map} +1 -1
  50. package/dist/chunk-LSA7DU3N.mjs +73 -0
  51. package/dist/chunk-LSA7DU3N.mjs.map +1 -0
  52. package/dist/chunk-MDLCJASB.mjs +3 -0
  53. package/dist/{chunk-LH77I6HO.mjs.map → chunk-MDLCJASB.mjs.map} +1 -1
  54. package/dist/chunk-N56BUOCD.mjs +3 -0
  55. package/dist/{chunk-XV3Y7QVU.mjs.map → chunk-N56BUOCD.mjs.map} +1 -1
  56. package/dist/chunk-OFYITQXI.mjs +13 -0
  57. package/dist/chunk-OFYITQXI.mjs.map +1 -0
  58. package/dist/chunk-OZNST3EZ.mjs +3 -0
  59. package/dist/{chunk-SGEP3CQE.mjs.map → chunk-OZNST3EZ.mjs.map} +1 -1
  60. package/dist/chunk-RS6RKW5U.mjs +13 -0
  61. package/dist/{chunk-6KTHJ3EL.mjs.map → chunk-RS6RKW5U.mjs.map} +1 -1
  62. package/dist/{chunk-C4OACMTB.mjs → chunk-TXBZZJNR.mjs} +2 -2
  63. package/dist/{chunk-C4OACMTB.mjs.map → chunk-TXBZZJNR.mjs.map} +1 -1
  64. package/dist/chunk-TZ4YSHMC.mjs +3 -0
  65. package/dist/{chunk-UWHCM3S6.mjs.map → chunk-TZ4YSHMC.mjs.map} +1 -1
  66. package/dist/chunk-U6CTBZ2U.mjs +3 -0
  67. package/dist/chunk-U6CTBZ2U.mjs.map +1 -0
  68. package/dist/{chunk-5BMH7223.mjs → chunk-WP7VFE77.mjs} +2 -2
  69. package/dist/{chunk-5BMH7223.mjs.map → chunk-WP7VFE77.mjs.map} +1 -1
  70. package/dist/{chunk-FFH4ZFKS.mjs → chunk-XCZMLKPK.mjs} +2 -2
  71. package/dist/{chunk-FFH4ZFKS.mjs.map → chunk-XCZMLKPK.mjs.map} +1 -1
  72. package/dist/chunk-XGHT7WMO.mjs +3 -0
  73. package/dist/chunk-XGHT7WMO.mjs.map +1 -0
  74. package/dist/chunk-XL4KTJ4L.mjs +3 -0
  75. package/dist/{chunk-VWSBJUNI.mjs.map → chunk-XL4KTJ4L.mjs.map} +1 -1
  76. package/dist/chunk-Z74YUUVT.mjs +3 -0
  77. package/dist/chunk-Z74YUUVT.mjs.map +1 -0
  78. package/dist/chunk-ZXZIHU7J.mjs +8 -0
  79. package/dist/{chunk-N7M6RIN4.mjs.map → chunk-ZXZIHU7J.mjs.map} +1 -1
  80. package/dist/components/DatePicker.d.ts.map +1 -1
  81. package/dist/components/Modal.d.ts.map +1 -1
  82. package/dist/components/Popover.d.ts +2 -0
  83. package/dist/components/Popover.d.ts.map +1 -1
  84. package/dist/components/Progress.d.ts +1 -0
  85. package/dist/components/Progress.d.ts.map +1 -1
  86. package/dist/components/Section.d.ts +44 -0
  87. package/dist/components/Section.d.ts.map +1 -0
  88. package/dist/components/advanced/AnimatedGradient.d.ts.map +1 -1
  89. package/dist/components/advanced/DotNav.d.ts +26 -0
  90. package/dist/components/advanced/DotNav.d.ts.map +1 -0
  91. package/dist/components/advanced/HorizontalScroll.d.ts +20 -0
  92. package/dist/components/advanced/HorizontalScroll.d.ts.map +1 -0
  93. package/dist/components/advanced/ImageReveal.d.ts +24 -0
  94. package/dist/components/advanced/ImageReveal.d.ts.map +1 -0
  95. package/dist/components/advanced/index.d.ts +6 -0
  96. package/dist/components/advanced/index.d.ts.map +1 -1
  97. package/dist/data.mjs +2 -2
  98. package/dist/data.mjs.map +1 -1
  99. package/dist/feedback.mjs +1 -1
  100. package/dist/form.js +3 -3
  101. package/dist/form.js.map +1 -1
  102. package/dist/form.mjs +4 -4
  103. package/dist/form.mjs.map +1 -1
  104. package/dist/{icons-Bj_nr8Ba.d.mts → icons-DmhQEH_E.d.mts} +6 -1
  105. package/dist/index.d.mts +9 -27
  106. package/dist/index.d.ts +4 -0
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +6 -6
  109. package/dist/index.js.map +1 -1
  110. package/dist/index.mjs +2 -2
  111. package/dist/index.mjs.map +1 -1
  112. package/dist/interactive.js +1 -1
  113. package/dist/interactive.js.map +1 -1
  114. package/dist/interactive.mjs +1 -1
  115. package/dist/interactive.mjs.map +1 -1
  116. package/dist/landing/LandingAbout.d.ts +3 -0
  117. package/dist/landing/LandingAbout.d.ts.map +1 -0
  118. package/dist/landing/LandingCTA.d.ts +3 -0
  119. package/dist/landing/LandingCTA.d.ts.map +1 -0
  120. package/dist/landing/LandingContact.d.ts +3 -0
  121. package/dist/landing/LandingContact.d.ts.map +1 -0
  122. package/dist/landing/LandingExperience.d.ts +3 -0
  123. package/dist/landing/LandingExperience.d.ts.map +1 -0
  124. package/dist/landing/LandingFeatures.d.ts +3 -0
  125. package/dist/landing/LandingFeatures.d.ts.map +1 -0
  126. package/dist/landing/LandingHero.d.ts +3 -0
  127. package/dist/landing/LandingHero.d.ts.map +1 -0
  128. package/dist/landing/LandingLogoCloud.d.ts +3 -0
  129. package/dist/landing/LandingLogoCloud.d.ts.map +1 -0
  130. package/dist/landing/LandingMetrics.d.ts +3 -0
  131. package/dist/landing/LandingMetrics.d.ts.map +1 -0
  132. package/dist/landing/LandingProjects.d.ts +3 -0
  133. package/dist/landing/LandingProjects.d.ts.map +1 -0
  134. package/dist/landing/LandingProvider.d.ts +4 -0
  135. package/dist/landing/LandingProvider.d.ts.map +1 -0
  136. package/dist/landing/LandingShowcase.d.ts +3 -0
  137. package/dist/landing/LandingShowcase.d.ts.map +1 -0
  138. package/dist/landing/LandingSkills.d.ts +3 -0
  139. package/dist/landing/LandingSkills.d.ts.map +1 -0
  140. package/dist/landing/LandingStats.d.ts +3 -0
  141. package/dist/landing/LandingStats.d.ts.map +1 -0
  142. package/dist/landing/LandingTestimonials.d.ts +3 -0
  143. package/dist/landing/LandingTestimonials.d.ts.map +1 -0
  144. package/dist/landing/index.d.ts +47 -0
  145. package/dist/landing/index.d.ts.map +1 -0
  146. package/dist/landing/themes/app.d.ts +3 -0
  147. package/dist/landing/themes/app.d.ts.map +1 -0
  148. package/dist/landing/themes/corporate.d.ts +3 -0
  149. package/dist/landing/themes/corporate.d.ts.map +1 -0
  150. package/dist/landing/themes/dashboard.d.ts +3 -0
  151. package/dist/landing/themes/dashboard.d.ts.map +1 -0
  152. package/dist/landing/themes/immersive.d.ts +3 -0
  153. package/dist/landing/themes/immersive.d.ts.map +1 -0
  154. package/dist/landing/themes/index.d.ts +15 -0
  155. package/dist/landing/themes/index.d.ts.map +1 -0
  156. package/dist/landing/themes/marketing.d.ts +3 -0
  157. package/dist/landing/themes/marketing.d.ts.map +1 -0
  158. package/dist/landing/themes/portfolio.d.ts +3 -0
  159. package/dist/landing/themes/portfolio.d.ts.map +1 -0
  160. package/dist/landing/themes/product.d.ts +3 -0
  161. package/dist/landing/themes/product.d.ts.map +1 -0
  162. package/dist/landing/types.d.ts +346 -0
  163. package/dist/landing/types.d.ts.map +1 -0
  164. package/dist/landing.d.mts +417 -0
  165. package/dist/landing.js +100 -0
  166. package/dist/landing.js.map +1 -0
  167. package/dist/landing.mjs +31 -0
  168. package/dist/landing.mjs.map +1 -0
  169. package/dist/lib/icons.d.ts +6 -1
  170. package/dist/lib/icons.d.ts.map +1 -1
  171. package/dist/navigation.d.mts +1 -1
  172. package/dist/navigation.js +2 -2
  173. package/dist/navigation.js.map +1 -1
  174. package/dist/navigation.mjs +1 -1
  175. package/dist/navigation.mjs.map +1 -1
  176. package/dist/overlay.d.mts +2 -0
  177. package/dist/overlay.js +1 -1
  178. package/dist/overlay.js.map +1 -1
  179. package/dist/overlay.mjs +1 -1
  180. package/dist/overlay.mjs.map +1 -1
  181. package/dist/sdui.js +4 -4
  182. package/dist/sdui.js.map +1 -1
  183. package/dist/sdui.mjs +1 -1
  184. package/dist/sdui.mjs.map +1 -1
  185. package/package.json +18 -7
  186. package/src/styles/landing.css +107 -0
  187. package/src/styles/utilities.css +58 -0
  188. package/dist/chunk-6KTHJ3EL.mjs +0 -13
  189. package/dist/chunk-COR6CDMA.mjs +0 -83
  190. package/dist/chunk-COR6CDMA.mjs.map +0 -1
  191. package/dist/chunk-FSL373O6.mjs +0 -3
  192. package/dist/chunk-GLZKT7JN.mjs +0 -4
  193. package/dist/chunk-HN5LSP6L.mjs +0 -3
  194. package/dist/chunk-HN5LSP6L.mjs.map +0 -1
  195. package/dist/chunk-IFSEJVOR.mjs +0 -3
  196. package/dist/chunk-IN7RWQCJ.mjs +0 -3
  197. package/dist/chunk-LH77I6HO.mjs +0 -3
  198. package/dist/chunk-LOYAJIWO.mjs +0 -3
  199. package/dist/chunk-LPAG7DCA.mjs +0 -3
  200. package/dist/chunk-LPAG7DCA.mjs.map +0 -1
  201. package/dist/chunk-N7M6RIN4.mjs +0 -8
  202. package/dist/chunk-OSCMSA2Q.mjs +0 -3
  203. package/dist/chunk-PAEKNQWW.mjs +0 -3
  204. package/dist/chunk-QQCELXFD.mjs +0 -3
  205. package/dist/chunk-RPUS7G7Q.mjs +0 -3
  206. package/dist/chunk-RPUS7G7Q.mjs.map +0 -1
  207. package/dist/chunk-SDFHJ4GB.mjs +0 -3
  208. package/dist/chunk-SGEP3CQE.mjs +0 -3
  209. package/dist/chunk-UUHAXGMO.mjs +0 -3
  210. package/dist/chunk-UUHAXGMO.mjs.map +0 -1
  211. package/dist/chunk-UWHCM3S6.mjs +0 -3
  212. package/dist/chunk-VWSBJUNI.mjs +0 -3
  213. package/dist/chunk-X7ZIWYRC.mjs +0 -3
  214. package/dist/chunk-XV3Y7QVU.mjs +0 -3
@@ -0,0 +1,3 @@
1
+ import type { LandingTheme } from '../types';
2
+ export declare const portfolio: LandingTheme;
3
+ //# sourceMappingURL=portfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"portfolio.d.ts","sourceRoot":"","sources":["../../../src/landing/themes/portfolio.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,eAAO,MAAM,SAAS,EAAE,YAkDvB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { LandingTheme } from '../types';
2
+ export declare const product: LandingTheme;
3
+ //# sourceMappingURL=product.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.d.ts","sourceRoot":"","sources":["../../../src/landing/themes/product.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAE5C,eAAO,MAAM,OAAO,EAAE,YAkDrB,CAAA"}
@@ -0,0 +1,346 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { SectionProps } from '../components/Section';
3
+ export type LandingThemeName = 'corporate' | 'marketing' | 'product' | 'dashboard' | 'app' | 'immersive' | 'portfolio';
4
+ export interface LandingMotionOverride {
5
+ type?: 'fadeIn' | 'slideUp' | 'slideLeft' | 'slideRight' | 'scaleIn' | 'bounceIn';
6
+ duration?: number;
7
+ easing?: string;
8
+ delay?: number;
9
+ }
10
+ export interface LandingColorTokens {
11
+ /** HSL triple — 페이지 배경 (e.g. "0 0% 100%") */
12
+ background: string;
13
+ /** HSL triple — 기본 텍스트 */
14
+ foreground: string;
15
+ /** HSL triple — 뮤트 배경 */
16
+ muted: string;
17
+ /** HSL triple — 보조 텍스트 */
18
+ mutedForeground: string;
19
+ /** HSL triple — 브랜드/강조색 */
20
+ primary: string;
21
+ /** HSL triple — 강조색 위 텍스트 */
22
+ primaryForeground: string;
23
+ /** HSL triple — 보조 색상 */
24
+ secondary: string;
25
+ /** HSL triple — 보조 색상 위 텍스트 */
26
+ secondaryForeground: string;
27
+ /** HSL triple — 카드 배경 */
28
+ card: string;
29
+ /** HSL triple — 카드 텍스트 */
30
+ cardForeground: string;
31
+ /** HSL triple — 테두리 */
32
+ border: string;
33
+ /** HSL triple — 교차 섹션 배경 */
34
+ sectionAlt: string;
35
+ }
36
+ export interface LandingTheme {
37
+ name: LandingThemeName;
38
+ /** 테마 색상 팔레트 */
39
+ colors: LandingColorTokens;
40
+ hero: {
41
+ /** 배경 스타일 */
42
+ background: 'gradient' | 'animated-gradient' | 'dark';
43
+ /** 히어로 사이즈 */
44
+ size: 'xl' | 'full';
45
+ /** 입장 모션 */
46
+ motion: Required<LandingMotionOverride>;
47
+ };
48
+ features: {
49
+ /** 카드 타입 */
50
+ card: 'spotlight' | 'glow' | 'feature-glass';
51
+ /** stagger 딜레이 (ms) */
52
+ staggerDelay: number;
53
+ /** 모션 타입 */
54
+ motion: Required<LandingMotionOverride>;
55
+ /** 섹션 데코레이터 */
56
+ decorator: boolean;
57
+ };
58
+ stats: {
59
+ /** 숫자 사이즈 Tailwind class */
60
+ numberSize: string;
61
+ /** count-up 활성화 */
62
+ countUp: boolean;
63
+ /** stagger 딜레이 (ms) */
64
+ staggerDelay: number;
65
+ /** 모션 타입 */
66
+ motion: Required<LandingMotionOverride>;
67
+ };
68
+ cta: {
69
+ /** 배경 스타일 */
70
+ background: 'gradient-soft' | 'animated-gradient' | 'dark';
71
+ /** 입장 모션 */
72
+ motion: Required<LandingMotionOverride>;
73
+ };
74
+ testimonials: {
75
+ /** 기본 표시 방식 */
76
+ variant: 'carousel' | 'grid' | 'marquee';
77
+ /** stagger 딜레이 (ms) */
78
+ staggerDelay: number;
79
+ /** 모션 타입 */
80
+ motion: Required<LandingMotionOverride>;
81
+ };
82
+ logoCloud: {
83
+ /** 기본 표시 방식 */
84
+ variant: 'marquee' | 'grid';
85
+ /** Marquee 속도 (px/s) */
86
+ speed: number;
87
+ };
88
+ showcase: {
89
+ /** stagger 딜레이 (ms) */
90
+ staggerDelay: number;
91
+ /** 모션 타입 */
92
+ motion: Required<LandingMotionOverride>;
93
+ };
94
+ }
95
+ export interface LandingProviderProps {
96
+ theme: LandingThemeName | LandingTheme;
97
+ children: ReactNode;
98
+ }
99
+ export interface LandingHeroProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
100
+ title: ReactNode;
101
+ subtitle?: ReactNode;
102
+ description?: ReactNode;
103
+ primaryAction?: ReactNode;
104
+ secondaryAction?: ReactNode;
105
+ /** 히어로 사이즈 오버라이드 */
106
+ size?: 'xl' | 'full';
107
+ /** 배경 오버라이드 */
108
+ background?: 'gradient' | 'animated-gradient' | 'dark';
109
+ /** AnimatedGradient 색상 */
110
+ gradientColors?: string[];
111
+ /** 스크롤 표시기 */
112
+ scrollIndicator?: boolean;
113
+ /** 모션 오버라이드 */
114
+ motion?: LandingMotionOverride;
115
+ }
116
+ export interface LandingFeatureItem {
117
+ icon?: string;
118
+ title: string;
119
+ description: string;
120
+ }
121
+ export interface LandingFeaturesProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
122
+ items: LandingFeatureItem[];
123
+ /** 섹션 제목 */
124
+ title?: string;
125
+ /** 섹션 부제목 */
126
+ subtitle?: string;
127
+ /** 그리드 열 수 @default items.length에 따라 자동 */
128
+ columns?: 2 | 3 | 4;
129
+ /** 카드 타입 오버라이드 */
130
+ card?: 'spotlight' | 'glow' | 'feature-glass';
131
+ /** 섹션 props 오버라이드 */
132
+ sectionProps?: Partial<SectionProps>;
133
+ /** 모션 오버라이드 */
134
+ motion?: LandingMotionOverride;
135
+ /** stagger 딜레이 오버라이드 */
136
+ staggerDelay?: number;
137
+ /** 데코레이터 오버라이드 */
138
+ decorator?: boolean;
139
+ }
140
+ export interface LandingStatItem {
141
+ value: string;
142
+ label: string;
143
+ /** 접두사 (예: "$") */
144
+ prefix?: string;
145
+ /** 접미사 (예: "+", "M") */
146
+ suffix?: string;
147
+ }
148
+ export interface LandingStatsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
149
+ items: LandingStatItem[];
150
+ /** 섹션 제목 */
151
+ title?: string;
152
+ /** 섹션 부제목 */
153
+ subtitle?: string;
154
+ /** count-up 오버라이드 */
155
+ countUp?: boolean;
156
+ /** 숫자 사이즈 오버라이드 */
157
+ numberSize?: string;
158
+ /** 섹션 props 오버라이드 */
159
+ sectionProps?: Partial<SectionProps>;
160
+ /** 모션 오버라이드 */
161
+ motion?: LandingMotionOverride;
162
+ /** stagger 딜레이 오버라이드 */
163
+ staggerDelay?: number;
164
+ }
165
+ export interface LandingCTAProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
166
+ title: ReactNode;
167
+ subtitle?: ReactNode;
168
+ primaryAction?: ReactNode;
169
+ secondaryAction?: ReactNode;
170
+ /** 배경 오버라이드 */
171
+ background?: 'gradient-soft' | 'animated-gradient' | 'dark';
172
+ /** AnimatedGradient 색상 */
173
+ gradientColors?: string[];
174
+ /** 모션 오버라이드 */
175
+ motion?: LandingMotionOverride;
176
+ }
177
+ export interface LandingTestimonialItem {
178
+ quote: string;
179
+ author: string;
180
+ role?: string;
181
+ company?: string;
182
+ avatar?: string;
183
+ }
184
+ export interface LandingTestimonialsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
185
+ items: LandingTestimonialItem[];
186
+ /** 섹션 제목 */
187
+ title?: string;
188
+ /** 섹션 부제목 */
189
+ subtitle?: string;
190
+ /** 표시 방식 @default 'carousel' */
191
+ variant?: 'carousel' | 'grid' | 'marquee';
192
+ /** 그리드 열 수 @default 자동 */
193
+ columns?: 2 | 3;
194
+ /** Carousel 자동 재생 @default true */
195
+ autoPlay?: boolean;
196
+ /** Carousel 재생 간격 (ms) @default 5000 */
197
+ interval?: number;
198
+ /** 모션 오버라이드 */
199
+ motion?: LandingMotionOverride;
200
+ /** stagger 딜레이 오버라이드 */
201
+ staggerDelay?: number;
202
+ }
203
+ export interface LandingLogoItem {
204
+ src: string;
205
+ alt: string;
206
+ href?: string;
207
+ }
208
+ export interface LandingLogoCloudProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
209
+ logos: LandingLogoItem[];
210
+ /** 섹션 제목 */
211
+ title?: string;
212
+ /** 표시 방식 @default 'marquee' */
213
+ variant?: 'marquee' | 'grid';
214
+ /** Marquee 속도 (px/s) @default 50 */
215
+ speed?: number;
216
+ /** 로고 최대 높이 (px) @default 40 */
217
+ logoHeight?: number;
218
+ /** 모션 오버라이드 */
219
+ motion?: LandingMotionOverride;
220
+ }
221
+ export interface LandingShowcaseItem {
222
+ image: string;
223
+ title: string;
224
+ description: string;
225
+ }
226
+ export interface LandingShowcaseProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
227
+ items: LandingShowcaseItem[];
228
+ /** 섹션 제목 */
229
+ title?: string;
230
+ /** 섹션 부제목 */
231
+ subtitle?: string;
232
+ /** 모션 오버라이드 */
233
+ motion?: LandingMotionOverride;
234
+ /** stagger 딜레이 오버라이드 */
235
+ staggerDelay?: number;
236
+ }
237
+ export interface LandingSocialLink {
238
+ icon: string;
239
+ href: string;
240
+ label: string;
241
+ }
242
+ export interface LandingAboutProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
243
+ name: string;
244
+ role: string;
245
+ bio: string | ReactNode;
246
+ avatar?: string;
247
+ socialLinks?: LandingSocialLink[];
248
+ /** 모션 오버라이드 */
249
+ motion?: LandingMotionOverride;
250
+ }
251
+ export interface LandingProjectItem {
252
+ title: string;
253
+ description: string;
254
+ image?: string;
255
+ tags?: string[];
256
+ href?: string;
257
+ github?: string;
258
+ }
259
+ export interface LandingProjectsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
260
+ items: LandingProjectItem[];
261
+ /** 섹션 제목 */
262
+ title?: string;
263
+ /** 섹션 부제목 */
264
+ subtitle?: string;
265
+ /** 그리드 열 수 @default 3 */
266
+ columns?: 2 | 3;
267
+ /** 태그 필터 활성화 @default false */
268
+ filter?: boolean;
269
+ /** 모션 오버라이드 */
270
+ motion?: LandingMotionOverride;
271
+ /** stagger 딜레이 오버라이드 */
272
+ staggerDelay?: number;
273
+ }
274
+ export interface LandingSkillItem {
275
+ name: string;
276
+ level?: number;
277
+ icon?: string;
278
+ category?: string;
279
+ }
280
+ export interface LandingSkillsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
281
+ items: LandingSkillItem[];
282
+ /** 섹션 제목 */
283
+ title?: string;
284
+ /** 섹션 부제목 */
285
+ subtitle?: string;
286
+ /** 표시 방식 @default 'grid' */
287
+ variant?: 'bars' | 'grid' | 'marquee';
288
+ /** 모션 오버라이드 */
289
+ motion?: LandingMotionOverride;
290
+ /** stagger 딜레이 오버라이드 */
291
+ staggerDelay?: number;
292
+ }
293
+ export interface LandingExperienceItem {
294
+ title: string;
295
+ company: string;
296
+ period: string;
297
+ description?: string;
298
+ current?: boolean;
299
+ }
300
+ export interface LandingExperienceProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
301
+ items: LandingExperienceItem[];
302
+ /** 섹션 제목 */
303
+ title?: string;
304
+ /** 섹션 부제목 */
305
+ subtitle?: string;
306
+ /** 모션 오버라이드 */
307
+ motion?: LandingMotionOverride;
308
+ /** stagger 딜레이 오버라이드 */
309
+ staggerDelay?: number;
310
+ }
311
+ export interface LandingMetricItem {
312
+ label: string;
313
+ value: number;
314
+ description?: string;
315
+ }
316
+ export interface LandingMetricsTab {
317
+ label: string;
318
+ items: LandingMetricItem[];
319
+ }
320
+ export interface LandingMetricsProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
321
+ items: LandingMetricItem[];
322
+ /** 섹션 제목 */
323
+ title?: string;
324
+ /** 섹션 부제목 */
325
+ subtitle?: string;
326
+ /** 탭 그룹 (옵션) */
327
+ tabs?: LandingMetricsTab[];
328
+ /** 모션 오버라이드 */
329
+ motion?: LandingMotionOverride;
330
+ }
331
+ export interface LandingContactProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'> {
332
+ /** 섹션 제목 */
333
+ title?: string;
334
+ /** 섹션 부제목 */
335
+ subtitle?: string;
336
+ /** 이메일 주소 */
337
+ email?: string;
338
+ /** 소셜 링크 목록 */
339
+ socialLinks?: LandingSocialLink[];
340
+ /** 모션 오버라이드 */
341
+ motion?: LandingMotionOverride;
342
+ }
343
+ export type DeepPartial<T> = {
344
+ [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
345
+ };
346
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/landing/types.ts"],"names":[],"mappings":"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"}