@kywi-software/core 0.2.1 → 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 (354) 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/layout-editor/component-actions.d.ts +18 -0
  44. package/dist/admin/layout-editor/component-actions.d.ts.map +1 -1
  45. package/dist/admin/layout-editor/component-actions.js +19 -0
  46. package/dist/admin/layout-editor/component-actions.js.map +1 -1
  47. package/dist/admin/layout-editor/component-picker-field.d.ts +20 -0
  48. package/dist/admin/layout-editor/component-picker-field.d.ts.map +1 -0
  49. package/dist/admin/layout-editor/component-picker-field.js +16 -0
  50. package/dist/admin/layout-editor/component-picker-field.js.map +1 -0
  51. package/dist/admin/layout-editor/drag-utils.d.ts +48 -0
  52. package/dist/admin/layout-editor/drag-utils.d.ts.map +1 -1
  53. package/dist/admin/layout-editor/drag-utils.js +43 -0
  54. package/dist/admin/layout-editor/drag-utils.js.map +1 -1
  55. package/dist/admin/layout-editor/editor-canvas.d.ts +9 -1
  56. package/dist/admin/layout-editor/editor-canvas.d.ts.map +1 -1
  57. package/dist/admin/layout-editor/editor-canvas.js +41 -15
  58. package/dist/admin/layout-editor/editor-canvas.js.map +1 -1
  59. package/dist/admin/layout-editor/editor-state.d.ts +9 -1
  60. package/dist/admin/layout-editor/editor-state.d.ts.map +1 -1
  61. package/dist/admin/layout-editor/editor-state.js +34 -0
  62. package/dist/admin/layout-editor/editor-state.js.map +1 -1
  63. package/dist/admin/layout-editor/editor.css +83 -0
  64. package/dist/admin/layout-editor/form-picker-field.d.ts +17 -0
  65. package/dist/admin/layout-editor/form-picker-field.d.ts.map +1 -0
  66. package/dist/admin/layout-editor/form-picker-field.js +35 -0
  67. package/dist/admin/layout-editor/form-picker-field.js.map +1 -0
  68. package/dist/admin/layout-editor/layout-editor.d.ts.map +1 -1
  69. package/dist/admin/layout-editor/layout-editor.js +95 -28
  70. package/dist/admin/layout-editor/layout-editor.js.map +1 -1
  71. package/dist/admin/layout-editor/mode-toggle.d.ts.map +1 -1
  72. package/dist/admin/layout-editor/mode-toggle.js +1 -1
  73. package/dist/admin/layout-editor/mode-toggle.js.map +1 -1
  74. package/dist/admin/layout-editor/module-overlay.d.ts +10 -1
  75. package/dist/admin/layout-editor/module-overlay.d.ts.map +1 -1
  76. package/dist/admin/layout-editor/module-overlay.js +3 -3
  77. package/dist/admin/layout-editor/module-overlay.js.map +1 -1
  78. package/dist/admin/layout-editor/props-panel.d.ts +10 -1
  79. package/dist/admin/layout-editor/props-panel.d.ts.map +1 -1
  80. package/dist/admin/layout-editor/props-panel.js +25 -2
  81. package/dist/admin/layout-editor/props-panel.js.map +1 -1
  82. package/dist/admin/layout-editor/section-insert-line.d.ts.map +1 -1
  83. package/dist/admin/layout-editor/section-insert-line.js +1 -1
  84. package/dist/admin/layout-editor/section-insert-line.js.map +1 -1
  85. package/dist/admin/layout-editor/section-overlay.d.ts.map +1 -1
  86. package/dist/admin/layout-editor/section-overlay.js +1 -1
  87. package/dist/admin/layout-editor/section-overlay.js.map +1 -1
  88. package/dist/admin/layout-editor/section-template-picker.d.ts +9 -1
  89. package/dist/admin/layout-editor/section-template-picker.d.ts.map +1 -1
  90. package/dist/admin/layout-editor/section-template-picker.js +45 -2
  91. package/dist/admin/layout-editor/section-template-picker.js.map +1 -1
  92. package/dist/admin/registry.d.ts.map +1 -1
  93. package/dist/admin/registry.js +11 -0
  94. package/dist/admin/registry.js.map +1 -1
  95. package/dist/admin/server.d.ts +15 -2
  96. package/dist/admin/server.d.ts.map +1 -1
  97. package/dist/admin/server.js +37 -1
  98. package/dist/admin/server.js.map +1 -1
  99. package/dist/admin/styles/admin.css +16 -4
  100. package/dist/admin/surface-matcher.d.ts +27 -0
  101. package/dist/admin/surface-matcher.d.ts.map +1 -1
  102. package/dist/admin/surface-matcher.js +11 -0
  103. package/dist/admin/surface-matcher.js.map +1 -1
  104. package/dist/admin/surfaces/approvals/approvals-data.d.ts +29 -9
  105. package/dist/admin/surfaces/approvals/approvals-data.d.ts.map +1 -1
  106. package/dist/admin/surfaces/approvals/approvals-data.js +65 -22
  107. package/dist/admin/surfaces/approvals/approvals-data.js.map +1 -1
  108. package/dist/admin/surfaces/approvals/approvals-index.d.ts.map +1 -1
  109. package/dist/admin/surfaces/approvals/approvals-index.js +47 -14
  110. package/dist/admin/surfaces/approvals/approvals-index.js.map +1 -1
  111. package/dist/admin/surfaces/content/content-edit.d.ts.map +1 -1
  112. package/dist/admin/surfaces/content/content-edit.js +34 -8
  113. package/dist/admin/surfaces/content/content-edit.js.map +1 -1
  114. package/dist/admin/surfaces/content/content-index.d.ts.map +1 -1
  115. package/dist/admin/surfaces/content/content-index.js +29 -2
  116. package/dist/admin/surfaces/content/content-index.js.map +1 -1
  117. package/dist/admin/surfaces/content/content-new.d.ts.map +1 -1
  118. package/dist/admin/surfaces/content/content-new.js +6 -4
  119. package/dist/admin/surfaces/content/content-new.js.map +1 -1
  120. package/dist/admin/surfaces/contentTree/content-tree.d.ts.map +1 -1
  121. package/dist/admin/surfaces/contentTree/content-tree.js +25 -2
  122. package/dist/admin/surfaces/contentTree/content-tree.js.map +1 -1
  123. package/dist/admin/surfaces/contentTypes/content-types-designer.d.ts.map +1 -1
  124. package/dist/admin/surfaces/contentTypes/content-types-designer.js +78 -47
  125. package/dist/admin/surfaces/contentTypes/content-types-designer.js.map +1 -1
  126. package/dist/admin/surfaces/feeds/feed-editor.d.ts.map +1 -1
  127. package/dist/admin/surfaces/feeds/feed-editor.js +21 -4
  128. package/dist/admin/surfaces/feeds/feed-editor.js.map +1 -1
  129. package/dist/admin/surfaces/layouts/layout-editor-client.d.ts.map +1 -1
  130. package/dist/admin/surfaces/layouts/layout-editor-client.js +7 -4
  131. package/dist/admin/surfaces/layouts/layout-editor-client.js.map +1 -1
  132. package/dist/admin/surfaces/media/media-client.d.ts.map +1 -1
  133. package/dist/admin/surfaces/media/media-client.js +10 -2
  134. package/dist/admin/surfaces/media/media-client.js.map +1 -1
  135. package/dist/admin/surfaces/settings/settings-site.d.ts.map +1 -1
  136. package/dist/admin/surfaces/settings/settings-site.js +39 -2
  137. package/dist/admin/surfaces/settings/settings-site.js.map +1 -1
  138. package/dist/admin/surfaces/settings/settings-sites.js +18 -0
  139. package/dist/admin/surfaces/settings/settings-sites.js.map +1 -1
  140. package/dist/admin/surfaces/trash/trash-index.d.ts.map +1 -1
  141. package/dist/admin/surfaces/trash/trash-index.js +45 -8
  142. package/dist/admin/surfaces/trash/trash-index.js.map +1 -1
  143. package/dist/admin/surfaces/users/users-data.d.ts +11 -0
  144. package/dist/admin/surfaces/users/users-data.d.ts.map +1 -1
  145. package/dist/admin/surfaces/users/users-data.js +20 -1
  146. package/dist/admin/surfaces/users/users-data.js.map +1 -1
  147. package/dist/admin/surfaces/webServices/web-services-data.d.ts +11 -1
  148. package/dist/admin/surfaces/webServices/web-services-data.d.ts.map +1 -1
  149. package/dist/admin/surfaces/webServices/web-services-data.js +13 -0
  150. package/dist/admin/surfaces/webServices/web-services-data.js.map +1 -1
  151. package/dist/admin/surfaces/webServices/webhooks.d.ts +3 -0
  152. package/dist/admin/surfaces/webServices/webhooks.d.ts.map +1 -0
  153. package/dist/admin/surfaces/webServices/webhooks.js +69 -0
  154. package/dist/admin/surfaces/webServices/webhooks.js.map +1 -0
  155. package/dist/admin/webhook-manager.d.ts +32 -0
  156. package/dist/admin/webhook-manager.d.ts.map +1 -0
  157. package/dist/admin/webhook-manager.js +62 -0
  158. package/dist/admin/webhook-manager.js.map +1 -0
  159. package/dist/api/admin-features-routes.d.ts.map +1 -1
  160. package/dist/api/admin-features-routes.js +30 -0
  161. package/dist/api/admin-features-routes.js.map +1 -1
  162. package/dist/api/api-key-routes.d.ts.map +1 -1
  163. package/dist/api/api-key-routes.js +6 -1
  164. package/dist/api/api-key-routes.js.map +1 -1
  165. package/dist/api/auth.d.ts +8 -0
  166. package/dist/api/auth.d.ts.map +1 -1
  167. package/dist/api/auth.js +11 -1
  168. package/dist/api/auth.js.map +1 -1
  169. package/dist/api/comment-routes.d.ts.map +1 -1
  170. package/dist/api/comment-routes.js +102 -47
  171. package/dist/api/comment-routes.js.map +1 -1
  172. package/dist/api/config-routes.d.ts +10 -2
  173. package/dist/api/config-routes.d.ts.map +1 -1
  174. package/dist/api/config-routes.js +46 -25
  175. package/dist/api/config-routes.js.map +1 -1
  176. package/dist/api/content-routes.d.ts.map +1 -1
  177. package/dist/api/content-routes.js +41 -0
  178. package/dist/api/content-routes.js.map +1 -1
  179. package/dist/api/content-schemas.d.ts.map +1 -1
  180. package/dist/api/content-schemas.js +34 -1
  181. package/dist/api/content-schemas.js.map +1 -1
  182. package/dist/api/content-type-routes.d.ts.map +1 -1
  183. package/dist/api/content-type-routes.js +58 -3
  184. package/dist/api/content-type-routes.js.map +1 -1
  185. package/dist/api/feed-routes.d.ts +180 -0
  186. package/dist/api/feed-routes.d.ts.map +1 -1
  187. package/dist/api/feed-routes.js +10 -2
  188. package/dist/api/feed-routes.js.map +1 -1
  189. package/dist/api/form-routes.d.ts +6 -0
  190. package/dist/api/form-routes.d.ts.map +1 -1
  191. package/dist/api/form-routes.js +93 -14
  192. package/dist/api/form-routes.js.map +1 -1
  193. package/dist/api/graphql/resolvers.d.ts +4 -4
  194. package/dist/api/index.d.ts.map +1 -1
  195. package/dist/api/index.js +12 -1
  196. package/dist/api/index.js.map +1 -1
  197. package/dist/api/media-routes.d.ts.map +1 -1
  198. package/dist/api/media-routes.js +18 -1
  199. package/dist/api/media-routes.js.map +1 -1
  200. package/dist/api/webhook-routes.d.ts.map +1 -1
  201. package/dist/api/webhook-routes.js +19 -2
  202. package/dist/api/webhook-routes.js.map +1 -1
  203. package/dist/api/workflow-routes.d.ts.map +1 -1
  204. package/dist/api/workflow-routes.js +163 -4
  205. package/dist/api/workflow-routes.js.map +1 -1
  206. package/dist/auth/roles.d.ts +28 -0
  207. package/dist/auth/roles.d.ts.map +1 -1
  208. package/dist/auth/roles.js +49 -0
  209. package/dist/auth/roles.js.map +1 -1
  210. package/dist/config/reserved-field-names.d.ts +29 -0
  211. package/dist/config/reserved-field-names.d.ts.map +1 -0
  212. package/dist/config/reserved-field-names.js +59 -0
  213. package/dist/config/reserved-field-names.js.map +1 -0
  214. package/dist/config/types.d.ts +31 -2
  215. package/dist/config/types.d.ts.map +1 -1
  216. package/dist/config/types.js.map +1 -1
  217. package/dist/db/analytics-queries.d.ts +1 -1
  218. package/dist/db/api-key-queries.d.ts +7 -2
  219. package/dist/db/api-key-queries.d.ts.map +1 -1
  220. package/dist/db/api-key-queries.js +8 -2
  221. package/dist/db/api-key-queries.js.map +1 -1
  222. package/dist/db/apply-snapshot.d.ts +58 -0
  223. package/dist/db/apply-snapshot.d.ts.map +1 -0
  224. package/dist/db/apply-snapshot.js +142 -0
  225. package/dist/db/apply-snapshot.js.map +1 -0
  226. package/dist/db/audit-queries.d.ts +3 -3
  227. package/dist/db/category-queries.d.ts +3 -3
  228. package/dist/db/changeset-audit-queries.d.ts +2 -2
  229. package/dist/db/changeset-queries.d.ts +5 -5
  230. package/dist/db/changeset-queries.d.ts.map +1 -1
  231. package/dist/db/changeset-queries.js +24 -7
  232. package/dist/db/changeset-queries.js.map +1 -1
  233. package/dist/db/content-queries.d.ts +6 -0
  234. package/dist/db/content-queries.d.ts.map +1 -1
  235. package/dist/db/content-queries.js +8 -0
  236. package/dist/db/content-queries.js.map +1 -1
  237. package/dist/db/content-type-queries.d.ts +20 -0
  238. package/dist/db/content-type-queries.d.ts.map +1 -1
  239. package/dist/db/content-type-queries.js +32 -0
  240. package/dist/db/content-type-queries.js.map +1 -1
  241. package/dist/db/dashboard-queries.d.ts.map +1 -1
  242. package/dist/db/dashboard-queries.js +5 -1
  243. package/dist/db/dashboard-queries.js.map +1 -1
  244. package/dist/db/dynamic-schema.d.ts.map +1 -1
  245. package/dist/db/dynamic-schema.js +2 -0
  246. package/dist/db/dynamic-schema.js.map +1 -1
  247. package/dist/db/extension-queries.d.ts +8 -8
  248. package/dist/db/feed-queries.d.ts +3 -3
  249. package/dist/db/index.d.ts +3 -0
  250. package/dist/db/index.d.ts.map +1 -1
  251. package/dist/db/index.js +7 -0
  252. package/dist/db/index.js.map +1 -1
  253. package/dist/db/media-queries.d.ts +31 -7
  254. package/dist/db/media-queries.d.ts.map +1 -1
  255. package/dist/db/media-queries.js +13 -1
  256. package/dist/db/media-queries.js.map +1 -1
  257. package/dist/db/membership-dedupe.d.ts +26 -0
  258. package/dist/db/membership-dedupe.d.ts.map +1 -0
  259. package/dist/db/membership-dedupe.js +68 -0
  260. package/dist/db/membership-dedupe.js.map +1 -0
  261. package/dist/db/revision-queries.d.ts +122 -0
  262. package/dist/db/revision-queries.d.ts.map +1 -0
  263. package/dist/db/revision-queries.js +213 -0
  264. package/dist/db/revision-queries.js.map +1 -0
  265. package/dist/db/schema-apply.d.ts +8 -0
  266. package/dist/db/schema-apply.d.ts.map +1 -1
  267. package/dist/db/schema-apply.js +17 -0
  268. package/dist/db/schema-apply.js.map +1 -1
  269. package/dist/db/schema-field-queries.d.ts +2 -0
  270. package/dist/db/schema-field-queries.d.ts.map +1 -1
  271. package/dist/db/schema-field-queries.js +4 -0
  272. package/dist/db/schema-field-queries.js.map +1 -1
  273. package/dist/db/site-plugin-queries.d.ts +2 -2
  274. package/dist/db/user-queries.d.ts +12 -0
  275. package/dist/db/user-queries.d.ts.map +1 -1
  276. package/dist/db/user-queries.js +18 -4
  277. package/dist/db/user-queries.js.map +1 -1
  278. package/dist/db/version-queries.d.ts +37 -0
  279. package/dist/db/version-queries.d.ts.map +1 -1
  280. package/dist/db/version-queries.js +36 -0
  281. package/dist/db/version-queries.js.map +1 -1
  282. package/dist/db/webhook-queries.d.ts +27 -5
  283. package/dist/db/webhook-queries.d.ts.map +1 -1
  284. package/dist/db/webhook-queries.js +17 -0
  285. package/dist/db/webhook-queries.js.map +1 -1
  286. package/dist/db/workflow-queries.d.ts +2 -2
  287. package/dist/experiments/schema.d.ts +1 -1
  288. package/dist/hooks/index.d.ts +1 -1
  289. package/dist/hooks/index.d.ts.map +1 -1
  290. package/dist/hooks/index.js +1 -1
  291. package/dist/hooks/index.js.map +1 -1
  292. package/dist/hooks/webhook-retry.d.ts +22 -1
  293. package/dist/hooks/webhook-retry.d.ts.map +1 -1
  294. package/dist/hooks/webhook-retry.js +38 -1
  295. package/dist/hooks/webhook-retry.js.map +1 -1
  296. package/dist/host/index.d.ts +28 -0
  297. package/dist/host/index.d.ts.map +1 -1
  298. package/dist/host/index.js +56 -1
  299. package/dist/host/index.js.map +1 -1
  300. package/dist/layout/comments-module.d.ts +18 -0
  301. package/dist/layout/comments-module.d.ts.map +1 -0
  302. package/dist/layout/comments-module.js +130 -0
  303. package/dist/layout/comments-module.js.map +1 -0
  304. package/dist/layout/feed-hydration.d.ts +75 -0
  305. package/dist/layout/feed-hydration.d.ts.map +1 -0
  306. package/dist/layout/feed-hydration.js +158 -0
  307. package/dist/layout/feed-hydration.js.map +1 -0
  308. package/dist/layout/index.d.ts +2 -1
  309. package/dist/layout/index.d.ts.map +1 -1
  310. package/dist/layout/index.js +2 -1
  311. package/dist/layout/index.js.map +1 -1
  312. package/dist/layout/module-render-context.d.ts +13 -0
  313. package/dist/layout/module-render-context.d.ts.map +1 -0
  314. package/dist/layout/module-render-context.js +15 -0
  315. package/dist/layout/module-render-context.js.map +1 -0
  316. package/dist/layout/modules-extended.d.ts.map +1 -1
  317. package/dist/layout/modules-extended.js +92 -13
  318. package/dist/layout/modules-extended.js.map +1 -1
  319. package/dist/layout/registry.d.ts.map +1 -1
  320. package/dist/layout/registry.js +22 -6
  321. package/dist/layout/registry.js.map +1 -1
  322. package/dist/layout/renderer.d.ts +17 -1
  323. package/dist/layout/renderer.d.ts.map +1 -1
  324. package/dist/layout/renderer.js +11 -4
  325. package/dist/layout/renderer.js.map +1 -1
  326. package/dist/nav/index.d.ts +1 -0
  327. package/dist/nav/index.d.ts.map +1 -1
  328. package/dist/nav/index.js +4 -0
  329. package/dist/nav/index.js.map +1 -1
  330. package/dist/nav/url-resolver.d.ts +10 -2
  331. package/dist/nav/url-resolver.d.ts.map +1 -1
  332. package/dist/nav/url-resolver.js +17 -3
  333. package/dist/nav/url-resolver.js.map +1 -1
  334. package/dist/schema/base.d.ts +37 -1
  335. package/dist/schema/base.d.ts.map +1 -1
  336. package/dist/schema/base.js +20 -2
  337. package/dist/schema/base.js.map +1 -1
  338. package/dist/schema/generate.d.ts +8 -0
  339. package/dist/schema/generate.d.ts.map +1 -1
  340. package/dist/schema/generate.js +7 -4
  341. package/dist/schema/generate.js.map +1 -1
  342. package/dist/schema/mapper.d.ts.map +1 -1
  343. package/dist/schema/mapper.js +2 -0
  344. package/dist/schema/mapper.js.map +1 -1
  345. package/dist/schema/mysql-tables.d.ts +34 -0
  346. package/dist/schema/mysql-tables.d.ts.map +1 -1
  347. package/dist/schema/mysql-tables.js +14 -2
  348. package/dist/schema/mysql-tables.js.map +1 -1
  349. package/dist/server.d.ts +1 -0
  350. package/dist/server.d.ts.map +1 -1
  351. package/dist/server.js +1 -0
  352. package/dist/server.js.map +1 -1
  353. package/dist/site/styles.css +384 -0
  354. package/package.json +2 -1
