@kywi-software/core 0.2.0 → 0.3.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 (364) hide show
  1. package/README.md +57 -2
  2. package/dist/admin/app.d.ts +10 -1
  3. package/dist/admin/app.d.ts.map +1 -1
  4. package/dist/admin/app.js +2 -2
  5. package/dist/admin/app.js.map +1 -1
  6. package/dist/admin/approval-queue.d.ts +3 -1
  7. package/dist/admin/approval-queue.d.ts.map +1 -1
  8. package/dist/admin/approval-queue.js +2 -2
  9. package/dist/admin/approval-queue.js.map +1 -1
  10. package/dist/admin/audience-list.d.ts.map +1 -1
  11. package/dist/admin/audience-list.js +9 -1
  12. package/dist/admin/audience-list.js.map +1 -1
  13. package/dist/admin/chrome.d.ts +7 -1
  14. package/dist/admin/chrome.d.ts.map +1 -1
  15. package/dist/admin/chrome.js +2 -1
  16. package/dist/admin/chrome.js.map +1 -1
  17. package/dist/admin/content-editor-api.d.ts +27 -1
  18. package/dist/admin/content-editor-api.d.ts.map +1 -1
  19. package/dist/admin/content-editor-api.js +60 -2
  20. package/dist/admin/content-editor-api.js.map +1 -1
  21. package/dist/admin/content-form.d.ts +62 -6
  22. package/dist/admin/content-form.d.ts.map +1 -1
  23. package/dist/admin/content-form.js +118 -13
  24. package/dist/admin/content-form.js.map +1 -1
  25. package/dist/admin/content-permissions-tab.d.ts +13 -0
  26. package/dist/admin/content-permissions-tab.d.ts.map +1 -0
  27. package/dist/admin/content-permissions-tab.js +90 -0
  28. package/dist/admin/content-permissions-tab.js.map +1 -0
  29. package/dist/admin/context.d.ts +8 -0
  30. package/dist/admin/context.d.ts.map +1 -1
  31. package/dist/admin/context.js.map +1 -1
  32. package/dist/admin/feed-builder.d.ts.map +1 -1
  33. package/dist/admin/feed-builder.js +20 -1
  34. package/dist/admin/feed-builder.js.map +1 -1
  35. package/dist/admin/field-components.d.ts.map +1 -1
  36. package/dist/admin/field-components.js +26 -1
  37. package/dist/admin/field-components.js.map +1 -1
  38. package/dist/admin/form-builder.js +6 -1
  39. package/dist/admin/form-builder.js.map +1 -1
  40. package/dist/admin/form-helpers.d.ts.map +1 -1
  41. package/dist/admin/form-helpers.js +2 -0
  42. package/dist/admin/form-helpers.js.map +1 -1
  43. package/dist/admin/kywi-logo.d.ts +21 -0
  44. package/dist/admin/kywi-logo.d.ts.map +1 -0
  45. package/dist/admin/kywi-logo.js +123 -0
  46. package/dist/admin/kywi-logo.js.map +1 -0
  47. package/dist/admin/layout-editor/component-actions.d.ts +18 -0
  48. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  49. package/dist/admin/layout-editor/component-actions.js +19 -0
  50. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  51. package/dist/admin/layout-editor/component-picker-field.d.ts +20 -0
  52. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -0
  53. package/dist/admin/layout-editor/component-picker-field.js +16 -0
  54. package/dist/admin/layout-editor/component-picker-field.js.map +1 -0
  55. package/dist/admin/layout-editor/drag-utils.d.ts +48 -0
  56. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  57. package/dist/admin/layout-editor/drag-utils.js +43 -0
  58. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  59. package/dist/admin/layout-editor/editor-canvas.d.ts +9 -1
  60. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  61. package/dist/admin/layout-editor/editor-canvas.js +41 -15
  62. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  63. package/dist/admin/layout-editor/editor-state.d.ts +9 -1
  64. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  65. package/dist/admin/layout-editor/editor-state.js +34 -0
  66. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  67. package/dist/admin/layout-editor/editor.css +83 -0
  68. package/dist/admin/layout-editor/form-picker-field.d.ts +17 -0
  69. package/dist/admin/layout-editor/form-picker-field.d.ts.map +1 -0
  70. package/dist/admin/layout-editor/form-picker-field.js +35 -0
  71. package/dist/admin/layout-editor/form-picker-field.js.map +1 -0
  72. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  73. package/dist/admin/layout-editor/layout-editor.js +95 -28
  74. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  75. package/dist/admin/layout-editor/mode-toggle.d.ts.map +1 -1
  76. package/dist/admin/layout-editor/mode-toggle.js +1 -1
  77. package/dist/admin/layout-editor/mode-toggle.js.map +1 -1
  78. package/dist/admin/layout-editor/module-overlay.d.ts +10 -1
  79. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  80. package/dist/admin/layout-editor/module-overlay.js +3 -3
  81. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  82. package/dist/admin/layout-editor/props-panel.d.ts +10 -1
  83. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  84. package/dist/admin/layout-editor/props-panel.js +25 -2
  85. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  86. package/dist/admin/layout-editor/section-insert-line.d.ts.map +1 -1
  87. package/dist/admin/layout-editor/section-insert-line.js +1 -1
  88. package/dist/admin/layout-editor/section-insert-line.js.map +1 -1
  89. package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
  90. package/dist/admin/layout-editor/section-overlay.js +1 -1
  91. package/dist/admin/layout-editor/section-overlay.js.map +1 -1
  92. package/dist/admin/layout-editor/section-template-picker.d.ts +9 -1
  93. package/dist/admin/layout-editor/section-template-picker.d.ts.map +1 -1
  94. package/dist/admin/layout-editor/section-template-picker.js +45 -2
  95. package/dist/admin/layout-editor/section-template-picker.js.map +1 -1
  96. package/dist/admin/registry.d.ts.map +1 -1
  97. package/dist/admin/registry.js +11 -0
  98. package/dist/admin/registry.js.map +1 -1
  99. package/dist/admin/server.d.ts +15 -2
  100. package/dist/admin/server.d.ts.map +1 -1
  101. package/dist/admin/server.js +37 -1
  102. package/dist/admin/server.js.map +1 -1
  103. package/dist/admin/shell.d.ts.map +1 -1
  104. package/dist/admin/shell.js +62 -3
  105. package/dist/admin/shell.js.map +1 -1
  106. package/dist/admin/styles/admin.css +105 -27
  107. package/dist/admin/surface-matcher.d.ts +27 -0
  108. package/dist/admin/surface-matcher.d.ts.map +1 -1
  109. package/dist/admin/surface-matcher.js +11 -0
  110. package/dist/admin/surface-matcher.js.map +1 -1
  111. package/dist/admin/surfaces/approvals/approvals-data.d.ts +29 -9
  112. package/dist/admin/surfaces/approvals/approvals-data.d.ts.map +1 -1
  113. package/dist/admin/surfaces/approvals/approvals-data.js +65 -22
  114. package/dist/admin/surfaces/approvals/approvals-data.js.map +1 -1
  115. package/dist/admin/surfaces/approvals/approvals-index.d.ts.map +1 -1
  116. package/dist/admin/surfaces/approvals/approvals-index.js +47 -14
  117. package/dist/admin/surfaces/approvals/approvals-index.js.map +1 -1
  118. package/dist/admin/surfaces/content/content-edit.d.ts.map +1 -1
  119. package/dist/admin/surfaces/content/content-edit.js +34 -8
  120. package/dist/admin/surfaces/content/content-edit.js.map +1 -1
  121. package/dist/admin/surfaces/content/content-index.d.ts.map +1 -1
  122. package/dist/admin/surfaces/content/content-index.js +29 -2
  123. package/dist/admin/surfaces/content/content-index.js.map +1 -1
  124. package/dist/admin/surfaces/content/content-new.d.ts.map +1 -1
  125. package/dist/admin/surfaces/content/content-new.js +6 -4
  126. package/dist/admin/surfaces/content/content-new.js.map +1 -1
  127. package/dist/admin/surfaces/contentTree/content-tree.d.ts.map +1 -1
  128. package/dist/admin/surfaces/contentTree/content-tree.js +25 -2
  129. package/dist/admin/surfaces/contentTree/content-tree.js.map +1 -1
  130. package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts.map +1 -1
  131. package/dist/admin/surfaces/contentTypes/content-types-designer.js +78 -47
  132. package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -1
  133. package/dist/admin/surfaces/feeds/feed-editor.d.ts.map +1 -1
  134. package/dist/admin/surfaces/feeds/feed-editor.js +21 -4
  135. package/dist/admin/surfaces/feeds/feed-editor.js.map +1 -1
  136. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  137. package/dist/admin/surfaces/layouts/layout-editor-client.js +7 -4
  138. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  139. package/dist/admin/surfaces/login.d.ts.map +1 -1
  140. package/dist/admin/surfaces/login.js +2 -1
  141. package/dist/admin/surfaces/login.js.map +1 -1
  142. package/dist/admin/surfaces/media/media-client.d.ts.map +1 -1
  143. package/dist/admin/surfaces/media/media-client.js +10 -2
  144. package/dist/admin/surfaces/media/media-client.js.map +1 -1
  145. package/dist/admin/surfaces/settings/settings-site.d.ts.map +1 -1
  146. package/dist/admin/surfaces/settings/settings-site.js +39 -2
  147. package/dist/admin/surfaces/settings/settings-site.js.map +1 -1
  148. package/dist/admin/surfaces/settings/settings-sites.js +18 -0
  149. package/dist/admin/surfaces/settings/settings-sites.js.map +1 -1
  150. package/dist/admin/surfaces/trash/trash-index.d.ts.map +1 -1
  151. package/dist/admin/surfaces/trash/trash-index.js +45 -8
  152. package/dist/admin/surfaces/trash/trash-index.js.map +1 -1
  153. package/dist/admin/surfaces/users/users-data.d.ts +11 -0
  154. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  155. package/dist/admin/surfaces/users/users-data.js +20 -1
  156. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  157. package/dist/admin/surfaces/webServices/web-services-data.d.ts +11 -1
  158. package/dist/admin/surfaces/webServices/web-services-data.d.ts.map +1 -1
  159. package/dist/admin/surfaces/webServices/web-services-data.js +13 -0
  160. package/dist/admin/surfaces/webServices/web-services-data.js.map +1 -1
  161. package/dist/admin/surfaces/webServices/webhooks.d.ts +3 -0
  162. package/dist/admin/surfaces/webServices/webhooks.d.ts.map +1 -0
  163. package/dist/admin/surfaces/webServices/webhooks.js +69 -0
  164. package/dist/admin/surfaces/webServices/webhooks.js.map +1 -0
  165. package/dist/admin/webhook-manager.d.ts +32 -0
  166. package/dist/admin/webhook-manager.d.ts.map +1 -0
  167. package/dist/admin/webhook-manager.js +62 -0
  168. package/dist/admin/webhook-manager.js.map +1 -0
  169. package/dist/api/admin-features-routes.d.ts.map +1 -1
  170. package/dist/api/admin-features-routes.js +30 -0
  171. package/dist/api/admin-features-routes.js.map +1 -1
  172. package/dist/api/api-key-routes.d.ts.map +1 -1
  173. package/dist/api/api-key-routes.js +6 -1
  174. package/dist/api/api-key-routes.js.map +1 -1
  175. package/dist/api/auth.d.ts +8 -0
  176. package/dist/api/auth.d.ts.map +1 -1
  177. package/dist/api/auth.js +11 -1
  178. package/dist/api/auth.js.map +1 -1
  179. package/dist/api/comment-routes.d.ts.map +1 -1
  180. package/dist/api/comment-routes.js +102 -47
  181. package/dist/api/comment-routes.js.map +1 -1
  182. package/dist/api/config-routes.d.ts +10 -2
  183. package/dist/api/config-routes.d.ts.map +1 -1
  184. package/dist/api/config-routes.js +46 -25
  185. package/dist/api/config-routes.js.map +1 -1
  186. package/dist/api/content-routes.d.ts.map +1 -1
  187. package/dist/api/content-routes.js +41 -0
  188. package/dist/api/content-routes.js.map +1 -1
  189. package/dist/api/content-schemas.d.ts.map +1 -1
  190. package/dist/api/content-schemas.js +34 -1
  191. package/dist/api/content-schemas.js.map +1 -1
  192. package/dist/api/content-type-routes.d.ts.map +1 -1
  193. package/dist/api/content-type-routes.js +58 -3
  194. package/dist/api/content-type-routes.js.map +1 -1
  195. package/dist/api/feed-routes.d.ts +180 -0
  196. package/dist/api/feed-routes.d.ts.map +1 -1
  197. package/dist/api/feed-routes.js +10 -2
  198. package/dist/api/feed-routes.js.map +1 -1
  199. package/dist/api/form-routes.d.ts +6 -0
  200. package/dist/api/form-routes.d.ts.map +1 -1
  201. package/dist/api/form-routes.js +93 -14
  202. package/dist/api/form-routes.js.map +1 -1
  203. package/dist/api/graphql/resolvers.d.ts +4 -4
  204. package/dist/api/index.d.ts.map +1 -1
  205. package/dist/api/index.js +12 -1
  206. package/dist/api/index.js.map +1 -1
  207. package/dist/api/media-routes.d.ts.map +1 -1
  208. package/dist/api/media-routes.js +18 -1
  209. package/dist/api/media-routes.js.map +1 -1
  210. package/dist/api/webhook-routes.d.ts.map +1 -1
  211. package/dist/api/webhook-routes.js +19 -2
  212. package/dist/api/webhook-routes.js.map +1 -1
  213. package/dist/api/workflow-routes.d.ts.map +1 -1
  214. package/dist/api/workflow-routes.js +163 -4
  215. package/dist/api/workflow-routes.js.map +1 -1
  216. package/dist/auth/roles.d.ts +28 -0
  217. package/dist/auth/roles.d.ts.map +1 -1
  218. package/dist/auth/roles.js +49 -0
  219. package/dist/auth/roles.js.map +1 -1
  220. package/dist/config/reserved-field-names.d.ts +29 -0
  221. package/dist/config/reserved-field-names.d.ts.map +1 -0
  222. package/dist/config/reserved-field-names.js +59 -0
  223. package/dist/config/reserved-field-names.js.map +1 -0
  224. package/dist/config/types.d.ts +31 -2
  225. package/dist/config/types.d.ts.map +1 -1
  226. package/dist/config/types.js.map +1 -1
  227. package/dist/db/analytics-queries.d.ts +1 -1
  228. package/dist/db/api-key-queries.d.ts +7 -2
  229. package/dist/db/api-key-queries.d.ts.map +1 -1
  230. package/dist/db/api-key-queries.js +8 -2
  231. package/dist/db/api-key-queries.js.map +1 -1
  232. package/dist/db/apply-snapshot.d.ts +58 -0
  233. package/dist/db/apply-snapshot.d.ts.map +1 -0
  234. package/dist/db/apply-snapshot.js +142 -0
  235. package/dist/db/apply-snapshot.js.map +1 -0
  236. package/dist/db/audit-queries.d.ts +3 -3
  237. package/dist/db/category-queries.d.ts +3 -3
  238. package/dist/db/changeset-audit-queries.d.ts +2 -2
  239. package/dist/db/changeset-queries.d.ts +5 -5
  240. package/dist/db/changeset-queries.d.ts.map +1 -1
  241. package/dist/db/changeset-queries.js +24 -7
  242. package/dist/db/changeset-queries.js.map +1 -1
  243. package/dist/db/content-queries.d.ts +6 -0
  244. package/dist/db/content-queries.d.ts.map +1 -1
  245. package/dist/db/content-queries.js +8 -0
  246. package/dist/db/content-queries.js.map +1 -1
  247. package/dist/db/content-type-queries.d.ts +20 -0
  248. package/dist/db/content-type-queries.d.ts.map +1 -1
  249. package/dist/db/content-type-queries.js +32 -0
  250. package/dist/db/content-type-queries.js.map +1 -1
  251. package/dist/db/dashboard-queries.d.ts.map +1 -1
  252. package/dist/db/dashboard-queries.js +5 -1
  253. package/dist/db/dashboard-queries.js.map +1 -1
  254. package/dist/db/dynamic-schema.d.ts.map +1 -1
  255. package/dist/db/dynamic-schema.js +2 -0
  256. package/dist/db/dynamic-schema.js.map +1 -1
  257. package/dist/db/extension-queries.d.ts +8 -8
  258. package/dist/db/feed-queries.d.ts +3 -3
  259. package/dist/db/index.d.ts +3 -0
  260. package/dist/db/index.d.ts.map +1 -1
  261. package/dist/db/index.js +7 -0
  262. package/dist/db/index.js.map +1 -1
  263. package/dist/db/media-queries.d.ts +31 -7
  264. package/dist/db/media-queries.d.ts.map +1 -1
  265. package/dist/db/media-queries.js +13 -1
  266. package/dist/db/media-queries.js.map +1 -1
  267. package/dist/db/membership-dedupe.d.ts +26 -0
  268. package/dist/db/membership-dedupe.d.ts.map +1 -0
  269. package/dist/db/membership-dedupe.js +68 -0
  270. package/dist/db/membership-dedupe.js.map +1 -0
  271. package/dist/db/revision-queries.d.ts +122 -0
  272. package/dist/db/revision-queries.d.ts.map +1 -0
  273. package/dist/db/revision-queries.js +213 -0
  274. package/dist/db/revision-queries.js.map +1 -0
  275. package/dist/db/schema-apply.d.ts +8 -0
  276. package/dist/db/schema-apply.d.ts.map +1 -1
  277. package/dist/db/schema-apply.js +17 -0
  278. package/dist/db/schema-apply.js.map +1 -1
  279. package/dist/db/schema-field-queries.d.ts +2 -0
  280. package/dist/db/schema-field-queries.d.ts.map +1 -1
  281. package/dist/db/schema-field-queries.js +4 -0
  282. package/dist/db/schema-field-queries.js.map +1 -1
  283. package/dist/db/site-plugin-queries.d.ts +2 -2
  284. package/dist/db/user-queries.d.ts +12 -0
  285. package/dist/db/user-queries.d.ts.map +1 -1
  286. package/dist/db/user-queries.js +18 -4
  287. package/dist/db/user-queries.js.map +1 -1
  288. package/dist/db/version-queries.d.ts +37 -0
  289. package/dist/db/version-queries.d.ts.map +1 -1
  290. package/dist/db/version-queries.js +36 -0
  291. package/dist/db/version-queries.js.map +1 -1
  292. package/dist/db/webhook-queries.d.ts +27 -5
  293. package/dist/db/webhook-queries.d.ts.map +1 -1
  294. package/dist/db/webhook-queries.js +17 -0
  295. package/dist/db/webhook-queries.js.map +1 -1
  296. package/dist/db/workflow-queries.d.ts +2 -2
  297. package/dist/experiments/schema.d.ts +1 -1
  298. package/dist/hooks/index.d.ts +1 -1
  299. package/dist/hooks/index.d.ts.map +1 -1
  300. package/dist/hooks/index.js +1 -1
  301. package/dist/hooks/index.js.map +1 -1
  302. package/dist/hooks/webhook-retry.d.ts +22 -1
  303. package/dist/hooks/webhook-retry.d.ts.map +1 -1
  304. package/dist/hooks/webhook-retry.js +38 -1
  305. package/dist/hooks/webhook-retry.js.map +1 -1
  306. package/dist/host/index.d.ts +28 -0
  307. package/dist/host/index.d.ts.map +1 -1
  308. package/dist/host/index.js +56 -1
  309. package/dist/host/index.js.map +1 -1
  310. package/dist/layout/comments-module.d.ts +18 -0
  311. package/dist/layout/comments-module.d.ts.map +1 -0
  312. package/dist/layout/comments-module.js +130 -0
  313. package/dist/layout/comments-module.js.map +1 -0
  314. package/dist/layout/feed-hydration.d.ts +75 -0
  315. package/dist/layout/feed-hydration.d.ts.map +1 -0
  316. package/dist/layout/feed-hydration.js +158 -0
  317. package/dist/layout/feed-hydration.js.map +1 -0
  318. package/dist/layout/index.d.ts +2 -1
  319. package/dist/layout/index.d.ts.map +1 -1
  320. package/dist/layout/index.js +2 -1
  321. package/dist/layout/index.js.map +1 -1
  322. package/dist/layout/module-render-context.d.ts +13 -0
  323. package/dist/layout/module-render-context.d.ts.map +1 -0
  324. package/dist/layout/module-render-context.js +15 -0
  325. package/dist/layout/module-render-context.js.map +1 -0
  326. package/dist/layout/modules-extended.d.ts.map +1 -1
  327. package/dist/layout/modules-extended.js +92 -13
  328. package/dist/layout/modules-extended.js.map +1 -1
  329. package/dist/layout/registry.d.ts.map +1 -1
  330. package/dist/layout/registry.js +22 -6
  331. package/dist/layout/registry.js.map +1 -1
  332. package/dist/layout/renderer.d.ts +17 -1
  333. package/dist/layout/renderer.d.ts.map +1 -1
  334. package/dist/layout/renderer.js +11 -4
  335. package/dist/layout/renderer.js.map +1 -1
  336. package/dist/nav/index.d.ts +1 -0
  337. package/dist/nav/index.d.ts.map +1 -1
  338. package/dist/nav/index.js +4 -0
  339. package/dist/nav/index.js.map +1 -1
  340. package/dist/nav/url-resolver.d.ts +10 -2
  341. package/dist/nav/url-resolver.d.ts.map +1 -1
  342. package/dist/nav/url-resolver.js +17 -3
  343. package/dist/nav/url-resolver.js.map +1 -1
  344. package/dist/schema/base.d.ts +37 -1
  345. package/dist/schema/base.d.ts.map +1 -1
  346. package/dist/schema/base.js +20 -2
  347. package/dist/schema/base.js.map +1 -1
  348. package/dist/schema/generate.d.ts +8 -0
  349. package/dist/schema/generate.d.ts.map +1 -1
  350. package/dist/schema/generate.js +7 -4
  351. package/dist/schema/generate.js.map +1 -1
  352. package/dist/schema/mapper.d.ts.map +1 -1
  353. package/dist/schema/mapper.js +2 -0
  354. package/dist/schema/mapper.js.map +1 -1
  355. package/dist/schema/mysql-tables.d.ts +34 -0
  356. package/dist/schema/mysql-tables.d.ts.map +1 -1
  357. package/dist/schema/mysql-tables.js +14 -2
  358. package/dist/schema/mysql-tables.js.map +1 -1
  359. package/dist/server.d.ts +1 -0
  360. package/dist/server.d.ts.map +1 -1
  361. package/dist/server.js +1 -0
  362. package/dist/server.js.map +1 -1
  363. package/dist/site/styles.css +384 -0
  364. package/package.json +2 -1
