@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lls/vitescripts",
3
- "version": "2.0.7",
3
+ "version": "2.0.8",
4
4
  "description": "lls vite plugins",
5
5
  "main": "src/index.mjs",
6
6
  "files": [
@@ -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(/\${(Body[123]|Heading[1234]|Button[12]|Supporting|RippleEffect)}/g, (__, cap) => kitBag[cap])
32
- .replace(/\${getFluidSize\({(.*?)}\)}/gs, (__, cap) => {
33
- const args = {
34
- minViewport: 320, // BREAKPOINT_XXS
35
- maxViewport: 1280, // BREAKPOINT_MD
36
- minSize: undefined,
37
- maxSize: undefined
38
- }
39
- for (const a of cap.matchAll(/(?<prop>maxSize|minSize|minViewport|maxViewport)\s*:\s*(?<value>.+?)(?=[,]|\s|$)/g)) {
40
- args[a.groups.prop] = a.groups.value
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
  }