@@ -21,10 +21,28 @@ const BUILT_IN_TYPES = [
21
21
  { name: 'page', label: 'Page', isDefault: true, fields: [] },
22
22
  { name: 'folder', label: 'Folder', isDefault: true, fields: [] },
23
23
  ];
24
+ const RESERVED_TYPE_NAMES = new Set(BUILT_IN_TYPES.map(t => t.name));
25
+ /**
26
+ * kywi-cms#1: `/api/v1/config/content-types` filters out the built-in
27
+ * structural names ('page'/'folder'/'link') when it's reading the merged
28
+ * config+admin registry, but falls back to the raw config-only list (no such
29
+ * filtering) when that registry isn't wired — so a `kywi.config.ts` that
30
+ * declares its own content type literally named "page" can come back here
31
+ * too. Merged verbatim with BUILT_IN_TYPES, that produced two picker entries
32
+ * keyed 'page' ("Page — Default" and "Page — Custom") — React logs
33
+ * "Encountered two children with the same key" for the duplicate, and (not
34
+ * just a keying formality) it's a genuinely confusing duplicate option for
35
+ * the user either way. Filter defensively here too, so the built-in
36
+ * structural types stay reserved names regardless of which server code path
37
+ * produced the list, and every option this picker renders has one real,
38
+ * unique identity to key on.
39
+ */
24
40
  function buildTypeOptions(customTypes) {
25
41
  return [
26
42
  ...BUILT_IN_TYPES,
27
- ...customTypes.map(ct => ({ name: ct.name, label: ct.label, isDefault: false, fields: ct.fields })),
43
+ ...customTypes
44
+ .filter(ct => !RESERVED_TYPE_NAMES.has(ct.name))
45
+ .map(ct => ({ name: ct.name, label: ct.label, isDefault: false, fields: ct.fields })),
28
46
  ];
29
47
  }