package/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  The engine behind Kywi CMS: it turns a `kywi.config.ts` file (content types,
4
4
  sites, themes, auth providers) into a Postgres/MySQL schema (via Drizzle), a
5
5
  REST API, and the building blocks for the admin UI — all inside a Next.js
6
- app. See the [root README](https://github.com/kywi-software/kywi#readme) for
6
+ app. See the [root README](https://github.com/Kywi-Software/kywi-cms#readme) for
7
7
  an orientation to the whole project, and `packages/core/src/config/types.ts`
8
8
  for the full config shape.
9
9
 
@@ -77,7 +77,62 @@ the schema and creates a superadmin user.
77
77
  - `./audiences`, `./audiences/types`, `./evaluator` — the audience
78
78
  targeting engine.
79
79
  - `./experiments`, `./experiments/types` — A/B testing.
80
- - `./ax` — shared audience/experiment types used by both.
80
+ - `./ax` — the Agent Experience layer: `llms.txt`/`llms-full.txt`/
81
+ `sitemap.xml`/`robots.txt`/JSON-LD/single-page-markdown generators (see
82
+ below).
83
+
84
+ ## Content types: config + admin UI
85
+
86
+ Content types aren't config-only. Declare them in `kywi.config.ts`
87
+ (`contentTypes: ContentTypeConfig[]`, `source: 'config'`), *and/or* create and
88
+ edit them visually in the admin at **Settings → Content Types** (`source:
89
+ 'admin'`) — the two compose at runtime. The admin UI
90
+ (`packages/core/src/admin/surfaces/contentTypes/`) is a type list plus a
91
+ field designer: add a type, then add/edit/delete/reorder its fields and apply
92
+ the resulting schema changes, without hand-writing config or migrations.
93
+
94
+ ## Front-of-site overlay editor (`?kywi-edit=1`)
95
+
96
+ Any content route a host app wires up can be edited in place: appending
97
+ `?kywi-edit=1` to its public URL swaps the live page for the same
98
+ drag-and-drop layout editor used elsewhere in the admin
99
+ (`OverlayShell`, `packages/core/src/admin/layout-editor/overlay-shell.tsx`),
100
+ for a signed-in user with edit permission — no separate admin route to hunt
101
+ down the page in. `@kywi-software/core` ships the editor component and the
102
+ `data-kywi-editable`/`data-kywi-type`/`data-kywi-content-id` markup protocol
103
+ (`./scope`) it uses to find editable fields on the page; a host app is
104
+ responsible for mounting the overlay and resolving the viewer's edit
105
+ permission on its content routes (see `packages/create-kywi-app` and
106
+ `docs/hosting.md` in the monorepo for the reference wiring).
107
+
108
+ ## Theming: config tokens → `--kywi-*` CSS variables
109
+
110
+ Beyond `defineTheme({ name, regions })` (page structure) and
111
+ `./admin/styles.css` (the *admin's* stylesheet), a theme can declare `tokens`
112
+ across five categories — `colors`, `spacing`, `typography`, `borderRadius`,
113
+ `shadow` (`ThemeTokens`, `packages/core/src/config/types.ts`) — that style
114
+ the *public site* a visitor sees. The pipeline
115
+ (`packages/core/src/layout/theme-css.ts`) turns each token into a
116
+ `--kywi-{category}-{key}` custom property (e.g. `typography.familySans` →
117
+ `--kywi-font-family-sans`), emitted as a `:root { ... }` block plus a
118
+ per-breakpoint `@media` override for any `key@breakpoint` token. The layout
119
+ renderer (`packages/core/src/layout/renderer.tsx`) also tags every
120
+ structural element with `data-kywi-*` hooks (`data-kywi-region`,
121
+ `data-kywi-section`, `data-kywi-column`, `data-kywi-module`, ...) so a
122
+ front-end developer can target generated markup without relying on internal
123
+ class names.
124
+
125
+ ## Agent Experience (AX) layer
126
+
127
+ `./ax` is a server-only, deterministic set of generators that project
128
+ published content for AI agents and crawlers: `llms.txt`, `llms-full.txt`,
129
+ `sitemap.xml`, `robots.txt`, per-page JSON-LD, and single-page markdown
130
+ negotiation (`packages/core/src/ax/*`). Nothing in this module calls a
131
+ model provider — missing data falls back deterministically, so output stays
132
+ byte-stable across crawls. In the admin, **Settings → Agent Experience** is a
133
+ read-only status dashboard (per-surface enabled/disabled, URLs, publish
134
+ counts), not an authoring UI — the surfaces themselves are generated, not
135
+ hand-edited.
81
136
 
82
137
  For anything not covered here, `packages/core/src/` is the source of truth —
83
138
  this README summarizes it, not the other way around.
@@ -31,6 +31,7 @@
31
31
  */
32
32
  import React from 'react';
33
33
  import type { AdminRuntimeConfig } from './server.js';
34
+ import type { ModuleComponentMap } from '../layout/index.js';
34
35
  import type { AdminSurface } from './registry.js';
35
36
  import { AdminProvider } from './context.js';
36
37
  export interface KywiAdminAppProps {
@@ -57,6 +58,14 @@ export interface KywiAdminAppProps {
57
58
  href: string;
58
59
  children: React.ReactNode;
59
60
  }>;
61
+ /**
62
+ * Host-provided React renderers for custom (`defineModule`) module types,
63
+ * keyed by module type (kywi-cms#48). Threaded to the layout editor (via
64
+ * `AdminContext`) so a host module previews with its real component while
65
+ * editing. The metadata (palette entry, prop fields, persistence) comes from
66
+ * `runtime.modules`; this supplies the renderer that cannot be serialized.
67
+ */
68
+ moduleComponents?: ModuleComponentMap;
60
69
  }
61
70
  /** Core 404 view: shown for an unknown path or a config-disabled surface. */
62
71
  export declare function SurfaceNotFound(): import("react/jsx-runtime").JSX.Element;
@@ -64,6 +73,6 @@ export declare function SurfaceNotFound(): import("react/jsx-runtime").JSX.Eleme
64
73
  export declare function SurfaceForbidden({ surface }: {
65
74
  surface?: AdminSurface;
66
75
  }): import("react/jsx-runtime").JSX.Element;
67
- export declare function KywiAdminApp({ runtime, segments, navigate, loginNext }: KywiAdminAppProps): import("react/jsx-runtime").JSX.Element;
76
+ export declare function KywiAdminApp({ runtime, segments, navigate, loginNext, moduleComponents }: KywiAdminAppProps): import("react/jsx-runtime").JSX.Element;
68
77
  export { AdminProvider };
69
78
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/admin/app.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAA;AAI/D,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAA;AAK7D,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,OAAO,EAAE,kBAAkB,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;CACjF;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,4CAU9B;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,2CAavE;AAsDD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAwBzF;AAKD,OAAO,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/admin/app.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAA4B,MAAM,OAAO,CAAA;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,eAAe,CAAA;AAI/D,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAA;AAK7D,MAAM,WAAW,iBAAiB;IAChC,sFAAsF;IACtF,OAAO,EAAE,kBAAkB,CAAA;IAC3B,sFAAsF;IACtF,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;KAAE,CAAC,CAAA;IAChF;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC;AAED,6EAA6E;AAC7E,wBAAgB,eAAe,4CAU9B;AAED,iFAAiF;AACjF,wBAAgB,gBAAgB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,CAAC,EAAE,YAAY,CAAA;CAAE,2CAavE;AAsDD,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,EAAE,iBAAiB,2CA6B3G;AAKD,OAAO,EAAE,aAAa,EAAE,CAAA"}
package/dist/admin/app.js CHANGED
@@ -78,7 +78,7 @@ function SurfaceGate({ surface, params, runtime, }) {
78
78
  }
79
79
  return (_jsx(Suspense, { fallback: _jsx(Loading, {}), children: _jsx(Lazy, { params: params }) }));
80
80
  }
81
- export function KywiAdminApp({ runtime, segments, navigate, loginNext }) {
81
+ export function KywiAdminApp({ runtime, segments, navigate, loginNext, moduleComponents }) {
82
82
  // ── Login special-case: chrome-less, not a registry surface (plan §1.1). ──
83
83
  if (segments.length === 1 && segments[0] === 'login') {
84
84
  return _jsx(LoginSurface, { next: loginNext ?? null });
@@ -89,7 +89,7 @@ export function KywiAdminApp({ runtime, segments, navigate, loginNext }) {
89
89
  // Config ceiling (hard gate). null ⇒ unknown path or config-disabled surface.
90
90
  const match = resolveSurface(segments, runtime.admin);
91
91
  const content = match ? (_jsx(SurfaceGate, { surface: match.surface, params: match.params, runtime: runtime })) : (_jsx(SurfaceNotFound, {}));
92
- return (_jsx(AdminChrome, { runtime: runtime, currentPath: currentPath, navigate: go, children: content }));
92
+ return (_jsx(AdminChrome, { runtime: runtime, currentPath: currentPath, navigate: go, ...(moduleComponents ? { moduleComponents } : {}), children: content }));
93
93
  }
94
94
  // AdminProvider is re-exported here only so consumers importing the app entry
95
95
  // point can access the context wiring without a second import path; the chrome
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/admin/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/admin/app.tsx"],"names":[],"mappings":"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"}
@@ -18,9 +18,11 @@ export interface ApprovalQueueProps {
18
18
  onApprove?: (id: string, comment?: string) => void;
19
19
  /** Reject a submission back to draft. The optional comment is the reason. */
20
20
  onReject?: (id: string, comment?: string) => void;
21
+ /** Open the field-level diff for a row, so approving is never done blind (#45.1). */
22
+ onViewDiff?: (id: string) => void;
21
23
  filterOptions?: ApprovalFilterOptions;
22
24
  /** Disables all row actions while a transition is in flight. */
23
25
  busy?: boolean;
24
26
  }
25
- export declare function ApprovalQueue({ items, onApprove, onReject, filterOptions, busy, }: ApprovalQueueProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function ApprovalQueue({ items, onApprove, onReject, onViewDiff, filterOptions, busy, }: ApprovalQueueProps): import("react/jsx-runtime").JSX.Element;
26
28
  //# sourceMappingURL=approval-queue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-queue.d.ts","sourceRoot":"","sources":["../../src/admin/approval-queue.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAID,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,aAAa,EACb,IAAY,GACb,EAAE,kBAAkB,2CAyIpB"}
1
+ {"version":3,"file":"approval-queue.d.ts","sourceRoot":"","sources":["../../src/admin/approval-queue.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,SAAS,CAAA;CAClB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAA;IAC1B,iFAAiF;IACjF,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACjD,qFAAqF;IACrF,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,aAAa,CAAC,EAAE,qBAAqB,CAAA;IACrC,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAID,wBAAgB,aAAa,CAAC,EAC5B,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,aAAa,EACb,IAAY,GACb,EAAE,kBAAkB,2CAmJpB"}
@@ -2,7 +2,7 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState } from 'react';
4
4
  // ── ApprovalQueue ──────────────────────────────────────────────────────────────
5
- export function ApprovalQueue({ items, onApprove, onReject, filterOptions, busy = false, }) {
5
+ export function ApprovalQueue({ items, onApprove, onReject, onViewDiff, filterOptions, busy = false, }) {
6
6
  const [filterSite, setFilterSite] = useState('');
7
7
  const [filterContentType, setFilterContentType] = useState('');
8
8
  const [filterSubmitter, setFilterSubmitter] = useState('');
@@ -17,6 +17,6 @@ export function ApprovalQueue({ items, onApprove, onReject, filterOptions, busy
17
17
  return false;
18
18
  return true;
19
19
  });
20
- return (_jsxs("div", { className: "kywi-approval-queue", children: [_jsx("div", { className: "kywi-approval-queue-header", children: _jsx("h1", { children: "Approvals" }) }), filterOptions && (_jsxs("div", { className: "kywi-approval-filters", children: [filterOptions.sites && filterOptions.sites.length > 0 && (_jsxs("select", { id: "filter-site", className: "kywi-select", value: filterSite, onChange: e => setFilterSite(e.target.value), children: [_jsx("option", { value: "", children: "All Sites" }), filterOptions.sites.map(s => (_jsx("option", { value: s, children: s }, s)))] })), filterOptions.contentTypes && filterOptions.contentTypes.length > 0 && (_jsxs("select", { id: "filter-content-type", className: "kywi-select", value: filterContentType, onChange: e => setFilterContentType(e.target.value), children: [_jsx("option", { value: "", children: "All Content Types" }), filterOptions.contentTypes.map(ct => (_jsx("option", { value: ct, children: ct }, ct)))] })), filterOptions.submitters && filterOptions.submitters.length > 0 && (_jsxs("select", { id: "filter-submitter", className: "kywi-select", value: filterSubmitter, onChange: e => setFilterSubmitter(e.target.value), children: [_jsx("option", { value: "", children: "All Submitters" }), filterOptions.submitters.map(u => (_jsx("option", { value: u, children: u }, u)))] }))] })), _jsxs("table", { className: "kywi-approval-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Title" }), _jsx("th", { children: "Content Type" }), _jsx("th", { children: "Site" }), _jsx("th", { children: "Submitted By" }), _jsx("th", { children: "Submitted At" }), _jsx("th", { children: "Status" }), _jsx("th", { children: "Actions" })] }) }), _jsxs("tbody", { children: [filtered.map(item => (_jsxs("tr", { className: "kywi-approval-row", children: [_jsx("td", { children: item.title }), _jsx("td", { children: item.contentType }), _jsx("td", { children: item.siteId }), _jsx("td", { children: item.submittedBy }), _jsx("td", { children: new Date(item.submittedAt).toLocaleDateString() }), _jsx("td", { children: _jsx("span", { className: `kywi-status-badge kywi-status-${item.status}`, children: item.status }) }), _jsxs("td", { className: "kywi-approval-actions", children: [(onApprove || onReject) && (_jsx("input", { type: "text", className: "kywi-input kywi-input-narrow kywi-approval-comment", placeholder: "Comment (optional)\u2026", "aria-label": `Comment for ${item.title}`, value: comments[item.id] ?? '', onChange: e => setComments(prev => ({ ...prev, [item.id]: e.target.value })), disabled: busy })), onApprove && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary kywi-btn-sm", onClick: () => onApprove(item.id, comments[item.id]?.trim() || undefined), disabled: busy, children: "Approve" })), onReject && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", onClick: () => onReject(item.id, comments[item.id]?.trim() || undefined), disabled: busy, children: "Reject" }))] })] }, item.id))), filtered.length === 0 && (_jsx("tr", { children: _jsx("td", { colSpan: 7, className: "kywi-approval-empty", children: "No pending items" }) }))] })] })] }));
20
+ return (_jsxs("div", { className: "kywi-approval-queue", children: [_jsx("div", { className: "kywi-approval-queue-header", children: _jsx("h1", { children: "Approvals" }) }), filterOptions && (_jsxs("div", { className: "kywi-approval-filters", children: [filterOptions.sites && filterOptions.sites.length > 0 && (_jsxs("select", { id: "filter-site", className: "kywi-select", value: filterSite, onChange: e => setFilterSite(e.target.value), children: [_jsx("option", { value: "", children: "All Sites" }), filterOptions.sites.map(s => (_jsx("option", { value: s, children: s }, s)))] })), filterOptions.contentTypes && filterOptions.contentTypes.length > 0 && (_jsxs("select", { id: "filter-content-type", className: "kywi-select", value: filterContentType, onChange: e => setFilterContentType(e.target.value), children: [_jsx("option", { value: "", children: "All Content Types" }), filterOptions.contentTypes.map(ct => (_jsx("option", { value: ct, children: ct }, ct)))] })), filterOptions.submitters && filterOptions.submitters.length > 0 && (_jsxs("select", { id: "filter-submitter", className: "kywi-select", value: filterSubmitter, onChange: e => setFilterSubmitter(e.target.value), children: [_jsx("option", { value: "", children: "All Submitters" }), filterOptions.submitters.map(u => (_jsx("option", { value: u, children: u }, u)))] }))] })), _jsxs("table", { className: "kywi-approval-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { children: "Title" }), _jsx("th", { children: "Content Type" }), _jsx("th", { children: "Site" }), _jsx("th", { children: "Submitted By" }), _jsx("th", { children: "Submitted At" }), _jsx("th", { children: "Status" }), _jsx("th", { children: "Actions" })] }) }), _jsxs("tbody", { children: [filtered.map(item => (_jsxs("tr", { className: "kywi-approval-row", children: [_jsx("td", { children: item.title }), _jsx("td", { children: item.contentType }), _jsx("td", { children: item.siteId }), _jsx("td", { children: item.submittedBy }), _jsx("td", { children: new Date(item.submittedAt).toLocaleDateString() }), _jsx("td", { children: _jsx("span", { className: `kywi-status-badge kywi-status-${item.status}`, children: item.status }) }), _jsxs("td", { className: "kywi-approval-actions", children: [onViewDiff && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary kywi-btn-sm kywi-approval-diff", onClick: () => onViewDiff(item.id), disabled: busy, children: "View changes" })), (onApprove || onReject) && (_jsx("input", { type: "text", className: "kywi-input kywi-input-narrow kywi-approval-comment", placeholder: "Comment (optional)\u2026", "aria-label": `Comment for ${item.title}`, value: comments[item.id] ?? '', onChange: e => setComments(prev => ({ ...prev, [item.id]: e.target.value })), disabled: busy })), onApprove && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary kywi-btn-sm", onClick: () => onApprove(item.id, comments[item.id]?.trim() || undefined), disabled: busy, children: "Approve" })), onReject && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", onClick: () => onReject(item.id, comments[item.id]?.trim() || undefined), disabled: busy, children: "Reject" }))] })] }, item.id))), filtered.length === 0 && (_jsx("tr", { children: _jsx("td", { colSpan: 7, className: "kywi-approval-empty", children: "No pending items" }) }))] })] })] }));
21
21
  }
