@guildofgleks/ui 21.3.0 → 21.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -21
- package/README.md +320 -320
- package/fesm2022/guildofgleks-ui.mjs +226 -44
- package/fesm2022/guildofgleks-ui.mjs.map +1 -1
- package/package.json +2 -2
- package/src/styles/index.css +17 -17
- package/src/styles/theme.css +1661 -1643
- package/types/guildofgleks-ui.d.ts +137 -7
|
@@ -85,6 +85,8 @@ type GogTabsAlign = 'start' | 'center' | 'end' | 'stretch';
|
|
|
85
85
|
type GogDateSelectionMode = 'single' | 'range';
|
|
86
86
|
/** Clock convention for `gog-datepicker`'s time section. */
|
|
87
87
|
type GogHourFormat = '12' | '24';
|
|
88
|
+
/** Matches the native CSS `resize` value space, applied to `gog-textarea`'s field. */
|
|
89
|
+
type GogTextareaResize = 'vertical' | 'horizontal' | 'both' | 'none';
|
|
88
90
|
|
|
89
91
|
declare class ButtonComponent {
|
|
90
92
|
variant: _angular_core.InputSignal<GogVariant>;
|
|
@@ -739,6 +741,13 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
|
|
|
739
741
|
readonly filterLocal: _angular_core.InputSignal<boolean>;
|
|
740
742
|
/** How many characters before the panel opens at all. */
|
|
741
743
|
readonly minLength: _angular_core.InputSignal<number | undefined>;
|
|
744
|
+
/**
|
|
745
|
+
* Whether focusing the field opens the panel immediately, showing the full option list —
|
|
746
|
+
* before `minLength` would otherwise have let anything through. Off, the field behaves as
|
|
747
|
+
* before: nothing opens until enough has been typed. Unset, falls back to
|
|
748
|
+
* `GOG_CONFIG.autocomplete.openOnFocus`, then to `true`.
|
|
749
|
+
*/
|
|
750
|
+
readonly openOnFocus: _angular_core.InputSignal<boolean | undefined>;
|
|
742
751
|
/** Milliseconds of quiet before `gogSearch` fires. `0` emits on every keystroke. */
|
|
743
752
|
readonly searchDebounce: _angular_core.InputSignal<number | undefined>;
|
|
744
753
|
/** Shows a spinner in the trailing slot — for a server-backed source that is still loading. */
|
|
@@ -759,6 +768,12 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
|
|
|
759
768
|
readonly forceSelection: _angular_core.InputSignal<boolean>;
|
|
760
769
|
/** The current query, debounced. Wire a server-side lookup to this. */
|
|
761
770
|
readonly gogSearch: _angular_core.OutputEmitterRef<string>;
|
|
771
|
+
/**
|
|
772
|
+
* Fires when the panel is scrolled to the end of the option list — the signal to fetch and
|
|
773
|
+
* append another page of a large or server-backed source, rather than handing the whole
|
|
774
|
+
* thing over up front. Forwarded from the panel's own `gog-scroll`.
|
|
775
|
+
*/
|
|
776
|
+
readonly gogLoadMore: _angular_core.OutputEmitterRef<void>;
|
|
762
777
|
protected readonly panelTemplate: _angular_core.Signal<TemplateRef<unknown> | undefined>;
|
|
763
778
|
/** A cleared autocomplete is `null`, whatever `TValue` the consumer bound. */
|
|
764
779
|
protected readonly emptyValue: TValue;
|
|
@@ -780,8 +795,17 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
|
|
|
780
795
|
protected optionId(index: number): string;
|
|
781
796
|
protected readonly resolvedMinLength: _angular_core.Signal<number>;
|
|
782
797
|
private readonly resolvedDebounce;
|
|
798
|
+
protected readonly resolvedOpenOnFocus: _angular_core.Signal<boolean>;
|
|
783
799
|
/** What is actually in the `<input>`. Not the same thing as the committed `value`. */
|
|
784
800
|
protected readonly query: _angular_core.WritableSignal<string>;
|
|
801
|
+
/**
|
|
802
|
+
* True right after `openOnFocus` opens the panel, until the user actually types. The field
|
|
803
|
+
* may already be showing a previously-selected label at that point — this keeps the panel's
|
|
804
|
+
* list unfiltered by it, so focusing shows every option rather than just the one that
|
|
805
|
+
* happens to match the current text. Cleared on the first keystroke, so filtering resumes
|
|
806
|
+
* exactly as before.
|
|
807
|
+
*/
|
|
808
|
+
protected readonly browsingAll: _angular_core.WritableSignal<boolean>;
|
|
785
809
|
/**
|
|
786
810
|
* Which option the arrows have highlighted. `-1` means none — Enter then does nothing rather
|
|
787
811
|
* than committing whichever row happened to be first, which is what stops a fast typist from
|
|
@@ -829,7 +853,7 @@ declare class AutocompleteComponent<TOption = GogDropdownOption, TValue = string
|
|
|
829
853
|
private scheduleSearch;
|
|
830
854
|
private cancelPendingSearch;
|
|
831
855
|
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>;
|
|
856
|
+
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
857
|
}
|
|
834
858
|
|
|
835
859
|
/**
|
|
@@ -885,7 +909,7 @@ declare class GogBadgeDirective {
|
|
|
885
909
|
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
910
|
}
|
|
887
911
|
|
|
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';
|
|
912
|
+
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
913
|
declare const ICON_DEFS: Record<GogIconName, string>;
|
|
890
914
|
|
|
891
915
|
declare class IconComponent {
|
|
@@ -1132,6 +1156,26 @@ declare class TabsComponent implements GogTabsState {
|
|
|
1132
1156
|
readonly size: _angular_core.InputSignal<GogSize>;
|
|
1133
1157
|
readonly fullWidth: _angular_core.InputSignal<boolean>;
|
|
1134
1158
|
readonly ariaLabel: _angular_core.InputSignal<string>;
|
|
1159
|
+
/**
|
|
1160
|
+
* Whether selecting a tab scrolls the (possibly overflowing) header row so the active tab
|
|
1161
|
+
* stays in view — centered where there's room, so its neighbours on both sides stay visible
|
|
1162
|
+
* too, the same "always show what's around the current position" idea `gog-paginator` uses
|
|
1163
|
+
* for pages. Reacts to `activeIndex` however it changes: a click, the arrow keys, or a
|
|
1164
|
+
* consumer setting it directly. On by default; turn it off for a header that never actually
|
|
1165
|
+
* overflows, or to own the scroll position yourself.
|
|
1166
|
+
*/
|
|
1167
|
+
readonly scrollActiveIntoView: _angular_core.InputSignal<boolean>;
|
|
1168
|
+
/**
|
|
1169
|
+
* Whether the header row shows its own draggable scroll thumb/track. Native scrolling
|
|
1170
|
+
* (wheel, touch, keyboard) works the same regardless; this is purely the visual affordance.
|
|
1171
|
+
*
|
|
1172
|
+
* Unset, it follows `scrollActiveIntoView`: hidden while that's on, since a second scroll
|
|
1173
|
+
* indicator sitting right next to the active-tab underline reads as two conflicting signals
|
|
1174
|
+
* for the same thing once selecting a tab already moves the row on its own; shown while it's
|
|
1175
|
+
* off, since the track is then the only way to reach an off-screen tab without a keyboard.
|
|
1176
|
+
* Set explicitly to pin it either way regardless of `scrollActiveIntoView`.
|
|
1177
|
+
*/
|
|
1178
|
+
readonly showScrollTrack: _angular_core.InputSignal<boolean | undefined>;
|
|
1135
1179
|
/** Emits the newly active index whenever it changes, including via keyboard. */
|
|
1136
1180
|
readonly gogTabChange: _angular_core.OutputEmitterRef<number>;
|
|
1137
1181
|
protected readonly headerSlot: _angular_core.Signal<GogTabHeaderDirective | undefined>;
|
|
@@ -1144,6 +1188,13 @@ declare class TabsComponent implements GogTabsState {
|
|
|
1144
1188
|
protected readonly resolvedIndex: _angular_core.Signal<number>;
|
|
1145
1189
|
/** Read by each `gog-tab` through `GOG_TABS_STATE`; see `tabs-state.ts`. */
|
|
1146
1190
|
readonly activeTab: _angular_core.Signal<TabComponent | null>;
|
|
1191
|
+
/** See `showScrollTrack`'s doc for why this defaults off precisely when the other is on. */
|
|
1192
|
+
protected readonly resolvedShowScrollTrack: _angular_core.Signal<boolean>;
|
|
1193
|
+
private readonly isBrowser;
|
|
1194
|
+
/** Instant for the first scroll (page load shouldn't animate into place), smooth after. */
|
|
1195
|
+
private hasScrolledOnce;
|
|
1196
|
+
constructor();
|
|
1197
|
+
private prefersReducedMotion;
|
|
1147
1198
|
protected readonly hostClasses: _angular_core.Signal<string>;
|
|
1148
1199
|
protected selectIndex(index: number): void;
|
|
1149
1200
|
protected headerContext(tab: TabComponent, index: number): GogTabHeaderContext;
|
|
@@ -1154,7 +1205,7 @@ declare class TabsComponent implements GogTabsState {
|
|
|
1154
1205
|
*/
|
|
1155
1206
|
protected onHeaderKeydown(event: KeyboardEvent): void;
|
|
1156
1207
|
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>;
|
|
1208
|
+
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
1209
|
}
|
|
1159
1210
|
|
|
1160
1211
|
/**
|
|
@@ -2086,6 +2137,20 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2086
2137
|
readonly max: _angular_core.InputSignal<number | null>;
|
|
2087
2138
|
/** Only applied when `type="number"`. */
|
|
2088
2139
|
readonly step: _angular_core.InputSignal<number | null>;
|
|
2140
|
+
/**
|
|
2141
|
+
* Whether a `type="number"` field shows the library's own increment/decrement buttons in
|
|
2142
|
+
* place of the browser's native (and inconsistently-styled across platforms) spin glyphs.
|
|
2143
|
+
* The native glyphs are always hidden on a number field regardless of this — off just means
|
|
2144
|
+
* no stepper UI at all, not a fallback to the native one. Arrow-key stepping on the focused
|
|
2145
|
+
* field keeps working either way; that's native `<input type="number">` behaviour, unrelated
|
|
2146
|
+
* to which glyphs are visible. Unset, falls back to `GOG_CONFIG.inputfield.showSpinButtons`,
|
|
2147
|
+
* then to `true`.
|
|
2148
|
+
*/
|
|
2149
|
+
readonly showSpinButtons: _angular_core.InputSignal<boolean | undefined>;
|
|
2150
|
+
/** aria-label for the number field's increment button. */
|
|
2151
|
+
readonly incrementLabel: _angular_core.InputSignal<string>;
|
|
2152
|
+
/** aria-label for the number field's decrement button. */
|
|
2153
|
+
readonly decrementLabel: _angular_core.InputSignal<string>;
|
|
2089
2154
|
readonly errorMessage: _angular_core.InputSignal<string>;
|
|
2090
2155
|
/**
|
|
2091
2156
|
* See `GogErrorDisplay`. Unset, falls back to `GOG_CONFIG.control.errorDisplay`, then to
|
|
@@ -2169,9 +2234,15 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2169
2234
|
* 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
2235
|
*/
|
|
2171
2236
|
protected readonly sizeClass: _angular_core.Signal<string>;
|
|
2237
|
+
protected readonly resolvedShowSpinButtons: _angular_core.Signal<boolean>;
|
|
2172
2238
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
2173
2239
|
protected readonly isPasswordField: _angular_core.Signal<boolean>;
|
|
2174
2240
|
protected readonly isNumberField: _angular_core.Signal<boolean>;
|
|
2241
|
+
protected readonly hasSpinButtons: _angular_core.Signal<boolean>;
|
|
2242
|
+
/** Current field value as a number, or `null` while empty. */
|
|
2243
|
+
private readonly numericValue;
|
|
2244
|
+
protected readonly isAtMin: _angular_core.Signal<boolean>;
|
|
2245
|
+
protected readonly isAtMax: _angular_core.Signal<boolean>;
|
|
2175
2246
|
protected readonly effectiveType: _angular_core.Signal<"number" | "text" | "password" | "email" | "date">;
|
|
2176
2247
|
protected readonly effectiveAutocomplete: _angular_core.Signal<string>;
|
|
2177
2248
|
protected readonly hasError: _angular_core.Signal<boolean>;
|
|
@@ -2211,12 +2282,14 @@ declare class InputfieldComponent implements ControlValueAccessor, DoCheck {
|
|
|
2211
2282
|
protected onIconStartClick(): void;
|
|
2212
2283
|
protected onIconEndClick(): void;
|
|
2213
2284
|
onInput(event: Event): void;
|
|
2285
|
+
/** Increments (`direction: 1`) or decrements (`direction: -1`) by `step`, clamped to min/max. */
|
|
2286
|
+
protected stepValue(direction: 1 | -1): void;
|
|
2214
2287
|
/** Clears the field and notifies any attached form, then returns focus to the input. */
|
|
2215
2288
|
protected clearValue(event: Event): void;
|
|
2216
2289
|
onFocus(): void;
|
|
2217
2290
|
onBlur(): void;
|
|
2218
2291
|
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>;
|
|
2292
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputfieldComponent, "gog-inputfield", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "step": { "alias": "step"; "required": false; "isSignal": true; }; "showSpinButtons": { "alias": "showSpinButtons"; "required": false; "isSignal": true; }; "incrementLabel": { "alias": "incrementLabel"; "required": false; "isSignal": true; }; "decrementLabel": { "alias": "decrementLabel"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "iconStart": { "alias": "iconStart"; "required": false; "isSignal": true; }; "iconEnd": { "alias": "iconEnd"; "required": false; "isSignal": true; }; "iconStartTemplate": { "alias": "iconStartTemplate"; "required": false; "isSignal": true; }; "iconEndTemplate": { "alias": "iconEndTemplate"; "required": false; "isSignal": true; }; "iconStartFn": { "alias": "iconStartFn"; "required": false; "isSignal": true; }; "iconEndFn": { "alias": "iconEndFn"; "required": false; "isSignal": true; }; "iconStartLabel": { "alias": "iconStartLabel"; "required": false; "isSignal": true; }; "iconEndLabel": { "alias": "iconEndLabel"; "required": false; "isSignal": true; }; "showPasswordLabel": { "alias": "showPasswordLabel"; "required": false; "isSignal": true; }; "hidePasswordLabel": { "alias": "hidePasswordLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, ["addonStart", "addonEnd"], ["[gogInputAddonStart]", "[gogInputAddonEnd]"], true, never>;
|
|
2220
2293
|
}
|
|
2221
2294
|
|
|
2222
2295
|
declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
@@ -2235,6 +2308,14 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2235
2308
|
readonly size: _angular_core.InputSignal<GogSize | undefined>;
|
|
2236
2309
|
/** Native `rows` attribute, controlling the field's initial height. */
|
|
2237
2310
|
readonly rows: _angular_core.InputSignal<number>;
|
|
2311
|
+
/**
|
|
2312
|
+
* Which direction(s) the field's own drag handle resizes it in — matches the native CSS
|
|
2313
|
+
* `resize` value space (`'vertical'`, `'horizontal'`, `'both'`, `'none'`). Unset, falls back
|
|
2314
|
+
* to `GOG_CONFIG.textarea.resize`, then to `'vertical'`, matching a plain `<textarea>`. The
|
|
2315
|
+
* handle itself is restyled to be more visible than the browser's default glyph; `'none'`
|
|
2316
|
+
* removes it entirely.
|
|
2317
|
+
*/
|
|
2318
|
+
readonly resize: _angular_core.InputSignal<GogTextareaResize | undefined>;
|
|
2238
2319
|
/**
|
|
2239
2320
|
* Full width of the container by default, matching every other field-style control.
|
|
2240
2321
|
* Set to `false` to shrink the field to fit its content instead.
|
|
@@ -2255,9 +2336,11 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2255
2336
|
readonly value: _angular_core.ModelSignal<string>;
|
|
2256
2337
|
private readonly ngControl;
|
|
2257
2338
|
private readonly globalConfig;
|
|
2339
|
+
private readonly destroyRef;
|
|
2258
2340
|
private readonly cvaDisabled;
|
|
2259
2341
|
/** Instance input → `GOG_CONFIG` → the component's own default. See `resolveConfigured`. */
|
|
2260
2342
|
protected readonly resolvedSize: _angular_core.Signal<GogSize>;
|
|
2343
|
+
protected readonly resolvedResize: _angular_core.Signal<GogTextareaResize>;
|
|
2261
2344
|
private readonly resolvedErrorDisplay;
|
|
2262
2345
|
private readonly errorState;
|
|
2263
2346
|
/** Set from `(focus)`/`(blur)` on the `<textarea>` — see `onFocus`/`onBlur`. */
|
|
@@ -2272,6 +2355,15 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2272
2355
|
* isn't scrolling, which shifts the resting layout of every textarea.
|
|
2273
2356
|
*/
|
|
2274
2357
|
protected readonly scrollbarWidth: _angular_core.WritableSignal<number>;
|
|
2358
|
+
/**
|
|
2359
|
+
* How far the field's own right/bottom edge currently sits from its container's — 0 unless
|
|
2360
|
+
* the user has dragged the resize handle to make the field narrower/shorter than its
|
|
2361
|
+
* container. The resize grip is anchored to the container (a `<textarea>` can't reliably
|
|
2362
|
+
* host `::after`), so without this it stays put at the container's original corner instead
|
|
2363
|
+
* of following the field's own as it's resized.
|
|
2364
|
+
*/
|
|
2365
|
+
protected readonly resizeInsetRight: _angular_core.WritableSignal<number>;
|
|
2366
|
+
protected readonly resizeInsetBottom: _angular_core.WritableSignal<number>;
|
|
2275
2367
|
/**
|
|
2276
2368
|
* The single size modifier, replacing one `[class.gog-input-wrapper--<size>]` binding per size.
|
|
2277
2369
|
* 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.
|
|
@@ -2302,7 +2394,7 @@ declare class TextareaComponent implements ControlValueAccessor, DoCheck {
|
|
|
2302
2394
|
onFocus(): void;
|
|
2303
2395
|
onBlur(): void;
|
|
2304
2396
|
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>;
|
|
2397
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextareaComponent, "gog-textarea", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "errorMessage": { "alias": "errorMessage"; "required": false; "isSignal": true; }; "errorDisplay": { "alias": "errorDisplay"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rows": { "alias": "rows"; "required": false; "isSignal": true; }; "resize": { "alias": "resize"; "required": false; "isSignal": true; }; "fullWidth": { "alias": "fullWidth"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearAriaLabel": { "alias": "clearAriaLabel"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatLabelShowPlaceholder": { "alias": "floatLabelShowPlaceholder"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
|
|
2306
2398
|
}
|
|
2307
2399
|
|
|
2308
2400
|
declare class ChipComponent {
|
|
@@ -2651,6 +2743,17 @@ declare class ScrollComponent {
|
|
|
2651
2743
|
* for what each value does.
|
|
2652
2744
|
*/
|
|
2653
2745
|
readonly overscrollBehavior: _angular_core.InputSignal<GogScrollOverscrollBehavior | undefined>;
|
|
2746
|
+
/**
|
|
2747
|
+
* Whether the overlay thumb/track ever renders. Native scrolling — wheel, touch, keyboard,
|
|
2748
|
+
* focus-into-view, and any programmatic `scrollTo`/`scrollIntoView` — keeps working exactly
|
|
2749
|
+
* the same either way; this only controls the visual affordance, not `overflow` or scroll
|
|
2750
|
+
* containment (see `viewportOverflowY`/`X`). Off suits a viewport whose *position* is already
|
|
2751
|
+
* driven some other way — `gog-tabs`' `scrollActiveIntoView` is the case this exists for,
|
|
2752
|
+
* where a second, independent scroll indicator next to the active-tab underline reads as two
|
|
2753
|
+
* conflicting signals for the same thing. Unset, falls back to `GOG_CONFIG.scroll.showTrack`,
|
|
2754
|
+
* then to `true`.
|
|
2755
|
+
*/
|
|
2756
|
+
readonly showTrack: _angular_core.InputSignal<boolean | undefined>;
|
|
2654
2757
|
readonly gogScroll: _angular_core.OutputEmitterRef<GogScrollMetrics>;
|
|
2655
2758
|
readonly gogReachStart: _angular_core.OutputEmitterRef<GogScrollDirection>;
|
|
2656
2759
|
readonly gogReachEnd: _angular_core.OutputEmitterRef<GogScrollDirection>;
|
|
@@ -2686,6 +2789,7 @@ declare class ScrollComponent {
|
|
|
2686
2789
|
protected readonly resolvedAutoHide: _angular_core.Signal<boolean>;
|
|
2687
2790
|
protected readonly resolvedHideDelay: _angular_core.Signal<number>;
|
|
2688
2791
|
protected readonly resolvedOverscrollBehavior: _angular_core.Signal<GogScrollOverscrollBehavior>;
|
|
2792
|
+
protected readonly resolvedShowTrack: _angular_core.Signal<boolean>;
|
|
2689
2793
|
/**
|
|
2690
2794
|
* Only applies `resolvedOverscrollBehavior` on an axis that's actually acting as a scroll
|
|
2691
2795
|
* container — on an axis that's `visible` (see viewportOverflowY/X above) there is no
|
|
@@ -2732,7 +2836,7 @@ declare class ScrollComponent {
|
|
|
2732
2836
|
private measure;
|
|
2733
2837
|
private checkReach;
|
|
2734
2838
|
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>;
|
|
2839
|
+
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
2840
|
}
|
|
2737
2841
|
|
|
2738
2842
|
declare class SpinnerOverlayComponent {
|
|
@@ -3067,6 +3171,11 @@ interface GogGlobalConfig {
|
|
|
3067
3171
|
hideDelay?: number;
|
|
3068
3172
|
size?: GogScrollSize;
|
|
3069
3173
|
overscrollBehavior?: GogScrollOverscrollBehavior;
|
|
3174
|
+
/**
|
|
3175
|
+
* Whether the overlay thumb/track ever renders. Scrolling itself is unaffected either way
|
|
3176
|
+
* — this is purely the visual affordance. Defaults to `true`.
|
|
3177
|
+
*/
|
|
3178
|
+
showTrack?: boolean;
|
|
3070
3179
|
};
|
|
3071
3180
|
button?: {
|
|
3072
3181
|
debounce?: number;
|
|
@@ -3152,6 +3261,27 @@ interface GogGlobalConfig {
|
|
|
3152
3261
|
searchDebounce?: number;
|
|
3153
3262
|
/** How many characters before the panel opens at all. */
|
|
3154
3263
|
minLength?: number;
|
|
3264
|
+
/**
|
|
3265
|
+
* Whether focusing the field opens the panel immediately, showing the full option list.
|
|
3266
|
+
* Defaults to `true`.
|
|
3267
|
+
*/
|
|
3268
|
+
openOnFocus?: boolean;
|
|
3269
|
+
};
|
|
3270
|
+
/** Applies to `gog-inputfield`. */
|
|
3271
|
+
inputfield?: {
|
|
3272
|
+
/**
|
|
3273
|
+
* Whether a `type="number"` field shows the library's own spin buttons in place of the
|
|
3274
|
+
* browser's native ones. Defaults to `true`.
|
|
3275
|
+
*/
|
|
3276
|
+
showSpinButtons?: boolean;
|
|
3277
|
+
};
|
|
3278
|
+
/** Applies to `gog-textarea`. */
|
|
3279
|
+
textarea?: {
|
|
3280
|
+
/**
|
|
3281
|
+
* Which direction(s) the field's own drag handle resizes it in — matches the native CSS
|
|
3282
|
+
* `resize` value space. Defaults to `'vertical'`.
|
|
3283
|
+
*/
|
|
3284
|
+
resize?: GogTextareaResize;
|
|
3155
3285
|
};
|
|
3156
3286
|
toast?: {
|
|
3157
3287
|
position?: ToastPosition;
|
|
@@ -3277,4 +3407,4 @@ declare const GOG_TOKEN_GROUPS: readonly GogTokenGroup[];
|
|
|
3277
3407
|
type GogTooltipSide = 'top' | 'bottom' | 'left' | 'right';
|
|
3278
3408
|
|
|
3279
3409
|
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 };
|
|
3410
|
+
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, GogTextareaResize, GogTokenGroup, GogTokenLayer, GogTokenName, GogTooltipPosition, GogTooltipSide, GogVariant, OpenDialog, SortDirection, Toast, ToastAction, ToastConfig, ToastPosition, ToastType };
|