30
48
  function findNode(nodes, id) {
@@ -99,7 +117,12 @@ export default function ContentTreeSurface(_props) {
99
117
  break;
100
118
  }
101
119
  case 'delete': {
102
- if (!window.confirm(`Delete "${node.title}"? This cannot be undone.`))
120
+ // kywi-cms#4: DELETE /content/:type/:id is a soft delete (deleteContent
121
+ // sets `deletedAt`, not a row delete) — the item lands in Trash with
122
+ // Restore + Delete permanently actions, so claiming it "cannot be
123
+ // undone" is simply false here. It scares users off a safe, reversible
124
+ // action and undersells the *real* permanent-delete warning in Trash.
125
+ if (!window.confirm(`Delete "${node.title}"? It will be moved to Trash, where it can be restored.`))
103
126
  return;
104
127
  adminFetch(`/api/v1/content/${node.contentTypeName}/${node.id}`, { method: 'DELETE' })
105
128
  .then(res => { if (res.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"content-tree.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTree/content-tree.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-tree.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTree/content-tree.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"content-types-designer.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTypes/content-types-designer.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAoGrD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,2CA8X3E"}
1
+ {"version":3,"file":"content-types-designer.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTypes/content-types-designer.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AA6ErD,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,2CAyd3E"}
@@ -2,64 +2,60 @@
2
2
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
3
  /**
4
4
  * `contentTypes.designer` surface — the visual content-type field designer,
5
- * ported verbatim from `apps/reference/app/admin/content-types/[type]/page.tsx`
6
- * (0.2.0 T12). Markup / classes / copy / inline styles and the local
7
- * `PreviewField` helper are unchanged; wiring substitutions (plan §1.3):
8
- * `useParams().type` → `props.params.type`; `adminFetch` →
9
- * `useAdminContext().fetch`; `useRouter().push` `useAdminContext().navigate`;
10
- * `LoadingState`/`ErrorState` are the canonical core primitives. The field
11
- * add/edit/delete/reorder CRUD and the "Apply Schema Changes" flow are preserved
12
- * exactly. `AdminShellWrapper` is gone — chrome is rendered once by
13
- * `KywiAdminApp` (T14).
5
+ * originally ported verbatim from
6
+ * `apps/reference/app/admin/content-types/[type]/page.tsx` (0.2.0 T12).
7
+ * Wiring substitutions (plan §1.3): `useParams().type` → `props.params.type`;
8
+ * `adminFetch` → `useAdminContext().fetch`; `useRouter().push` →
9
+ * `useAdminContext().navigate`; `LoadingState`/`ErrorState` are the canonical
10
+ * core primitives. The field add/edit/delete/reorder CRUD and the "Apply
11
+ * Schema Changes" flow are preserved. `AdminShellWrapper` is gone — chrome is
12
+ * rendered once by `KywiAdminApp` (T14).
13
+ *
14
+ * UAT 0.2.1 fixes (kywi-cms#10, #11, #12): the local `PreviewField` helper
15
+ * (a hand-rolled approximation of each field widget) is replaced with the
16
+ * real `FieldRenderer` so the preview always matches the instance editor
17
+ * exactly, including the base-type built-ins (Title/Slug/Body/Featured
18
+ * Image) it previously omitted; field names that collide with a built-in are
19
+ * now rejected client- and server-side; `relationship` fields get a target
20
+ * "Related type" picker; `url`/`email` field types were added; and a type's
21
+ * Title requirement is now toggleable ("Type settings").
14
22
  */
15
23
  import { useCallback, useEffect, useState } from 'react';
16
24
  import { useAdminContext } from '../../context.js';
17
25
  import { LoadingState, ErrorState } from '../../primitives.js';
26
+ import { FieldRenderer } from '../../field-components.js';
27
+ import { isReservedFieldName } from '../../../config/reserved-field-names.js';
18
28
  const FIELD_TYPES = [
19
29
  'text', 'richText', 'textarea', 'select', 'multiSelect',
20
30
  'boolean', 'number', 'json', 'date', 'relationship', 'image', 'file', 'color', 'slug', 'group',
31
+ 'url', 'email',
21
32
  ];
22
- const STRING_LIKE = new Set(['text', 'richText', 'textarea', 'slug', 'color', 'select']);
33
+ const STRING_LIKE = new Set(['text', 'richText', 'textarea', 'slug', 'color', 'select', 'url', 'email']);
23
34
  const OPTION_TYPES = new Set(['select', 'multiSelect']);
24
35
  const emptyForm = {
25
36
  name: '', label: '', type: 'text', options: '',
26
37
  required: false,
27
38
  min: '', max: '', minLength: '', maxLength: '', pattern: '',
39
+ relatedType: '',
28
40
  };
29
- // ── Preview input (renders a field as it appears in the content editor) ───────
30
- function PreviewField({ field }) {
31
- const id = `preview-${field.name}`;
32
- const common = { id, disabled: true, className: 'kywi-input' };
33
- let control;
34
- switch (field.type) {
35
- case 'boolean':
36
- control = _jsx("input", { type: "checkbox", disabled: true, className: "kywi-checkbox" });
37
- break;
38
- case 'number':
39
- control = _jsx("input", { type: "number", placeholder: "0", ...common });
40
- break;
41
- case 'date':
42
- control = _jsx("input", { type: "date", ...common });
43
- break;
44
- case 'select':
45
- control = (_jsx("select", { ...common, children: (field.options ?? []).map((o) => _jsx("option", { children: o }, o)) }));
46
- break;
47
- case 'multiSelect':
48
- control = (_jsx("div", { style: { display: 'flex', gap: '0.4rem', flexWrap: 'wrap' }, children: (field.options ?? []).map((o) => _jsx("span", { className: "kywi-tag", children: o }, o)) }));
49
- break;
50
- case 'richText':
51
- case 'textarea':
52
- case 'json':
53
- case 'group':
54
- control = _jsx("textarea", { rows: 2, ...common });
55
- break;
56
- case 'color':
57
- control = _jsx("input", { type: "text", placeholder: "#000000", ...common });
58
- break;
59
- default:
60
- control = _jsx("input", { type: "text", ...common });
61
- }
62
- return (_jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: id, children: [field.label, field.required && _jsx("span", { style: { color: '#dc2626' }, children: " *" })] }), control] }));
41
+ /** Synthetic FieldDefinition for a built-in (Body / Featured Image) so the
42
+ * preview panel can render it through the exact same `FieldRenderer` the real
43
+ * instance editor uses (kywi-cms#11) instead of a hand-rolled approximation. */
44
+ const BODY_PREVIEW_FIELD = { name: 'body', type: 'richText', label: 'Body' };
45
+ const FEATURED_IMAGE_PREVIEW_FIELD = { name: 'featuredImageId', type: 'image', label: 'Featured Image' };
46
+ /** Map a designer `FieldRow` to the `FieldDefinition` shape `FieldRenderer`
47
+ * expects, so the preview renders the exact widget the real editor will
48
+ * (kywi-cms#11) including a real media picker for `image`, not a textbox. */
49
+ function toFieldDefinition(f) {
50
+ return {
51
+ name: f.name,
52
+ type: f.type,
53
+ label: f.label,
54
+ ...(f.required !== undefined && { required: f.required }),
55
+ ...(f.options !== undefined && { options: f.options }),
56
+ ...(f.validation !== undefined && { validation: f.validation }),
57
+ ...(f.relatedType !== undefined && { relatedType: f.relatedType }),
58
+ };
63
59
  }
64
60
  // ── Surface ──────────────────────────────────────────────────────────────────
65
61
  export default function ContentTypesDesignerSurface({ params }) {
@@ -67,6 +63,9 @@ export default function ContentTypesDesignerSurface({ params }) {
67
63
  const typeName = params.type ?? '';
68
64
  const [meta, setMeta] = useState(null);
69
65
  const [fields, setFields] = useState([]);
66
+ // Every content type (config + admin) — feeds the relationship field's
67
+ // "Related type" picker (kywi-cms#12).
68
+ const [availableTypes, setAvailableTypes] = useState([]);
70
69
  const [loading, setLoading] = useState(true);
71
70
  const [error, setError] = useState(null);
72
71
  const [form, setForm] = useState(emptyForm);
@@ -88,6 +87,7 @@ export default function ContentTypesDesignerSurface({ params }) {
88
87
  if (tRes.ok) {
89
88
  const list = ((await tRes.json()).data ?? []);
90
89
  setMeta(list.find((t) => t.name === typeName) ?? null);
90
+ setAvailableTypes(list);
91
91
  }
92
92
  }
93
93
  catch (e) {
@@ -117,6 +117,7 @@ export default function ContentTypesDesignerSurface({ params }) {
117
117
  minLength: field.validation?.minLength?.toString() ?? '',
118
118
  maxLength: field.validation?.maxLength?.toString() ?? '',
119
119
  pattern: field.validation?.pattern ?? '',
120
+ relatedType: field.relatedType ?? '',
120
121
  });
121
122
  }
122
123
  function buildPayload() {
@@ -129,6 +130,9 @@ export default function ContentTypesDesignerSurface({ params }) {
129
130
  if (OPTION_TYPES.has(form.type) && form.options.trim()) {
130
131
  payload.options = form.options.split(',').map((s) => s.trim()).filter(Boolean);
131
132
  }
133
+ if (form.type === 'relationship' && form.relatedType.trim()) {
134
+ payload.relatedType = form.relatedType.trim();
135
+ }
132
136
  const v = {};
133
137
  if (form.type === 'number') {
134
138
  if (form.min !== '')
@@ -150,8 +154,19 @@ export default function ContentTypesDesignerSurface({ params }) {
150
154
  }
151
155
  async function handleSubmitField(e) {
152
156
  e.preventDefault();
153
- setSaving(true);
154
157
  setFormError(null);
158
+ // Client-side collision guard (kywi-cms#10): every base-`content` type
159
+ // ships built-in fields (Title/Slug/Body/Featured Image, plus every
160
+ // Publishing/Navigation/SEO/etc. control) that live in the same flat
161
+ // values object as custom fields in the real editor — a same-named custom
162
+ // field would silently share (and corrupt) that value. Renaming isn't
163
+ // supported (the Name input is disabled while editing), so this only
164
+ // needs to guard field creation.
165
+ if (!editing && isReservedFieldName(form.name)) {
166
+ setFormError(`"${form.name}" is a built-in field name (Title, Slug, Body, Featured Image, etc.) and can't be reused for a custom field.`);
167
+ return;
168
+ }
169
+ setSaving(true);
155
170
  try {
156
171
  const payload = buildPayload();
157
172
  const url = editing
@@ -172,6 +187,16 @@ export default function ContentTypesDesignerSurface({ params }) {
172
187
  setSaving(false);
173
188
  }
174
189
  }
190
+ async function handleToggleTitleRequired(next) {
191
+ if (!meta || meta.source !== 'admin')
192
+ return;
193
+ const res = await adminFetch(`/api/v1/content-types/${typeName}`, {
194
+ method: 'PUT',
195
+ body: JSON.stringify({ titleRequired: next }),
196
+ });
197
+ if (res.ok)
198
+ await load();
199
+ }
175
200
  async function handleDelete(name) {
176
201
  if (!confirm(`Delete field "${name}"? The database column is left in place until removed manually.`))
177
202
  return;
@@ -239,7 +264,9 @@ export default function ContentTypesDesignerSurface({ params }) {
239
264
  }
240
265
  const adminFields = fields.filter((f) => f.source === 'admin');
241
266
  const stringLike = STRING_LIKE.has(form.type);
242
- return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "kywi-admin-page-header", style: { display: 'flex', alignItems: 'center', gap: '1rem', flexWrap: 'wrap' }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-sm", onClick: () => navigate('/admin/content-types'), children: "\u2190 Content Types" }), _jsxs("h1", { style: { margin: 0 }, children: [meta?.label ?? typeName, meta && (_jsx("span", { className: "kywi-admin-status-badge", style: { marginLeft: '0.6rem', fontSize: '0.7rem' }, "data-source": meta.source, children: meta.source }))] }), meta?.source === 'admin' && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", style: { marginLeft: 'auto' }, onClick: handleDeleteType, children: "Delete type" }))] }), loading ? (_jsx(LoadingState, { label: "Loading designer\u2026" })) : error ? (_jsx(ErrorState, { message: error, onRetry: load })) : (_jsxs("div", { className: "kywi-designer-grid", style: { display: 'grid', gridTemplateColumns: 'minmax(0, 1.3fr) minmax(0, 1fr)', gap: 'var(--kywi-space-6, 1.5rem)', alignItems: 'start' }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 'var(--kywi-space-5, 1.25rem)' }, children: [_jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Fields", children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Fields" }), _jsxs("p", { className: "kywi-field-hint", style: { marginTop: '-0.25rem' }, children: [_jsx("strong", { children: "config" }), " fields are locked (defined in ", _jsx("code", { children: "kywi.config.ts" }), ").", _jsx("strong", { children: " admin" }), " fields are editable and require \u201CApply Schema Changes\u201D to alter the database."] }), fields.length === 0 ? (_jsx("div", { className: "kywi-admin-empty-state", children: "No fields yet. Add one below." })) : (_jsx("div", { className: "kywi-table-scroll", style: { overflowX: 'auto' }, children: _jsxs("table", { className: "kywi-admin-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { style: { width: 64 }, children: "Order" }), _jsx("th", { children: "Name" }), _jsx("th", { children: "Type" }), _jsx("th", { children: "Rules" }), _jsx("th", { children: "Source" }), _jsx("th", { style: { textAlign: 'right' }, children: "Actions" })] }) }), _jsx("tbody", { children: fields.map((f) => {
267
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "kywi-admin-page-header", style: { display: 'flex', alignItems: 'center', gap: '1rem', flexWrap: 'wrap' }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-sm", onClick: () => navigate('/admin/content-types'), children: "\u2190 Content Types" }), _jsxs("h1", { style: { margin: 0 }, children: [meta?.label ?? typeName, meta && (_jsx("span", { className: "kywi-admin-status-badge", style: { marginLeft: '0.6rem', fontSize: '0.7rem' }, "data-source": meta.source, children: meta.source }))] }), meta?.source === 'admin' && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-sm", style: { marginLeft: 'auto' }, onClick: handleDeleteType, children: "Delete type" }))] }), loading ? (_jsx(LoadingState, { label: "Loading designer\u2026" })) : error ? (_jsx(ErrorState, { message: error, onRetry: load })) : (_jsxs("div", { className: "kywi-designer-grid", style: { display: 'grid', gridTemplateColumns: 'minmax(0, 1.3fr) minmax(0, 1fr)', gap: 'var(--kywi-space-6, 1.5rem)', alignItems: 'start' }, children: [_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 'var(--kywi-space-5, 1.25rem)' }, children: [_jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Type settings", children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Type settings" }), _jsxs("label", { className: "kywi-checkbox-label", style: { display: 'flex', gap: '0.5rem', alignItems: 'center' }, children: [_jsx("input", { type: "checkbox", className: "kywi-checkbox", checked: meta?.titleRequired ?? true, disabled: meta?.source !== 'admin', onChange: (e) => handleToggleTitleRequired(e.target.checked) }), "Require Title"] }), _jsx("p", { className: "kywi-field-hint", style: { marginTop: '0.25rem' }, children: meta?.source === 'admin'
268
+ ? 'Uncheck for models with no natural title (e.g. a testimonial or FAQ) — Title becomes optional in the instance editor.'
269
+ : 'Locked — defined in kywi.config.ts.' })] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Fields", children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Fields" }), _jsxs("p", { className: "kywi-field-hint", style: { marginTop: '-0.25rem' }, children: [_jsx("strong", { children: "config" }), " fields are locked (defined in ", _jsx("code", { children: "kywi.config.ts" }), ").", _jsx("strong", { children: " admin" }), " fields are editable and require \u201CApply Schema Changes\u201D to alter the database."] }), fields.length === 0 ? (_jsx("div", { className: "kywi-admin-empty-state", children: "No fields yet. Add one below." })) : (_jsx("div", { className: "kywi-table-scroll", style: { overflowX: 'auto' }, children: _jsxs("table", { className: "kywi-admin-table", children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { style: { width: 64 }, children: "Order" }), _jsx("th", { children: "Name" }), _jsx("th", { children: "Type" }), _jsx("th", { children: "Rules" }), _jsx("th", { children: "Source" }), _jsx("th", { style: { textAlign: 'right' }, children: "Actions" })] }) }), _jsx("tbody", { children: fields.map((f) => {
243
270
  const rules = [];
244
271
  if (f.required)
245
272
  rules.push('required');
@@ -253,8 +280,12 @@ export default function ContentTypesDesignerSurface({ params }) {
253
280
  rules.push(`≤${f.validation.maxLength} ch`);
254
281
  if (f.validation?.pattern)
255
282
  rules.push('pattern');
283
+ if (f.type === 'relationship' && f.relatedType)
284
+ rules.push(`→ ${f.relatedType}`);
256
285
  const adminIdx = adminFields.findIndex((a) => a.name === f.name);
257
286
  return (_jsxs("tr", { children: [_jsx("td", { children: f.source === 'admin' && (_jsxs("span", { style: { display: 'inline-flex', gap: 2 }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", "aria-label": `Move ${f.name} up`, disabled: adminIdx <= 0, onClick: () => handleReorder(f.name, -1), children: "\u2191" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", "aria-label": `Move ${f.name} down`, disabled: adminIdx >= adminFields.length - 1, onClick: () => handleReorder(f.name, 1), children: "\u2193" })] })) }), _jsxs("td", { children: [_jsx("code", { children: f.name }), _jsx("div", { style: { fontSize: '0.75rem', color: 'var(--kywi-text-muted)' }, children: f.label })] }), _jsx("td", { children: f.type }), _jsx("td", { style: { fontSize: '0.78rem', color: 'var(--kywi-text-muted)' }, children: rules.join(', ') || '—' }), _jsx("td", { children: _jsx("span", { className: "kywi-admin-status-badge", "data-source": f.source, children: f.source }) }), _jsx("td", { style: { textAlign: 'right', whiteSpace: 'nowrap' }, children: f.source === 'admin' ? (_jsxs(_Fragment, { children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-ghost kywi-btn-xs", onClick: () => startEdit(f), children: "Edit" }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-danger kywi-btn-xs", onClick: () => handleDelete(f.name), children: "Delete" })] })) : (_jsx("span", { title: "Locked \u2014 defined in kywi.config.ts", style: { color: 'var(--kywi-text-muted)' }, children: "\uD83D\uDD12" })) })] }, f.name));
