@guildofgleks/ui 21.3.1 → 21.4.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 +1351 -0
- package/README.md +227 -57
- package/TOKENS.md +63 -0
- package/fesm2022/guildofgleks-ui.mjs +1246 -135
- package/fesm2022/guildofgleks-ui.mjs.map +1 -1
- package/package.json +12 -4
- package/src/styles/button.css +193 -0
- package/src/styles/index.css +2 -0
- package/src/styles/theme.css +26 -0
- package/styles/button.css +193 -0
- package/styles/fonts.css +16 -0
- package/styles/index.css +19 -0
- package/styles/presets/one-dark.css +48 -0
- package/styles/presets/one-light.css +47 -0
- package/styles/presets/slate.css +55 -0
- package/styles/theme.css +1687 -0
- package/styles/typography.css +15 -0
- package/styles/utilities.css +170 -0
- package/types/guildofgleks-ui.d.ts +901 -64
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { TemplateRef, DoCheck, Signal, ModelSignal, ElementRef, InjectionToken, Type, Injector, OnDestroy, Provider } from '@angular/core';
|
|
3
|
+
import * as _guildofgleks_ui from '@guildofgleks/ui';
|
|
3
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
4
5
|
import * as _angular_platform_browser from '@angular/platform-browser';
|
|
5
|
-
import * as _guildofgleks_ui from '@guildofgleks/ui';
|
|
6
6
|
|
|
7
7
|
type GogSize = 'xsm' | 'sm' | 'md' | 'lg' | 'slg';
|
|
8
8
|
type GogVariant = 'primary' | 'secondary' | 'outline' | 'ghost';
|
|
@@ -19,6 +19,11 @@ type GogSkeletonShape = 'text' | 'circle' | 'rect';
|
|
|
19
19
|
type GogSkeletonAnimation = 'pulse' | 'wave' | 'none';
|
|
20
20
|
type GogPaginatorRangeMode = 'window' | 'ellipsis';
|
|
21
21
|
type GogSliderOrientation = GogOrientation;
|
|
22
|
+
/** A `gog-slider`'s value pair when `range` is on. `start` is always kept ≤ `end`. */
|
|
23
|
+
interface GogSliderRange {
|
|
24
|
+
start: number;
|
|
25
|
+
end: number;
|
|
26
|
+
}
|
|
22
27
|
type GogScrollAxis = 'vertical' | 'horizontal' | 'both';
|
|
23
28
|
type GogScrollSize = 'normal' | 'thin';
|
|
24
29
|
/**
|
|
@@ -87,6 +92,21 @@ type GogDateSelectionMode = 'single' | 'range';
|
|
|
87
92
|
type GogHourFormat = '12' | '24';
|
|
88
93
|
/** Matches the native CSS `resize` value space, applied to `gog-textarea`'s field. */
|
|
89
94
|
type GogTextareaResize = 'vertical' | 'horizontal' | 'both' | 'none';
|
|
95
|
+
/**
|
|
96
|
+
* The `type`s `gog-inputfield` renders as a single-line text-entry field.
|
|
97
|
+
*
|
|
98
|
+
* Deliberately not the whole native list: `checkbox`, `radio`, `range`, `file`, `color`,
|
|
99
|
+
* `submit`, `hidden` and friends are different controls with different markup and different
|
|
100
|
+
* accessibility contracts — the library ships `gog-checkbox`, `gog-radio-group`, `gog-slider`
|
|
101
|
+
* and `gog-button` for those rather than making one component shape-shift.
|
|
102
|
+
*/
|
|
103
|
+
type GogInputType = 'text' | 'password' | 'email' | 'number' | 'search' | 'tel' | 'url' | 'date' | 'time' | 'datetime-local';
|
|
104
|
+
/**
|
|
105
|
+
* Mirrors the native `inputmode` attribute — the hint that decides which on-screen keyboard a
|
|
106
|
+
* touch device brings up. Worth setting whenever `type` alone doesn't imply it: a postcode or a
|
|
107
|
+
* card number is `type="text"` (no browser validation wanted) but `inputmode="numeric"`.
|
|
108
|
+
*/
|
|
109
|
+
type GogInputMode = 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
|
|
90
110
|
|
|
91
111
|
declare class ButtonComponent {
|
|
92
112
|
variant: _angular_core.InputSignal<GogVariant>;
|
|
@@ -136,6 +156,68 @@ declare class ButtonComponent {
|
|
|
136
156
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "gog-button", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "debounce": { "alias": "debounce"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "gogClick": "gogClick"; }, never, ["*"], true, never>;
|
|
137
157
|
}
|
|
138
158
|
|
|
159
|
+
/**
|
|
160
|
+
* Makes a consumer's own `<a>` or `<button>` look like a `gog-button`.
|
|
161
|
+
*
|
|
162
|
+
* ```html
|
|
163
|
+
* <a gogButton routerLink="/pricing">See pricing</a>
|
|
164
|
+
* <a gogButton variant="ghost" href="https://example.com" target="_blank" rel="noreferrer">Docs</a>
|
|
165
|
+
* <button gogButton variant="outline" size="sm" type="submit">Save</button>
|
|
166
|
+
* ```
|
|
167
|
+
*
|
|
168
|
+
* ## Why this exists next to `gog-button`
|
|
169
|
+
*
|
|
170
|
+
* `gog-button` renders its own `<button>`, so it can never *be* a link — and making it one would
|
|
171
|
+
* mean brokering the router's entire input surface (`routerLink`, `routerLinkActive`,
|
|
172
|
+
* `queryParams`, `fragment`, `state`, …) through a component that would then have to depend on
|
|
173
|
+
* `@angular/router`. This package has four peer dependencies and no router, and a navigation
|
|
174
|
+
* button is not worth a fifth.
|
|
175
|
+
*
|
|
176
|
+
* Inverting it costs nothing: the consumer keeps their own element, so `routerLink`, `href`,
|
|
177
|
+
* `target`, `download`, `type="submit"`, `disabled` and every future directive keep working
|
|
178
|
+
* because they were never taken away. This is the "headless primitive" axis of
|
|
179
|
+
* `api-design.instructions.md` — expose the behaviour, not another input.
|
|
180
|
+
*
|
|
181
|
+
* ## Which to use
|
|
182
|
+
*
|
|
183
|
+
* Use `gog-button` for a button that *does* something in the page — it adds `loading` with a
|
|
184
|
+
* centred spinner, `debounce` click throttling and the `gogClick` output, none of which a bare
|
|
185
|
+
* element can provide. Use `[gogButton]` when the element must be a link, or when you need to
|
|
186
|
+
* keep directives of your own on it.
|
|
187
|
+
*
|
|
188
|
+
* ## Accessibility
|
|
189
|
+
*
|
|
190
|
+
* The element stays yours, so its semantics stay correct by construction: a link is a link and a
|
|
191
|
+
* button is a button. Two things this deliberately does **not** do:
|
|
192
|
+
*
|
|
193
|
+
* - It does not add `disabled` handling to an `<a>`. There is no such thing — a disabled link is
|
|
194
|
+
* just a link. Remove the `href` or render a real `<button>`.
|
|
195
|
+
* - It does not fake a loading state. `gog-button`'s spinner is a projected child; a directive
|
|
196
|
+
* cannot add one without taking over the element's content.
|
|
197
|
+
*/
|
|
198
|
+
declare class GogButtonDirective {
|
|
199
|
+
readonly variant: _angular_core.InputSignal<GogVariant>;
|
|
200
|
+
/** Unset, falls back to `GOG_CONFIG.control.size`, then to `'md'` — as on `gog-button`. */
|
|
201
|
+
readonly size: _angular_core.InputSignal<GogSize | undefined>;
|
|
202
|
+
/**
|
|
203
|
+
* Stretches the element to its container's width. A bare attribute is enough:
|
|
204
|
+
* `<a gogButton fullWidth>`.
|
|
205
|
+
*/
|
|
206
|
+
readonly fullWidth: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
207
|
+
private readonly globalConfig;
|
|
208
|
+
private readonly resolvedSize;
|
|
209
|
+
protected readonly variantClass: _angular_core.Signal<string>;
|
|
210
|
+
/**
|
|
211
|
+
* Unlike `gog-button`, this emits a class for `'md'` too. The component can leave the default
|
|
212
|
+
* size unclassed because its own stylesheet bottoms out at `--gog-btn-md-*`; here the class is
|
|
213
|
+
* also what a consumer reads in devtools to see which size is applied, and a silently absent
|
|
214
|
+
* one reads as "no size resolved".
|
|
215
|
+
*/
|
|
216
|
+
protected readonly sizeClass: _angular_core.Signal<string>;
|
|
217
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<GogButtonDirective, never>;
|
|
218
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GogButtonDirective, "a[gogButton], button[gogButton]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
219
|
+
}
|
|
220
|
+
|
|
139
221
|
interface GogAccordionItem {
|
|
140
222
|
id: string | number;
|
|
141
223
|
title: string;
|
|
@@ -200,7 +282,7 @@ declare class AccordionComponent {
|
|
|
200
282
|
* Left unset by default since not every accordion instance represents document structure
|
|
201
283
|
* (e.g. one nested inside a card).
|
|
202
284
|
*/
|
|
203
|
-
readonly headingLevel: _angular_core.InputSignal<2 |
|
|
285
|
+
readonly headingLevel: _angular_core.InputSignal<2 | 5 | 3 | 4 | 6 | undefined>;
|
|
204
286
|
/**
|
|
205
287
|
* Two-way bindable set of currently open item ids. Exposed as a model so consumers
|
|
206
288
|
* can drive the accordion externally (e.g. `[(openIds)]="mySet"`) instead of only
|
|
@@ -417,8 +499,13 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
|
|
|
417
499
|
* `GOG_CONFIG.control.clearable`, then to the control's own default.
|
|
418
500
|
*/
|
|
419
501
|
readonly clearable: _angular_core.InputSignal<boolean | undefined>;
|
|
420
|
-
/**
|
|
421
|
-
|
|
502
|
+
/**
|
|
503
|
+
* Accessible name for the clear button. Unset, falls back to
|
|
504
|
+
* `GOG_CONFIG.labels.clearSelection`, then to `'Clear selection'`.
|
|
505
|
+
*/
|
|
506
|
+
readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
507
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
508
|
+
protected readonly resolvedClearLabel: Signal<string>;
|
|
422
509
|
/**
|
|
423
510
|
* Smallest width the trigger may shrink to, as any CSS length. Only meaningful with
|
|
424
511
|
* `[fullWidth]="false"`, where the trigger otherwise sizes to whatever is currently selected
|
|
@@ -540,7 +627,13 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
|
|
|
540
627
|
protected readonly panelMaxHeightToken: string;
|
|
541
628
|
/** Estimated row height fed into the placement math; not a real layout property. */
|
|
542
629
|
protected readonly optionHeightToken: string;
|
|
543
|
-
/**
|
|
630
|
+
/**
|
|
631
|
+
* Unique per-instance suffix, so several dropdowns on a page can't collide on DOM ids.
|
|
632
|
+
*
|
|
633
|
+
* Deliberately a bare number rather than `nextGogControlId()` (which the single-element
|
|
634
|
+
* controls use): each subclass derives *several* ids from this one instance — trigger,
|
|
635
|
+
* listbox, label, error — so what it needs is the instance number, not one finished id.
|
|
636
|
+
*/
|
|
544
637
|
protected readonly uid: number;
|
|
545
638
|
protected readonly elRef: ElementRef<any>;
|
|
546
639
|
protected readonly isBrowser: boolean;
|
|
@@ -548,7 +641,8 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
|
|
|
548
641
|
private readonly appRef;
|
|
549
642
|
private readonly destroyRef;
|
|
550
643
|
private readonly ngControl;
|
|
551
|
-
|
|
644
|
+
/** `protected` so subclasses can resolve their own inputs against the same config object. */
|
|
645
|
+
protected readonly globalConfig: _guildofgleks_ui.GogGlobalConfig;
|
|
552
646
|
private readonly overlay;
|
|
553
647
|
/** Set from `(focus)`/`(blur)` on the trigger — see `onFocusIn`/`onFocusOut`. */
|
|
554
648
|
protected readonly isFocused: _angular_core.WritableSignal<boolean>;
|
|
@@ -909,17 +1003,39 @@ declare class GogBadgeDirective {
|
|
|
909
1003
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GogBadgeDirective, "[gogBadge]", never, { "gogBadge": { "alias": "gogBadge"; "required": false; "isSignal": true; }; "badgePosition": { "alias": "badgePosition"; "required": false; "isSignal": true; }; "badgeVariant": { "alias": "badgeVariant"; "required": false; "isSignal": true; }; "badgeDot": { "alias": "badgeDot"; "required": false; "isSignal": true; }; "badgeMax": { "alias": "badgeMax"; "required": false; "isSignal": true; }; "badgeHidden": { "alias": "badgeHidden"; "required": false; "isSignal": true; }; "badgeAriaLabel": { "alias": "badgeAriaLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
910
1004
|
}
|
|
911
1005
|
|
|
912
|
-
|
|
913
|
-
|
|
1006
|
+
/**
|
|
1007
|
+
* The glyphs the package ships. Kept as a closed union so they still autocomplete and so
|
|
1008
|
+
* `ICON_DEFS` below stays exhaustive — a `Record` over the open `GogIconName` would collapse
|
|
1009
|
+
* into an index signature and stop catching a missing definition.
|
|
1010
|
+
*/
|
|
1011
|
+
type GogBuiltinIconName = 'check' | 'close' | 'chevron-up' | 'chevron-down' | 'chevron-left' | 'chevron-right' | 'calendar' | 'clock' | 'sort' | 'sort-up' | 'sort-down' | 'success' | 'error' | 'warning' | 'info' | 'checkbox' | 'checkbox-checked' | 'eye' | 'eye-off' | 'copy' | 'search' | 'plus' | 'minus' | 'trash' | 'pencil' | 'download' | 'upload' | 'refresh' | 'filter' | 'external-link' | 'menu' | 'more-horizontal' | 'more-vertical' | 'arrow-left' | 'arrow-right' | 'user' | 'settings' | 'lock' | 'mail' | 'star' | 'star-filled';
|
|
1012
|
+
/**
|
|
1013
|
+
* Any icon `gog-icon` can render: one of the built-ins, or a name registered through
|
|
1014
|
+
* `provideGogIcons(...)`. The `(string & {})` half keeps the built-in names in autocomplete
|
|
1015
|
+
* while letting a registered name through — an open union is the point, since the set of icons
|
|
1016
|
+
* an app uses is the app's business, not the library's.
|
|
1017
|
+
*/
|
|
1018
|
+
type GogIconName = GogBuiltinIconName | (string & {});
|
|
1019
|
+
declare const ICON_DEFS: Record<GogBuiltinIconName, string>;
|
|
914
1020
|
|
|
915
1021
|
declare class IconComponent {
|
|
916
1022
|
private readonly sanitizer;
|
|
1023
|
+
/** App-registered icons; overrides a built-in of the same name. See `provideGogIcons`. */
|
|
1024
|
+
private readonly registered;
|
|
1025
|
+
/** A built-in name, or one registered through `provideGogIcons(...)`. */
|
|
917
1026
|
readonly name: _angular_core.InputSignal<GogIconName>;
|
|
918
1027
|
readonly template: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
919
1028
|
readonly title: _angular_core.InputSignal<string>;
|
|
920
1029
|
readonly ariaHidden: _angular_core.InputSignal<boolean>;
|
|
921
1030
|
protected readonly ariaLabel: _angular_core.Signal<string | null>;
|
|
922
|
-
|
|
1031
|
+
/**
|
|
1032
|
+
* The markup to render, or `null` when the name resolves to nothing.
|
|
1033
|
+
*
|
|
1034
|
+
* An unknown name renders **nothing** and warns in dev mode — it never throws. An icon is
|
|
1035
|
+
* decoration: taking an app down mid-render over a typo in a glyph name would be a far worse
|
|
1036
|
+
* failure than the missing glyph, and the warning is what gets the typo fixed.
|
|
1037
|
+
*/
|
|
1038
|
+
protected readonly iconSvg: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
|
|
923
1039
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconComponent, never>;
|
|
924
1040
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconComponent, "gog-icon", never, { "name": { "alias": "name"; "required": false; "isSignal": true; }; "template": { "alias": "template"; "required": false; "isSignal": true; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "ariaHidden": { "alias": "ariaHidden"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
925
1041
|
}
|
|
@@ -1412,10 +1528,16 @@ declare class CalendarComponent {
|
|
|
1412
1528
|
* or "public holidays" without the consumer materialising every date in range first.
|
|
1413
1529
|
*/
|
|
1414
1530
|
readonly disabledDates: _angular_core.InputSignal<((date: Date) => boolean) | null>;
|
|
1415
|
-
/**
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1531
|
+
/**
|
|
1532
|
+
* BCP-47 tag driving the month and weekday names. Unset, falls back to
|
|
1533
|
+
* `GOG_CONFIG.datepicker.locale`, then to `'en-US'`.
|
|
1534
|
+
*/
|
|
1535
|
+
readonly locale: _angular_core.InputSignal<string | undefined>;
|
|
1536
|
+
/**
|
|
1537
|
+
* 0 = Sunday … 6 = Saturday. Unset, falls back to `GOG_CONFIG.datepicker.firstDayOfWeek`,
|
|
1538
|
+
* then to the locale's own first day.
|
|
1539
|
+
*/
|
|
1540
|
+
readonly firstDayOfWeek: _angular_core.InputSignal<number | null | undefined>;
|
|
1419
1541
|
/** Which month to open on when there is no selection yet. */
|
|
1420
1542
|
readonly defaultMonth: _angular_core.InputSignal<Date | null>;
|
|
1421
1543
|
/** How many months to show side by side. Two is what makes a range picker usable. */
|
|
@@ -1440,15 +1562,40 @@ declare class CalendarComponent {
|
|
|
1440
1562
|
*/
|
|
1441
1563
|
readonly showThisMonthButton: _angular_core.InputSignal<boolean>;
|
|
1442
1564
|
readonly size: _angular_core.InputSignal<GogSize>;
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
readonly
|
|
1565
|
+
/**
|
|
1566
|
+
* Navigation, shortcut and time-section labels. Each falls back to the matching
|
|
1567
|
+
* `GOG_CONFIG.labels` field when unset, then to the built-in English default — an app
|
|
1568
|
+
* translating the calendar sets them once rather than on every field.
|
|
1569
|
+
*/
|
|
1570
|
+
readonly todayLabel: _angular_core.InputSignal<string | undefined>;
|
|
1571
|
+
readonly thisMonthLabel: _angular_core.InputSignal<string | undefined>;
|
|
1572
|
+
readonly previousMonthLabel: _angular_core.InputSignal<string | undefined>;
|
|
1573
|
+
readonly nextMonthLabel: _angular_core.InputSignal<string | undefined>;
|
|
1574
|
+
readonly previousYearLabel: _angular_core.InputSignal<string | undefined>;
|
|
1575
|
+
readonly nextYearLabel: _angular_core.InputSignal<string | undefined>;
|
|
1576
|
+
readonly hoursLabel: _angular_core.InputSignal<string | undefined>;
|
|
1577
|
+
readonly minutesLabel: _angular_core.InputSignal<string | undefined>;
|
|
1578
|
+
readonly secondsLabel: _angular_core.InputSignal<string | undefined>;
|
|
1449
1579
|
/** Emitted when a selection is *complete* — a day in single mode, both ends of a range. */
|
|
1450
1580
|
readonly gogDateSelect: _angular_core.OutputEmitterRef<GogDatepickerValue>;
|
|
1451
1581
|
private readonly elRef;
|
|
1582
|
+
private readonly globalConfig;
|
|
1583
|
+
/**
|
|
1584
|
+
* Every rendered string, resolved instance input → `GOG_CONFIG.labels` → built-in default.
|
|
1585
|
+
* `gog-datepicker` forwards its own `todayLabel`/`thisMonthLabel` as `undefined` when unset
|
|
1586
|
+
* precisely so this resolution happens here, once, rather than being pre-empted upstream.
|
|
1587
|
+
*/
|
|
1588
|
+
protected readonly resolvedLabels: _angular_core.Signal<{
|
|
1589
|
+
today: string;
|
|
1590
|
+
thisMonth: string;
|
|
1591
|
+
previousMonth: string;
|
|
1592
|
+
nextMonth: string;
|
|
1593
|
+
previousYear: string;
|
|
1594
|
+
nextYear: string;
|
|
1595
|
+
hours: string;
|
|
1596
|
+
minutes: string;
|
|
1597
|
+
seconds: string;
|
|
1598
|
+
}>;
|
|
1452
1599
|
/** First of the leftmost visible month. */
|
|
1453
1600
|
private readonly viewMonth;
|
|
1454
1601
|
/** The cell the keyboard is on, and the only one carrying `tabindex="0"`. */
|
|
@@ -1457,6 +1604,16 @@ declare class CalendarComponent {
|
|
|
1457
1604
|
protected readonly hoverDate: _angular_core.WritableSignal<Date | null>;
|
|
1458
1605
|
/** Whether a focus move should also pull the DOM focus over — only after a keypress. */
|
|
1459
1606
|
private pendingFocus;
|
|
1607
|
+
/**
|
|
1608
|
+
* Instance input → `GOG_CONFIG.datepicker` → the built-in default.
|
|
1609
|
+
*
|
|
1610
|
+
* `gog-calendar` resolves these itself rather than relying on `gog-datepicker` to pass them
|
|
1611
|
+
* down: it is exported and usable standalone, and `GOG_CONFIG.datepicker` has always been
|
|
1612
|
+
* documented as applying to both. When it *is* rendered by `gog-datepicker`, that component
|
|
1613
|
+
* passes its own already-resolved values, which win here — and resolve to the same thing,
|
|
1614
|
+
* since both read the same config.
|
|
1615
|
+
*/
|
|
1616
|
+
protected readonly resolvedLocale: _angular_core.Signal<string>;
|
|
1460
1617
|
protected readonly resolvedFirstDayOfWeek: _angular_core.Signal<number>;
|
|
1461
1618
|
protected readonly weekdays: _angular_core.Signal<string[]>;
|
|
1462
1619
|
private readonly months;
|
|
@@ -1482,7 +1639,7 @@ declare class CalendarComponent {
|
|
|
1482
1639
|
protected readonly seconds: _angular_core.Signal<number>;
|
|
1483
1640
|
protected readonly isPm: _angular_core.Signal<boolean>;
|
|
1484
1641
|
protected readonly maxHour: _angular_core.Signal<12 | 23>;
|
|
1485
|
-
protected readonly minHour: _angular_core.Signal<
|
|
1642
|
+
protected readonly minHour: _angular_core.Signal<1 | 0>;
|
|
1486
1643
|
constructor();
|
|
1487
1644
|
/** Steps the view by whole months or years. */
|
|
1488
1645
|
protected shiftView(months: number): void;
|
|
@@ -1521,7 +1678,7 @@ declare class CalendarComponent {
|
|
|
1521
1678
|
private applyPendingFocus;
|
|
1522
1679
|
protected isFocusedDay(date: Date): boolean;
|
|
1523
1680
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
|
|
1524
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "gog-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "defaultMonth": { "alias": "defaultMonth"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; "isSignal": true; }; "showThisMonthButton": { "alias": "showThisMonthButton"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "thisMonthLabel": { "alias": "thisMonthLabel"; "required": false; "isSignal": true; }; "previousMonthLabel": { "alias": "previousMonthLabel"; "required": false; "isSignal": true; }; "nextMonthLabel": { "alias": "nextMonthLabel"; "required": false; "isSignal": true; }; "previousYearLabel": { "alias": "previousYearLabel"; "required": false; "isSignal": true; }; "nextYearLabel": { "alias": "nextYearLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "gogDateSelect": "gogDateSelect"; }, never, never, true, never>;
|
|
1681
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "gog-calendar", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "disabledDates": { "alias": "disabledDates"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; "defaultMonth": { "alias": "defaultMonth"; "required": false; "isSignal": true; }; "numberOfMonths": { "alias": "numberOfMonths"; "required": false; "isSignal": true; }; "showTime": { "alias": "showTime"; "required": false; "isSignal": true; }; "hourFormat": { "alias": "hourFormat"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "showSeconds": { "alias": "showSeconds"; "required": false; "isSignal": true; }; "showTodayButton": { "alias": "showTodayButton"; "required": false; "isSignal": true; }; "showThisMonthButton": { "alias": "showThisMonthButton"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "todayLabel": { "alias": "todayLabel"; "required": false; "isSignal": true; }; "thisMonthLabel": { "alias": "thisMonthLabel"; "required": false; "isSignal": true; }; "previousMonthLabel": { "alias": "previousMonthLabel"; "required": false; "isSignal": true; }; "nextMonthLabel": { "alias": "nextMonthLabel"; "required": false; "isSignal": true; }; "previousYearLabel": { "alias": "previousYearLabel"; "required": false; "isSignal": true; }; "nextYearLabel": { "alias": "nextYearLabel"; "required": false; "isSignal": true; }; "hoursLabel": { "alias": "hoursLabel"; "required": false; "isSignal": true; }; "minutesLabel": { "alias": "minutesLabel"; "required": false; "isSignal": true; }; "secondsLabel": { "alias": "secondsLabel"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "gogDateSelect": "gogDateSelect"; }, never, never, true, never>;
|
|
1525
1682
|
}
|
|
1526
1683
|
|
|
1527
1684
|
/**
|
|
@@ -1566,8 +1723,13 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
|
|
|
1566
1723
|
* selection alone. Off by default; see `gog-calendar` for why the two are separate controls.
|
|
1567
1724
|
*/
|
|
1568
1725
|
readonly showThisMonthButton: _angular_core.InputSignal<boolean>;
|
|
1569
|
-
|
|
1570
|
-
|
|
1726
|
+
/**
|
|
1727
|
+
* Forwarded to `gog-calendar`. Left unset they stay `undefined` all the way down, so the
|
|
1728
|
+
* calendar resolves them against `GOG_CONFIG.labels` itself rather than receiving an English
|
|
1729
|
+
* default from here that would shadow the app's own.
|
|
1730
|
+
*/
|
|
1731
|
+
readonly todayLabel: _angular_core.InputSignal<string | undefined>;
|
|
1732
|
+
readonly thisMonthLabel: _angular_core.InputSignal<string | undefined>;
|
|
1571
1733
|
/**
|
|
1572
1734
|
* Display and parse pattern (`dd.MM.yyyy`, `yyyy-MM-dd`, …). Left unset it is derived from
|
|
1573
1735
|
* `showTime`, so switching the time section on does not also require restating the format.
|
|
@@ -1588,7 +1750,8 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
|
|
|
1588
1750
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
1589
1751
|
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
1590
1752
|
readonly clearable: _angular_core.InputSignal<boolean | undefined>;
|
|
1591
|
-
|
|
1753
|
+
/** Unset, falls back to `GOG_CONFIG.labels.clearDate`, then to `'Clear date'`. */
|
|
1754
|
+
readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
1592
1755
|
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
1593
1756
|
readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
|
|
1594
1757
|
readonly size: _angular_core.InputSignal<GogSize | undefined>;
|
|
@@ -1597,7 +1760,8 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
|
|
|
1597
1760
|
readonly appendToBody: _angular_core.InputSignal<boolean | undefined>;
|
|
1598
1761
|
readonly dropdownDirection: _angular_core.InputSignal<GogDropdownDirection | undefined>;
|
|
1599
1762
|
readonly dropdownZIndex: _angular_core.InputSignal<number | null>;
|
|
1600
|
-
|
|
1763
|
+
/** Unset, falls back to `GOG_CONFIG.labels.openCalendar`, then to `'Open calendar'`. */
|
|
1764
|
+
readonly openCalendarLabel: _angular_core.InputSignal<string | undefined>;
|
|
1601
1765
|
/** Two-way bindable value: a `Date` in `'single'` mode, a `GogDateRange` in `'range'`. */
|
|
1602
1766
|
readonly value: _angular_core.ModelSignal<GogDatepickerValue>;
|
|
1603
1767
|
readonly isOpen: _angular_core.WritableSignal<boolean>;
|
|
@@ -1624,6 +1788,9 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
|
|
|
1624
1788
|
*/
|
|
1625
1789
|
private readonly isEditing;
|
|
1626
1790
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
1791
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
1792
|
+
protected readonly resolvedClearLabel: _angular_core.Signal<string>;
|
|
1793
|
+
protected readonly resolvedOpenCalendarLabel: _angular_core.Signal<string>;
|
|
1627
1794
|
protected readonly resolvedSize: _angular_core.Signal<GogSize>;
|
|
1628
1795
|
protected readonly resolvedErrorDisplay: _angular_core.Signal<GogErrorDisplay>;
|
|
1629
1796
|
protected readonly resolvedAppendToBody: _angular_core.Signal<boolean>;
|
|
@@ -1817,7 +1984,6 @@ interface GogRadioOption {
|
|
|
1817
1984
|
disabled?: boolean;
|
|
1818
1985
|
}
|
|
1819
1986
|
declare class RadioGroupComponent implements ControlValueAccessor {
|
|
1820
|
-
private static nextUid;
|
|
1821
1987
|
protected readonly uid: string;
|
|
1822
1988
|
readonly options: _angular_core.InputSignal<GogRadioOption[]>;
|
|
1823
1989
|
readonly label: _angular_core.InputSignal<string>;
|
|
@@ -1917,6 +2083,11 @@ interface DialogConfig {
|
|
|
1917
2083
|
maxWidth?: string;
|
|
1918
2084
|
/** ARIA role for the dialog panel. Use 'alertdialog' for confirmation prompts. Default: 'dialog' */
|
|
1919
2085
|
role?: 'dialog' | 'alertdialog';
|
|
2086
|
+
/**
|
|
2087
|
+
* Accessible name for the close button. Unset, falls back to `GOG_CONFIG.labels.closeDialog`,
|
|
2088
|
+
* then to `'Close dialog'`.
|
|
2089
|
+
*/
|
|
2090
|
+
closeAriaLabel?: string;
|
|
1920
2091
|
/** z-index of the dialog backdrop. Dropdowns inside get zIndex+10. Default: 1000 */
|
|
1921
2092
|
zIndex?: number;
|
|
1922
2093
|
}
|
|
@@ -1953,6 +2124,7 @@ declare class DialogService {
|
|
|
1953
2124
|
|
|
1954
2125
|
declare class DialogComponent {
|
|
1955
2126
|
protected readonly dialogService: DialogService;
|
|
2127
|
+
private readonly globalConfig;
|
|
1956
2128
|
private readonly parentInjector;
|
|
1957
2129
|
private readonly host;
|
|
1958
2130
|
private readonly injectorCache;
|
|
@@ -1960,6 +2132,8 @@ declare class DialogComponent {
|
|
|
1960
2132
|
private readonly focusableSelector;
|
|
1961
2133
|
constructor();
|
|
1962
2134
|
protected getInjector(dialog: OpenDialog): Injector;
|
|
2135
|
+
/** Per-dialog config → `GOG_CONFIG.labels` → the built-in English default. */
|
|
2136
|
+
protected closeLabel(dialog: OpenDialog): string;
|
|
1963
2137
|
protected getTitleId(dialog: OpenDialog): string;
|
|
1964
2138
|
protected close(dialog: OpenDialog): void;
|
|
1965
2139
|
protected closeIfClosable(dialog: OpenDialog): void;
|
|
@@ -2049,9 +2223,13 @@ declare class ToastComponent implements OnDestroy {
|
|
|
2049
2223
|
private remainingMs;
|
|
2050
2224
|
private isClosing;
|
|
2051
2225
|
private readonly progressEl;
|
|
2226
|
+
private readonly globalConfig;
|
|
2227
|
+
/**
|
|
2228
|
+
* `GOG_CONFIG.labels` → the built-in English default. No per-instance input: a toast is
|
|
2229
|
+
* created through `ToastService`, and its close button says the same thing every time.
|
|
2230
|
+
*/
|
|
2231
|
+
protected readonly closeLabel: string;
|
|
2052
2232
|
protected readonly hasActions: _angular_core.Signal<boolean>;
|
|
2053
|
-
protected readonly ariaRole: _angular_core.Signal<"alert" | "status">;
|
|
2054
|
-
protected readonly ariaLive: _angular_core.Signal<"assertive" | "polite">;
|
|
2055
2233
|
constructor();
|
|
2056
2234
|
ngOnDestroy(): void;
|
|
2057
2235
|
close(): void;
|
|
@@ -2072,13 +2250,34 @@ declare class ToastComponent implements OnDestroy {
|
|
|
2072
2250
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastComponent, "gog-toast", never, { "toast": { "alias": "toast"; "required": true; "isSignal": true; }; "isFront": { "alias": "isFront"; "required": false; "isSignal": true; }; }, { "dismissed": "dismissed"; }, never, never, true, never>;
|
|
2073
2251
|
}
|
|
2074
2252
|
|
|
2253
|
+
/** One line of a live region — see `announcements`. */
|
|
2254
|
+
interface ToastAnnouncement {
|
|
2255
|
+
/** `id` alone is not enough: a deduped toast is re-shown under the same id, and re-announcing
|
|
2256
|
+
* it is the point of `revision`. */
|
|
2257
|
+
key: string;
|
|
2258
|
+
message: string;
|
|
2259
|
+
}
|
|
2075
2260
|
declare class ToastContainerComponent {
|
|
2076
2261
|
private readonly toastService;
|
|
2077
2262
|
readonly maxVisiblePerPosition: _angular_core.InputSignal<number>;
|
|
2078
2263
|
readonly groups: _angular_core.Signal<{
|
|
2079
2264
|
position: ToastPosition;
|
|
2080
|
-
toasts:
|
|
2265
|
+
toasts: Toast[];
|
|
2081
2266
|
}[]>;
|
|
2267
|
+
/**
|
|
2268
|
+
* What the two permanently-mounted live regions in the template say right now, split by
|
|
2269
|
+
* urgency. The regions themselves are always in the DOM — that is the whole point of putting
|
|
2270
|
+
* them here rather than on `gog-toast`, whose host element only exists from the moment its
|
|
2271
|
+
* text does, which is exactly the case screen readers miss.
|
|
2272
|
+
*
|
|
2273
|
+
* Derived from `groups()` rather than from the raw service state so that what is announced
|
|
2274
|
+
* matches what is on screen: a toast queued beyond `maxVisiblePerPosition` is not visible yet
|
|
2275
|
+
* and must not be read out yet either.
|
|
2276
|
+
*/
|
|
2277
|
+
protected readonly announcements: _angular_core.Signal<{
|
|
2278
|
+
polite: ToastAnnouncement[];
|
|
2279
|
+
assertive: ToastAnnouncement[];
|
|
2280
|
+
}>;
|
|
2082
2281
|
protected trackGroup(_: number, group: {
|
|
2083
2282
|
position: ToastPosition;
|
|
2084
2283
|
}): ToastPosition;
|
|
@@ -2086,6 +2285,7 @@ declare class ToastContainerComponent {
|
|
|
2086
2285
|
protected trackToast(_: number, toast: {
|
|
2087
2286
|
id: string;
|
|
2088
2287
|
}): string;
|
|
2288
|
+
protected trackAnnouncement(_: number, announcement: ToastAnnouncement): string;
|
|
2089
2289
|
protected dismiss(id: string): void;
|
|
2090
2290
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastContainerComponent, never>;
|
|
2091
2291
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastContainerComponent, "gog-toast-container", never, { "maxVisiblePerPosition": { "alias": "maxVisiblePerPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
@@ -2128,9 +2328,34 @@ declare class GogInputAddonEndDirective {
|
|
|
2128
2328
|
declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
2129
2329
|
readonly label: _angular_core.InputSignal<string>;
|
|
2130
2330
|
readonly placeholder: _angular_core.InputSignal<string>;
|
|
2131
|
-
|
|
2331
|
+
/** See `GogInputType` for why this is a subset of the native `type` list. */
|
|
2332
|
+
readonly type: _angular_core.InputSignal<GogInputType>;
|
|
2132
2333
|
/** Defaults to 'current-password' for password fields, 'off' otherwise */
|
|
2133
2334
|
readonly autocomplete: _angular_core.InputSignal<string>;
|
|
2335
|
+
/**
|
|
2336
|
+
* Native `readonly`: the value is still selectable, focusable and submitted with the form, but
|
|
2337
|
+
* cannot be edited. Distinct from `disabled`, which also takes the field out of the tab order,
|
|
2338
|
+
* greys it out and drops it from form submission.
|
|
2339
|
+
*
|
|
2340
|
+
* Suppresses the clear button and the number field's spin buttons for as long as it is on —
|
|
2341
|
+
* both promise an edit the field would refuse.
|
|
2342
|
+
*/
|
|
2343
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
2344
|
+
/** Native `maxlength`. Unset (`null`), no limit is applied. */
|
|
2345
|
+
readonly maxlength: _angular_core.InputSignal<number | null>;
|
|
2346
|
+
/** Native `minlength`. Unset (`null`), no minimum is applied. */
|
|
2347
|
+
readonly minlength: _angular_core.InputSignal<number | null>;
|
|
2348
|
+
/** Native `pattern`, as a regular-expression source string. Unset (`''`), nothing is applied. */
|
|
2349
|
+
readonly pattern: _angular_core.InputSignal<string>;
|
|
2350
|
+
/**
|
|
2351
|
+
* Native `inputmode` — see `GogInputMode`. Unset, the browser infers a keyboard from `type`.
|
|
2352
|
+
*/
|
|
2353
|
+
readonly inputMode: _angular_core.InputSignal<GogInputMode | null>;
|
|
2354
|
+
/**
|
|
2355
|
+
* Native `spellcheck`. Unset (`null`), the browser's own default applies; set `false` on
|
|
2356
|
+
* fields holding names, codes or identifiers, where the red underline is noise.
|
|
2357
|
+
*/
|
|
2358
|
+
readonly spellcheck: _angular_core.InputSignal<boolean | null>;
|
|
2134
2359
|
/** Only applied when `type="number"`. */
|
|
2135
2360
|
readonly min: _angular_core.InputSignal<number | null>;
|
|
2136
2361
|
/** Only applied when `type="number"`. */
|
|
@@ -2147,10 +2372,10 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2147
2372
|
* then to `true`.
|
|
2148
2373
|
*/
|
|
2149
2374
|
readonly showSpinButtons: _angular_core.InputSignal<boolean | undefined>;
|
|
2150
|
-
/** aria-label for the number field's increment button. */
|
|
2151
|
-
readonly incrementLabel: _angular_core.InputSignal<string>;
|
|
2152
|
-
/** aria-label for the number field's decrement button. */
|
|
2153
|
-
readonly decrementLabel: _angular_core.InputSignal<string>;
|
|
2375
|
+
/** aria-label for the number field's increment button. Unset, falls back to `GOG_CONFIG.labels.increment`. */
|
|
2376
|
+
readonly incrementLabel: _angular_core.InputSignal<string | undefined>;
|
|
2377
|
+
/** aria-label for the number field's decrement button. Unset, falls back to `GOG_CONFIG.labels.decrement`. */
|
|
2378
|
+
readonly decrementLabel: _angular_core.InputSignal<string | undefined>;
|
|
2154
2379
|
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
2155
2380
|
/**
|
|
2156
2381
|
* See `GogErrorDisplay`. Unset, falls back to `GOG_CONFIG.control.errorDisplay`, then to
|
|
@@ -2158,6 +2383,12 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2158
2383
|
*/
|
|
2159
2384
|
readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
|
|
2160
2385
|
readonly name: _angular_core.InputSignal<string>;
|
|
2386
|
+
/**
|
|
2387
|
+
* The `<input>`'s `id`. Left unset, the field generates one — the label's `for` and the error
|
|
2388
|
+
* message's `aria-describedby` both need a real id, and a field that is silently unlabelled
|
|
2389
|
+
* without one is the wrong default. Set this only when something outside the component has to
|
|
2390
|
+
* reference the input by a known id.
|
|
2391
|
+
*/
|
|
2161
2392
|
readonly inputId: _angular_core.InputSignal<string>;
|
|
2162
2393
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
2163
2394
|
/** Unset, falls back to `GOG_CONFIG.control.size`, then to `'md'`. */
|
|
@@ -2197,17 +2428,17 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2197
2428
|
* @deprecated since 21.3.0 (2026-08-07) — project a `<button gogInputAddonEnd>` element instead. Removed in 21.5.0. Put `aria-label` on that button.
|
|
2198
2429
|
*/
|
|
2199
2430
|
readonly iconEndLabel: _angular_core.InputSignal<string>;
|
|
2200
|
-
/** aria-label for the reveal-password button, shown when `type` is `'password'` */
|
|
2201
|
-
readonly showPasswordLabel: _angular_core.InputSignal<string>;
|
|
2202
|
-
/** aria-label for the hide-password button, shown once the password is revealed */
|
|
2203
|
-
readonly hidePasswordLabel: _angular_core.InputSignal<string>;
|
|
2431
|
+
/** aria-label for the reveal-password button, shown when `type` is `'password'`. Unset, falls back to `GOG_CONFIG.labels.showPassword`. */
|
|
2432
|
+
readonly showPasswordLabel: _angular_core.InputSignal<string | undefined>;
|
|
2433
|
+
/** aria-label for the hide-password button, shown once the password is revealed. Unset, falls back to `GOG_CONFIG.labels.hidePassword`. */
|
|
2434
|
+
readonly hidePasswordLabel: _angular_core.InputSignal<string | undefined>;
|
|
2204
2435
|
/**
|
|
2205
2436
|
* Whether to offer a clear button once the field has text. Unset, falls back to
|
|
2206
2437
|
* `GOG_CONFIG.control.clearable`, then to `false`.
|
|
2207
2438
|
*/
|
|
2208
2439
|
readonly clearable: _angular_core.InputSignal<boolean | undefined>;
|
|
2209
|
-
/** Accessible name for the clear button. */
|
|
2210
|
-
readonly clearAriaLabel: _angular_core.InputSignal<string>;
|
|
2440
|
+
/** Accessible name for the clear button. Unset, falls back to `GOG_CONFIG.labels.clear`. */
|
|
2441
|
+
readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2211
2442
|
/** Unset, falls back to `GOG_CONFIG.floatLabel.variant`, then to `'none'` (off). */
|
|
2212
2443
|
readonly floatLabel: _angular_core.InputSignal<GogFloatLabelVariant | undefined>;
|
|
2213
2444
|
/** Unset, falls back to `GOG_CONFIG.floatLabel.showPlaceholder`, then to `false`. */
|
|
@@ -2234,8 +2465,14 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2234
2465
|
* Empty for `'md'`: that is this component's default size and has no modifier rule of its own — every `gog-input-wrapper--*` chain bottoms out at it.
|
|
2235
2466
|
*/
|
|
2236
2467
|
protected readonly sizeClass: _angular_core.Signal<string>;
|
|
2468
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
2469
|
+
protected readonly resolvedClearLabel: _angular_core.Signal<string>;
|
|
2470
|
+
protected readonly resolvedIncrementLabel: _angular_core.Signal<string>;
|
|
2471
|
+
protected readonly resolvedDecrementLabel: _angular_core.Signal<string>;
|
|
2237
2472
|
protected readonly resolvedShowSpinButtons: _angular_core.Signal<boolean>;
|
|
2238
2473
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2474
|
+
/** Disabled and read-only both refuse edits; the affordances that offer one key off this. */
|
|
2475
|
+
protected readonly isNotEditable: _angular_core.Signal<boolean>;
|
|
2239
2476
|
protected readonly isPasswordField: _angular_core.Signal<boolean>;
|
|
2240
2477
|
protected readonly isNumberField: _angular_core.Signal<boolean>;
|
|
2241
2478
|
protected readonly hasSpinButtons: _angular_core.Signal<boolean>;
|
|
@@ -2243,14 +2480,30 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2243
2480
|
private readonly numericValue;
|
|
2244
2481
|
protected readonly isAtMin: _angular_core.Signal<boolean>;
|
|
2245
2482
|
protected readonly isAtMax: _angular_core.Signal<boolean>;
|
|
2246
|
-
protected readonly effectiveType: _angular_core.Signal<
|
|
2483
|
+
protected readonly effectiveType: _angular_core.Signal<GogInputType>;
|
|
2247
2484
|
protected readonly effectiveAutocomplete: _angular_core.Signal<string>;
|
|
2248
2485
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
2249
2486
|
protected readonly visibleError: _angular_core.Signal<string>;
|
|
2487
|
+
/** Fallback id, generated once per instance — see `resolvedInputId`. */
|
|
2488
|
+
private readonly autoId;
|
|
2489
|
+
/** The consumer's `inputId` when given, otherwise the generated one. Never empty. */
|
|
2490
|
+
protected readonly resolvedInputId: _angular_core.Signal<string>;
|
|
2491
|
+
/**
|
|
2492
|
+
* Only non-null while the error element is actually rendered — the template renders it on
|
|
2493
|
+
* `visibleError()`, and an `aria-describedby` pointing at an id that isn't in the DOM is worse
|
|
2494
|
+
* than none at all.
|
|
2495
|
+
*/
|
|
2496
|
+
protected readonly errorId: _angular_core.Signal<string | null>;
|
|
2250
2497
|
private readonly floatLabelState;
|
|
2251
2498
|
private readonly clearableState;
|
|
2252
2499
|
/** Whether to render the clear button right now — see `GogClearableState`. */
|
|
2253
2500
|
protected readonly showClear: _angular_core.Signal<boolean>;
|
|
2501
|
+
/**
|
|
2502
|
+
* Both the stepper and the clear button are on screen — only possible on a `clearable`
|
|
2503
|
+
* number field with a value. Drives `.gog-input-wrapper--spin-clear`, which widens the end
|
|
2504
|
+
* gutter and shifts the clear button clear of the stepper; without it the two overlap.
|
|
2505
|
+
*/
|
|
2506
|
+
protected readonly hasSpinAndClear: _angular_core.Signal<boolean>;
|
|
2254
2507
|
protected readonly resolvedFloatLabel: _angular_core.Signal<GogFloatLabelVariant>;
|
|
2255
2508
|
protected readonly isFloatLabelActive: _angular_core.Signal<boolean>;
|
|
2256
2509
|
protected readonly isFloatLabelFloated: _angular_core.Signal<boolean>;
|
|
@@ -2284,12 +2537,19 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2284
2537
|
onInput(event: Event): void;
|
|
2285
2538
|
/** Increments (`direction: 1`) or decrements (`direction: -1`) by `step`, clamped to min/max. */
|
|
2286
2539
|
protected stepValue(direction: 1 | -1): void;
|
|
2287
|
-
/**
|
|
2540
|
+
/**
|
|
2541
|
+
* Clears the field and notifies any attached form.
|
|
2542
|
+
*
|
|
2543
|
+
* The value written to the form control has to match what `onInput` writes when the user
|
|
2544
|
+
* empties the field by hand — `null` for a number field, `''` otherwise. Emitting `''` for a
|
|
2545
|
+
* number field put a string into a control typed `number | null`, which then failed
|
|
2546
|
+
* `Validators.min`-style checks and round-tripped the wrong type to the server.
|
|
2547
|
+
*/
|
|
2288
2548
|
protected clearValue(event: Event): void;
|
|
2289
2549
|
onFocus(): void;
|
|
2290
2550
|
onBlur(): void;
|
|
2291
2551
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputfieldComponent, never>;
|
|
2292
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputfieldComponent, "gog-inputfield", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; "isSignal": true; }; "incrementLabel": { "alias": "incrementLabel"; "required": false; "isSignal": true; }; "decrementLabel": { "alias": "decrementLabel"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "iconStart": { "alias": "iconStart"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "iconStartTemplate": { "alias": "iconStartTemplate"; "required": false; "isSignal": true; }; "iconEndTemplate": { "alias": "iconEndTemplate"; "required": false; "isSignal": true; }; "iconStartFn": { "alias": "iconStartFn"; "required": false; "isSignal": true; }; "iconEndFn": { "alias": "iconEndFn"; "required": false; "isSignal": true; }; "iconStartLabel": { "alias": "iconStartLabel"; "required": false; "isSignal": true; }; "iconEndLabel": { "alias": "iconEndLabel"; "required": false; "isSignal": true; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; "isSignal": true; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["addonStart", "addonEnd"], ["[gogInputAddonStart]", "[gogInputAddonEnd]"], true, never>;
|
|
2552
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputfieldComponent, "gog-inputfield", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "inputMode": { "alias": "inputMode"; "required": false; "isSignal": true; }; "spellcheck": { "alias": "spellcheck"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; "isSignal": true; }; "incrementLabel": { "alias": "incrementLabel"; "required": false; "isSignal": true; }; "decrementLabel": { "alias": "decrementLabel"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "iconStart": { "alias": "iconStart"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "iconStartTemplate": { "alias": "iconStartTemplate"; "required": false; "isSignal": true; }; "iconEndTemplate": { "alias": "iconEndTemplate"; "required": false; "isSignal": true; }; "iconStartFn": { "alias": "iconStartFn"; "required": false; "isSignal": true; }; "iconEndFn": { "alias": "iconEndFn"; "required": false; "isSignal": true; }; "iconStartLabel": { "alias": "iconStartLabel"; "required": false; "isSignal": true; }; "iconEndLabel": { "alias": "iconEndLabel"; "required": false; "isSignal": true; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; "isSignal": true; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["addonStart", "addonEnd"], ["[gogInputAddonStart]", "[gogInputAddonEnd]"], true, never>;
|
|
2293
2553
|
}
|
|
2294
2554
|
|
|
2295
2555
|
declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
@@ -2302,12 +2562,27 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2302
2562
|
*/
|
|
2303
2563
|
readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
|
|
2304
2564
|
readonly name: _angular_core.InputSignal<string>;
|
|
2565
|
+
/**
|
|
2566
|
+
* The `<textarea>`'s `id`. Left unset, the field generates one — see
|
|
2567
|
+
* `gog-inputfield`'s own `inputId` for why that is the default rather than an opt-in.
|
|
2568
|
+
*/
|
|
2305
2569
|
readonly inputId: _angular_core.InputSignal<string>;
|
|
2306
2570
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
2571
|
+
/**
|
|
2572
|
+
* Native `readonly` — see `gog-inputfield`'s own `readonly` for how it differs from
|
|
2573
|
+
* `disabled`. Suppresses the clear button while on.
|
|
2574
|
+
*/
|
|
2575
|
+
readonly readonly: _angular_core.InputSignal<boolean>;
|
|
2307
2576
|
/** Unset, falls back to `GOG_CONFIG.control.size`, then to `'md'`. */
|
|
2308
2577
|
readonly size: _angular_core.InputSignal<GogSize | undefined>;
|
|
2309
2578
|
/** Native `rows` attribute, controlling the field's initial height. */
|
|
2310
2579
|
readonly rows: _angular_core.InputSignal<number>;
|
|
2580
|
+
/** Native `maxlength`. Unset (`null`), no limit is applied. */
|
|
2581
|
+
readonly maxlength: _angular_core.InputSignal<number | null>;
|
|
2582
|
+
/** Native `minlength`. Unset (`null`), no minimum is applied. */
|
|
2583
|
+
readonly minlength: _angular_core.InputSignal<number | null>;
|
|
2584
|
+
/** Native `spellcheck`. Unset (`null`), the browser's own default applies. */
|
|
2585
|
+
readonly spellcheck: _angular_core.InputSignal<boolean | null>;
|
|
2311
2586
|
/**
|
|
2312
2587
|
* Which direction(s) the field's own drag handle resizes it in — matches the native CSS
|
|
2313
2588
|
* `resize` value space (`'vertical'`, `'horizontal'`, `'both'`, `'none'`). Unset, falls back
|
|
@@ -2326,8 +2601,8 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2326
2601
|
* `GOG_CONFIG.control.clearable`, then to `false`.
|
|
2327
2602
|
*/
|
|
2328
2603
|
readonly clearable: _angular_core.InputSignal<boolean | undefined>;
|
|
2329
|
-
/** Accessible name for the clear button. */
|
|
2330
|
-
readonly clearAriaLabel: _angular_core.InputSignal<string>;
|
|
2604
|
+
/** Accessible name for the clear button. Unset, falls back to `GOG_CONFIG.labels.clear`. */
|
|
2605
|
+
readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
|
|
2331
2606
|
/** Unset, falls back to `GOG_CONFIG.floatLabel.variant`, then to `'none'` (off). */
|
|
2332
2607
|
readonly floatLabel: _angular_core.InputSignal<GogFloatLabelVariant | undefined>;
|
|
2333
2608
|
/** Unset, falls back to `GOG_CONFIG.floatLabel.showPlaceholder`, then to `false`. */
|
|
@@ -2370,8 +2645,18 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2370
2645
|
*/
|
|
2371
2646
|
protected readonly sizeClass: _angular_core.Signal<string>;
|
|
2372
2647
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2648
|
+
/** Disabled and read-only both refuse edits — see `gog-inputfield`. */
|
|
2649
|
+
protected readonly isNotEditable: _angular_core.Signal<boolean>;
|
|
2650
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
2651
|
+
protected readonly resolvedClearLabel: _angular_core.Signal<string>;
|
|
2373
2652
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
2374
2653
|
protected readonly visibleError: _angular_core.Signal<string>;
|
|
2654
|
+
/** Fallback id, generated once per instance — see `resolvedInputId`. */
|
|
2655
|
+
private readonly autoId;
|
|
2656
|
+
/** The consumer's `inputId` when given, otherwise the generated one. Never empty. */
|
|
2657
|
+
protected readonly resolvedInputId: _angular_core.Signal<string>;
|
|
2658
|
+
/** Non-null only while the error element is actually rendered — see `gog-inputfield`. */
|
|
2659
|
+
protected readonly errorId: _angular_core.Signal<string | null>;
|
|
2375
2660
|
private readonly floatLabelState;
|
|
2376
2661
|
private readonly clearableState;
|
|
2377
2662
|
/** Whether to render the clear button right now — see `GogClearableState`. */
|
|
@@ -2394,7 +2679,7 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2394
2679
|
onFocus(): void;
|
|
2395
2680
|
onBlur(): void;
|
|
2396
2681
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
|
|
2397
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "gog-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
2682
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "gog-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "maxlength": { "alias": "maxlength"; "required": false; "isSignal": true; }; "minlength": { "alias": "minlength"; "required": false; "isSignal": true; }; "spellcheck": { "alias": "spellcheck"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
2398
2683
|
}
|
|
2399
2684
|
|
|
2400
2685
|
declare class ChipComponent {
|
|
@@ -2509,12 +2794,26 @@ declare class MultiselectComponent<TOption = GogDropdownOption, TValue = string
|
|
|
2509
2794
|
readonly showControls: _angular_core.InputSignal<boolean>;
|
|
2510
2795
|
/** Where the "select all"/"clear" row sits relative to the option list. Sticky either way. */
|
|
2511
2796
|
readonly controlsPosition: _angular_core.InputSignal<"top" | "bottom">;
|
|
2797
|
+
/**
|
|
2798
|
+
* Visible text of the select-all button. Unset, falls back to `GOG_CONFIG.labels.selectAll`,
|
|
2799
|
+
* then to `'Select all'`.
|
|
2800
|
+
*/
|
|
2801
|
+
readonly selectAllLabel: _angular_core.InputSignal<string | undefined>;
|
|
2802
|
+
/**
|
|
2803
|
+
* Visible text of the clear-all button — the one inside the panel, next to select-all. The
|
|
2804
|
+
* trigger's own clear icon is `clearAriaLabel`. Unset, falls back to
|
|
2805
|
+
* `GOG_CONFIG.labels.clearAll`, then to `'Clear'`.
|
|
2806
|
+
*/
|
|
2807
|
+
readonly clearAllLabel: _angular_core.InputSignal<string | undefined>;
|
|
2512
2808
|
/**
|
|
2513
2809
|
* @deprecated since 21.3.0 (2026-08-07) — project an `<ng-template gogMultiselectClearIcon>` into the component instead. Removed in 21.5.0.
|
|
2514
2810
|
*/
|
|
2515
2811
|
readonly clearIconTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
|
|
2516
2812
|
/** Projected `gogMultiselectClearIcon` template; wins over the deprecated `clearIconTemplate` input. */
|
|
2517
2813
|
protected readonly clearIconSlot: _angular_core.Signal<GogMultiselectClearIconDirective | undefined>;
|
|
2814
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
2815
|
+
protected readonly resolvedSelectAllLabel: _angular_core.Signal<string>;
|
|
2816
|
+
protected readonly resolvedClearAllLabel: _angular_core.Signal<string>;
|
|
2518
2817
|
/**
|
|
2519
2818
|
* Two-way bindable selection: `[(value)]="signal"`.
|
|
2520
2819
|
*
|
|
@@ -2569,11 +2868,10 @@ declare class MultiselectComponent<TOption = GogDropdownOption, TValue = string
|
|
|
2569
2868
|
constructor();
|
|
2570
2869
|
protected extraPanelHeight(): number;
|
|
2571
2870
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiselectComponent<any, any>, never>;
|
|
2572
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiselectComponent<any, any>, "gog-multiselect", never, { "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; "controlsPosition": { "alias": "controlsPosition"; "required": false; "isSignal": true; }; "clearIconTemplate": { "alias": "clearIconTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["clearIconSlot"], never, true, never>;
|
|
2871
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiselectComponent<any, any>, "gog-multiselect", never, { "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; "controlsPosition": { "alias": "controlsPosition"; "required": false; "isSignal": true; }; "selectAllLabel": { "alias": "selectAllLabel"; "required": false; "isSignal": true; }; "clearAllLabel": { "alias": "clearAllLabel"; "required": false; "isSignal": true; }; "clearIconTemplate": { "alias": "clearIconTemplate"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["clearIconSlot"], never, true, never>;
|
|
2573
2872
|
}
|
|
2574
2873
|
|
|
2575
2874
|
declare class SliderComponent implements ControlValueAccessor, DoCheck {
|
|
2576
|
-
private static nextId;
|
|
2577
2875
|
protected readonly inputId: string;
|
|
2578
2876
|
readonly label: _angular_core.InputSignal<string>;
|
|
2579
2877
|
readonly min: _angular_core.InputSignal<number>;
|
|
@@ -2607,34 +2905,124 @@ declare class SliderComponent implements ControlValueAccessor, DoCheck {
|
|
|
2607
2905
|
* as they do horizontally.
|
|
2608
2906
|
*/
|
|
2609
2907
|
readonly orientation: _angular_core.InputSignal<_guildofgleks_ui.GogOrientation>;
|
|
2610
|
-
/**
|
|
2908
|
+
/**
|
|
2909
|
+
* Switches the slider to two-thumb mode for picking a *range* of values instead of a
|
|
2910
|
+
* single one. When on, use `[(rangeValue)]` instead of `[(value)]` — the two are mutually
|
|
2911
|
+
* exclusive; `value`/`writeValue` are ignored while this is `true`, and vice versa.
|
|
2912
|
+
*/
|
|
2913
|
+
readonly range: _angular_core.InputSignal<boolean>;
|
|
2914
|
+
/**
|
|
2915
|
+
* Accessible name for the start (lower) thumb in `range` mode. Falls back to `'Minimum'`,
|
|
2916
|
+
* prefixed with `label()` when one is set (e.g. `'Price Minimum'`) — a shared `<label>`
|
|
2917
|
+
* can't be associated with two inputs via `for`, so each thumb needs its own name.
|
|
2918
|
+
*/
|
|
2919
|
+
readonly startAriaLabel: _angular_core.InputSignal<string>;
|
|
2920
|
+
/** Accessible name for the end (upper) thumb in `range` mode. Falls back to `'Maximum'`. */
|
|
2921
|
+
readonly endAriaLabel: _angular_core.InputSignal<string>;
|
|
2922
|
+
/**
|
|
2923
|
+
* Disables only the start (lower) thumb in `range` mode — e.g. to pin a range's floor
|
|
2924
|
+
* while letting the consumer still raise or lower its ceiling. ORed with `disabled`
|
|
2925
|
+
* (either one disables it), never overrides it: `disabled` still means "both thumbs off".
|
|
2926
|
+
* Ignored outside `range` mode, where there's only one thumb and `disabled` already covers
|
|
2927
|
+
* it. Unlike `disabled`, this never applies the whole-control `.gog-slider--disabled`
|
|
2928
|
+
* dimming/`pointer-events: none` — only the one thumb goes inert, both visually (its own
|
|
2929
|
+
* dot dims) and functionally (the native input's own `disabled` attribute takes it out of
|
|
2930
|
+
* the tab order), so the other thumb stays fully usable.
|
|
2931
|
+
*/
|
|
2932
|
+
readonly startDisabled: _angular_core.InputSignal<boolean>;
|
|
2933
|
+
/** Disables only the end (upper) thumb in `range` mode. Mirrors `startDisabled`. */
|
|
2934
|
+
readonly endDisabled: _angular_core.InputSignal<boolean>;
|
|
2935
|
+
/** Two-way bindable value: `[(value)]="signal"`. Ignored when `range` is `true`. */
|
|
2611
2936
|
readonly value: _angular_core.ModelSignal<number>;
|
|
2937
|
+
/** Two-way bindable `{ start, end }` pair: `[(rangeValue)]="signal"`. Used only when `range` is `true`. */
|
|
2938
|
+
readonly rangeValue: _angular_core.ModelSignal<GogSliderRange>;
|
|
2612
2939
|
private readonly ngControl;
|
|
2613
2940
|
private readonly cvaDisabled;
|
|
2614
2941
|
private readonly globalConfig;
|
|
2615
2942
|
private readonly resolvedErrorDisplay;
|
|
2616
2943
|
private readonly errorState;
|
|
2617
2944
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2945
|
+
/**
|
|
2946
|
+
* `isDisabled()` also covers `cvaDisabled()` — a `[formControl]`'s own `.disable()`, which
|
|
2947
|
+
* (being one FormControl backing one `rangeValue`) always speaks for both thumbs at once
|
|
2948
|
+
* and has no way to target just one. `startDisabled`/`endDisabled` are the only route to a
|
|
2949
|
+
* one-sided disable, and only make sense in `range` mode.
|
|
2950
|
+
*/
|
|
2951
|
+
protected readonly isStartDisabled: _angular_core.Signal<boolean>;
|
|
2952
|
+
protected readonly isEndDisabled: _angular_core.Signal<boolean>;
|
|
2953
|
+
/**
|
|
2954
|
+
* Drives the whole-control `.gog-slider--disabled` class (dimming + `pointer-events: none`
|
|
2955
|
+
* over the whole track). Applying that class off a one-sided `isStartDisabled()`/
|
|
2956
|
+
* `isEndDisabled()` would also block pointer/touch input to the *other*, still-enabled
|
|
2957
|
+
* thumb — `pointer-events: none` on an ancestor cuts off every descendant, not just the
|
|
2958
|
+
* disabled one — so in `range` mode this only fires once *both* sides are disabled. A
|
|
2959
|
+
* still-disabled single thumb stays inert on its own regardless (its native `disabled`
|
|
2960
|
+
* attribute already takes it out of the tab order and stops it from firing events).
|
|
2961
|
+
*/
|
|
2962
|
+
protected readonly isFullyDisabled: _angular_core.Signal<boolean>;
|
|
2618
2963
|
protected readonly clampedValue: _angular_core.Signal<number>;
|
|
2964
|
+
/**
|
|
2965
|
+
* `rangeValue()` clamped to `[min, max]`, swapping the pair back in order if a consumer
|
|
2966
|
+
* writes `start > end` directly (e.g. via `writeValue`/a FormControl) — dragging or
|
|
2967
|
+
* keyboard-nudging a thumb past the other can never produce that, since
|
|
2968
|
+
* onRangeStartInput/onRangeEndInput already clamp against each other there.
|
|
2969
|
+
*/
|
|
2970
|
+
protected readonly clampedRange: _angular_core.Signal<GogSliderRange>;
|
|
2971
|
+
private percentFor;
|
|
2972
|
+
private clampRange;
|
|
2619
2973
|
protected readonly fillPercent: _angular_core.Signal<number>;
|
|
2974
|
+
protected readonly rangeStartPercent: _angular_core.Signal<number>;
|
|
2975
|
+
protected readonly rangeEndPercent: _angular_core.Signal<number>;
|
|
2620
2976
|
protected readonly thumbPos: _angular_core.Signal<string>;
|
|
2621
2977
|
protected readonly fillScale: _angular_core.Signal<number>;
|
|
2978
|
+
protected readonly rangeStartPos: _angular_core.Signal<string>;
|
|
2979
|
+
protected readonly rangeEndPos: _angular_core.Signal<string>;
|
|
2980
|
+
protected readonly rangeDisplayValue: _angular_core.Signal<string>;
|
|
2981
|
+
/**
|
|
2982
|
+
* Reserved width for `.gog-slider__value`, in `ch`. Without this the span sizes to
|
|
2983
|
+
* whatever the *current* value happens to print as, so it visibly resizes on every drag —
|
|
2984
|
+
* harmless when `fullWidth` absorbs the wiggle (the default for horizontal), but a vertical
|
|
2985
|
+
* slider is only ever as wide as its content (see the `fit-content` comment in the
|
|
2986
|
+
* stylesheet), so there the whole control jitters in width as you drag, and the header row
|
|
2987
|
+
* being what's regrowing/shrinking tugs the min/max labels below along with it even though
|
|
2988
|
+
* their own text never changes. Sized from `min()`/`max()` rather than the live value:
|
|
2989
|
+
* digit count only grows moving away from zero, so whichever endpoint prints the most
|
|
2990
|
+
* characters is already the worst case for every value in between.
|
|
2991
|
+
*/
|
|
2992
|
+
protected readonly valueDisplayChars: _angular_core.Signal<number>;
|
|
2993
|
+
protected readonly startInputAriaLabel: _angular_core.Signal<string>;
|
|
2994
|
+
protected readonly endInputAriaLabel: _angular_core.Signal<string>;
|
|
2622
2995
|
protected readonly isVertical: _angular_core.Signal<boolean>;
|
|
2623
2996
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
2624
2997
|
protected readonly visibleError: _angular_core.Signal<string>;
|
|
2625
2998
|
protected readonly errorId: _angular_core.Signal<string | null>;
|
|
2999
|
+
/** Fires with a plain `number` normally, or a `GogSliderRange` while `range()` is `true`. */
|
|
2626
3000
|
private onChange;
|
|
2627
3001
|
private onTouched;
|
|
2628
3002
|
constructor();
|
|
2629
3003
|
ngDoCheck(): void;
|
|
2630
|
-
writeValue(val: number): void;
|
|
2631
|
-
registerOnChange(fn: (val: number) => void): void;
|
|
3004
|
+
writeValue(val: number | GogSliderRange): void;
|
|
3005
|
+
registerOnChange(fn: (val: number | GogSliderRange) => void): void;
|
|
2632
3006
|
registerOnTouched(fn: () => void): void;
|
|
2633
3007
|
setDisabledState(isDisabled: boolean): void;
|
|
2634
3008
|
onInput(event: Event): void;
|
|
2635
3009
|
onBlur(): void;
|
|
3010
|
+
/**
|
|
3011
|
+
* Start (lower) thumb in `range` mode. Both native inputs keep the slider's global
|
|
3012
|
+
* `min()`/`max()` (see the template's comment on why), so crossing prevention happens
|
|
3013
|
+
* entirely here via `Math.min(current.end, ...)` rather than through a narrowed native
|
|
3014
|
+
* `max` attribute — which also means the browser will happily keep dragging this input's
|
|
3015
|
+
* own raw `.value` past `current.end` even once we've clamped the logical value. Writing
|
|
3016
|
+
* the clamped result back to `input.value` directly (rather than trusting the `[value]`
|
|
3017
|
+
* binding to do it) matters because that binding no-ops once the *next* clamped result
|
|
3018
|
+
* matches what Angular itself last wrote — it has no way to know the raw DOM value has
|
|
3019
|
+
* since drifted out from under it via native dragging.
|
|
3020
|
+
*/
|
|
3021
|
+
onRangeStartInput(event: Event): void;
|
|
3022
|
+
/** End (upper) thumb in `range` mode. Mirrors `onRangeStartInput`. */
|
|
3023
|
+
onRangeEndInput(event: Event): void;
|
|
2636
3024
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
|
|
2637
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "gog-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showThumb": { "alias": "showThumb"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
3025
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "gog-slider", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showValue": { "alias": "showValue"; "required": false; "isSignal": true; }; "showThumb": { "alias": "showThumb"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "range": { "alias": "range"; "required": false; "isSignal": true; }; "startAriaLabel": { "alias": "startAriaLabel"; "required": false; "isSignal": true; }; "endAriaLabel": { "alias": "endAriaLabel"; "required": false; "isSignal": true; }; "startDisabled": { "alias": "startDisabled"; "required": false; "isSignal": true; }; "endDisabled": { "alias": "endDisabled"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "rangeValue": { "alias": "rangeValue"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "rangeValue": "rangeValueChange"; }, never, never, true, never>;
|
|
2638
3026
|
}
|
|
2639
3027
|
|
|
2640
3028
|
declare class SkeletonComponent {
|
|
@@ -2664,7 +3052,35 @@ declare class PaginatorComponent {
|
|
|
2664
3052
|
* buttons instead.
|
|
2665
3053
|
*/
|
|
2666
3054
|
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
3055
|
+
/**
|
|
3056
|
+
* How many pages there are. Ignored when `totalRecords` is given — see there.
|
|
3057
|
+
*/
|
|
2667
3058
|
readonly totalPages: _angular_core.InputSignal<number>;
|
|
3059
|
+
/**
|
|
3060
|
+
* How many rows exist in total. Given this, the paginator computes the page count itself from
|
|
3061
|
+
* `pageSize`, which is what removes the `computed(() => Math.ceil(total / size))` a consumer
|
|
3062
|
+
* would otherwise have to write and keep in sync with the select below.
|
|
3063
|
+
*
|
|
3064
|
+
* `null` (the default) keeps the old contract: you tell it `totalPages` directly.
|
|
3065
|
+
*/
|
|
3066
|
+
readonly totalRecords: _angular_core.InputSignal<number | null>;
|
|
3067
|
+
/**
|
|
3068
|
+
* Rows per page. Two-way bindable — `[(pageSize)]="size"` — which is the whole point once
|
|
3069
|
+
* `showPageSizeSelect` is on: the select writes back through this, and nothing has to be
|
|
3070
|
+
* ferried between components by hand. `gog-table` binds its own `pageSize` model straight to
|
|
3071
|
+
* this one.
|
|
3072
|
+
*/
|
|
3073
|
+
readonly pageSize: _angular_core.ModelSignal<number>;
|
|
3074
|
+
/**
|
|
3075
|
+
* Whether to offer the rows-per-page select. Unset, falls back to
|
|
3076
|
+
* `GOG_CONFIG.paginator.showPageSizeSelect`, then to `false`.
|
|
3077
|
+
*/
|
|
3078
|
+
readonly showPageSizeSelect: _angular_core.InputSignal<boolean | undefined>;
|
|
3079
|
+
/**
|
|
3080
|
+
* The choices the select offers. Unset, falls back to
|
|
3081
|
+
* `GOG_CONFIG.paginator.pageSizeOptions`, then to `[10, 20, 30, 40, 50]`.
|
|
3082
|
+
*/
|
|
3083
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[] | undefined>;
|
|
2668
3084
|
/**
|
|
2669
3085
|
* `window` (default): a fixed number of page buttons (`visiblePages`) that slides to keep
|
|
2670
3086
|
* the current page centered, clamped at the edges — no ellipsis, no pinned boundaries
|
|
@@ -2684,7 +3100,42 @@ declare class PaginatorComponent {
|
|
|
2684
3100
|
readonly siblingCount: _angular_core.InputSignal<number>;
|
|
2685
3101
|
readonly size: _angular_core.InputSignal<GogSize>;
|
|
2686
3102
|
readonly disabled: _angular_core.InputSignal<boolean>;
|
|
2687
|
-
|
|
3103
|
+
/**
|
|
3104
|
+
* Accessible name of the `<nav>`. Unset, falls back to `GOG_CONFIG.labels.pagination`, then
|
|
3105
|
+
* to `'Pagination'`.
|
|
3106
|
+
*/
|
|
3107
|
+
readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
|
|
3108
|
+
private readonly globalConfig;
|
|
3109
|
+
/** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
|
|
3110
|
+
protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
|
|
3111
|
+
/**
|
|
3112
|
+
* The two step buttons. Config-only: unlike the `<nav>` name, these say the same thing on
|
|
3113
|
+
* every paginator in an app, so a per-instance input would be dead weight.
|
|
3114
|
+
*/
|
|
3115
|
+
protected readonly resolvedPreviousLabel: _angular_core.Signal<string>;
|
|
3116
|
+
protected readonly resolvedNextLabel: _angular_core.Signal<string>;
|
|
3117
|
+
/**
|
|
3118
|
+
* Names one page button. A method rather than a `computed`, since it takes the page number —
|
|
3119
|
+
* the formatter itself is resolved once and only re-read when the config object changes.
|
|
3120
|
+
*/
|
|
3121
|
+
protected pageLabel(page: number): string;
|
|
3122
|
+
protected readonly resolvedShowPageSizeSelect: _angular_core.Signal<boolean>;
|
|
3123
|
+
protected readonly resolvedRowsPerPageLabel: _angular_core.Signal<string>;
|
|
3124
|
+
/**
|
|
3125
|
+
* The select takes `{ id, name }` objects because that is `GogDropdownOption`'s default shape —
|
|
3126
|
+
* `optionLabel`/`optionValue` accessors for a list of plain numbers would be more API than the
|
|
3127
|
+
* mapping saves. The current `pageSize` is included even when it is not one of the offered
|
|
3128
|
+
* options, so a programmatic `[pageSize]="15"` shows 15 rather than an empty trigger.
|
|
3129
|
+
*/
|
|
3130
|
+
protected readonly resolvedPageSizeOptions: _angular_core.Signal<{
|
|
3131
|
+
id: number;
|
|
3132
|
+
name: string;
|
|
3133
|
+
}[]>;
|
|
3134
|
+
/**
|
|
3135
|
+
* `totalRecords` when supplied, `totalPages` otherwise — every internal read goes through this
|
|
3136
|
+
* so the two inputs cannot disagree anywhere.
|
|
3137
|
+
*/
|
|
3138
|
+
protected readonly resolvedTotalPages: _angular_core.Signal<number>;
|
|
2688
3139
|
protected readonly pageNumbers: _angular_core.Signal<(number | "...")[]>;
|
|
2689
3140
|
constructor();
|
|
2690
3141
|
private windowRange;
|
|
@@ -2693,8 +3144,9 @@ declare class PaginatorComponent {
|
|
|
2693
3144
|
protected goTo(target: number): void;
|
|
2694
3145
|
protected prev(): void;
|
|
2695
3146
|
protected next(): void;
|
|
3147
|
+
protected onPageSizeChange(size: number | null): void;
|
|
2696
3148
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginatorComponent, never>;
|
|
2697
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginatorComponent, "gog-paginator", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "rangeMode": { "alias": "rangeMode"; "required": false; "isSignal": true; }; "visiblePages": { "alias": "visiblePages"; "required": false; "isSignal": true; }; "showFirstPage": { "alias": "showFirstPage"; "required": false; "isSignal": true; }; "showLastPage": { "alias": "showLastPage"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; }, never, never, true, never>;
|
|
3149
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginatorComponent, "gog-paginator", never, { "page": { "alias": "page"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "totalPages": { "alias": "totalPages"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "showPageSizeSelect": { "alias": "showPageSizeSelect"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "rangeMode": { "alias": "rangeMode"; "required": false; "isSignal": true; }; "visiblePages": { "alias": "visiblePages"; "required": false; "isSignal": true; }; "showFirstPage": { "alias": "showFirstPage"; "required": false; "isSignal": true; }; "showLastPage": { "alias": "showLastPage"; "required": false; "isSignal": true; }; "siblingCount": { "alias": "siblingCount"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "page": "pageChange"; "pageSize": "pageSizeChange"; }, never, never, true, never>;
|
|
2698
3150
|
}
|
|
2699
3151
|
|
|
2700
3152
|
/** Snapshot of the viewport's native scroll geometry, emitted on every scroll/resize. */
|
|
@@ -2966,10 +3418,29 @@ declare class TemplateDirective {
|
|
|
2966
3418
|
}
|
|
2967
3419
|
|
|
2968
3420
|
type SortDirection = 'asc' | 'desc' | null;
|
|
2969
|
-
|
|
3421
|
+
/**
|
|
3422
|
+
* The table's sort state. `field` is `''` and `direction` `null` when nothing is sorted — the
|
|
3423
|
+
* third state of the header's asc → desc → none cycle.
|
|
3424
|
+
*/
|
|
3425
|
+
interface GogTableSortEvent {
|
|
2970
3426
|
field: string;
|
|
2971
3427
|
direction: SortDirection;
|
|
2972
3428
|
}
|
|
3429
|
+
type GogTableSelectionMode = 'none' | 'single' | 'multiple';
|
|
3430
|
+
/** Emitted by `gogRowClick`. */
|
|
3431
|
+
interface GogTableRowClickEvent<T> {
|
|
3432
|
+
row: T;
|
|
3433
|
+
/**
|
|
3434
|
+
* Index within the currently rendered page, not the whole data set — the same convention as
|
|
3435
|
+
* `GogColumnBodyContext.index`. `gog-table` cannot know the absolute index in `lazy` mode.
|
|
3436
|
+
*/
|
|
3437
|
+
index: number;
|
|
3438
|
+
/**
|
|
3439
|
+
* The click (or the `keydown` for a keyboard activation), so a handler can tell a click on the
|
|
3440
|
+
* row from one on a button inside a cell — `event.target` is the element actually hit.
|
|
3441
|
+
*/
|
|
3442
|
+
originalEvent: MouseEvent | KeyboardEvent;
|
|
3443
|
+
}
|
|
2973
3444
|
declare class TableComponent<T extends object> {
|
|
2974
3445
|
/**
|
|
2975
3446
|
* The single size modifier, replacing one `[class.gog-table--<size>]` binding per size.
|
|
@@ -2982,8 +3453,96 @@ declare class TableComponent<T extends object> {
|
|
|
2982
3453
|
* its columns' content instead.
|
|
2983
3454
|
*/
|
|
2984
3455
|
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
2985
|
-
/**
|
|
2986
|
-
|
|
3456
|
+
/**
|
|
3457
|
+
* Rows per page; `0` (the default) means no pagination at all.
|
|
3458
|
+
*
|
|
3459
|
+
* A **`model`**, not an input, so `[pageSize]="20"` still works exactly as before *and*
|
|
3460
|
+
* `[(pageSize)]="size"` becomes possible. That is what lets `showPageSizeSelect` work without
|
|
3461
|
+
* any wiring: the table binds this model straight to its own paginator's `pageSize`, the
|
|
3462
|
+
* select writes back through it, and a consumer who wants to observe or persist the choice
|
|
3463
|
+
* binds two-way. Nothing is ferried between the two components by hand.
|
|
3464
|
+
*
|
|
3465
|
+
* In `lazy` mode a change here is a refetch signal, same as `gogPageChange` — bind
|
|
3466
|
+
* `[(pageSize)]` and reload from it. Changing the size always returns to page 1.
|
|
3467
|
+
*/
|
|
3468
|
+
readonly pageSize: _angular_core.ModelSignal<number>;
|
|
3469
|
+
/**
|
|
3470
|
+
* Whether the paginator offers a rows-per-page select. Forwarded straight to `gog-paginator`;
|
|
3471
|
+
* unset, it falls back to `GOG_CONFIG.paginator.showPageSizeSelect`, then to `false`.
|
|
3472
|
+
*/
|
|
3473
|
+
readonly showPageSizeSelect: _angular_core.InputSignal<boolean | undefined>;
|
|
3474
|
+
/**
|
|
3475
|
+
* The sizes that select offers. Forwarded to `gog-paginator`; unset, falls back to
|
|
3476
|
+
* `GOG_CONFIG.paginator.pageSizeOptions`, then to `[10, 20, 30, 40, 50]`.
|
|
3477
|
+
*/
|
|
3478
|
+
readonly pageSizeOptions: _angular_core.InputSignal<number[] | undefined>;
|
|
3479
|
+
/**
|
|
3480
|
+
* Hands sorting and paging to the server.
|
|
3481
|
+
*
|
|
3482
|
+
* Off (the default), the table owns the whole data set: it sorts and slices `value` itself, and
|
|
3483
|
+
* `totalPages` comes from `value.length`. On, `value` is **the current page, already sorted** —
|
|
3484
|
+
* the table renders it as given and never re-orders or re-slices it. Supply `totalRecords` so
|
|
3485
|
+
* the paginator knows how many pages exist, and refetch in response to `gogSortChange` /
|
|
3486
|
+
* `gogPageChange`.
|
|
3487
|
+
*
|
|
3488
|
+
* ```html
|
|
3489
|
+
* <gog-table
|
|
3490
|
+
* [value]="page()"
|
|
3491
|
+
* [lazy]="true"
|
|
3492
|
+
* [totalRecords]="total()"
|
|
3493
|
+
* [pageSize]="20"
|
|
3494
|
+
* [loading]="loading()"
|
|
3495
|
+
* (gogSortChange)="sort.set($event); reload()"
|
|
3496
|
+
* (gogPageChange)="page$.set($event); reload()"
|
|
3497
|
+
* />
|
|
3498
|
+
* ```
|
|
3499
|
+
*/
|
|
3500
|
+
readonly lazy: _angular_core.InputSignal<boolean>;
|
|
3501
|
+
/**
|
|
3502
|
+
* How many rows exist on the server, across all pages. `lazy` only — without it the table
|
|
3503
|
+
* cannot know how many pages to offer, and pagination is disabled. Ignored when `lazy` is off,
|
|
3504
|
+
* where `value.length` is the truth.
|
|
3505
|
+
*/
|
|
3506
|
+
readonly totalRecords: _angular_core.InputSignal<number | null>;
|
|
3507
|
+
/**
|
|
3508
|
+
* Makes rows focusable and styles them as clickable, for a table whose rows navigate or open
|
|
3509
|
+
* something. `gogRowClick` fires on a plain click regardless; this is what makes that
|
|
3510
|
+
* affordance **discoverable and reachable by keyboard** (Enter and Space activate the focused
|
|
3511
|
+
* row), which a bare `(gogRowClick)` on a `<tr>` is not.
|
|
3512
|
+
*
|
|
3513
|
+
* If the row's action is better expressed as a control — a link to a detail page, a delete
|
|
3514
|
+
* button — put that in a cell instead. This is for the whole-row-is-the-target case.
|
|
3515
|
+
*/
|
|
3516
|
+
readonly interactiveRows: _angular_core.InputSignal<boolean>;
|
|
3517
|
+
/**
|
|
3518
|
+
* Turns on row selection. `'single'` keeps at most one row selected, `'multiple'` any number.
|
|
3519
|
+
*
|
|
3520
|
+
* The selection itself is always a `T[]` (`[(selection)]`), including in `'single'` mode where
|
|
3521
|
+
* it holds zero or one row — one shape rather than a `T | T[] | null` union the consumer has to
|
|
3522
|
+
* narrow on every read.
|
|
3523
|
+
*/
|
|
3524
|
+
readonly selectionMode: _angular_core.InputSignal<GogTableSelectionMode>;
|
|
3525
|
+
/**
|
|
3526
|
+
* Two-way bindable selected rows: `[(selection)]="selected"`.
|
|
3527
|
+
*
|
|
3528
|
+
* Rows are matched by `dataKey` when one is set, and by object identity otherwise — so with no
|
|
3529
|
+
* `dataKey`, a refetch that produces new objects drops the selection. In `lazy` mode that is
|
|
3530
|
+
* almost always the wrong behaviour: set `dataKey`.
|
|
3531
|
+
*/
|
|
3532
|
+
readonly selection: _angular_core.ModelSignal<T[]>;
|
|
3533
|
+
/**
|
|
3534
|
+
* Field name (or dot-path) uniquely identifying a row — `'id'` in most data sets.
|
|
3535
|
+
*
|
|
3536
|
+
* Used for selection identity and, when set, as the `@for` track key, which is what lets the
|
|
3537
|
+
* DOM survive a re-fetch of the same page instead of being torn down and rebuilt.
|
|
3538
|
+
*/
|
|
3539
|
+
readonly dataKey: _angular_core.InputSignal<string>;
|
|
3540
|
+
/**
|
|
3541
|
+
* Whether the checkbox column renders. On by default once `selectionMode` is set; turn it off
|
|
3542
|
+
* for a table that selects by clicking the row itself, and pair it with `interactiveRows` so
|
|
3543
|
+
* that stays reachable by keyboard.
|
|
3544
|
+
*/
|
|
3545
|
+
readonly showSelectionColumn: _angular_core.InputSignal<boolean>;
|
|
2987
3546
|
readonly showRowNumbers: _angular_core.InputSignal<boolean>;
|
|
2988
3547
|
readonly showTotal: _angular_core.InputSignal<boolean>;
|
|
2989
3548
|
readonly emptyPlaceholder: _angular_core.InputSignal<string>;
|
|
@@ -2999,10 +3558,33 @@ declare class TableComponent<T extends object> {
|
|
|
2999
3558
|
readonly stickyHeader: _angular_core.InputSignal<boolean>;
|
|
3000
3559
|
/** Row density: lg (default) / md (compact) / sm (dense) */
|
|
3001
3560
|
readonly size: _angular_core.InputSignal<GogSize>;
|
|
3561
|
+
/**
|
|
3562
|
+
* Fires when a header cell changes the sort — including the third click that clears it, which
|
|
3563
|
+
* emits `{ field: '', direction: null }`. In `lazy` mode this is the refetch signal; the table
|
|
3564
|
+
* has already reset to page 1 by the time it fires.
|
|
3565
|
+
*/
|
|
3566
|
+
readonly gogSortChange: _angular_core.OutputEmitterRef<GogTableSortEvent>;
|
|
3567
|
+
/**
|
|
3568
|
+
* Fires when the page changes, with the new 1-based page. Only ever fires for a *user* action
|
|
3569
|
+
* or a clamp — not for the initial render.
|
|
3570
|
+
*/
|
|
3571
|
+
readonly gogPageChange: _angular_core.OutputEmitterRef<number>;
|
|
3572
|
+
/** Fires when a row is clicked, or activated with Enter/Space when `interactiveRows` is on. */
|
|
3573
|
+
readonly gogRowClick: _angular_core.OutputEmitterRef<GogTableRowClickEvent<T>>;
|
|
3002
3574
|
readonly columns: _angular_core.Signal<readonly GogColumn[]>;
|
|
3003
3575
|
readonly templates: _angular_core.Signal<readonly TemplateDirective[]>;
|
|
3004
|
-
readonly sortState: _angular_core.WritableSignal<
|
|
3576
|
+
readonly sortState: _angular_core.WritableSignal<GogTableSortEvent>;
|
|
3577
|
+
/**
|
|
3578
|
+
* In `lazy` mode `value` is the server's answer — already sorted, already the right page — so
|
|
3579
|
+
* both this and `visibleRows` become pass-throughs. Re-sorting it locally would reorder one
|
|
3580
|
+
* page against a global ordering, which looks like corruption rather than a bug.
|
|
3581
|
+
*/
|
|
3005
3582
|
readonly sortedData: _angular_core.Signal<T[]>;
|
|
3583
|
+
/**
|
|
3584
|
+
* How many rows the paginator is dividing. `value.length` normally; `totalRecords` in `lazy`
|
|
3585
|
+
* mode, where `value` is only the current page. Also what `showTotal` reports.
|
|
3586
|
+
*/
|
|
3587
|
+
readonly rowCount: _angular_core.Signal<number>;
|
|
3006
3588
|
readonly totalPages: _angular_core.Signal<number>;
|
|
3007
3589
|
/**
|
|
3008
3590
|
* Resets to page 1 whenever the sort changes (a new sort re-orders the whole data set,
|
|
@@ -3012,9 +3594,50 @@ declare class TableComponent<T extends object> {
|
|
|
3012
3594
|
* self-clamps against `totalPages` on its own, so this only has to handle the reset case.
|
|
3013
3595
|
*/
|
|
3014
3596
|
readonly currentPage: _angular_core.WritableSignal<number>;
|
|
3597
|
+
/** In `lazy` mode the server already sliced the page — see `sortedData`. */
|
|
3015
3598
|
readonly visibleRows: _angular_core.Signal<T[]>;
|
|
3599
|
+
/**
|
|
3600
|
+
* Resolved the same way `gog-paginator` resolves it, because the footer's own visibility
|
|
3601
|
+
* depends on it — see `hasPagination`.
|
|
3602
|
+
*/
|
|
3603
|
+
protected readonly showsPageSizeSelect: _angular_core.Signal<boolean>;
|
|
3604
|
+
/**
|
|
3605
|
+
* Normally the paginator only earns its space once there is more than one page — but the
|
|
3606
|
+
* rows-per-page select lives inside it, and hiding the whole thing at one page would strand the
|
|
3607
|
+
* user on whatever size produced that single page with no way back to a smaller one.
|
|
3608
|
+
*/
|
|
3016
3609
|
readonly hasPagination: _angular_core.Signal<boolean>;
|
|
3610
|
+
private readonly globalConfig;
|
|
3611
|
+
/** `GOG_CONFIG.labels` → the built-in English defaults. No per-instance inputs: these name
|
|
3612
|
+
* table chrome, and an app that relabels them does so once. */
|
|
3613
|
+
protected readonly resolvedLabels: _angular_core.Signal<{
|
|
3614
|
+
total: string;
|
|
3615
|
+
pagination: string;
|
|
3616
|
+
selectRow: string;
|
|
3617
|
+
selectAllRows: string;
|
|
3618
|
+
}>;
|
|
3619
|
+
protected readonly hasSelection: _angular_core.Signal<boolean>;
|
|
3620
|
+
protected readonly hasSelectionColumn: _angular_core.Signal<boolean>;
|
|
3017
3621
|
readonly emptyColspan: _angular_core.Signal<number>;
|
|
3622
|
+
/**
|
|
3623
|
+
* Identity for selection and `@for` tracking. `dataKey`'s value when set, the row object
|
|
3624
|
+
* otherwise — the object works for a static data set and breaks the moment rows are re-fetched,
|
|
3625
|
+
* which is exactly what `dataKey` is for.
|
|
3626
|
+
*/
|
|
3627
|
+
protected rowKey(row: T): unknown;
|
|
3628
|
+
protected isSelected(row: T): boolean;
|
|
3629
|
+
/** All rows on the current page are selected — drives the header checkbox. */
|
|
3630
|
+
protected readonly allPageRowsSelected: _angular_core.Signal<boolean>;
|
|
3631
|
+
/** Some but not all — the header checkbox's indeterminate state. */
|
|
3632
|
+
protected readonly somePageRowsSelected: _angular_core.Signal<boolean>;
|
|
3633
|
+
protected toggleRowSelection(row: T, selected: boolean): void;
|
|
3634
|
+
/**
|
|
3635
|
+
* Header checkbox: selects or clears **the current page**, not the whole data set. Anything
|
|
3636
|
+
* else would be a lie in `lazy` mode, where the table has never seen the other pages — and
|
|
3637
|
+
* inconsistent between the two modes, which is worse than either behaviour alone.
|
|
3638
|
+
*/
|
|
3639
|
+
protected toggleAllOnPage(selected: boolean): void;
|
|
3640
|
+
constructor();
|
|
3018
3641
|
/**
|
|
3019
3642
|
* A `gogColumnBody` template declared inside the column wins; the string-keyed
|
|
3020
3643
|
* `<ng-template template="field" type="body">` is the deprecated fallback.
|
|
@@ -3025,7 +3648,15 @@ declare class TableComponent<T extends object> {
|
|
|
3025
3648
|
bodyContext(row: T, col: GogColumn, index: number): GogColumnBodyContext<T>;
|
|
3026
3649
|
/** Context for a `gogColumnHeader` template — see `GogColumnHeaderContext`. */
|
|
3027
3650
|
headerContext(col: GogColumn): GogColumnHeaderContext;
|
|
3651
|
+
/**
|
|
3652
|
+
* Cycles the clicked column asc → desc → unsorted, and emits the result. The emit is last, so
|
|
3653
|
+
* a `lazy` consumer refetching from it already sees `currentPage` reset to 1.
|
|
3654
|
+
*/
|
|
3028
3655
|
toggleSort(col: GogColumn): void;
|
|
3656
|
+
/** Click, or Enter/Space on a focused row when `interactiveRows` is on. */
|
|
3657
|
+
protected emitRowClick(row: T, index: number, originalEvent: MouseEvent | KeyboardEvent): void;
|
|
3658
|
+
/** Enter and Space activate the focused row; Space must not also scroll the page. */
|
|
3659
|
+
protected onRowKeydown(row: T, index: number, event: KeyboardEvent): void;
|
|
3029
3660
|
getSortDirection(field: string): SortDirection;
|
|
3030
3661
|
getAriaSort(field: string): 'ascending' | 'descending' | null;
|
|
3031
3662
|
handleSortClick(col: GogColumn): void;
|
|
@@ -3039,7 +3670,7 @@ declare class TableComponent<T extends object> {
|
|
|
3039
3670
|
private readonly bodyTemplateMap;
|
|
3040
3671
|
private readonly headerTemplateMap;
|
|
3041
3672
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
|
|
3042
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "gog-table", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "showRowNumbers": { "alias": "showRowNumbers"; "required": false; "isSignal": true; }; "showTotal": { "alias": "showTotal"; "required": false; "isSignal": true; }; "emptyPlaceholder": { "alias": "emptyPlaceholder"; "required": false; "isSignal": true; }; "paginatorPosition": { "alias": "paginatorPosition"; "required": false; "isSignal": true; }; "totalPosition": { "alias": "totalPosition"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showColumnBorders": { "alias": "showColumnBorders"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, ["columns", "templates"], never, true, never>;
|
|
3673
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "gog-table", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "showPageSizeSelect": { "alias": "showPageSizeSelect"; "required": false; "isSignal": true; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "totalRecords": { "alias": "totalRecords"; "required": false; "isSignal": true; }; "interactiveRows": { "alias": "interactiveRows"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selection": { "alias": "selection"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "showSelectionColumn": { "alias": "showSelectionColumn"; "required": false; "isSignal": true; }; "showRowNumbers": { "alias": "showRowNumbers"; "required": false; "isSignal": true; }; "showTotal": { "alias": "showTotal"; "required": false; "isSignal": true; }; "emptyPlaceholder": { "alias": "emptyPlaceholder"; "required": false; "isSignal": true; }; "paginatorPosition": { "alias": "paginatorPosition"; "required": false; "isSignal": true; }; "totalPosition": { "alias": "totalPosition"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "showColumnBorders": { "alias": "showColumnBorders"; "required": false; "isSignal": true; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, { "pageSize": "pageSizeChange"; "selection": "selectionChange"; "gogSortChange": "gogSortChange"; "gogPageChange": "gogPageChange"; "gogRowClick": "gogRowClick"; }, ["columns", "templates"], never, true, never>;
|
|
3043
3674
|
}
|
|
3044
3675
|
|
|
3045
3676
|
declare class SpinnerComponent {
|
|
@@ -3137,14 +3768,64 @@ declare class GogTooltipDirective {
|
|
|
3137
3768
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GogTooltipDirective, "[gogTooltip]", never, { "gogTooltip": { "alias": "gogTooltip"; "required": false; "isSignal": true; }; "gogTooltipPosition": { "alias": "gogTooltipPosition"; "required": false; "isSignal": true; }; "gogTooltipShowDelay": { "alias": "gogTooltipShowDelay"; "required": false; "isSignal": true; }; "gogTooltipHideDelay": { "alias": "gogTooltipHideDelay"; "required": false; "isSignal": true; }; "gogTooltipDisabled": { "alias": "gogTooltipDisabled"; "required": false; "isSignal": true; }; "gogTooltipClass": { "alias": "gogTooltipClass"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
3138
3769
|
}
|
|
3139
3770
|
|
|
3771
|
+
/**
|
|
3772
|
+
* Owns the `data-theme` attribute on `<html>`, which is what every `--gog-*` palette block in
|
|
3773
|
+
* `theme.css` keys off.
|
|
3774
|
+
*
|
|
3775
|
+
* Zero-config behaviour is unchanged from 21.3.1: it adopts whatever `data-theme` is already on
|
|
3776
|
+
* the document, or `'light'` if there is none. Persistence and following the OS setting are
|
|
3777
|
+
* both **opt-in** through `GOG_CONFIG.theme`, so an app that never configures anything cannot
|
|
3778
|
+
* have its theme changed out from under it by an upgrade.
|
|
3779
|
+
*/
|
|
3140
3780
|
declare class ThemeService {
|
|
3141
3781
|
private readonly document;
|
|
3142
3782
|
private readonly root;
|
|
3143
|
-
readonly
|
|
3783
|
+
private readonly isBrowser;
|
|
3784
|
+
private readonly destroyRef;
|
|
3785
|
+
private readonly config;
|
|
3786
|
+
private readonly state;
|
|
3787
|
+
/**
|
|
3788
|
+
* The active theme name. Read-only on purpose: writing it directly would move the signal
|
|
3789
|
+
* without touching the DOM attribute the styles actually read, leaving the two silently out
|
|
3790
|
+
* of sync. Go through `setTheme`/`toggleTheme`.
|
|
3791
|
+
*/
|
|
3792
|
+
readonly theme: Signal<string>;
|
|
3793
|
+
/**
|
|
3794
|
+
* Set once the app (or the user) has chosen a theme explicitly, which stops
|
|
3795
|
+
* `followSystem` from overriding that choice on the next OS-level change.
|
|
3796
|
+
*/
|
|
3797
|
+
private hasExplicitChoice;
|
|
3144
3798
|
constructor();
|
|
3145
3799
|
setTheme(theme: string): void;
|
|
3800
|
+
/**
|
|
3801
|
+
* Flips between the configured light and dark theme names (`'light'`/`'dark'` by default).
|
|
3802
|
+
* From a third, custom theme this lands on the dark one, since that is the only reading of
|
|
3803
|
+
* "toggle" that terminates.
|
|
3804
|
+
*/
|
|
3146
3805
|
toggleTheme(): void;
|
|
3147
|
-
|
|
3806
|
+
/**
|
|
3807
|
+
* In precedence order:
|
|
3808
|
+
*
|
|
3809
|
+
* 1. a `data-theme` already on `<html>` — server-rendered or set by an inline script before
|
|
3810
|
+
* Angular booted, and either way a decision that has already been painted;
|
|
3811
|
+
* 2. the persisted choice, when `storageKey` is configured;
|
|
3812
|
+
* 3. the OS setting, when `followSystem` is on;
|
|
3813
|
+
* 4. `defaultTheme`, then `'light'`.
|
|
3814
|
+
*/
|
|
3815
|
+
private resolveInitialTheme;
|
|
3816
|
+
/**
|
|
3817
|
+
* Keeps the theme in step with the OS while the app has no explicit choice of its own. Only
|
|
3818
|
+
* wired up when `followSystem` is on, so the default configuration adds no listener at all.
|
|
3819
|
+
*/
|
|
3820
|
+
private watchSystemPreference;
|
|
3821
|
+
private prefersDark;
|
|
3822
|
+
/**
|
|
3823
|
+
* Storage access is wrapped because it throws rather than degrades in two ordinary cases:
|
|
3824
|
+
* Safari's private mode, and a browser configured to block site data. A theme preference is
|
|
3825
|
+
* not worth taking the app down for.
|
|
3826
|
+
*/
|
|
3827
|
+
private readStored;
|
|
3828
|
+
private persist;
|
|
3148
3829
|
private applyTheme;
|
|
3149
3830
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
|
|
3150
3831
|
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
|
|
@@ -3252,6 +3933,20 @@ interface GogGlobalConfig {
|
|
|
3252
3933
|
/** Display and parse pattern (`dd.MM.yyyy`, `yyyy-MM-dd`, …). */
|
|
3253
3934
|
format?: string;
|
|
3254
3935
|
};
|
|
3936
|
+
/**
|
|
3937
|
+
* Applies to `gog-paginator`, and through it to `gog-table`'s built-in pagination.
|
|
3938
|
+
*
|
|
3939
|
+
* The page-size select is the one piece of paginator chrome an app decides once — either its
|
|
3940
|
+
* tables offer the choice or they don't, and the option list is a house style. Both are still
|
|
3941
|
+
* overridable per instance, for the page whose table genuinely needs `5, 10, 20` while the rest
|
|
3942
|
+
* of the app uses `20, 50, 100`.
|
|
3943
|
+
*/
|
|
3944
|
+
paginator?: {
|
|
3945
|
+
/** Whether the rows-per-page select renders at all. **Off by default.** */
|
|
3946
|
+
showPageSizeSelect?: boolean;
|
|
3947
|
+
/** The choices it offers. Defaults to `[10, 20, 30, 40, 50]`. */
|
|
3948
|
+
pageSizeOptions?: number[];
|
|
3949
|
+
};
|
|
3255
3950
|
/** Applies to `gog-autocomplete`. */
|
|
3256
3951
|
autocomplete?: {
|
|
3257
3952
|
/**
|
|
@@ -3288,6 +3983,99 @@ interface GogGlobalConfig {
|
|
|
3288
3983
|
/** How long a non-sticky toast stays up, in ms. */
|
|
3289
3984
|
duration?: number;
|
|
3290
3985
|
};
|
|
3986
|
+
/**
|
|
3987
|
+
* Every fixed, user-visible string the library renders — button text and accessible names for
|
|
3988
|
+
* chrome the consumer never writes markup for.
|
|
3989
|
+
*
|
|
3990
|
+
* These are here rather than as one input per string because they are the definition of a
|
|
3991
|
+
* setting an app states once: a Russian-language app relabels "Clear" once, not on all 340
|
|
3992
|
+
* fields. Where a per-instance input already exists (`clearAriaLabel`, `todayLabel`, …) it
|
|
3993
|
+
* still wins for that one control — the usual instance → config → default order.
|
|
3994
|
+
*
|
|
3995
|
+
* Deliberately excludes anything that is *content* rather than chrome: `gog-checkbox`'s
|
|
3996
|
+
* `ariaLabel`, `gog-button`'s `ariaLabel`, a field's `label` or `placeholder`. Those differ
|
|
3997
|
+
* per instance by definition and have no meaningful app-wide value.
|
|
3998
|
+
*/
|
|
3999
|
+
labels?: {
|
|
4000
|
+
/** Clear button on `gog-inputfield` / `gog-textarea`. */
|
|
4001
|
+
clear?: string;
|
|
4002
|
+
/**
|
|
4003
|
+
* Clear button on `gog-select` / `gog-multiselect` / `gog-autocomplete`, which clears a
|
|
4004
|
+
* selection rather than text.
|
|
4005
|
+
*/
|
|
4006
|
+
clearSelection?: string;
|
|
4007
|
+
/** Clear button on `gog-datepicker`. */
|
|
4008
|
+
clearDate?: string;
|
|
4009
|
+
/** `gog-multiselect`'s select-all / clear-all buttons — visible text, not just a label. */
|
|
4010
|
+
selectAll?: string;
|
|
4011
|
+
clearAll?: string;
|
|
4012
|
+
/** `gog-inputfield`'s number spin buttons. */
|
|
4013
|
+
increment?: string;
|
|
4014
|
+
decrement?: string;
|
|
4015
|
+
/** `gog-inputfield`'s password reveal toggle, in its two states. */
|
|
4016
|
+
showPassword?: string;
|
|
4017
|
+
hidePassword?: string;
|
|
4018
|
+
/** Close buttons on the two service-driven overlays. */
|
|
4019
|
+
closeDialog?: string;
|
|
4020
|
+
closeToast?: string;
|
|
4021
|
+
/** `gog-paginator`'s `<nav>` accessible name and its two step buttons. */
|
|
4022
|
+
pagination?: string;
|
|
4023
|
+
previousPage?: string;
|
|
4024
|
+
nextPage?: string;
|
|
4025
|
+
/**
|
|
4026
|
+
* `gog-paginator`'s per-page button names ("Go to page 4", "Page 4, current page").
|
|
4027
|
+
*
|
|
4028
|
+
* A function rather than a string, and the only one in this block: these interpolate the
|
|
4029
|
+
* page number, and a template string with a `{0}` placeholder would be a second, weaker
|
|
4030
|
+
* formatting language to learn — one that also can't express languages where the number's
|
|
4031
|
+
* position or the surrounding grammar depends on its value. The default is
|
|
4032
|
+
* `` (page, isCurrent) => isCurrent ? `Page ${page}, current page` : `Go to page ${page}` ``.
|
|
4033
|
+
*/
|
|
4034
|
+
page?: (page: number, isCurrent: boolean) => string;
|
|
4035
|
+
/** `gog-datepicker`'s button that opens the calendar panel. */
|
|
4036
|
+
openCalendar?: string;
|
|
4037
|
+
/** `gog-paginator`'s rows-per-page select. */
|
|
4038
|
+
rowsPerPage?: string;
|
|
4039
|
+
/** `gog-table`: the row-count label, its paginator, and the selection checkboxes. */
|
|
4040
|
+
total?: string;
|
|
4041
|
+
tablePagination?: string;
|
|
4042
|
+
selectRow?: string;
|
|
4043
|
+
selectAllRows?: string;
|
|
4044
|
+
/** `gog-calendar` navigation and shortcuts. */
|
|
4045
|
+
today?: string;
|
|
4046
|
+
thisMonth?: string;
|
|
4047
|
+
previousMonth?: string;
|
|
4048
|
+
nextMonth?: string;
|
|
4049
|
+
previousYear?: string;
|
|
4050
|
+
nextYear?: string;
|
|
4051
|
+
/** `gog-calendar`'s time section. */
|
|
4052
|
+
hours?: string;
|
|
4053
|
+
minutes?: string;
|
|
4054
|
+
seconds?: string;
|
|
4055
|
+
};
|
|
4056
|
+
/**
|
|
4057
|
+
* Applies to `ThemeService`. Every field is off/neutral by default, so an app that configures
|
|
4058
|
+
* nothing keeps the pre-21.3.2 behaviour: adopt whatever `data-theme` is already on `<html>`,
|
|
4059
|
+
* else `'light'`.
|
|
4060
|
+
*/
|
|
4061
|
+
theme?: {
|
|
4062
|
+
/**
|
|
4063
|
+
* `localStorage` key the chosen theme is written to and read back from. Unset, nothing is
|
|
4064
|
+
* persisted and the theme resets on every load.
|
|
4065
|
+
*/
|
|
4066
|
+
storageKey?: string | null;
|
|
4067
|
+
/** Theme applied when nothing else decides. `'light'` by default. */
|
|
4068
|
+
defaultTheme?: string;
|
|
4069
|
+
/**
|
|
4070
|
+
* Whether to fall back to the OS `prefers-color-scheme` setting — and to keep following it
|
|
4071
|
+
* until the app calls `setTheme`/`toggleTheme`. Off by default: switching this on changes
|
|
4072
|
+
* which theme an existing app opens in.
|
|
4073
|
+
*/
|
|
4074
|
+
followSystem?: boolean;
|
|
4075
|
+
/** Theme names `toggleTheme()` alternates between, and `followSystem` maps the OS setting to. */
|
|
4076
|
+
lightTheme?: string;
|
|
4077
|
+
darkTheme?: string;
|
|
4078
|
+
};
|
|
3291
4079
|
}
|
|
3292
4080
|
/**
|
|
3293
4081
|
* Resolves to `{}` — every field falls through to its component's own hardcoded default —
|
|
@@ -3389,7 +4177,7 @@ declare class GogFloatLabelState {
|
|
|
3389
4177
|
}
|
|
3390
4178
|
|
|
3391
4179
|
/** Every `--gog-*` custom property the library declares or documents as an override point. */
|
|
3392
|
-
type GogTokenName = '--gog-accent-bright' | '--gog-accent-color' | '--gog-accent-dim' | '--gog-accent-pale' | '--gog-accent-text-color' | '--gog-accordion-accent-color' | '--gog-accordion-body-bg' | '--gog-accordion-body-color' | '--gog-accordion-body-font-family' | '--gog-accordion-body-font-size' | '--gog-accordion-body-lift' | '--gog-accordion-body-line-height' | '--gog-accordion-body-padding-bottom' | '--gog-accordion-body-padding-top' | '--gog-accordion-body-radius' | '--gog-accordion-body-transition-duration' | '--gog-accordion-border-color' | '--gog-accordion-border-style' | '--gog-accordion-border-width' | '--gog-accordion-chevron-font-size' | '--gog-accordion-chevron-size' | '--gog-accordion-chevron-transition-duration' | '--gog-accordion-content-gap' | '--gog-accordion-disabled-opacity' | '--gog-accordion-focus-ring-width' | '--gog-accordion-font-family' | '--gog-accordion-font-size' | '--gog-accordion-header-bg' | '--gog-accordion-header-gap' | '--gog-accordion-header-text-transform' | '--gog-accordion-hover-bg' | '--gog-accordion-hover-ring' | '--gog-accordion-letter-spacing' | '--gog-accordion-lg-body-font-size' | '--gog-accordion-lg-body-line-height' | '--gog-accordion-lg-body-padding-bottom' | '--gog-accordion-lg-body-padding-top' | '--gog-accordion-lg-chevron-font-size' | '--gog-accordion-lg-chevron-size' | '--gog-accordion-lg-content-gap' | '--gog-accordion-lg-font-size' | '--gog-accordion-lg-letter-spacing' | '--gog-accordion-lg-padding-x' | '--gog-accordion-lg-padding-y' | '--gog-accordion-md-body-font-size' | '--gog-accordion-md-body-line-height' | '--gog-accordion-md-body-padding-bottom' | '--gog-accordion-md-body-padding-top' | '--gog-accordion-md-chevron-font-size' | '--gog-accordion-md-chevron-size' | '--gog-accordion-md-content-gap' | '--gog-accordion-md-font-size' | '--gog-accordion-md-letter-spacing' | '--gog-accordion-md-padding-x' | '--gog-accordion-md-padding-y' | '--gog-accordion-padding-x' | '--gog-accordion-padding-y' | '--gog-accordion-radius' | '--gog-accordion-slg-body-font-size' | '--gog-accordion-slg-body-line-height' | '--gog-accordion-slg-body-padding-bottom' | '--gog-accordion-slg-body-padding-top' | '--gog-accordion-slg-chevron-font-size' | '--gog-accordion-slg-chevron-size' | '--gog-accordion-slg-content-gap' | '--gog-accordion-slg-font-size' | '--gog-accordion-slg-letter-spacing' | '--gog-accordion-slg-padding-x' | '--gog-accordion-slg-padding-y' | '--gog-accordion-sm-body-font-size' | '--gog-accordion-sm-body-line-height' | '--gog-accordion-sm-body-padding-bottom' | '--gog-accordion-sm-body-padding-top' | '--gog-accordion-sm-chevron-font-size' | '--gog-accordion-sm-chevron-size' | '--gog-accordion-sm-content-gap' | '--gog-accordion-sm-font-size' | '--gog-accordion-sm-letter-spacing' | '--gog-accordion-sm-padding-x' | '--gog-accordion-sm-padding-y' | '--gog-accordion-text-color' | '--gog-accordion-transition-duration' | '--gog-accordion-xsm-body-font-size' | '--gog-accordion-xsm-body-line-height' | '--gog-accordion-xsm-body-padding-bottom' | '--gog-accordion-xsm-body-padding-top' | '--gog-accordion-xsm-chevron-font-size' | '--gog-accordion-xsm-chevron-size' | '--gog-accordion-xsm-content-gap' | '--gog-accordion-xsm-font-size' | '--gog-accordion-xsm-letter-spacing' | '--gog-accordion-xsm-padding-x' | '--gog-accordion-xsm-padding-y' | '--gog-autocomplete-actions-gap' | '--gog-autocomplete-actions-inset' | '--gog-autocomplete-actions-reserve' | '--gog-autocomplete-bg' | '--gog-autocomplete-border-color' | '--gog-autocomplete-border-style' | '--gog-autocomplete-border-width' | '--gog-autocomplete-clear-color' | '--gog-autocomplete-clear-hover-color' | '--gog-autocomplete-clear-icon-ratio' | '--gog-autocomplete-color' | '--gog-autocomplete-disabled-opacity' | '--gog-autocomplete-empty-color' | '--gog-autocomplete-empty-font-size' | '--gog-autocomplete-error-border-color' | '--gog-autocomplete-error-color' | '--gog-autocomplete-error-font-family' | '--gog-autocomplete-error-font-size' | '--gog-autocomplete-field-bg' | '--gog-autocomplete-float-label-in-top' | '--gog-autocomplete-float-label-on-bg' | '--gog-autocomplete-float-label-over-gap' | '--gog-autocomplete-float-label-over-reserve' | '--gog-autocomplete-float-label-reserve' | '--gog-autocomplete-focus-ring-color' | '--gog-autocomplete-focus-ring-offset' | '--gog-autocomplete-focus-ring-width' | '--gog-autocomplete-font-family' | '--gog-autocomplete-font-size' | '--gog-autocomplete-gap' | '--gog-autocomplete-hover-border-color' | '--gog-autocomplete-label-color' | '--gog-autocomplete-label-font-family' | '--gog-autocomplete-label-font-size' | '--gog-autocomplete-label-font-weight' | '--gog-autocomplete-label-letter-spacing' | '--gog-autocomplete-label-text-transform' | '--gog-autocomplete-line-height' | '--gog-autocomplete-min-width' | '--gog-autocomplete-option-color' | '--gog-autocomplete-option-gap' | '--gog-autocomplete-option-height' | '--gog-autocomplete-option-hover-bg' | '--gog-autocomplete-option-hover-color' | '--gog-autocomplete-option-padding' | '--gog-autocomplete-option-radius' | '--gog-autocomplete-option-selected-bg' | '--gog-autocomplete-option-selected-color' | '--gog-autocomplete-options-padding' | '--gog-autocomplete-padding-x' | '--gog-autocomplete-padding-y' | '--gog-autocomplete-panel-bg' | '--gog-autocomplete-panel-border-color' | '--gog-autocomplete-panel-border-style' | '--gog-autocomplete-panel-border-width' | '--gog-autocomplete-panel-gap' | '--gog-autocomplete-panel-max-height' | '--gog-autocomplete-panel-max-width' | '--gog-autocomplete-panel-radius' | '--gog-autocomplete-panel-shadow' | '--gog-autocomplete-placeholder-color' | '--gog-autocomplete-radius' | '--gog-autocomplete-spinner-size' | '--gog-autocomplete-text-color' | '--gog-autocomplete-transition-duration' | '--gog-background-color' | '--gog-badge-bg' | '--gog-badge-border-color' | '--gog-badge-border-style' | '--gog-badge-border-width' | '--gog-badge-color' | '--gog-badge-danger-bg' | '--gog-badge-danger-color' | '--gog-badge-dot-size' | '--gog-badge-font-family' | '--gog-badge-font-size' | '--gog-badge-font-weight' | '--gog-badge-info-bg' | '--gog-badge-info-color' | '--gog-badge-line-height' | '--gog-badge-offset' | '--gog-badge-padding-inline' | '--gog-badge-radius' | '--gog-badge-size' | '--gog-badge-success-bg' | '--gog-badge-success-color' | '--gog-badge-warning-bg' | '--gog-badge-warning-color' | '--gog-badge-z' | '--gog-border-color' | '--gog-btn-active-scale' | '--gog-btn-bg' | '--gog-btn-border' | '--gog-btn-border-style' | '--gog-btn-border-width' | '--gog-btn-color' | '--gog-btn-disabled-opacity' | '--gog-btn-focus-ring-offset' | '--gog-btn-focus-ring-width' | '--gog-btn-font-family' | '--gog-btn-font-weight' | '--gog-btn-gap' | '--gog-btn-ghost-bg' | '--gog-btn-ghost-border' | '--gog-btn-ghost-color' | '--gog-btn-ghost-hover-bg' | '--gog-btn-ghost-hover-color' | '--gog-btn-ghost-hover-shadow' | '--gog-btn-ghost-shadow' | '--gog-btn-ghost-spinner-color' | '--gog-btn-hover-bg' | '--gog-btn-hover-color' | '--gog-btn-hover-shadow' | '--gog-btn-letter-spacing' | '--gog-btn-lg-font-size' | '--gog-btn-lg-padding' | '--gog-btn-line-height' | '--gog-btn-loading-opacity' | '--gog-btn-md-font-size' | '--gog-btn-md-padding' | '--gog-btn-outline-bg' | '--gog-btn-outline-border' | '--gog-btn-outline-color' | '--gog-btn-outline-hover-bg' | '--gog-btn-outline-hover-color' | '--gog-btn-outline-hover-shadow' | '--gog-btn-outline-shadow' | '--gog-btn-outline-spinner-color' | '--gog-btn-primary-bg' | '--gog-btn-primary-border' | '--gog-btn-primary-color' | '--gog-btn-primary-hover-bg' | '--gog-btn-primary-hover-color' | '--gog-btn-primary-hover-shadow' | '--gog-btn-primary-shadow' | '--gog-btn-primary-spinner-color' | '--gog-btn-radius' | '--gog-btn-secondary-bg' | '--gog-btn-secondary-border' | '--gog-btn-secondary-color' | '--gog-btn-secondary-hover-bg' | '--gog-btn-secondary-hover-color' | '--gog-btn-secondary-hover-shadow' | '--gog-btn-secondary-shadow' | '--gog-btn-secondary-spinner-color' | '--gog-btn-shadow' | '--gog-btn-slg-font-size' | '--gog-btn-slg-padding' | '--gog-btn-sm-font-size' | '--gog-btn-sm-padding' | '--gog-btn-spinner-color' | '--gog-btn-spinner-max-size' | '--gog-btn-text-transform' | '--gog-btn-transition-duration' | '--gog-btn-xsm-font-size' | '--gog-btn-xsm-padding' | '--gog-button-toggle-bg' | '--gog-button-toggle-border-color' | '--gog-button-toggle-border-style' | '--gog-button-toggle-border-width' | '--gog-button-toggle-color' | '--gog-button-toggle-disabled-opacity' | '--gog-button-toggle-focus-ring-color' | '--gog-button-toggle-focus-ring-offset' | '--gog-button-toggle-focus-ring-width' | '--gog-button-toggle-font-family' | '--gog-button-toggle-font-size' | '--gog-button-toggle-font-weight' | '--gog-button-toggle-gap' | '--gog-button-toggle-hover-bg' | '--gog-button-toggle-hover-color' | '--gog-button-toggle-icon-size' | '--gog-button-toggle-letter-spacing' | '--gog-button-toggle-line-height' | '--gog-button-toggle-padding' | '--gog-button-toggle-radius' | '--gog-button-toggle-rest-bg' | '--gog-button-toggle-rest-color' | '--gog-button-toggle-selected-bg' | '--gog-button-toggle-selected-border-color' | '--gog-button-toggle-selected-color' | '--gog-button-toggle-separated-gap' | '--gog-button-toggle-text-transform' | '--gog-button-toggle-transition-duration' | '--gog-calendar-action-padding' | '--gog-calendar-color' | '--gog-calendar-day-bg' | '--gog-calendar-day-border-style' | '--gog-calendar-day-border-width' | '--gog-calendar-day-color' | '--gog-calendar-day-hover-bg' | '--gog-calendar-day-outside-color' | '--gog-calendar-day-radius' | '--gog-calendar-day-rest-bg' | '--gog-calendar-day-rest-color' | '--gog-calendar-day-size' | '--gog-calendar-disabled-opacity' | '--gog-calendar-divider-color' | '--gog-calendar-divider-style' | '--gog-calendar-divider-width' | '--gog-calendar-focus-ring-color' | '--gog-calendar-focus-ring-offset' | '--gog-calendar-focus-ring-width' | '--gog-calendar-font-family' | '--gog-calendar-header-gap' | '--gog-calendar-header-margin' | '--gog-calendar-lg-day-size' | '--gog-calendar-lg-font-size' | '--gog-calendar-md-day-size' | '--gog-calendar-md-font-size' | '--gog-calendar-months-gap' | '--gog-calendar-nav-bg' | '--gog-calendar-nav-color' | '--gog-calendar-nav-hover-bg' | '--gog-calendar-nav-hover-color' | '--gog-calendar-nav-icon-overlap' | '--gog-calendar-nav-icon-size' | '--gog-calendar-nav-radius' | '--gog-calendar-nav-size' | '--gog-calendar-padding' | '--gog-calendar-range-bg' | '--gog-calendar-range-color' | '--gog-calendar-selected-bg' | '--gog-calendar-selected-color' | '--gog-calendar-selected-font-weight' | '--gog-calendar-slg-day-size' | '--gog-calendar-slg-font-size' | '--gog-calendar-sm-day-size' | '--gog-calendar-sm-font-size' | '--gog-calendar-time-gap' | '--gog-calendar-time-input-bg' | '--gog-calendar-time-input-padding' | '--gog-calendar-time-input-width' | '--gog-calendar-time-margin' | '--gog-calendar-title-color' | '--gog-calendar-title-font-weight' | '--gog-calendar-today-border-color' | '--gog-calendar-today-font-weight' | '--gog-calendar-transition-duration' | '--gog-calendar-weekday-color' | '--gog-calendar-weekday-font-size' | '--gog-calendar-weekday-font-weight' | '--gog-calendar-weekday-padding' | '--gog-calendar-weekday-text-transform' | '--gog-calendar-xsm-day-size' | '--gog-calendar-xsm-font-size' | '--gog-checkbox-bg' | '--gog-checkbox-border-color' | '--gog-checkbox-border-style' | '--gog-checkbox-border-width' | '--gog-checkbox-box-size' | '--gog-checkbox-checked-bg' | '--gog-checkbox-checked-border' | '--gog-checkbox-dash-height' | '--gog-checkbox-dash-radius' | '--gog-checkbox-dash-width-ratio' | '--gog-checkbox-disabled-opacity' | '--gog-checkbox-focus-ring' | '--gog-checkbox-focus-ring-offset' | '--gog-checkbox-focus-ring-width' | '--gog-checkbox-font-family' | '--gog-checkbox-gap' | '--gog-checkbox-icon-color' | '--gog-checkbox-icon-size' | '--gog-checkbox-label-color' | '--gog-checkbox-label-line-height' | '--gog-checkbox-label-size' | '--gog-checkbox-padding' | '--gog-checkbox-radius' | '--gog-checkbox-transition-duration' | '--gog-chip-avatar-inset-ratio' | '--gog-chip-avatar-size' | '--gog-chip-bg' | '--gog-chip-border' | '--gog-chip-border-style' | '--gog-chip-border-width' | '--gog-chip-color' | '--gog-chip-disabled-opacity' | '--gog-chip-focus-ring-offset' | '--gog-chip-focus-ring-width' | '--gog-chip-font-family' | '--gog-chip-font-size' | '--gog-chip-font-weight' | '--gog-chip-gap' | '--gog-chip-hover-bg' | '--gog-chip-icon-size' | '--gog-chip-lg-avatar-size' | '--gog-chip-lg-font-size' | '--gog-chip-lg-gap' | '--gog-chip-lg-icon-size' | '--gog-chip-lg-padding-block' | '--gog-chip-lg-padding-inline' | '--gog-chip-lg-remove-size' | '--gog-chip-line-height' | '--gog-chip-md-avatar-size' | '--gog-chip-md-font-size' | '--gog-chip-md-gap' | '--gog-chip-md-icon-size' | '--gog-chip-md-padding-block' | '--gog-chip-md-padding-inline' | '--gog-chip-md-remove-size' | '--gog-chip-padding-block' | '--gog-chip-padding-inline' | '--gog-chip-pill-radius' | '--gog-chip-radius' | '--gog-chip-remove-color' | '--gog-chip-remove-hover-color' | '--gog-chip-remove-inset-ratio' | '--gog-chip-remove-scale' | '--gog-chip-remove-size' | '--gog-chip-slg-avatar-size' | '--gog-chip-slg-font-size' | '--gog-chip-slg-gap' | '--gog-chip-slg-icon-size' | '--gog-chip-slg-padding-block' | '--gog-chip-slg-padding-inline' | '--gog-chip-slg-remove-size' | '--gog-chip-sm-avatar-size' | '--gog-chip-sm-font-size' | '--gog-chip-sm-gap' | '--gog-chip-sm-icon-size' | '--gog-chip-sm-padding-block' | '--gog-chip-sm-padding-inline' | '--gog-chip-sm-remove-size' | '--gog-chip-xsm-avatar-size' | '--gog-chip-xsm-font-size' | '--gog-chip-xsm-gap' | '--gog-chip-xsm-icon-size' | '--gog-chip-xsm-padding-block' | '--gog-chip-xsm-padding-inline' | '--gog-chip-xsm-remove-size' | '--gog-collapsible-disabled-opacity' | '--gog-collapsible-max-height' | '--gog-collapsible-transition-duration' | '--gog-confirm-actions-gap' | '--gog-confirm-actions-offset' | '--gog-confirm-color' | '--gog-confirm-description-color' | '--gog-confirm-gap' | '--gog-confirm-max-width' | '--gog-confirm-min-width' | '--gog-control-border-style' | '--gog-control-border-width' | '--gog-control-checkbox-box-size-lg' | '--gog-control-checkbox-box-size-md' | '--gog-control-checkbox-box-size-slg' | '--gog-control-checkbox-box-size-sm' | '--gog-control-checkbox-box-size-xsm' | '--gog-control-checkbox-icon-size-lg' | '--gog-control-checkbox-icon-size-md' | '--gog-control-checkbox-icon-size-slg' | '--gog-control-checkbox-icon-size-sm' | '--gog-control-checkbox-icon-size-xsm' | '--gog-control-checkbox-label-size-lg' | '--gog-control-checkbox-label-size-md' | '--gog-control-checkbox-label-size-slg' | '--gog-control-checkbox-label-size-sm' | '--gog-control-checkbox-label-size-xsm' | '--gog-control-checkbox-padding' | '--gog-control-icon-offset' | '--gog-control-padding-x' | '--gog-control-padding-y' | '--gog-danger-color' | '--gog-datepicker-actions-gap' | '--gog-datepicker-actions-inset' | '--gog-datepicker-actions-reserve' | '--gog-datepicker-bg' | '--gog-datepicker-border-color' | '--gog-datepicker-border-style' | '--gog-datepicker-border-width' | '--gog-datepicker-clear-color' | '--gog-datepicker-clear-icon-ratio' | '--gog-datepicker-color' | '--gog-datepicker-disabled-opacity' | '--gog-datepicker-error-border-color' | '--gog-datepicker-error-color' | '--gog-datepicker-error-font-family' | '--gog-datepicker-error-font-size' | '--gog-datepicker-field-bg' | '--gog-datepicker-float-label-in-top' | '--gog-datepicker-float-label-on-bg' | '--gog-datepicker-float-label-over-gap' | '--gog-datepicker-float-label-over-reserve' | '--gog-datepicker-float-label-reserve' | '--gog-datepicker-focus-ring-color' | '--gog-datepicker-focus-ring-offset' | '--gog-datepicker-focus-ring-width' | '--gog-datepicker-font-family' | '--gog-datepicker-font-size' | '--gog-datepicker-gap' | '--gog-datepicker-hover-border-color' | '--gog-datepicker-icon-color' | '--gog-datepicker-icon-hover-color' | '--gog-datepicker-label-color' | '--gog-datepicker-label-font-family' | '--gog-datepicker-label-font-size' | '--gog-datepicker-label-letter-spacing' | '--gog-datepicker-label-text-transform' | '--gog-datepicker-line-height' | '--gog-datepicker-min-width' | '--gog-datepicker-padding-x' | '--gog-datepicker-padding-y' | '--gog-datepicker-panel-bg' | '--gog-datepicker-panel-border-color' | '--gog-datepicker-panel-border-style' | '--gog-datepicker-panel-border-width' | '--gog-datepicker-panel-gap' | '--gog-datepicker-panel-radius' | '--gog-datepicker-panel-shadow' | '--gog-datepicker-placeholder-color' | '--gog-datepicker-radius' | '--gog-datepicker-text-color' | '--gog-datepicker-toggle-icon-size' | '--gog-datepicker-transition-duration' | '--gog-dialog-backdrop-bg' | '--gog-dialog-backdrop-blur' | '--gog-dialog-backdrop-fade-duration' | '--gog-dialog-backdrop-padding' | '--gog-dialog-bg' | '--gog-dialog-body-max-height' | '--gog-dialog-body-padding' | '--gog-dialog-border' | '--gog-dialog-border-style' | '--gog-dialog-border-width' | '--gog-dialog-close-color' | '--gog-dialog-close-focus-ring' | '--gog-dialog-close-focus-ring-offset' | '--gog-dialog-close-focus-ring-width' | '--gog-dialog-close-font-size' | '--gog-dialog-close-hover-bg' | '--gog-dialog-close-hover-border' | '--gog-dialog-close-hover-color' | '--gog-dialog-close-size' | '--gog-dialog-color' | '--gog-dialog-enter-distance' | '--gog-dialog-enter-duration' | '--gog-dialog-font-family' | '--gog-dialog-header-border-color' | '--gog-dialog-header-gap' | '--gog-dialog-header-padding' | '--gog-dialog-max-height' | '--gog-dialog-min-width' | '--gog-dialog-offset-x' | '--gog-dialog-offset-y' | '--gog-dialog-radius' | '--gog-dialog-shadow' | '--gog-disabled-opacity' | '--gog-divider-block-spacing' | '--gog-divider-color' | '--gog-divider-dashed-style' | '--gog-divider-dotted-style' | '--gog-divider-inline-spacing' | '--gog-divider-inset-size' | '--gog-divider-label-color' | '--gog-divider-label-font-family' | '--gog-divider-label-font-size' | '--gog-divider-label-font-weight' | '--gog-divider-label-gap' | '--gog-divider-label-line-height' | '--gog-divider-line-color' | '--gog-divider-line-thickness' | '--gog-divider-solid-style' | '--gog-divider-spacing' | '--gog-divider-thickness' | '--gog-divider-vertical-length' | '--gog-dropdown-z' | '--gog-duration-base' | '--gog-duration-fast' | '--gog-duration-slow' | '--gog-easing' | '--gog-field-float-label-in-top' | '--gog-field-float-label-over-gap' | '--gog-field-float-label-over-reserve' | '--gog-field-float-label-reserve' | '--gog-field-lg-font-size' | '--gog-field-lg-icon-inset' | '--gog-field-lg-icon-offset' | '--gog-field-lg-padding-x' | '--gog-field-lg-padding-y' | '--gog-field-md-font-size' | '--gog-field-md-icon-inset' | '--gog-field-md-icon-offset' | '--gog-field-md-padding-x' | '--gog-field-md-padding-y' | '--gog-field-slg-font-size' | '--gog-field-slg-icon-inset' | '--gog-field-slg-icon-offset' | '--gog-field-slg-padding-x' | '--gog-field-slg-padding-y' | '--gog-field-sm-font-size' | '--gog-field-sm-icon-inset' | '--gog-field-sm-icon-offset' | '--gog-field-sm-padding-x' | '--gog-field-sm-padding-y' | '--gog-field-xsm-font-size' | '--gog-field-xsm-icon-inset' | '--gog-field-xsm-icon-offset' | '--gog-field-xsm-padding-x' | '--gog-field-xsm-padding-y' | '--gog-focus-ring-offset' | '--gog-focus-ring-width' | '--gog-font-body' | '--gog-font-heading' | '--gog-font-mono' | '--gog-hover-color' | '--gog-icon-fallback-size' | '--gog-icon-size' | '--gog-icon-stroke-width' | '--gog-info-color' | '--gog-input-clear-icon-ratio' | '--gog-input-clear-inset' | '--gog-input-clear-radius' | '--gog-input-disabled-opacity' | '--gog-input-error-color' | '--gog-input-error-font-size' | '--gog-input-error-offset' | '--gog-input-field-bg' | '--gog-input-field-border' | '--gog-input-field-border-style' | '--gog-input-field-border-width' | '--gog-input-field-color' | '--gog-input-float-label-in-top' | '--gog-input-float-label-on-bg' | '--gog-input-float-label-over-gap' | '--gog-input-float-label-over-reserve' | '--gog-input-float-label-reserve' | '--gog-input-focus-border' | '--gog-input-focus-glow' | '--gog-input-focus-ring' | '--gog-input-focus-ring-offset' | '--gog-input-focus-ring-width' | '--gog-input-font' | '--gog-input-font-family' | '--gog-input-gap' | '--gog-input-icon-action-radius' | '--gog-input-icon-color' | '--gog-input-icon-focus-ring-width' | '--gog-input-icon-hover-color' | '--gog-input-label-color' | '--gog-input-label-font-family' | '--gog-input-label-font-size' | '--gog-input-label-letter-spacing' | '--gog-input-label-text-transform' | '--gog-input-padding-x' | '--gog-input-padding-y' | '--gog-input-placeholder-color' | '--gog-input-radius' | '--gog-input-transition-duration' | '--gog-ms-actions-gap' | '--gog-ms-actions-inset' | '--gog-ms-arrow-icon-ratio' | '--gog-ms-arrow-transition-duration' | '--gog-ms-border-color' | '--gog-ms-checkbox-bg' | '--gog-ms-checkbox-border' | '--gog-ms-checkbox-checked-bg' | '--gog-ms-checkbox-checked-color' | '--gog-ms-clear-icon-ratio' | '--gog-ms-clear-radius' | '--gog-ms-controls-gap' | '--gog-ms-controls-padding' | '--gog-ms-disabled-opacity' | '--gog-ms-error-color' | '--gog-ms-error-font-size' | '--gog-ms-error-offset' | '--gog-ms-field-bg' | '--gog-ms-field-border' | '--gog-ms-field-border-style' | '--gog-ms-field-border-width' | '--gog-ms-field-color' | '--gog-ms-filter-border-color' | '--gog-ms-filter-border-style' | '--gog-ms-filter-border-width' | '--gog-ms-filter-empty-color' | '--gog-ms-filter-empty-padding' | '--gog-ms-filter-input-bg' | '--gog-ms-filter-input-border' | '--gog-ms-filter-input-color' | '--gog-ms-filter-input-padding-x' | '--gog-ms-filter-input-padding-y' | '--gog-ms-filter-input-radius' | '--gog-ms-filter-padding' | '--gog-ms-float-label-in-top' | '--gog-ms-float-label-over-gap' | '--gog-ms-float-label-over-reserve' | '--gog-ms-float-label-reserve' | '--gog-ms-focus-border' | '--gog-ms-focus-glow' | '--gog-ms-focus-ring' | '--gog-ms-focus-ring-offset' | '--gog-ms-focus-ring-width' | '--gog-ms-font-family' | '--gog-ms-gap' | '--gog-ms-label-color' | '--gog-ms-label-font-family' | '--gog-ms-label-font-size' | '--gog-ms-label-letter-spacing' | '--gog-ms-label-text-transform' | '--gog-ms-mark-icon-ratio' | '--gog-ms-mark-size-ratio' | '--gog-ms-min-width' | '--gog-ms-option-color' | '--gog-ms-option-disabled-opacity' | '--gog-ms-option-gap' | '--gog-ms-option-gap-inline' | '--gog-ms-option-height' | '--gog-ms-option-hover-bg' | '--gog-ms-option-radius' | '--gog-ms-option-transition-duration' | '--gog-ms-options-padding' | '--gog-ms-overflow-color' | '--gog-ms-overflow-font-size' | '--gog-ms-overflow-gap' | '--gog-ms-panel-bg' | '--gog-ms-panel-border' | '--gog-ms-panel-max-height' | '--gog-ms-panel-max-width' | '--gog-ms-panel-offset' | '--gog-ms-panel-shadow' | '--gog-ms-placeholder-color' | '--gog-ms-radius' | '--gog-ms-transition-duration' | '--gog-ms-value-color' | '--gog-multiselect-actions-gap' | '--gog-multiselect-actions-inset' | '--gog-multiselect-arrow-icon-ratio' | '--gog-multiselect-arrow-transition-duration' | '--gog-multiselect-border-color' | '--gog-multiselect-checkbox-bg' | '--gog-multiselect-checkbox-border' | '--gog-multiselect-checkbox-checked-bg' | '--gog-multiselect-checkbox-checked-color' | '--gog-multiselect-clear-icon-ratio' | '--gog-multiselect-clear-radius' | '--gog-multiselect-controls-gap' | '--gog-multiselect-controls-padding' | '--gog-multiselect-disabled-opacity' | '--gog-multiselect-error-color' | '--gog-multiselect-error-font-size' | '--gog-multiselect-error-offset' | '--gog-multiselect-field-bg' | '--gog-multiselect-field-border' | '--gog-multiselect-field-border-style' | '--gog-multiselect-field-border-width' | '--gog-multiselect-field-color' | '--gog-multiselect-filter-border-color' | '--gog-multiselect-filter-border-style' | '--gog-multiselect-filter-border-width' | '--gog-multiselect-filter-empty-color' | '--gog-multiselect-filter-empty-padding' | '--gog-multiselect-filter-input-bg' | '--gog-multiselect-filter-input-border' | '--gog-multiselect-filter-input-color' | '--gog-multiselect-filter-input-padding-x' | '--gog-multiselect-filter-input-padding-y' | '--gog-multiselect-filter-input-radius' | '--gog-multiselect-filter-padding' | '--gog-multiselect-float-label-in-top' | '--gog-multiselect-float-label-on-bg' | '--gog-multiselect-float-label-over-gap' | '--gog-multiselect-float-label-over-reserve' | '--gog-multiselect-float-label-reserve' | '--gog-multiselect-focus-border' | '--gog-multiselect-focus-glow' | '--gog-multiselect-focus-ring' | '--gog-multiselect-focus-ring-offset' | '--gog-multiselect-focus-ring-width' | '--gog-multiselect-font-family' | '--gog-multiselect-font-size' | '--gog-multiselect-gap' | '--gog-multiselect-label-color' | '--gog-multiselect-label-font-family' | '--gog-multiselect-label-font-size' | '--gog-multiselect-label-letter-spacing' | '--gog-multiselect-label-text-transform' | '--gog-multiselect-mark-icon-ratio' | '--gog-multiselect-mark-size-ratio' | '--gog-multiselect-min-width' | '--gog-multiselect-option-color' | '--gog-multiselect-option-disabled-opacity' | '--gog-multiselect-option-gap' | '--gog-multiselect-option-gap-inline' | '--gog-multiselect-option-height' | '--gog-multiselect-option-hover-bg' | '--gog-multiselect-option-radius' | '--gog-multiselect-option-transition-duration' | '--gog-multiselect-options-padding' | '--gog-multiselect-overflow-color' | '--gog-multiselect-overflow-font-size' | '--gog-multiselect-overflow-gap' | '--gog-multiselect-padding-x' | '--gog-multiselect-padding-y' | '--gog-multiselect-panel-bg' | '--gog-multiselect-panel-border' | '--gog-multiselect-panel-max-height' | '--gog-multiselect-panel-max-width' | '--gog-multiselect-panel-offset' | '--gog-multiselect-panel-shadow' | '--gog-multiselect-placeholder-color' | '--gog-multiselect-radius' | '--gog-multiselect-transition-duration' | '--gog-multiselect-value-color' | '--gog-muted-text-color' | '--gog-paginator-ellipsis-color' | '--gog-paginator-ellipsis-font-family' | '--gog-paginator-ellipsis-font-size' | '--gog-paginator-ellipsis-min-width' | '--gog-paginator-gap' | '--gog-panel-border-style' | '--gog-panel-border-width' | '--gog-panel-radius' | '--gog-panel-shadow' | '--gog-primary-color' | '--gog-progressbar-accent-bg' | '--gog-progressbar-accent-buffer-bg' | '--gog-progressbar-buffer-bg' | '--gog-progressbar-danger-bg' | '--gog-progressbar-danger-buffer-bg' | '--gog-progressbar-fill-bg' | '--gog-progressbar-height' | '--gog-progressbar-indeterminate-duration' | '--gog-progressbar-indeterminate-easing' | '--gog-progressbar-info-bg' | '--gog-progressbar-info-buffer-bg' | '--gog-progressbar-lg-height' | '--gog-progressbar-md-height' | '--gog-progressbar-radius' | '--gog-progressbar-slg-height' | '--gog-progressbar-sm-height' | '--gog-progressbar-stripe-color' | '--gog-progressbar-stripe-size' | '--gog-progressbar-success-bg' | '--gog-progressbar-success-buffer-bg' | '--gog-progressbar-track-base-bg' | '--gog-progressbar-track-bg' | '--gog-progressbar-transition-duration' | '--gog-progressbar-value-color' | '--gog-progressbar-value-font-family' | '--gog-progressbar-value-font-size' | '--gog-progressbar-value-gap' | '--gog-progressbar-value-min-width' | '--gog-progressbar-warning-bg' | '--gog-progressbar-warning-buffer-bg' | '--gog-progressbar-xsm-height' | '--gog-radio-bg' | '--gog-radio-border-color' | '--gog-radio-border-style' | '--gog-radio-border-width' | '--gog-radio-box-size' | '--gog-radio-checked-bg' | '--gog-radio-checked-border' | '--gog-radio-disabled-opacity' | '--gog-radio-dot-color' | '--gog-radio-dot-size-ratio' | '--gog-radio-error-color' | '--gog-radio-error-font-size' | '--gog-radio-focus-ring' | '--gog-radio-focus-ring-offset' | '--gog-radio-focus-ring-width' | '--gog-radio-font-family' | '--gog-radio-gap' | '--gog-radio-group-gap' | '--gog-radio-group-label-color' | '--gog-radio-group-label-size' | '--gog-radio-group-option-gap' | '--gog-radio-group-option-gap-horizontal' | '--gog-radio-label-color' | '--gog-radio-label-line-height' | '--gog-radio-label-size' | '--gog-radio-padding' | '--gog-radio-transition-duration' | '--gog-radius' | '--gog-scroll-corner-bg' | '--gog-scroll-fade-duration' | '--gog-scroll-focus-ring' | '--gog-scroll-focus-ring-width' | '--gog-scroll-normal-thumb-min-size' | '--gog-scroll-normal-track-width' | '--gog-scroll-thin-thumb-min-size' | '--gog-scroll-thin-track-width' | '--gog-scroll-thumb-active-bg' | '--gog-scroll-thumb-bg' | '--gog-scroll-thumb-hover-bg' | '--gog-scroll-thumb-inset' | '--gog-scroll-thumb-radius' | '--gog-scroll-track-bg' | '--gog-scroll-track-radius' | '--gog-secondary-color' | '--gog-select-chevron-color' | '--gog-select-chevron-icon-ratio' | '--gog-select-chevron-inset' | '--gog-select-clear-color' | '--gog-select-clear-gap' | '--gog-select-clear-hover-color' | '--gog-select-clear-icon-ratio' | '--gog-select-clear-radius' | '--gog-select-control-font' | '--gog-select-control-gap' | '--gog-select-control-padding-x' | '--gog-select-control-padding-y' | '--gog-select-disabled-opacity' | '--gog-select-error-color' | '--gog-select-error-font-size' | '--gog-select-field-bg' | '--gog-select-field-border' | '--gog-select-field-border-style' | '--gog-select-field-border-width' | '--gog-select-field-color' | '--gog-select-filter-border-color' | '--gog-select-filter-border-style' | '--gog-select-filter-border-width' | '--gog-select-filter-empty-color' | '--gog-select-filter-empty-padding' | '--gog-select-filter-input-bg' | '--gog-select-filter-input-border' | '--gog-select-filter-input-color' | '--gog-select-filter-input-padding-x' | '--gog-select-filter-input-padding-y' | '--gog-select-filter-input-radius' | '--gog-select-filter-padding' | '--gog-select-float-label-in-top' | '--gog-select-float-label-on-bg' | '--gog-select-float-label-over-gap' | '--gog-select-float-label-over-reserve' | '--gog-select-float-label-reserve' | '--gog-select-focus-border' | '--gog-select-focus-glow' | '--gog-select-focus-ring' | '--gog-select-focus-ring-offset' | '--gog-select-focus-ring-width' | '--gog-select-font-family' | '--gog-select-gap' | '--gog-select-label-color' | '--gog-select-label-font-family' | '--gog-select-label-font-size' | '--gog-select-label-letter-spacing' | '--gog-select-label-text-transform' | '--gog-select-mark-icon-ratio' | '--gog-select-mark-size-ratio' | '--gog-select-min-width' | '--gog-select-option-color' | '--gog-select-option-disabled-opacity' | '--gog-select-option-gap' | '--gog-select-option-height' | '--gog-select-option-hover-bg' | '--gog-select-option-selected-color' | '--gog-select-option-transition-duration' | '--gog-select-panel-bg' | '--gog-select-panel-max-height' | '--gog-select-panel-max-width' | '--gog-select-panel-offset' | '--gog-select-panel-shadow' | '--gog-select-placeholder-color' | '--gog-select-radius' | '--gog-select-transition-duration' | '--gog-skeleton-base' | '--gog-skeleton-circle-size-lg' | '--gog-skeleton-circle-size-md' | '--gog-skeleton-circle-size-slg' | '--gog-skeleton-circle-size-sm' | '--gog-skeleton-circle-size-xsm' | '--gog-skeleton-line-gap' | '--gog-skeleton-line-height-lg' | '--gog-skeleton-line-height-md' | '--gog-skeleton-line-height-slg' | '--gog-skeleton-line-height-sm' | '--gog-skeleton-line-height-xsm' | '--gog-skeleton-line-radius' | '--gog-skeleton-pulse-duration' | '--gog-skeleton-pulse-min-opacity' | '--gog-skeleton-radius' | '--gog-skeleton-rect-height-lg' | '--gog-skeleton-rect-height-md' | '--gog-skeleton-rect-height-slg' | '--gog-skeleton-rect-height-sm' | '--gog-skeleton-rect-height-xsm' | '--gog-skeleton-shine' | '--gog-skeleton-short-line-width' | '--gog-skeleton-square-radius' | '--gog-skeleton-wave-duration' | '--gog-slider-auto-width' | '--gog-slider-disabled-opacity' | '--gog-slider-error-color' | '--gog-slider-error-font-family' | '--gog-slider-error-font-size' | '--gog-slider-fill-bg' | '--gog-slider-focus-ring' | '--gog-slider-focus-ring-width' | '--gog-slider-gap' | '--gog-slider-label-color' | '--gog-slider-label-font-family' | '--gog-slider-label-font-size' | '--gog-slider-label-letter-spacing' | '--gog-slider-label-text-transform' | '--gog-slider-range-color' | '--gog-slider-range-font-size' | '--gog-slider-thumb-bg' | '--gog-slider-thumb-border' | '--gog-slider-thumb-border-width' | '--gog-slider-thumb-glow-size' | '--gog-slider-thumb-radius' | '--gog-slider-thumb-shadow' | '--gog-slider-thumb-size' | '--gog-slider-track-area-height' | '--gog-slider-track-bg' | '--gog-slider-track-border-color' | '--gog-slider-track-border-style' | '--gog-slider-track-border-width' | '--gog-slider-track-height' | '--gog-slider-track-radius' | '--gog-slider-value-color' | '--gog-slider-value-font-family' | '--gog-slider-value-font-size' | '--gog-slider-value-min-width' | '--gog-slider-vertical-length' | '--gog-space-2xl' | '--gog-space-lg' | '--gog-space-md' | '--gog-space-sm' | '--gog-space-xs' | '--gog-spinner-arc-inner-color' | '--gog-spinner-arc-inner-dash' | '--gog-spinner-arc-inner-glow' | '--gog-spinner-arc-inner-opacity' | '--gog-spinner-arc-inner-pulse-opacity' | '--gog-spinner-arc-inner-stroke-compact' | '--gog-spinner-arc-outer-color' | '--gog-spinner-arc-outer-dash' | '--gog-spinner-arc-outer-glow' | '--gog-spinner-arc-outer-pulse-opacity' | '--gog-spinner-diamond-color' | '--gog-spinner-diamond-glow' | '--gog-spinner-diamond-opacity' | '--gog-spinner-glow-color' | '--gog-spinner-overlay-bg' | '--gog-spinner-overlay-blur' | '--gog-spinner-overlay-fade-duration' | '--gog-spinner-overlay-z' | '--gog-spinner-pulse-duration' | '--gog-spinner-ring-duration' | '--gog-spinner-ring-glow' | '--gog-spinner-ring-padding' | '--gog-spinner-rune-color' | '--gog-spinner-rune-font-family' | '--gog-spinner-rune-glow' | '--gog-spinner-rune-pulse-opacity' | '--gog-spinner-rune-size' | '--gog-spinner-size-lg' | '--gog-spinner-size-md' | '--gog-spinner-size-slg' | '--gog-spinner-size-sm' | '--gog-spinner-size-xsm' | '--gog-spinner-spin-duration' | '--gog-spinner-spin-slow-duration' | '--gog-spinner-ticks-duration' | '--gog-spinner-track-color' | '--gog-spinner-track-opacity' | '--gog-success-color' | '--gog-surface-color' | '--gog-table-accent-bright' | '--gog-table-accent-color' | '--gog-table-border-color' | '--gog-table-border-style' | '--gog-table-border-width' | '--gog-table-empty-font-size' | '--gog-table-empty-padding' | '--gog-table-focus-ring' | '--gog-table-focus-ring-width' | '--gog-table-font-family' | '--gog-table-footer-gap' | '--gog-table-footer-min-height' | '--gog-table-gap' | '--gog-table-header-font-family' | '--gog-table-header-letter-spacing' | '--gog-table-header-text-transform' | '--gog-table-hover-bg' | '--gog-table-lg-padding-v' | '--gog-table-lg-td-font-size' | '--gog-table-lg-th-font-size' | '--gog-table-loading-opacity' | '--gog-table-loading-padding' | '--gog-table-md-padding-v' | '--gog-table-md-td-font-size' | '--gog-table-md-th-font-size' | '--gog-table-muted-color' | '--gog-table-num-col-width' | '--gog-table-num-font-size' | '--gog-table-numeric-font-family' | '--gog-table-padding-h' | '--gog-table-row-border-width' | '--gog-table-row-transition-duration' | '--gog-table-slg-padding-v' | '--gog-table-slg-td-font-size' | '--gog-table-slg-th-font-size' | '--gog-table-sm-padding-v' | '--gog-table-sm-td-font-size' | '--gog-table-sm-th-font-size' | '--gog-table-sort-icon-opacity' | '--gog-table-sort-icon-size' | '--gog-table-sort-icon-width' | '--gog-table-surface' | '--gog-table-td-font-size' | '--gog-table-td-padding-v' | '--gog-table-text-color' | '--gog-table-th-font-size' | '--gog-table-th-inner-gap' | '--gog-table-th-padding-v' | '--gog-table-total-font-size' | '--gog-table-total-letter-spacing' | '--gog-table-total-text-transform' | '--gog-table-xsm-padding-v' | '--gog-table-xsm-td-font-size' | '--gog-table-xsm-th-font-size' | '--gog-tabs-active-color' | '--gog-tabs-disabled-opacity' | '--gog-tabs-focus-ring-color' | '--gog-tabs-focus-ring-offset' | '--gog-tabs-focus-ring-width' | '--gog-tabs-font-family' | '--gog-tabs-font-weight' | '--gog-tabs-gap' | '--gog-tabs-header-border-color' | '--gog-tabs-header-border-style' | '--gog-tabs-header-border-width' | '--gog-tabs-hover-color' | '--gog-tabs-icon-size' | '--gog-tabs-indicator-color' | '--gog-tabs-indicator-radius' | '--gog-tabs-indicator-thickness' | '--gog-tabs-letter-spacing' | '--gog-tabs-lg-font-size' | '--gog-tabs-lg-padding' | '--gog-tabs-line-height' | '--gog-tabs-md-font-size' | '--gog-tabs-md-padding' | '--gog-tabs-panel-color' | '--gog-tabs-panel-padding' | '--gog-tabs-rest-bg' | '--gog-tabs-rest-color' | '--gog-tabs-slg-font-size' | '--gog-tabs-slg-padding' | '--gog-tabs-sm-font-size' | '--gog-tabs-sm-padding' | '--gog-tabs-tab-bg' | '--gog-tabs-tab-color' | '--gog-tabs-tab-font-size' | '--gog-tabs-tab-gap' | '--gog-tabs-tab-padding' | '--gog-tabs-text-transform' | '--gog-tabs-transition-duration' | '--gog-tabs-xsm-font-size' | '--gog-tabs-xsm-padding' | '--gog-tag-accent' | '--gog-tag-bg' | '--gog-tag-bg-base' | '--gog-tag-bg-mix' | '--gog-tag-border' | '--gog-tag-border-style' | '--gog-tag-border-width' | '--gog-tag-color' | '--gog-tag-color-base' | '--gog-tag-color-mix' | '--gog-tag-danger-color' | '--gog-tag-default-color' | '--gog-tag-font-family' | '--gog-tag-font-size' | '--gog-tag-font-weight' | '--gog-tag-gap' | '--gog-tag-icon-size' | '--gog-tag-info-color' | '--gog-tag-inner-border-width' | '--gog-tag-lg-font-size' | '--gog-tag-lg-gap' | '--gog-tag-lg-icon-size' | '--gog-tag-lg-padding-block' | '--gog-tag-lg-padding-inline' | '--gog-tag-line-height' | '--gog-tag-md-font-size' | '--gog-tag-md-gap' | '--gog-tag-md-icon-size' | '--gog-tag-md-padding-block' | '--gog-tag-md-padding-inline' | '--gog-tag-padding-block' | '--gog-tag-padding-inline' | '--gog-tag-pill-radius' | '--gog-tag-radius' | '--gog-tag-slg-font-size' | '--gog-tag-slg-gap' | '--gog-tag-slg-icon-size' | '--gog-tag-slg-padding-block' | '--gog-tag-slg-padding-inline' | '--gog-tag-sm-font-size' | '--gog-tag-sm-gap' | '--gog-tag-sm-icon-size' | '--gog-tag-sm-padding-block' | '--gog-tag-sm-padding-inline' | '--gog-tag-success-color' | '--gog-tag-warning-color' | '--gog-tag-xsm-font-size' | '--gog-tag-xsm-gap' | '--gog-tag-xsm-icon-size' | '--gog-tag-xsm-padding-block' | '--gog-tag-xsm-padding-inline' | '--gog-text-2xl' | '--gog-text-3xl' | '--gog-text-color' | '--gog-text-lg' | '--gog-text-md' | '--gog-text-sm' | '--gog-text-xl' | '--gog-text-xs' | '--gog-textarea-clear-icon-ratio' | '--gog-textarea-scrollbar-width' | '--gog-toast-accent-width' | '--gog-toast-action-font-size' | '--gog-toast-action-padding' | '--gog-toast-actions-gap' | '--gog-toast-base-z' | '--gog-toast-bg' | '--gog-toast-border' | '--gog-toast-close-font-size' | '--gog-toast-close-padding' | '--gog-toast-color' | '--gog-toast-content-gap' | '--gog-toast-enter-distance' | '--gog-toast-error-color' | '--gog-toast-font-family' | '--gog-toast-gap' | '--gog-toast-icon-color' | '--gog-toast-icon-line-height' | '--gog-toast-icon-size' | '--gog-toast-info-color' | '--gog-toast-main-gap' | '--gog-toast-max-width' | '--gog-toast-message-font-size' | '--gog-toast-message-line-height' | '--gog-toast-min-width' | '--gog-toast-padding' | '--gog-toast-progress-height' | '--gog-toast-progress-opacity' | '--gog-toast-radius' | '--gog-toast-shadow' | '--gog-toast-stack-expanded-gap' | '--gog-toast-stack-max-depth' | '--gog-toast-stack-min-opacity' | '--gog-toast-stack-opacity-step' | '--gog-toast-stack-padding' | '--gog-toast-stack-peek' | '--gog-toast-stack-scale-step' | '--gog-toast-success-color' | '--gog-toast-transition-duration' | '--gog-toast-warning-color' | '--gog-toast-z-index' | '--gog-toggle-border-color' | '--gog-toggle-border-style' | '--gog-toggle-border-width' | '--gog-toggle-disabled-opacity' | '--gog-toggle-focus-ring-color' | '--gog-toggle-focus-ring-offset' | '--gog-toggle-focus-ring-width' | '--gog-toggle-font-family' | '--gog-toggle-gap' | '--gog-toggle-label-color' | '--gog-toggle-label-line-height' | '--gog-toggle-lg-label-size' | '--gog-toggle-lg-state-font-size' | '--gog-toggle-lg-thumb-size' | '--gog-toggle-lg-track-height' | '--gog-toggle-lg-track-width' | '--gog-toggle-md-label-size' | '--gog-toggle-md-state-font-size' | '--gog-toggle-md-thumb-size' | '--gog-toggle-md-track-height' | '--gog-toggle-md-track-width' | '--gog-toggle-on-border-color' | '--gog-toggle-padding' | '--gog-toggle-radius' | '--gog-toggle-slg-label-size' | '--gog-toggle-slg-state-font-size' | '--gog-toggle-slg-thumb-size' | '--gog-toggle-slg-track-height' | '--gog-toggle-slg-track-width' | '--gog-toggle-sm-label-size' | '--gog-toggle-sm-state-font-size' | '--gog-toggle-sm-thumb-size' | '--gog-toggle-sm-track-height' | '--gog-toggle-sm-track-width' | '--gog-toggle-state-color' | '--gog-toggle-state-font-weight' | '--gog-toggle-state-letter-spacing' | '--gog-toggle-state-offset' | '--gog-toggle-state-padding-inline' | '--gog-toggle-state-thumb-gap' | '--gog-toggle-thumb-bg' | '--gog-toggle-thumb-inset' | '--gog-toggle-thumb-off-bg' | '--gog-toggle-thumb-on-bg' | '--gog-toggle-thumb-shadow' | '--gog-toggle-track-bg' | '--gog-toggle-track-off-bg' | '--gog-toggle-track-on-bg' | '--gog-toggle-transition-duration' | '--gog-toggle-xsm-label-size' | '--gog-toggle-xsm-state-font-size' | '--gog-toggle-xsm-thumb-size' | '--gog-toggle-xsm-track-height' | '--gog-toggle-xsm-track-width' | '--gog-tooltip-arrow-size' | '--gog-tooltip-bg' | '--gog-tooltip-border-color' | '--gog-tooltip-border-style' | '--gog-tooltip-border-width' | '--gog-tooltip-color' | '--gog-tooltip-font-family' | '--gog-tooltip-font-size' | '--gog-tooltip-gap' | '--gog-tooltip-line-height' | '--gog-tooltip-max-height' | '--gog-tooltip-max-width' | '--gog-tooltip-padding' | '--gog-tooltip-radius' | '--gog-tooltip-shadow' | '--gog-tooltip-transition-duration' | '--gog-tooltip-z' | '--gog-warning-color';
|
|
4180
|
+
type GogTokenName = '--gog-accent-bright' | '--gog-accent-color' | '--gog-accent-dim' | '--gog-accent-pale' | '--gog-accent-text-color' | '--gog-accordion-accent-color' | '--gog-accordion-body-bg' | '--gog-accordion-body-color' | '--gog-accordion-body-font-family' | '--gog-accordion-body-font-size' | '--gog-accordion-body-lift' | '--gog-accordion-body-line-height' | '--gog-accordion-body-padding-bottom' | '--gog-accordion-body-padding-top' | '--gog-accordion-body-radius' | '--gog-accordion-body-transition-duration' | '--gog-accordion-border-color' | '--gog-accordion-border-style' | '--gog-accordion-border-width' | '--gog-accordion-chevron-font-size' | '--gog-accordion-chevron-size' | '--gog-accordion-chevron-transition-duration' | '--gog-accordion-content-gap' | '--gog-accordion-disabled-opacity' | '--gog-accordion-focus-ring-width' | '--gog-accordion-font-family' | '--gog-accordion-font-size' | '--gog-accordion-header-bg' | '--gog-accordion-header-gap' | '--gog-accordion-header-text-transform' | '--gog-accordion-hover-bg' | '--gog-accordion-hover-ring' | '--gog-accordion-letter-spacing' | '--gog-accordion-lg-body-font-size' | '--gog-accordion-lg-body-line-height' | '--gog-accordion-lg-body-padding-bottom' | '--gog-accordion-lg-body-padding-top' | '--gog-accordion-lg-chevron-font-size' | '--gog-accordion-lg-chevron-size' | '--gog-accordion-lg-content-gap' | '--gog-accordion-lg-font-size' | '--gog-accordion-lg-letter-spacing' | '--gog-accordion-lg-padding-x' | '--gog-accordion-lg-padding-y' | '--gog-accordion-md-body-font-size' | '--gog-accordion-md-body-line-height' | '--gog-accordion-md-body-padding-bottom' | '--gog-accordion-md-body-padding-top' | '--gog-accordion-md-chevron-font-size' | '--gog-accordion-md-chevron-size' | '--gog-accordion-md-content-gap' | '--gog-accordion-md-font-size' | '--gog-accordion-md-letter-spacing' | '--gog-accordion-md-padding-x' | '--gog-accordion-md-padding-y' | '--gog-accordion-padding-x' | '--gog-accordion-padding-y' | '--gog-accordion-radius' | '--gog-accordion-slg-body-font-size' | '--gog-accordion-slg-body-line-height' | '--gog-accordion-slg-body-padding-bottom' | '--gog-accordion-slg-body-padding-top' | '--gog-accordion-slg-chevron-font-size' | '--gog-accordion-slg-chevron-size' | '--gog-accordion-slg-content-gap' | '--gog-accordion-slg-font-size' | '--gog-accordion-slg-letter-spacing' | '--gog-accordion-slg-padding-x' | '--gog-accordion-slg-padding-y' | '--gog-accordion-sm-body-font-size' | '--gog-accordion-sm-body-line-height' | '--gog-accordion-sm-body-padding-bottom' | '--gog-accordion-sm-body-padding-top' | '--gog-accordion-sm-chevron-font-size' | '--gog-accordion-sm-chevron-size' | '--gog-accordion-sm-content-gap' | '--gog-accordion-sm-font-size' | '--gog-accordion-sm-letter-spacing' | '--gog-accordion-sm-padding-x' | '--gog-accordion-sm-padding-y' | '--gog-accordion-text-color' | '--gog-accordion-transition-duration' | '--gog-accordion-xsm-body-font-size' | '--gog-accordion-xsm-body-line-height' | '--gog-accordion-xsm-body-padding-bottom' | '--gog-accordion-xsm-body-padding-top' | '--gog-accordion-xsm-chevron-font-size' | '--gog-accordion-xsm-chevron-size' | '--gog-accordion-xsm-content-gap' | '--gog-accordion-xsm-font-size' | '--gog-accordion-xsm-letter-spacing' | '--gog-accordion-xsm-padding-x' | '--gog-accordion-xsm-padding-y' | '--gog-autocomplete-actions-gap' | '--gog-autocomplete-actions-inset' | '--gog-autocomplete-actions-reserve' | '--gog-autocomplete-bg' | '--gog-autocomplete-border-color' | '--gog-autocomplete-border-style' | '--gog-autocomplete-border-width' | '--gog-autocomplete-clear-color' | '--gog-autocomplete-clear-hover-color' | '--gog-autocomplete-clear-icon-ratio' | '--gog-autocomplete-color' | '--gog-autocomplete-disabled-opacity' | '--gog-autocomplete-empty-color' | '--gog-autocomplete-empty-font-size' | '--gog-autocomplete-error-border-color' | '--gog-autocomplete-error-color' | '--gog-autocomplete-error-font-family' | '--gog-autocomplete-error-font-size' | '--gog-autocomplete-field-bg' | '--gog-autocomplete-float-label-in-top' | '--gog-autocomplete-float-label-on-bg' | '--gog-autocomplete-float-label-over-gap' | '--gog-autocomplete-float-label-over-reserve' | '--gog-autocomplete-float-label-reserve' | '--gog-autocomplete-focus-ring-color' | '--gog-autocomplete-focus-ring-offset' | '--gog-autocomplete-focus-ring-width' | '--gog-autocomplete-font-family' | '--gog-autocomplete-font-size' | '--gog-autocomplete-gap' | '--gog-autocomplete-hover-border-color' | '--gog-autocomplete-label-color' | '--gog-autocomplete-label-font-family' | '--gog-autocomplete-label-font-size' | '--gog-autocomplete-label-font-weight' | '--gog-autocomplete-label-letter-spacing' | '--gog-autocomplete-label-text-transform' | '--gog-autocomplete-line-height' | '--gog-autocomplete-min-width' | '--gog-autocomplete-option-color' | '--gog-autocomplete-option-gap' | '--gog-autocomplete-option-height' | '--gog-autocomplete-option-hover-bg' | '--gog-autocomplete-option-hover-color' | '--gog-autocomplete-option-padding' | '--gog-autocomplete-option-radius' | '--gog-autocomplete-option-selected-bg' | '--gog-autocomplete-option-selected-color' | '--gog-autocomplete-options-padding' | '--gog-autocomplete-padding-x' | '--gog-autocomplete-padding-y' | '--gog-autocomplete-panel-bg' | '--gog-autocomplete-panel-border-color' | '--gog-autocomplete-panel-border-style' | '--gog-autocomplete-panel-border-width' | '--gog-autocomplete-panel-gap' | '--gog-autocomplete-panel-max-height' | '--gog-autocomplete-panel-max-width' | '--gog-autocomplete-panel-radius' | '--gog-autocomplete-panel-shadow' | '--gog-autocomplete-placeholder-color' | '--gog-autocomplete-radius' | '--gog-autocomplete-spinner-size' | '--gog-autocomplete-text-color' | '--gog-autocomplete-transition-duration' | '--gog-background-color' | '--gog-badge-bg' | '--gog-badge-border-color' | '--gog-badge-border-style' | '--gog-badge-border-width' | '--gog-badge-color' | '--gog-badge-danger-bg' | '--gog-badge-danger-color' | '--gog-badge-dot-size' | '--gog-badge-font-family' | '--gog-badge-font-size' | '--gog-badge-font-weight' | '--gog-badge-info-bg' | '--gog-badge-info-color' | '--gog-badge-line-height' | '--gog-badge-offset' | '--gog-badge-padding-inline' | '--gog-badge-radius' | '--gog-badge-size' | '--gog-badge-success-bg' | '--gog-badge-success-color' | '--gog-badge-warning-bg' | '--gog-badge-warning-color' | '--gog-badge-z' | '--gog-border-color' | '--gog-btn-active-scale' | '--gog-btn-bg' | '--gog-btn-border' | '--gog-btn-border-style' | '--gog-btn-border-width' | '--gog-btn-color' | '--gog-btn-disabled-opacity' | '--gog-btn-focus-ring-offset' | '--gog-btn-focus-ring-width' | '--gog-btn-font-family' | '--gog-btn-font-weight' | '--gog-btn-gap' | '--gog-btn-ghost-bg' | '--gog-btn-ghost-border' | '--gog-btn-ghost-color' | '--gog-btn-ghost-hover-bg' | '--gog-btn-ghost-hover-color' | '--gog-btn-ghost-hover-shadow' | '--gog-btn-ghost-shadow' | '--gog-btn-ghost-spinner-color' | '--gog-btn-hover-bg' | '--gog-btn-hover-color' | '--gog-btn-hover-shadow' | '--gog-btn-letter-spacing' | '--gog-btn-lg-font-size' | '--gog-btn-lg-padding' | '--gog-btn-line-height' | '--gog-btn-loading-opacity' | '--gog-btn-md-font-size' | '--gog-btn-md-padding' | '--gog-btn-outline-bg' | '--gog-btn-outline-border' | '--gog-btn-outline-color' | '--gog-btn-outline-hover-bg' | '--gog-btn-outline-hover-color' | '--gog-btn-outline-hover-shadow' | '--gog-btn-outline-shadow' | '--gog-btn-outline-spinner-color' | '--gog-btn-primary-bg' | '--gog-btn-primary-border' | '--gog-btn-primary-color' | '--gog-btn-primary-hover-bg' | '--gog-btn-primary-hover-color' | '--gog-btn-primary-hover-shadow' | '--gog-btn-primary-shadow' | '--gog-btn-primary-spinner-color' | '--gog-btn-radius' | '--gog-btn-secondary-bg' | '--gog-btn-secondary-border' | '--gog-btn-secondary-color' | '--gog-btn-secondary-hover-bg' | '--gog-btn-secondary-hover-color' | '--gog-btn-secondary-hover-shadow' | '--gog-btn-secondary-shadow' | '--gog-btn-secondary-spinner-color' | '--gog-btn-shadow' | '--gog-btn-slg-font-size' | '--gog-btn-slg-padding' | '--gog-btn-sm-font-size' | '--gog-btn-sm-padding' | '--gog-btn-spinner-color' | '--gog-btn-spinner-max-size' | '--gog-btn-text-transform' | '--gog-btn-transition-duration' | '--gog-btn-xsm-font-size' | '--gog-btn-xsm-padding' | '--gog-button-toggle-bg' | '--gog-button-toggle-border-color' | '--gog-button-toggle-border-style' | '--gog-button-toggle-border-width' | '--gog-button-toggle-color' | '--gog-button-toggle-disabled-opacity' | '--gog-button-toggle-focus-ring-color' | '--gog-button-toggle-focus-ring-offset' | '--gog-button-toggle-focus-ring-width' | '--gog-button-toggle-font-family' | '--gog-button-toggle-font-size' | '--gog-button-toggle-font-weight' | '--gog-button-toggle-gap' | '--gog-button-toggle-hover-bg' | '--gog-button-toggle-hover-color' | '--gog-button-toggle-icon-size' | '--gog-button-toggle-letter-spacing' | '--gog-button-toggle-line-height' | '--gog-button-toggle-padding' | '--gog-button-toggle-radius' | '--gog-button-toggle-rest-bg' | '--gog-button-toggle-rest-color' | '--gog-button-toggle-selected-bg' | '--gog-button-toggle-selected-border-color' | '--gog-button-toggle-selected-color' | '--gog-button-toggle-separated-gap' | '--gog-button-toggle-text-transform' | '--gog-button-toggle-transition-duration' | '--gog-calendar-action-padding' | '--gog-calendar-color' | '--gog-calendar-day-bg' | '--gog-calendar-day-border-style' | '--gog-calendar-day-border-width' | '--gog-calendar-day-color' | '--gog-calendar-day-hover-bg' | '--gog-calendar-day-outside-color' | '--gog-calendar-day-radius' | '--gog-calendar-day-rest-bg' | '--gog-calendar-day-rest-color' | '--gog-calendar-day-size' | '--gog-calendar-disabled-opacity' | '--gog-calendar-divider-color' | '--gog-calendar-divider-style' | '--gog-calendar-divider-width' | '--gog-calendar-focus-ring-color' | '--gog-calendar-focus-ring-offset' | '--gog-calendar-focus-ring-width' | '--gog-calendar-font-family' | '--gog-calendar-footer-gap' | '--gog-calendar-header-gap' | '--gog-calendar-header-margin' | '--gog-calendar-lg-day-size' | '--gog-calendar-lg-font-size' | '--gog-calendar-md-day-size' | '--gog-calendar-md-font-size' | '--gog-calendar-months-gap' | '--gog-calendar-nav-bg' | '--gog-calendar-nav-color' | '--gog-calendar-nav-hover-bg' | '--gog-calendar-nav-hover-color' | '--gog-calendar-nav-icon-overlap' | '--gog-calendar-nav-icon-size' | '--gog-calendar-nav-radius' | '--gog-calendar-nav-size' | '--gog-calendar-padding' | '--gog-calendar-range-bg' | '--gog-calendar-range-color' | '--gog-calendar-selected-bg' | '--gog-calendar-selected-color' | '--gog-calendar-selected-font-weight' | '--gog-calendar-slg-day-size' | '--gog-calendar-slg-font-size' | '--gog-calendar-sm-day-size' | '--gog-calendar-sm-font-size' | '--gog-calendar-time-gap' | '--gog-calendar-time-input-bg' | '--gog-calendar-time-input-padding' | '--gog-calendar-time-input-width' | '--gog-calendar-time-margin' | '--gog-calendar-title-color' | '--gog-calendar-title-font-weight' | '--gog-calendar-today-border-color' | '--gog-calendar-today-font-weight' | '--gog-calendar-transition-duration' | '--gog-calendar-weekday-color' | '--gog-calendar-weekday-font-size' | '--gog-calendar-weekday-font-weight' | '--gog-calendar-weekday-padding' | '--gog-calendar-weekday-text-transform' | '--gog-calendar-xsm-day-size' | '--gog-calendar-xsm-font-size' | '--gog-checkbox-bg' | '--gog-checkbox-border-color' | '--gog-checkbox-border-style' | '--gog-checkbox-border-width' | '--gog-checkbox-box-size' | '--gog-checkbox-checked-bg' | '--gog-checkbox-checked-border' | '--gog-checkbox-dash-height' | '--gog-checkbox-dash-radius' | '--gog-checkbox-dash-width-ratio' | '--gog-checkbox-disabled-opacity' | '--gog-checkbox-focus-ring' | '--gog-checkbox-focus-ring-offset' | '--gog-checkbox-focus-ring-width' | '--gog-checkbox-font-family' | '--gog-checkbox-gap' | '--gog-checkbox-icon-color' | '--gog-checkbox-icon-size' | '--gog-checkbox-label-color' | '--gog-checkbox-label-line-height' | '--gog-checkbox-label-size' | '--gog-checkbox-padding' | '--gog-checkbox-radius' | '--gog-checkbox-transition-duration' | '--gog-chip-avatar-inset-ratio' | '--gog-chip-avatar-size' | '--gog-chip-bg' | '--gog-chip-border' | '--gog-chip-border-style' | '--gog-chip-border-width' | '--gog-chip-color' | '--gog-chip-disabled-opacity' | '--gog-chip-focus-ring-offset' | '--gog-chip-focus-ring-width' | '--gog-chip-font-family' | '--gog-chip-font-size' | '--gog-chip-font-weight' | '--gog-chip-gap' | '--gog-chip-hover-bg' | '--gog-chip-icon-size' | '--gog-chip-lg-avatar-size' | '--gog-chip-lg-font-size' | '--gog-chip-lg-gap' | '--gog-chip-lg-icon-size' | '--gog-chip-lg-padding-block' | '--gog-chip-lg-padding-inline' | '--gog-chip-lg-remove-size' | '--gog-chip-line-height' | '--gog-chip-md-avatar-size' | '--gog-chip-md-font-size' | '--gog-chip-md-gap' | '--gog-chip-md-icon-size' | '--gog-chip-md-padding-block' | '--gog-chip-md-padding-inline' | '--gog-chip-md-remove-size' | '--gog-chip-padding-block' | '--gog-chip-padding-inline' | '--gog-chip-pill-radius' | '--gog-chip-radius' | '--gog-chip-remove-color' | '--gog-chip-remove-hover-color' | '--gog-chip-remove-inset-ratio' | '--gog-chip-remove-scale' | '--gog-chip-remove-size' | '--gog-chip-slg-avatar-size' | '--gog-chip-slg-font-size' | '--gog-chip-slg-gap' | '--gog-chip-slg-icon-size' | '--gog-chip-slg-padding-block' | '--gog-chip-slg-padding-inline' | '--gog-chip-slg-remove-size' | '--gog-chip-sm-avatar-size' | '--gog-chip-sm-font-size' | '--gog-chip-sm-gap' | '--gog-chip-sm-icon-size' | '--gog-chip-sm-padding-block' | '--gog-chip-sm-padding-inline' | '--gog-chip-sm-remove-size' | '--gog-chip-xsm-avatar-size' | '--gog-chip-xsm-font-size' | '--gog-chip-xsm-gap' | '--gog-chip-xsm-icon-size' | '--gog-chip-xsm-padding-block' | '--gog-chip-xsm-padding-inline' | '--gog-chip-xsm-remove-size' | '--gog-collapsible-disabled-opacity' | '--gog-collapsible-max-height' | '--gog-collapsible-transition-duration' | '--gog-confirm-actions-gap' | '--gog-confirm-actions-offset' | '--gog-confirm-color' | '--gog-confirm-description-color' | '--gog-confirm-gap' | '--gog-confirm-max-width' | '--gog-confirm-min-width' | '--gog-control-border-style' | '--gog-control-border-width' | '--gog-control-checkbox-box-size-lg' | '--gog-control-checkbox-box-size-md' | '--gog-control-checkbox-box-size-slg' | '--gog-control-checkbox-box-size-sm' | '--gog-control-checkbox-box-size-xsm' | '--gog-control-checkbox-icon-size-lg' | '--gog-control-checkbox-icon-size-md' | '--gog-control-checkbox-icon-size-slg' | '--gog-control-checkbox-icon-size-sm' | '--gog-control-checkbox-icon-size-xsm' | '--gog-control-checkbox-label-size-lg' | '--gog-control-checkbox-label-size-md' | '--gog-control-checkbox-label-size-slg' | '--gog-control-checkbox-label-size-sm' | '--gog-control-checkbox-label-size-xsm' | '--gog-control-checkbox-padding' | '--gog-control-icon-offset' | '--gog-control-padding-x' | '--gog-control-padding-y' | '--gog-danger-color' | '--gog-datepicker-actions-gap' | '--gog-datepicker-actions-inset' | '--gog-datepicker-actions-reserve' | '--gog-datepicker-bg' | '--gog-datepicker-border-color' | '--gog-datepicker-border-style' | '--gog-datepicker-border-width' | '--gog-datepicker-clear-color' | '--gog-datepicker-clear-icon-ratio' | '--gog-datepicker-color' | '--gog-datepicker-disabled-opacity' | '--gog-datepicker-error-border-color' | '--gog-datepicker-error-color' | '--gog-datepicker-error-font-family' | '--gog-datepicker-error-font-size' | '--gog-datepicker-field-bg' | '--gog-datepicker-float-label-in-top' | '--gog-datepicker-float-label-on-bg' | '--gog-datepicker-float-label-over-gap' | '--gog-datepicker-float-label-over-reserve' | '--gog-datepicker-float-label-reserve' | '--gog-datepicker-focus-ring-color' | '--gog-datepicker-focus-ring-offset' | '--gog-datepicker-focus-ring-width' | '--gog-datepicker-font-family' | '--gog-datepicker-font-size' | '--gog-datepicker-gap' | '--gog-datepicker-hover-border-color' | '--gog-datepicker-icon-color' | '--gog-datepicker-icon-hover-color' | '--gog-datepicker-label-color' | '--gog-datepicker-label-font-family' | '--gog-datepicker-label-font-size' | '--gog-datepicker-label-letter-spacing' | '--gog-datepicker-label-text-transform' | '--gog-datepicker-line-height' | '--gog-datepicker-min-width' | '--gog-datepicker-padding-x' | '--gog-datepicker-padding-y' | '--gog-datepicker-panel-bg' | '--gog-datepicker-panel-border-color' | '--gog-datepicker-panel-border-style' | '--gog-datepicker-panel-border-width' | '--gog-datepicker-panel-gap' | '--gog-datepicker-panel-radius' | '--gog-datepicker-panel-shadow' | '--gog-datepicker-placeholder-color' | '--gog-datepicker-radius' | '--gog-datepicker-text-color' | '--gog-datepicker-toggle-icon-size' | '--gog-datepicker-transition-duration' | '--gog-dialog-backdrop-bg' | '--gog-dialog-backdrop-blur' | '--gog-dialog-backdrop-fade-duration' | '--gog-dialog-backdrop-padding' | '--gog-dialog-bg' | '--gog-dialog-body-max-height' | '--gog-dialog-body-padding' | '--gog-dialog-border' | '--gog-dialog-border-style' | '--gog-dialog-border-width' | '--gog-dialog-close-color' | '--gog-dialog-close-focus-ring' | '--gog-dialog-close-focus-ring-offset' | '--gog-dialog-close-focus-ring-width' | '--gog-dialog-close-font-size' | '--gog-dialog-close-hover-bg' | '--gog-dialog-close-hover-border' | '--gog-dialog-close-hover-color' | '--gog-dialog-close-size' | '--gog-dialog-color' | '--gog-dialog-enter-distance' | '--gog-dialog-enter-duration' | '--gog-dialog-font-family' | '--gog-dialog-header-border-color' | '--gog-dialog-header-gap' | '--gog-dialog-header-padding' | '--gog-dialog-max-height' | '--gog-dialog-min-width' | '--gog-dialog-offset-x' | '--gog-dialog-offset-y' | '--gog-dialog-radius' | '--gog-dialog-shadow' | '--gog-disabled-opacity' | '--gog-divider-block-spacing' | '--gog-divider-color' | '--gog-divider-dashed-style' | '--gog-divider-dotted-style' | '--gog-divider-inline-spacing' | '--gog-divider-inset-size' | '--gog-divider-label-color' | '--gog-divider-label-font-family' | '--gog-divider-label-font-size' | '--gog-divider-label-font-weight' | '--gog-divider-label-gap' | '--gog-divider-label-line-height' | '--gog-divider-line-color' | '--gog-divider-line-thickness' | '--gog-divider-solid-style' | '--gog-divider-spacing' | '--gog-divider-thickness' | '--gog-divider-vertical-length' | '--gog-dropdown-z' | '--gog-duration-base' | '--gog-duration-fast' | '--gog-duration-slow' | '--gog-easing' | '--gog-field-float-label-in-top' | '--gog-field-float-label-over-gap' | '--gog-field-float-label-over-reserve' | '--gog-field-float-label-reserve' | '--gog-field-lg-font-size' | '--gog-field-lg-icon-inset' | '--gog-field-lg-icon-offset' | '--gog-field-lg-padding-x' | '--gog-field-lg-padding-y' | '--gog-field-md-font-size' | '--gog-field-md-icon-inset' | '--gog-field-md-icon-offset' | '--gog-field-md-padding-x' | '--gog-field-md-padding-y' | '--gog-field-slg-font-size' | '--gog-field-slg-icon-inset' | '--gog-field-slg-icon-offset' | '--gog-field-slg-padding-x' | '--gog-field-slg-padding-y' | '--gog-field-sm-font-size' | '--gog-field-sm-icon-inset' | '--gog-field-sm-icon-offset' | '--gog-field-sm-padding-x' | '--gog-field-sm-padding-y' | '--gog-field-xsm-font-size' | '--gog-field-xsm-icon-inset' | '--gog-field-xsm-icon-offset' | '--gog-field-xsm-padding-x' | '--gog-field-xsm-padding-y' | '--gog-focus-ring-offset' | '--gog-focus-ring-width' | '--gog-font-body' | '--gog-font-heading' | '--gog-font-mono' | '--gog-hover-color' | '--gog-icon-fallback-size' | '--gog-icon-size' | '--gog-icon-stroke-width' | '--gog-info-color' | '--gog-input-clear-icon-ratio' | '--gog-input-clear-inset' | '--gog-input-clear-radius' | '--gog-input-disabled-opacity' | '--gog-input-error-color' | '--gog-input-error-font-size' | '--gog-input-error-offset' | '--gog-input-field-bg' | '--gog-input-field-border' | '--gog-input-field-border-style' | '--gog-input-field-border-width' | '--gog-input-field-color' | '--gog-input-float-label-in-top' | '--gog-input-float-label-on-bg' | '--gog-input-float-label-over-gap' | '--gog-input-float-label-over-reserve' | '--gog-input-float-label-reserve' | '--gog-input-focus-border' | '--gog-input-focus-glow' | '--gog-input-focus-ring' | '--gog-input-focus-ring-offset' | '--gog-input-focus-ring-width' | '--gog-input-font' | '--gog-input-font-family' | '--gog-input-gap' | '--gog-input-icon-action-radius' | '--gog-input-icon-color' | '--gog-input-icon-focus-ring-width' | '--gog-input-icon-hover-color' | '--gog-input-label-color' | '--gog-input-label-font-family' | '--gog-input-label-font-size' | '--gog-input-label-letter-spacing' | '--gog-input-label-text-transform' | '--gog-input-padding-x' | '--gog-input-padding-y' | '--gog-input-placeholder-color' | '--gog-input-radius' | '--gog-input-spin-hover-bg' | '--gog-input-spin-width' | '--gog-input-transition-duration' | '--gog-ms-actions-gap' | '--gog-ms-actions-inset' | '--gog-ms-arrow-icon-ratio' | '--gog-ms-arrow-transition-duration' | '--gog-ms-border-color' | '--gog-ms-checkbox-bg' | '--gog-ms-checkbox-border' | '--gog-ms-checkbox-checked-bg' | '--gog-ms-checkbox-checked-color' | '--gog-ms-clear-icon-ratio' | '--gog-ms-clear-radius' | '--gog-ms-controls-gap' | '--gog-ms-controls-padding' | '--gog-ms-disabled-opacity' | '--gog-ms-error-color' | '--gog-ms-error-font-size' | '--gog-ms-error-offset' | '--gog-ms-field-bg' | '--gog-ms-field-border' | '--gog-ms-field-border-style' | '--gog-ms-field-border-width' | '--gog-ms-field-color' | '--gog-ms-filter-border-color' | '--gog-ms-filter-border-style' | '--gog-ms-filter-border-width' | '--gog-ms-filter-empty-color' | '--gog-ms-filter-empty-padding' | '--gog-ms-filter-input-bg' | '--gog-ms-filter-input-border' | '--gog-ms-filter-input-color' | '--gog-ms-filter-input-padding-x' | '--gog-ms-filter-input-padding-y' | '--gog-ms-filter-input-radius' | '--gog-ms-filter-padding' | '--gog-ms-float-label-in-top' | '--gog-ms-float-label-over-gap' | '--gog-ms-float-label-over-reserve' | '--gog-ms-float-label-reserve' | '--gog-ms-focus-border' | '--gog-ms-focus-glow' | '--gog-ms-focus-ring' | '--gog-ms-focus-ring-offset' | '--gog-ms-focus-ring-width' | '--gog-ms-font-family' | '--gog-ms-gap' | '--gog-ms-label-color' | '--gog-ms-label-font-family' | '--gog-ms-label-font-size' | '--gog-ms-label-letter-spacing' | '--gog-ms-label-text-transform' | '--gog-ms-mark-icon-ratio' | '--gog-ms-mark-size-ratio' | '--gog-ms-min-width' | '--gog-ms-option-color' | '--gog-ms-option-disabled-opacity' | '--gog-ms-option-gap' | '--gog-ms-option-gap-inline' | '--gog-ms-option-height' | '--gog-ms-option-hover-bg' | '--gog-ms-option-radius' | '--gog-ms-option-transition-duration' | '--gog-ms-options-padding' | '--gog-ms-overflow-color' | '--gog-ms-overflow-font-size' | '--gog-ms-overflow-gap' | '--gog-ms-panel-bg' | '--gog-ms-panel-border' | '--gog-ms-panel-max-height' | '--gog-ms-panel-max-width' | '--gog-ms-panel-offset' | '--gog-ms-panel-shadow' | '--gog-ms-placeholder-color' | '--gog-ms-radius' | '--gog-ms-transition-duration' | '--gog-ms-value-color' | '--gog-multiselect-actions-gap' | '--gog-multiselect-actions-inset' | '--gog-multiselect-arrow-icon-ratio' | '--gog-multiselect-arrow-transition-duration' | '--gog-multiselect-border-color' | '--gog-multiselect-checkbox-bg' | '--gog-multiselect-checkbox-border' | '--gog-multiselect-checkbox-checked-bg' | '--gog-multiselect-checkbox-checked-color' | '--gog-multiselect-clear-icon-ratio' | '--gog-multiselect-clear-radius' | '--gog-multiselect-controls-gap' | '--gog-multiselect-controls-padding' | '--gog-multiselect-disabled-opacity' | '--gog-multiselect-error-color' | '--gog-multiselect-error-font-size' | '--gog-multiselect-error-offset' | '--gog-multiselect-field-bg' | '--gog-multiselect-field-border' | '--gog-multiselect-field-border-style' | '--gog-multiselect-field-border-width' | '--gog-multiselect-field-color' | '--gog-multiselect-filter-border-color' | '--gog-multiselect-filter-border-style' | '--gog-multiselect-filter-border-width' | '--gog-multiselect-filter-empty-color' | '--gog-multiselect-filter-empty-padding' | '--gog-multiselect-filter-input-bg' | '--gog-multiselect-filter-input-border' | '--gog-multiselect-filter-input-color' | '--gog-multiselect-filter-input-padding-x' | '--gog-multiselect-filter-input-padding-y' | '--gog-multiselect-filter-input-radius' | '--gog-multiselect-filter-padding' | '--gog-multiselect-float-label-in-top' | '--gog-multiselect-float-label-on-bg' | '--gog-multiselect-float-label-over-gap' | '--gog-multiselect-float-label-over-reserve' | '--gog-multiselect-float-label-reserve' | '--gog-multiselect-focus-border' | '--gog-multiselect-focus-glow' | '--gog-multiselect-focus-ring' | '--gog-multiselect-focus-ring-offset' | '--gog-multiselect-focus-ring-width' | '--gog-multiselect-font-family' | '--gog-multiselect-font-size' | '--gog-multiselect-gap' | '--gog-multiselect-label-color' | '--gog-multiselect-label-font-family' | '--gog-multiselect-label-font-size' | '--gog-multiselect-label-letter-spacing' | '--gog-multiselect-label-text-transform' | '--gog-multiselect-mark-icon-ratio' | '--gog-multiselect-mark-size-ratio' | '--gog-multiselect-min-width' | '--gog-multiselect-option-color' | '--gog-multiselect-option-disabled-opacity' | '--gog-multiselect-option-gap' | '--gog-multiselect-option-gap-inline' | '--gog-multiselect-option-height' | '--gog-multiselect-option-hover-bg' | '--gog-multiselect-option-radius' | '--gog-multiselect-option-transition-duration' | '--gog-multiselect-options-padding' | '--gog-multiselect-overflow-color' | '--gog-multiselect-overflow-font-size' | '--gog-multiselect-overflow-gap' | '--gog-multiselect-padding-x' | '--gog-multiselect-padding-y' | '--gog-multiselect-panel-bg' | '--gog-multiselect-panel-border' | '--gog-multiselect-panel-max-height' | '--gog-multiselect-panel-max-width' | '--gog-multiselect-panel-offset' | '--gog-multiselect-panel-shadow' | '--gog-multiselect-placeholder-color' | '--gog-multiselect-radius' | '--gog-multiselect-transition-duration' | '--gog-multiselect-value-color' | '--gog-muted-text-color' | '--gog-paginator-ellipsis-color' | '--gog-paginator-ellipsis-font-family' | '--gog-paginator-ellipsis-font-size' | '--gog-paginator-ellipsis-min-width' | '--gog-paginator-gap' | '--gog-paginator-page-size-min-width' | '--gog-panel-border-style' | '--gog-panel-border-width' | '--gog-panel-radius' | '--gog-panel-shadow' | '--gog-primary-color' | '--gog-progressbar-accent-bg' | '--gog-progressbar-accent-buffer-bg' | '--gog-progressbar-buffer-bg' | '--gog-progressbar-danger-bg' | '--gog-progressbar-danger-buffer-bg' | '--gog-progressbar-fill-bg' | '--gog-progressbar-height' | '--gog-progressbar-indeterminate-duration' | '--gog-progressbar-indeterminate-easing' | '--gog-progressbar-info-bg' | '--gog-progressbar-info-buffer-bg' | '--gog-progressbar-lg-height' | '--gog-progressbar-md-height' | '--gog-progressbar-radius' | '--gog-progressbar-slg-height' | '--gog-progressbar-sm-height' | '--gog-progressbar-stripe-color' | '--gog-progressbar-stripe-size' | '--gog-progressbar-success-bg' | '--gog-progressbar-success-buffer-bg' | '--gog-progressbar-track-base-bg' | '--gog-progressbar-track-bg' | '--gog-progressbar-transition-duration' | '--gog-progressbar-value-color' | '--gog-progressbar-value-font-family' | '--gog-progressbar-value-font-size' | '--gog-progressbar-value-gap' | '--gog-progressbar-value-min-width' | '--gog-progressbar-warning-bg' | '--gog-progressbar-warning-buffer-bg' | '--gog-progressbar-xsm-height' | '--gog-radio-bg' | '--gog-radio-border-color' | '--gog-radio-border-style' | '--gog-radio-border-width' | '--gog-radio-box-size' | '--gog-radio-checked-bg' | '--gog-radio-checked-border' | '--gog-radio-disabled-opacity' | '--gog-radio-dot-color' | '--gog-radio-dot-size-ratio' | '--gog-radio-error-color' | '--gog-radio-error-font-size' | '--gog-radio-focus-ring' | '--gog-radio-focus-ring-offset' | '--gog-radio-focus-ring-width' | '--gog-radio-font-family' | '--gog-radio-gap' | '--gog-radio-group-gap' | '--gog-radio-group-label-color' | '--gog-radio-group-label-size' | '--gog-radio-group-option-gap' | '--gog-radio-group-option-gap-horizontal' | '--gog-radio-label-color' | '--gog-radio-label-line-height' | '--gog-radio-label-size' | '--gog-radio-padding' | '--gog-radio-transition-duration' | '--gog-radius' | '--gog-scroll-corner-bg' | '--gog-scroll-fade-duration' | '--gog-scroll-focus-ring' | '--gog-scroll-focus-ring-width' | '--gog-scroll-normal-thumb-hit-padding' | '--gog-scroll-normal-thumb-min-size' | '--gog-scroll-normal-track-width' | '--gog-scroll-thin-thumb-hit-padding' | '--gog-scroll-thin-thumb-min-size' | '--gog-scroll-thin-track-width' | '--gog-scroll-thumb-active-bg' | '--gog-scroll-thumb-bg' | '--gog-scroll-thumb-hover-bg' | '--gog-scroll-thumb-inset' | '--gog-scroll-thumb-radius' | '--gog-scroll-track-bg' | '--gog-scroll-track-radius' | '--gog-secondary-color' | '--gog-select-chevron-color' | '--gog-select-chevron-icon-ratio' | '--gog-select-chevron-inset' | '--gog-select-clear-color' | '--gog-select-clear-gap' | '--gog-select-clear-hover-color' | '--gog-select-clear-icon-ratio' | '--gog-select-clear-radius' | '--gog-select-control-font' | '--gog-select-control-gap' | '--gog-select-control-padding-x' | '--gog-select-control-padding-y' | '--gog-select-disabled-opacity' | '--gog-select-error-color' | '--gog-select-error-font-size' | '--gog-select-field-bg' | '--gog-select-field-border' | '--gog-select-field-border-style' | '--gog-select-field-border-width' | '--gog-select-field-color' | '--gog-select-filter-border-color' | '--gog-select-filter-border-style' | '--gog-select-filter-border-width' | '--gog-select-filter-empty-color' | '--gog-select-filter-empty-padding' | '--gog-select-filter-input-bg' | '--gog-select-filter-input-border' | '--gog-select-filter-input-color' | '--gog-select-filter-input-padding-x' | '--gog-select-filter-input-padding-y' | '--gog-select-filter-input-radius' | '--gog-select-filter-padding' | '--gog-select-float-label-in-top' | '--gog-select-float-label-on-bg' | '--gog-select-float-label-over-gap' | '--gog-select-float-label-over-reserve' | '--gog-select-float-label-reserve' | '--gog-select-focus-border' | '--gog-select-focus-glow' | '--gog-select-focus-ring' | '--gog-select-focus-ring-offset' | '--gog-select-focus-ring-width' | '--gog-select-font-family' | '--gog-select-gap' | '--gog-select-label-color' | '--gog-select-label-font-family' | '--gog-select-label-font-size' | '--gog-select-label-letter-spacing' | '--gog-select-label-text-transform' | '--gog-select-mark-icon-ratio' | '--gog-select-mark-size-ratio' | '--gog-select-min-width' | '--gog-select-option-color' | '--gog-select-option-disabled-opacity' | '--gog-select-option-gap' | '--gog-select-option-height' | '--gog-select-option-hover-bg' | '--gog-select-option-selected-color' | '--gog-select-option-transition-duration' | '--gog-select-panel-bg' | '--gog-select-panel-max-height' | '--gog-select-panel-max-width' | '--gog-select-panel-offset' | '--gog-select-panel-shadow' | '--gog-select-placeholder-color' | '--gog-select-radius' | '--gog-select-transition-duration' | '--gog-skeleton-base' | '--gog-skeleton-circle-size-lg' | '--gog-skeleton-circle-size-md' | '--gog-skeleton-circle-size-slg' | '--gog-skeleton-circle-size-sm' | '--gog-skeleton-circle-size-xsm' | '--gog-skeleton-line-gap' | '--gog-skeleton-line-height-lg' | '--gog-skeleton-line-height-md' | '--gog-skeleton-line-height-slg' | '--gog-skeleton-line-height-sm' | '--gog-skeleton-line-height-xsm' | '--gog-skeleton-line-radius' | '--gog-skeleton-pulse-duration' | '--gog-skeleton-pulse-min-opacity' | '--gog-skeleton-radius' | '--gog-skeleton-rect-height-lg' | '--gog-skeleton-rect-height-md' | '--gog-skeleton-rect-height-slg' | '--gog-skeleton-rect-height-sm' | '--gog-skeleton-rect-height-xsm' | '--gog-skeleton-shine' | '--gog-skeleton-short-line-width' | '--gog-skeleton-square-radius' | '--gog-skeleton-wave-duration' | '--gog-slider-auto-width' | '--gog-slider-disabled-opacity' | '--gog-slider-error-color' | '--gog-slider-error-font-family' | '--gog-slider-error-font-size' | '--gog-slider-fill-bg' | '--gog-slider-focus-ring' | '--gog-slider-focus-ring-width' | '--gog-slider-gap' | '--gog-slider-label-color' | '--gog-slider-label-font-family' | '--gog-slider-label-font-size' | '--gog-slider-label-letter-spacing' | '--gog-slider-label-text-transform' | '--gog-slider-range-color' | '--gog-slider-range-font-size' | '--gog-slider-thumb-bg' | '--gog-slider-thumb-border' | '--gog-slider-thumb-border-width' | '--gog-slider-thumb-glow-size' | '--gog-slider-thumb-radius' | '--gog-slider-thumb-shadow' | '--gog-slider-thumb-size' | '--gog-slider-track-area-height' | '--gog-slider-track-bg' | '--gog-slider-track-border-color' | '--gog-slider-track-border-style' | '--gog-slider-track-border-width' | '--gog-slider-track-height' | '--gog-slider-track-radius' | '--gog-slider-value-color' | '--gog-slider-value-font-family' | '--gog-slider-value-font-size' | '--gog-slider-value-min-width' | '--gog-slider-vertical-length' | '--gog-space-2xl' | '--gog-space-lg' | '--gog-space-md' | '--gog-space-sm' | '--gog-space-xs' | '--gog-spinner-arc-inner-color' | '--gog-spinner-arc-inner-dash' | '--gog-spinner-arc-inner-glow' | '--gog-spinner-arc-inner-opacity' | '--gog-spinner-arc-inner-pulse-opacity' | '--gog-spinner-arc-inner-stroke-compact' | '--gog-spinner-arc-outer-color' | '--gog-spinner-arc-outer-dash' | '--gog-spinner-arc-outer-glow' | '--gog-spinner-arc-outer-pulse-opacity' | '--gog-spinner-diamond-color' | '--gog-spinner-diamond-glow' | '--gog-spinner-diamond-opacity' | '--gog-spinner-glow-color' | '--gog-spinner-overlay-bg' | '--gog-spinner-overlay-blur' | '--gog-spinner-overlay-fade-duration' | '--gog-spinner-overlay-z' | '--gog-spinner-pulse-duration' | '--gog-spinner-ring-duration' | '--gog-spinner-ring-glow' | '--gog-spinner-ring-padding' | '--gog-spinner-rune-color' | '--gog-spinner-rune-font-family' | '--gog-spinner-rune-glow' | '--gog-spinner-rune-pulse-opacity' | '--gog-spinner-rune-size' | '--gog-spinner-size-lg' | '--gog-spinner-size-md' | '--gog-spinner-size-slg' | '--gog-spinner-size-sm' | '--gog-spinner-size-xsm' | '--gog-spinner-spin-duration' | '--gog-spinner-spin-slow-duration' | '--gog-spinner-ticks-duration' | '--gog-spinner-track-color' | '--gog-spinner-track-opacity' | '--gog-success-color' | '--gog-surface-color' | '--gog-table-accent-bright' | '--gog-table-accent-color' | '--gog-table-border-color' | '--gog-table-border-style' | '--gog-table-border-width' | '--gog-table-empty-font-size' | '--gog-table-empty-padding' | '--gog-table-focus-ring' | '--gog-table-focus-ring-width' | '--gog-table-font-family' | '--gog-table-footer-gap' | '--gog-table-footer-min-height' | '--gog-table-gap' | '--gog-table-header-font-family' | '--gog-table-header-letter-spacing' | '--gog-table-header-text-transform' | '--gog-table-hover-bg' | '--gog-table-lg-padding-v' | '--gog-table-lg-td-font-size' | '--gog-table-lg-th-font-size' | '--gog-table-loading-opacity' | '--gog-table-loading-padding' | '--gog-table-md-padding-v' | '--gog-table-md-td-font-size' | '--gog-table-md-th-font-size' | '--gog-table-muted-color' | '--gog-table-num-col-width' | '--gog-table-num-font-size' | '--gog-table-numeric-font-family' | '--gog-table-padding-h' | '--gog-table-row-border-width' | '--gog-table-row-transition-duration' | '--gog-table-select-col-width' | '--gog-table-selected-bg' | '--gog-table-slg-padding-v' | '--gog-table-slg-td-font-size' | '--gog-table-slg-th-font-size' | '--gog-table-sm-padding-v' | '--gog-table-sm-td-font-size' | '--gog-table-sm-th-font-size' | '--gog-table-sort-icon-opacity' | '--gog-table-sort-icon-size' | '--gog-table-sort-icon-width' | '--gog-table-surface' | '--gog-table-td-font-size' | '--gog-table-td-padding-v' | '--gog-table-text-color' | '--gog-table-th-font-size' | '--gog-table-th-inner-gap' | '--gog-table-th-padding-v' | '--gog-table-total-font-size' | '--gog-table-total-letter-spacing' | '--gog-table-total-text-transform' | '--gog-table-xsm-padding-v' | '--gog-table-xsm-td-font-size' | '--gog-table-xsm-th-font-size' | '--gog-tabs-active-color' | '--gog-tabs-disabled-opacity' | '--gog-tabs-focus-ring-color' | '--gog-tabs-focus-ring-offset' | '--gog-tabs-focus-ring-width' | '--gog-tabs-font-family' | '--gog-tabs-font-weight' | '--gog-tabs-gap' | '--gog-tabs-header-border-color' | '--gog-tabs-header-border-style' | '--gog-tabs-header-border-width' | '--gog-tabs-hover-color' | '--gog-tabs-icon-size' | '--gog-tabs-indicator-color' | '--gog-tabs-indicator-radius' | '--gog-tabs-indicator-thickness' | '--gog-tabs-letter-spacing' | '--gog-tabs-lg-font-size' | '--gog-tabs-lg-padding' | '--gog-tabs-line-height' | '--gog-tabs-md-font-size' | '--gog-tabs-md-padding' | '--gog-tabs-panel-color' | '--gog-tabs-panel-padding' | '--gog-tabs-rest-bg' | '--gog-tabs-rest-color' | '--gog-tabs-slg-font-size' | '--gog-tabs-slg-padding' | '--gog-tabs-sm-font-size' | '--gog-tabs-sm-padding' | '--gog-tabs-tab-bg' | '--gog-tabs-tab-color' | '--gog-tabs-tab-font-size' | '--gog-tabs-tab-gap' | '--gog-tabs-tab-padding' | '--gog-tabs-text-transform' | '--gog-tabs-transition-duration' | '--gog-tabs-xsm-font-size' | '--gog-tabs-xsm-padding' | '--gog-tag-accent' | '--gog-tag-bg' | '--gog-tag-bg-base' | '--gog-tag-bg-mix' | '--gog-tag-border' | '--gog-tag-border-style' | '--gog-tag-border-width' | '--gog-tag-color' | '--gog-tag-color-base' | '--gog-tag-color-mix' | '--gog-tag-danger-color' | '--gog-tag-default-color' | '--gog-tag-font-family' | '--gog-tag-font-size' | '--gog-tag-font-weight' | '--gog-tag-gap' | '--gog-tag-icon-size' | '--gog-tag-info-color' | '--gog-tag-inner-border-width' | '--gog-tag-lg-font-size' | '--gog-tag-lg-gap' | '--gog-tag-lg-icon-size' | '--gog-tag-lg-padding-block' | '--gog-tag-lg-padding-inline' | '--gog-tag-line-height' | '--gog-tag-md-font-size' | '--gog-tag-md-gap' | '--gog-tag-md-icon-size' | '--gog-tag-md-padding-block' | '--gog-tag-md-padding-inline' | '--gog-tag-padding-block' | '--gog-tag-padding-inline' | '--gog-tag-pill-radius' | '--gog-tag-radius' | '--gog-tag-slg-font-size' | '--gog-tag-slg-gap' | '--gog-tag-slg-icon-size' | '--gog-tag-slg-padding-block' | '--gog-tag-slg-padding-inline' | '--gog-tag-sm-font-size' | '--gog-tag-sm-gap' | '--gog-tag-sm-icon-size' | '--gog-tag-sm-padding-block' | '--gog-tag-sm-padding-inline' | '--gog-tag-success-color' | '--gog-tag-warning-color' | '--gog-tag-xsm-font-size' | '--gog-tag-xsm-gap' | '--gog-tag-xsm-icon-size' | '--gog-tag-xsm-padding-block' | '--gog-tag-xsm-padding-inline' | '--gog-text-2xl' | '--gog-text-3xl' | '--gog-text-color' | '--gog-text-lg' | '--gog-text-md' | '--gog-text-sm' | '--gog-text-xl' | '--gog-text-xs' | '--gog-textarea-clear-icon-ratio' | '--gog-textarea-resize-grip-color' | '--gog-textarea-resize-grip-offset' | '--gog-textarea-resize-grip-opacity' | '--gog-textarea-resize-grip-size' | '--gog-textarea-resize-grip-stripe-gap' | '--gog-textarea-resize-grip-stripe-width' | '--gog-textarea-resize-inset-bottom' | '--gog-textarea-resize-inset-right' | '--gog-textarea-scrollbar-width' | '--gog-toast-accent-width' | '--gog-toast-action-font-size' | '--gog-toast-action-padding' | '--gog-toast-actions-gap' | '--gog-toast-base-z' | '--gog-toast-bg' | '--gog-toast-border' | '--gog-toast-close-font-size' | '--gog-toast-close-padding' | '--gog-toast-color' | '--gog-toast-content-gap' | '--gog-toast-enter-distance' | '--gog-toast-error-color' | '--gog-toast-font-family' | '--gog-toast-gap' | '--gog-toast-icon-color' | '--gog-toast-icon-line-height' | '--gog-toast-icon-size' | '--gog-toast-info-color' | '--gog-toast-main-gap' | '--gog-toast-max-width' | '--gog-toast-message-font-size' | '--gog-toast-message-line-height' | '--gog-toast-min-width' | '--gog-toast-padding' | '--gog-toast-progress-height' | '--gog-toast-progress-opacity' | '--gog-toast-radius' | '--gog-toast-shadow' | '--gog-toast-stack-expanded-gap' | '--gog-toast-stack-max-depth' | '--gog-toast-stack-min-opacity' | '--gog-toast-stack-opacity-step' | '--gog-toast-stack-padding' | '--gog-toast-stack-peek' | '--gog-toast-stack-scale-step' | '--gog-toast-success-color' | '--gog-toast-transition-duration' | '--gog-toast-warning-color' | '--gog-toast-z-index' | '--gog-toggle-border-color' | '--gog-toggle-border-style' | '--gog-toggle-border-width' | '--gog-toggle-disabled-opacity' | '--gog-toggle-focus-ring-color' | '--gog-toggle-focus-ring-offset' | '--gog-toggle-focus-ring-width' | '--gog-toggle-font-family' | '--gog-toggle-gap' | '--gog-toggle-label-color' | '--gog-toggle-label-line-height' | '--gog-toggle-lg-label-size' | '--gog-toggle-lg-state-font-size' | '--gog-toggle-lg-thumb-size' | '--gog-toggle-lg-track-height' | '--gog-toggle-lg-track-width' | '--gog-toggle-md-label-size' | '--gog-toggle-md-state-font-size' | '--gog-toggle-md-thumb-size' | '--gog-toggle-md-track-height' | '--gog-toggle-md-track-width' | '--gog-toggle-on-border-color' | '--gog-toggle-padding' | '--gog-toggle-radius' | '--gog-toggle-slg-label-size' | '--gog-toggle-slg-state-font-size' | '--gog-toggle-slg-thumb-size' | '--gog-toggle-slg-track-height' | '--gog-toggle-slg-track-width' | '--gog-toggle-sm-label-size' | '--gog-toggle-sm-state-font-size' | '--gog-toggle-sm-thumb-size' | '--gog-toggle-sm-track-height' | '--gog-toggle-sm-track-width' | '--gog-toggle-state-color' | '--gog-toggle-state-font-weight' | '--gog-toggle-state-letter-spacing' | '--gog-toggle-state-offset' | '--gog-toggle-state-padding-inline' | '--gog-toggle-state-thumb-gap' | '--gog-toggle-thumb-bg' | '--gog-toggle-thumb-inset' | '--gog-toggle-thumb-off-bg' | '--gog-toggle-thumb-on-bg' | '--gog-toggle-thumb-shadow' | '--gog-toggle-track-bg' | '--gog-toggle-track-off-bg' | '--gog-toggle-track-on-bg' | '--gog-toggle-transition-duration' | '--gog-toggle-xsm-label-size' | '--gog-toggle-xsm-state-font-size' | '--gog-toggle-xsm-thumb-size' | '--gog-toggle-xsm-track-height' | '--gog-toggle-xsm-track-width' | '--gog-tooltip-arrow-size' | '--gog-tooltip-bg' | '--gog-tooltip-border-color' | '--gog-tooltip-border-style' | '--gog-tooltip-border-width' | '--gog-tooltip-color' | '--gog-tooltip-font-family' | '--gog-tooltip-font-size' | '--gog-tooltip-gap' | '--gog-tooltip-line-height' | '--gog-tooltip-max-height' | '--gog-tooltip-max-width' | '--gog-tooltip-padding' | '--gog-tooltip-radius' | '--gog-tooltip-shadow' | '--gog-tooltip-transition-duration' | '--gog-tooltip-z' | '--gog-warning-color';
|
|
3393
4181
|
/** Which of the three layers a token belongs to — see the README's theming section. */
|
|
3394
4182
|
type GogTokenLayer = 'foundation' | 'component' | 'instance';
|
|
3395
4183
|
interface GogTokenGroup {
|
|
@@ -3406,5 +4194,54 @@ declare const GOG_TOKEN_GROUPS: readonly GogTokenGroup[];
|
|
|
3406
4194
|
|
|
3407
4195
|
type GogTooltipSide = 'top' | 'bottom' | 'left' | 'right';
|
|
3408
4196
|
|
|
3409
|
-
|
|
3410
|
-
|
|
4197
|
+
/**
|
|
4198
|
+
* Icons an app has registered, keyed by the name `gog-icon` will be asked for. Resolves to `{}`
|
|
4199
|
+
* — only the built-ins are available — until a `provideGogIcons(...)` call fills it in.
|
|
4200
|
+
*
|
|
4201
|
+
* Values are raw `<svg>` markup, injected with `bypassSecurityTrustHtml` exactly like the
|
|
4202
|
+
* built-ins. See `provideGogIcons` for what that means for you.
|
|
4203
|
+
*/
|
|
4204
|
+
declare const GOG_ICONS: InjectionToken<Readonly<Record<string, string>>>;
|
|
4205
|
+
/**
|
|
4206
|
+
* Registers icons by name, so `<gog-icon name="cart" />` works for glyphs the library does not
|
|
4207
|
+
* ship. This is the supported way to use your own icon set: the alternative — a `TemplateRef`
|
|
4208
|
+
* per instance through the `template` input — costs a `<ng-template>` at every use site and is
|
|
4209
|
+
* meant for one-offs, not for an icon set.
|
|
4210
|
+
*
|
|
4211
|
+
* ```ts
|
|
4212
|
+
* // app.config.ts
|
|
4213
|
+
* providers: [
|
|
4214
|
+
* provideGogIcons({
|
|
4215
|
+
* cart: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">…</svg>',
|
|
4216
|
+
* user: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor">…</svg>',
|
|
4217
|
+
* }),
|
|
4218
|
+
* ]
|
|
4219
|
+
* ```
|
|
4220
|
+
*
|
|
4221
|
+
* **A registered name overrides a built-in of the same name**, which is how you swap the
|
|
4222
|
+
* library's checkmark or chevron for your own without touching every component that renders one.
|
|
4223
|
+
*
|
|
4224
|
+
* **Providing this again further down the injector tree layers onto the parent's set** rather
|
|
4225
|
+
* than replacing it, matching `provideGogConfig`: a lazy feature can register the three icons
|
|
4226
|
+
* only it uses, and the app-wide set stays available inside it.
|
|
4227
|
+
*
|
|
4228
|
+
* ## What to put in the SVG
|
|
4229
|
+
*
|
|
4230
|
+
* Use `stroke="currentColor"` (or `fill="currentColor"`) and a `viewBox`, and leave the sizing
|
|
4231
|
+
* alone — `gog-icon`'s stylesheet drives width, height and stroke width from the
|
|
4232
|
+
* `--gog-icon-*` tokens, so an icon inherits size and colour from wherever it is used, the same
|
|
4233
|
+
* as a built-in.
|
|
4234
|
+
*
|
|
4235
|
+
* ## Security
|
|
4236
|
+
*
|
|
4237
|
+
* The markup is inserted with `DomSanitizer.bypassSecurityTrustHtml`, because Angular's HTML
|
|
4238
|
+
* sanitizer strips SVG and would leave you with nothing. That is safe for what this is for —
|
|
4239
|
+
* static icon markup you wrote or imported at build time — and unsafe for anything derived from
|
|
4240
|
+
* user input or fetched at runtime. **Never build a registered icon string from data you did
|
|
4241
|
+
* not author.** If you need remote icons, fetch them yourself, sanitize them with a real SVG
|
|
4242
|
+
* sanitizer, and register the result.
|
|
4243
|
+
*/
|
|
4244
|
+
declare function provideGogIcons(icons: Readonly<Record<string, string>>): Provider;
|
|
4245
|
+
|
|
4246
|
+
export { AccordionComponent, AutocompleteComponent, ButtonComponent, ButtonToggleGroupComponent, CalendarComponent, CheckboxComponent, ChipComponent, CollapsibleComponent, Column, ConfirmationDialogComponent, DIALOG_DATA, DIALOG_REF, DatepickerComponent, DialogComponent, DialogService, DividerComponent, GOG_CONFIG, GOG_ICONS, GOG_TABS_STATE, GOG_TOKEN_GROUPS, GogAccordionChevronDirective, GogAccordionContentDirective, GogAccordionHeaderDirective, GogBadgeDirective, GogButtonDirective, GogButtonToggleOptionDirective, GogCheckboxIconDirective, GogCollapsibleContentDirective, GogCollapsibleTriggerDirective, GogColumn, GogColumnBodyDirective, GogColumnHeaderDirective, GogDropdownBase, GogDropdownChevronDirective, GogDropdownOptionDirective, GogFloatLabelState, GogInputAddonEndDirective, GogInputAddonStartDirective, GogMultiselectClearIconDirective, GogTabContentDirective, GogTabHeaderDirective, GogTagIconDirective, GogTooltipDirective, ICON_DEFS, IconComponent, InputfieldComponent, MultiselectComponent, PaginatorComponent, ProgressbarComponent, RadioGroupComponent, ScrollComponent, SelectComponent, SkeletonComponent, SliderComponent, SpinnerComponent, SpinnerOverlayComponent, TabComponent, TableComponent, TabsComponent, TagComponent, TemplateDirective, TextareaComponent, ThemeService, ToastComponent, ToastContainerComponent, ToastService, ToggleComponent, addDays, addMonths, addYears, buildMonthGrid, clampDate, copyTimeOnto, daysInMonth, defaultCompare, formatDate, getByPath, isAfterDay, isBeforeDay, isInRange, isSameDay, isSameMonth, isSameOptionValue, isWithinBounds, localeFirstDayOfWeek, monthNames, parseDate, provideGogConfig, provideGogIcons, readOption, resolveConfigured, startOfDay, weekdayNames, withTime };
|
|
4247
|
+
export type { ConfirmDialogData, DialogConfig, DialogHandle, DialogRef, GogAccordionChevronContext, GogAccordionHeaderContext, GogAccordionItem, GogAccordionToggleEvent, GogBadgePosition, GogBuiltinIconName, GogButtonToggleAppearance, GogButtonToggleOptionContext, GogCalendarDay, GogColumnBodyContext, GogColumnHeaderContext, GogDateRange, GogDateSelectionMode, GogDatepickerValue, GogDividerVariant, GogDropdownDirection, GogDropdownFilterPosition, GogDropdownOption, GogDropdownOptionContext, GogFloatLabelVariant, GogGlobalConfig, GogHourFormat, GogIconName, GogInputMode, GogInputType, GogMultiselectOption, GogOptionAccessor, GogOrientation, GogPaginatorRangeMode, GogProgressbarMode, GogProgressbarVariant, GogRadioOption, GogScrollAxis, GogScrollMetrics, GogScrollOverscrollBehavior, GogScrollSize, GogSelectOption, GogSize, GogSkeletonAnimation, GogSkeletonShape, GogSliderOrientation, GogSliderRange, GogSpinnerVariant, GogTabHeaderContext, GogTableBodyContext, GogTableHeaderContext, GogTableRowClickEvent, GogTableSelectionMode, GogTableSortEvent, GogTabsAlign, GogTabsState, GogTagShape, GogTagVariant, GogTextareaResize, GogTokenGroup, GogTokenLayer, GogTokenName, GogTooltipPosition, GogTooltipSide, GogVariant, OpenDialog, SortDirection, Toast, ToastAction, ToastConfig, ToastPosition, ToastType };
|