@animus-ui/vite-plugin 0.1.0-next.8 → 0.1.0-next.9

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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,MAAM,CAAC;AAM3C,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6RD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CAw7BxE;AAED,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvE,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,MAAM,CAAC;AAM3C,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,qGAAqG;IACrG,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2EAA2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA6RD,wBAAgB,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,MAAM,CA+gCxE;AAED,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACvE,eAAe,aAAa,CAAC"}
package/dist/index.mjs CHANGED
@@ -331,6 +331,8 @@ function animusExtract(options = {}) {
331
331
  let resolvedComponentCss = "";
332
332
  let storedSheets = null;
333
333
  let storedSystemPropMapJson = "{}";
334
+ let storedDynamicPropsJson = "{}";
335
+ let storedTransformsSource = "";
334
336
  const fileCache = /* @__PURE__ */ new Map();
335
337
  let packageMap = {};
336
338
  let bridgeInjected = false;
@@ -494,6 +496,31 @@ function animusExtract(options = {}) {
494
496
  storedManifest = JSON.parse(manifestJson);
495
497
  storedManifestJson = manifestJson;
496
498
  storedSystemPropMapJson = JSON.stringify(storedManifest?.system_prop_map ?? {});
499
+ const dynamicProps = storedManifest?.dynamic_props ?? {};
500
+ const newDynamicPropsJson = JSON.stringify(dynamicProps);
501
+ if (newDynamicPropsJson !== storedDynamicPropsJson) {
502
+ storedDynamicPropsJson = newDynamicPropsJson;
503
+ const usedTransformNames = /* @__PURE__ */ new Set();
504
+ for (const meta of Object.values(dynamicProps)) if (meta.transform_name) usedTransformNames.add(meta.transform_name);
505
+ if (storedManifest?.components) {
506
+ for (const comp of Object.values(storedManifest.components)) if (comp.replacement) {
507
+ const matches = comp.replacement.matchAll(/transforms\.(\w+)/g);
508
+ for (const match of matches) usedTransformNames.add(match[1]);
509
+ }
510
+ }
511
+ if (usedTransformNames.size > 0 && transformRegistry.size > 0) {
512
+ const transformParts = [];
513
+ for (const name of usedTransformNames) {
514
+ const fn = transformRegistry.get(name);
515
+ if (fn) try {
516
+ transformParts.push(`${JSON.stringify(name)}: ${fn.toString()}`);
517
+ } catch {
518
+ console.warn(`[animus-extract] Could not serialize transform "${name}" — dynamic props using it will fall back to raw values`);
519
+ }
520
+ }
521
+ storedTransformsSource = transformParts.length > 0 ? `{ ${transformParts.join(", ")} }` : "{}";
522
+ } else storedTransformsSource = "{}";
523
+ }
497
524
  bridgeInjected = false;
498
525
  storedSheets = storedManifest?.sheets ?? null;
499
526
  const rawCss = storedManifest?.css || "";
@@ -695,7 +722,22 @@ if (import.meta.hot) {
695
722
  });
696
723
  }
697
724
  `;
698
- if (id === RESOLVED_SYSTEM_PROPS_ID) return `export const systemPropMap = ${storedSystemPropMapJson};\nexport const systemPropGroups = ${groupRegistryJson};`;
725
+ if (id === RESOLVED_SYSTEM_PROPS_ID) {
726
+ let moduleSource = `export const systemPropMap = ${storedSystemPropMapJson};\nexport const systemPropGroups = ${groupRegistryJson};`;
727
+ if (storedDynamicPropsJson !== "{}") {
728
+ const dynamicProps = JSON.parse(storedDynamicPropsJson);
729
+ const configEntries = {};
730
+ for (const [propName, meta] of Object.entries(dynamicProps)) configEntries[propName] = {
731
+ varName: meta.var_name,
732
+ slotClass: meta.slot_class,
733
+ ...meta.transform_name ? { transformName: meta.transform_name } : {},
734
+ ...meta.scale_values && Object.keys(meta.scale_values).length > 0 ? { scaleValues: meta.scale_values } : {}
735
+ };
736
+ moduleSource += `\nexport const dynamicPropConfig = ${JSON.stringify(configEntries)};`;
737
+ moduleSource += `\nexport const transforms = ${storedTransformsSource};`;
738
+ }
739
+ return moduleSource;
740
+ }
699
741
  return null;
700
742
  },
701
743
  transform(code, id) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@animus-ui/vite-plugin",
3
- "version": "0.1.0-next.8",
3
+ "version": "0.1.0-next.9",
4
4
  "description": "Animus static CSS extraction Vite plugin",
5
5
  "author": "codecaaron <airrobb@gmail.com>",
6
6
  "license": "MIT",
@@ -25,7 +25,7 @@
25
25
  "vite": ">=5.0.0"
26
26
  },
27
27
  "dependencies": {
28
- "@animus-ui/core": "0.1.0-next.8",
29
- "@animus-ui/extract": "0.1.0-next.8"
28
+ "@animus-ui/core": "0.1.0-next.9",
29
+ "@animus-ui/extract": "0.1.0-next.9"
30
30
  }
31
31
  }