Skip to content

Commit aea5f42

Browse files
committed
feat: add @tiny-ui/tokens package for design tokens and foundational styles
Extracts design tokens, themes, fonts, animations, mixins, and normalise styles into a standalone package that can be consumed independently.
1 parent 68f6bdd commit aea5f42

17 files changed

Lines changed: 4519 additions & 0 deletions

packages/tokens/css/base.css

Lines changed: 1162 additions & 0 deletions
Large diffs are not rendered by default.

packages/tokens/package.json

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{
2+
"name": "@tiny-ui/tokens",
3+
"version": "1.0.4",
4+
"description": "Design tokens, themes, and foundational styles for Tiny UI",
5+
"license": "MIT",
6+
"repository": {
7+
"type": "git",
8+
"url": "https://github.com/wangdicoder/tiny-ui.git",
9+
"directory": "packages/tokens"
10+
},
11+
"main": "css/base.css",
12+
"exports": {
13+
".": "./css/base.css",
14+
"./css/*": "./css/*",
15+
"./scss/*": "./scss/*"
16+
},
17+
"sideEffects": ["**/*.css"],
18+
"files": ["css", "scss"],
19+
"scripts": {
20+
"build": "node scripts/build.js",
21+
"clean": "rimraf css"
22+
},
23+
"devDependencies": {
24+
"autoprefixer": "^10.4.4",
25+
"postcss": "^8.4.0",
26+
"rimraf": "^3.0.2",
27+
"sass": "^1.49.9"
28+
}
29+
}

packages/tokens/scripts/build.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
const fs = require('fs');
2+
const path = require('path');
3+
const sass = require('sass');
4+
const postcss = require('postcss');
5+
const autoprefixer = require('autoprefixer');
6+
7+
const ROOT = path.resolve(__dirname, '..');
8+
const SCSS_DIR = path.join(ROOT, 'scss');
9+
const CSS_DIR = path.join(ROOT, 'css');
10+
11+
async function build() {
12+
console.log('Building tokens...\n');
13+
14+
// Compile scss/base.scss → css/base.css
15+
const result = sass.compile(path.join(SCSS_DIR, 'base.scss'), {
16+
loadPaths: [SCSS_DIR],
17+
});
18+
19+
const processed = await postcss([autoprefixer]).process(result.css, { from: undefined });
20+
21+
fs.mkdirSync(CSS_DIR, { recursive: true });
22+
fs.writeFileSync(path.join(CSS_DIR, 'base.css'), processed.css);
23+
24+
console.log(' css/base.css');
25+
console.log('\nTokens done.');
26+
}
27+
28+
build().catch((err) => {
29+
console.error(err);
30+
process.exit(1);
31+
});
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
@keyframes ty-rotate {
2+
0% {
3+
transform: rotate(0deg);
4+
}
5+
6+
100% {
7+
transform: rotate(360deg);
8+
}
9+
}
10+
11+
@keyframes ty-rotate-reverse {
12+
from {
13+
transform: rotate(0);
14+
}
15+
16+
to {
17+
transform: rotate(-360deg);
18+
}
19+
}
20+
21+
@keyframes ty-processing {
22+
0% {
23+
transform: scale(0.8);
24+
opacity: 0.5;
25+
}
26+
27+
100% {
28+
transform: scale(2.8);
29+
opacity: 0;
30+
}
31+
}

0 commit comments

Comments
 (0)