@nextsparkjs/core 0.1.0-beta.1 → 0.1.0-beta.3

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 (972) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +8 -2
  3. package/bin/dist/doctor/checks/config.d.ts +11 -0
  4. package/bin/dist/doctor/checks/config.d.ts.map +1 -0
  5. package/bin/dist/doctor/checks/config.js +111 -0
  6. package/bin/dist/doctor/checks/config.js.map +1 -0
  7. package/bin/dist/doctor/checks/database.d.ts +11 -0
  8. package/bin/dist/doctor/checks/database.d.ts.map +1 -0
  9. package/bin/dist/doctor/checks/database.js +115 -0
  10. package/bin/dist/doctor/checks/database.js.map +1 -0
  11. package/bin/dist/doctor/checks/dependencies.d.ts +11 -0
  12. package/bin/dist/doctor/checks/dependencies.d.ts.map +1 -0
  13. package/bin/dist/doctor/checks/dependencies.js +88 -0
  14. package/bin/dist/doctor/checks/dependencies.js.map +1 -0
  15. package/bin/dist/doctor/checks/imports.d.ts +11 -0
  16. package/bin/dist/doctor/checks/imports.d.ts.map +1 -0
  17. package/bin/dist/doctor/checks/imports.js +176 -0
  18. package/bin/dist/doctor/checks/imports.js.map +1 -0
  19. package/bin/dist/doctor/index.d.ts +32 -0
  20. package/bin/dist/doctor/index.d.ts.map +1 -0
  21. package/bin/dist/doctor/index.js +117 -0
  22. package/bin/dist/doctor/index.js.map +1 -0
  23. package/bin/dist/init.d.ts +19 -0
  24. package/bin/dist/init.d.ts.map +1 -0
  25. package/bin/dist/init.js +95 -308
  26. package/bin/dist/init.js.map +1 -0
  27. package/bin/dist/test-wizard.d.ts +18 -0
  28. package/bin/dist/test-wizard.d.ts.map +1 -0
  29. package/bin/dist/test-wizard.js +724 -0
  30. package/bin/dist/test-wizard.js.map +1 -0
  31. package/bin/dist/tsup.config.d.ts +3 -0
  32. package/bin/dist/tsup.config.d.ts.map +1 -0
  33. package/bin/dist/tsup.config.js +13 -0
  34. package/bin/dist/tsup.config.js.map +1 -0
  35. package/bin/dist/wizard/banner.d.ts +30 -0
  36. package/bin/dist/wizard/banner.d.ts.map +1 -0
  37. package/bin/dist/wizard/banner.js +60 -0
  38. package/bin/dist/wizard/banner.js.map +1 -0
  39. package/bin/dist/wizard/generators/config-generator.d.ts +36 -0
  40. package/bin/dist/wizard/generators/config-generator.d.ts.map +1 -0
  41. package/bin/dist/wizard/generators/config-generator.js +210 -0
  42. package/bin/dist/wizard/generators/config-generator.js.map +1 -0
  43. package/bin/dist/wizard/generators/content-features-generator.d.ts +19 -0
  44. package/bin/dist/wizard/generators/content-features-generator.d.ts.map +1 -0
  45. package/bin/dist/wizard/generators/content-features-generator.js +96 -0
  46. package/bin/dist/wizard/generators/content-features-generator.js.map +1 -0
  47. package/bin/dist/wizard/generators/demo-installer.d.ts +13 -0
  48. package/bin/dist/wizard/generators/demo-installer.d.ts.map +1 -0
  49. package/bin/dist/wizard/generators/demo-installer.js +164 -0
  50. package/bin/dist/wizard/generators/demo-installer.js.map +1 -0
  51. package/bin/dist/wizard/generators/env-setup.d.ts +16 -0
  52. package/bin/dist/wizard/generators/env-setup.d.ts.map +1 -0
  53. package/bin/dist/wizard/generators/env-setup.js +163 -0
  54. package/bin/dist/wizard/generators/env-setup.js.map +1 -0
  55. package/bin/dist/wizard/generators/git-init.d.ts +16 -0
  56. package/bin/dist/wizard/generators/git-init.d.ts.map +1 -0
  57. package/bin/dist/wizard/generators/git-init.js +174 -0
  58. package/bin/dist/wizard/generators/git-init.js.map +1 -0
  59. package/bin/dist/wizard/generators/index.d.ts +19 -0
  60. package/bin/dist/wizard/generators/index.d.ts.map +1 -0
  61. package/bin/dist/wizard/generators/index.js +203 -0
  62. package/bin/dist/wizard/generators/index.js.map +1 -0
  63. package/bin/dist/wizard/generators/messages-generator.d.ts +28 -0
  64. package/bin/dist/wizard/generators/messages-generator.d.ts.map +1 -0
  65. package/bin/dist/wizard/generators/messages-generator.js +131 -0
  66. package/bin/dist/wizard/generators/messages-generator.js.map +1 -0
  67. package/bin/dist/wizard/generators/theme-renamer.d.ts +35 -0
  68. package/bin/dist/wizard/generators/theme-renamer.d.ts.map +1 -0
  69. package/bin/dist/wizard/generators/theme-renamer.js +323 -0
  70. package/bin/dist/wizard/generators/theme-renamer.js.map +1 -0
  71. package/bin/dist/wizard/index.d.ts +12 -0
  72. package/bin/dist/wizard/index.d.ts.map +1 -0
  73. package/bin/dist/wizard/index.js +254 -0
  74. package/bin/dist/wizard/index.js.map +1 -0
  75. package/bin/dist/wizard/presets.d.ts +55 -0
  76. package/bin/dist/wizard/presets.d.ts.map +1 -0
  77. package/bin/dist/wizard/presets.js +232 -0
  78. package/bin/dist/wizard/presets.js.map +1 -0
  79. package/bin/dist/wizard/preview.d.ts +15 -0
  80. package/bin/dist/wizard/preview.d.ts.map +1 -0
  81. package/bin/dist/wizard/preview.js +192 -0
  82. package/bin/dist/wizard/preview.js.map +1 -0
  83. package/bin/dist/wizard/prompts/auth-config.d.ts +16 -0
  84. package/bin/dist/wizard/prompts/auth-config.d.ts.map +1 -0
  85. package/bin/dist/wizard/prompts/auth-config.js +78 -0
  86. package/bin/dist/wizard/prompts/auth-config.js.map +1 -0
  87. package/bin/dist/wizard/prompts/billing-config.d.ts +11 -0
  88. package/bin/dist/wizard/prompts/billing-config.d.ts.map +1 -0
  89. package/bin/dist/wizard/prompts/billing-config.js +66 -0
  90. package/bin/dist/wizard/prompts/billing-config.js.map +1 -0
  91. package/bin/dist/wizard/prompts/content-features-config.d.ts +15 -0
  92. package/bin/dist/wizard/prompts/content-features-config.d.ts.map +1 -0
  93. package/bin/dist/wizard/prompts/content-features-config.js +58 -0
  94. package/bin/dist/wizard/prompts/content-features-config.js.map +1 -0
  95. package/bin/dist/wizard/prompts/dashboard-config.d.ts +15 -0
  96. package/bin/dist/wizard/prompts/dashboard-config.d.ts.map +1 -0
  97. package/bin/dist/wizard/prompts/dashboard-config.js +104 -0
  98. package/bin/dist/wizard/prompts/dashboard-config.js.map +1 -0
  99. package/bin/dist/wizard/prompts/demo-install.d.ts +14 -0
  100. package/bin/dist/wizard/prompts/demo-install.d.ts.map +1 -0
  101. package/bin/dist/wizard/prompts/demo-install.js +42 -0
  102. package/bin/dist/wizard/prompts/demo-install.js.map +1 -0
  103. package/bin/dist/wizard/prompts/dev-config.d.ts +15 -0
  104. package/bin/dist/wizard/prompts/dev-config.d.ts.map +1 -0
  105. package/bin/dist/wizard/prompts/dev-config.js +66 -0
  106. package/bin/dist/wizard/prompts/dev-config.js.map +1 -0
  107. package/bin/dist/wizard/prompts/env-config.d.ts +22 -0
  108. package/bin/dist/wizard/prompts/env-config.d.ts.map +1 -0
  109. package/bin/dist/wizard/prompts/env-config.js +65 -0
  110. package/bin/dist/wizard/prompts/env-config.js.map +1 -0
  111. package/bin/dist/wizard/prompts/features-config.d.ts +11 -0
  112. package/bin/dist/wizard/prompts/features-config.d.ts.map +1 -0
  113. package/bin/dist/wizard/prompts/features-config.js +68 -0
  114. package/bin/dist/wizard/prompts/features-config.js.map +1 -0
  115. package/bin/dist/wizard/prompts/git-config.d.ts +22 -0
  116. package/bin/dist/wizard/prompts/git-config.d.ts.map +1 -0
  117. package/bin/dist/wizard/prompts/git-config.js +72 -0
  118. package/bin/dist/wizard/prompts/git-config.js.map +1 -0
  119. package/bin/dist/wizard/prompts/i18n-config.d.ts +11 -0
  120. package/bin/dist/wizard/prompts/i18n-config.d.ts.map +1 -0
  121. package/bin/dist/wizard/prompts/i18n-config.js +55 -0
  122. package/bin/dist/wizard/prompts/i18n-config.js.map +1 -0
  123. package/bin/dist/wizard/prompts/index.d.ts +34 -0
  124. package/bin/dist/wizard/prompts/index.d.ts.map +1 -0
  125. package/bin/dist/wizard/prompts/index.js +126 -0
  126. package/bin/dist/wizard/prompts/index.js.map +1 -0
  127. package/bin/dist/wizard/prompts/project-info.d.ts +11 -0
  128. package/bin/dist/wizard/prompts/project-info.d.ts.map +1 -0
  129. package/bin/dist/wizard/prompts/project-info.js +80 -0
  130. package/bin/dist/wizard/prompts/project-info.js.map +1 -0
  131. package/bin/dist/wizard/prompts/team-config.d.ts +11 -0
  132. package/bin/dist/wizard/prompts/team-config.d.ts.map +1 -0
  133. package/bin/dist/wizard/prompts/team-config.js +77 -0
  134. package/bin/dist/wizard/prompts/team-config.js.map +1 -0
  135. package/bin/dist/wizard/types.d.ts +110 -0
  136. package/bin/dist/wizard/types.d.ts.map +1 -0
  137. package/bin/dist/wizard/types.js +31 -0
  138. package/bin/dist/wizard/types.js.map +1 -0
  139. package/bin/dist/wizard/validators/files.d.ts +26 -0
  140. package/bin/dist/wizard/validators/files.d.ts.map +1 -0
  141. package/bin/dist/wizard/validators/files.js +202 -0
  142. package/bin/dist/wizard/validators/files.js.map +1 -0
  143. package/bin/dist/wizard/validators/i18n.d.ts +24 -0
  144. package/bin/dist/wizard/validators/i18n.d.ts.map +1 -0
  145. package/bin/dist/wizard/validators/i18n.js +318 -0
  146. package/bin/dist/wizard/validators/i18n.js.map +1 -0
  147. package/bin/dist/wizard/validators/index.d.ts +67 -0
  148. package/bin/dist/wizard/validators/index.d.ts.map +1 -0
  149. package/bin/dist/wizard/validators/index.js +64 -0
  150. package/bin/dist/wizard/validators/index.js.map +1 -0
  151. package/bin/dist/wizard/validators/typescript.d.ts +19 -0
  152. package/bin/dist/wizard/validators/typescript.d.ts.map +1 -0
  153. package/bin/dist/wizard/validators/typescript.js +120 -0
  154. package/bin/dist/wizard/validators/typescript.js.map +1 -0
  155. package/dist/bin/dist/doctor/checks/config.d.ts +11 -0
  156. package/dist/bin/dist/doctor/checks/config.d.ts.map +1 -0
  157. package/dist/bin/dist/doctor/checks/config.js +111 -0
  158. package/dist/bin/dist/doctor/checks/config.js.map +1 -0
  159. package/dist/bin/dist/doctor/checks/database.d.ts +11 -0
  160. package/dist/bin/dist/doctor/checks/database.d.ts.map +1 -0
  161. package/dist/bin/dist/doctor/checks/database.js +115 -0
  162. package/dist/bin/dist/doctor/checks/database.js.map +1 -0
  163. package/dist/bin/dist/doctor/checks/dependencies.d.ts +11 -0
  164. package/dist/bin/dist/doctor/checks/dependencies.d.ts.map +1 -0
  165. package/dist/bin/dist/doctor/checks/dependencies.js +88 -0
  166. package/dist/bin/dist/doctor/checks/dependencies.js.map +1 -0
  167. package/dist/bin/dist/doctor/checks/imports.d.ts +11 -0
  168. package/dist/bin/dist/doctor/checks/imports.d.ts.map +1 -0
  169. package/dist/bin/dist/doctor/checks/imports.js +176 -0
  170. package/dist/bin/dist/doctor/checks/imports.js.map +1 -0
  171. package/dist/bin/dist/doctor/index.d.ts +32 -0
  172. package/dist/bin/dist/doctor/index.d.ts.map +1 -0
  173. package/dist/bin/dist/doctor/index.js +117 -0
  174. package/dist/bin/dist/doctor/index.js.map +1 -0
  175. package/dist/bin/dist/init.d.ts +19 -0
  176. package/dist/bin/dist/init.d.ts.map +1 -0
  177. package/dist/bin/dist/init.js +95 -308
  178. package/dist/bin/dist/init.js.map +1 -0
  179. package/dist/bin/dist/test-wizard.d.ts +18 -0
  180. package/dist/bin/dist/test-wizard.d.ts.map +1 -0
  181. package/dist/bin/dist/test-wizard.js +724 -0
  182. package/dist/bin/dist/test-wizard.js.map +1 -0
  183. package/dist/bin/dist/tsup.config.d.ts +3 -0
  184. package/dist/bin/dist/tsup.config.d.ts.map +1 -0
  185. package/dist/bin/dist/tsup.config.js +13 -0
  186. package/dist/bin/dist/tsup.config.js.map +1 -0
  187. package/dist/bin/dist/wizard/banner.d.ts +30 -0
  188. package/dist/bin/dist/wizard/banner.d.ts.map +1 -0
  189. package/dist/bin/dist/wizard/banner.js +60 -0
  190. package/dist/bin/dist/wizard/banner.js.map +1 -0
  191. package/dist/bin/dist/wizard/generators/config-generator.d.ts +36 -0
  192. package/dist/bin/dist/wizard/generators/config-generator.d.ts.map +1 -0
  193. package/dist/bin/dist/wizard/generators/config-generator.js +210 -0
  194. package/dist/bin/dist/wizard/generators/config-generator.js.map +1 -0
  195. package/dist/bin/dist/wizard/generators/content-features-generator.d.ts +19 -0
  196. package/dist/bin/dist/wizard/generators/content-features-generator.d.ts.map +1 -0
  197. package/dist/bin/dist/wizard/generators/content-features-generator.js +96 -0
  198. package/dist/bin/dist/wizard/generators/content-features-generator.js.map +1 -0
  199. package/dist/bin/dist/wizard/generators/demo-installer.d.ts +13 -0
  200. package/dist/bin/dist/wizard/generators/demo-installer.d.ts.map +1 -0
  201. package/dist/bin/dist/wizard/generators/demo-installer.js +128 -0
  202. package/dist/bin/dist/wizard/generators/demo-installer.js.map +1 -0
  203. package/dist/bin/dist/wizard/generators/env-setup.d.ts +16 -0
  204. package/dist/bin/dist/wizard/generators/env-setup.d.ts.map +1 -0
  205. package/dist/bin/dist/wizard/generators/env-setup.js +163 -0
  206. package/dist/bin/dist/wizard/generators/env-setup.js.map +1 -0
  207. package/dist/bin/dist/wizard/generators/git-init.d.ts +16 -0
  208. package/dist/bin/dist/wizard/generators/git-init.d.ts.map +1 -0
  209. package/dist/bin/dist/wizard/generators/git-init.js +174 -0
  210. package/dist/bin/dist/wizard/generators/git-init.js.map +1 -0
  211. package/dist/bin/dist/wizard/generators/index.d.ts +19 -0
  212. package/dist/bin/dist/wizard/generators/index.d.ts.map +1 -0
  213. package/dist/bin/dist/wizard/generators/index.js +199 -0
  214. package/dist/bin/dist/wizard/generators/index.js.map +1 -0
  215. package/dist/bin/dist/wizard/generators/messages-generator.d.ts +28 -0
  216. package/dist/bin/dist/wizard/generators/messages-generator.d.ts.map +1 -0
  217. package/dist/bin/dist/wizard/generators/messages-generator.js +131 -0
  218. package/dist/bin/dist/wizard/generators/messages-generator.js.map +1 -0
  219. package/dist/bin/dist/wizard/generators/theme-renamer.d.ts +35 -0
  220. package/dist/bin/dist/wizard/generators/theme-renamer.d.ts.map +1 -0
  221. package/dist/bin/dist/wizard/generators/theme-renamer.js +323 -0
  222. package/dist/bin/dist/wizard/generators/theme-renamer.js.map +1 -0
  223. package/dist/bin/dist/wizard/index.d.ts +12 -0
  224. package/dist/bin/dist/wizard/index.d.ts.map +1 -0
  225. package/dist/bin/dist/wizard/index.js +254 -0
  226. package/dist/bin/dist/wizard/index.js.map +1 -0
  227. package/dist/bin/dist/wizard/presets.d.ts +55 -0
  228. package/dist/bin/dist/wizard/presets.d.ts.map +1 -0
  229. package/dist/bin/dist/wizard/presets.js +232 -0
  230. package/dist/bin/dist/wizard/presets.js.map +1 -0
  231. package/dist/bin/dist/wizard/preview.d.ts +15 -0
  232. package/dist/bin/dist/wizard/preview.d.ts.map +1 -0
  233. package/dist/bin/dist/wizard/preview.js +192 -0
  234. package/dist/bin/dist/wizard/preview.js.map +1 -0
  235. package/dist/bin/dist/wizard/prompts/auth-config.d.ts +16 -0
  236. package/dist/bin/dist/wizard/prompts/auth-config.d.ts.map +1 -0
  237. package/dist/bin/dist/wizard/prompts/auth-config.js +78 -0
  238. package/dist/bin/dist/wizard/prompts/auth-config.js.map +1 -0
  239. package/dist/bin/dist/wizard/prompts/billing-config.d.ts +11 -0
  240. package/dist/bin/dist/wizard/prompts/billing-config.d.ts.map +1 -0
  241. package/dist/bin/dist/wizard/prompts/billing-config.js +66 -0
  242. package/dist/bin/dist/wizard/prompts/billing-config.js.map +1 -0
  243. package/dist/bin/dist/wizard/prompts/content-features-config.d.ts +15 -0
  244. package/dist/bin/dist/wizard/prompts/content-features-config.d.ts.map +1 -0
  245. package/dist/bin/dist/wizard/prompts/content-features-config.js +58 -0
  246. package/dist/bin/dist/wizard/prompts/content-features-config.js.map +1 -0
  247. package/dist/bin/dist/wizard/prompts/dashboard-config.d.ts +15 -0
  248. package/dist/bin/dist/wizard/prompts/dashboard-config.d.ts.map +1 -0
  249. package/dist/bin/dist/wizard/prompts/dashboard-config.js +104 -0
  250. package/dist/bin/dist/wizard/prompts/dashboard-config.js.map +1 -0
  251. package/dist/bin/dist/wizard/prompts/demo-install.d.ts +14 -0
  252. package/dist/bin/dist/wizard/prompts/demo-install.d.ts.map +1 -0
  253. package/dist/bin/dist/wizard/prompts/demo-install.js +42 -0
  254. package/dist/bin/dist/wizard/prompts/demo-install.js.map +1 -0
  255. package/dist/bin/dist/wizard/prompts/dev-config.d.ts +15 -0
  256. package/dist/bin/dist/wizard/prompts/dev-config.d.ts.map +1 -0
  257. package/dist/bin/dist/wizard/prompts/dev-config.js +66 -0
  258. package/dist/bin/dist/wizard/prompts/dev-config.js.map +1 -0
  259. package/dist/bin/dist/wizard/prompts/env-config.d.ts +22 -0
  260. package/dist/bin/dist/wizard/prompts/env-config.d.ts.map +1 -0
  261. package/dist/bin/dist/wizard/prompts/env-config.js +65 -0
  262. package/dist/bin/dist/wizard/prompts/env-config.js.map +1 -0
  263. package/dist/bin/dist/wizard/prompts/features-config.d.ts +11 -0
  264. package/dist/bin/dist/wizard/prompts/features-config.d.ts.map +1 -0
  265. package/dist/bin/dist/wizard/prompts/features-config.js +68 -0
  266. package/dist/bin/dist/wizard/prompts/features-config.js.map +1 -0
  267. package/dist/bin/dist/wizard/prompts/git-config.d.ts +22 -0
  268. package/dist/bin/dist/wizard/prompts/git-config.d.ts.map +1 -0
  269. package/dist/bin/dist/wizard/prompts/git-config.js +72 -0
  270. package/dist/bin/dist/wizard/prompts/git-config.js.map +1 -0
  271. package/dist/bin/dist/wizard/prompts/i18n-config.d.ts +11 -0
  272. package/dist/bin/dist/wizard/prompts/i18n-config.d.ts.map +1 -0
  273. package/dist/bin/dist/wizard/prompts/i18n-config.js +55 -0
  274. package/dist/bin/dist/wizard/prompts/i18n-config.js.map +1 -0
  275. package/dist/bin/dist/wizard/prompts/index.d.ts +34 -0
  276. package/dist/bin/dist/wizard/prompts/index.d.ts.map +1 -0
  277. package/dist/bin/dist/wizard/prompts/index.js +126 -0
  278. package/dist/bin/dist/wizard/prompts/index.js.map +1 -0
  279. package/dist/bin/dist/wizard/prompts/project-info.d.ts +11 -0
  280. package/dist/bin/dist/wizard/prompts/project-info.d.ts.map +1 -0
  281. package/dist/bin/dist/wizard/prompts/project-info.js +80 -0
  282. package/dist/bin/dist/wizard/prompts/project-info.js.map +1 -0
  283. package/dist/bin/dist/wizard/prompts/team-config.d.ts +11 -0
  284. package/dist/bin/dist/wizard/prompts/team-config.d.ts.map +1 -0
  285. package/dist/bin/dist/wizard/prompts/team-config.js +77 -0
  286. package/dist/bin/dist/wizard/prompts/team-config.js.map +1 -0
  287. package/dist/bin/dist/wizard/types.d.ts +110 -0
  288. package/dist/bin/dist/wizard/types.d.ts.map +1 -0
  289. package/dist/bin/dist/wizard/types.js +31 -0
  290. package/dist/bin/dist/wizard/types.js.map +1 -0
  291. package/dist/bin/dist/wizard/validators/files.d.ts +26 -0
  292. package/dist/bin/dist/wizard/validators/files.d.ts.map +1 -0
  293. package/dist/bin/dist/wizard/validators/files.js +202 -0
  294. package/dist/bin/dist/wizard/validators/files.js.map +1 -0
  295. package/dist/bin/dist/wizard/validators/i18n.d.ts +24 -0
  296. package/dist/bin/dist/wizard/validators/i18n.d.ts.map +1 -0
  297. package/dist/bin/dist/wizard/validators/i18n.js +318 -0
  298. package/dist/bin/dist/wizard/validators/i18n.js.map +1 -0
  299. package/dist/bin/dist/wizard/validators/index.d.ts +67 -0
  300. package/dist/bin/dist/wizard/validators/index.d.ts.map +1 -0
  301. package/dist/bin/dist/wizard/validators/index.js +64 -0
  302. package/dist/bin/dist/wizard/validators/index.js.map +1 -0
  303. package/dist/bin/dist/wizard/validators/typescript.d.ts +19 -0
  304. package/dist/bin/dist/wizard/validators/typescript.d.ts.map +1 -0
  305. package/dist/bin/dist/wizard/validators/typescript.js +120 -0
  306. package/dist/bin/dist/wizard/validators/typescript.js.map +1 -0
  307. package/dist/bin/doctor/checks/config.ts +123 -0
  308. package/dist/bin/doctor/checks/database.ts +133 -0
  309. package/dist/bin/doctor/checks/dependencies.ts +99 -0
  310. package/dist/bin/doctor/checks/imports.ts +203 -0
  311. package/dist/bin/doctor/index.ts +151 -0
  312. package/dist/bin/init.ts +99 -406
  313. package/dist/bin/test-local.sh +3 -1
  314. package/dist/bin/test-wizard.ts +879 -0
  315. package/dist/bin/tsconfig.json +26 -0
  316. package/dist/bin/wizard/banner.ts +67 -0
  317. package/dist/bin/wizard/generators/config-generator.ts +341 -0
  318. package/dist/bin/wizard/generators/content-features-generator.ts +111 -0
  319. package/dist/bin/wizard/generators/demo-installer.ts +200 -0
  320. package/dist/bin/wizard/generators/env-setup.ts +208 -0
  321. package/dist/bin/wizard/generators/git-init.ts +187 -0
  322. package/dist/bin/wizard/generators/index.ts +271 -0
  323. package/dist/bin/wizard/generators/messages-generator.ts +159 -0
  324. package/dist/bin/wizard/generators/theme-renamer.ts +419 -0
  325. package/dist/bin/wizard/index.ts +288 -0
  326. package/dist/bin/wizard/presets.ts +274 -0
  327. package/dist/bin/wizard/preview.ts +220 -0
  328. package/dist/bin/wizard/prompts/auth-config.ts +93 -0
  329. package/dist/bin/wizard/prompts/billing-config.ts +75 -0
  330. package/dist/bin/wizard/prompts/content-features-config.ts +70 -0
  331. package/dist/bin/wizard/prompts/dashboard-config.ts +117 -0
  332. package/dist/bin/wizard/prompts/demo-install.ts +45 -0
  333. package/dist/bin/wizard/prompts/dev-config.ts +78 -0
  334. package/dist/bin/wizard/prompts/env-config.ts +83 -0
  335. package/dist/bin/wizard/prompts/features-config.ts +75 -0
  336. package/dist/bin/wizard/prompts/git-config.ts +90 -0
  337. package/dist/bin/wizard/prompts/i18n-config.ts +62 -0
  338. package/dist/bin/wizard/prompts/index.ts +173 -0
  339. package/dist/bin/wizard/prompts/project-info.ts +89 -0
  340. package/dist/bin/wizard/prompts/team-config.ts +88 -0
  341. package/dist/bin/wizard/types.ts +150 -0
  342. package/dist/bin/wizard/validators/files.ts +227 -0
  343. package/dist/bin/wizard/validators/i18n.ts +394 -0
  344. package/dist/bin/wizard/validators/index.ts +111 -0
  345. package/dist/bin/wizard/validators/typescript.ts +133 -0
  346. package/dist/components/devtools/scheduled-actions/actions-table.js +1 -1
  347. package/dist/components/devtools/scheduled-actions/filters.js +1 -1
  348. package/dist/hooks/useContentTranslation.d.ts.map +1 -1
  349. package/dist/hooks/useContentTranslation.js +1 -5
  350. package/dist/hooks/useEnsureUserMetadata.d.ts.map +1 -1
  351. package/dist/hooks/useEnsureUserMetadata.js +0 -1
  352. package/dist/hooks/useEntityTranslations.d.ts.map +1 -1
  353. package/dist/hooks/useEntityTranslations.js +10 -12
  354. package/dist/i18n.d.ts.map +1 -1
  355. package/dist/i18n.js +7 -37
  356. package/dist/lib/config/app.config.js +1 -1
  357. package/dist/lib/config/dashboard.config.d.ts +0 -1
  358. package/dist/lib/config/dashboard.config.d.ts.map +1 -1
  359. package/dist/lib/config/dashboard.config.js +0 -1
  360. package/dist/lib/config/nextspark-types.d.ts +1 -1
  361. package/dist/lib/config/nextspark-types.d.ts.map +1 -1
  362. package/dist/lib/i18n-utils.d.ts +1 -5
  363. package/dist/lib/i18n-utils.d.ts.map +1 -1
  364. package/dist/lib/i18n-utils.js +0 -19
  365. package/dist/lib/namespace-loader.d.ts +1 -0
  366. package/dist/lib/namespace-loader.d.ts.map +1 -1
  367. package/dist/lib/namespace-loader.js +14 -18
  368. package/dist/lib/services/translation.service.d.ts +92 -0
  369. package/dist/lib/services/translation.service.d.ts.map +1 -1
  370. package/dist/lib/services/translation.service.js +135 -1
  371. package/dist/lib/test/index.d.ts +4 -4
  372. package/dist/lib/test/index.d.ts.map +1 -1
  373. package/dist/lib/test/index.js +4 -4
  374. package/dist/lib/test/selectors.d.ts +12 -12
  375. package/dist/lib/test/selectors.d.ts.map +1 -1
  376. package/dist/lib/test/selectors.js +2 -2
  377. package/dist/lib/translations/i18n-integration.d.ts +3 -1
  378. package/dist/lib/translations/i18n-integration.d.ts.map +1 -1
  379. package/dist/lib/translations/i18n-integration.js +19 -38
  380. package/dist/lib/translations/registry.d.ts +7 -61
  381. package/dist/lib/translations/registry.d.ts.map +1 -1
  382. package/dist/lib/translations/registry.js +21 -163
  383. package/dist/messages/de/admin.json +219 -0
  384. package/dist/messages/de/auth.json +103 -0
  385. package/dist/messages/de/billing.json +167 -0
  386. package/dist/messages/de/buttons.json +19 -0
  387. package/dist/messages/de/common.json +172 -0
  388. package/dist/messages/de/dashboard.json +41 -0
  389. package/dist/messages/de/devtools.json +285 -0
  390. package/dist/messages/de/docs.json +24 -0
  391. package/dist/messages/de/entities.json +52 -0
  392. package/dist/messages/de/footer.json +23 -0
  393. package/dist/messages/de/home.json +13 -0
  394. package/dist/messages/de/index.d.ts +1934 -0
  395. package/dist/messages/de/index.d.ts.map +1 -0
  396. package/dist/messages/de/index.js +41 -0
  397. package/dist/messages/de/index.ts +39 -0
  398. package/dist/messages/de/navigation.json +11 -0
  399. package/dist/messages/de/permissions.json +27 -0
  400. package/dist/messages/de/public.json +14 -0
  401. package/dist/messages/de/settings.json +404 -0
  402. package/dist/messages/de/superadmin.json +194 -0
  403. package/dist/messages/de/teams.json +140 -0
  404. package/dist/messages/de/validation.json +48 -0
  405. package/dist/messages/en/admin.json +219 -0
  406. package/dist/messages/en/buttons.json +19 -0
  407. package/dist/messages/en/devtools.json +35 -0
  408. package/dist/messages/en/entities.json +52 -0
  409. package/dist/messages/en/index.d.ts +1292 -954
  410. package/dist/messages/en/index.d.ts.map +1 -1
  411. package/dist/messages/en/index.js +22 -16
  412. package/dist/messages/en/index.ts +22 -16
  413. package/dist/messages/en/public.json +14 -1
  414. package/dist/messages/es/admin.json +219 -0
  415. package/dist/messages/es/buttons.json +19 -0
  416. package/dist/messages/es/devtools.json +35 -0
  417. package/dist/messages/es/entities.json +52 -0
  418. package/dist/messages/es/index.d.ts +1292 -954
  419. package/dist/messages/es/index.d.ts.map +1 -1
  420. package/dist/messages/es/index.js +22 -16
  421. package/dist/messages/es/index.ts +22 -16
  422. package/dist/messages/es/public.json +14 -1
  423. package/dist/messages/fr/admin.json +219 -0
  424. package/dist/messages/fr/auth.json +103 -0
  425. package/dist/messages/fr/billing.json +167 -0
  426. package/dist/messages/fr/buttons.json +19 -0
  427. package/dist/messages/fr/common.json +172 -0
  428. package/dist/messages/fr/dashboard.json +41 -0
  429. package/dist/messages/fr/devtools.json +285 -0
  430. package/dist/messages/fr/docs.json +24 -0
  431. package/dist/messages/fr/entities.json +52 -0
  432. package/dist/messages/fr/footer.json +23 -0
  433. package/dist/messages/fr/home.json +13 -0
  434. package/dist/messages/fr/index.d.ts +1934 -0
  435. package/dist/messages/fr/index.d.ts.map +1 -0
  436. package/dist/messages/fr/index.js +41 -0
  437. package/dist/messages/fr/index.ts +39 -0
  438. package/dist/messages/fr/navigation.json +11 -0
  439. package/dist/messages/fr/permissions.json +27 -0
  440. package/dist/messages/fr/public.json +14 -0
  441. package/dist/messages/fr/settings.json +404 -0
  442. package/dist/messages/fr/superadmin.json +194 -0
  443. package/dist/messages/fr/teams.json +140 -0
  444. package/dist/messages/fr/validation.json +48 -0
  445. package/dist/messages/index.d.ts +4 -0
  446. package/dist/messages/index.d.ts.map +1 -1
  447. package/dist/messages/index.js +9 -1
  448. package/dist/messages/index.ts +4 -0
  449. package/dist/messages/it/admin.json +219 -0
  450. package/dist/messages/it/auth.json +103 -0
  451. package/dist/messages/it/billing.json +167 -0
  452. package/dist/messages/it/buttons.json +19 -0
  453. package/dist/messages/it/common.json +172 -0
  454. package/dist/messages/it/dashboard.json +41 -0
  455. package/dist/messages/it/devtools.json +285 -0
  456. package/dist/messages/it/docs.json +24 -0
  457. package/dist/messages/it/entities.json +52 -0
  458. package/dist/messages/it/footer.json +23 -0
  459. package/dist/messages/it/home.json +13 -0
  460. package/dist/messages/it/index.d.ts +1934 -0
  461. package/dist/messages/it/index.d.ts.map +1 -0
  462. package/dist/messages/it/index.js +41 -0
  463. package/dist/messages/it/index.ts +39 -0
  464. package/dist/messages/it/navigation.json +11 -0
  465. package/dist/messages/it/permissions.json +27 -0
  466. package/dist/messages/it/public.json +14 -0
  467. package/dist/messages/it/settings.json +404 -0
  468. package/dist/messages/it/superadmin.json +194 -0
  469. package/dist/messages/it/teams.json +140 -0
  470. package/dist/messages/it/validation.json +48 -0
  471. package/dist/messages/pt/admin.json +219 -0
  472. package/dist/messages/pt/auth.json +103 -0
  473. package/dist/messages/pt/billing.json +167 -0
  474. package/dist/messages/pt/buttons.json +19 -0
  475. package/dist/messages/pt/common.json +172 -0
  476. package/dist/messages/pt/dashboard.json +41 -0
  477. package/dist/messages/pt/devtools.json +285 -0
  478. package/dist/messages/pt/docs.json +24 -0
  479. package/dist/messages/pt/entities.json +52 -0
  480. package/dist/messages/pt/footer.json +23 -0
  481. package/dist/messages/pt/home.json +13 -0
  482. package/dist/messages/pt/index.d.ts +1934 -0
  483. package/dist/messages/pt/index.d.ts.map +1 -0
  484. package/dist/messages/pt/index.js +41 -0
  485. package/dist/messages/pt/index.ts +39 -0
  486. package/dist/messages/pt/navigation.json +11 -0
  487. package/dist/messages/pt/permissions.json +27 -0
  488. package/dist/messages/pt/public.json +14 -0
  489. package/dist/messages/pt/settings.json +404 -0
  490. package/dist/messages/pt/superadmin.json +194 -0
  491. package/dist/messages/pt/teams.json +140 -0
  492. package/dist/messages/pt/validation.json +48 -0
  493. package/dist/presets/plugin/messages/de.json +20 -0
  494. package/dist/presets/plugin/messages/fr.json +20 -0
  495. package/dist/presets/plugin/messages/it.json +20 -0
  496. package/dist/presets/plugin/messages/pt.json +20 -0
  497. package/dist/presets/theme/entities/tasks/messages/de.json +204 -0
  498. package/dist/presets/theme/entities/tasks/messages/fr.json +204 -0
  499. package/dist/presets/theme/entities/tasks/messages/it.json +204 -0
  500. package/dist/presets/theme/entities/tasks/messages/pt.json +204 -0
  501. package/dist/presets/theme/messages/de.json +96 -0
  502. package/dist/presets/theme/messages/fr.json +96 -0
  503. package/dist/presets/theme/messages/it.json +96 -0
  504. package/dist/presets/theme/messages/pt.json +96 -0
  505. package/dist/styles/classes.json +1 -1
  506. package/dist/styles/ui.css +1 -1
  507. package/dist/templates/contents/themes/default/entities/customers/messages/de.json +66 -0
  508. package/dist/templates/contents/themes/default/entities/customers/messages/fr.json +66 -0
  509. package/dist/templates/contents/themes/default/entities/customers/messages/it.json +66 -0
  510. package/dist/templates/contents/themes/default/entities/customers/messages/pt.json +66 -0
  511. package/dist/templates/contents/themes/default/entities/pages/messages/de.json +41 -0
  512. package/dist/templates/contents/themes/default/entities/pages/messages/fr.json +41 -0
  513. package/dist/templates/contents/themes/default/entities/pages/messages/it.json +41 -0
  514. package/dist/templates/contents/themes/default/entities/pages/messages/pt.json +41 -0
  515. package/dist/templates/contents/themes/default/entities/posts/messages/de.json +55 -0
  516. package/dist/templates/contents/themes/default/entities/posts/messages/fr.json +55 -0
  517. package/dist/templates/contents/themes/default/entities/posts/messages/it.json +55 -0
  518. package/dist/templates/contents/themes/default/entities/posts/messages/pt.json +55 -0
  519. package/dist/templates/contents/themes/default/entities/tasks/messages/de.json +204 -0
  520. package/dist/templates/contents/themes/default/entities/tasks/messages/fr.json +204 -0
  521. package/dist/templates/contents/themes/default/entities/tasks/messages/it.json +204 -0
  522. package/dist/templates/contents/themes/default/entities/tasks/messages/pt.json +204 -0
  523. package/dist/templates/contents/themes/default/messages/de/admin.json +219 -0
  524. package/dist/templates/contents/themes/default/messages/de/aiUsage.json +36 -0
  525. package/dist/templates/contents/themes/default/messages/de/buttons.json +19 -0
  526. package/dist/templates/contents/themes/default/messages/de/categories.json +35 -0
  527. package/dist/templates/contents/themes/default/messages/de/common.json +16 -0
  528. package/dist/templates/contents/themes/default/messages/de/dev.json +106 -0
  529. package/dist/templates/contents/themes/default/messages/de/docs.json +27 -0
  530. package/dist/templates/contents/themes/default/messages/de/entities.json +7 -0
  531. package/dist/templates/contents/themes/default/messages/de/features.json +119 -0
  532. package/dist/templates/contents/themes/default/messages/de/footer.json +22 -0
  533. package/dist/templates/contents/themes/default/messages/de/home.json +57 -0
  534. package/dist/templates/contents/themes/default/messages/de/index.ts +39 -0
  535. package/dist/templates/contents/themes/default/messages/de/mobileNav.json +13 -0
  536. package/dist/templates/contents/themes/default/messages/de/navigation.json +8 -0
  537. package/dist/templates/contents/themes/default/messages/de/observability.json +74 -0
  538. package/dist/templates/contents/themes/default/messages/de/posts.json +54 -0
  539. package/dist/templates/contents/themes/default/messages/de/pricing.json +102 -0
  540. package/dist/templates/contents/themes/default/messages/de/support.json +9 -0
  541. package/dist/templates/contents/themes/default/messages/de/teams.json +8 -0
  542. package/dist/templates/contents/themes/default/messages/es/admin.json +219 -0
  543. package/dist/templates/contents/themes/default/messages/es/aiUsage.json +36 -0
  544. package/dist/templates/contents/themes/default/messages/es/buttons.json +19 -0
  545. package/dist/templates/contents/themes/default/messages/es/categories.json +35 -0
  546. package/dist/templates/contents/themes/default/messages/es/common.json +16 -0
  547. package/dist/templates/contents/themes/default/messages/es/dev.json +101 -0
  548. package/dist/templates/contents/themes/default/messages/es/docs.json +27 -0
  549. package/dist/templates/contents/themes/default/messages/es/entities.json +7 -0
  550. package/dist/templates/contents/themes/default/messages/es/features.json +119 -0
  551. package/dist/templates/contents/themes/default/messages/es/footer.json +22 -0
  552. package/dist/templates/contents/themes/default/messages/es/home.json +57 -0
  553. package/dist/templates/contents/themes/default/messages/es/index.ts +39 -0
  554. package/dist/templates/contents/themes/default/messages/es/mobileNav.json +13 -0
  555. package/dist/templates/contents/themes/default/messages/es/navigation.json +8 -0
  556. package/dist/templates/contents/themes/default/messages/es/observability.json +74 -0
  557. package/dist/templates/contents/themes/default/messages/es/posts.json +54 -0
  558. package/dist/templates/contents/themes/default/messages/es/pricing.json +102 -0
  559. package/dist/templates/contents/themes/default/messages/es/support.json +9 -0
  560. package/dist/templates/contents/themes/default/messages/es/teams.json +8 -0
  561. package/dist/templates/contents/themes/default/messages/fr/admin.json +219 -0
  562. package/dist/templates/contents/themes/default/messages/fr/aiUsage.json +36 -0
  563. package/dist/templates/contents/themes/default/messages/fr/buttons.json +19 -0
  564. package/dist/templates/contents/themes/default/messages/fr/categories.json +35 -0
  565. package/dist/templates/contents/themes/default/messages/fr/common.json +16 -0
  566. package/dist/templates/contents/themes/default/messages/fr/dev.json +106 -0
  567. package/dist/templates/contents/themes/default/messages/fr/docs.json +27 -0
  568. package/dist/templates/contents/themes/default/messages/fr/entities.json +7 -0
  569. package/dist/templates/contents/themes/default/messages/fr/features.json +119 -0
  570. package/dist/templates/contents/themes/default/messages/fr/footer.json +22 -0
  571. package/dist/templates/contents/themes/default/messages/fr/home.json +57 -0
  572. package/dist/templates/contents/themes/default/messages/fr/index.ts +39 -0
  573. package/dist/templates/contents/themes/default/messages/fr/mobileNav.json +13 -0
  574. package/dist/templates/contents/themes/default/messages/fr/navigation.json +8 -0
  575. package/dist/templates/contents/themes/default/messages/fr/observability.json +74 -0
  576. package/dist/templates/contents/themes/default/messages/fr/posts.json +54 -0
  577. package/dist/templates/contents/themes/default/messages/fr/pricing.json +102 -0
  578. package/dist/templates/contents/themes/default/messages/fr/support.json +9 -0
  579. package/dist/templates/contents/themes/default/messages/fr/teams.json +8 -0
  580. package/dist/templates/contents/themes/default/messages/it/admin.json +219 -0
  581. package/dist/templates/contents/themes/default/messages/it/aiUsage.json +36 -0
  582. package/dist/templates/contents/themes/default/messages/it/buttons.json +19 -0
  583. package/dist/templates/contents/themes/default/messages/it/categories.json +35 -0
  584. package/dist/templates/contents/themes/default/messages/it/common.json +16 -0
  585. package/dist/templates/contents/themes/default/messages/it/dev.json +106 -0
  586. package/dist/templates/contents/themes/default/messages/it/docs.json +27 -0
  587. package/dist/templates/contents/themes/default/messages/it/entities.json +7 -0
  588. package/dist/templates/contents/themes/default/messages/it/features.json +119 -0
  589. package/dist/templates/contents/themes/default/messages/it/footer.json +22 -0
  590. package/dist/templates/contents/themes/default/messages/it/home.json +57 -0
  591. package/dist/templates/contents/themes/default/messages/it/index.ts +39 -0
  592. package/dist/templates/contents/themes/default/messages/it/mobileNav.json +13 -0
  593. package/dist/templates/contents/themes/default/messages/it/navigation.json +8 -0
  594. package/dist/templates/contents/themes/default/messages/it/observability.json +74 -0
  595. package/dist/templates/contents/themes/default/messages/it/posts.json +54 -0
  596. package/dist/templates/contents/themes/default/messages/it/pricing.json +102 -0
  597. package/dist/templates/contents/themes/default/messages/it/support.json +9 -0
  598. package/dist/templates/contents/themes/default/messages/it/teams.json +8 -0
  599. package/dist/templates/contents/themes/default/messages/pt/admin.json +219 -0
  600. package/dist/templates/contents/themes/default/messages/pt/aiUsage.json +36 -0
  601. package/dist/templates/contents/themes/default/messages/pt/buttons.json +19 -0
  602. package/dist/templates/contents/themes/default/messages/pt/categories.json +35 -0
  603. package/dist/templates/contents/themes/default/messages/pt/common.json +16 -0
  604. package/dist/templates/contents/themes/default/messages/pt/dev.json +106 -0
  605. package/dist/templates/contents/themes/default/messages/pt/docs.json +27 -0
  606. package/dist/templates/contents/themes/default/messages/pt/entities.json +7 -0
  607. package/dist/templates/contents/themes/default/messages/pt/features.json +119 -0
  608. package/dist/templates/contents/themes/default/messages/pt/footer.json +22 -0
  609. package/dist/templates/contents/themes/default/messages/pt/home.json +57 -0
  610. package/dist/templates/contents/themes/default/messages/pt/index.ts +39 -0
  611. package/dist/templates/contents/themes/default/messages/pt/mobileNav.json +13 -0
  612. package/dist/templates/contents/themes/default/messages/pt/navigation.json +8 -0
  613. package/dist/templates/contents/themes/default/messages/pt/observability.json +74 -0
  614. package/dist/templates/contents/themes/default/messages/pt/posts.json +54 -0
  615. package/dist/templates/contents/themes/default/messages/pt/pricing.json +102 -0
  616. package/dist/templates/contents/themes/default/messages/pt/support.json +9 -0
  617. package/dist/templates/contents/themes/default/messages/pt/teams.json +8 -0
  618. package/dist/templates/contents/themes/starter/README.md +35 -0
  619. package/dist/templates/contents/themes/starter/about/business.md +16 -0
  620. package/dist/templates/contents/themes/starter/about/features.json +28 -0
  621. package/dist/templates/contents/themes/starter/blocks/hero/component.tsx +112 -0
  622. package/dist/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
  623. package/dist/templates/contents/themes/starter/blocks/hero/fields.ts +74 -0
  624. package/dist/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
  625. package/dist/templates/contents/themes/starter/blocks/hero/schema.ts +34 -0
  626. package/dist/templates/contents/themes/starter/config/app.config.ts +193 -0
  627. package/dist/templates/contents/themes/starter/config/billing.config.ts +93 -0
  628. package/dist/templates/contents/themes/starter/config/dashboard.config.ts +419 -0
  629. package/dist/templates/contents/themes/starter/config/dev.config.ts +74 -0
  630. package/dist/templates/contents/themes/starter/config/permissions.config.ts +64 -0
  631. package/dist/templates/contents/themes/starter/config/theme.config.ts +83 -0
  632. package/dist/templates/contents/themes/starter/docs/01-overview/01-introduction.md +33 -0
  633. package/dist/templates/contents/themes/starter/docs/01-overview/02-customization.md +46 -0
  634. package/dist/templates/contents/themes/starter/entities/tasks/messages/de.json +263 -0
  635. package/dist/templates/contents/themes/starter/entities/tasks/messages/en.json +263 -0
  636. package/dist/templates/contents/themes/starter/entities/tasks/messages/es.json +263 -0
  637. package/dist/templates/contents/themes/starter/entities/tasks/messages/fr.json +263 -0
  638. package/dist/templates/contents/themes/starter/entities/tasks/messages/it.json +263 -0
  639. package/dist/templates/contents/themes/starter/entities/tasks/messages/pt.json +263 -0
  640. package/dist/templates/contents/themes/starter/entities/tasks/migrations/001_tasks_table.sql +104 -0
  641. package/dist/templates/contents/themes/starter/entities/tasks/migrations/002_task_metas.sql +84 -0
  642. package/dist/templates/contents/themes/starter/entities/tasks/migrations/003_tasks_sample_data.sql +172 -0
  643. package/dist/templates/contents/themes/starter/entities/tasks/tasks.config.ts +131 -0
  644. package/dist/templates/contents/themes/starter/entities/tasks/tasks.fields.ts +188 -0
  645. package/dist/templates/contents/themes/starter/entities/tasks/tasks.service.ts +390 -0
  646. package/dist/templates/contents/themes/starter/entities/tasks/tasks.types.ts +82 -0
  647. package/dist/templates/contents/themes/starter/lib/hooks/index.ts +1 -0
  648. package/dist/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +57 -0
  649. package/dist/templates/contents/themes/starter/lib/index.ts +8 -0
  650. package/dist/templates/contents/themes/starter/lib/selectors.ts +94 -0
  651. package/dist/templates/contents/themes/starter/lib/utils.ts +154 -0
  652. package/dist/templates/contents/themes/starter/messages/de/analytics.json +39 -0
  653. package/dist/templates/contents/themes/starter/messages/de/common.json +33 -0
  654. package/dist/templates/contents/themes/starter/messages/de/home.json +30 -0
  655. package/dist/templates/contents/themes/starter/messages/de/navigation.json +16 -0
  656. package/dist/templates/contents/themes/starter/messages/en/analytics.json +39 -0
  657. package/dist/templates/contents/themes/starter/messages/en/common.json +33 -0
  658. package/dist/templates/contents/themes/starter/messages/en/home.json +30 -0
  659. package/dist/templates/contents/themes/starter/messages/en/navigation.json +16 -0
  660. package/dist/templates/contents/themes/starter/messages/es/analytics.json +39 -0
  661. package/dist/templates/contents/themes/starter/messages/es/common.json +33 -0
  662. package/dist/templates/contents/themes/starter/messages/es/home.json +30 -0
  663. package/dist/templates/contents/themes/starter/messages/es/navigation.json +16 -0
  664. package/dist/templates/contents/themes/starter/messages/fr/analytics.json +39 -0
  665. package/dist/templates/contents/themes/starter/messages/fr/common.json +33 -0
  666. package/dist/templates/contents/themes/starter/messages/fr/home.json +30 -0
  667. package/dist/templates/contents/themes/starter/messages/fr/navigation.json +16 -0
  668. package/dist/templates/contents/themes/starter/messages/it/analytics.json +39 -0
  669. package/dist/templates/contents/themes/starter/messages/it/common.json +33 -0
  670. package/dist/templates/contents/themes/starter/messages/it/home.json +30 -0
  671. package/dist/templates/contents/themes/starter/messages/it/navigation.json +16 -0
  672. package/dist/templates/contents/themes/starter/messages/pt/analytics.json +39 -0
  673. package/dist/templates/contents/themes/starter/messages/pt/common.json +33 -0
  674. package/dist/templates/contents/themes/starter/messages/pt/home.json +30 -0
  675. package/dist/templates/contents/themes/starter/messages/pt/navigation.json +16 -0
  676. package/dist/templates/contents/themes/starter/migrations/001_starter_users.sql +17 -0
  677. package/dist/templates/contents/themes/starter/migrations/README.md +19 -0
  678. package/dist/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
  679. package/dist/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +1 -0
  680. package/dist/templates/contents/themes/starter/styles/components.css +16 -0
  681. package/dist/templates/contents/themes/starter/styles/globals.css +20 -0
  682. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/_hooks/useAnalyticsData.ts +41 -0
  683. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/RecentActivity.tsx +78 -0
  684. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/StatsCard.tsx +58 -0
  685. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/components/TasksChart.tsx +80 -0
  686. package/dist/templates/contents/themes/starter/templates/(dashboard)/analytics/page.tsx +45 -0
  687. package/dist/templates/contents/themes/starter/templates/(public)/layout.tsx +15 -0
  688. package/dist/templates/contents/themes/starter/templates/(public)/page.tsx +37 -0
  689. package/dist/templates/contents/themes/starter/templates/(public)/support/page.tsx +14 -0
  690. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/TaskAPIController.js +240 -0
  691. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/TasksPOM.ts +246 -0
  692. package/dist/templates/contents/themes/starter/tests/cypress/e2e/tasks/tasks-crud.cy.ts +423 -0
  693. package/dist/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +63 -0
  694. package/dist/templates/contents/themes/starter/tests/cypress/src/controllers/BaseAPIController.js +317 -0
  695. package/dist/templates/contents/themes/starter/tests/cypress/src/controllers/index.js +12 -0
  696. package/dist/templates/contents/themes/starter/tests/cypress/src/core/AuthPOM.ts +464 -0
  697. package/dist/templates/contents/themes/starter/tests/cypress/src/core/BasePOM.ts +130 -0
  698. package/dist/templates/contents/themes/starter/tests/cypress/src/core/DashboardEntityPOM.ts +761 -0
  699. package/dist/templates/contents/themes/starter/tests/cypress/src/core/index.ts +12 -0
  700. package/dist/templates/contents/themes/starter/tests/cypress/src/helpers/ApiInterceptor.ts +170 -0
  701. package/dist/templates/contents/themes/starter/tests/cypress/src/selectors.ts +155 -0
  702. package/dist/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +255 -0
  703. package/dist/templates/contents/themes/starter/tests/cypress/support/commands.ts +192 -0
  704. package/dist/templates/contents/themes/starter/tests/cypress/support/doc-commands.ts +260 -0
  705. package/dist/templates/contents/themes/starter/tests/cypress/support/e2e.ts +21 -0
  706. package/dist/templates/contents/themes/starter/tests/cypress.config.ts +155 -0
  707. package/dist/templates/contents/themes/starter/tests/tsconfig.json +15 -0
  708. package/dist/templates/eslint.config.mjs +16 -0
  709. package/dist/templates/features/blog/blocks/post-content/component.tsx +197 -0
  710. package/dist/templates/features/blog/blocks/post-content/config.ts +11 -0
  711. package/dist/templates/features/blog/blocks/post-content/examples.ts +33 -0
  712. package/dist/templates/features/blog/blocks/post-content/fields.ts +165 -0
  713. package/dist/templates/features/blog/blocks/post-content/index.ts +4 -0
  714. package/dist/templates/features/blog/blocks/post-content/schema.ts +46 -0
  715. package/dist/templates/features/blog/entities/posts/components/post-header.tsx +97 -0
  716. package/dist/templates/features/blog/entities/posts/messages/en.json +55 -0
  717. package/dist/templates/features/blog/entities/posts/messages/es.json +55 -0
  718. package/dist/templates/features/blog/entities/posts/migrations/001_posts_table.sql +115 -0
  719. package/dist/templates/features/blog/entities/posts/migrations/003_add_status.sql +44 -0
  720. package/dist/templates/features/blog/entities/posts/migrations/004_entity_taxonomy_relations.sql +129 -0
  721. package/dist/templates/features/blog/entities/posts/migrations/006_posts_metas.sql +56 -0
  722. package/dist/templates/features/blog/entities/posts/posts.config.ts +112 -0
  723. package/dist/templates/features/blog/entities/posts/posts.fields.ts +116 -0
  724. package/dist/templates/features/blog/entities/posts/posts.service.ts +376 -0
  725. package/dist/templates/features/blog/entities/posts/posts.types.ts +74 -0
  726. package/dist/templates/features/pages/entities/pages/messages/en.json +41 -0
  727. package/dist/templates/features/pages/entities/pages/messages/es.json +41 -0
  728. package/dist/templates/features/pages/entities/pages/migrations/001_pages_table.sql +112 -0
  729. package/dist/templates/features/pages/entities/pages/migrations/002_pages_metas.sql +56 -0
  730. package/dist/templates/features/pages/entities/pages/migrations/003_add_status.sql +50 -0
  731. package/dist/templates/features/pages/entities/pages/pages-management.service.ts +610 -0
  732. package/dist/templates/features/pages/entities/pages/pages.config.ts +105 -0
  733. package/dist/templates/features/pages/entities/pages/pages.fields.ts +101 -0
  734. package/dist/templates/features/pages/entities/pages/pages.service.ts +290 -0
  735. package/dist/templates/features/pages/entities/pages/pages.types.ts +124 -0
  736. package/package.json +33 -2
  737. package/scripts/build/registry/generators/translation-registry.mjs +135 -18
  738. package/templates/contents/themes/default/entities/customers/messages/de.json +66 -0
  739. package/templates/contents/themes/default/entities/customers/messages/fr.json +66 -0
  740. package/templates/contents/themes/default/entities/customers/messages/it.json +66 -0
  741. package/templates/contents/themes/default/entities/customers/messages/pt.json +66 -0
  742. package/templates/contents/themes/default/entities/pages/messages/de.json +41 -0
  743. package/templates/contents/themes/default/entities/pages/messages/fr.json +41 -0
  744. package/templates/contents/themes/default/entities/pages/messages/it.json +41 -0
  745. package/templates/contents/themes/default/entities/pages/messages/pt.json +41 -0
  746. package/templates/contents/themes/default/entities/posts/messages/de.json +55 -0
  747. package/templates/contents/themes/default/entities/posts/messages/fr.json +55 -0
  748. package/templates/contents/themes/default/entities/posts/messages/it.json +55 -0
  749. package/templates/contents/themes/default/entities/posts/messages/pt.json +55 -0
  750. package/templates/contents/themes/default/entities/tasks/messages/de.json +204 -0
  751. package/templates/contents/themes/default/entities/tasks/messages/fr.json +204 -0
  752. package/templates/contents/themes/default/entities/tasks/messages/it.json +204 -0
  753. package/templates/contents/themes/default/entities/tasks/messages/pt.json +204 -0
  754. package/templates/contents/themes/default/messages/de/admin.json +219 -0
  755. package/templates/contents/themes/default/messages/de/aiUsage.json +36 -0
  756. package/templates/contents/themes/default/messages/de/buttons.json +19 -0
  757. package/templates/contents/themes/default/messages/de/categories.json +35 -0
  758. package/templates/contents/themes/default/messages/de/common.json +16 -0
  759. package/templates/contents/themes/default/messages/de/dev.json +106 -0
  760. package/templates/contents/themes/default/messages/de/docs.json +27 -0
  761. package/templates/contents/themes/default/messages/de/entities.json +7 -0
  762. package/templates/contents/themes/default/messages/de/features.json +119 -0
  763. package/templates/contents/themes/default/messages/de/footer.json +22 -0
  764. package/templates/contents/themes/default/messages/de/home.json +57 -0
  765. package/templates/contents/themes/default/messages/de/index.ts +39 -0
  766. package/templates/contents/themes/default/messages/de/mobileNav.json +13 -0
  767. package/templates/contents/themes/default/messages/de/navigation.json +8 -0
  768. package/templates/contents/themes/default/messages/de/observability.json +74 -0
  769. package/templates/contents/themes/default/messages/de/posts.json +54 -0
  770. package/templates/contents/themes/default/messages/de/pricing.json +102 -0
  771. package/templates/contents/themes/default/messages/de/support.json +9 -0
  772. package/templates/contents/themes/default/messages/de/teams.json +8 -0
  773. package/templates/contents/themes/default/messages/es/admin.json +219 -0
  774. package/templates/contents/themes/default/messages/es/aiUsage.json +36 -0
  775. package/templates/contents/themes/default/messages/es/buttons.json +19 -0
  776. package/templates/contents/themes/default/messages/es/categories.json +35 -0
  777. package/templates/contents/themes/default/messages/es/common.json +16 -0
  778. package/templates/contents/themes/default/messages/es/dev.json +101 -0
  779. package/templates/contents/themes/default/messages/es/docs.json +27 -0
  780. package/templates/contents/themes/default/messages/es/entities.json +7 -0
  781. package/templates/contents/themes/default/messages/es/features.json +119 -0
  782. package/templates/contents/themes/default/messages/es/footer.json +22 -0
  783. package/templates/contents/themes/default/messages/es/home.json +57 -0
  784. package/templates/contents/themes/default/messages/es/index.ts +39 -0
  785. package/templates/contents/themes/default/messages/es/mobileNav.json +13 -0
  786. package/templates/contents/themes/default/messages/es/navigation.json +8 -0
  787. package/templates/contents/themes/default/messages/es/observability.json +74 -0
  788. package/templates/contents/themes/default/messages/es/posts.json +54 -0
  789. package/templates/contents/themes/default/messages/es/pricing.json +102 -0
  790. package/templates/contents/themes/default/messages/es/support.json +9 -0
  791. package/templates/contents/themes/default/messages/es/teams.json +8 -0
  792. package/templates/contents/themes/default/messages/fr/admin.json +219 -0
  793. package/templates/contents/themes/default/messages/fr/aiUsage.json +36 -0
  794. package/templates/contents/themes/default/messages/fr/buttons.json +19 -0
  795. package/templates/contents/themes/default/messages/fr/categories.json +35 -0
  796. package/templates/contents/themes/default/messages/fr/common.json +16 -0
  797. package/templates/contents/themes/default/messages/fr/dev.json +106 -0
  798. package/templates/contents/themes/default/messages/fr/docs.json +27 -0
  799. package/templates/contents/themes/default/messages/fr/entities.json +7 -0
  800. package/templates/contents/themes/default/messages/fr/features.json +119 -0
  801. package/templates/contents/themes/default/messages/fr/footer.json +22 -0
  802. package/templates/contents/themes/default/messages/fr/home.json +57 -0
  803. package/templates/contents/themes/default/messages/fr/index.ts +39 -0
  804. package/templates/contents/themes/default/messages/fr/mobileNav.json +13 -0
  805. package/templates/contents/themes/default/messages/fr/navigation.json +8 -0
  806. package/templates/contents/themes/default/messages/fr/observability.json +74 -0
  807. package/templates/contents/themes/default/messages/fr/posts.json +54 -0
  808. package/templates/contents/themes/default/messages/fr/pricing.json +102 -0
  809. package/templates/contents/themes/default/messages/fr/support.json +9 -0
  810. package/templates/contents/themes/default/messages/fr/teams.json +8 -0
  811. package/templates/contents/themes/default/messages/it/admin.json +219 -0
  812. package/templates/contents/themes/default/messages/it/aiUsage.json +36 -0
  813. package/templates/contents/themes/default/messages/it/buttons.json +19 -0
  814. package/templates/contents/themes/default/messages/it/categories.json +35 -0
  815. package/templates/contents/themes/default/messages/it/common.json +16 -0
  816. package/templates/contents/themes/default/messages/it/dev.json +106 -0
  817. package/templates/contents/themes/default/messages/it/docs.json +27 -0
  818. package/templates/contents/themes/default/messages/it/entities.json +7 -0
  819. package/templates/contents/themes/default/messages/it/features.json +119 -0
  820. package/templates/contents/themes/default/messages/it/footer.json +22 -0
  821. package/templates/contents/themes/default/messages/it/home.json +57 -0
  822. package/templates/contents/themes/default/messages/it/index.ts +39 -0
  823. package/templates/contents/themes/default/messages/it/mobileNav.json +13 -0
  824. package/templates/contents/themes/default/messages/it/navigation.json +8 -0
  825. package/templates/contents/themes/default/messages/it/observability.json +74 -0
  826. package/templates/contents/themes/default/messages/it/posts.json +54 -0
  827. package/templates/contents/themes/default/messages/it/pricing.json +102 -0
  828. package/templates/contents/themes/default/messages/it/support.json +9 -0
  829. package/templates/contents/themes/default/messages/it/teams.json +8 -0
  830. package/templates/contents/themes/default/messages/pt/admin.json +219 -0
  831. package/templates/contents/themes/default/messages/pt/aiUsage.json +36 -0
  832. package/templates/contents/themes/default/messages/pt/buttons.json +19 -0
  833. package/templates/contents/themes/default/messages/pt/categories.json +35 -0
  834. package/templates/contents/themes/default/messages/pt/common.json +16 -0
  835. package/templates/contents/themes/default/messages/pt/dev.json +106 -0
  836. package/templates/contents/themes/default/messages/pt/docs.json +27 -0
  837. package/templates/contents/themes/default/messages/pt/entities.json +7 -0
  838. package/templates/contents/themes/default/messages/pt/features.json +119 -0
  839. package/templates/contents/themes/default/messages/pt/footer.json +22 -0
  840. package/templates/contents/themes/default/messages/pt/home.json +57 -0
  841. package/templates/contents/themes/default/messages/pt/index.ts +39 -0
  842. package/templates/contents/themes/default/messages/pt/mobileNav.json +13 -0
  843. package/templates/contents/themes/default/messages/pt/navigation.json +8 -0
  844. package/templates/contents/themes/default/messages/pt/observability.json +74 -0
  845. package/templates/contents/themes/default/messages/pt/posts.json +54 -0
  846. package/templates/contents/themes/default/messages/pt/pricing.json +102 -0
  847. package/templates/contents/themes/default/messages/pt/support.json +9 -0
  848. package/templates/contents/themes/default/messages/pt/teams.json +8 -0
  849. package/templates/contents/themes/starter/README.md +35 -0
  850. package/templates/contents/themes/starter/about/business.md +16 -0
  851. package/templates/contents/themes/starter/about/features.json +28 -0
  852. package/templates/contents/themes/starter/blocks/hero/component.tsx +112 -0
  853. package/templates/contents/themes/starter/blocks/hero/config.ts +11 -0
  854. package/templates/contents/themes/starter/blocks/hero/fields.ts +74 -0
  855. package/templates/contents/themes/starter/blocks/hero/index.ts +6 -0
  856. package/templates/contents/themes/starter/blocks/hero/schema.ts +34 -0
  857. package/templates/contents/themes/starter/config/app.config.ts +193 -0
  858. package/templates/contents/themes/starter/config/billing.config.ts +93 -0
  859. package/templates/contents/themes/starter/config/dashboard.config.ts +419 -0
  860. package/templates/contents/themes/starter/config/dev.config.ts +74 -0
  861. package/templates/contents/themes/starter/config/permissions.config.ts +64 -0
  862. package/templates/contents/themes/starter/config/theme.config.ts +83 -0
  863. package/templates/contents/themes/starter/docs/01-overview/01-introduction.md +33 -0
  864. package/templates/contents/themes/starter/docs/01-overview/02-customization.md +46 -0
  865. package/templates/contents/themes/starter/entities/tasks/messages/de.json +263 -0
  866. package/templates/contents/themes/starter/entities/tasks/messages/en.json +263 -0
  867. package/templates/contents/themes/starter/entities/tasks/messages/es.json +263 -0
  868. package/templates/contents/themes/starter/entities/tasks/messages/fr.json +263 -0
  869. package/templates/contents/themes/starter/entities/tasks/messages/it.json +263 -0
  870. package/templates/contents/themes/starter/entities/tasks/messages/pt.json +263 -0
  871. package/templates/contents/themes/starter/entities/tasks/migrations/001_tasks_table.sql +104 -0
  872. package/templates/contents/themes/starter/entities/tasks/migrations/002_task_metas.sql +84 -0
  873. package/templates/contents/themes/starter/entities/tasks/migrations/003_tasks_sample_data.sql +172 -0
  874. package/templates/contents/themes/starter/entities/tasks/tasks.config.ts +131 -0
  875. package/templates/contents/themes/starter/entities/tasks/tasks.fields.ts +188 -0
  876. package/templates/contents/themes/starter/entities/tasks/tasks.service.ts +390 -0
  877. package/templates/contents/themes/starter/entities/tasks/tasks.types.ts +82 -0
  878. package/templates/contents/themes/starter/lib/hooks/index.ts +1 -0
  879. package/templates/contents/themes/starter/lib/hooks/useTaskStats.ts +57 -0
  880. package/templates/contents/themes/starter/lib/index.ts +8 -0
  881. package/templates/contents/themes/starter/lib/selectors.ts +94 -0
  882. package/templates/contents/themes/starter/lib/utils.ts +154 -0
  883. package/templates/contents/themes/starter/messages/de/analytics.json +39 -0
  884. package/templates/contents/themes/starter/messages/de/common.json +33 -0
  885. package/templates/contents/themes/starter/messages/de/home.json +30 -0
  886. package/templates/contents/themes/starter/messages/de/navigation.json +16 -0
  887. package/templates/contents/themes/starter/messages/en/analytics.json +39 -0
  888. package/templates/contents/themes/starter/messages/en/common.json +33 -0
  889. package/templates/contents/themes/starter/messages/en/home.json +30 -0
  890. package/templates/contents/themes/starter/messages/en/navigation.json +16 -0
  891. package/templates/contents/themes/starter/messages/es/analytics.json +39 -0
  892. package/templates/contents/themes/starter/messages/es/common.json +33 -0
  893. package/templates/contents/themes/starter/messages/es/home.json +30 -0
  894. package/templates/contents/themes/starter/messages/es/navigation.json +16 -0
  895. package/templates/contents/themes/starter/messages/fr/analytics.json +39 -0
  896. package/templates/contents/themes/starter/messages/fr/common.json +33 -0
  897. package/templates/contents/themes/starter/messages/fr/home.json +30 -0
  898. package/templates/contents/themes/starter/messages/fr/navigation.json +16 -0
  899. package/templates/contents/themes/starter/messages/it/analytics.json +39 -0
  900. package/templates/contents/themes/starter/messages/it/common.json +33 -0
  901. package/templates/contents/themes/starter/messages/it/home.json +30 -0
  902. package/templates/contents/themes/starter/messages/it/navigation.json +16 -0
  903. package/templates/contents/themes/starter/messages/pt/analytics.json +39 -0
  904. package/templates/contents/themes/starter/messages/pt/common.json +33 -0
  905. package/templates/contents/themes/starter/messages/pt/home.json +30 -0
  906. package/templates/contents/themes/starter/messages/pt/navigation.json +16 -0
  907. package/templates/contents/themes/starter/migrations/001_starter_users.sql +17 -0
  908. package/templates/contents/themes/starter/migrations/README.md +19 -0
  909. package/templates/contents/themes/starter/public/brand/.gitkeep +0 -0
  910. package/templates/contents/themes/starter/public/theme/blocks/hero/thumbnail.png +1 -0
  911. package/templates/contents/themes/starter/styles/components.css +16 -0
  912. package/templates/contents/themes/starter/styles/globals.css +20 -0
  913. package/templates/contents/themes/starter/templates/(dashboard)/analytics/_hooks/useAnalyticsData.ts +41 -0
  914. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/RecentActivity.tsx +78 -0
  915. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/StatsCard.tsx +58 -0
  916. package/templates/contents/themes/starter/templates/(dashboard)/analytics/components/TasksChart.tsx +80 -0
  917. package/templates/contents/themes/starter/templates/(dashboard)/analytics/page.tsx +45 -0
  918. package/templates/contents/themes/starter/templates/(public)/layout.tsx +15 -0
  919. package/templates/contents/themes/starter/templates/(public)/page.tsx +37 -0
  920. package/templates/contents/themes/starter/templates/(public)/support/page.tsx +14 -0
  921. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/TaskAPIController.js +240 -0
  922. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/TasksPOM.ts +246 -0
  923. package/templates/contents/themes/starter/tests/cypress/e2e/tasks/tasks-crud.cy.ts +423 -0
  924. package/templates/contents/themes/starter/tests/cypress/fixtures/entities.json +63 -0
  925. package/templates/contents/themes/starter/tests/cypress/src/controllers/BaseAPIController.js +317 -0
  926. package/templates/contents/themes/starter/tests/cypress/src/controllers/index.js +12 -0
  927. package/templates/contents/themes/starter/tests/cypress/src/core/AuthPOM.ts +464 -0
  928. package/templates/contents/themes/starter/tests/cypress/src/core/BasePOM.ts +130 -0
  929. package/templates/contents/themes/starter/tests/cypress/src/core/DashboardEntityPOM.ts +761 -0
  930. package/templates/contents/themes/starter/tests/cypress/src/core/index.ts +12 -0
  931. package/templates/contents/themes/starter/tests/cypress/src/helpers/ApiInterceptor.ts +170 -0
  932. package/templates/contents/themes/starter/tests/cypress/src/selectors.ts +155 -0
  933. package/templates/contents/themes/starter/tests/cypress/src/session-helpers.ts +255 -0
  934. package/templates/contents/themes/starter/tests/cypress/support/commands.ts +192 -0
  935. package/templates/contents/themes/starter/tests/cypress/support/doc-commands.ts +260 -0
  936. package/templates/contents/themes/starter/tests/cypress/support/e2e.ts +21 -0
  937. package/templates/contents/themes/starter/tests/cypress.config.ts +155 -0
  938. package/templates/contents/themes/starter/tests/tsconfig.json +15 -0
  939. package/templates/eslint.config.mjs +16 -0
  940. package/templates/features/blog/blocks/post-content/component.tsx +197 -0
  941. package/templates/features/blog/blocks/post-content/config.ts +11 -0
  942. package/templates/features/blog/blocks/post-content/examples.ts +33 -0
  943. package/templates/features/blog/blocks/post-content/fields.ts +165 -0
  944. package/templates/features/blog/blocks/post-content/index.ts +4 -0
  945. package/templates/features/blog/blocks/post-content/schema.ts +46 -0
  946. package/templates/features/blog/entities/posts/components/post-header.tsx +97 -0
  947. package/templates/features/blog/entities/posts/messages/en.json +55 -0
  948. package/templates/features/blog/entities/posts/messages/es.json +55 -0
  949. package/templates/features/blog/entities/posts/migrations/001_posts_table.sql +115 -0
  950. package/templates/features/blog/entities/posts/migrations/003_add_status.sql +44 -0
  951. package/templates/features/blog/entities/posts/migrations/004_entity_taxonomy_relations.sql +129 -0
  952. package/templates/features/blog/entities/posts/migrations/006_posts_metas.sql +56 -0
  953. package/templates/features/blog/entities/posts/posts.config.ts +112 -0
  954. package/templates/features/blog/entities/posts/posts.fields.ts +116 -0
  955. package/templates/features/blog/entities/posts/posts.service.ts +376 -0
  956. package/templates/features/blog/entities/posts/posts.types.ts +74 -0
  957. package/templates/features/pages/entities/pages/messages/en.json +41 -0
  958. package/templates/features/pages/entities/pages/messages/es.json +41 -0
  959. package/templates/features/pages/entities/pages/migrations/001_pages_table.sql +112 -0
  960. package/templates/features/pages/entities/pages/migrations/002_pages_metas.sql +56 -0
  961. package/templates/features/pages/entities/pages/migrations/003_add_status.sql +50 -0
  962. package/templates/features/pages/entities/pages/pages-management.service.ts +610 -0
  963. package/templates/features/pages/entities/pages/pages.config.ts +105 -0
  964. package/templates/features/pages/entities/pages/pages.fields.ts +101 -0
  965. package/templates/features/pages/entities/pages/pages.service.ts +290 -0
  966. package/templates/features/pages/entities/pages/pages.types.ts +124 -0
  967. package/dist/templates/contents/themes/default/messages/en.json +0 -934
  968. package/dist/templates/contents/themes/default/messages/en.json.backup +0 -934
  969. package/dist/templates/contents/themes/default/messages/es.json +0 -929
  970. package/templates/contents/themes/default/messages/en.json +0 -934
  971. package/templates/contents/themes/default/messages/en.json.backup +0 -934
  972. package/templates/contents/themes/default/messages/es.json +0 -929
