Skip to content

refactor(ui): reclassify form consumers around Astryx - #1678

Merged
Astro-Han merged 34 commits into
mainfrom
refactor/1565-form-controls-astryx
Jul 31, 2026
Merged

refactor(ui): reclassify form consumers around Astryx#1678
Astro-Han merged 34 commits into
mainfrom
refactor/1565-form-controls-astryx

Conversation

@Astro-Han

@Astro-Han Astro-Han commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Reclassify every Slice 4 consumer against Astryx’s published form taxonomy instead of preserving Maka’s retired generic API, DOM, or control chrome.
  • Compose ordinary fields directly from Astryx Field, TextInput, TextArea, NumberInput, InputGroup, CheckboxInput, RadioList, SelectableCard, and Switch; redesign theme selection, custom question answers, password fields, and MCP editing around those semantics.
  • Keep only product responsibilities in Maka: layout, validation, normalization, IPC/persistence, and the few specialized native inputs whose direct element control is an irreducible product invariant.
  • Delete the replaced field/focus/disabled CSS authority and update tests to assert user outcomes, accessibility, and product-owned layout rather than retired implementation details.

Refs #1565

Verification

  • npm test --workspace @maka/ui — 282 passed
  • npm test --workspace @maka/desktop — 2961 passed
  • npm run e2e --workspace @maka/desktop -- --workers=1 — 87 passed
  • npm run lint
  • npm run format:check
  • npm run typecheck
  • npm run check:visual-contract -- --against main --scopes scripts/visual-contract-scopes/pr4-form-controls.json — 20 comparisons clean
  • npm run check:hit-test — 5 routes clean
  • npm run build-storybook --workspace @maka/desktop
  • npm run smoke:storybook --workspace @maka/desktop — 26 render/play checks passed

Review focus

The published Astryx API is the fixed boundary. This PR deliberately changes old DOM, focus choreography, and visual treatments when they do not map cleanly to Astryx, while preserving product outcomes and accessibility.

The composer textarea, autocomplete inputs, and inline rename inputs remain native because their owning product/library seams require direct element control. They are product-specific controls, not a parallel generic form system.

@Astro-Han Astro-Han changed the title refactor(ui): move form controls to Astryx refactor(ui): reclassify form consumers around Astryx Jul 31, 2026
@Astro-Han
Astro-Han force-pushed the refactor/1565-form-controls-astryx branch 5 times, most recently from a6bcaae to 2fcf652 Compare July 31, 2026 13:33
@Astro-Han
Astro-Han force-pushed the refactor/1565-form-controls-astryx branch from 2fcf652 to 8ed44e8 Compare July 31, 2026 13:48
@Astro-Han
Astro-Han marked this pull request as ready for review July 31, 2026 13:55
@Astro-Han
Astro-Han merged commit 28bdbfb into main Jul 31, 2026
3 checks passed
@Astro-Han
Astro-Han deleted the refactor/1565-form-controls-astryx branch July 31, 2026 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant