astra
alpha-0.1-background
alpha-0.1-dir-prefs
alpha-0.1-sec-dom
menubar-v4-safe
active-uix
morfo-runtime
morfo-driven-soma
semantuix
glm-5
main
sium-v1.0
${ noResults }
2 Commits (98fc40bf62a364adf47bb39c6c24db816c000dce)
| Author | SHA1 | Message | Date |
|---|---|---|---|
|
|
98fc40bf62 |
batch A-3.1: add semantic events to 12 interactive morfos
A pass over every component flagged "interactive with 0 events" (audit A-3.1) plus the texts.label slot they all shared. The events follow the canonical sema families and reuse the focus-move filtering installed earlier so the audit no longer treats keyboard navigation as missing coverage. Per-component event additions: - listbox: commit-select, commit-unselect (affirm/neutral, target=item) - toggle-group: commit-toggle (intent fromProp, target=item) - grid-list: commit-select, commit-unselect (target=item) - context-menu: open, close, commit-select - dropdown-menu: open, close, commit-select - menubar: commit-select - navigation-menu: commit-select - tree-view: commit-select + shift-expand + shift-collapse - tree-grid: commit-select + shift-expand + shift-collapse - table: shift-sort + commit-select + shift-expand-row - carousel: shift-slide - feed: commit-load-more + shift-focus-item - command: commit-invoke (palette item invocation, intent fulfill) - splitter: commit-resize (handle settle, not continuous drag) - drag-drop: commit-drag-start + commit-drop + commit-cancel - color-field: commit-set - time-field: commit-set Each got a `texts.label` slot + matching catalog entry. New catalog files for context-menu / dropdown-menu / menubar / toggle-group; existing files extended for the rest. Audit: PASS 25 → 33 in one batch. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> |
5 months ago |
|
|
2b3f3e093e |
uix: rename morfo.translations → morfo.texts (idlangref discipline)
Morfo now declares text slots as absolute idlangrefs in `texts: Record<string, LangRef>`,
not literal multilingual records. Multilingual content moves out of morfo entirely
into per-component catalogs under `src/uix/langs/components/{kebab}.ts`, merged
globally by `ActiveUix` via the new `componentLangs` barrel. Morfo stays a pure
abstract surface; localization lives in its own layer.
- Type: `translations?: LangNode` → `texts?: Record<string, LangRef>` in
`src/uix/morfo/types.ts`. Doc and test fixtures updated.
- Catalog: new `src/uix/langs/` directory with `common.ts` (was `langs.ts`),
`components/` (one file per migrated morfo, plus a barrel), and an aggregate
`uixLangs`. `ActiveUix` registers both namespaces at boot.
- Registry: `registerMorfo` no longer carries a translations fingerprint and
no longer extends `ActiveLangs` dynamically. `connectMorfoTranslations` and
`MorfoTranslationTarget` deleted from the public morfo barrel.
- Validation: schema.ts drops the relative-translationRef-in-morfo.translations
check; catalog presence is enforced by the new `scripts/translations-check.ts`
(wired as `npm run translations:check`).
- Audit: `scripts/component-audit.ts` rule A-1.3 now validates `texts.label`
idlangref shape (`#?components.{kebab}.label|Fallback`) and explicitly errors
on any surviving legacy `translations:` field.
- Migration: `scripts/migrate-translations-to-texts.ts` is the one-off Node
script that produced the 42 morfo rewrites and 42 catalog files.
- Tests: `morfo/registry.test.ts` rewritten around the simpler contract;
`active-uix.svelte.test.ts` reflects boot-time catalog availability instead
of lazy per-morfo extension.
Verification: `npm run check` (0 errors), `npm run translations:check`
(0/0), `npm run morfo:check` (36/36 routed). The 4 pre-existing failures
in `test` are unrelated (date-picker types, css regen, range-calendar
clear, color contract).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
5 months ago |