@bloomneo/uikit 1.5.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 (678) hide show
  1. package/CHANGELOG.md +222 -0
  2. package/LICENSE +21 -0
  3. package/README.md +513 -0
  4. package/bin/commands/build.js +232 -0
  5. package/bin/commands/bundle.js +587 -0
  6. package/bin/commands/create.js +768 -0
  7. package/bin/commands/deploy.js +533 -0
  8. package/bin/commands/generate.js +673 -0
  9. package/bin/commands/optimize.js +198 -0
  10. package/bin/commands/prerender.js +306 -0
  11. package/bin/commands/serve.js +216 -0
  12. package/bin/templates/fbca/README.md.template +130 -0
  13. package/bin/templates/fbca/docs/QUICKSTART_FBCA.md +368 -0
  14. package/bin/templates/fbca/docs/UIKIT_CLI_GUIDE.md +574 -0
  15. package/bin/templates/fbca/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  16. package/bin/templates/fbca/docs/UIKIT_LLM_GUIDE.md +2055 -0
  17. package/bin/templates/fbca/docs/UIKIT_THEME_GUIDE.md +359 -0
  18. package/bin/templates/fbca/package.json.template +41 -0
  19. package/bin/templates/fbca/public/favicon.svg +10 -0
  20. package/bin/templates/fbca/public/hero_fbca.svg +1 -0
  21. package/bin/templates/fbca/src/utils/asset.ts +6 -0
  22. package/bin/templates/fbca/src/web/App.tsx.template +20 -0
  23. package/bin/templates/fbca/src/web/features/auth/pages/index.tsx.template +157 -0
  24. package/bin/templates/fbca/src/web/features/docs/pages/[...slug].tsx.template +83 -0
  25. package/bin/templates/fbca/src/web/features/gallery/hooks/useGallery.ts.template +74 -0
  26. package/bin/templates/fbca/src/web/features/gallery/pages/index.tsx.template +136 -0
  27. package/bin/templates/fbca/src/web/features/main/components/CTASection.tsx.template +43 -0
  28. package/bin/templates/fbca/src/web/features/main/pages/About.tsx.template +374 -0
  29. package/bin/templates/fbca/src/web/features/main/pages/index.tsx.template +214 -0
  30. package/bin/templates/fbca/src/web/index.html.template +15 -0
  31. package/bin/templates/fbca/src/web/lib/page-router.tsx.template +134 -0
  32. package/bin/templates/fbca/src/web/main.tsx.template +14 -0
  33. package/bin/templates/fbca/src/web/shared/components/Footer.tsx.template +57 -0
  34. package/bin/templates/fbca/src/web/shared/components/Header.tsx.template +91 -0
  35. package/bin/templates/fbca/src/web/shared/components/SEO.tsx.template +24 -0
  36. package/bin/templates/fbca/src/web/shared/components/index.ts.template +3 -0
  37. package/bin/templates/fbca/src/web/shared/hooks/useSEO.ts.template +85 -0
  38. package/bin/templates/fbca/src/web/shared/utils/asset.ts +6 -0
  39. package/bin/templates/fbca/src/web/styles/index.css.template +8 -0
  40. package/bin/templates/fbca/src/web/utils/asset.ts +6 -0
  41. package/bin/templates/fbca/tsconfig.json.template +32 -0
  42. package/bin/templates/fbca/tsconfig.node.json.template +10 -0
  43. package/bin/templates/fbca/vite.config.ts.template +38 -0
  44. package/bin/templates/generate/component/component.tsx.template +79 -0
  45. package/bin/templates/generate/component/index.ts.template +2 -0
  46. package/bin/templates/generate/component/types.ts.template +58 -0
  47. package/bin/templates/generate/feature/index.ts.template +14 -0
  48. package/bin/templates/generate/feature/list-page.tsx.template +34 -0
  49. package/bin/templates/generate/feature/main-component.tsx.template +37 -0
  50. package/bin/templates/generate/feature/main-page.tsx.template +30 -0
  51. package/bin/templates/generate/feature/types.ts.template +34 -0
  52. package/bin/templates/generate/hook/hook.ts.template +35 -0
  53. package/bin/templates/generate/index.css.template +10 -0
  54. package/bin/templates/generate/main.tsx.template +10 -0
  55. package/bin/templates/generate/page/index.ts.template +2 -0
  56. package/bin/templates/generate/page/page.tsx.template +86 -0
  57. package/bin/templates/generate/theme/README.md +31 -0
  58. package/bin/templates/generate/theme/theme.js.template +155 -0
  59. package/bin/templates/multi/README.md.template +120 -0
  60. package/bin/templates/multi/docs/QUICKSTART_MULTI.md +334 -0
  61. package/bin/templates/multi/docs/UIKIT_CLI_GUIDE.md +574 -0
  62. package/bin/templates/multi/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  63. package/bin/templates/multi/docs/UIKIT_LLM_GUIDE.md +2055 -0
  64. package/bin/templates/multi/docs/UIKIT_THEME_GUIDE.md +359 -0
  65. package/bin/templates/multi/index.html.template +58 -0
  66. package/bin/templates/multi/package.json.template +35 -0
  67. package/bin/templates/multi/public/favicon.svg +10 -0
  68. package/bin/templates/multi/public/hero_multi.svg +1 -0
  69. package/bin/templates/multi/src/App.tsx.template +92 -0
  70. package/bin/templates/multi/src/components/Footer.tsx.template +58 -0
  71. package/bin/templates/multi/src/components/Header.tsx.template +103 -0
  72. package/bin/templates/multi/src/components/SEO.tsx.template +19 -0
  73. package/bin/templates/multi/src/components/index.ts.template +3 -0
  74. package/bin/templates/multi/src/hooks/useSEO.ts.template +38 -0
  75. package/bin/templates/multi/src/index.css.template +7 -0
  76. package/bin/templates/multi/src/main.tsx.template +14 -0
  77. package/bin/templates/multi/src/pages/About.tsx.template +276 -0
  78. package/bin/templates/multi/src/pages/Components.tsx.template +288 -0
  79. package/bin/templates/multi/src/pages/Contact.tsx.template +348 -0
  80. package/bin/templates/multi/src/pages/Dashboard.tsx.template +306 -0
  81. package/bin/templates/multi/src/pages/ErrorPage.tsx.template +37 -0
  82. package/bin/templates/multi/src/pages/Home.tsx.template +201 -0
  83. package/bin/templates/multi/src/pages/Login.tsx.template +148 -0
  84. package/bin/templates/multi/src/pages/Themes.tsx.template +207 -0
  85. package/bin/templates/multi/src/router.tsx.template +34 -0
  86. package/bin/templates/multi/src/utils/asset.ts +6 -0
  87. package/bin/templates/multi/tsconfig.json.template +30 -0
  88. package/bin/templates/multi/tsconfig.node.json +22 -0
  89. package/bin/templates/multi/vite.config.ts.template +36 -0
  90. package/bin/templates/single/README.md.template +131 -0
  91. package/bin/templates/single/docs/QUICKSTART_SINGLE.md +259 -0
  92. package/bin/templates/single/docs/UIKIT_CLI_GUIDE.md +574 -0
  93. package/bin/templates/single/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  94. package/bin/templates/single/docs/UIKIT_LLM_GUIDE.md +2055 -0
  95. package/bin/templates/single/docs/UIKIT_THEME_GUIDE.md +359 -0
  96. package/bin/templates/single/index.html.template +37 -0
  97. package/bin/templates/single/package.json.template +34 -0
  98. package/bin/templates/single/public/favicon.svg +10 -0
  99. package/bin/templates/single/public/hero.svg +1 -0
  100. package/bin/templates/single/src/App.tsx.template +233 -0
  101. package/bin/templates/single/src/index.css.template +7 -0
  102. package/bin/templates/single/src/main.tsx.template +14 -0
  103. package/bin/templates/single/src/styles/fonts.css +99 -0
  104. package/bin/templates/single/src/utils/asset.ts +6 -0
  105. package/bin/templates/single/tsconfig.json +31 -0
  106. package/bin/templates/single/tsconfig.node.json +22 -0
  107. package/bin/templates/single/vite.config.ts.template +36 -0
  108. package/bin/templates/spa/README.md.template +105 -0
  109. package/bin/templates/spa/components/SEO.tsx.template +19 -0
  110. package/bin/templates/spa/docs/QUICKSTART_SPA.md +300 -0
  111. package/bin/templates/spa/docs/UIKIT_CLI_GUIDE.md +574 -0
  112. package/bin/templates/spa/docs/UIKIT_COMPOSITE_UI_SYSTEM.md +649 -0
  113. package/bin/templates/spa/docs/UIKIT_LLM_GUIDE.md +2055 -0
  114. package/bin/templates/spa/docs/UIKIT_THEME_GUIDE.md +359 -0
  115. package/bin/templates/spa/hooks/useSEO.ts.template +38 -0
  116. package/bin/templates/spa/index.html.template +58 -0
  117. package/bin/templates/spa/package.json.template +35 -0
  118. package/bin/templates/spa/public/favicon.svg +15 -0
  119. package/bin/templates/spa/public/hero_spa.svg +1 -0
  120. package/bin/templates/spa/src/App.tsx.template +659 -0
  121. package/bin/templates/spa/src/index.css.template +7 -0
  122. package/bin/templates/spa/src/main.tsx.template +14 -0
  123. package/bin/templates/spa/src/utils/asset.ts +6 -0
  124. package/bin/templates/spa/tsconfig.json.template +30 -0
  125. package/bin/templates/spa/tsconfig.node.json +22 -0
  126. package/bin/templates/spa/vite.config.ts.template +36 -0
  127. package/bin/uikit.js +133 -0
  128. package/cookbook/README.md +20 -0
  129. package/cookbook/crud-page.tsx +99 -0
  130. package/cookbook/dashboard.tsx +89 -0
  131. package/cookbook/delete-flow.tsx +59 -0
  132. package/cookbook/login.tsx +85 -0
  133. package/cookbook/settings.tsx +113 -0
  134. package/dist/Combination-C0DFrmJW.js +674 -0
  135. package/dist/Combination-C0DFrmJW.js.map +1 -0
  136. package/dist/accordion.js +284 -0
  137. package/dist/accordion.js.map +1 -0
  138. package/dist/admin.js +429 -0
  139. package/dist/admin.js.map +1 -0
  140. package/dist/alert.js +67 -0
  141. package/dist/alert.js.map +1 -0
  142. package/dist/auth.js +178 -0
  143. package/dist/auth.js.map +1 -0
  144. package/dist/avatar.js +249 -0
  145. package/dist/avatar.js.map +1 -0
  146. package/dist/badge.js +40 -0
  147. package/dist/badge.js.map +1 -0
  148. package/dist/blank.js +80 -0
  149. package/dist/blank.js.map +1 -0
  150. package/dist/breadcrumb.js +104 -0
  151. package/dist/breadcrumb.js.map +1 -0
  152. package/dist/button.js +50 -0
  153. package/dist/button.js.map +1 -0
  154. package/dist/calendar.js +2785 -0
  155. package/dist/calendar.js.map +1 -0
  156. package/dist/card.js +91 -0
  157. package/dist/card.js.map +1 -0
  158. package/dist/check-DXouwtzp.js +12 -0
  159. package/dist/check-DXouwtzp.js.map +1 -0
  160. package/dist/checkbox.js +268 -0
  161. package/dist/checkbox.js.map +1 -0
  162. package/dist/chevron-down-BORJtX8F.js +14 -0
  163. package/dist/chevron-down-BORJtX8F.js.map +1 -0
  164. package/dist/chevron-left-C1pkx4AF.js +14 -0
  165. package/dist/chevron-left-C1pkx4AF.js.map +1 -0
  166. package/dist/chevron-right-pz9eCjj-.js +14 -0
  167. package/dist/chevron-right-pz9eCjj-.js.map +1 -0
  168. package/dist/circle-DHOdTDQh.js +14 -0
  169. package/dist/circle-DHOdTDQh.js.map +1 -0
  170. package/dist/collapsible.js +35 -0
  171. package/dist/collapsible.js.map +1 -0
  172. package/dist/command.js +481 -0
  173. package/dist/command.js.map +1 -0
  174. package/dist/confirm-dialog.js +129 -0
  175. package/dist/confirm-dialog.js.map +1 -0
  176. package/dist/container.js +334 -0
  177. package/dist/container.js.map +1 -0
  178. package/dist/createLucideIcon-B45kRl5r.js +80 -0
  179. package/dist/createLucideIcon-B45kRl5r.js.map +1 -0
  180. package/dist/data-table.js +574 -0
  181. package/dist/data-table.js.map +1 -0
  182. package/dist/detail-page.js +454 -0
  183. package/dist/detail-page.js.map +1 -0
  184. package/dist/dialog.js +137 -0
  185. package/dist/dialog.js.map +1 -0
  186. package/dist/dropdown-menu.js +424 -0
  187. package/dist/dropdown-menu.js.map +1 -0
  188. package/dist/ellipsis-BhAoKPVk.js +16 -0
  189. package/dist/ellipsis-BhAoKPVk.js.map +1 -0
  190. package/dist/empty-state.js +54 -0
  191. package/dist/empty-state.js.map +1 -0
  192. package/dist/errors.js +36 -0
  193. package/dist/errors.js.map +1 -0
  194. package/dist/eye-DDKoW0KS.js +46 -0
  195. package/dist/eye-DDKoW0KS.js.map +1 -0
  196. package/dist/fonts/caveat-cyrillic-400-normal.woff +0 -0
  197. package/dist/fonts/caveat-cyrillic-400-normal.woff2 +0 -0
  198. package/dist/fonts/caveat-cyrillic-700-normal.woff +0 -0
  199. package/dist/fonts/caveat-cyrillic-700-normal.woff2 +0 -0
  200. package/dist/fonts/caveat-cyrillic-ext-400-normal.woff +0 -0
  201. package/dist/fonts/caveat-cyrillic-ext-400-normal.woff2 +0 -0
  202. package/dist/fonts/caveat-cyrillic-ext-700-normal.woff +0 -0
  203. package/dist/fonts/caveat-cyrillic-ext-700-normal.woff2 +0 -0
  204. package/dist/fonts/caveat-latin-400-normal.woff +0 -0
  205. package/dist/fonts/caveat-latin-400-normal.woff2 +0 -0
  206. package/dist/fonts/caveat-latin-700-normal.woff +0 -0
  207. package/dist/fonts/caveat-latin-700-normal.woff2 +0 -0
  208. package/dist/fonts/caveat-latin-ext-400-normal.woff +0 -0
  209. package/dist/fonts/caveat-latin-ext-400-normal.woff2 +0 -0
  210. package/dist/fonts/caveat-latin-ext-700-normal.woff +0 -0
  211. package/dist/fonts/caveat-latin-ext-700-normal.woff2 +0 -0
  212. package/dist/fonts/crimson-text-latin-400-normal.woff +0 -0
  213. package/dist/fonts/crimson-text-latin-400-normal.woff2 +0 -0
  214. package/dist/fonts/crimson-text-latin-600-normal.woff +0 -0
  215. package/dist/fonts/crimson-text-latin-600-normal.woff2 +0 -0
  216. package/dist/fonts/crimson-text-latin-700-normal.woff +0 -0
  217. package/dist/fonts/crimson-text-latin-700-normal.woff2 +0 -0
  218. package/dist/fonts/crimson-text-latin-ext-400-normal.woff +0 -0
  219. package/dist/fonts/crimson-text-latin-ext-400-normal.woff2 +0 -0
  220. package/dist/fonts/crimson-text-latin-ext-600-normal.woff +0 -0
  221. package/dist/fonts/crimson-text-latin-ext-600-normal.woff2 +0 -0
  222. package/dist/fonts/crimson-text-latin-ext-700-normal.woff +0 -0
  223. package/dist/fonts/crimson-text-latin-ext-700-normal.woff2 +0 -0
  224. package/dist/fonts/crimson-text-vietnamese-400-normal.woff +0 -0
  225. package/dist/fonts/crimson-text-vietnamese-400-normal.woff2 +0 -0
  226. package/dist/fonts/crimson-text-vietnamese-600-normal.woff +0 -0
  227. package/dist/fonts/crimson-text-vietnamese-600-normal.woff2 +0 -0
  228. package/dist/fonts/crimson-text-vietnamese-700-normal.woff +0 -0
  229. package/dist/fonts/crimson-text-vietnamese-700-normal.woff2 +0 -0
  230. package/dist/fonts/dm-serif-display-latin-400-normal.woff +0 -0
  231. package/dist/fonts/dm-serif-display-latin-400-normal.woff2 +0 -0
  232. package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff +0 -0
  233. package/dist/fonts/dm-serif-display-latin-ext-400-normal.woff2 +0 -0
  234. package/dist/fonts/libre-baskerville-latin-400-normal.woff +0 -0
  235. package/dist/fonts/libre-baskerville-latin-400-normal.woff2 +0 -0
  236. package/dist/fonts/libre-baskerville-latin-700-normal.woff +0 -0
  237. package/dist/fonts/libre-baskerville-latin-700-normal.woff2 +0 -0
  238. package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff +0 -0
  239. package/dist/fonts/libre-baskerville-latin-ext-400-normal.woff2 +0 -0
  240. package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff +0 -0
  241. package/dist/fonts/libre-baskerville-latin-ext-700-normal.woff2 +0 -0
  242. package/dist/fonts/montserrat-cyrillic-400-normal.woff +0 -0
  243. package/dist/fonts/montserrat-cyrillic-400-normal.woff2 +0 -0
  244. package/dist/fonts/montserrat-cyrillic-500-normal.woff +0 -0
  245. package/dist/fonts/montserrat-cyrillic-500-normal.woff2 +0 -0
  246. package/dist/fonts/montserrat-cyrillic-600-normal.woff +0 -0
  247. package/dist/fonts/montserrat-cyrillic-600-normal.woff2 +0 -0
  248. package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff +0 -0
  249. package/dist/fonts/montserrat-cyrillic-ext-400-normal.woff2 +0 -0
  250. package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff +0 -0
  251. package/dist/fonts/montserrat-cyrillic-ext-500-normal.woff2 +0 -0
  252. package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff +0 -0
  253. package/dist/fonts/montserrat-cyrillic-ext-600-normal.woff2 +0 -0
  254. package/dist/fonts/montserrat-latin-400-normal.woff +0 -0
  255. package/dist/fonts/montserrat-latin-400-normal.woff2 +0 -0
  256. package/dist/fonts/montserrat-latin-500-normal.woff +0 -0
  257. package/dist/fonts/montserrat-latin-500-normal.woff2 +0 -0
  258. package/dist/fonts/montserrat-latin-600-normal.woff +0 -0
  259. package/dist/fonts/montserrat-latin-600-normal.woff2 +0 -0
  260. package/dist/fonts/montserrat-latin-ext-400-normal.woff +0 -0
  261. package/dist/fonts/montserrat-latin-ext-400-normal.woff2 +0 -0
  262. package/dist/fonts/montserrat-latin-ext-500-normal.woff +0 -0
  263. package/dist/fonts/montserrat-latin-ext-500-normal.woff2 +0 -0
  264. package/dist/fonts/montserrat-latin-ext-600-normal.woff +0 -0
  265. package/dist/fonts/montserrat-latin-ext-600-normal.woff2 +0 -0
  266. package/dist/fonts/montserrat-vietnamese-400-normal.woff +0 -0
  267. package/dist/fonts/montserrat-vietnamese-400-normal.woff2 +0 -0
  268. package/dist/fonts/montserrat-vietnamese-500-normal.woff +0 -0
  269. package/dist/fonts/montserrat-vietnamese-500-normal.woff2 +0 -0
  270. package/dist/fonts/montserrat-vietnamese-600-normal.woff +0 -0
  271. package/dist/fonts/montserrat-vietnamese-600-normal.woff2 +0 -0
  272. package/dist/fonts/playfair-display-cyrillic-400-normal.woff +0 -0
  273. package/dist/fonts/playfair-display-cyrillic-400-normal.woff2 +0 -0
  274. package/dist/fonts/playfair-display-cyrillic-500-normal.woff +0 -0
  275. package/dist/fonts/playfair-display-cyrillic-500-normal.woff2 +0 -0
  276. package/dist/fonts/playfair-display-latin-400-normal.woff +0 -0
  277. package/dist/fonts/playfair-display-latin-400-normal.woff2 +0 -0
  278. package/dist/fonts/playfair-display-latin-500-normal.woff +0 -0
  279. package/dist/fonts/playfair-display-latin-500-normal.woff2 +0 -0
  280. package/dist/fonts/playfair-display-latin-ext-400-normal.woff +0 -0
  281. package/dist/fonts/playfair-display-latin-ext-400-normal.woff2 +0 -0
  282. package/dist/fonts/playfair-display-latin-ext-500-normal.woff +0 -0
  283. package/dist/fonts/playfair-display-latin-ext-500-normal.woff2 +0 -0
  284. package/dist/fonts/playfair-display-vietnamese-400-normal.woff +0 -0
  285. package/dist/fonts/playfair-display-vietnamese-400-normal.woff2 +0 -0
  286. package/dist/fonts/playfair-display-vietnamese-500-normal.woff +0 -0
  287. package/dist/fonts/playfair-display-vietnamese-500-normal.woff2 +0 -0
  288. package/dist/fonts/poppins-devanagari-400-normal.woff +0 -0
  289. package/dist/fonts/poppins-devanagari-400-normal.woff2 +0 -0
  290. package/dist/fonts/poppins-devanagari-500-normal.woff +0 -0
  291. package/dist/fonts/poppins-devanagari-500-normal.woff2 +0 -0
  292. package/dist/fonts/poppins-devanagari-600-normal.woff +0 -0
  293. package/dist/fonts/poppins-devanagari-600-normal.woff2 +0 -0
  294. package/dist/fonts/poppins-latin-400-normal.woff +0 -0
  295. package/dist/fonts/poppins-latin-400-normal.woff2 +0 -0
  296. package/dist/fonts/poppins-latin-500-normal.woff +0 -0
  297. package/dist/fonts/poppins-latin-500-normal.woff2 +0 -0
  298. package/dist/fonts/poppins-latin-600-normal.woff +0 -0
  299. package/dist/fonts/poppins-latin-600-normal.woff2 +0 -0
  300. package/dist/fonts/poppins-latin-ext-400-normal.woff +0 -0
  301. package/dist/fonts/poppins-latin-ext-400-normal.woff2 +0 -0
  302. package/dist/fonts/poppins-latin-ext-500-normal.woff +0 -0
  303. package/dist/fonts/poppins-latin-ext-500-normal.woff2 +0 -0
  304. package/dist/fonts/poppins-latin-ext-600-normal.woff +0 -0
  305. package/dist/fonts/poppins-latin-ext-600-normal.woff2 +0 -0
  306. package/dist/fonts/rubik-arabic-400-normal.woff +0 -0
  307. package/dist/fonts/rubik-arabic-400-normal.woff2 +0 -0
  308. package/dist/fonts/rubik-arabic-500-normal.woff +0 -0
  309. package/dist/fonts/rubik-arabic-500-normal.woff2 +0 -0
  310. package/dist/fonts/rubik-cyrillic-400-normal.woff +0 -0
  311. package/dist/fonts/rubik-cyrillic-400-normal.woff2 +0 -0
  312. package/dist/fonts/rubik-cyrillic-500-normal.woff +0 -0
  313. package/dist/fonts/rubik-cyrillic-500-normal.woff2 +0 -0
  314. package/dist/fonts/rubik-cyrillic-ext-400-normal.woff +0 -0
  315. package/dist/fonts/rubik-cyrillic-ext-400-normal.woff2 +0 -0
  316. package/dist/fonts/rubik-cyrillic-ext-500-normal.woff +0 -0
  317. package/dist/fonts/rubik-cyrillic-ext-500-normal.woff2 +0 -0
  318. package/dist/fonts/rubik-hebrew-400-normal.woff +0 -0
  319. package/dist/fonts/rubik-hebrew-400-normal.woff2 +0 -0
  320. package/dist/fonts/rubik-hebrew-500-normal.woff +0 -0
  321. package/dist/fonts/rubik-hebrew-500-normal.woff2 +0 -0
  322. package/dist/fonts/rubik-latin-400-normal.woff +0 -0
  323. package/dist/fonts/rubik-latin-400-normal.woff2 +0 -0
  324. package/dist/fonts/rubik-latin-500-normal.woff +0 -0
  325. package/dist/fonts/rubik-latin-500-normal.woff2 +0 -0
  326. package/dist/fonts/rubik-latin-ext-400-normal.woff +0 -0
  327. package/dist/fonts/rubik-latin-ext-400-normal.woff2 +0 -0
  328. package/dist/fonts/rubik-latin-ext-500-normal.woff +0 -0
  329. package/dist/fonts/rubik-latin-ext-500-normal.woff2 +0 -0
  330. package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff +0 -0
  331. package/dist/fonts/source-serif-pro-cyrillic-400-normal.woff2 +0 -0
  332. package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff +0 -0
  333. package/dist/fonts/source-serif-pro-cyrillic-ext-400-normal.woff2 +0 -0
  334. package/dist/fonts/source-serif-pro-greek-400-normal.woff +0 -0
  335. package/dist/fonts/source-serif-pro-greek-400-normal.woff2 +0 -0
  336. package/dist/fonts/source-serif-pro-latin-400-normal.woff +0 -0
  337. package/dist/fonts/source-serif-pro-latin-400-normal.woff2 +0 -0
  338. package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff +0 -0
  339. package/dist/fonts/source-serif-pro-latin-ext-400-normal.woff2 +0 -0
  340. package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff +0 -0
  341. package/dist/fonts/source-serif-pro-vietnamese-400-normal.woff2 +0 -0
  342. package/dist/fonts/space-grotesk-latin-400-normal.woff +0 -0
  343. package/dist/fonts/space-grotesk-latin-400-normal.woff2 +0 -0
  344. package/dist/fonts/space-grotesk-latin-600-normal.woff +0 -0
  345. package/dist/fonts/space-grotesk-latin-600-normal.woff2 +0 -0
  346. package/dist/fonts/space-grotesk-latin-700-normal.woff +0 -0
  347. package/dist/fonts/space-grotesk-latin-700-normal.woff2 +0 -0
  348. package/dist/fonts/space-grotesk-latin-ext-400-normal.woff +0 -0
  349. package/dist/fonts/space-grotesk-latin-ext-400-normal.woff2 +0 -0
  350. package/dist/fonts/space-grotesk-latin-ext-600-normal.woff +0 -0
  351. package/dist/fonts/space-grotesk-latin-ext-600-normal.woff2 +0 -0
  352. package/dist/fonts/space-grotesk-latin-ext-700-normal.woff +0 -0
  353. package/dist/fonts/space-grotesk-latin-ext-700-normal.woff2 +0 -0
  354. package/dist/fonts/space-grotesk-vietnamese-400-normal.woff +0 -0
  355. package/dist/fonts/space-grotesk-vietnamese-400-normal.woff2 +0 -0
  356. package/dist/fonts/space-grotesk-vietnamese-600-normal.woff +0 -0
  357. package/dist/fonts/space-grotesk-vietnamese-600-normal.woff2 +0 -0
  358. package/dist/fonts/space-grotesk-vietnamese-700-normal.woff +0 -0
  359. package/dist/fonts/space-grotesk-vietnamese-700-normal.woff2 +0 -0
  360. package/dist/fonts/work-sans-latin-400-normal.woff +0 -0
  361. package/dist/fonts/work-sans-latin-400-normal.woff2 +0 -0
  362. package/dist/fonts/work-sans-latin-500-normal.woff +0 -0
  363. package/dist/fonts/work-sans-latin-500-normal.woff2 +0 -0
  364. package/dist/fonts/work-sans-latin-ext-400-normal.woff +0 -0
  365. package/dist/fonts/work-sans-latin-ext-400-normal.woff2 +0 -0
  366. package/dist/fonts/work-sans-latin-ext-500-normal.woff +0 -0
  367. package/dist/fonts/work-sans-latin-ext-500-normal.woff2 +0 -0
  368. package/dist/fonts/work-sans-vietnamese-400-normal.woff +0 -0
  369. package/dist/fonts/work-sans-vietnamese-400-normal.woff2 +0 -0
  370. package/dist/fonts/work-sans-vietnamese-500-normal.woff +0 -0
  371. package/dist/fonts/work-sans-vietnamese-500-normal.woff2 +0 -0
  372. package/dist/footer.js +308 -0
  373. package/dist/footer.js.map +1 -0
  374. package/dist/form-field.js +69 -0
  375. package/dist/form-field.js.map +1 -0
  376. package/dist/form.js +732 -0
  377. package/dist/form.js.map +1 -0
  378. package/dist/format.js +112 -0
  379. package/dist/format.js.map +1 -0
  380. package/dist/fouc.js +28 -0
  381. package/dist/fouc.js.map +1 -0
  382. package/dist/header.js +289 -0
  383. package/dist/header.js.map +1 -0
  384. package/dist/hooks.js +13 -0
  385. package/dist/hooks.js.map +1 -0
  386. package/dist/hover-card.js +210 -0
  387. package/dist/hover-card.js.map +1 -0
  388. package/dist/index-0ioNhtNM.js +11 -0
  389. package/dist/index-0ioNhtNM.js.map +1 -0
  390. package/dist/index-1QHKgw6D.js +55 -0
  391. package/dist/index-1QHKgw6D.js.map +1 -0
  392. package/dist/index-B6sSWi7l.js +747 -0
  393. package/dist/index-B6sSWi7l.js.map +1 -0
  394. package/dist/index-BCjJQGh8.js +71 -0
  395. package/dist/index-BCjJQGh8.js.map +1 -0
  396. package/dist/index-BGQepRFJ.js +28 -0
  397. package/dist/index-BGQepRFJ.js.map +1 -0
  398. package/dist/index-BVRIAMfe.js +37 -0
  399. package/dist/index-BVRIAMfe.js.map +1 -0
  400. package/dist/index-BY7PeRJA.js +145 -0
  401. package/dist/index-BY7PeRJA.js.map +1 -0
  402. package/dist/index-BZPx6jYI.js +9 -0
  403. package/dist/index-BZPx6jYI.js.map +1 -0
  404. package/dist/index-Ba4eHUBD.js +243 -0
  405. package/dist/index-Ba4eHUBD.js.map +1 -0
  406. package/dist/index-Bke1qZdk.js +35 -0
  407. package/dist/index-Bke1qZdk.js.map +1 -0
  408. package/dist/index-C0UREtMP.js +60 -0
  409. package/dist/index-C0UREtMP.js.map +1 -0
  410. package/dist/index-CCKe-Mpx.js +7 -0
  411. package/dist/index-CCKe-Mpx.js.map +1 -0
  412. package/dist/index-DFZozV_h.js +69 -0
  413. package/dist/index-DFZozV_h.js.map +1 -0
  414. package/dist/index-DFi6WydO.js +180 -0
  415. package/dist/index-DFi6WydO.js.map +1 -0
  416. package/dist/index-DQH6odE9.js +83 -0
  417. package/dist/index-DQH6odE9.js.map +1 -0
  418. package/dist/index-EO5flKM3.js +119 -0
  419. package/dist/index-EO5flKM3.js.map +1 -0
  420. package/dist/index-Lf7yDOXW.js +615 -0
  421. package/dist/index-Lf7yDOXW.js.map +1 -0
  422. package/dist/index-dhIqEbxW.js +1541 -0
  423. package/dist/index-dhIqEbxW.js.map +1 -0
  424. package/dist/index-pWhlqjff.js +32 -0
  425. package/dist/index-pWhlqjff.js.map +1 -0
  426. package/dist/index-rKs9bXHr.js +7 -0
  427. package/dist/index-rKs9bXHr.js.map +1 -0
  428. package/dist/index-xqkGMOJ8.js +14 -0
  429. package/dist/index-xqkGMOJ8.js.map +1 -0
  430. package/dist/index.js +247 -0
  431. package/dist/index.js.map +1 -0
  432. package/dist/input.js +22 -0
  433. package/dist/input.js.map +1 -0
  434. package/dist/label.js +36 -0
  435. package/dist/label.js.map +1 -0
  436. package/dist/layout-wrapper.js +208 -0
  437. package/dist/layout-wrapper.js.map +1 -0
  438. package/dist/llms.txt +1140 -0
  439. package/dist/menu-DBhEanGo.js +16 -0
  440. package/dist/menu-DBhEanGo.js.map +1 -0
  441. package/dist/menubar.js +565 -0
  442. package/dist/menubar.js.map +1 -0
  443. package/dist/mobile.js +183 -0
  444. package/dist/mobile.js.map +1 -0
  445. package/dist/motion.js +119 -0
  446. package/dist/motion.js.map +1 -0
  447. package/dist/page-header.js +47 -0
  448. package/dist/page-header.js.map +1 -0
  449. package/dist/page.js +214 -0
  450. package/dist/page.js.map +1 -0
  451. package/dist/pagination.js +121 -0
  452. package/dist/pagination.js.map +1 -0
  453. package/dist/platform.js +194 -0
  454. package/dist/platform.js.map +1 -0
  455. package/dist/popover.js +263 -0
  456. package/dist/popover.js.map +1 -0
  457. package/dist/popup.js +335 -0
  458. package/dist/popup.js.map +1 -0
  459. package/dist/progress.js +108 -0
  460. package/dist/progress.js.map +1 -0
  461. package/dist/radio-group.js +272 -0
  462. package/dist/radio-group.js.map +1 -0
  463. package/dist/safe-area.js +42 -0
  464. package/dist/safe-area.js.map +1 -0
  465. package/dist/search-CpUwRnG-.js +15 -0
  466. package/dist/search-CpUwRnG-.js.map +1 -0
  467. package/dist/select.js +985 -0
  468. package/dist/select.js.map +1 -0
  469. package/dist/separator.js +45 -0
  470. package/dist/separator.js.map +1 -0
  471. package/dist/sheet.js +127 -0
  472. package/dist/sheet.js.map +1 -0
  473. package/dist/skeleton.js +16 -0
  474. package/dist/skeleton.js.map +1 -0
  475. package/dist/slider.js +485 -0
  476. package/dist/slider.js.map +1 -0
  477. package/dist/sonner.js +52 -0
  478. package/dist/sonner.js.map +1 -0
  479. package/dist/styles/fonts.css +253 -0
  480. package/dist/styles.css +2 -0
  481. package/dist/switch.js +155 -0
  482. package/dist/switch.js.map +1 -0
  483. package/dist/tab-bar.js +110 -0
  484. package/dist/tab-bar.js.map +1 -0
  485. package/dist/table.js +115 -0
  486. package/dist/table.js.map +1 -0
  487. package/dist/tabs.js +218 -0
  488. package/dist/tabs.js.map +1 -0
  489. package/dist/textarea.js +19 -0
  490. package/dist/textarea.js.map +1 -0
  491. package/dist/theme-provider.js +154 -0
  492. package/dist/theme-provider.js.map +1 -0
  493. package/dist/themes.js +873 -0
  494. package/dist/themes.js.map +1 -0
  495. package/dist/toast.js +63 -0
  496. package/dist/toast.js.map +1 -0
  497. package/dist/toggle.js +70 -0
  498. package/dist/toggle.js.map +1 -0
  499. package/dist/tooltip.js +375 -0
  500. package/dist/tooltip.js.map +1 -0
  501. package/dist/types/App.d.ts +3 -0
  502. package/dist/types/App.d.ts.map +1 -0
  503. package/dist/types/components/layouts/admin.d.ts +117 -0
  504. package/dist/types/components/layouts/admin.d.ts.map +1 -0
  505. package/dist/types/components/layouts/auth.d.ts +17 -0
  506. package/dist/types/components/layouts/auth.d.ts.map +1 -0
  507. package/dist/types/components/layouts/blank.d.ts +63 -0
  508. package/dist/types/components/layouts/blank.d.ts.map +1 -0
  509. package/dist/types/components/layouts/layout-wrapper.d.ts +130 -0
  510. package/dist/types/components/layouts/layout-wrapper.d.ts.map +1 -0
  511. package/dist/types/components/layouts/mobile.d.ts +91 -0
  512. package/dist/types/components/layouts/mobile.d.ts.map +1 -0
  513. package/dist/types/components/layouts/page.d.ts +181 -0
  514. package/dist/types/components/layouts/page.d.ts.map +1 -0
  515. package/dist/types/components/layouts/popup.d.ts +100 -0
  516. package/dist/types/components/layouts/popup.d.ts.map +1 -0
  517. package/dist/types/components/sections/container.d.ts +79 -0
  518. package/dist/types/components/sections/container.d.ts.map +1 -0
  519. package/dist/types/components/sections/footer.d.ts +128 -0
  520. package/dist/types/components/sections/footer.d.ts.map +1 -0
  521. package/dist/types/components/sections/header.d.ts +72 -0
  522. package/dist/types/components/sections/header.d.ts.map +1 -0
  523. package/dist/types/components/sections/safe-area.d.ts +46 -0
  524. package/dist/types/components/sections/safe-area.d.ts.map +1 -0
  525. package/dist/types/components/sections/tab-bar.d.ts +61 -0
  526. package/dist/types/components/sections/tab-bar.d.ts.map +1 -0
  527. package/dist/types/components/ui/accordion.d.ts +8 -0
  528. package/dist/types/components/ui/accordion.d.ts.map +1 -0
  529. package/dist/types/components/ui/alert.d.ts +10 -0
  530. package/dist/types/components/ui/alert.d.ts.map +1 -0
  531. package/dist/types/components/ui/avatar.d.ts +7 -0
  532. package/dist/types/components/ui/avatar.d.ts.map +1 -0
  533. package/dist/types/components/ui/badge.d.ts +10 -0
  534. package/dist/types/components/ui/badge.d.ts.map +1 -0
  535. package/dist/types/components/ui/breadcrumb.d.ts +12 -0
  536. package/dist/types/components/ui/breadcrumb.d.ts.map +1 -0
  537. package/dist/types/components/ui/button.d.ts +11 -0
  538. package/dist/types/components/ui/button.d.ts.map +1 -0
  539. package/dist/types/components/ui/calendar.d.ts +9 -0
  540. package/dist/types/components/ui/calendar.d.ts.map +1 -0
  541. package/dist/types/components/ui/card.d.ts +10 -0
  542. package/dist/types/components/ui/card.d.ts.map +1 -0
  543. package/dist/types/components/ui/checkbox.d.ts +5 -0
  544. package/dist/types/components/ui/checkbox.d.ts.map +1 -0
  545. package/dist/types/components/ui/collapsible.d.ts +6 -0
  546. package/dist/types/components/ui/collapsible.d.ts.map +1 -0
  547. package/dist/types/components/ui/command.d.ts +19 -0
  548. package/dist/types/components/ui/command.d.ts.map +1 -0
  549. package/dist/types/components/ui/confirm-dialog.d.ts +72 -0
  550. package/dist/types/components/ui/confirm-dialog.d.ts.map +1 -0
  551. package/dist/types/components/ui/data-table.d.ts +211 -0
  552. package/dist/types/components/ui/data-table.d.ts.map +1 -0
  553. package/dist/types/components/ui/detail-page.d.ts +119 -0
  554. package/dist/types/components/ui/detail-page.d.ts.map +1 -0
  555. package/dist/types/components/ui/dialog.d.ts +16 -0
  556. package/dist/types/components/ui/dialog.d.ts.map +1 -0
  557. package/dist/types/components/ui/dropdown-menu.d.ts +26 -0
  558. package/dist/types/components/ui/dropdown-menu.d.ts.map +1 -0
  559. package/dist/types/components/ui/empty-state.d.ts +30 -0
  560. package/dist/types/components/ui/empty-state.d.ts.map +1 -0
  561. package/dist/types/components/ui/form-field.d.ts +57 -0
  562. package/dist/types/components/ui/form-field.d.ts.map +1 -0
  563. package/dist/types/components/ui/form.d.ts +185 -0
  564. package/dist/types/components/ui/form.d.ts.map +1 -0
  565. package/dist/types/components/ui/hover-card.d.ts +7 -0
  566. package/dist/types/components/ui/hover-card.d.ts.map +1 -0
  567. package/dist/types/components/ui/input.d.ts +4 -0
  568. package/dist/types/components/ui/input.d.ts.map +1 -0
  569. package/dist/types/components/ui/label.d.ts +5 -0
  570. package/dist/types/components/ui/label.d.ts.map +1 -0
  571. package/dist/types/components/ui/menubar.d.ts +27 -0
  572. package/dist/types/components/ui/menubar.d.ts.map +1 -0
  573. package/dist/types/components/ui/motion.d.ts +130 -0
  574. package/dist/types/components/ui/motion.d.ts.map +1 -0
  575. package/dist/types/components/ui/page-header.d.ts +45 -0
  576. package/dist/types/components/ui/page-header.d.ts.map +1 -0
  577. package/dist/types/components/ui/pagination.d.ts +14 -0
  578. package/dist/types/components/ui/pagination.d.ts.map +1 -0
  579. package/dist/types/components/ui/popover.d.ts +8 -0
  580. package/dist/types/components/ui/popover.d.ts.map +1 -0
  581. package/dist/types/components/ui/progress.d.ts +5 -0
  582. package/dist/types/components/ui/progress.d.ts.map +1 -0
  583. package/dist/types/components/ui/radio-group.d.ts +6 -0
  584. package/dist/types/components/ui/radio-group.d.ts.map +1 -0
  585. package/dist/types/components/ui/select.d.ts +16 -0
  586. package/dist/types/components/ui/select.d.ts.map +1 -0
  587. package/dist/types/components/ui/separator.d.ts +5 -0
  588. package/dist/types/components/ui/separator.d.ts.map +1 -0
  589. package/dist/types/components/ui/sheet.d.ts +14 -0
  590. package/dist/types/components/ui/sheet.d.ts.map +1 -0
  591. package/dist/types/components/ui/skeleton.d.ts +3 -0
  592. package/dist/types/components/ui/skeleton.d.ts.map +1 -0
  593. package/dist/types/components/ui/slider.d.ts +5 -0
  594. package/dist/types/components/ui/slider.d.ts.map +1 -0
  595. package/dist/types/components/ui/sonner.d.ts +4 -0
  596. package/dist/types/components/ui/sonner.d.ts.map +1 -0
  597. package/dist/types/components/ui/switch.d.ts +5 -0
  598. package/dist/types/components/ui/switch.d.ts.map +1 -0
  599. package/dist/types/components/ui/table.d.ts +11 -0
  600. package/dist/types/components/ui/table.d.ts.map +1 -0
  601. package/dist/types/components/ui/tabs.d.ts +8 -0
  602. package/dist/types/components/ui/tabs.d.ts.map +1 -0
  603. package/dist/types/components/ui/textarea.d.ts +4 -0
  604. package/dist/types/components/ui/textarea.d.ts.map +1 -0
  605. package/dist/types/components/ui/toast.d.ts +70 -0
  606. package/dist/types/components/ui/toast.d.ts.map +1 -0
  607. package/dist/types/components/ui/toggle.d.ts +10 -0
  608. package/dist/types/components/ui/toggle.d.ts.map +1 -0
  609. package/dist/types/components/ui/tooltip.d.ts +8 -0
  610. package/dist/types/components/ui/tooltip.d.ts.map +1 -0
  611. package/dist/types/hooks/index.d.ts +14 -0
  612. package/dist/types/hooks/index.d.ts.map +1 -0
  613. package/dist/types/hooks/useApi.d.ts +38 -0
  614. package/dist/types/hooks/useApi.d.ts.map +1 -0
  615. package/dist/types/hooks/useBreakpoint.d.ts +35 -0
  616. package/dist/types/hooks/useBreakpoint.d.ts.map +1 -0
  617. package/dist/types/hooks/useDataTable.d.ts +59 -0
  618. package/dist/types/hooks/useDataTable.d.ts.map +1 -0
  619. package/dist/types/hooks/useMediaQuery.d.ts +12 -0
  620. package/dist/types/hooks/useMediaQuery.d.ts.map +1 -0
  621. package/dist/types/hooks/useStorage.d.ts +35 -0
  622. package/dist/types/hooks/useStorage.d.ts.map +1 -0
  623. package/dist/types/index.d.ts +75 -0
  624. package/dist/types/index.d.ts.map +1 -0
  625. package/dist/types/lib/errors.d.ts +37 -0
  626. package/dist/types/lib/errors.d.ts.map +1 -0
  627. package/dist/types/lib/format.d.ts +80 -0
  628. package/dist/types/lib/format.d.ts.map +1 -0
  629. package/dist/types/lib/fouc.d.ts +64 -0
  630. package/dist/types/lib/fouc.d.ts.map +1 -0
  631. package/dist/types/lib/platform.d.ts +156 -0
  632. package/dist/types/lib/platform.d.ts.map +1 -0
  633. package/dist/types/lib/utils.d.ts +14 -0
  634. package/dist/types/lib/utils.d.ts.map +1 -0
  635. package/dist/types/main.d.ts +2 -0
  636. package/dist/types/main.d.ts.map +1 -0
  637. package/dist/types/themes/index.d.ts +499 -0
  638. package/dist/types/themes/index.d.ts.map +1 -0
  639. package/dist/types/themes/presets/base.d.ts +108 -0
  640. package/dist/types/themes/presets/base.d.ts.map +1 -0
  641. package/dist/types/themes/presets/elegant.d.ts +108 -0
  642. package/dist/types/themes/presets/elegant.d.ts.map +1 -0
  643. package/dist/types/themes/presets/metro.d.ts +114 -0
  644. package/dist/types/themes/presets/metro.d.ts.map +1 -0
  645. package/dist/types/themes/presets/studio.d.ts +115 -0
  646. package/dist/types/themes/presets/studio.d.ts.map +1 -0
  647. package/dist/types/themes/presets/vivid.d.ts +115 -0
  648. package/dist/types/themes/presets/vivid.d.ts.map +1 -0
  649. package/dist/types/themes/theme-provider.d.ts +122 -0
  650. package/dist/types/themes/theme-provider.d.ts.map +1 -0
  651. package/dist/types/types/index.d.ts +813 -0
  652. package/dist/types/types/index.d.ts.map +1 -0
  653. package/dist/uikit.css +1 -0
  654. package/dist/useDataTable-CPiBpEg-.js +254 -0
  655. package/dist/useDataTable-CPiBpEg-.js.map +1 -0
  656. package/dist/utils-CwJPJKOE.js +2278 -0
  657. package/dist/utils-CwJPJKOE.js.map +1 -0
  658. package/dist/utils.js +5 -0
  659. package/dist/utils.js.map +1 -0
  660. package/dist/wrapper.js +13 -0
  661. package/dist/wrapper.js.map +1 -0
  662. package/dist/x-BxwubQiM.js +15 -0
  663. package/dist/x-BxwubQiM.js.map +1 -0
  664. package/examples/README.md +18 -0
  665. package/examples/button.tsx +16 -0
  666. package/examples/confirm-dialog.tsx +44 -0
  667. package/examples/data-table.tsx +35 -0
  668. package/examples/dialog.tsx +34 -0
  669. package/examples/empty-state.tsx +13 -0
  670. package/examples/form-field.tsx +22 -0
  671. package/examples/format.tsx +19 -0
  672. package/examples/page-header.tsx +17 -0
  673. package/examples/skeleton.tsx +12 -0
  674. package/examples/theme-provider.tsx +33 -0
  675. package/examples/toast.tsx +32 -0
  676. package/examples/use-breakpoint.tsx +17 -0
  677. package/llms.txt +1140 -0
  678. package/package.json +430 -0
