@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 CHANGED
@@ -1,73 +1,165 @@
1
- # React + TypeScript + Vite
1
+ # BoilerHAUS UI
2
2
 
3
- This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
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
- Currently, two official plugins are available:
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
- - [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react) uses [Oxc](https://oxc.rs)
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
- ## React Compiler
14
+ - React 19
15
+ - TypeScript 5
16
+ - Vite 8
17
+ - Tailwind CSS v4
18
+ - Storybook 10
19
+ - Radix UI
11
20
 
12
- The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see [this documentation](https://react.dev/learn/react-compiler/installation).
21
+ ## Package
13
22
 
14
- ## Expanding the ESLint configuration
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
- If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
66
+ Build Storybook:
17
67
 
18
- ```js
19
- export default defineConfig([
20
- globalIgnores(['dist']),
21
- {
22
- files: ['**/*.{ts,tsx}'],
23
- extends: [
24
- // Other configs...
68
+ ```bash
69
+ npm run build-storybook
70
+ ```
25
71
 
26
- // Remove tseslint.configs.recommended and replace with this
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
- // Other configs...
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
- You can also install [eslint-plugin-react-x](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-x) and [eslint-plugin-react-dom](https://github.com/Rel1cx/eslint-react/tree/main/packages/plugins/eslint-plugin-react-dom) for React-specific lint rules:
47
-
48
- ```js
49
- // eslint.config.js
50
- import reactX from 'eslint-plugin-react-x'
51
- import reactDom from 'eslint-plugin-react-dom'
52
-
53
- export default defineConfig([
54
- globalIgnores(['dist']),
55
- {
56
- files: ['**/*.{ts,tsx}'],
57
- extends: [
58
- // Other configs...
59
- // Enable lint rules for React
60
- reactX.configs['recommended-typescript'],
61
- // Enable lint rules for React DOM
62
- reactDom.configs.recommended,
63
- ],
64
- languageOptions: {
65
- parserOptions: {
66
- project: ['./tsconfig.node.json', './tsconfig.app.json'],
67
- tsconfigRootDir: import.meta.dirname,
68
- },
69
- // other options...
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;
@@ -0,0 +1,2 @@
1
+ export { Logo } from './Logo';
2
+ export type { LogoProps, LogoVariant, LogoLockup, LogoSize } from './Logo';
@@ -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.0",
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": ["design-system", "react", "tailwind", "components", "ui"],
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"