fractalstyler2 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/asset.d.ts +3 -0
- package/dist/components/ModeToggle.svelte +53 -0
- package/dist/components/ModeToggle.svelte.d.ts +7 -0
- package/dist/components/ThemePicker.svelte +175 -0
- package/dist/components/ThemePicker.svelte.d.ts +21 -0
- package/dist/css/fractalstyler.css +895 -8
- package/dist/css/fractalstyler.min.css +2 -2
- package/dist/index.d.ts +4 -7
- package/dist/index.js +4 -14
- package/dist/presets.core.d.ts +34 -4
- package/dist/presets.core.js +84 -13
- package/dist/presets.svelte.d.ts +19 -4
- package/dist/presets.svelte.js +38 -6
- package/dist/styles/_00_themes.sass +944 -1
- package/dist/styles/_03_containers.sass +15 -0
- package/dist/styles/_04_layouts.sass +1 -1
- package/dist/themes.d.ts +3 -1
- package/dist/themes.js +77 -42
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +27 -8
- package/plugin.json +1 -1
- package/registry.json +296 -0
- package/skills/fractal-styler/SKILL.md +9 -1
- package/skills/fractal-styler/references/fractals.md +38 -1
|
@@ -103,3 +103,18 @@
|
|
|
103
103
|
position: fixed
|
|
104
104
|
.sticky
|
|
105
105
|
position: sticky
|
|
106
|
+
|
|
107
|
+
// Scroll containers. A panel that has to hold more than fits — a long option
|
|
108
|
+
// list, a code block, a table — is a composition primitive, not a bespoke
|
|
109
|
+
// widget. Without these the only way to express it was a hand-written rule,
|
|
110
|
+
// which is the escape hatch the registry exists to avoid.
|
|
111
|
+
// Pair with a height: .scroll-y needs one to have anything to scroll against.
|
|
112
|
+
.scroll-y // Vertical scroll inside a bounded height; needs an .h-* or a constraining flex parent
|
|
113
|
+
overflow-y: auto
|
|
114
|
+
overflow-x: hidden
|
|
115
|
+
overscroll-behavior: contain
|
|
116
|
+
|
|
117
|
+
.scroll-x // Horizontal scroll inside a bounded width; .reel adds snap points
|
|
118
|
+
overflow-x: auto
|
|
119
|
+
overflow-y: hidden
|
|
120
|
+
overscroll-behavior: contain
|
package/dist/themes.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export interface ThemeMeta {
|
|
2
2
|
id: string;
|
|
3
3
|
mode: 'light' | 'dark';
|
|
4
|
+
/** The same palette in the opposite mode, when one exists. */
|
|
5
|
+
twin?: string;
|
|
4
6
|
}
|
|
5
|
-
/** The
|
|
7
|
+
/** The 76 built-in palettes. Apply with setTheme(id). */
|
|
6
8
|
export declare const themes: readonly ThemeMeta[];
|
|
7
9
|
export declare const themeIds: readonly string[];
|
package/dist/themes.js
CHANGED
|
@@ -1,45 +1,80 @@
|
|
|
1
|
-
/** The
|
|
1
|
+
/** The 76 built-in palettes. Apply with setTheme(id). */
|
|
2
2
|
export const themes = [
|
|
3
|
-
{ id: 'theme-light-default', mode: 'light' },
|
|
4
|
-
{ id: 'theme-himalaya-light', mode: 'light' },
|
|
5
|
-
{ id: 'theme-editorial-light', mode: 'light' },
|
|
6
|
-
{ id: 'theme-space-light', mode: 'light' },
|
|
7
|
-
{ id: 'theme-sun-light', mode: 'light' },
|
|
8
|
-
{ id: 'theme-monochrono-light', mode: 'light' },
|
|
9
|
-
{ id: 'theme-molly-light', mode: 'light' },
|
|
10
|
-
{ id: 'theme-malana-light', mode: 'light' },
|
|
11
|
-
{ id: 'theme-coresync-light', mode: 'light' },
|
|
12
|
-
{ id: 'theme-studio-light', mode: 'light' },
|
|
13
|
-
{ id: 'theme-matcha-light', mode: 'light' },
|
|
14
|
-
{ id: 'theme-sakura-light', mode: 'light' },
|
|
15
|
-
{ id: 'theme-nordic-frost-light', mode: 'light' },
|
|
16
|
-
{ id: 'theme-desert-dune-light', mode: 'light' },
|
|
17
|
-
{ id: 'theme-lavender-mist-light', mode: 'light' },
|
|
18
|
-
{ id: 'theme-botanical-light', mode: 'light' },
|
|
19
|
-
{ id: 'theme-clay-studio-light', mode: 'light' },
|
|
20
|
-
{ id: 'theme-solaris-light', mode: 'light' },
|
|
21
|
-
{ id: 'theme-cyberpunk-day-light', mode: 'light' },
|
|
22
|
-
{ id: 'theme-copper-patina-light', mode: 'light' },
|
|
23
|
-
{ id: 'theme-dracula-light', mode: 'light' },
|
|
24
|
-
{ id: 'theme-lagoona-dark', mode: 'dark' },
|
|
25
|
-
{ id: 'theme-frozen-dark', mode: 'dark' },
|
|
26
|
-
{ id: 'theme-night-dark', mode: 'dark' },
|
|
27
|
-
{ id: 'theme-inkworm-dark', mode: 'dark' },
|
|
28
|
-
{ id: 'theme-monochrono-dark', mode: 'dark' },
|
|
29
|
-
{ id: 'theme-fouram-dark', mode: 'dark' },
|
|
30
|
-
{ id: 'theme-wintercame-dark', mode: 'dark' },
|
|
31
|
-
{ id: 'theme-sun-dark', mode: 'dark' },
|
|
32
|
-
{ id: 'theme-console-dark', mode: 'dark' },
|
|
33
|
-
{ id: 'theme-dracula-dark', mode: 'dark' },
|
|
34
|
-
{ id: 'theme-catppuccin-mocha', mode: '
|
|
35
|
-
{ id: 'theme-nord-dark', mode: 'dark' },
|
|
36
|
-
{ id: 'theme-gruvbox-dark', mode: 'dark' },
|
|
37
|
-
{ id: 'theme-onedark-pro', mode: '
|
|
38
|
-
{ id: 'theme-rose-pine-dark', mode: 'dark' },
|
|
39
|
-
{ id: 'theme-midnight-emerald-dark', mode: 'dark' },
|
|
40
|
-
{ id: 'theme-obsidian-crimson-dark', mode: 'dark' },
|
|
41
|
-
{ id: 'theme-synthwave-dark', mode: 'dark' },
|
|
42
|
-
{ id: 'theme-deep-ocean-dark', mode: 'dark' },
|
|
43
|
-
{ id: 'theme-amethyst-void-dark', mode: 'dark' }
|
|
3
|
+
{ id: 'theme-light-default', mode: 'light', twin: 'theme-dark-default' },
|
|
4
|
+
{ id: 'theme-himalaya-light', mode: 'light', twin: 'theme-himalaya-dark' },
|
|
5
|
+
{ id: 'theme-editorial-light', mode: 'light', twin: 'theme-editorial-dark' },
|
|
6
|
+
{ id: 'theme-space-light', mode: 'light', twin: 'theme-space-dark' },
|
|
7
|
+
{ id: 'theme-sun-light', mode: 'light', twin: 'theme-sun-dark' },
|
|
8
|
+
{ id: 'theme-monochrono-light', mode: 'light', twin: 'theme-monochrono-dark' },
|
|
9
|
+
{ id: 'theme-molly-light', mode: 'light', twin: 'theme-molly-dark' },
|
|
10
|
+
{ id: 'theme-malana-light', mode: 'light', twin: 'theme-malana-dark' },
|
|
11
|
+
{ id: 'theme-coresync-light', mode: 'light', twin: 'theme-coresync-dark' },
|
|
12
|
+
{ id: 'theme-studio-light', mode: 'light', twin: 'theme-studio-dark' },
|
|
13
|
+
{ id: 'theme-matcha-light', mode: 'light', twin: 'theme-matcha-dark' },
|
|
14
|
+
{ id: 'theme-sakura-light', mode: 'light', twin: 'theme-sakura-dark' },
|
|
15
|
+
{ id: 'theme-nordic-frost-light', mode: 'light', twin: 'theme-nordic-frost-dark' },
|
|
16
|
+
{ id: 'theme-desert-dune-light', mode: 'light', twin: 'theme-desert-dune-dark' },
|
|
17
|
+
{ id: 'theme-lavender-mist-light', mode: 'light', twin: 'theme-lavender-mist-dark' },
|
|
18
|
+
{ id: 'theme-botanical-light', mode: 'light', twin: 'theme-botanical-dark' },
|
|
19
|
+
{ id: 'theme-clay-studio-light', mode: 'light', twin: 'theme-clay-studio-dark' },
|
|
20
|
+
{ id: 'theme-solaris-light', mode: 'light', twin: 'theme-solaris-dark' },
|
|
21
|
+
{ id: 'theme-cyberpunk-day-light', mode: 'light', twin: 'theme-cyberpunk-day-dark' },
|
|
22
|
+
{ id: 'theme-copper-patina-light', mode: 'light', twin: 'theme-copper-patina-dark' },
|
|
23
|
+
{ id: 'theme-dracula-light', mode: 'light', twin: 'theme-dracula-dark' },
|
|
24
|
+
{ id: 'theme-lagoona-dark', mode: 'dark', twin: 'theme-lagoona-light' },
|
|
25
|
+
{ id: 'theme-frozen-dark', mode: 'dark', twin: 'theme-frozen-light' },
|
|
26
|
+
{ id: 'theme-night-dark', mode: 'dark', twin: 'theme-night-light' },
|
|
27
|
+
{ id: 'theme-inkworm-dark', mode: 'dark', twin: 'theme-inkworm-light' },
|
|
28
|
+
{ id: 'theme-monochrono-dark', mode: 'dark', twin: 'theme-monochrono-light' },
|
|
29
|
+
{ id: 'theme-fouram-dark', mode: 'dark', twin: 'theme-fouram-light' },
|
|
30
|
+
{ id: 'theme-wintercame-dark', mode: 'dark', twin: 'theme-wintercame-light' },
|
|
31
|
+
{ id: 'theme-sun-dark', mode: 'dark', twin: 'theme-sun-light' },
|
|
32
|
+
{ id: 'theme-console-dark', mode: 'dark', twin: 'theme-console-light' },
|
|
33
|
+
{ id: 'theme-dracula-dark', mode: 'dark', twin: 'theme-dracula-light' },
|
|
34
|
+
{ id: 'theme-catppuccin-mocha', mode: 'dark', twin: 'theme-catppuccin-latte' },
|
|
35
|
+
{ id: 'theme-nord-dark', mode: 'dark', twin: 'theme-nord-light' },
|
|
36
|
+
{ id: 'theme-gruvbox-dark', mode: 'dark', twin: 'theme-gruvbox-light' },
|
|
37
|
+
{ id: 'theme-onedark-pro', mode: 'dark', twin: 'theme-onelight-pro' },
|
|
38
|
+
{ id: 'theme-rose-pine-dark', mode: 'dark', twin: 'theme-rose-pine-light' },
|
|
39
|
+
{ id: 'theme-midnight-emerald-dark', mode: 'dark', twin: 'theme-midnight-emerald-light' },
|
|
40
|
+
{ id: 'theme-obsidian-crimson-dark', mode: 'dark', twin: 'theme-obsidian-crimson-light' },
|
|
41
|
+
{ id: 'theme-synthwave-dark', mode: 'dark', twin: 'theme-synthwave-light' },
|
|
42
|
+
{ id: 'theme-deep-ocean-dark', mode: 'dark', twin: 'theme-deep-ocean-light' },
|
|
43
|
+
{ id: 'theme-amethyst-void-dark', mode: 'dark', twin: 'theme-amethyst-void-light' },
|
|
44
|
+
{ id: 'theme-dark-default', mode: 'dark', twin: 'theme-light-default' },
|
|
45
|
+
{ id: 'theme-himalaya-dark', mode: 'dark', twin: 'theme-himalaya-light' },
|
|
46
|
+
{ id: 'theme-editorial-dark', mode: 'dark', twin: 'theme-editorial-light' },
|
|
47
|
+
{ id: 'theme-space-dark', mode: 'dark', twin: 'theme-space-light' },
|
|
48
|
+
{ id: 'theme-molly-dark', mode: 'dark', twin: 'theme-molly-light' },
|
|
49
|
+
{ id: 'theme-malana-dark', mode: 'dark', twin: 'theme-malana-light' },
|
|
50
|
+
{ id: 'theme-coresync-dark', mode: 'dark', twin: 'theme-coresync-light' },
|
|
51
|
+
{ id: 'theme-studio-dark', mode: 'dark', twin: 'theme-studio-light' },
|
|
52
|
+
{ id: 'theme-matcha-dark', mode: 'dark', twin: 'theme-matcha-light' },
|
|
53
|
+
{ id: 'theme-sakura-dark', mode: 'dark', twin: 'theme-sakura-light' },
|
|
54
|
+
{ id: 'theme-nordic-frost-dark', mode: 'dark', twin: 'theme-nordic-frost-light' },
|
|
55
|
+
{ id: 'theme-desert-dune-dark', mode: 'dark', twin: 'theme-desert-dune-light' },
|
|
56
|
+
{ id: 'theme-lavender-mist-dark', mode: 'dark', twin: 'theme-lavender-mist-light' },
|
|
57
|
+
{ id: 'theme-botanical-dark', mode: 'dark', twin: 'theme-botanical-light' },
|
|
58
|
+
{ id: 'theme-clay-studio-dark', mode: 'dark', twin: 'theme-clay-studio-light' },
|
|
59
|
+
{ id: 'theme-solaris-dark', mode: 'dark', twin: 'theme-solaris-light' },
|
|
60
|
+
{ id: 'theme-cyberpunk-day-dark', mode: 'dark', twin: 'theme-cyberpunk-day-light' },
|
|
61
|
+
{ id: 'theme-copper-patina-dark', mode: 'dark', twin: 'theme-copper-patina-light' },
|
|
62
|
+
{ id: 'theme-lagoona-light', mode: 'light', twin: 'theme-lagoona-dark' },
|
|
63
|
+
{ id: 'theme-frozen-light', mode: 'light', twin: 'theme-frozen-dark' },
|
|
64
|
+
{ id: 'theme-night-light', mode: 'light', twin: 'theme-night-dark' },
|
|
65
|
+
{ id: 'theme-inkworm-light', mode: 'light', twin: 'theme-inkworm-dark' },
|
|
66
|
+
{ id: 'theme-fouram-light', mode: 'light', twin: 'theme-fouram-dark' },
|
|
67
|
+
{ id: 'theme-wintercame-light', mode: 'light', twin: 'theme-wintercame-dark' },
|
|
68
|
+
{ id: 'theme-console-light', mode: 'light', twin: 'theme-console-dark' },
|
|
69
|
+
{ id: 'theme-catppuccin-latte', mode: 'light', twin: 'theme-catppuccin-mocha' },
|
|
70
|
+
{ id: 'theme-nord-light', mode: 'light', twin: 'theme-nord-dark' },
|
|
71
|
+
{ id: 'theme-gruvbox-light', mode: 'light', twin: 'theme-gruvbox-dark' },
|
|
72
|
+
{ id: 'theme-onelight-pro', mode: 'light', twin: 'theme-onedark-pro' },
|
|
73
|
+
{ id: 'theme-rose-pine-light', mode: 'light', twin: 'theme-rose-pine-dark' },
|
|
74
|
+
{ id: 'theme-midnight-emerald-light', mode: 'light', twin: 'theme-midnight-emerald-dark' },
|
|
75
|
+
{ id: 'theme-obsidian-crimson-light', mode: 'light', twin: 'theme-obsidian-crimson-dark' },
|
|
76
|
+
{ id: 'theme-synthwave-light', mode: 'light', twin: 'theme-synthwave-dark' },
|
|
77
|
+
{ id: 'theme-deep-ocean-light', mode: 'light', twin: 'theme-deep-ocean-dark' },
|
|
78
|
+
{ id: 'theme-amethyst-void-light', mode: 'light', twin: 'theme-amethyst-void-dark' }
|
|
44
79
|
];
|
|
45
80
|
export const themeIds = themes.map((t) => t.id);
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "0.
|
|
1
|
+
export declare const version = "0.8.0";
|
package/dist/version.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated from package.json by scripts/update-registry.js — do not edit.
|
|
2
|
-
export const version = '0.
|
|
2
|
+
export const version = '0.8.0';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fractalstyler2",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "A composition styling system, shipped as plain CSS and as editable SASS. The class registry is the public API: compose in markup, write no stylesheet.",
|
|
5
5
|
"bin": {
|
|
6
6
|
"fractalstyler2": "./dist/cli.js",
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
17
17
|
"validate:deck": "node scripts/validate-deck.js",
|
|
18
18
|
"css": "node scripts/build-css.js",
|
|
19
|
-
"version": "npm run registry && git add -A"
|
|
19
|
+
"version": "npm run registry && git add -A",
|
|
20
|
+
"pair": "node scripts/generate-pairs.mjs && node scripts/update-registry.js"
|
|
20
21
|
},
|
|
21
22
|
"files": [
|
|
22
23
|
"dist",
|
|
@@ -38,19 +39,37 @@
|
|
|
38
39
|
"types": "./dist/index.d.ts",
|
|
39
40
|
"svelte": "./dist/index.js"
|
|
40
41
|
},
|
|
41
|
-
"./styles":
|
|
42
|
+
"./styles": {
|
|
43
|
+
"types": "./dist/asset.d.ts",
|
|
44
|
+
"default": "./dist/styles/index.sass"
|
|
45
|
+
},
|
|
42
46
|
"./styles/*": "./dist/styles/*",
|
|
43
|
-
"./tokens":
|
|
47
|
+
"./tokens": {
|
|
48
|
+
"types": "./dist/asset.d.ts",
|
|
49
|
+
"default": "./dist/styles/_00_tokens.sass"
|
|
50
|
+
},
|
|
44
51
|
"./mcp": "./dist/mcp/server.js",
|
|
45
52
|
"./package.json": "./package.json",
|
|
46
|
-
"./themes":
|
|
53
|
+
"./themes": {
|
|
54
|
+
"types": "./dist/asset.d.ts",
|
|
55
|
+
"default": "./dist/styles/_00_themes.sass"
|
|
56
|
+
},
|
|
47
57
|
"./presets": {
|
|
48
58
|
"types": "./dist/presets.core.d.ts",
|
|
49
59
|
"default": "./dist/presets.core.js"
|
|
50
60
|
},
|
|
51
|
-
"./css":
|
|
52
|
-
|
|
53
|
-
|
|
61
|
+
"./css": {
|
|
62
|
+
"types": "./dist/asset.d.ts",
|
|
63
|
+
"default": "./dist/css/fractalstyler.css"
|
|
64
|
+
},
|
|
65
|
+
"./css/min": {
|
|
66
|
+
"types": "./dist/asset.d.ts",
|
|
67
|
+
"default": "./dist/css/fractalstyler.min.css"
|
|
68
|
+
},
|
|
69
|
+
"./styles/presets": {
|
|
70
|
+
"types": "./dist/asset.d.ts",
|
|
71
|
+
"default": "./dist/styles/_00_presets.sass"
|
|
72
|
+
}
|
|
54
73
|
},
|
|
55
74
|
"peerDependencies": {
|
|
56
75
|
"svelte": "^5.0.0"
|
package/plugin.json
CHANGED
package/registry.json
CHANGED
|
@@ -631,6 +631,286 @@
|
|
|
631
631
|
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
632
632
|
"example": "<html class=\"theme-amethyst-void-dark\" data-mode=\"dark\">"
|
|
633
633
|
},
|
|
634
|
+
{
|
|
635
|
+
"class": ".theme-dark-default",
|
|
636
|
+
"layer": "L0",
|
|
637
|
+
"property": "22 colour tokens",
|
|
638
|
+
"file": "_00_themes.sass",
|
|
639
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
640
|
+
"example": "<html class=\"theme-dark-default\" data-mode=\"dark\">"
|
|
641
|
+
},
|
|
642
|
+
{
|
|
643
|
+
"class": ".theme-himalaya-dark",
|
|
644
|
+
"layer": "L0",
|
|
645
|
+
"property": "22 colour tokens",
|
|
646
|
+
"file": "_00_themes.sass",
|
|
647
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
648
|
+
"example": "<html class=\"theme-himalaya-dark\" data-mode=\"dark\">"
|
|
649
|
+
},
|
|
650
|
+
{
|
|
651
|
+
"class": ".theme-editorial-dark",
|
|
652
|
+
"layer": "L0",
|
|
653
|
+
"property": "22 colour tokens",
|
|
654
|
+
"file": "_00_themes.sass",
|
|
655
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
656
|
+
"example": "<html class=\"theme-editorial-dark\" data-mode=\"dark\">"
|
|
657
|
+
},
|
|
658
|
+
{
|
|
659
|
+
"class": ".theme-space-dark",
|
|
660
|
+
"layer": "L0",
|
|
661
|
+
"property": "22 colour tokens",
|
|
662
|
+
"file": "_00_themes.sass",
|
|
663
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
664
|
+
"example": "<html class=\"theme-space-dark\" data-mode=\"dark\">"
|
|
665
|
+
},
|
|
666
|
+
{
|
|
667
|
+
"class": ".theme-molly-dark",
|
|
668
|
+
"layer": "L0",
|
|
669
|
+
"property": "22 colour tokens",
|
|
670
|
+
"file": "_00_themes.sass",
|
|
671
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
672
|
+
"example": "<html class=\"theme-molly-dark\" data-mode=\"dark\">"
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"class": ".theme-malana-dark",
|
|
676
|
+
"layer": "L0",
|
|
677
|
+
"property": "22 colour tokens",
|
|
678
|
+
"file": "_00_themes.sass",
|
|
679
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
680
|
+
"example": "<html class=\"theme-malana-dark\" data-mode=\"dark\">"
|
|
681
|
+
},
|
|
682
|
+
{
|
|
683
|
+
"class": ".theme-coresync-dark",
|
|
684
|
+
"layer": "L0",
|
|
685
|
+
"property": "22 colour tokens",
|
|
686
|
+
"file": "_00_themes.sass",
|
|
687
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
688
|
+
"example": "<html class=\"theme-coresync-dark\" data-mode=\"dark\">"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"class": ".theme-studio-dark",
|
|
692
|
+
"layer": "L0",
|
|
693
|
+
"property": "22 colour tokens",
|
|
694
|
+
"file": "_00_themes.sass",
|
|
695
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
696
|
+
"example": "<html class=\"theme-studio-dark\" data-mode=\"dark\">"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"class": ".theme-matcha-dark",
|
|
700
|
+
"layer": "L0",
|
|
701
|
+
"property": "22 colour tokens",
|
|
702
|
+
"file": "_00_themes.sass",
|
|
703
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
704
|
+
"example": "<html class=\"theme-matcha-dark\" data-mode=\"dark\">"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"class": ".theme-sakura-dark",
|
|
708
|
+
"layer": "L0",
|
|
709
|
+
"property": "22 colour tokens",
|
|
710
|
+
"file": "_00_themes.sass",
|
|
711
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
712
|
+
"example": "<html class=\"theme-sakura-dark\" data-mode=\"dark\">"
|
|
713
|
+
},
|
|
714
|
+
{
|
|
715
|
+
"class": ".theme-nordic-frost-dark",
|
|
716
|
+
"layer": "L0",
|
|
717
|
+
"property": "22 colour tokens",
|
|
718
|
+
"file": "_00_themes.sass",
|
|
719
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
720
|
+
"example": "<html class=\"theme-nordic-frost-dark\" data-mode=\"dark\">"
|
|
721
|
+
},
|
|
722
|
+
{
|
|
723
|
+
"class": ".theme-desert-dune-dark",
|
|
724
|
+
"layer": "L0",
|
|
725
|
+
"property": "22 colour tokens",
|
|
726
|
+
"file": "_00_themes.sass",
|
|
727
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
728
|
+
"example": "<html class=\"theme-desert-dune-dark\" data-mode=\"dark\">"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"class": ".theme-lavender-mist-dark",
|
|
732
|
+
"layer": "L0",
|
|
733
|
+
"property": "22 colour tokens",
|
|
734
|
+
"file": "_00_themes.sass",
|
|
735
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
736
|
+
"example": "<html class=\"theme-lavender-mist-dark\" data-mode=\"dark\">"
|
|
737
|
+
},
|
|
738
|
+
{
|
|
739
|
+
"class": ".theme-botanical-dark",
|
|
740
|
+
"layer": "L0",
|
|
741
|
+
"property": "22 colour tokens",
|
|
742
|
+
"file": "_00_themes.sass",
|
|
743
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
744
|
+
"example": "<html class=\"theme-botanical-dark\" data-mode=\"dark\">"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"class": ".theme-clay-studio-dark",
|
|
748
|
+
"layer": "L0",
|
|
749
|
+
"property": "22 colour tokens",
|
|
750
|
+
"file": "_00_themes.sass",
|
|
751
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
752
|
+
"example": "<html class=\"theme-clay-studio-dark\" data-mode=\"dark\">"
|
|
753
|
+
},
|
|
754
|
+
{
|
|
755
|
+
"class": ".theme-solaris-dark",
|
|
756
|
+
"layer": "L0",
|
|
757
|
+
"property": "22 colour tokens",
|
|
758
|
+
"file": "_00_themes.sass",
|
|
759
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
760
|
+
"example": "<html class=\"theme-solaris-dark\" data-mode=\"dark\">"
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"class": ".theme-cyberpunk-day-dark",
|
|
764
|
+
"layer": "L0",
|
|
765
|
+
"property": "22 colour tokens",
|
|
766
|
+
"file": "_00_themes.sass",
|
|
767
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
768
|
+
"example": "<html class=\"theme-cyberpunk-day-dark\" data-mode=\"dark\">"
|
|
769
|
+
},
|
|
770
|
+
{
|
|
771
|
+
"class": ".theme-copper-patina-dark",
|
|
772
|
+
"layer": "L0",
|
|
773
|
+
"property": "22 colour tokens",
|
|
774
|
+
"file": "_00_themes.sass",
|
|
775
|
+
"description": "Built-in dark palette — pair with data-mode=\"dark\"",
|
|
776
|
+
"example": "<html class=\"theme-copper-patina-dark\" data-mode=\"dark\">"
|
|
777
|
+
},
|
|
778
|
+
{
|
|
779
|
+
"class": ".theme-lagoona-light",
|
|
780
|
+
"layer": "L0",
|
|
781
|
+
"property": "22 colour tokens",
|
|
782
|
+
"file": "_00_themes.sass",
|
|
783
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
784
|
+
"example": "<html class=\"theme-lagoona-light\" data-mode=\"light\">"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"class": ".theme-frozen-light",
|
|
788
|
+
"layer": "L0",
|
|
789
|
+
"property": "22 colour tokens",
|
|
790
|
+
"file": "_00_themes.sass",
|
|
791
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
792
|
+
"example": "<html class=\"theme-frozen-light\" data-mode=\"light\">"
|
|
793
|
+
},
|
|
794
|
+
{
|
|
795
|
+
"class": ".theme-night-light",
|
|
796
|
+
"layer": "L0",
|
|
797
|
+
"property": "22 colour tokens",
|
|
798
|
+
"file": "_00_themes.sass",
|
|
799
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
800
|
+
"example": "<html class=\"theme-night-light\" data-mode=\"light\">"
|
|
801
|
+
},
|
|
802
|
+
{
|
|
803
|
+
"class": ".theme-inkworm-light",
|
|
804
|
+
"layer": "L0",
|
|
805
|
+
"property": "22 colour tokens",
|
|
806
|
+
"file": "_00_themes.sass",
|
|
807
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
808
|
+
"example": "<html class=\"theme-inkworm-light\" data-mode=\"light\">"
|
|
809
|
+
},
|
|
810
|
+
{
|
|
811
|
+
"class": ".theme-fouram-light",
|
|
812
|
+
"layer": "L0",
|
|
813
|
+
"property": "22 colour tokens",
|
|
814
|
+
"file": "_00_themes.sass",
|
|
815
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
816
|
+
"example": "<html class=\"theme-fouram-light\" data-mode=\"light\">"
|
|
817
|
+
},
|
|
818
|
+
{
|
|
819
|
+
"class": ".theme-wintercame-light",
|
|
820
|
+
"layer": "L0",
|
|
821
|
+
"property": "22 colour tokens",
|
|
822
|
+
"file": "_00_themes.sass",
|
|
823
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
824
|
+
"example": "<html class=\"theme-wintercame-light\" data-mode=\"light\">"
|
|
825
|
+
},
|
|
826
|
+
{
|
|
827
|
+
"class": ".theme-console-light",
|
|
828
|
+
"layer": "L0",
|
|
829
|
+
"property": "22 colour tokens",
|
|
830
|
+
"file": "_00_themes.sass",
|
|
831
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
832
|
+
"example": "<html class=\"theme-console-light\" data-mode=\"light\">"
|
|
833
|
+
},
|
|
834
|
+
{
|
|
835
|
+
"class": ".theme-catppuccin-latte",
|
|
836
|
+
"layer": "L0",
|
|
837
|
+
"property": "22 colour tokens",
|
|
838
|
+
"file": "_00_themes.sass",
|
|
839
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
840
|
+
"example": "<html class=\"theme-catppuccin-latte\" data-mode=\"light\">"
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"class": ".theme-nord-light",
|
|
844
|
+
"layer": "L0",
|
|
845
|
+
"property": "22 colour tokens",
|
|
846
|
+
"file": "_00_themes.sass",
|
|
847
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
848
|
+
"example": "<html class=\"theme-nord-light\" data-mode=\"light\">"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"class": ".theme-gruvbox-light",
|
|
852
|
+
"layer": "L0",
|
|
853
|
+
"property": "22 colour tokens",
|
|
854
|
+
"file": "_00_themes.sass",
|
|
855
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
856
|
+
"example": "<html class=\"theme-gruvbox-light\" data-mode=\"light\">"
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
"class": ".theme-onelight-pro",
|
|
860
|
+
"layer": "L0",
|
|
861
|
+
"property": "22 colour tokens",
|
|
862
|
+
"file": "_00_themes.sass",
|
|
863
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
864
|
+
"example": "<html class=\"theme-onelight-pro\" data-mode=\"light\">"
|
|
865
|
+
},
|
|
866
|
+
{
|
|
867
|
+
"class": ".theme-rose-pine-light",
|
|
868
|
+
"layer": "L0",
|
|
869
|
+
"property": "22 colour tokens",
|
|
870
|
+
"file": "_00_themes.sass",
|
|
871
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
872
|
+
"example": "<html class=\"theme-rose-pine-light\" data-mode=\"light\">"
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"class": ".theme-midnight-emerald-light",
|
|
876
|
+
"layer": "L0",
|
|
877
|
+
"property": "22 colour tokens",
|
|
878
|
+
"file": "_00_themes.sass",
|
|
879
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
880
|
+
"example": "<html class=\"theme-midnight-emerald-light\" data-mode=\"light\">"
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"class": ".theme-obsidian-crimson-light",
|
|
884
|
+
"layer": "L0",
|
|
885
|
+
"property": "22 colour tokens",
|
|
886
|
+
"file": "_00_themes.sass",
|
|
887
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
888
|
+
"example": "<html class=\"theme-obsidian-crimson-light\" data-mode=\"light\">"
|
|
889
|
+
},
|
|
890
|
+
{
|
|
891
|
+
"class": ".theme-synthwave-light",
|
|
892
|
+
"layer": "L0",
|
|
893
|
+
"property": "22 colour tokens",
|
|
894
|
+
"file": "_00_themes.sass",
|
|
895
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
896
|
+
"example": "<html class=\"theme-synthwave-light\" data-mode=\"light\">"
|
|
897
|
+
},
|
|
898
|
+
{
|
|
899
|
+
"class": ".theme-deep-ocean-light",
|
|
900
|
+
"layer": "L0",
|
|
901
|
+
"property": "22 colour tokens",
|
|
902
|
+
"file": "_00_themes.sass",
|
|
903
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
904
|
+
"example": "<html class=\"theme-deep-ocean-light\" data-mode=\"light\">"
|
|
905
|
+
},
|
|
906
|
+
{
|
|
907
|
+
"class": ".theme-amethyst-void-light",
|
|
908
|
+
"layer": "L0",
|
|
909
|
+
"property": "22 colour tokens",
|
|
910
|
+
"file": "_00_themes.sass",
|
|
911
|
+
"description": "Built-in light palette — pair with data-mode=\"light\"",
|
|
912
|
+
"example": "<html class=\"theme-amethyst-void-light\" data-mode=\"light\">"
|
|
913
|
+
},
|
|
634
914
|
{
|
|
635
915
|
"class": ".box",
|
|
636
916
|
"layer": "L2",
|
|
@@ -975,6 +1255,22 @@
|
|
|
975
1255
|
"description": ".sticky component / container",
|
|
976
1256
|
"example": "<div class=\"sticky\">"
|
|
977
1257
|
},
|
|
1258
|
+
{
|
|
1259
|
+
"class": ".scroll-y",
|
|
1260
|
+
"layer": "L2",
|
|
1261
|
+
"property": "",
|
|
1262
|
+
"file": "_03_containers.sass",
|
|
1263
|
+
"description": "Vertical scroll inside a bounded height; needs an .h-* or a constraining flex parent",
|
|
1264
|
+
"example": "<div class=\"scroll-y\">"
|
|
1265
|
+
},
|
|
1266
|
+
{
|
|
1267
|
+
"class": ".scroll-x",
|
|
1268
|
+
"layer": "L2",
|
|
1269
|
+
"property": "",
|
|
1270
|
+
"file": "_03_containers.sass",
|
|
1271
|
+
"description": "Horizontal scroll inside a bounded width; .reel adds snap points",
|
|
1272
|
+
"example": "<div class=\"scroll-x\">"
|
|
1273
|
+
},
|
|
978
1274
|
{
|
|
979
1275
|
"class": ".grid-1",
|
|
980
1276
|
"layer": "L3",
|
|
@@ -9,7 +9,7 @@ description: Compose UI components and page layouts with the fractalstyler2 clas
|
|
|
9
9
|
entire public API.** You compose in markup; you do not author CSS.
|
|
10
10
|
|
|
11
11
|
It ships as plain CSS and as editable SASS, from one source. Which one a
|
|
12
|
-
project took changes nothing you do: the classes, tokens,
|
|
12
|
+
project took changes nothing you do: the classes, tokens, 76 themes and four
|
|
13
13
|
preset axes are identical either way. Check for `fractalstyler.css` or a
|
|
14
14
|
`src/lib/styles/` directory to know which you are in — and never assume a SASS
|
|
15
15
|
toolchain exists.
|
|
@@ -154,6 +154,14 @@ An absent attribute means that axis's default. Values are in
|
|
|
154
154
|
`references/tokens.md`. Presets remap tokens only; they never require a markup
|
|
155
155
|
change.
|
|
156
156
|
|
|
157
|
+
To drive any of this from code — set a preset, toggle light/dark, apply one of
|
|
158
|
+
the 76 palettes, or read what is currently active — use the package runtime
|
|
159
|
+
rather than writing to `document.documentElement` yourself. It persists the
|
|
160
|
+
choice and stamps it before first paint. `docs/14-api.md` is the complete
|
|
161
|
+
reference; the short version is `initPresets()` once on mount, then
|
|
162
|
+
`setPreset`, `toggleMode`, and `setTheme`. Prebuilt controls ship as
|
|
163
|
+
`ModeToggle`, `ThemePicker`, and one picker per axis.
|
|
164
|
+
|
|
157
165
|
---
|
|
158
166
|
|
|
159
167
|
## MCP Tools
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Fractalstyler2 — Class Reference
|
|
2
2
|
|
|
3
3
|
GENERATED FILE — do not edit. Emitted by `scripts/update-registry.js` from the
|
|
4
|
-
parsed stylesheet.
|
|
4
|
+
parsed stylesheet. 287 classes across 89 tokens.
|
|
5
5
|
|
|
6
6
|
**The classes below are the entire public API.** The system defines no
|
|
7
7
|
authoring mixins and no SASS functions — `+stack`, `+surface`, `space()` and
|
|
@@ -62,6 +62,41 @@ Raw values. Every token also exists as a class.
|
|
|
62
62
|
| `.theme-synthwave-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
63
63
|
| `.theme-deep-ocean-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
64
64
|
| `.theme-amethyst-void-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
65
|
+
| `.theme-dark-default` | 22 colour tokens | `_00_themes.sass` |
|
|
66
|
+
| `.theme-himalaya-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
67
|
+
| `.theme-editorial-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
68
|
+
| `.theme-space-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
69
|
+
| `.theme-molly-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
70
|
+
| `.theme-malana-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
71
|
+
| `.theme-coresync-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
72
|
+
| `.theme-studio-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
73
|
+
| `.theme-matcha-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
74
|
+
| `.theme-sakura-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
75
|
+
| `.theme-nordic-frost-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
76
|
+
| `.theme-desert-dune-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
77
|
+
| `.theme-lavender-mist-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
78
|
+
| `.theme-botanical-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
79
|
+
| `.theme-clay-studio-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
80
|
+
| `.theme-solaris-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
81
|
+
| `.theme-cyberpunk-day-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
82
|
+
| `.theme-copper-patina-dark` | 22 colour tokens | `_00_themes.sass` |
|
|
83
|
+
| `.theme-lagoona-light` | 22 colour tokens | `_00_themes.sass` |
|
|
84
|
+
| `.theme-frozen-light` | 22 colour tokens | `_00_themes.sass` |
|
|
85
|
+
| `.theme-night-light` | 22 colour tokens | `_00_themes.sass` |
|
|
86
|
+
| `.theme-inkworm-light` | 22 colour tokens | `_00_themes.sass` |
|
|
87
|
+
| `.theme-fouram-light` | 22 colour tokens | `_00_themes.sass` |
|
|
88
|
+
| `.theme-wintercame-light` | 22 colour tokens | `_00_themes.sass` |
|
|
89
|
+
| `.theme-console-light` | 22 colour tokens | `_00_themes.sass` |
|
|
90
|
+
| `.theme-catppuccin-latte` | 22 colour tokens | `_00_themes.sass` |
|
|
91
|
+
| `.theme-nord-light` | 22 colour tokens | `_00_themes.sass` |
|
|
92
|
+
| `.theme-gruvbox-light` | 22 colour tokens | `_00_themes.sass` |
|
|
93
|
+
| `.theme-onelight-pro` | 22 colour tokens | `_00_themes.sass` |
|
|
94
|
+
| `.theme-rose-pine-light` | 22 colour tokens | `_00_themes.sass` |
|
|
95
|
+
| `.theme-midnight-emerald-light` | 22 colour tokens | `_00_themes.sass` |
|
|
96
|
+
| `.theme-obsidian-crimson-light` | 22 colour tokens | `_00_themes.sass` |
|
|
97
|
+
| `.theme-synthwave-light` | 22 colour tokens | `_00_themes.sass` |
|
|
98
|
+
| `.theme-deep-ocean-light` | 22 colour tokens | `_00_themes.sass` |
|
|
99
|
+
| `.theme-amethyst-void-light` | 22 colour tokens | `_00_themes.sass` |
|
|
65
100
|
|
|
66
101
|
---
|
|
67
102
|
|
|
@@ -154,6 +189,8 @@ Flow and alignment. x* is ALWAYS horizontal, y* is ALWAYS vertical, in every con
|
|
|
154
189
|
| `.absolute` | .absolute component / container | `_03_containers.sass` |
|
|
155
190
|
| `.fixed` | .fixed component / container | `_03_containers.sass` |
|
|
156
191
|
| `.sticky` | .sticky component / container | `_03_containers.sass` |
|
|
192
|
+
| `.scroll-y` | Vertical scroll inside a bounded height; needs an .h-* or a constraining flex parent | `_03_containers.sass` |
|
|
193
|
+
| `.scroll-x` | Horizontal scroll inside a bounded width; .reel adds snap points | `_03_containers.sass` |
|
|
157
194
|
|
|
158
195
|
---
|
|
159
196
|
|