@vinicunca/unocss-preset 1.0.1 → 1.1.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/dist/chunks/index3.cjs +1 -1
- package/dist/chunks/index3.mjs +1 -1
- package/dist/chunks/transformer-alias.cjs +89 -0
- package/dist/chunks/transformer-alias.mjs +85 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +34 -1
- package/dist/index.d.mts +34 -1
- package/dist/index.d.ts +34 -1
- package/dist/index.mjs +1 -1
- package/dist/shared/{unocss-preset.D8jPio-z.cjs → unocss-preset.6ezA0EE_.cjs} +2 -1
- package/dist/shared/{unocss-preset.4cul6C3a.mjs → unocss-preset.DZKZMqtg.mjs} +2 -1
- package/package.json +11 -11
package/dist/chunks/index3.cjs
CHANGED
package/dist/chunks/index3.mjs
CHANGED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const core = require('@unocss/core');
|
|
4
|
+
const perkakas = require('@vinicunca/perkakas');
|
|
5
|
+
|
|
6
|
+
function transformerAlias(options) {
|
|
7
|
+
return {
|
|
8
|
+
name: "unocss-transformer-alias",
|
|
9
|
+
enforce: "pre",
|
|
10
|
+
async transform(code, _, { uno }) {
|
|
11
|
+
await transformAlias({ code, uno, options });
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
async function transformAlias({
|
|
16
|
+
code,
|
|
17
|
+
uno,
|
|
18
|
+
options = {}
|
|
19
|
+
}) {
|
|
20
|
+
let {
|
|
21
|
+
prefix = "*",
|
|
22
|
+
keep = "+"
|
|
23
|
+
} = options;
|
|
24
|
+
if (perkakas.isString(keep)) {
|
|
25
|
+
keep = { prefix: keep, block: true };
|
|
26
|
+
}
|
|
27
|
+
const extraRE = new RegExp(`(${escapeRegExp(prefix)}|${escapeRegExp(keep.prefix)})([\\w-:]+)`, "g");
|
|
28
|
+
const map = /* @__PURE__ */ new Map();
|
|
29
|
+
for (const item of Array.from(code.original.matchAll(extraRE))) {
|
|
30
|
+
let result = map.get(item[0]);
|
|
31
|
+
if (result === false) {
|
|
32
|
+
continue;
|
|
33
|
+
} else if (!result) {
|
|
34
|
+
const res = await expandShortcut({ input: item[2], uno });
|
|
35
|
+
if (res) {
|
|
36
|
+
result = res[0].join(" ");
|
|
37
|
+
map.set(item[0], result);
|
|
38
|
+
} else {
|
|
39
|
+
map.set(item[0], false);
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (item[1] === keep.prefix) {
|
|
44
|
+
result = `${item[2]} ${result}`;
|
|
45
|
+
if (keep.block) {
|
|
46
|
+
uno.config.blocklist = [.../* @__PURE__ */ new Set([...uno.config.blocklist, item[2]])];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
code.overwrite(item.index, item.index + item[0].length, result);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
async function expandShortcut({ input, uno, depth = 5 }) {
|
|
53
|
+
if (depth <= 0) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let result;
|
|
57
|
+
for (const shortcut of uno.config.shortcuts) {
|
|
58
|
+
if (core.isStaticShortcut(shortcut)) {
|
|
59
|
+
if (shortcut[0] === input) {
|
|
60
|
+
result = shortcut[1];
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
const match = input.match(shortcut[0]);
|
|
64
|
+
if (match != null) {
|
|
65
|
+
result = shortcut[1](match, {});
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (perkakas.isString(result)) {
|
|
70
|
+
result = core.expandVariantGroup(result.trim()).split(/\s+/g);
|
|
71
|
+
}
|
|
72
|
+
if (!result) {
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
return [
|
|
76
|
+
(await Promise.all(
|
|
77
|
+
result.filter((s) => s !== input).map(
|
|
78
|
+
async (res) => (perkakas.isString(res) ? (await expandShortcut({ input: res, uno, depth: depth - 1 }))?.[0] : void 0) || [res]
|
|
79
|
+
)
|
|
80
|
+
)).flat(1).filter(Boolean)
|
|
81
|
+
];
|
|
82
|
+
}
|
|
83
|
+
function escapeRegExp(str) {
|
|
84
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
exports.expandShortcut = expandShortcut;
|
|
88
|
+
exports.transformAlias = transformAlias;
|
|
89
|
+
exports.transformerAlias = transformerAlias;
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { isStaticShortcut, expandVariantGroup } from '@unocss/core';
|
|
2
|
+
import { isString } from '@vinicunca/perkakas';
|
|
3
|
+
|
|
4
|
+
function transformerAlias(options) {
|
|
5
|
+
return {
|
|
6
|
+
name: "unocss-transformer-alias",
|
|
7
|
+
enforce: "pre",
|
|
8
|
+
async transform(code, _, { uno }) {
|
|
9
|
+
await transformAlias({ code, uno, options });
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
async function transformAlias({
|
|
14
|
+
code,
|
|
15
|
+
uno,
|
|
16
|
+
options = {}
|
|
17
|
+
}) {
|
|
18
|
+
let {
|
|
19
|
+
prefix = "*",
|
|
20
|
+
keep = "+"
|
|
21
|
+
} = options;
|
|
22
|
+
if (isString(keep)) {
|
|
23
|
+
keep = { prefix: keep, block: true };
|
|
24
|
+
}
|
|
25
|
+
const extraRE = new RegExp(`(${escapeRegExp(prefix)}|${escapeRegExp(keep.prefix)})([\\w-:]+)`, "g");
|
|
26
|
+
const map = /* @__PURE__ */ new Map();
|
|
27
|
+
for (const item of Array.from(code.original.matchAll(extraRE))) {
|
|
28
|
+
let result = map.get(item[0]);
|
|
29
|
+
if (result === false) {
|
|
30
|
+
continue;
|
|
31
|
+
} else if (!result) {
|
|
32
|
+
const res = await expandShortcut({ input: item[2], uno });
|
|
33
|
+
if (res) {
|
|
34
|
+
result = res[0].join(" ");
|
|
35
|
+
map.set(item[0], result);
|
|
36
|
+
} else {
|
|
37
|
+
map.set(item[0], false);
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (item[1] === keep.prefix) {
|
|
42
|
+
result = `${item[2]} ${result}`;
|
|
43
|
+
if (keep.block) {
|
|
44
|
+
uno.config.blocklist = [.../* @__PURE__ */ new Set([...uno.config.blocklist, item[2]])];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
code.overwrite(item.index, item.index + item[0].length, result);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
async function expandShortcut({ input, uno, depth = 5 }) {
|
|
51
|
+
if (depth <= 0) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
let result;
|
|
55
|
+
for (const shortcut of uno.config.shortcuts) {
|
|
56
|
+
if (isStaticShortcut(shortcut)) {
|
|
57
|
+
if (shortcut[0] === input) {
|
|
58
|
+
result = shortcut[1];
|
|
59
|
+
}
|
|
60
|
+
} else {
|
|
61
|
+
const match = input.match(shortcut[0]);
|
|
62
|
+
if (match != null) {
|
|
63
|
+
result = shortcut[1](match, {});
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
if (isString(result)) {
|
|
68
|
+
result = expandVariantGroup(result.trim()).split(/\s+/g);
|
|
69
|
+
}
|
|
70
|
+
if (!result) {
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
return [
|
|
74
|
+
(await Promise.all(
|
|
75
|
+
result.filter((s) => s !== input).map(
|
|
76
|
+
async (res) => (isString(res) ? (await expandShortcut({ input: res, uno, depth: depth - 1 }))?.[0] : void 0) || [res]
|
|
77
|
+
)
|
|
78
|
+
)).flat(1).filter(Boolean)
|
|
79
|
+
];
|
|
80
|
+
}
|
|
81
|
+
function escapeRegExp(str) {
|
|
82
|
+
return str.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { expandShortcut, transformAlias, transformerAlias };
|
package/dist/index.cjs
CHANGED
package/dist/index.d.cts
CHANGED
|
@@ -69,6 +69,35 @@ interface UnoPresetScrollbarOption {
|
|
|
69
69
|
noCompatible?: boolean;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
interface KeepOption {
|
|
73
|
+
/**
|
|
74
|
+
* keep prefix for your alias.
|
|
75
|
+
*
|
|
76
|
+
* @default '+'
|
|
77
|
+
*/
|
|
78
|
+
prefix: string;
|
|
79
|
+
/**
|
|
80
|
+
* Decedide whether to put it in `blocklist`.
|
|
81
|
+
*
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
block: boolean;
|
|
85
|
+
}
|
|
86
|
+
interface TransformerAliasOptions {
|
|
87
|
+
/**
|
|
88
|
+
* Prefix for your alias.
|
|
89
|
+
*
|
|
90
|
+
* @default "*"
|
|
91
|
+
*/
|
|
92
|
+
prefix?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Prefix for your alias and keep the original class.
|
|
95
|
+
*
|
|
96
|
+
* @default '+'
|
|
97
|
+
*/
|
|
98
|
+
keep?: string | KeepOption;
|
|
99
|
+
}
|
|
100
|
+
|
|
72
101
|
interface AnimationOptions {
|
|
73
102
|
/**
|
|
74
103
|
* The unit of time options
|
|
@@ -234,7 +263,7 @@ interface PresetVinicuncaOptions {
|
|
|
234
263
|
/**
|
|
235
264
|
* Enable magicss preset
|
|
236
265
|
*
|
|
237
|
-
* @about [
|
|
266
|
+
* @about [Magic Animate](https://github.com/miniMAC/magic)
|
|
238
267
|
* @default false
|
|
239
268
|
*/
|
|
240
269
|
magicCss?: boolean;
|
|
@@ -265,6 +294,10 @@ interface PresetVinicuncaOptions {
|
|
|
265
294
|
* @default true
|
|
266
295
|
*/
|
|
267
296
|
variantGroup?: boolean | TransformerVariantGroupOptions;
|
|
297
|
+
/**
|
|
298
|
+
* Enable transform alias transformer and the options of it
|
|
299
|
+
*/
|
|
300
|
+
alias?: boolean | TransformerAliasOptions;
|
|
268
301
|
}
|
|
269
302
|
interface FluidOptions {
|
|
270
303
|
/**
|
package/dist/index.d.mts
CHANGED
|
@@ -69,6 +69,35 @@ interface UnoPresetScrollbarOption {
|
|
|
69
69
|
noCompatible?: boolean;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
interface KeepOption {
|
|
73
|
+
/**
|
|
74
|
+
* keep prefix for your alias.
|
|
75
|
+
*
|
|
76
|
+
* @default '+'
|
|
77
|
+
*/
|
|
78
|
+
prefix: string;
|
|
79
|
+
/**
|
|
80
|
+
* Decedide whether to put it in `blocklist`.
|
|
81
|
+
*
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
block: boolean;
|
|
85
|
+
}
|
|
86
|
+
interface TransformerAliasOptions {
|
|
87
|
+
/**
|
|
88
|
+
* Prefix for your alias.
|
|
89
|
+
*
|
|
90
|
+
* @default "*"
|
|
91
|
+
*/
|
|
92
|
+
prefix?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Prefix for your alias and keep the original class.
|
|
95
|
+
*
|
|
96
|
+
* @default '+'
|
|
97
|
+
*/
|
|
98
|
+
keep?: string | KeepOption;
|
|
99
|
+
}
|
|
100
|
+
|
|
72
101
|
interface AnimationOptions {
|
|
73
102
|
/**
|
|
74
103
|
* The unit of time options
|
|
@@ -234,7 +263,7 @@ interface PresetVinicuncaOptions {
|
|
|
234
263
|
/**
|
|
235
264
|
* Enable magicss preset
|
|
236
265
|
*
|
|
237
|
-
* @about [
|
|
266
|
+
* @about [Magic Animate](https://github.com/miniMAC/magic)
|
|
238
267
|
* @default false
|
|
239
268
|
*/
|
|
240
269
|
magicCss?: boolean;
|
|
@@ -265,6 +294,10 @@ interface PresetVinicuncaOptions {
|
|
|
265
294
|
* @default true
|
|
266
295
|
*/
|
|
267
296
|
variantGroup?: boolean | TransformerVariantGroupOptions;
|
|
297
|
+
/**
|
|
298
|
+
* Enable transform alias transformer and the options of it
|
|
299
|
+
*/
|
|
300
|
+
alias?: boolean | TransformerAliasOptions;
|
|
268
301
|
}
|
|
269
302
|
interface FluidOptions {
|
|
270
303
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -69,6 +69,35 @@ interface UnoPresetScrollbarOption {
|
|
|
69
69
|
noCompatible?: boolean;
|
|
70
70
|
}
|
|
71
71
|
|
|
72
|
+
interface KeepOption {
|
|
73
|
+
/**
|
|
74
|
+
* keep prefix for your alias.
|
|
75
|
+
*
|
|
76
|
+
* @default '+'
|
|
77
|
+
*/
|
|
78
|
+
prefix: string;
|
|
79
|
+
/**
|
|
80
|
+
* Decedide whether to put it in `blocklist`.
|
|
81
|
+
*
|
|
82
|
+
* @default true
|
|
83
|
+
*/
|
|
84
|
+
block: boolean;
|
|
85
|
+
}
|
|
86
|
+
interface TransformerAliasOptions {
|
|
87
|
+
/**
|
|
88
|
+
* Prefix for your alias.
|
|
89
|
+
*
|
|
90
|
+
* @default "*"
|
|
91
|
+
*/
|
|
92
|
+
prefix?: string;
|
|
93
|
+
/**
|
|
94
|
+
* Prefix for your alias and keep the original class.
|
|
95
|
+
*
|
|
96
|
+
* @default '+'
|
|
97
|
+
*/
|
|
98
|
+
keep?: string | KeepOption;
|
|
99
|
+
}
|
|
100
|
+
|
|
72
101
|
interface AnimationOptions {
|
|
73
102
|
/**
|
|
74
103
|
* The unit of time options
|
|
@@ -234,7 +263,7 @@ interface PresetVinicuncaOptions {
|
|
|
234
263
|
/**
|
|
235
264
|
* Enable magicss preset
|
|
236
265
|
*
|
|
237
|
-
* @about [
|
|
266
|
+
* @about [Magic Animate](https://github.com/miniMAC/magic)
|
|
238
267
|
* @default false
|
|
239
268
|
*/
|
|
240
269
|
magicCss?: boolean;
|
|
@@ -265,6 +294,10 @@ interface PresetVinicuncaOptions {
|
|
|
265
294
|
* @default true
|
|
266
295
|
*/
|
|
267
296
|
variantGroup?: boolean | TransformerVariantGroupOptions;
|
|
297
|
+
/**
|
|
298
|
+
* Enable transform alias transformer and the options of it
|
|
299
|
+
*/
|
|
300
|
+
alias?: boolean | TransformerAliasOptions;
|
|
268
301
|
}
|
|
269
302
|
interface FluidOptions {
|
|
270
303
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import '@unocss/core';
|
|
2
|
-
export { a as defineConfig, d as defineVinicuncaConfig, p as presetVinicunca } from './shared/unocss-preset.
|
|
2
|
+
export { a as defineConfig, d as defineVinicuncaConfig, p as presetVinicunca } from './shared/unocss-preset.DZKZMqtg.mjs';
|
|
3
3
|
import '@vinicunca/perkakas';
|
|
@@ -574,7 +574,8 @@ async function resolveOptions(options) {
|
|
|
574
574
|
};
|
|
575
575
|
const transformerMap = {
|
|
576
576
|
directives: import('unocss').then((mod) => mod.transformerDirectives),
|
|
577
|
-
variantGroup: import('unocss').then((mod) => mod.transformerVariantGroup)
|
|
577
|
+
variantGroup: import('unocss').then((mod) => mod.transformerVariantGroup),
|
|
578
|
+
alias: import('../chunks/transformer-alias.cjs').then((mod) => mod.transformerAlias)
|
|
578
579
|
};
|
|
579
580
|
for (const [key, preset] of Object.entries(presetMap)) {
|
|
580
581
|
const option = optionsWithDefault[key];
|
|
@@ -572,7 +572,8 @@ async function resolveOptions(options) {
|
|
|
572
572
|
};
|
|
573
573
|
const transformerMap = {
|
|
574
574
|
directives: import('unocss').then((mod) => mod.transformerDirectives),
|
|
575
|
-
variantGroup: import('unocss').then((mod) => mod.transformerVariantGroup)
|
|
575
|
+
variantGroup: import('unocss').then((mod) => mod.transformerVariantGroup),
|
|
576
|
+
alias: import('../chunks/transformer-alias.mjs').then((mod) => mod.transformerAlias)
|
|
576
577
|
};
|
|
577
578
|
for (const [key, preset] of Object.entries(presetMap)) {
|
|
578
579
|
const option = optionsWithDefault[key];
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vinicunca/unocss-preset",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"description": "Opinionated UnoCSS preset",
|
|
6
6
|
"author": "praburangki<https://github.com/praburangki>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -42,21 +42,21 @@
|
|
|
42
42
|
"dist"
|
|
43
43
|
],
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@vinicunca/perkakas": "^1.
|
|
46
|
-
"unocss": "^0.65.
|
|
45
|
+
"@vinicunca/perkakas": "^1.2.0",
|
|
46
|
+
"unocss": "^0.65.2"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"registry": "https://registry.npmjs.org/"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@unocss/core": "^0.65.
|
|
53
|
-
"@unocss/preset-icons": "^0.65.
|
|
54
|
-
"@unocss/preset-mini": "^0.65.
|
|
55
|
-
"@unocss/preset-typography": "^0.65.
|
|
56
|
-
"@unocss/preset-uno": "^0.65.
|
|
57
|
-
"@unocss/preset-web-fonts": "^0.65.
|
|
58
|
-
"@unocss/transformer-directives": "^0.65.
|
|
59
|
-
"@unocss/transformer-variant-group": "^0.65.
|
|
52
|
+
"@unocss/core": "^0.65.2",
|
|
53
|
+
"@unocss/preset-icons": "^0.65.2",
|
|
54
|
+
"@unocss/preset-mini": "^0.65.2",
|
|
55
|
+
"@unocss/preset-typography": "^0.65.2",
|
|
56
|
+
"@unocss/preset-uno": "^0.65.2",
|
|
57
|
+
"@unocss/preset-web-fonts": "^0.65.2",
|
|
58
|
+
"@unocss/transformer-directives": "^0.65.2",
|
|
59
|
+
"@unocss/transformer-variant-group": "^0.65.2",
|
|
60
60
|
"postcss": "^8.4.49",
|
|
61
61
|
"postcss-js": "^4.0.1"
|
|
62
62
|
},
|