@guildofgleks/ui 21.3.0 → 21.3.2

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.
@@ -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
  /**
@@ -85,6 +90,23 @@ type GogTabsAlign = 'start' | 'center' | 'end' | 'stretch';
85
90
  type GogDateSelectionMode = 'single' | 'range';
86
91
  /** Clock convention for `gog-datepicker`'s time section. */
87
92
  type GogHourFormat = '12' | '24';
93
+ /** Matches the native CSS `resize` value space, applied to `gog-textarea`'s field. */
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';
88
110
 
89
111
  declare class ButtonComponent {
90
112
  variant: _angular_core.InputSignal<GogVariant>;
@@ -92,7 +114,7 @@ declare class ButtonComponent {
92
114
  size: _angular_core.InputSignal<GogSize | undefined>;
93
115
  disabled: _angular_core.InputSignal<boolean>;
94
116
  fullWidth: _angular_core.InputSignal<boolean>;
95
- type: _angular_core.InputSignal<"button" | "submit" | "reset">;
117
+ type: _angular_core.InputSignal<"button" | "reset" | "submit">;
96
118
  loading: _angular_core.InputSignal<boolean>;
97
119
  /**
98
120
  * Minimum time, in ms, between accepted clicks. This is a spam/double-click
@@ -198,7 +220,7 @@ declare class AccordionComponent {
198
220
  * Left unset by default since not every accordion instance represents document structure
199
221
  * (e.g. one nested inside a card).
200
222
  */
201
- readonly headingLevel: _angular_core.InputSignal<2 | 3 | 4 | 5 | 6 | undefined>;
223
+ readonly headingLevel: _angular_core.InputSignal<2 | 3 | 6 | 4 | 5 | undefined>;
202
224
  /**
203
225
  * Two-way bindable set of currently open item ids. Exposed as a model so consumers
204
226
  * can drive the accordion externally (e.g. `[(openIds)]="mySet"`) instead of only
@@ -415,8 +437,13 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
415
437
  * `GOG_CONFIG.control.clearable`, then to the control's own default.
416
438
  */
417
439
  readonly clearable: _angular_core.InputSignal<boolean | undefined>;
418
- /** Accessible name for the clear button. */
419
- readonly clearAriaLabel: _angular_core.InputSignal<string>;
440
+ /**
441
+ * Accessible name for the clear button. Unset, falls back to
442
+ * `GOG_CONFIG.labels.clearSelection`, then to `'Clear selection'`.
443
+ */
444
+ readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
445
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
446
+ protected readonly resolvedClearLabel: Signal<string>;
420
447
  /**
421
448
  * Smallest width the trigger may shrink to, as any CSS length. Only meaningful with
422
449
  * `[fullWidth]="false"`, where the trigger otherwise sizes to whatever is currently selected
@@ -538,7 +565,13 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
538
565
  protected readonly panelMaxHeightToken: string;
539
566
  /** Estimated row height fed into the placement math; not a real layout property. */
540
567
  protected readonly optionHeightToken: string;
541
- /** Unique per-instance suffix, so several dropdowns on a page can't collide on DOM ids. */
568
+ /**
569
+ * Unique per-instance suffix, so several dropdowns on a page can't collide on DOM ids.
570
+ *
571
+ * Deliberately a bare number rather than `nextGogControlId()` (which the single-element
572
+ * controls use): each subclass derives *several* ids from this one instance — trigger,
573
+ * listbox, label, error — so what it needs is the instance number, not one finished id.
574
+ */
542
575
  protected readonly uid: number;
543
576
  protected readonly elRef: ElementRef<any>;
544
577
  protected readonly isBrowser: boolean;
@@ -546,7 +579,8 @@ declare abstract class GogDropdownBase<TValue, TOption = GogDropdownOption> impl
546
579
  private readonly appRef;
547
580
  private readonly destroyRef;
548
581
  private readonly ngControl;
549
- private readonly globalConfig;
582
+ /** `protected` so subclasses can resolve their own inputs against the same config object. */
583
+ protected readonly globalConfig: _guildofgleks_ui.GogGlobalConfig;
550
584
  private readonly overlay;
551
585
  /** Set from `(focus)`/`(blur)` on the trigger — see `onFocusIn`/`onFocusOut`. */
552
586
  protected readonly isFocused: _angular_core.WritableSignal<boolean>;
@@ -739,6 +773,13 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
739
773
  readonly filterLocal: _angular_core.InputSignal<boolean>;
740
774
  /** How many characters before the panel opens at all. */
741
775
  readonly minLength: _angular_core.InputSignal<number | undefined>;
776
+ /**
777
+ * Whether focusing the field opens the panel immediately, showing the full option list —
778
+ * before `minLength` would otherwise have let anything through. Off, the field behaves as
779
+ * before: nothing opens until enough has been typed. Unset, falls back to
780
+ * `GOG_CONFIG.autocomplete.openOnFocus`, then to `true`.
781
+ */
782
+ readonly openOnFocus: _angular_core.InputSignal<boolean | undefined>;
742
783
  /** Milliseconds of quiet before `gogSearch` fires. `0` emits on every keystroke. */
743
784
  readonly searchDebounce: _angular_core.InputSignal<number | undefined>;
744
785
  /** Shows a spinner in the trailing slot — for a server-backed source that is still loading. */
@@ -759,6 +800,12 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
759
800
  readonly forceSelection: _angular_core.InputSignal<boolean>;
760
801
  /** The current query, debounced. Wire a server-side lookup to this. */
761
802
  readonly gogSearch: _angular_core.OutputEmitterRef<string>;
803
+ /**
804
+ * Fires when the panel is scrolled to the end of the option list — the signal to fetch and
805
+ * append another page of a large or server-backed source, rather than handing the whole
806
+ * thing over up front. Forwarded from the panel's own `gog-scroll`.
807
+ */
808
+ readonly gogLoadMore: _angular_core.OutputEmitterRef<void>;
762
809
  protected readonly panelTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
763
810
  /** A cleared autocomplete is `null`, whatever `TValue` the consumer bound. */
764
811
  protected readonly emptyValue: TValue;
@@ -780,8 +827,17 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
780
827
  protected optionId(index: number): string;
781
828
  protected readonly resolvedMinLength: _angular_core.Signal<number>;
782
829
  private readonly resolvedDebounce;
830
+ protected readonly resolvedOpenOnFocus: _angular_core.Signal<boolean>;
783
831
  /** What is actually in the `<input>`. Not the same thing as the committed `value`. */
784
832
  protected readonly query: _angular_core.WritableSignal<string>;
833
+ /**
834
+ * True right after `openOnFocus` opens the panel, until the user actually types. The field
835
+ * may already be showing a previously-selected label at that point — this keeps the panel's
836
+ * list unfiltered by it, so focusing shows every option rather than just the one that
837
+ * happens to match the current text. Cleared on the first keystroke, so filtering resumes
838
+ * exactly as before.
839
+ */
840
+ protected readonly browsingAll: _angular_core.WritableSignal<boolean>;
785
841
  /**
786
842
  * Which option the arrows have highlighted. `-1` means none — Enter then does nothing rather
787
843
  * than committing whichever row happened to be first, which is what stops a fast typist from
@@ -829,7 +885,7 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
829
885
  private scheduleSearch;
830
886
  private cancelPendingSearch;
831
887
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutocompleteComponent<any, any>, never>;
832
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent<any, any>, "gog-autocomplete", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "filterLocal": { "alias": "filterLocal"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "gogSearch": "gogSearch"; }, never, never, true, never>;
888
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutocompleteComponent<any, any>, "gog-autocomplete", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "filterLocal": { "alias": "filterLocal"; "required": false; "isSignal": true; }; "minLength": { "alias": "minLength"; "required": false; "isSignal": true; }; "openOnFocus": { "alias": "openOnFocus"; "required": false; "isSignal": true; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "gogSearch": "gogSearch"; "gogLoadMore": "gogLoadMore"; }, never, never, true, never>;
833
889
  }
834
890
 
835
891
  /**
@@ -885,7 +941,7 @@ declare class GogBadgeDirective {
885
941
  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>;
886
942
  }
887
943
 
888
- type GogIconName = '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';
944
+ type GogIconName = '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';
889
945
  declare const ICON_DEFS: Record<GogIconName, string>;
890
946
 
891
947
  declare class IconComponent {
@@ -1132,6 +1188,26 @@ declare class TabsComponent implements GogTabsState {
1132
1188
  readonly size: _angular_core.InputSignal<GogSize>;
1133
1189
  readonly fullWidth: _angular_core.InputSignal<boolean>;
1134
1190
  readonly ariaLabel: _angular_core.InputSignal<string>;
1191
+ /**
1192
+ * Whether selecting a tab scrolls the (possibly overflowing) header row so the active tab
1193
+ * stays in view — centered where there's room, so its neighbours on both sides stay visible
1194
+ * too, the same "always show what's around the current position" idea `gog-paginator` uses
1195
+ * for pages. Reacts to `activeIndex` however it changes: a click, the arrow keys, or a
1196
+ * consumer setting it directly. On by default; turn it off for a header that never actually
1197
+ * overflows, or to own the scroll position yourself.
1198
+ */
1199
+ readonly scrollActiveIntoView: _angular_core.InputSignal<boolean>;
1200
+ /**
1201
+ * Whether the header row shows its own draggable scroll thumb/track. Native scrolling
1202
+ * (wheel, touch, keyboard) works the same regardless; this is purely the visual affordance.
1203
+ *
1204
+ * Unset, it follows `scrollActiveIntoView`: hidden while that's on, since a second scroll
1205
+ * indicator sitting right next to the active-tab underline reads as two conflicting signals
1206
+ * for the same thing once selecting a tab already moves the row on its own; shown while it's
1207
+ * off, since the track is then the only way to reach an off-screen tab without a keyboard.
1208
+ * Set explicitly to pin it either way regardless of `scrollActiveIntoView`.
1209
+ */
1210
+ readonly showScrollTrack: _angular_core.InputSignal<boolean | undefined>;
1135
1211
  /** Emits the newly active index whenever it changes, including via keyboard. */
1136
1212
  readonly gogTabChange: _angular_core.OutputEmitterRef<number>;
1137
1213
  protected readonly headerSlot: _angular_core.Signal<GogTabHeaderDirective | undefined>;
@@ -1144,6 +1220,13 @@ declare class TabsComponent implements GogTabsState {
1144
1220
  protected readonly resolvedIndex: _angular_core.Signal<number>;
1145
1221
  /** Read by each `gog-tab` through `GOG_TABS_STATE`; see `tabs-state.ts`. */
1146
1222
  readonly activeTab: _angular_core.Signal<TabComponent | null>;
1223
+ /** See `showScrollTrack`'s doc for why this defaults off precisely when the other is on. */
1224
+ protected readonly resolvedShowScrollTrack: _angular_core.Signal<boolean>;
1225
+ private readonly isBrowser;
1226
+ /** Instant for the first scroll (page load shouldn't animate into place), smooth after. */
1227
+ private hasScrolledOnce;
1228
+ constructor();
1229
+ private prefersReducedMotion;
1147
1230
  protected readonly hostClasses: _angular_core.Signal<string>;
1148
1231
  protected selectIndex(index: number): void;
1149
1232
  protected headerContext(tab: TabComponent, index: number): GogTabHeaderContext;
@@ -1154,7 +1237,7 @@ declare class TabsComponent implements GogTabsState {
1154
1237
  */
1155
1238
  protected onHeaderKeydown(event: KeyboardEvent): void;
1156
1239
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabsComponent, never>;
1157
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "gog-tabs", never, { "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "activeIndex": "activeIndexChange"; "gogTabChange": "gogTabChange"; }, ["tabs", "headerSlot"], ["*"], true, never>;
1240
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabsComponent, "gog-tabs", never, { "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "scrollActiveIntoView": { "alias": "scrollActiveIntoView"; "required": false; "isSignal": true; }; "showScrollTrack": { "alias": "showScrollTrack"; "required": false; "isSignal": true; }; }, { "activeIndex": "activeIndexChange"; "gogTabChange": "gogTabChange"; }, ["tabs", "headerSlot"], ["*"], true, never>;
1158
1241
  }
1159
1242
 
1160
1243
  /**
@@ -1361,10 +1444,16 @@ declare class CalendarComponent {
1361
1444
  * or "public holidays" without the consumer materialising every date in range first.
1362
1445
  */
1363
1446
  readonly disabledDates: _angular_core.InputSignal<((date: Date) => boolean) | null>;
1364
- /** BCP-47 tag driving the month and weekday names. */
1365
- readonly locale: _angular_core.InputSignal<string>;
1366
- /** 0 = Sunday … 6 = Saturday. Unset, it comes from the locale. */
1367
- readonly firstDayOfWeek: _angular_core.InputSignal<number | null>;
1447
+ /**
1448
+ * BCP-47 tag driving the month and weekday names. Unset, falls back to
1449
+ * `GOG_CONFIG.datepicker.locale`, then to `'en-US'`.
1450
+ */
1451
+ readonly locale: _angular_core.InputSignal<string | undefined>;
1452
+ /**
1453
+ * 0 = Sunday … 6 = Saturday. Unset, falls back to `GOG_CONFIG.datepicker.firstDayOfWeek`,
1454
+ * then to the locale's own first day.
1455
+ */
1456
+ readonly firstDayOfWeek: _angular_core.InputSignal<number | null | undefined>;
1368
1457
  /** Which month to open on when there is no selection yet. */
1369
1458
  readonly defaultMonth: _angular_core.InputSignal<Date | null>;
1370
1459
  /** How many months to show side by side. Two is what makes a range picker usable. */
@@ -1389,15 +1478,40 @@ declare class CalendarComponent {
1389
1478
  */
1390
1479
  readonly showThisMonthButton: _angular_core.InputSignal<boolean>;
1391
1480
  readonly size: _angular_core.InputSignal<GogSize>;
1392
- readonly todayLabel: _angular_core.InputSignal<string>;
1393
- readonly thisMonthLabel: _angular_core.InputSignal<string>;
1394
- readonly previousMonthLabel: _angular_core.InputSignal<string>;
1395
- readonly nextMonthLabel: _angular_core.InputSignal<string>;
1396
- readonly previousYearLabel: _angular_core.InputSignal<string>;
1397
- readonly nextYearLabel: _angular_core.InputSignal<string>;
1481
+ /**
1482
+ * Navigation, shortcut and time-section labels. Each falls back to the matching
1483
+ * `GOG_CONFIG.labels` field when unset, then to the built-in English default — an app
1484
+ * translating the calendar sets them once rather than on every field.
1485
+ */
1486
+ readonly todayLabel: _angular_core.InputSignal<string | undefined>;
1487
+ readonly thisMonthLabel: _angular_core.InputSignal<string | undefined>;
1488
+ readonly previousMonthLabel: _angular_core.InputSignal<string | undefined>;
1489
+ readonly nextMonthLabel: _angular_core.InputSignal<string | undefined>;
1490
+ readonly previousYearLabel: _angular_core.InputSignal<string | undefined>;
1491
+ readonly nextYearLabel: _angular_core.InputSignal<string | undefined>;
1492
+ readonly hoursLabel: _angular_core.InputSignal<string | undefined>;
1493
+ readonly minutesLabel: _angular_core.InputSignal<string | undefined>;
1494
+ readonly secondsLabel: _angular_core.InputSignal<string | undefined>;
1398
1495
  /** Emitted when a selection is *complete* — a day in single mode, both ends of a range. */
1399
1496
  readonly gogDateSelect: _angular_core.OutputEmitterRef<GogDatepickerValue>;
1400
1497
  private readonly elRef;
1498
+ private readonly globalConfig;
1499
+ /**
1500
+ * Every rendered string, resolved instance input → `GOG_CONFIG.labels` → built-in default.
1501
+ * `gog-datepicker` forwards its own `todayLabel`/`thisMonthLabel` as `undefined` when unset
1502
+ * precisely so this resolution happens here, once, rather than being pre-empted upstream.
1503
+ */
1504
+ protected readonly resolvedLabels: _angular_core.Signal<{
1505
+ today: string;
1506
+ thisMonth: string;
1507
+ previousMonth: string;
1508
+ nextMonth: string;
1509
+ previousYear: string;
1510
+ nextYear: string;
1511
+ hours: string;
1512
+ minutes: string;
1513
+ seconds: string;
1514
+ }>;
1401
1515
  /** First of the leftmost visible month. */
1402
1516
  private readonly viewMonth;
1403
1517
  /** The cell the keyboard is on, and the only one carrying `tabindex="0"`. */
@@ -1406,6 +1520,16 @@ declare class CalendarComponent {
1406
1520
  protected readonly hoverDate: _angular_core.WritableSignal<Date | null>;
1407
1521
  /** Whether a focus move should also pull the DOM focus over — only after a keypress. */
1408
1522
  private pendingFocus;
1523
+ /**
1524
+ * Instance input → `GOG_CONFIG.datepicker` → the built-in default.
1525
+ *
1526
+ * `gog-calendar` resolves these itself rather than relying on `gog-datepicker` to pass them
1527
+ * down: it is exported and usable standalone, and `GOG_CONFIG.datepicker` has always been
1528
+ * documented as applying to both. When it *is* rendered by `gog-datepicker`, that component
1529
+ * passes its own already-resolved values, which win here — and resolve to the same thing,
1530
+ * since both read the same config.
1531
+ */
1532
+ protected readonly resolvedLocale: _angular_core.Signal<string>;
1409
1533
  protected readonly resolvedFirstDayOfWeek: _angular_core.Signal<number>;
1410
1534
  protected readonly weekdays: _angular_core.Signal<string[]>;
1411
1535
  private readonly months;
@@ -1470,7 +1594,7 @@ declare class CalendarComponent {
1470
1594
  private applyPendingFocus;
1471
1595
  protected isFocusedDay(date: Date): boolean;
1472
1596
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
1473
- 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>;
1597
+ 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>;
1474
1598
  }
1475
1599
 
1476
1600
  /**
@@ -1515,8 +1639,13 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
1515
1639
  * selection alone. Off by default; see `gog-calendar` for why the two are separate controls.
1516
1640
  */
1517
1641
  readonly showThisMonthButton: _angular_core.InputSignal<boolean>;
1518
- readonly todayLabel: _angular_core.InputSignal<string>;
1519
- readonly thisMonthLabel: _angular_core.InputSignal<string>;
1642
+ /**
1643
+ * Forwarded to `gog-calendar`. Left unset they stay `undefined` all the way down, so the
1644
+ * calendar resolves them against `GOG_CONFIG.labels` itself rather than receiving an English
1645
+ * default from here that would shadow the app's own.
1646
+ */
1647
+ readonly todayLabel: _angular_core.InputSignal<string | undefined>;
1648
+ readonly thisMonthLabel: _angular_core.InputSignal<string | undefined>;
1520
1649
  /**
1521
1650
  * Display and parse pattern (`dd.MM.yyyy`, `yyyy-MM-dd`, …). Left unset it is derived from
1522
1651
  * `showTime`, so switching the time section on does not also require restating the format.
@@ -1537,7 +1666,8 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
1537
1666
  readonly disabled: _angular_core.InputSignal<boolean>;
1538
1667
  readonly fullWidth: _angular_core.InputSignal<boolean>;
1539
1668
  readonly clearable: _angular_core.InputSignal<boolean | undefined>;
1540
- readonly clearAriaLabel: _angular_core.InputSignal<string>;
1669
+ /** Unset, falls back to `GOG_CONFIG.labels.clearDate`, then to `'Clear date'`. */
1670
+ readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
1541
1671
  readonly errorMessage: _angular_core.InputSignal<string>;
1542
1672
  readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
1543
1673
  readonly size: _angular_core.InputSignal<GogSize | undefined>;
@@ -1546,7 +1676,8 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
1546
1676
  readonly appendToBody: _angular_core.InputSignal<boolean | undefined>;
1547
1677
  readonly dropdownDirection: _angular_core.InputSignal<GogDropdownDirection | undefined>;
1548
1678
  readonly dropdownZIndex: _angular_core.InputSignal<number | null>;
1549
- readonly openCalendarLabel: _angular_core.InputSignal<string>;
1679
+ /** Unset, falls back to `GOG_CONFIG.labels.openCalendar`, then to `'Open calendar'`. */
1680
+ readonly openCalendarLabel: _angular_core.InputSignal<string | undefined>;
1550
1681
  /** Two-way bindable value: a `Date` in `'single'` mode, a `GogDateRange` in `'range'`. */
1551
1682
  readonly value: _angular_core.ModelSignal<GogDatepickerValue>;
1552
1683
  readonly isOpen: _angular_core.WritableSignal<boolean>;
@@ -1573,6 +1704,9 @@ declare class DatepickerComponent implements ControlValueAccessor, DoCheck {
1573
1704
  */
1574
1705
  private readonly isEditing;
1575
1706
  protected readonly isDisabled: _angular_core.Signal<boolean>;
1707
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
1708
+ protected readonly resolvedClearLabel: _angular_core.Signal<string>;
1709
+ protected readonly resolvedOpenCalendarLabel: _angular_core.Signal<string>;
1576
1710
  protected readonly resolvedSize: _angular_core.Signal<GogSize>;
1577
1711
  protected readonly resolvedErrorDisplay: _angular_core.Signal<GogErrorDisplay>;
1578
1712
  protected readonly resolvedAppendToBody: _angular_core.Signal<boolean>;
@@ -1766,7 +1900,6 @@ interface GogRadioOption {
1766
1900
  disabled?: boolean;
1767
1901
  }
1768
1902
  declare class RadioGroupComponent implements ControlValueAccessor {
1769
- private static nextUid;
1770
1903
  protected readonly uid: string;
1771
1904
  readonly options: _angular_core.InputSignal<GogRadioOption[]>;
1772
1905
  readonly label: _angular_core.InputSignal<string>;
@@ -1866,6 +1999,11 @@ interface DialogConfig {
1866
1999
  maxWidth?: string;
1867
2000
  /** ARIA role for the dialog panel. Use 'alertdialog' for confirmation prompts. Default: 'dialog' */
1868
2001
  role?: 'dialog' | 'alertdialog';
2002
+ /**
2003
+ * Accessible name for the close button. Unset, falls back to `GOG_CONFIG.labels.closeDialog`,
2004
+ * then to `'Close dialog'`.
2005
+ */
2006
+ closeAriaLabel?: string;
1869
2007
  /** z-index of the dialog backdrop. Dropdowns inside get zIndex+10. Default: 1000 */
1870
2008
  zIndex?: number;
1871
2009
  }
@@ -1902,6 +2040,7 @@ declare class DialogService {
1902
2040
 
1903
2041
  declare class DialogComponent {
1904
2042
  protected readonly dialogService: DialogService;
2043
+ private readonly globalConfig;
1905
2044
  private readonly parentInjector;
1906
2045
  private readonly host;
1907
2046
  private readonly injectorCache;
@@ -1909,6 +2048,8 @@ declare class DialogComponent {
1909
2048
  private readonly focusableSelector;
1910
2049
  constructor();
1911
2050
  protected getInjector(dialog: OpenDialog): Injector;
2051
+ /** Per-dialog config → `GOG_CONFIG.labels` → the built-in English default. */
2052
+ protected closeLabel(dialog: OpenDialog): string;
1912
2053
  protected getTitleId(dialog: OpenDialog): string;
1913
2054
  protected close(dialog: OpenDialog): void;
1914
2055
  protected closeIfClosable(dialog: OpenDialog): void;
@@ -1998,9 +2139,13 @@ declare class ToastComponent implements OnDestroy {
1998
2139
  private remainingMs;
1999
2140
  private isClosing;
2000
2141
  private readonly progressEl;
2142
+ private readonly globalConfig;
2143
+ /**
2144
+ * `GOG_CONFIG.labels` → the built-in English default. No per-instance input: a toast is
2145
+ * created through `ToastService`, and its close button says the same thing every time.
2146
+ */
2147
+ protected readonly closeLabel: string;
2001
2148
  protected readonly hasActions: _angular_core.Signal<boolean>;
2002
- protected readonly ariaRole: _angular_core.Signal<"alert" | "status">;
2003
- protected readonly ariaLive: _angular_core.Signal<"assertive" | "polite">;
2004
2149
  constructor();
2005
2150
  ngOnDestroy(): void;
2006
2151
  close(): void;
@@ -2021,13 +2166,34 @@ declare class ToastComponent implements OnDestroy {
2021
2166
  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>;
2022
2167
  }
2023
2168
 
2169
+ /** One line of a live region — see `announcements`. */
2170
+ interface ToastAnnouncement {
2171
+ /** `id` alone is not enough: a deduped toast is re-shown under the same id, and re-announcing
2172
+ * it is the point of `revision`. */
2173
+ key: string;
2174
+ message: string;
2175
+ }
2024
2176
  declare class ToastContainerComponent {
2025
2177
  private readonly toastService;
2026
2178
  readonly maxVisiblePerPosition: _angular_core.InputSignal<number>;
2027
2179
  readonly groups: _angular_core.Signal<{
2028
2180
  position: ToastPosition;
2029
- toasts: _guildofgleks_ui.Toast[];
2181
+ toasts: Toast[];
2030
2182
  }[]>;
2183
+ /**
2184
+ * What the two permanently-mounted live regions in the template say right now, split by
2185
+ * urgency. The regions themselves are always in the DOM — that is the whole point of putting
2186
+ * them here rather than on `gog-toast`, whose host element only exists from the moment its
2187
+ * text does, which is exactly the case screen readers miss.
2188
+ *
2189
+ * Derived from `groups()` rather than from the raw service state so that what is announced
2190
+ * matches what is on screen: a toast queued beyond `maxVisiblePerPosition` is not visible yet
2191
+ * and must not be read out yet either.
2192
+ */
2193
+ protected readonly announcements: _angular_core.Signal<{
2194
+ polite: ToastAnnouncement[];
2195
+ assertive: ToastAnnouncement[];
2196
+ }>;
2031
2197
  protected trackGroup(_: number, group: {
2032
2198
  position: ToastPosition;
2033
2199
  }): ToastPosition;
@@ -2035,6 +2201,7 @@ declare class ToastContainerComponent {
2035
2201
  protected trackToast(_: number, toast: {
2036
2202
  id: string;
2037
2203
  }): string;
2204
+ protected trackAnnouncement(_: number, announcement: ToastAnnouncement): string;
2038
2205
  protected dismiss(id: string): void;
2039
2206
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToastContainerComponent, never>;
2040
2207
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToastContainerComponent, "gog-toast-container", never, { "maxVisiblePerPosition": { "alias": "maxVisiblePerPosition"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -2077,15 +2244,54 @@ declare class GogInputAddonEndDirective {
2077
2244
  declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
2078
2245
  readonly label: _angular_core.InputSignal<string>;
2079
2246
  readonly placeholder: _angular_core.InputSignal<string>;
2080
- readonly type: _angular_core.InputSignal<"number" | "text" | "password" | "email" | "date">;
2247
+ /** See `GogInputType` for why this is a subset of the native `type` list. */
2248
+ readonly type: _angular_core.InputSignal<GogInputType>;
2081
2249
  /** Defaults to 'current-password' for password fields, 'off' otherwise */
2082
2250
  readonly autocomplete: _angular_core.InputSignal<string>;
2251
+ /**
2252
+ * Native `readonly`: the value is still selectable, focusable and submitted with the form, but
2253
+ * cannot be edited. Distinct from `disabled`, which also takes the field out of the tab order,
2254
+ * greys it out and drops it from form submission.
2255
+ *
2256
+ * Suppresses the clear button and the number field's spin buttons for as long as it is on —
2257
+ * both promise an edit the field would refuse.
2258
+ */
2259
+ readonly readonly: _angular_core.InputSignal<boolean>;
2260
+ /** Native `maxlength`. Unset (`null`), no limit is applied. */
2261
+ readonly maxlength: _angular_core.InputSignal<number | null>;
2262
+ /** Native `minlength`. Unset (`null`), no minimum is applied. */
2263
+ readonly minlength: _angular_core.InputSignal<number | null>;
2264
+ /** Native `pattern`, as a regular-expression source string. Unset (`''`), nothing is applied. */
2265
+ readonly pattern: _angular_core.InputSignal<string>;
2266
+ /**
2267
+ * Native `inputmode` — see `GogInputMode`. Unset, the browser infers a keyboard from `type`.
2268
+ */
2269
+ readonly inputMode: _angular_core.InputSignal<GogInputMode | null>;
2270
+ /**
2271
+ * Native `spellcheck`. Unset (`null`), the browser's own default applies; set `false` on
2272
+ * fields holding names, codes or identifiers, where the red underline is noise.
2273
+ */
2274
+ readonly spellcheck: _angular_core.InputSignal<boolean | null>;
2083
2275
  /** Only applied when `type="number"`. */
2084
2276
  readonly min: _angular_core.InputSignal<number | null>;
2085
2277
  /** Only applied when `type="number"`. */
2086
2278
  readonly max: _angular_core.InputSignal<number | null>;
2087
2279
  /** Only applied when `type="number"`. */
2088
2280
  readonly step: _angular_core.InputSignal<number | null>;
2281
+ /**
2282
+ * Whether a `type="number"` field shows the library's own increment/decrement buttons in
2283
+ * place of the browser's native (and inconsistently-styled across platforms) spin glyphs.
2284
+ * The native glyphs are always hidden on a number field regardless of this — off just means
2285
+ * no stepper UI at all, not a fallback to the native one. Arrow-key stepping on the focused
2286
+ * field keeps working either way; that's native `<input type="number">` behaviour, unrelated
2287
+ * to which glyphs are visible. Unset, falls back to `GOG_CONFIG.inputfield.showSpinButtons`,
2288
+ * then to `true`.
2289
+ */
2290
+ readonly showSpinButtons: _angular_core.InputSignal<boolean | undefined>;
2291
+ /** aria-label for the number field's increment button. Unset, falls back to `GOG_CONFIG.labels.increment`. */
2292
+ readonly incrementLabel: _angular_core.InputSignal<string | undefined>;
2293
+ /** aria-label for the number field's decrement button. Unset, falls back to `GOG_CONFIG.labels.decrement`. */
2294
+ readonly decrementLabel: _angular_core.InputSignal<string | undefined>;
2089
2295
  readonly errorMessage: _angular_core.InputSignal<string>;
2090
2296
  /**
2091
2297
  * See `GogErrorDisplay`. Unset, falls back to `GOG_CONFIG.control.errorDisplay`, then to
@@ -2093,6 +2299,12 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
2093
2299
  */
2094
2300
  readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
2095
2301
  readonly name: _angular_core.InputSignal<string>;
2302
+ /**
2303
+ * The `<input>`'s `id`. Left unset, the field generates one — the label's `for` and the error
2304
+ * message's `aria-describedby` both need a real id, and a field that is silently unlabelled
2305
+ * without one is the wrong default. Set this only when something outside the component has to
2306
+ * reference the input by a known id.
2307
+ */
2096
2308
  readonly inputId: _angular_core.InputSignal<string>;
2097
2309
  readonly disabled: _angular_core.InputSignal<boolean>;
2098
2310
  /** Unset, falls back to `GOG_CONFIG.control.size`, then to `'md'`. */
@@ -2132,17 +2344,17 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
2132
2344
  * @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.
2133
2345
  */
2134
2346
  readonly iconEndLabel: _angular_core.InputSignal<string>;
2135
- /** aria-label for the reveal-password button, shown when `type` is `'password'` */
2136
- readonly showPasswordLabel: _angular_core.InputSignal<string>;
2137
- /** aria-label for the hide-password button, shown once the password is revealed */
2138
- readonly hidePasswordLabel: _angular_core.InputSignal<string>;
2347
+ /** aria-label for the reveal-password button, shown when `type` is `'password'`. Unset, falls back to `GOG_CONFIG.labels.showPassword`. */
2348
+ readonly showPasswordLabel: _angular_core.InputSignal<string | undefined>;
2349
+ /** aria-label for the hide-password button, shown once the password is revealed. Unset, falls back to `GOG_CONFIG.labels.hidePassword`. */
2350
+ readonly hidePasswordLabel: _angular_core.InputSignal<string | undefined>;
2139
2351
  /**
2140
2352
  * Whether to offer a clear button once the field has text. Unset, falls back to
2141
2353
  * `GOG_CONFIG.control.clearable`, then to `false`.
2142
2354
  */
2143
2355
  readonly clearable: _angular_core.InputSignal<boolean | undefined>;
2144
- /** Accessible name for the clear button. */
2145
- readonly clearAriaLabel: _angular_core.InputSignal<string>;
2356
+ /** Accessible name for the clear button. Unset, falls back to `GOG_CONFIG.labels.clear`. */
2357
+ readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
2146
2358
  /** Unset, falls back to `GOG_CONFIG.floatLabel.variant`, then to `'none'` (off). */
2147
2359
  readonly floatLabel: _angular_core.InputSignal<GogFloatLabelVariant | undefined>;
2148
2360
  /** Unset, falls back to `GOG_CONFIG.floatLabel.showPlaceholder`, then to `false`. */
@@ -2169,17 +2381,45 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
2169
2381
  * 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.
2170
2382
  */
2171
2383
  protected readonly sizeClass: _angular_core.Signal<string>;
2384
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
2385
+ protected readonly resolvedClearLabel: _angular_core.Signal<string>;
2386
+ protected readonly resolvedIncrementLabel: _angular_core.Signal<string>;
2387
+ protected readonly resolvedDecrementLabel: _angular_core.Signal<string>;
2388
+ protected readonly resolvedShowSpinButtons: _angular_core.Signal<boolean>;
2172
2389
  protected readonly isDisabled: _angular_core.Signal<boolean>;
2390
+ /** Disabled and read-only both refuse edits; the affordances that offer one key off this. */
2391
+ protected readonly isNotEditable: _angular_core.Signal<boolean>;
2173
2392
  protected readonly isPasswordField: _angular_core.Signal<boolean>;
2174
2393
  protected readonly isNumberField: _angular_core.Signal<boolean>;
2175
- protected readonly effectiveType: _angular_core.Signal<"number" | "text" | "password" | "email" | "date">;
2394
+ protected readonly hasSpinButtons: _angular_core.Signal<boolean>;
2395
+ /** Current field value as a number, or `null` while empty. */
2396
+ private readonly numericValue;
2397
+ protected readonly isAtMin: _angular_core.Signal<boolean>;
2398
+ protected readonly isAtMax: _angular_core.Signal<boolean>;
2399
+ protected readonly effectiveType: _angular_core.Signal<GogInputType>;
2176
2400
  protected readonly effectiveAutocomplete: _angular_core.Signal<string>;
2177
2401
  protected readonly hasError: _angular_core.Signal<boolean>;
2178
2402
  protected readonly visibleError: _angular_core.Signal<string>;
2403
+ /** Fallback id, generated once per instance — see `resolvedInputId`. */
2404
+ private readonly autoId;
2405
+ /** The consumer's `inputId` when given, otherwise the generated one. Never empty. */
2406
+ protected readonly resolvedInputId: _angular_core.Signal<string>;
2407
+ /**
2408
+ * Only non-null while the error element is actually rendered — the template renders it on
2409
+ * `visibleError()`, and an `aria-describedby` pointing at an id that isn't in the DOM is worse
2410
+ * than none at all.
2411
+ */
2412
+ protected readonly errorId: _angular_core.Signal<string | null>;
2179
2413
  private readonly floatLabelState;
2180
2414
  private readonly clearableState;
2181
2415
  /** Whether to render the clear button right now — see `GogClearableState`. */
2182
2416
  protected readonly showClear: _angular_core.Signal<boolean>;
2417
+ /**
2418
+ * Both the stepper and the clear button are on screen — only possible on a `clearable`
2419
+ * number field with a value. Drives `.gog-input-wrapper--spin-clear`, which widens the end
2420
+ * gutter and shifts the clear button clear of the stepper; without it the two overlap.
2421
+ */
2422
+ protected readonly hasSpinAndClear: _angular_core.Signal<boolean>;
2183
2423
  protected readonly resolvedFloatLabel: _angular_core.Signal<GogFloatLabelVariant>;
2184
2424
  protected readonly isFloatLabelActive: _angular_core.Signal<boolean>;
2185
2425
  protected readonly isFloatLabelFloated: _angular_core.Signal<boolean>;
@@ -2211,12 +2451,21 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
2211
2451
  protected onIconStartClick(): void;
2212
2452
  protected onIconEndClick(): void;
2213
2453
  onInput(event: Event): void;
2214
- /** Clears the field and notifies any attached form, then returns focus to the input. */
2454
+ /** Increments (`direction: 1`) or decrements (`direction: -1`) by `step`, clamped to min/max. */
2455
+ protected stepValue(direction: 1 | -1): void;
2456
+ /**
2457
+ * Clears the field and notifies any attached form.
2458
+ *
2459
+ * The value written to the form control has to match what `onInput` writes when the user
2460
+ * empties the field by hand — `null` for a number field, `''` otherwise. Emitting `''` for a
2461
+ * number field put a string into a control typed `number | null`, which then failed
2462
+ * `Validators.min`-style checks and round-tripped the wrong type to the server.
2463
+ */
2215
2464
  protected clearValue(event: Event): void;
2216
2465
  onFocus(): void;
2217
2466
  onBlur(): void;
2218
2467
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputfieldComponent, never>;
2219
- 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; }; "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>;
2468
+ 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>;
2220
2469
  }
2221
2470
 
2222
2471
  declare class TextareaComponent implements ControlValueAccessor, DoCheck {
@@ -2229,12 +2478,35 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
2229
2478
  */
2230
2479
  readonly errorDisplay: _angular_core.InputSignal<GogErrorDisplay | undefined>;
2231
2480
  readonly name: _angular_core.InputSignal<string>;
2481
+ /**
2482
+ * The `<textarea>`'s `id`. Left unset, the field generates one — see
2483
+ * `gog-inputfield`'s own `inputId` for why that is the default rather than an opt-in.
2484
+ */
2232
2485
  readonly inputId: _angular_core.InputSignal<string>;
2233
2486
  readonly disabled: _angular_core.InputSignal<boolean>;
2487
+ /**
2488
+ * Native `readonly` — see `gog-inputfield`'s own `readonly` for how it differs from
2489
+ * `disabled`. Suppresses the clear button while on.
2490
+ */
2491
+ readonly readonly: _angular_core.InputSignal<boolean>;
2234
2492
  /** Unset, falls back to `GOG_CONFIG.control.size`, then to `'md'`. */
2235
2493
  readonly size: _angular_core.InputSignal<GogSize | undefined>;
2236
2494
  /** Native `rows` attribute, controlling the field's initial height. */
2237
2495
  readonly rows: _angular_core.InputSignal<number>;
2496
+ /** Native `maxlength`. Unset (`null`), no limit is applied. */
2497
+ readonly maxlength: _angular_core.InputSignal<number | null>;
2498
+ /** Native `minlength`. Unset (`null`), no minimum is applied. */
2499
+ readonly minlength: _angular_core.InputSignal<number | null>;
2500
+ /** Native `spellcheck`. Unset (`null`), the browser's own default applies. */
2501
+ readonly spellcheck: _angular_core.InputSignal<boolean | null>;
2502
+ /**
2503
+ * Which direction(s) the field's own drag handle resizes it in — matches the native CSS
2504
+ * `resize` value space (`'vertical'`, `'horizontal'`, `'both'`, `'none'`). Unset, falls back
2505
+ * to `GOG_CONFIG.textarea.resize`, then to `'vertical'`, matching a plain `<textarea>`. The
2506
+ * handle itself is restyled to be more visible than the browser's default glyph; `'none'`
2507
+ * removes it entirely.
2508
+ */
2509
+ readonly resize: _angular_core.InputSignal<GogTextareaResize | undefined>;
2238
2510
  /**
2239
2511
  * Full width of the container by default, matching every other field-style control.
2240
2512
  * Set to `false` to shrink the field to fit its content instead.
@@ -2245,8 +2517,8 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
2245
2517
  * `GOG_CONFIG.control.clearable`, then to `false`.
2246
2518
  */
2247
2519
  readonly clearable: _angular_core.InputSignal<boolean | undefined>;
2248
- /** Accessible name for the clear button. */
2249
- readonly clearAriaLabel: _angular_core.InputSignal<string>;
2520
+ /** Accessible name for the clear button. Unset, falls back to `GOG_CONFIG.labels.clear`. */
2521
+ readonly clearAriaLabel: _angular_core.InputSignal<string | undefined>;
2250
2522
  /** Unset, falls back to `GOG_CONFIG.floatLabel.variant`, then to `'none'` (off). */
2251
2523
  readonly floatLabel: _angular_core.InputSignal<GogFloatLabelVariant | undefined>;
2252
2524
  /** Unset, falls back to `GOG_CONFIG.floatLabel.showPlaceholder`, then to `false`. */
@@ -2255,9 +2527,11 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
2255
2527
  readonly value: _angular_core.ModelSignal<string>;
2256
2528
  private readonly ngControl;
2257
2529
  private readonly globalConfig;
2530
+ private readonly destroyRef;
2258
2531
  private readonly cvaDisabled;
2259
2532
  /** Instance input → `GOG_CONFIG` → the component's own default. See `resolveConfigured`. */
2260
2533
  protected readonly resolvedSize: _angular_core.Signal<GogSize>;
2534
+ protected readonly resolvedResize: _angular_core.Signal<GogTextareaResize>;
2261
2535
  private readonly resolvedErrorDisplay;
2262
2536
  private readonly errorState;
2263
2537
  /** Set from `(focus)`/`(blur)` on the `<textarea>` — see `onFocus`/`onBlur`. */
@@ -2272,14 +2546,33 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
2272
2546
  * isn't scrolling, which shifts the resting layout of every textarea.
2273
2547
  */
2274
2548
  protected readonly scrollbarWidth: _angular_core.WritableSignal<number>;
2549
+ /**
2550
+ * How far the field's own right/bottom edge currently sits from its container's — 0 unless
2551
+ * the user has dragged the resize handle to make the field narrower/shorter than its
2552
+ * container. The resize grip is anchored to the container (a `<textarea>` can't reliably
2553
+ * host `::after`), so without this it stays put at the container's original corner instead
2554
+ * of following the field's own as it's resized.
2555
+ */
2556
+ protected readonly resizeInsetRight: _angular_core.WritableSignal<number>;
2557
+ protected readonly resizeInsetBottom: _angular_core.WritableSignal<number>;
2275
2558
  /**
2276
2559
  * The single size modifier, replacing one `[class.gog-input-wrapper--<size>]` binding per size.
2277
2560
  * 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.
2278
2561
  */
2279
2562
  protected readonly sizeClass: _angular_core.Signal<string>;
2280
2563
  protected readonly isDisabled: _angular_core.Signal<boolean>;
2564
+ /** Disabled and read-only both refuse edits — see `gog-inputfield`. */
2565
+ protected readonly isNotEditable: _angular_core.Signal<boolean>;
2566
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
2567
+ protected readonly resolvedClearLabel: _angular_core.Signal<string>;
2281
2568
  protected readonly hasError: _angular_core.Signal<boolean>;
2282
2569
  protected readonly visibleError: _angular_core.Signal<string>;
2570
+ /** Fallback id, generated once per instance — see `resolvedInputId`. */
2571
+ private readonly autoId;
2572
+ /** The consumer's `inputId` when given, otherwise the generated one. Never empty. */
2573
+ protected readonly resolvedInputId: _angular_core.Signal<string>;
2574
+ /** Non-null only while the error element is actually rendered — see `gog-inputfield`. */
2575
+ protected readonly errorId: _angular_core.Signal<string | null>;
2283
2576
  private readonly floatLabelState;
2284
2577
  private readonly clearableState;
2285
2578
  /** Whether to render the clear button right now — see `GogClearableState`. */
@@ -2302,7 +2595,7 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
2302
2595
  onFocus(): void;
2303
2596
  onBlur(): void;
2304
2597
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextareaComponent, never>;
2305
- 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; }; "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>;
2598
+ 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>;
2306
2599
  }
2307
2600
 
2308
2601
  declare class ChipComponent {
@@ -2417,12 +2710,26 @@ declare class MultiselectComponent<TOption = GogDropdownOption, TValue = string
2417
2710
  readonly showControls: _angular_core.InputSignal<boolean>;
2418
2711
  /** Where the "select all"/"clear" row sits relative to the option list. Sticky either way. */
2419
2712
  readonly controlsPosition: _angular_core.InputSignal<"top" | "bottom">;
2713
+ /**
2714
+ * Visible text of the select-all button. Unset, falls back to `GOG_CONFIG.labels.selectAll`,
2715
+ * then to `'Select all'`.
2716
+ */
2717
+ readonly selectAllLabel: _angular_core.InputSignal<string | undefined>;
2718
+ /**
2719
+ * Visible text of the clear-all button — the one inside the panel, next to select-all. The
2720
+ * trigger's own clear icon is `clearAriaLabel`. Unset, falls back to
2721
+ * `GOG_CONFIG.labels.clearAll`, then to `'Clear'`.
2722
+ */
2723
+ readonly clearAllLabel: _angular_core.InputSignal<string | undefined>;
2420
2724
  /**
2421
2725
  * @deprecated since 21.3.0 (2026-08-07) — project an `<ng-template gogMultiselectClearIcon>` into the component instead. Removed in 21.5.0.
2422
2726
  */
2423
2727
  readonly clearIconTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
2424
2728
  /** Projected `gogMultiselectClearIcon` template; wins over the deprecated `clearIconTemplate` input. */
2425
2729
  protected readonly clearIconSlot: _angular_core.Signal<GogMultiselectClearIconDirective | undefined>;
2730
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
2731
+ protected readonly resolvedSelectAllLabel: _angular_core.Signal<string>;
2732
+ protected readonly resolvedClearAllLabel: _angular_core.Signal<string>;
2426
2733
  /**
2427
2734
  * Two-way bindable selection: `[(value)]="signal"`.
2428
2735
  *
@@ -2477,11 +2784,10 @@ declare class MultiselectComponent<TOption = GogDropdownOption, TValue = string
2477
2784
  constructor();
2478
2785
  protected extraPanelHeight(): number;
2479
2786
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiselectComponent<any, any>, never>;
2480
- 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>;
2787
+ 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>;
2481
2788
  }
2482
2789
 
2483
2790
  declare class SliderComponent implements ControlValueAccessor, DoCheck {
2484
- private static nextId;
2485
2791
  protected readonly inputId: string;
2486
2792
  readonly label: _angular_core.InputSignal<string>;
2487
2793
  readonly min: _angular_core.InputSignal<number>;
@@ -2515,34 +2821,124 @@ declare class SliderComponent implements ControlValueAccessor, DoCheck {
2515
2821
  * as they do horizontally.
2516
2822
  */
2517
2823
  readonly orientation: _angular_core.InputSignal<_guildofgleks_ui.GogOrientation>;
2518
- /** Two-way bindable value: `[(value)]="signal"`. */
2824
+ /**
2825
+ * Switches the slider to two-thumb mode for picking a *range* of values instead of a
2826
+ * single one. When on, use `[(rangeValue)]` instead of `[(value)]` — the two are mutually
2827
+ * exclusive; `value`/`writeValue` are ignored while this is `true`, and vice versa.
2828
+ */
2829
+ readonly range: _angular_core.InputSignal<boolean>;
2830
+ /**
2831
+ * Accessible name for the start (lower) thumb in `range` mode. Falls back to `'Minimum'`,
2832
+ * prefixed with `label()` when one is set (e.g. `'Price Minimum'`) — a shared `<label>`
2833
+ * can't be associated with two inputs via `for`, so each thumb needs its own name.
2834
+ */
2835
+ readonly startAriaLabel: _angular_core.InputSignal<string>;
2836
+ /** Accessible name for the end (upper) thumb in `range` mode. Falls back to `'Maximum'`. */
2837
+ readonly endAriaLabel: _angular_core.InputSignal<string>;
2838
+ /**
2839
+ * Disables only the start (lower) thumb in `range` mode — e.g. to pin a range's floor
2840
+ * while letting the consumer still raise or lower its ceiling. ORed with `disabled`
2841
+ * (either one disables it), never overrides it: `disabled` still means "both thumbs off".
2842
+ * Ignored outside `range` mode, where there's only one thumb and `disabled` already covers
2843
+ * it. Unlike `disabled`, this never applies the whole-control `.gog-slider--disabled`
2844
+ * dimming/`pointer-events: none` — only the one thumb goes inert, both visually (its own
2845
+ * dot dims) and functionally (the native input's own `disabled` attribute takes it out of
2846
+ * the tab order), so the other thumb stays fully usable.
2847
+ */
2848
+ readonly startDisabled: _angular_core.InputSignal<boolean>;
2849
+ /** Disables only the end (upper) thumb in `range` mode. Mirrors `startDisabled`. */
2850
+ readonly endDisabled: _angular_core.InputSignal<boolean>;
2851
+ /** Two-way bindable value: `[(value)]="signal"`. Ignored when `range` is `true`. */
2519
2852
  readonly value: _angular_core.ModelSignal<number>;
2853
+ /** Two-way bindable `{ start, end }` pair: `[(rangeValue)]="signal"`. Used only when `range` is `true`. */
2854
+ readonly rangeValue: _angular_core.ModelSignal<GogSliderRange>;
2520
2855
  private readonly ngControl;
2521
2856
  private readonly cvaDisabled;
2522
2857
  private readonly globalConfig;
2523
2858
  private readonly resolvedErrorDisplay;
2524
2859
  private readonly errorState;
2525
2860
  protected readonly isDisabled: _angular_core.Signal<boolean>;
2861
+ /**
2862
+ * `isDisabled()` also covers `cvaDisabled()` — a `[formControl]`'s own `.disable()`, which
2863
+ * (being one FormControl backing one `rangeValue`) always speaks for both thumbs at once
2864
+ * and has no way to target just one. `startDisabled`/`endDisabled` are the only route to a
2865
+ * one-sided disable, and only make sense in `range` mode.
2866
+ */
2867
+ protected readonly isStartDisabled: _angular_core.Signal<boolean>;
2868
+ protected readonly isEndDisabled: _angular_core.Signal<boolean>;
2869
+ /**
2870
+ * Drives the whole-control `.gog-slider--disabled` class (dimming + `pointer-events: none`
2871
+ * over the whole track). Applying that class off a one-sided `isStartDisabled()`/
2872
+ * `isEndDisabled()` would also block pointer/touch input to the *other*, still-enabled
2873
+ * thumb — `pointer-events: none` on an ancestor cuts off every descendant, not just the
2874
+ * disabled one — so in `range` mode this only fires once *both* sides are disabled. A
2875
+ * still-disabled single thumb stays inert on its own regardless (its native `disabled`
2876
+ * attribute already takes it out of the tab order and stops it from firing events).
2877
+ */
2878
+ protected readonly isFullyDisabled: _angular_core.Signal<boolean>;
2526
2879
  protected readonly clampedValue: _angular_core.Signal<number>;
2880
+ /**
2881
+ * `rangeValue()` clamped to `[min, max]`, swapping the pair back in order if a consumer
2882
+ * writes `start > end` directly (e.g. via `writeValue`/a FormControl) — dragging or
2883
+ * keyboard-nudging a thumb past the other can never produce that, since
2884
+ * onRangeStartInput/onRangeEndInput already clamp against each other there.
2885
+ */
2886
+ protected readonly clampedRange: _angular_core.Signal<GogSliderRange>;
2887
+ private percentFor;
2888
+ private clampRange;
2527
2889
  protected readonly fillPercent: _angular_core.Signal<number>;
2890
+ protected readonly rangeStartPercent: _angular_core.Signal<number>;
2891
+ protected readonly rangeEndPercent: _angular_core.Signal<number>;
2528
2892
  protected readonly thumbPos: _angular_core.Signal<string>;
2529
2893
  protected readonly fillScale: _angular_core.Signal<number>;
2894
+ protected readonly rangeStartPos: _angular_core.Signal<string>;
2895
+ protected readonly rangeEndPos: _angular_core.Signal<string>;
2896
+ protected readonly rangeDisplayValue: _angular_core.Signal<string>;
2897
+ /**
2898
+ * Reserved width for `.gog-slider__value`, in `ch`. Without this the span sizes to
2899
+ * whatever the *current* value happens to print as, so it visibly resizes on every drag —
2900
+ * harmless when `fullWidth` absorbs the wiggle (the default for horizontal), but a vertical
2901
+ * slider is only ever as wide as its content (see the `fit-content` comment in the
2902
+ * stylesheet), so there the whole control jitters in width as you drag, and the header row
2903
+ * being what's regrowing/shrinking tugs the min/max labels below along with it even though
2904
+ * their own text never changes. Sized from `min()`/`max()` rather than the live value:
2905
+ * digit count only grows moving away from zero, so whichever endpoint prints the most
2906
+ * characters is already the worst case for every value in between.
2907
+ */
2908
+ protected readonly valueDisplayChars: _angular_core.Signal<number>;
2909
+ protected readonly startInputAriaLabel: _angular_core.Signal<string>;
2910
+ protected readonly endInputAriaLabel: _angular_core.Signal<string>;
2530
2911
  protected readonly isVertical: _angular_core.Signal<boolean>;
2531
2912
  protected readonly hasError: _angular_core.Signal<boolean>;
2532
2913
  protected readonly visibleError: _angular_core.Signal<string>;
2533
2914
  protected readonly errorId: _angular_core.Signal<string | null>;
2915
+ /** Fires with a plain `number` normally, or a `GogSliderRange` while `range()` is `true`. */
2534
2916
  private onChange;
2535
2917
  private onTouched;
2536
2918
  constructor();
2537
2919
  ngDoCheck(): void;
2538
- writeValue(val: number): void;
2539
- registerOnChange(fn: (val: number) => void): void;
2920
+ writeValue(val: number | GogSliderRange): void;
2921
+ registerOnChange(fn: (val: number | GogSliderRange) => void): void;
2540
2922
  registerOnTouched(fn: () => void): void;
2541
2923
  setDisabledState(isDisabled: boolean): void;
2542
2924
  onInput(event: Event): void;
2543
2925
  onBlur(): void;
2926
+ /**
2927
+ * Start (lower) thumb in `range` mode. Both native inputs keep the slider's global
2928
+ * `min()`/`max()` (see the template's comment on why), so crossing prevention happens
2929
+ * entirely here via `Math.min(current.end, ...)` rather than through a narrowed native
2930
+ * `max` attribute — which also means the browser will happily keep dragging this input's
2931
+ * own raw `.value` past `current.end` even once we've clamped the logical value. Writing
2932
+ * the clamped result back to `input.value` directly (rather than trusting the `[value]`
2933
+ * binding to do it) matters because that binding no-ops once the *next* clamped result
2934
+ * matches what Angular itself last wrote — it has no way to know the raw DOM value has
2935
+ * since drifted out from under it via native dragging.
2936
+ */
2937
+ onRangeStartInput(event: Event): void;
2938
+ /** End (upper) thumb in `range` mode. Mirrors `onRangeStartInput`. */
2939
+ onRangeEndInput(event: Event): void;
2544
2940
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
2545
- 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>;
2941
+ 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>;
2546
2942
  }
2547
2943
 
2548
2944
  declare class SkeletonComponent {
@@ -2592,7 +2988,25 @@ declare class PaginatorComponent {
2592
2988
  readonly siblingCount: _angular_core.InputSignal<number>;
2593
2989
  readonly size: _angular_core.InputSignal<GogSize>;
2594
2990
  readonly disabled: _angular_core.InputSignal<boolean>;
2595
- readonly ariaLabel: _angular_core.InputSignal<string>;
2991
+ /**
2992
+ * Accessible name of the `<nav>`. Unset, falls back to `GOG_CONFIG.labels.pagination`, then
2993
+ * to `'Pagination'`.
2994
+ */
2995
+ readonly ariaLabel: _angular_core.InputSignal<string | undefined>;
2996
+ private readonly globalConfig;
2997
+ /** Instance input → `GOG_CONFIG.labels` → the built-in English default. */
2998
+ protected readonly resolvedAriaLabel: _angular_core.Signal<string>;
2999
+ /**
3000
+ * The two step buttons. Config-only: unlike the `<nav>` name, these say the same thing on
3001
+ * every paginator in an app, so a per-instance input would be dead weight.
3002
+ */
3003
+ protected readonly resolvedPreviousLabel: _angular_core.Signal<string>;
3004
+ protected readonly resolvedNextLabel: _angular_core.Signal<string>;
3005
+ /**
3006
+ * Names one page button. A method rather than a `computed`, since it takes the page number —
3007
+ * the formatter itself is resolved once and only re-read when the config object changes.
3008
+ */
3009
+ protected pageLabel(page: number): string;
2596
3010
  protected readonly pageNumbers: _angular_core.Signal<(number | "...")[]>;
2597
3011
  constructor();
2598
3012
  private windowRange;
@@ -2651,6 +3065,17 @@ declare class ScrollComponent {
2651
3065
  * for what each value does.
2652
3066
  */
2653
3067
  readonly overscrollBehavior: _angular_core.InputSignal<GogScrollOverscrollBehavior | undefined>;
3068
+ /**
3069
+ * Whether the overlay thumb/track ever renders. Native scrolling — wheel, touch, keyboard,
3070
+ * focus-into-view, and any programmatic `scrollTo`/`scrollIntoView` — keeps working exactly
3071
+ * the same either way; this only controls the visual affordance, not `overflow` or scroll
3072
+ * containment (see `viewportOverflowY`/`X`). Off suits a viewport whose *position* is already
3073
+ * driven some other way — `gog-tabs`' `scrollActiveIntoView` is the case this exists for,
3074
+ * where a second, independent scroll indicator next to the active-tab underline reads as two
3075
+ * conflicting signals for the same thing. Unset, falls back to `GOG_CONFIG.scroll.showTrack`,
3076
+ * then to `true`.
3077
+ */
3078
+ readonly showTrack: _angular_core.InputSignal<boolean | undefined>;
2654
3079
  readonly gogScroll: _angular_core.OutputEmitterRef<GogScrollMetrics>;
2655
3080
  readonly gogReachStart: _angular_core.OutputEmitterRef<GogScrollDirection>;
2656
3081
  readonly gogReachEnd: _angular_core.OutputEmitterRef<GogScrollDirection>;
@@ -2686,6 +3111,7 @@ declare class ScrollComponent {
2686
3111
  protected readonly resolvedAutoHide: _angular_core.Signal<boolean>;
2687
3112
  protected readonly resolvedHideDelay: _angular_core.Signal<number>;
2688
3113
  protected readonly resolvedOverscrollBehavior: _angular_core.Signal<GogScrollOverscrollBehavior>;
3114
+ protected readonly resolvedShowTrack: _angular_core.Signal<boolean>;
2689
3115
  /**
2690
3116
  * Only applies `resolvedOverscrollBehavior` on an axis that's actually acting as a scroll
2691
3117
  * container — on an axis that's `visible` (see viewportOverflowY/X above) there is no
@@ -2732,7 +3158,7 @@ declare class ScrollComponent {
2732
3158
  private measure;
2733
3159
  private checkReach;
2734
3160
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollComponent, never>;
2735
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollComponent, "gog-scroll", never, { "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; "reachThreshold": { "alias": "reachThreshold"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "overscrollBehavior": { "alias": "overscrollBehavior"; "required": false; "isSignal": true; }; }, { "gogScroll": "gogScroll"; "gogReachStart": "gogReachStart"; "gogReachEnd": "gogReachEnd"; }, never, ["*"], true, never>;
3161
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollComponent, "gog-scroll", never, { "axis": { "alias": "axis"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "hideDelay": { "alias": "hideDelay"; "required": false; "isSignal": true; }; "reachThreshold": { "alias": "reachThreshold"; "required": false; "isSignal": true; }; "focusable": { "alias": "focusable"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "overscrollBehavior": { "alias": "overscrollBehavior"; "required": false; "isSignal": true; }; "showTrack": { "alias": "showTrack"; "required": false; "isSignal": true; }; }, { "gogScroll": "gogScroll"; "gogReachStart": "gogReachStart"; "gogReachEnd": "gogReachEnd"; }, never, ["*"], true, never>;
2736
3162
  }
2737
3163
 
2738
3164
  declare class SpinnerOverlayComponent {
@@ -3033,14 +3459,64 @@ declare class GogTooltipDirective {
3033
3459
  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>;
3034
3460
  }
3035
3461
 
3462
+ /**
3463
+ * Owns the `data-theme` attribute on `<html>`, which is what every `--gog-*` palette block in
3464
+ * `theme.css` keys off.
3465
+ *
3466
+ * Zero-config behaviour is unchanged from 21.3.1: it adopts whatever `data-theme` is already on
3467
+ * the document, or `'light'` if there is none. Persistence and following the OS setting are
3468
+ * both **opt-in** through `GOG_CONFIG.theme`, so an app that never configures anything cannot
3469
+ * have its theme changed out from under it by an upgrade.
3470
+ */
3036
3471
  declare class ThemeService {
3037
3472
  private readonly document;
3038
3473
  private readonly root;
3039
- readonly theme: _angular_core.WritableSignal<string>;
3474
+ private readonly isBrowser;
3475
+ private readonly destroyRef;
3476
+ private readonly config;
3477
+ private readonly state;
3478
+ /**
3479
+ * The active theme name. Read-only on purpose: writing it directly would move the signal
3480
+ * without touching the DOM attribute the styles actually read, leaving the two silently out
3481
+ * of sync. Go through `setTheme`/`toggleTheme`.
3482
+ */
3483
+ readonly theme: Signal<string>;
3484
+ /**
3485
+ * Set once the app (or the user) has chosen a theme explicitly, which stops
3486
+ * `followSystem` from overriding that choice on the next OS-level change.
3487
+ */
3488
+ private hasExplicitChoice;
3040
3489
  constructor();
3041
3490
  setTheme(theme: string): void;
3491
+ /**
3492
+ * Flips between the configured light and dark theme names (`'light'`/`'dark'` by default).
3493
+ * From a third, custom theme this lands on the dark one, since that is the only reading of
3494
+ * "toggle" that terminates.
3495
+ */
3042
3496
  toggleTheme(): void;
3043
- private readTheme;
3497
+ /**
3498
+ * In precedence order:
3499
+ *
3500
+ * 1. a `data-theme` already on `<html>` — server-rendered or set by an inline script before
3501
+ * Angular booted, and either way a decision that has already been painted;
3502
+ * 2. the persisted choice, when `storageKey` is configured;
3503
+ * 3. the OS setting, when `followSystem` is on;
3504
+ * 4. `defaultTheme`, then `'light'`.
3505
+ */
3506
+ private resolveInitialTheme;
3507
+ /**
3508
+ * Keeps the theme in step with the OS while the app has no explicit choice of its own. Only
3509
+ * wired up when `followSystem` is on, so the default configuration adds no listener at all.
3510
+ */
3511
+ private watchSystemPreference;
3512
+ private prefersDark;
3513
+ /**
3514
+ * Storage access is wrapped because it throws rather than degrades in two ordinary cases:
3515
+ * Safari's private mode, and a browser configured to block site data. A theme preference is
3516
+ * not worth taking the app down for.
3517
+ */
3518
+ private readStored;
3519
+ private persist;
3044
3520
  private applyTheme;
3045
3521
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeService, never>;
3046
3522
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeService>;
@@ -3067,6 +3543,11 @@ interface GogGlobalConfig {
3067
3543
  hideDelay?: number;
3068
3544
  size?: GogScrollSize;
3069
3545
  overscrollBehavior?: GogScrollOverscrollBehavior;
3546
+ /**
3547
+ * Whether the overlay thumb/track ever renders. Scrolling itself is unaffected either way
3548
+ * — this is purely the visual affordance. Defaults to `true`.
3549
+ */
3550
+ showTrack?: boolean;
3070
3551
  };
3071
3552
  button?: {
3072
3553
  debounce?: number;
@@ -3152,12 +3633,119 @@ interface GogGlobalConfig {
3152
3633
  searchDebounce?: number;
3153
3634
  /** How many characters before the panel opens at all. */
3154
3635
  minLength?: number;
3636
+ /**
3637
+ * Whether focusing the field opens the panel immediately, showing the full option list.
3638
+ * Defaults to `true`.
3639
+ */
3640
+ openOnFocus?: boolean;
3641
+ };
3642
+ /** Applies to `gog-inputfield`. */
3643
+ inputfield?: {
3644
+ /**
3645
+ * Whether a `type="number"` field shows the library's own spin buttons in place of the
3646
+ * browser's native ones. Defaults to `true`.
3647
+ */
3648
+ showSpinButtons?: boolean;
3649
+ };
3650
+ /** Applies to `gog-textarea`. */
3651
+ textarea?: {
3652
+ /**
3653
+ * Which direction(s) the field's own drag handle resizes it in — matches the native CSS
3654
+ * `resize` value space. Defaults to `'vertical'`.
3655
+ */
3656
+ resize?: GogTextareaResize;
3155
3657
  };
3156
3658
  toast?: {
3157
3659
  position?: ToastPosition;
3158
3660
  /** How long a non-sticky toast stays up, in ms. */
3159
3661
  duration?: number;
3160
3662
  };
3663
+ /**
3664
+ * Every fixed, user-visible string the library renders — button text and accessible names for
3665
+ * chrome the consumer never writes markup for.
3666
+ *
3667
+ * These are here rather than as one input per string because they are the definition of a
3668
+ * setting an app states once: a Russian-language app relabels "Clear" once, not on all 340
3669
+ * fields. Where a per-instance input already exists (`clearAriaLabel`, `todayLabel`, …) it
3670
+ * still wins for that one control — the usual instance → config → default order.
3671
+ *
3672
+ * Deliberately excludes anything that is *content* rather than chrome: `gog-checkbox`'s
3673
+ * `ariaLabel`, `gog-button`'s `ariaLabel`, a field's `label` or `placeholder`. Those differ
3674
+ * per instance by definition and have no meaningful app-wide value.
3675
+ */
3676
+ labels?: {
3677
+ /** Clear button on `gog-inputfield` / `gog-textarea`. */
3678
+ clear?: string;
3679
+ /**
3680
+ * Clear button on `gog-select` / `gog-multiselect` / `gog-autocomplete`, which clears a
3681
+ * selection rather than text.
3682
+ */
3683
+ clearSelection?: string;
3684
+ /** Clear button on `gog-datepicker`. */
3685
+ clearDate?: string;
3686
+ /** `gog-multiselect`'s select-all / clear-all buttons — visible text, not just a label. */
3687
+ selectAll?: string;
3688
+ clearAll?: string;
3689
+ /** `gog-inputfield`'s number spin buttons. */
3690
+ increment?: string;
3691
+ decrement?: string;
3692
+ /** `gog-inputfield`'s password reveal toggle, in its two states. */
3693
+ showPassword?: string;
3694
+ hidePassword?: string;
3695
+ /** Close buttons on the two service-driven overlays. */
3696
+ closeDialog?: string;
3697
+ closeToast?: string;
3698
+ /** `gog-paginator`'s `<nav>` accessible name and its two step buttons. */
3699
+ pagination?: string;
3700
+ previousPage?: string;
3701
+ nextPage?: string;
3702
+ /**
3703
+ * `gog-paginator`'s per-page button names ("Go to page 4", "Page 4, current page").
3704
+ *
3705
+ * A function rather than a string, and the only one in this block: these interpolate the
3706
+ * page number, and a template string with a `{0}` placeholder would be a second, weaker
3707
+ * formatting language to learn — one that also can't express languages where the number's
3708
+ * position or the surrounding grammar depends on its value. The default is
3709
+ * `` (page, isCurrent) => isCurrent ? `Page ${page}, current page` : `Go to page ${page}` ``.
3710
+ */
3711
+ page?: (page: number, isCurrent: boolean) => string;
3712
+ /** `gog-datepicker`'s button that opens the calendar panel. */
3713
+ openCalendar?: string;
3714
+ /** `gog-calendar` navigation and shortcuts. */
3715
+ today?: string;
3716
+ thisMonth?: string;
3717
+ previousMonth?: string;
3718
+ nextMonth?: string;
3719
+ previousYear?: string;
3720
+ nextYear?: string;
3721
+ /** `gog-calendar`'s time section. */
3722
+ hours?: string;
3723
+ minutes?: string;
3724
+ seconds?: string;
3725
+ };
3726
+ /**
3727
+ * Applies to `ThemeService`. Every field is off/neutral by default, so an app that configures
3728
+ * nothing keeps the pre-21.3.2 behaviour: adopt whatever `data-theme` is already on `<html>`,
3729
+ * else `'light'`.
3730
+ */
3731
+ theme?: {
3732
+ /**
3733
+ * `localStorage` key the chosen theme is written to and read back from. Unset, nothing is
3734
+ * persisted and the theme resets on every load.
3735
+ */
3736
+ storageKey?: string | null;
3737
+ /** Theme applied when nothing else decides. `'light'` by default. */
3738
+ defaultTheme?: string;
3739
+ /**
3740
+ * Whether to fall back to the OS `prefers-color-scheme` setting — and to keep following it
3741
+ * until the app calls `setTheme`/`toggleTheme`. Off by default: switching this on changes
3742
+ * which theme an existing app opens in.
3743
+ */
3744
+ followSystem?: boolean;
3745
+ /** Theme names `toggleTheme()` alternates between, and `followSystem` maps the OS setting to. */
3746
+ lightTheme?: string;
3747
+ darkTheme?: string;
3748
+ };
3161
3749
  }
3162
3750
  /**
3163
3751
  * Resolves to `{}` — every field falls through to its component's own hardcoded default —
@@ -3259,7 +3847,7 @@ declare class GogFloatLabelState {
3259
3847
  }
3260
3848
 
3261
3849
  /** Every `--gog-*` custom property the library declares or documents as an override point. */
3262
- 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';
3850
+ 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-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-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';
3263
3851
  /** Which of the three layers a token belongs to — see the README's theming section. */
3264
3852
  type GogTokenLayer = 'foundation' | 'component' | 'instance';
3265
3853
  interface GogTokenGroup {
@@ -3277,4 +3865,4 @@ declare const GOG_TOKEN_GROUPS: readonly GogTokenGroup[];
3277
3865
  type GogTooltipSide = 'top' | 'bottom' | 'left' | 'right';
3278
3866
 
3279
3867
  export { AccordionComponent, AutocompleteComponent, ButtonComponent, ButtonToggleGroupComponent, CalendarComponent, CheckboxComponent, ChipComponent, CollapsibleComponent, Column, ConfirmationDialogComponent, DIALOG_DATA, DIALOG_REF, DatepickerComponent, DialogComponent, DialogService, DividerComponent, GOG_CONFIG, GOG_TABS_STATE, GOG_TOKEN_GROUPS, GogAccordionChevronDirective, GogAccordionContentDirective, GogAccordionHeaderDirective, GogBadgeDirective, 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, readOption, resolveConfigured, startOfDay, weekdayNames, withTime };
3280
- export type { ConfirmDialogData, DialogConfig, DialogHandle, DialogRef, GogAccordionChevronContext, GogAccordionHeaderContext, GogAccordionItem, GogAccordionToggleEvent, GogBadgePosition, GogButtonToggleAppearance, GogButtonToggleOptionContext, GogCalendarDay, GogColumnBodyContext, GogColumnHeaderContext, GogDateRange, GogDateSelectionMode, GogDatepickerValue, GogDividerVariant, GogDropdownDirection, GogDropdownFilterPosition, GogDropdownOption, GogDropdownOptionContext, GogFloatLabelVariant, GogGlobalConfig, GogHourFormat, GogIconName, GogMultiselectOption, GogOptionAccessor, GogOrientation, GogPaginatorRangeMode, GogProgressbarMode, GogProgressbarVariant, GogRadioOption, GogScrollAxis, GogScrollMetrics, GogScrollOverscrollBehavior, GogScrollSize, GogSelectOption, GogSize, GogSkeletonAnimation, GogSkeletonShape, GogSliderOrientation, GogSpinnerVariant, GogTabHeaderContext, GogTableBodyContext, GogTableHeaderContext, GogTabsAlign, GogTabsState, GogTagShape, GogTagVariant, GogTokenGroup, GogTokenLayer, GogTokenName, GogTooltipPosition, GogTooltipSide, GogVariant, OpenDialog, SortDirection, Toast, ToastAction, ToastConfig, ToastPosition, ToastType };
3868
+ export type { ConfirmDialogData, DialogConfig, DialogHandle, DialogRef, GogAccordionChevronContext, GogAccordionHeaderContext, GogAccordionItem, GogAccordionToggleEvent, GogBadgePosition, 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, GogTabsAlign, GogTabsState, GogTagShape, GogTagVariant, GogTextareaResize, GogTokenGroup, GogTokenLayer, GogTokenName, GogTooltipPosition, GogTooltipSide, GogVariant, OpenDialog, SortDirection, Toast, ToastAction, ToastConfig, ToastPosition, ToastType };