diff --git a/src/uix/morfo/README.md b/src/uix/morfo/README.md index 5b8ba4c47..d3840df33 100644 --- a/src/uix/morfo/README.md +++ b/src/uix/morfo/README.md @@ -380,7 +380,7 @@ The `as const satisfies Morfo` pattern is **mandatory**, not cosmetic. It does t - **`as const`** preserves the literal types (`kebab: 'dialog'`, not `string`). This is what lets `createAttrs(dialogMorfo)` return `{ provider: 'data-dialog'; trigger: 'data-dialog-trigger'; ... }` with autocomplete and typo detection in every provider that consumes the morfo. - **`satisfies Morfo`** validates that the object conforms to the `Morfo` interface without widening it. If a field is missing or mistyped, TypeScript reports it at the declaration — same safety as `: Morfo =` annotation, without the type widening. -A morfo annotated `: Morfo =` still works at runtime but yields `createAttrs(...): Record` — no autocomplete, `attrs.trigerr` compiles. All 66 morfos in the codebase use `as const satisfies Morfo`; new morfos must do the same. +A morfo annotated `: Morfo =` still works at runtime but yields `createAttrs(...): Record` — no autocomplete, `attrs.trigerr` compiles. Every morfo in the codebase use `as const satisfies Morfo`; new morfos must do the same. --- @@ -857,7 +857,7 @@ attrs.trigerr; // compile error — no such part attrs.trigger; // typed as 'data-dialog-trigger' ``` -All 66 morfos in the codebase use the `as const satisfies Morfo` form. This is mandatory, not stylistic. +Every morfo in the codebase use the `as const satisfies Morfo` form. This is mandatory, not stylistic. **Duplicate kebab in the tree.** `item` in one part and `item` in another = error. Rename one. diff --git a/src/uix/soma/components/color-field/README.md b/src/uix/soma/components/color-field/README.md index 8620a67b4..fddbbe67d 100644 --- a/src/uix/soma/components/color-field/README.md +++ b/src/uix/soma/components/color-field/README.md @@ -167,7 +167,7 @@ No mainstream headless library packs all channels into a single segmented field ```svelte diff --git a/src/uix/soma/components/time-range-field/README.md b/src/uix/soma/components/time-range-field/README.md index 86fdac688..97aeae992 100644 --- a/src/uix/soma/components/time-range-field/README.md +++ b/src/uix/soma/components/time-range-field/README.md @@ -128,8 +128,8 @@ Most headless libraries expose a `DateRangeField` but not a dedicated **time** r ```svelte diff --git a/src/uix/soma/components/time-range-picker/README.md b/src/uix/soma/components/time-range-picker/README.md index 917323108..ab5fe2c4e 100644 --- a/src/uix/soma/components/time-range-picker/README.md +++ b/src/uix/soma/components/time-range-picker/README.md @@ -162,8 +162,8 @@ No mainstream library ships a dedicated time-range picker — they collapse it i ```svelte