Skip to content

Commit 9805996

Browse files
authored
feat: add @tutorialkit/theme package to use the theme without astro (#105)
1 parent d8a5a34 commit 9805996

File tree

17 files changed

+103
-311
lines changed

17 files changed

+103
-311
lines changed

docs/demo/package.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,11 @@
2323
"@iconify-json/svg-spinners": "^1.1.2",
2424
"@tutorialkit/astro": "workspace:*",
2525
"@tutorialkit/types": "workspace:*",
26-
"@unocss/reset": "^0.60.4",
27-
"@unocss/transformer-directives": "^0.60.4",
26+
"@unocss/reset": "^0.59.4",
2827
"astro": "^4.10.3",
2928
"fast-glob": "^3.3.2",
3029
"prettier-plugin-astro": "^0.14.0",
3130
"typescript": "^5.4.5",
32-
"unocss": "^0.60.4"
31+
"unocss": "^0.59.4"
3332
}
3433
}

docs/demo/uno.config.ts

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { theme } from '@tutorialkit/astro';
2-
import transformerDirectives from '@unocss/transformer-directives';
1+
import { unoCSSConfig } from '@tutorialkit/astro';
32
import { globSync, convertPathToPattern } from 'fast-glob';
43
import fs from 'node:fs/promises';
54
import { basename, dirname, join } from 'node:path';
6-
import { defineConfig, presetIcons, presetUno } from 'unocss';
5+
import { defineConfig, presetIcons, presetUno, transformerDirectives } from 'unocss';
76

87
const iconPaths = globSync('./icons/languages/*.svg');
98

@@ -21,29 +20,14 @@ const customIconCollection = iconPaths.reduce(
2120
);
2221

2322
export default defineConfig({
24-
theme,
23+
...unoCSSConfig,
2524
content: {
2625
inline: globSync(
2726
`${convertPathToPattern(join(require.resolve('@tutorialkit/components-react'), '..'))}/**/*.js`,
2827
).map((filePath) => {
2928
return () => fs.readFile(filePath, { encoding: 'utf8' });
3029
}),
3130
},
32-
rules: [
33-
['scrollbar-transparent', { 'scrollbar-color': '#0000004d transparent' }],
34-
['nav-box-shadow', { 'box-shadow': '0 2px 4px -1px rgba(0, 0, 0, 0.1)' }],
35-
['transition-background', { 'transition-property': 'background' }],
36-
],
37-
shortcuts: {
38-
'panel-container': 'grid grid-rows-[min-content_1fr] h-full',
39-
'panel-header':
40-
'flex items-center px-4 py-2 bg-tk-elements-panel-header-backgroundColor min-h-[38px] overflow-x-hidden',
41-
'panel-tabs-header': 'flex bg-tk-elements-panel-header-backgroundColor h-[38px]',
42-
'panel-title': 'flex items-center gap-1.5 text-tk-elements-panel-header-textColor',
43-
'panel-icon': 'text-tk-elements-panel-header-iconColor',
44-
'panel-button':
45-
'flex items-center gap-1.5 whitespace-nowrap rounded-md text-sm bg-tk-elements-panel-headerButton-backgroundColor hover:bg-tk-elements-panel-headerButton-backgroundColorHover text-tk-elements-panel-headerButton-textColor hover:text-tk-elements-panel-headerButton-textColorHover',
46-
},
4731
transformers: [transformerDirectives()],
4832
presets: [
4933
presetUno({

packages/astro/package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@tutorialkit/astro",
33
"version": "0.0.1-alpha.23",
44
"description": "TutorialKit integration for Astro (https://astro.build)",
5+
"author": "StackBlitz Inc.",
56
"type": "module",
67
"bugs": "https://github.com/stackblitz/tutorialkit/issues",
78
"homepage": "https://github.com/stackblitz/tutorialkit",
@@ -28,6 +29,7 @@
2829
"@nanostores/react": "0.7.2",
2930
"@tutorialkit/components-react": "workspace:*",
3031
"@tutorialkit/runtime": "workspace:*",
32+
"@tutorialkit/theme": "workspace:*",
3133
"@tutorialkit/types": "workspace:*",
3234
"@types/react": "^18.3.3",
3335
"@webcontainer/api": "1.2.0",

packages/astro/src/index.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
1+
import { rules, shortcuts, theme } from '@tutorialkit/theme';
12
import type { AstroConfig, AstroIntegration } from 'astro';
23
import { fileURLToPath } from 'node:url';
34
import { extraIntegrations } from './integrations.js';
45
import { updateMarkdownConfig } from './remark/index.js';
5-
import { WebContainerFiles } from './webcontainer-files/index.js';
6+
import { tutorialkitCore } from './vite-plugins/core.js';
67
import { userlandCSS, watchUserlandCSS } from './vite-plugins/css.js';
78
import { tutorialkitStore } from './vite-plugins/store.js';
8-
import { tutorialkitCore } from './vite-plugins/core.js';
9+
import { WebContainerFiles } from './webcontainer-files/index.js';
910

10-
export { theme } from './theme.js';
11+
export const unoCSSConfig = {
12+
theme,
13+
rules,
14+
shortcuts,
15+
};
1116

1217
export interface Options {
1318
/**

packages/astro/tsconfig.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,10 @@
88
"outDir": "dist"
99
},
1010
"include": ["src"],
11-
"references": [{ "path": "../runtime" }, { "path": "../types" }, { "path": "../components/react" }]
11+
"references": [
12+
{ "path": "../runtime" },
13+
{ "path": "../types" },
14+
{ "path": "../components/react" },
15+
{ "path": "../theme" }
16+
]
1217
}

packages/cli/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "tutorialkit",
33
"version": "0.0.1-alpha.23",
44
"description": "Interactive tutorials powered by WebContainer API",
5+
"author": "StackBlitz Inc.",
56
"type": "module",
67
"bugs": "https://github.com/stackblitz/tutorialkit/issues",
78
"homepage": "https://github.com/stackblitz/tutorialkit",

packages/components/react/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@tutorialkit/components-react",
33
"version": "0.0.1-alpha.23",
44
"description": "TutorialKit's React components",
5+
"author": "StackBlitz Inc.",
56
"type": "module",
67
"bugs": "https://github.com/stackblitz/tutorialkit/issues",
78
"homepage": "https://github.com/stackblitz/tutorialkit",

packages/create-tutorial/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "create-tutorial",
33
"version": "0.0.1-alpha.23",
44
"description": "Interactive tutorials powered by WebContainer API",
5+
"author": "StackBlitz Inc.",
56
"type": "module",
67
"bugs": "https://github.com/stackblitz/tutorialkit/issues",
78
"homepage": "https://github.com/stackblitz/tutorialkit",

packages/runtime/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "@tutorialkit/runtime",
33
"version": "0.0.1-alpha.23",
44
"description": "TutorialKit runtime",
5+
"author": "StackBlitz Inc.",
56
"type": "module",
67
"bugs": "https://github.com/stackblitz/tutorialkit/issues",
78
"homepage": "https://github.com/stackblitz/tutorialkit",

packages/template/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525
"@types/node": "^20.14.6",
2626
"@types/react": "^18.3.3",
2727
"@unocss/reset": "^0.59.4",
28-
"@unocss/transformer-directives": "^0.59.4",
2928
"astro": "4.10.3",
3029
"fast-glob": "^3.3.2",
3130
"prettier-plugin-astro": "^0.13.0",

0 commit comments

Comments
 (0)