Skip to content

Commit 5d18caf

Browse files
committed
Update documentation and workflows: added new forms documentation page, modified sidebar and navigation for improved access, updated publish workflow for npm, and refined component styles across various UI elements.
1 parent 8ce3290 commit 5d18caf

75 files changed

Lines changed: 5931 additions & 565 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.claude/settings.local.json

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,7 @@
1010
"Bash(pnpm exec:*)",
1111
"Bash(npx biome:*)",
1212
"Bash(ls:*)",
13-
"Bash(cat:*)",
14-
"WebSearch",
15-
"WebFetch(domain:github.com)"
13+
"Bash(cat:*)"
1614
],
1715
"deny": []
1816
}

.github/workflows/publish.yml

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
name: Publish to npm
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
dry_run:
7+
description: "Dry run (no actual publish)"
8+
type: boolean
9+
default: false
10+
11+
concurrency:
12+
group: publish
13+
cancel-in-progress: false
14+
15+
jobs:
16+
publish:
17+
name: Build & Publish
18+
runs-on: ubuntu-latest
19+
permissions:
20+
contents: write # for creating git tags
21+
id-token: write # for npm provenance
22+
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
27+
- name: Setup pnpm
28+
uses: pnpm/action-setup@v4
29+
30+
- name: Setup Node
31+
uses: actions/setup-node@v4
32+
with:
33+
node-version: 22
34+
cache: pnpm
35+
registry-url: https://registry.npmjs.org
36+
37+
- name: Install dependencies
38+
run: pnpm install --frozen-lockfile
39+
40+
# Build in dependency order
41+
- name: Build @solidcn/themes
42+
run: pnpm --filter @solidcn/themes build
43+
44+
- name: Build @solidcn/core
45+
run: pnpm --filter @solidcn/core build
46+
47+
- name: Build @solidcn/toast
48+
run: pnpm --filter @solidcn/toast build
49+
50+
- name: Build solidcn (CLI)
51+
run: pnpm --filter solidcn build
52+
53+
- name: Build create-solidcn-app
54+
run: pnpm --filter create-solidcn-app build
55+
56+
- name: Typecheck all packages
57+
run: pnpm typecheck
58+
59+
- name: Lint
60+
run: pnpm lint
61+
62+
# Dry run to validate package contents
63+
- name: Dry run — @solidcn/themes
64+
run: pnpm --filter @solidcn/themes exec npm pack --dry-run
65+
66+
- name: Dry run — @solidcn/core
67+
run: pnpm --filter @solidcn/core exec npm pack --dry-run
68+
69+
- name: Dry run — @solidcn/toast
70+
run: pnpm --filter @solidcn/toast exec npm pack --dry-run
71+
72+
- name: Dry run — solidcn (CLI)
73+
run: pnpm --filter solidcn exec npm pack --dry-run
74+
75+
- name: Dry run — create-solidcn-app
76+
run: pnpm --filter create-solidcn-app exec npm pack --dry-run
77+
78+
# Publish (skipped if dry_run is true)
79+
- name: Publish @solidcn/themes
80+
if: ${{ !inputs.dry_run }}
81+
run: pnpm --filter @solidcn/themes exec npm publish --provenance --access public
82+
env:
83+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
84+
85+
- name: Publish @solidcn/core
86+
if: ${{ !inputs.dry_run }}
87+
run: pnpm --filter @solidcn/core exec npm publish --provenance --access public
88+
env:
89+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
90+
91+
- name: Publish @solidcn/toast
92+
if: ${{ !inputs.dry_run }}
93+
run: pnpm --filter @solidcn/toast exec npm publish --provenance --access public
94+
env:
95+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
96+
97+
- name: Publish solidcn (CLI)
98+
if: ${{ !inputs.dry_run }}
99+
run: pnpm --filter solidcn exec npm publish --provenance
100+
env:
101+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
102+
103+
- name: Publish create-solidcn-app
104+
if: ${{ !inputs.dry_run }}
105+
run: pnpm --filter create-solidcn-app exec npm publish --provenance
106+
env:
107+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
108+
109+
- name: Tag release
110+
if: ${{ !inputs.dry_run }}
111+
run: |
112+
VERSION=$(node -p "require('./packages/core/package.json').version")
113+
git config user.name "github-actions[bot]"
114+
git config user.email "github-actions[bot]@users.noreply.github.com"
115+
git tag "v${VERSION}" -m "Release v${VERSION}"
116+
git push origin "v${VERSION}"

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ apps/docs/.vinxi
1212
# Storybook
1313
apps/storybook/
1414

