ui-landing-page 6.1.0

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 (991) hide show
  1. package/.eslintrc.js +3 -0
  2. package/.storybook/main.ts +34 -0
  3. package/.storybook/preview.tsx +23 -0
  4. package/BUNDLE_ANALYSIS.md +111 -0
  5. package/CODE_SPLITTING_SUMMARY.md +278 -0
  6. package/ENTRY_POINTS.md +77 -0
  7. package/ENTRY_POINTS_REFERENCE.md +479 -0
  8. package/FINAL_ANALYSIS.md +296 -0
  9. package/QUICK_START.md +78 -0
  10. package/analyze-bundle.js +46 -0
  11. package/assets/fonts/Inter/Inter-Italic-VariableFont_opsz,wght.ttf +0 -0
  12. package/assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf +0 -0
  13. package/assets/fonts/amstirdam/SVN-Amstirdam.otf +0 -0
  14. package/assets/fonts/androgyne/SVN-Androgyne.woff +0 -0
  15. package/assets/fonts/androgyne/SVN-Androgyne.woff2 +0 -0
  16. package/assets/fonts/antiqua/SVN-BookAntiqua.woff +0 -0
  17. package/assets/fonts/antiqua/SVN-BookAntiqua.woff2 +0 -0
  18. package/assets/fonts/desire/SVN-Desire.otf +0 -0
  19. package/assets/fonts/elle-gabor/Elle Gabor Std Black.otf +0 -0
  20. package/assets/fonts/elle-gabor/Elle Gabor Std DemiBold.otf +0 -0
  21. package/assets/fonts/elle-gabor/Elle Gabor Std Text.otf +0 -0
  22. package/assets/fonts/elle-gabor/Elle Gabor Std Ultra Light.otf +0 -0
  23. package/assets/fonts/elle-gabor/Elle-Gabor-Std-Bold.otf +0 -0
  24. package/assets/fonts/elle-gabor/Elle-Gabor-Std-Book.otf +0 -0
  25. package/assets/fonts/elle-gabor/Elle-Gabor-Std-Light.otf +0 -0
  26. package/assets/fonts/elle-gabor/Elle-Gabor-Std-Medium.otf +0 -0
  27. package/assets/fonts/god-word/god-word-bold.ttf +0 -0
  28. package/assets/fonts/god-word/god-word-regular.ttf +0 -0
  29. package/assets/fonts/lost-type/LostType2023-Regular.otf +0 -0
  30. package/assets/fonts/neurial-grotesk/NeurialGrotesk-Medium.otf +0 -0
  31. package/assets/fonts/qua-tang-quoc-hoi/SFUAGBuchStencilBQMedium.ttf +0 -0
  32. package/assets/fonts/qua-tang-quoc-hoi/SVN-Sunflora.otf +0 -0
  33. package/assets/fonts/stix/STIXTwoText-Bold.ttf +0 -0
  34. package/assets/fonts/stix/STIXTwoText-BoldItalic.ttf +0 -0
  35. package/assets/fonts/stix/STIXTwoText-Italic.ttf +0 -0
  36. package/assets/fonts/stix/STIXTwoText-Medium.ttf +0 -0
  37. package/assets/fonts/stix/STIXTwoText-MediumItalic.ttf +0 -0
  38. package/assets/fonts/stix/STIXTwoText-Regular.ttf +0 -0
  39. package/assets/fonts/stix/STIXTwoText-SemiBold.ttf +0 -0
  40. package/assets/fonts/stix/STIXTwoText-SemiBoldItalic.ttf +0 -0
  41. package/assets/fonts/svn-poppins/SVN-Poppins-Black.ttf +0 -0
  42. package/assets/fonts/svn-poppins/SVN-Poppins-BlackItalic.ttf +0 -0
  43. package/assets/fonts/svn-poppins/SVN-Poppins-Bold.ttf +0 -0
  44. package/assets/fonts/svn-poppins/SVN-Poppins-BoldItalic.ttf +0 -0
  45. package/assets/fonts/svn-poppins/SVN-Poppins-ExtraBold.ttf +0 -0
  46. package/assets/fonts/svn-poppins/SVN-Poppins-ExtraBoldItalic.ttf +0 -0
  47. package/assets/fonts/svn-poppins/SVN-Poppins-ExtraLight.ttf +0 -0
  48. package/assets/fonts/svn-poppins/SVN-Poppins-ExtraLightItalic.ttf +0 -0
  49. package/assets/fonts/svn-poppins/SVN-Poppins-Italic.ttf +0 -0
  50. package/assets/fonts/svn-poppins/SVN-Poppins-Light.ttf +0 -0
  51. package/assets/fonts/svn-poppins/SVN-Poppins-LightItalic.ttf +0 -0
  52. package/assets/fonts/svn-poppins/SVN-Poppins-Medium.ttf +0 -0
  53. package/assets/fonts/svn-poppins/SVN-Poppins-MediumItalic.ttf +0 -0
  54. package/assets/fonts/svn-poppins/SVN-Poppins-Regular.ttf +0 -0
  55. package/assets/fonts/svn-poppins/SVN-Poppins-SemiBold.ttf +0 -0
  56. package/assets/fonts/svn-poppins/SVN-Poppins-SemiBoldItalic.ttf +0 -0
  57. package/assets/fonts/svn-poppins/SVN-Poppins-Thin.ttf +0 -0
  58. package/assets/fonts/svn-poppins/SVN-Poppins-ThinItalic.ttf +0 -0
  59. package/assets/fonts/zapfino/Zapfino.ttf +0 -0
  60. package/assets/images/index.ts +2 -0
  61. package/assets/images/nomion-logo.png +0 -0
  62. package/bun.lock +2062 -0
  63. package/check-deps.sh +45 -0
  64. package/create-entry-points.sh +22 -0
  65. package/device.min.css +2531 -0
  66. package/dist/advance-profile-section.cjs +2 -0
  67. package/dist/advance-profile-section.cjs.map +1 -0
  68. package/dist/advance-profile-section.d.mts +28 -0
  69. package/dist/advance-profile-section.d.ts +28 -0
  70. package/dist/advance-profile-section.js +2 -0
  71. package/dist/advance-profile-section.js.map +1 -0
  72. package/dist/author-section.cjs +2 -0
  73. package/dist/author-section.cjs.map +1 -0
  74. package/dist/author-section.d.mts +9 -0
  75. package/dist/author-section.d.ts +9 -0
  76. package/dist/author-section.js +2 -0
  77. package/dist/author-section.js.map +1 -0
  78. package/dist/b-e-d-i-page-section.cjs +2 -0
  79. package/dist/b-e-d-i-page-section.cjs.map +1 -0
  80. package/dist/b-e-d-i-page-section.d.mts +55 -0
  81. package/dist/b-e-d-i-page-section.d.ts +55 -0
  82. package/dist/b-e-d-i-page-section.js +2 -0
  83. package/dist/b-e-d-i-page-section.js.map +1 -0
  84. package/dist/bao-ngay-nay2025-section.cjs +2 -0
  85. package/dist/bao-ngay-nay2025-section.cjs.map +1 -0
  86. package/dist/bao-ngay-nay2025-section.d.mts +13 -0
  87. package/dist/bao-ngay-nay2025-section.d.ts +13 -0
  88. package/dist/bao-ngay-nay2025-section.js +2 -0
  89. package/dist/bao-ngay-nay2025-section.js.map +1 -0
  90. package/dist/base-D6OB46M7.d.mts +23 -0
  91. package/dist/base-D6OB46M7.d.ts +23 -0
  92. package/dist/base-section-DdIGFWTn.d.mts +25 -0
  93. package/dist/base-section-DdIGFWTn.d.ts +25 -0
  94. package/dist/biz-card-profile-section.cjs +2 -0
  95. package/dist/biz-card-profile-section.cjs.map +1 -0
  96. package/dist/biz-card-profile-section.d.mts +37 -0
  97. package/dist/biz-card-profile-section.d.ts +37 -0
  98. package/dist/biz-card-profile-section.js +2 -0
  99. package/dist/biz-card-profile-section.js.map +1 -0
  100. package/dist/book-section.cjs +2 -0
  101. package/dist/book-section.cjs.map +1 -0
  102. package/dist/book-section.d.mts +17 -0
  103. package/dist/book-section.d.ts +17 -0
  104. package/dist/book-section.js +2 -0
  105. package/dist/book-section.js.map +1 -0
  106. package/dist/business-card-section.cjs +2 -0
  107. package/dist/business-card-section.cjs.map +1 -0
  108. package/dist/business-card-section.d.mts +37 -0
  109. package/dist/business-card-section.d.ts +37 -0
  110. package/dist/business-card-section.js +2 -0
  111. package/dist/business-card-section.js.map +1 -0
  112. package/dist/christmas.cjs +2 -0
  113. package/dist/christmas.cjs.map +1 -0
  114. package/dist/christmas.d.mts +25 -0
  115. package/dist/christmas.d.ts +25 -0
  116. package/dist/christmas.js +2 -0
  117. package/dist/christmas.js.map +1 -0
  118. package/dist/chunk-2EZHNKDS.cjs +2 -0
  119. package/dist/chunk-2EZHNKDS.cjs.map +1 -0
  120. package/dist/chunk-2L3LGNFN.cjs +2 -0
  121. package/dist/chunk-2L3LGNFN.cjs.map +1 -0
  122. package/dist/chunk-2TKQPATQ.cjs +3 -0
  123. package/dist/chunk-2TKQPATQ.cjs.map +1 -0
  124. package/dist/chunk-2XCURCSR.cjs +8 -0
  125. package/dist/chunk-2XCURCSR.cjs.map +1 -0
  126. package/dist/chunk-377J5LJP.cjs +3 -0
  127. package/dist/chunk-377J5LJP.cjs.map +1 -0
  128. package/dist/chunk-3EWEFTZ4.cjs +2 -0
  129. package/dist/chunk-3EWEFTZ4.cjs.map +1 -0
  130. package/dist/chunk-3OU3D63D.cjs +2 -0
  131. package/dist/chunk-3OU3D63D.cjs.map +1 -0
  132. package/dist/chunk-3SFEP42J.js +3 -0
  133. package/dist/chunk-3SFEP42J.js.map +1 -0
  134. package/dist/chunk-42RM4QBR.cjs +3 -0
  135. package/dist/chunk-42RM4QBR.cjs.map +1 -0
  136. package/dist/chunk-44NYQB5Q.js +2 -0
  137. package/dist/chunk-44NYQB5Q.js.map +1 -0
  138. package/dist/chunk-4J5VH5LJ.cjs +3 -0
  139. package/dist/chunk-4J5VH5LJ.cjs.map +1 -0
  140. package/dist/chunk-5I4Z5UH2.cjs +2 -0
  141. package/dist/chunk-5I4Z5UH2.cjs.map +1 -0
  142. package/dist/chunk-5OFDFIKR.cjs +3 -0
  143. package/dist/chunk-5OFDFIKR.cjs.map +1 -0
  144. package/dist/chunk-5PR2CYMI.js +2 -0
  145. package/dist/chunk-5PR2CYMI.js.map +1 -0
  146. package/dist/chunk-5UIHDRL5.cjs +2 -0
  147. package/dist/chunk-5UIHDRL5.cjs.map +1 -0
  148. package/dist/chunk-5WVMNLF5.js +3 -0
  149. package/dist/chunk-5WVMNLF5.js.map +1 -0
  150. package/dist/chunk-66FJHKLA.js +3 -0
  151. package/dist/chunk-66FJHKLA.js.map +1 -0
  152. package/dist/chunk-6GUVMAUD.js +2 -0
  153. package/dist/chunk-6GUVMAUD.js.map +1 -0
  154. package/dist/chunk-6RCHKEAL.js +2 -0
  155. package/dist/chunk-6RCHKEAL.js.map +1 -0
  156. package/dist/chunk-7CMIOVOL.cjs +2 -0
  157. package/dist/chunk-7CMIOVOL.cjs.map +1 -0
  158. package/dist/chunk-7DETO5IF.js +2 -0
  159. package/dist/chunk-7DETO5IF.js.map +1 -0
  160. package/dist/chunk-7YECUWTF.cjs +2 -0
  161. package/dist/chunk-7YECUWTF.cjs.map +1 -0
  162. package/dist/chunk-A5KHH4N5.js +3 -0
  163. package/dist/chunk-A5KHH4N5.js.map +1 -0
  164. package/dist/chunk-A5WNELZD.js +3 -0
  165. package/dist/chunk-A5WNELZD.js.map +1 -0
  166. package/dist/chunk-AH7SOHCK.js +2 -0
  167. package/dist/chunk-AH7SOHCK.js.map +1 -0
  168. package/dist/chunk-B75CXWTP.js +10 -0
  169. package/dist/chunk-B75CXWTP.js.map +1 -0
  170. package/dist/chunk-BBZUUQZE.cjs +3 -0
  171. package/dist/chunk-BBZUUQZE.cjs.map +1 -0
  172. package/dist/chunk-BF5N2G3I.js +3 -0
  173. package/dist/chunk-BF5N2G3I.js.map +1 -0
  174. package/dist/chunk-BJATVKHY.cjs +2 -0
  175. package/dist/chunk-BJATVKHY.cjs.map +1 -0
  176. package/dist/chunk-BMQTMYRT.cjs +2 -0
  177. package/dist/chunk-BMQTMYRT.cjs.map +1 -0
  178. package/dist/chunk-BQATTZR6.js +3 -0
  179. package/dist/chunk-BQATTZR6.js.map +1 -0
  180. package/dist/chunk-C64QCBR2.js +3 -0
  181. package/dist/chunk-C64QCBR2.js.map +1 -0
  182. package/dist/chunk-C6LFO5DZ.js +2 -0
  183. package/dist/chunk-C6LFO5DZ.js.map +1 -0
  184. package/dist/chunk-CD4LRHKJ.js +2 -0
  185. package/dist/chunk-CD4LRHKJ.js.map +1 -0
  186. package/dist/chunk-CUQI3YUM.js +3 -0
  187. package/dist/chunk-CUQI3YUM.js.map +1 -0
  188. package/dist/chunk-CZW7BABY.js +2 -0
  189. package/dist/chunk-CZW7BABY.js.map +1 -0
  190. package/dist/chunk-D4GX3EGZ.js +4 -0
  191. package/dist/chunk-D4GX3EGZ.js.map +1 -0
  192. package/dist/chunk-DG5W33AY.js +3 -0
  193. package/dist/chunk-DG5W33AY.js.map +1 -0
  194. package/dist/chunk-DJ66MNKV.cjs +2 -0
  195. package/dist/chunk-DJ66MNKV.cjs.map +1 -0
  196. package/dist/chunk-DPN6OBT5.cjs +2 -0
  197. package/dist/chunk-DPN6OBT5.cjs.map +1 -0
  198. package/dist/chunk-EFOR7V7D.js +8 -0
  199. package/dist/chunk-EFOR7V7D.js.map +1 -0
  200. package/dist/chunk-EOINGUY5.js +3 -0
  201. package/dist/chunk-EOINGUY5.js.map +1 -0
  202. package/dist/chunk-EPIKMYCU.js +2 -0
  203. package/dist/chunk-EPIKMYCU.js.map +1 -0
  204. package/dist/chunk-FLCPH2Y3.js +7 -0
  205. package/dist/chunk-FLCPH2Y3.js.map +1 -0
  206. package/dist/chunk-FQMDEZOD.js +3 -0
  207. package/dist/chunk-FQMDEZOD.js.map +1 -0
  208. package/dist/chunk-FUCAOFJM.cjs +3 -0
  209. package/dist/chunk-FUCAOFJM.cjs.map +1 -0
  210. package/dist/chunk-GEGMACK2.cjs +2 -0
  211. package/dist/chunk-GEGMACK2.cjs.map +1 -0
  212. package/dist/chunk-GILDGRSK.cjs +2 -0
  213. package/dist/chunk-GILDGRSK.cjs.map +1 -0
  214. package/dist/chunk-GPBY3OXV.js +2 -0
  215. package/dist/chunk-GPBY3OXV.js.map +1 -0
  216. package/dist/chunk-GQMPLRHE.cjs +2 -0
  217. package/dist/chunk-GQMPLRHE.cjs.map +1 -0
  218. package/dist/chunk-GXUG743T.cjs +2 -0
  219. package/dist/chunk-GXUG743T.cjs.map +1 -0
  220. package/dist/chunk-HH3WELAD.cjs +4 -0
  221. package/dist/chunk-HH3WELAD.cjs.map +1 -0
  222. package/dist/chunk-HHRFK2PR.cjs +3 -0
  223. package/dist/chunk-HHRFK2PR.cjs.map +1 -0
  224. package/dist/chunk-HK3P6AFX.js +3 -0
  225. package/dist/chunk-HK3P6AFX.js.map +1 -0
  226. package/dist/chunk-HMIZ2FLM.js +2 -0
  227. package/dist/chunk-HMIZ2FLM.js.map +1 -0
  228. package/dist/chunk-HSTGLQCX.js +2 -0
  229. package/dist/chunk-HSTGLQCX.js.map +1 -0
  230. package/dist/chunk-I2XSW7Z5.cjs +5 -0
  231. package/dist/chunk-I2XSW7Z5.cjs.map +1 -0
  232. package/dist/chunk-IB3F3GQH.cjs +2 -0
  233. package/dist/chunk-IB3F3GQH.cjs.map +1 -0
  234. package/dist/chunk-IDBQZSEH.cjs +3 -0
  235. package/dist/chunk-IDBQZSEH.cjs.map +1 -0
  236. package/dist/chunk-INJYCBBJ.js +2 -0
  237. package/dist/chunk-INJYCBBJ.js.map +1 -0
  238. package/dist/chunk-IRFLFNL5.js +2 -0
  239. package/dist/chunk-IRFLFNL5.js.map +1 -0
  240. package/dist/chunk-IUV4VDAV.js +2 -0
  241. package/dist/chunk-IUV4VDAV.js.map +1 -0
  242. package/dist/chunk-IXYHCDGV.cjs +2 -0
  243. package/dist/chunk-IXYHCDGV.cjs.map +1 -0
  244. package/dist/chunk-JARFLL3F.cjs +2 -0
  245. package/dist/chunk-JARFLL3F.cjs.map +1 -0
  246. package/dist/chunk-JCWSBSWV.cjs +3 -0
  247. package/dist/chunk-JCWSBSWV.cjs.map +1 -0
  248. package/dist/chunk-JEH6Z3MR.cjs +2 -0
  249. package/dist/chunk-JEH6Z3MR.cjs.map +1 -0
  250. package/dist/chunk-JFOVEN3B.cjs +3 -0
  251. package/dist/chunk-JFOVEN3B.cjs.map +1 -0
  252. package/dist/chunk-JYXWSTI2.cjs +3 -0
  253. package/dist/chunk-JYXWSTI2.cjs.map +1 -0
  254. package/dist/chunk-K6MORX7I.cjs +3 -0
  255. package/dist/chunk-K6MORX7I.cjs.map +1 -0
  256. package/dist/chunk-K7T7NPVY.cjs +3 -0
  257. package/dist/chunk-K7T7NPVY.cjs.map +1 -0
  258. package/dist/chunk-KTJSSK5R.cjs +3 -0
  259. package/dist/chunk-KTJSSK5R.cjs.map +1 -0
  260. package/dist/chunk-KZLVWPZ4.cjs +2 -0
  261. package/dist/chunk-KZLVWPZ4.cjs.map +1 -0
  262. package/dist/chunk-LBKGAOAD.cjs +3 -0
  263. package/dist/chunk-LBKGAOAD.cjs.map +1 -0
  264. package/dist/chunk-LFC2ZCOA.js +2 -0
  265. package/dist/chunk-LFC2ZCOA.js.map +1 -0
  266. package/dist/chunk-LR3HOWU3.cjs +7 -0
  267. package/dist/chunk-LR3HOWU3.cjs.map +1 -0
  268. package/dist/chunk-LSVSIJSZ.js +2 -0
  269. package/dist/chunk-LSVSIJSZ.js.map +1 -0
  270. package/dist/chunk-LSWFX7YA.js +2 -0
  271. package/dist/chunk-LSWFX7YA.js.map +1 -0
  272. package/dist/chunk-LTTNSKMY.js +3 -0
  273. package/dist/chunk-LTTNSKMY.js.map +1 -0
  274. package/dist/chunk-MQDQYKWH.cjs +2 -0
  275. package/dist/chunk-MQDQYKWH.cjs.map +1 -0
  276. package/dist/chunk-MYTJTOT2.cjs +3 -0
  277. package/dist/chunk-MYTJTOT2.cjs.map +1 -0
  278. package/dist/chunk-N33THJV6.js +2 -0
  279. package/dist/chunk-N33THJV6.js.map +1 -0
  280. package/dist/chunk-NAYWFNN3.cjs +3 -0
  281. package/dist/chunk-NAYWFNN3.cjs.map +1 -0
  282. package/dist/chunk-NLTKS2AW.cjs +2 -0
  283. package/dist/chunk-NLTKS2AW.cjs.map +1 -0
  284. package/dist/chunk-NPQYWNWJ.js +5 -0
  285. package/dist/chunk-NPQYWNWJ.js.map +1 -0
  286. package/dist/chunk-NQDWD4YU.cjs +3 -0
  287. package/dist/chunk-NQDWD4YU.cjs.map +1 -0
  288. package/dist/chunk-NQROZGX3.cjs +3 -0
  289. package/dist/chunk-NQROZGX3.cjs.map +1 -0
  290. package/dist/chunk-OBCY7C52.js +2 -0
  291. package/dist/chunk-OBCY7C52.js.map +1 -0
  292. package/dist/chunk-OHGVKGNE.cjs +3 -0
  293. package/dist/chunk-OHGVKGNE.cjs.map +1 -0
  294. package/dist/chunk-OT3WFOIC.js +3 -0
  295. package/dist/chunk-OT3WFOIC.js.map +1 -0
  296. package/dist/chunk-OY6BHM7Z.js +2 -0
  297. package/dist/chunk-OY6BHM7Z.js.map +1 -0
  298. package/dist/chunk-P7JCQIFW.cjs +3 -0
  299. package/dist/chunk-P7JCQIFW.cjs.map +1 -0
  300. package/dist/chunk-PANRCNY2.cjs +2 -0
  301. package/dist/chunk-PANRCNY2.cjs.map +1 -0
  302. package/dist/chunk-Q5QYWRL2.cjs +10 -0
  303. package/dist/chunk-Q5QYWRL2.cjs.map +1 -0
  304. package/dist/chunk-Q7U6JI5R.js +3 -0
  305. package/dist/chunk-Q7U6JI5R.js.map +1 -0
  306. package/dist/chunk-QCNAJEOX.js +2 -0
  307. package/dist/chunk-QCNAJEOX.js.map +1 -0
  308. package/dist/chunk-QNKG2DPA.cjs +2 -0
  309. package/dist/chunk-QNKG2DPA.cjs.map +1 -0
  310. package/dist/chunk-QPCPKW5R.cjs +2 -0
  311. package/dist/chunk-QPCPKW5R.cjs.map +1 -0
  312. package/dist/chunk-QYYK7LNR.cjs +2 -0
  313. package/dist/chunk-QYYK7LNR.cjs.map +1 -0
  314. package/dist/chunk-R3JFYIT4.js +3 -0
  315. package/dist/chunk-R3JFYIT4.js.map +1 -0
  316. package/dist/chunk-SDQQRSTP.cjs +2 -0
  317. package/dist/chunk-SDQQRSTP.cjs.map +1 -0
  318. package/dist/chunk-SDUI3BD3.js +3 -0
  319. package/dist/chunk-SDUI3BD3.js.map +1 -0
  320. package/dist/chunk-SM3TAJ4O.js +3 -0
  321. package/dist/chunk-SM3TAJ4O.js.map +1 -0
  322. package/dist/chunk-T6LF37LZ.cjs +2 -0
  323. package/dist/chunk-T6LF37LZ.cjs.map +1 -0
  324. package/dist/chunk-T7UFQMPU.cjs +2 -0
  325. package/dist/chunk-T7UFQMPU.cjs.map +1 -0
  326. package/dist/chunk-TRSOXPTQ.js +2 -0
  327. package/dist/chunk-TRSOXPTQ.js.map +1 -0
  328. package/dist/chunk-U463DIED.cjs +2 -0
  329. package/dist/chunk-U463DIED.cjs.map +1 -0
  330. package/dist/chunk-U7XVI2DM.js +2 -0
  331. package/dist/chunk-U7XVI2DM.js.map +1 -0
  332. package/dist/chunk-UD7H25BH.js +5 -0
  333. package/dist/chunk-UD7H25BH.js.map +1 -0
  334. package/dist/chunk-UIPKSEN4.js +2 -0
  335. package/dist/chunk-UIPKSEN4.js.map +1 -0
  336. package/dist/chunk-UOUTX4UQ.js +2 -0
  337. package/dist/chunk-UOUTX4UQ.js.map +1 -0
  338. package/dist/chunk-UW52DKV3.js +3 -0
  339. package/dist/chunk-UW52DKV3.js.map +1 -0
  340. package/dist/chunk-VAQT7RDM.js +3 -0
  341. package/dist/chunk-VAQT7RDM.js.map +1 -0
  342. package/dist/chunk-VITZI5ZU.js +3 -0
  343. package/dist/chunk-VITZI5ZU.js.map +1 -0
  344. package/dist/chunk-VMS6VUOL.js +2 -0
  345. package/dist/chunk-VMS6VUOL.js.map +1 -0
  346. package/dist/chunk-WGTOLA3Y.js +2 -0
  347. package/dist/chunk-WGTOLA3Y.js.map +1 -0
  348. package/dist/chunk-WI4TNNNO.js +3 -0
  349. package/dist/chunk-WI4TNNNO.js.map +1 -0
  350. package/dist/chunk-WK65I7SX.js +2 -0
  351. package/dist/chunk-WK65I7SX.js.map +1 -0
  352. package/dist/chunk-WNZ75AHP.js +2 -0
  353. package/dist/chunk-WNZ75AHP.js.map +1 -0
  354. package/dist/chunk-WVNRAFBY.js +2 -0
  355. package/dist/chunk-WVNRAFBY.js.map +1 -0
  356. package/dist/chunk-X4IWMGAB.js +2 -0
  357. package/dist/chunk-X4IWMGAB.js.map +1 -0
  358. package/dist/chunk-X7RB2GVW.cjs +3 -0
  359. package/dist/chunk-X7RB2GVW.cjs.map +1 -0
  360. package/dist/chunk-XD4GVLVZ.cjs +2 -0
  361. package/dist/chunk-XD4GVLVZ.cjs.map +1 -0
  362. package/dist/chunk-XFF6JIWQ.cjs +2 -0
  363. package/dist/chunk-XFF6JIWQ.cjs.map +1 -0
  364. package/dist/chunk-XLPIZNJE.js +2 -0
  365. package/dist/chunk-XLPIZNJE.js.map +1 -0
  366. package/dist/chunk-YFLTXRKM.js +3 -0
  367. package/dist/chunk-YFLTXRKM.js.map +1 -0
  368. package/dist/chunk-YLW7AQNY.cjs +3 -0
  369. package/dist/chunk-YLW7AQNY.cjs.map +1 -0
  370. package/dist/chunk-YN2B2CVU.cjs +5 -0
  371. package/dist/chunk-YN2B2CVU.cjs.map +1 -0
  372. package/dist/chunk-YNK4LVRZ.cjs +3 -0
  373. package/dist/chunk-YNK4LVRZ.cjs.map +1 -0
  374. package/dist/chunk-YXSYDX6L.js +3 -0
  375. package/dist/chunk-YXSYDX6L.js.map +1 -0
  376. package/dist/chunk-YYJKIDZ2.js +3 -0
  377. package/dist/chunk-YYJKIDZ2.js.map +1 -0
  378. package/dist/chunk-ZCYVKA4Y.cjs +3 -0
  379. package/dist/chunk-ZCYVKA4Y.cjs.map +1 -0
  380. package/dist/chunk-ZFZ3ADIT.js +3 -0
  381. package/dist/chunk-ZFZ3ADIT.js.map +1 -0
  382. package/dist/chunk-ZQPA2IN5.cjs +3 -0
  383. package/dist/chunk-ZQPA2IN5.cjs.map +1 -0
  384. package/dist/chunk-ZZHLRB6H.cjs +2 -0
  385. package/dist/chunk-ZZHLRB6H.cjs.map +1 -0
  386. package/dist/contact-section.cjs +2 -0
  387. package/dist/contact-section.cjs.map +1 -0
  388. package/dist/contact-section.d.mts +25 -0
  389. package/dist/contact-section.d.ts +25 -0
  390. package/dist/contact-section.js +2 -0
  391. package/dist/contact-section.js.map +1 -0
  392. package/dist/cover-setion.cjs +2 -0
  393. package/dist/cover-setion.cjs.map +1 -0
  394. package/dist/cover-setion.d.mts +8 -0
  395. package/dist/cover-setion.d.ts +8 -0
  396. package/dist/cover-setion.js +2 -0
  397. package/dist/cover-setion.js.map +1 -0
  398. package/dist/en-QWOTEXHG.js +2 -0
  399. package/dist/en-QWOTEXHG.js.map +1 -0
  400. package/dist/en-TXSQPBHO.cjs +2 -0
  401. package/dist/en-TXSQPBHO.cjs.map +1 -0
  402. package/dist/fr-2MITF4HO.cjs +11 -0
  403. package/dist/fr-2MITF4HO.cjs.map +1 -0
  404. package/dist/fr-KA7CH2XX.js +11 -0
  405. package/dist/fr-KA7CH2XX.js.map +1 -0
  406. package/dist/general-BjKe3K-e.d.mts +60 -0
  407. package/dist/general-BjKe3K-e.d.ts +60 -0
  408. package/dist/gift-avatar-section.cjs +2 -0
  409. package/dist/gift-avatar-section.cjs.map +1 -0
  410. package/dist/gift-avatar-section.d.mts +20 -0
  411. package/dist/gift-avatar-section.d.ts +20 -0
  412. package/dist/gift-avatar-section.js +2 -0
  413. package/dist/gift-avatar-section.js.map +1 -0
  414. package/dist/header-section.cjs +2 -0
  415. package/dist/header-section.cjs.map +1 -0
  416. package/dist/header-section.d.mts +8 -0
  417. package/dist/header-section.d.ts +8 -0
  418. package/dist/header-section.js +2 -0
  419. package/dist/header-section.js.map +1 -0
  420. package/dist/hesman-cert-section.cjs +2 -0
  421. package/dist/hesman-cert-section.cjs.map +1 -0
  422. package/dist/hesman-cert-section.d.mts +11 -0
  423. package/dist/hesman-cert-section.d.ts +11 -0
  424. package/dist/hesman-cert-section.js +2 -0
  425. package/dist/hesman-cert-section.js.map +1 -0
  426. package/dist/hesman-greeting-section.cjs +2 -0
  427. package/dist/hesman-greeting-section.cjs.map +1 -0
  428. package/dist/hesman-greeting-section.d.mts +20 -0
  429. package/dist/hesman-greeting-section.d.ts +20 -0
  430. package/dist/hesman-greeting-section.js +2 -0
  431. package/dist/hesman-greeting-section.js.map +1 -0
  432. package/dist/hesman-metaverse-section.cjs +2 -0
  433. package/dist/hesman-metaverse-section.cjs.map +1 -0
  434. package/dist/hesman-metaverse-section.d.mts +22 -0
  435. package/dist/hesman-metaverse-section.d.ts +22 -0
  436. package/dist/hesman-metaverse-section.js +2 -0
  437. package/dist/hesman-metaverse-section.js.map +1 -0
  438. package/dist/hesman-puzzle-section.cjs +2 -0
  439. package/dist/hesman-puzzle-section.cjs.map +1 -0
  440. package/dist/hesman-puzzle-section.d.mts +10 -0
  441. package/dist/hesman-puzzle-section.d.ts +10 -0
  442. package/dist/hesman-puzzle-section.js +2 -0
  443. package/dist/hesman-puzzle-section.js.map +1 -0
  444. package/dist/hesman-thankyou-section.cjs +2 -0
  445. package/dist/hesman-thankyou-section.cjs.map +1 -0
  446. package/dist/hesman-thankyou-section.d.mts +20 -0
  447. package/dist/hesman-thankyou-section.d.ts +20 -0
  448. package/dist/hesman-thankyou-section.js +2 -0
  449. package/dist/hesman-thankyou-section.js.map +1 -0
  450. package/dist/hesman-video-section.cjs +2 -0
  451. package/dist/hesman-video-section.cjs.map +1 -0
  452. package/dist/hesman-video-section.d.mts +15 -0
  453. package/dist/hesman-video-section.d.ts +15 -0
  454. package/dist/hesman-video-section.js +2 -0
  455. package/dist/hesman-video-section.js.map +1 -0
  456. package/dist/home-section.cjs +2 -0
  457. package/dist/home-section.cjs.map +1 -0
  458. package/dist/home-section.d.mts +51 -0
  459. package/dist/home-section.d.ts +51 -0
  460. package/dist/home-section.js +2 -0
  461. package/dist/home-section.js.map +1 -0
  462. package/dist/horizontal-book-image-section.cjs +2 -0
  463. package/dist/horizontal-book-image-section.cjs.map +1 -0
  464. package/dist/horizontal-book-image-section.d.mts +8 -0
  465. package/dist/horizontal-book-image-section.d.ts +8 -0
  466. package/dist/horizontal-book-image-section.js +2 -0
  467. package/dist/horizontal-book-image-section.js.map +1 -0
  468. package/dist/horizontal-image-list-section.cjs +2 -0
  469. package/dist/horizontal-image-list-section.cjs.map +1 -0
  470. package/dist/horizontal-image-list-section.d.mts +8 -0
  471. package/dist/horizontal-image-list-section.d.ts +8 -0
  472. package/dist/horizontal-image-list-section.js +2 -0
  473. package/dist/horizontal-image-list-section.js.map +1 -0
  474. package/dist/image-padding-section.cjs +2 -0
  475. package/dist/image-padding-section.cjs.map +1 -0
  476. package/dist/image-padding-section.d.mts +8 -0
  477. package/dist/image-padding-section.d.ts +8 -0
  478. package/dist/image-padding-section.js +2 -0
  479. package/dist/image-padding-section.js.map +1 -0
  480. package/dist/image-text-array-section.cjs +2 -0
  481. package/dist/image-text-array-section.cjs.map +1 -0
  482. package/dist/image-text-array-section.d.mts +21 -0
  483. package/dist/image-text-array-section.d.ts +21 -0
  484. package/dist/image-text-array-section.js +2 -0
  485. package/dist/image-text-array-section.js.map +1 -0
  486. package/dist/image-text-section.cjs +2 -0
  487. package/dist/image-text-section.cjs.map +1 -0
  488. package/dist/image-text-section.d.mts +9 -0
  489. package/dist/image-text-section.d.ts +9 -0
  490. package/dist/image-text-section.js +2 -0
  491. package/dist/image-text-section.js.map +1 -0
  492. package/dist/index.cjs +3 -0
  493. package/dist/index.cjs.map +1 -0
  494. package/dist/index.d.mts +162 -0
  495. package/dist/index.d.ts +162 -0
  496. package/dist/index.js +3 -0
  497. package/dist/index.js.map +1 -0
  498. package/dist/khaocoky.cjs +2 -0
  499. package/dist/khaocoky.cjs.map +1 -0
  500. package/dist/khaocoky.d.mts +24 -0
  501. package/dist/khaocoky.d.ts +24 -0
  502. package/dist/khaocoky.js +2 -0
  503. package/dist/khaocoky.js.map +1 -0
  504. package/dist/khaocokyv2.cjs +2 -0
  505. package/dist/khaocokyv2.cjs.map +1 -0
  506. package/dist/khaocokyv2.d.mts +24 -0
  507. package/dist/khaocokyv2.d.ts +24 -0
  508. package/dist/khaocokyv2.js +2 -0
  509. package/dist/khaocokyv2.js.map +1 -0
  510. package/dist/letter-section.cjs +2 -0
  511. package/dist/letter-section.cjs.map +1 -0
  512. package/dist/letter-section.d.mts +13 -0
  513. package/dist/letter-section.d.ts +13 -0
  514. package/dist/letter-section.js +2 -0
  515. package/dist/letter-section.js.map +1 -0
  516. package/dist/lexical-letter-section.cjs +2 -0
  517. package/dist/lexical-letter-section.cjs.map +1 -0
  518. package/dist/lexical-letter-section.d.mts +13 -0
  519. package/dist/lexical-letter-section.d.ts +13 -0
  520. package/dist/lexical-letter-section.js +2 -0
  521. package/dist/lexical-letter-section.js.map +1 -0
  522. package/dist/metaverse-section.cjs +2 -0
  523. package/dist/metaverse-section.cjs.map +1 -0
  524. package/dist/metaverse-section.d.mts +5 -0
  525. package/dist/metaverse-section.d.ts +5 -0
  526. package/dist/metaverse-section.js +2 -0
  527. package/dist/metaverse-section.js.map +1 -0
  528. package/dist/navigation-section.cjs +2 -0
  529. package/dist/navigation-section.cjs.map +1 -0
  530. package/dist/navigation-section.d.mts +10 -0
  531. package/dist/navigation-section.d.ts +10 -0
  532. package/dist/navigation-section.js +2 -0
  533. package/dist/navigation-section.js.map +1 -0
  534. package/dist/nguyen-kim-lucky-voucher.cjs +2 -0
  535. package/dist/nguyen-kim-lucky-voucher.cjs.map +1 -0
  536. package/dist/nguyen-kim-lucky-voucher.d.mts +8 -0
  537. package/dist/nguyen-kim-lucky-voucher.d.ts +8 -0
  538. package/dist/nguyen-kim-lucky-voucher.js +2 -0
  539. package/dist/nguyen-kim-lucky-voucher.js.map +1 -0
  540. package/dist/pet-profile-section.cjs +2 -0
  541. package/dist/pet-profile-section.cjs.map +1 -0
  542. package/dist/pet-profile-section.d.mts +26 -0
  543. package/dist/pet-profile-section.d.ts +26 -0
  544. package/dist/pet-profile-section.js +2 -0
  545. package/dist/pet-profile-section.js.map +1 -0
  546. package/dist/profile-section.cjs +2 -0
  547. package/dist/profile-section.cjs.map +1 -0
  548. package/dist/profile-section.d.mts +29 -0
  549. package/dist/profile-section.d.ts +29 -0
  550. package/dist/profile-section.js +2 -0
  551. package/dist/profile-section.js.map +1 -0
  552. package/dist/qua-tang-quoc-hoi.cjs +2 -0
  553. package/dist/qua-tang-quoc-hoi.cjs.map +1 -0
  554. package/dist/qua-tang-quoc-hoi.d.mts +18 -0
  555. package/dist/qua-tang-quoc-hoi.d.ts +18 -0
  556. package/dist/qua-tang-quoc-hoi.js +2 -0
  557. package/dist/qua-tang-quoc-hoi.js.map +1 -0
  558. package/dist/quiz-section.cjs +2 -0
  559. package/dist/quiz-section.cjs.map +1 -0
  560. package/dist/quiz-section.d.mts +24 -0
  561. package/dist/quiz-section.d.ts +24 -0
  562. package/dist/quiz-section.js +2 -0
  563. package/dist/quiz-section.js.map +1 -0
  564. package/dist/section-full-screen.cjs +2 -0
  565. package/dist/section-full-screen.cjs.map +1 -0
  566. package/dist/section-full-screen.d.mts +14 -0
  567. package/dist/section-full-screen.d.ts +14 -0
  568. package/dist/section-full-screen.js +2 -0
  569. package/dist/section-full-screen.js.map +1 -0
  570. package/dist/tet-cover-section1.cjs +2 -0
  571. package/dist/tet-cover-section1.cjs.map +1 -0
  572. package/dist/tet-cover-section1.d.mts +8 -0
  573. package/dist/tet-cover-section1.d.ts +8 -0
  574. package/dist/tet-cover-section1.js +2 -0
  575. package/dist/tet-cover-section1.js.map +1 -0
  576. package/dist/tet-cover-section2.cjs +2 -0
  577. package/dist/tet-cover-section2.cjs.map +1 -0
  578. package/dist/tet-cover-section2.d.mts +8 -0
  579. package/dist/tet-cover-section2.d.ts +8 -0
  580. package/dist/tet-cover-section2.js +2 -0
  581. package/dist/tet-cover-section2.js.map +1 -0
  582. package/dist/tet-lucky-money-section.cjs +2 -0
  583. package/dist/tet-lucky-money-section.cjs.map +1 -0
  584. package/dist/tet-lucky-money-section.d.mts +12 -0
  585. package/dist/tet-lucky-money-section.d.ts +12 -0
  586. package/dist/tet-lucky-money-section.js +2 -0
  587. package/dist/tet-lucky-money-section.js.map +1 -0
  588. package/dist/tet-lucky-money-section2.cjs +2 -0
  589. package/dist/tet-lucky-money-section2.cjs.map +1 -0
  590. package/dist/tet-lucky-money-section2.d.mts +12 -0
  591. package/dist/tet-lucky-money-section2.d.ts +12 -0
  592. package/dist/tet-lucky-money-section2.js +2 -0
  593. package/dist/tet-lucky-money-section2.js.map +1 -0
  594. package/dist/valentine.cjs +2 -0
  595. package/dist/valentine.cjs.map +1 -0
  596. package/dist/valentine.d.mts +29 -0
  597. package/dist/valentine.d.ts +29 -0
  598. package/dist/valentine.js +2 -0
  599. package/dist/valentine.js.map +1 -0
  600. package/dist/vertical-carousel-section.cjs +2 -0
  601. package/dist/vertical-carousel-section.cjs.map +1 -0
  602. package/dist/vertical-carousel-section.d.mts +8 -0
  603. package/dist/vertical-carousel-section.d.ts +8 -0
  604. package/dist/vertical-carousel-section.js +2 -0
  605. package/dist/vertical-carousel-section.js.map +1 -0
  606. package/dist/video-intro-section.cjs +2 -0
  607. package/dist/video-intro-section.cjs.map +1 -0
  608. package/dist/video-intro-section.d.mts +10 -0
  609. package/dist/video-intro-section.d.ts +10 -0
  610. package/dist/video-intro-section.js +2 -0
  611. package/dist/video-intro-section.js.map +1 -0
  612. package/dist/woman-day.cjs +2 -0
  613. package/dist/woman-day.cjs.map +1 -0
  614. package/dist/woman-day.d.mts +17 -0
  615. package/dist/woman-day.d.ts +17 -0
  616. package/dist/woman-day.js +2 -0
  617. package/dist/woman-day.js.map +1 -0
  618. package/entries/advance-profile-section.ts +1 -0
  619. package/entries/author-section.ts +1 -0
  620. package/entries/b-e-d-i-page-section.ts +2 -0
  621. package/entries/bao-ngay-nay2025-section.ts +1 -0
  622. package/entries/biz-card-profile-section.ts +1 -0
  623. package/entries/book-section.ts +1 -0
  624. package/entries/business-card-section.ts +1 -0
  625. package/entries/christmas.ts +1 -0
  626. package/entries/contact-section.ts +1 -0
  627. package/entries/cover-setion.ts +1 -0
  628. package/entries/gift-avatar-section.ts +1 -0
  629. package/entries/header-section.ts +1 -0
  630. package/entries/hesman-cert-section.ts +1 -0
  631. package/entries/hesman-greeting-section.ts +1 -0
  632. package/entries/hesman-metaverse-section.ts +1 -0
  633. package/entries/hesman-puzzle-section.ts +1 -0
  634. package/entries/hesman-thankyou-section.ts +1 -0
  635. package/entries/hesman-video-section.ts +1 -0
  636. package/entries/home-section.ts +1 -0
  637. package/entries/horizontal-book-image-section.ts +1 -0
  638. package/entries/horizontal-image-list-section.ts +1 -0
  639. package/entries/image-padding-section.ts +1 -0
  640. package/entries/image-text-array-section.ts +1 -0
  641. package/entries/image-text-section.ts +1 -0
  642. package/entries/khaocoky.ts +1 -0
  643. package/entries/khaocokyv2.ts +1 -0
  644. package/entries/letter-section.ts +1 -0
  645. package/entries/lexical-letter-section.ts +1 -0
  646. package/entries/metaverse-section.ts +1 -0
  647. package/entries/navigation-section.ts +2 -0
  648. package/entries/nguyen-kim-lucky-voucher.ts +1 -0
  649. package/entries/pet-profile-section.ts +1 -0
  650. package/entries/profile-section.ts +1 -0
  651. package/entries/qua-tang-quoc-hoi.ts +1 -0
  652. package/entries/quiz-section.ts +1 -0
  653. package/entries/section-full-screen.ts +1 -0
  654. package/entries/tet-cover-section1.ts +1 -0
  655. package/entries/tet-cover-section2.ts +1 -0
  656. package/entries/tet-lucky-money-section.ts +1 -0
  657. package/entries/tet-lucky-money-section2.ts +1 -0
  658. package/entries/valentine.ts +1 -0
  659. package/entries/vertical-carousel-section.ts +1 -0
  660. package/entries/video-intro-section.ts +1 -0
  661. package/entries/woman-day.ts +1 -0
  662. package/entry-points.json +47 -0
  663. package/exports-map.json +179 -0
  664. package/fonts.css +144 -0
  665. package/generate-exports.cjs +22 -0
  666. package/generate-exports.js +23 -0
  667. package/generate-tsup-entries.js +17 -0
  668. package/index.css +162 -0
  669. package/index.ts +23 -0
  670. package/package.json +306 -0
  671. package/postcss.config.js +6 -0
  672. package/regenerate-entries-direct.cjs +60 -0
  673. package/regenerate-entries.cjs +60 -0
  674. package/src/components/LandingPage/common/3DModel/ThreeModalTongla.tsx +114 -0
  675. package/src/components/LandingPage/common/3DModel/ThreeModel.tsx +210 -0
  676. package/src/components/LandingPage/common/3DModel/index.tsx +90 -0
  677. package/src/components/LandingPage/common/CarouselCustom/index.tsx +80 -0
  678. package/src/components/LandingPage/common/FadeInMotion/index.tsx +60 -0
  679. package/src/components/LandingPage/common/SectionFullScreen/index.tsx +68 -0
  680. package/src/components/LandingPage/common/Video/index.tsx +90 -0
  681. package/src/components/LandingPage/common/icons/3DCubeScanIcon.tsx +38 -0
  682. package/src/components/LandingPage/common/icons/3DFlipIcon.tsx +27 -0
  683. package/src/components/LandingPage/common/icons/ARExploreIcon.tsx +15 -0
  684. package/src/components/LandingPage/common/icons/AcreageIcon.tsx +68 -0
  685. package/src/components/LandingPage/common/icons/ArrowDownIcon.tsx +19 -0
  686. package/src/components/LandingPage/common/icons/ArrowLeftIcon.tsx +21 -0
  687. package/src/components/LandingPage/common/icons/ArrowRightIcon.tsx +21 -0
  688. package/src/components/LandingPage/common/icons/ArrowUpIcon.tsx +21 -0
  689. package/src/components/LandingPage/common/icons/BurgerIcon.tsx +21 -0
  690. package/src/components/LandingPage/common/icons/CircleDownIcon.tsx +29 -0
  691. package/src/components/LandingPage/common/icons/ClockIcon.tsx +28 -0
  692. package/src/components/LandingPage/common/icons/CloseIcon.tsx +23 -0
  693. package/src/components/LandingPage/common/icons/CloseQuotesIcon.tsx +17 -0
  694. package/src/components/LandingPage/common/icons/CopyIcon.tsx +31 -0
  695. package/src/components/LandingPage/common/icons/CopyrightByPGLIcon.tsx +80 -0
  696. package/src/components/LandingPage/common/icons/DoubleArrowDownIcon.tsx +31 -0
  697. package/src/components/LandingPage/common/icons/EyeIcon.tsx +30 -0
  698. package/src/components/LandingPage/common/icons/FlipIcon.tsx +23 -0
  699. package/src/components/LandingPage/common/icons/FourthMedalIcon.tsx +287 -0
  700. package/src/components/LandingPage/common/icons/GoBackIcon.tsx +23 -0
  701. package/src/components/LandingPage/common/icons/GoogleIcon.tsx +41 -0
  702. package/src/components/LandingPage/common/icons/GrindSize.tsx +321 -0
  703. package/src/components/LandingPage/common/icons/HeartFillIcon.tsx +21 -0
  704. package/src/components/LandingPage/common/icons/HeightIcon.tsx +23 -0
  705. package/src/components/LandingPage/common/icons/IconAuction.tsx +17 -0
  706. package/src/components/LandingPage/common/icons/IconCalendar.tsx +16 -0
  707. package/src/components/LandingPage/common/icons/IconExternalLink.tsx +21 -0
  708. package/src/components/LandingPage/common/icons/IconMuted.tsx +17 -0
  709. package/src/components/LandingPage/common/icons/IconReset.tsx +19 -0
  710. package/src/components/LandingPage/common/icons/IconUmuted.tsx +18 -0
  711. package/src/components/LandingPage/common/icons/InfoFillIcon.tsx +20 -0
  712. package/src/components/LandingPage/common/icons/KeyIcon.tsx +24 -0
  713. package/src/components/LandingPage/common/icons/KyokaiIcon.tsx +53 -0
  714. package/src/components/LandingPage/common/icons/LanguageIcon.tsx +49 -0
  715. package/src/components/LandingPage/common/icons/LikeIcon.tsx +29 -0
  716. package/src/components/LandingPage/common/icons/LogoutIcon.tsx +23 -0
  717. package/src/components/LandingPage/common/icons/MailIcon.tsx +32 -0
  718. package/src/components/LandingPage/common/icons/OnchainIcon.tsx +97 -0
  719. package/src/components/LandingPage/common/icons/OpenQuotesIcon.tsx +17 -0
  720. package/src/components/LandingPage/common/icons/PhoneIcon.tsx +22 -0
  721. package/src/components/LandingPage/common/icons/PlayIcon.tsx +21 -0
  722. package/src/components/LandingPage/common/icons/PressureClockIcon.tsx +32 -0
  723. package/src/components/LandingPage/common/icons/ProfileIcon.tsx +30 -0
  724. package/src/components/LandingPage/common/icons/ReadingBookIcon.tsx +22 -0
  725. package/src/components/LandingPage/common/icons/ScaleIcon.tsx +28 -0
  726. package/src/components/LandingPage/common/icons/SecondMedalIcon.tsx +1137 -0
  727. package/src/components/LandingPage/common/icons/SignoutIcon.tsx +30 -0
  728. package/src/components/LandingPage/common/icons/SparkleIcon.tsx +28 -0
  729. package/src/components/LandingPage/common/icons/TemperatureIcon.tsx +20 -0
  730. package/src/components/LandingPage/common/icons/ThirdMedalIcon.tsx +620 -0
  731. package/src/components/LandingPage/common/icons/TickIcon.tsx +20 -0
  732. package/src/components/LandingPage/common/icons/TickIconBlue.tsx +30 -0
  733. package/src/components/LandingPage/common/icons/TickIconGreen.tsx +30 -0
  734. package/src/components/LandingPage/common/icons/TouchIcon.tsx +22 -0
  735. package/src/components/LandingPage/common/icons/WaterDropIcon.tsx +23 -0
  736. package/src/components/LandingPage/common/icons/WaterIcon.tsx +37 -0
  737. package/src/components/LandingPage/common/icons/Weight.tsx +36 -0
  738. package/src/components/LandingPage/common/icons/WinnerMedalIcon.tsx +1185 -0
  739. package/src/components/LandingPage/common/icons/YieldIcon.tsx +36 -0
  740. package/src/components/LandingPage/common/icons/ZoomInFillIcon.tsx +20 -0
  741. package/src/components/LandingPage/common/icons/icons-v2/BurgerIcon.tsx +23 -0
  742. package/src/components/LandingPage/common/icons/icons-v2/LogoNomion.tsx +56 -0
  743. package/src/components/LandingPage/common/icons/icons-v2/NdachainIcon.tsx +251 -0
  744. package/src/components/LandingPage/common/icons/icons-v2/OnchainIcon.tsx +97 -0
  745. package/src/components/LandingPage/common/icons/icons-v2/index.ts +4 -0
  746. package/src/components/LandingPage/common/icons/index.ts +23 -0
  747. package/src/components/LandingPage/common/icons/social-icons/FacebookIcon.tsx +24 -0
  748. package/src/components/LandingPage/common/icons/social-icons/IconMail.tsx +17 -0
  749. package/src/components/LandingPage/common/icons/social-icons/IconPhone.tsx +21 -0
  750. package/src/components/LandingPage/common/icons/social-icons/InstagramIcon.tsx +24 -0
  751. package/src/components/LandingPage/common/icons/social-icons/LinkedinIcon.tsx +23 -0
  752. package/src/components/LandingPage/common/icons/social-icons/LocationIcon.tsx +16 -0
  753. package/src/components/LandingPage/common/icons/social-icons/TelegramIcon.tsx +23 -0
  754. package/src/components/LandingPage/common/icons/social-icons/ThreadsIcon.tsx +15 -0
  755. package/src/components/LandingPage/common/icons/social-icons/TiktokIcon.tsx +16 -0
  756. package/src/components/LandingPage/common/icons/social-icons/TwitterIcon.tsx +28 -0
  757. package/src/components/LandingPage/common/icons/social-icons/WebsiteIcon.tsx +0 -0
  758. package/src/components/LandingPage/common/icons/social-icons/YoutubeIcon.tsx +26 -0
  759. package/src/components/LandingPage/common/icons/social-icons/index.tsx +19 -0
  760. package/src/components/LandingPage/common/shadcn-ui-kit/Dialog.tsx +124 -0
  761. package/src/components/LandingPage/common/shadcn-ui-kit/input.tsx +24 -0
  762. package/src/components/LandingPage/common/shadcn-ui-kit/select.tsx +160 -0
  763. package/src/components/LandingPage/common/ui-kit/atomics/ BaseModal.tsx +60 -0
  764. package/src/components/LandingPage/common/ui-kit/atomics/BaseButton.tsx +25 -0
  765. package/src/components/LandingPage/common/ui-kit/atomics/BaseIcon.tsx +18 -0
  766. package/src/components/LandingPage/common/ui-kit/atomics/BaseInput.tsx +58 -0
  767. package/src/components/LandingPage/common/ui-kit/atomics/CopyClipboard.tsx +64 -0
  768. package/src/components/LandingPage/common/ui-kit/atomics/HesmanButton.tsx +23 -0
  769. package/src/components/LandingPage/common/ui-kit/atomics/HesmanGradientText.tsx +22 -0
  770. package/src/components/LandingPage/common/ui-kit/atomics/Tag.tsx +47 -0
  771. package/src/components/LandingPage/common/ui-kit/atomics/Typography.tsx +63 -0
  772. package/src/components/LandingPage/common/ui-kit/atomics/index.tsx +4 -0
  773. package/src/components/LandingPage/common/ui-kit/moleculars/AudioPlayer.tsx +130 -0
  774. package/src/components/LandingPage/common/ui-kit/moleculars/AuthorContext.tsx +26 -0
  775. package/src/components/LandingPage/common/ui-kit/moleculars/AuthorModal.tsx +147 -0
  776. package/src/components/LandingPage/common/ui-kit/moleculars/AuthorModalDeDo.tsx +91 -0
  777. package/src/components/LandingPage/common/ui-kit/moleculars/AuthorWithLabel.tsx +23 -0
  778. package/src/components/LandingPage/common/ui-kit/moleculars/BackgroundImage.tsx +34 -0
  779. package/src/components/LandingPage/common/ui-kit/moleculars/ButtonCommingSoon.tsx +34 -0
  780. package/src/components/LandingPage/common/ui-kit/moleculars/CollasibleText.tsx +109 -0
  781. package/src/components/LandingPage/common/ui-kit/moleculars/ContactCard.tsx +167 -0
  782. package/src/components/LandingPage/common/ui-kit/moleculars/DidInfoModal.tsx +73 -0
  783. package/src/components/LandingPage/common/ui-kit/moleculars/ImageWithBackground.tsx +39 -0
  784. package/src/components/LandingPage/common/ui-kit/moleculars/LexicalParagraph.tsx +15 -0
  785. package/src/components/LandingPage/common/ui-kit/moleculars/ListButton.tsx +51 -0
  786. package/src/components/LandingPage/common/ui-kit/moleculars/ListContactSocial.tsx +103 -0
  787. package/src/components/LandingPage/common/ui-kit/moleculars/MetaInfo.tsx +76 -0
  788. package/src/components/LandingPage/common/ui-kit/moleculars/MetaInfoModal.tsx +96 -0
  789. package/src/components/LandingPage/common/ui-kit/moleculars/NftInfoModal.tsx +102 -0
  790. package/src/components/LandingPage/common/ui-kit/moleculars/OwnerName.tsx +25 -0
  791. package/src/components/LandingPage/common/ui-kit/moleculars/ReadmoreModal.tsx +38 -0
  792. package/src/components/LandingPage/common/ui-kit/moleculars/RenderMedia.tsx +48 -0
  793. package/src/components/LandingPage/common/ui-kit/moleculars/ScrollDownGuide.tsx +34 -0
  794. package/src/components/LandingPage/common/ui-kit/moleculars/TagName.stories.tsx +33 -0
  795. package/src/components/LandingPage/common/ui-kit/moleculars/TagName.tsx +33 -0
  796. package/src/components/LandingPage/common/ui-kit/moleculars/Title.stories.tsx +34 -0
  797. package/src/components/LandingPage/common/ui-kit/moleculars/Title.tsx +66 -0
  798. package/src/components/LandingPage/common/ui-kit/moleculars/VideoRef.tsx +66 -0
  799. package/src/components/LandingPage/common/ui-kit/organisms/AdvanceProfileSection/index.tsx +152 -0
  800. package/src/components/LandingPage/common/ui-kit/organisms/AuthorSection/index.tsx +156 -0
  801. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDICarouselSection.tsx +115 -0
  802. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIContactSection.tsx +166 -0
  803. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIPage1Section/BEDIBentoImageSection.tsx +170 -0
  804. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIPage1Section/BEDIIntroSection.tsx +69 -0
  805. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIPage1Section/BEDILetterSection.tsx +71 -0
  806. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIPage1Section/BEDIPage1Section.tsx +102 -0
  807. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/BEDIPage1Section/BgLetter.tsx +29 -0
  808. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/constants.ts +35 -0
  809. package/src/components/LandingPage/common/ui-kit/organisms/BEDIPageSection/index.tsx +171 -0
  810. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/AudioTheme.tsx +30 -0
  811. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/GenerateGreeting.tsx +528 -0
  812. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/HomeSection.tsx +130 -0
  813. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/IntroSection.tsx +105 -0
  814. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/LetterSection.tsx +21 -0
  815. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/NgayNayIcon.tsx +31 -0
  816. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/UploadImage.tsx +67 -0
  817. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/constant.ts +118 -0
  818. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/icons.tsx +153 -0
  819. package/src/components/LandingPage/common/ui-kit/organisms/BaoNgayNay2025Section/index.tsx +169 -0
  820. package/src/components/LandingPage/common/ui-kit/organisms/BizCardProfileSection/ContactCard.tsx +166 -0
  821. package/src/components/LandingPage/common/ui-kit/organisms/BizCardProfileSection/ShareButton.tsx +113 -0
  822. package/src/components/LandingPage/common/ui-kit/organisms/BizCardProfileSection/index.tsx +395 -0
  823. package/src/components/LandingPage/common/ui-kit/organisms/BookSection/BookCoverSection.tsx +74 -0
  824. package/src/components/LandingPage/common/ui-kit/organisms/BookSection/BookSection.tsx +630 -0
  825. package/src/components/LandingPage/common/ui-kit/organisms/BookSection/NgheLetterSection.tsx +120 -0
  826. package/src/components/LandingPage/common/ui-kit/organisms/BookSection/index.tsx +5 -0
  827. package/src/components/LandingPage/common/ui-kit/organisms/BookSection/utils/index.ts +29 -0
  828. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/BgRectangle.tsx +19 -0
  829. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/BusinessCardAvtCircle.tsx +78 -0
  830. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/BusinessCardAvtFull.tsx +77 -0
  831. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/FragmentContactInfo.tsx +214 -0
  832. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconAddress.tsx +17 -0
  833. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconFacebook.tsx +17 -0
  834. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconInsta.tsx +17 -0
  835. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconLinkedin.tsx +17 -0
  836. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconMail.tsx +17 -0
  837. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconPhone.tsx +17 -0
  838. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconTele.tsx +17 -0
  839. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/icons/IconWeb.tsx +17 -0
  840. package/src/components/LandingPage/common/ui-kit/organisms/BusinessCardSection/index.tsx +57 -0
  841. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/Chirstmas1GreetingSection.tsx +159 -0
  842. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/Chirstmas1HomeSection.tsx +112 -0
  843. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/Chirstmas2HomeSection.tsx +113 -0
  844. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/Chrismas2GreetingSection.tsx +96 -0
  845. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/Christmas1LetterSection.tsx +63 -0
  846. package/src/components/LandingPage/common/ui-kit/organisms/Christmas/index.tsx +5 -0
  847. package/src/components/LandingPage/common/ui-kit/organisms/ContactSection/index.tsx +137 -0
  848. package/src/components/LandingPage/common/ui-kit/organisms/CoverSetion/index.tsx +62 -0
  849. package/src/components/LandingPage/common/ui-kit/organisms/GiftAvatarSection/index.tsx +48 -0
  850. package/src/components/LandingPage/common/ui-kit/organisms/HeaderSection/HeaderAnimation.tsx +27 -0
  851. package/src/components/LandingPage/common/ui-kit/organisms/HeaderSection/HeaderSection.tsx +61 -0
  852. package/src/components/LandingPage/common/ui-kit/organisms/HesmanCertSection/index.tsx +97 -0
  853. package/src/components/LandingPage/common/ui-kit/organisms/HesmanGreetingSection/index.tsx +108 -0
  854. package/src/components/LandingPage/common/ui-kit/organisms/HesmanMetaverseSection/index.tsx +79 -0
  855. package/src/components/LandingPage/common/ui-kit/organisms/HesmanPuzzleSection/Puzzle.tsx +203 -0
  856. package/src/components/LandingPage/common/ui-kit/organisms/HesmanPuzzleSection/index.tsx +129 -0
  857. package/src/components/LandingPage/common/ui-kit/organisms/HesmanThankyouSection/index.tsx +93 -0
  858. package/src/components/LandingPage/common/ui-kit/organisms/HesmanVideoSection/index.tsx +80 -0
  859. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/HomeNewspaperSection.tsx +108 -0
  860. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/HomeSection.stories.tsx +61 -0
  861. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/HomeSection.tsx +261 -0
  862. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/HomeSouvenirSection/HomeSouvenirSection.tsx +134 -0
  863. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/HomeSouvenirSection/ImageWithFallback.tsx +30 -0
  864. package/src/components/LandingPage/common/ui-kit/organisms/HomeSection/index.tsx +3 -0
  865. package/src/components/LandingPage/common/ui-kit/organisms/HorizontalBookImageSection/HandSwipe.tsx +26 -0
  866. package/src/components/LandingPage/common/ui-kit/organisms/HorizontalBookImageSection/index.tsx +90 -0
  867. package/src/components/LandingPage/common/ui-kit/organisms/HorizontalImageListSection/index.tsx +105 -0
  868. package/src/components/LandingPage/common/ui-kit/organisms/ImagePaddingSection/index.tsx +27 -0
  869. package/src/components/LandingPage/common/ui-kit/organisms/ImageTextArraySection/index.tsx +43 -0
  870. package/src/components/LandingPage/common/ui-kit/organisms/ImageTextSection/index.tsx +114 -0
  871. package/src/components/LandingPage/common/ui-kit/organisms/LetterSection/index.tsx +191 -0
  872. package/src/components/LandingPage/common/ui-kit/organisms/LexicalLetterSection/AudioLexicalLetterSection.tsx +141 -0
  873. package/src/components/LandingPage/common/ui-kit/organisms/LexicalLetterSection/LexicalletterSection.tsx +175 -0
  874. package/src/components/LandingPage/common/ui-kit/organisms/LexicalLetterSection/index.tsx +2 -0
  875. package/src/components/LandingPage/common/ui-kit/organisms/MetaverseSection/index.tsx +208 -0
  876. package/src/components/LandingPage/common/ui-kit/organisms/NavigationSection/ModalWelcomeInput.tsx +85 -0
  877. package/src/components/LandingPage/common/ui-kit/organisms/NavigationSection/index.tsx +99 -0
  878. package/src/components/LandingPage/common/ui-kit/organisms/NguyenKimLuckyVoucher/index.tsx +156 -0
  879. package/src/components/LandingPage/common/ui-kit/organisms/PetProfileSection/PetContactSection.tsx +0 -0
  880. package/src/components/LandingPage/common/ui-kit/organisms/PetProfileSection/PetInfoSection.tsx +0 -0
  881. package/src/components/LandingPage/common/ui-kit/organisms/PetProfileSection/PetListImage.tsx +0 -0
  882. package/src/components/LandingPage/common/ui-kit/organisms/PetProfileSection/index.tsx +230 -0
  883. package/src/components/LandingPage/common/ui-kit/organisms/ProfileSection/index.tsx +324 -0
  884. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/ContentTheme12.tsx +327 -0
  885. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/ContentTheme3.tsx +9 -0
  886. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/ContentTheme4.tsx +9 -0
  887. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/ContentTheme5.tsx +383 -0
  888. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/InforSection.tsx +94 -0
  889. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/QuaTangQuocHoiSection.tsx +524 -0
  890. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/components/LanguageSwitcher.tsx +77 -0
  891. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/constant/data.ts +87 -0
  892. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/context/LanguageContext.tsx +81 -0
  893. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/hook/useLanguage.ts +13 -0
  894. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/index.ts +2 -0
  895. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/locale/en.json +39 -0
  896. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/locale/fr.json +39 -0
  897. package/src/components/LandingPage/common/ui-kit/organisms/QuaTangQuocHoi/types.ts +58 -0
  898. package/src/components/LandingPage/common/ui-kit/organisms/QuizSection/ViewAnswer.tsx +48 -0
  899. package/src/components/LandingPage/common/ui-kit/organisms/QuizSection/ViewQuestion.tsx +48 -0
  900. package/src/components/LandingPage/common/ui-kit/organisms/QuizSection/index.tsx +48 -0
  901. package/src/components/LandingPage/common/ui-kit/organisms/TetCoverSection1/TetCoverSection1.tsx +36 -0
  902. package/src/components/LandingPage/common/ui-kit/organisms/TetCoverSection1/index.tsx +1 -0
  903. package/src/components/LandingPage/common/ui-kit/organisms/TetCoverSection2/TetCoverSection2.tsx +33 -0
  904. package/src/components/LandingPage/common/ui-kit/organisms/TetCoverSection2/index.tsx +1 -0
  905. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection/LuckeyMoneySectionAdvance.tsx +197 -0
  906. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection/LuckyMoneySection.tsx +164 -0
  907. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection/index.tsx +2 -0
  908. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection2/LuckyMoneySection2.tsx +162 -0
  909. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection2/LuckyMoneySection2Advance.tsx +183 -0
  910. package/src/components/LandingPage/common/ui-kit/organisms/TetLuckyMoneySection2/index.tsx +2 -0
  911. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineGreetingSection.tsx +140 -0
  912. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineHomeSection.tsx +94 -0
  913. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineLetterSection.tsx +45 -0
  914. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineTheFaceShopGreetingSection.tsx +141 -0
  915. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineTheFaceShopHomeSection.tsx +73 -0
  916. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/ValentineTheFaceShopLetterSection.tsx +38 -0
  917. package/src/components/LandingPage/common/ui-kit/organisms/Valentine/index.tsx +6 -0
  918. package/src/components/LandingPage/common/ui-kit/organisms/VerticalCarouselSection/index.tsx +63 -0
  919. package/src/components/LandingPage/common/ui-kit/organisms/VideoIntroSection/index.tsx +247 -0
  920. package/src/components/LandingPage/common/ui-kit/organisms/WomanDay/WomanGreetingSection.tsx +140 -0
  921. package/src/components/LandingPage/common/ui-kit/organisms/WomanDay/WomanHomeSection.tsx +94 -0
  922. package/src/components/LandingPage/common/ui-kit/organisms/WomanDay/WomanLetterSection.tsx +43 -0
  923. package/src/components/LandingPage/common/ui-kit/organisms/WomanDay/index.tsx +3 -0
  924. package/src/components/LandingPage/common/ui-kit/organisms/index.tsx +147 -0
  925. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyCarouselSection.tsx +101 -0
  926. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyCompareSection.tsx +98 -0
  927. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyContactSection.tsx +151 -0
  928. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyHomeSection.tsx +194 -0
  929. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyImageTextSection.tsx +89 -0
  930. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/KhaoCoKyTitle.tsx +51 -0
  931. package/src/components/LandingPage/common/ui-kit/organisms/khaocoky/index.tsx +5 -0
  932. package/src/components/LandingPage/common/ui-kit/organisms/khaocokyv2/KhaoCoKyHome.tsx +169 -0
  933. package/src/components/LandingPage/common/ui-kit/organisms/khaocokyv2/KhaoCoKyImageText.tsx +105 -0
  934. package/src/components/LandingPage/common/ui-kit/organisms/khaocokyv2/KhaoCoKyListImageText.tsx +60 -0
  935. package/src/components/LandingPage/common/ui-kit/organisms/khaocokyv2/KhaoCoKyMemories.tsx +3 -0
  936. package/src/components/LandingPage/common/ui-kit/organisms/khaocokyv2/index.tsx +4 -0
  937. package/src/components/LandingPage/common/ui-kit/types/base.ts +31 -0
  938. package/src/components/LandingPage/constants/index.ts +2 -0
  939. package/src/components/LandingPage/device/index.tsx +30 -0
  940. package/src/components/LandingPage/hooks/audio/index.tsx +1 -0
  941. package/src/components/LandingPage/hooks/audio/useMediaContext.tsx +126 -0
  942. package/src/components/LandingPage/hooks/index.tsx +5 -0
  943. package/src/components/LandingPage/hooks/useBookMenuContext.tsx +43 -0
  944. package/src/components/LandingPage/hooks/useFullScreenContext.tsx +86 -0
  945. package/src/components/LandingPage/hooks/useImageOrientation.tsx +24 -0
  946. package/src/components/LandingPage/hooks/usePGLModalContext.tsx +46 -0
  947. package/src/components/LandingPage/models/base-section.ts +16 -0
  948. package/src/components/LandingPage/models/general.ts +67 -0
  949. package/src/components/LandingPage/models/theme.ts +8 -0
  950. package/src/components/LandingPage/utils/helper.ts +225 -0
  951. package/src/constants/index.ts +1 -0
  952. package/src/constants/templates/enum.ts +62 -0
  953. package/src/types/NFT.ts +35 -0
  954. package/src/utils/index.ts +12 -0
  955. package/src/utils/web3.ts +75 -0
  956. package/stories/Button/ButtonV2.stories.ts +25 -0
  957. package/stories/Button/ButtonV2.tsx +22 -0
  958. package/stories/Button.stories.ts +52 -0
  959. package/stories/Button.tsx +48 -0
  960. package/stories/Configure.mdx +364 -0
  961. package/stories/Header.stories.ts +33 -0
  962. package/stories/Header.tsx +67 -0
  963. package/stories/Page.stories.ts +32 -0
  964. package/stories/Page.tsx +86 -0
  965. package/stories/assets/accessibility.png +0 -0
  966. package/stories/assets/accessibility.svg +5 -0
  967. package/stories/assets/addon-library.png +0 -0
  968. package/stories/assets/assets.png +0 -0
  969. package/stories/assets/avif-test-image.avif +0 -0
  970. package/stories/assets/context.png +0 -0
  971. package/stories/assets/discord.svg +15 -0
  972. package/stories/assets/docs.png +0 -0
  973. package/stories/assets/figma-plugin.png +0 -0
  974. package/stories/assets/github.svg +3 -0
  975. package/stories/assets/share.png +0 -0
  976. package/stories/assets/styling.png +0 -0
  977. package/stories/assets/testing.png +0 -0
  978. package/stories/assets/theming.png +0 -0
  979. package/stories/assets/tutorials.svg +12 -0
  980. package/stories/assets/youtube.svg +4 -0
  981. package/stories/button.css +30 -0
  982. package/stories/header.css +32 -0
  983. package/stories/page.css +69 -0
  984. package/tailwind.config.js +154 -0
  985. package/tsconfig.json +44 -0
  986. package/tsconfig.node.json +12 -0
  987. package/tsup.config.ts +71 -0
  988. package/turbo/generators/config.ts +31 -0
  989. package/turbo/generators/templates/component.hbs +14 -0
  990. package/types/model-viewer.d.ts +16 -0
  991. package/types.ts +3 -0
