cedar-embeddable-editor 2.0.27 → 2.0.29

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/CHANGELOG.md CHANGED
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.29] - 2026-10-26
9
+
10
+ Aligns with `cedar-model-typescript-library@1.0.24`.
11
+
12
+ - Allows Save exactly when the CEDAR server would store the instance, judging it against the stored template as the export writes it, and keeps an instance's `@type` through a save.
13
+
14
+ ## [2.0.28] - 2026-10-21
15
+
16
+ Aligns with `cedar-model-typescript-library@1.0.23`.
17
+
18
+ - Gives assistive technology the correct language for control names, dropdown panels, description tooltips, repeated-entry announcements, default values, quoted stored values and units of measure in multilingual forms.
19
+
8
20
  ## [2.0.27] - 2026-10-20
9
21
 
10
22
  Aligns with `cedar-model-typescript-library@1.0.22`.
package/README.md CHANGED
@@ -117,7 +117,14 @@ service URLs are needed only for controlled-term and external-authority lookups.
117
117
 
118
118
  Read the record back from `currentMetadata` as CEDAR JSON-LD, or from
119
119
  `currentMetadataYaml` as YAML. The CEE neither submits nor stores it. The host
120
- decides when and where a record is saved.
120
+ decides when and where a record is saved. `currentMetadataYaml` is the empty
121
+ string when no YAML can be written: while the instance input is rejected, or
122
+ while the instance names no template or has no name, as one from an unsaved
123
+ template does. `currentMetadata` is likewise the empty object while the instance
124
+ input is rejected or the instance names no template. The form from an unsaved
125
+ template is shown all the same, so a host that reads an empty `currentMetadata`
126
+ as a refusal assigns only a template that has an identifier. For an instance
127
+ that names no template, `captureDraft()` and `captureSave()` return `null`.
121
128
 
122
129
  For recovery across reloads, `captureDraft()` returns a JSON-serializable recovery document
123
130
  containing the template, accepted metadata and unfinished field input. This is **not** a
@@ -317,7 +324,7 @@ npm run build:production
317
324
  npm run test:visual:prebuilt
318
325
  ```
319
326
 
320
- Use Node 24.22.0, which `.nvmrc`, `package.json` and CI all specify. The build and
327
+ Use Node 24.22.1, which `.nvmrc`, `package.json` and CI all specify. The build and
321
328
  tests use that same version, so the distribution is produced by the toolchain
322
329
  that exercises it.
323
330
 
@@ -401,7 +408,7 @@ The visual suite installs nothing here. It runs inside Playwright's own containe
401
408
  which carries the browsers it drives, and installs its dependencies there against a
402
409
  named volume — so it needs Docker running and no `playwright install` of its own.
403
410
 
404
- The CEE uses Angular 22.2 and Node 24.22.0. `.nvmrc`, the package `engines` field and
411
+ The CEE uses Angular 22.2 and Node 24.22.1. `.nvmrc`, the package `engines` field and
405
412
  CI specify the Node version.
406
413
 
407
414
  The application bundle and the visual fixture generator each install the model
@@ -4,6 +4,6 @@
4
4
  "main.js",
5
5
  "polyfills.js"
6
6
  ],
7
- "bytes": 2314825,
8
- "sha256": "6593e9b7ea1f317b5bbd939e39b79ea3ee17be9e2a14c2221aa21b2503560c8d"
7
+ "bytes": 2355685,
8
+ "sha256": "7fc9a98446692f4ed154ba514ccf5d76a91fbd0ac2d1620300df216ea1dbde84"
9
9
  }
@@ -4,6 +4,6 @@
4
4
  "main.js",
5
5
  "polyfills.js"
6
6
  ],
7
- "bytes": 2437131,
8
- "sha256": "cf575e5833c65a26ce547cdabb063a22a8bbef2490dd5d449348fd26cd3d1e9b"
7
+ "bytes": 2477991,
8
+ "sha256": "ff95b623a32bb05593f6297063a4ea3f0957bdd1450db3a4f091b5ff90cff0f8"
9
9
  }
@@ -429,15 +429,29 @@ export interface CedarEmbeddableEditorElement extends HTMLElement {
429
429
  * after the assignment as a refusal. An instance assigned on its own is held while it waits for a
430
430
  * template, so a template refused after it leaves this holding the instance. The refusal's reason
431
431
  * goes to the event handler's `error`.
432
+ *
433
+ * It is also an empty object while the instance names no template, as one from an unsaved template
434
+ * does, since no JSON can be written for it. The form is shown all the same, so a host that reads an
435
+ * empty object as a refusal assigns only a template that has an identifier.
432
436
  */
433
437
  readonly currentMetadata: CeeJsonObject;
434
- /** Capture immediately before saving. Null while no readable form is loaded. */
438
+ /**
439
+ * Capture immediately before saving. Null while no readable form is loaded, and while the instance
440
+ * names no template, as one from an unsaved template does, since no repository stores it.
441
+ */
435
442
  readonly captureSave: () => CeeSaveSnapshot | null;
436
- /** Captures accepted values and unfinished input, independently of validity. */
443
+ /**
444
+ * Captures accepted values and unfinished input, independently of validity. Null while no readable
445
+ * form is loaded, and while the instance names no template, since no metadata can be written for it.
446
+ */
437
447
  readonly captureDraft: () => CeeRecoveryDraft | null;
438
448
  /** Restore into a fresh element; rejects incompatible or malformed data atomically. */
439
449
  readonly restoreDraft: (draft: CeeRecoveryDraft) => boolean;
440
- /** The instance as CEDAR YAML. Read-only. */
450
+ /**
451
+ * The instance as CEDAR YAML. Read-only. The empty string when no YAML can be written: while the
452
+ * instance input is rejected, or while the instance names no template or has no name, as one from
453
+ * an unsaved template does.
454
+ */
441
455
  readonly currentMetadataYaml: string;
442
456
  /** What CEE thinks of the instance. Read-only. */
443
457
  readonly dataQualityReport: CeeDataQualityReport;