@plumix/core 0.5.0 → 0.7.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 (454) hide show
  1. package/dist/cache/embedded-tags.d.ts +5 -0
  2. package/dist/cache/embedded-tags.d.ts.map +1 -0
  3. package/dist/cache/embedded-tags.js +30 -0
  4. package/dist/cache/embedded-tags.js.map +1 -0
  5. package/dist/context/app.d.ts +12 -0
  6. package/dist/context/app.d.ts.map +1 -1
  7. package/dist/context/app.js +10 -4
  8. package/dist/context/app.js.map +1 -1
  9. package/dist/context/memo.d.ts +22 -0
  10. package/dist/context/memo.d.ts.map +1 -0
  11. package/dist/context/memo.js +27 -0
  12. package/dist/context/memo.js.map +1 -0
  13. package/dist/context/traced-slots.d.ts +17 -0
  14. package/dist/context/traced-slots.d.ts.map +1 -0
  15. package/dist/context/traced-slots.js +57 -0
  16. package/dist/context/traced-slots.js.map +1 -0
  17. package/dist/entries/read-service.d.ts +6 -0
  18. package/dist/entries/read-service.d.ts.map +1 -1
  19. package/dist/entries/read-service.js +19 -3
  20. package/dist/entries/read-service.js.map +1 -1
  21. package/dist/index.d.ts +6 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +3 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/plugin/errors.d.ts +7 -1
  26. package/dist/plugin/errors.d.ts.map +1 -1
  27. package/dist/plugin/errors.js +5 -0
  28. package/dist/plugin/errors.js.map +1 -1
  29. package/dist/plugin/fields/builder.d.ts +106 -0
  30. package/dist/plugin/fields/builder.d.ts.map +1 -0
  31. package/dist/plugin/fields/builder.js +162 -0
  32. package/dist/plugin/fields/builder.js.map +1 -0
  33. package/dist/plugin/fields/color.d.ts +78 -18
  34. package/dist/plugin/fields/color.d.ts.map +1 -1
  35. package/dist/plugin/fields/color.js +116 -25
  36. package/dist/plugin/fields/color.js.map +1 -1
  37. package/dist/plugin/fields/condition.d.ts +40 -0
  38. package/dist/plugin/fields/condition.d.ts.map +1 -0
  39. package/dist/plugin/fields/condition.js +115 -0
  40. package/dist/plugin/fields/condition.js.map +1 -0
  41. package/dist/plugin/fields/contributions.d.ts +233 -0
  42. package/dist/plugin/fields/contributions.d.ts.map +1 -0
  43. package/dist/plugin/fields/contributions.js +1 -0
  44. package/dist/plugin/fields/contributions.js.map +1 -0
  45. package/dist/plugin/fields/entry.d.ts +24 -20
  46. package/dist/plugin/fields/entry.d.ts.map +1 -1
  47. package/dist/plugin/fields/entry.js +13 -21
  48. package/dist/plugin/fields/entry.js.map +1 -1
  49. package/dist/plugin/fields/errors.d.ts +23 -11
  50. package/dist/plugin/fields/errors.d.ts.map +1 -1
  51. package/dist/plugin/fields/errors.js +20 -13
  52. package/dist/plugin/fields/errors.js.map +1 -1
  53. package/dist/plugin/fields/group.d.ts +90 -0
  54. package/dist/plugin/fields/group.d.ts.map +1 -0
  55. package/dist/plugin/fields/group.js +124 -0
  56. package/dist/plugin/fields/group.js.map +1 -0
  57. package/dist/plugin/fields/index.d.ts +22 -45
  58. package/dist/plugin/fields/index.d.ts.map +1 -1
  59. package/dist/plugin/fields/index.js +25 -30
  60. package/dist/plugin/fields/index.js.map +1 -1
  61. package/dist/plugin/fields/json.d.ts +71 -9
  62. package/dist/plugin/fields/json.d.ts.map +1 -1
  63. package/dist/plugin/fields/json.js +110 -16
  64. package/dist/plugin/fields/json.js.map +1 -1
  65. package/dist/plugin/fields/link.d.ts +96 -0
  66. package/dist/plugin/fields/link.d.ts.map +1 -0
  67. package/dist/plugin/fields/link.js +160 -0
  68. package/dist/plugin/fields/link.js.map +1 -0
  69. package/dist/plugin/fields/number.d.ts +86 -13
  70. package/dist/plugin/fields/number.d.ts.map +1 -1
  71. package/dist/plugin/fields/number.js +133 -20
  72. package/dist/plugin/fields/number.js.map +1 -1
  73. package/dist/plugin/fields/range.d.ts +101 -17
  74. package/dist/plugin/fields/range.d.ts.map +1 -1
  75. package/dist/plugin/fields/range.js +153 -38
  76. package/dist/plugin/fields/range.js.map +1 -1
  77. package/dist/plugin/fields/reference.d.ts +171 -0
  78. package/dist/plugin/fields/reference.d.ts.map +1 -0
  79. package/dist/plugin/fields/reference.js +193 -0
  80. package/dist/plugin/fields/reference.js.map +1 -0
  81. package/dist/plugin/fields/repeater.d.ts +111 -8
  82. package/dist/plugin/fields/repeater.d.ts.map +1 -1
  83. package/dist/plugin/fields/repeater.js +157 -66
  84. package/dist/plugin/fields/repeater.js.map +1 -1
  85. package/dist/plugin/fields/richtext-validate.d.ts +7 -0
  86. package/dist/plugin/fields/richtext-validate.d.ts.map +1 -1
  87. package/dist/plugin/fields/richtext-validate.js +11 -5
  88. package/dist/plugin/fields/richtext-validate.js.map +1 -1
  89. package/dist/plugin/fields/richtext.d.ts +78 -12
  90. package/dist/plugin/fields/richtext.d.ts.map +1 -1
  91. package/dist/plugin/fields/richtext.js +121 -26
  92. package/dist/plugin/fields/richtext.js.map +1 -1
  93. package/dist/plugin/fields/select.d.ts +150 -10
  94. package/dist/plugin/fields/select.d.ts.map +1 -1
  95. package/dist/plugin/fields/select.js +205 -17
  96. package/dist/plugin/fields/select.js.map +1 -1
  97. package/dist/plugin/fields/sub-fields.d.ts +12 -0
  98. package/dist/plugin/fields/sub-fields.d.ts.map +1 -0
  99. package/dist/plugin/fields/sub-fields.js +62 -0
  100. package/dist/plugin/fields/sub-fields.js.map +1 -0
  101. package/dist/plugin/fields/temporal.d.ts +124 -0
  102. package/dist/plugin/fields/temporal.d.ts.map +1 -0
  103. package/dist/plugin/fields/temporal.js +180 -0
  104. package/dist/plugin/fields/temporal.js.map +1 -0
  105. package/dist/plugin/fields/term.d.ts +11 -16
  106. package/dist/plugin/fields/term.d.ts.map +1 -1
  107. package/dist/plugin/fields/term.js +11 -19
  108. package/dist/plugin/fields/term.js.map +1 -1
  109. package/dist/plugin/fields/toggle.d.ts +97 -0
  110. package/dist/plugin/fields/toggle.d.ts.map +1 -0
  111. package/dist/plugin/fields/toggle.js +135 -0
  112. package/dist/plugin/fields/toggle.js.map +1 -0
  113. package/dist/plugin/fields/user.d.ts +14 -26
  114. package/dist/plugin/fields/user.d.ts.map +1 -1
  115. package/dist/plugin/fields/user.js +11 -25
  116. package/dist/plugin/fields/user.js.map +1 -1
  117. package/dist/plugin/lookup.d.ts +74 -10
  118. package/dist/plugin/lookup.d.ts.map +1 -1
  119. package/dist/plugin/manifest.d.ts +319 -160
  120. package/dist/plugin/manifest.d.ts.map +1 -1
  121. package/dist/plugin/manifest.js +94 -4
  122. package/dist/plugin/manifest.js.map +1 -1
  123. package/dist/plugin/setup-context.d.ts +10 -4
  124. package/dist/plugin/setup-context.d.ts.map +1 -1
  125. package/dist/plugin/setup-context.js +10 -3
  126. package/dist/plugin/setup-context.js.map +1 -1
  127. package/dist/plugin/validation/meta-box-fields.d.ts.map +1 -1
  128. package/dist/plugin/validation/meta-box-fields.js +16 -0
  129. package/dist/plugin/validation/meta-box-fields.js.map +1 -1
  130. package/dist/route/render/asset-manifest.d.ts +1 -1
  131. package/dist/route/render/asset-manifest.d.ts.map +1 -1
  132. package/dist/route/render/asset-manifest.js +7 -1
  133. package/dist/route/render/asset-manifest.js.map +1 -1
  134. package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
  135. package/dist/route/render/build-resolved-entries.js +25 -12
  136. package/dist/route/render/build-resolved-entries.js.map +1 -1
  137. package/dist/route/render/render-template.d.ts +1 -1
  138. package/dist/route/render/render-template.d.ts.map +1 -1
  139. package/dist/route/render/render-template.js +50 -23
  140. package/dist/route/render/render-template.js.map +1 -1
  141. package/dist/route/render/template-builders.d.ts +15 -10
  142. package/dist/route/render/template-builders.d.ts.map +1 -1
  143. package/dist/route/render/template-builders.js.map +1 -1
  144. package/dist/rpc/base.d.ts +7 -0
  145. package/dist/rpc/base.d.ts.map +1 -1
  146. package/dist/rpc/errors.d.ts +7 -0
  147. package/dist/rpc/errors.d.ts.map +1 -1
  148. package/dist/rpc/errors.js +16 -0
  149. package/dist/rpc/errors.js.map +1 -1
  150. package/dist/rpc/meta/core.d.ts +92 -14
  151. package/dist/rpc/meta/core.d.ts.map +1 -1
  152. package/dist/rpc/meta/core.js +524 -406
  153. package/dist/rpc/meta/core.js.map +1 -1
  154. package/dist/rpc/meta/field-messages.d.ts +67 -0
  155. package/dist/rpc/meta/field-messages.d.ts.map +1 -0
  156. package/dist/rpc/meta/field-messages.js +67 -0
  157. package/dist/rpc/meta/field-messages.js.map +1 -0
  158. package/dist/rpc/meta/field-pipeline.d.ts +52 -0
  159. package/dist/rpc/meta/field-pipeline.d.ts.map +1 -0
  160. package/dist/rpc/meta/field-pipeline.js +501 -0
  161. package/dist/rpc/meta/field-pipeline.js.map +1 -0
  162. package/dist/rpc/procedures/auth/allowed-domains/create.d.ts +7 -0
  163. package/dist/rpc/procedures/auth/allowed-domains/create.d.ts.map +1 -1
  164. package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts +7 -0
  165. package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts.map +1 -1
  166. package/dist/rpc/procedures/auth/allowed-domains/index.d.ts +28 -0
  167. package/dist/rpc/procedures/auth/allowed-domains/index.d.ts.map +1 -1
  168. package/dist/rpc/procedures/auth/allowed-domains/list.d.ts +7 -0
  169. package/dist/rpc/procedures/auth/allowed-domains/list.d.ts.map +1 -1
  170. package/dist/rpc/procedures/auth/allowed-domains/update.d.ts +7 -0
  171. package/dist/rpc/procedures/auth/allowed-domains/update.d.ts.map +1 -1
  172. package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts +7 -0
  173. package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts.map +1 -1
  174. package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts +7 -0
  175. package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts.map +1 -1
  176. package/dist/rpc/procedures/auth/api-tokens/create.d.ts +7 -0
  177. package/dist/rpc/procedures/auth/api-tokens/create.d.ts.map +1 -1
  178. package/dist/rpc/procedures/auth/api-tokens/index.d.ts +35 -0
  179. package/dist/rpc/procedures/auth/api-tokens/index.d.ts.map +1 -1
  180. package/dist/rpc/procedures/auth/api-tokens/list.d.ts +7 -0
  181. package/dist/rpc/procedures/auth/api-tokens/list.d.ts.map +1 -1
  182. package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts +7 -0
  183. package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts.map +1 -1
  184. package/dist/rpc/procedures/auth/credentials/delete.d.ts +7 -0
  185. package/dist/rpc/procedures/auth/credentials/delete.d.ts.map +1 -1
  186. package/dist/rpc/procedures/auth/credentials/index.d.ts +21 -0
  187. package/dist/rpc/procedures/auth/credentials/index.d.ts.map +1 -1
  188. package/dist/rpc/procedures/auth/credentials/list.d.ts +7 -0
  189. package/dist/rpc/procedures/auth/credentials/list.d.ts.map +1 -1
  190. package/dist/rpc/procedures/auth/credentials/rename.d.ts +7 -0
  191. package/dist/rpc/procedures/auth/credentials/rename.d.ts.map +1 -1
  192. package/dist/rpc/procedures/auth/device-flow/approve.d.ts +7 -0
  193. package/dist/rpc/procedures/auth/device-flow/approve.d.ts.map +1 -1
  194. package/dist/rpc/procedures/auth/device-flow/deny.d.ts +7 -0
  195. package/dist/rpc/procedures/auth/device-flow/deny.d.ts.map +1 -1
  196. package/dist/rpc/procedures/auth/device-flow/index.d.ts +21 -0
  197. package/dist/rpc/procedures/auth/device-flow/index.d.ts.map +1 -1
  198. package/dist/rpc/procedures/auth/device-flow/lookup.d.ts +7 -0
  199. package/dist/rpc/procedures/auth/device-flow/lookup.d.ts.map +1 -1
  200. package/dist/rpc/procedures/auth/index.d.ts +154 -0
  201. package/dist/rpc/procedures/auth/index.d.ts.map +1 -1
  202. package/dist/rpc/procedures/auth/login-links.d.ts +7 -0
  203. package/dist/rpc/procedures/auth/login-links.d.ts.map +1 -1
  204. package/dist/rpc/procedures/auth/mailer/index.d.ts +7 -0
  205. package/dist/rpc/procedures/auth/mailer/index.d.ts.map +1 -1
  206. package/dist/rpc/procedures/auth/mailer/test-send.d.ts +7 -0
  207. package/dist/rpc/procedures/auth/mailer/test-send.d.ts.map +1 -1
  208. package/dist/rpc/procedures/auth/oauth-providers.d.ts +7 -0
  209. package/dist/rpc/procedures/auth/oauth-providers.d.ts.map +1 -1
  210. package/dist/rpc/procedures/auth/session.d.ts +7 -0
  211. package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
  212. package/dist/rpc/procedures/auth/sessions/index.d.ts +21 -0
  213. package/dist/rpc/procedures/auth/sessions/index.d.ts.map +1 -1
  214. package/dist/rpc/procedures/auth/sessions/list.d.ts +7 -0
  215. package/dist/rpc/procedures/auth/sessions/list.d.ts.map +1 -1
  216. package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts +7 -0
  217. package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts.map +1 -1
  218. package/dist/rpc/procedures/auth/sessions/revoke.d.ts +7 -0
  219. package/dist/rpc/procedures/auth/sessions/revoke.d.ts.map +1 -1
  220. package/dist/rpc/procedures/entry/activity.d.ts +7 -0
  221. package/dist/rpc/procedures/entry/activity.d.ts.map +1 -1
  222. package/dist/rpc/procedures/entry/bulk.d.ts +21 -0
  223. package/dist/rpc/procedures/entry/bulk.d.ts.map +1 -1
  224. package/dist/rpc/procedures/entry/create-preview-link.d.ts +7 -0
  225. package/dist/rpc/procedures/entry/create-preview-link.d.ts.map +1 -1
  226. package/dist/rpc/procedures/entry/create.d.ts +8 -1
  227. package/dist/rpc/procedures/entry/create.d.ts.map +1 -1
  228. package/dist/rpc/procedures/entry/create.js +8 -8
  229. package/dist/rpc/procedures/entry/create.js.map +1 -1
  230. package/dist/rpc/procedures/entry/dashboard.d.ts +14 -0
  231. package/dist/rpc/procedures/entry/dashboard.d.ts.map +1 -1
  232. package/dist/rpc/procedures/entry/delete-permanent.d.ts +7 -0
  233. package/dist/rpc/procedures/entry/delete-permanent.d.ts.map +1 -1
  234. package/dist/rpc/procedures/entry/discard-draft.d.ts +7 -0
  235. package/dist/rpc/procedures/entry/discard-draft.d.ts.map +1 -1
  236. package/dist/rpc/procedures/entry/duplicate.d.ts +7 -0
  237. package/dist/rpc/procedures/entry/duplicate.d.ts.map +1 -1
  238. package/dist/rpc/procedures/entry/duplicate.js +2 -2
  239. package/dist/rpc/procedures/entry/duplicate.js.map +1 -1
  240. package/dist/rpc/procedures/entry/get.d.ts +7 -0
  241. package/dist/rpc/procedures/entry/get.d.ts.map +1 -1
  242. package/dist/rpc/procedures/entry/get.js +2 -2
  243. package/dist/rpc/procedures/entry/get.js.map +1 -1
  244. package/dist/rpc/procedures/entry/index.d.ts +156 -2
  245. package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
  246. package/dist/rpc/procedures/entry/list.d.ts +7 -0
  247. package/dist/rpc/procedures/entry/list.d.ts.map +1 -1
  248. package/dist/rpc/procedures/entry/lookup.d.ts +8 -2
  249. package/dist/rpc/procedures/entry/lookup.d.ts.map +1 -1
  250. package/dist/rpc/procedures/entry/lookup.js +74 -12
  251. package/dist/rpc/procedures/entry/lookup.js.map +1 -1
  252. package/dist/rpc/procedures/entry/meta.d.ts +37 -3
  253. package/dist/rpc/procedures/entry/meta.d.ts.map +1 -1
  254. package/dist/rpc/procedures/entry/meta.js +63 -7
  255. package/dist/rpc/procedures/entry/meta.js.map +1 -1
  256. package/dist/rpc/procedures/entry/publish.d.ts +7 -0
  257. package/dist/rpc/procedures/entry/publish.d.ts.map +1 -1
  258. package/dist/rpc/procedures/entry/publish.js +6 -4
  259. package/dist/rpc/procedures/entry/publish.js.map +1 -1
  260. package/dist/rpc/procedures/entry/refresh-block-loader.d.ts +7 -0
  261. package/dist/rpc/procedures/entry/refresh-block-loader.d.ts.map +1 -1
  262. package/dist/rpc/procedures/entry/restore.d.ts +7 -0
  263. package/dist/rpc/procedures/entry/restore.d.ts.map +1 -1
  264. package/dist/rpc/procedures/entry/revisions.d.ts +56 -0
  265. package/dist/rpc/procedures/entry/revisions.d.ts.map +1 -1
  266. package/dist/rpc/procedures/entry/schemas.d.ts +2 -2
  267. package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
  268. package/dist/rpc/procedures/entry/schemas.js +9 -2
  269. package/dist/rpc/procedures/entry/schemas.js.map +1 -1
  270. package/dist/rpc/procedures/entry/trash.d.ts +7 -0
  271. package/dist/rpc/procedures/entry/trash.d.ts.map +1 -1
  272. package/dist/rpc/procedures/entry/update.d.ts +8 -1
  273. package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
  274. package/dist/rpc/procedures/entry/update.js +77 -18
  275. package/dist/rpc/procedures/entry/update.js.map +1 -1
  276. package/dist/rpc/procedures/lookup/index.d.ts +14 -0
  277. package/dist/rpc/procedures/lookup/index.d.ts.map +1 -1
  278. package/dist/rpc/procedures/lookup/list.d.ts +7 -0
  279. package/dist/rpc/procedures/lookup/list.d.ts.map +1 -1
  280. package/dist/rpc/procedures/lookup/resolve.d.ts +7 -0
  281. package/dist/rpc/procedures/lookup/resolve.d.ts.map +1 -1
  282. package/dist/rpc/procedures/lookup/resolve.js +1 -1
  283. package/dist/rpc/procedures/lookup/resolve.js.map +1 -1
  284. package/dist/rpc/procedures/lookup.errors.d.ts +2 -1
  285. package/dist/rpc/procedures/lookup.errors.d.ts.map +1 -1
  286. package/dist/rpc/procedures/lookup.errors.js +3 -0
  287. package/dist/rpc/procedures/lookup.errors.js.map +1 -1
  288. package/dist/rpc/procedures/search/index.d.ts +7 -0
  289. package/dist/rpc/procedures/search/index.d.ts.map +1 -1
  290. package/dist/rpc/procedures/settings/get.d.ts +7 -0
  291. package/dist/rpc/procedures/settings/get.d.ts.map +1 -1
  292. package/dist/rpc/procedures/settings/index.d.ts +14 -0
  293. package/dist/rpc/procedures/settings/index.d.ts.map +1 -1
  294. package/dist/rpc/procedures/settings/upsert.d.ts +7 -0
  295. package/dist/rpc/procedures/settings/upsert.d.ts.map +1 -1
  296. package/dist/rpc/procedures/settings/upsert.js +9 -0
  297. package/dist/rpc/procedures/settings/upsert.js.map +1 -1
  298. package/dist/rpc/procedures/term/create.d.ts +7 -0
  299. package/dist/rpc/procedures/term/create.d.ts.map +1 -1
  300. package/dist/rpc/procedures/term/create.js +3 -3
  301. package/dist/rpc/procedures/term/create.js.map +1 -1
  302. package/dist/rpc/procedures/term/delete.d.ts +7 -0
  303. package/dist/rpc/procedures/term/delete.d.ts.map +1 -1
  304. package/dist/rpc/procedures/term/get.d.ts +7 -0
  305. package/dist/rpc/procedures/term/get.d.ts.map +1 -1
  306. package/dist/rpc/procedures/term/index.d.ts +35 -0
  307. package/dist/rpc/procedures/term/index.d.ts.map +1 -1
  308. package/dist/rpc/procedures/term/list.d.ts +7 -0
  309. package/dist/rpc/procedures/term/list.d.ts.map +1 -1
  310. package/dist/rpc/procedures/term/lookup.d.ts +7 -2
  311. package/dist/rpc/procedures/term/lookup.d.ts.map +1 -1
  312. package/dist/rpc/procedures/term/lookup.js +29 -8
  313. package/dist/rpc/procedures/term/lookup.js.map +1 -1
  314. package/dist/rpc/procedures/term/meta.d.ts +3 -2
  315. package/dist/rpc/procedures/term/meta.d.ts.map +1 -1
  316. package/dist/rpc/procedures/term/meta.js +7 -5
  317. package/dist/rpc/procedures/term/meta.js.map +1 -1
  318. package/dist/rpc/procedures/term/update.d.ts +7 -0
  319. package/dist/rpc/procedures/term/update.d.ts.map +1 -1
  320. package/dist/rpc/procedures/term/update.js +4 -4
  321. package/dist/rpc/procedures/term/update.js.map +1 -1
  322. package/dist/rpc/procedures/user/cancel-email-change.d.ts +7 -0
  323. package/dist/rpc/procedures/user/cancel-email-change.d.ts.map +1 -1
  324. package/dist/rpc/procedures/user/delete.d.ts +7 -0
  325. package/dist/rpc/procedures/user/delete.d.ts.map +1 -1
  326. package/dist/rpc/procedures/user/disable.d.ts +7 -0
  327. package/dist/rpc/procedures/user/disable.d.ts.map +1 -1
  328. package/dist/rpc/procedures/user/enable.d.ts +7 -0
  329. package/dist/rpc/procedures/user/enable.d.ts.map +1 -1
  330. package/dist/rpc/procedures/user/get.d.ts +7 -0
  331. package/dist/rpc/procedures/user/get.d.ts.map +1 -1
  332. package/dist/rpc/procedures/user/get.js +2 -2
  333. package/dist/rpc/procedures/user/get.js.map +1 -1
  334. package/dist/rpc/procedures/user/index.d.ts +77 -0
  335. package/dist/rpc/procedures/user/index.d.ts.map +1 -1
  336. package/dist/rpc/procedures/user/invite.d.ts +7 -0
  337. package/dist/rpc/procedures/user/invite.d.ts.map +1 -1
  338. package/dist/rpc/procedures/user/list.d.ts +7 -0
  339. package/dist/rpc/procedures/user/list.d.ts.map +1 -1
  340. package/dist/rpc/procedures/user/lookup.d.ts +6 -2
  341. package/dist/rpc/procedures/user/lookup.d.ts.map +1 -1
  342. package/dist/rpc/procedures/user/lookup.js +29 -0
  343. package/dist/rpc/procedures/user/lookup.js.map +1 -1
  344. package/dist/rpc/procedures/user/meta.d.ts +3 -2
  345. package/dist/rpc/procedures/user/meta.d.ts.map +1 -1
  346. package/dist/rpc/procedures/user/meta.js +7 -5
  347. package/dist/rpc/procedures/user/meta.js.map +1 -1
  348. package/dist/rpc/procedures/user/pending-email-change.d.ts +7 -0
  349. package/dist/rpc/procedures/user/pending-email-change.d.ts.map +1 -1
  350. package/dist/rpc/procedures/user/request-email-change.d.ts +7 -0
  351. package/dist/rpc/procedures/user/request-email-change.d.ts.map +1 -1
  352. package/dist/rpc/procedures/user/set-locale.d.ts +7 -0
  353. package/dist/rpc/procedures/user/set-locale.d.ts.map +1 -1
  354. package/dist/rpc/procedures/user/update.d.ts +7 -0
  355. package/dist/rpc/procedures/user/update.d.ts.map +1 -1
  356. package/dist/rpc/procedures/user/update.js +4 -4
  357. package/dist/rpc/procedures/user/update.js.map +1 -1
  358. package/dist/rpc/router.d.ts +457 -2
  359. package/dist/rpc/router.d.ts.map +1 -1
  360. package/dist/rpc/validation.d.ts +1 -0
  361. package/dist/rpc/validation.d.ts.map +1 -1
  362. package/dist/rpc/validation.js +1 -0
  363. package/dist/rpc/validation.js.map +1 -1
  364. package/dist/runtime/dispatcher.d.ts.map +1 -1
  365. package/dist/runtime/dispatcher.js +90 -39
  366. package/dist/runtime/dispatcher.js.map +1 -1
  367. package/dist/seo/feed.d.ts.map +1 -1
  368. package/dist/seo/feed.js +7 -1
  369. package/dist/seo/feed.js.map +1 -1
  370. package/dist/settings-core.js +1 -1
  371. package/dist/settings-core.js.map +1 -1
  372. package/dist/telemetry-otel.d.ts +29 -0
  373. package/dist/telemetry-otel.d.ts.map +1 -0
  374. package/dist/telemetry-otel.js +218 -0
  375. package/dist/telemetry-otel.js.map +1 -0
  376. package/dist/template-deps-core.d.ts.map +1 -1
  377. package/dist/template-deps-core.js +31 -14
  378. package/dist/template-deps-core.js.map +1 -1
  379. package/dist/template-deps.d.ts.map +1 -1
  380. package/dist/template-deps.js +12 -8
  381. package/dist/template-deps.js.map +1 -1
  382. package/dist/template-registry.d.ts +0 -16
  383. package/dist/template-registry.d.ts.map +1 -1
  384. package/dist/terms/read-service.js +2 -2
  385. package/dist/terms/read-service.js.map +1 -1
  386. package/dist/test/index.d.ts +3 -0
  387. package/dist/test/index.d.ts.map +1 -1
  388. package/dist/test/index.js +4 -0
  389. package/dist/test/index.js.map +1 -1
  390. package/dist/test/traced-context.d.ts +17 -0
  391. package/dist/test/traced-context.d.ts.map +1 -0
  392. package/dist/test/traced-context.js +28 -0
  393. package/dist/test/traced-context.js.map +1 -0
  394. package/package.json +6 -2
  395. package/dist/plugin/fields/checkbox.d.ts +0 -19
  396. package/dist/plugin/fields/checkbox.d.ts.map +0 -1
  397. package/dist/plugin/fields/checkbox.js +0 -20
  398. package/dist/plugin/fields/checkbox.js.map +0 -1
  399. package/dist/plugin/fields/date.d.ts +0 -24
  400. package/dist/plugin/fields/date.d.ts.map +0 -1
  401. package/dist/plugin/fields/date.js +0 -23
  402. package/dist/plugin/fields/date.js.map +0 -1
  403. package/dist/plugin/fields/datetime.d.ts +0 -26
  404. package/dist/plugin/fields/datetime.d.ts.map +0 -1
  405. package/dist/plugin/fields/datetime.js +0 -25
  406. package/dist/plugin/fields/datetime.js.map +0 -1
  407. package/dist/plugin/fields/email.d.ts +0 -17
  408. package/dist/plugin/fields/email.d.ts.map +0 -1
  409. package/dist/plugin/fields/email.js +0 -18
  410. package/dist/plugin/fields/email.js.map +0 -1
  411. package/dist/plugin/fields/entry-list.d.ts +0 -28
  412. package/dist/plugin/fields/entry-list.d.ts.map +0 -1
  413. package/dist/plugin/fields/entry-list.js +0 -31
  414. package/dist/plugin/fields/entry-list.js.map +0 -1
  415. package/dist/plugin/fields/multiselect.d.ts +0 -21
  416. package/dist/plugin/fields/multiselect.d.ts.map +0 -1
  417. package/dist/plugin/fields/multiselect.js +0 -43
  418. package/dist/plugin/fields/multiselect.js.map +0 -1
  419. package/dist/plugin/fields/password.d.ts +0 -24
  420. package/dist/plugin/fields/password.d.ts.map +0 -1
  421. package/dist/plugin/fields/password.js +0 -25
  422. package/dist/plugin/fields/password.js.map +0 -1
  423. package/dist/plugin/fields/radio.d.ts +0 -16
  424. package/dist/plugin/fields/radio.d.ts.map +0 -1
  425. package/dist/plugin/fields/radio.js +0 -17
  426. package/dist/plugin/fields/radio.js.map +0 -1
  427. package/dist/plugin/fields/repeater-validate.d.ts +0 -34
  428. package/dist/plugin/fields/repeater-validate.d.ts.map +0 -1
  429. package/dist/plugin/fields/repeater-validate.js +0 -104
  430. package/dist/plugin/fields/repeater-validate.js.map +0 -1
  431. package/dist/plugin/fields/term-list.d.ts +0 -27
  432. package/dist/plugin/fields/term-list.d.ts.map +0 -1
  433. package/dist/plugin/fields/term-list.js +0 -30
  434. package/dist/plugin/fields/term-list.js.map +0 -1
  435. package/dist/plugin/fields/text.d.ts +0 -37
  436. package/dist/plugin/fields/text.d.ts.map +0 -1
  437. package/dist/plugin/fields/text.js +0 -31
  438. package/dist/plugin/fields/text.js.map +0 -1
  439. package/dist/plugin/fields/textarea.d.ts +0 -20
  440. package/dist/plugin/fields/textarea.d.ts.map +0 -1
  441. package/dist/plugin/fields/textarea.js +0 -21
  442. package/dist/plugin/fields/textarea.js.map +0 -1
  443. package/dist/plugin/fields/time.d.ts +0 -24
  444. package/dist/plugin/fields/time.d.ts.map +0 -1
  445. package/dist/plugin/fields/time.js +0 -23
  446. package/dist/plugin/fields/time.js.map +0 -1
  447. package/dist/plugin/fields/url.d.ts +0 -17
  448. package/dist/plugin/fields/url.d.ts.map +0 -1
  449. package/dist/plugin/fields/url.js +0 -18
  450. package/dist/plugin/fields/url.js.map +0 -1
  451. package/dist/plugin/fields/user-list.d.ts +0 -29
  452. package/dist/plugin/fields/user-list.d.ts.map +0 -1
  453. package/dist/plugin/fields/user-list.js +0 -31
  454. package/dist/plugin/fields/user-list.js.map +0 -1
