@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @unocss/core
2
2
 
3
- The core engine of [UnoCSS](https://github.com/antfu/unocss) without any presets. It can be used as the engine of your own atomic CSS framework.
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.23.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
- return [parsed[0], selector, body, parent, { ...meta, layer: variantLayer ?? metaLayer }];
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 RGBAColorValue}
65
+ * {@link CSSColorValue}
66
66
  */
67
- rgba?: RGBAColorValue;
67
+ cssColor: CSSColorValue | undefined;
68
68
  /**
69
- * Parsed rgba's alpha value.
69
+ * Parsed alpha value from opacity
70
70
  */
71
- alpha?: number | string;
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
- * Variant ordering.
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.23.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
- return [parsed[0], selector, body, parent, { ...meta, layer: variantLayer ?? metaLayer }];
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.23.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/antfu/unocss/tree/main/packages/core#readme",
13
+ "homepage": "https://github.com/unocss/unocss/tree/main/packages/core#readme",
14
14
  "bugs": {
15
- "url": "https://github.com/antfu/unocss/issues"
15
+ "url": "https://github.com/unocss/unocss/issues"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/antfu/unocss.git",
19
+ "url": "git+https://github.com/unocss/unocss.git",
20
20
  "directory": "packages/core"
21
21
  },
22
22
  "funding": "https://github.com/sponsors/antfu",