@elytracms/studio 0.0.88 → 0.0.91
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/convex/asset-revalidate.test.ts +49 -43
- package/convex/cms.ts +3 -4
- package/convex/delivery.ts +8 -11
- package/convex/document-revalidate.test.ts +188 -0
- package/convex/redirect-revalidate.test.ts +50 -37
- package/convex/revalidate.ts +18 -30
- package/convex/triggers.ts +47 -38
- package/convex/webhooks.ts +77 -62
- package/dist/components/account/self-account-view-source.js +2 -1
- package/dist/components/account/self-account-view-source.js.map +1 -1
- package/dist/components/ai/ai-chat-panel.js +1 -1
- package/dist/components/ai/ai-chat-panel.js.map +1 -1
- package/dist/components/app-views/default-modules.js +3 -3
- package/dist/components/app-views/default-modules.js.map +1 -1
- package/dist/components/assets/asset-grid.js +1 -1
- package/dist/components/assets/asset-grid.js.map +1 -1
- package/dist/components/assets/asset-selection.d.ts +8 -9
- package/dist/components/assets/asset-selection.js +26 -16
- package/dist/components/assets/asset-selection.js.map +1 -1
- package/dist/components/assets/assets-collection-view-source.js +3 -2
- package/dist/components/assets/assets-collection-view-source.js.map +1 -1
- package/dist/components/builder/blocks-model.d.ts +7 -5
- package/dist/components/builder/blocks-model.js +11 -9
- package/dist/components/builder/blocks-model.js.map +1 -1
- package/dist/components/builder/blocks-panel.js +1 -1
- package/dist/components/builder/blocks-panel.js.map +1 -1
- package/dist/components/builder/builder-store.d.ts +11 -3
- package/dist/components/builder/builder-store.js +12 -5
- package/dist/components/builder/builder-store.js.map +1 -1
- package/dist/components/builder/canvas-dnd.d.ts +7 -1
- package/dist/components/builder/canvas-dnd.js +6 -3
- package/dist/components/builder/canvas-dnd.js.map +1 -1
- package/dist/components/builder/canvas-render-context.d.ts +13 -1
- package/dist/components/builder/canvas-render-context.js +28 -18
- package/dist/components/builder/canvas-render-context.js.map +1 -1
- package/dist/components/builder/canvas.js +1 -1
- package/dist/components/builder/canvas.js.map +1 -1
- package/dist/components/builder/clipboard-actions.d.ts +0 -6
- package/dist/components/builder/clipboard-actions.js +9 -4
- package/dist/components/builder/clipboard-actions.js.map +1 -1
- package/dist/components/builder/composition-field-editor.d.ts +22 -0
- package/dist/components/builder/composition-field-editor.js +47 -8
- package/dist/components/builder/composition-field-editor.js.map +1 -1
- package/dist/components/builder/inline-edit.d.ts +7 -4
- package/dist/components/builder/inline-edit.js +11 -8
- package/dist/components/builder/inline-edit.js.map +1 -1
- package/dist/components/builder/insert-context.js +9 -5
- package/dist/components/builder/insert-context.js.map +1 -1
- package/dist/components/builder/layout-inspector.d.ts +2 -2
- package/dist/components/builder/layout-inspector.js +8 -6
- package/dist/components/builder/layout-inspector.js.map +1 -1
- package/dist/components/builder/node-factory.d.ts +31 -14
- package/dist/components/builder/node-factory.js +73 -93
- package/dist/components/builder/node-factory.js.map +1 -1
- package/dist/components/builder/page-tree.d.ts +3 -1
- package/dist/components/builder/page-tree.js +6 -4
- package/dist/components/builder/page-tree.js.map +1 -1
- package/dist/components/builder/property-inspector.js +2 -1
- package/dist/components/builder/property-inspector.js.map +1 -1
- package/dist/components/builder/reuse-context.js +2 -2
- package/dist/components/builder/reuse-context.js.map +1 -1
- package/dist/components/builder/reuse.d.ts +7 -3
- package/dist/components/builder/reuse.js +19 -11
- package/dist/components/builder/reuse.js.map +1 -1
- package/dist/components/builder/selection-overlay.d.ts +2 -2
- package/dist/components/builder/selection-overlay.js +3 -3
- package/dist/components/builder/selection-overlay.js.map +1 -1
- package/dist/components/builder/spacing-handles.d.ts +2 -2
- package/dist/components/builder/spacing-handles.js +3 -3
- package/dist/components/builder/spacing-handles.js.map +1 -1
- package/dist/components/cms/asset-field.d.ts +1 -1
- package/dist/components/cms/asset-field.js +15 -13
- package/dist/components/cms/asset-field.js.map +1 -1
- package/dist/components/cms/asset-picker-core.js +3 -4
- package/dist/components/cms/asset-picker-core.js.map +1 -1
- package/dist/components/cms/cell-edit.d.ts +0 -6
- package/dist/components/cms/cell-edit.js +5 -23
- package/dist/components/cms/cell-edit.js.map +1 -1
- package/dist/components/cms/cms-store.d.ts +3 -2
- package/dist/components/cms/cms-store.js +23 -24
- package/dist/components/cms/cms-store.js.map +1 -1
- package/dist/components/cms/collection-table.js +14 -4
- package/dist/components/cms/collection-table.js.map +1 -1
- package/dist/components/cms/detail-editor.js +28 -24
- package/dist/components/cms/detail-editor.js.map +1 -1
- package/dist/components/cms/discard-draft.d.ts +1 -2
- package/dist/components/cms/discard-draft.js +1 -1
- package/dist/components/cms/discard-draft.js.map +1 -1
- package/dist/components/cms/duplicate-document.d.ts +3 -2
- package/dist/components/cms/duplicate-document.js +5 -5
- package/dist/components/cms/duplicate-document.js.map +1 -1
- package/dist/components/cms/editable-cell.js +11 -7
- package/dist/components/cms/editable-cell.js.map +1 -1
- package/dist/components/cms/field-control-lib.d.ts +10 -0
- package/dist/components/cms/field-control-lib.js +20 -0
- package/dist/components/cms/field-control-lib.js.map +1 -1
- package/dist/components/cms/field-control.js +10 -9
- package/dist/components/cms/field-control.js.map +1 -1
- package/dist/components/cms/object-array-field.js +3 -5
- package/dist/components/cms/object-array-field.js.map +1 -1
- package/dist/components/cms/prop-fields.d.ts +16 -3
- package/dist/components/cms/prop-fields.js +57 -12
- package/dist/components/cms/prop-fields.js.map +1 -1
- package/dist/components/cms/publish-clean.d.ts +13 -6
- package/dist/components/cms/publish-clean.js +14 -6
- package/dist/components/cms/publish-clean.js.map +1 -1
- package/dist/components/cms/rich-text/embed-props.d.ts +6 -1
- package/dist/components/cms/rich-text/embed-props.js +7 -12
- package/dist/components/cms/rich-text/embed-props.js.map +1 -1
- package/dist/components/cms/rich-text/insert.d.ts +13 -6
- package/dist/components/cms/rich-text/insert.js +16 -17
- package/dist/components/cms/rich-text/insert.js.map +1 -1
- package/dist/components/cms/use-cell-edit.js +7 -12
- package/dist/components/cms/use-cell-edit.js.map +1 -1
- package/dist/components/cms/use-discard-controller.d.ts +1 -2
- package/dist/components/cms/use-discard-controller.js +1 -2
- package/dist/components/cms/use-discard-controller.js.map +1 -1
- package/dist/components/cms/use-publish-controller.js +3 -2
- package/dist/components/cms/use-publish-controller.js.map +1 -1
- package/dist/components/cms/versions-pane.js +2 -2
- package/dist/components/cms/versions-pane.js.map +1 -1
- package/dist/components/components/component-detail.d.ts +1 -1
- package/dist/components/components/component-detail.js +2 -4
- package/dist/components/components/component-detail.js.map +1 -1
- package/dist/components/components/component-preview.js +9 -4
- package/dist/components/components/component-preview.js.map +1 -1
- package/dist/components/components/components-index.d.ts +2 -2
- package/dist/components/components/components-index.js +3 -6
- package/dist/components/components/components-index.js.map +1 -1
- package/dist/components/components/field-inspector.js +5 -2
- package/dist/components/components/field-inspector.js.map +1 -1
- package/dist/components/components/registry-browser.d.ts +6 -5
- package/dist/components/components/registry-browser.js +11 -37
- package/dist/components/components/registry-browser.js.map +1 -1
- package/dist/components/components/taxonomy.d.ts +14 -21
- package/dist/components/components/taxonomy.js +5 -29
- package/dist/components/components/taxonomy.js.map +1 -1
- package/dist/components/components/transfer-dialog.js +1 -0
- package/dist/components/components/transfer-dialog.js.map +1 -1
- package/dist/components/components/transfer.d.ts +20 -12
- package/dist/components/components/transfer.js +27 -21
- package/dist/components/components/transfer.js.map +1 -1
- package/dist/components/delivery-health-banner.d.ts +3 -2
- package/dist/components/delivery-health-banner.js +3 -2
- package/dist/components/delivery-health-banner.js.map +1 -1
- package/dist/components/redirects/redirects-collection-view-source.js +3 -2
- package/dist/components/redirects/redirects-collection-view-source.js.map +1 -1
- package/dist/components/users/users-collection-view-source.js +2 -1
- package/dist/components/users/users-collection-view-source.js.map +1 -1
- package/dist/lib/ai/apply-content.js +32 -28
- package/dist/lib/ai/apply-content.js.map +1 -1
- package/dist/lib/ai/constraints.d.ts +16 -14
- package/dist/lib/ai/constraints.js +64 -48
- package/dist/lib/ai/constraints.js.map +1 -1
- package/dist/lib/ai/translate-document.js +11 -7
- package/dist/lib/ai/translate-document.js.map +1 -1
- package/dist/lib/ai/types.d.ts +9 -5
- package/dist/lib/ai/types.js.map +1 -1
- package/dist/lib/ai/update-fields.js +15 -32
- package/dist/lib/ai/update-fields.js.map +1 -1
- package/dist/lib/ai/vite.d.ts +22 -2
- package/dist/lib/ai/vite.js +12 -3
- package/dist/lib/ai/vite.js.map +1 -1
- package/dist/lib/assets/asset-placements.d.ts +3 -10
- package/dist/lib/assets/asset-placements.js +17 -8
- package/dist/lib/assets/asset-placements.js.map +1 -1
- package/dist/lib/clipboard/paste-target.js +3 -3
- package/dist/lib/clipboard/paste-target.js.map +1 -1
- package/dist/lib/cms/published-documents.d.ts +14 -3
- package/dist/lib/cms/published-documents.js +12 -3
- package/dist/lib/cms/published-documents.js.map +1 -1
- package/dist/lib/cms-views/view-model.d.ts +4 -4
- package/dist/lib/cms-views/view-model.js +26 -20
- package/dist/lib/cms-views/view-model.js.map +1 -1
- package/dist/lib/data/collection-content.d.ts +10 -7
- package/dist/lib/data/collection-content.js +70 -29
- package/dist/lib/data/collection-content.js.map +1 -1
- package/dist/lib/delivery/instant-publish.d.ts +0 -3
- package/dist/lib/delivery/instant-publish.js +0 -1
- package/dist/lib/delivery/instant-publish.js.map +1 -1
- package/dist/lib/dnd/drop-rules.d.ts +22 -7
- package/dist/lib/dnd/drop-rules.js +21 -14
- package/dist/lib/dnd/drop-rules.js.map +1 -1
- package/dist/lib/engine-version.d.ts +1 -1
- package/dist/lib/engine-version.js +1 -1
- package/dist/lib/engine-version.js.map +1 -1
- package/dist/lib/i18n/messages.de.js +25 -9
- package/dist/lib/i18n/messages.de.js.map +1 -1
- package/dist/lib/i18n/messages.en.d.ts +21 -7
- package/dist/lib/i18n/messages.en.js +28 -9
- package/dist/lib/i18n/messages.en.js.map +1 -1
- package/dist/lib/locale/fallback.d.ts +5 -19
- package/dist/lib/locale/fallback.js +18 -39
- package/dist/lib/locale/fallback.js.map +1 -1
- package/dist/lib/locale/locale-store.js +2 -1
- package/dist/lib/locale/locale-store.js.map +1 -1
- package/dist/lib/operations/cms-persistence.js +7 -4
- package/dist/lib/operations/cms-persistence.js.map +1 -1
- package/dist/lib/operations/studio-operations.js +4 -6
- package/dist/lib/operations/studio-operations.js.map +1 -1
- package/dist/lib/persistence/backend-mode.d.ts +5 -25
- package/dist/lib/persistence/backend-mode.js +13 -30
- package/dist/lib/persistence/backend-mode.js.map +1 -1
- package/dist/lib/persona/labels.d.ts +4 -9
- package/dist/lib/persona/labels.js +5 -12
- package/dist/lib/persona/labels.js.map +1 -1
- package/dist/lib/references/reference-model.d.ts +17 -5
- package/dist/lib/references/reference-model.js +20 -28
- package/dist/lib/references/reference-model.js.map +1 -1
- package/dist/lib/references/references-store.js +7 -0
- package/dist/lib/references/references-store.js.map +1 -1
- package/dist/lib/registry/__fixtures__/demo-components.d.ts +32 -0
- package/dist/lib/registry/{project-components.js → __fixtures__/demo-components.js} +18 -5
- package/dist/lib/registry/__fixtures__/demo-components.js.map +1 -0
- package/dist/lib/registry/index.d.ts +9 -13
- package/dist/lib/registry/index.js +34 -61
- package/dist/lib/registry/index.js.map +1 -1
- package/dist/lib/registry/preview.d.ts +22 -7
- package/dist/lib/registry/preview.js +26 -89
- package/dist/lib/registry/preview.js.map +1 -1
- package/dist/lib/workspace/index.d.ts +0 -7
- package/dist/lib/workspace/index.js +0 -9
- package/dist/lib/workspace/index.js.map +1 -1
- package/dist/previews/enumerate.d.ts +23 -27
- package/dist/previews/enumerate.js +27 -48
- package/dist/previews/enumerate.js.map +1 -1
- package/dist/previews/harness.js +1 -1
- package/dist/previews/harness.js.map +1 -1
- package/package.json +4 -7
- package/dist/lib/registry/project-components.d.ts +0 -16
- package/dist/lib/registry/project-components.js.map +0 -1
- package/dist/lib/webhooks/config.d.ts +0 -15
- package/dist/lib/webhooks/config.js +0 -65
- package/dist/lib/webhooks/config.js.map +0 -1
- package/dist/lib/webhooks/dispatcher.d.ts +0 -70
- package/dist/lib/webhooks/dispatcher.js +0 -61
- package/dist/lib/webhooks/dispatcher.js.map +0 -1
- package/dist/lib/webhooks/index.d.ts +0 -11
- package/dist/lib/webhooks/index.js +0 -10
- package/dist/lib/webhooks/index.js.map +0 -1
- package/dist/lib/webhooks/signing.d.ts +0 -15
- package/dist/lib/webhooks/signing.js +0 -24
- package/dist/lib/webhooks/signing.js.map +0 -1
- package/dist/lib/webhooks/tags.d.ts +0 -25
- package/dist/lib/webhooks/tags.js +0 -289
- package/dist/lib/webhooks/tags.js.map +0 -1
|
@@ -425,8 +425,6 @@ declare const MESSAGES: {
|
|
|
425
425
|
'cms.issueMessage.fieldReason': import("./types.js").SourceMessage;
|
|
426
426
|
'cms.issueMessage.fieldHiddenPredicateThrew': import("./types.js").SourceMessage;
|
|
427
427
|
'cms.issueMessage.groupHiddenPredicateThrew': import("./types.js").SourceMessage;
|
|
428
|
-
'cms.issueMessage.propDetail': import("./types.js").SourceMessage;
|
|
429
|
-
'cms.issueMessage.propReason': import("./types.js").SourceMessage;
|
|
430
428
|
'cms.issueMessage.relationUnknownTargetCollection': import("./types.js").SourceMessage;
|
|
431
429
|
'cms.issueMessage.relationSingleValued': import("./types.js").SourceMessage;
|
|
432
430
|
'cms.issueMessage.relationNotAReference': import("./types.js").SourceMessage;
|
|
@@ -439,7 +437,6 @@ declare const MESSAGES: {
|
|
|
439
437
|
'cms.issueMessage.assetUnknown': import("./types.js").SourceMessage;
|
|
440
438
|
'cms.issueMessage.assetNotAccepted': import("./types.js").SourceMessage;
|
|
441
439
|
'cms.issueMessage.requiredFieldMissing': import("./types.js").SourceMessage;
|
|
442
|
-
'cms.issueMessage.requiredPropMissing': import("./types.js").SourceMessage;
|
|
443
440
|
'cms.issueMessage.perLocaleMapValue': import("./types.js").SourceMessage;
|
|
444
441
|
'cms.issueMessage.richTextHoldsArray': import("./types.js").SourceMessage;
|
|
445
442
|
'cms.issueMessage.richTextHoldsBareDoc': import("./types.js").SourceMessage;
|
|
@@ -504,10 +501,6 @@ declare const MESSAGES: {
|
|
|
504
501
|
'cms.issueDetail.moreThanMaxItems': import("./types.js").SourceMessage;
|
|
505
502
|
'cms.issueDetail.duplicateValue': import("./types.js").SourceMessage;
|
|
506
503
|
'cms.issueDetail.duplicateValueForLocale': import("./types.js").SourceMessage;
|
|
507
|
-
'cms.issueDetail.singleValuedManyTargets': import("./types.js").SourceMessage;
|
|
508
|
-
'cms.issueDetail.notADocumentReference': import("./types.js").SourceMessage;
|
|
509
|
-
'cms.issueDetail.pointsAtOtherCollection': import("./types.js").SourceMessage;
|
|
510
|
-
'cms.issueDetail.expectsAssetIdString': import("./types.js").SourceMessage;
|
|
511
504
|
'cms.issueDetail.shadowedRootDocuments': import("./types.js").SourceMessage;
|
|
512
505
|
'cms.issueDetail.shadowedNestedDocuments': import("./types.js").SourceMessage;
|
|
513
506
|
'cms.issueDetail.claimedBySlug': import("./types.js").SourceMessage;
|
|
@@ -1072,6 +1065,27 @@ declare const MESSAGES: {
|
|
|
1072
1065
|
'ai.update.proposalTitle': import("./types.js").SourceMessage;
|
|
1073
1066
|
'ai.update.diffBefore': import("./types.js").SourceMessage;
|
|
1074
1067
|
'ai.update.diffAfter': import("./types.js").SourceMessage;
|
|
1068
|
+
'builder.roles.noStack': import("./types.js").SourceMessage;
|
|
1069
|
+
'builder.roles.noGrid': import("./types.js").SourceMessage;
|
|
1070
|
+
'builder.roles.noText': import("./types.js").SourceMessage;
|
|
1071
|
+
'builder.inspector.unset': import("./types.js").SourceMessage;
|
|
1072
|
+
'builder.inspector.unsetWithHint': import("./types.js").SourceMessage;
|
|
1073
|
+
'cms.issueMessage.nonCanonicalValue': import("./types.js").SourceMessage;
|
|
1074
|
+
'cms.issueMessage.assetHoldsUrl': import("./types.js").SourceMessage;
|
|
1075
|
+
'cms.issueMessage.blocksNotTopLevel': import("./types.js").SourceMessage;
|
|
1076
|
+
'cms.issueMessage.uniqueNotTopLevel': import("./types.js").SourceMessage;
|
|
1077
|
+
'cms.issueMessage.localizedOnProp': import("./types.js").SourceMessage;
|
|
1078
|
+
'cms.issueMessage.localizedOnSubField': import("./types.js").SourceMessage;
|
|
1079
|
+
'cms.issueMessage.ruleNotApplicable': import("./types.js").SourceMessage;
|
|
1080
|
+
'cms.issueMessage.ruleNotApplicableUnlessMultiple': import("./types.js").SourceMessage;
|
|
1081
|
+
'cms.issueMessage.boundNotAnInstant': import("./types.js").SourceMessage;
|
|
1082
|
+
'cms.issueMessage.boundNotANumber': import("./types.js").SourceMessage;
|
|
1083
|
+
'cms.issueMessage.invalidPattern': import("./types.js").SourceMessage;
|
|
1084
|
+
'cms.issueMessage.defaultNotOfType': import("./types.js").SourceMessage;
|
|
1085
|
+
'cms.issueDetail.fewerPlainTextCharacters': import("./types.js").SourceMessage;
|
|
1086
|
+
'cms.issueDetail.morePlainTextCharacters': import("./types.js").SourceMessage;
|
|
1087
|
+
'content.queryError.operatorNotForType': import("./types.js").SourceMessage;
|
|
1088
|
+
'content.queryError.operandType': import("./types.js").SourceMessage;
|
|
1075
1089
|
};
|
|
1076
1090
|
/**
|
|
1077
1091
|
* The engine's built-in English source catalog (see the module docblock). Typed as
|
|
@@ -554,8 +554,6 @@ const MESSAGES = {
|
|
|
554
554
|
// prose, kept verbatim (like a `validate` message inside cms.issueMessage.fieldReason).
|
|
555
555
|
'cms.issueMessage.fieldHiddenPredicateThrew': msg('The visibility rule of field "{field}" threw an error ("{reason}"), so the field is shown and validated. Fix the rule in the project config.', 'A developer-authored show/hide rule crashed. {field} is a field id, {reason} the error text the rule threw (untranslated).'),
|
|
556
556
|
'cms.issueMessage.groupHiddenPredicateThrew': msg('The visibility rule of group "{group}" threw an error ("{reason}"), so its fields are shown and validated. Fix the rule in the project config.', 'A developer-authored show/hide rule of a form section crashed. {group} is the section id, {reason} the error text the rule threw (untranslated).'),
|
|
557
|
-
'cms.issueMessage.propDetail': msg('Prop "{field}" {detail}.'),
|
|
558
|
-
'cms.issueMessage.propReason': msg('Prop "{field}": {reason}'),
|
|
559
557
|
'cms.issueMessage.relationUnknownTargetCollection': msg('Relation field "{field}" targets unknown collection "{target}".'),
|
|
560
558
|
'cms.issueMessage.relationSingleValued': msg('Relation field "{field}" is single-valued but has {count} targets.'),
|
|
561
559
|
'cms.issueMessage.relationNotAReference': msg('Relation field "{field}" holds a value that is not a document reference.'),
|
|
@@ -568,7 +566,6 @@ const MESSAGES = {
|
|
|
568
566
|
'cms.issueMessage.assetUnknown': msg('Asset field "{field}" references unknown asset "{asset}".'),
|
|
569
567
|
'cms.issueMessage.assetNotAccepted': msg('Asset field "{field}" accepts only {accept}, but asset "{asset}" is {type}.'),
|
|
570
568
|
'cms.issueMessage.requiredFieldMissing': msg('Required field "{field}" is missing.'),
|
|
571
|
-
'cms.issueMessage.requiredPropMissing': msg('Required prop "{field}" is missing.'),
|
|
572
569
|
'cms.issueMessage.perLocaleMapValue': msg('Field "{field}" expects a "{type}" value but holds a per-locale map (keys: {keys}) — per-locale values live under the document\'s "localized" bag, never inside a field value.'),
|
|
573
570
|
'cms.issueMessage.richTextHoldsArray': msg('Rich-text field "{field}" expects a rich-text value ("{ version: 2, content }") but holds an array.'),
|
|
574
571
|
'cms.issueMessage.richTextHoldsBareDoc': msg('Rich-text field "{field}" expects a rich-text value ("{ version: 2, content }") but holds a bare rich-text document missing its "{ version: 2, content }" envelope.'),
|
|
@@ -633,10 +630,6 @@ const MESSAGES = {
|
|
|
633
630
|
'cms.issueDetail.moreThanMaxItems': msg('has more than {max} items'),
|
|
634
631
|
'cms.issueDetail.duplicateValue': msg('must be unique across the collection, but document "{other}" already has this value'),
|
|
635
632
|
'cms.issueDetail.duplicateValueForLocale': msg('must be unique across the collection, but document "{other}" already has this value for locale "{locale}"'),
|
|
636
|
-
'cms.issueDetail.singleValuedManyTargets': msg('is single-valued but has {count} targets'),
|
|
637
|
-
'cms.issueDetail.notADocumentReference': msg('holds a value that is not a document reference'),
|
|
638
|
-
'cms.issueDetail.pointsAtOtherCollection': msg('points at collection "{got}" but targets "{target}"'),
|
|
639
|
-
'cms.issueDetail.expectsAssetIdString': msg('expects an asset id string'),
|
|
640
633
|
'cms.issueDetail.shadowedRootDocuments': msg('the ROOT documents of "{collection}" under "{space}"'),
|
|
641
634
|
'cms.issueDetail.shadowedNestedDocuments': msg('"{collection}" documents nested {levels} levels under "{space}"'),
|
|
642
635
|
'cms.issueDetail.claimedBySlug': msg('a "{collection}" slug'),
|
|
@@ -982,7 +975,7 @@ const MESSAGES = {
|
|
|
982
975
|
'components.index.guide.doc.authoring': msg('How to declare and register a component so the studio can browse, inspect, and preview it.'),
|
|
983
976
|
'components.index.guide.doc.fixtures': msg('Authoring deterministic preview fixtures — the states shown in this view’s live preview.'),
|
|
984
977
|
'components.index.guide.doc.extensibility': msg('Extending the platform: custom field types, data sources, export targets, and plugins.'),
|
|
985
|
-
'components.index.guide.namespaceNote': msg('
|
|
978
|
+
'components.index.guide.namespaceNote': msg('Components are the list in your config, with ids you choose (Heading, site.Hero). Elytra’s own components are the opt-in @elytracms/components package — list them, a subset, or none.'),
|
|
986
979
|
'components.taxonomy.uncategorized': msg('Uncategorized'),
|
|
987
980
|
'components.detail.tab.preview': msg('Preview'),
|
|
988
981
|
'components.detail.tab.manifest': msg('Manifest'),
|
|
@@ -1112,7 +1105,7 @@ const MESSAGES = {
|
|
|
1112
1105
|
'builder.inspector.slots': msg('Slots'),
|
|
1113
1106
|
'builder.inspector.slotsHint': msg('Add or reorder slot children from the page tree.'),
|
|
1114
1107
|
'builder.inspector.propertiesPane': msg('Properties'),
|
|
1115
|
-
'builder.inspector.invalidValue': msg('Value doesn’t match the prop schema — the
|
|
1108
|
+
'builder.inspector.invalidValue': msg('Value doesn’t match the prop schema — the component renders its own default until it is fixed.'),
|
|
1116
1109
|
'builder.inspector.invalidJson': msg('Invalid JSON'),
|
|
1117
1110
|
'builder.layout.title': msg('Layout'),
|
|
1118
1111
|
'builder.layout.direction': msg('Direction'),
|
|
@@ -1304,6 +1297,32 @@ const MESSAGES = {
|
|
|
1304
1297
|
'ai.update.proposalTitle': msg('Changes to {collection}'),
|
|
1305
1298
|
'ai.update.diffBefore': msg('Current'),
|
|
1306
1299
|
'ai.update.diffAfter': msg('Proposed'),
|
|
1300
|
+
// EC-591 — canvas notices for roles nobody in the project's component list fills.
|
|
1301
|
+
// A role names what the canvas needs from the list; a missing one switches its
|
|
1302
|
+
// gesture off, and these say so instead of leaving a dead affordance.
|
|
1303
|
+
'builder.roles.noStack': msg('This canvas needs a component that fills the "layout.stack" role — the field’s blocks are laid out inside it — and this project’s components have none. List one in your config’s components (for example Stack from @elytracms/components).', '"layout.stack" is a role identifier from the component manifest — keep it verbatim.'),
|
|
1304
|
+
'builder.roles.noGrid': msg('No component fills the "layout.grid" role, so dropping a block beside another (side-by-side columns) is off.', '"layout.grid" is a role identifier from the component manifest — keep it verbatim.'),
|
|
1305
|
+
'builder.roles.noText': msg('No component fills the "text" role, so the seeded layout presets (Stack, Grid) are off.', '"text" is a role identifier from the component manifest — keep it verbatim.'),
|
|
1306
|
+
// EC-591 / ratified 2f — an absent prop shows empty; the manifest default is a hint.
|
|
1307
|
+
'builder.inspector.unset': msg('Not set', 'An inspector prop with no value — the component uses its own default.'),
|
|
1308
|
+
'builder.inspector.unsetWithHint': msg('Not set (default: {hint})', '{hint} is the manifest default shown as a suggestion, e.g. "vertical" or "2".'),
|
|
1309
|
+
// EC-586 / EC-581 (wave-0092, zone A) — canonical values and the per-FieldType definition
|
|
1310
|
+
'cms.issueMessage.nonCanonicalValue': msg('Field "{field}" is stored in a non-canonical form for a "{type}" field — it was written past the write path that stores one form per field type. It still reads correctly; saving the document again stores the canonical form.'),
|
|
1311
|
+
'cms.issueMessage.assetHoldsUrl': msg('Asset field "{field}" holds a URL — an asset value is a library asset, never a URL. Upload the image to the library and pick it, or give a component a literal src for an external image.'),
|
|
1312
|
+
'cms.issueMessage.blocksNotTopLevel': msg('Field "{field}" is a "blocks" field inside an object — a blocks field is top-level only (a canvas inside a repeater breaks the form, the validator positions and the delivery type). Declare another top-level blocks field, or give a component a blocks prop (a slot).'),
|
|
1313
|
+
'cms.issueMessage.uniqueNotTopLevel': msg('Sub-field "{field}" declares "unique" — uniqueness is judged across a collection\'s documents, so it applies to top-level fields only.'),
|
|
1314
|
+
'cms.issueMessage.localizedOnProp': msg('Component prop "{field}" declares "localized" — a localized value is stored per locale under the document, so only a top-level document field can be localized (localize the field that holds the composition).'),
|
|
1315
|
+
'cms.issueMessage.localizedOnSubField': msg('Sub-field "{field}" declares "localized" — a localized value is stored per locale under the document, so only a top-level field can be localized (localize the field that holds it).'),
|
|
1316
|
+
'cms.issueMessage.ruleNotApplicable': msg('Field "{field}" declares "{rule}", which a "{type}" field cannot keep.'),
|
|
1317
|
+
'cms.issueMessage.ruleNotApplicableUnlessMultiple': msg('Field "{field}" declares "{rule}", which a single "{type}" field cannot keep — on a "multiple" field it counts items.'),
|
|
1318
|
+
'cms.issueMessage.boundNotAnInstant': msg('Field "{field}" declares {rule} {declared} on a date field, which is not a date — use an ISO 8601 string such as "1900-01-01".'),
|
|
1319
|
+
'cms.issueMessage.boundNotANumber': msg('Field "{field}" declares {rule} {declared} as a string — the bounds of a "{type}" field are numbers (only a date field takes an ISO date as a bound).'),
|
|
1320
|
+
'cms.issueMessage.invalidPattern': msg('Field "{field}" declares the pattern "{pattern}", which is not a valid regular expression.'),
|
|
1321
|
+
'cms.issueMessage.defaultNotOfType': msg('Field "{field}" declares a default of {value}, which is not a "{type}" value.'),
|
|
1322
|
+
'cms.issueDetail.fewerPlainTextCharacters': msg('has fewer than {min} plain-text characters'),
|
|
1323
|
+
'cms.issueDetail.morePlainTextCharacters': msg('has more than {max} plain-text characters'),
|
|
1324
|
+
'content.queryError.operatorNotForType': msg('Operator "{operator}" does not apply to "{field}", a "{type}" field.'),
|
|
1325
|
+
'content.queryError.operandType': msg('Operator "{operator}" on "{field}" got {value}, which is not a {operand} — "{field}" is a "{type}" field.'),
|
|
1307
1326
|
};
|
|
1308
1327
|
/**
|
|
1309
1328
|
* The engine's built-in English source catalog (see the module docblock). Typed as
|