258
- }) })] }) }))] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": editing ? 'Edit field' : 'Add field', children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: editing ? `Edit field: ${editing}` : 'Add field' }), formError && _jsx(ErrorState, { message: formError }), _jsxs("form", { onSubmit: handleSubmitField, children: [_jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(160px, 1fr))', gap: '0.75rem' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-name", children: "Name (camelCase)" }), _jsx("input", { id: "field-name", className: "kywi-input", value: form.name, required: true, disabled: !!editing, pattern: "^[a-zA-Z][a-zA-Z0-9]*$", title: "camelCase alphanumeric, starting with a letter", onChange: (e) => setForm((p) => ({ ...p, name: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-label", children: "Label" }), _jsx("input", { id: "field-label", className: "kywi-input", value: form.label, required: true, onChange: (e) => setForm((p) => ({ ...p, label: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-type", children: "Type" }), _jsx("select", { id: "field-type", className: "kywi-select", value: form.type, onChange: (e) => setForm((p) => ({ ...p, type: e.target.value })), children: FIELD_TYPES.map((t) => _jsx("option", { value: t, children: t }, t)) })] })] }), OPTION_TYPES.has(form.type) && (_jsxs("div", { className: "kywi-form-field", style: { marginTop: '0.75rem' }, children: [_jsx("label", { className: "kywi-label", htmlFor: "field-options", children: "Options (comma-separated)" }), _jsx("input", { id: "field-options", className: "kywi-input", value: form.options, placeholder: "one, two, three", onChange: (e) => setForm((p) => ({ ...p, options: e.target.value })) })] })), _jsxs("fieldset", { style: { marginTop: '0.75rem', border: '1px solid var(--kywi-border)', borderRadius: 'var(--kywi-radius-md, 8px)', padding: '0.75rem' }, children: [_jsx("legend", { style: { fontSize: '0.78rem', color: 'var(--kywi-text-muted)', padding: '0 0.4rem' }, children: "Validation rules" }), _jsxs("label", { className: "kywi-checkbox-label", style: { display: 'flex', gap: '0.5rem', alignItems: 'center' }, children: [_jsx("input", { type: "checkbox", className: "kywi-checkbox", checked: form.required, onChange: (e) => setForm((p) => ({ ...p, required: e.target.checked })) }), "Required"] }), form.type === 'number' && (_jsxs("div", { style: { display: 'flex', gap: '0.75rem', marginTop: '0.5rem' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-min", children: "Min" }), _jsx("input", { id: "v-min", className: "kywi-input", type: "number", value: form.min, onChange: (e) => setForm((p) => ({ ...p, min: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-max", children: "Max" }), _jsx("input", { id: "v-max", className: "kywi-input", type: "number", value: form.max, onChange: (e) => setForm((p) => ({ ...p, max: e.target.value })) })] })] })), stringLike && (_jsxs("div", { style: { display: 'flex', gap: '0.75rem', marginTop: '0.5rem', flexWrap: 'wrap' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-minlen", children: "Min length" }), _jsx("input", { id: "v-minlen", className: "kywi-input kywi-input-narrow", type: "number", value: form.minLength, onChange: (e) => setForm((p) => ({ ...p, minLength: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-maxlen", children: "Max length" }), _jsx("input", { id: "v-maxlen", className: "kywi-input kywi-input-narrow", type: "number", value: form.maxLength, onChange: (e) => setForm((p) => ({ ...p, maxLength: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", style: { flex: 1, minWidth: 160 }, children: [_jsx("label", { className: "kywi-label", htmlFor: "v-pattern", children: "Pattern (regex)" }), _jsx("input", { id: "v-pattern", className: "kywi-input", value: form.pattern, placeholder: "^[A-Z]{3}$", onChange: (e) => setForm((p) => ({ ...p, pattern: e.target.value })) })] })] }))] }), _jsxs("div", { className: "kywi-form-actions", style: { marginTop: '0.75rem' }, children: [_jsx("button", { type: "submit", className: "kywi-btn kywi-btn-primary", disabled: saving, children: saving ? 'Saving…' : editing ? 'Save field' : 'Add field' }), editing && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: resetForm, children: "Cancel" }))] })] })] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Apply schema changes", children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Apply schema changes" }), _jsxs("div", { className: "kywi-admin-callout kywi-admin-callout-info", children: ["\u201CApply Schema Changes\u201D runs ", _jsx("code", { children: "ALTER TABLE" }), " (and ", _jsx("code", { children: "CREATE TABLE" }), " for a new admin type) to add columns for admin-defined fields. Columns are only ever ", _jsx("strong", { children: "added" }), " \u2014 deleting a field never drops its column. Config fields are managed by ", _jsx("code", { children: "migrate:push" }), "."] }), _jsxs("div", { style: { display: 'flex', gap: '1rem', alignItems: 'center', flexWrap: 'wrap', marginTop: '0.75rem' }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: handleApply, children: "Apply Schema Changes" }), applyStatus && (_jsx("div", { className: `kywi-admin-callout kywi-admin-callout-${applyStatus.kind}`, style: { margin: 0, padding: '0.4rem 0.75rem' }, children: applyStatus.text }))] })] })] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Editor preview", style: { position: 'sticky', top: 'var(--kywi-space-4, 1rem)' }, children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Editor preview" }), _jsxs("p", { className: "kywi-field-hint", style: { marginTop: '-0.25rem' }, children: ["How the content editor form renders for a ", _jsx("strong", { children: meta?.label ?? typeName }), " item."] }), _jsxs("div", { style: { border: '1px solid var(--kywi-border)', borderRadius: 'var(--kywi-radius-md, 8px)', padding: '1rem', background: 'var(--kywi-surface-2)' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", children: ["Title ", _jsx("span", { style: { color: '#dc2626' }, children: "*" })] }), _jsx("input", { className: "kywi-input", disabled: true, placeholder: "Title" })] }), fields.length === 0 ? (_jsx("p", { className: "kywi-field-hint", children: "No custom fields \u2014 add fields to preview them here." })) : (fields.map((f) => _jsx(PreviewField, { field: f }, f.name)))] })] })] }))] }));
287
+ }) })] }) }))] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": editing ? 'Edit field' : 'Add field', children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: editing ? `Edit field: ${editing}` : 'Add field' }), formError && _jsx(ErrorState, { message: formError }), _jsxs("form", { onSubmit: handleSubmitField, children: [_jsxs("div", { style: { display: 'grid', gridTemplateColumns: 'repeat(auto-fit, minmax(160px, 1fr))', gap: '0.75rem' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-name", children: "Name (camelCase)" }), _jsx("input", { id: "field-name", className: "kywi-input", value: form.name, required: true, disabled: !!editing, pattern: "^[a-zA-Z][a-zA-Z0-9]*$", title: "camelCase alphanumeric, starting with a letter", onChange: (e) => setForm((p) => ({ ...p, name: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-label", children: "Label" }), _jsx("input", { id: "field-label", className: "kywi-input", value: form.label, required: true, onChange: (e) => setForm((p) => ({ ...p, label: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "field-type", children: "Type" }), _jsx("select", { id: "field-type", className: "kywi-select", value: form.type, onChange: (e) => setForm((p) => ({ ...p, type: e.target.value })), children: FIELD_TYPES.map((t) => _jsx("option", { value: t, children: t }, t)) })] })] }), OPTION_TYPES.has(form.type) && (_jsxs("div", { className: "kywi-form-field", style: { marginTop: '0.75rem' }, children: [_jsx("label", { className: "kywi-label", htmlFor: "field-options", children: "Options (comma-separated)" }), _jsx("input", { id: "field-options", className: "kywi-input", value: form.options, placeholder: "one, two, three", onChange: (e) => setForm((p) => ({ ...p, options: e.target.value })) })] })), form.type === 'relationship' && (_jsxs("div", { className: "kywi-form-field", style: { marginTop: '0.75rem' }, children: [_jsx("label", { className: "kywi-label", htmlFor: "field-related-type", children: "Related type" }), _jsxs("select", { id: "field-related-type", className: "kywi-select", value: form.relatedType, onChange: (e) => setForm((p) => ({ ...p, relatedType: e.target.value })), children: [_jsx("option", { value: "", children: "-- Select a content type --" }), _jsx("option", { value: "user", children: "User" }), availableTypes
288
+ .filter((t) => t.name !== typeName)
289
+ .map((t) => _jsxs("option", { value: t.name, children: [t.label, " (", t.name, ")"] }, t.name))] }), _jsx("p", { className: "kywi-field-hint", children: "What this field points at \u2014 another content type, or a user (e.g. an Author field)." })] })), _jsxs("fieldset", { style: { marginTop: '0.75rem', border: '1px solid var(--kywi-border)', borderRadius: 'var(--kywi-radius-md, 8px)', padding: '0.75rem' }, children: [_jsx("legend", { style: { fontSize: '0.78rem', color: 'var(--kywi-text-muted)', padding: '0 0.4rem' }, children: "Validation rules" }), _jsxs("label", { className: "kywi-checkbox-label", style: { display: 'flex', gap: '0.5rem', alignItems: 'center' }, children: [_jsx("input", { type: "checkbox", className: "kywi-checkbox", checked: form.required, onChange: (e) => setForm((p) => ({ ...p, required: e.target.checked })) }), "Required"] }), form.type === 'number' && (_jsxs("div", { style: { display: 'flex', gap: '0.75rem', marginTop: '0.5rem' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-min", children: "Min" }), _jsx("input", { id: "v-min", className: "kywi-input", type: "number", value: form.min, onChange: (e) => setForm((p) => ({ ...p, min: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-max", children: "Max" }), _jsx("input", { id: "v-max", className: "kywi-input", type: "number", value: form.max, onChange: (e) => setForm((p) => ({ ...p, max: e.target.value })) })] })] })), stringLike && (_jsxs("div", { style: { display: 'flex', gap: '0.75rem', marginTop: '0.5rem', flexWrap: 'wrap' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-minlen", children: "Min length" }), _jsx("input", { id: "v-minlen", className: "kywi-input kywi-input-narrow", type: "number", value: form.minLength, onChange: (e) => setForm((p) => ({ ...p, minLength: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "v-maxlen", children: "Max length" }), _jsx("input", { id: "v-maxlen", className: "kywi-input kywi-input-narrow", type: "number", value: form.maxLength, onChange: (e) => setForm((p) => ({ ...p, maxLength: e.target.value })) })] }), _jsxs("div", { className: "kywi-form-field", style: { flex: 1, minWidth: 160 }, children: [_jsx("label", { className: "kywi-label", htmlFor: "v-pattern", children: "Pattern (regex)" }), _jsx("input", { id: "v-pattern", className: "kywi-input", value: form.pattern, placeholder: "^[A-Z]{3}$", onChange: (e) => setForm((p) => ({ ...p, pattern: e.target.value })) })] })] }))] }), _jsxs("div", { className: "kywi-form-actions", style: { marginTop: '0.75rem' }, children: [_jsx("button", { type: "submit", className: "kywi-btn kywi-btn-primary", disabled: saving, children: saving ? 'Saving…' : editing ? 'Save field' : 'Add field' }), editing && (_jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: resetForm, children: "Cancel" }))] })] })] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Apply schema changes", children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Apply schema changes" }), _jsxs("div", { className: "kywi-admin-callout kywi-admin-callout-info", children: ["\u201CApply Schema Changes\u201D runs ", _jsx("code", { children: "ALTER TABLE" }), " (and ", _jsx("code", { children: "CREATE TABLE" }), " for a new admin type) to add columns for admin-defined fields. Columns are only ever ", _jsx("strong", { children: "added" }), " \u2014 deleting a field never drops its column. Config fields are managed by ", _jsx("code", { children: "migrate:push" }), "."] }), _jsxs("div", { style: { display: 'flex', gap: '1rem', alignItems: 'center', flexWrap: 'wrap', marginTop: '0.75rem' }, children: [_jsx("button", { type: "button", className: "kywi-btn kywi-btn-primary", onClick: handleApply, children: "Apply Schema Changes" }), applyStatus && (_jsx("div", { className: `kywi-admin-callout kywi-admin-callout-${applyStatus.kind}`, style: { margin: 0, padding: '0.4rem 0.75rem' }, children: applyStatus.text }))] })] })] }), _jsxs("section", { className: "kywi-admin-settings-section", "aria-label": "Editor preview", style: { position: 'sticky', top: 'var(--kywi-space-4, 1rem)' }, children: [_jsx("h2", { className: "kywi-admin-settings-section-title", children: "Editor preview" }), _jsxs("p", { className: "kywi-field-hint", style: { marginTop: '-0.25rem' }, children: ["How the content editor form renders for a ", _jsx("strong", { children: meta?.label ?? typeName }), " item."] }), _jsxs("div", { style: { border: '1px solid var(--kywi-border)', borderRadius: 'var(--kywi-radius-md, 8px)', padding: '1rem', background: 'var(--kywi-surface-2)' }, children: [_jsxs("div", { className: "kywi-form-field", children: [_jsxs("label", { className: "kywi-label", htmlFor: "preview-title", children: ["Title", (meta?.titleRequired ?? true) && _jsx("span", { style: { color: '#dc2626' }, children: " *" })] }), _jsx("input", { id: "preview-title", className: "kywi-input", disabled: true, placeholder: "Title" })] }), _jsxs("div", { className: "kywi-form-field", children: [_jsx("label", { className: "kywi-label", htmlFor: "preview-slug", children: "Slug" }), _jsx("input", { id: "preview-slug", className: "kywi-input", disabled: true, placeholder: "Auto-generated from title if empty" })] }), (meta?.baseType ?? 'content') === 'content' && (_jsx(FieldRenderer, { field: BODY_PREVIEW_FIELD, value: undefined, onChange: () => { } })), _jsx(FieldRenderer, { field: FEATURED_IMAGE_PREVIEW_FIELD, value: undefined, onChange: () => { } }), fields.length === 0 ? (_jsx("p", { className: "kywi-field-hint", children: "No custom fields \u2014 add fields to preview them here." })) : (fields.map((f) => (_jsx(FieldRenderer, { field: toFieldDefinition(f), value: undefined, onChange: () => { } }, f.name))))] })] })] }))] }));
259
290
  }
260
291
  //# sourceMappingURL=content-types-designer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"content-types-designer.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTypes/content-types-designer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"content-types-designer.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/contentTypes/content-types-designer.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAA;AAiC7E,MAAM,WAAW,GAAG;IAClB,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,aAAa;IACvD,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO;IAC9F,KAAK,EAAE,OAAO;CACN,CAAA;AAEV,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACxG,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAA;AAEvD,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;IAC9C,QAAQ,EAAE,KAAK;IACf,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;IAC3D,WAAW,EAAE,EAAE;CAChB,CAAA;AAGD;;iFAEiF;AACjF,MAAM,kBAAkB,GAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;AAC7F,MAAM,4BAA4B,GAAoB,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAA;AAEzH;;gFAEgF;AAChF,SAAS,iBAAiB,CAAC,CAAW;IACpC,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,CAAC,CAAC,IAA+B;QACvC,KAAK,EAAE,CAAC,CAAC,KAAK;QACd,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzD,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QACtD,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;QAC/D,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;KACnE,CAAA;AACH,CAAC;AAED,gFAAgF;AAEhF,MAAM,CAAC,OAAO,UAAU,2BAA2B,CAAC,EAAE,MAAM,EAAgB;IAC1E,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE,CAAA;IAElC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAkB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAA;IACpD,uEAAuE;IACvE,uCAAuC;IACvC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAa,EAAE,CAAC,CAAA;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC5C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IACvD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAY,SAAS,CAAC,CAAA;IACtD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC3D,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAA+D,IAAI,CAAC,CAAA;IAElH,MAAM,IAAI,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAClC,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAA;QACd,IAAI,CAAC;YACH,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrC,UAAU,CAAC,yBAAyB,QAAQ,SAAS,CAAC;gBACtD,UAAU,CAAC,uBAAuB,CAAC;aACpC,CAAC,CAAA;YACF,IAAI,CAAC,IAAI,CAAC,EAAE;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;YACvE,SAAS,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAe,CAAC,CAAA;YACzD,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,EAAE,CAAe,CAAA;gBAC3D,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAA;gBACtD,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,QAAQ,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAA;QAC1E,CAAC;gBAAS,CAAC;YACT,UAAU,CAAC,KAAK,CAAC,CAAA;QACnB,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAE1B,SAAS,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAA,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAEnC,SAAS,SAAS;QAChB,OAAO,CAAC,SAAS,CAAC,CAAA;QAClB,UAAU,CAAC,IAAI,CAAC,CAAA;QAChB,YAAY,CAAC,IAAI,CAAC,CAAA;IACpB,CAAC;IAED,SAAS,SAAS,CAAC,KAAe;QAChC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACtB,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,OAAO,CAAC;YACN,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,KAAK;YACjC,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5C,GAAG,EAAE,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC5C,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxD,SAAS,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE;YACxD,OAAO,EAAE,KAAK,CAAC,UAAU,EAAE,OAAO,IAAI,EAAE;YACxC,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;SACrC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,YAAY;QACnB,MAAM,OAAO,GAA4B;YACvC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;QACD,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YACvD,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAChF,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5D,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;QAC/C,CAAC;QACD,MAAM,CAAC,GAAe,EAAE,CAAA;QACxB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;gBAAE,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC7C,IAAI,IAAI,CAAC,GAAG,KAAK,EAAE;gBAAE,CAAC,CAAC,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/C,CAAC;QACD,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;gBAAE,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/D,IAAI,IAAI,CAAC,SAAS,KAAK,EAAE;gBAAE,CAAC,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAAE,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QAC1D,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,UAAU,GAAG,CAAC,CAAA;QACrD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,KAAK,UAAU,iBAAiB,CAAC,CAAkB;QACjD,CAAC,CAAC,cAAc,EAAE,CAAA;QAClB,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,0EAA0E;QAC1E,sEAAsE;QACtE,qEAAqE;QACrE,iCAAiC;QACjC,IAAI,CAAC,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/C,YAAY,CACV,IAAI,IAAI,CAAC,IAAI,8GAA8G,CAC5H,CAAA;YACD,OAAM;QACR,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,EAAE,CAAA;YAC9B,MAAM,GAAG,GAAG,OAAO;gBACjB,CAAC,CAAC,yBAAyB,QAAQ,WAAW,OAAO,EAAE;gBACvD,CAAC,CAAC,yBAAyB,QAAQ,SAAS,CAAA;YAC9C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YACtG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC/C,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,gBAAgB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;YACxE,CAAC;YACD,SAAS,EAAE,CAAA;YACX,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAA;QACvE,CAAC;gBAAS,CAAC;YACT,SAAS,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED,KAAK,UAAU,yBAAyB,CAAC,IAAa;QACpD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,OAAM;QAC5C,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,yBAAyB,QAAQ,EAAE,EAAE;YAChE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;SAC9C,CAAC,CAAA;QACF,IAAI,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,UAAU,YAAY,CAAC,IAAY;QACtC,IAAI,CAAC,OAAO,CAAC,iBAAiB,IAAI,iEAAiE,CAAC;YAAE,OAAM;QAC5G,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,yBAAyB,QAAQ,WAAW,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACtG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAC/C,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,wBAAwB,CAAC,CAAA;YACvD,OAAM;QACR,CAAC;QACD,IAAI,OAAO,KAAK,IAAI;YAAE,SAAS,EAAE,CAAA;QACjC,MAAM,IAAI,EAAE,CAAA;IACd,CAAC;IAED,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,GAAW;QACpD,iEAAiE;QACjE,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;QAChF,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,CAAA;QACtB,IAAI,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM;YAAE,OACrD;QAAA,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAE,EAAE,UAAU,CAAC,GAAG,CAAE,CAAC,CAAA;QAC5E,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,yBAAyB,QAAQ,UAAU,EAAE;YACxE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC;SAC5C,CAAC,CAAA;QACF,IAAI,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,EAAE,CAAA;IAC1B,CAAC;IAED,KAAK,UAAU,WAAW;QACxB,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC,CAAA;QAClE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,6BAA6B,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAA;QAC/E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAC/C,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;YACxF,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;QAC3D,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,cAAc,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACpE,CAAC;aAAM,IAAI,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/D,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,IAAI,MAAM,CAAC,OAAO;gBAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;YAC/C,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;YACxE,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;QAC5E,CAAC;aAAM,CAAC;YACN,cAAc,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,2CAA2C,EAAE,CAAC,CAAA;QACxF,CAAC;IACH,CAAC;IAED,KAAK,UAAU,gBAAgB;QAC7B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO;YAAE,OAAM;QAC5C,IAAI,CAAC,OAAO,CAAC,4BAA4B,IAAI,CAAC,KAAK,sEAAsE,CAAC;YAAE,OAAM;QAClI,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,yBAAyB,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAA;QACvF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;YAC/C,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAI,uBAAuB,CAAC,CAAA;YACtD,OAAM;QACR,CAAC;QACD,QAAQ,CAAC,sBAAsB,CAAC,CAAA;IAClC,CAAC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAA;IAC9D,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAE7C,OAAO,CACL,8BACE,eAAK,SAAS,EAAC,wBAAwB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,aACrH,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qCAAqC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,qCAE5G,EACT,cAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,aACrB,IAAI,EAAE,KAAK,IAAI,QAAQ,EACvB,IAAI,IAAI,CACP,eACE,SAAS,EAAC,yBAAyB,EACnC,KAAK,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBACtC,IAAI,CAAC,MAAM,YAEvB,IAAI,CAAC,MAAM,GACP,CACR,IACE,EACJ,IAAI,EAAE,MAAM,KAAK,OAAO,IAAI,CAC3B,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sCAAsC,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,gBAAgB,4BAEtH,CACV,IACG,EAEL,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,YAAY,IAAC,KAAK,EAAC,wBAAmB,GAAG,CAC3C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CACV,KAAC,UAAU,IAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAI,CAC9C,CAAC,CAAC,CAAC,CACF,eAAK,SAAS,EAAC,oBAAoB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,iCAAiC,EAAE,GAAG,EAAE,6BAA6B,EAAE,UAAU,EAAE,OAAO,EAAE,aAE7K,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,EAAE,8BAA8B,EAAE,aAC3F,mBAAS,SAAS,EAAC,6BAA6B,gBAAY,eAAe,aACzE,aAAI,SAAS,EAAC,mCAAmC,8BAAmB,EACpE,iBAAO,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aACpG,gBACE,IAAI,EAAC,UAAU,EACf,SAAS,EAAC,eAAe,EACzB,OAAO,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI,EACpC,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,EAClC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAC5D,qBAEI,EACR,YAAG,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAC3D,IAAI,EAAE,MAAM,KAAK,OAAO;4CACvB,CAAC,CAAC,uHAAuH;4CACzH,CAAC,CAAC,qCAAqC,GACvC,IACI,EAEV,mBAAS,SAAS,EAAC,6BAA6B,gBAAY,QAAQ,aAClE,aAAI,SAAS,EAAC,mCAAmC,uBAAY,EAC7D,aAAG,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,aAC7D,sCAAuB,qCAA+B,4CAA2B,QACjF,sCAAuB,gGACrB,EACH,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACrB,cAAK,SAAS,EAAC,wBAAwB,8CAAoC,CAC5E,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAC/D,iBAAO,SAAS,EAAC,kBAAkB,aACjC,0BACE,yBACE,aAAI,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,sBAAY,EACpC,gCAAa,EACb,gCAAa,EACb,iCAAc,EACd,kCAAe,EACf,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,wBAAc,IAC5C,GACC,EACR,0BACG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;wDAChB,MAAM,KAAK,GAAa,EAAE,CAAA;wDAC1B,IAAI,CAAC,CAAC,QAAQ;4DAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;wDACtC,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI;4DAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;wDACpE,IAAI,CAAC,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI;4DAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAA;wDACpE,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI;4DAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,KAAK,CAAC,CAAA;wDAChF,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI;4DAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,KAAK,CAAC,CAAA;wDAChF,IAAI,CAAC,CAAC,UAAU,EAAE,OAAO;4DAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;wDAChD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,IAAI,CAAC,CAAC,WAAW;4DAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAA;wDAChF,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,CAAA;wDAChE,OAAO,CACL,yBACE,uBACG,CAAC,CAAC,MAAM,KAAK,OAAO,IAAI,CACvB,gBAAM,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,aAC7C,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qCAAqC,gBAAa,QAAQ,CAAC,CAAC,IAAI,KAAK,EAAE,QAAQ,EAAE,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,uBAAY,EACpL,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qCAAqC,gBAAa,QAAQ,CAAC,CAAC,IAAI,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,uBAAY,IACrM,CACR,GACE,EACL,yBAAI,yBAAO,CAAC,CAAC,IAAI,GAAQ,EAAA,cAAK,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,YAAG,CAAC,CAAC,KAAK,GAAO,IAAK,EACnH,uBAAK,CAAC,CAAC,IAAI,GAAM,EACjB,aAAI,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,YAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,GAAM,EACnG,uBACE,eAAM,SAAS,EAAC,yBAAyB,iBAAc,CAAC,CAAC,MAAM,YAAG,CAAC,CAAC,MAAM,GAAQ,GAC/E,EACL,aAAI,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,YACpD,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,CACtB,8BACE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,qCAAqC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAe,EAChH,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,sCAAsC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,uBAAiB,IAC1H,CACJ,CAAC,CAAC,CAAC,CACF,eAAM,KAAK,EAAC,yCAAoC,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,wBAAwB,EAAE,6BAAW,CACvG,GACE,KAxBE,CAAC,CAAC,IAAI,CAyBV,CACN,CAAA;oDACH,CAAC,CAAC,GACI,IACF,GACF,CACP,IACO,EAGV,mBAAS,SAAS,EAAC,6BAA6B,gBAAa,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,aAC/F,aAAI,SAAS,EAAC,mCAAmC,YAAE,OAAO,CAAC,CAAC,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC,CAAC,WAAW,GAAM,EACxG,SAAS,IAAI,KAAC,UAAU,IAAC,OAAO,EAAE,SAAS,GAAI,EAChD,gBAAM,QAAQ,EAAE,iBAAiB,aAC/B,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,sCAAsC,EAAE,GAAG,EAAE,SAAS,EAAE,aAC1G,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,YAAY,iCAAyB,EAC3E,gBAAO,EAAE,EAAC,YAAY,EAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,QAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAC1F,OAAO,EAAC,wBAAwB,EAAC,KAAK,EAAC,gDAAgD,EACvF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IACnE,EACN,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,aAAa,sBAAc,EACjE,gBAAO,EAAE,EAAC,aAAa,EAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,QACxE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IACpE,EACN,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,YAAY,qBAAa,EAC/D,iBAAQ,EAAE,EAAC,YAAY,EAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,EAC9D,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,YAChE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAgB,KAAK,EAAE,CAAC,YAAG,CAAC,IAAf,CAAC,CAAwB,CAAC,GACxD,IACL,IACF,EAEL,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC9B,eAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAC9D,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,eAAe,0CAAkC,EACvF,gBAAO,EAAE,EAAC,eAAe,EAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAC,iBAAiB,EACjG,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IACtE,CACP,EAEA,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,CAC/B,eAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAC9D,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,oBAAoB,6BAAqB,EAC/E,kBAAQ,EAAE,EAAC,oBAAoB,EAAC,SAAS,EAAC,aAAa,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,EAC7E,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,aACxE,iBAAQ,KAAK,EAAC,EAAE,4CAAqC,EACrD,iBAAQ,KAAK,EAAC,MAAM,qBAAc,EACjC,cAAc;iEACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;iEAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAqB,KAAK,EAAE,CAAC,CAAC,IAAI,aAAG,CAAC,CAAC,KAAK,QAAI,CAAC,CAAC,IAAI,UAAzC,CAAC,CAAC,IAAI,CAA8C,CAAC,IACzE,EACT,YAAG,SAAS,EAAC,iBAAiB,yGAE1B,IACA,CACP,EAGD,oBAAU,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,8BAA8B,EAAE,YAAY,EAAE,4BAA4B,EAAE,OAAO,EAAE,SAAS,EAAE,aAC/I,iBAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,wBAAwB,EAAE,OAAO,EAAE,UAAU,EAAE,iCAA2B,EACvH,iBAAO,SAAS,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,aACpG,gBAAO,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,eAAe,EAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EACrE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAI,gBAEvE,EACP,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CACzB,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,aAClE,eAAK,SAAS,EAAC,iBAAiB,aAAC,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,oBAAY,EACxF,gBAAO,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IAAM,EACpJ,eAAK,SAAS,EAAC,iBAAiB,aAAC,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,OAAO,oBAAY,EACxF,gBAAO,EAAE,EAAC,OAAO,EAAC,SAAS,EAAC,YAAY,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IAAM,IAChJ,CACP,EACA,UAAU,IAAI,CACb,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,aACpF,eAAK,SAAS,EAAC,iBAAiB,aAAC,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,2BAAmB,EAClG,gBAAO,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,8BAA8B,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IAAM,EACrL,eAAK,SAAS,EAAC,iBAAiB,aAAC,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,UAAU,2BAAmB,EAClG,gBAAO,EAAE,EAAC,UAAU,EAAC,SAAS,EAAC,8BAA8B,EAAC,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IAAM,EACrL,eAAK,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAE,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,WAAW,gCAAwB,EAC3I,gBAAO,EAAE,EAAC,WAAW,EAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,EAAC,YAAY,EAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAI,IAAM,IACvK,CACP,IACQ,EAEX,eAAK,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,aAChE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EAAC,QAAQ,EAAE,MAAM,YACzE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,GACnD,EACR,OAAO,IAAI,CACV,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,SAAS,uBAAiB,CAClG,IACG,IACD,IACC,EAGV,mBAAS,SAAS,EAAC,6BAA6B,gBAAY,sBAAsB,aAChF,aAAI,SAAS,EAAC,mCAAmC,qCAA0B,EAC3E,eAAK,SAAS,EAAC,4CAA4C,uDAC7B,yCAAwB,YAAM,0CAAyB,4FACd,qCAAsB,oFAChC,0CAAyB,SAChF,EACN,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,aACxG,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,WAAW,qCAA+B,EAC9G,WAAW,IAAI,CACd,cAAK,SAAS,EAAE,yCAAyC,WAAW,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,YACzH,WAAW,CAAC,IAAI,GACb,CACP,IACG,IACE,IACN,EAWN,mBAAS,SAAS,EAAC,6BAA6B,gBAAY,gBAAgB,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,2BAA2B,EAAE,aAC1I,aAAI,SAAS,EAAC,mCAAmC,+BAAoB,EACrE,aAAG,SAAS,EAAC,iBAAiB,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,2DACnB,2BAAS,IAAI,EAAE,KAAK,IAAI,QAAQ,GAAU,cAClF,EACJ,eAAK,KAAK,EAAE,EAAE,MAAM,EAAE,8BAA8B,EAAE,YAAY,EAAE,4BAA4B,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,uBAAuB,EAAE,aACtJ,eAAK,SAAS,EAAC,iBAAiB,aAC9B,iBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,eAAe,sBAElD,CAAC,IAAI,EAAE,aAAa,IAAI,IAAI,CAAC,IAAI,eAAM,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,mBAAW,IACxE,EACR,gBAAO,EAAE,EAAC,eAAe,EAAC,SAAS,EAAC,YAAY,EAAC,QAAQ,QAAC,WAAW,EAAC,OAAO,GAAG,IAC5E,EACN,eAAK,SAAS,EAAC,iBAAiB,aAC9B,gBAAO,SAAS,EAAC,YAAY,EAAC,OAAO,EAAC,cAAc,qBAAa,EACjE,gBAAO,EAAE,EAAC,cAAc,EAAC,SAAS,EAAC,YAAY,EAAC,QAAQ,QAAC,WAAW,EAAC,oCAAoC,GAAG,IACxG,EAIL,CAAC,IAAI,EAAE,QAAQ,IAAI,SAAS,CAAC,KAAK,SAAS,IAAI,CAC9C,KAAC,aAAa,IAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,CACnF,EACD,KAAC,aAAa,IAAC,KAAK,EAAE,4BAA4B,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,GAAI,EAC3F,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACrB,YAAG,SAAS,EAAC,iBAAiB,yEAAwD,CACvF,CAAC,CAAC,CAAC,CACF,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,KAAC,aAAa,IAAc,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAE,CAAC,IAAzE,CAAC,CAAC,IAAI,CAAuE,CAClG,CAAC,CACH,IACG,IACE,IACN,CACP,IACA,CACJ,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"feed-editor.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/feeds/feed-editor.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAOL,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAA;AAqBxB,UAAU,eAAe;IACvB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,2CAsLnD"}
1
+ {"version":3,"file":"feed-editor.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/feeds/feed-editor.tsx"],"names":[],"mappings":"AAkBA,OAAO,EAOL,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAA;AAqBxB,UAAU,eAAe;IACvB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,OAAO,CAAA;CACf;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,2CAsMnD"}
@@ -69,11 +69,28 @@ export function FeedEditor({ feed }) {
69
69
  setPreviewing(false);
70
70
  }
71
71
  }, []);
