UNPKG

structu-rex

Version:

Framework agnostic UI design system builder (Atomic Design, containers/UI, hooks, presenters)

62 lines (60 loc) 1.25 kB
// src/config.ts function setRenderOutput() { } function getRenderOutput() { throw new Error( "getRenderOutput should never be executed \u2013 it exists purely for compile-time typing." ); } // src/core.ts var AtomicComponent = class { /** * Components receive their data through a strongly-typed, immutable `props` object. */ constructor(props) { this.props = props; } }; var UIComponent = class extends AtomicComponent { }; var Atom = class extends UIComponent { }; var Molecule = class extends UIComponent { }; var Organism = class extends UIComponent { }; var Template = class extends UIComponent { }; var Page = class extends UIComponent { }; var ContainerComponent = class extends AtomicComponent { constructor(props) { super(props); this.state = this.getInitialState(); } /** * Imperative setter for derived classes. A specific renderer/runtime can * replace this with a reactive alternative. */ setState(partial) { this.state = { ...this.state, ...partial }; } }; var Hook = class { }; var Presenter = class { }; export { Atom, AtomicComponent, ContainerComponent, Hook, Molecule, Organism, Page, Presenter, Template, UIComponent, getRenderOutput, setRenderOutput };