Skip to content

Commit 99e72fd

Browse files
committed
refactor: ship uncompiled CSS, fix #16 — version bump to 0.2.0-alpha.8
1 parent 270228f commit 99e72fd

6 files changed

Lines changed: 51 additions & 14 deletions

File tree

.changeset/pre.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"per-component-subpath-exports",
1717
"rare-dancers-itch",
1818
"readme-package-managers",
19-
"typography-map-docs"
19+
"typography-map-docs",
20+
"uncompiled-css-architecture"
2021
]
2122
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
---
2+
"@datum-cloud/datum-ui": minor
3+
---
4+
5+
Ship uncompiled CSS instead of compiled Tailwind output (fixes #16)
6+
7+
- **Breaking:** Grid and NProgress CSS are now separate optional imports (`@datum-cloud/datum-ui/grid`, `@datum-cloud/datum-ui/nprogress`)
8+
- **Breaking:** Requires Tailwind CSS v4.0.7+ (v4.2.1+ recommended)
9+
- Removed CSS compilation from build pipeline — raw CSS files are copied to dist
10+
- Embedded `@source` directive in shipped CSS for zero-config consumer class scanning
11+
- Pre-expanded grid system `@apply` directives into self-contained CSS
12+
- Eliminated duplicate Tailwind stylesheets that caused responsive utility conflicts

packages/datum-ui/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# @datum-cloud/datum-ui
22

3+
## 0.2.0-alpha.8
4+
5+
### Minor Changes
6+
7+
- 50ce0e8: Ship uncompiled CSS instead of compiled Tailwind output (fixes #16)
8+
- **Breaking:** Grid and NProgress CSS are now separate optional imports (`@datum-cloud/datum-ui/grid`, `@datum-cloud/datum-ui/nprogress`)
9+
- **Breaking:** Requires Tailwind CSS v4.0.7+ (v4.2.1+ recommended)
10+
- Removed CSS compilation from build pipeline — raw CSS files are copied to dist
11+
- Embedded `@source` directive in shipped CSS for zero-config consumer class scanning
12+
- Pre-expanded grid system `@apply` directives into self-contained CSS
13+
- Eliminated duplicate Tailwind stylesheets that caused responsive utility conflicts
14+
315
## 0.2.0-alpha.7
416

517
### Patch Changes

packages/datum-ui/README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ pnpm add @datum-cloud/datum-ui
1414
bun add @datum-cloud/datum-ui
1515
```
1616

17+
## Requirements
18+
19+
- **React 19**
20+
- **Tailwind CSS v4.0.7+** (v4.2.1+ recommended)
21+
1722
## Setup
1823

1924
### 1. Import Styles
@@ -24,9 +29,13 @@ Add datum-ui styles to your CSS file, after Tailwind:
2429
/* app.css */
2530
@import 'tailwindcss';
2631
@import '@datum-cloud/datum-ui/styles';
32+
33+
/* Optional — import only if you use these components */
34+
@import '@datum-cloud/datum-ui/grid';
35+
@import '@datum-cloud/datum-ui/nprogress';
2736
```
2837

29-
This loads all design tokens, theme variables, fonts, and component styles. Tokens are registered with Tailwind via `@theme inline`, so utilities like `bg-primary` and `text-foreground` work automatically.
38+
datum-ui ships uncompiled CSS that is processed by your Tailwind build in a single pass. The styles import automatically configures Tailwind to scan datum-ui's components for class usage via `@source`, so utilities like `bg-primary` and `text-foreground` work out of the box.
3039

3140
### 2. Add ThemeProvider
3241

@@ -58,14 +67,16 @@ This keeps your bundle small and means you only install peer dependencies for th
5867

5968
### Shared Exports
6069

61-
| Import Path | Description |
62-
| ------------------------------ | ------------------------------------------------------ |
63-
| `@datum-cloud/datum-ui` | Root barrel — all components (requires all peer deps) |
64-
| `@datum-cloud/datum-ui/styles` | CSS (fonts, tokens, theme variables, component styles) |
65-
| `@datum-cloud/datum-ui/theme` | Theme utilities and types |
66-
| `@datum-cloud/datum-ui/hooks` | `useCopyToClipboard`, `useDebounce` |
67-
| `@datum-cloud/datum-ui/icons` | `CloseIcon`, `IconWrapper`, `SpinnerIcon` |
68-
| `@datum-cloud/datum-ui/utils` | `cn` (className merge utility) |
70+
| Import Path | Description |
71+
| --------------------------------- | -------------------------------------------------------------- |
72+
| `@datum-cloud/datum-ui` | Root barrel — all components (requires all peer deps) |
73+
| `@datum-cloud/datum-ui/styles` | Core CSS (fonts, tokens, theme variables, component styles) |
74+
| `@datum-cloud/datum-ui/grid` | Grid system CSS (optional — import if using Grid component) |
75+
| `@datum-cloud/datum-ui/nprogress` | NProgress CSS (optional — import if using NProgress component) |
76+
| `@datum-cloud/datum-ui/theme` | Theme utilities and types |
77+
| `@datum-cloud/datum-ui/hooks` | `useCopyToClipboard`, `useDebounce` |
78+
| `@datum-cloud/datum-ui/icons` | `CloseIcon`, `IconWrapper`, `SpinnerIcon` |
79+
| `@datum-cloud/datum-ui/utils` | `cn` (className merge utility) |
6980

7081
### Grouped Exports
7182

@@ -330,7 +341,7 @@ npm install motion
330341
## Tech Stack
331342

332343
- **React 19** with server component support
333-
- **Tailwind CSS v4** for styling
344+
- **Tailwind CSS v4** (v4.0.7+) for styling — ships uncompiled CSS processed by consumer's build
334345
- **Radix UI** for accessible primitives
335346
- **CVA** (class-variance-authority) for variant-based component APIs
336347
- **TypeScript** — fully typed with exported types

packages/datum-ui/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,6 +426,7 @@
426426
"@radix-ui/react-tabs": "^1.1.13",
427427
"@radix-ui/react-tooltip": "^1.2.8",
428428
"@repo/config": "workspace:*",
429+
"@repo/shadcn": "workspace:*",
429430
"@stepperize/react": "^6.1.0",
430431
"@tanstack/react-virtual": "^3.13.19",
431432
"@testing-library/jest-dom": "^6",

pnpm-lock.yaml

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)