@ngstarter-ui/components 21.0.48 → 21.0.50
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/ai/component-registry.json +78 -27
- package/fesm2022/ngstarter-ui-components-country-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-country-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-currency-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-data-view.mjs +70 -10
- package/fesm2022/ngstarter-ui-components-data-view.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-date-format-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-filter-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-form-builder.mjs +273 -31
- package/fesm2022/ngstarter-ui-components-form-builder.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-image-designer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-option.mjs +2 -2
- package/fesm2022/ngstarter-ui-components-option.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-paginator.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-pdf-viewer.mjs +3 -3
- package/fesm2022/ngstarter-ui-components-pdf-viewer.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-select.mjs +474 -27
- package/fesm2022/ngstarter-ui-components-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-tabs.mjs +4 -4
- package/fesm2022/ngstarter-ui-components-tabs.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs +1 -1
- package/fesm2022/ngstarter-ui-components-timezone-select.mjs.map +1 -1
- package/fesm2022/ngstarter-ui-components-toolbar.mjs +9 -6
- package/fesm2022/ngstarter-ui-components-toolbar.mjs.map +1 -1
- package/package.json +1 -1
- package/styles/_common.scss +1 -1
- package/styles/_tokens.scss +7 -1
- package/types/ngstarter-ui-components-data-view.d.ts +23 -11
- package/types/ngstarter-ui-components-form-builder.d.ts +63 -14
- package/types/ngstarter-ui-components-select.d.ts +112 -3
- package/types/ngstarter-ui-components-toolbar.d.ts +5 -2
|
@@ -56,6 +56,63 @@ declare abstract class _Select {
|
|
|
56
56
|
}
|
|
57
57
|
declare const SELECT: InjectionToken<_Select>;
|
|
58
58
|
|
|
59
|
+
interface SelectDataSourceRequest {
|
|
60
|
+
search: string;
|
|
61
|
+
page: number;
|
|
62
|
+
pageSize: number;
|
|
63
|
+
cursor?: unknown;
|
|
64
|
+
selectedValues: unknown[];
|
|
65
|
+
reason: 'initial' | 'open' | 'search' | 'page';
|
|
66
|
+
signal?: AbortSignal;
|
|
67
|
+
}
|
|
68
|
+
interface SelectDataSourceOption<T = unknown> {
|
|
69
|
+
label: string;
|
|
70
|
+
value: unknown;
|
|
71
|
+
disabled?: boolean;
|
|
72
|
+
data?: T;
|
|
73
|
+
}
|
|
74
|
+
interface SelectDataSourceResult<T = unknown> {
|
|
75
|
+
items: SelectDataSourceOption<T>[];
|
|
76
|
+
hasMore?: boolean;
|
|
77
|
+
total?: number;
|
|
78
|
+
nextCursor?: unknown;
|
|
79
|
+
}
|
|
80
|
+
type SelectDataSource<T = unknown> = (request: SelectDataSourceRequest) => Promise<SelectDataSourceResult<T> | SelectDataSourceOption<T>[]>;
|
|
81
|
+
|
|
82
|
+
interface SelectOptionContentContext<T = any> {
|
|
83
|
+
$implicit: T;
|
|
84
|
+
data: T;
|
|
85
|
+
option: SelectDataSourceOption<T>;
|
|
86
|
+
value: unknown;
|
|
87
|
+
label: string;
|
|
88
|
+
selected: boolean;
|
|
89
|
+
disabled: boolean;
|
|
90
|
+
multiple: boolean;
|
|
91
|
+
}
|
|
92
|
+
declare class SelectOptionContentDef<T = any> {
|
|
93
|
+
readonly templateRef: TemplateRef<SelectOptionContentContext<T>>;
|
|
94
|
+
static ngTemplateContextGuard<T>(_directive: SelectOptionContentDef<T>, _context: unknown): _context is SelectOptionContentContext<T>;
|
|
95
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectOptionContentDef<any>, never>;
|
|
96
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectOptionContentDef<any>, "ng-template[ngsOptionContentDef]", never, {}, {}, never, never, true, never>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
interface SelectValueContext<T = any> {
|
|
100
|
+
$implicit: T | T[] | null;
|
|
101
|
+
data: T | T[] | null;
|
|
102
|
+
option: SelectDataSourceOption<T> | SelectDataSourceOption<T>[] | null;
|
|
103
|
+
value: unknown | unknown[] | null;
|
|
104
|
+
label: string;
|
|
105
|
+
labels: string[];
|
|
106
|
+
count: number;
|
|
107
|
+
multiple: boolean;
|
|
108
|
+
}
|
|
109
|
+
declare class SelectValueDef<T = any> {
|
|
110
|
+
readonly templateRef: TemplateRef<SelectValueContext<T>>;
|
|
111
|
+
static ngTemplateContextGuard<T>(_directive: SelectValueDef<T>, _context: unknown): _context is SelectValueContext<T>;
|
|
112
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectValueDef<any>, never>;
|
|
113
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectValueDef<any>, "ng-template[ngsSelectValueDef]", never, {}, {}, never, never, true, never>;
|
|
114
|
+
}
|
|
115
|
+
|
|
59
116
|
declare class SelectChange {
|
|
60
117
|
source: Select;
|
|
61
118
|
value: any;
|
|
@@ -82,6 +139,12 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
82
139
|
multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
83
140
|
hideCheckIcon: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
84
141
|
clearable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
142
|
+
dataSource: _angular_core.InputSignal<SelectDataSource | null | undefined>;
|
|
143
|
+
pageSize: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
144
|
+
searchable: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
145
|
+
searchDebounce: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
146
|
+
minSearchLength: _angular_core.InputSignalWithTransform<number, unknown>;
|
|
147
|
+
loadOnOpen: _angular_core.InputSignalWithTransform<boolean, unknown>;
|
|
85
148
|
ariaLabel: _angular_core.InputSignal<string | null>;
|
|
86
149
|
tabIndex: _angular_core.InputSignalWithTransform<number, any>;
|
|
87
150
|
ariaDescribedby: _angular_core.InputSignal<string | null>;
|
|
@@ -90,10 +153,14 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
90
153
|
readonly selectionChange: _angular_core.OutputEmitterRef<any>;
|
|
91
154
|
readonly opened: _angular_core.OutputEmitterRef<void>;
|
|
92
155
|
readonly closed: _angular_core.OutputEmitterRef<void>;
|
|
93
|
-
|
|
156
|
+
private projectedOptions;
|
|
157
|
+
private dataSourceOptions;
|
|
158
|
+
options: _angular_core.Signal<_Option[]>;
|
|
94
159
|
optionGroups: _angular_core.Signal<readonly Optgroup[]>;
|
|
95
160
|
customTrigger: _angular_core.Signal<readonly SelectTrigger[]>;
|
|
96
161
|
filterTrigger: _angular_core.Signal<readonly FilterTrigger[]>;
|
|
162
|
+
optionContentDef: _angular_core.Signal<SelectOptionContentDef<any> | undefined>;
|
|
163
|
+
selectValueDef: _angular_core.Signal<SelectValueDef<any> | undefined>;
|
|
97
164
|
overlayDir: _angular_core.Signal<CdkConnectedOverlay | undefined>;
|
|
98
165
|
panel: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
|
|
99
166
|
origin: _angular_core.Signal<CdkOverlayOrigin | undefined>;
|
|
@@ -109,6 +176,22 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
109
176
|
_optionsContentChanges: _angular_core.WritableSignal<number>;
|
|
110
177
|
private _errorState;
|
|
111
178
|
get errorState(): boolean;
|
|
179
|
+
protected readonly asyncOptions: _angular_core.WritableSignal<SelectDataSourceOption<unknown>[]>;
|
|
180
|
+
protected readonly asyncSearch: _angular_core.WritableSignal<string>;
|
|
181
|
+
protected readonly asyncLoading: _angular_core.WritableSignal<boolean>;
|
|
182
|
+
protected readonly asyncLoadingMore: _angular_core.WritableSignal<boolean>;
|
|
183
|
+
protected readonly asyncError: _angular_core.WritableSignal<unknown>;
|
|
184
|
+
protected readonly asyncHasMore: _angular_core.WritableSignal<boolean>;
|
|
185
|
+
protected readonly asyncEnabled: _angular_core.Signal<boolean>;
|
|
186
|
+
private readonly _asyncSelectedCache;
|
|
187
|
+
private _asyncPage;
|
|
188
|
+
private _asyncCursor;
|
|
189
|
+
private _asyncSearchTimer;
|
|
190
|
+
private _asyncRequestId;
|
|
191
|
+
private _asyncAbortController;
|
|
192
|
+
private _lastDataSource;
|
|
193
|
+
private _lastInitialSelectedKey;
|
|
194
|
+
private _destroyed;
|
|
112
195
|
private _empty;
|
|
113
196
|
get empty(): boolean;
|
|
114
197
|
readonly hasValue: _angular_core.Signal<boolean>;
|
|
@@ -122,6 +205,8 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
122
205
|
triggerValue: _angular_core.Signal<string>;
|
|
123
206
|
selectedCount: _angular_core.Signal<number>;
|
|
124
207
|
selectedData: _angular_core.Signal<any>;
|
|
208
|
+
protected readonly selectValueContext: _angular_core.Signal<SelectValueContext<any>>;
|
|
209
|
+
protected readonly selectValueTemplateReady: _angular_core.Signal<boolean>;
|
|
125
210
|
ngAfterContentInit(): void;
|
|
126
211
|
private _resetOptions;
|
|
127
212
|
ngOnDestroy(): void;
|
|
@@ -141,15 +226,38 @@ declare class Select implements ControlValueAccessor, OnDestroy, AfterContentIni
|
|
|
141
226
|
focus(): void;
|
|
142
227
|
_handleKeydown(event: KeyboardEvent): void;
|
|
143
228
|
_onOptionClick(option: _Option): void;
|
|
229
|
+
protected onAsyncSearchInput(value: string): void;
|
|
230
|
+
protected onAsyncContentScroll(event: Event): void;
|
|
231
|
+
protected retryAsyncLoad(): void;
|
|
232
|
+
protected asyncOptionContext(option: SelectDataSourceOption): SelectOptionContentContext;
|
|
144
233
|
private _selectOption;
|
|
234
|
+
private _selectAsyncMultipleOption;
|
|
145
235
|
private _propagateChanges;
|
|
146
236
|
private _setSelectionByValue;
|
|
147
237
|
private _scrollToSelectedOption;
|
|
238
|
+
private _scrollToAsyncOptionValue;
|
|
239
|
+
private _scrollOptionElementIntoContainer;
|
|
240
|
+
private _setScrollTop;
|
|
148
241
|
private _getOptionIndex;
|
|
149
242
|
private _getOptionData;
|
|
150
243
|
private _selectValue;
|
|
244
|
+
private _loadFirstPage;
|
|
245
|
+
private _loadNextPage;
|
|
246
|
+
private _loadAsyncPage;
|
|
247
|
+
private _normalizeAsyncResult;
|
|
248
|
+
private _mergeAsyncOptions;
|
|
249
|
+
private _cacheAsyncSelectedOptions;
|
|
250
|
+
private _resetAsyncState;
|
|
251
|
+
private _selectedValues;
|
|
252
|
+
private _selectedValuesKey;
|
|
253
|
+
private _viewValueForValue;
|
|
254
|
+
private _dataForValue;
|
|
255
|
+
private _displayOptionForValue;
|
|
256
|
+
private _optionForValue;
|
|
257
|
+
private _asyncOptionForValue;
|
|
258
|
+
private _compareValues;
|
|
151
259
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<Select, never>;
|
|
152
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Select, "ngs-select", ["ngsSelect"], { "_id": { "alias": "id"; "required": false; "isSignal": true; }; "_placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "_required": { "alias": "required"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideCheckIcon": { "alias": "hideCheckIcon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "opened": "opened"; "closed": "closed"; "value": "valueChange"; }, ["selectBody", "
|
|
260
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<Select, "ngs-select", ["ngsSelect"], { "_id": { "alias": "id"; "required": false; "isSignal": true; }; "_placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "_disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "_required": { "alias": "required"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "hideCheckIcon": { "alias": "hideCheckIcon"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "dataSource": { "alias": "dataSource"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; "isSignal": true; }; "searchable": { "alias": "searchable"; "required": false; "isSignal": true; }; "searchDebounce": { "alias": "searchDebounce"; "required": false; "isSignal": true; }; "minSearchLength": { "alias": "minSearchLength"; "required": false; "isSignal": true; }; "loadOnOpen": { "alias": "loadOnOpen"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "tabIndex": { "alias": "tabIndex"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "aria-describedby"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "selectionChange": "selectionChange"; "opened": "opened"; "closed": "closed"; "value": "valueChange"; }, ["selectBody", "projectedOptions", "optionGroups", "customTrigger", "filterTrigger", "optionContentDef", "selectValueDef"], ["ngs-select-trigger", "ngs-filter-trigger", "ngs-select-header", "ngs-select-body", "ngs-optgroup,ngs-option", "*", "ngs-select-footer"], true, never>;
|
|
153
261
|
}
|
|
154
262
|
|
|
155
263
|
declare class SelectHeader {
|
|
@@ -162,4 +270,5 @@ declare class SelectFooter {
|
|
|
162
270
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectFooter, "ngs-select-footer", never, {}, {}, never, ["*"], true, never>;
|
|
163
271
|
}
|
|
164
272
|
|
|
165
|
-
export { FilterTrigger, FilterTriggerValueDirective, SELECT, Select, SelectBody, SelectChange, SelectFooter, SelectHeader, SelectTrigger, _Select };
|
|
273
|
+
export { FilterTrigger, FilterTriggerValueDirective, SELECT, Select, SelectBody, SelectChange, SelectFooter, SelectHeader, SelectOptionContentDef, SelectTrigger, SelectValueDef, _Select };
|
|
274
|
+
export type { SelectDataSource, SelectDataSourceOption, SelectDataSourceRequest, SelectDataSourceResult, SelectOptionContentContext, SelectValueContext };
|
|
@@ -56,7 +56,7 @@ declare class Toolbar implements AfterViewInit, OnDestroy {
|
|
|
56
56
|
protected _closeOverflowDialog(): void;
|
|
57
57
|
private _updateOverflow;
|
|
58
58
|
static ɵfac: i0.ɵɵFactoryDeclaration<Toolbar, never>;
|
|
59
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<Toolbar, "ngs-toolbar", ["ngsToolbar"], {}, {}, ["toolbarItems", "navItems", "spacers", "_rows"], ["
|
|
59
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<Toolbar, "ngs-toolbar", ["ngsToolbar"], {}, {}, ["toolbarItems", "navItems", "spacers", "_rows"], ["*"], true, never>;
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
declare class ToolbarNavLink {
|
|
@@ -66,9 +66,11 @@ declare class ToolbarNavLink {
|
|
|
66
66
|
static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarNavLink, "ngs-toolbar-nav-link,a[ngs-toolbar-nav-link]", ["ngsToolbarNavLink"], { "active": { "alias": "active"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
+
type ToolbarTitleAppearance = 'none' | 'large';
|
|
69
70
|
declare class ToolbarTitle {
|
|
71
|
+
appearance: i0.InputSignal<ToolbarTitleAppearance>;
|
|
70
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<ToolbarTitle, never>;
|
|
71
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarTitle, "ngs-toolbar-title", ["ngsToolbarTitle"], {}, {}, never, ["*"], true, never>;
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ToolbarTitle, "ngs-toolbar-title", ["ngsToolbarTitle"], { "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
72
74
|
}
|
|
73
75
|
|
|
74
76
|
declare class ToolbarSubtitle {
|
|
@@ -77,3 +79,4 @@ declare class ToolbarSubtitle {
|
|
|
77
79
|
}
|
|
78
80
|
|
|
79
81
|
export { Toolbar, ToolbarItem, ToolbarNav, ToolbarNavLink, ToolbarRow, ToolbarSpacer, ToolbarSubtitle, ToolbarTitle };
|
|
82
|
+
export type { ToolbarTitleAppearance };
|