@expofp/ui
v3.23.2
Published
ExpoFP SDK internal: shared pure React UI components
Maintainers
Keywords
Readme
@expofp/ui
Shared pure, presentational React components for the ExpoFP SDK. Bundled with the packages that depend on it — no separate install.
Scope rule: props-in, markup-out components only — no domain logic, no MobX stores, no data fetching, no side effects. Nothing here may know about floor plans, booths, exhibitors, or events, or import from a domain package. Components receive everything they render via props; stateful wiring (Containers) lives in the consuming package. The test: could it ship in a general-purpose React component library unchanged? If not, it belongs next to the domain that owns it.
Styling
Components import their own .scss, which expects the SDK's shared SCSS layer (design tokens,
mixins, icon glyphs) via the @styles alias. The published package ships JS only — no compiled
CSS and no .scss sources. It is therefore consumed from source by @expofp/floorplan's bundler
(the @expofp/source export condition), which compiles the SCSS into its own output. @expofp/ui is
an internal building block and is not intended to be styled standalone from its published dist.
src/styles (the primitives _vars, _utils, main, _icons) and public/fonts are the canonical
home of this layer — @expofp/floorplan points its own @styles alias here instead of keeping a
copy. If a third consumer ever needs it, split it into a dedicated @expofp/styles package; until
then, one extra alias hop is simpler than a package with a single dependent.
- Build:
nx build ui - Test (unit):
nx test ui - Test (stories, browser):
nx test-storybook ui - Storybook (dev):
nx storybook ui - Storybook (build):
nx build-storybook ui - Lint:
nx lint ui
