@plumix/core 0.6.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.
- package/dist/cache/embedded-tags.d.ts +5 -0
- package/dist/cache/embedded-tags.d.ts.map +1 -0
- package/dist/cache/embedded-tags.js +30 -0
- package/dist/cache/embedded-tags.js.map +1 -0
- package/dist/entries/read-service.d.ts.map +1 -1
- package/dist/entries/read-service.js +5 -3
- package/dist/entries/read-service.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/errors.d.ts +7 -1
- package/dist/plugin/errors.d.ts.map +1 -1
- package/dist/plugin/errors.js +5 -0
- package/dist/plugin/errors.js.map +1 -1
- package/dist/plugin/fields/builder.d.ts +106 -0
- package/dist/plugin/fields/builder.d.ts.map +1 -0
- package/dist/plugin/fields/builder.js +162 -0
- package/dist/plugin/fields/builder.js.map +1 -0
- package/dist/plugin/fields/color.d.ts +78 -18
- package/dist/plugin/fields/color.d.ts.map +1 -1
- package/dist/plugin/fields/color.js +116 -25
- package/dist/plugin/fields/color.js.map +1 -1
- package/dist/plugin/fields/condition.d.ts +40 -0
- package/dist/plugin/fields/condition.d.ts.map +1 -0
- package/dist/plugin/fields/condition.js +115 -0
- package/dist/plugin/fields/condition.js.map +1 -0
- package/dist/plugin/fields/contributions.d.ts +233 -0
- package/dist/plugin/fields/contributions.d.ts.map +1 -0
- package/dist/plugin/fields/contributions.js +1 -0
- package/dist/plugin/fields/contributions.js.map +1 -0
- package/dist/plugin/fields/entry.d.ts +18 -22
- package/dist/plugin/fields/entry.d.ts.map +1 -1
- package/dist/plugin/fields/entry.js +13 -21
- package/dist/plugin/fields/entry.js.map +1 -1
- package/dist/plugin/fields/errors.d.ts +23 -11
- package/dist/plugin/fields/errors.d.ts.map +1 -1
- package/dist/plugin/fields/errors.js +20 -13
- package/dist/plugin/fields/errors.js.map +1 -1
- package/dist/plugin/fields/group.d.ts +90 -0
- package/dist/plugin/fields/group.d.ts.map +1 -0
- package/dist/plugin/fields/group.js +124 -0
- package/dist/plugin/fields/group.js.map +1 -0
- package/dist/plugin/fields/index.d.ts +22 -45
- package/dist/plugin/fields/index.d.ts.map +1 -1
- package/dist/plugin/fields/index.js +25 -30
- package/dist/plugin/fields/index.js.map +1 -1
- package/dist/plugin/fields/json.d.ts +71 -9
- package/dist/plugin/fields/json.d.ts.map +1 -1
- package/dist/plugin/fields/json.js +110 -16
- package/dist/plugin/fields/json.js.map +1 -1
- package/dist/plugin/fields/link.d.ts +96 -0
- package/dist/plugin/fields/link.d.ts.map +1 -0
- package/dist/plugin/fields/link.js +160 -0
- package/dist/plugin/fields/link.js.map +1 -0
- package/dist/plugin/fields/number.d.ts +86 -13
- package/dist/plugin/fields/number.d.ts.map +1 -1
- package/dist/plugin/fields/number.js +133 -20
- package/dist/plugin/fields/number.js.map +1 -1
- package/dist/plugin/fields/range.d.ts +101 -17
- package/dist/plugin/fields/range.d.ts.map +1 -1
- package/dist/plugin/fields/range.js +153 -38
- package/dist/plugin/fields/range.js.map +1 -1
- package/dist/plugin/fields/reference.d.ts +171 -0
- package/dist/plugin/fields/reference.d.ts.map +1 -0
- package/dist/plugin/fields/reference.js +193 -0
- package/dist/plugin/fields/reference.js.map +1 -0
- package/dist/plugin/fields/repeater.d.ts +111 -8
- package/dist/plugin/fields/repeater.d.ts.map +1 -1
- package/dist/plugin/fields/repeater.js +157 -66
- package/dist/plugin/fields/repeater.js.map +1 -1
- package/dist/plugin/fields/richtext-validate.d.ts +7 -0
- package/dist/plugin/fields/richtext-validate.d.ts.map +1 -1
- package/dist/plugin/fields/richtext-validate.js +11 -5
- package/dist/plugin/fields/richtext-validate.js.map +1 -1
- package/dist/plugin/fields/richtext.d.ts +78 -12
- package/dist/plugin/fields/richtext.d.ts.map +1 -1
- package/dist/plugin/fields/richtext.js +121 -26
- package/dist/plugin/fields/richtext.js.map +1 -1
- package/dist/plugin/fields/select.d.ts +150 -10
- package/dist/plugin/fields/select.d.ts.map +1 -1
- package/dist/plugin/fields/select.js +205 -17
- package/dist/plugin/fields/select.js.map +1 -1
- package/dist/plugin/fields/sub-fields.d.ts +12 -0
- package/dist/plugin/fields/sub-fields.d.ts.map +1 -0
- package/dist/plugin/fields/sub-fields.js +62 -0
- package/dist/plugin/fields/sub-fields.js.map +1 -0
- package/dist/plugin/fields/temporal.d.ts +124 -0
- package/dist/plugin/fields/temporal.d.ts.map +1 -0
- package/dist/plugin/fields/temporal.js +180 -0
- package/dist/plugin/fields/temporal.js.map +1 -0
- package/dist/plugin/fields/term.d.ts +11 -16
- package/dist/plugin/fields/term.d.ts.map +1 -1
- package/dist/plugin/fields/term.js +11 -19
- package/dist/plugin/fields/term.js.map +1 -1
- package/dist/plugin/fields/toggle.d.ts +97 -0
- package/dist/plugin/fields/toggle.d.ts.map +1 -0
- package/dist/plugin/fields/toggle.js +135 -0
- package/dist/plugin/fields/toggle.js.map +1 -0
- package/dist/plugin/fields/user.d.ts +14 -26
- package/dist/plugin/fields/user.d.ts.map +1 -1
- package/dist/plugin/fields/user.js +11 -25
- package/dist/plugin/fields/user.js.map +1 -1
- package/dist/plugin/lookup.d.ts +70 -1
- package/dist/plugin/lookup.d.ts.map +1 -1
- package/dist/plugin/manifest.d.ts +308 -128
- package/dist/plugin/manifest.d.ts.map +1 -1
- package/dist/plugin/manifest.js +94 -4
- package/dist/plugin/manifest.js.map +1 -1
- package/dist/plugin/setup-context.d.ts +5 -4
- package/dist/plugin/setup-context.d.ts.map +1 -1
- package/dist/plugin/setup-context.js +10 -3
- package/dist/plugin/setup-context.js.map +1 -1
- package/dist/plugin/validation/meta-box-fields.d.ts.map +1 -1
- package/dist/plugin/validation/meta-box-fields.js +16 -0
- package/dist/plugin/validation/meta-box-fields.js.map +1 -1
- package/dist/route/render/build-resolved-entries.d.ts.map +1 -1
- package/dist/route/render/build-resolved-entries.js +7 -2
- package/dist/route/render/build-resolved-entries.js.map +1 -1
- package/dist/route/render/render-template.d.ts.map +1 -1
- package/dist/route/render/render-template.js +12 -2
- package/dist/route/render/render-template.js.map +1 -1
- package/dist/route/render/template-builders.d.ts +15 -10
- package/dist/route/render/template-builders.d.ts.map +1 -1
- package/dist/route/render/template-builders.js.map +1 -1
- package/dist/rpc/base.d.ts +7 -0
- package/dist/rpc/base.d.ts.map +1 -1
- package/dist/rpc/errors.d.ts +7 -0
- package/dist/rpc/errors.d.ts.map +1 -1
- package/dist/rpc/errors.js +16 -0
- package/dist/rpc/errors.js.map +1 -1
- package/dist/rpc/meta/core.d.ts +89 -10
- package/dist/rpc/meta/core.d.ts.map +1 -1
- package/dist/rpc/meta/core.js +465 -282
- package/dist/rpc/meta/core.js.map +1 -1
- package/dist/rpc/meta/field-messages.d.ts +67 -0
- package/dist/rpc/meta/field-messages.d.ts.map +1 -0
- package/dist/rpc/meta/field-messages.js +67 -0
- package/dist/rpc/meta/field-messages.js.map +1 -0
- package/dist/rpc/meta/field-pipeline.d.ts +52 -0
- package/dist/rpc/meta/field-pipeline.d.ts.map +1 -0
- package/dist/rpc/meta/field-pipeline.js +501 -0
- package/dist/rpc/meta/field-pipeline.js.map +1 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.d.ts +7 -0
- package/dist/rpc/procedures/auth/allowed-domains/create.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts +7 -0
- package/dist/rpc/procedures/auth/allowed-domains/delete.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/allowed-domains/index.d.ts +28 -0
- package/dist/rpc/procedures/auth/allowed-domains/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/allowed-domains/list.d.ts +7 -0
- package/dist/rpc/procedures/auth/allowed-domains/list.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/allowed-domains/update.d.ts +7 -0
- package/dist/rpc/procedures/auth/allowed-domains/update.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts +7 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-list.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts +7 -0
- package/dist/rpc/procedures/auth/api-tokens/admin-revoke.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/create.d.ts +7 -0
- package/dist/rpc/procedures/auth/api-tokens/create.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/index.d.ts +35 -0
- package/dist/rpc/procedures/auth/api-tokens/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/list.d.ts +7 -0
- package/dist/rpc/procedures/auth/api-tokens/list.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts +7 -0
- package/dist/rpc/procedures/auth/api-tokens/revoke.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/credentials/delete.d.ts +7 -0
- package/dist/rpc/procedures/auth/credentials/delete.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/credentials/index.d.ts +21 -0
- package/dist/rpc/procedures/auth/credentials/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/credentials/list.d.ts +7 -0
- package/dist/rpc/procedures/auth/credentials/list.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/credentials/rename.d.ts +7 -0
- package/dist/rpc/procedures/auth/credentials/rename.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/device-flow/approve.d.ts +7 -0
- package/dist/rpc/procedures/auth/device-flow/approve.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/device-flow/deny.d.ts +7 -0
- package/dist/rpc/procedures/auth/device-flow/deny.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/device-flow/index.d.ts +21 -0
- package/dist/rpc/procedures/auth/device-flow/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/device-flow/lookup.d.ts +7 -0
- package/dist/rpc/procedures/auth/device-flow/lookup.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/index.d.ts +154 -0
- package/dist/rpc/procedures/auth/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/login-links.d.ts +7 -0
- package/dist/rpc/procedures/auth/login-links.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/mailer/index.d.ts +7 -0
- package/dist/rpc/procedures/auth/mailer/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/mailer/test-send.d.ts +7 -0
- package/dist/rpc/procedures/auth/mailer/test-send.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/oauth-providers.d.ts +7 -0
- package/dist/rpc/procedures/auth/oauth-providers.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/session.d.ts +7 -0
- package/dist/rpc/procedures/auth/session.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/sessions/index.d.ts +21 -0
- package/dist/rpc/procedures/auth/sessions/index.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/sessions/list.d.ts +7 -0
- package/dist/rpc/procedures/auth/sessions/list.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts +7 -0
- package/dist/rpc/procedures/auth/sessions/revoke-others.d.ts.map +1 -1
- package/dist/rpc/procedures/auth/sessions/revoke.d.ts +7 -0
- package/dist/rpc/procedures/auth/sessions/revoke.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/activity.d.ts +7 -0
- package/dist/rpc/procedures/entry/activity.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/bulk.d.ts +21 -0
- package/dist/rpc/procedures/entry/bulk.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/create-preview-link.d.ts +7 -0
- package/dist/rpc/procedures/entry/create-preview-link.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/create.d.ts +8 -1
- package/dist/rpc/procedures/entry/create.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/create.js +8 -8
- package/dist/rpc/procedures/entry/create.js.map +1 -1
- package/dist/rpc/procedures/entry/dashboard.d.ts +14 -0
- package/dist/rpc/procedures/entry/dashboard.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/delete-permanent.d.ts +7 -0
- package/dist/rpc/procedures/entry/delete-permanent.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/discard-draft.d.ts +7 -0
- package/dist/rpc/procedures/entry/discard-draft.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/duplicate.d.ts +7 -0
- package/dist/rpc/procedures/entry/duplicate.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/duplicate.js +2 -2
- package/dist/rpc/procedures/entry/duplicate.js.map +1 -1
- package/dist/rpc/procedures/entry/get.d.ts +7 -0
- package/dist/rpc/procedures/entry/get.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/get.js +2 -2
- package/dist/rpc/procedures/entry/get.js.map +1 -1
- package/dist/rpc/procedures/entry/index.d.ts +156 -2
- package/dist/rpc/procedures/entry/index.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/list.d.ts +7 -0
- package/dist/rpc/procedures/entry/list.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/lookup.d.ts +8 -2
- package/dist/rpc/procedures/entry/lookup.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/lookup.js +60 -1
- package/dist/rpc/procedures/entry/lookup.js.map +1 -1
- package/dist/rpc/procedures/entry/meta.d.ts +37 -3
- package/dist/rpc/procedures/entry/meta.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/meta.js +63 -7
- package/dist/rpc/procedures/entry/meta.js.map +1 -1
- package/dist/rpc/procedures/entry/publish.d.ts +7 -0
- package/dist/rpc/procedures/entry/publish.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/publish.js +6 -4
- package/dist/rpc/procedures/entry/publish.js.map +1 -1
- package/dist/rpc/procedures/entry/refresh-block-loader.d.ts +7 -0
- package/dist/rpc/procedures/entry/refresh-block-loader.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/restore.d.ts +7 -0
- package/dist/rpc/procedures/entry/restore.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/revisions.d.ts +56 -0
- package/dist/rpc/procedures/entry/revisions.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/schemas.d.ts +2 -2
- package/dist/rpc/procedures/entry/schemas.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/schemas.js +9 -2
- package/dist/rpc/procedures/entry/schemas.js.map +1 -1
- package/dist/rpc/procedures/entry/trash.d.ts +7 -0
- package/dist/rpc/procedures/entry/trash.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/update.d.ts +8 -1
- package/dist/rpc/procedures/entry/update.d.ts.map +1 -1
- package/dist/rpc/procedures/entry/update.js +77 -18
- package/dist/rpc/procedures/entry/update.js.map +1 -1
- package/dist/rpc/procedures/lookup/index.d.ts +14 -0
- package/dist/rpc/procedures/lookup/index.d.ts.map +1 -1
- package/dist/rpc/procedures/lookup/list.d.ts +7 -0
- package/dist/rpc/procedures/lookup/list.d.ts.map +1 -1
- package/dist/rpc/procedures/lookup/resolve.d.ts +7 -0
- package/dist/rpc/procedures/lookup/resolve.d.ts.map +1 -1
- package/dist/rpc/procedures/lookup/resolve.js +1 -1
- package/dist/rpc/procedures/lookup/resolve.js.map +1 -1
- package/dist/rpc/procedures/search/index.d.ts +7 -0
- package/dist/rpc/procedures/search/index.d.ts.map +1 -1
- package/dist/rpc/procedures/settings/get.d.ts +7 -0
- package/dist/rpc/procedures/settings/get.d.ts.map +1 -1
- package/dist/rpc/procedures/settings/index.d.ts +14 -0
- package/dist/rpc/procedures/settings/index.d.ts.map +1 -1
- package/dist/rpc/procedures/settings/upsert.d.ts +7 -0
- package/dist/rpc/procedures/settings/upsert.d.ts.map +1 -1
- package/dist/rpc/procedures/settings/upsert.js +9 -0
- package/dist/rpc/procedures/settings/upsert.js.map +1 -1
- package/dist/rpc/procedures/term/create.d.ts +7 -0
- package/dist/rpc/procedures/term/create.d.ts.map +1 -1
- package/dist/rpc/procedures/term/create.js +3 -3
- package/dist/rpc/procedures/term/create.js.map +1 -1
- package/dist/rpc/procedures/term/delete.d.ts +7 -0
- package/dist/rpc/procedures/term/delete.d.ts.map +1 -1
- package/dist/rpc/procedures/term/get.d.ts +7 -0
- package/dist/rpc/procedures/term/get.d.ts.map +1 -1
- package/dist/rpc/procedures/term/index.d.ts +35 -0
- package/dist/rpc/procedures/term/index.d.ts.map +1 -1
- package/dist/rpc/procedures/term/list.d.ts +7 -0
- package/dist/rpc/procedures/term/list.d.ts.map +1 -1
- package/dist/rpc/procedures/term/lookup.d.ts +7 -2
- package/dist/rpc/procedures/term/lookup.d.ts.map +1 -1
- package/dist/rpc/procedures/term/lookup.js +26 -0
- package/dist/rpc/procedures/term/lookup.js.map +1 -1
- package/dist/rpc/procedures/term/meta.d.ts +3 -2
- package/dist/rpc/procedures/term/meta.d.ts.map +1 -1
- package/dist/rpc/procedures/term/meta.js +7 -5
- package/dist/rpc/procedures/term/meta.js.map +1 -1
- package/dist/rpc/procedures/term/update.d.ts +7 -0
- package/dist/rpc/procedures/term/update.d.ts.map +1 -1
- package/dist/rpc/procedures/term/update.js +4 -4
- package/dist/rpc/procedures/term/update.js.map +1 -1
- package/dist/rpc/procedures/user/cancel-email-change.d.ts +7 -0
- package/dist/rpc/procedures/user/cancel-email-change.d.ts.map +1 -1
- package/dist/rpc/procedures/user/delete.d.ts +7 -0
- package/dist/rpc/procedures/user/delete.d.ts.map +1 -1
- package/dist/rpc/procedures/user/disable.d.ts +7 -0
- package/dist/rpc/procedures/user/disable.d.ts.map +1 -1
- package/dist/rpc/procedures/user/enable.d.ts +7 -0
- package/dist/rpc/procedures/user/enable.d.ts.map +1 -1
- package/dist/rpc/procedures/user/get.d.ts +7 -0
- package/dist/rpc/procedures/user/get.d.ts.map +1 -1
- package/dist/rpc/procedures/user/get.js +2 -2
- package/dist/rpc/procedures/user/get.js.map +1 -1
- package/dist/rpc/procedures/user/index.d.ts +77 -0
- package/dist/rpc/procedures/user/index.d.ts.map +1 -1
- package/dist/rpc/procedures/user/invite.d.ts +7 -0
- package/dist/rpc/procedures/user/invite.d.ts.map +1 -1
- package/dist/rpc/procedures/user/list.d.ts +7 -0
- package/dist/rpc/procedures/user/list.d.ts.map +1 -1
- package/dist/rpc/procedures/user/lookup.d.ts +6 -2
- package/dist/rpc/procedures/user/lookup.d.ts.map +1 -1
- package/dist/rpc/procedures/user/lookup.js +29 -0
- package/dist/rpc/procedures/user/lookup.js.map +1 -1
- package/dist/rpc/procedures/user/meta.d.ts +3 -2
- package/dist/rpc/procedures/user/meta.d.ts.map +1 -1
- package/dist/rpc/procedures/user/meta.js +7 -5
- package/dist/rpc/procedures/user/meta.js.map +1 -1
- package/dist/rpc/procedures/user/pending-email-change.d.ts +7 -0
- package/dist/rpc/procedures/user/pending-email-change.d.ts.map +1 -1
- package/dist/rpc/procedures/user/request-email-change.d.ts +7 -0
- package/dist/rpc/procedures/user/request-email-change.d.ts.map +1 -1
- package/dist/rpc/procedures/user/set-locale.d.ts +7 -0
- package/dist/rpc/procedures/user/set-locale.d.ts.map +1 -1
- package/dist/rpc/procedures/user/update.d.ts +7 -0
- package/dist/rpc/procedures/user/update.d.ts.map +1 -1
- package/dist/rpc/procedures/user/update.js +4 -4
- package/dist/rpc/procedures/user/update.js.map +1 -1
- package/dist/rpc/router.d.ts +457 -2
- package/dist/rpc/router.d.ts.map +1 -1
- package/dist/rpc/validation.d.ts +1 -0
- package/dist/rpc/validation.d.ts.map +1 -1
- package/dist/rpc/validation.js +1 -0
- package/dist/rpc/validation.js.map +1 -1
- package/dist/runtime/dispatcher.d.ts.map +1 -1
- package/dist/runtime/dispatcher.js +20 -10
- package/dist/runtime/dispatcher.js.map +1 -1
- package/dist/seo/feed.d.ts.map +1 -1
- package/dist/seo/feed.js +7 -1
- package/dist/seo/feed.js.map +1 -1
- package/dist/settings-core.js +1 -1
- package/dist/settings-core.js.map +1 -1
- package/dist/template-registry.d.ts +0 -16
- package/dist/template-registry.d.ts.map +1 -1
- package/dist/terms/read-service.js +2 -2
- package/dist/terms/read-service.js.map +1 -1
- package/dist/test/traced-context.d.ts +1 -1
- package/dist/test/traced-context.d.ts.map +1 -1
- package/dist/test/traced-context.js +2 -2
- package/dist/test/traced-context.js.map +1 -1
- package/package.json +2 -2
- package/dist/plugin/fields/checkbox.d.ts +0 -19
- package/dist/plugin/fields/checkbox.d.ts.map +0 -1
- package/dist/plugin/fields/checkbox.js +0 -20
- package/dist/plugin/fields/checkbox.js.map +0 -1
- package/dist/plugin/fields/date.d.ts +0 -24
- package/dist/plugin/fields/date.d.ts.map +0 -1
- package/dist/plugin/fields/date.js +0 -23
- package/dist/plugin/fields/date.js.map +0 -1
- package/dist/plugin/fields/datetime.d.ts +0 -26
- package/dist/plugin/fields/datetime.d.ts.map +0 -1
- package/dist/plugin/fields/datetime.js +0 -25
- package/dist/plugin/fields/datetime.js.map +0 -1
- package/dist/plugin/fields/email.d.ts +0 -17
- package/dist/plugin/fields/email.d.ts.map +0 -1
- package/dist/plugin/fields/email.js +0 -18
- package/dist/plugin/fields/email.js.map +0 -1
- package/dist/plugin/fields/entry-list.d.ts +0 -28
- package/dist/plugin/fields/entry-list.d.ts.map +0 -1
- package/dist/plugin/fields/entry-list.js +0 -31
- package/dist/plugin/fields/entry-list.js.map +0 -1
- package/dist/plugin/fields/multiselect.d.ts +0 -21
- package/dist/plugin/fields/multiselect.d.ts.map +0 -1
- package/dist/plugin/fields/multiselect.js +0 -43
- package/dist/plugin/fields/multiselect.js.map +0 -1
- package/dist/plugin/fields/password.d.ts +0 -24
- package/dist/plugin/fields/password.d.ts.map +0 -1
- package/dist/plugin/fields/password.js +0 -25
- package/dist/plugin/fields/password.js.map +0 -1
- package/dist/plugin/fields/radio.d.ts +0 -16
- package/dist/plugin/fields/radio.d.ts.map +0 -1
- package/dist/plugin/fields/radio.js +0 -17
- package/dist/plugin/fields/radio.js.map +0 -1
- package/dist/plugin/fields/repeater-validate.d.ts +0 -34
- package/dist/plugin/fields/repeater-validate.d.ts.map +0 -1
- package/dist/plugin/fields/repeater-validate.js +0 -104
- package/dist/plugin/fields/repeater-validate.js.map +0 -1
- package/dist/plugin/fields/term-list.d.ts +0 -27
- package/dist/plugin/fields/term-list.d.ts.map +0 -1
- package/dist/plugin/fields/term-list.js +0 -30
- package/dist/plugin/fields/term-list.js.map +0 -1
- package/dist/plugin/fields/text.d.ts +0 -37
- package/dist/plugin/fields/text.d.ts.map +0 -1
- package/dist/plugin/fields/text.js +0 -31
- package/dist/plugin/fields/text.js.map +0 -1
- package/dist/plugin/fields/textarea.d.ts +0 -20
- package/dist/plugin/fields/textarea.d.ts.map +0 -1
- package/dist/plugin/fields/textarea.js +0 -21
- package/dist/plugin/fields/textarea.js.map +0 -1
- package/dist/plugin/fields/time.d.ts +0 -24
- package/dist/plugin/fields/time.d.ts.map +0 -1
- package/dist/plugin/fields/time.js +0 -23
- package/dist/plugin/fields/time.js.map +0 -1
- package/dist/plugin/fields/url.d.ts +0 -17
- package/dist/plugin/fields/url.d.ts.map +0 -1
- package/dist/plugin/fields/url.js +0 -18
- package/dist/plugin/fields/url.js.map +0 -1
- package/dist/plugin/fields/user-list.d.ts +0 -29
- package/dist/plugin/fields/user-list.d.ts.map +0 -1
- package/dist/plugin/fields/user-list.js +0 -31
- package/dist/plugin/fields/user-list.js.map +0 -1
|
@@ -1,28 +1,88 @@
|
|
|
1
1
|
import type { Label } from "../../i18n/label.js";
|
|
2
|
-
import type { ColorMetaBoxField, MetaBoxFieldSpan } from "../manifest.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
readonly
|
|
6
|
-
readonly
|
|
2
|
+
import type { ColorMetaBoxField, FieldBuilder, MetaBoxFieldSpan, MetaBoxFieldValidate } from "../manifest.js";
|
|
3
|
+
import type { MetaFieldCondition, MetaFieldConditionRule } from "./condition.js";
|
|
4
|
+
interface ColorFieldState {
|
|
5
|
+
readonly visibleWhen?: MetaFieldCondition;
|
|
6
|
+
readonly label?: Label;
|
|
7
7
|
readonly description?: Label;
|
|
8
|
-
/** Hex string `#xxxxxx` (or `#xxx` shorthand). Must match `HEX_COLOR`. */
|
|
9
8
|
readonly default?: string;
|
|
9
|
+
readonly required?: true;
|
|
10
10
|
readonly span?: MetaBoxFieldSpan;
|
|
11
11
|
readonly capability?: string;
|
|
12
|
-
|
|
13
|
-
* Optional override. The builder ships a default sanitizer that
|
|
14
|
-
* rejects non-hex values; passing a custom one replaces it
|
|
15
|
-
* entirely, so authors taking over validation should re-check the
|
|
16
|
-
* hex shape themselves.
|
|
17
|
-
*/
|
|
12
|
+
readonly showInApi?: true;
|
|
18
13
|
readonly sanitize?: (value: unknown) => unknown;
|
|
14
|
+
readonly validate?: MetaBoxFieldValidate;
|
|
19
15
|
}
|
|
16
|
+
export declare const HEX_COLOR: RegExp;
|
|
20
17
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* override.
|
|
18
|
+
* Fluent chain for the `color` field. Storage is the hex string the
|
|
19
|
+
* native `<input type="color">` produces (`#rrggbb`). The constraint
|
|
20
|
+
* walker enforces the hex shape (and lowercases) server-side — a
|
|
21
|
+
* custom `.sanitize()` transforms but can never bypass that gate.
|
|
26
22
|
*/
|
|
27
|
-
export declare
|
|
23
|
+
export declare class ColorFieldBuilder<K extends string = string, V extends string | undefined = string | undefined, S extends string | undefined = string | undefined> implements FieldBuilder<ColorMetaBoxField> {
|
|
24
|
+
#private;
|
|
25
|
+
/** Phantom literal key of the field — type-level only, never assigned. */
|
|
26
|
+
readonly _key: K;
|
|
27
|
+
/** Phantom read type of the field — type-level only, never assigned. */
|
|
28
|
+
readonly _value: V;
|
|
29
|
+
/** Phantom stored shape of the field — type-level only, never assigned. */
|
|
30
|
+
readonly _stored: S;
|
|
31
|
+
constructor(key: string, state?: ColorFieldState);
|
|
32
|
+
/** Override the derived (humanized-key) label. */
|
|
33
|
+
label(label: Label): ColorFieldBuilder<K, V, S>;
|
|
34
|
+
/** Help text rendered under the label. */
|
|
35
|
+
description(description: Label): ColorFieldBuilder<K, V, S>;
|
|
36
|
+
/**
|
|
37
|
+
* Default for absent keys — a hex string `#xxxxxx` (or `#xxx`
|
|
38
|
+
* shorthand), applied at read decode (and seeded into the admin
|
|
39
|
+
* form). Narrows the read type to `string`; the stored shape stays
|
|
40
|
+
* optional.
|
|
41
|
+
*/
|
|
42
|
+
default(value: string): ColorFieldBuilder<K, string, S>;
|
|
43
|
+
/** Mark the field required — narrows the read and stored types to `string`. */
|
|
44
|
+
required(): ColorFieldBuilder<K, string, string>;
|
|
45
|
+
/**
|
|
46
|
+
* Column span within the box's 12-column grid — a universal layout
|
|
47
|
+
* hint; surfaces that can't honor it (the entry editor rail) ignore it.
|
|
48
|
+
*/
|
|
49
|
+
span(span: MetaBoxFieldSpan): ColorFieldBuilder<K, V, S>;
|
|
50
|
+
/** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
|
|
51
|
+
capability(capability: string): ColorFieldBuilder<K, V, S>;
|
|
52
|
+
/** Opt this field's value into public REST responses (default-deny). */
|
|
53
|
+
showInApi(): ColorFieldBuilder<K, V, S>;
|
|
54
|
+
/** Rule factory: this field's value equals `value` — pass the rule
|
|
55
|
+
* to a dependent field's `.visibleWhen()`. */
|
|
56
|
+
is(value: string): MetaFieldConditionRule;
|
|
57
|
+
/** Rule factory: this field's value differs from `value`. */
|
|
58
|
+
isNot(value: string): MetaFieldConditionRule;
|
|
59
|
+
/** Rule factory: this field has no value (unset or cleared). */
|
|
60
|
+
isEmpty(): MetaFieldConditionRule;
|
|
61
|
+
/** Rule factory: this field has a value. */
|
|
62
|
+
isNotEmpty(): MetaFieldConditionRule;
|
|
63
|
+
/**
|
|
64
|
+
* Show this field only when every rule passes (one AND group) —
|
|
65
|
+
* rules come from sibling fields' condition factories. Replaces any
|
|
66
|
+
* previously declared condition; `.orVisibleWhen()` adds
|
|
67
|
+
* alternatives.
|
|
68
|
+
*/
|
|
69
|
+
visibleWhen(...rules: MetaFieldConditionRule[]): ColorFieldBuilder<K, V, S>;
|
|
70
|
+
/** Add an OR alternative — one more AND group of rules. */
|
|
71
|
+
orVisibleWhen(...rules: MetaFieldConditionRule[]): ColorFieldBuilder<K, V, S>;
|
|
72
|
+
/** Normalising transform, applied after coercion and before persistence. */
|
|
73
|
+
sanitize(sanitize: (value: NonNullable<V>) => NonNullable<V>): ColorFieldBuilder<K, V, S>;
|
|
74
|
+
/**
|
|
75
|
+
* Custom validation — `true` for valid, or an i18n-able failure
|
|
76
|
+
* message (sync or async). Runs after `.sanitize()` and the
|
|
77
|
+
* declarative constraints.
|
|
78
|
+
*/
|
|
79
|
+
validate(validate: (value: NonNullable<V>) => true | Label | Promise<true | Label>): ColorFieldBuilder<K, V, S>;
|
|
80
|
+
/** Compile the chain into the wire/manifest field definition. */
|
|
81
|
+
build(): ColorMetaBoxField;
|
|
82
|
+
}
|
|
83
|
+
/** Hex color picker storing the `#rrggbb` string the native input
|
|
84
|
+
* produces. The hex format is enforced (and the value lowercased)
|
|
85
|
+
* server-side by the constraint walker. */
|
|
86
|
+
export declare function color<K extends string>(key: K): ColorFieldBuilder<K>;
|
|
87
|
+
export {};
|
|
28
88
|
//# sourceMappingURL=color.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/color.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"color.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/color.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,121 @@
|
|
|
1
|
-
|
|
1
|
+
var _a;
|
|
2
|
+
import { humanizeFieldKey } from "./builder.js";
|
|
3
|
+
export const HEX_COLOR = /^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;
|
|
2
4
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* override.
|
|
5
|
+
* Fluent chain for the `color` field. Storage is the hex string the
|
|
6
|
+
* native `<input type="color">` produces (`#rrggbb`). The constraint
|
|
7
|
+
* walker enforces the hex shape (and lowercases) server-side — a
|
|
8
|
+
* custom `.sanitize()` transforms but can never bypass that gate.
|
|
8
9
|
*/
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
10
|
+
export class ColorFieldBuilder {
|
|
11
|
+
#key;
|
|
12
|
+
#state;
|
|
13
|
+
constructor(key, state = {}) {
|
|
14
|
+
this.#key = key;
|
|
15
|
+
this.#state = state;
|
|
16
|
+
}
|
|
17
|
+
#fork(patch) {
|
|
18
|
+
return new _a(this.#key, {
|
|
19
|
+
...this.#state,
|
|
20
|
+
...patch,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
/** Override the derived (humanized-key) label. */
|
|
24
|
+
label(label) {
|
|
25
|
+
return this.#fork({ label });
|
|
26
|
+
}
|
|
27
|
+
/** Help text rendered under the label. */
|
|
28
|
+
description(description) {
|
|
29
|
+
return this.#fork({ description });
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Default for absent keys — a hex string `#xxxxxx` (or `#xxx`
|
|
33
|
+
* shorthand), applied at read decode (and seeded into the admin
|
|
34
|
+
* form). Narrows the read type to `string`; the stored shape stays
|
|
35
|
+
* optional.
|
|
36
|
+
*/
|
|
37
|
+
default(value) {
|
|
38
|
+
return this.#fork({ default: value });
|
|
39
|
+
}
|
|
40
|
+
/** Mark the field required — narrows the read and stored types to `string`. */
|
|
41
|
+
required() {
|
|
42
|
+
return this.#fork({ required: true });
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Column span within the box's 12-column grid — a universal layout
|
|
46
|
+
* hint; surfaces that can't honor it (the entry editor rail) ignore it.
|
|
47
|
+
*/
|
|
48
|
+
span(span) {
|
|
49
|
+
return this.#fork({ span });
|
|
50
|
+
}
|
|
51
|
+
/** Capability gate for this field — see `MetaBoxFieldBase.capability`. */
|
|
52
|
+
capability(capability) {
|
|
53
|
+
return this.#fork({ capability });
|
|
54
|
+
}
|
|
55
|
+
/** Opt this field's value into public REST responses (default-deny). */
|
|
56
|
+
showInApi() {
|
|
57
|
+
return this.#fork({ showInApi: true });
|
|
58
|
+
}
|
|
59
|
+
/** Rule factory: this field's value equals `value` — pass the rule
|
|
60
|
+
* to a dependent field's `.visibleWhen()`. */
|
|
61
|
+
is(value) {
|
|
62
|
+
return { key: this.#key, op: "eq", value };
|
|
27
63
|
}
|
|
28
|
-
|
|
64
|
+
/** Rule factory: this field's value differs from `value`. */
|
|
65
|
+
isNot(value) {
|
|
66
|
+
return { key: this.#key, op: "neq", value };
|
|
67
|
+
}
|
|
68
|
+
/** Rule factory: this field has no value (unset or cleared). */
|
|
69
|
+
isEmpty() {
|
|
70
|
+
return { key: this.#key, op: "empty" };
|
|
71
|
+
}
|
|
72
|
+
/** Rule factory: this field has a value. */
|
|
73
|
+
isNotEmpty() {
|
|
74
|
+
return { key: this.#key, op: "not_empty" };
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Show this field only when every rule passes (one AND group) —
|
|
78
|
+
* rules come from sibling fields' condition factories. Replaces any
|
|
79
|
+
* previously declared condition; `.orVisibleWhen()` adds
|
|
80
|
+
* alternatives.
|
|
81
|
+
*/
|
|
82
|
+
visibleWhen(...rules) {
|
|
83
|
+
return this.#fork({ visibleWhen: [rules] });
|
|
84
|
+
}
|
|
85
|
+
/** Add an OR alternative — one more AND group of rules. */
|
|
86
|
+
orVisibleWhen(...rules) {
|
|
87
|
+
return this.#fork({
|
|
88
|
+
visibleWhen: [...(this.#state.visibleWhen ?? []), rules],
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
/** Normalising transform, applied after coercion and before persistence. */
|
|
92
|
+
sanitize(sanitize) {
|
|
93
|
+
return this.#fork({ sanitize: sanitize });
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Custom validation — `true` for valid, or an i18n-able failure
|
|
97
|
+
* message (sync or async). Runs after `.sanitize()` and the
|
|
98
|
+
* declarative constraints.
|
|
99
|
+
*/
|
|
100
|
+
validate(validate) {
|
|
101
|
+
return this.#fork({ validate: validate });
|
|
102
|
+
}
|
|
103
|
+
/** Compile the chain into the wire/manifest field definition. */
|
|
104
|
+
build() {
|
|
105
|
+
return {
|
|
106
|
+
...this.#state,
|
|
107
|
+
key: this.#key,
|
|
108
|
+
label: this.#state.label ?? humanizeFieldKey(this.#key),
|
|
109
|
+
type: "string",
|
|
110
|
+
inputType: "color",
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
_a = ColorFieldBuilder;
|
|
115
|
+
/** Hex color picker storing the `#rrggbb` string the native input
|
|
116
|
+
* produces. The hex format is enforced (and the value lowercased)
|
|
117
|
+
* server-side by the constraint walker. */
|
|
118
|
+
export function color(key) {
|
|
119
|
+
return new ColorFieldBuilder(key);
|
|
29
120
|
}
|
|
30
121
|
//# sourceMappingURL=color.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/plugin/fields/color.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"color.js","sourceRoot":"","sources":["../../../src/plugin/fields/color.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Comparison applied between a driver field's value and the rule. */
|
|
2
|
+
export type MetaFieldConditionOperator = "eq" | "neq" | "empty" | "not_empty" | "gt" | "lt" | "contains" | "not_contains" | "count_gt" | "count_lt";
|
|
3
|
+
/**
|
|
4
|
+
* One comparison against a driver field, addressed by its meta key.
|
|
5
|
+
* `value` is the JSON-serializable comparand; operators that don't
|
|
6
|
+
* compare against a value omit it.
|
|
7
|
+
*/
|
|
8
|
+
export interface MetaFieldConditionRule {
|
|
9
|
+
readonly key: string;
|
|
10
|
+
readonly op: MetaFieldConditionOperator;
|
|
11
|
+
readonly value?: unknown;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* OR-of-AND groups: the field is visible when any group passes, and a
|
|
15
|
+
* group passes when all of its rules do. `.visibleWhen(...rules)`
|
|
16
|
+
* authors the first group; each `.orVisibleWhen(...rules)` appends one.
|
|
17
|
+
*/
|
|
18
|
+
export type MetaFieldCondition = readonly (readonly MetaFieldConditionRule[])[];
|
|
19
|
+
/**
|
|
20
|
+
* Evaluate a field's visibility against the sibling values of its box
|
|
21
|
+
* (form values in the admin, the incoming meta bag on the server). A
|
|
22
|
+
* field without a condition is always visible.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isFieldVisible(field: {
|
|
25
|
+
readonly visibleWhen?: MetaFieldCondition;
|
|
26
|
+
}, values: Readonly<Record<string, unknown>>): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Write-side companion to `isFieldVisible`: whether a field's key
|
|
29
|
+
* should be dropped from an incoming write. Condition-hidden fields
|
|
30
|
+
* skip validation entirely, because an editor can never fix a value
|
|
31
|
+
* behind an input they cannot see. Visibility is judged from the
|
|
32
|
+
* incoming bag (the admin submits the full form state), and only when
|
|
33
|
+
* the bag carries every referenced driver: a partial patch that omits
|
|
34
|
+
* a driver is validated as if visible rather than silently dropped on
|
|
35
|
+
* unknown driver state.
|
|
36
|
+
*/
|
|
37
|
+
export declare function isConditionHidden(field: {
|
|
38
|
+
readonly visibleWhen?: MetaFieldCondition;
|
|
39
|
+
}, input: Readonly<Record<string, unknown>>): boolean;
|
|
40
|
+
//# sourceMappingURL=condition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.d.ts","sourceRoot":"","sources":["../../../src/plugin/fields/condition.ts"],"names":[],"mappings":"AAQA,sEAAsE;AACtE,MAAM,MAAM,0BAA0B,GAClC,IAAI,GACJ,KAAK,GACL,OAAO,GACP,WAAW,GACX,IAAI,GACJ,IAAI,GACJ,UAAU,GACV,cAAc,GACd,UAAU,GACV,UAAU,CAAC;AAEf;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,CAAC,SAAS,sBAAsB,EAAE,CAAC,EAAE,CAAC;AAEhF;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;CAAE,EACpD,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,OAAO,CAMT;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,kBAAkB,CAAA;CAAE,EACpD,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC,OAAO,CAMT"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// Conditional-visibility rule model for meta-box fields. Rules are
|
|
2
|
+
// plain wire objects addressing driver fields by key — authored via
|
|
3
|
+
// the typed condition factories on each fluent builder, serialized
|
|
4
|
+
// into the manifest untouched, and evaluated by the same
|
|
5
|
+
// `isFieldVisible` on both sides: the admin form (live show/hide as
|
|
6
|
+
// driver values change) and the server write pipeline (hidden fields
|
|
7
|
+
// skip validation).
|
|
8
|
+
/**
|
|
9
|
+
* Evaluate a field's visibility against the sibling values of its box
|
|
10
|
+
* (form values in the admin, the incoming meta bag on the server). A
|
|
11
|
+
* field without a condition is always visible.
|
|
12
|
+
*/
|
|
13
|
+
export function isFieldVisible(field, values) {
|
|
14
|
+
const groups = field.visibleWhen;
|
|
15
|
+
if (groups === undefined || groups.length === 0)
|
|
16
|
+
return true;
|
|
17
|
+
return groups.some((group) => group.every((rule) => evaluateRule(rule, values[rule.key])));
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Write-side companion to `isFieldVisible`: whether a field's key
|
|
21
|
+
* should be dropped from an incoming write. Condition-hidden fields
|
|
22
|
+
* skip validation entirely, because an editor can never fix a value
|
|
23
|
+
* behind an input they cannot see. Visibility is judged from the
|
|
24
|
+
* incoming bag (the admin submits the full form state), and only when
|
|
25
|
+
* the bag carries every referenced driver: a partial patch that omits
|
|
26
|
+
* a driver is validated as if visible rather than silently dropped on
|
|
27
|
+
* unknown driver state.
|
|
28
|
+
*/
|
|
29
|
+
export function isConditionHidden(field, input) {
|
|
30
|
+
const groups = field.visibleWhen ?? [];
|
|
31
|
+
const driversPresent = groups.every((group) => group.every((rule) => rule.key in input));
|
|
32
|
+
return driversPresent && !isFieldVisible(field, input);
|
|
33
|
+
}
|
|
34
|
+
function evaluateRule(rule, value) {
|
|
35
|
+
switch (rule.op) {
|
|
36
|
+
case "eq":
|
|
37
|
+
return structurallyEqual(value, rule.value);
|
|
38
|
+
case "neq":
|
|
39
|
+
return !structurallyEqual(value, rule.value);
|
|
40
|
+
case "empty":
|
|
41
|
+
return isEmptyValue(value);
|
|
42
|
+
case "not_empty":
|
|
43
|
+
return !isEmptyValue(value);
|
|
44
|
+
case "gt":
|
|
45
|
+
return compareNumeric(value, rule.value, (a, b) => a > b);
|
|
46
|
+
case "lt":
|
|
47
|
+
return compareNumeric(value, rule.value, (a, b) => a < b);
|
|
48
|
+
case "contains":
|
|
49
|
+
return containsItem(value, rule.value);
|
|
50
|
+
case "not_contains":
|
|
51
|
+
return !containsItem(value, rule.value);
|
|
52
|
+
case "count_gt":
|
|
53
|
+
return compareNumeric(countOf(value), rule.value, (a, b) => a > b);
|
|
54
|
+
case "count_lt":
|
|
55
|
+
return compareNumeric(countOf(value), rule.value, (a, b) => a < b);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
function containsItem(value, comparand) {
|
|
59
|
+
return (Array.isArray(value) &&
|
|
60
|
+
value.some((item) => structurallyEqual(item, comparand)));
|
|
61
|
+
}
|
|
62
|
+
// Multi-value drivers count their selections; anything else (including
|
|
63
|
+
// an absent value) counts as zero.
|
|
64
|
+
function countOf(value) {
|
|
65
|
+
return Array.isArray(value) ? value.length : 0;
|
|
66
|
+
}
|
|
67
|
+
// JSON-structural equality — rule comparands are JSON-serializable by
|
|
68
|
+
// construction (typed factories produce them from field value types),
|
|
69
|
+
// so array order and own enumerable keys are the identity. Objects
|
|
70
|
+
// compare key-order-insensitively.
|
|
71
|
+
function structurallyEqual(a, b) {
|
|
72
|
+
if (a === b)
|
|
73
|
+
return true;
|
|
74
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
75
|
+
return (a.length === b.length &&
|
|
76
|
+
a.every((item, i) => structurallyEqual(item, b[i])));
|
|
77
|
+
}
|
|
78
|
+
if (typeof a === "object" &&
|
|
79
|
+
typeof b === "object" &&
|
|
80
|
+
a !== null &&
|
|
81
|
+
b !== null &&
|
|
82
|
+
!Array.isArray(a) &&
|
|
83
|
+
!Array.isArray(b)) {
|
|
84
|
+
const aEntries = Object.entries(a);
|
|
85
|
+
if (aEntries.length !== Object.keys(b).length)
|
|
86
|
+
return false;
|
|
87
|
+
return aEntries.every(([key, item]) => key in b &&
|
|
88
|
+
structurallyEqual(item, b[key]));
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
// "No value yet" as an editor perceives it: unset, cleared input, or
|
|
93
|
+
// an empty multi-value selection. `false` / `0` are values.
|
|
94
|
+
function isEmptyValue(value) {
|
|
95
|
+
if (value === undefined || value === null || value === "")
|
|
96
|
+
return true;
|
|
97
|
+
return Array.isArray(value) && value.length === 0;
|
|
98
|
+
}
|
|
99
|
+
function compareNumeric(value, bound, cmp) {
|
|
100
|
+
const parsed = numericValueOf(value);
|
|
101
|
+
return (parsed !== undefined && typeof bound === "number" && cmp(parsed, bound));
|
|
102
|
+
}
|
|
103
|
+
// Numeric driver values may arrive as strings (an HTML number input's
|
|
104
|
+
// raw form value) — accept them, but never coerce blank to 0.
|
|
105
|
+
function numericValueOf(value) {
|
|
106
|
+
if (typeof value === "number" && Number.isFinite(value))
|
|
107
|
+
return value;
|
|
108
|
+
if (typeof value === "string" && value.trim() !== "") {
|
|
109
|
+
const parsed = Number(value);
|
|
110
|
+
if (Number.isFinite(parsed))
|
|
111
|
+
return parsed;
|
|
112
|
+
}
|
|
113
|
+
return undefined;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/plugin/fields/condition.ts"],"names":[],"mappings":"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"}
|