22
22
  //# sourceMappingURL=approval-queue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"approval-queue.js","sourceRoot":"","sources":["../../src/admin/approval-queue.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"approval-queue.js","sourceRoot":"","sources":["../../src/admin/approval-queue.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audience-list.d.ts","sourceRoot":"","sources":["../../src/admin/audience-list.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAA;AAUrE,UAAU,qBAAqB;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AA+DD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAqG3F"}
1
+ {"version":3,"file":"audience-list.d.ts","sourceRoot":"","sources":["../../src/admin/audience-list.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,QAAQ,EAAkB,MAAM,uBAAuB,CAAA;AAUrE,UAAU,qBAAqB;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC3D;AA+DD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAqH3F"}
@@ -27,6 +27,14 @@ function SortableAudienceRow({ audience, priority }) {
27
27
  }
28
28
  export function AudienceListPage({ audiences, onNewClick, onReorder }) {
29
29
  const [order, setOrder] = useState(audiences);
30
+ // kywi-cms#53: DndContext renders a hidden screen-reader live region
31
+ // alongside its children. Nested directly under <table> (a <div> is not a
32
+ // valid child of <table> — only <thead>/<tbody>/<tfoot>/<tr>/... are) this
33
+ // produced a React hydration error on every load. dnd-kit's supported fix is
34
+ // `accessibility.container`, which portals that markup into a DOM node of
35
+ // our choosing instead of rendering it inline; point it at a plain <div>
36
+ // rendered as a sibling of <table>, below.
37
+ const [a11yContainer, setA11yContainer] = useState(null);
30
38
  // Keep local order in sync when the parent reloads the list (e.g. after a
31
39
  // reorder persists, or after create/delete).
32
40
  useEffect(() => { setOrder(audiences); }, [audiences]);
@@ -51,6 +59,6 @@ export function AudienceListPage({ audiences, onNewClick, onReorder }) {
51
59
  if (!onReorder) {
52
60
  return (_jsxs("div", { className: "kywi-admin-audience-list", children: [header, _jsxs("table", { className: "kywi-admin-table", children: [tableHead, _jsxs("tbody", { children: [rows.map(audience => (_jsxs("tr", { className: "kywi-admin-audience-row", children: [_jsx("td", { className: "kywi-admin-priority", children: audience.priority }), _jsx(AudienceCells, { audience: audience, priority: audience.priority })] }, audience.id))), rows.length === 0 && emptyState] })] })] }));
53
61
  }
54
- return (_jsxs("div", { className: "kywi-admin-audience-list", children: [header, rows.length > 0 && (_jsx("p", { className: "kywi-admin-section-hint", children: "Drag rows by the handle to change match priority (top = highest)." })), _jsxs("table", { className: "kywi-admin-table", children: [tableHead, _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: rows.map(a => a.id), strategy: verticalListSortingStrategy, children: _jsxs("tbody", { children: [rows.map((audience, index) => (_jsx(SortableAudienceRow, { audience: audience, priority: index + 1 }, audience.id))), rows.length === 0 && emptyState] }) }) })] })] }));
62
+ return (_jsxs("div", { className: "kywi-admin-audience-list", children: [header, rows.length > 0 && (_jsx("p", { className: "kywi-admin-section-hint", children: "Drag rows by the handle to change match priority (top = highest)." })), _jsxs("table", { className: "kywi-admin-table", children: [tableHead, _jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, accessibility: { container: a11yContainer ?? undefined }, children: _jsx(SortableContext, { items: rows.map(a => a.id), strategy: verticalListSortingStrategy, children: _jsxs("tbody", { children: [rows.map((audience, index) => (_jsx(SortableAudienceRow, { audience: audience, priority: index + 1 }, audience.id))), rows.length === 0 && emptyState] }) }) })] }), _jsx("div", { ref: setA11yContainer })] }));
55
63
  }