72
- // Preview an already-saved feed's query on first load.
72
+ // Preview an already-saved feed's query on first load. kywi-cms#26: a feed
73
+ // saved before the content-type <select> fix (or otherwise left with a
74
+ // reserved/renamed type) can have an empty or orphaned `contentType` on
75
+ // disk — auto-running that query verbatim would show a blank preview
76
+ // forever, on every reopen, with no way for the user to tell why. Wait for
77
+ // the real content-type list to load, then self-heal: if the stored
78
+ // contentType isn't one of them, substitute the first real option (the same
79
+ // fallback the contentType <select> itself resolves to) before previewing,
80
+ // and adopt the healed query as the editor's own `query` state so a plain
81
+ // "Save changes" — without touching the builder — persists the fix too.
73
82
  useEffect(() => {
74
- if (feed?.query)
75
- void runPreview(feed.query);
76
- }, [feed, runPreview]);
83
+ if (!feed?.query || contentTypes.length === 0)
84
+ return;
85
+ const storedType = feed.query.contentType;
86
+ const healedType = contentTypes.some(ct => ct.name === storedType)
87
+ ? storedType
88
+ : contentTypes[0].name;
89
+ const healedQuery = healedType === storedType ? feed.query : { ...feed.query, contentType: healedType };
90
+ if (healedQuery !== feed.query)
91
+ setQuery(healedQuery);
92
+ void runPreview(healedQuery);
93
+ }, [feed, contentTypes, runPreview]);
77
94
  // FeedBuilder emits the current query via its "Apply query" button — apply + preview.
