clava 0.2.1 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # clava
2
2
 
3
+ ## 0.2.3
4
+
5
+ ### Improved runtime performance of `extend` chains and `getVariants` in `cv`
6
+
7
+ Extending components no longer round-trips through the public component (`clsx` join → regex split to recover variant classes) — extends now contribute classes and styles directly via an internal compute path, avoiding intermediate string parsing and array allocations on every render.
8
+
9
+ Per-render benchmarks improve roughly 2.5× for extended components and 2.7× for `getVariants`, with no public API changes.
10
+
11
+ ### Fixed `computed`'s `ctx.variants` leaking foreign variant keys when extended
12
+
13
+ When the same `cv` was used as an `extend` by a parent component that defined additional variant keys, the `computed` callback's `ctx.variants` could include those parent-only keys. It is now filtered to the component's own `variantKeys`, matching the public `VariantValues<V>` contract — both during render and during the `setDefaultVariants` pass that backs `getVariants`.
14
+
15
+ ### Fixed non-idempotent `transformClass` compounding across `extend` chains
16
+
17
+ A non-idempotent `transformClass` (e.g. one that prefixes every class word) was applied multiple times to base classes contributed by extended components — once per level in the extend chain. It now runs exactly once per render, so prefixing transforms no longer compound across `extend`. The fix also covers cross-factory extends: when a component from one `create()` factory is extended by a component from another, the extend's transform applies to its own contribution before the parent's transform runs on the joined string.
18
+
19
+ ## 0.2.2
20
+
21
+ - Improved runtime prop resolution, style normalization, and [`splitProps`](https://clava.style/docs/reference/split-props) performance.
22
+
3
23
  ## 0.2.1
4
24
 
5
25
  ### Improved runtime performance of `cv` and `splitProps`