@contractspec/example.learning-journey-ui-shared
v4.0.13
Published
Shared UI components and hooks for learning journey mini-apps.
Readme
@contractspec/example.learning-journey-ui-shared
Website: https://contractspec.io
Shared UI components and hooks for learning journey mini-apps.
What This Demonstrates
- Reusable gamification components (XpBar, StreakCounter, BadgeDisplay, ViewTabs).
- Custom hook pattern (
useLearningProgress) for shared state. - Shared types for cross-mini-app consistency.
src/docs/contains docblocks and documentation-facing exports.src/docs/contains docblocks and documentation-facing exports.
Running Locally
From packages/examples/learning-journey-ui-shared:
bun run devbun run buildbun run testbun run typecheck
Usage
Use @contractspec/example.learning-journey-ui-shared as a reference implementation, or import its exported surfaces into a workspace that composes ContractSpec examples and bundles.
Architecture
src/components/contains reusable UI components and view composition.src/docs/contains docblocks and documentation-facing exports.src/example.tsis the runnable example entrypoint.src/hooks/contains custom hooks for host applications.src/index.tsis the root public barrel and package entrypoint.src/learning-journey-ui-shared.feature.tsdefines a feature entrypoint.src/types.tsis shared public type definitions.
Public Entry Points
- Export
.resolves through./src/index.ts. - Export
./componentsresolves through./src/components/index.ts. - Export
./components/BadgeDisplayresolves through./src/components/BadgeDisplay.tsx. - Export
./components/StreakCounterresolves through./src/components/StreakCounter.tsx. - Export
./components/ViewTabsresolves through./src/components/ViewTabs.tsx. - Export
./components/XpBarresolves through./src/components/XpBar.tsx. - Export
./docsresolves through./src/docs/index.ts. - Export
./docs/learning-journey-ui-shared.docblockresolves through./src/docs/learning-journey-ui-shared.docblock.ts. - Export
./exampleresolves through./src/example.ts. - Export
./hooksresolves through./src/hooks/index.ts. - The package publishes 13 total export subpaths; keep docs aligned with
package.json.
Local Commands
bun run dev— contractspec-bun-build devbun run build— bun run prebuild && bun run build:bundle && bun run build:typesbun run test— bun test --pass-with-no-testsbun run lint— bun lint:fixbun run lint:check— biome check .bun run lint:fix— biome check --write --unsafe --only=nursery/useSortedClasses . && biome check --write .bun run typecheck— tsc --noEmitbun run publish:pkg— bun publish --tolerate-republish --ignore-scripts --verbosebun run publish:pkg:canary— bun publish:pkg --tag canarybun run clean— rimraf dist .turbobun run build:bundle— contractspec-bun-build transpilebun run build:types— contractspec-bun-build typesbun run prebuild— contractspec-bun-build prebuild
Recent Updates
- Replace eslint+prettier by biomejs to optimize speed.
- Missing contract layers.
Notes
- Works alongside
@contractspec/lib.contracts-spec,@contractspec/lib.design-system,@contractspec/lib.ui-kit-web,@contractspec/module.learning-journey,@contractspec/tool.bun, ...