@@ -0,0 +1,524 @@
1
+ import { BaseSectionProps } from "@components/LandingPage/models/base-section";
2
+ import { Field } from "../../types/base";
3
+ import SectionFullScreen from "../../../SectionFullScreen";
4
+ import InforSection from "./InforSection";
5
+ import { useState } from "react";
6
+ import { motion } from "framer-motion";
7
+ import ContentTheme5 from "./ContentTheme5";
8
+ import { LanguageProvider } from "./context/LanguageContext";
9
+
10
+ interface QuaTangQuocHoiProps extends BaseSectionProps {
11
+ name?: Field<string>;
12
+ themes: any;
13
+ }
14
+
15
+ const QuaTangQuocHoiSection = ({ sectionData, themes }: QuaTangQuocHoiProps) => {
16
+ const name = sectionData?.name;
17
+ const nameValue = name?.value;
18
+ const theme = themes?.theme_layout || 1;
19
+ const [drawerOpen, setDrawerOpen] = useState(false);
20
+
21
+ const handleOpenDrawer = () => {
22
+ setDrawerOpen(true);
23
+ };
24
+
25
+ const handleCloseDrawer = () => {
26
+ setDrawerOpen(false);
27
+ };
28
+ const renderThemeLayout = () => {
29
+ switch (theme) {
30
+ case 1:
31
+ return (
32
+ <div className="h-fit w-full overflow-y-auto">
33
+ <SectionFullScreen
34
+ name="qua-tang-quoc-hoi-section"
35
+ className="relative overflow-hidden min-h-screen flex items-start justify-center bg-[#020622] bg-cover bg-center bg-no-repeat bg-[url('https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/background-theme-1.webp')]"
36
+ >
37
+ <motion.div
38
+ className="flex flex-col items-center justify-center px-3 gap-4 text-center mt-16"
39
+ initial={{ opacity: 0, y: 50 }}
40
+ animate={{ opacity: 1, y: 0 }}
41
+ transition={{ duration: 1, ease: "easeOut" }}
42
+ >
43
+ <motion.div
44
+ className="z-10"
45
+ initial={{ opacity: 0, y: 100 }}
46
+ animate={{ opacity: 1, y: 0 }}
47
+ transition={{ duration: 1.2, delay: 0.5 }}
48
+ >
49
+ <motion.img
50
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/logo-theme-1.webp"
51
+ className="h-[97px]"
52
+ />
53
+ </motion.div>
54
+ <motion.p
55
+ className="text-normal font-medium text-white text-center font-roboto"
56
+ initial={{ opacity: 0, y: 30 }}
57
+ animate={{ opacity: 1, y: 0 }}
58
+ transition={{ duration: 0.8, delay: 0.2 }}
59
+ >
60
+ CHỦ TỊCH QUỐC HỘI NƯỚC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
61
+ </motion.p>
62
+ <div className="space-y-2">
63
+ <motion.p
64
+ className="text-4xl font-bold text-white"
65
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
66
+ initial={{ opacity: 0, scale: 0.8 }}
67
+ animate={{ opacity: 1, scale: 1 }}
68
+ transition={{ duration: 0.8, delay: 0.4 }}
69
+ >
70
+ TRẦN THANH MẪN
71
+ </motion.p>
72
+ <motion.p
73
+ initial={{ opacity: 0 }}
74
+ animate={{ opacity: 1 }}
75
+ transition={{ duration: 0.6, delay: 0.6 }}
76
+ >
77
+ Kính tặng
78
+ </motion.p>
79
+ <motion.p
80
+ className="font-svnSunflora text-3xl font-bold text-white"
81
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
82
+ initial={{ opacity: 0, y: 20 }}
83
+ animate={{ opacity: 1, y: 0 }}
84
+ transition={{ duration: 0.8, delay: 0.8 }}
85
+ >
86
+ {nameValue || "Bà NGUYỄN THỊ BÍCH LAN"}
87
+ </motion.p>
88
+ </div>
89
+ </motion.div>
90
+ <motion.div
91
+ className="absolute top-[60%] z-10"
92
+ initial={{ opacity: 0, y: 100 }}
93
+ animate={{ opacity: 1, y: 0 }}
94
+ transition={{ duration: 1.2, delay: 0.5 }}
95
+ >
96
+ <motion.img
97
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/trong-dong.webp"
98
+ className="bottom-0 -z-[2] w-full"
99
+ animate={{ rotate: 360 }}
100
+ transition={{ duration: 20, repeat: Infinity, ease: "linear" }}
101
+ />
102
+ </motion.div>
103
+
104
+ <motion.div
105
+ className="fixed bottom-[1%] z-20"
106
+ initial={{ opacity: 0, y: 30 }}
107
+ animate={{ opacity: 1, y: 0 }}
108
+ transition={{ duration: 0.8, delay: 1.2 }}
109
+ >
110
+ <motion.button
111
+ onClick={handleOpenDrawer}
112
+ className="bg-transparent border-white border font-medium font-sfuagBuchStencil text-[#C8172B] px-4 py-2 rounded-3xl backdrop-blur-md hover:bg-white/10 transition-all duration-300"
113
+ style={{ fontFamily: '"SFUAGBuchStencilBQMedium", sans-serif' }}
114
+ whileHover={{ scale: 1.05 }}
115
+ whileTap={{ scale: 0.95 }}
116
+ >
117
+ Khám phá Toà nhà Quốc Hội
118
+ </motion.button>
119
+ </motion.div>
120
+ <div className="absolute bottom-[0] left-0 right-0 z-10">
121
+ <motion.img
122
+ src="https://storage.nomion.io/Qua-tang-quoc-hoi/screen2-1-3.webp"
123
+ className=" w-full h-[165px] object-cover"
124
+ initial={{ opacity: 0, scale: 0.8 }}
125
+ animate={{ opacity: 1, scale: 1 }}
126
+ transition={{ duration: 1, delay: 0.8 }}
127
+ />
128
+ </div>
129
+ </SectionFullScreen>
130
+ <motion.img
131
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/chu-tich-quoc-hoi-info.webp"
132
+ className=" w-full h-full object-cover object-top"
133
+ initial={{ opacity: 0, scale: 0.8 }}
134
+ animate={{ opacity: 1, scale: 1 }}
135
+ transition={{ duration: 1, delay: 0.8 }}
136
+ />
137
+ </div>
138
+ );
139
+
140
+ case 2:
141
+ return (
142
+ <div className="h-fit w-full overflow-y-auto">
143
+ <SectionFullScreen
144
+ name="qua-tang-quoc-hoi-section"
145
+ className="relative min-h-screen overflow-hidden flex items-start justify-center bg-[#020622] bg-cover bg-center bg-no-repeat bg-[url('https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/background-theme-1.webp')]"
146
+ >
147
+ <motion.div
148
+ className="flex flex-col items-center justify-center px-3 gap-4 text-center mt-16"
149
+ initial={{ opacity: 0, y: 50 }}
150
+ animate={{ opacity: 1, y: 0 }}
151
+ transition={{ duration: 1, ease: "easeOut" }}
152
+ >
153
+ <motion.div
154
+ className="z-10"
155
+ initial={{ opacity: 0, y: 100 }}
156
+ animate={{ opacity: 1, y: 0 }}
157
+ transition={{ duration: 1.2, delay: 0.5 }}
158
+ >
159
+ <motion.img
160
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/logo-theme-1.webp"
161
+ className="h-[97px]"
162
+ />
163
+ </motion.div>
164
+ <motion.p
165
+ className="text-normal font-medium text-white text-center font-roboto"
166
+ initial={{ opacity: 0, y: 30 }}
167
+ animate={{ opacity: 1, y: 0 }}
168
+ transition={{ duration: 0.8, delay: 0.2 }}
169
+ >
170
+ PHÓ CHỦ TỊCH QUỐC HỘI NƯỚC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
171
+ </motion.p>
172
+ <div className="space-y-2">
173
+ <motion.p
174
+ className="text-4xl font-bold text-white"
175
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
176
+ initial={{ opacity: 0, scale: 0.8 }}
177
+ animate={{ opacity: 1, scale: 1 }}
178
+ transition={{ duration: 0.8, delay: 0.4 }}
179
+ >
180
+ NGUYỄN THỊ THANH
181
+ </motion.p>
182
+ <motion.p
183
+ initial={{ opacity: 0 }}
184
+ animate={{ opacity: 1 }}
185
+ transition={{ duration: 0.6, delay: 0.6 }}
186
+ >
187
+ Kính tặng
188
+ </motion.p>
189
+ <motion.p
190
+ className="font-svnSunflora text-3xl font-bold text-white"
191
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
192
+ initial={{ opacity: 0, y: 20 }}
193
+ animate={{ opacity: 1, y: 0 }}
194
+ transition={{ duration: 0.8, delay: 0.8 }}
195
+ >
196
+ {nameValue || "Bà NGUYỄN THỊ BÍCH LAN"}
197
+ </motion.p>
198
+ </div>
199
+ </motion.div>
200
+ <motion.div
201
+ className="absolute top-[60%] z-10"
202
+ initial={{ opacity: 0, y: 100 }}
203
+ animate={{ opacity: 1, y: 0 }}
204
+ transition={{ duration: 1.2, delay: 0.5 }}
205
+ >
206
+ <motion.img
207
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/trong-dong.webp"
208
+ className="bottom-0 -z-[2] w-full"
209
+ animate={{ rotate: 360 }}
210
+ transition={{ duration: 20, repeat: Infinity, ease: "linear" }}
211
+ />
212
+ </motion.div>
213
+
214
+ <motion.div
215
+ className="fixed bottom-[1%] z-20"
216
+ initial={{ opacity: 0, y: 30 }}
217
+ animate={{ opacity: 1, y: 0 }}
218
+ transition={{ duration: 0.8, delay: 1.2 }}
219
+ >
220
+ <motion.button
221
+ onClick={handleOpenDrawer}
222
+ className="bg-transparent border-white border font-medium font-sfuagBuchStencil text-[#C8172B] px-4 py-2 rounded-3xl backdrop-blur-sm hover:bg-white/10 transition-all duration-300"
223
+ style={{ fontFamily: '"SFUAGBuchStencilBQMedium", sans-serif' }}
224
+ whileHover={{ scale: 1.05 }}
225
+ whileTap={{ scale: 0.95 }}
226
+ >
227
+ Khám phá Toà nhà Quốc Hội
228
+ </motion.button>
229
+ </motion.div>
230
+ <div className="absolute bottom-[0] left-0 right-0 z-10">
231
+ <motion.img
232
+ src="https://storage.nomion.io/Qua-tang-quoc-hoi/screen2-1-3.webp"
233
+ className=" w-full h-[165px] object-cover"
234
+ initial={{ opacity: 0, scale: 0.8 }}
235
+ animate={{ opacity: 1, scale: 1 }}
236
+ transition={{ duration: 1, delay: 0.8 }}
237
+ />
238
+ </div>
239
+ </SectionFullScreen>
240
+ <motion.img
241
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/pho-chu-tich-quoc-hoi-info.webp"
242
+ className=" w-full h-full object-cover object-top"
243
+ initial={{ opacity: 0, scale: 0.8 }}
244
+ animate={{ opacity: 1, scale: 1 }}
245
+ transition={{ duration: 1, delay: 0.8 }}
246
+ />
247
+ </div>
248
+ );
249
+
250
+ case 3:
251
+ return (
252
+ <SectionFullScreen
253
+ name="qua-tang-quoc-hoi-section"
254
+ className="relative flex flex-col items-center justify-end bg-cover bg-center bg-no-repeat bg-[url('https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/section2-3-1.webp')]"
255
+ >
256
+ <motion.div
257
+ className="flex flex-col w-full items-center justify-center px-4 text-center text-[#395044] absolute top-[10%] transform -translate-x-1/2 -translate-y-1/2 z-20"
258
+ initial={{ opacity: 0, y: -50 }}
259
+ animate={{ opacity: 1, y: 0 }}
260
+ transition={{ duration: 1, ease: "easeOut" }}
261
+ >
262
+ <motion.p
263
+ className="text-2xl font-bold"
264
+ initial={{ opacity: 0, scale: 0.8 }}
265
+ animate={{ opacity: 1, scale: 1 }}
266
+ transition={{ duration: 0.8, delay: 0.2 }}
267
+ >
268
+ BỘ THÁI BÌNH HƯNG BẢO
269
+ </motion.p>
270
+ <motion.p
271
+ className="text-2xl font-medium"
272
+ initial={{ opacity: 0 }}
273
+ animate={{ opacity: 1 }}
274
+ transition={{ duration: 0.6, delay: 0.4 }}
275
+ >
276
+ NÀY THUỘC VỀ
277
+ </motion.p>
278
+ <motion.p
279
+ className="text-[28px] font-semibold"
280
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
281
+ initial={{ opacity: 0, y: 20 }}
282
+ animate={{ opacity: 1, y: 0 }}
283
+ transition={{ duration: 0.8, delay: 0.6 }}
284
+ >
285
+ {nameValue || "Bà NGUYỄN THỊ THANH"}
286
+ </motion.p>
287
+ <motion.p
288
+ initial={{ opacity: 0 }}
289
+ animate={{ opacity: 1 }}
290
+ transition={{ duration: 0.6, delay: 0.8 }}
291
+ >
292
+ Được tặng bởi
293
+ </motion.p>
294
+ <motion.p
295
+ initial={{ opacity: 0 }}
296
+ animate={{ opacity: 1 }}
297
+ transition={{ duration: 0.6, delay: 0.9 }}
298
+ className="mb-2"
299
+ >
300
+ Phó Chủ tịch Quốc hội nước Cộng Hoà Xã Hội Chủ Nghĩa Việt Nam
301
+ </motion.p>
302
+ <motion.p
303
+ className="text-2xl font-medium"
304
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
305
+ initial={{ opacity: 0, y: 20 }}
306
+ animate={{ opacity: 1, y: 0 }}
307
+ transition={{ duration: 0.8, delay: 1.0 }}
308
+ >
309
+ UBND Tỉnh Ninh Bình
310
+ </motion.p>
311
+ </motion.div>
312
+
313
+ <motion.div
314
+ className="absolute bottom-0 left-0 right-0 z-10 w-100vw h-[400px]"
315
+ initial={{ opacity: 0, y: 100 }}
316
+ animate={{ opacity: 1, y: 0 }}
317
+ transition={{ duration: 1.2, delay: 0.5 }}
318
+ >
319
+ <img
320
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/mountain.webp"
321
+ className="h-full w-full -z-[1]"
322
+ />
323
+ <motion.img
324
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/trong-dong.webp"
325
+ className="absolute -top-1/2 left-0 right-0 bottom-0 -z-[2]"
326
+ animate={{ rotate: 360 }}
327
+ transition={{ duration: 20, repeat: Infinity, ease: "linear" }}
328
+ />
329
+ <motion.img
330
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/thai-binh-hung.webp"
331
+ className="absolute -top-24 left-0 right-0 bottom-0 h-full w-auto max-w-100vw object-cover"
332
+ initial={{ opacity: 0, scale: 0.8 }}
333
+ animate={{ opacity: 1, scale: 1 }}
334
+ transition={{ duration: 1, delay: 0.8 }}
335
+ />
336
+ </motion.div>
337
+ <motion.div
338
+ className="absolute bottom-[4%] z-20"
339
+ initial={{ opacity: 0, y: 30 }}
340
+ animate={{ opacity: 1, y: 0 }}
341
+ transition={{ duration: 0.8, delay: 1.4 }}
342
+ >
343
+ <motion.button
344
+ onClick={handleOpenDrawer}
345
+ className="bg-transparent border-white border font-medium text-sm text-white px-4 py-2 rounded-3xl backdrop-blur-md hover:bg-white/10 transition-all duration-300"
346
+ style={{ fontFamily: '"SFUAGBuchStencilBQMedium", sans-serif' }}
347
+ whileHover={{ scale: 1.05 }}
348
+ whileTap={{ scale: 0.95 }}
349
+ >
350
+ Khám phá Thái Bình Hưng Bảo
351
+ </motion.button>
352
+ </motion.div>
353
+ </SectionFullScreen>
354
+ );
355
+
356
+ case 4:
357
+ return (
358
+ <SectionFullScreen
359
+ name="qua-tang-quoc-hoi-section"
360
+ className="relative flex items-center justify-center bg-cover bg-center bg-no-repeat bg-[url('https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/section4-1.webp')]"
361
+ >
362
+ <div>
363
+ <motion.div
364
+ className="flex justify-center items-center mb-20"
365
+ initial={{ opacity: 0, scale: 0.5 }}
366
+ animate={{ opacity: 1, scale: 1 }}
367
+ transition={{ duration: 0.8, ease: "easeOut" }}
368
+ >
369
+ <img
370
+ src="https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/logo.webp"
371
+ className="w-auto h-[58px]"
372
+ alt="logo"
373
+ />
374
+ </motion.div>
375
+ <motion.div
376
+ className="flex flex-col items-center justify-center px-3 text-center"
377
+ initial={{ opacity: 0, y: 50 }}
378
+ animate={{ opacity: 1, y: 0 }}
379
+ transition={{ duration: 1, delay: 0.3 }}
380
+ >
381
+ <motion.p
382
+ className="text-[20px] font-medium text-white text-center font-roboto"
383
+ initial={{ opacity: 0, y: 30 }}
384
+ animate={{ opacity: 1, y: 0 }}
385
+ transition={{ duration: 0.8, delay: 0.5 }}
386
+ >
387
+ VIỆN SÁNG TẠO VÀ CHUYỂN ĐỔI SỐ
388
+ </motion.p>
389
+ <div className="space-y-4">
390
+ <motion.p
391
+ className="text-[20px] text-white text-center font-roboto"
392
+ initial={{ opacity: 0 }}
393
+ animate={{ opacity: 1 }}
394
+ transition={{ duration: 0.6, delay: 0.7 }}
395
+ >
396
+ Kính tặng
397
+ </motion.p>
398
+ <motion.p
399
+ className="text-2xl font-bold text-white"
400
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
401
+ initial={{ opacity: 0, scale: 0.8 }}
402
+ animate={{ opacity: 1, scale: 1 }}
403
+ transition={{ duration: 0.8, delay: 0.9 }}
404
+ >
405
+ CHỦ TỊCH QUỐC HỘI NƯỚC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
406
+ </motion.p>
407
+ <motion.p
408
+ className="font-svnSunflora text-3xl font-bold text-white"
409
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
410
+ initial={{ opacity: 0, y: 20 }}
411
+ animate={{ opacity: 1, y: 0 }}
412
+ transition={{ duration: 0.8, delay: 1.1 }}
413
+ >
414
+ {nameValue || "TRẦN THANH MẪN"}
415
+ </motion.p>
416
+ </div>
417
+ </motion.div>
418
+ <motion.div
419
+ className="flex h-full flex-col items-center justify-center mt-20"
420
+ initial={{ opacity: 0, y: 30 }}
421
+ animate={{ opacity: 1, y: 0 }}
422
+ transition={{ duration: 0.8, delay: 1.3 }}
423
+ >
424
+ <motion.button
425
+ onClick={handleOpenDrawer}
426
+ className="bg-transparent w-fit border-white border font-medium text-sm text-white px-4 py-2 rounded-3xl backdrop-blur-md hover:bg-white/10 transition-all duration-300"
427
+ style={{ fontFamily: '"SFUAGBuchStencilBQMedium", sans-serif' }}
428
+ whileHover={{ scale: 1.05 }}
429
+ whileTap={{ scale: 0.95 }}
430
+ >
431
+ <p>Tìm hiểu về </p>
432
+ Viện Sáng Tạo và Chuyển đổi số
433
+ </motion.button>
434
+ </motion.div>
435
+ </div>
436
+ </SectionFullScreen>
437
+ );
438
+ case 5:
439
+ return (
440
+ <LanguageProvider>
441
+ <ContentTheme5 />
442
+ </LanguageProvider>
443
+ );
444
+ default:
445
+ // Fallback to theme 1 layout
446
+ return (
447
+ <SectionFullScreen
448
+ name="qua-tang-quoc-hoi-section"
449
+ className="relative flex items-start justify-center bg-[#020622] bg-cover bg-center bg-no-repeat bg-[url('https://s3-sgn10.fptcloud.com/nomion-assets/Qua-tang-quoc-hoi/welcome-1.webp')]"
450
+ >
451
+ <motion.div
452
+ className="flex flex-col items-center justify-center px-3 gap-8 text-center mt-52"
453
+ initial={{ opacity: 0, y: 50 }}
454
+ animate={{ opacity: 1, y: 0 }}
455
+ transition={{ duration: 1, ease: "easeOut" }}
456
+ >
457
+ <motion.p
458
+ className="text-normal font-bold text-white text-center"
459
+ initial={{ opacity: 0, y: 30 }}
460
+ animate={{ opacity: 1, y: 0 }}
461
+ transition={{ duration: 0.8, delay: 0.2 }}
462
+ >
463
+ CHỦ TỊCH QUỐC HỘI NƯỚC CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
464
+ </motion.p>
465
+ <div className="space-y-4">
466
+ <motion.p
467
+ className="text-4xl font-bold text-white"
468
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
469
+ initial={{ opacity: 0, scale: 0.8 }}
470
+ animate={{ opacity: 1, scale: 1 }}
471
+ transition={{ duration: 0.8, delay: 0.4 }}
472
+ >
473
+ TRẦN THANH MẪN
474
+ </motion.p>
475
+ <motion.p
476
+ initial={{ opacity: 0 }}
477
+ animate={{ opacity: 1 }}
478
+ transition={{ duration: 0.6, delay: 0.6 }}
479
+ >
480
+ Kính tặng
481
+ </motion.p>
482
+ <motion.p
483
+ style={{ fontFamily: '"SVN-Sunflora", serif' }}
484
+ initial={{ opacity: 0, y: 20 }}
485
+ animate={{ opacity: 1, y: 0 }}
486
+ transition={{ duration: 0.8, delay: 0.8 }}
487
+ >
488
+ {nameValue || "Bà NGUYỄN THỊ BÍCH LAN"}
489
+ </motion.p>
490
+ </div>
491
+ </motion.div>
492
+ <motion.div
493
+ className="absolute bottom-[2%]"
494
+ initial={{ opacity: 0, y: 30 }}
495
+ animate={{ opacity: 1, y: 0 }}
496
+ transition={{ duration: 0.8, delay: 1.2 }}
497
+ >
498
+ <motion.button
499
+ onClick={handleOpenDrawer}
500
+ className="bg-transparent border-white border font-medium text-md text-[#C8172B] px-4 py-2 rounded-3xl backdrop-blur-md hover:bg-white/10 transition-all duration-300"
501
+ whileHover={{ scale: 1.05 }}
502
+ whileTap={{ scale: 0.95 }}
503
+ >
504
+ Khám phá Toà nhà Quốc Hội
505
+ </motion.button>
506
+ </motion.div>
507
+ </SectionFullScreen>
508
+ );
509
+ }
510
+ };
511
+
512
+ return (
513
+ <>
514
+ {renderThemeLayout()}
515
+ <InforSection
516
+ theme={theme}
517
+ open={drawerOpen}
518
+ onClose={handleCloseDrawer}
519
+ />
520
+ </>
521
+ );
522
+ };
523
+
524
+ export default QuaTangQuocHoiSection;
@@ -0,0 +1,77 @@
1
+ import React, { useState, useRef, useEffect } from "react";
2
+ import { Globe, CaretDown } from "@phosphor-icons/react";
3
+ import { useLanguage } from "../hook/useLanguage";
4
+ import { Language } from "../types";
5
+
6
+ const LanguageSwitcher: React.FC = () => {
7
+ const { language, switchLanguage } = useLanguage();
8
+ const [isOpen, setIsOpen] = useState(false);
9
+ const dropdownRef = useRef<HTMLDivElement>(null);
10
+
11
+ // Close dropdown when clicking outside
12
+ useEffect(() => {
13
+ const handleClickOutside = (event: MouseEvent) => {
14
+ if (dropdownRef.current && !dropdownRef.current.contains(event.target as Node)) {
15
+ setIsOpen(false);
16
+ }
17
+ };
18
+
19
+ document.addEventListener("mousedown", handleClickOutside);
20
+ return () => {
21
+ document.removeEventListener("mousedown", handleClickOutside);
22
+ };
23
+ }, []);
24
+
25
+ const handleLanguageSelect = (lang: Language) => {
26
+ switchLanguage(lang as Language);
27
+ setIsOpen(false);
28
+ };
29
+
30
+ return (
31
+ <div
32
+ className="relative"
33
+ ref={dropdownRef}
34
+ >
35
+ {/* Dropdown Button */}
36
+ <button
37
+ onClick={() => setIsOpen(!isOpen)}
38
+ className="flex items-center gap-2 px-1 py-1 border border-white rounded-full text-white font-bold text-sm transition-colors font-roboto"
39
+ >
40
+ <Globe
41
+ size={16}
42
+ weight="light"
43
+ />
44
+ <span className="uppercase">{language}</span>
45
+ <CaretDown
46
+ size={16}
47
+ weight="light"
48
+ className={`transition-transform ${isOpen ? "rotate-180" : ""}`}
49
+ />
50
+ </button>
51
+
52
+ {/* Dropdown Menu */}
53
+ {isOpen && (
54
+ <div className="absolute top-full left-0 mt-2 w-full bg-white border border-white rounded-lg shadow-lg z-50">
55
+ <button
56
+ onClick={() => handleLanguageSelect("en")}
57
+ className={`w-full px-4 py-2 text-left text-sm font-medium transition-colors rounded-t-lg ${
58
+ language === "en" ? "bg-[#BF150B] text-white" : "text-gray-700 hover:bg-gray-100"
59
+ }`}
60
+ >
61
+ EN
62
+ </button>
63
+ <button
64
+ onClick={() => handleLanguageSelect("fr")}
65
+ className={`w-full px-4 py-2 text-left text-sm font-medium transition-colors ${
66
+ language === "fr" ? "bg-[#BF150B] text-white" : "text-gray-700 hover:bg-gray-100"
67
+ }`}
68
+ >
69
+ FR
70
+ </button>
71
+ </div>
72
+ )}
73
+ </div>
74
+ );
75
+ };
76
+
77
+ export default LanguageSwitcher;