hazo_ui 6.11.2 → 6.12.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/CHANGE_LOG.md +78 -0
- package/SETUP_CHECKLIST.md +2 -2
- package/dist/index.cjs +157 -137
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +156 -136
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/CHANGE_LOG.md
CHANGED
|
@@ -5,6 +5,84 @@ 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.12.3 (2026-09-30)
|
|
9
|
+
|
|
10
|
+
### Changed — i18n string wiring
|
|
11
|
+
|
|
12
|
+
- Hardcoded English in `canvas_text_toolbar`, `error_banner`, `error_page`,
|
|
13
|
+
`hazo_ui_confirm_dialog`, `hazo_ui_icon_picker`, `hazo_ui_multi_sort_dialog`,
|
|
14
|
+
`loading_timeout`, `notification_item`, `notification_panel` and `toaster`
|
|
15
|
+
now goes through `t()`. Prop defaults (`title`, `description`,
|
|
16
|
+
`cancelLabel`, ...) resolve via `t()` so consumer overrides still win.
|
|
17
|
+
- `src/locales/en.json` gains the matching keys (`sort.*`, `canvas_toolbar.*`,
|
|
18
|
+
`toast.permission_*`, `error.*`, `loading.taking_longer`, `notification.*`,
|
|
19
|
+
`confirm.cancel`, `icon_picker.search_placeholder`, `common.*`).
|
|
20
|
+
Additive only; English output is unchanged.
|
|
21
|
+
|
|
22
|
+
### Added — test-app
|
|
23
|
+
|
|
24
|
+
- `/translations` page + `/api/i18n/[...path]` route (via
|
|
25
|
+
`hazo_i18n/api` `createI18nRoutes`) with a "Translate with AI" flow, sidebar
|
|
26
|
+
entry, `config/hazo_i18n_config.ini` + `hazo_llm_api_config.ini`.
|
|
27
|
+
- `src/lib/llm_init.ts` loads `hazo_llm_api/server` with `optional_import`
|
|
28
|
+
instead of a static import. A static import is bundled as a separate module
|
|
29
|
+
instance from the runtime copy `hazo_i18n`'s `translateMessages` resolves,
|
|
30
|
+
so init ran on the wrong instance and every chunk failed with "LLM API not
|
|
31
|
+
initialized". Verified: 25/25 chunks ok.
|
|
32
|
+
- `next.config.js`: `hazo_i18n`/`hazo_connect` transpile + source aliases,
|
|
33
|
+
`sql.js` server external. Generated `.hazo-i18n/` and `*.sqlite` ignored.
|
|
34
|
+
|
|
35
|
+
## v6.12.2 (2026-09-30)
|
|
36
|
+
|
|
37
|
+
### Fixed — `useFullscreen`
|
|
38
|
+
|
|
39
|
+
- The fullscreen toggle silently did nothing on iOS Safari. iOS Safari has no
|
|
40
|
+
`requestFullscreen` at all for arbitrary elements (not a missing vendor
|
|
41
|
+
prefix — the method is simply absent), so `enter()` hit its
|
|
42
|
+
`!document.documentElement.requestFullscreen` guard and returned without
|
|
43
|
+
ever flipping `isFullscreen`, and `fullscreenchange` never fired to sync it
|
|
44
|
+
either. Any consumer driving a CSS-based fullscreen layout off
|
|
45
|
+
`isFullscreen` (GoTimer's `TimerShellV2`, for example — a `fixed inset-0
|
|
46
|
+
z-[9999]` overlay with no dependency on the real browser fullscreen state)
|
|
47
|
+
got a dead button on iPhone with no error.
|
|
48
|
+
`enter()`/`exit()`/`toggle()` now detect API support up front and, when
|
|
49
|
+
it's missing, track `isFullscreen` as plain local state instead of no-op'ing
|
|
50
|
+
— the real browser-chrome-hiding effect is still unavailable on iOS (a
|
|
51
|
+
platform limitation, not fixable from JS), but the CSS-driven fullscreen
|
|
52
|
+
layout itself now activates correctly. Added
|
|
53
|
+
`src/hooks/__tests__/use_fullscreen.test.ts` covering both the
|
|
54
|
+
native-API and no-API-available paths.
|
|
55
|
+
|
|
56
|
+
## v6.12.1 (2026-09-29)
|
|
57
|
+
|
|
58
|
+
### Fixed / Added — `HazoUiEtaProgress`/`HazoUiProgressBar`
|
|
59
|
+
|
|
60
|
+
- Bar fill used `bg-accent`, which reads as a near-invisible low-contrast tint
|
|
61
|
+
against several theme presets — switched to `bg-primary` to match the rest
|
|
62
|
+
of the design system's progress/loading affordances.
|
|
63
|
+
- New optional `showPercent` (percentage text next to the label, default
|
|
64
|
+
`false`) and `size` (bar height in px, default `8`) props on both
|
|
65
|
+
`HazoUiEtaProgress` and `HazoUiProgressBar`. Purely additive — no existing
|
|
66
|
+
caller's behavior changes.
|
|
67
|
+
|
|
68
|
+
## v6.12.0 (2026-09-20)
|
|
69
|
+
|
|
70
|
+
### Changed — migrated onto the canonical `hazo_core/i18n` bridge
|
|
71
|
+
|
|
72
|
+
hazo_ui's own baked-in strings (login buttons, table/filter-dialog labels,
|
|
73
|
+
kanban, browser-tab, RTE toolbar tooltips under the `rte.*` namespace, etc.)
|
|
74
|
+
now go through `createPackageT` from `hazo_core/i18n` instead of this
|
|
75
|
+
package's local `src/lib/create_package_t.ts` (deleted). Catalog stays a flat
|
|
76
|
+
`src/locales/en.json` with `{{var}}` interpolation — no reshaping needed.
|
|
77
|
+
`hazo_i18n` added as an optional peer dependency (`^0.5.0`); `hazo_core` peer
|
|
78
|
+
bumped to `^2.4.0` (first version shipping the `/i18n` sub-export). No public
|
|
79
|
+
API change — the bridge was never re-exported from `src/index.ts`.
|
|
80
|
+
|
|
81
|
+
The `rte.*` namespace (Tiptap rich-text-editor toolbar strings) already lived
|
|
82
|
+
in the single `en.json` catalog by the time this migration ran — there was no
|
|
83
|
+
separate `TiptapI18nProvider`/`en.ts`/`si.ts`/`sv.ts` locale system left to
|
|
84
|
+
merge; that consolidation had already happened in an earlier session.
|
|
85
|
+
|
|
8
86
|
## v6.11.2 (2026-09-01)
|
|
9
87
|
|
|
10
88
|
### Fixed — `hazo_state` peer dependency range never resolved
|
package/SETUP_CHECKLIST.md
CHANGED
|
@@ -99,7 +99,7 @@ The following peer dependencies are required:
|
|
|
99
99
|
- [ ] React (^18.0.0 or ^19.0.0)
|
|
100
100
|
- [ ] React DOM (^18.0.0 or ^19.0.0)
|
|
101
101
|
- [ ] hazo_core (^1.2.0)
|
|
102
|
-
- [ ] hazo_state (^0.
|
|
102
|
+
- [ ] hazo_state (^0.6.3) — the `hazo_ui` barrel statically imports `hazo_state/client` (for `HazoUiEtaProgress`), so this is **required** even if you don't use the ETA progress bar.
|
|
103
103
|
|
|
104
104
|
If not already installed:
|
|
105
105
|
|
|
@@ -143,7 +143,7 @@ npm install @radix-ui/react-dialog @radix-ui/react-popover @radix-ui/react-selec
|
|
|
143
143
|
- **Slider**: `@radix-ui/react-slider`
|
|
144
144
|
- **InputAffix**: No additional dependencies (uses the base shadcn/ui `Input` component)
|
|
145
145
|
- **HazoUiProgressBar, useEtaProgress, median, computeEta, easeToward**: No additional dependencies
|
|
146
|
-
- **HazoUiEtaProgress**: `hazo_state` (^0.
|
|
146
|
+
- **HazoUiEtaProgress**: `hazo_state` (^0.6.3) — a **required** peer dep of hazo_ui (the barrel imports it unconditionally), so it is always installed regardless of which components you use.
|
|
147
147
|
|
|
148
148
|
### 4. Configure Tailwind CSS
|
|
149
149
|
|