78
95
  const handleQueryApply = useCallback((q) => {
79
96
  setQuery(q);
@@ -1 +1 @@
1
- {"version":3,"file":"feed-editor.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/feeds/feed-editor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feed-editor.js","sourceRoot":"","sources":["../../../../src/admin/surfaces/feeds/feed-editor.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ;;;;;;;;;;GAUG;AAEH,OAAc,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EACL,UAAU,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,GAKjB,MAAM,iBAAiB,CAAA;AAExB,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,IAAI,EAAE;SACN,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;AAC5B,CAAC;AAED,qDAAqD;AACrD,SAAS,QAAQ,CAAC,IAA6B;IAC7C,OAAO,CACJ,IAAI,CAAC,KAAgB;QACrB,IAAI,CAAC,IAAe;QACpB,IAAI,CAAC,IAAe;QACpB,IAAI,CAAC,EAAa;QACnB,YAAY,CACb,CAAA;AACH,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,EAAE,IAAI,EAAmB;IAClD,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,EAAE,CAAA;IACtC,MAAM,MAAM,GAAG,IAAI,KAAK,SAAS,CAAA;IAEjC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;IACtD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAA;IAEzE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAsB,EAAE,CAAC,CAAA;IACzE,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEjE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoB,IAAI,CAAC,CAAA;IAC/D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAErE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC3C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAE/D,4DAA4D;IAC5D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,KAAK,GAAG,IAAI,CAAA;QAChB,gBAAgB,EAAE;aACf,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK;YAAE,eAAe,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAC;aAC5C,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,KAAK;YAAE,aAAa,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAA,CAAC,CAAC,CAAC,CAAA;QAC5G,OAAO,GAAG,EAAE,GAAG,KAAK,GAAG,KAAK,CAAA,CAAC,CAAC,CAAA;IAChC,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAY,EAAE,EAAE;QACpD,aAAa,CAAC,IAAI,CAAC,CAAA;QACnB,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,IAAI,CAAC;YACH,UAAU,CAAC,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,CAAA;QAClC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,CAAA;YAChB,eAAe,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAA;QACpE,CAAC;gBAAS,CAAC;YACT,aAAa,CAAC,KAAK,CAAC,CAAA;QACtB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,2EAA2E;IAC3E,uEAAuE;IACvE,wEAAwE;IACxE,qEAAqE;IACrE,2EAA2E;IAC3E,oEAAoE;IACpE,4EAA4E;IAC5E,2EAA2E;IAC3E,0EAA0E;IAC1E,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;YAAE,OAAM;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAA;QACzC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;YAChE,CAAC,CAAC,UAAU;YACZ,CAAC,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,IAAI,CAAA;QACzB,MAAM,WAAW,GAAG,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;QACvG,IAAI,WAAW,KAAK,IAAI,CAAC,KAAK;YAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACrD,KAAK,UAAU,CAAC,WAAW,CAAC,CAAA;IAC9B,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAA;IAEpC,sFAAsF;IACtF,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,CAAY,EAAE,EAAE;QACpD,QAAQ,CAAC,CAAC,CAAC,CAAA;QACX,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QAChF,KAAK,UAAU,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAA;IAEnC,MAAM,gBAAgB,GAAG,WAAW,CAAC,CAAC,KAAa,EAAE,EAAE;QACrD,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,IAAI,CAAC,WAAW;YAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;IAC3C,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACxC,YAAY,CAAC,IAAI,CAAC,CAAA;QAClB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAAC,YAAY,CAAC,0BAA0B,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QACtE,IAAI,CAAC,KAAK,EAAE,CAAC;YAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;YAAC,OAAM;QAAC,CAAC;QAEpF,SAAS,CAAC,IAAI,CAAC,CAAA;QACf,IAAI,CAAC;YACH,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;YACD,QAAQ,CAAC,cAAc,CAAC,CAAA;QAC1B,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,YAAY,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;YAC5D,SAAS,CAAC,KAAK,CAAC,CAAA;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE/C,OAAO,CACL,eAAK,SAAS,EAAC,kBAAkB,aAC/B,eAAK,SAAS,EAAC,wBAAwB,aACrC,0BACE,uBAAK,MAAM,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,GAAM,EAC1D,YAAG,SAAS,EAAC,iBAAiB,8GAG1B,IACA,EACN,eAAK,SAAS,EAAC,uBAAuB,aACpC,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,6BAA6B,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,uBAE5F,EACT,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAC,2BAA2B,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,YAC9F,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,WAAW,GACpD,IACL,IACF,EAEL,SAAS,IAAI,KAAC,UAAU,IAAC,OAAO,EAAE,SAAS,GAAI,EAEhD,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,YAAY,aACzB,gBAAO,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,kBAAkB,0BAAkB,EACzE,gBACE,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAC/C,WAAW,EAAC,mBAAmB,GAC/B,IACE,EACN,eAAK,SAAS,EAAC,YAAY,aACzB,gBAAO,OAAO,EAAC,WAAW,EAAC,SAAS,EAAC,kBAAkB,qBAAa,EACpE,gBACE,EAAE,EAAC,WAAW,EACd,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,YAAY,EACtB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA,CAAC,CAAC,EACzE,WAAW,EAAC,mBAAmB,GAC/B,EACD,MAAM,IAAI,eAAM,SAAS,EAAC,iBAAiB,8CAAqC,IAC7E,IACF,EAEN,eAAK,SAAS,EAAC,uBAAuB,aACpC,eAAK,SAAS,EAAC,0BAA0B,aACtC,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,UAAU,IAAC,OAAO,EAAE,UAAU,GAAI,CACpC,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IACV,YAAY,EAAE,YAAY,KACtB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1C,MAAM,EAAE,gBAAgB,GACxB,CACH,EACD,aAAG,SAAS,EAAC,iBAAiB,uBACtB,2CAA4B,uEAC7B,4CAA6B,iCAChC,IACA,EAEN,iBAAO,SAAS,EAAC,mBAAmB,gBAAY,cAAc,aAC5D,aAAI,SAAS,EAAC,yBAAyB,wBAAa,EACnD,UAAU,CAAC,CAAC,CAAC,CACZ,eAAK,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,QAAQ,aAC/C,eAAM,SAAS,EAAC,cAAc,iBAAa,MAAM,GAAG,EACpD,iDAA2B,IACvB,CACP,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CACjB,KAAC,UAAU,IAAC,OAAO,EAAE,YAAY,KAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAAI,CAC/F,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACb,cAAK,SAAS,EAAC,kBAAkB,YAC/B,iFAA6D,GACzD,CACP,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/B,cAAK,SAAS,EAAC,kBAAkB,YAC/B,wDAAoC,GAChC,CACP,CAAC,CAAC,CAAC,CACF,8BACE,aAAG,SAAS,EAAC,yBAAyB,aACnC,OAAO,CAAC,KAAK,YAAQ,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,sBAAa,OAAO,CAAC,KAAK,CAAC,MAAM,IACpF,EACJ,aAAI,SAAS,EAAC,wBAAwB,YACnC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC9B,cAAmC,SAAS,EAAC,wBAAwB,aACnE,eAAM,SAAS,EAAC,8BAA8B,YAAE,QAAQ,CAAC,IAAI,CAAC,GAAQ,EACrE,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,CAClC,eAAM,SAAS,EAAE,uCAAuC,IAAI,CAAC,MAAM,EAAE,YAAG,IAAI,CAAC,MAAM,GAAQ,CAC5F,KAJO,IAAI,CAAC,EAAa,IAAI,CAAC,CAK5B,CACN,CAAC,GACC,IACJ,CACJ,IACK,IACJ,IACF,CACP,CAAA;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout-editor-client.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/layouts/layout-editor-client.tsx"],"names":[],"mappings":"AA0BA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5F,UAAU,uBAAuB;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CA4GrE"}
1
+ {"version":3,"file":"layout-editor-client.d.ts","sourceRoot":"","sources":["../../../../src/admin/surfaces/layouts/layout-editor-client.tsx"],"names":[],"mappings":"AA2BA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE5F,UAAU,uBAAuB;IAC/B,6DAA6D;IAC7D,MAAM,CAAC,EAAE,SAAS,CAAA;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,MAAM,EAAE,EAAE,uBAAuB,2CAkHrE"}
@@ -24,7 +24,8 @@ import { createModuleRegistry } from '../../../layout/registry.js';
24
24
  import { BUILT_IN_MODULE_COMPONENTS } from '../../../layout/modules.js';
25
25
  import { createLayout, updateLayout, EMPTY_LAYOUT } from './layouts-data.js';
26
26
  export function LayoutEditorClient({ layout }) {
27
- const { fetch: adminFetch, navigate } = useAdminContext();
27
+ const { fetch: adminFetch, navigate, runtime, moduleComponents } = useAdminContext();
28
+ const hostModules = runtime.modules;
28
29
  const isEdit = layout !== undefined;
29
30
  const [name, setName] = useState(layout?.name ?? '');
30
31
  const [category, setCategory] = useState(layout?.category ?? 'general');
@@ -48,8 +49,10 @@ export function LayoutEditorClient({ layout }) {
48
49
  .catch(() => { });
49
50
  return () => { cancelled = true; };
50
51
  }, [adminFetch]);
51
- // Registry + components are stable for the editor's lifetime.
52
- const moduleRegistry = useMemo(() => createModuleRegistry([]), []);
52
+ // Registry + components merge host-registered custom modules (kywi-cms#48) so
53
+ // the standalone Layouts editor palette matches the content editor's.
54
+ const moduleRegistry = useMemo(() => createModuleRegistry(hostModules ?? []), [hostModules]);
55
+ const layoutModuleComponents = useMemo(() => (moduleComponents ? { ...BUILT_IN_MODULE_COMPONENTS, ...moduleComponents } : BUILT_IN_MODULE_COMPONENTS), [moduleComponents]);
53
56
  const initialLayout = useMemo(() => layout?.definition ?? EMPTY_LAYOUT, [layout]);
54
57
  const persist = useCallback(async (doc) => {
55
58
  setError(null);
@@ -72,6 +75,6 @@ export function LayoutEditorClient({ layout }) {
72
75
  setSaving(false);
73
76
  }
74
77
  }, [name, category, isEdit, layout, navigate, adminFetch]);
75
- return (_jsxs("div", { className: "kywi-layout-editor-page", children: [_jsxs("div", { className: "kywi-admin-page-header", children: [_jsxs("div", { children: [_jsx("h1", { children: isEdit ? `Edit layout: ${layout.name}` : 'New layout' }), _jsxs("p", { className: "kywi-text-muted", children: ["Build a reusable layout, then click ", _jsx("strong", { children: "Save" }), " in the editor toolbar to persist it."] })] }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: () => navigate('/admin/layouts'), children: "Back to layouts" })] }), error && _jsx(ErrorState, { message: error }), saving && _jsx("p", { className: "kywi-text-muted", role: "status", children: "Saving\u2026" }), _jsxs("div", { className: "kywi-layout-editor-meta", children: [_jsxs("div", { className: "kywi-field", children: [_jsx("label", { htmlFor: "layout-name", className: "kywi-field-label", children: "Layout name" }), _jsx("input", { id: "layout-name", type: "text", className: "kywi-input", value: name, onChange: e => setName(e.target.value), placeholder: "Landing hero + features" })] }), _jsxs("div", { className: "kywi-field", children: [_jsx("label", { htmlFor: "layout-category", className: "kywi-field-label", children: "Category" }), _jsx("input", { id: "layout-category", type: "text", className: "kywi-input", value: category, onChange: e => setCategory(e.target.value), placeholder: "general" })] })] }), _jsx("div", { className: "kywi-layout-editor-host", children: _jsx(LayoutEditor, { initialLayout: initialLayout, contentId: layout?.id ?? 'new', contentType: "layout", moduleRegistry: moduleRegistry, moduleComponents: BUILT_IN_MODULE_COMPONENTS, audiences: audiences, onSave: persist, onCancel: () => navigate('/admin/layouts') }) })] }));
78
+ return (_jsxs("div", { className: "kywi-layout-editor-page", children: [_jsxs("div", { className: "kywi-admin-page-header", children: [_jsxs("div", { children: [_jsx("h1", { children: isEdit ? `Edit layout: ${layout.name}` : 'New layout' }), _jsxs("p", { className: "kywi-text-muted", children: ["Build a reusable layout, then click ", _jsx("strong", { children: "Save" }), " in the editor toolbar to persist it."] })] }), _jsx("button", { type: "button", className: "kywi-btn kywi-btn-secondary", onClick: () => navigate('/admin/layouts'), children: "Back to layouts" })] }), error && _jsx(ErrorState, { message: error }), saving && _jsx("p", { className: "kywi-text-muted", role: "status", children: "Saving\u2026" }), _jsxs("div", { className: "kywi-layout-editor-meta", children: [_jsxs("div", { className: "kywi-field", children: [_jsx("label", { htmlFor: "layout-name", className: "kywi-field-label", children: "Layout name" }), _jsx("input", { id: "layout-name", type: "text", className: "kywi-input", value: name, onChange: e => setName(e.target.value), placeholder: "Landing hero + features" })] }), _jsxs("div", { className: "kywi-field", children: [_jsx("label", { htmlFor: "layout-category", className: "kywi-field-label", children: "Category" }), _jsx("input", { id: "layout-category", type: "text", className: "kywi-input", value: category, onChange: e => setCategory(e.target.value), placeholder: "general" })] })] }), _jsx("div", { className: "kywi-layout-editor-host", children: _jsx(LayoutEditor, { initialLayout: initialLayout, contentId: layout?.id ?? 'new', contentType: "layout", moduleRegistry: moduleRegistry, moduleComponents: layoutModuleComponents, audiences: audiences, onSave: persist, onCancel: () => navigate('/admin/layouts') }) })] }));
76
79
  }
77
80
  //# sourceMappingURL=layout-editor-client.js.map