mnfst 0.5.80 → 0.5.81

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.
@@ -41,18 +41,10 @@
41
41
  .h4,
42
42
  .h5,
43
43
  .h6 {
44
- font-weight: bolder;
44
+ font-weight: 550;
45
45
  word-wrap: break-word
46
46
  }
47
47
 
48
- :where(h1, h2, h3, h4):not(.unstyle),
49
- .h1,
50
- .h2,
51
- .h3,
52
- .h4 {
53
- font-weight: 700;
54
- }
55
-
56
48
  :where(h1, h2, h3):not(.unstyle),
57
49
  .h1,
58
50
  .h2,
@@ -62,18 +54,18 @@
62
54
 
63
55
  :where(h1):not(.unstyle),
64
56
  .h1 {
65
- font-size: 2.25rem;
57
+ font-size: 3rem;
66
58
  line-height: 1.25
67
59
  }
68
60
 
69
61
  :where(h2):not(.unstyle),
70
62
  .h2 {
71
- font-size: 1.5rem
63
+ font-size: 2.25rem
72
64
  }
73
65
 
74
66
  :where(h3):not(.unstyle),
75
67
  .h3 {
76
- font-size: 1.25rem;
68
+ font-size: 1.75rem;
77
69
  line-height: 1.4
78
70
  }
79
71
 
@@ -84,18 +76,21 @@
84
76
 
85
77
  :where(h5):not(.unstyle),
86
78
  .h5 {
87
- font-weight: 600;
88
- font-size: .875rem;
79
+ font-size: 1rem;
89
80
  line-height: 1rem;
90
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09))
81
+ color: var(--color-content-neutral, black);
82
+
83
+ & a:hover {
84
+ color: var(--color-content-stark, black)
85
+ }
91
86
  }
92
87
 
93
88
  :where(h6):not(.unstyle),
94
89
  .h6 {
95
- font-weight: 600;
90
+ font-family: var(--font-mono);
96
91
  font-size: 0.8125rem;
97
92
  line-height: 1.4;
98
- text-transform: uppercase;
93
+ color: var(--color-brand-content, black)
99
94
  }
100
95
 
101
96
  /* Paragraphs */
@@ -106,18 +101,15 @@
106
101
 
107
102
  /* Links */
108
103
  :where(a:not([role=button]), button.link):not(.unstyle) {
109
- text-decoration: underline;
110
- text-underline-offset: 2px;
104
+ text-align: unset;
105
+ text-decoration: none;
111
106
  cursor: pointer;
112
- transition: var(--transition, all .05s ease-in-out);
113
-
114
- &:hover {
115
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09))
116
- }
107
+ transition: var(--transition, all .05s ease-in-out)
108
+ }
117
109
 
118
- &:active {
119
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09))
120
- }
110
+ :where(abbr, address, blockquote, code, del, figcaption, h1, h2, h3, h4, h5, h6, ins, legend, p, small, cite, q, .h1, .h2, .h3, .h4, .h5, .h6, .paragraph, .small, .caption, .label):not(.unstyle)>a {
111
+ text-decoration: underline;
112
+ text-underline-offset: 2px
121
113
  }
122
114
 
123
115
  /* Blockquotes */
@@ -127,8 +119,8 @@
127
119
  max-width: 100%;
128
120
  margin: calc(var(--spacing, 0.25rem) * 4) 0;
129
121
  padding: 0 calc(var(--spacing, 0.25rem) * 4);
130
- color: var(--color-content-stark, oklch(16.6% 0.026 267));
131
- border-inline-start: 0.25rem solid color-mix(in oklch, var(--color-content-stark, oklch(16.6% 0.026 267)) 25%, transparent);
122
+ color: var(--color-content-stark, black);
123
+ border-inline-start: 0.25rem solid color-mix(in oklch, var(--color-content-stark, black) 25%, transparent);
132
124
  border-inline-end: none;
133
125
 
134
126
  & * {
@@ -141,12 +133,13 @@
141
133
  display: inline-block;
142
134
  width: fit-content;
143
135
  height: fit-content;
144
- padding: 0.1ch 0.5ch;
136
+ padding: 0 0.7ch;
145
137
  font-size: 82.5%;
138
+ line-height: 1.4;
146
139
  word-wrap: break-word;
147
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09));
148
- background-color: color-mix(in oklch, var(--color-content-neutral, oklch(48.26% 0.0365 255.09)) 10%, transparent);
149
- border: 1px solid color-mix(in oklch, var(--color-content-subtle, oklch(67.4% 0.0318 251.27)) 10%, transparent);
140
+ color: var(--color-content-neutral, grey);
141
+ background-color: color-mix(in oklch, var(--color-content-neutral, grey) 10%, transparent);
142
+ border: 1px solid color-mix(in oklch, var(--color-content-subtle, silver) 10%, transparent);
150
143
  border-radius: var(--radius, 0.5rem)
151
144
  }
152
145
 
@@ -154,11 +147,10 @@
154
147
  :where(figcaption):not(.unstyle),
