Reusable UI components, brand styling, and translation strings for Open Elements projects.
This package contains extracted UI components from the Open CRM frontend, designed to be shared across Open Elements projects. It ships raw .tsx source files — the consuming app compiles them as part of its own build.
- Button — Primary action button with variant and size support
- Input — Text input field
- Textarea — Multi-line text area
- InputGroup — Composite input with addons and buttons
- Combobox — Searchable dropdown with chip support (based on Base UI)
- TagMultiSelect — Multi-select tag picker with colored chips
import { Button, Input, Combobox, TagMultiSelect, cn } from "@open-elements/ui";
import type { TagDto } from "@open-elements/ui";Import brand CSS in your app's stylesheet:
@import "@open-elements/ui/src/styles/brand.css";import { de, en } from "@open-elements/ui";Every release must be published to npm and have a corresponding Git tag and GitHub Release.
./release.sh <release-version> <next-version>Example:
./release.sh 0.2.0 0.3.0The script performs the following steps:
- Sets the release version in
package.json - Builds and tests the project
- Commits, tags (
v<version>), and pushes to GitHub - Publishes the package to npm
- Creates a GitHub Release with auto-generated notes
- Sets the next development version in
package.json, commits, and pushes
- You must be logged in to npm with publish access to the
@open-elementsscope (pnpm login). - The GitHub CLI (
gh) must be installed and authenticated. - The
NPM_TOKENandGH_TOKENenvironment variables must be set (in .env file).