hazo_ui 6.13.1 → 6.14.0
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/CHANGE_LOG.md +34 -0
- package/dist/index.cjs +4 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/CHANGE_LOG.md
CHANGED
|
@@ -5,6 +5,40 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## v6.14.0 (2026-10-04)
|
|
9
|
+
|
|
10
|
+
### Added — German (`de`) catalog and LocalePicker demo
|
|
11
|
+
|
|
12
|
+
- New `src/locales/de.json`: German translation of all 219 keys in `en.json`
|
|
13
|
+
(flat dotted keys, identical key set, every `{{placeholder}}` preserved
|
|
14
|
+
verbatim). Consumers register it through hazo_i18n alongside `en`; the package
|
|
15
|
+
does not bundle non-English catalogs into `dist/`.
|
|
16
|
+
- The German catalog was produced with the hazo_i18n pipeline, not by hand:
|
|
17
|
+
`translateMessages()` (export, then Gemini via `hazo_llm_api` per chunk, then
|
|
18
|
+
`importMessages()` with ICU/HTML/expansion validation). 9 chunks, 0 failed,
|
|
19
|
+
0 rejected. 14 non-blocking length-expansion warnings on very short strings
|
|
20
|
+
(e.g. `Save` to `Speichern`) were accepted; no translation was changed by hand.
|
|
21
|
+
- Rationale: German is the first non-English catalog for hazo_ui, and it exercises
|
|
22
|
+
the hazo_i18n export/LLM/import round trip on a real package catalog.
|
|
23
|
+
- Test-app: new `/locale-picker` page demoing `LocalePicker` (dropdown, compact and
|
|
24
|
+
inline variants; native, native+code and code display; flags) with real locale
|
|
25
|
+
alternates. Alternates point at a new `/set-locale` route that sets the
|
|
26
|
+
`NEXT_LOCALE` cookie and redirects back.
|
|
27
|
+
- Test-app `i18n_runtime.ts` now registers the hazo_ui `en` and `de` catalogs under
|
|
28
|
+
the `hazo_ui` namespace, so hazo_ui components switch language in the test-app
|
|
29
|
+
through `HazoUiI18nProvider`. Previously they stayed English.
|
|
30
|
+
|
|
31
|
+
### Fixed — dialog re-render loop on open
|
|
32
|
+
|
|
33
|
+
- `HazoUiMultiFilterDialog` and `HazoUiMultiSortDialog` defaulted `initialFilters` /
|
|
34
|
+
`initialSortFields` to a fresh `[]` each render. Their open-time sync effect depends
|
|
35
|
+
on that prop, so every render reset state to a new array and looped until React
|
|
36
|
+
threw `RangeError: Invalid array length`. Defaults now reference a module-level
|
|
37
|
+
empty constant.
|
|
38
|
+
- `filter_dialog_i18n.test.tsx`: the "explicit title wins" assertion queried
|
|
39
|
+
`getByText("Filter")`, which matched the still-mounted trigger button; it now asserts
|
|
40
|
+
no heading named "Filter".
|
|
41
|
+
|
|
8
42
|
## v6.13.1 (2026-10-03)
|
|
9
43
|
|
|
10
44
|
### Fixed — remaining hardcoded English strings now go through i18n
|
package/dist/index.cjs
CHANGED
|
@@ -1145,10 +1145,11 @@ function FilterFieldItem({
|
|
|
1145
1145
|
] })
|
|
1146
1146
|
] });
|
|
1147
1147
|
}
|
|
1148
|
+
var NO_INITIAL_FILTERS = [];
|
|
1148
1149
|
function HazoUiMultiFilterDialog({
|
|
1149
1150
|
availableFields,
|
|
1150
1151
|
onFilterChange,
|
|
1151
|
-
initialFilters =
|
|
1152
|
+
initialFilters = NO_INITIAL_FILTERS,
|
|
1152
1153
|
title: titleProp,
|
|
1153
1154
|
description: descriptionProp,
|
|
1154
1155
|
headerBackgroundColor,
|
|
@@ -1513,10 +1514,11 @@ function SortableSortFieldItem({
|
|
|
1513
1514
|
}
|
|
1514
1515
|
);
|
|
1515
1516
|
}
|
|
1517
|
+
var NO_INITIAL_SORT_FIELDS = [];
|
|
1516
1518
|
function HazoUiMultiSortDialog({
|
|
1517
1519
|
availableFields,
|
|
1518
1520
|
onSortChange,
|
|
1519
|
-
initialSortFields =
|
|
1521
|
+
initialSortFields = NO_INITIAL_SORT_FIELDS,
|
|
1520
1522
|
title: titleProp,
|
|
1521
1523
|
description: descriptionProp,
|
|
1522
1524
|
headerBackgroundColor,
|