155
148
  .caption {
156
149
  font-size: 0.8125rem;
157
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09));
150
+ color: var(--color-content-neutral, grey);
158
151
 
159
- & a {
160
- font-weight: inherit;
161
- color: inherit
152
+ & a:hover {
153
+ color: var(--color-content-stark, black)
162
154
  }
163
155
  }
164
156
 
@@ -171,7 +163,11 @@
171
163
  :where(small):not(.unstyle),
172
164
  .small {
173
165
  font-size: 0.875rem;
174
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09))
166
+ color: var(--color-content-neutral, grey);
167
+
168
+ & a:hover {
169
+ color: var(--color-content-stark, black)
170
+ }
175
171
  }
176
172
 
177
173
  /* Icons */
@@ -198,8 +194,8 @@
198
194
  font-weight: 600;
199
195
  line-height: 1;
200
196
  text-align: center;
201
- color: var(--color-content-neutral, oklch(48.26% 0.0365 255.09));
202
- background-color: color-mix(in oklch, var(--color-content-neutral, oklch(48.26% 0.0365 255.09)) 10%, transparent);
197
+ color: var(--color-content-neutral, grey);
198
+ background-color: color-mix(in oklch, var(--color-content-neutral, grey) 10%, transparent);
203
199
  border-radius: calc(var(--radius, 0.5rem) / 1.5);
204
200
 
205
201
  &:not(:last-of-type) {
@@ -242,7 +238,7 @@
242
238
  font-weight: 500;
243
239
  font-size: 0.75rem;
244
240
  line-height: 1;
245
- color: var(--color-field-inverse, oklch(16.6% 0.026 267));
241
+ color: var(--color-field-inverse, black);
246
242
  background-color: var(--color-field-surface, oklch(91.79% 0.0029 264.26));
247
243
  border-radius: 100px;
248
244
 
@@ -221,7 +221,7 @@
221
221
 
222
222
  /* Prose styles for long-form content */
223
223
  :where(.prose, .prose details) {
224
- width: 65ch;
224
+ width: 42rem;
225
225
  max-width: 100%;
226
226
 
227
227
  /* Asides inside a prose element are used as callouts */
@@ -292,6 +292,10 @@
292
292
  }
293
293
  }
294
294
 
295
+ &>h1 {
296
+ font-size: 2.25rem
297
+ }
298
+
295
299
  &>h1+p {
296
300
  margin-top: 0.625rem;
297
301
  font-size: 1.125rem;
@@ -299,11 +303,13 @@
299
303
  }
300
304
 
301
305
  &>h2 {
306
+ font-size: 1.75rem;
302
307
  margin-top: 1rem;
303
308
  margin-bottom: calc(1rem * 0.6667)
304
309
  }
305
310
 
306
311
  &>h3 {
312
+ font-size: 1.25rem;
307
313
  margin-top: calc(1rem * 2.4)
308
314
  }
309
315
 
