@barkajs/barka 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (621) hide show
  1. package/CLAUDE.md +64 -0
  2. package/INVARIANTS.json +43 -0
  3. package/LICENSE +19 -0
  4. package/README.md +566 -0
  5. package/dist/app.d.ts +22 -0
  6. package/dist/app.d.ts.map +1 -0
  7. package/dist/app.js +464 -0
  8. package/dist/app.js.map +1 -0
  9. package/dist/built-in-theme/components/cta/cta.d.ts +5 -0
  10. package/dist/built-in-theme/components/cta/cta.d.ts.map +1 -0
  11. package/dist/built-in-theme/components/cta/cta.js +6 -0
  12. package/dist/built-in-theme/components/cta/cta.js.map +1 -0
  13. package/dist/built-in-theme/components/features/features.d.ts +5 -0
  14. package/dist/built-in-theme/components/features/features.d.ts.map +1 -0
  15. package/dist/built-in-theme/components/features/features.js +7 -0
  16. package/dist/built-in-theme/components/features/features.js.map +1 -0
  17. package/dist/built-in-theme/components/hero/hero.d.ts +5 -0
  18. package/dist/built-in-theme/components/hero/hero.d.ts.map +1 -0
  19. package/dist/built-in-theme/components/hero/hero.js +6 -0
  20. package/dist/built-in-theme/components/hero/hero.js.map +1 -0
  21. package/dist/built-in-theme/components/text/text.d.ts +4 -0
  22. package/dist/built-in-theme/components/text/text.d.ts.map +1 -0
  23. package/dist/built-in-theme/components/text/text.js +7 -0
  24. package/dist/built-in-theme/components/text/text.js.map +1 -0
  25. package/dist/built-in-theme/layouts/article.d.ts +4 -0
  26. package/dist/built-in-theme/layouts/article.d.ts.map +1 -0
  27. package/dist/built-in-theme/layouts/article.js +11 -0
  28. package/dist/built-in-theme/layouts/article.js.map +1 -0
  29. package/dist/built-in-theme/layouts/base.d.ts +7 -0
  30. package/dist/built-in-theme/layouts/base.d.ts.map +1 -0
  31. package/dist/built-in-theme/layouts/base.js +21 -0
  32. package/dist/built-in-theme/layouts/base.js.map +1 -0
  33. package/dist/built-in-theme/layouts/landing-page.d.ts +6 -0
  34. package/dist/built-in-theme/layouts/landing-page.d.ts.map +1 -0
  35. package/dist/built-in-theme/layouts/landing-page.js +6 -0
  36. package/dist/built-in-theme/layouts/landing-page.js.map +1 -0
  37. package/dist/built-in-theme/layouts/page.d.ts +4 -0
  38. package/dist/built-in-theme/layouts/page.d.ts.map +1 -0
  39. package/dist/built-in-theme/layouts/page.js +7 -0
  40. package/dist/built-in-theme/layouts/page.js.map +1 -0
  41. package/dist/cli/build.d.ts +11 -0
  42. package/dist/cli/build.d.ts.map +1 -0
  43. package/dist/cli/build.js +271 -0
  44. package/dist/cli/build.js.map +1 -0
  45. package/dist/cli/create-app.d.ts +4 -0
  46. package/dist/cli/create-app.d.ts.map +1 -0
  47. package/dist/cli/create-app.js +179 -0
  48. package/dist/cli/create-app.js.map +1 -0
  49. package/dist/cli/db-init.d.ts +6 -0
  50. package/dist/cli/db-init.d.ts.map +1 -0
  51. package/dist/cli/db-init.js +28 -0
  52. package/dist/cli/db-init.js.map +1 -0
  53. package/dist/cli/dev.d.ts +10 -0
  54. package/dist/cli/dev.d.ts.map +1 -0
  55. package/dist/cli/dev.js +68 -0
  56. package/dist/cli/dev.js.map +1 -0
  57. package/dist/cli/export-cmd.d.ts +6 -0
  58. package/dist/cli/export-cmd.d.ts.map +1 -0
  59. package/dist/cli/export-cmd.js +12 -0
  60. package/dist/cli/export-cmd.js.map +1 -0
  61. package/dist/cli/import-cmd.d.ts +6 -0
  62. package/dist/cli/import-cmd.d.ts.map +1 -0
  63. package/dist/cli/import-cmd.js +11 -0
  64. package/dist/cli/import-cmd.js.map +1 -0
  65. package/dist/cli/index.d.ts +3 -0
  66. package/dist/cli/index.d.ts.map +1 -0
  67. package/dist/cli/index.js +163 -0
  68. package/dist/cli/index.js.map +1 -0
  69. package/dist/cli/init-cmd.d.ts +20 -0
  70. package/dist/cli/init-cmd.d.ts.map +1 -0
  71. package/dist/cli/init-cmd.js +116 -0
  72. package/dist/cli/init-cmd.js.map +1 -0
  73. package/dist/cli/sync-cmd.d.ts +5 -0
  74. package/dist/cli/sync-cmd.d.ts.map +1 -0
  75. package/dist/cli/sync-cmd.js +17 -0
  76. package/dist/cli/sync-cmd.js.map +1 -0
  77. package/dist/content-engine.d.ts +50 -0
  78. package/dist/content-engine.d.ts.map +1 -0
  79. package/dist/content-engine.js +240 -0
  80. package/dist/content-engine.js.map +1 -0
  81. package/dist/db/connection.d.ts +9 -0
  82. package/dist/db/connection.d.ts.map +1 -0
  83. package/dist/db/connection.js +121 -0
  84. package/dist/db/connection.js.map +1 -0
  85. package/dist/db/schema.d.ts +1178 -0
  86. package/dist/db/schema.d.ts.map +1 -0
  87. package/dist/db/schema.js +79 -0
  88. package/dist/db/schema.js.map +1 -0
  89. package/dist/index.d.ts +12 -0
  90. package/dist/index.d.ts.map +1 -0
  91. package/dist/index.js +8 -0
  92. package/dist/index.js.map +1 -0
  93. package/dist/lib/auth.d.ts +14 -0
  94. package/dist/lib/auth.d.ts.map +1 -0
  95. package/dist/lib/auth.js +40 -0
  96. package/dist/lib/auth.js.map +1 -0
  97. package/dist/lib/config-files.d.ts +8 -0
  98. package/dist/lib/config-files.d.ts.map +1 -0
  99. package/dist/lib/config-files.js +72 -0
  100. package/dist/lib/config-files.js.map +1 -0
  101. package/dist/lib/content-files.d.ts +5 -0
  102. package/dist/lib/content-files.d.ts.map +1 -0
  103. package/dist/lib/content-files.js +156 -0
  104. package/dist/lib/content-files.js.map +1 -0
  105. package/dist/lib/i18n.d.ts +33 -0
  106. package/dist/lib/i18n.d.ts.map +1 -0
  107. package/dist/lib/i18n.js +247 -0
  108. package/dist/lib/i18n.js.map +1 -0
  109. package/dist/lib/multisite.d.ts +23 -0
  110. package/dist/lib/multisite.d.ts.map +1 -0
  111. package/dist/lib/multisite.js +73 -0
  112. package/dist/lib/multisite.js.map +1 -0
  113. package/dist/lib/paths.d.ts +6 -0
  114. package/dist/lib/paths.d.ts.map +1 -0
  115. package/dist/lib/paths.js +25 -0
  116. package/dist/lib/paths.js.map +1 -0
  117. package/dist/lib/schema-loader.d.ts +25 -0
  118. package/dist/lib/schema-loader.d.ts.map +1 -0
  119. package/dist/lib/schema-loader.js +45 -0
  120. package/dist/lib/schema-loader.js.map +1 -0
  121. package/dist/lib/seo.d.ts +18 -0
  122. package/dist/lib/seo.d.ts.map +1 -0
  123. package/dist/lib/seo.js +212 -0
  124. package/dist/lib/seo.js.map +1 -0
  125. package/dist/lib/sync.d.ts +33 -0
  126. package/dist/lib/sync.d.ts.map +1 -0
  127. package/dist/lib/sync.js +308 -0
  128. package/dist/lib/sync.js.map +1 -0
  129. package/dist/lib/taxonomy.d.ts +29 -0
  130. package/dist/lib/taxonomy.d.ts.map +1 -0
  131. package/dist/lib/taxonomy.js +170 -0
  132. package/dist/lib/taxonomy.js.map +1 -0
  133. package/dist/lib/template-renderer.d.ts +6 -0
  134. package/dist/lib/template-renderer.d.ts.map +1 -0
  135. package/dist/lib/template-renderer.js +80 -0
  136. package/dist/lib/template-renderer.js.map +1 -0
  137. package/dist/lib/theme-loader.d.ts +5 -0
  138. package/dist/lib/theme-loader.d.ts.map +1 -0
  139. package/dist/lib/theme-loader.js +199 -0
  140. package/dist/lib/theme-loader.js.map +1 -0
  141. package/dist/lib/theme-types.d.ts +39 -0
  142. package/dist/lib/theme-types.d.ts.map +1 -0
  143. package/dist/lib/theme-types.js +2 -0
  144. package/dist/lib/theme-types.js.map +1 -0
  145. package/dist/lib/types.d.ts +91 -0
  146. package/dist/lib/types.d.ts.map +1 -0
  147. package/dist/lib/types.js +2 -0
  148. package/dist/lib/types.js.map +1 -0
  149. package/dist/routes/admin/content-edit.d.ts +10 -0
  150. package/dist/routes/admin/content-edit.d.ts.map +1 -0
  151. package/dist/routes/admin/content-edit.js +325 -0
  152. package/dist/routes/admin/content-edit.js.map +1 -0
  153. package/dist/routes/admin/content-list.d.ts +10 -0
  154. package/dist/routes/admin/content-list.d.ts.map +1 -0
  155. package/dist/routes/admin/content-list.js +162 -0
  156. package/dist/routes/admin/content-list.js.map +1 -0
  157. package/dist/routes/admin/content.d.ts +3 -0
  158. package/dist/routes/admin/content.d.ts.map +1 -0
  159. package/dist/routes/admin/content.js +12 -0
  160. package/dist/routes/admin/content.js.map +1 -0
  161. package/dist/routes/admin/dashboard.d.ts +4 -0
  162. package/dist/routes/admin/dashboard.d.ts.map +1 -0
  163. package/dist/routes/admin/dashboard.js +121 -0
  164. package/dist/routes/admin/dashboard.js.map +1 -0
  165. package/dist/routes/admin/export-route.d.ts +10 -0
  166. package/dist/routes/admin/export-route.d.ts.map +1 -0
  167. package/dist/routes/admin/export-route.js +19 -0
  168. package/dist/routes/admin/export-route.js.map +1 -0
  169. package/dist/routes/admin/index.d.ts +9 -0
  170. package/dist/routes/admin/index.d.ts.map +1 -0
  171. package/dist/routes/admin/index.js +27 -0
  172. package/dist/routes/admin/index.js.map +1 -0
  173. package/dist/routes/admin/layout.d.ts +17 -0
  174. package/dist/routes/admin/layout.d.ts.map +1 -0
  175. package/dist/routes/admin/layout.js +110 -0
  176. package/dist/routes/admin/layout.js.map +1 -0
  177. package/dist/routes/admin/login.d.ts +5 -0
  178. package/dist/routes/admin/login.d.ts.map +1 -0
  179. package/dist/routes/admin/login.js +113 -0
  180. package/dist/routes/admin/login.js.map +1 -0
  181. package/dist/routes/admin/media.d.ts +10 -0
  182. package/dist/routes/admin/media.d.ts.map +1 -0
  183. package/dist/routes/admin/media.js +192 -0
  184. package/dist/routes/admin/media.js.map +1 -0
  185. package/dist/routes/admin/middleware.d.ts +8 -0
  186. package/dist/routes/admin/middleware.d.ts.map +1 -0
  187. package/dist/routes/admin/middleware.js +29 -0
  188. package/dist/routes/admin/middleware.js.map +1 -0
  189. package/dist/routes/admin/section-builder.d.ts +10 -0
  190. package/dist/routes/admin/section-builder.d.ts.map +1 -0
  191. package/dist/routes/admin/section-builder.js +487 -0
  192. package/dist/routes/admin/section-builder.js.map +1 -0
  193. package/dist/routes/admin/settings.d.ts +10 -0
  194. package/dist/routes/admin/settings.d.ts.map +1 -0
  195. package/dist/routes/admin/settings.js +209 -0
  196. package/dist/routes/admin/settings.js.map +1 -0
  197. package/dist/routes/admin/site-switcher.d.ts +3 -0
  198. package/dist/routes/admin/site-switcher.d.ts.map +1 -0
  199. package/dist/routes/admin/site-switcher.js +36 -0
  200. package/dist/routes/admin/site-switcher.js.map +1 -0
  201. package/dist/routes/admin/taxonomy.d.ts +10 -0
  202. package/dist/routes/admin/taxonomy.d.ts.map +1 -0
  203. package/dist/routes/admin/taxonomy.js +297 -0
  204. package/dist/routes/admin/taxonomy.js.map +1 -0
  205. package/dist/routes/admin/users.d.ts +10 -0
  206. package/dist/routes/admin/users.d.ts.map +1 -0
  207. package/dist/routes/admin/users.js +227 -0
  208. package/dist/routes/admin/users.js.map +1 -0
  209. package/package.json +75 -0
  210. package/src/built-in-theme/components/cta/cta.tsx +18 -0
  211. package/src/built-in-theme/components/cta/schema.yaml +17 -0
  212. package/src/built-in-theme/components/features/features.tsx +18 -0
  213. package/src/built-in-theme/components/features/schema.yaml +22 -0
  214. package/src/built-in-theme/components/hero/hero.tsx +18 -0
  215. package/src/built-in-theme/components/hero/schema.yaml +17 -0
  216. package/src/built-in-theme/components/text/schema.yaml +12 -0
  217. package/src/built-in-theme/components/text/text.tsx +11 -0
  218. package/src/built-in-theme/layouts/article.tsx +20 -0
  219. package/src/built-in-theme/layouts/base.tsx +50 -0
  220. package/src/built-in-theme/layouts/landing-page.tsx +15 -0
  221. package/src/built-in-theme/layouts/page.tsx +11 -0
  222. package/src/built-in-theme/theme.yaml +4 -0
  223. package/starters/blank/config/content-types.yaml +47 -0
  224. package/starters/blank/config/section-types.yaml +115 -0
  225. package/starters/blank/config/settings.yaml +12 -0
  226. package/starters/blank/content/landing-pages/homepage.yaml +55 -0
  227. package/starters/blank/content/pages/about.md +27 -0
  228. package/starters/blank/starter.yaml +14 -0
  229. package/starters/blank/themes/starter/_types.ts +93 -0
  230. package/starters/blank/themes/starter/components/blog-listing/blog-listing.tsx +102 -0
  231. package/starters/blank/themes/starter/components/blog-listing/schema.yaml +21 -0
  232. package/starters/blank/themes/starter/components/columns/columns.tsx +101 -0
  233. package/starters/blank/themes/starter/components/columns/schema.yaml +23 -0
  234. package/starters/blank/themes/starter/components/counters/counters.css +13 -0
  235. package/starters/blank/themes/starter/components/counters/counters.tsx +81 -0
  236. package/starters/blank/themes/starter/components/counters/schema.yaml +23 -0
  237. package/starters/blank/themes/starter/components/cta/cta.tsx +57 -0
  238. package/starters/blank/themes/starter/components/cta/schema.yaml +30 -0
  239. package/starters/blank/themes/starter/components/faq/faq.tsx +77 -0
  240. package/starters/blank/themes/starter/components/faq/schema.yaml +20 -0
  241. package/starters/blank/themes/starter/components/features/features.tsx +82 -0
  242. package/starters/blank/themes/starter/components/features/schema.yaml +19 -0
  243. package/starters/blank/themes/starter/components/form/form.tsx +126 -0
  244. package/starters/blank/themes/starter/components/form/schema.yaml +18 -0
  245. package/starters/blank/themes/starter/components/gallery/gallery.tsx +85 -0
  246. package/starters/blank/themes/starter/components/gallery/schema.yaml +27 -0
  247. package/starters/blank/themes/starter/components/hero/hero.tsx +77 -0
  248. package/starters/blank/themes/starter/components/hero/schema.yaml +26 -0
  249. package/starters/blank/themes/starter/components/logo-slider/logo-slider.css +21 -0
  250. package/starters/blank/themes/starter/components/logo-slider/logo-slider.tsx +81 -0
  251. package/starters/blank/themes/starter/components/logo-slider/schema.yaml +23 -0
  252. package/starters/blank/themes/starter/components/pricing/pricing.tsx +141 -0
  253. package/starters/blank/themes/starter/components/pricing/schema.yaml +44 -0
  254. package/starters/blank/themes/starter/components/testimonials/schema.yaml +26 -0
  255. package/starters/blank/themes/starter/components/testimonials/testimonials.tsx +100 -0
  256. package/starters/blank/themes/starter/components/text/schema.yaml +12 -0
  257. package/starters/blank/themes/starter/components/text/text.tsx +62 -0
  258. package/starters/blank/themes/starter/components/text-with-image/schema.yaml +30 -0
  259. package/starters/blank/themes/starter/components/text-with-image/text-with-image.tsx +86 -0
  260. package/starters/blank/themes/starter/components/video/schema.yaml +19 -0
  261. package/starters/blank/themes/starter/components/video/video.tsx +98 -0
  262. package/starters/blank/themes/starter/layouts/article.tsx +42 -0
  263. package/starters/blank/themes/starter/layouts/base.tsx +92 -0
  264. package/starters/blank/themes/starter/layouts/landing-page.tsx +14 -0
  265. package/starters/blank/themes/starter/layouts/page.tsx +29 -0
  266. package/starters/blank/themes/starter/partials/footer.tsx +22 -0
  267. package/starters/blank/themes/starter/partials/header.tsx +32 -0
  268. package/starters/blank/themes/starter/static/style.css +125 -0
  269. package/starters/blank/themes/starter/theme.yaml +16 -0
  270. package/starters/kadoservices/config/content-types.yaml +239 -0
  271. package/starters/kadoservices/config/languages.yaml +12 -0
  272. package/starters/kadoservices/config/section-types.yaml +379 -0
  273. package/starters/kadoservices/config/settings.yaml +15 -0
  274. package/starters/kadoservices/config/sites.yaml +14 -0
  275. package/starters/kadoservices/config/taxonomies.yaml +61 -0
  276. package/starters/kadoservices/config/translations/de.yaml +120 -0
  277. package/starters/kadoservices/config/translations/en.yaml +120 -0
  278. package/starters/kadoservices/config/translations/pl.yaml +120 -0
  279. package/starters/kadoservices/content/articles/employer-branding-strategies.md +61 -0
  280. package/starters/kadoservices/content/articles/hiring-trends-2026.md +61 -0
  281. package/starters/kadoservices/content/articles/hiring-trends-2026.pl.md +61 -0
  282. package/starters/kadoservices/content/articles/labor-law-changes.md +78 -0
  283. package/starters/kadoservices/content/articles/temporary-staffing-guide.md +76 -0
  284. package/starters/kadoservices/content/articles/temporary-staffing-guide.pl.md +76 -0
  285. package/starters/kadoservices/content/case-studies/finance-rpo-program.md +68 -0
  286. package/starters/kadoservices/content/case-studies/manufacturing-mass-recruitment.md +65 -0
  287. package/starters/kadoservices/content/case-studies/manufacturing-mass-recruitment.pl.md +65 -0
  288. package/starters/kadoservices/content/case-studies/retail-seasonal-staffing.md +69 -0
  289. package/starters/kadoservices/content/industries/finance-shared-services.md +59 -0
  290. package/starters/kadoservices/content/industries/healthcare.md +64 -0
  291. package/starters/kadoservices/content/industries/it-technology.md +61 -0
  292. package/starters/kadoservices/content/industries/logistics.md +54 -0
  293. package/starters/kadoservices/content/industries/manufacturing.md +61 -0
  294. package/starters/kadoservices/content/industries/retail.md +56 -0
  295. package/starters/kadoservices/content/landing-pages/homepage.pl.yaml +198 -0
  296. package/starters/kadoservices/content/landing-pages/homepage.yaml +198 -0
  297. package/starters/kadoservices/content/locations/gdansk.md +32 -0
  298. package/starters/kadoservices/content/locations/krakow.md +30 -0
  299. package/starters/kadoservices/content/locations/warsaw.md +30 -0
  300. package/starters/kadoservices/content/locations/wroclaw.md +32 -0
  301. package/starters/kadoservices/content/pages/about.md +58 -0
  302. package/starters/kadoservices/content/pages/about.pl.md +58 -0
  303. package/starters/kadoservices/content/pages/careers.md +55 -0
  304. package/starters/kadoservices/content/pages/clients.md +65 -0
  305. package/starters/kadoservices/content/pages/contact.md +74 -0
  306. package/starters/kadoservices/content/pages/contact.pl.md +74 -0
  307. package/starters/kadoservices/content/pages/faq.md +76 -0
  308. package/starters/kadoservices/content/services/employer-branding.md +70 -0
  309. package/starters/kadoservices/content/services/hr-consulting.md +64 -0
  310. package/starters/kadoservices/content/services/outsourcing-rpo.md +78 -0
  311. package/starters/kadoservices/content/services/outsourcing-rpo.pl.md +67 -0
  312. package/starters/kadoservices/content/services/payroll-hr-admin.md +66 -0
  313. package/starters/kadoservices/content/services/permanent-recruitment.md +78 -0
  314. package/starters/kadoservices/content/services/permanent-recruitment.pl.md +78 -0
  315. package/starters/kadoservices/content/services/temporary-staffing.md +78 -0
  316. package/starters/kadoservices/content/team/anna-kowalska.md +26 -0
  317. package/starters/kadoservices/content/team/jan-lewandowski.md +26 -0
  318. package/starters/kadoservices/content/team/katarzyna-zielinska.md +26 -0
  319. package/starters/kadoservices/content/team/maria-wisniewska.md +28 -0
  320. package/starters/kadoservices/content/team/tomasz-nowak.md +26 -0
  321. package/starters/kadoservices/starter.yaml +15 -0
  322. package/starters/kadoservices/themes/kadoservices/_types.ts +93 -0
  323. package/starters/kadoservices/themes/kadoservices/components/blog-listing/blog-listing.tsx +197 -0
  324. package/starters/kadoservices/themes/kadoservices/components/blog-listing/schema.yaml +21 -0
  325. package/starters/kadoservices/themes/kadoservices/components/columns/columns.tsx +104 -0
  326. package/starters/kadoservices/themes/kadoservices/components/columns/schema.yaml +23 -0
  327. package/starters/kadoservices/themes/kadoservices/components/counters/counters.css +13 -0
  328. package/starters/kadoservices/themes/kadoservices/components/counters/counters.tsx +103 -0
  329. package/starters/kadoservices/themes/kadoservices/components/counters/schema.yaml +23 -0
  330. package/starters/kadoservices/themes/kadoservices/components/cta/cta.tsx +100 -0
  331. package/starters/kadoservices/themes/kadoservices/components/cta/schema.yaml +30 -0
  332. package/starters/kadoservices/themes/kadoservices/components/faq/faq.tsx +77 -0
  333. package/starters/kadoservices/themes/kadoservices/components/faq/schema.yaml +20 -0
  334. package/starters/kadoservices/themes/kadoservices/components/features/features.tsx +151 -0
  335. package/starters/kadoservices/themes/kadoservices/components/features/schema.yaml +19 -0
  336. package/starters/kadoservices/themes/kadoservices/components/form/form.tsx +135 -0
  337. package/starters/kadoservices/themes/kadoservices/components/form/schema.yaml +18 -0
  338. package/starters/kadoservices/themes/kadoservices/components/gallery/gallery.tsx +90 -0
  339. package/starters/kadoservices/themes/kadoservices/components/gallery/schema.yaml +27 -0
  340. package/starters/kadoservices/themes/kadoservices/components/hero/hero.tsx +175 -0
  341. package/starters/kadoservices/themes/kadoservices/components/hero/schema.yaml +26 -0
  342. package/starters/kadoservices/themes/kadoservices/components/logo-slider/logo-slider.css +21 -0
  343. package/starters/kadoservices/themes/kadoservices/components/logo-slider/logo-slider.tsx +83 -0
  344. package/starters/kadoservices/themes/kadoservices/components/logo-slider/schema.yaml +23 -0
  345. package/starters/kadoservices/themes/kadoservices/components/pricing/pricing.tsx +161 -0
  346. package/starters/kadoservices/themes/kadoservices/components/pricing/schema.yaml +44 -0
  347. package/starters/kadoservices/themes/kadoservices/components/testimonials/schema.yaml +26 -0
  348. package/starters/kadoservices/themes/kadoservices/components/testimonials/testimonials.css +13 -0
  349. package/starters/kadoservices/themes/kadoservices/components/testimonials/testimonials.tsx +150 -0
  350. package/starters/kadoservices/themes/kadoservices/components/text/schema.yaml +12 -0
  351. package/starters/kadoservices/themes/kadoservices/components/text/text.tsx +67 -0
  352. package/starters/kadoservices/themes/kadoservices/components/text-with-image/schema.yaml +30 -0
  353. package/starters/kadoservices/themes/kadoservices/components/text-with-image/text-with-image.tsx +92 -0
  354. package/starters/kadoservices/themes/kadoservices/components/video/schema.yaml +19 -0
  355. package/starters/kadoservices/themes/kadoservices/components/video/video.tsx +103 -0
  356. package/starters/kadoservices/themes/kadoservices/layouts/404.tsx +96 -0
  357. package/starters/kadoservices/themes/kadoservices/layouts/article.tsx +140 -0
  358. package/starters/kadoservices/themes/kadoservices/layouts/base.tsx +669 -0
  359. package/starters/kadoservices/themes/kadoservices/layouts/case-study.tsx +240 -0
  360. package/starters/kadoservices/themes/kadoservices/layouts/index--articles.tsx +250 -0
  361. package/starters/kadoservices/themes/kadoservices/layouts/index--case-studies.tsx +232 -0
  362. package/starters/kadoservices/themes/kadoservices/layouts/index--services.tsx +237 -0
  363. package/starters/kadoservices/themes/kadoservices/layouts/index.tsx +96 -0
  364. package/starters/kadoservices/themes/kadoservices/layouts/industry.tsx +121 -0
  365. package/starters/kadoservices/themes/kadoservices/layouts/landing-page.tsx +14 -0
  366. package/starters/kadoservices/themes/kadoservices/layouts/page--about.tsx +158 -0
  367. package/starters/kadoservices/themes/kadoservices/layouts/page--careers.tsx +214 -0
  368. package/starters/kadoservices/themes/kadoservices/layouts/page--contact.tsx +218 -0
  369. package/starters/kadoservices/themes/kadoservices/layouts/page.tsx +45 -0
  370. package/starters/kadoservices/themes/kadoservices/layouts/service.tsx +235 -0
  371. package/starters/kadoservices/themes/kadoservices/partials/footer.tsx +109 -0
  372. package/starters/kadoservices/themes/kadoservices/partials/header.tsx +53 -0
  373. package/starters/kadoservices/themes/kadoservices/static/images/article-platform-engineering.jpg +0 -0
  374. package/starters/kadoservices/themes/kadoservices/static/images/barka-logo.png +0 -0
  375. package/starters/kadoservices/themes/kadoservices/static/images/case-study-banking-dashboard.jpg +0 -0
  376. package/starters/kadoservices/themes/kadoservices/static/images/case-study-banking.png +0 -0
  377. package/starters/kadoservices/themes/kadoservices/static/images/case-study-ecommerce-dashboard.jpg +0 -0
  378. package/starters/kadoservices/themes/kadoservices/static/images/case-study-healthcare-dashboard.jpg +0 -0
  379. package/starters/kadoservices/themes/kadoservices/static/images/case-study-healthcare.png +0 -0
  380. package/starters/kadoservices/themes/kadoservices/static/images/case-study-retail.png +0 -0
  381. package/starters/kadoservices/themes/kadoservices/static/images/handshake.jpg +0 -0
  382. package/starters/kadoservices/themes/kadoservices/static/images/hero-bg.jpg +0 -0
  383. package/starters/kadoservices/themes/kadoservices/static/images/hero-bg.png +0 -0
  384. package/starters/kadoservices/themes/kadoservices/static/images/lokatech-logo.png +0 -0
  385. package/starters/kadoservices/themes/kadoservices/static/images/office-warsaw.png +0 -0
  386. package/starters/kadoservices/themes/kadoservices/static/images/office.jpg +0 -0
  387. package/starters/kadoservices/themes/kadoservices/static/images/team-anna-kowalska.png +0 -0
  388. package/starters/kadoservices/themes/kadoservices/static/images/team-collaboration.jpg +0 -0
  389. package/starters/kadoservices/themes/kadoservices/static/images/team-jan-nowak.png +0 -0
  390. package/starters/kadoservices/themes/kadoservices/static/images/team-katarzyna-kaminska.png +0 -0
  391. package/starters/kadoservices/themes/kadoservices/static/images/team-maria-wisniewska.png +0 -0
  392. package/starters/kadoservices/themes/kadoservices/static/images/team-meeting.jpg +0 -0
  393. package/starters/kadoservices/themes/kadoservices/static/images/team-strategy-session.jpg +0 -0
  394. package/starters/kadoservices/themes/kadoservices/static/images/team-tomasz-lewandowski.png +0 -0
  395. package/starters/kadoservices/themes/kadoservices/static/style.css +542 -0
  396. package/starters/kadoservices/themes/kadoservices/theme.yaml +21 -0
  397. package/starters/kadoservices/themes/starter/_types.ts +93 -0
  398. package/starters/kadoservices/themes/starter/components/blog-listing/blog-listing.tsx +102 -0
  399. package/starters/kadoservices/themes/starter/components/blog-listing/schema.yaml +21 -0
  400. package/starters/kadoservices/themes/starter/components/columns/columns.tsx +101 -0
  401. package/starters/kadoservices/themes/starter/components/columns/schema.yaml +23 -0
  402. package/starters/kadoservices/themes/starter/components/counters/counters.css +13 -0
  403. package/starters/kadoservices/themes/starter/components/counters/counters.tsx +81 -0
  404. package/starters/kadoservices/themes/starter/components/counters/schema.yaml +23 -0
  405. package/starters/kadoservices/themes/starter/components/cta/cta.tsx +57 -0
  406. package/starters/kadoservices/themes/starter/components/cta/schema.yaml +30 -0
  407. package/starters/kadoservices/themes/starter/components/faq/faq.tsx +77 -0
  408. package/starters/kadoservices/themes/starter/components/faq/schema.yaml +20 -0
  409. package/starters/kadoservices/themes/starter/components/features/features.tsx +82 -0
  410. package/starters/kadoservices/themes/starter/components/features/schema.yaml +19 -0
  411. package/starters/kadoservices/themes/starter/components/form/form.tsx +126 -0
  412. package/starters/kadoservices/themes/starter/components/form/schema.yaml +18 -0
  413. package/starters/kadoservices/themes/starter/components/gallery/gallery.tsx +85 -0
  414. package/starters/kadoservices/themes/starter/components/gallery/schema.yaml +27 -0
  415. package/starters/kadoservices/themes/starter/components/hero/hero.tsx +77 -0
  416. package/starters/kadoservices/themes/starter/components/hero/schema.yaml +26 -0
  417. package/starters/kadoservices/themes/starter/components/logo-slider/logo-slider.css +21 -0
  418. package/starters/kadoservices/themes/starter/components/logo-slider/logo-slider.tsx +81 -0
  419. package/starters/kadoservices/themes/starter/components/logo-slider/schema.yaml +23 -0
  420. package/starters/kadoservices/themes/starter/components/pricing/pricing.tsx +141 -0
  421. package/starters/kadoservices/themes/starter/components/pricing/schema.yaml +44 -0
  422. package/starters/kadoservices/themes/starter/components/testimonials/schema.yaml +26 -0
  423. package/starters/kadoservices/themes/starter/components/testimonials/testimonials.tsx +100 -0
  424. package/starters/kadoservices/themes/starter/components/text/schema.yaml +12 -0
  425. package/starters/kadoservices/themes/starter/components/text/text.tsx +62 -0
  426. package/starters/kadoservices/themes/starter/components/text-with-image/schema.yaml +30 -0
  427. package/starters/kadoservices/themes/starter/components/text-with-image/text-with-image.tsx +86 -0
  428. package/starters/kadoservices/themes/starter/components/video/schema.yaml +19 -0
  429. package/starters/kadoservices/themes/starter/components/video/video.tsx +98 -0
  430. package/starters/kadoservices/themes/starter/layouts/article.tsx +42 -0
  431. package/starters/kadoservices/themes/starter/layouts/base.tsx +92 -0
  432. package/starters/kadoservices/themes/starter/layouts/landing-page.tsx +14 -0
  433. package/starters/kadoservices/themes/starter/layouts/page.tsx +29 -0
  434. package/starters/kadoservices/themes/starter/partials/footer.tsx +22 -0
  435. package/starters/kadoservices/themes/starter/partials/header.tsx +32 -0
  436. package/starters/kadoservices/themes/starter/static/style.css +125 -0
  437. package/starters/kadoservices/themes/starter/theme.yaml +16 -0
  438. package/starters/lokatech/config/content-types.yaml +226 -0
  439. package/starters/lokatech/config/languages.yaml +12 -0
  440. package/starters/lokatech/config/section-types.yaml +379 -0
  441. package/starters/lokatech/config/settings.yaml +15 -0
  442. package/starters/lokatech/config/sites.yaml +21 -0
  443. package/starters/lokatech/config/taxonomies.yaml +65 -0
  444. package/starters/lokatech/config/translations/de.yaml +108 -0
  445. package/starters/lokatech/config/translations/en.yaml +108 -0
  446. package/starters/lokatech/config/translations/pl.yaml +108 -0
  447. package/starters/lokatech/content/articles/ai-in-enterprise.md +51 -0
  448. package/starters/lokatech/content/articles/api-gateway-patterns-enterprise.md +35 -0
  449. package/starters/lokatech/content/articles/design-system-enterprise-scale.md +35 -0
  450. package/starters/lokatech/content/articles/domain-driven-design-bounded-contexts.md +35 -0
  451. package/starters/lokatech/content/articles/engineering-team-scaling-50-to-200.md +33 -0
  452. package/starters/lokatech/content/articles/event-driven-architecture-microservices.md +35 -0
  453. package/starters/lokatech/content/articles/future-of-cloud-native.md +47 -0
  454. package/starters/lokatech/content/articles/getting-started.md +83 -0
  455. package/starters/lokatech/content/articles/headless-cms-composable-architecture.md +35 -0
  456. package/starters/lokatech/content/articles/kubernetes-cost-optimization-finops.md +33 -0
  457. package/starters/lokatech/content/articles/legacy-modernization-strangler-fig.md +35 -0
  458. package/starters/lokatech/content/articles/llm-fine-tuning-enterprise-data.md +33 -0
  459. package/starters/lokatech/content/articles/observability-opentelemetry-stack.md +35 -0
  460. package/starters/lokatech/content/articles/platform-engineering-internal-developer-portals.md +33 -0
  461. package/starters/lokatech/content/articles/platform-engineering-internal-developer-portals.pl.md +33 -0
  462. package/starters/lokatech/content/articles/rag-retrieval-augmented-generation-production.md +35 -0
  463. package/starters/lokatech/content/articles/remote-engineering-culture-distributed-teams.md +35 -0
  464. package/starters/lokatech/content/articles/supply-chain-security-sbom.md +35 -0
  465. package/starters/lokatech/content/articles/welcome.md +42 -0
  466. package/starters/lokatech/content/articles/welcome.pl.md +39 -0
  467. package/starters/lokatech/content/articles/zero-trust-network-architecture.md +35 -0
  468. package/starters/lokatech/content/articles/zero-trust-security.md +55 -0
  469. package/starters/lokatech/content/case-studies/banking-platform-modernization.md +67 -0
  470. package/starters/lokatech/content/case-studies/ecommerce-platform-rewrite.md +64 -0
  471. package/starters/lokatech/content/case-studies/govtech-citizen-portal.md +59 -0
  472. package/starters/lokatech/content/case-studies/healthcare-data-pipeline.md +67 -0
  473. package/starters/lokatech/content/case-studies/healthcare-data-pipeline.pl.md +60 -0
  474. package/starters/lokatech/content/case-studies/insurance-claims-automation.md +58 -0
  475. package/starters/lokatech/content/case-studies/manufacturing-iot-digital-twin.md +58 -0
  476. package/starters/lokatech/content/case-studies/retail-cloud-migration.md +49 -0
  477. package/starters/lokatech/content/case-studies/telecom-5g-platform.md +57 -0
  478. package/starters/lokatech/content/industries/energy-utilities.md +35 -0
  479. package/starters/lokatech/content/industries/financial-services.md +35 -0
  480. package/starters/lokatech/content/industries/healthcare.md +35 -0
  481. package/starters/lokatech/content/industries/manufacturing.md +35 -0
  482. package/starters/lokatech/content/industries/retail-ecommerce.md +35 -0
  483. package/starters/lokatech/content/industries/telecom-media.md +35 -0
  484. package/starters/lokatech/content/landing-pages/homepage.pl.yaml +182 -0
  485. package/starters/lokatech/content/landing-pages/homepage.yaml +236 -0
  486. package/starters/lokatech/content/locations/berlin.md +22 -0
  487. package/starters/lokatech/content/locations/krakow.md +22 -0
  488. package/starters/lokatech/content/locations/london.md +22 -0
  489. package/starters/lokatech/content/locations/warsaw.md +22 -0
  490. package/starters/lokatech/content/locations/wroclaw.md +22 -0
  491. package/starters/lokatech/content/pages/about.md +55 -0
  492. package/starters/lokatech/content/pages/about.pl.md +36 -0
  493. package/starters/lokatech/content/pages/careers.md +50 -0
  494. package/starters/lokatech/content/pages/contact.md +51 -0
  495. package/starters/lokatech/content/pages/contact.pl.md +51 -0
  496. package/starters/lokatech/content/pages/security-compliance.md +66 -0
  497. package/starters/lokatech/content/services/cloud-infrastructure.md +73 -0
  498. package/starters/lokatech/content/services/custom-software-development.md +74 -0
  499. package/starters/lokatech/content/services/custom-software-development.pl.md +80 -0
  500. package/starters/lokatech/content/services/cybersecurity.md +72 -0
  501. package/starters/lokatech/content/services/data-ai.md +74 -0
  502. package/starters/lokatech/content/services/digital-transformation.md +70 -0
  503. package/starters/lokatech/content/services/it-outsourcing.md +72 -0
  504. package/starters/lokatech/content/team/anna-kowalska.md +21 -0
  505. package/starters/lokatech/content/team/jan-nowak.md +21 -0
  506. package/starters/lokatech/content/team/katarzyna-kaminska.md +20 -0
  507. package/starters/lokatech/content/team/maria-wisniewska.md +20 -0
  508. package/starters/lokatech/content/team/tomasz-lewandowski.md +20 -0
  509. package/starters/lokatech/starter.yaml +15 -0
  510. package/starters/lokatech/themes/lokatech/_types.ts +93 -0
  511. package/starters/lokatech/themes/lokatech/components/blog-listing/blog-listing.tsx +197 -0
  512. package/starters/lokatech/themes/lokatech/components/blog-listing/schema.yaml +21 -0
  513. package/starters/lokatech/themes/lokatech/components/columns/columns.tsx +104 -0
  514. package/starters/lokatech/themes/lokatech/components/columns/schema.yaml +23 -0
  515. package/starters/lokatech/themes/lokatech/components/counters/counters.css +13 -0
  516. package/starters/lokatech/themes/lokatech/components/counters/counters.tsx +103 -0
  517. package/starters/lokatech/themes/lokatech/components/counters/schema.yaml +23 -0
  518. package/starters/lokatech/themes/lokatech/components/cta/cta.tsx +100 -0
  519. package/starters/lokatech/themes/lokatech/components/cta/schema.yaml +30 -0
  520. package/starters/lokatech/themes/lokatech/components/faq/faq.tsx +77 -0
  521. package/starters/lokatech/themes/lokatech/components/faq/schema.yaml +20 -0
  522. package/starters/lokatech/themes/lokatech/components/features/features.tsx +149 -0
  523. package/starters/lokatech/themes/lokatech/components/features/schema.yaml +19 -0
  524. package/starters/lokatech/themes/lokatech/components/form/form.tsx +135 -0
  525. package/starters/lokatech/themes/lokatech/components/form/schema.yaml +18 -0
  526. package/starters/lokatech/themes/lokatech/components/gallery/gallery.tsx +90 -0
  527. package/starters/lokatech/themes/lokatech/components/gallery/schema.yaml +27 -0
  528. package/starters/lokatech/themes/lokatech/components/hero/hero.tsx +167 -0
  529. package/starters/lokatech/themes/lokatech/components/hero/schema.yaml +26 -0
  530. package/starters/lokatech/themes/lokatech/components/logo-slider/logo-slider.css +21 -0
  531. package/starters/lokatech/themes/lokatech/components/logo-slider/logo-slider.tsx +83 -0
  532. package/starters/lokatech/themes/lokatech/components/logo-slider/schema.yaml +23 -0
  533. package/starters/lokatech/themes/lokatech/components/pricing/pricing.tsx +161 -0
  534. package/starters/lokatech/themes/lokatech/components/pricing/schema.yaml +44 -0
  535. package/starters/lokatech/themes/lokatech/components/testimonials/schema.yaml +26 -0
  536. package/starters/lokatech/themes/lokatech/components/testimonials/testimonials.css +13 -0
  537. package/starters/lokatech/themes/lokatech/components/testimonials/testimonials.tsx +150 -0
  538. package/starters/lokatech/themes/lokatech/components/text/schema.yaml +12 -0
  539. package/starters/lokatech/themes/lokatech/components/text/text.tsx +67 -0
  540. package/starters/lokatech/themes/lokatech/components/text-with-image/schema.yaml +30 -0
  541. package/starters/lokatech/themes/lokatech/components/text-with-image/text-with-image.tsx +92 -0
  542. package/starters/lokatech/themes/lokatech/components/video/schema.yaml +19 -0
  543. package/starters/lokatech/themes/lokatech/components/video/video.tsx +103 -0
  544. package/starters/lokatech/themes/lokatech/layouts/404.tsx +96 -0
  545. package/starters/lokatech/themes/lokatech/layouts/article.tsx +140 -0
  546. package/starters/lokatech/themes/lokatech/layouts/base.tsx +672 -0
  547. package/starters/lokatech/themes/lokatech/layouts/case-study.tsx +233 -0
  548. package/starters/lokatech/themes/lokatech/layouts/index--articles.tsx +246 -0
  549. package/starters/lokatech/themes/lokatech/layouts/index--case-studies.tsx +230 -0
  550. package/starters/lokatech/themes/lokatech/layouts/index--services.tsx +237 -0
  551. package/starters/lokatech/themes/lokatech/layouts/index.tsx +96 -0
  552. package/starters/lokatech/themes/lokatech/layouts/industry.tsx +121 -0
  553. package/starters/lokatech/themes/lokatech/layouts/landing-page.tsx +14 -0
  554. package/starters/lokatech/themes/lokatech/layouts/page--about.tsx +158 -0
  555. package/starters/lokatech/themes/lokatech/layouts/page--careers.tsx +125 -0
  556. package/starters/lokatech/themes/lokatech/layouts/page--contact.tsx +235 -0
  557. package/starters/lokatech/themes/lokatech/layouts/page.tsx +45 -0
  558. package/starters/lokatech/themes/lokatech/layouts/service.tsx +235 -0
  559. package/starters/lokatech/themes/lokatech/partials/footer.tsx +109 -0
  560. package/starters/lokatech/themes/lokatech/partials/header.tsx +53 -0
  561. package/starters/lokatech/themes/lokatech/static/images/article-platform-engineering.jpg +0 -0
  562. package/starters/lokatech/themes/lokatech/static/images/barka-logo.png +0 -0
  563. package/starters/lokatech/themes/lokatech/static/images/case-study-banking-dashboard.jpg +0 -0
  564. package/starters/lokatech/themes/lokatech/static/images/case-study-banking.png +0 -0
  565. package/starters/lokatech/themes/lokatech/static/images/case-study-ecommerce-dashboard.jpg +0 -0
  566. package/starters/lokatech/themes/lokatech/static/images/case-study-healthcare-dashboard.jpg +0 -0
  567. package/starters/lokatech/themes/lokatech/static/images/case-study-healthcare.png +0 -0
  568. package/starters/lokatech/themes/lokatech/static/images/case-study-retail.png +0 -0
  569. package/starters/lokatech/themes/lokatech/static/images/hero-bg.png +0 -0
  570. package/starters/lokatech/themes/lokatech/static/images/lokatech-logo.png +0 -0
  571. package/starters/lokatech/themes/lokatech/static/images/office-warsaw.png +0 -0
  572. package/starters/lokatech/themes/lokatech/static/images/team-anna-kowalska.png +0 -0
  573. package/starters/lokatech/themes/lokatech/static/images/team-collaboration.jpg +0 -0
  574. package/starters/lokatech/themes/lokatech/static/images/team-jan-nowak.png +0 -0
  575. package/starters/lokatech/themes/lokatech/static/images/team-katarzyna-kaminska.png +0 -0
  576. package/starters/lokatech/themes/lokatech/static/images/team-maria-wisniewska.png +0 -0
  577. package/starters/lokatech/themes/lokatech/static/images/team-strategy-session.jpg +0 -0
  578. package/starters/lokatech/themes/lokatech/static/images/team-tomasz-lewandowski.png +0 -0
  579. package/starters/lokatech/themes/lokatech/static/style.css +495 -0
  580. package/starters/lokatech/themes/lokatech/theme.yaml +21 -0
  581. package/starters/lokatech/themes/starter/_types.ts +93 -0
  582. package/starters/lokatech/themes/starter/components/blog-listing/blog-listing.tsx +102 -0
  583. package/starters/lokatech/themes/starter/components/blog-listing/schema.yaml +21 -0
  584. package/starters/lokatech/themes/starter/components/columns/columns.tsx +101 -0
  585. package/starters/lokatech/themes/starter/components/columns/schema.yaml +23 -0
  586. package/starters/lokatech/themes/starter/components/counters/counters.css +13 -0
  587. package/starters/lokatech/themes/starter/components/counters/counters.tsx +81 -0
  588. package/starters/lokatech/themes/starter/components/counters/schema.yaml +23 -0
  589. package/starters/lokatech/themes/starter/components/cta/cta.tsx +57 -0
  590. package/starters/lokatech/themes/starter/components/cta/schema.yaml +30 -0
  591. package/starters/lokatech/themes/starter/components/faq/faq.tsx +77 -0
  592. package/starters/lokatech/themes/starter/components/faq/schema.yaml +20 -0
  593. package/starters/lokatech/themes/starter/components/features/features.tsx +82 -0
  594. package/starters/lokatech/themes/starter/components/features/schema.yaml +19 -0
  595. package/starters/lokatech/themes/starter/components/form/form.tsx +126 -0
  596. package/starters/lokatech/themes/starter/components/form/schema.yaml +18 -0
  597. package/starters/lokatech/themes/starter/components/gallery/gallery.tsx +85 -0
  598. package/starters/lokatech/themes/starter/components/gallery/schema.yaml +27 -0
  599. package/starters/lokatech/themes/starter/components/hero/hero.tsx +77 -0
  600. package/starters/lokatech/themes/starter/components/hero/schema.yaml +26 -0
  601. package/starters/lokatech/themes/starter/components/logo-slider/logo-slider.css +21 -0
  602. package/starters/lokatech/themes/starter/components/logo-slider/logo-slider.tsx +81 -0
  603. package/starters/lokatech/themes/starter/components/logo-slider/schema.yaml +23 -0
  604. package/starters/lokatech/themes/starter/components/pricing/pricing.tsx +141 -0
  605. package/starters/lokatech/themes/starter/components/pricing/schema.yaml +44 -0
  606. package/starters/lokatech/themes/starter/components/testimonials/schema.yaml +26 -0
  607. package/starters/lokatech/themes/starter/components/testimonials/testimonials.tsx +100 -0
  608. package/starters/lokatech/themes/starter/components/text/schema.yaml +12 -0
  609. package/starters/lokatech/themes/starter/components/text/text.tsx +62 -0
  610. package/starters/lokatech/themes/starter/components/text-with-image/schema.yaml +30 -0
  611. package/starters/lokatech/themes/starter/components/text-with-image/text-with-image.tsx +86 -0
  612. package/starters/lokatech/themes/starter/components/video/schema.yaml +19 -0
  613. package/starters/lokatech/themes/starter/components/video/video.tsx +98 -0
  614. package/starters/lokatech/themes/starter/layouts/article.tsx +42 -0
  615. package/starters/lokatech/themes/starter/layouts/base.tsx +92 -0
  616. package/starters/lokatech/themes/starter/layouts/landing-page.tsx +14 -0
  617. package/starters/lokatech/themes/starter/layouts/page.tsx +29 -0
  618. package/starters/lokatech/themes/starter/partials/footer.tsx +22 -0
  619. package/starters/lokatech/themes/starter/partials/header.tsx +32 -0
  620. package/starters/lokatech/themes/starter/static/style.css +125 -0
  621. package/starters/lokatech/themes/starter/theme.yaml +16 -0
