@boilerhaus-ui/boilerhaus-ui 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -60
- package/dist/components/Logo/Logo.d.ts +13 -0
- package/dist/components/Logo/index.d.ts +2 -0
- package/dist/components/index.d.ts +2 -0
- package/package.json +8 -2
package/README.md
CHANGED
|
@@ -1,73 +1,165 @@
|
|
|
1
|
-
#
|
|
1
|
+
# BoilerHAUS UI
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
`@boilerhaus-ui/boilerhaus-ui` is the BoilerHAUS design system package: a Bauhaus-inspired React component library for BoilerHAUS, ScopeHouse, and related products.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
It combines:
|
|
6
|
+
- design tokens in CSS
|
|
7
|
+
- React 19 components
|
|
8
|
+
- Tailwind v4 utilities generated from tokens
|
|
9
|
+
- Radix UI primitives for accessibility
|
|
10
|
+
- Storybook as the primary component workshop
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react-swc) uses [SWC](https://swc.rs/)
|
|
12
|
+
## Stack
|
|
9
13
|
|
|
10
|
-
|
|
14
|
+
- React 19
|
|
15
|
+
- TypeScript 5
|
|
16
|
+
- Vite 8
|
|
17
|
+
- Tailwind CSS v4
|
|
18
|
+
- Storybook 10
|
|
19
|
+
- Radix UI
|
|
11
20
|
|
|
12
|
-
|
|
21
|
+
## Package
|
|
13
22
|
|
|
14
|
-
|
|
23
|
+
```bash
|
|
24
|
+
npm install @boilerhaus-ui/boilerhaus-ui
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
```tsx
|
|
28
|
+
import { Button } from '@boilerhaus-ui/boilerhaus-ui'
|
|
29
|
+
import '@boilerhaus-ui/boilerhaus-ui/tokens.css'
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
If the consuming app uses Tailwind v4, include the package as a source so Tailwind sees the shipped class names:
|
|
33
|
+
|
|
34
|
+
```css
|
|
35
|
+
@import "tailwindcss";
|
|
36
|
+
@import "@boilerhaus-ui/boilerhaus-ui/tokens.css";
|
|
37
|
+
@source "../node_modules/@boilerhaus-ui/boilerhaus-ui/dist";
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Local Development
|
|
41
|
+
|
|
42
|
+
Install dependencies:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
npm install
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Run the local Vite app:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
npm run dev
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Run Storybook:
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
npm run storybook
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Build the package library:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npm run build:lib
|
|
64
|
+
```
|
|
15
65
|
|
|
16
|
-
|
|
66
|
+
Build Storybook:
|
|
17
67
|
|
|
18
|
-
```
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
{
|
|
22
|
-
files: ['**/*.{ts,tsx}'],
|
|
23
|
-
extends: [
|
|
24
|
-
// Other configs...
|
|
68
|
+
```bash
|
|
69
|
+
npm run build-storybook
|
|
70
|
+
```
|
|
25
71
|
|
|
26
|
-
|
|
27
|
-
tseslint.configs.recommendedTypeChecked,
|
|
28
|
-
// Alternatively, use this for stricter rules
|
|
29
|
-
tseslint.configs.strictTypeChecked,
|
|
30
|
-
// Optionally, add this for stylistic rules
|
|
31
|
-
tseslint.configs.stylisticTypeChecked,
|
|
72
|
+
Lint the repo:
|
|
32
73
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
languageOptions: {
|
|
36
|
-
parserOptions: {
|
|
37
|
-
project: ['./tsconfig.node.json', './tsconfig.app.json'],
|
|
38
|
-
tsconfigRootDir: import.meta.dirname,
|
|
39
|
-
},
|
|
40
|
-
// other options...
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
])
|
|
74
|
+
```bash
|
|
75
|
+
npm run lint
|
|
44
76
|
```
|
|
45
77
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
78
|
+
## Workflow
|
|
79
|
+
|
|
80
|
+
Storybook is the main development surface for this repo.
|
|
81
|
+
|
|
82
|
+
The expected component workflow is:
|
|
83
|
+
1. Define the API in `<Component>.stories.tsx`
|
|
84
|
+
2. Implement the component in `<Component>.tsx`
|
|
85
|
+
3. Export it from its local `index.ts`
|
|
86
|
+
4. Re-export it from [`src/components/index.ts`](/media/boilerrat/Bobby/boilerhaus-ui/src/components/index.ts)
|
|
87
|
+
5. Verify accessibility and visual states in Storybook
|
|
88
|
+
|
|
89
|
+
## Design Rules
|
|
90
|
+
|
|
91
|
+
- Use tokens only. Do not introduce raw hex values, arbitrary spacing, or ad hoc durations.
|
|
92
|
+
- Prefer Tailwind token utilities in JSX such as `bg-signal`, `text-void`, `border-rule`, `rounded-md`, and `duration-fast`.
|
|
93
|
+
- Use CSS custom properties from [`src/tokens/tokens.css`](/media/boilerrat/Bobby/boilerhaus-ui/src/tokens/tokens.css) when utilities are not enough.
|
|
94
|
+
- Keep components isolated. Avoid cross-component styling dependencies.
|
|
95
|
+
- Favor Radix primitives for focus management, keyboard behavior, and ARIA support.
|
|
96
|
+
|
|
97
|
+
The canonical repo rules and design constraints live in [`CLAUDE.md`](/media/boilerrat/Bobby/boilerhaus-ui/CLAUDE.md).
|
|
98
|
+
|
|
99
|
+
## Structure
|
|
100
|
+
|
|
101
|
+
```text
|
|
102
|
+
boilerhaus-ui/
|
|
103
|
+
├── .storybook/ Storybook config
|
|
104
|
+
├── src/
|
|
105
|
+
│ ├── components/ Reusable UI components
|
|
106
|
+
│ ├── lib/ Shared helpers such as cn()
|
|
107
|
+
│ ├── tokens/ Design tokens
|
|
108
|
+
│ ├── index.css Base styles
|
|
109
|
+
│ └── index.ts Public library entry
|
|
110
|
+
├── package.json
|
|
111
|
+
└── CLAUDE.md
|
|
73
112
|
```
|
|
113
|
+
|
|
114
|
+
## Current Component Set
|
|
115
|
+
|
|
116
|
+
The library currently includes:
|
|
117
|
+
|
|
118
|
+
- Accordion
|
|
119
|
+
- Alert
|
|
120
|
+
- AspectRatio
|
|
121
|
+
- Avatar
|
|
122
|
+
- Badge
|
|
123
|
+
- Breadcrumb
|
|
124
|
+
- Button
|
|
125
|
+
- Card
|
|
126
|
+
- Checkbox
|
|
127
|
+
- Combobox
|
|
128
|
+
- DataTable
|
|
129
|
+
- DatePicker
|
|
130
|
+
- Dialog
|
|
131
|
+
- DropdownMenu
|
|
132
|
+
- FileUpload
|
|
133
|
+
- Input
|
|
134
|
+
- Label
|
|
135
|
+
- PageShell
|
|
136
|
+
- Popover
|
|
137
|
+
- Progress
|
|
138
|
+
- RadioGroup
|
|
139
|
+
- Select
|
|
140
|
+
- Skeleton
|
|
141
|
+
- Spinner
|
|
142
|
+
- Stat
|
|
143
|
+
- Stepper
|
|
144
|
+
- Switch
|
|
145
|
+
- Table
|
|
146
|
+
- Tabs
|
|
147
|
+
- Textarea
|
|
148
|
+
- Toast
|
|
149
|
+
- Tooltip
|
|
150
|
+
|
|
151
|
+
## Publishing
|
|
152
|
+
|
|
153
|
+
This package publishes to npm as a public scoped package:
|
|
154
|
+
|
|
155
|
+
```bash
|
|
156
|
+
npm publish
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
Package name:
|
|
160
|
+
|
|
161
|
+
```text
|
|
162
|
+
@boilerhaus-ui/boilerhaus-ui
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
`prepublishOnly` automatically runs the library build before publishing.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type LogoVariant = 'color' | 'void' | 'dark' | 'paper';
|
|
2
|
+
export type LogoLockup = 'horizontal' | 'stacked' | 'mark-only' | 'wordmark-only';
|
|
3
|
+
export type LogoSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface LogoProps {
|
|
5
|
+
/** Color scheme. Use 'dark' or 'paper' on dark backgrounds. Defaults to 'color'. */
|
|
6
|
+
variant?: LogoVariant;
|
|
7
|
+
/** Layout of mark and wordmark. Defaults to 'horizontal'. */
|
|
8
|
+
lockup?: LogoLockup;
|
|
9
|
+
/** Overall size — sm for topbar, md default, lg for hero/display. Defaults to 'md'. */
|
|
10
|
+
size?: LogoSize;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function Logo({ variant, lockup, size, className, }: LogoProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -62,3 +62,5 @@ export { DataTable } from './DataTable';
|
|
|
62
62
|
export type { DataTableProps, DataTableColumn } from './DataTable';
|
|
63
63
|
export { AspectRatio } from './AspectRatio';
|
|
64
64
|
export type { AspectRatioProps } from './AspectRatio';
|
|
65
|
+
export { Logo } from './Logo';
|
|
66
|
+
export type { LogoProps, LogoVariant, LogoLockup, LogoSize } from './Logo';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boilerhaus-ui/boilerhaus-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Boilerhaus design system — Bauhaus-inspired tokens and components for ScopeHouse and beyond.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -20,7 +20,13 @@
|
|
|
20
20
|
"sideEffects": [
|
|
21
21
|
"./dist/tokens.css"
|
|
22
22
|
],
|
|
23
|
-
"keywords": [
|
|
23
|
+
"keywords": [
|
|
24
|
+
"design-system",
|
|
25
|
+
"react",
|
|
26
|
+
"tailwind",
|
|
27
|
+
"components",
|
|
28
|
+
"ui"
|
|
29
|
+
],
|
|
24
30
|
"license": "MIT",
|
|
25
31
|
"publishConfig": {
|
|
26
32
|
"access": "public"
|