Skip to content

Commit 362973c

Browse files
Merge pull request #448 from aziontech/feat/add-theme
feat: add theme
2 parents 3ab47c5 + cfe73cd commit 362973c

24 files changed

Lines changed: 1140 additions & 3303 deletions

File tree

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Publish @aziontech/theme to NPM
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- 'packages/theme/**'
9+
10+
jobs:
11+
release:
12+
name: Semantic Release
13+
runs-on: ubuntu-latest
14+
15+
permissions:
16+
contents: write
17+
issues: write
18+
pull-requests: write
19+
id-token: write
20+
21+
steps:
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
with:
25+
fetch-depth: 0
26+
token: ${{ secrets.GIT_PKG }}
27+
28+
- name: Setup Node.js
29+
uses: actions/setup-node@v4
30+
with:
31+
node-version: 'lts/*'
32+
registry-url: 'https://registry.npmjs.org'
33+
34+
- name: Setup pnpm
35+
uses: pnpm/action-setup@v4
36+
with:
37+
version: 9
38+
39+
- name: Install workspace dependencies
40+
run: pnpm install --frozen-lockfile
41+
42+
- name: Run Semantic Release
43+
working-directory: packages/theme
44+
run: npx semantic-release
45+
env:
46+
GITHUB_TOKEN: ${{ secrets.GIT_PKG }}
47+
NPM_CONFIG_PROVENANCE: true

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"name": "@aziontech/webkit-monorepo",
2+
"name": "@aziontech/design-system",
33
"author": "@aziontech",
44
"private": true,
55
"repository": {

packages/theme/.gitignore

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# Dependencies
2+
node_modules/
3+
npm-debug.log*
4+
yarn-debug.log*
5+
yarn-error.log*
6+
pnpm-debug.log*
7+
8+
# Compiled output
9+
dist/
10+
build/
11+
12+
# Temporary files
13+
*.tmp
14+
*.temp
15+
.temp/
16+
.tmp/
17+
18+
# IDE
19+
.vscode/
20+
.idea/
21+
*.swp
22+
*.swo
23+
*~
24+
25+
# OS
26+
.DS_Store
27+
Thumbs.db
28+
29+
# Testing
30+
coverage/
31+
.nyc_output/
32+
33+
# Environment variables
34+
.env
35+
.env.local
36+
.env.*.local

packages/theme/.releaserc

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
{
2+
"branches": ["main"],
3+
"tagFormat": "@aziontech/theme@${version}",
4+
"plugins": [
5+
[
6+
"@semantic-release/commit-analyzer",
7+
{
8+
"preset": "conventionalcommits",
9+
"parserOpts": {
10+
"headerPattern": "^(\\[\\w+-\\d+\\]\\s+)?(\\w+):\\s(.*)$",
11+
"headerCorrespondence": ["ticket", "type", "subject"]
12+
},
13+
"releaseRules": [
14+
{ "type": "feat", "release": "minor" },
15+
{ "type": "fix", "release": "patch" },
16+
{ "type": "hotfix", "release": "patch" },
17+
{ "type": "chore", "release": "patch" },
18+
{ "type": "docs", "release": "patch" },
19+
{ "type": "style", "release": "patch" },
20+
{ "type": "refactor", "release": "patch" }
21+
]
22+
}
23+
],
24+
[
25+
"@semantic-release/release-notes-generator",
26+
{
27+
"preset": "conventionalcommits",
28+
"parserOpts": {
29+
"headerPattern": "^(\\[\\w+-\\d+\\]\\s+)?(\\w+):\\s(.*)$",
30+
"headerCorrespondence": ["ticket", "type", "subject"]
31+
}
32+
}
33+
],
34+
"@semantic-release/changelog",
35+
[
36+
"@semantic-release/npm",
37+
{
38+
"npmPublish": false
39+
}
40+
],
41+
[
42+
"@semantic-release/exec",
43+
{
44+
"prepareCmd": "node scripts/build.mjs",
45+
"publishCmd": "npm publish ./dist --provenance --access public"
46+
}
47+
],
48+
[
49+
"@semantic-release/git",
50+
{
51+
"assets": [
52+
"package.json",
53+
"CHANGELOG.md"
54+
],
55+
"message": "chore(release): @aziontech/theme ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
56+
}
57+
],
58+
[
59+
"@semantic-release/github",
60+
{
61+
"labels": false
62+
}
63+
]
64+
]
65+
}

packages/theme/CHANGELOG.md

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Planned
11+
12+
- [ ] Add support for custom theme configurations
13+
- [ ] Include accessibility tokens (aria-labels, focus states)
14+
- [ ] Generate TypeScript type definitions for theme tokens
15+
- [ ] Add theme customization helpers
16+
17+
---
18+
19+
## [0.0.1]
20+
21+
### Added
22+
23+
- Initial package release
24+
- Primitive color tokens (orange, violet, neutral, and other complete color palettes)
25+
- Brand color tokens (black, white, gray scales)
26+
- Semantic text tokens (light/dark variants)
27+
- Semantic background tokens (layer1, layer2, canvas, base)
28+
- Semantic border tokens (light/dark variants)
29+
- Tailwind CSS plugin for token integration
30+
- CSS variable initialization for theming
31+
- Build script for token compilation
32+
- Production-ready distribution structure
33+
34+
### Dependencies
35+
36+
- @tailwindcss/typography (^0.5.0)
37+
- prettier (^2.8.0)

packages/theme/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 Azion Technologies
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)