Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
0e464d3
chore: 🤖 move click-ui into packages/click-ui
punkbit Mar 23, 2026
0dc5351
chore: 🤖 make monorepo (yarn workspaces)
punkbit Mar 23, 2026
bc20e9c
chore: 🤖 update husky package location checkups
punkbit Mar 23, 2026
d58d5ce
chore: 🤖 update workflows
punkbit Mar 23, 2026
cbb1de0
chore: 🤖 update gitignore
punkbit Mar 23, 2026
7b3149a
fix: 🐛 scripts pathname
punkbit Mar 23, 2026
e1b7f9c
fix: 🐛 publish workflow pathname
punkbit Mar 23, 2026
80dac72
chore: 🤖 add fix scripts to root
punkbit Mar 23, 2026
a636218
chore: 🤖 add --topological to root scripts commands
punkbit Mar 23, 2026
f2d1e91
fix: 🐛 types mismatch
punkbit Mar 23, 2026
01a5613
chore: 🤖 create design-tokens package placeholder's package.json
punkbit Mar 24, 2026
ea88fff
docs: 📝 add initial README.md
punkbit Mar 24, 2026
f27d5f4
docs: 📝 add initial README.md
punkbit Mar 24, 2026
55e421e
docs: 📝 add token SPECIFICATION.md
punkbit Mar 24, 2026
9a01750
chore: 🤖 update yarn.lock
punkbit Mar 24, 2026
c9d2659
fix: 🐛 exports
punkbit Mar 24, 2026
6ffa1c5
chore: 🤖 add dictionary containing DTCG token files, e.g. primitives.…
punkbit Mar 24, 2026
9d69000
chore: 🤖 terrazzo dictionary to css builder
punkbit Mar 24, 2026
02d82c3
chore: 🤖 add note
punkbit Mar 25, 2026
3bd2d2c
docs: 📝 distribution strategy
punkbit Mar 25, 2026
9125fc8
docs: 📝 brief token spec in readme
punkbit Mar 25, 2026
e5c9116
docs: 📝 lint rules
punkbit Mar 25, 2026
f49ad37
fix: 🐛 remove leading 0
punkbit Mar 25, 2026
8896cb9
fix: 🐛 packages require a build command
punkbit Mar 25, 2026
b7435f7
fix: 🐛 typo
punkbit Mar 25, 2026
0d60d1b
fix: 🐛 typography missing in import order
punkbit Mar 25, 2026
3ebe176
fix: 🐛 typo
punkbit Mar 25, 2026
d7aecb0
chore: 🤖 remove TODO
punkbit Mar 25, 2026
f4a3faf
fix: 🐛 Tokens meant for CSS layout should use : "dimension" with stri…
punkbit Mar 25, 2026
a848a9b
chore: 🤖 lint/test placeholders
punkbit Mar 25, 2026
0c5defd
fix: 🐛 spacing description misplaced
punkbit Mar 25, 2026
ef816f2
fix: 🐛 removed the non-standard "style" condition.
punkbit Mar 25, 2026
3c37962
fix: 🐛 remove empty icon block from token dictionary
punkbit Mar 25, 2026
dfc372f
fix: 🐛 both should say Secondary button …
punkbit Mar 25, 2026
a7623e1
fix: 🐛 table now accurately reflects the actual token paths used in …
punkbit Mar 25, 2026
945be67
chore: 🤖 add changeset
punkbit Mar 25, 2026
10e6a81
chore: 🤖 update changeset to include instructions
punkbit Mar 25, 2026
5625975
fix: 🐛 Changed press to active for color.background.interactive.secon…
punkbit Mar 25, 2026
86f499c
fix: 🐛 Changed from {color.gray.805} to {color.gray.800} to match th…
punkbit Mar 25, 2026
d767696
chore: 🤖 use tz check as linter
punkbit Mar 25, 2026
661dfe3
refactor: 💡 created config.js with centralized settings
punkbit Mar 25, 2026
74704a1
refactor: 💡 hex values consistency lowercase
punkbit Mar 25, 2026
515bc7c
chore: 🤖 add TODO
punkbit Mar 25, 2026
896b5d1
chore: 🤖 add mode selector
punkbit Mar 25, 2026
475b796
chore: 🤖 add format
punkbit Mar 25, 2026
9f0a3e5
fix: 🐛 no visual hover distinction in light mode for the primary button
punkbit Mar 25, 2026
b5a653e
fix: 🐛 border muted in dark mode
punkbit Mar 25, 2026
84cc724
fix: 🐛 both secondary button states, now the ghost button has appropr…
punkbit Mar 25, 2026
3c8783e
chore: 🤖 skip test
punkbit Mar 25, 2026
fd98f39
fix: 🐛 inconsistent values
punkbit Mar 25, 2026
1b2270b
chore: 🤖 dark mode support via OS support
punkbit Mar 25, 2026
67a4ed6
refactor: 💡 gray naming
punkbit Mar 26, 2026
6252e12
refactor: 💡 remove resolver, use mode
punkbit Mar 26, 2026
80afee9
refactor: 💡 gray vs neutral vs charcoal palettes
punkbit Mar 26, 2026
f13eefc
refactor: 💡 Broken token reference (semantic.dtcg.json:74): color.bac…
punkbit Mar 26, 2026
a7aad3b
refactor: 💡 opacity tokens now live under neutral/opacity/{percent} w…
punkbit Mar 26, 2026
5a2b9d1
refactor: 💡 gray descriptions colour refs
punkbit Mar 26, 2026
6d9f367
refactor: 💡 changed {color.gray.650} to {color.neutral.650} in semant…
punkbit Mar 26, 2026
c42396f
chore: 🤖 make terrazzo generate final css with legacy hex
punkbit Mar 26, 2026
7be3452
refactor: 💡 convert to compliant DTCG colour space
punkbit Mar 26, 2026
d81c5ea
chore: 🤖 clear dist before build
punkbit Mar 26, 2026
b322ce2
fix: 🐛 token themes light/dark mode handling
punkbit Mar 26, 2026
4717fee
refactor: 💡 transform js into ts
punkbit Mar 27, 2026
8703562
chore: 🤖 add formatter
punkbit Mar 27, 2026
cb58116
style(tokens): 💄 transform tokens into solid colours
punkbit Mar 30, 2026
037f6e4
style(tokens): 💄 primitives, moved semantic meaning to semantic layer
punkbit Mar 30, 2026
b96d988
style(tokens): 💄 All Semantic Names Removed from Primitives
punkbit Mar 30, 2026
aaec2ea
style(tokens): 💄 copy latest tokens from chore/monorepo-figma-design-…
punkbit Mar 30, 2026
82c5935
chore: 🤖 update lockfile
punkbit Mar 31, 2026
b5b7357
chore: 🤖 set access as public
punkbit Mar 31, 2026
7dc7958
fix: 🐛 remove duplicates
punkbit Mar 31, 2026
1297c2f
chore: 🤖 re-enable colour lint
punkbit Mar 31, 2026
3aa91ff
fix: 🐛 publishConfig
punkbit Mar 31, 2026
4916f5d
refactor: 💡 make radius semantic as t-shirt sizing
punkbit Mar 31, 2026
ae8bec7
refactor: 💡 separate primitives from theme semantic tokens
punkbit Mar 31, 2026
430964e
style(tokens): 💄 add semantic tokens for radius
punkbit Apr 1, 2026
f5c6693
style(tokens): 💄 add semantic tokens for sizing
punkbit Apr 1, 2026
998494f
style(tokens): 💄 add semantic tokens for spacing
punkbit Apr 1, 2026
0da53a2
fix: 🐛 token naming
punkbit Apr 1, 2026
051d440
chore: 🤖 remove backup
punkbit Apr 1, 2026
1e4b315
refactor: 💡 transform pixel sizing to rem
punkbit Apr 1, 2026
cd25aa8
refactor: 💡 use rem only for fonts
punkbit Apr 2, 2026
aff2489
docs: 📝 update specification
punkbit Apr 2, 2026
ae74740
chore: 🤖 update lockfile
punkbit Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .github/workflows/build-health-checkup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,9 @@ jobs:
run: yarn install --immutable

