@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/AGENTS.md +179 -28
- package/CHANGELOG.md +612 -0
- package/README.md +23 -3
- package/TOKENS.md +52 -51
- package/fesm2022/guildofgleks-ui-datepicker.mjs +20 -0
- package/fesm2022/guildofgleks-ui-datepicker.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-dialog.mjs +20 -0
- package/fesm2022/guildofgleks-ui-dialog.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-shared.mjs +4692 -0
- package/fesm2022/guildofgleks-ui-shared.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui-table.mjs +20 -0
- package/fesm2022/guildofgleks-ui-table.mjs.map +1 -0
- package/fesm2022/guildofgleks-ui.mjs +607 -3760
- package/fesm2022/guildofgleks-ui.mjs.map +1 -1
- package/package.json +17 -1
- package/styles/button.css +5 -5
- package/styles/presets/parchment.css +89 -86
- package/styles/presets/terminal.css +107 -102
- package/styles/theme.css +128 -23
- package/types/guildofgleks-ui-datepicker.d.ts +1 -0
- package/types/guildofgleks-ui-dialog.d.ts +1 -0
- package/types/guildofgleks-ui-shared.d.ts +2000 -0
- package/types/guildofgleks-ui-table.d.ts +1 -0
- package/types/guildofgleks-ui.d.ts +279 -1226
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**.
|
|
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
|
-
`
|
|
523
|
+
`shared/icons.ts`.
|