@@ -0,0 +1,115 @@
1
+ -- Migration: 015_posts_table.sql
2
+ -- Description: Posts table for blog system (similar structure to pages)
3
+ -- Date: 2025-12-16
4
+ -- Updated: 2025-12-17 (Add userId, teamId system fields + team isolation RLS)
5
+
6
+ -- ============================================
7
+ -- TABLE: posts
8
+ -- ============================================
9
+ DROP TABLE IF EXISTS public.posts CASCADE;
10
+
11
+ CREATE TABLE IF NOT EXISTS public.posts (
12
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
13
+
14
+ -- Relational Fields (at the beginning)
15
+ "userId" TEXT NOT NULL REFERENCES public."users"(id) ON DELETE CASCADE,
16
+ "teamId" TEXT NOT NULL REFERENCES public."teams"(id) ON DELETE CASCADE,
17
+
18
+ slug VARCHAR(255) NOT NULL,
19
+ title VARCHAR(255) NOT NULL,
20
+ excerpt TEXT,
21
+ "featuredImage" TEXT,
22
+ blocks JSONB NOT NULL DEFAULT '[]'::JSONB,
23
+ locale VARCHAR(10) NOT NULL DEFAULT 'en',
24
+
25
+ -- SEO fields (same as pages)
26
+ "seoTitle" VARCHAR(255),
27
+ "seoDescription" TEXT,
28
+ "seoKeywords" TEXT,
29
+ "ogImage" TEXT,
30
+ noindex BOOLEAN DEFAULT FALSE,
31
+ nofollow BOOLEAN DEFAULT FALSE,
32
+
33
+ -- Meta fields
34
+ published BOOLEAN DEFAULT FALSE,
35
+ "authorId" TEXT REFERENCES public."users"(id) ON DELETE SET NULL,
36
+ "createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
37
+ "updatedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
38
+
39
+ -- Constraints
40
+ CONSTRAINT unique_post_slug_locale UNIQUE(slug, locale),
41
+ CONSTRAINT valid_post_slug CHECK (slug ~ '^[a-z0-9\-]+$'),
42
+ CONSTRAINT valid_post_locale CHECK (locale ~ '^[a-z]{2}(-[A-Z]{2})?$'),
43
+ CONSTRAINT post_slug_length CHECK (LENGTH(slug) >= 2 AND LENGTH(slug) <= 100),
44
+ CONSTRAINT post_title_not_empty CHECK (LENGTH(TRIM(title)) > 0)
45
+ );
46
+
47
+ -- ============================================
48
+ -- COMMENTS
49
+ -- ============================================
50
+ COMMENT ON TABLE public.posts IS 'Blog posts with block-based content';
51
+ COMMENT ON COLUMN public.posts."userId" IS 'User who created this post';
52
+ COMMENT ON COLUMN public.posts."teamId" IS 'Team context for isolation';
53
+ COMMENT ON COLUMN public.posts.blocks IS 'Array of block instances with props (JSONB)';
54
+ COMMENT ON COLUMN public.posts.slug IS 'URL-friendly identifier';
55
+ COMMENT ON COLUMN public.posts.excerpt IS 'Short summary for previews and SEO';
56
+ COMMENT ON COLUMN public.posts."featuredImage" IS 'Main image URL for post';
57
+
58
+ -- ============================================
59
+ -- TRIGGER: updatedAt
60
+ -- ============================================
61
+ DROP TRIGGER IF EXISTS posts_set_updated_at ON public.posts;
62
+ CREATE TRIGGER posts_set_updated_at
63
+ BEFORE UPDATE ON public.posts
64
+ FOR EACH ROW EXECUTE FUNCTION public.set_updated_at();
65
+
66
+ -- ============================================
67
+ -- INDEXES
68
+ -- ============================================
69
+ CREATE INDEX IF NOT EXISTS idx_posts_user_id ON public.posts("userId");
70
+ CREATE INDEX IF NOT EXISTS idx_posts_team_id ON public.posts("teamId");
71
+ CREATE INDEX IF NOT EXISTS idx_posts_slug ON public.posts(slug);
72
+ CREATE INDEX IF NOT EXISTS idx_posts_locale ON public.posts(locale);
73
+ CREATE INDEX IF NOT EXISTS idx_posts_published ON public.posts(published);
74
+ CREATE INDEX IF NOT EXISTS idx_posts_author ON public.posts("authorId");
75
+ CREATE INDEX IF NOT EXISTS idx_posts_created ON public.posts("createdAt" DESC);
76
+ CREATE INDEX IF NOT EXISTS idx_posts_slug_locale ON public.posts(slug, locale);
77
+ CREATE INDEX IF NOT EXISTS idx_posts_published_locale ON public.posts(published, locale) WHERE published = TRUE;
78
+ CREATE INDEX IF NOT EXISTS idx_posts_blocks_gin ON public.posts USING GIN (blocks);
79
+ CREATE INDEX IF NOT EXISTS idx_posts_team_created ON public.posts("teamId", "createdAt" DESC);
80
+
81
+ -- ============================================
82
+ -- RLS
83
+ -- ============================================
84
+ ALTER TABLE public.posts ENABLE ROW LEVEL SECURITY;
85
+
86
+ DROP POLICY IF EXISTS "posts public can select" ON public.posts;
87
+ DROP POLICY IF EXISTS "posts auth can do all" ON public.posts;
88
+ DROP POLICY IF EXISTS "Posts team can do all" ON public.posts;
89
+
90
+ -- Public can read published posts
91
+ CREATE POLICY "posts public can select"
92
+ ON public.posts
93
+ FOR SELECT TO anon
94
+ USING (published = TRUE);
95
+
96
+ -- ============================
97
+ -- RLS: TEAM ISOLATION ONLY
98
+ -- ============================
99
+ -- IMPORTANT: RLS only verifies team membership
100
+ -- access.shared logic (user isolation) is handled at APP LEVEL
101
+ CREATE POLICY "Posts team can do all"
102
+ ON public.posts
103
+ FOR ALL TO authenticated
104
+ USING (
105
+ -- Superadmin bypass
106
+ public.is_superadmin()
107
+ OR
108
+ -- Team isolation only: user must be member of the team
109
+ "teamId" = ANY(public.get_user_team_ids())
110
+ )
111
+ WITH CHECK (
112
+ public.is_superadmin()
113
+ OR
114
+ "teamId" = ANY(public.get_user_team_ids())
115
+ );
@@ -0,0 +1,44 @@
1
+ -- Migration: 025_add_status_to_posts.sql
2
+ -- Description: Add status column to posts
3
+ -- Date: 2025-12-17
4
+ -- Session: builder-entities-unification-v2
5
+
6
+ -- ============================================
7
+ -- STEP 1: Add status column (replaces published boolean)
8
+ -- ============================================
9
+ ALTER TABLE public."posts"
10
+ ADD COLUMN IF NOT EXISTS "status" VARCHAR(50) DEFAULT 'draft';
11
+
12
+ -- Migrate existing data
13
+ UPDATE public."posts"
14
+ SET "status" = CASE
15
+ WHEN "published" = true THEN 'published'
16
+ ELSE 'draft'
17
+ END
18
+ WHERE "status" = 'draft' OR "status" IS NULL;
19
+
20
+ -- Create index for status filtering
21
+ CREATE INDEX IF NOT EXISTS idx_posts_status ON public."posts"("status");
22
+
23
+ -- Add check constraint
24
+ ALTER TABLE public."posts" DROP CONSTRAINT IF EXISTS posts_status_check;
25
+ ALTER TABLE public."posts"
26
+ ADD CONSTRAINT posts_status_check
27
+ CHECK ("status" IN ('draft', 'published', 'scheduled', 'archived'));
28
+
29
+ -- ============================================
30
+ -- STEP 2: Update existing RLS policy to use status instead of published
31
+ -- ============================================
32
+ DROP POLICY IF EXISTS "posts public can select" ON public."posts";
33
+
34
+ CREATE POLICY "posts public can select"
35
+ ON public."posts"
36
+ FOR SELECT TO anon
37
+ USING ("status" = 'published');
38
+
39
+ -- ============================================
40
+ -- COMMENTS
41
+ -- ============================================
42
+ COMMENT ON COLUMN public."posts"."status" IS 'Publication status: draft, published, scheduled, archived';
43
+
44
+ -- Note: We keep 'published' column temporarily for rollback safety
@@ -0,0 +1,129 @@
1
+ -- Migration: 003_entity_taxonomy_relations.sql
2
+ -- Description: Generic entity-taxonomy relations table
3
+ -- Date: 2025-12-17
4
+ -- Session: builder-entities-unification-v2
5
+ -- Note: Placed in posts entity to ensure posts and pages tables exist first
6
+
7
+ -- ============================================
8
+ -- TABLE: entity_taxonomy_relations
9
+ -- Replaces specific post_taxonomy_relations with a generic system
10
+ -- ============================================
11
+ CREATE TABLE IF NOT EXISTS public."entity_taxonomy_relations" (
12
+ id TEXT PRIMARY KEY DEFAULT gen_random_uuid()::text,
13
+ "entityType" VARCHAR(50) NOT NULL, -- 'posts', 'pages', 'products', etc.
14
+ "entityId" TEXT NOT NULL,
15
+ "taxonomyId" TEXT NOT NULL REFERENCES public."taxonomies"(id) ON DELETE CASCADE,
16
+ "order" INTEGER DEFAULT 0,
17
+ "createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
18
+
19
+ CONSTRAINT unique_entity_taxonomy UNIQUE("entityType", "entityId", "taxonomyId")
20
+ );
21
+
22
+ -- ============================================
23
+ -- COMMENTS
24
+ -- ============================================
25
+ COMMENT ON TABLE public."entity_taxonomy_relations" IS 'Generic many-to-many relation between any entity and taxonomies';
26
+ COMMENT ON COLUMN public."entity_taxonomy_relations"."entityType" IS 'Type of entity (posts, pages, products, etc.)';
27
+ COMMENT ON COLUMN public."entity_taxonomy_relations"."entityId" IS 'ID of the entity (UUID as text)';
28
+ COMMENT ON COLUMN public."entity_taxonomy_relations"."taxonomyId" IS 'Reference to taxonomy';
29
+ COMMENT ON COLUMN public."entity_taxonomy_relations"."order" IS 'Display order of taxonomy within entity';
30
+
31
+ -- ============================================
32
+ -- INDEXES for common queries
33
+ -- ============================================
34
+ CREATE INDEX IF NOT EXISTS idx_etr_entity_type ON public."entity_taxonomy_relations"("entityType");
35
+ CREATE INDEX IF NOT EXISTS idx_etr_entity_id ON public."entity_taxonomy_relations"("entityId");
36
+ CREATE INDEX IF NOT EXISTS idx_etr_taxonomy_id ON public."entity_taxonomy_relations"("taxonomyId");
37
+ CREATE INDEX IF NOT EXISTS idx_etr_entity_lookup ON public."entity_taxonomy_relations"("entityType", "entityId");
38
+
39
+ -- ============================================
40
+ -- MIGRATE existing data from post_taxonomy_relations (if exists)
41
+ -- ============================================
42
+ DO $$
43
+ BEGIN
44
+ IF EXISTS (SELECT 1 FROM information_schema.tables WHERE table_name = 'post_taxonomy_relations' AND table_schema = 'public') THEN
45
+ INSERT INTO public."entity_taxonomy_relations" ("entityType", "entityId", "taxonomyId", "order", "createdAt")
46
+ SELECT
47
+ 'posts' as "entityType",
48
+ "postId"::text as "entityId",
49
+ "taxonomyId",
50
+ "order",
51
+ "createdAt"
52
+ FROM public."post_taxonomy_relations"
53
+ ON CONFLICT DO NOTHING;
54
+ END IF;
55
+ END $$;
56
+
57
+ -- ============================================
58
+ -- RLS
59
+ -- ============================================
60
+ ALTER TABLE public."entity_taxonomy_relations" ENABLE ROW LEVEL SECURITY;
61
+
62
+ DROP POLICY IF EXISTS "Entity taxonomy relations public read" ON public."entity_taxonomy_relations";
63
+ DROP POLICY IF EXISTS "Entity taxonomy relations authenticated read" ON public."entity_taxonomy_relations";
64
+ DROP POLICY IF EXISTS "Entity taxonomy relations authenticated insert" ON public."entity_taxonomy_relations";
65
+ DROP POLICY IF EXISTS "Entity taxonomy relations authenticated delete" ON public."entity_taxonomy_relations";
66
+
67
+ -- Public can read relations for published entities
68
+ CREATE POLICY "Entity taxonomy relations public read"
69
+ ON public."entity_taxonomy_relations"
70
+ FOR SELECT TO anon
71
+ USING (
72
+ -- Posts: check status = published
73
+ ("entityType" = 'posts' AND EXISTS (
74
+ SELECT 1 FROM public.posts p WHERE p.id::text = "entityId" AND p.status = 'published'
75
+ ))
76
+ OR
77
+ -- Pages: check status = published
78
+ ("entityType" = 'pages' AND EXISTS (
79
+ SELECT 1 FROM public.pages p WHERE p.id::text = "entityId" AND p.status = 'published'
80
+ ))
81
+ );
82
+
83
+ -- Authenticated users can manage all relations
84
+ CREATE POLICY "Entity taxonomy relations authenticated read"
85
+ ON public."entity_taxonomy_relations"
86
+ FOR SELECT TO authenticated
87
+ USING (true);
88
+
89
+ CREATE POLICY "Entity taxonomy relations authenticated insert"
90
+ ON public."entity_taxonomy_relations"
91
+ FOR INSERT TO authenticated
92
+ WITH CHECK (true);
93
+
94
+ CREATE POLICY "Entity taxonomy relations authenticated delete"
95
+ ON public."entity_taxonomy_relations"
96
+ FOR DELETE TO authenticated
97
+ USING (true);
98
+
99
+ -- ============================================
100
+ -- CLEANUP TRIGGER function
101
+ -- ============================================
102
+ CREATE OR REPLACE FUNCTION public.cleanup_entity_taxonomy_relations()
103
+ RETURNS TRIGGER AS $$
104
+ BEGIN
105
+ DELETE FROM public."entity_taxonomy_relations"
106
+ WHERE "entityType" = TG_ARGV[0] AND "entityId" = OLD.id::text;
107
+ RETURN OLD;
108
+ END;
109
+ $$ LANGUAGE plpgsql;
110
+
111
+ -- Trigger for posts
112
+ DROP TRIGGER IF EXISTS cleanup_post_entity_taxonomy ON public."posts";
113
+ CREATE TRIGGER cleanup_post_entity_taxonomy
114
+ AFTER DELETE ON public."posts"
115
+ FOR EACH ROW
116
+ EXECUTE FUNCTION public.cleanup_entity_taxonomy_relations('posts');
117
+
118
+ -- Trigger for pages
119
+ DROP TRIGGER IF EXISTS cleanup_page_entity_taxonomy ON public."pages";
120
+ CREATE TRIGGER cleanup_page_entity_taxonomy
121
+ AFTER DELETE ON public."pages"
122
+ FOR EACH ROW
123
+ EXECUTE FUNCTION public.cleanup_entity_taxonomy_relations('pages');
124
+
125
+ -- ============================================
126
+ -- Additional indexes using status
127
+ -- ============================================
128
+ CREATE INDEX IF NOT EXISTS idx_pages_status_locale ON public."pages"("status", locale) WHERE "status" = 'published';
129
+ CREATE INDEX IF NOT EXISTS idx_posts_status_locale ON public."posts"("status", locale) WHERE "status" = 'published';
@@ -0,0 +1,56 @@
1
+ -- Migration: 006_posts_metas.sql
2
+ -- Description: Create posts_metas table for flexible key-value metadata storage
3
+ -- Date: 2025-12-17
4
+
5
+ -- Create posts_metas table
6
+ CREATE TABLE IF NOT EXISTS "posts_metas" (
7
+ id TEXT PRIMARY KEY DEFAULT gen_random_uuid()::text,
8
+ "postId" UUID NOT NULL REFERENCES public."posts"(id) ON DELETE CASCADE,
9
+ "metaKey" TEXT NOT NULL,
10
+ "metaValue" JSONB NOT NULL DEFAULT '{}'::jsonb,
11
+ "dataType" TEXT,
12
+ "isPublic" BOOLEAN NOT NULL DEFAULT FALSE,
13
+ "isSearchable" BOOLEAN NOT NULL DEFAULT FALSE,
14
+ "createdAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
15
+ "updatedAt" TIMESTAMPTZ NOT NULL DEFAULT now(),
16
+ CONSTRAINT posts_metas_unique_key UNIQUE ("postId", "metaKey")
17
+ );
18
+
19
+ -- Indices
20
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_post_id ON "posts_metas"("postId");
21
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_key ON "posts_metas"("metaKey");
22
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_composite ON "posts_metas"("postId", "metaKey", "isPublic");
23
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_searchable ON "posts_metas"("isSearchable") WHERE "isSearchable" = true;
24
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_public ON "posts_metas"("isPublic") WHERE "isPublic" = true;
25
+ CREATE INDEX IF NOT EXISTS idx_posts_metas_value_gin ON "posts_metas" USING GIN ("metaValue");
26
+
27
+ -- Trigger for updatedAt
28
+ DROP TRIGGER IF EXISTS posts_metas_set_updated_at ON "posts_metas";
29
+ CREATE TRIGGER posts_metas_set_updated_at
30
+ BEFORE UPDATE ON "posts_metas"
31
+ FOR EACH ROW EXECUTE FUNCTION public.set_updated_at();
32
+
33
+ -- ============================================
34
+ -- RLS POLICIES
35
+ -- ============================================
36
+ ALTER TABLE "posts_metas" ENABLE ROW LEVEL SECURITY;
37
+
38
+ -- Public can read public metadata
39
+ DROP POLICY IF EXISTS "posts_metas_public_select" ON "posts_metas";
40
+ CREATE POLICY "posts_metas_public_select"
41
+ ON "posts_metas" FOR SELECT TO anon
42
+ USING ("isPublic" = TRUE);
43
+
44
+ -- Authenticated users can manage all metadata
45
+ DROP POLICY IF EXISTS "posts_metas_auth_all" ON "posts_metas";
46
+ CREATE POLICY "posts_metas_auth_all"
47
+ ON "posts_metas" FOR ALL TO authenticated
48
+ USING (true)
49
+ WITH CHECK (true);
50
+
51
+ -- Comments
52
+ COMMENT ON TABLE "posts_metas" IS 'Flexible key-value metadata storage for posts';
53
+ COMMENT ON COLUMN "posts_metas"."postId" IS 'Reference to the parent post';
54
+ COMMENT ON COLUMN "posts_metas"."metaKey" IS 'Unique key identifier for the metadata';
55
+ COMMENT ON COLUMN "posts_metas"."metaValue" IS 'JSONB value for flexible data storage';
56
+ COMMENT ON COLUMN "posts_metas"."isPublic" IS 'If true, this metadata can be read by anyone';
@@ -0,0 +1,112 @@
1
+ /**
2
+ * Posts Entity Configuration
3
+ *
4
+ * Posts are builder-enabled entities with taxonomies support that render at /blog/[slug].
5
+ * Includes sidebar fields for excerpt and featured image, plus category management.
6
+ */
7
+
8
+ import { Newspaper } from 'lucide-react'
9
+ import type { EntityConfig } from '@nextsparkjs/core/lib/entities/types'
10
+ import { postsFields } from './posts.fields'
11
+
12
+ export const postsEntityConfig: EntityConfig = {
13
+ // ==========================================
14
+ // 1. BASIC IDENTIFICATION
15
+ // ==========================================
16
+ slug: 'posts',
17
+ enabled: true,
18
+
19
+ names: {
20
+ singular: 'post',
21
+ plural: 'Posts',
22
+ },
23
+
24
+ icon: Newspaper,
25
+ tableName: 'posts',
26
+
27
+ // ==========================================
28
+ // 2. ACCESS AND SCOPE CONFIGURATION
29
+ // ==========================================
30
+ access: {
31
+ public: true, // Blog posts are public
32
+ api: true, // Has external API endpoints
33
+ metadata: true, // Posts support metadata
34
+ shared: true, // All authenticated users can see all posts
35
+ basePath: '/blog', // Posts render at /blog/[slug]
36
+ },
37
+
38
+ // ==========================================
39
+ // 3. UI/UX FEATURES
40
+ // ==========================================
41
+ ui: {
42
+ dashboard: {
43
+ showInMenu: true,
44
+ showInTopbar: true,
45
+ filters: [
46
+ { field: 'status', type: 'multiSelect' },
47
+ ],
48
+ },
49
+ public: {
50
+ hasArchivePage: true, // /blog shows list of posts
51
+ hasSinglePage: true, // /blog/[slug] shows individual post
52
+ },
53
+ features: {
54
+ searchable: true,
55
+ sortable: true,
56
+ filterable: true,
57
+ bulkOperations: true,
58
+ importExport: true,
59
+ },
60
+ },
61
+
62
+ // ==========================================
63
+ // 4. PERMISSIONS SYSTEM
64
+ // ==========================================
65
+ // Permissions are now centralized in permissions.config.ts
66
+ // See: contents/themes/default/permissions.config.ts -> entities.posts
67
+
68
+ // ==========================================
69
+ // 5. INTERNATIONALIZATION
70
+ // ==========================================
71
+ i18n: {
72
+ fallbackLocale: 'en',
73
+ loaders: {
74
+ en: () => import('./messages/en.json'),
75
+ es: () => import('./messages/es.json'),
76
+ },
77
+ },
78
+
79
+ // ==========================================
80
+ // 6. BUILDER CONFIGURATION
81
+ // ==========================================
82
+ builder: {
83
+ enabled: true,
84
+ sidebarFields: ['excerpt', 'featuredImage'], // Extra fields shown in sidebar
85
+ seo: true, // Enable SEO fields panel in editor
86
+ },
87
+
88
+ // ==========================================
89
+ // 7. TAXONOMIES CONFIGURATION
90
+ // ==========================================
91
+ taxonomies: {
92
+ enabled: true,
93
+ types: [
94
+ {
95
+ type: 'post_category',
96
+ field: 'categories',
97
+ multiple: true,
98
+ label: 'Categories',
99
+ },
100
+ ],
101
+ },
102
+
103
+ // ==========================================
104
+ // FIELDS
105
+ // ==========================================
106
+ fields: postsFields,
107
+
108
+ // ==========================================
109
+ // METADATA
110
+ // ==========================================
111
+ source: 'theme',
112
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * Posts Entity Fields Configuration
3
+ *
4
+ * Fields required for builder-enabled posts with sidebar support.
5
+ * Note: 'blocks' field is NOT in fields[] - it's managed by the builder view automatically.
6
+ * Note: 'categories' is managed by taxonomies system, not a regular field.
7
+ */
8
+
9
+ import type { EntityField } from '@nextsparkjs/core/lib/entities/types'
10
+
11
+ export const postsFields: EntityField[] = [
12
+ {
13
+ name: 'title',
14
+ type: 'text',
15
+ required: true,
16
+ display: {
17
+ label: 'Title',
18
+ description: 'Post title',
19
+ placeholder: 'Enter post title...',
20
+ showInList: true,
21
+ showInDetail: true,
22
+ showInForm: true,
23
+ order: 1,
24
+ },
25
+ api: {
26
+ searchable: true,
27
+ sortable: true,
28
+ readOnly: false,
29
+ },
30
+ },
31
+ {
32
+ name: 'slug',
33
+ type: 'text',
34
+ required: true,
35
+ display: {
36
+ label: 'Slug',
37
+ description: 'URL-friendly identifier',
38
+ placeholder: 'post-slug',
39
+ showInList: true,
40
+ showInDetail: true,
41
+ showInForm: true,
42
+ order: 2,
43
+ },
44
+ api: {
45
+ searchable: true,
46
+ sortable: true,
47
+ readOnly: false,
48
+ },
49
+ },
50
+ {
51
+ name: 'status',
52
+ type: 'select',
53
+ required: true,
54
+ defaultValue: 'draft',
55
+ options: [
56
+ { value: 'draft', label: 'Draft' },
57
+ { value: 'published', label: 'Published' },
58
+ { value: 'scheduled', label: 'Scheduled' },
59
+ { value: 'archived', label: 'Archived' },
60
+ ],
61
+ display: {
62
+ label: 'Status',
63
+ description: 'Publication status',
64
+ showInList: true,
65
+ showInDetail: true,
66
+ showInForm: true,
67
+ order: 3,
68
+ },
69
+ api: {
70
+ searchable: false,
71
+ sortable: true,
72
+ filterable: true,
73
+ readOnly: false,
74
+ },
75
+ },
76
+ {
77
+ name: 'excerpt',
78
+ type: 'textarea',
79
+ required: false,
80
+ display: {
81
+ label: 'Excerpt',
82
+ description: 'Short summary of the post',
83
+ placeholder: 'Brief description...',
84
+ showInList: false,
85
+ showInDetail: true,
86
+ showInForm: true, // Shown in builder sidebar
87
+ order: 4,
88
+ },
89
+ api: {
90
+ searchable: true,
91
+ sortable: false,
92
+ readOnly: false,
93
+ },
94
+ },
95
+ {
96
+ name: 'featuredImage',
97
+ type: 'image',
98
+ required: false,
99
+ display: {
100
+ label: 'Featured Image',
101
+ description: 'Main image for the post',
102
+ showInList: false,
103
+ showInDetail: true,
104
+ showInForm: true, // Shown in builder sidebar
105
+ order: 5,
106
+ },
107
+ api: {
108
+ searchable: false,
109
+ sortable: false,
110
+ readOnly: false,
111
+ },
112
+ },
113
+ // Note: 'categories' is managed by taxonomies system, not a regular field
114
+ // Note: SEO fields (seoTitle, seoDescription, etc.) are managed by the builder SEO panel
115
+ // Note: 'blocks' field is a system field for builder-enabled entities - NOT defined here
116
+ ]