@shival99/z-ui 1.9.22 → 1.9.23
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/fesm2022/shival99-z-ui-components-z-autocomplete.mjs +26 -186
- package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs +106 -247
- package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-editor.mjs +5 -0
- package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-gallery.mjs +109 -6
- package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-input.mjs +5 -0
- package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-kanban.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-kanban.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-menu.mjs +318 -2
- package/fesm2022/shival99-z-ui-components-z-menu.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-pagination.mjs +1 -1
- package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-select.mjs +45 -205
- package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-table.mjs +2 -2
- package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-tabs.mjs +15 -10
- package/fesm2022/shival99-z-ui-components-z-tabs.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-components-z-upload.mjs +5 -0
- package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-i18n.mjs +8 -0
- package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -1
- package/fesm2022/shival99-z-ui-utils.mjs +2 -69
- package/fesm2022/shival99-z-ui-utils.mjs.map +1 -1
- package/package.json +1 -1
- package/types/shival99-z-ui-components-z-autocomplete.d.ts +6 -37
- package/types/shival99-z-ui-components-z-calendar.d.ts +11 -1
- package/types/shival99-z-ui-components-z-editor.d.ts +8 -1
- package/types/shival99-z-ui-components-z-gallery.d.ts +38 -3
- package/types/shival99-z-ui-components-z-input.d.ts +8 -1
- package/types/shival99-z-ui-components-z-menu.d.ts +67 -2
- package/types/shival99-z-ui-components-z-modal.d.ts +1 -1
- package/types/shival99-z-ui-components-z-select.d.ts +12 -38
- package/types/shival99-z-ui-components-z-tabs.d.ts +3 -2
- package/types/shival99-z-ui-components-z-upload.d.ts +8 -0
- package/types/shival99-z-ui-utils.d.ts +2 -47
|
@@ -4,7 +4,7 @@ import { TemplateRef, Signal, OnInit, ElementRef, PipeTransform } from '@angular
|
|
|
4
4
|
import { ControlValueAccessor } from '@angular/forms';
|
|
5
5
|
import { ZIcon } from '@shival99/z-ui/components/z-icon';
|
|
6
6
|
import { ZPopoverPosition, ZPopoverControl } from '@shival99/z-ui/components/z-popover';
|
|
7
|
-
import {
|
|
7
|
+
import { ZEvent } from '@shival99/z-ui/utils';
|
|
8
8
|
import { ClassValue } from 'clsx';
|
|
9
9
|
import { Observable } from 'rxjs';
|
|
10
10
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
@@ -22,7 +22,12 @@ declare class ZSelectSelectedDirective<T = unknown> {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
interface ZSelectControl<T = unknown> {
|
|
25
|
-
/** Trigger validation and return true if
|
|
25
|
+
/** Trigger validation and return true if valid */
|
|
26
|
+
valid: () => boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Trigger validation and return true if has error.
|
|
29
|
+
* @deprecated Use `valid()` for boolean form-submit checks.
|
|
30
|
+
*/
|
|
26
31
|
validate: () => boolean;
|
|
27
32
|
/** Reset component to initial state */
|
|
28
33
|
reset: () => void;
|
|
@@ -57,15 +62,6 @@ interface ZSelectOption<T = unknown> {
|
|
|
57
62
|
group?: string;
|
|
58
63
|
icon?: string;
|
|
59
64
|
}
|
|
60
|
-
interface ZSelectConfig<T = unknown> {
|
|
61
|
-
/** Số ký tự tối thiểu trước khi gọi async.load khi người dùng search. */
|
|
62
|
-
minLength: number;
|
|
63
|
-
/** Debounce search tính bằng mili giây, ưu tiên hơn zDebounce khi được truyền trong zConfig. */
|
|
64
|
-
debounceTime: number;
|
|
65
|
-
/** Config để component tự search, load-more, loading và append options. */
|
|
66
|
-
async?: ZAsyncOptionsConfig<ZSelectOption<T>>;
|
|
67
|
-
}
|
|
68
|
-
declare const Z_SELECT_DEFAULT_CONFIG: Omit<ZSelectConfig, 'async'>;
|
|
69
65
|
interface ZSelectAsyncValidator<T = unknown> {
|
|
70
66
|
error: string;
|
|
71
67
|
message: string;
|
|
@@ -141,7 +137,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
141
137
|
readonly zVirtualScroll: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
142
138
|
readonly zShowAction: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
143
139
|
readonly zOptions: _angular_core.InputSignal<ZSelectOption<T>[]>;
|
|
144
|
-
readonly zConfig: _angular_core.InputSignal<Partial<ZSelectConfig<T>>>;
|
|
145
140
|
readonly zTranslateLabels: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
146
141
|
readonly zKey: _angular_core.InputSignal<string>;
|
|
147
142
|
readonly zSearchServer: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
|
|
@@ -166,12 +161,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
166
161
|
private readonly _allKnownOptions;
|
|
167
162
|
private readonly _asyncErrors;
|
|
168
163
|
private readonly _customError;
|
|
169
|
-
private readonly _asyncOptions;
|
|
170
|
-
private readonly _asyncKeyword;
|
|
171
|
-
private readonly _asyncPage;
|
|
172
|
-
private readonly _asyncHasMore;
|
|
173
|
-
private readonly _asyncLoading;
|
|
174
|
-
private readonly _asyncLoadingMore;
|
|
175
164
|
protected readonly uiState: _angular_core.WritableSignal<{
|
|
176
165
|
isOpen: boolean;
|
|
177
166
|
hasScrollShadow: boolean;
|
|
@@ -185,13 +174,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
185
174
|
protected readonly searchText: _angular_core.WritableSignal<string>;
|
|
186
175
|
protected readonly dropdownWidth: _angular_core.WritableSignal<number>;
|
|
187
176
|
protected readonly currentValue: _angular_core.Signal<T | T[] | null>;
|
|
188
|
-
protected readonly config: _angular_core.Signal<ZSelectConfig<T>>;
|
|
189
|
-
protected readonly hasAsyncOptions: _angular_core.Signal<boolean>;
|
|
190
|
-
protected readonly sourceOptions: _angular_core.Signal<ZSelectOption<T>[]>;
|
|
191
|
-
protected readonly isLoading: _angular_core.Signal<boolean>;
|
|
192
|
-
protected readonly isLoadingMore: _angular_core.Signal<boolean>;
|
|
193
|
-
protected readonly canLoadMore: _angular_core.Signal<boolean>;
|
|
194
|
-
protected readonly effectiveDebounceTime: _angular_core.Signal<number>;
|
|
195
177
|
protected readonly virtualizer: _shival99_angular_virtual.AngularVirtualizer<HTMLDivElement, Element>;
|
|
196
178
|
protected readonly isDisabled: _angular_core.Signal<boolean>;
|
|
197
179
|
protected readonly isReadonly: _angular_core.Signal<boolean>;
|
|
@@ -208,7 +190,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
208
190
|
protected readonly isTagsMode: _angular_core.Signal<boolean>;
|
|
209
191
|
protected readonly effectiveSelectedTemplate: _angular_core.Signal<TemplateRef<any> | null>;
|
|
210
192
|
protected readonly effectiveOptionTemplate: _angular_core.Signal<TemplateRef<any> | null>;
|
|
211
|
-
protected readonly knownOptions: _angular_core.Signal<ZSelectOption<T>[]>;
|
|
212
193
|
protected readonly shouldUseVirtualScroll: _angular_core.Signal<boolean>;
|
|
213
194
|
protected readonly selectedOption: _angular_core.Signal<ZSelectOption<T> | null>;
|
|
214
195
|
protected readonly selectedOptions: _angular_core.Signal<ZSelectOption<T>[]>;
|
|
@@ -234,8 +215,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
234
215
|
private readonly _asyncValidationSubject;
|
|
235
216
|
private _loadMoreObserver;
|
|
236
217
|
private _virtualScrollListener;
|
|
237
|
-
private _asyncLoadSubscription;
|
|
238
|
-
private _asyncRequestId;
|
|
239
218
|
private _asyncValidationAbortController;
|
|
240
219
|
private _onChange;
|
|
241
220
|
private _onTouched;
|
|
@@ -250,7 +229,9 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
250
229
|
reset(): void;
|
|
251
230
|
focus(): void;
|
|
252
231
|
blur(): void;
|
|
232
|
+
/** @deprecated Use `valid()` for boolean form-submit checks. */
|
|
253
233
|
validate(): boolean;
|
|
234
|
+
valid(): boolean;
|
|
254
235
|
setErrorMessage(message: string | null): void;
|
|
255
236
|
protected onTriggerKeydown(event: KeyboardEvent): void;
|
|
256
237
|
protected onTriggerMousedown(): void;
|
|
@@ -269,23 +250,16 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
|
|
|
269
250
|
protected toggleSelectAllAction(): void;
|
|
270
251
|
protected trackByValue: (_index: number, option: ZSelectOption<T>) => unknown;
|
|
271
252
|
private _emitControl;
|
|
272
|
-
private _loadAsyncOptionsOnFocus;
|
|
273
|
-
private _loadAsyncOptions;
|
|
274
|
-
private _handleAsyncOptionsError;
|
|
275
|
-
private _getAsyncOptionsScrollTop;
|
|
276
|
-
private _restoreAsyncOptionsScrollTop;
|
|
277
|
-
private _resetAsyncOptions;
|
|
278
253
|
private _setupLoadMoreObserver;
|
|
279
254
|
private _cleanupLoadMoreObserver;
|
|
280
255
|
private _setupVirtualScrollLoadMore;
|
|
281
256
|
private _cleanupVirtualScrollListener;
|
|
282
|
-
private _handleLoadMore;
|
|
283
257
|
private _getValidationErrors;
|
|
284
258
|
private _runAsyncValidation;
|
|
285
259
|
private _cancelAsyncValidation;
|
|
286
260
|
private _triggerAsyncValidation;
|
|
287
261
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZSelectComponent<any>, never>;
|
|
288
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSelectComponent<any>, "z-select", ["zSelect"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zMode": { "alias": "zMode"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zPlaceholder": { "alias": "zPlaceholder"; "required": false; "isSignal": true; }; "zRequired": { "alias": "zRequired"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zReadonly": { "alias": "zReadonly"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zWrap": { "alias": "zWrap"; "required": false; "isSignal": true; }; "zShowSearch": { "alias": "zShowSearch"; "required": false; "isSignal": true; }; "zPlaceholderSearch": { "alias": "zPlaceholderSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zNotFoundText": { "alias": "zNotFoundText"; "required": false; "isSignal": true; }; "zEmptyText": { "alias": "zEmptyText"; "required": false; "isSignal": true; }; "zEmptyIcon": { "alias": "zEmptyIcon"; "required": false; "isSignal": true; }; "zMaxTagCount": { "alias": "zMaxTagCount"; "required": false; "isSignal": true; }; "zDropdownMaxHeight": { "alias": "zDropdownMaxHeight"; "required": false; "isSignal": true; }; "zOptionHeight": { "alias": "zOptionHeight"; "required": false; "isSignal": true; }; "zVirtualScroll": { "alias": "zVirtualScroll"; "required": false; "isSignal": true; }; "zShowAction": { "alias": "zShowAction"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "
|
|
262
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSelectComponent<any>, "z-select", ["zSelect"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zMode": { "alias": "zMode"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zPlaceholder": { "alias": "zPlaceholder"; "required": false; "isSignal": true; }; "zRequired": { "alias": "zRequired"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zReadonly": { "alias": "zReadonly"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zWrap": { "alias": "zWrap"; "required": false; "isSignal": true; }; "zShowSearch": { "alias": "zShowSearch"; "required": false; "isSignal": true; }; "zPlaceholderSearch": { "alias": "zPlaceholderSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zNotFoundText": { "alias": "zNotFoundText"; "required": false; "isSignal": true; }; "zEmptyText": { "alias": "zEmptyText"; "required": false; "isSignal": true; }; "zEmptyIcon": { "alias": "zEmptyIcon"; "required": false; "isSignal": true; }; "zMaxTagCount": { "alias": "zMaxTagCount"; "required": false; "isSignal": true; }; "zDropdownMaxHeight": { "alias": "zDropdownMaxHeight"; "required": false; "isSignal": true; }; "zOptionHeight": { "alias": "zOptionHeight"; "required": false; "isSignal": true; }; "zVirtualScroll": { "alias": "zVirtualScroll"; "required": false; "isSignal": true; }; "zShowAction": { "alias": "zShowAction"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "zTranslateLabels": { "alias": "zTranslateLabels"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; "zSearchServer": { "alias": "zSearchServer"; "required": false; "isSignal": true; }; "zLoadingMore": { "alias": "zLoadingMore"; "required": false; "isSignal": true; }; "zEnableLoadMore": { "alias": "zEnableLoadMore"; "required": false; "isSignal": true; }; "zScrollDistance": { "alias": "zScrollDistance"; "required": false; "isSignal": true; }; "zMaxVisible": { "alias": "zMaxVisible"; "required": false; "isSignal": true; }; "zScrollClose": { "alias": "zScrollClose"; "required": false; "isSignal": true; }; "zPosition": { "alias": "zPosition"; "required": false; "isSignal": true; }; "zSelectedTemplate": { "alias": "zSelectedTemplate"; "required": false; "isSignal": true; }; "zOptionTemplate": { "alias": "zOptionTemplate"; "required": false; "isSignal": true; }; "zActionTemplate": { "alias": "zActionTemplate"; "required": false; "isSignal": true; }; "zAsyncValidators": { "alias": "zAsyncValidators"; "required": false; "isSignal": true; }; "zAsyncDebounce": { "alias": "zAsyncDebounce"; "required": false; "isSignal": true; }; "zAsyncValidateOn": { "alias": "zAsyncValidateOn"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "required": false; "isSignal": true; }; }, { "zOnSearch": "zOnSearch"; "zOnLoadMore": "zOnLoadMore"; "zOnBlur": "zOnBlur"; "zOnFocus": "zOnFocus"; "zControl": "zControl"; "zEvent": "zEvent"; }, ["customSelectedDirective", "customOptionDirective"], never, true, never>;
|
|
289
263
|
}
|
|
290
264
|
|
|
291
265
|
declare class ZIsSelectedPipe implements PipeTransform {
|
|
@@ -329,5 +303,5 @@ declare function filterOptions<T>(options: {
|
|
|
329
303
|
disabled?: boolean;
|
|
330
304
|
}[];
|
|
331
305
|
|
|
332
|
-
export { TAG_COLORS, ZIsSelectedPipe, ZOptionClassesPipe, ZSelectComponent, ZSelectOptionDirective, ZSelectSelectedDirective, ZTagClassesPipe,
|
|
333
|
-
export type { ZSelectAsyncValidateOn, ZSelectAsyncValidator,
|
|
306
|
+
export { TAG_COLORS, ZIsSelectedPipe, ZOptionClassesPipe, ZSelectComponent, ZSelectOptionDirective, ZSelectSelectedDirective, ZTagClassesPipe, filterOptions, getTagColor, zSelectOptionVariants, zSelectTagVariants, zSelectVariants };
|
|
307
|
+
export type { ZSelectAsyncValidateOn, ZSelectAsyncValidator, ZSelectControl, ZSelectLabelTemplate, ZSelectLoadMoreEvent, ZSelectMode, ZSelectOption, ZSelectOptionGroup, ZSelectOptionTemplate, ZSelectSize, ZSelectTagColor, ZSelectValidator };
|
|
@@ -34,6 +34,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
|
|
|
34
34
|
readonly zSize: _angular_core.InputSignal<ZTabsSize>;
|
|
35
35
|
readonly zOrientation: _angular_core.InputSignal<ZTabsOrientation>;
|
|
36
36
|
readonly zLazy: _angular_core.InputSignal<boolean>;
|
|
37
|
+
readonly zDestroyInactive: _angular_core.InputSignal<boolean>;
|
|
37
38
|
readonly zTabsOnly: _angular_core.InputSignal<boolean>;
|
|
38
39
|
readonly zReloadable: _angular_core.InputSignal<boolean>;
|
|
39
40
|
readonly activeTab: _angular_core.ModelSignal<string>;
|
|
@@ -41,6 +42,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
|
|
|
41
42
|
protected readonly loadedTabs: _angular_core.WritableSignal<Set<string>>;
|
|
42
43
|
protected readonly canScrollLeft: _angular_core.WritableSignal<boolean>;
|
|
43
44
|
protected readonly canScrollRight: _angular_core.WritableSignal<boolean>;
|
|
45
|
+
protected readonly panelRenderStates: _angular_core.Signal<Map<string, boolean>>;
|
|
44
46
|
private _resizeObserver?;
|
|
45
47
|
constructor();
|
|
46
48
|
ngAfterViewInit(): void;
|
|
@@ -49,7 +51,6 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
|
|
|
49
51
|
protected getTabItemClasses(_tab: ZTab): string;
|
|
50
52
|
protected selectTab(tab: ZTab, scrollToView?: boolean): void;
|
|
51
53
|
protected isTabActive(tab: ZTab): boolean;
|
|
52
|
-
protected shouldRenderPanel(tabValue: string): boolean;
|
|
53
54
|
protected onTabKeydown(event: KeyboardEvent, currentIndex: number): void;
|
|
54
55
|
protected checkScroll(): void;
|
|
55
56
|
protected scrollLeft(): void;
|
|
@@ -58,7 +59,7 @@ declare class ZTabsComponent implements AfterViewInit, OnDestroy {
|
|
|
58
59
|
private _setupResizeObserver;
|
|
59
60
|
protected scrollToActiveDropdownItem(): void;
|
|
60
61
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTabsComponent, never>;
|
|
61
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTabsComponent, "z-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTabs": { "alias": "zTabs"; "required": true; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zLazy": { "alias": "zLazy"; "required": false; "isSignal": true; }; "zTabsOnly": { "alias": "zTabsOnly"; "required": false; "isSignal": true; }; "zReloadable": { "alias": "zReloadable"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "zTabChange": "zTabChange"; }, ["tabPanels"], never, true, never>;
|
|
62
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTabsComponent, "z-tabs", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zTabs": { "alias": "zTabs"; "required": true; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zLazy": { "alias": "zLazy"; "required": false; "isSignal": true; }; "zDestroyInactive": { "alias": "zDestroyInactive"; "required": false; "isSignal": true; }; "zTabsOnly": { "alias": "zTabsOnly"; "required": false; "isSignal": true; }; "zReloadable": { "alias": "zReloadable"; "required": false; "isSignal": true; }; "activeTab": { "alias": "activeTab"; "required": false; "isSignal": true; }; }, { "activeTab": "activeTabChange"; "zTabChange": "zTabChange"; }, ["tabPanels"], never, true, never>;
|
|
62
63
|
}
|
|
63
64
|
|
|
64
65
|
declare const zTabsVariants: (props?: ({
|
|
@@ -28,6 +28,12 @@ interface ZUploadValidator {
|
|
|
28
28
|
validate?: (files: ZUploadFile[]) => boolean;
|
|
29
29
|
}
|
|
30
30
|
interface ZUploadControl {
|
|
31
|
+
/** Trigger validation and return true if valid */
|
|
32
|
+
valid: () => boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Trigger validation and return true if has error.
|
|
35
|
+
* @deprecated Use `valid()` for boolean form-submit checks.
|
|
36
|
+
*/
|
|
31
37
|
validate: () => boolean;
|
|
32
38
|
reset: () => void;
|
|
33
39
|
clearFiles: () => void;
|
|
@@ -106,7 +112,9 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
|
|
|
106
112
|
updateProgress(fileId: string, progress: number): void;
|
|
107
113
|
setFileStatus(fileId: string, status: ZUploadFile['status']): void;
|
|
108
114
|
clearFiles(): void;
|
|
115
|
+
/** @deprecated Use `valid()` for boolean form-submit checks. */
|
|
109
116
|
validate(): boolean;
|
|
117
|
+
valid(): boolean;
|
|
110
118
|
reset(): void;
|
|
111
119
|
markAsTouched(): void;
|
|
112
120
|
markAsUntouched(): void;
|
|
@@ -83,51 +83,6 @@ declare const zMiniSearch$: <T>(data: T[], query: string, fields: (keyof T | str
|
|
|
83
83
|
}) => Observable<T[]>;
|
|
84
84
|
declare const zDetectBrowser: () => ZBrowserInfo;
|
|
85
85
|
|
|
86
|
-
/** Thông tin truy vấn dùng cho autocomplete/select tự tải dữ liệu. */
|
|
87
|
-
interface ZAsyncOptionsQuery {
|
|
88
|
-
/** Từ khóa hiện tại người dùng đang nhập. */
|
|
89
|
-
keyword: string;
|
|
90
|
-
/** Trang cần tải, bắt đầu từ 1. */
|
|
91
|
-
page: number;
|
|
92
|
-
/** Số lượng option mong muốn trên mỗi trang. */
|
|
93
|
-
pageSize: number;
|
|
94
|
-
}
|
|
95
|
-
/** Kết quả trả về từ hàm tải option bất đồng bộ. */
|
|
96
|
-
interface ZAsyncOptionsResult<TOption> {
|
|
97
|
-
/** Danh sách option của trang hiện tại. */
|
|
98
|
-
items: TOption[];
|
|
99
|
-
/** Tổng số option trên server, dùng để component tự tính còn trang tiếp theo hay không. */
|
|
100
|
-
total?: number;
|
|
101
|
-
/** Đặt trực tiếp còn dữ liệu hay không khi API không trả total. */
|
|
102
|
-
hasMore?: boolean;
|
|
103
|
-
}
|
|
104
|
-
/** Kiểu dữ liệu hàm load có thể trả về: sync, Promise hoặc Observable. */
|
|
105
|
-
type ZAsyncOptionsLoadResult<TOption> = ZAsyncOptionsResult<TOption> | Promise<ZAsyncOptionsResult<TOption>> | Observable<ZAsyncOptionsResult<TOption>>;
|
|
106
|
-
/** Hàm tải option theo keyword/page/pageSize. */
|
|
107
|
-
type ZAsyncOptionsLoadFn<TOption> = (query: ZAsyncOptionsQuery) => ZAsyncOptionsLoadResult<TOption>;
|
|
108
|
-
/** Config giúp component tự xử lý search, phân trang, loading và chống trùng option. */
|
|
109
|
-
interface ZAsyncOptionsConfig<TOption> {
|
|
110
|
-
/** Hàm gọi API hoặc nguồn dữ liệu bất đồng bộ. */
|
|
111
|
-
load: ZAsyncOptionsLoadFn<TOption>;
|
|
112
|
-
/** Số item mỗi lần tải, mặc định 20. */
|
|
113
|
-
pageSize?: number;
|
|
114
|
-
/** Tự tải trang đầu khi dropdown mở/focus, kể cả keyword rỗng. */
|
|
115
|
-
loadOnFocus?: boolean;
|
|
116
|
-
/** Khóa chống trùng khi append trang mới, ví dụ: option => option.value.code. */
|
|
117
|
-
dedupeBy?: (option: TOption) => unknown;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/** Số option mặc định mỗi lần component tự gọi load. */
|
|
121
|
-
declare const Z_ASYNC_OPTIONS_DEFAULT_PAGE_SIZE = 20;
|
|
122
|
-
/** Chuẩn hóa kết quả sync/Promise/Observable về Observable để component xử lý thống nhất. */
|
|
123
|
-
declare function zToAsyncOptionsObservable<TOption>(result: ZAsyncOptionsLoadResult<TOption>): Observable<ZAsyncOptionsResult<TOption>>;
|
|
124
|
-
/** Gộp option mới vào danh sách cũ và loại bỏ phần tử trùng theo dedupeBy/default key. */
|
|
125
|
-
declare function zMergeAsyncOptions<TOption>(current: TOption[], next: TOption[], dedupeBy?: ZAsyncOptionsConfig<TOption>['dedupeBy']): TOption[];
|
|
126
|
-
/** Tính còn dữ liệu để load-more dựa trên hasMore, total hoặc độ dài page vừa trả về. */
|
|
127
|
-
declare function zResolveAsyncOptionsHasMore<TOption>(result: ZAsyncOptionsResult<TOption>, pageSize: number, loadedCount: number): boolean;
|
|
128
|
-
/** Lấy khóa ổn định cho option, hỗ trợ value là object và vẫn cho phép truyền dedupeBy riêng. */
|
|
129
|
-
declare function zGetAsyncOptionKey<TOption>(option: TOption, dedupeBy?: ZAsyncOptionsConfig<TOption>['dedupeBy']): unknown;
|
|
130
|
-
|
|
131
86
|
interface ZEchartsThemeOptions {
|
|
132
87
|
/** Theme name (default: 'zTheme') */
|
|
133
88
|
themeName?: string;
|
|
@@ -197,5 +152,5 @@ interface ZFormDebugOptions {
|
|
|
197
152
|
logLevel?: 'error' | 'warn' | 'log';
|
|
198
153
|
}
|
|
199
154
|
|
|
200
|
-
export { VIETNAMESE_MAP,
|
|
201
|
-
export type {
|
|
155
|
+
export { VIETNAMESE_MAP, Z_DIVIDE_SCALE, Z_EXCEL_NUMBER_FORMAT_MAP, Z_LOCALE_MAP, zCapitalCase, zCleanObject, zConvertColorToArgb, zCreateEvent, zDebugFormInvalid, zDecodeUnicode, zDetectBrowser, zFormatNum, zFormatNumExcel, zMergeClasses, zMiniSearch, zMiniSearch$, zNoop, zNormalize, zRandomColor, zRegisterEchartsTheme, zRemoveVietnamese, zTransform, zTreeBuild, zTreeFlatten, zUuid, zValidForm };
|
|
156
|
+
export type { ZBlurEventData, ZBrowserInfo, ZBrowserName, ZCapitalizeType, ZChangeEventData, ZClickEventData, ZCopyEventData, ZCutEventData, ZDblclickEventData, ZDeviceType, ZDragenterEventData, ZDragleaveEventData, ZDragoverEventData, ZDropEventData, ZEchartsThemeOptions, ZEmptyCheck, ZEvent, ZEventType, ZFocusEventData, ZFormDebugOptions, ZFormSubmitResult, ZFormatNumExcelOptions, ZFormatNumOptions, ZInputEventData, ZKeydownEventData, ZKeypressEventData, ZKeyupEventData, ZMousedownEventData, ZMouseenterEventData, ZMouseleaveEventData, ZMouseoutEventData, ZMouseoverEventData, ZMouseupEventData, ZNavigatorUABrandVersion, ZNavigatorUAData, ZNumberDivide, ZPasteEventData, ZTouchendEventData, ZTouchmoveEventData, ZTouchstartEventData };
|