@plumeria/core 0.11.4 → 0.12.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/index.d.ts CHANGED
@@ -2,7 +2,7 @@ import { CSSHTML, CSSProperties, CSSProperties as CSSProperties$1, CreateKeyfram
2
2
  import { ps } from "zss-utils";
3
3
 
4
4
  declare const px: <T extends readonly string[]>(...pseudos: T) => Join<T>;
5
- declare const rx: (cssProperties: Readonly<CSSProperties$1>, varSet: RxVariableSet) => {
5
+ declare const rx: (styleProps: string | Readonly<CSSProperties$1>, varSet: RxVariableSet) => {
6
6
  className: string;
7
7
  style: {
8
8
  [k: string]: string;
package/dist/index.js CHANGED
@@ -8,18 +8,26 @@ function create(object) {
8
8
  const base36Hash = (0, zss_engine.genBase36Hash)(object, 6);
9
9
  const { styleSheet } = (0, zss_engine.transpiler)(object, base36Hash);
10
10
  const injectCSS = zss_engine.isServer ? zss_engine.injectServerCSS : zss_engine.injectClientCSS;
11
+ const injectIfNeeded = () => {
12
+ if (zss_engine.isTestingDevelopment) injectCSS(base36Hash, styleSheet);
13
+ };
11
14
  if (typeof require_css.globalPromise_1 === "undefined") require_css.initPromise_1();
12
15
  require_css.resolvePromise_1(styleSheet);
16
+ const result = {};
13
17
  Object.keys(object).forEach((key) => {
14
18
  const cssProperties = object[key];
15
19
  const hashedClassName = key + "_" + base36Hash;
16
20
  objectToKeyHashMap.set(cssProperties, hashedClassName);
17
- Object.defineProperty(object, key, { get: () => {
18
- if (zss_engine.isTestingDevelopment) injectCSS(base36Hash, styleSheet);
21
+ Object.defineProperty(result, key, { get: () => {
22
+ injectIfNeeded();
19
23
  return Object.freeze(cssProperties);
20
24
  } });
25
+ Object.defineProperty(result, "$" + key, { get: () => {
26
+ injectIfNeeded();
27
+ return hashedClassName;
28
+ } });
21
29
  });
22
- return Object.freeze(object);
30
+ return Object.freeze(result);
23
31
  }
24
32
 
25
33
  function global(object) {
@@ -44,10 +52,13 @@ const props = (...objects) => {
44
52
  const px = (...pseudos) => {
45
53
  return pseudos.filter(Boolean).join("");
46
54
  };
47
- const rx = (cssProperties, varSet) => ({
48
- className: props(cssProperties),
49
- style: Object.fromEntries(Object.entries(varSet).map(([key, value]) => [key, value]))
50
- });
55
+ const rx = (styleProps, varSet) => {
56
+ const className = typeof styleProps === "string" ? styleProps : props(styleProps);
57
+ return {
58
+ className,
59
+ style: Object.fromEntries(Object.entries(varSet).map(([key, value]) => [key, value]))
60
+ };
61
+ };
51
62
 
52
63
  const keyframes = (object) => {
53
64
  const prefix = (0, zss_engine.genBase36Hash)(object, 8);
package/dist/index.mjs CHANGED
@@ -7,18 +7,26 @@ function create(object) {
7
7
  const base36Hash = genBase36Hash(object, 6);
8
8
  const { styleSheet } = transpiler(object, base36Hash);
9
9
  const injectCSS = isServer ? injectServerCSS : injectClientCSS;
10
+ const injectIfNeeded = () => {
11
+ if (isTestingDevelopment) injectCSS(base36Hash, styleSheet);
12
+ };
10
13
  if (typeof globalPromise_1 === "undefined") initPromise_1();
11
14
  resolvePromise_1(styleSheet);
15
+ const result = {};
12
16
  Object.keys(object).forEach((key) => {
13
17
  const cssProperties = object[key];
14
18
  const hashedClassName = key + "_" + base36Hash;
15
19
  objectToKeyHashMap.set(cssProperties, hashedClassName);
16
- Object.defineProperty(object, key, { get: () => {
17
- if (isTestingDevelopment) injectCSS(base36Hash, styleSheet);
20
+ Object.defineProperty(result, key, { get: () => {
21
+ injectIfNeeded();
18
22
  return Object.freeze(cssProperties);
19
23
  } });
24
+ Object.defineProperty(result, "$" + key, { get: () => {
25
+ injectIfNeeded();
26
+ return hashedClassName;
27
+ } });
20
28
  });
21
- return Object.freeze(object);
29
+ return Object.freeze(result);
22
30
  }
23
31
 
24
32
  function global(object) {
@@ -43,10 +51,13 @@ const props = (...objects) => {
43
51
  const px = (...pseudos) => {
44
52
  return pseudos.filter(Boolean).join("");
45
53
  };
46
- const rx = (cssProperties, varSet) => ({
47
- className: props(cssProperties),
48
- style: Object.fromEntries(Object.entries(varSet).map(([key, value]) => [key, value]))
49
- });
54
+ const rx = (styleProps, varSet) => {
55
+ const className = typeof styleProps === "string" ? styleProps : props(styleProps);
56
+ return {
57
+ className,
58
+ style: Object.fromEntries(Object.entries(varSet).map(([key, value]) => [key, value]))
59
+ };
60
+ };
50
61
 
51
62
  const keyframes = (object) => {
52
63
  const prefix = genBase36Hash(object, 8);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/core",
3
- "version": "0.11.4",
3
+ "version": "0.12.0",
4
4
  "description": "Zero-runtime, expressive CSS-in-JS library for TypeScript.",
5
5
  "keywords": [
6
6
  "css",
@@ -39,7 +39,7 @@
39
39
  "stylesheet.css"
40
40
  ],
41
41
  "dependencies": {
42
- "zss-engine": "0.2.44",
42
+ "zss-engine": "0.2.48",
43
43
  "zss-utils": "0.2.4"
44
44
  },
45
45
  "publishConfig": {