@cosmicdrift/kumiko-types 0.194.0 → 0.196.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 (2) hide show
  1. package/package.json +1 -1
  2. package/src/fields.ts +17 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cosmicdrift/kumiko-types",
3
- "version": "0.194.0",
3
+ "version": "0.196.0",
4
4
  "description": "Framework-Type-Definitions für Kumiko — FeatureDefinition, BootCheck-Types und die reinen Engine-Types. Erlaubt Downstream-Konsumenten, gegen die Type-Contracts zu bauen, ohne das ganze Framework-Package zu importieren. Enthaelt keine identitaets-sensitiven Runtime-Werte mehr (Error-Klassen leben seit #1629 in kumiko-framework, Brand-Symbole nutzen Symbol.for) und ist deshalb eine plain dependency, keine peerDependency.",
5
5
  "license": "BUSL-1.1",
6
6
  "author": "Marc Frost <marc@cosmicdriftgamestudio.com>",
package/src/fields.ts CHANGED
@@ -653,6 +653,23 @@ export type FieldDefinition =
653
653
  // `maxSize` and `accept`, which is what upload validation cares about.
654
654
  export type AnyFileFieldDef = FileFieldDef | ImageFieldDef | FilesFieldDef | ImagesFieldDef;
655
655
 
656
+ // Field types with no bound, editable widget on the auto-wired entityEdit
657
+ // path (render-field.tsx renders a read-only banner instead) — shared by
658
+ // the boot validator (packages/framework/src/engine/boot-validator/screens.ts)
659
+ // and the client-side required-field check (packages/renderer/src/app/form-schema.ts).
660
+ // Embedded LIST fields (`multiple: true`) are the one exception — they get
661
+ // their own EmbeddedListField grid widget (#1838) — callers must check that
662
+ // separately, this array alone doesn't distinguish plain embedded from embedded lists.
663
+ // A plain array, not a Set: kumiko-types stays free of module-scope runtime
664
+ // identity (guard-types-class-free.test.ts) since a consumer may resolve two
665
+ // copies of this package.
666
+ export const NO_WIDGET_FIELD_TYPES: readonly FieldDefinition["type"][] = [
667
+ "jsonb",
668
+ "embedded",
669
+ "files",
670
+ "images",
671
+ ];
672
+
656
673
  // --- Derived (computed) fields ---
657
674
  //
658
675
  // A derived field is read-time only: its value is computed from the stored row