@unocss/core 0.23.0 → 0.24.3
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 +1 -1
- package/dist/index.cjs +12 -6
- package/dist/index.d.ts +14 -5
- package/dist/index.mjs +12 -6
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @unocss/core
|
|
2
2
|
|
|
3
|
-
The core engine of [UnoCSS](https://github.com/
|
|
3
|
+
The core engine of [UnoCSS](https://github.com/unocss/unocss) without any presets. It can be used as the engine of your own atomic CSS framework.
|
|
4
4
|
|
|
5
5
|
## Usage
|
|
6
6
|
|
package/dist/index.cjs
CHANGED
|
@@ -366,7 +366,7 @@ function resolveConfig(userConfig = {}, defaults = {}) {
|
|
|
366
366
|
};
|
|
367
367
|
}
|
|
368
368
|
|
|
369
|
-
const version = "0.
|
|
369
|
+
const version = "0.24.3";
|
|
370
370
|
|
|
371
371
|
class UnoGenerator {
|
|
372
372
|
constructor(userConfig = {}, defaults = {}) {
|
|
@@ -497,7 +497,7 @@ class UnoGenerator {
|
|
|
497
497
|
return layerCache[layer];
|
|
498
498
|
let css = Array.from(sheet).sort((a, b) => (this.parentOrders.get(a[0]) ?? 0) - (this.parentOrders.get(b[0]) ?? 0) || a[0]?.localeCompare(b[0] || "") || 0).map(([parent, items]) => {
|
|
499
499
|
const size = items.length;
|
|
500
|
-
const sorted = items.filter((i) => (i[4]?.layer || "default") === layer).sort((a, b) => a[0] - b[0] || a[1]?.localeCompare(b[1] || "") || 0).map((a) => [a[1] ? applyScope(a[1], scope) : a[1], a[2], !!a[4]?.noMerge]).map((a) => [a[0] == null ? a[0] : [a[0]], a[1], a[2]]);
|
|
500
|
+
const sorted = items.filter((i) => (i[4]?.layer || "default") === layer).sort((a, b) => a[0] - b[0] || (a[4]?.sort || 0) - (b[4]?.sort || 0) || a[1]?.localeCompare(b[1] || "") || 0).map((a) => [a[1] ? applyScope(a[1], scope) : a[1], a[2], !!a[4]?.noMerge]).map((a) => [a[0] == null ? a[0] : [a[0]], a[1], a[2]]);
|
|
501
501
|
if (!sorted.length)
|
|
502
502
|
return void 0;
|
|
503
503
|
const rules = sorted.reverse().map(([selector, body, noMerge], idx) => {
|
|
@@ -576,7 +576,8 @@ class UnoGenerator {
|
|
|
576
576
|
selector: handlers.reduce((p, v) => v.selector?.(p, entries) || p, toEscapedSelector(raw)),
|
|
577
577
|
entries,
|
|
578
578
|
parent: handlers.reduce((p, v) => Array.isArray(v.parent) ? v.parent[0] : v.parent || p, void 0),
|
|
579
|
-
layer: handlers.reduce((p, v) => v.layer || p, void 0)
|
|
579
|
+
layer: handlers.reduce((p, v) => v.layer || p, void 0),
|
|
580
|
+
sort: handlers.reduce((p, v) => v.sort || p, void 0)
|
|
580
581
|
};
|
|
581
582
|
for (const p of this.config.postprocess)
|
|
582
583
|
p(obj);
|
|
@@ -624,12 +625,17 @@ class UnoGenerator {
|
|
|
624
625
|
return;
|
|
625
626
|
if (isRawUtil(parsed))
|
|
626
627
|
return [parsed[0], void 0, parsed[1], void 0, parsed[2]];
|
|
627
|
-
const { selector, entries, parent, layer: variantLayer } = this.applyVariants(parsed);
|
|
628
|
+
const { selector, entries, parent, layer: variantLayer, sort: variantSort } = this.applyVariants(parsed);
|
|
628
629
|
const body = entriesToCss(entries);
|
|
629
630
|
if (!body)
|
|
630
631
|
return;
|
|
631
|
-
const { layer: metaLayer, ...meta } = parsed[3] ?? {};
|
|
632
|
-
|
|
632
|
+
const { layer: metaLayer, sort: metaSort, ...meta } = parsed[3] ?? {};
|
|
633
|
+
const ruleMeta = {
|
|
634
|
+
...meta,
|
|
635
|
+
layer: variantLayer ?? metaLayer,
|
|
636
|
+
sort: variantSort ?? metaSort
|
|
637
|
+
};
|
|
638
|
+
return [parsed[0], selector, body, parent, ruleMeta];
|
|
633
639
|
}
|
|
634
640
|
expandShortcut(processed, context, depth = 3) {
|
|
635
641
|
if (depth === 0)
|
package/dist/index.d.ts
CHANGED
|
@@ -62,13 +62,13 @@ interface ParsedColorValue {
|
|
|
62
62
|
*/
|
|
63
63
|
no: string;
|
|
64
64
|
/**
|
|
65
|
-
* {@link
|
|
65
|
+
* {@link CSSColorValue}
|
|
66
66
|
*/
|
|
67
|
-
|
|
67
|
+
cssColor: CSSColorValue | undefined;
|
|
68
68
|
/**
|
|
69
|
-
* Parsed
|
|
69
|
+
* Parsed alpha value from opacity
|
|
70
70
|
*/
|
|
71
|
-
alpha
|
|
71
|
+
alpha: string | number | undefined;
|
|
72
72
|
}
|
|
73
73
|
declare type PresetOptions = Record<string, any>;
|
|
74
74
|
interface RuleContext<Theme extends {} = {}> {
|
|
@@ -134,6 +134,10 @@ interface RuleMeta {
|
|
|
134
134
|
* @default false
|
|
135
135
|
*/
|
|
136
136
|
noMerge?: boolean;
|
|
137
|
+
/**
|
|
138
|
+
* Fine tune sort
|
|
139
|
+
*/
|
|
140
|
+
sort?: number;
|
|
137
141
|
/**
|
|
138
142
|
* Internal rules will only be matched for shortcuts but not the user code.
|
|
139
143
|
* @default false
|
|
@@ -175,9 +179,13 @@ interface VariantHandler {
|
|
|
175
179
|
*/
|
|
176
180
|
parent?: string | [string, number] | undefined;
|
|
177
181
|
/**
|
|
178
|
-
*
|
|
182
|
+
* Order in which the variant is applied to selector.
|
|
179
183
|
*/
|
|
180
184
|
order?: number;
|
|
185
|
+
/**
|
|
186
|
+
* Order in which the variant is sorted within single rule.
|
|
187
|
+
*/
|
|
188
|
+
sort?: number;
|
|
181
189
|
/**
|
|
182
190
|
* Override layer to the output css.
|
|
183
191
|
*/
|
|
@@ -374,6 +382,7 @@ interface UtilObject {
|
|
|
374
382
|
entries: CSSEntries;
|
|
375
383
|
parent: string | undefined;
|
|
376
384
|
layer: string | undefined;
|
|
385
|
+
sort: number | undefined;
|
|
377
386
|
}
|
|
378
387
|
interface GenerateOptions {
|
|
379
388
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -362,7 +362,7 @@ function resolveConfig(userConfig = {}, defaults = {}) {
|
|
|
362
362
|
};
|
|
363
363
|
}
|
|
364
364
|
|
|
365
|
-
const version = "0.
|
|
365
|
+
const version = "0.24.3";
|
|
366
366
|
|
|
367
367
|
class UnoGenerator {
|
|
368
368
|
constructor(userConfig = {}, defaults = {}) {
|
|
@@ -493,7 +493,7 @@ class UnoGenerator {
|
|
|
493
493
|
return layerCache[layer];
|
|
494
494
|
let css = Array.from(sheet).sort((a, b) => (this.parentOrders.get(a[0]) ?? 0) - (this.parentOrders.get(b[0]) ?? 0) || a[0]?.localeCompare(b[0] || "") || 0).map(([parent, items]) => {
|
|
495
495
|
const size = items.length;
|
|
496
|
-
const sorted = items.filter((i) => (i[4]?.layer || "default") === layer).sort((a, b) => a[0] - b[0] || a[1]?.localeCompare(b[1] || "") || 0).map((a) => [a[1] ? applyScope(a[1], scope) : a[1], a[2], !!a[4]?.noMerge]).map((a) => [a[0] == null ? a[0] : [a[0]], a[1], a[2]]);
|
|
496
|
+
const sorted = items.filter((i) => (i[4]?.layer || "default") === layer).sort((a, b) => a[0] - b[0] || (a[4]?.sort || 0) - (b[4]?.sort || 0) || a[1]?.localeCompare(b[1] || "") || 0).map((a) => [a[1] ? applyScope(a[1], scope) : a[1], a[2], !!a[4]?.noMerge]).map((a) => [a[0] == null ? a[0] : [a[0]], a[1], a[2]]);
|
|
497
497
|
if (!sorted.length)
|
|
498
498
|
return void 0;
|
|
499
499
|
const rules = sorted.reverse().map(([selector, body, noMerge], idx) => {
|
|
@@ -572,7 +572,8 @@ class UnoGenerator {
|
|
|
572
572
|
selector: handlers.reduce((p, v) => v.selector?.(p, entries) || p, toEscapedSelector(raw)),
|
|
573
573
|
entries,
|
|
574
574
|
parent: handlers.reduce((p, v) => Array.isArray(v.parent) ? v.parent[0] : v.parent || p, void 0),
|
|
575
|
-
layer: handlers.reduce((p, v) => v.layer || p, void 0)
|
|
575
|
+
layer: handlers.reduce((p, v) => v.layer || p, void 0),
|
|
576
|
+
sort: handlers.reduce((p, v) => v.sort || p, void 0)
|
|
576
577
|
};
|
|
577
578
|
for (const p of this.config.postprocess)
|
|
578
579
|
p(obj);
|
|
@@ -620,12 +621,17 @@ class UnoGenerator {
|
|
|
620
621
|
return;
|
|
621
622
|
if (isRawUtil(parsed))
|
|
622
623
|
return [parsed[0], void 0, parsed[1], void 0, parsed[2]];
|
|
623
|
-
const { selector, entries, parent, layer: variantLayer } = this.applyVariants(parsed);
|
|
624
|
+
const { selector, entries, parent, layer: variantLayer, sort: variantSort } = this.applyVariants(parsed);
|
|
624
625
|
const body = entriesToCss(entries);
|
|
625
626
|
if (!body)
|
|
626
627
|
return;
|
|
627
|
-
const { layer: metaLayer, ...meta } = parsed[3] ?? {};
|
|
628
|
-
|
|
628
|
+
const { layer: metaLayer, sort: metaSort, ...meta } = parsed[3] ?? {};
|
|
629
|
+
const ruleMeta = {
|
|
630
|
+
...meta,
|
|
631
|
+
layer: variantLayer ?? metaLayer,
|
|
632
|
+
sort: variantSort ?? metaSort
|
|
633
|
+
};
|
|
634
|
+
return [parsed[0], selector, body, parent, ruleMeta];
|
|
629
635
|
}
|
|
630
636
|
expandShortcut(processed, context, depth = 3) {
|
|
631
637
|
if (depth === 0)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unocss/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.24.3",
|
|
4
4
|
"description": "The instant on-demand Atomic CSS engine.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"unocss",
|
|
@@ -10,13 +10,13 @@
|
|
|
10
10
|
"tailwind",
|
|
11
11
|
"windicss"
|
|
12
12
|
],
|
|
13
|
-
"homepage": "https://github.com/
|
|
13
|
+
"homepage": "https://github.com/unocss/unocss/tree/main/packages/core#readme",
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/
|
|
15
|
+
"url": "https://github.com/unocss/unocss/issues"
|
|
16
16
|
},
|
|
17
17
|
"repository": {
|
|
18
18
|
"type": "git",
|
|
19
|
-
"url": "git+https://github.com/
|
|
19
|
+
"url": "git+https://github.com/unocss/unocss.git",
|
|
20
20
|
"directory": "packages/core"
|
|
21
21
|
},
|
|
22
22
|
"funding": "https://github.com/sponsors/antfu",
|