zss-engine 0.2.32 → 0.2.34

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/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getServerCSS = exports.injectServerCSS = exports.injectClientGlobalCSS = exports.injectClientCSS = exports.build = exports.transpiler = exports.genBase36Hash = exports.isDevAndTest = exports.isDevelopment = exports.isServer = void 0;
3
+ exports.getServerCSS = exports.injectServerCSS = exports.injectClientGlobalCSS = exports.injectClientCSS = exports.camelToKebabCase = exports.build = exports.transpiler = exports.genBase36Hash = exports.isDevAndTest = exports.isDevelopment = exports.isServer = void 0;
4
4
  var helper_js_1 = require("./utils/helper.js");
5
5
  Object.defineProperty(exports, "isServer", { enumerable: true, get: function () { return helper_js_1.isServer; } });
6
6
  Object.defineProperty(exports, "isDevelopment", { enumerable: true, get: function () { return helper_js_1.isDevelopment; } });
@@ -11,6 +11,8 @@ var transpiler_js_1 = require("./utils/transpiler.js");
11
11
  Object.defineProperty(exports, "transpiler", { enumerable: true, get: function () { return transpiler_js_1.transpiler; } });
12
12
  var build_js_1 = require("./utils/build.js");
13
13
  Object.defineProperty(exports, "build", { enumerable: true, get: function () { return build_js_1.build; } });
14
+ var helper_js_2 = require("./utils/helper.js");
15
+ Object.defineProperty(exports, "camelToKebabCase", { enumerable: true, get: function () { return helper_js_2.camelToKebabCase; } });
14
16
  var inject_client_css_js_1 = require("./utils/inject-client-css.js");
15
17
  Object.defineProperty(exports, "injectClientCSS", { enumerable: true, get: function () { return inject_client_css_js_1.injectClientCSS; } });
16
18
  var inject_client_global_css_js_1 = require("./utils/inject-client-global-css.js");
@@ -14,7 +14,8 @@ const applyCssValue = (value, cssProp) => {
14
14
  return value;
15
15
  };
16
16
  exports.applyCssValue = applyCssValue;
17
- const camelToKebabCase = (property) => {
18
- return property.replace(/([A-Z])/g, '-$1').toLowerCase();
19
- };
17
+ const camelToKebabCase = (property) => property
18
+ .replace(/([A-Z])([0-9])/g, '$1-$2')
19
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
20
+ .toLowerCase();
20
21
  exports.camelToKebabCase = camelToKebabCase;
package/dist/esm/index.js CHANGED
@@ -2,6 +2,7 @@ export { isServer, isDevelopment, isDevAndTest } from './utils/helper.js';
2
2
  export { genBase36Hash } from './utils/hash.js';
3
3
  export { transpiler } from './utils/transpiler.js';
4
4
  export { build } from './utils/build.js';
5
+ export { camelToKebabCase } from './utils/helper.js';
5
6
  export { injectClientCSS } from './utils/inject-client-css.js';
6
7
  export { injectClientGlobalCSS } from './utils/inject-client-global-css.js';
7
8
  export { injectServerCSS, getServerCSS } from './utils/inject-server-css.js';
@@ -10,6 +10,7 @@ export const applyCssValue = (value, cssProp) => {
10
10
  }
11
11
  return value;
12
12
  };
13
- export const camelToKebabCase = (property) => {
14
- return property.replace(/([A-Z])/g, '-$1').toLowerCase();
15
- };
13
+ export const camelToKebabCase = (property) => property
14
+ .replace(/([A-Z])([0-9])/g, '$1-$2')
15
+ .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
16
+ .toLowerCase();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zss-engine",
3
- "version": "0.2.32",
3
+ "version": "0.2.34",
4
4
  "description": "Zero-runtime StyleSheet Engine",
5
5
  "keywords": [
6
6
  "zero-runtime",
package/types/index.d.ts CHANGED
@@ -1,11 +1,12 @@
1
1
  export type { CSSProperties } from './types/common/css-properties';
2
2
  export type { CreateStyleType, ReturnType, CreateStyle } from './types/main/create';
3
3
  export type { CSSHTML, CreateKeyframes } from './types/main/global';
4
- export type { CreateVars, CreateTheme } from './types/main/vars';
4
+ export type { CreateVars, CreateTheme, CamelToKebabCase } from './types/main/vars';
5
5
  export { isServer, isDevelopment, isDevAndTest } from './utils/helper.js';
6
6
  export { genBase36Hash } from './utils/hash.js';
7
7
  export { transpiler } from './utils/transpiler.js';
8
8
  export { build } from './utils/build.js';
9
+ export { camelToKebabCase } from './utils/helper.js';
9
10
  export { injectClientCSS } from './utils/inject-client-css.js';
10
11
  export { injectClientGlobalCSS } from './utils/inject-client-global-css.js';
11
12
  export { injectServerCSS, getServerCSS } from './utils/inject-server-css.js';
@@ -5,4 +5,9 @@ export type CSSVariableProperty = {
5
5
  };
6
6
  export type CreateVars = Record<string, string | number>;
7
7
  export type CreateTheme = Record<string, Record<string, string | number>>;
8
+ type IsUppercase<S extends string> = S extends Uppercase<S> ? (S extends Lowercase<S> ? false : true) : false;
9
+ type IsDigit<S extends string> = S extends `${number}` ? true : false;
10
+ type CamelToKebab<S extends string, PrevType = 'start'> = S extends `${infer First}${infer Rest}` ? IsUppercase<First> extends true ? PrevType extends 'upper' | 'start' ? `${Lowercase<First>}${CamelToKebab<Rest, 'upper'>}` : `-${Lowercase<First>}${CamelToKebab<Rest, 'upper'>}` : IsDigit<First> extends true ? PrevType extends 'digit' | 'lower' ? `${First}${CamelToKebab<Rest, 'digit'>}` : `-${First}${CamelToKebab<Rest, 'digit'>}` : `${First}${CamelToKebab<Rest, 'lower'>}` : S;
11
+ type RemoveLeadingHyphen<S extends string> = S extends `-${infer Rest}` ? Rest : S;
12
+ export type CamelToKebabCase<S extends string> = RemoveLeadingHyphen<CamelToKebab<S>>;
8
13
  export {};