@zambon-dev/library 1.6.4 → 2.0.1

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
@@ -23,6 +23,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
23
23
 
24
24
  ### ⚠ Breaking Changes / Migration
25
25
 
26
+ ## [2.0.1] - 2026-09-21
27
+
28
+ ### Changed
29
+
30
+ - `RibbonComponent`, `FormGroupComponent` and `GroupContainerComponent` now use
31
+ `ChangeDetectionStrategy.OnPush`. They render from their inputs only, so behaviour is
32
+ unchanged, but consuming applications no longer check them on every change detection pass.
33
+
34
+ ## [2.0.0] - 2026-09-21
35
+
36
+ ### Changed
37
+
38
+ - **Accessibility.** Every interactive element that previously responded only to a mouse is now
39
+ reachable and operable by keyboard. `RibbonButtonComponent` (button, dropdown toggle and each
40
+ option), `GroupAccordionComponent`, `GroupScrollSpyComponent`, `SidebarItemComponent` and the
41
+ `MultiSelectComponent` result grid gained focus, `Enter`/`Space` activation and the matching ARIA
42
+ roles and state. `CatalogSelectComponent` status rows are now `role="presentation"`; its retry
43
+ action is a real button.
44
+ - `MultiEditorComponent` and the multi-select result grid render their actions as `<button>`
45
+ rather than `<a>`. They are styled identically but now honour `disabled` natively.
46
+
26
47
  ## [1.6.4] - 2026-09-21
27
48
 
28
49
  ### Fixed
@@ -39,6 +60,28 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
39
60
  `@zambon-dev/library` on its own left the dependency unresolved.
40
61
  - Added a README to the published package.
41
62
 
63
+ ### ⚠ Breaking Changes / Migration
64
+
65
+ **`FormInputComponent` outputs renamed.** Four outputs were named after native DOM events. Because
66
+ `<lib-form-input>` is a real element, `(change)` and `(input)` fired a consumer's handler twice --
67
+ once from the native event bubbling out of the inner control, once from the component -- and
68
+ `(blur)`/`(focus)` shadowed the native events. All four are typed `any`, so TypeScript could not
69
+ catch the mismatch.
70
+
71
+ Rename the bindings in your templates:
72
+
73
+ | Before | After |
74
+ | ---------- | ---------------- |
75
+ | `(blur)` | `(blurred)` |
76
+ | `(change)` | `(changed)` |
77
+ | `(focus)` | `(focused)` |
78
+ | `(input)` | `(inputChanged)` |
79
+
80
+ `(fixedValueChanged)` is unchanged, but its payload type is now `string` instead of `any` --
81
+ matching what it always emitted.
82
+
83
+ If you were relying on the double-fire, expect one call per event now instead of two.
84
+
42
85
  ## [1.6.2] - 2026-09-20
43
86
 
44
87
  ### Fixed
@@ -120,7 +163,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
120
163
  The point is where the grouping lives. `region` is a label repeated on every item that belongs to
121
164
  a group, matched by exact string equality: a typo silently splits one area into two, and the
122
165
  area has no row of its own to carry an order or a translation. Derived from the tree, the area
123
- *is* a menu row — it already has a translated label and an order — and nothing has to be
166
+ _is_ a menu row — it already has a translated label and an order — and nothing has to be
124
167
  duplicated across its items.
125
168
 
126
169
  The children of an area are fetched **eagerly**, at load, because they are rendered without a
@@ -250,7 +293,7 @@ and want external items too, add a subscription to `menuExternalUrlSelected`.
250
293
  `lib-multi-editor` now sends rows that `newData()` pre-filled but the user never edited. Nothing to do
251
294
  if your `newData()` returns an empty object (`{}`) — the common "blank row" convention — since a
252
295
  value-less row is still skipped and the posted batch is byte-for-byte what it was before. If your
253
- `newData()` *does* return field values, those rows now reach `saveData()` where they were previously
296
+ `newData()` _does_ return field values, those rows now reach `saveData()` where they were previously
254
297
  dropped, so a batch may contain entries it did not before; verify your backend rejects or defaults
255
298
  them as you expect.
256
299
 
@@ -331,7 +374,9 @@ config options and the `getUserProfile()` method still exist but are no longer c
331
374
  available via [GitHub Releases](https://github.com/RicardoZambon/ZLibraries/releases) and the
332
375
  `library-v*` tags.
333
376
 
334
- [Unreleased]: https://github.com/RicardoZambon/ZLibraries/compare/library-v1.6.4...HEAD
377
+ [Unreleased]: https://github.com/RicardoZambon/ZLibraries/compare/library-v2.0.1...HEAD
378
+ [2.0.1]: https://github.com/RicardoZambon/ZLibraries/releases/tag/library-v2.0.1
379
+ [2.0.0]: https://github.com/RicardoZambon/ZLibraries/releases/tag/library-v2.0.0
335
380
  [1.6.4]: https://github.com/RicardoZambon/ZLibraries/releases/tag/library-v1.6.4
336
381
  [1.6.3]: https://github.com/RicardoZambon/ZLibraries/releases/tag/library-v1.6.3
337
382
  [1.6.2]: https://github.com/RicardoZambon/ZLibraries/releases/tag/library-v1.6.2
package/README.md CHANGED
@@ -17,16 +17,16 @@ npm install @zambon-dev/library
17
17
 
18
18
  All peers must be present in the consuming application:
19
19
 
20
- | Package | Range |
21
- | --- | --- |
22
- | `@angular/cdk` | `^19.1.5` |
23
- | `@angular/common` | `^19.1.0` |
24
- | `@angular/core` | `^19.1.0` |
25
- | `@angular/forms` | `^19.1.0` |
26
- | `@angular/router` | `^19.1.0` |
20
+ | Package | Range |
21
+ | --------------------- | --------- |
22
+ | `@angular/cdk` | `^19.1.5` |
23
+ | `@angular/common` | `^19.1.0` |
24
+ | `@angular/core` | `^19.1.0` |
25
+ | `@angular/forms` | `^19.1.0` |
26
+ | `@angular/router` | `^19.1.0` |
27
27
  | `@ngx-translate/core` | `^16.0.4` |
28
- | `ngx-resize-observer` | `^3.0.0` |
29
- | `rxjs` | `^7.8.0` |
28
+ | `ngx-resize-observer` | `^3.0.0` |
29
+ | `rxjs` | `^7.8.0` |
30
30
 
31
31
  ## Usage
32
32
 
@@ -74,7 +74,9 @@ Helpers, models, configuration providers, services and validators are exported f
74
74
 
75
75
  ## Documentation
76
76
 
77
- Component behaviour and variants are documented as Storybook stories alongside the source. To browse them:
77
+ Browse the published Storybook at [https://ricardozambon.github.io/ZLibraries/library/](https://ricardozambon.github.io/ZLibraries/library/).
78
+
79
+ Component behaviour and variants are documented as stories alongside the source. To run it locally:
78
80
 
79
81
  ```bash
80
82
  npm run storybook:library