@@ -4,7 +4,8 @@ export class FieldConfigError extends Error {
4
4
  }
5
5
  code;
6
6
  fieldKey;
7
- repeaterKey;
7
+ container;
8
+ containerKey;
8
9
  subFieldKey;
9
10
  min;
10
11
  max;
@@ -13,7 +14,8 @@ export class FieldConfigError extends Error {
13
14
  super(message);
14
15
  this.code = code;
15
16
  this.fieldKey = fields.fieldKey;
16
- this.repeaterKey = fields.repeaterKey;
17
+ this.container = fields.container;
18
+ this.containerKey = fields.containerKey;
17
19
  this.subFieldKey = fields.subFieldKey;
18
20
  this.min = fields.min;
19
21
  this.max = fields.max;
@@ -22,20 +24,25 @@ export class FieldConfigError extends Error {
22
24
  static rangeMinGreaterThanMax(ctx) {
23
25
  return new FieldConfigError("range_min_greater_than_max", `range field "${ctx.fieldKey}": min (${String(ctx.min)}) must be <= max (${String(ctx.max)})`, ctx);
24
26
  }
25
- static repeaterNestedNotSupported(ctx) {
26
- return new FieldConfigError("repeater_nested_not_supported", `repeater("${ctx.repeaterKey}") subFields contains a nested repeater ` +
27
- `("${ctx.subFieldKey}"); nested repeaters are not supported in v0.1.`, ctx);
27
+ static subFieldKeyForbidden(ctx) {
28
+ return new FieldConfigError("sub_field_key_forbidden", `${ctx.container}("${ctx.containerKey}") field key "${ctx.subFieldKey}" is ` +
29
+ `forbidden (prototype-pollution risk).`, ctx);
28
30
  }
29
- static repeaterSubFieldKeyForbidden(ctx) {
30
- return new FieldConfigError("repeater_sub_field_key_forbidden", `repeater("${ctx.repeaterKey}") subField key "${ctx.subFieldKey}" is forbidden ` +
31
- `(prototype-pollution risk).`, ctx);
31
+ static subFieldKeyInvalid(ctx) {
32
+ return new FieldConfigError("sub_field_key_invalid", `${ctx.container}("${ctx.containerKey}") field key "${ctx.subFieldKey}" ` +
33
+ `must match /${ctx.pattern}/.`, ctx);
32
34
  }
33
- static repeaterSubFieldKeyInvalid(ctx) {
34
- return new FieldConfigError("repeater_sub_field_key_invalid", `repeater("${ctx.repeaterKey}") subField key "${ctx.subFieldKey}" must match ` +
35
- `/${ctx.pattern}/.`, ctx);
35
+ static subFieldDuplicate(ctx) {
36
+ return new FieldConfigError("sub_field_duplicate", `${ctx.container}("${ctx.containerKey}") declares field "${ctx.subFieldKey}" ` +
37
+ `more than once.`, ctx);
36
38
  }
37
- static repeaterSubFieldDuplicate(ctx) {
38
- return new FieldConfigError("repeater_sub_field_duplicate", `repeater("${ctx.repeaterKey}") declares subField "${ctx.subFieldKey}" more than once.`, ctx);
39
+ static subFieldCondition(ctx) {
40
+ return new FieldConfigError("sub_field_condition_not_supported", `${ctx.container}("${ctx.containerKey}") field "${ctx.subFieldKey}" does not ` +
41
+ `support visibleWhen — nested conditions are not implemented.`, ctx);
42
+ }
43
+ static temporalBoundInvalid(ctx) {
44
+ return new FieldConfigError("temporal_bound_invalid", `field "${ctx.fieldKey}": .${ctx.bound}("${ctx.value}") is not a valid ` +
45
+ `temporal bound — use the field's stored ISO shape.`, { fieldKey: ctx.fieldKey });
39
46
  }
40
47
  }
41
48
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/plugin/fields/errors.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,gBAAgB,CAAC,SAAS,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACvD,CAAC;IAEQ,IAAI,CAAuB;IAC3B,QAAQ,CAAqB;IAC7B,WAAW,CAAqB;IAChC,WAAW,CAAqB;IAChC,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,OAAO,CAAqB;IAErC,YACE,IAA0B,EAC1B,OAAe,EACf,MAA8B;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAI7B;QACC,OAAO,IAAI,gBAAgB,CACzB,4BAA4B,EAC5B,gBAAgB,GAAG,CAAC,QAAQ,WAAW,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAC7F,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,GAGjC;QACC,OAAO,IAAI,gBAAgB,CACzB,+BAA+B,EAC/B,aAAa,GAAG,CAAC,WAAW,0CAA0C;YACpE,KAAK,GAAG,CAAC,WAAW,iDAAiD,EACvE,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,4BAA4B,CAAC,GAGnC;QACC,OAAO,IAAI,gBAAgB,CACzB,kCAAkC,EAClC,aAAa,GAAG,CAAC,WAAW,oBAAoB,GAAG,CAAC,WAAW,iBAAiB;YAC9E,6BAA6B,EAC/B,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,0BAA0B,CAAC,GAIjC;QACC,OAAO,IAAI,gBAAgB,CACzB,gCAAgC,EAChC,aAAa,GAAG,CAAC,WAAW,oBAAoB,GAAG,CAAC,WAAW,eAAe;YAC5E,IAAI,GAAG,CAAC,OAAO,IAAI,EACrB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,yBAAyB,CAAC,GAGhC;QACC,OAAO,IAAI,gBAAgB,CACzB,8BAA8B,EAC9B,aAAa,GAAG,CAAC,WAAW,yBAAyB,GAAG,CAAC,WAAW,mBAAmB,EACvF,GAAG,CACJ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/plugin/fields/errors.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC;QACE,gBAAgB,CAAC,SAAS,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACvD,CAAC;IAEQ,IAAI,CAAuB;IAC3B,QAAQ,CAAqB;IAC7B,SAAS,CAAgC;IACzC,YAAY,CAAqB;IACjC,WAAW,CAAqB;IAChC,GAAG,CAAqB;IACxB,GAAG,CAAqB;IACxB,OAAO,CAAqB;IAErC,YACE,IAA0B,EAC1B,OAAe,EACf,MAA8B;QAE9B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,sBAAsB,CAAC,GAI7B;QACC,OAAO,IAAI,gBAAgB,CACzB,4BAA4B,EAC5B,gBAAgB,GAAG,CAAC,QAAQ,WAAW,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAC7F,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,GAI3B;QACC,OAAO,IAAI,gBAAgB,CACzB,yBAAyB,EACzB,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,YAAY,iBAAiB,GAAG,CAAC,WAAW,OAAO;YAC1E,uCAAuC,EACzC,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,GAKzB;QACC,OAAO,IAAI,gBAAgB,CACzB,uBAAuB,EACvB,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,YAAY,iBAAiB,GAAG,CAAC,WAAW,IAAI;YACvE,eAAe,GAAG,CAAC,OAAO,IAAI,EAChC,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAIxB;QACC,OAAO,IAAI,gBAAgB,CACzB,qBAAqB,EACrB,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,YAAY,sBAAsB,GAAG,CAAC,WAAW,IAAI;YAC5E,iBAAiB,EACnB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,iBAAiB,CAAC,GAIxB;QACC,OAAO,IAAI,gBAAgB,CACzB,mCAAmC,EACnC,GAAG,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,YAAY,aAAa,GAAG,CAAC,WAAW,aAAa;YAC5E,8DAA8D,EAChE,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CAAC,GAI3B;QACC,OAAO,IAAI,gBAAgB,CACzB,wBAAwB,EACxB,UAAU,GAAG,CAAC,QAAQ,OAAO,GAAG,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,oBAAoB;YACtE,oDAAoD,EACtD,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAC3B,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,90 @@
1
+ import type { Label } from "../../i18n/label.js";
2
+ import type { FieldBuilder, GroupMetaBoxField, MetaBoxField, MetaBoxFieldInput, MetaBoxFieldSpan } from "../manifest.js";
3
+ import type { MetaFieldCondition, MetaFieldConditionRule } from "./condition.js";
4
+ import type { InferFields, InferStoredFields } from "./contributions.js";
5
+ interface GroupFieldState {
6
+ readonly fields: readonly MetaBoxField[];
7
+ readonly visibleWhen?: MetaFieldCondition;
8
+ readonly label?: Label;
9
+ readonly description?: Label;
10
+ readonly required?: true;
11
+ readonly span?: MetaBoxFieldSpan;
12
+ readonly capability?: string;
13
+ readonly showInApi?: true;
14
+ }
15
+ /**
16
+ * Entry point of the `group()` chain — only `.fields()` is available
17
+ * until the members are declared, so a group without members can't
18
+ * reach `build()` (registration surfaces require a `build` method).
19
+ */
20
+ export declare class GroupFieldSeed<K extends string = string> {
21
+ #private;
22
+ constructor(key: K);
23
+ /**
24
+ * Declare the group's member fields — infers the typed nested record.
25
+ * Members may be any registered field type, including nested
26
+ * repeaters and further groups; types recurse. Validated eagerly (key
27
+ * shape, uniqueness, prototype-pollution guard).
28
+ */
29
+ fields<const F extends readonly MetaBoxFieldInput[]>(fields: F): GroupFieldBuilder<F, K>;
30
+ }
31
+ /**
32
+ * Fluent chain for group fields — namespaces its members into a typed
33
+ * nested object stored under the group's own key (no key-flattening).
34
+ * Immutable — every call returns a fresh instance.
35
+ *
36
+ * `F` is the declared member tuple (drives the recursive record type);
37
+ * `K` is the literal field key; `V` is the phantom read type —
38
+ * `InferFields<F> | undefined`, narrowed by `.required()`; `S` is the
39
+ * phantom stored shape (`InferStoredFields<F>`). All purely type-level.
40
+ */
41
+ export declare class GroupFieldBuilder<F extends readonly MetaBoxFieldInput[], K extends string = string, V = InferFields<F> | undefined, S = InferStoredFields<F> | undefined> implements FieldBuilder<GroupMetaBoxField> {
42
+ #private;
43
+ /** Phantom literal key of the field — type-level only, never assigned. */
44
+ readonly _key: K;
45
+ /** Phantom read type of the field — type-level only, never assigned. */
46
+ readonly _value: V;
47
+ /** Phantom stored shape of the field — type-level only, never assigned. */
48
+ readonly _stored: S;
49
+ constructor(key: string, state: GroupFieldState);
50
+ /** Override the derived (humanized-key) label. */
51
+ label(label: Label): GroupFieldBuilder<F, K, V, S>;
52
+ /** Help text rendered under the label. */
53
+ description(description: Label): GroupFieldBuilder<F, K, V, S>;
54
+ /** Mark the group required — narrows the read/stored types to the
55
+ * non-optional nested record. */
56
+ required(): GroupFieldBuilder<F, K, InferFields<F>, InferStoredFields<F>>;
57
+ /**
58
+ * Column span within the box's 12-column grid — a universal layout
59
+ * hint; surfaces that can't honor it (the entry editor rail) ignore it.
60
+ */
61
+ span(span: MetaBoxFieldSpan): GroupFieldBuilder<F, K, V, S>;
62
+ /** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
63
+ capability(capability: string): GroupFieldBuilder<F, K, V, S>;
64
+ /** Opt this field's value into public REST responses (default-deny). */
65
+ showInApi(): GroupFieldBuilder<F, K, V, S>;
66
+ /** Rule factory: this group has no stored value. */
67
+ isEmpty(): MetaFieldConditionRule;
68
+ /** Rule factory: this group has a stored value. */
69
+ isNotEmpty(): MetaFieldConditionRule;
70
+ /**
71
+ * Show this field only when every rule passes (one AND group) —
72
+ * rules come from sibling fields' condition factories. Replaces any
73
+ * previously declared condition; `.orVisibleWhen()` adds
74
+ * alternatives.
75
+ */
76
+ visibleWhen(...rules: MetaFieldConditionRule[]): GroupFieldBuilder<F, K, V, S>;
77
+ /** Add an OR alternative — one more AND group of rules. */
78
+ orVisibleWhen(...rules: MetaFieldConditionRule[]): GroupFieldBuilder<F, K, V, S>;
79
+ /** Compile the chain into the wire/manifest field definition. */
80
+ build(): GroupMetaBoxField;
81
+ }
82
+ /**
83
+ * Named group of fields stored as a nested object under the group's own
84
+ * key — `group("seo").fields([text("title"), textarea("description")])`
85
+ * reads as `meta.seo.title` / `meta.seo.description`. Only `.fields()`
86
+ * is available on the bare constructor.
87
+ */
88
+ export declare function group<K extends string>(key: K): GroupFieldSeed<K>;
89
+ export {};
90
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ var _a;
2
+ import { compileMetaBoxFields } from "../manifest.js";
3
+ import { humanizeFieldKey } from "./builder.js";
4
+ import { assertSubFields } from "./sub-fields.js";
5
+ /**
6
+ * Entry point of the `group()` chain — only `.fields()` is available
7
+ * until the members are declared, so a group without members can't
8
+ * reach `build()` (registration surfaces require a `build` method).
9
+ */
10
+ export class GroupFieldSeed {
11
+ #key;
12
+ constructor(key) {
13
+ this.#key = key;
14
+ }
15
+ /**
16
+ * Declare the group's member fields — infers the typed nested record.
17
+ * Members may be any registered field type, including nested
18
+ * repeaters and further groups; types recurse. Validated eagerly (key
19
+ * shape, uniqueness, prototype-pollution guard).
20
+ */
21
+ fields(fields) {
22
+ const compiled = compileMetaBoxFields(fields);
23
+ assertSubFields("group", this.#key, compiled);
24
+ return new GroupFieldBuilder(this.#key, { fields: compiled });
25
+ }
26
+ }
27
+ /**
28
+ * Fluent chain for group fields — namespaces its members into a typed
29
+ * nested object stored under the group's own key (no key-flattening).
30
+ * Immutable — every call returns a fresh instance.
31
+ *
32
+ * `F` is the declared member tuple (drives the recursive record type);
33
+ * `K` is the literal field key; `V` is the phantom read type —
34
+ * `InferFields<F> | undefined`, narrowed by `.required()`; `S` is the
35
+ * phantom stored shape (`InferStoredFields<F>`). All purely type-level.
36
+ */
37
+ export class GroupFieldBuilder {
38
+ #key;
39
+ #state;
40
+ constructor(key, state) {
41
+ this.#key = key;
42
+ this.#state = state;
43
+ }
44
+ #fork(patch) {
45
+ return new _a(this.#key, {
46
+ ...this.#state,
47
+ ...patch,
48
+ });
49
+ }
50
+ /** Override the derived (humanized-key) label. */
51
+ label(label) {
52
+ return this.#fork({ label });
53
+ }
54
+ /** Help text rendered under the label. */
55
+ description(description) {
56
+ return this.#fork({ description });
57
+ }
58
+ /** Mark the group required — narrows the read/stored types to the
59
+ * non-optional nested record. */
60
+ required() {
61
+ return this.#fork({ required: true });
62
+ }
63
+ /**
64
+ * Column span within the box's 12-column grid — a universal layout
65
+ * hint; surfaces that can't honor it (the entry editor rail) ignore it.
66
+ */
67
+ span(span) {
68
+ return this.#fork({ span });
69
+ }
70
+ /** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
71
+ capability(capability) {
72
+ return this.#fork({ capability });
73
+ }
74
+ /** Opt this field's value into public REST responses (default-deny). */
75
+ showInApi() {
76
+ return this.#fork({ showInApi: true });
77
+ }
78
+ /** Rule factory: this group has no stored value. */
79
+ isEmpty() {
80
+ return { key: this.#key, op: "empty" };
81
+ }
82
+ /** Rule factory: this group has a stored value. */
83
+ isNotEmpty() {
84
+ return { key: this.#key, op: "not_empty" };
85
+ }
86
+ /**
87
+ * Show this field only when every rule passes (one AND group) —
88
+ * rules come from sibling fields' condition factories. Replaces any
89
+ * previously declared condition; `.orVisibleWhen()` adds
90
+ * alternatives.
91
+ */
92
+ visibleWhen(...rules) {
93
+ return this.#fork({ visibleWhen: [rules] });
94
+ }
95
+ /** Add an OR alternative — one more AND group of rules. */
96
+ orVisibleWhen(...rules) {
97
+ return this.#fork({
98
+ visibleWhen: [...(this.#state.visibleWhen ?? []), rules],
99
+ });
100
+ }
101
+ /** Compile the chain into the wire/manifest field definition. */
102
+ build() {
103
+ const { fields, ...state } = this.#state;
104
+ return {
105
+ ...state,
106
+ key: this.#key,
107
+ label: state.label ?? humanizeFieldKey(this.#key),
108
+ type: "json",
109
+ inputType: "group",
110
+ fields,
111
+ };
112
+ }
113
+ }
114
+ _a = GroupFieldBuilder;
115
+ /**
116
+ * Named group of fields stored as a nested object under the group's own
117
+ * key — `group("seo").fields([text("title"), textarea("description")])`
118
+ * reads as `meta.seo.title` / `meta.seo.description`. Only `.fields()`
119
+ * is available on the bare constructor.
120
+ */
121
+ export function group(key) {
122
+ return new GroupFieldSeed(key);
123
+ }
124
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../src/plugin/fields/group.ts"],"names":[],"mappings":"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"}
@@ -1,50 +1,27 @@
1
- export { text } from "./text.js";
2
- export type { TextFieldOptions } from "./text.js";
3
- export { textarea } from "./textarea.js";
4
- export type { TextareaFieldOptions } from "./textarea.js";
5
- export { number } from "./number.js";
6
- export type { NumberFieldOptions } from "./number.js";
7
- export { email } from "./email.js";
8
- export type { EmailFieldOptions } from "./email.js";
9
- export { url } from "./url.js";
10
- export type { UrlFieldOptions } from "./url.js";
11
- export { password } from "./password.js";
12
- export type { PasswordFieldOptions } from "./password.js";
13
- export { date } from "./date.js";
14
- export type { DateFieldOptions } from "./date.js";
15
- export { datetime } from "./datetime.js";
16
- export type { DateTimeFieldOptions } from "./datetime.js";
17
- export { time } from "./time.js";
18
- export type { TimeFieldOptions } from "./time.js";
1
+ export { isFieldVisible } from "./condition.js";
2
+ export type { MetaFieldCondition, MetaFieldConditionOperator, MetaFieldConditionRule, } from "./condition.js";
3
+ export { email, password, StringFieldBuilder, text, textarea, url, } from "./builder.js";
4
+ export type { StringInputType } from "./builder.js";
5
+ export { link, LinkFieldBuilder } from "./link.js";
6
+ export type { LinkValue } from "./link.js";
7
+ export { number, NumberFieldBuilder } from "./number.js";
8
+ export { date, datetime, TemporalFieldBuilder, time } from "./temporal.js";
9
+ export type { TemporalInputType } from "./temporal.js";
19
10
  export { parseMetaDate } from "./parse-date.js";
20
- export { color } from "./color.js";
21
- export type { ColorFieldOptions } from "./color.js";
22
- export { range } from "./range.js";
23
- export type { RangeFieldOptions } from "./range.js";
24
- export { multiselect } from "./multiselect.js";
25
- export type { MultiselectFieldOptions } from "./multiselect.js";
26
- export { json } from "./json.js";
27
- export type { JsonFieldOptions } from "./json.js";
28
- export { richtext } from "./richtext.js";
29
- export type { RichtextFieldOptions } from "./richtext.js";
30
- export { repeater } from "./repeater.js";
31
- export type { RepeaterFieldOptions } from "./repeater.js";
32
- export { select } from "./select.js";
33
- export type { SelectFieldOptions } from "./select.js";
34
- export { radio } from "./radio.js";
35
- export type { RadioFieldOptions } from "./radio.js";
36
- export { checkbox } from "./checkbox.js";
37
- export type { CheckboxFieldOptions } from "./checkbox.js";
11
+ export { color, ColorFieldBuilder } from "./color.js";
12
+ export { range, RangeFieldBuilder, RangeFieldSeed } from "./range.js";
13
+ export { json, JsonFieldBuilder } from "./json.js";
14
+ export { richtext, RichtextFieldBuilder } from "./richtext.js";
15
+ export { repeater, RepeaterFieldBuilder, RepeaterFieldSeed, } from "./repeater.js";
16
+ export { group, GroupFieldBuilder, GroupFieldSeed } from "./group.js";
17
+ export { select, SelectFieldBuilder, SelectFieldSeed } from "./select.js";
18
+ export type { SelectOptionInput } from "./select.js";
19
+ export { toggle, ToggleFieldBuilder } from "./toggle.js";
20
+ export { ReferenceFieldBuilder } from "./reference.js";
38
21
  export { user } from "./user.js";
39
- export type { UserFieldOptions, UserFieldScope } from "./user.js";
40
- export { userList } from "./user-list.js";
41
- export type { UserListFieldOptions } from "./user-list.js";
22
+ export type { UserFieldScope } from "./user.js";
42
23
  export { entry } from "./entry.js";
43
- export type { EntryFieldOptions, EntryFieldScope } from "./entry.js";
44
- export { entryList } from "./entry-list.js";
45
- export type { EntryListFieldOptions } from "./entry-list.js";
24
+ export type { EntryFieldScope } from "./entry.js";
46
25
  export { term } from "./term.js";
47
- export type { TermFieldOptions, TermFieldScope } from "./term.js";
48
- export { termList } from "./term-list.js";
49
- export type { TermListFieldOptions } from "./term-list.js";
26
+ export type { TermFieldScope } from "./term.js";
50
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,YAAY,EACV,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,GACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,IAAI,EACJ,QAAQ,EACR,GAAG,GACJ,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnD,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3E,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -1,37 +1,32 @@
1
- // Typed builder helpers for meta-box field registration. Each builder
2
- // returns the narrowed variant of `MetaBoxField` matching its input
3
- // type (e.g. `text()` `TextMetaBoxField`), so the rest of the field
4
- // schema is type-checked against options that actually apply to the
5
- // renderer `text({ min: 5 })` is a compile error.
6
- //
7
- // Builders are the recommended path for plugin authors going forward;
8
- // existing object-literal registrations continue to compile against
9
- // the broad `LegacyMetaBoxField` shape during the migration window.
1
+ // Typed builder helpers for meta-box field registration. The scalar
2
+ // fields (string, numeric, temporal, color, richtext, json), `link`,
3
+ // the choice field (`select` — `.multiple()` for arrays,
4
+ // `.appearance()` for the control), the boolean switch (`toggle`), and
5
+ // the reference fields (`entry` / `term` / `user` `.multiple()` for
6
+ // id arrays, `.returns("id")` to opt out of read-time hydration) are
7
+ // fluent builders: the constructor takes the key (plus a required
8
+ // scope for `entry` / `term`) and every option is a chained call
9
+ // (`text("subtitle").maxLength(120)`, `entry("hero", ["post"]).required()`),
10
+ // each returning a fresh immutable instance that compiles to the
11
+ // narrowed `MetaBoxField` variant at registration.
10
12
  //
11
13
  // Re-exported as a public surface from `plumix/fields`.
12
- export { text } from "./text.js";
13
- export { textarea } from "./textarea.js";
14
- export { number } from "./number.js";
15
- export { email } from "./email.js";
16
- export { url } from "./url.js";
17
- export { password } from "./password.js";
18
- export { date } from "./date.js";
19
- export { datetime } from "./datetime.js";
20
- export { time } from "./time.js";
14
+ export { isFieldVisible } from "./condition.js";
15
+ export { email, password, StringFieldBuilder, text, textarea, url, } from "./builder.js";
16
+ export { link, LinkFieldBuilder } from "./link.js";
17
+ export { number, NumberFieldBuilder } from "./number.js";
18
+ export { date, datetime, TemporalFieldBuilder, time } from "./temporal.js";
21
19
  export { parseMetaDate } from "./parse-date.js";
22
- export { color } from "./color.js";
23
- export { range } from "./range.js";
24
- export { multiselect } from "./multiselect.js";
25
- export { json } from "./json.js";
26
- export { richtext } from "./richtext.js";
27
- export { repeater } from "./repeater.js";
28
- export { select } from "./select.js";
29
- export { radio } from "./radio.js";
30
- export { checkbox } from "./checkbox.js";
20
+ export { color, ColorFieldBuilder } from "./color.js";
21
+ export { range, RangeFieldBuilder, RangeFieldSeed } from "./range.js";
22
+ export { json, JsonFieldBuilder } from "./json.js";
23
+ export { richtext, RichtextFieldBuilder } from "./richtext.js";
24
+ export { repeater, RepeaterFieldBuilder, RepeaterFieldSeed, } from "./repeater.js";
25
+ export { group, GroupFieldBuilder, GroupFieldSeed } from "./group.js";
26
+ export { select, SelectFieldBuilder, SelectFieldSeed } from "./select.js";
27
+ export { toggle, ToggleFieldBuilder } from "./toggle.js";
28
+ export { ReferenceFieldBuilder } from "./reference.js";
31
29
  export { user } from "./user.js";
32
- export { userList } from "./user-list.js";
33
30
  export { entry } from "./entry.js";
34
- export { entryList } from "./entry-list.js";
35
31
  export { term } from "./term.js";
36
- export { termList } from "./term-list.js";
37
32
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,oEAAoE;AACpE,sEAAsE;AACtE,oEAAoE;AACpE,oDAAoD;AACpD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,EAAE;AACF,wDAAwD;AAExD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugin/fields/index.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,qEAAqE;AACrE,yDAAyD;AACzD,uEAAuE;AACvE,sEAAsE;AACtE,qEAAqE;AACrE,kEAAkE;AAClE,iEAAiE;AACjE,6EAA6E;AAC7E,iEAAiE;AACjE,mDAAmD;AACnD,EAAE;AACF,wDAAwD;AAExD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAMhD,OAAO,EACL,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,IAAI,EACJ,QAAQ,EACR,GAAG,GACJ,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -1,19 +1,81 @@
1
1
  import type { Label } from "../../i18n/label.js";
2
- import type { JsonMetaBoxField, MetaBoxFieldSpan } from "../manifest.js";
3
- export interface JsonFieldOptions {
4
- readonly key: string;
5
- readonly label: Label;
6
- readonly required?: boolean;
2
+ import type { FieldBuilder, JsonMetaBoxField, MetaBoxFieldSpan, MetaBoxFieldValidate } from "../manifest.js";
3
+ import type { MetaFieldCondition, MetaFieldConditionRule } from "./condition.js";
4
+ interface JsonFieldState {
5
+ readonly visibleWhen?: MetaFieldCondition;
6
+ readonly label?: Label;
7
7
  readonly description?: Label;
8
8
  readonly default?: unknown;
9
+ readonly required?: true;
9
10
  readonly span?: MetaBoxFieldSpan;
10
11
  readonly capability?: string;
12
+ readonly showInApi?: true;
11
13
  readonly sanitize?: (value: unknown) => unknown;
14
+ readonly validate?: MetaBoxFieldValidate;
12
15
  }
13
16
  /**
14
- * Build a typed `json` meta-box field. Storage round-trips through
15
- * `JSON.stringify` so any value that survives serialisation survives
16
- * the wire.
17
+ * Fluent chain for the free-form `json` field. Storage round-trips
18
+ * through `JSON.stringify` so any value that survives serialisation
19
+ * survives the wire. Values read and store as `unknown` — the field
20
+ * carries no schema for the type layer to narrow.
17
21
  */
18
- export declare function json(options: JsonFieldOptions): JsonMetaBoxField;
22
+ export declare class JsonFieldBuilder<K extends string = string> implements FieldBuilder<JsonMetaBoxField> {
23
+ #private;
24
+ /** Phantom literal key of the field — type-level only, never assigned. */
25
+ readonly _key: K;
26
+ /** Phantom read type of the field — type-level only, never assigned. */
27
+ readonly _value: unknown;
28
+ /** Phantom stored shape of the field — type-level only, never assigned. */
29
+ readonly _stored: unknown;
30
+ constructor(key: string, state?: JsonFieldState);
31
+ /** Override the derived (humanized-key) label. */
32
+ label(label: Label): JsonFieldBuilder<K>;
33
+ /** Help text rendered under the label. */
34
+ description(description: Label): JsonFieldBuilder<K>;
35
+ /** Default for absent keys — any JSON-serialisable value, applied at
36
+ * read decode (and seeded into the admin form). */
37
+ default(value: unknown): JsonFieldBuilder<K>;
38
+ /** Mark the field required. */
39
+ required(): JsonFieldBuilder<K>;
40
+ /**
41
+ * Column span within the box's 12-column grid — a universal layout
42
+ * hint; surfaces that can't honor it (the entry editor rail) ignore it.
43
+ */
44
+ span(span: MetaBoxFieldSpan): JsonFieldBuilder<K>;
45
+ /** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
46
+ capability(capability: string): JsonFieldBuilder<K>;
47
+ /** Opt this field's value into public REST responses (default-deny). */
48
+ showInApi(): JsonFieldBuilder<K>;
49
+ /** Rule factory: this field's value equals `value` — pass the rule
50
+ * to a dependent field's `.visibleWhen()`. */
51
+ is(value: unknown): MetaFieldConditionRule;
52
+ /** Rule factory: this field's value differs from `value`. */
53
+ isNot(value: unknown): MetaFieldConditionRule;
54
+ /** Rule factory: this field has no value (unset or cleared). */
55
+ isEmpty(): MetaFieldConditionRule;
56
+ /** Rule factory: this field has a value. */
57
+ isNotEmpty(): MetaFieldConditionRule;
58
+ /**
59
+ * Show this field only when every rule passes (one AND group) —
60
+ * rules come from sibling fields' condition factories. Replaces any
61
+ * previously declared condition; `.orVisibleWhen()` adds
62
+ * alternatives.
63
+ */
64
+ visibleWhen(...rules: MetaFieldConditionRule[]): JsonFieldBuilder<K>;
65
+ /** Add an OR alternative — one more AND group of rules. */
66
+ orVisibleWhen(...rules: MetaFieldConditionRule[]): JsonFieldBuilder<K>;
67
+ /** Normalising transform, applied after coercion and before persistence. */
68
+ sanitize(sanitize: (value: unknown) => unknown): JsonFieldBuilder<K>;
69
+ /**
70
+ * Custom validation — `true` for valid, or an i18n-able failure
71
+ * message (sync or async). Runs after `.sanitize()` and the
72
+ * declarative constraints.
73
+ */
74
+ validate(validate: (value: unknown) => true | Label | Promise<true | Label>): JsonFieldBuilder<K>;
75
+ /** Compile the chain into the wire/manifest field definition. */
76
+ build(): JsonMetaBoxField;
77
+ }
78
+ /** Free-form JSON value round-tripping through the JSON serializer. */
79
+ export declare function json<K extends string>(key: K): JsonFieldBuilder<K>;
80
+ export {};
19
81
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CACjD;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB,CAahE"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACvB,MAAM,gBAAgB,CAAC;AAGxB,UAAU,cAAc;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC;IAC1B,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,oBAAoB,CAAC;CAC1C;AAED;;;;;GAKG;AACH,qBAAa,gBAAgB,CAC3B,CAAC,SAAS,MAAM,GAAG,MAAM,CACzB,YAAW,YAAY,CAAC,gBAAgB,CAAC;;IACzC,0EAA0E;IAC1E,SAAiB,IAAI,EAAE,CAAC,CAAC;IACzB,wEAAwE;IACxE,SAAiB,MAAM,EAAE,OAAO,CAAC;IACjC,2EAA2E;IAC3E,SAAiB,OAAO,EAAE,OAAO,CAAC;gBAKtB,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,cAAmB;IAYnD,kDAAkD;IAClD,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIxC,0CAA0C;IAC1C,WAAW,CAAC,WAAW,EAAE,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIpD;uDACmD;IACnD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAI5C,+BAA+B;IAC/B,QAAQ,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAI/B;;;OAGG;IACH,IAAI,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIjD,0EAA0E;IAC1E,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAInD,wEAAwE;IACxE,SAAS,IAAI,gBAAgB,CAAC,CAAC,CAAC;IAIhC;mDAC+C;IAC/C,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB;IAI1C,6DAA6D;IAC7D,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB;IAI7C,gEAAgE;IAChE,OAAO,IAAI,sBAAsB;IAIjC,4CAA4C;IAC5C,UAAU,IAAI,sBAAsB;IAIpC;;;;;OAKG;IACH,WAAW,CAAC,GAAG,KAAK,EAAE,sBAAsB,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIpE,2DAA2D;IAC3D,aAAa,CAAC,GAAG,KAAK,EAAE,sBAAsB,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAMtE,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAIpE;;;;OAIG;IACH,QAAQ,CACN,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,KAAK,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,GACjE,gBAAgB,CAAC,CAAC,CAAC;IAItB,iEAAiE;IACjE,KAAK,IAAI,gBAAgB;CAS1B;AAED,uEAAuE;AACvE,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAElE"}