@lls/vitescripts 2.0.7 → 2.0.8
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/package.json +1 -1
- package/src/llsCssModuleMacroPlugin.mjs +41 -23
package/package.json
CHANGED
|
@@ -19,7 +19,37 @@ const llsCssModuleMacroPlugin = async ({ themeIsFreeMode, themeIsDarkMode, theme
|
|
|
19
19
|
const cssMacroTheme = {
|
|
20
20
|
themeIsFreeMode,
|
|
21
21
|
themeIsDarkMode,
|
|
22
|
-
themeIsNotDarkMode
|
|
22
|
+
themeIsNotDarkMode,
|
|
23
|
+
dark: themeIsDarkMode,
|
|
24
|
+
free: themeIsFreeMode,
|
|
25
|
+
light: themeIsNotDarkMode
|
|
26
|
+
}
|
|
27
|
+
const replaceKitBag = (__, cap) => kitBag[cap]
|
|
28
|
+
const replaceTheme = (__, cap) => {
|
|
29
|
+
const back = cssMacroTheme[cap]
|
|
30
|
+
if (!back) {
|
|
31
|
+
throw new Error('llsCssModuleMacroPlugin::missing definition for '+ cap)
|
|
32
|
+
}
|
|
33
|
+
return back
|
|
34
|
+
}
|
|
35
|
+
const replaceGetFluidSize = (__, cap) => {
|
|
36
|
+
const args = {
|
|
37
|
+
minViewport: 320, // BREAKPOINT_XXS
|
|
38
|
+
maxViewport: 1280, // BREAKPOINT_MD
|
|
39
|
+
minSize: undefined,
|
|
40
|
+
maxSize: undefined
|
|
41
|
+
}
|
|
42
|
+
for (const a of cap.matchAll(/(?<prop>maxSize|minSize|minViewport|maxViewport)\s*:\s*(?<value>.+?)(?=[,]|\s|$)/g)) {
|
|
43
|
+
args[a.groups.prop] = a.groups.value
|
|
44
|
+
}
|
|
45
|
+
const { maxSize, minSize, minViewport, maxViewport} = args
|
|
46
|
+
return `min(${maxSize}px, max(${minSize}px, calc(${minSize}px + (${maxSize} - ${minSize}) * ((100vw - ${minViewport}px) / (${maxViewport} - ${minViewport})))))`
|
|
47
|
+
}
|
|
48
|
+
const replaceGetFluidSizeV2 = (__, cap) => {
|
|
49
|
+
const [minSize, maxSize, aMinviewport, aMaxviewport] = cap.split(',')
|
|
50
|
+
const minViewport = (typeof(aMinviewport) === 'undefined' || /^\s*$/.test(aMinviewport)) ? 320 : aMinviewport
|
|
51
|
+
const maxViewport = (typeof(aMaxviewport) === 'undefined' || /^\s*$/.test(aMaxviewport)) ? 1280 : aMaxviewport
|
|
52
|
+
return `min(${maxSize}px, max(${minSize}px, calc(${minSize}px + (${maxSize} - ${minSize}) * ((100vw - ${minViewport}px) / (${maxViewport} - ${minViewport})))))`
|
|
23
53
|
}
|
|
24
54
|
return {
|
|
25
55
|
enforce: 'pre',
|
|
@@ -28,28 +58,16 @@ const llsCssModuleMacroPlugin = async ({ themeIsFreeMode, themeIsDarkMode, theme
|
|
|
28
58
|
return undefined
|
|
29
59
|
}
|
|
30
60
|
return src
|
|
31
|
-
.replace(
|
|
32
|
-
.replace(/\${
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
const { maxSize, minSize, minViewport, maxViewport} = args
|
|
43
|
-
return `min(${maxSize}px, max(${minSize}px, calc(${minSize}px + (${maxSize} - ${minSize}) * ((100vw - ${minViewport}px) / (${maxViewport} - ${minViewport})))))`
|
|
44
|
-
})
|
|
45
|
-
.replace(/\${getTruePx\((.*?)\)}/g, 'calc(var(--size-index, 1) * $1 * 1px)')
|
|
46
|
-
.replace(/\${(themeIsFreeMode|themeIsDarkMode|themeIsNotDarkMode)}/g, (__, cap) => {
|
|
47
|
-
const back = cssMacroTheme[cap]
|
|
48
|
-
if (!back) {
|
|
49
|
-
throw new Error('llsCssModuleMacroPlugin::missing definition for '+ cap)
|
|
50
|
-
}
|
|
51
|
-
return back
|
|
52
|
-
})
|
|
61
|
+
.replace(/@cx\((Body[123]|Heading[1234]|Button[12]|Supporting|RippleEffect)\)/g, replaceKitBag)
|
|
62
|
+
.replace(/\${(Body[123]|Heading[1234]|Button[12]|Supporting|RippleEffect)}/g, replaceKitBag)
|
|
63
|
+
|
|
64
|
+
.replace(/\${getFluidSize\({(.*?)}\)}/gs, replaceGetFluidSize)
|
|
65
|
+
.replace(/getFluidSize\((.*?)\)/gs, replaceGetFluidSizeV2)
|
|
66
|
+
.replace(/\${getTruePx\((.*?)\)}?/g, 'calc(var(--size-index, 1) * $1 * 1px)')
|
|
67
|
+
.replace(/getTruePx\((.*?)\)/g, 'calc(var(--size-index, 1) * $1 * 1px)')
|
|
68
|
+
|
|
69
|
+
.replace(/\${(themeIsFreeMode|themeIsDarkMode|themeIsNotDarkMode)}/g, replaceTheme)
|
|
70
|
+
.replace(/@llsTheme\((dark|light|free)\)/g, replaceTheme)
|
|
53
71
|
}
|
|
54
72
|
}
|
|
55
73
|
}
|