@plumeria/utils 18.3.2 → 18.3.4

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.
@@ -1,7 +1,8 @@
1
1
  import type { CreateTheme } from './types';
2
- declare const createTheme: <const T extends CreateTheme>(themeSelector: string, rule: T) => {
2
+ declare const themeHashOf: (themeSelector: string, rule: Record<string, unknown>) => string;
3
+ declare const createTheme: <const T extends CreateTheme>(themeSelector: string, rule: T, themeHash: string) => {
3
4
  ':where(:root)': {
4
5
  [x: string]: string | Record<string, string>;
5
6
  };
6
7
  };
7
- export { createTheme };
8
+ export { createTheme, themeHashOf };
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTheme = void 0;
3
+ exports.themeHashOf = exports.createTheme = void 0;
4
4
  const zss_engine_1 = require("zss-engine");
5
- const createTheme = (themeSelector, rule) => {
5
+ const themeHashOf = (themeSelector, rule) => (0, zss_engine_1.genBase36Hash)({ _themeSelector: themeSelector, ...rule }, 1, 8);
6
+ exports.themeHashOf = themeHashOf;
7
+ const createTheme = (themeSelector, rule, themeHash) => {
6
8
  const rootTarget = {};
7
9
  const themeTarget = {};
8
10
  for (const key in rule) {
9
11
  const valueObj = rule[key];
10
- const hash = (0, zss_engine_1.genBase36Hash)({ [key]: valueObj }, 1, 8);
12
+ const hash = (0, zss_engine_1.genBase36Hash)({ _theme: themeHash, [key]: valueObj }, 1, 8);
11
13
  const cssVarName = `--${hash}-${(0, zss_engine_1.camelToKebabCase)(key)}`;
12
14
  rootTarget[cssVarName] = valueObj.default;
13
15
  themeTarget[cssVarName] = valueObj.theme;
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export type { Specificity } from 'zss-engine';
6
6
  export { getSpecificity, getPseudoElement } from 'zss-engine';
7
7
  export type { StyleSource } from './escalation';
8
8
  export { getStateWeights } from './escalation';
9
- export { createTheme } from './createTheme';
9
+ export { themeHashOf } from './createTheme';
10
10
  export { resolveImportPath } from './resolver';
11
11
  export { optimizer } from './optimizer';
12
12
  export { processVariants } from './variants';
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DEFAULT_STYLE_PROP = exports.timedAsync = exports.timed = exports.tally = exports.measure = exports.mark = exports.profiling = exports.collectReferenceIdentifiers = exports.getLeadingCommentLength = exports.processVariants = exports.optimizer = exports.resolveImportPath = exports.createTheme = exports.getStateWeights = exports.getPseudoElement = exports.getSpecificity = exports.getStyleRecords = exports.resolveComponentKey = exports.resolveExport = exports.getFileDependencies = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.getRootIdentifier = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
3
+ exports.DEFAULT_STYLE_PROP = exports.timedAsync = exports.timed = exports.tally = exports.measure = exports.mark = exports.profiling = exports.collectReferenceIdentifiers = exports.getLeadingCommentLength = exports.processVariants = exports.optimizer = exports.resolveImportPath = exports.themeHashOf = exports.getStateWeights = exports.getPseudoElement = exports.getSpecificity = exports.getStyleRecords = exports.resolveComponentKey = exports.resolveExport = exports.getFileDependencies = exports.scanAll = exports.deepMerge = exports.extractOndemandStyles = exports.getRootIdentifier = exports.t = exports.traverse = exports.collectLocalConsts = exports.objectExpressionToObject = void 0;
4
4
  var parser_1 = require("./parser");
5
5
  Object.defineProperty(exports, "objectExpressionToObject", { enumerable: true, get: function () { return parser_1.objectExpressionToObject; } });
6
6
  Object.defineProperty(exports, "collectLocalConsts", { enumerable: true, get: function () { return parser_1.collectLocalConsts; } });
@@ -21,7 +21,7 @@ Object.defineProperty(exports, "getPseudoElement", { enumerable: true, get: func
21
21
  var escalation_1 = require("./escalation");
22
22
  Object.defineProperty(exports, "getStateWeights", { enumerable: true, get: function () { return escalation_1.getStateWeights; } });
23
23
  var createTheme_1 = require("./createTheme");
24
- Object.defineProperty(exports, "createTheme", { enumerable: true, get: function () { return createTheme_1.createTheme; } });
24
+ Object.defineProperty(exports, "themeHashOf", { enumerable: true, get: function () { return createTheme_1.themeHashOf; } });
25
25
  var resolver_1 = require("./resolver");
26
26
  Object.defineProperty(exports, "resolveImportPath", { enumerable: true, get: function () { return resolver_1.resolveImportPath; } });
27
27
  var optimizer_1 = require("./optimizer");
package/dist/parser.js CHANGED
@@ -851,7 +851,7 @@ function resolveCreateThemeTableMemberExpressionByNode(node, createThemeHashTabl
851
851
  }
852
852
  if (key && themeObj[key] !== undefined) {
853
853
  const value = themeObj[key];
854
- const atomicHash = (0, zss_engine_1.genBase36Hash)({ [key]: value }, 1, 8);
854
+ const atomicHash = (0, zss_engine_1.genBase36Hash)({ _theme: hash, [key]: value }, 1, 8);
855
855
  const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
856
856
  return `var(--${atomicHash}-${cssVarName})`;
857
857
  }
@@ -1347,7 +1347,7 @@ function scanAll() {
1347
1347
  if (exports.t.isStringLiteral(selectorExpr)) {
1348
1348
  selector = selectorExpr.value;
1349
1349
  }
1350
- const hash = (0, zss_engine_1.genBase36Hash)(obj, 1, 8);
1350
+ const hash = (0, createTheme_1.themeHashOf)(selector, obj);
1351
1351
  localTables.createThemeObjectTable[hash] = obj;
1352
1352
  localCreateThemeObjectTable[hash] = obj;
1353
1353
  registerObjectOwner('createThemeObjectTable', hash, filePath);
@@ -1358,7 +1358,7 @@ function scanAll() {
1358
1358
  registerObjectOwner('createThemeSelectorTable', hash, filePath);
1359
1359
  const hashMap = {};
1360
1360
  for (const [key, value] of Object.entries(obj)) {
1361
- const atomicHash = (0, zss_engine_1.genBase36Hash)({ [key]: value }, 1, 8);
1361
+ const atomicHash = (0, zss_engine_1.genBase36Hash)({ _theme: hash, [key]: value }, 1, 8);
1362
1362
  const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
1363
1363
  hashMap[key] = `var(--${atomicHash}-${cssVarName})`;
1364
1364
  }
@@ -1936,12 +1936,10 @@ function extractOndemandStyles(obj, extractedSheets, t) {
1936
1936
  if (definition && typeof definition === 'object' && selector) {
1937
1937
  Object.keys(definition).forEach((key) => {
1938
1938
  const value = definition[key];
1939
- const atomicHash = (0, zss_engine_1.genBase36Hash)({ [key]: value }, 1, 8);
1939
+ const atomicHash = (0, zss_engine_1.genBase36Hash)({ _theme: hash, [key]: value }, 1, 8);
1940
1940
  const varName = `--${atomicHash}-${(0, zss_engine_1.camelToKebabCase)(key)}`;
1941
1941
  if (usedVariables.has(varName)) {
1942
- const styles = (0, createTheme_1.createTheme)(selector, {
1943
- [key]: value,
1944
- });
1942
+ const styles = (0, createTheme_1.createTheme)(selector, { [key]: value }, hash);
1945
1943
  const { styleSheet } = (0, zss_engine_1.transpile)(styles, undefined, '--global');
1946
1944
  addSheet(styleSheet);
1947
1945
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/utils",
3
- "version": "18.3.2",
3
+ "version": "18.3.4",
4
4
  "description": "Internal helpers shared by the Plumeria compiler and bundler plugins.",
5
5
  "author": "Refirst 11",
6
6
  "license": "MIT",