A themable React component library built with React, styled-components, and TypeScript. Maintained by Geeks Ltd.
This is a Lerna monorepo containing shared UI components, layout primitives, form handling, table components, and utilities used across Geeks applications.
| Package | Description |
|---|---|
| @geeks-react-components/core | Core UI components (Select, Pagination, HTMLEditor, Autocomplete, DateTimePicker, Charts, Wizard, etc.) |
| @geeks-react-components/forms | Form components and hooks (Form, WizardForm, useForm, form helpers) |
| @geeks-react-components/layout | Layout components (SideNav and related) |
| @geeks-react-components/table | Table components with inline editing, filtering, and sorting |
| @geeks-react-components/utils | Hooks, helpers, and small utilities (useAxios, useSWR, storage, debounce, etc.) |
- Node.js (v18+)
- Yarn (workspaces are used)
From the repo root:
yarn installBuild all packages:
yarn buildBuild a single package:
yarn build:core
yarn build:forms
yarn build:layout
yarn build:table
yarn build:utilsRun tests:
yarn testRun Storybook:
yarn storybookWatch a package while developing:
yarn watch:core
yarn watch:forms
# ... etcyarn lint
yarn lint:fixInstall only the packages you need in your app:
yarn add @geeks-react-components/core @geeks-react-components/forms
# or
npm install @geeks-react-components/core @geeks-react-components/formsPeer dependencies (e.g. react, react-dom, styled-components) must be installed in your project.
geeks-react-components/
├── packages/
│ ├── core/ # Core UI components
│ ├── forms/ # Form components & useForm
│ ├── layout/ # Layout (SideNav, etc.)
│ ├── table/ # InlineEditTable and table utilities
│ └── utils/ # Hooks, helpers, types
├── .storybook/ # Storybook config
├── rollup.config.js
├── jest.config.js
└── package.json # Root workspace config
| Script | Description |
|---|---|
yarn build |
Build all packages |
yarn test |
Run tests for all packages |
yarn lint |
Lint all packages |
yarn storybook |
Start Storybook dev server |
yarn storybook:build |
Build Storybook for deployment |
yarn clean |
Remove build artifacts and node_modules |
yarn release |
Publish packages (Lerna) |
Packages are published to the Geeks npm registry:
https://node.nuget.app.geeks.ltd/
ISC © Geeks Ltd