15+
# Wrangler
16+
packages/mcp-cloudflare/.wrangler
17+
1518
# env
1619
.env
1720
.env.local

apps/docs/app.config.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@ import { defineConfig } from "@solidjs/start/config";
22
import tailwindcss from "@tailwindcss/vite";
33

44
export default defineConfig({
5+
ssr: false,
56
vite: {
67
plugins: [tailwindcss()],
8+
resolve: {
9+
dedupe: ["solid-js", "solid-js/web", "solid-js/store", "@kobalte/core"],
10+
},
711
},
812
server: {
913
preset: "static",

apps/docs/src/app.css

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,15 +116,75 @@
116116
background-color: transparent !important;
117117
}
118118

119+
/* Dot grid background for component preview panes (shadcn-style) */
120+
.docs-preview-grid {
121+
background-color: hsl(var(--background));
122+
background-image: radial-gradient(hsl(var(--border)) 1px, transparent 1px);
123+
background-size: 16px 16px;
124+
}
125+
126+
.dark .docs-preview-grid {
127+
/* More visible dots on dark background */
128+
background-image: radial-gradient(hsl(var(--muted-foreground) / 0.2) 1px, transparent 1px);
129+
}
130+
119131
/* Docs reading column — shadcn-like rhythm */
120132
.docs-prose {
121133
max-width: 48rem;
122134
}
123135

136+
.docs-prose :where(h1) {
137+
font-size: 2rem;
138+
font-weight: 700;
139+
letter-spacing: -0.025em;
140+
line-height: 1.25;
141+
scroll-margin-top: 5rem;
142+
}
143+
124144
.docs-prose :where(h2) {
145+
font-size: 1.25rem;
146+
font-weight: 600;
147+
letter-spacing: -0.01em;
148+
line-height: 1.4;
149+
scroll-margin-top: 5rem;
150+
}
151+
152+
.docs-prose :where(h3) {
153+
font-size: 1rem;
154+
font-weight: 600;
125155
scroll-margin-top: 5rem;
126156
}
127157

128158
.docs-prose :where(p, li) {
159+
font-size: 0.9375rem;
129160
line-height: 1.75;
161+
color: hsl(var(--muted-foreground));
162+
}
163+
164+
.docs-prose :where(p strong, li strong) {
165+
color: hsl(var(--foreground));
166+
font-weight: 500;
167+
}
168+
169+
.docs-prose :where(a) {
170+
color: hsl(var(--foreground));
171+
text-underline-offset: 4px;
172+
}
173+
174+
.docs-prose :where(a:hover) {
175+
text-decoration: none;
176+
}
177+
178+
.docs-prose :where(code):not(pre code) {
179+
font-family: ui-monospace, “Cascadia Code”, “Source Code Pro”, Menlo, Consolas, monospace;
180+
font-size: 0.8125rem;
181+
background-color: hsl(var(--muted));
182+
border-radius: 0.25rem;
183+
padding: 0.125rem 0.375rem;
184+
}
185+
186+
/* Shiki code blocks — consistent 13px line height */
187+
.shiki {
188+
font-size: 0.8125rem;
189+
line-height: 1.625;
130190
}

apps/docs/src/components/layout/Sidebar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ export const SidebarContent: Component<SidebarProps> = (props) => {
2626
class={[
2727
"flex items-center justify-between rounded-md px-2.5 py-1.5 text-[13px] leading-snug transition-colors",
2828
location.pathname === item.href
29-
? "bg-muted font-medium text-foreground"
30-
: "text-muted-foreground hover:bg-muted/60 hover:text-foreground",
29+
? "font-medium text-foreground bg-accent"
30+
: "text-muted-foreground hover:bg-accent/50 hover:text-foreground",
3131
].join(" ")}
3232
>
3333
<span>{item.title}</span>

0 commit comments

Comments
 (0)