@@ -0,0 +1,34 @@
1
+ import React from 'react';
2
+ import { PageLayout } from '@bloomneo/uikit/page';
3
+ import { Card, CardContent, CardHeader, CardTitle } from '@bloomneo/uikit/card';
4
+ import { Button } from '@bloomneo/uikit/button';
5
+
6
+ export const {{FeatureName}}ListPage: React.FC = () => {
7
+ return (
8
+ <PageLayout>
9
+ <PageLayout.Content>
10
+ <div className="space-y-6">
11
+ <div className="flex justify-between items-center">
12
+ <h1 className="voila-heading text-3xl">{{FeatureName}} List</h1>
13
+ <Button>Add New {{FeatureName}}</Button>
14
+ </div>
15
+
16
+ <div className="grid gap-4">
17
+ {Array.from({ length: 3 }, (_, i) => (
18
+ <Card key={i}>
19
+ <CardHeader>
20
+ <CardTitle>{{FeatureName}} Item {i + 1}</CardTitle>
21
+ </CardHeader>
22
+ <CardContent>
23
+ <p className="text-muted-foreground">
24
+ Sample {{featureName}} item content goes here.
25
+ </p>
26
+ </CardContent>
27
+ </Card>
28
+ ))}
29
+ </div>
30
+ </div>
31
+ </PageLayout.Content>
32
+ </PageLayout>
33
+ );
34
+ };
@@ -0,0 +1,37 @@
1
+ import React from 'react';
2
+ import { Card, CardContent, CardHeader, CardTitle } from '@bloomneo/uikit/card';
3
+ import { Button } from '@bloomneo/uikit/button';
4
+ import { Badge } from '@bloomneo/uikit/badge';
5
+
6
+ interface {{FeatureName}}CardProps {
7
+ title?: string;
8
+ description?: string;
9
+ onAction?: () => void;
10
+ }
11
+
12
+ export const {{FeatureName}}Card: React.FC<{{FeatureName}}CardProps> = ({
13
+ title = '{{FeatureName}} Card',
14
+ description = 'A generated {{featureName}} component',
15
+ onAction
16
+ }) => {
17
+ return (
18
+ <Card>
19
+ <CardHeader>
20
+ <div className="flex items-center justify-between">
21
+ <CardTitle>{title}</CardTitle>
22
+ <Badge variant="outline">{{theme}} theme</Badge>
23
+ </div>
24
+ {description && <p className="text-muted-foreground">{description}</p>}
25
+ </CardHeader>
26
+ <CardContent className="space-y-4">
27
+ <p className="text-sm text-muted-foreground">
28
+ This is a reusable {{featureName}} card component. Customize it according to your needs.
29
+ </p>
30
+ <div className="flex gap-2">
31
+ <Button onClick={onAction}>Primary Action</Button>
32
+ <Button variant="outline">Secondary</Button>
33
+ </div>
34
+ </CardContent>
35
+ </Card>
36
+ );
37
+ };
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { PageLayout } from '@bloomneo/uikit/page';
3
+ import { {{FeatureName}}Card } from '../components/{{FeatureName}}Card';
4
+
5
+ export const {{FeatureName}}Page: React.FC = () => {
6
+ return (
7
+ <PageLayout>
8
+ <PageLayout.Content>
9
+ <div className="space-y-8">
10
+ <div className="text-center space-y-4">
11
+ <h1 className="voila-heading text-4xl md:text-5xl text-gradient-primary">
12
+ {{FeatureName}}
13
+ </h1>
14
+ <p className="voila-subheading text-muted-foreground max-w-2xl mx-auto text-xl">
15
+ Main {{featureName}} page with full feature implementation
16
+ </p>
17
+ </div>
18
+
19
+ <div className="max-w-4xl mx-auto">
20
+ <{{FeatureName}}Card
21
+ title="{{FeatureName}} Feature"
22
+ description="Complete feature implementation with components and pages"
23
+ onAction={() => console.log('{{FeatureName}} action triggered')}
24
+ />
25
+ </div>
26
+ </div>
27
+ </PageLayout.Content>
28
+ </PageLayout>
29
+ );
30
+ };
@@ -0,0 +1,34 @@
1
+ export interface {{FeatureName}}Data {
2
+ id: string;
3
+ name: string;
4
+ description?: string;
5
+ status: 'active' | 'inactive' | 'pending';
6
+ createdAt: Date;
7
+ updatedAt: Date;
8
+ }
9
+
10
+ export interface {{FeatureName}}ListItem {
11
+ id: string;
12
+ title: string;
13
+ subtitle?: string;
14
+ badge?: string;
15
+ href?: string;
16
+ }
17
+
18
+ export interface {{FeatureName}}State {
19
+ items: {{FeatureName}}Data[];
20
+ selectedItem: {{FeatureName}}Data | null;
21
+ loading: boolean;
22
+ error: string | null;
23
+ filters: {
24
+ status?: {{FeatureName}}Data['status'];
25
+ search?: string;
26
+ };
27
+ }
28
+
29
+ export interface {{FeatureName}}Actions {
30
+ create: (data: Omit<{{FeatureName}}Data, 'id' | 'createdAt' | 'updatedAt'>) => void;
31
+ update: (id: string, data: Partial<{{FeatureName}}Data>) => void;
32
+ delete: (id: string) => void;
33
+ setFilter: (filters: Partial<{{FeatureName}}State['filters']>) => void;
34
+ }
@@ -0,0 +1,35 @@
1
+ import { useState, useEffect } from 'react';
2
+
3
+ /**
4
+ * {{hookName}} - Custom hook
5
+ * Generated with UIKit {{theme}} theme
6
+ */
7
+ export const {{hookName}} = () => {
8
+ const [data, setData] = useState<any>(null);
9
+ const [loading, setLoading] = useState<boolean>(false);
10
+ const [error, setError] = useState<string | null>(null);
11
+
12
+ useEffect(() => {
13
+ // Add your hook logic here
14
+ console.log('{{hookName}} initialized');
15
+ }, []);
16
+
17
+ const handleAction = () => {
18
+ setLoading(true);
19
+ setError(null);
20
+
21
+ // Add your action logic here
22
+
23
+ setTimeout(() => {
24
+ setLoading(false);
25
+ setData('Sample data from {{hookName}}');
26
+ }, 1000);
27
+ };
28
+
29
+ return {
30
+ data,
31
+ loading,
32
+ error,
33
+ handleAction,
34
+ };
35
+ };
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Main Styles Entry Point
3
+ * Tailwind CSS v4+ with UIKit integration
4
+ */
5
+
6
+ /* Tailwind CSS v4+ - REQUIRED */
7
+ @import "tailwindcss";
8
+
9
+ /* UIKit base styles - REQUIRED */
10
+ @import '@bloomneo/uikit/styles';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import ReactDOM from 'react-dom/client';
3
+ import './index.css';
4
+ import App from './App';
5
+
6
+ ReactDOM.createRoot(document.getElementById('root')!).render(
7
+ <React.StrictMode>
8
+ <App />
9
+ </React.StrictMode>
10
+ );
@@ -0,0 +1,2 @@
1
+ export { {{FeatureName}}Page } from './pages/index';
2
+ export { default as {{FeatureName}}PageDefault } from './pages/index';
@@ -0,0 +1,86 @@
1
+ import React from 'react';
2
+ import { PageLayout } from '@bloomneo/uikit/page';
3
+ import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@bloomneo/uikit/card';
4
+ import { Button } from '@bloomneo/uikit/button';
5
+ import { Badge } from '@bloomneo/uikit/badge';
6
+
7
+ export const {{FeatureName}}Page: React.FC = () => {
8
+ return (
9
+ <PageLayout>
10
+ <PageLayout.Content>
11
+ <div className="space-y-8">
12
+ {/* Page Header */}
13
+ <div className="text-center space-y-4">
14
+ <h1 className="voila-heading text-4xl md:text-5xl text-gradient-primary">
15
+ {{FeatureName}}
16
+ </h1>
17
+ <p className="voila-subheading text-muted-foreground max-w-2xl mx-auto text-xl">
18
+ Welcome to your new {{featureName}} page powered by UIKit
19
+ </p>
20
+ <Badge variant="outline" className="text-sm">
21
+ Generated with UIKit CLI
22
+ </Badge>
23
+ </div>
24
+
25
+ {/* Main Content */}
26
+ <div className="max-w-4xl mx-auto">
27
+ <Card>
28
+ <CardHeader>
29
+ <CardTitle className="flex items-center gap-2">
30
+ 🎨 {{FeatureName}} Content
31
+ </CardTitle>
32
+ <CardDescription>
33
+ This is your generated {{featureName}} page. Customize it with UIKit components and your own content.
34
+ </CardDescription>
35
+ </CardHeader>
36
+ <CardContent className="space-y-4">
37
+ <p className="text-muted-foreground">
38
+ Start building your {{featureName}} feature here. You have access to all UIKit components
39
+ with the {{theme}} theme applied.
40
+ </p>
41
+
42
+ <div className="flex gap-2 flex-wrap">
43
+ <Button variant="default">
44
+ Primary Action
45
+ </Button>
46
+ <Button variant="outline">
47
+ Secondary Action
48
+ </Button>
49
+ <Button variant="ghost">
50
+ Tertiary Action
51
+ </Button>
52
+ </div>
53
+
54
+ <div className="grid gap-4 md:grid-cols-2">
55
+ <Card>
56
+ <CardHeader>
57
+ <CardTitle className="text-lg">Feature 1</CardTitle>
58
+ </CardHeader>
59
+ <CardContent>
60
+ <p className="text-sm text-muted-foreground">
61
+ Add your first {{featureName}} feature here.
62
+ </p>
63
+ </CardContent>
64
+ </Card>
65
+
66
+ <Card>
67
+ <CardHeader>
68
+ <CardTitle className="text-lg">Feature 2</CardTitle>
69
+ </CardHeader>
70
+ <CardContent>
71
+ <p className="text-sm text-muted-foreground">
72
+ Add your second {{featureName}} feature here.
73
+ </p>
74
+ </CardContent>
75
+ </Card>
76
+ </div>
77
+ </CardContent>
78
+ </Card>
79
+ </div>
80
+ </div>
81
+ </PageLayout.Content>
82
+ </PageLayout>
83
+ );
84
+ };
85
+
86
+ export default {{FeatureName}}Page;
@@ -0,0 +1,31 @@
1
+ # UIKit Custom Theme Generator
2
+
3
+ This template generates custom theme files for UIKit projects.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ npx uikit generate theme brand # Creates theme-brand.js
9
+ npx uikit generate theme my-company # Creates theme-my-company.js
10
+ ```
11
+
12
+ ## Generated Files
13
+
14
+ - `src/themes/presets/theme-{name}.js` - Complete theme with light/dark modes
15
+ - All 29 semantic colors included
16
+ - Ready for customization
17
+ - Works with existing bundle system
18
+
19
+ ## Next Steps After Generation
20
+
21
+ 1. **Customize Colors** - Edit the generated theme file with your brand colors
22
+ 2. **Bundle CSS** - Run `npx uikit bundle` to generate CSS
23
+ 3. **Use in App** - Apply theme: `<ThemeProvider theme="your-theme-name">`
24
+
25
+ ## Template Features
26
+
27
+ ✅ **Complete Color System** - All 29 UIKit semantic colors
28
+ ✅ **Light & Dark Modes** - Automatically adapted colors
29
+ ✅ **Design Tokens** - Optional custom fonts and styles
30
+ ✅ **OKLCH Ready** - Comments for upgrading to OKLCH colors
31
+ ✅ **Bundle Compatible** - Works with existing `npx uikit bundle`
@@ -0,0 +1,155 @@
1
+ /**
2
+ * {{ThemeName}} Theme - Custom brand theme for your project
3
+ * @description Generated theme based on your brand colors
4
+ * @package {{projectName}}
5
+ * @file src/themes/presets/theme-{{themeName}}.js
6
+ */
7
+
8
+ /**
9
+ * {{ThemeName}} theme preset - Customize these colors to match your brand
10
+ *
11
+ * 🎨 Color Customization Tips:
12
+ * - primary: Your main brand color (buttons, links, focus states)
13
+ * - secondary: Supporting color for less prominent elements
14
+ * - accent: Highlight color for special elements
15
+ * - destructive: Error/danger color (usually red variants)
16
+ *
17
+ * 💡 OKLCH Colors (recommended for better consistency):
18
+ * - Replace hex values with oklch() for better color science
19
+ * - Format: oklch(lightness chroma hue)
20
+ * - Example: oklch(0.60 0.15 250) for a nice blue
21
+ * - Tool: https://oklch.com/
22
+ */
23
+ const {{themeName}}Theme = {
24
+ id: '{{themeName}}',
25
+ name: '{{ThemeName}}',
26
+ description: 'Custom {{themeName}} theme with brand colors and modern design',
27
+
28
+ // Light mode colors - customize these to match your brand
29
+ light: {
30
+ // Base colors
31
+ background: '#FFFFFF', // Main page background
32
+ foreground: '#0F172A', // Primary text color
33
+ card: '#FFFFFF', // Card/panel backgrounds
34
+ cardForeground: '#0F172A', // Text on cards
35
+ popover: '#FFFFFF', // Dropdown/modal backgrounds
36
+ popoverForeground: '#0F172A', // Text in popovers
37
+
38
+ // Brand colors - UPDATE THESE WITH YOUR BRAND COLORS
39
+ primary: '#3B82F6', // 🎨 YOUR MAIN BRAND COLOR
40
+ primaryForeground: '#FFFFFF', // Text on primary elements
41
+ secondary: '#F1F5F9', // Secondary buttons/elements
42
+ secondaryForeground: '#0F172A', // Text on secondary elements
43
+
44
+ // Supporting colors
45
+ muted: '#F8FAFC', // Subtle background areas
46
+ mutedForeground: '#64748B', // Secondary/subtle text
47
+ accent: '#F1F5F9', // Accent elements
48
+ accentForeground: '#0F172A', // Text on accent elements
49
+
50
+ // State colors
51
+ destructive: '#EF4444', // Error/danger elements
52
+ destructiveForeground: '#FFFFFF', // Text on destructive elements
53
+
54
+ // Border colors
55
+ border: '#E2E8F0', // Standard borders
56
+ input: '#E2E8F0', // Input field borders
57
+ ring: '#3B82F6', // Focus ring color (usually matches primary)
58
+
59
+ // Chart colors for data visualization
60
+ chart1: '#3B82F6', // Primary data series
61
+ chart2: '#10B981', // Secondary data series (green)
62
+ chart3: '#F59E0B', // Tertiary data series (orange)
63
+ chart4: '#EF4444', // Warning data series (red)
64
+ chart5: '#8B5CF6', // Additional data series (purple)
65
+
66
+ // Sidebar colors for AdminLayout
67
+ sidebar: '#F8FAFC', // Sidebar background
68
+ sidebarForeground: '#334155', // Sidebar text
69
+ sidebarPrimary: '#3B82F6', // Active nav items
70
+ sidebarPrimaryForeground: '#FFFFFF', // Text on active items
71
+ sidebarAccent: '#F1F5F9', // Hover states
72
+ sidebarAccentForeground: '#334155', // Text on hover
73
+ sidebarBorder: '#E2E8F0', // Sidebar borders
74
+ sidebarRing: '#3B82F6', // Focus indicators
75
+ },
76
+
77
+ // Dark mode colors - automatically adapted from light mode
78
+ dark: {
79
+ background: '#0F172A', // Dark page background
80
+ foreground: '#F8FAFC', // Light text on dark
81
+ card: '#1E293B', // Dark card backgrounds
82
+ cardForeground: '#F8FAFC', // Light text on dark cards
83
+ popover: '#1E293B', // Dark dropdown backgrounds
84
+ popoverForeground: '#F8FAFC', // Light text in dark popovers
85
+
86
+ // Brand colors - lighter versions for dark mode
87
+ primary: '#60A5FA', // Lighter version of brand color
88
+ primaryForeground: '#1E293B', // Dark text on light brand color
89
+ secondary: '#1E293B', // Dark secondary elements
90
+ secondaryForeground: '#F8FAFC', // Light text on dark secondary
91
+
92
+ // Supporting colors
93
+ muted: '#1E293B', // Dark muted backgrounds
94
+ mutedForeground: '#94A3B8', // Muted text in dark mode
95
+ accent: '#1E293B', // Dark accent elements
96
+ accentForeground: '#F8FAFC', // Light text on dark accent
97
+
98
+ // State colors
99
+ destructive: '#F87171', // Lighter red for dark mode
100
+ destructiveForeground: '#1F2937', // Dark text on light red
101
+
102
+ // Border colors
103
+ border: '#334155', // Dark borders
104
+ input: '#334155', // Dark input borders
105
+ ring: '#60A5FA', // Light focus ring
106
+
107
+ // Chart colors - adjusted for dark mode
108
+ chart1: '#60A5FA', // Light blue
109
+ chart2: '#34D399', // Light green
110
+ chart3: '#FBBF24', // Light orange
111
+ chart4: '#F87171', // Light red
112
+ chart5: '#A78BFA', // Light purple
113
+
114
+ // Sidebar colors for dark mode
115
+ sidebar: '#0F172A', // Dark sidebar
116
+ sidebarForeground: '#CBD5E1', // Light sidebar text
117
+ sidebarPrimary: '#60A5FA', // Light active nav
118
+ sidebarPrimaryForeground: '#1E293B', // Dark text on light active
119
+ sidebarAccent: '#1E293B', // Dark hover states
120
+ sidebarAccentForeground: '#CBD5E1', // Light text on dark hover
121
+ sidebarBorder: '#334155', // Dark sidebar borders
122
+ sidebarRing: '#60A5FA', // Light focus indicators
123
+ },
124
+
125
+ // Optional: Custom design tokens
126
+ design: {
127
+ fontPrimary: 'Inter, system-ui, sans-serif',
128
+ fontDisplay: 'Inter, system-ui, sans-serif',
129
+ fontMono: 'JetBrains Mono, Monaco, monospace',
130
+ },
131
+
132
+ // Optional: Custom CSS styles for this theme
133
+ customStyles: `
134
+ /* Essential heading styles for {{themeName}} theme */
135
+ .theme-{{themeName}} .voila-heading {
136
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
137
+ font-weight: 800;
138
+ letter-spacing: -0.04em;
139
+ line-height: 1.1;
140
+ font-size: clamp(2.5rem, 6vw, 4rem);
141
+ color: var(--color-foreground);
142
+ }
143
+
144
+ .theme-{{themeName}} .voila-subheading {
145
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
146
+ font-weight: 600;
147
+ letter-spacing: -0.02em;
148
+ line-height: 1.3;
149
+ font-size: clamp(1.25rem, 3vw, 2rem);
150
+ color: var(--color-muted-foreground);
151
+ }
152
+ `
153
+ };
154
+
155
+ export default {{themeName}}Theme;
@@ -0,0 +1,120 @@
1
+ # {{PROJECT_NAME}}
2
+
3
+ **A modern React Multi-Page Application built with @bloomneo/uikit**
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ```bash
8
+ # Install dependencies
9
+ npm install
10
+
11
+ # Start development server
12
+ npm run dev
13
+
14
+ # Build for production
15
+ npm run build
16
+
17
+ # Preview production build
18
+ npm run preview
19
+ ```
20
+
21
+ ## 🎨 UIKit Multi-Page Features
22
+
23
+ This Multi-Page Application is built with [@bloomneo/uikit](https://github.com/bloomneo/uikit) featuring:
24
+
25
+ - **37 UI Components** - Forms, tables, navigation, overlays, and more
26
+ - **5 Professional Themes** - Base, Elegant, Metro, Studio, Vivid
27
+ - **5 Layout Systems** - Admin, Auth, Page, Popup, Blank layouts
28
+ - **React Router Integration** - Client-side routing with ScrollToTop
29
+ - **Theme System** - Light/dark mode with semantic OKLCH colors
30
+ - **TypeScript Support** - Full type safety out of the box
31
+ - **SEO Optimization** - Built-in SEO components and hooks
32
+
33
+ ## 🏗️ Project Structure
34
+
35
+ ```
36
+ {{PROJECT_NAME}}/
37
+ ├── src/
38
+ │ ├── App.tsx # Main application with routing
39
+ │ ├── main.tsx # Application entry point
40
+ │ ├── index.css # Tailwind CSS v4+ and UIKit styles
41
+ │ ├── router.tsx # Route definitions
42
+ │ ├── pages/ # Page components
43
+ │ │ ├── Home.tsx # Home page
44
+ │ │ ├── About.tsx # About page
45
+ │ │ ├── Components.tsx # Components showcase
46
+ │ │ ├── Themes.tsx # Theme showcase
47
+ │ │ ├── Contact.tsx # Contact page
48
+ │ │ ├── Dashboard.tsx # Dashboard page
49
+ │ │ ├── Login.tsx # Login page
50
+ │ │ └── ErrorPage.tsx # 404 error page
51
+ │ ├── components/ # Reusable components
52
+ │ │ ├── Header.tsx # Navigation header
53
+ │ │ ├── Footer.tsx # Footer component
54
+ │ │ ├── SEO.tsx # SEO component
55
+ │ │ └── index.ts # Component exports
56
+ │ ├── hooks/ # Custom hooks
57
+ │ │ └── useSEO.ts # SEO hook
58
+ │ └── utils/
59
+ │ └── asset.ts # Asset utility for deployment paths
60
+ ├── public/ # Static assets
61
+ ├── docs/ # Documentation guides
62
+ ├── package.json # Dependencies and scripts
63
+ └── README.md # This file
64
+ ```
65
+
66
+ ## 🎯 Development Commands
67
+
68
+ ```bash
69
+ npm run dev # Start development server (localhost:5173)
70
+ npm run build # Build for production
71
+ npm run preview # Preview production build
72
+ npm run deploy:gh # Deploy to GitHub Pages
73
+ ```
74
+
75
+ ## 🎨 Theme Customization
76
+
77
+ Change your theme by updating the ThemeProvider in `src/main.tsx`:
78
+
79
+ ```jsx
80
+ <ThemeProvider theme="elegant" mode="light">
81
+ <App />
82
+ </ThemeProvider>
83
+ ```
84
+
85
+ Available themes: `base` | `elegant` | `metro` | `studio` | `vivid`
86
+ Available modes: `light` | `dark`
87
+
88
+ ## 📦 Built With
89
+
90
+ - **[React 19](https://react.dev)** - UI library
91
+ - **[TypeScript](https://typescriptlang.org)** - Type safety
92
+ - **[Vite](https://vitejs.dev)** - Build tool and dev server
93
+ - **[Tailwind CSS v4+](https://tailwindcss.com)** - Utility-first CSS framework
94
+ - **[@bloomneo/uikit](https://github.com/bloomneo/uikit)** - UI components and layouts
95
+ - **[React Router](https://reactrouter.com)** - Client-side routing
96
+ - **[Lucide React](https://lucide.dev)** - Icon library
97
+
98
+ ## 🌐 Asset Management
99
+
100
+ Use the included asset utility for deployment-friendly paths:
101
+
102
+ ```jsx
103
+ import { asset } from './utils/asset';
104
+
105
+ // Works in both development and production deployments
106
+ <img src={asset('/images/hero.jpg')} alt="Hero" />
107
+ <link rel="icon" href={asset('/favicon.ico')} />
108
+ ```
109
+
110
+ ## 📚 Resources
111
+
112
+ - **[UIKit Documentation](https://docs.anthropic.com/en/docs/claude-code/claude_code_docs_map.md)** - Complete component reference
113
+ - **[UIKit LLM Guide](./docs/UIKIT_LLM_GUIDE.md)** - Comprehensive usage guide
114
+ - **[React Documentation](https://react.dev)** - React framework guide
115
+ - **[React Router Documentation](https://reactrouter.com)** - Routing guide
116
+ - **[Vite Documentation](https://vitejs.dev)** - Build tool documentation
117
+
118
+ ---
119
+
120
+ **Built with ❤️ using [@bloomneo/uikit](https://github.com/bloomneo/uikit)** ✨