@ponti-studios/ui 0.4.3 → 0.6.0
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 +12 -11
- package/package.json +2 -2
- package/src/components/forms/input.tsx +1 -1
- package/src/styles/index.css +16 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @ponti-studios/ui
|
|
2
2
|
|
|
3
|
-
The canonical Ponti Studios UI package. It is published from this repository to
|
|
3
|
+
The canonical Ponti Studios UI package. It is published from this repository to GitHub Packages.
|
|
4
4
|
|
|
5
5
|
## Design
|
|
6
6
|
|
|
@@ -13,17 +13,16 @@ The design system is documented in `docs/`:
|
|
|
13
13
|
|
|
14
14
|
## Release
|
|
15
15
|
|
|
16
|
-
Releases are owned by [release-please](https://github.com/googleapis/release-please), not by hand-edited version numbers or manually pushed tags. The
|
|
16
|
+
Releases are owned by [release-please](https://github.com/googleapis/release-please), not by hand-edited version numbers or manually pushed tags. The `.github/workflows/publish.yml` workflow runs after a successful `validate` push to `main`:
|
|
17
17
|
|
|
18
|
-
1. **`release-
|
|
19
|
-
2. **`publish
|
|
20
|
-
3. **`publish-ui-manual`** — a `workflow_dispatch` break-glass path that checks out an arbitrary ref and publishes whatever version is in `package.json` there, with none of `publish-ui`'s tag/version consistency checks. Only use this to recover from a `publish-ui` run that failed for a reason unrelated to versioning (e.g. a broken `prepack` step) after a real release PR already merged — never as a way to skip release-please.
|
|
18
|
+
1. **`release-please`** — maintains a root-package release PR, updating `package.json`, `.release-please-manifest.json`, and `CHANGELOG.md` from Conventional Commit history.
|
|
19
|
+
2. **`publish`** — when that release PR is merged, checks out the exact release tag and publishes it to GitHub Packages. `workflow_dispatch` is the break-glass recovery path for a previously created release tag.
|
|
21
20
|
|
|
22
21
|
**So the actual release flow is:**
|
|
23
22
|
|
|
24
|
-
1. Land commits
|
|
25
|
-
2. Once on `main`, find or wait for the `chore(main): release ui X.Y.Z` PR that
|
|
26
|
-
3. Review and merge it. That merge creates the `ui-v<version>` tag
|
|
23
|
+
1. Land commits using [Conventional Commits](https://www.conventionalcommits.org/) — `fix:` → patch, `feat:` → minor, and `feat!:` or a `BREAKING CHANGE:` footer → major. Use `fix:` when the intended release is a patch.
|
|
24
|
+
2. Once on `main`, find or wait for the `chore(main): release ui X.Y.Z` PR that Release Please opens or updates.
|
|
25
|
+
3. Review and merge it. That merge creates the `ui-v<version>` tag; after validation succeeds, the release workflow publishes that exact tag automatically.
|
|
27
26
|
|
|
28
27
|
`prepack` (`tokens:check && check:source && typecheck`) runs as part of `pnpm install`/publish tooling and is the last gate before anything reaches npm — see "Generated files" below for the failure mode that most commonly trips it.
|
|
29
28
|
|
|
@@ -36,13 +35,13 @@ Releases are owned by [release-please](https://github.com/googleapis/release-ple
|
|
|
36
35
|
Configure the npm registry in the consumer repository:
|
|
37
36
|
|
|
38
37
|
```ini
|
|
39
|
-
@ponti-studios:registry=https://
|
|
38
|
+
@ponti-studios:registry=https://npm.pkg.github.com
|
|
40
39
|
```
|
|
41
40
|
|
|
42
41
|
Consumers that need authentication should configure a token outside the committed project `.npmrc`:
|
|
43
42
|
|
|
44
43
|
```bash
|
|
45
|
-
pnpm config set --location=user //
|
|
44
|
+
pnpm config set --location=user //npm.pkg.github.com/:_authToken "$NODE_AUTH_TOKEN"
|
|
46
45
|
```
|
|
47
46
|
|
|
48
47
|
CI consumers should use a secret-backed npm token with read access.
|
|
@@ -52,10 +51,12 @@ CI consumers should use a secret-backed npm token with read access.
|
|
|
52
51
|
This package has no build output — every `exports` entry resolves to a file under `src/`. Consumers are expected to transpile the package themselves (Vite, Metro, Next, etc. all do this for workspace/npm packages by default). Tailwind v4 class detection for consumers of `./styles.css` requires an `@source` directive pointing at the installed package's `src/`, e.g.
|
|
53
52
|
|
|
54
53
|
```css
|
|
54
|
+
@import "tailwindcss";
|
|
55
|
+
@import "@ponti-studios/ui/styles.css";
|
|
55
56
|
@source "../../../node_modules/@ponti-studios/ui/src";
|
|
56
57
|
```
|
|
57
58
|
|
|
58
|
-
|
|
59
|
+
**Important:** `./styles.css` uses `@reference "tailwindcss"` (it does not import Tailwind itself). Your project owns the `@import "tailwindcss"` — place it before the UI stylesheet. Omitting it will cause missing CSS variables (e.g. `--tw-shadow-color`) and unresolved utilities.
|
|
59
60
|
|
|
60
61
|
### `./native` subpath
|
|
61
62
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ponti-studios/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Shared UI component library for Ponti Studios",
|
|
6
6
|
"license": "MIT",
|
|
@@ -143,5 +143,5 @@
|
|
|
143
143
|
"optional": true
|
|
144
144
|
}
|
|
145
145
|
},
|
|
146
|
-
"packageManager": "pnpm@10.
|
|
146
|
+
"packageManager": "pnpm@11.10.0"
|
|
147
147
|
}
|
|
@@ -8,7 +8,7 @@ function Input({ className, type, ...props }: React.ComponentProps<"input">) {
|
|
|
8
8
|
type={type}
|
|
9
9
|
data-slot="input"
|
|
10
10
|
className={cn(
|
|
11
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground bg-background focus-visible:ring-ring border-input h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base transition-colors file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
11
|
+
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground bg-background text-foreground focus-visible:ring-ring border-input h-9 w-full min-w-0 rounded-md border px-3 py-1 text-base transition-colors file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
12
12
|
"aria-invalid:ring-destructive/20 aria-invalid:border-destructive",
|
|
13
13
|
className,
|
|
14
14
|
)}
|
package/src/styles/index.css
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
|
-
|
|
1
|
+
/*
|
|
2
|
+
* DESIGN SYSTEM STYLESHEET — @ponti-studios/ui
|
|
3
|
+
*
|
|
4
|
+
* This file provides the design tokens and shared component styles consumed
|
|
5
|
+
* by your project. It does NOT import Tailwind CSS — your project owns that.
|
|
6
|
+
*
|
|
7
|
+
* Required in your project's entry CSS BEFORE this import:
|
|
8
|
+
*
|
|
9
|
+
* @import "tailwindcss";
|
|
10
|
+
* @import "@ponti-studios/ui/styles.css";
|
|
11
|
+
*
|
|
12
|
+
* If you omit the Tailwind import you may see missing CSS variables
|
|
13
|
+
* (e.g., --tw-shadow-color) or utilities that fail to resolve.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
@reference "tailwindcss";
|
|
2
17
|
@import "./tokens/generated/foundations.css";
|
|
3
18
|
@import "./tokens/generated/light.css";
|
|
4
19
|
@import "./tokens/generated/dark.css" (prefers-color-scheme: dark);
|