structu-rex
Version:
Framework agnostic UI design system builder (Atomic Design, containers/UI, hooks, presenters)
62 lines (60 loc) • 1.25 kB
JavaScript
// 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
};