@guildofgleks/ui 21.12.0 → 21.13.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/README.md CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  # @guildofgleks/ui
8
8
 
9
- An Angular 21 and 22 component library with **no CDK and no Material**. 29 components, 5
9
+ An Angular 21 and 22 component library with **no CDK and no Material**. 30 components, 5
10
10
  directives and 3 services, all standalone, all signal-based, themed entirely through CSS custom
11
11
  properties.
12
12
 
@@ -67,6 +67,8 @@ reset is untouched either way, and a single class of specificity means your own
67
67
 
68
68
  ```ts
69
69
  import { ButtonComponent, SelectComponent } from '@guildofgleks/ui';
70
+ // Three components have their own entry point, so a lazy route can keep them out of your
71
+ // initial bundle: '@guildofgleks/ui/table', '/datepicker' and '/dialog'.
70
72
 
71
73
  @Component({
72
74
  imports: [ButtonComponent, SelectComponent],
@@ -446,7 +448,7 @@ dropdowns, always for the menu.
446
448
  | Data | `gog-table` (+ `gog-column`), `gog-paginator`, `gog-tag` |
447
449
  | Layout & disclosure | `gog-accordion`, `gog-tabs` (+ `gog-tab`), `gog-collapsible`, `gog-card`, `gog-panel`, `gog-divider`, `gog-scroll` |
448
450
  | Overlays | `gog-dialog`, `gog-confirmation-dialog`, `gog-toast` (+ `gog-toast-container`), `gog-menu` (+ `gogMenuTrigger` / `gogMenuItem`) |
449
- | Feedback | `gog-spinner`, `gog-spinner-overlay`, `gog-progressbar`, `gog-skeleton` |
451
+ | Feedback | `gog-spinner`, `gog-spinner-overlay`, `gog-progressbar`, `gog-skeleton`, `gog-alert` |
450
452
  | Content | `gog-icon` |
451
453
 
452
454
  **Directives:** `gogButton` (a link that looks like a button), `gogTooltip`, `gogBadge`,
@@ -464,6 +466,24 @@ A few things worth knowing before you reach for a workaround:
464
466
  `[lazy]="true"` it hands both to the server: `value` is the current page, `totalRecords` drives
465
467
  the paginator, and `gogSortChange` / `gogPageChange` are your refetch signals. Row selection is
466
468
  `selectionMode` + `[(selection)]`; set `dataKey` or a refetch drops it.
469
+
470
+ **And here is where it stops, so you find out now rather than halfway in.** `gog-table` has no
471
+ **column resizing or reordering** by the reader (a column's `width`/`minWidth`/`maxWidth` are
472
+ yours to set, not theirs to drag), no **frozen columns**, no **expandable rows** and no **row
473
+ grouping**.
474
+
475
+ It **does** virtualize, with `virtualize` — which needs `maxHeight` and `fullWidth`, and says so
476
+ in a dev-mode warning if either is missing. That is the DOM half: `[lazy]="true"` keeps the fetch
477
+ small and still stamps every row it is handed. Neither substitutes for the other, and a long
478
+ table usually wants both.
479
+
480
+ `stickyHeader` is not the missing feature in disguise — it pins the header while rows scroll
481
+ under it, which is the vertical axis. Freezing a first column against horizontal scroll is the
482
+ one this list says no to.
483
+
484
+ If you need a data grid, use one. This is a table that sorts, pages, selects and lets you
485
+ template any cell, and it is meant to stay small enough to read.
486
+
467
487
  - **`gog-button` cannot be a link** — it renders its own `<button>`. Use `[gogButton]` on your own
468
488
  `<a>` instead; nothing is brokered through inputs, so `routerLink`, `href` and `target` keep
469
489
  working. That is also why this package needs no `@angular/router`.
@@ -500,4 +520,4 @@ Apache-2.0 © Roman Malitskyi
500
520
  Built-in icons are [Lucide](https://lucide.dev) glyphs, inlined so the package keeps zero runtime
501
521
  dependencies. Lucide is ISC licensed; portions are held by Cole Bemis 2013–2022 as part of
502
522
  Feather (MIT), all others by Lucide Contributors 2022 — full notice in
503
- `src/lib/shared/icons.ts`.
523
+ `shared/icons.ts`.