@xenosystem/components
v0.38.0
Published
XENO Components — rung 2 of the front ladder: molecules composed from @xenosystem/elements, with no host contract. Families as subpaths: /auth, /navigation, /feedback, /data.
Readme
@xenosystem/components
Rung 2 of the XENO front ladder (XENO FRONT-END HIERARCHY.md): molecules composed from
@xenosystem/elements-react, props in, callbacks out, no host contract and no visual value of
its own — every colour, radius and spacing is a --xeno-* token (test/no-chrome.test.ts fails
on a hex literal).
| family | import | components | extracted from |
|---|---|---|---|
| auth | @xenosystem/components/auth | SignInForm, LicencePlate, AuthHero, AuthDoor | @xenosystem/blocks/auth (Hub's login design) |
Each family exports a STATES fixture list the harness renders, so every state is seen before a
panel uses it. Import @xenosystem/elements-react/xeno-elements.css once in the host and wrap
its surface in .xeno. Also import @xenosystem/elements-react/fonts.css for the bundled
typefaces and font variables. Elements and elements-react 0.0.4 or later are required.
/chrome — themed panel controls
Panel controls inject their structural stylesheet automatically, but use the same elements theme
as /auth. A standalone host may import @xenosystem/elements-react/xeno-theme.css instead of the
complete element stylesheet. Colors have no component-local fallback palette: load the theme
before mounting controls. PANEL_COLORS and PanelColors remain compatibility exports, owned by
@xenosystem/elements/tokens; new UI should use the semantic CSS tokens.
/auth — two halves, one design (0.2.0)
The XENO sign-in design is xeno-platform's pages/Auth.tsx (the user's pick). The family carries it
in two halves so ONE design serves both places it appears:
| half | components | mounted by | credential |
|---|---|---|---|
| the door | AuthDoor, AuthHero, SignInForm (LicencePlate), STATES (6) | products, via @xenosystem/blocks/auth | never — opens the system browser (AUTH L8) |
| the page | CredentialForm, SocialSignIn, OrDivider, CREDENTIAL_STATES (6) | the origin (xenostudio.ai/auth) | yes — CredentialForm.tsx is the only file allowed a password input, pinned by test/no-chrome.test.ts |
Improve the design here once; the origin page and every product door pick it up on the next bump.