package/dist/app.js ADDED
@@ -0,0 +1,464 @@
1
+ import fs from 'node:fs';
2
+ import path from 'node:path';
3
+ import crypto from 'node:crypto';
4
+ import { Hono } from 'hono';
5
+ import { serveStatic } from '@hono/node-server/serve-static';
6
+ import { setCookie, getCookie, deleteCookie } from 'hono/cookie';
7
+ import bcrypt from 'bcryptjs';
8
+ import { eq } from 'drizzle-orm';
9
+ import { createContentEngine, resolveContentPath, } from './content-engine.js';
10
+ import { hasDatabase, getDb } from './db/connection.js';
11
+ import * as schema from './db/schema.js';
12
+ import { loadSiteConfig } from './lib/config-files.js';
13
+ import { generateSitemap, generateRobotsTxt, generateRssFeed, } from './lib/seo.js';
14
+ import { createThemeResolver } from './lib/theme-loader.js';
15
+ import { renderContent } from './lib/template-renderer.js';
16
+ import { createAdminRoutes } from './routes/admin/index.js';
17
+ import { loadLanguages, loadTranslations, createT } from './lib/i18n.js';
18
+ import { loadSites, resolveSite, filterContentBySite } from './lib/multisite.js';
19
+ function render404Fallback(siteConfig) {
20
+ return `<!DOCTYPE html>
21
+ <html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
22
+ <title>Page not found | ${siteConfig.site_name}</title>
23
+ <style>body{font-family:system-ui,sans-serif;display:flex;align-items:center;justify-content:center;min-height:100vh;color:#1a1a1a;text-align:center}h1{font-size:4rem;font-weight:700}a{color:#2563eb}</style>
24
+ </head><body><div><h1>404</h1><p>Page not found. <a href="/">Go home</a></p></div></body></html>`;
25
+ }
26
+ export function createApp(options) {
27
+ const app = new Hono();
28
+ const engine = createContentEngine({
29
+ contentDir: path.resolve(options.contentDir),
30
+ configDir: path.resolve(options.configDir),
31
+ dataDir: path.resolve(options.dataDir),
32
+ });
33
+ const siteConfig = loadSiteConfig(path.resolve(options.configDir));
34
+ const themeName = siteConfig.theme ?? 'starter';
35
+ const themesDir = path.resolve(options.themesDir);
36
+ const themeStaticRoot = path.resolve(themesDir, themeName, 'static');
37
+ const publicRoot = path.resolve(options.publicDir);
38
+ const dataDir = path.resolve(options.dataDir);
39
+ const themeResolver = createThemeResolver(themesDir, themeName);
40
+ const themeConfig = themeResolver.getConfig();
41
+ const themeDefaults = themeConfig.settings
42
+ ? Object.fromEntries(Object.entries(themeConfig.settings)
43
+ .map(([k, v]) => [
44
+ k,
45
+ typeof v === 'object' && v !== null && 'default' in v
46
+ ? v.default
47
+ : typeof v === 'object' ? undefined : v,
48
+ ])
49
+ .filter(([, v]) => v !== undefined))
50
+ : {};
51
+ const themeSettings = { ...themeDefaults, ...siteConfig.theme_settings };
52
+ const languagesConfig = loadLanguages(path.resolve(options.configDir));
53
+ const availableLanguages = Object.keys(languagesConfig.languages);
54
+ const nonDefaultLangs = availableLanguages.filter((l) => l !== languagesConfig.default);
55
+ loadTranslations(path.resolve(options.configDir));
56
+ const sites = loadSites(path.resolve(options.configDir));
57
+ function getSiteLanguages(site) {
58
+ const siteLangs = site?.languages;
59
+ if (!siteLangs || siteLangs.length === 0) {
60
+ return {
61
+ default: languagesConfig.default,
62
+ languages: languagesConfig.languages,
63
+ nonDefault: nonDefaultLangs,
64
+ };
65
+ }
66
+ const defaultLang = site.default_lang;
67
+ const filtered = {};
68
+ for (const code of siteLangs) {
69
+ if (languagesConfig.languages[code]) {
70
+ filtered[code] = languagesConfig.languages[code];
71
+ }
72
+ }
73
+ return {
74
+ default: defaultLang,
75
+ languages: filtered,
76
+ nonDefault: siteLangs.filter((l) => l !== defaultLang),
77
+ };
78
+ }
79
+ async function render404(config, lang, currentPath, site = null) {
80
+ const siteLangs = getSiteLanguages(site);
81
+ const effectiveLang = lang ?? siteLangs.default;
82
+ const effectivePath = currentPath ?? '/404';
83
+ const now = new Date();
84
+ const virtualContent = {
85
+ id: '404',
86
+ title: 'Page not found',
87
+ type: '404',
88
+ status: 'published',
89
+ langcode: effectiveLang,
90
+ slug: '404',
91
+ body: '',
92
+ bodyHtml: '',
93
+ fields: {},
94
+ seo: { title: 'Page not found' },
95
+ sections: [],
96
+ createdAt: now,
97
+ updatedAt: now,
98
+ publishedAt: now,
99
+ };
100
+ try {
101
+ return await renderContent(virtualContent, config, themeResolver, settingsWithLang(effectiveLang, effectivePath, site));
102
+ }
103
+ catch (err) {
104
+ console.error('[theme] 404 render error:', err);
105
+ return render404Fallback(config);
106
+ }
107
+ }
108
+ // --- Site resolution middleware ------------------------------------------
109
+ app.use('*', async (c, next) => {
110
+ const host = c.req.header('host');
111
+ const site = resolveSite(host, sites);
112
+ c.set('site', site);
113
+ c.set('siteId', site?.id);
114
+ await next();
115
+ });
116
+ // --- Static assets -------------------------------------------------------
117
+ app.get('/static/components.css', (c) => {
118
+ const cssFiles = themeResolver.collectComponentCss();
119
+ const combined = cssFiles
120
+ .map((f) => `/* --- ${path.basename(path.dirname(f))} --- */\n${fs.readFileSync(f, 'utf-8')}`)
121
+ .join('\n\n');
122
+ return c.text(combined, 200, {
123
+ 'Content-Type': 'text/css; charset=utf-8',
124
+ 'Cache-Control': 'public, max-age=3600',
125
+ });
126
+ });
127
+ app.use('/static/*', serveStatic({
128
+ root: themeStaticRoot,
129
+ rewriteRequestPath: (p) => p.replace(/^\/static/, ''),
130
+ }));
131
+ app.use('/theme/*', serveStatic({
132
+ root: themeStaticRoot,
133
+ rewriteRequestPath: (p) => p.replace(/^\/theme/, ''),
134
+ }));
135
+ app.use('/*', serveStatic({ root: publicRoot }));
136
+ // --- Auth routes (only when DB is present) --------------------------------
137
+ if (hasDatabase(dataDir)) {
138
+ const db = getDb(dataDir);
139
+ const SESSION_MAX_AGE = 60 * 60 * 24 * 7; // 7 days
140
+ app.post('/api/auth/login', async (c) => {
141
+ const body = await c.req.json();
142
+ if (!body.email || !body.password) {
143
+ return c.json({ error: 'Email and password are required' }, 400);
144
+ }
145
+ const user = db
146
+ .select()
147
+ .from(schema.users)
148
+ .where(eq(schema.users.email, body.email))
149
+ .get();
150
+ if (!user || !bcrypt.compareSync(body.password, user.passwordHash)) {
151
+ return c.json({ error: 'Invalid credentials' }, 401);
152
+ }
153
+ const sessionId = crypto.randomUUID();
154
+ const expiresAt = new Date(Date.now() + SESSION_MAX_AGE * 1000);
155
+ db.insert(schema.sessions).values({
156
+ id: sessionId,
157
+ userId: user.id,
158
+ expiresAt,
159
+ }).run();
160
+ setCookie(c, 'barka_session', sessionId, {
161
+ httpOnly: true,
162
+ sameSite: 'Lax',
163
+ path: '/',
164
+ maxAge: SESSION_MAX_AGE,
165
+ });
166
+ return c.json({ id: user.id, email: user.email, name: user.name, role: user.role });
167
+ });
168
+ app.post('/api/auth/logout', async (c) => {
169
+ const sessionId = getCookie(c, 'barka_session');
170
+ if (sessionId) {
171
+ db.delete(schema.sessions).where(eq(schema.sessions.id, sessionId)).run();
172
+ deleteCookie(c, 'barka_session', { path: '/' });
173
+ }
174
+ return c.json({ ok: true });
175
+ });
176
+ app.get('/api/auth/me', async (c) => {
177
+ const sessionId = getCookie(c, 'barka_session');
178
+ if (!sessionId) {
179
+ return c.json({ user: null }, 401);
180
+ }
181
+ const session = db
182
+ .select()
183
+ .from(schema.sessions)
184
+ .where(eq(schema.sessions.id, sessionId))
185
+ .get();
186
+ if (!session || session.expiresAt < new Date()) {
187
+ if (session) {
188
+ db.delete(schema.sessions).where(eq(schema.sessions.id, sessionId)).run();
189
+ }
190
+ deleteCookie(c, 'barka_session', { path: '/' });
191
+ return c.json({ user: null }, 401);
192
+ }
193
+ const user = db
194
+ .select()
195
+ .from(schema.users)
196
+ .where(eq(schema.users.id, session.userId))
197
+ .get();
198
+ if (!user) {
199
+ return c.json({ user: null }, 401);
200
+ }
201
+ return c.json({
202
+ user: { id: user.id, email: user.email, name: user.name, role: user.role },
203
+ });
204
+ });
205
+ }
206
+ // --- Admin routes (only when DB is present) ------------------------------
207
+ if (hasDatabase(dataDir)) {
208
+ const adminRoutes = createAdminRoutes(dataDir, {
209
+ configDir: path.resolve(options.configDir),
210
+ themesDir: path.resolve(options.themesDir),
211
+ publicDir: path.resolve(options.publicDir),
212
+ contentDir: path.resolve(options.contentDir),
213
+ });
214
+ app.route('/admin', adminRoutes);
215
+ }
216
+ // --- SEO files -----------------------------------------------------------
217
+ app.get('/sitemap.xml', async (c) => {
218
+ const siteId = c.get('siteId');
219
+ const config = await engine.getSiteConfig();
220
+ const contents = filterContentBySite(await engine.listContent(), siteId);
221
+ const types = await engine.getContentTypes();
222
+ return c.text(generateSitemap(contents, config, types), 200, {
223
+ 'Content-Type': 'application/xml; charset=utf-8',
224
+ });
225
+ });
226
+ app.get('/robots.txt', async (c) => {
227
+ const config = await engine.getSiteConfig();
228
+ return c.text(generateRobotsTxt(config));
229
+ });
230
+ app.get('/feed.xml', async (c) => {
231
+ const siteId = c.get('siteId');
232
+ const config = await engine.getSiteConfig();
233
+ const contents = filterContentBySite(await engine.listContent(), siteId);
234
+ const types = await engine.getContentTypes();
235
+ const feedCfg = config.seo?.feeds?.[0] ?? {
236
+ content_types: ['article'],
237
+ limit: 20,
238
+ };
239
+ return c.text(generateRssFeed(contents, config, feedCfg, types), 200, {
240
+ 'Content-Type': 'application/rss+xml; charset=utf-8',
241
+ });
242
+ });
243
+ // --- Collection listing routes --------------------------------------------
244
+ const listingRoutes = {
245
+ '/articles': { type: 'article', title: 'Insights', subtitle: 'Engineering perspectives, technical deep-dives, and industry analysis' },
246
+ '/services': { type: 'service', title: 'Our Services' },
247
+ '/industries': { type: 'industry', title: 'Industries', subtitle: 'Deep domain expertise across regulated and high-growth sectors' },
248
+ '/case-studies': { type: 'case_study', title: 'Case Studies', subtitle: 'Real results for real enterprises' },
249
+ };
250
+ for (const [routePath, listing] of Object.entries(listingRoutes)) {
251
+ app.get(routePath, async (c) => {
252
+ const site = c.get('site');
253
+ const siteId = c.get('siteId');
254
+ const siteLangs = getSiteLanguages(site);
255
+ const config = await engine.getSiteConfig();
256
+ const allContent = filterContentBySite(await engine.listContent(), siteId);
257
+ const contentTypes = await engine.getContentTypes();
258
+ const items = allContent
259
+ .filter((item) => item.type === listing.type &&
260
+ item.status === 'published' &&
261
+ (!item.langcode || item.langcode === siteLangs.default))
262
+ .map((item) => ({
263
+ ...item,
264
+ url: resolveContentPath(item, contentTypes),
265
+ }));
266
+ const now = new Date();
267
+ const virtualContent = {
268
+ id: `virtual-${routePath.replace(/^\//, '')}`,
269
+ slug: routePath.replace(/^\//, ''),
270
+ title: listing.title,
271
+ type: 'index',
272
+ status: 'published',
273
+ langcode: siteLangs.default,
274
+ body: '',
275
+ bodyHtml: '',
276
+ fields: {
277
+ subtitle: listing.subtitle,
278
+ items,
279
+ },
280
+ sections: [],
281
+ createdAt: now,
282
+ updatedAt: now,
283
+ publishedAt: now,
284
+ };
285
+ try {
286
+ const html = await renderContent(virtualContent, config, themeResolver, settingsWithLang(siteLangs.default, routePath, site));
287
+ return c.html(html);
288
+ }
289
+ catch (err) {
290
+ console.error(`[theme] Listing render error for ${routePath}:`, err);
291
+ return c.html(await render404(config, siteLangs.default, routePath, site), 404);
292
+ }
293
+ });
294
+ }
295
+ // --- Helper: render with language context --------------------------------
296
+ function settingsWithLang(lang, currentPath, site = null) {
297
+ const siteLangs = getSiteLanguages(site);
298
+ const basePath = lang === siteLangs.default ? '' : `/${lang}`;
299
+ return {
300
+ ...themeSettings,
301
+ ...(site?.settings ?? {}),
302
+ _lang: lang,
303
+ _defaultLang: siteLangs.default,
304
+ _languages: siteLangs.languages,
305
+ _currentPath: currentPath,
306
+ _basePath: basePath,
307
+ _url: (path) => `${basePath}${path}`,
308
+ _t: createT(lang, siteLangs.default),
309
+ _siteId: site?.id,
310
+ };
311
+ }
312
+ // --- Language-prefixed routes (e.g. /pl/services/cloud) ------------------
313
+ for (const lang of nonDefaultLangs) {
314
+ const prefix = `/${lang}`;
315
+ app.get(`${prefix}`, async (c) => {
316
+ const site = c.get('site');
317
+ const siteId = c.get('siteId');
318
+ const config = await engine.getSiteConfig();
319
+ const homepage = await engine.getContent('homepage', lang);
320
+ if (homepage) {
321
+ try {
322
+ const html = await renderContent(homepage, config, themeResolver, settingsWithLang(lang, prefix, site));
323
+ return c.html(html);
324
+ }
325
+ catch (err) {
326
+ console.error(`[theme] ${lang} homepage render error:`, err);
327
+ }
328
+ }
329
+ return c.html(await render404(config, lang, prefix, site), 404);
330
+ });
331
+ for (const [routePath, listing] of Object.entries(listingRoutes)) {
332
+ app.get(`${prefix}${routePath}`, async (c) => {
333
+ const site = c.get('site');
334
+ const siteId = c.get('siteId');
335
+ const config = await engine.getSiteConfig();
336
+ const allContent = filterContentBySite(await engine.listContent(), siteId);
337
+ const contentTypes = await engine.getContentTypes();
338
+ const items = allContent
339
+ .filter((item) => item.type === listing.type &&
340
+ item.status === 'published' &&
341
+ item.langcode === lang)
342
+ .map((item) => ({
343
+ ...item,
344
+ url: `${prefix}${resolveContentPath(item, contentTypes)}`,
345
+ }));
346
+ const now = new Date();
347
+ const virtualContent = {
348
+ id: `virtual-${lang}-${routePath.replace(/^\//, '')}`,
349
+ slug: routePath.replace(/^\//, ''),
350
+ title: listing.title,
351
+ type: 'index',
352
+ status: 'published',
353
+ langcode: lang,
354
+ body: '',
355
+ bodyHtml: '',
356
+ fields: { subtitle: listing.subtitle, items },
357
+ sections: [],
358
+ createdAt: now,
359
+ updatedAt: now,
360
+ publishedAt: now,
361
+ };
362
+ try {
363
+ const html = await renderContent(virtualContent, config, themeResolver, settingsWithLang(lang, `${prefix}${routePath}`, site));
364
+ return c.html(html);
365
+ }
366
+ catch (err) {
367
+ console.error(`[theme] ${lang} listing render error for ${routePath}:`, err);
368
+ return c.html(await render404(config, lang, `${prefix}${routePath}`, site), 404);
369
+ }
370
+ });
371
+ }
372
+ app.get(`${prefix}/*`, async (c) => {
373
+ const site = c.get('site');
374
+ const siteId = c.get('siteId');
375
+ const urlPath = new URL(c.req.url).pathname;
376
+ const pathWithoutPrefix = urlPath.slice(prefix.length);
377
+ const config = await engine.getSiteConfig();
378
+ const allContent = filterContentBySite(await engine.listContent(), siteId);
379
+ const contentTypes = await engine.getContentTypes();
380
+ const normalized = pathWithoutPrefix !== '/' && pathWithoutPrefix.endsWith('/')
381
+ ? pathWithoutPrefix.slice(0, -1)
382
+ : pathWithoutPrefix;
383
+ let content = null;
384
+ for (const item of allContent) {
385
+ if (item.langcode !== lang)
386
+ continue;
387
+ const resolved = resolveContentPath(item, contentTypes);
388
+ if (resolved === normalized) {
389
+ content = item;
390
+ break;
391
+ }
392
+ }
393
+ if (!content) {
394
+ content = allContent.find((item) => item.langcode === lang && `/${item.slug}` === normalized) ?? null;
395
+ }
396
+ if (!content) {
397
+ return c.html(await render404(config, lang, urlPath, site), 404);
398
+ }
399
+ try {
400
+ const html = await renderContent(content, config, themeResolver, settingsWithLang(lang, urlPath, site));
401
+ return c.html(html);
402
+ }
403
+ catch (err) {
404
+ console.error(`[theme] ${lang} render error for ${urlPath}:`, err);
405
+ return c.html(await render404(config, lang, urlPath, site), 404);
406
+ }
407
+ });
408
+ }
409
+ // --- Catch-all content route (default language) -------------------------
410
+ app.get('*', async (c) => {
411
+ const site = c.get('site');
412
+ const siteId = c.get('siteId');
413
+ const siteLangs = getSiteLanguages(site);
414
+ const urlPath = new URL(c.req.url).pathname;
415
+ const config = await engine.getSiteConfig();
416
+ const lang = siteLangs.default;
417
+ if (urlPath === '/') {
418
+ const homepage = (await engine.getContent('homepage', lang)) ??
419
+ (await engine.getContent('homepage')) ??
420
+ (await engine.getContent('index'));
421
+ if (homepage) {
422
+ try {
423
+ const html = await renderContent(homepage, config, themeResolver, settingsWithLang(lang, '/', site));
424
+ return c.html(html);
425
+ }
426
+ catch (err) {
427
+ console.error('[theme] Homepage render error:', err);
428
+ }
429
+ }
430
+ return c.html(await render404(config, lang, '/', site), 404);
431
+ }
432
+ const allContent = filterContentBySite(await engine.listContent(), siteId);
433
+ const contentTypes = await engine.getContentTypes();
434
+ const normalized = urlPath !== '/' && urlPath.endsWith('/')
435
+ ? urlPath.slice(0, -1)
436
+ : urlPath;
437
+ let content = null;
438
+ for (const item of allContent) {
439
+ if (item.langcode && item.langcode !== lang)
440
+ continue;
441
+ const resolved = resolveContentPath(item, contentTypes);
442
+ if (resolved === normalized) {
443
+ content = item;
444
+ break;
445
+ }
446
+ }
447
+ if (!content) {
448
+ content = allContent.find((item) => (!item.langcode || item.langcode === lang) && `/${item.slug}` === normalized) ?? null;
449
+ }
450
+ if (!content) {
451
+ return c.html(await render404(config, lang, urlPath, site), 404);
452
+ }
453
+ try {
454
+ const html = await renderContent(content, config, themeResolver, settingsWithLang(lang, urlPath, site));
455
+ return c.html(html);
456
+ }
457
+ catch (err) {
458
+ console.error(`[theme] Render error for ${urlPath}:`, err);
459
+ return c.html(await render404(config, lang, urlPath, site), 404);
460
+ }
461
+ });
462
+ return { app, engine };
463
+ }
464
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /** @jsxImportSource hono/jsx */
2
+ export default function CtaSection({ data }: {
3
+ data: any;
4
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
5
+ //# sourceMappingURL=cta.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cta.d.ts","sourceRoot":"","sources":["../../../../src/built-in-theme/components/cta/cta.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,kDAezD"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ /** @jsxImportSource hono/jsx */
3
+ export default function CtaSection({ data }) {
4
+ return (_jsxs("section", { style: "text-align: center; padding: 3rem 1rem; background: #2563eb; color: white; border-radius: 8px; margin: 2rem 0;", children: [data.heading && _jsx("h2", { style: "color: white; margin-bottom: 0.75rem;", children: data.heading }), data.body && _jsx("p", { style: "opacity: 0.9; margin-bottom: 1.5rem;", children: data.body }), data.button_text && data.button_url && (_jsx("a", { href: data.button_url, style: "display: inline-block; padding: 0.75rem 2rem; background: white; color: #2563eb; text-decoration: none; border-radius: 6px; font-weight: 600;", children: data.button_text }))] }));
5
+ }
6
+ //# sourceMappingURL=cta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cta.js","sourceRoot":"","sources":["../../../../src/built-in-theme/components/cta/cta.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EAAE,IAAI,EAAiB;IACxD,OAAO,CACL,mBAAS,KAAK,EAAC,gHAAgH,aAC5H,IAAI,CAAC,OAAO,IAAI,aAAI,KAAK,EAAC,uCAAuC,YAAE,IAAI,CAAC,OAAO,GAAM,EACrF,IAAI,CAAC,IAAI,IAAI,YAAG,KAAK,EAAC,sCAAsC,YAAE,IAAI,CAAC,IAAI,GAAK,EAC5E,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAAI,CACtC,YACE,IAAI,EAAE,IAAI,CAAC,UAAU,EACrB,KAAK,EAAC,+IAA+I,YAEpJ,IAAI,CAAC,WAAW,GACf,CACL,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** @jsxImportSource hono/jsx */
2
+ export default function FeaturesSection({ data }: {
3
+ data: any;
4
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
5
+ //# sourceMappingURL=features.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.d.ts","sourceRoot":"","sources":["../../../../src/built-in-theme/components/features/features.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,kDAe9D"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ /** @jsxImportSource hono/jsx */
3
+ export default function FeaturesSection({ data }) {
4
+ const items = data.items ?? [];
5
+ return (_jsxs("section", { style: "padding: 2rem 0;", children: [data.heading && _jsx("h2", { style: "margin-bottom: 1.5rem;", children: data.heading }), _jsx("div", { style: `display: grid; grid-template-columns: repeat(${data.columns ?? 3}, 1fr); gap: 2rem;`, children: items.map((item) => (_jsxs("div", { style: "padding: 1.5rem; background: #f9fafb; border-radius: 8px;", children: [item.title && _jsx("h3", { style: "margin-bottom: 0.5rem;", children: item.title }), item.description && _jsx("p", { style: "color: #6b7280; font-size: 0.9rem;", children: item.description })] }))) })] }));
6
+ }
7
+ //# sourceMappingURL=features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.js","sourceRoot":"","sources":["../../../../src/built-in-theme/components/features/features.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EAAE,IAAI,EAAiB;IAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,OAAO,CACL,mBAAS,KAAK,EAAC,kBAAkB,aAC9B,IAAI,CAAC,OAAO,IAAI,aAAI,KAAK,EAAC,wBAAwB,YAAE,IAAI,CAAC,OAAO,GAAM,EACvE,cAAK,KAAK,EAAE,gDAAgD,IAAI,CAAC,OAAO,IAAI,CAAC,oBAAoB,YAC9F,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,CACxB,eAAK,KAAK,EAAC,2DAA2D,aACnE,IAAI,CAAC,KAAK,IAAI,aAAI,KAAK,EAAC,wBAAwB,YAAE,IAAI,CAAC,KAAK,GAAM,EAClE,IAAI,CAAC,WAAW,IAAI,YAAG,KAAK,EAAC,oCAAoC,YAAE,IAAI,CAAC,WAAW,GAAK,IACrF,CACP,CAAC,GACE,IACE,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /** @jsxImportSource hono/jsx */
2
+ export default function HeroSection({ data }: {
3
+ data: any;
4
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
5
+ //# sourceMappingURL=hero.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../../../src/built-in-theme/components/hero/hero.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,kDAe1D"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ /** @jsxImportSource hono/jsx */
3
+ export default function HeroSection({ data }) {
4
+ return (_jsxs("section", { style: "text-align: center; padding: 4rem 1rem; background: #f9fafb; border-radius: 8px; margin-bottom: 2rem;", children: [data.heading && _jsx("h1", { style: "font-size: 2.5rem; margin-bottom: 1rem;", children: data.heading }), data.subheading && _jsx("p", { style: "font-size: 1.1rem; color: #6b7280; max-width: 36rem; margin: 0 auto 1.5rem;", children: data.subheading }), data.cta_text && data.cta_url && (_jsx("a", { href: data.cta_url, style: "display: inline-block; padding: 0.75rem 2rem; background: #2563eb; color: white; text-decoration: none; border-radius: 6px; font-weight: 600;", children: data.cta_text }))] }));
5
+ }
6
+ //# sourceMappingURL=hero.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../../../src/built-in-theme/components/hero/hero.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAiB;IACzD,OAAO,CACL,mBAAS,KAAK,EAAC,uGAAuG,aACnH,IAAI,CAAC,OAAO,IAAI,aAAI,KAAK,EAAC,yCAAyC,YAAE,IAAI,CAAC,OAAO,GAAM,EACvF,IAAI,CAAC,UAAU,IAAI,YAAG,KAAK,EAAC,6EAA6E,YAAE,IAAI,CAAC,UAAU,GAAK,EAC/H,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,IAAI,CAChC,YACE,IAAI,EAAE,IAAI,CAAC,OAAO,EAClB,KAAK,EAAC,+IAA+I,YAEpJ,IAAI,CAAC,QAAQ,GACZ,CACL,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function TextSection({ data }: {
2
+ data: any;
3
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
4
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../../src/built-in-theme/components/text/text.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,IAAI,EAAE,GAAG,CAAA;CAAE,kDAO1D"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ /** @jsxImportSource hono/jsx */
3
+ import { raw } from 'hono/html';
4
+ export default function TextSection({ data }) {
5
+ return (_jsxs("section", { style: "padding: 2rem 0;", children: [data.heading && _jsx("h2", { children: data.heading }), data.body && _jsx("div", { children: raw(data.body) })] }));
6
+ }
7
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../../../src/built-in-theme/components/text/text.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,EAAE,IAAI,EAAiB;IACzD,OAAO,CACL,mBAAS,KAAK,EAAC,kBAAkB,aAC9B,IAAI,CAAC,OAAO,IAAI,uBAAK,IAAI,CAAC,OAAO,GAAM,EACvC,IAAI,CAAC,IAAI,IAAI,wBAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAO,IACjC,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export default function ArticleLayout({ content }: {
2
+ content: any;
3
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
4
+ //# sourceMappingURL=article.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.d.ts","sourceRoot":"","sources":["../../../src/built-in-theme/layouts/article.tsx"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,GAAG,CAAA;CAAE,kDAgBlE"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "hono/jsx/jsx-runtime";
2
+ /** @jsxImportSource hono/jsx */
3
+ import { raw } from 'hono/html';
4
+ export default function ArticleLayout({ content }) {
5
+ return (_jsxs("article", { children: [_jsx("h1", { children: content.title }), content.date && (_jsx("p", { style: "color: #6b7280; font-size: 0.9rem; margin-bottom: 1.5rem;", children: new Date(content.date).toLocaleDateString('en-US', {
6
+ year: 'numeric',
7
+ month: 'long',
8
+ day: 'numeric',
9
+ }) })), content.html && _jsx("div", { children: raw(content.html) })] }));
10
+ }
11
+ //# sourceMappingURL=article.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"article.js","sourceRoot":"","sources":["../../../src/built-in-theme/layouts/article.tsx"],"names":[],"mappings":";AAAA,gCAAgC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhC,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,OAAO,EAAoB;IACjE,OAAO,CACL,8BACE,uBAAK,OAAO,CAAC,KAAK,GAAM,EACvB,OAAO,CAAC,IAAI,IAAI,CACf,YAAG,KAAK,EAAC,2DAA2D,YACjE,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE;oBAClD,IAAI,EAAE,SAAS;oBACf,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,SAAS;iBACf,CAAC,GACA,CACL,EACA,OAAO,CAAC,IAAI,IAAI,wBAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAO,IACvC,CACX,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** @jsxImportSource hono/jsx */
2
+ export default function BaseLayout({ children, title, siteName, }: {
3
+ children: unknown;
4
+ title: string;
5
+ siteName: string;
6
+ }): import("hono/jsx/jsx-dev-runtime").JSX.Element;
7
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/built-in-theme/layouts/base.tsx"],"names":[],"mappings":"AAAA,gCAAgC;AAEhC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,kDAuCA"}