Concepts Overview
SheetXL follows the design principal that state is implemented using headless Typescript models and Components are implemented as React Components. This allows for many views against the same models and allows for different UIs (or no UI) when using the models.
The components and models interact through a set of hooks that wrap the model callback listeners.
Persistence is similar in that models can save and load JSON but all reading/writing to specific locations is handled through listeners.