Skip to content

Geeksltd/geeks-react-components

Repository files navigation

Geeks React Components

A themable React component library built with React, styled-components, and TypeScript. Maintained by Geeks Ltd.

Overview

This is a Lerna monorepo containing shared UI components, layout primitives, form handling, table components, and utilities used across Geeks applications.

Packages

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.)

Getting Started

Prerequisites

  • Node.js (v18+)
  • Yarn (workspaces are used)

Install

From the repo root:

yarn install

Build

Build all packages:

yarn build

Build a single package:

yarn build:core
yarn build:forms
yarn build:layout
yarn build:table
yarn build:utils

Development

Run tests:

yarn test

Run Storybook:

yarn storybook

Watch a package while developing:

yarn watch:core
yarn watch:forms
# ... etc

Linting

yarn lint
yarn lint:fix

Using the Packages

Install 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/forms

Peer dependencies (e.g. react, react-dom, styled-components) must be installed in your project.

Project Structure

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

Scripts Reference

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)

Registry

Packages are published to the Geeks npm registry:

https://node.nuget.app.geeks.ltd/

License

ISC © Geeks Ltd

Repository

Bitbucket – geeks-ltd/react.components

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors