@plumeria/utils 11.1.1 → 11.1.3

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,3 +1,3 @@
1
1
  import type { CreateTheme } from './types';
2
- declare const createTheme: <const T extends CreateTheme>(rule: T) => Record<string, Record<string, string | number | Record<string, string | number>>>;
2
+ declare const createTheme: <const T extends CreateTheme>(rule: T, hash?: string) => Record<string, Record<string, string | number | Record<string, string | number>>>;
3
3
  export { createTheme };
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createTheme = void 0;
4
4
  const zss_engine_1 = require("zss-engine");
5
- const createTheme = (rule) => {
5
+ const createTheme = (rule, hash) => {
6
6
  const styles = {};
7
7
  for (const key in rule) {
8
- const varKey = `--${(0, zss_engine_1.camelToKebabCase)(key)}`;
8
+ const varKey = hash
9
+ ? `--${hash}-${(0, zss_engine_1.camelToKebabCase)(key)}`
10
+ : `--${(0, zss_engine_1.camelToKebabCase)(key)}`;
9
11
  const themeMap = rule[key];
10
12
  for (const themeKey in themeMap) {
11
13
  const value = themeMap[themeKey];
package/dist/parser.js CHANGED
@@ -123,6 +123,20 @@ function objectExpressionToObject(node, staticTable, keyframesHashTable, viewTra
123
123
  }
124
124
  return;
125
125
  }
126
+ if (exports.t.isIdentifier(prop) && !exports.t.isObjectProperty(prop)) {
127
+ const key = prop.value;
128
+ if (resolveVariable) {
129
+ const resolved = resolveVariable(key);
130
+ if (resolved !== undefined) {
131
+ obj[key] = resolved;
132
+ return;
133
+ }
134
+ }
135
+ if (staticTable[key] !== undefined) {
136
+ obj[key] = staticTable[key];
137
+ }
138
+ return;
139
+ }
126
140
  if (!exports.t.isObjectProperty(prop))
127
141
  return;
128
142
  const key = getPropertyKey(prop.key, staticTable, keyframesHashTable, viewTransitionHashTable, createThemeHashTable, createThemeObjectTable, createStaticHashTable, createStaticObjectTable);
@@ -488,7 +502,7 @@ function resolveCreateThemeTableMemberExpressionByNode(node, createThemeHashTabl
488
502
  }
489
503
  if (key && themeObj[key] !== undefined) {
490
504
  const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
491
- return `var(--${cssVarName})`;
505
+ return `var(--${hash}-${cssVarName})`;
492
506
  }
493
507
  }
494
508
  }
@@ -700,6 +714,10 @@ function scanAll() {
700
714
  if (localTables.createThemeHashTable[uniqueKey]) {
701
715
  const hash = localTables.createThemeHashTable[uniqueKey];
702
716
  localCreateThemeHashTable[localName] = hash;
717
+ if (localTables.createThemeObjectTable[hash]) {
718
+ localCreateThemeObjectTable[hash] =
719
+ localTables.createThemeObjectTable[hash];
720
+ }
703
721
  }
704
722
  if (localTables.keyframesHashTable[uniqueKey]) {
705
723
  const hash = localTables.keyframesHashTable[uniqueKey];
@@ -821,7 +839,7 @@ function scanAll() {
821
839
  const hashMap = {};
822
840
  for (const [key] of Object.entries(obj)) {
823
841
  const cssVarName = (0, zss_engine_1.camelToKebabCase)(key);
824
- hashMap[key] = `var(--${cssVarName})`;
842
+ hashMap[key] = `var(--${hash}-${cssVarName})`;
825
843
  }
826
844
  localTables.createAtomicMapTable[hash] = hashMap;
827
845
  }
@@ -978,26 +996,28 @@ function extractOndemandStyles(obj, extractedSheets, t) {
978
996
  }
979
997
  }
980
998
  if (usedVariables.size > 0) {
981
- for (const themeVarName in t.createThemeHashTable) {
999
+ Object.keys(t.createThemeHashTable)
1000
+ .sort()
1001
+ .forEach((themeVarName) => {
982
1002
  const hash = t.createThemeHashTable[themeVarName];
983
1003
  const definition = t.createThemeObjectTable[hash];
984
1004
  if (definition && typeof definition === 'object') {
985
1005
  const filteredDefinition = {};
986
1006
  let hasUsed = false;
987
1007
  Object.keys(definition).forEach((key) => {
988
- const varName = `--${(0, zss_engine_1.camelToKebabCase)(key)}`;
1008
+ const varName = `--${hash}-${(0, zss_engine_1.camelToKebabCase)(key)}`;
989
1009
  if (usedVariables.has(varName)) {
990
1010
  filteredDefinition[key] = definition[key];
991
1011
  hasUsed = true;
992
1012
  }
993
1013
  });
994
1014
  if (hasUsed) {
995
- const styles = (0, createTheme_1.createTheme)(filteredDefinition);
1015
+ const styles = (0, createTheme_1.createTheme)(filteredDefinition, hash);
996
1016
  const { styleSheet } = (0, zss_engine_1.transpile)(styles, undefined, '--global');
997
1017
  addSheet(styleSheet);
998
1018
  }
999
1019
  }
1000
- }
1020
+ });
1001
1021
  }
1002
1022
  }
1003
1023
  function deepMerge(target, source) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plumeria/utils",
3
- "version": "11.1.1",
3
+ "version": "11.1.3",
4
4
  "description": "Plumeria Utils",
5
5
  "author": "Refirst 11",
6
6
  "license": "MIT",