@propeller-commerce/propeller-v2-react-ui 0.15.0 → 0.15.2

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
@@ -8,6 +8,33 @@ once it reaches 1.0. Until then (the `0.x` line) the public API may change
8
8
  between minor versions; breaking changes are called out below and in
9
9
  [MIGRATION.md](./MIGRATION.md).
10
10
 
11
+ ## [0.15.2] - 2026-08-10
12
+
13
+ ### Fixed
14
+
15
+ - `<GridFilters>` resolves each facet's label in the active language. The title
16
+ came from `descriptions[0]`, so on a bilingual tenant every filter heading
17
+ rendered in whichever language the API returned first (Dutch), regardless of
18
+ the shopper's selection. It now matches on the `language` prop, falling back
19
+ to the first description and then the raw attribute name.
20
+
21
+ Hosts must pass `language` to `<GridFilters>` / `<GridFiltersPanel>` for the
22
+ labels to follow the language switcher; omitting it preserves the previous
23
+ behaviour.
24
+
25
+ ## [0.15.1] - 2026-08-10
26
+
27
+ ### Fixed
28
+
29
+ - `<GridFilters>` shows an unticked option its **own** result total instead of
30
+ the intersection with the group's active selection. Once a group held a
31
+ selection the backend's `count` for a sibling became "products carrying both
32
+ values" — a season facet read "(1)" and added 2 products when ticked. The
33
+ count now comes from `countActive` (the option with its own group's filters
34
+ lifted, other groups still applied), which is what the field is documented
35
+ for. With no selection in the group the backend returns `count ===
36
+ countActive`, so unfiltered listings are unchanged.
37
+
11
38
  ## [0.15.0] - 2026-08-06
12
39
 
13
40
  ### Changed
package/dist/index.cjs CHANGED
@@ -9388,7 +9388,10 @@ function GridFilters(rawProps) {
9388
9388
  return filter?.attributeDescription?.name || "";
9389
9389
  }
9390
9390
  function getFilterTitle(filter) {
9391
- return filter?.attributeDescription?.descriptions?.[0]?.value || filter?.attributeDescription?.name || "";
9391
+ const descriptions = filter?.attributeDescription?.descriptions;
9392
+ const lang = props.language?.toUpperCase();
9393
+ const match = lang ? descriptions?.find((d) => d?.language?.toUpperCase() === lang) : void 0;
9394
+ return match?.value || descriptions?.[0]?.value || filter?.attributeDescription?.name || "";
9392
9395
  }
9393
9396
  function getFilteredFilters() {
9394
9397
  const list = props.filters ?? [];
@@ -9487,7 +9490,7 @@ function GridFilters(rawProps) {
9487
9490
  function getCount(option) {
9488
9491
  const c = option?.count || 0;
9489
9492
  const ca = option?.countActive || 0;
9490
- return c === 0 && ca > 0 ? ca : c;
9493
+ return ca > 0 ? ca : c;
9491
9494
  }
9492
9495
  function getMinBound() {
9493
9496
  return props.priceMin || 0;