@newlogic-digital/core 0.9.1 → 0.9.5

Sign up to get free protection for your applications and to get access to all the features.
package/index.js CHANGED
@@ -15,7 +15,7 @@ import {
15
15
  root
16
16
  } from "./modules/Core.js";
17
17
 
18
- import { tailwindColors, tailwindColorsRgba, tailwindVariables } from './modules/tailwind/index.js'
18
+ import { tailwindColors, tailwindColorsRgba, tailwindVariables, tailwindColorsAccent, tailwindColorsCurrent, tailwindAnimations } from './modules/tailwind/index.js'
19
19
 
20
20
  const defineConfig = (config) => new Core().init(config);
21
21
 
@@ -24,6 +24,9 @@ export {
24
24
  tailwindColors,
25
25
  tailwindVariables,
26
26
  tailwindColorsRgba,
27
+ tailwindColorsAccent,
28
+ tailwindColorsCurrent,
29
+ tailwindAnimations,
27
30
  Core,
28
31
  Utils,
29
32
  Styles,
package/modules/Serve.js CHANGED
@@ -51,8 +51,15 @@ export const Serve = new class {
51
51
  }
52
52
  }
53
53
 
54
+ const reloadTailwind = {
55
+ name: 'reload-tailwind',
56
+ transformIndexHtml(html) {
57
+ return html.replace('tailwind.css', 'tailwind.css?v=' + new Date().getTime())
58
+ }
59
+ }
60
+
54
61
  let config = {
55
- plugins: (Config.serve.mode === "dev" && Config.styles.ratio.enabled) ? [middleware, ratio, reload] : [middleware, reload],
62
+ plugins: (Config.serve.mode === "dev" && Config.styles.ratio.enabled) ? [middleware, ratio, reload, reloadTailwind] : [middleware, reload, reloadTailwind],
56
63
  publicDir: `${Config.paths.output.root}`,
57
64
  server: {
58
65
  open: Config.serve.index,
@@ -60,9 +67,6 @@ export const Serve = new class {
60
67
  fsServe: {
61
68
  strict: false
62
69
  },
63
- hmr: {
64
- host: 'localhost'
65
- },
66
70
  watch: {
67
71
  ignored: ['**/node_modules/**', '**/.git/**', '**/src/templates/**', '**/src/main.json', `**/${Config.paths.output.root}/*.html`]
68
72
  }
@@ -76,6 +80,9 @@ export const Serve = new class {
76
80
  https: {
77
81
  key: fs.readFileSync(path.join(os.homedir(),'.ssh/localhost-key.pem')),
78
82
  cert: fs.readFileSync(path.join(os.homedir(),'.ssh/localhost.pem')),
83
+ },
84
+ hmr: {
85
+ host: 'localhost'
79
86
  }
80
87
  }
81
88
  })
package/modules/Styles.js CHANGED
@@ -10,6 +10,32 @@ import glob from "glob";
10
10
  import through from "through2";
11
11
  import {Config, Exists, Functions, Modules, Utils, root} from "./Core.js";
12
12
 
13
+ const aspectRatio = () => {
14
+ return {
15
+ postcssPlugin: 'aspect-ratio',
16
+ Declaration: {
17
+ 'aspect-ratio': (decl, {Rule, Declaration}) => {
18
+ const rule = decl.parent
19
+ const selector = rule.selector
20
+ const beforeRule = new Rule({selector: `${selector}:before`, raws: {after: rule.raws.after, semicolon: rule.raws.semicolon}})
21
+ const ratio = decl.value.replace(/['"]?((?:\d*\.?\d*)?)(?:\s*[:|\/]\s*)(\d*\.?\d*)['"]?/g, (match, width, height) => {
22
+ return (height / width) * 100 + '%'
23
+ })
24
+
25
+ beforeRule.append([
26
+ new Declaration({prop: 'padding-bottom', value: ratio}),
27
+ ])
28
+
29
+ rule.after(beforeRule)
30
+
31
+ rule.nodes.length === 1 ? rule.remove() : decl.remove()
32
+ },
33
+ }
34
+ }
35
+ }
36
+
37
+ aspectRatio.postcss = true;
38
+
13
39
  export class Styles {
14
40
  get purge() {
15
41
  return {
@@ -160,7 +186,7 @@ export class Styles {
160
186
  }
161
187
 
162
188
  gulp.src(`${root + Config.paths.input.styles}/${Config.styles.tailwind.basename}`)
163
- .pipe(postcss(new Utils().postcssPlugins(Config.styles.tailwind.postcss, [tailwindcss(tailwindcssConfig), autoprefixer])))
189
+ .pipe(postcss(new Utils().postcssPlugins(Config.styles.tailwind.postcss, [tailwindcss(tailwindcssConfig), aspectRatio, autoprefixer])))
164
190
  .pipe(gulpif(Config.styles.optimizations, clean()))
165
191
  .pipe(gulp.dest(root + Config.paths.temp))
166
192
  .on("end", resolve)
@@ -245,32 +271,6 @@ export class Styles {
245
271
  });
246
272
  }
247
273
 
248
- const aspectRatio = () => {
249
- return {
250
- postcssPlugin: 'aspect-ratio',
251
- Declaration: {
252
- 'aspect-ratio': (decl, {Rule, Declaration}) => {
253
- const rule = decl.parent
254
- const selector = rule.selector
255
- const beforeRule = new Rule({selector: `${selector}:before`, raws: {after: rule.raws.after, semicolon: rule.raws.semicolon}})
256
- const ratio = decl.value.replace(/['"]?((?:\d*\.?\d*)?)(?:\s*[:|\/]\s*)(\d*\.?\d*)['"]?/g, (match, width, height) => {
257
- return (height / width) * 100 + '%'
258
- })
259
-
260
- beforeRule.append([
261
- new Declaration({prop: 'padding-bottom', value: ratio}),
262
- ])
263
-
264
- rule.after(beforeRule)
265
-
266
- rule.nodes.length === 1 ? rule.remove() : decl.remove()
267
- },
268
- }
269
- }
270
- }
271
-
272
- aspectRatio.postcss = true;
273
-
274
274
  const build = lazypipe().pipe(() => gulpif("*.css", postcss(new Utils().postcssPlugins(Config.styles.postcss, [autoprefixer, aspectRatio, inset])))
275
275
  ).pipe(() => gulpif("*.less", Modules.less.module()));
276
276
 
@@ -31,6 +31,31 @@ const tailwindColorsRgba = (colors = []) => {
31
31
  return colors
32
32
  };
33
33
 
34
+ const tailwindColorsAccent = (colors = []) => {
35
+ const result = {};
36
+
37
+ colors.forEach(color => {
38
+ result[`.accent-${color}`] = {
39
+ '--color-accent': `var(--color-${color})`,
40
+ 'accent-color': 'rgb(var(--color-accent))'
41
+ };
42
+ });
43
+
44
+ return result
45
+ };
46
+
47
+ const tailwindColorsCurrent = (colors = []) => {
48
+ const result = {};
49
+
50
+ colors.forEach(color => {
51
+ result[`.text-${color}`] = {
52
+ '--color-current': `var(--color-${color})`
53
+ };
54
+ });
55
+
56
+ return result
57
+ };
58
+
34
59
  const tailwindVariables = (type, variables = [], values = {}) => {
35
60
  variables.forEach(name => {
36
61
  values[name] = `var(--${type}-${name})`;
@@ -39,6 +64,21 @@ const tailwindVariables = (type, variables = [], values = {}) => {
39
64
  return values
40
65
  };
41
66
 
67
+ const tailwindAnimations = (values) => {
68
+ const result = {};
69
+
70
+ values.forEach(value => {
71
+ result[`.animation-${value}`] = {
72
+ 'animation-name': value
73
+ };
74
+ });
75
+
76
+ return result
77
+ };
78
+
79
+ exports.tailwindAnimations = tailwindAnimations;
42
80
  exports.tailwindColors = tailwindColors;
81
+ exports.tailwindColorsAccent = tailwindColorsAccent;
82
+ exports.tailwindColorsCurrent = tailwindColorsCurrent;
43
83
  exports.tailwindColorsRgba = tailwindColorsRgba;
44
84
  exports.tailwindVariables = tailwindVariables;
@@ -27,6 +27,31 @@ const tailwindColorsRgba = (colors = []) => {
27
27
  return colors
28
28
  }
29
29
 
30
+ const tailwindColorsAccent = (colors = []) => {
31
+ const result = {}
32
+
33
+ colors.forEach(color => {
34
+ result[`.accent-${color}`] = {
35
+ '--color-accent': `var(--color-${color})`,
36
+ 'accent-color': 'rgb(var(--color-accent))'
37
+ }
38
+ })
39
+
40
+ return result
41
+ }
42
+
43
+ const tailwindColorsCurrent = (colors = []) => {
44
+ const result = {};
45
+
46
+ colors.forEach(color => {
47
+ result[`.text-${color}`] = {
48
+ '--color-current': `var(--color-${color})`
49
+ };
50
+ });
51
+
52
+ return result
53
+ };
54
+
30
55
  const tailwindVariables = (type, variables = [], values = {}) => {
31
56
  variables.forEach(name => {
32
57
  values[name] = `var(--${type}-${name})`
@@ -35,4 +60,16 @@ const tailwindVariables = (type, variables = [], values = {}) => {
35
60
  return values
36
61
  }
37
62
 
38
- export { tailwindColors, tailwindVariables, tailwindColorsRgba }
63
+ const tailwindAnimations = (values) => {
64
+ const result = {};
65
+
66
+ values.forEach(value => {
67
+ result[`.animation-${value}`] = {
68
+ 'animation-name': value
69
+ };
70
+ });
71
+
72
+ return result
73
+ }
74
+
75
+ export { tailwindColors, tailwindVariables, tailwindColorsRgba, tailwindColorsAccent, tailwindColorsCurrent, tailwindAnimations }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@newlogic-digital/core",
3
3
  "type": "module",
4
- "version": "0.9.1",
4
+ "version": "0.9.5",
5
5
  "main": "index.js",
6
6
  "author": "New Logic Studio s.r.o.",
7
7
  "description": "Set of tools that can be used to create modern web applications",
@@ -40,7 +40,7 @@
40
40
  "lazypipe": "^1.0.2",
41
41
  "lodash": "^4.17.21",
42
42
  "postcss-custom-media": "^8.0.0",
43
- "postcss-custom-properties": "^12.1.3",
43
+ "postcss-custom-properties": "^12.1.4",
44
44
  "postcss-custom-selectors": "^6.0.0",
45
45
  "postcss-import": "^14.0.2",
46
46
  "postcss-nesting": "^10.1.2",
@@ -52,7 +52,7 @@
52
52
  "peerDependencies": {
53
53
  "autoprefixer": "^10.4.2",
54
54
  "postcss": "^8.4.5",
55
- "tailwindcss": "^3.0.16"
55
+ "tailwindcss": "^3.0.18"
56
56
  },
57
57
  "devDependencies": {
58
58
  "vitepress": "^0.21.6"