@lssm-tech/lib.presentation-runtime-react
Website: https://contractspec.io
React presentation runtime with workflow components.
What It Provides
- Couche: lib.
- Consumers: bundles, apps.
- Related ContractSpec packages include
@lssm-tech/lib.contracts-spec, @lssm-tech/lib.presentation-runtime-core, @lssm-tech/lib.ui-kit-web, @lssm-tech/tool.bun.
- Related ContractSpec packages include
@lssm-tech/lib.contracts-spec, @lssm-tech/lib.presentation-runtime-core, @lssm-tech/lib.ui-kit-web, @lssm-tech/tool.bun.
Installation
npm install @lssm-tech/lib.presentation-runtime-react
or
bun add @lssm-tech/lib.presentation-runtime-react
Usage
Import the root entrypoint from @lssm-tech/lib.presentation-runtime-react, or choose a documented subpath when you only need one part of the package surface.
Adaptive Data Views
useAdaptiveDataView connects ContractSpec adaptive experience state to DataView renderers. It resolves safe defaults for view mode, density, data depth, and page size, then emits neutral interaction evidence when users manually change DataView settings.
The hook is intentionally vertical-agnostic: applications provide context, policy, constraints, and optional event emitters; the hook returns renderer props and explainable state. Explicit user choices remain stronger than inferred behavior, and emitted events describe observations rather than user labels.
Architecture
src/index.ts is the root public barrel and package entrypoint.
src/nativewind-env.d.ts is part of the package's public or composition surface.
src/presentation-runtime-react.feature.ts is part of the package's public or composition surface.
src/table.state.ts is part of the package's public or composition surface.
src/table.types.ts is part of the package's public or composition surface.
src/table.utils.test.ts is part of the package's public or composition surface.
src/table.utils.ts is part of the package's public or composition surface.
src/useContractTable.models.tsx is part of the package's public or composition surface.
src/useContractTable.tsx is part of the package's public or composition surface.
src/useAdaptiveDataView.ts is part of the package's public or composition surface.
Public Entry Points
- Export
. resolves through ./src/index.ts.
- Export
./nativewind-env.d resolves through ./src/nativewind-env.d.ts.
- Export
./presentation-runtime-react.feature resolves through ./src/presentation-runtime-react.feature.ts.
- Export
./table.state resolves through ./src/table.state.ts.
- Export
./table.types resolves through ./src/table.types.ts.
- Export
./table.utils resolves through ./src/table.utils.ts.
- Export
./useContractTable resolves through ./src/useContractTable.tsx.
- Export
./useContractTable.models resolves through ./src/useContractTable.models.tsx.
- Export
./useAdaptiveDataView resolves through ./src/useAdaptiveDataView.ts.
- Export
./useDataViewTable resolves through ./src/useDataViewTable.tsx.
- Export
./useVisualizationModel resolves through ./src/useVisualizationModel.ts.
- Export
./useWorkflow resolves through ./src/useWorkflow.ts.
- Export
./WorkflowStepper resolves through ./src/WorkflowStepper.tsx.
- Export
./WorkflowStepRenderer resolves through ./src/WorkflowStepRenderer.tsx.
- The package publishes 13 export subpaths plus the root entrypoint; keep docs aligned with
package.json.
Local Commands
bun run dev — contractspec-bun-build dev
bun run build — contractspec-bun-build build
bun run lint — bun run lint:fix
bun run lint:check — biome check .
bun run lint:fix — biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .
bun run typecheck — tsgo --noEmit -p tsconfig.json
bun run publish:pkg — bun publish --tolerate-republish --ignore-scripts --verbose
bun run publish:pkg:canary — bun publish:pkg --tag canary
bun run build:bundle — contractspec-bun-build transpile
bun run build:types — contractspec-bun-build types
bun run prebuild — contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Add data visualization capabilities.
- Add table capabilities.
- Propagate DataView table overflow metadata through
useDataViewTable so renderers can truncate, wrap, expand, or initially hide columns consistently.
- Ajouter
useAdaptiveDataView for adaptive DataView defaults and neutral interaction events.
Notes
- Workflow component API is consumed by bundles — breaking changes require coordinated updates.
- Must stay compatible with presentation-runtime-core interface.
- Hook signatures (
useWorkflow) are public API; parameter changes are breaking.
Standalone declaration exports keep their existing public subpath names. The shared builder preserves their original declaration suffix and copies checked source declarations into dist, without overwriting emitted implementation types.
The canonical import migration preserves renderer signatures, refresh defaults, state handling, test assertions and public export maps. It requires the complete OrchestrationSpec workflow models, nominal WorkflowComposer runner/state family and PresentationRuntimeCore portable adaptive family to join together. The candidate has no direct compatibility-package source imports; task-bound adoption, producer, compiler and affected consumer qualification remain pending. It must not be adopted before those complete suppliers are available.