56
64
  //# sourceMappingURL=audience-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"audience-list.js","sourceRoot":"","sources":["../../src/admin/audience-list.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"audience-list.js","sourceRoot":"","sources":["../../src/admin/audience-list.tsx"],"names":[],"mappings":"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"}
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import React from 'react';
18
18
  import type { AdminRuntimeConfig } from './server.js';
19
+ import type { ModuleComponentMap } from '../layout/index.js';
19
20
  export interface AdminChromeProps {
20
21
  /**
21
22
  * The secret-free `AdminRuntimeConfig` projection. Its `.admin` ceiling drives
@@ -32,6 +33,11 @@ export interface AdminChromeProps {
32
33
  * a `location` assignment so core stays `next`-free.
33
34
  */
34
35
  navigate?: (path: string) => void;
36
+ /**
37
+ * Host-provided renderers for custom (`defineModule`) module types (kywi-cms#48).
38
+ * Passed straight through to `AdminContext` for the layout editor to consume.
39
+ */
40
+ moduleComponents?: ModuleComponentMap;
35
41
  }
36
- export declare function AdminChrome({ runtime, currentPath, children, navigate }: AdminChromeProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function AdminChrome({ runtime, currentPath, children, navigate, moduleComponents }: AdminChromeProps): import("react/jsx-runtime").JSX.Element;
37
43
  //# sourceMappingURL=chrome.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/admin/chrome.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAkBrD,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAC3B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAClC;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,gBAAgB,2CAiLzF"}
1
+ {"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../src/admin/chrome.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAOrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAY5D,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,OAAO,EAAE,kBAAkB,CAAA;IAC3B,0EAA0E;IAC1E,WAAW,EAAE,MAAM,CAAA;IACnB,gDAAgD;IAChD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,kBAAkB,CAAA;CACtC;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,2CAkL3G"}
@@ -21,7 +21,7 @@ import { AdminShell } from './shell.js';
21
21
  import { SiteSwitcher, filterSitesForUser } from './site-switcher.js';
22
22
  import { AdminProvider } from './context.js';
23
23
  import { adminFetch, getAdminUser, signOut, getActiveSiteId, setActiveSiteId, } from '../host-client/index.js';
24
- export function AdminChrome({ runtime, currentPath, children, navigate }) {
24
+ export function AdminChrome({ runtime, currentPath, children, navigate, moduleComponents }) {
25
25
  const [user, setUser] = useState(null);
26
26
  const [checked, setChecked] = useState(false);
27
27
  const [sites, setSites] = useState([]);
@@ -153,6 +153,7 @@ export function AdminChrome({ runtime, currentPath, children, navigate }) {
153
153
  signOut,
154
154
  navigate: go,
155
155
  runtime,
156
+ ...(moduleComponents ? { moduleComponents } : {}),
156
157
  };
157
158
  if (!checked) {
158
159
  return _jsx("div", { style: { display: 'flex', justifyContent: 'center', alignItems: 'center', minHeight: '100vh' }, children: "Loading..." });
@@ -1 +1 @@
1
- {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/admin/chrome.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chrome.js","sourceRoot":"","sources":["../../src/admin/chrome.tsx"],"names":[],"mappings":"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"}
@@ -36,6 +36,18 @@ export declare function formatTimestamp(value: unknown): string;
36
36
  * author sees matches the value they entered. Empty/invalid → `''` (blank input).
37
37
  */
38
38
  export declare function toDatetimeLocal(value: unknown): string;
39
+ /**
40
+ * Build a user-facing error string from a failed API response body, including
41
+ * field-level detail when the server returned one (kywi-cms#9b). A bare
42
+ * `VALIDATION_ERROR` response carries `error.message === 'Validation failed'`
43
+ * with no indication of which field(s) failed
44
+ * (`validationError()` in api/response.ts) — this appends each
45
+ * `{ path, message }` from `error.details` so the banner reads e.g.
46
+ * `Validation failed: publishDate — Invalid date`. Falls back to the bare
47
+ * `error.message`/`error` string, then `HTTP {status}`, when there is no
48
+ * details array to report.
49
+ */
50
+ export declare function formatApiErrorMessage(body: unknown, status: number): string;
39
51
  /** Map `GET /content/:type/:id/versions` rows to the editor's `VersionEntry`. */
40
52
  export declare function mapVersions(rows: unknown): VersionEntry[];
41
53
  /**
@@ -94,8 +106,22 @@ export declare function loadVersionDiff(fetchFn: FetchLike, type: string, id: st
94
106
  /**
95
107
  * Perform an approval-workflow transition. `submit` and `reject` accept an
96
108
  * optional comment (persisted as the version change-note / rejection reason).
109
+ *
110
+ * `submit` also carries the editor's current writable payload as `fields` so the
111
+ * in-progress edits are never lost: for draft content the server saves them
112
+ * before transitioning to review; for published content it forks a pending
113
+ * revision from them (the live page keeps serving until approval). See #42/#45.3.
114
+ */
115
+ export declare function submitApprovalAction(fetchFn: FetchLike, type: string, id: string, action: 'submit' | 'approve' | 'reject', comment?: string, fields?: Record<string, unknown>): Promise<Response>;
116
+ /**
117
+ * Extract the most recent rejection reason recorded for a content item from its
118
+ * version history, so the editor sees WHY their submission was sent back rather
119
+ * than just finding the page in Draft again (#45.2). Reject transitions record a
120
+ * version whose change-note is `Rejected: <reason>` (workflow-routes reject +
121
+ * revision reject); this returns the reason from the newest such version, or null
122
+ * when the newest reject is superseded by a later save/submit (already actioned).
97
123
  */
98
- export declare function submitApprovalAction(fetchFn: FetchLike, type: string, id: string, action: 'submit' | 'approve' | 'reject', comment?: string): Promise<Response>;
124
+ export declare function latestRejectionReason(versions: VersionEntry[]): string | null;
99
125
  /**
100
126
  * Attempt to acquire the edit lock for a content item.
101
127
  * - 2xx → we hold the lock (`{ ok: true }`).
@@ -1 +1 @@
1
- {"version":3,"file":"content-editor-api.d.ts","sourceRoot":"","sources":["../../src/admin/content-editor-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-editor-api.d.ts","sourceRoot":"","sources":["../../src/admin/content-editor-api.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,35 @@ export function toDatetimeLocal(value) {
32
32
  function asRecord(value) {
33
33
  return value && typeof value === 'object' ? value : {};
34
34
  }
35
+ /**
36
+ * Build a user-facing error string from a failed API response body, including
37
+ * field-level detail when the server returned one (kywi-cms#9b). A bare
38
+ * `VALIDATION_ERROR` response carries `error.message === 'Validation failed'`
39
+ * with no indication of which field(s) failed
40
+ * (`validationError()` in api/response.ts) — this appends each
41
+ * `{ path, message }` from `error.details` so the banner reads e.g.
42
+ * `Validation failed: publishDate — Invalid date`. Falls back to the bare
43
+ * `error.message`/`error` string, then `HTTP {status}`, when there is no
44
+ * details array to report.
45
+ */
46
+ export function formatApiErrorMessage(body, status) {
47
+ const errorField = asRecord(body).error;
48
+ const err = asRecord(errorField);
49
+ const message = typeof err.message === 'string' ? err.message : typeof errorField === 'string' ? errorField : undefined;
50
+ const details = Array.isArray(err.details) ? err.details : [];
51
+ const fieldMessages = details
52
+ .map((d) => {
53
+ const row = asRecord(d);
54
+ const path = typeof row.path === 'string' ? row.path : '';
55
+ const msg = typeof row.message === 'string' ? row.message : '';
56
+ return path && msg ? `${path} — ${msg}` : path || msg;
57
+ })
58
+ .filter((s) => s !== '');
59
+ if (fieldMessages.length > 0) {
60
+ return `${message ?? 'Validation failed'}: ${fieldMessages.join('; ')}`;
61
+ }
62
+ return message ?? `HTTP ${status}`;
63
+ }
35
64
  function asArray(value) {
36
65
  return Array.isArray(value) ? value : [];
37
66
  }
@@ -203,13 +232,23 @@ export async function loadVersionDiff(fetchFn, type, id, fromVersion, toVersion)
203
232
  /**
204
233
  * Perform an approval-workflow transition. `submit` and `reject` accept an
205
234
  * optional comment (persisted as the version change-note / rejection reason).
235
+ *
236
+ * `submit` also carries the editor's current writable payload as `fields` so the
237
+ * in-progress edits are never lost: for draft content the server saves them
238
+ * before transitioning to review; for published content it forks a pending
239
+ * revision from them (the live page keeps serving until approval). See #42/#45.3.
206
240
  */
207
- export function submitApprovalAction(fetchFn, type, id, action, comment) {
241
+ export function submitApprovalAction(fetchFn, type, id, action, comment, fields) {
208
242
  const base = `/api/v1/content/${type}/${id}`;
209
243
  if (action === 'submit') {
244
+ const body = {};
245
+ if (comment)
246
+ body.changeNote = comment;
247
+ if (fields)
248
+ body.fields = fields;
210
249
  return fetchFn(`${base}/submit`, {
211
250
  method: 'POST',
212
- body: JSON.stringify(comment ? { changeNote: comment } : {}),
251
+ body: JSON.stringify(body),
213
252
  });
214
253
  }
215
254
  if (action === 'reject') {
@@ -220,6 +259,25 @@ export function submitApprovalAction(fetchFn, type, id, action, comment) {
220
259
  }
221
260
  return fetchFn(`${base}/approve`, { method: 'POST' });
222
261
  }
262
+ /**
263
+ * Extract the most recent rejection reason recorded for a content item from its
264
+ * version history, so the editor sees WHY their submission was sent back rather
265
+ * than just finding the page in Draft again (#45.2). Reject transitions record a
266
+ * version whose change-note is `Rejected: <reason>` (workflow-routes reject +
267
+ * revision reject); this returns the reason from the newest such version, or null
268
+ * when the newest reject is superseded by a later save/submit (already actioned).
269
+ */
270
+ export function latestRejectionReason(versions) {
271
+ if (versions.length === 0)
272
+ return null;
273
+ const newest = versions.reduce((a, b) => (b.version > a.version ? b : a), versions[0]);
274
+ const note = newest.comment ?? '';
275
+ if (!note.startsWith('Rejected'))
276
+ return null;
277
+ const colon = note.indexOf(':');
278
+ const reason = colon >= 0 ? note.slice(colon + 1).trim() : '';
279
+ return reason.length > 0 ? reason : 'No reason given.';
280
+ }
223
281
  // ---------------------------------------------------------------------------
224
282
  // Fetch helpers — content locks
225
283
  // ---------------------------------------------------------------------------
@@ -1 +1 @@
1
- {"version":3,"file":"content-editor-api.js","sourceRoot":"","sources":["../../src/admin/content-editor-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-editor-api.js","sourceRoot":"","sources":["../../src/admin/content-editor-api.ts"],"names":[],"mappings":"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"}