@@ -2399,7 +2399,6 @@ TailwindCompiler.prototype.generateUtilitiesFromVars = function (cssText, usedDa
2399
2399
  let selector = `.${escapeClassName(variantClass)}`;
2400
2400
  let hasMediaQuery = false;
2401
2401
  let mediaQueryRule = '';
2402
- let nestedSelector = null; // For variants that end with & (CSS nesting)
2403
2402
 
2404
2403
  for (const variant of parsed.variants) {
2405
2404
  if (variant.isArbitrary) {
@@ -2417,18 +2416,10 @@ TailwindCompiler.prototype.generateUtilitiesFromVars = function (cssText, usedDa
2417
2416
  selector = { baseClass: selector, arbitrarySelector };
2418
2417
  }
2419
2418
  } else if (variant.selector.includes('&')) {
2420
- // Check if selector ends with & (indicates CSS nesting)
2421
- if (variant.selector.trim().endsWith('&')) {
2422
- // This is a nested selector - move & to the beginning for CSS nesting
2423
- const selectorWithoutAmpersand = variant.selector.trim().slice(0, -1).trim();
2424
- const nestedSelectorText = `&${selectorWithoutAmpersand}`;
2425
- nestedSelector = nestedSelector ? `${nestedSelector} ${nestedSelectorText}` : nestedSelectorText;
2426
- } else {
2427
- // Handle variants like .dark &, .light &, .group &, etc.
2428
- // Replace & with the actual selector
2429
- const replacedSelector = variant.selector.replace(/&/g, selector);
2430
- selector = replacedSelector;
2431
- }
2419
+ // Substitute & with the current selector. This produces flat CSS that
2420
+ // works for both ancestor patterns (`.dark &` → `.dark .X`) and
2421
+ // self-extending patterns (`& > p` `.X > p`).
2422
+ selector = variant.selector.replace(/&/g, selector);
2432
2423
  } else if (variant.selector.startsWith(':')) {
2433
2424
  // For pseudo-classes, append to selector
2434
2425
  selector = `${selector}${variant.selector}`;
@@ -2444,9 +2435,6 @@ TailwindCompiler.prototype.generateUtilitiesFromVars = function (cssText, usedDa
2444
2435
  if (typeof selector === 'object' && selector.arbitrarySelector) {
2445
2436
  // Handle arbitrary selectors with nested CSS (for non-& selectors)
2446
2437
  rule = `${selector.baseClass} {\n ${selector.arbitrarySelector} {\n ${cssContent}\n }\n}`;
2447
- } else if (nestedSelector) {
2448
- // Handle nested selectors (variants ending with &)
2449
- rule = `${selector} {\n ${nestedSelector} {\n ${cssContent}\n }\n}`;
2450
2438
  } else {
2451
2439
  // Regular selector
2452
2440
  rule = `${selector} { ${cssContent} }`;
@@ -2719,7 +2707,7 @@ TailwindCompiler.prototype.generateCustomUtilities = function (usedData) {
2719
2707
  let selector = `.${escapeClassName(variantClass)}`;
2720
2708
  let hasMediaQuery = false;
2721
2709
  let mediaQueryRule = '';
2722
- let nestedSelector = null; // For variants that end with & (CSS nesting)
2710
+ let nestedSelector = null;
2723
2711
 
2724
2712
  for (const variant of parsed.variants) {
2725
2713
  if (variant.isArbitrary) {
@@ -2737,18 +2725,10 @@ TailwindCompiler.prototype.generateCustomUtilities = function (usedData) {
2737
2725
  selector = { baseClass: selector, arbitrarySelector };
2738
2726
  }
2739
2727
  } else if (variant.selector.includes('&')) {
2740
- // Check if selector ends with & (indicates CSS nesting)
2741
- if (variant.selector.trim().endsWith('&')) {
2742
- // This is a nested selector - move & to the beginning for CSS nesting
2743
- const selectorWithoutAmpersand = variant.selector.trim().slice(0, -1).trim();
2744
- const nestedSelectorText = `&${selectorWithoutAmpersand}`;
2745
- nestedSelector = nestedSelector ? `${nestedSelector} ${nestedSelectorText}` : nestedSelectorText;
2746
- } else {
2747
- // Handle variants like .dark &, .light &, .group &, etc.
2748
- // Replace & with the actual selector
2749
- const replacedSelector = variant.selector.replace(/&/g, selector);
2750
- selector = replacedSelector;
2751
- }
2728
+ // Substitute & with the current selector. This produces flat CSS that
2729
+ // works for both ancestor patterns (`.dark &` → `.dark .X`) and
2730
+ // self-extending patterns (`& > p` `.X > p`).
2731
+ selector = variant.selector.replace(/&/g, selector);
2752
2732
  } else if (variant.selector.startsWith(':')) {
2753
2733
  // For pseudo-classes, append to selector
2754
2734
  selector = `${selector}${variant.selector}`;
package/package.json CHANGED
@@ -1,13 +1,12 @@
1
1
  {
2
2
  "name": "mnfst",
3
- "version": "0.5.80",
3
+ "version": "0.5.81",
4
4
  "private": false,
5
5
  "workspaces": [
6
6
  "templates/starter",
7
7
  "packages/render",
8
8
  "packages/types",
9
- "packages/test",
10
- "packages/export"
9
+ "packages/test"
11
10
  ],
12
11
  "main": "lib/manifest.js",
13
12
  "style": "lib/manifest.css",
@@ -24,18 +23,16 @@
24
23
  "start:docs": "node packages/run/serve.mjs docs",
25
24
  "start:starter": "node packages/run/serve.mjs templates/starter --port 3001",
26
25
  "start:dist": "node packages/run/serve.mjs src/test-prerender --port 5003",
27
- "prerender": "node src/scripts/manifest.render.mjs --root src",
26
+ "render": "node src/scripts/manifest.render.mjs --root src",
28
27
  "prerender:docs": "node src/scripts/manifest.render.mjs --root docs",
29
28
  "prerender:starter": "node src/scripts/manifest.render.mjs --root templates/starter",
30
- "render": "node src/scripts/manifest.render.mjs --root src",
31
29
  "release": "npm version patch --no-git-tag-version && npm publish",
32
30
  "release:run": "cd packages/run && npm version patch --no-git-tag-version && npm publish --auth-type=web",
33
31
  "release:render": "cd packages/render && npm version patch --no-git-tag-version && npm publish --auth-type=web",
34
32
  "release:types": "cd packages/types && npm version patch --no-git-tag-version && npm publish --auth-type=web",
35
33
  "release:test": "cd packages/test && npm version patch --no-git-tag-version && npm publish --auth-type=web",
36
- "release:export": "cd packages/export && npm version patch --no-git-tag-version && npm publish --auth-type=web",
37
34
  "release:starter": "cd packages/create-starter && npm version patch --no-git-tag-version && npm publish --auth-type=web",
38
- "release:all": "npm run release:run && npm run release:render && npm run release:types && npm run release:test && npm run release:export && npm run release:starter && npm run release",
35
+ "release:all": "npm run release:run && npm run release:render && npm run release:types && npm run release:test && npm run release:starter && npm run release",
39
36
  "prepublishOnly": "npm run build",
40
37
  "test": "vitest run",
41
38
  "lint": "echo 'No linting configured'"