- name: Build
working-directory: packages/click-ui
run: yarn build

- name: Build output health check
working-directory: packages/click-ui
run: yarn build:health_check
1 change: 1 addition & 0 deletions .github/workflows/chromatic-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ jobs:
uses: chromaui/action@latest
with:
projectToken: ${{ secrets.CHROMATIC_PROJECT_TOKEN }}
workingDir: packages/click-ui
4 changes: 4 additions & 0 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,17 @@ jobs:
run: yarn install --immutable

- name: Typecheck
working-directory: packages/click-ui
run: yarn typecheck

- name: Linter
working-directory: packages/click-ui
run: yarn lint

- name: Formatter
working-directory: packages/click-ui
run: yarn format

- name: Circular Dependencies
working-directory: packages/click-ui
run: yarn circular-dependency:check
20 changes: 10 additions & 10 deletions .github/workflows/create-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ jobs:
CURRENT_TAG="N/A"
IS_PRERELEASE="false"

if [[ -f .changeset/pre.json ]]; then
CURRENT_TAG=$(node -p "require('./.changeset/pre.json').tag")
if [[ -f packages/click-ui/.changeset/pre.json ]]; then
CURRENT_TAG=$(node -p "require('./packages/click-ui/.changeset/pre.json').tag")
IS_PRERELEASE="true"
echo "prerelease=true" >> $GITHUB_OUTPUT
echo "current_tag=$CURRENT_TAG" >> $GITHUB_OUTPUT
Expand All @@ -131,7 +131,7 @@ jobs:
- name: Prevent promotion without changes
if: steps.check-prerelease.outputs.prerelease == 'true' && steps.check-prerelease.outputs.current_tag != inputs.release_type
run: |
CHANGESET_COUNT=$(find .changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ')
CHANGESET_COUNT=$(find packages/click-ui/.changeset -name "*.md" ! -name "README.md" | wc -l | tr -d ' ')
echo "🔍 Debug: changeset_count=$CHANGESET_COUNT"

if [[ "$CHANGESET_COUNT" -eq 0 ]]; then
Expand All @@ -145,7 +145,7 @@ jobs:
run: |
echo "Must exit pre-release mode..."

if ! yarn changeset pre exit; then
if ! yarn workspace @clickhouse/click-ui changeset pre exit; then
echo "👹 Oops! Failed to exit pre-release mode for some reason..."
exit 1
else
Expand All @@ -156,7 +156,7 @@ jobs:
if: steps.check-prerelease.outputs.prerelease == 'true' && steps.check-prerelease.outputs.current_tag != inputs.release_type && inputs.release_type != 'latest' && inputs.release_type != 'stable'
run: |
echo "🔄 Switching from ${{ steps.check-prerelease.outputs.current_tag }} to ${{ inputs.release_type }} prerelease mode"
if ! yarn changeset pre exit; then
if ! yarn workspace @clickhouse/click-ui changeset pre exit; then
echo "👹 Oops! Failed to exit current prerelease mode for some reason..."
exit 1
else
Expand All @@ -167,7 +167,7 @@ jobs:
if: inputs.release_type != 'latest' && inputs.release_type != 'stable' && (steps.check-prerelease.outputs.prerelease != 'true' || steps.check-prerelease.outputs.current_tag != inputs.release_type)
run: |
echo "🤖 Entering ${{ inputs.release_type }} prerelease mode"
yarn changeset pre enter ${{ inputs.release_type }}
yarn workspace @clickhouse/click-ui changeset pre enter ${{ inputs.release_type }}

- name: Validate latest release eligibility
if: (inputs.release_type == 'latest' || inputs.release_type == 'stable') && steps.check-prerelease.outputs.prerelease != 'true'
Expand All @@ -187,7 +187,7 @@ jobs:
id: version-package
run: |
echo "📦 Versioning packages..."
if ! yarn changeset:version; then
if ! yarn workspace @clickhouse/click-ui changeset:version; then
echo "👹 Oops! Failed to do changeset versioning for some reason..."
exit 1
else
Expand All @@ -201,8 +201,8 @@ jobs:
exit 1
fi

VERSION=$(node -p "require('./package.json').version")
PKG_NAME=$(node -p "require('./package.json').name")
VERSION=$(node -p "require('./packages/click-ui/package.json').version")
PKG_NAME=$(node -p "require('./packages/click-ui/package.json').name")
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "package_name=$PKG_NAME" >> $GITHUB_OUTPUT

Expand Down Expand Up @@ -249,7 +249,7 @@ jobs:
run: |
# WARNING: This is coupled with a verify release commit
# if you need to modify, apply the changes accordingly
COMMIT_TITLE=$(.scripts/bash/generate-release-commit-message "${{ steps.version-package.outputs.version }}" "${{ inputs.release_type }}")
COMMIT_TITLE=$(packages/click-ui/.scripts/bash/generate-release-commit-message "${{ steps.version-package.outputs.version }}" "${{ inputs.release_type }}")

echo "title=$COMMIT_TITLE" >> $GITHUB_OUTPUT
echo "branch=changeset-release/v${{ steps.version-package.outputs.version }}-${{ inputs.release_type }}" >> $GITHUB_OUTPUT
Expand Down
7 changes: 6 additions & 1 deletion .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -63,10 +63,12 @@ jobs:
git config user.name "GitHub Actions"
- name: Bump package version (for version inputs)
if: ${{ env.IS_VERSION_INPUT == 'true' }}
working-directory: packages/click-ui
run: |
npm pkg set version=$GITHUB_TAG
- name: Generate prerelease version (for tag inputs)
if: ${{ env.IS_VERSION_INPUT == 'false' }}
working-directory: packages/click-ui
run: |
# Get current version from package.json
CURRENT_VERSION=$(node -p "require('./package.json').version")
Expand All @@ -88,7 +90,9 @@ jobs:
- name: Install dependencies
run: yarn install --immutable
- run: yarn test
working-directory: packages/click-ui
- run: yarn build
working-directory: packages/click-ui
- name: Determine npm tag
run: |
# If it's a version input (e.g., 0.0.242 or 0.0.242-beta.1), check for prerelease keywords
Expand All @@ -103,11 +107,12 @@ jobs:
echo "NPM_TAG=$GITHUB_TAG" >> "$GITHUB_ENV"
fi
- name: Publish to npm with OIDC
working-directory: packages/click-ui
run: npm publish --access public --tag $NPM_TAG --provenance
- name: update package version (for version inputs only)
if: ${{ env.IS_VERSION_INPUT == 'true' }}
run: |
git add package.json yarn.lock
git add packages/click-ui/package.json yarn.lock
git commit -m 'bump version to ${{ env.GITHUB_TAG }}'
git push
- name: Create and push git tag (for version inputs only)
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pull-request-slack-notification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ jobs:
PR_BODY: ${{ github.event.pull_request.body }}
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
DESC=$(.scripts/bash/pull-request-truncate-body "$PR_BODY")
TITLE=$(.scripts/bash/pull-request-json-escape "$PR_TITLE")
DESC=$(packages/click-ui/.scripts/bash/pull-request-truncate-body "$PR_BODY")
TITLE=$(packages/click-ui/.scripts/bash/pull-request-json-escape "$PR_TITLE")

echo "description=$DESC" >> $GITHUB_OUTPUT
echo "title=$TITLE" >> $GITHUB_OUTPUT
Expand Down
26 changes: 13 additions & 13 deletions .github/workflows/release-publisher.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:
# WARNING: This is coupled with generate release commit
# if you need to modify, apply the changes accordingly
# Script outputs "VERSION RELEASE_TYPE" on success (e.g., "1.2.3 latest")
if OUTPUT=$(.scripts/bash/verify-release-commit "$COMMIT_MSG"); then
if OUTPUT=$(packages/click-ui/.scripts/bash/verify-release-commit "$COMMIT_MSG"); then
VERSION=$(echo "$OUTPUT" | awk '{print $1}')
RELEASE_TYPE=$(echo "$OUTPUT" | awk '{print $2}')
echo "✅ Detected release PR merge for version $VERSION ($RELEASE_TYPE)"
Expand Down Expand Up @@ -121,11 +121,13 @@ jobs:

- name: Build package
if: steps.verify-merge.outputs.is_release == 'true'
working-directory: packages/click-ui
run: yarn build

- name: Get package info
if: steps.verify-merge.outputs.is_release == 'true'
id: package-info
working-directory: packages/click-ui
run: |
VERSION="${{ steps.verify-merge.outputs.version }}"
RELEASE_TYPE="${{ steps.verify-merge.outputs.release_type }}"
Expand All @@ -146,6 +148,7 @@ jobs:

- name: Publish to npm over OpenID Connect (OIDC)
if: steps.verify-merge.outputs.is_release == 'true'
working-directory: packages/click-ui
run: |
# WARNING: It's preferred NPM for publishing
npm publish \
Expand All @@ -158,23 +161,20 @@ jobs:
id: changelog
run: |
VERSION="${{ steps.verify-merge.outputs.version }}"
CHANGELOG_PATH="CHANGELOG.md"
CHANGELOG_OUTPUT_TEMP_PATH="/tmp/changelog.txt"
FALLBACK_MSG="📝 See [CHANGELOG.md](./CHANGELOG.md) for details."

CHANGELOG=""
if [[ -f "$CHANGELOG_PATH" ]]; then
CHANGELOG=$(.scripts/bash/extract-changelog "$VERSION" "$CHANGELOG_PATH")
fi
if [[ -f packages/click-ui/CHANGELOG.md ]]; then
CHANGELOG=$(awk "/## $VERSION/,/## [0-9]/" packages/click-ui/CHANGELOG.md | sed '1d;$d' | sed '/^$/d')

if [[ -n "$CHANGELOG" ]]; then
echo "$CHANGELOG" > "$CHANGELOG_OUTPUT_TEMP_PATH"
if [[ -z "$CHANGELOG" ]]; then
CHANGELOG="📝 See [CHANGELOG.md](./CHANGELOG.md) for details."
fi
else
echo "No changelog available for version $VERSION." > "$CHANGELOG_OUTPUT_TEMP_PATH"
echo "" >> "$CHANGELOG_OUTPUT_TEMP_PATH"
echo "$FALLBACK_MSG" >> "$CHANGELOG_OUTPUT_TEMP_PATH"
CHANGELOG="No changelog available."
fi

# Try persist multiple lines
echo "$CHANGELOG" > /tmp/changelog.txt

- name: Create GitHub Release
if: steps.verify-merge.outputs.is_release == 'true'
uses: softprops/action-gh-release@v1
Expand Down
5 changes: 3 additions & 2 deletions .github/workflows/storybook-vercel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ permissions:

env:
HUSKY: 0
STORYBOOK_BUILD_DIR: .storybook/out
STORYBOOK_BUILD_DIR: packages/click-ui/.storybook/out
VERCEL_ORG_ID: ${{ secrets.VERCEL_ORG_ID }}
VERCEL_PROJECT_ID: ${{ secrets.VERCEL_PROJECT_ID }}
VERCEL_TOKEN: ${{ secrets.VERCEL_TOKEN }}
Expand Down Expand Up @@ -50,6 +50,7 @@ jobs:
run: npm install --global vercel@latest

- name: Build Storybook
working-directory: packages/click-ui
run: yarn storybook:build

- name: Pull Vercel Environment Information
Expand Down Expand Up @@ -99,7 +100,7 @@ jobs:
run: |
COMMIT_MSG=$(git log -1 --format=%s)

if OUTPUT=$(.scripts/bash/verify-release-commit "$COMMIT_MSG"); then
if OUTPUT=$(packages/click-ui/.scripts/bash/verify-release-commit "$COMMIT_MSG"); then
VERSION=$(echo "$OUTPUT" | awk '{print $1}')
RELEASE_TYPE=$(echo "$OUTPUT" | awk '{print $2}')
echo "🤖 Detected release commit for version $VERSION ($RELEASE_TYPE) will deploy..."
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,5 @@ jobs:
run: yarn install --immutable

- name: unit tests
working-directory: packages/click-ui
run: yarn test
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ vite.config.ts.timestamp*
.storybook/out
tmp/*

# Workspace patterns
packages/*/.storybook/out
packages/*/dist

.yarn/*
!.yarn/releases
!.yarn/plugins
Expand Down
22 changes: 9 additions & 13 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
Expand Up @@ -31,24 +31,20 @@ else
exit 1
fi

if yarn changeset:verify; then
echo "✅ Changeset file's included!"
if yarn workspace @clickhouse/click-ui circular-dependency:check; then
echo "✅ Circular dependency check is good!"
else
echo "⚠️ WARNING: You must include a changeset!"
echo "💡 Use the command yarn changeset:add"
echo "⚠️ WARNING: Circular dependency checkup found issues, fix them before committing, please!"
echo "💡 Use the following command to get further reports in your resolution yarn workspace @clickhouse/click-ui circular-dependency:check"
exit 1
fi

if [[ -n "$RUN_DEPS_CHECK" ]]; then
if yarn circular-dependency:check; then
echo "✅ Circular dependency check is good!"
else
echo "⚠️ WARNING: Circular dependency checkup found issues, fix them before committing, please!"
echo "💡 Use the following command to get further reports in your resolution yarn circular-dependency:check"
exit 1
fi
if yarn workspace @clickhouse/click-ui changeset:verify; then
echo "✅ Changeset file's included!"
else
echo "🦖 Skipped circular dependency check! To enable set RUN_DEPS_CHECK=1"
echo "⚠️ WARNING: You must include a changeset!"
echo "💡 Use the command yarn workspace @clickhouse/click-ui changeset:add"
exit 1
fi

echo "👍 Health check completed."
Expand Down
Loading
Loading