@shival99/z-ui 1.6.10 → 1.7.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.
Files changed (75) hide show
  1. package/assets/css/animations.css +6 -0
  2. package/assets/css/base.css +0 -6
  3. package/assets/css/themes/gray.css +8 -0
  4. package/assets/css/themes/green.css +8 -0
  5. package/assets/css/themes/hospital.css +8 -0
  6. package/assets/css/themes/neutral.css +8 -0
  7. package/assets/css/themes/orange.css +8 -0
  8. package/assets/css/themes/slate.css +8 -0
  9. package/assets/css/themes/stone.css +8 -0
  10. package/assets/css/themes/violet.css +8 -0
  11. package/assets/css/themes/zinc.css +8 -0
  12. package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs +19 -17
  13. package/fesm2022/shival99-z-ui-components-z-autocomplete.mjs.map +1 -1
  14. package/fesm2022/shival99-z-ui-components-z-button-group.mjs +191 -0
  15. package/fesm2022/shival99-z-ui-components-z-button-group.mjs.map +1 -0
  16. package/fesm2022/shival99-z-ui-components-z-button.mjs +6 -1
  17. package/fesm2022/shival99-z-ui-components-z-button.mjs.map +1 -1
  18. package/fesm2022/shival99-z-ui-components-z-calendar.mjs +60 -52
  19. package/fesm2022/shival99-z-ui-components-z-calendar.mjs.map +1 -1
  20. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs +13 -5
  21. package/fesm2022/shival99-z-ui-components-z-checkbox.mjs.map +1 -1
  22. package/fesm2022/shival99-z-ui-components-z-drawer.mjs +7 -4
  23. package/fesm2022/shival99-z-ui-components-z-drawer.mjs.map +1 -1
  24. package/fesm2022/shival99-z-ui-components-z-editor.mjs +28 -25
  25. package/fesm2022/shival99-z-ui-components-z-editor.mjs.map +1 -1
  26. package/fesm2022/shival99-z-ui-components-z-filter.mjs +1 -1
  27. package/fesm2022/shival99-z-ui-components-z-filter.mjs.map +1 -1
  28. package/fesm2022/shival99-z-ui-components-z-gallery.mjs +1573 -0
  29. package/fesm2022/shival99-z-ui-components-z-gallery.mjs.map +1 -0
  30. package/fesm2022/shival99-z-ui-components-z-icon.mjs +3 -1
  31. package/fesm2022/shival99-z-ui-components-z-icon.mjs.map +1 -1
  32. package/fesm2022/shival99-z-ui-components-z-input.mjs +114 -109
  33. package/fesm2022/shival99-z-ui-components-z-input.mjs.map +1 -1
  34. package/fesm2022/shival99-z-ui-components-z-modal.mjs +10 -9
  35. package/fesm2022/shival99-z-ui-components-z-modal.mjs.map +1 -1
  36. package/fesm2022/shival99-z-ui-components-z-pagination.mjs +1 -1
  37. package/fesm2022/shival99-z-ui-components-z-pagination.mjs.map +1 -1
  38. package/fesm2022/shival99-z-ui-components-z-radio.mjs +13 -5
  39. package/fesm2022/shival99-z-ui-components-z-radio.mjs.map +1 -1
  40. package/fesm2022/shival99-z-ui-components-z-select.mjs +37 -29
  41. package/fesm2022/shival99-z-ui-components-z-select.mjs.map +1 -1
  42. package/fesm2022/shival99-z-ui-components-z-switch.mjs +13 -5
  43. package/fesm2022/shival99-z-ui-components-z-switch.mjs.map +1 -1
  44. package/fesm2022/shival99-z-ui-components-z-table.mjs +1268 -1254
  45. package/fesm2022/shival99-z-ui-components-z-table.mjs.map +1 -1
  46. package/fesm2022/shival99-z-ui-components-z-upload.mjs +21 -19
  47. package/fesm2022/shival99-z-ui-components-z-upload.mjs.map +1 -1
  48. package/fesm2022/shival99-z-ui-i18n.mjs +22 -0
  49. package/fesm2022/shival99-z-ui-i18n.mjs.map +1 -1
  50. package/fesm2022/shival99-z-ui-pipes.mjs +32 -1
  51. package/fesm2022/shival99-z-ui-pipes.mjs.map +1 -1
  52. package/fesm2022/shival99-z-ui-utils.mjs +9 -1
  53. package/fesm2022/shival99-z-ui-utils.mjs.map +1 -1
  54. package/package.json +9 -1
  55. package/types/shival99-z-ui-components-z-autocomplete.d.ts +11 -9
  56. package/types/shival99-z-ui-components-z-breadcrumb.d.ts +2 -2
  57. package/types/shival99-z-ui-components-z-button-group.d.ts +56 -0
  58. package/types/shival99-z-ui-components-z-button.d.ts +1 -1
  59. package/types/shival99-z-ui-components-z-calendar.d.ts +5 -4
  60. package/types/shival99-z-ui-components-z-checkbox.d.ts +5 -1
  61. package/types/shival99-z-ui-components-z-dropdown-menu.d.ts +1 -1
  62. package/types/shival99-z-ui-components-z-editor.d.ts +8 -6
  63. package/types/shival99-z-ui-components-z-empty.d.ts +2 -2
  64. package/types/shival99-z-ui-components-z-filter.d.ts +1 -1
  65. package/types/shival99-z-ui-components-z-gallery.d.ts +192 -0
  66. package/types/shival99-z-ui-components-z-icon.d.ts +3 -1
  67. package/types/shival99-z-ui-components-z-input.d.ts +40 -27
  68. package/types/shival99-z-ui-components-z-modal.d.ts +1 -1
  69. package/types/shival99-z-ui-components-z-radio.d.ts +5 -1
  70. package/types/shival99-z-ui-components-z-select.d.ts +7 -6
  71. package/types/shival99-z-ui-components-z-switch.d.ts +5 -1
  72. package/types/shival99-z-ui-components-z-table.d.ts +25 -22
  73. package/types/shival99-z-ui-components-z-upload.d.ts +7 -3
  74. package/types/shival99-z-ui-pipes.d.ts +21 -2
  75. package/types/shival99-z-ui-utils.d.ts +39 -2
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, OnInit, ElementRef, TemplateRef } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
+ import { ZEvent } from '@shival99/z-ui/utils';
4
5
  import { ClassValue } from 'clsx';
5
6
  import { Observable } from 'rxjs';
6
7
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -46,6 +47,24 @@ interface ZAsyncValidator {
46
47
  type ZInputType = 'text' | 'number' | 'password' | 'email' | 'tel' | 'url' | 'color' | 'textarea';
47
48
  type ZInputSize = 'sm' | 'default' | 'lg';
48
49
  type ZAsyncValidateOn = 'change' | 'blur';
50
+ type ZInputStatus = 'default' | 'disabled' | 'readonly' | 'error';
51
+ interface ZInputTypeConfig {
52
+ isPassword: boolean;
53
+ isColor: boolean;
54
+ isTextarea: boolean;
55
+ isNumber: boolean;
56
+ }
57
+ interface ZInputSlotConfig {
58
+ isPrefixTemplate: boolean;
59
+ isSuffixTemplate: boolean;
60
+ hasPrefix: boolean;
61
+ hasSuffix: boolean;
62
+ }
63
+ interface ZInputMaskConfig {
64
+ effectiveMask: string;
65
+ effectiveType: ZInputType;
66
+ effectiveDecimalMarker: '.' | ',' | ['.', ','];
67
+ }
49
68
 
50
69
  declare class ZInputComponent implements OnInit, ControlValueAccessor {
51
70
  private readonly _injector;
@@ -56,6 +75,7 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
56
75
  readonly zOnSearch: _angular_core.OutputEmitterRef<string | number | null>;
57
76
  readonly zOnChange: _angular_core.OutputEmitterRef<string | number | null>;
58
77
  readonly zControl: _angular_core.OutputEmitterRef<ZInputControl>;
78
+ readonly zEvent: _angular_core.OutputEmitterRef<ZEvent>;
59
79
  readonly class: _angular_core.InputSignal<ClassValue>;
60
80
  readonly zType: _angular_core.InputSignal<ZInputType>;
61
81
  readonly zSize: _angular_core.InputSignal<ZInputSize>;
@@ -92,9 +112,7 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
92
112
  readonly zMaxLength: _angular_core.InputSignal<number | undefined>;
93
113
  readonly zAutoSuggest: _angular_core.InputSignal<string | undefined>;
94
114
  private readonly _value;
95
- private readonly _touched;
96
115
  private readonly _disabled;
97
- private readonly _dirty;
98
116
  private readonly _formControl;
99
117
  private readonly _formStateVersion;
100
118
  private readonly _isNgModel;
@@ -106,35 +124,27 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
106
124
  protected readonly uiState: _angular_core.WritableSignal<{
107
125
  passwordVisible: boolean;
108
126
  isFocused: boolean;
127
+ touched: boolean;
128
+ dirty: boolean;
109
129
  showSuggestPopover: boolean;
110
130
  colorCopied: boolean;
111
131
  }>;
132
+ protected readonly typeConfig: _angular_core.Signal<ZInputTypeConfig>;
133
+ protected readonly slotConfig: _angular_core.Signal<ZInputSlotConfig>;
134
+ protected readonly maskConfig: _angular_core.Signal<ZInputMaskConfig>;
135
+ protected readonly displayValue: _angular_core.Signal<string>;
136
+ protected readonly hasValue: _angular_core.Signal<boolean>;
112
137
  protected readonly isDisabled: _angular_core.Signal<boolean>;
113
- protected readonly isPasswordType: _angular_core.Signal<boolean>;
114
- protected readonly isColorType: _angular_core.Signal<boolean>;
115
- protected readonly isPrefixTemplate: _angular_core.Signal<boolean>;
116
- protected readonly isSuffixTemplate: _angular_core.Signal<boolean>;
117
- protected readonly isTextarea: _angular_core.Signal<boolean>;
118
- protected readonly effectiveType: _angular_core.Signal<ZInputType>;
119
138
  protected readonly showArrows: _angular_core.Signal<boolean>;
120
- protected readonly effectiveMask: _angular_core.Signal<string>;
121
- protected readonly effectiveDecimalMarker: _angular_core.Signal<"." | "," | [".", ","]>;
122
- protected readonly displayValue: _angular_core.Signal<string>;
139
+ protected readonly hasAutoSuggest: _angular_core.Signal<boolean>;
140
+ protected readonly showClearButton: _angular_core.Signal<boolean>;
141
+ protected readonly currentStatus: _angular_core.Signal<ZInputStatus>;
142
+ protected readonly inputClasses: _angular_core.Signal<string>;
143
+ protected readonly textareaClasses: _angular_core.Signal<string>;
123
144
  protected readonly filteredSuggestHistory: _angular_core.Signal<string[]>;
124
145
  private readonly _shouldShowValidation;
125
146
  protected readonly hasError: _angular_core.Signal<boolean>;
126
- protected readonly showError: _angular_core.Signal<boolean>;
127
147
  protected readonly errorMessage: _angular_core.Signal<string>;
128
- protected readonly hasPrefix: _angular_core.Signal<boolean>;
129
- protected readonly hasSuffix: _angular_core.Signal<boolean>;
130
- protected readonly isTextPrefix: _angular_core.Signal<boolean>;
131
- protected readonly isTextSuffix: _angular_core.Signal<boolean>;
132
- protected readonly currentStatus: _angular_core.Signal<"default" | "disabled" | "readonly" | "error">;
133
- protected readonly inputClasses: _angular_core.Signal<string>;
134
- protected readonly textareaClasses: _angular_core.Signal<string>;
135
- protected readonly hasAutoSuggest: _angular_core.Signal<boolean>;
136
- protected readonly hasValue: _angular_core.Signal<boolean>;
137
- protected readonly showClearButton: _angular_core.Signal<boolean>;
138
148
  readonly state: _angular_core.Signal<ZInputState>;
139
149
  private readonly _searchSubject;
140
150
  private readonly _changeSubject;
@@ -163,8 +173,8 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
163
173
  protected clearValue(event: MouseEvent): void;
164
174
  protected onInput(event: Event): void;
165
175
  protected onModelChange(rawValue: string | number | null): void;
166
- protected onBlur(): void;
167
- protected onFocus(): void;
176
+ protected onBlur(event: FocusEvent): void;
177
+ protected onFocus(event: FocusEvent): void;
168
178
  protected onKeydown(event: KeyboardEvent): void;
169
179
  protected onSuggestKeydown(event: KeyboardEvent): void;
170
180
  protected selectSuggestItem(item: string): void;
@@ -180,18 +190,21 @@ declare class ZInputComponent implements OnInit, ControlValueAccessor {
180
190
  private _loadSuggestHistory;
181
191
  private _incrementValue;
182
192
  private _cleanNumberValue;
193
+ private _getEffectiveMask;
194
+ private _getEffectiveType;
195
+ private _getEffectiveDecimalMarker;
183
196
  private _getValidationErrors;
184
197
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZInputComponent, never>;
185
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZInputComponent, "z-input", ["zInput"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "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; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zSuffix": { "alias": "zSuffix"; "required": false; "isSignal": true; }; "zMin": { "alias": "zMin"; "required": false; "isSignal": true; }; "zMax": { "alias": "zMax"; "required": false; "isSignal": true; }; "zStep": { "alias": "zStep"; "required": false; "isSignal": true; }; "zShowArrows": { "alias": "zShowArrows"; "required": false; "isSignal": true; }; "zMask": { "alias": "zMask"; "required": false; "isSignal": true; }; "zDecimalPlaces": { "alias": "zDecimalPlaces"; "required": false; "isSignal": true; }; "zAllowNegative": { "alias": "zAllowNegative"; "required": false; "isSignal": true; }; "zThousandSeparator": { "alias": "zThousandSeparator"; "required": false; "isSignal": true; }; "zDecimalMarker": { "alias": "zDecimalMarker"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "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; }; "zShowPasswordToggle": { "alias": "zShowPasswordToggle"; "required": false; "isSignal": true; }; "zSearch": { "alias": "zSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zAutofocus": { "alias": "zAutofocus"; "required": false; "isSignal": true; }; "zAutoComplete": { "alias": "zAutoComplete"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zAutoSizeContent": { "alias": "zAutoSizeContent"; "required": false; "isSignal": true; }; "zRows": { "alias": "zRows"; "required": false; "isSignal": true; }; "zResize": { "alias": "zResize"; "required": false; "isSignal": true; }; "zMaxLength": { "alias": "zMaxLength"; "required": false; "isSignal": true; }; "zAutoSuggest": { "alias": "zAutoSuggest"; "required": false; "isSignal": true; }; }, { "zOnSearch": "zOnSearch"; "zOnChange": "zOnChange"; "zControl": "zControl"; }, never, never, true, never>;
198
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZInputComponent, "z-input", ["zInput"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "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; }; "zPrefix": { "alias": "zPrefix"; "required": false; "isSignal": true; }; "zSuffix": { "alias": "zSuffix"; "required": false; "isSignal": true; }; "zMin": { "alias": "zMin"; "required": false; "isSignal": true; }; "zMax": { "alias": "zMax"; "required": false; "isSignal": true; }; "zStep": { "alias": "zStep"; "required": false; "isSignal": true; }; "zShowArrows": { "alias": "zShowArrows"; "required": false; "isSignal": true; }; "zMask": { "alias": "zMask"; "required": false; "isSignal": true; }; "zDecimalPlaces": { "alias": "zDecimalPlaces"; "required": false; "isSignal": true; }; "zAllowNegative": { "alias": "zAllowNegative"; "required": false; "isSignal": true; }; "zThousandSeparator": { "alias": "zThousandSeparator"; "required": false; "isSignal": true; }; "zDecimalMarker": { "alias": "zDecimalMarker"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "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; }; "zShowPasswordToggle": { "alias": "zShowPasswordToggle"; "required": false; "isSignal": true; }; "zSearch": { "alias": "zSearch"; "required": false; "isSignal": true; }; "zDebounce": { "alias": "zDebounce"; "required": false; "isSignal": true; }; "zAutofocus": { "alias": "zAutofocus"; "required": false; "isSignal": true; }; "zAutoComplete": { "alias": "zAutoComplete"; "required": false; "isSignal": true; }; "zAllowClear": { "alias": "zAllowClear"; "required": false; "isSignal": true; }; "zAutoSizeContent": { "alias": "zAutoSizeContent"; "required": false; "isSignal": true; }; "zRows": { "alias": "zRows"; "required": false; "isSignal": true; }; "zResize": { "alias": "zResize"; "required": false; "isSignal": true; }; "zMaxLength": { "alias": "zMaxLength"; "required": false; "isSignal": true; }; "zAutoSuggest": { "alias": "zAutoSuggest"; "required": false; "isSignal": true; }; }, { "zOnSearch": "zOnSearch"; "zOnChange": "zOnChange"; "zControl": "zControl"; "zEvent": "zEvent"; }, never, never, true, never>;
186
199
  }
187
200
 
188
201
  declare const zInputVariants: (props?: ({
189
202
  zSize?: "sm" | "default" | "lg" | null | undefined;
190
- zStatus?: "default" | "error" | "disabled" | "readonly" | null | undefined;
203
+ zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
191
204
  } & class_variance_authority_types.ClassProp) | undefined) => string;
192
205
  type ZInputVariants = VariantProps<typeof zInputVariants>;
193
206
  declare const zTextareaVariants: (props?: ({
194
- zStatus?: "default" | "error" | "disabled" | "readonly" | null | undefined;
207
+ zStatus?: "default" | "disabled" | "readonly" | "error" | null | undefined;
195
208
  } & class_variance_authority_types.ClassProp) | undefined) => string;
196
209
  type ZTextareaVariants = VariantProps<typeof zTextareaVariants>;
197
210
 
@@ -220,7 +220,7 @@ declare class ZModalComponent<T, U> extends BasePortalOutlet implements OnDestro
220
220
  protected readonly effectiveOkText: _angular_core.Signal<string | null | undefined>;
221
221
  protected readonly effectiveCancelText: _angular_core.Signal<string | null | undefined>;
222
222
  protected readonly effectiveOkDestructive: _angular_core.Signal<boolean | undefined>;
223
- protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "default" | "primary" | "secondary" | "destructive" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | "link" | null | undefined>;
223
+ protected readonly effectiveTypeOk: _angular_core.Signal<"info" | "warning" | "error" | "link" | "default" | "primary" | "secondary" | "destructive" | "success" | "outline" | "outline-primary" | "outline-secondary" | "outline-success" | "outline-info" | "outline-warning" | "outline-error" | "outline-destructive" | "outline-success-secondary" | "outline-info-secondary" | "outline-warning-secondary" | "outline-error-secondary" | "outline-destructive-secondary" | "outline-primary-secondary" | "ghost" | "ghost-primary" | "ghost-success" | "ghost-info" | "ghost-warning" | "ghost-error" | "ghost-destructive" | "subtle" | null | undefined>;
224
224
  protected readonly effectiveOkDisabled: _angular_core.Signal<boolean | undefined>;
225
225
  protected readonly effectiveLoading: _angular_core.Signal<boolean>;
226
226
  protected readonly effectiveContentLoading: _angular_core.Signal<boolean>;
@@ -1,5 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
+ import { ZEvent } from '@shival99/z-ui/utils';
3
4
  import { ClassValue } from 'clsx';
4
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
6
  import { VariantProps } from 'class-variance-authority';
@@ -15,6 +16,7 @@ interface ZRadioOption {
15
16
 
16
17
  declare class ZRadioComponent implements ControlValueAccessor {
17
18
  readonly zChange: _angular_core.OutputEmitterRef<string | number | null>;
19
+ readonly zEvent: _angular_core.OutputEmitterRef<ZEvent>;
18
20
  readonly class: _angular_core.InputSignal<ClassValue>;
19
21
  readonly zType: _angular_core.InputSignal<ZRadioType>;
20
22
  readonly zSize: _angular_core.InputSignal<ZRadioSize>;
@@ -38,6 +40,8 @@ declare class ZRadioComponent implements ControlValueAccessor {
38
40
  registerOnChange(fn: (value: string | number | null) => void): void;
39
41
  registerOnTouched(fn: () => void): void;
40
42
  setDisabledState(isDisabled: boolean): void;
43
+ protected onFocus(event: FocusEvent): void;
44
+ protected onBlur(event: FocusEvent): void;
41
45
  protected onRadioClick(): void;
42
46
  protected onOptionClick(option: ZRadioOption): void;
43
47
  protected isOptionChecked(option: ZRadioOption): boolean;
@@ -45,7 +49,7 @@ declare class ZRadioComponent implements ControlValueAccessor {
45
49
  protected getRadioState(): string;
46
50
  protected getOptionState(option: ZRadioOption): string;
47
51
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZRadioComponent, never>;
48
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZRadioComponent, "z-radio", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zValue": { "alias": "zValue"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zSelectedValue": { "alias": "zSelectedValue"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zSelectedValue": "zSelectedValueChange"; }, never, never, true, never>;
52
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZRadioComponent, "z-radio", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zType": { "alias": "zType"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zValue": { "alias": "zValue"; "required": false; "isSignal": true; }; "zOptions": { "alias": "zOptions"; "required": false; "isSignal": true; }; "zOrientation": { "alias": "zOrientation"; "required": false; "isSignal": true; }; "zSelectedValue": { "alias": "zSelectedValue"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zEvent": "zEvent"; "zSelectedValue": "zSelectedValueChange"; }, never, never, true, never>;
49
53
  }
50
54
 
51
55
  declare const zRadioVariants: (props?: ({
@@ -3,6 +3,7 @@ import * as _angular_core from '@angular/core';
3
3
  import { TemplateRef, Signal, OnInit, ElementRef, PipeTransform } from '@angular/core';
4
4
  import { ControlValueAccessor } from '@angular/forms';
5
5
  import { ZPopoverControl } from '@shival99/z-ui/components/z-popover';
6
+ import { ZEvent } from '@shival99/z-ui/utils';
6
7
  import { ClassValue } from 'clsx';
7
8
  import { Observable } from 'rxjs';
8
9
  import * as class_variance_authority_types from 'class-variance-authority/types';
@@ -103,6 +104,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
103
104
  readonly zOnSearch: _angular_core.OutputEmitterRef<string>;
104
105
  readonly zOnLoadMore: _angular_core.OutputEmitterRef<ZSelectLoadMoreEvent>;
105
106
  readonly zControl: _angular_core.OutputEmitterRef<ZSelectControl<T>>;
107
+ readonly zEvent: _angular_core.OutputEmitterRef<ZEvent>;
106
108
  readonly class: _angular_core.InputSignal<ClassValue>;
107
109
  readonly zMode: _angular_core.InputSignal<ZSelectMode>;
108
110
  readonly zSize: _angular_core.InputSignal<ZSelectSize>;
@@ -113,7 +115,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
113
115
  readonly zDisabled: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
114
116
  readonly zReadonly: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
115
117
  readonly zLoading: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
116
- readonly zPrefix: _angular_core.InputSignal<"" | "lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideLanguages" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideServerCrash" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle" | "lucidePlug" | "lucidePlug2" | "lucideBotMessageSquare" | "lucideBotOff" | "lucideBrain" | "lucideBrainCircuit" | "lucideBrainCog" | "lucideCpu" | "lucideDumbbell" | "lucideSparkle" | "lucideWandSparkles" | "lucideMessageSquareText" | "lucideMic" | "lucideAudioLines" | "lucidePlay" | "lucideSquarePlay" | "lucideEllipsisVertical" | "saxEditOutline" | "lucideUserSquare" | "lucideCircle" | "lucideFolder" | "lucideHelpCircle" | "lucideCalendarDays" | "lucideMessageSquare" | "lucideHistory" | "lucideRefreshCw">;
118
+ readonly zPrefix: _angular_core.InputSignal<"" | "lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideLanguages" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideServerCrash" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle" | "lucidePlug" | "lucidePlug2" | "lucideBotMessageSquare" | "lucideBotOff" | "lucideBrain" | "lucideBrainCircuit" | "lucideBrainCog" | "lucideCpu" | "lucideDumbbell" | "lucideSparkle" | "lucideWandSparkles" | "lucideMessageSquareText" | "lucideMic" | "lucideAudioLines" | "lucidePlay" | "lucideSquarePlay" | "lucideEllipsisVertical" | "saxEditOutline" | "lucideUserSquare" | "lucideCircle" | "lucideFolder" | "lucideHelpCircle" | "lucideCalendarDays" | "lucideMessageSquare" | "lucideHistory" | "lucideRefreshCw" | "lucideRotateCcw" | "lucideBanknote">;
117
119
  readonly zAllowClear: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
118
120
  readonly zWrap: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
119
121
  readonly zShowSearch: _angular_core.InputSignalWithTransform<boolean, string | boolean>;
@@ -121,7 +123,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
121
123
  readonly zDebounce: _angular_core.InputSignal<number>;
122
124
  readonly zNotFoundText: _angular_core.InputSignal<string>;
123
125
  readonly zEmptyText: _angular_core.InputSignal<string>;
124
- readonly zEmptyIcon: _angular_core.InputSignal<"lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideLanguages" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideServerCrash" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle" | "lucidePlug" | "lucidePlug2" | "lucideBotMessageSquare" | "lucideBotOff" | "lucideBrain" | "lucideBrainCircuit" | "lucideBrainCog" | "lucideCpu" | "lucideDumbbell" | "lucideSparkle" | "lucideWandSparkles" | "lucideMessageSquareText" | "lucideMic" | "lucideAudioLines" | "lucidePlay" | "lucideSquarePlay" | "lucideEllipsisVertical" | "saxEditOutline" | "lucideUserSquare" | "lucideCircle" | "lucideFolder" | "lucideHelpCircle" | "lucideCalendarDays" | "lucideMessageSquare" | "lucideHistory" | "lucideRefreshCw">;
126
+ readonly zEmptyIcon: _angular_core.InputSignal<"lucideLayers2" | "lucideStore" | "lucideChartBarStacked" | "lucideBookCheck" | "lucideAlarmClock" | "lucideClipboardPlus" | "lucideSave" | "lucideSaveAll" | "lucideFlag" | "lucideFlagTriangleRight" | "lucideMessageSquareDot" | "lucideCheckCheck" | "lucideTriangleAlert" | "lucideMessageSquareWarning" | "lucideCheck" | "lucidePencil" | "lucideMail" | "lucideLayoutGrid" | "lucideArrowLeft" | "lucideArrowRight" | "lucideMenu" | "lucideLock" | "lucideLogOut" | "lucideUser" | "lucideSettings" | "lucidePill" | "lucideCalendarFold" | "lucideSettings2" | "lucideChevronLeft" | "lucideChevronRight" | "lucideChevronDown" | "lucidePlus" | "lucideSearch" | "lucideUsers" | "lucideEye" | "lucideEyeOff" | "lucideEllipsis" | "lucidePanelLeftClose" | "lucidePanelLeftOpen" | "lucideLayoutDashboard" | "lucideChartColumn" | "lucideUsersRound" | "lucideLogs" | "lucideChevronUp" | "lucideTrendingUp" | "lucidePackage" | "lucideShoppingCart" | "lucideUserCheck" | "lucideActivity" | "lucideZap" | "lucideMousePointer" | "lucideInfo" | "lucideLayers" | "lucideBriefcase" | "lucideTarget" | "lucideWorkflow" | "lucideWarehouse" | "lucideLoaderCircle" | "lucideChevronsLeft" | "lucideChevronsRight" | "lucideBellRing" | "lucideSlidersHorizontal" | "lucideTrash2" | "lucideFileDown" | "lucideFunnel" | "lucideAlignJustify" | "lucideX" | "lucideFiles" | "lucideCrown" | "lucideBadgeInfo" | "lucideMinus" | "lucideBox" | "lucideCog" | "lucideBellMinus" | "lucidePackageOpen" | "lucideInbox" | "lucideClock" | "lucideBookOpen" | "lucideCalendar" | "lucideCalculator" | "lucideClipboardList" | "lucideDatabase" | "lucideDollarSign" | "lucideFileText" | "lucideGraduationCap" | "lucideHeart" | "lucideHospital" | "lucideMapPin" | "lucideMonitor" | "lucidePhone" | "lucideShield" | "lucideStar" | "lucideStethoscope" | "lucideTimer" | "lucideTrendingDown" | "lucideUserPlus" | "lucideVideo" | "lucideWallet" | "lucideWrench" | "lucideBuilding2" | "lucideCar" | "lucideCreditCard" | "lucideFileSpreadsheet" | "lucideGlobe" | "lucideLanguages" | "lucideHeadphones" | "lucideKey" | "lucideLightbulb" | "lucideMailCheck" | "lucideNetwork" | "lucidePalette" | "lucidePhoneCall" | "lucidePrinter" | "lucideRadio" | "lucideServer" | "lucideServerCrash" | "lucideSmartphone" | "lucideTablet" | "lucideTerminal" | "lucideTruck" | "lucideWifi" | "lucideRefreshCcw" | "lucideLockKeyhole" | "lucideArrowDown" | "lucideArrowUp" | "lucideUserLock" | "lucideCircleCheck" | "lucideHouse" | "lucideChartBar" | "lucideChartPie" | "lucideChartLine" | "lucideCalendarRange" | "lucideCalendar1" | "lucideCalendarCheck" | "lucideNotepadText" | "lucideFileUp" | "lucideTableOfContents" | "lucideBot" | "lucideSend" | "lucidePause" | "lucidePaperclip" | "saxPauseBold" | "lucideCopy" | "lucideUserRoundPen" | "lucideFilePenLine" | "lucideArrowDownUp" | "lucideCircleX" | "lucideCheckLine" | "lucideBadgeCheck" | "lucideShieldCheck" | "lucideCircleCheckBig" | "lucideBadgeX" | "lucideLockKeyholeOpen" | "lucideFileSymlink" | "lucideWifiZero" | "lucideCloudCheck" | "lucideMailPlus" | "lucideHardDriveDownload" | "saxCloudChangeBold" | "saxRefreshBold" | "lucideBarcode" | "lucideCode" | "lucideScanQrCode" | "lucideQrCode" | "lucideScanLine" | "lucideListPlus" | "lucideFilePlus" | "lucideFilePlus2" | "lucideBookUp2" | "lucideFileClock" | "lucideRefreshCwOff" | "lucideListChecks" | "lucideFastForward" | "lucideBrushCleaning" | "lucideChartColumnIncreasing" | "lucideBell" | "lucideCheckCircle2" | "lucideAlertCircle" | "lucideXCircle" | "lucideLink" | "lucideDatabaseBackup" | "lucideFileCheck" | "lucideListChevronsDownUp" | "lucideListChevronsUpDown" | "lucideSun" | "lucideMoon" | "lucideLoader" | "lucideAlertOctagon" | "lucideMessageCircle" | "lucideCircleAlert" | "lucideMessageCircleQuestion" | "lucideComponent" | "lucidePanelRightOpen" | "lucideLoader2" | "lucideGithub" | "lucideLifeBuoy" | "lucideCloud" | "lucideBarChart" | "lucideHome" | "lucideFolderOpen" | "lucideSquarePen" | "lucideLayoutTemplate" | "lucideFileOutput" | "lucideCircleHelp" | "lucideGripHorizontal" | "lucideImage" | "lucideList" | "lucideHash" | "lucideMegaphone" | "lucidePenTool" | "lucideSquare" | "lucideRocket" | "lucideBarChart3" | "lucideUsers2" | "lucideGrid3x3" | "lucideFolderTree" | "lucideCheckCircle" | "lucideSliders" | "lucideFileEdit" | "lucideNavigation" | "lucideListFilter" | "lucideTextCursor" | "lucidePieChart" | "lucideUserSearch" | "lucideFolders" | "lucideSparkles" | "lucideSquareCheck" | "lucideCircleDot" | "lucideToggleLeft" | "lucideUpload" | "lucideUploadCloud" | "lucideDownload" | "lucideFile" | "lucideMusic" | "lucideFileCode" | "lucideFileJson" | "lucideFileArchive" | "lucideTable2" | "lucideGripVertical" | "lucidePin" | "lucideSearchX" | "lucideMoreVertical" | "lucideGitBranch" | "lucideAlertTriangle" | "lucideFilter" | "lucideFunnelX" | "lucideBan" | "lucideBuilding" | "lucideType" | "lucidePercent" | "lucideReceipt" | "lucideClipboardPen" | "lucidePackageCheck" | "lucideShoppingBag" | "lucideTag" | "lucideTags" | "lucideTicket" | "lucideWand2" | "lucideZoomIn" | "lucideZoomOut" | "lucideBadge" | "lucideClipboardCopy" | "lucideContact" | "lucideIdCard" | "lucideRecycle" | "lucidePlug" | "lucidePlug2" | "lucideBotMessageSquare" | "lucideBotOff" | "lucideBrain" | "lucideBrainCircuit" | "lucideBrainCog" | "lucideCpu" | "lucideDumbbell" | "lucideSparkle" | "lucideWandSparkles" | "lucideMessageSquareText" | "lucideMic" | "lucideAudioLines" | "lucidePlay" | "lucideSquarePlay" | "lucideEllipsisVertical" | "saxEditOutline" | "lucideUserSquare" | "lucideCircle" | "lucideFolder" | "lucideHelpCircle" | "lucideCalendarDays" | "lucideMessageSquare" | "lucideHistory" | "lucideRefreshCw" | "lucideRotateCcw" | "lucideBanknote">;
125
127
  readonly zMaxTagCount: _angular_core.InputSignal<number>;
126
128
  readonly zDropdownMaxHeight: _angular_core.InputSignal<number>;
127
129
  readonly zOptionHeight: _angular_core.InputSignal<number>;
@@ -145,8 +147,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
145
147
  readonly zValidators: _angular_core.InputSignal<ZSelectValidator<T>[]>;
146
148
  private readonly _value;
147
149
  private readonly _disabled;
148
- private readonly _touched;
149
- private readonly _dirty;
150
150
  private readonly _formControl;
151
151
  private readonly _formStateVersion;
152
152
  private readonly _popoverControl;
@@ -157,6 +157,8 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
157
157
  hasScrollShadow: boolean;
158
158
  isFocused: boolean;
159
159
  isValidating: boolean;
160
+ touched: boolean;
161
+ dirty: boolean;
160
162
  }>;
161
163
  protected readonly selectId: string;
162
164
  protected readonly dropdownId: string;
@@ -196,7 +198,6 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
196
198
  protected readonly currentStatus: _angular_core.Signal<"default" | "disabled" | "readonly" | "open" | "error">;
197
199
  private readonly _shouldShowValidation;
198
200
  protected readonly hasError: _angular_core.Signal<boolean>;
199
- protected readonly showError: _angular_core.Signal<boolean>;
200
201
  protected readonly errorMessage: _angular_core.Signal<string>;
201
202
  protected readonly selectClasses: _angular_core.Signal<string>;
202
203
  readonly state: _angular_core.Signal<ZSelectState>;
@@ -248,7 +249,7 @@ declare class ZSelectComponent<T = unknown> implements OnInit, ControlValueAcces
248
249
  private _cancelAsyncValidation;
249
250
  private _triggerAsyncValidation;
250
251
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZSelectComponent<any>, never>;
251
- 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; }; "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"; "zControl": "zControl"; }, ["customSelectedDirective", "customOptionDirective"], never, true, never>;
252
+ 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; }; "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"; "zControl": "zControl"; "zEvent": "zEvent"; }, ["customSelectedDirective", "customOptionDirective"], never, true, never>;
252
253
  }
253
254
 
254
255
  declare class ZIsSelectedPipe implements PipeTransform {
@@ -1,5 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { ControlValueAccessor } from '@angular/forms';
3
+ import { ZEvent } from '@shival99/z-ui/utils';
3
4
  import { ClassValue } from 'clsx';
4
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
5
6
  import { VariantProps } from 'class-variance-authority';
@@ -8,6 +9,7 @@ type ZSwitchSize = 'sm' | 'default' | 'lg';
8
9
 
9
10
  declare class ZSwitchComponent implements ControlValueAccessor {
10
11
  readonly zChange: _angular_core.OutputEmitterRef<boolean>;
12
+ readonly zEvent: _angular_core.OutputEmitterRef<ZEvent>;
11
13
  readonly class: _angular_core.InputSignal<ClassValue>;
12
14
  readonly zSize: _angular_core.InputSignal<ZSwitchSize>;
13
15
  readonly zLabel: _angular_core.InputSignal<string>;
@@ -30,9 +32,11 @@ declare class ZSwitchComponent implements ControlValueAccessor {
30
32
  registerOnChange(fn: (value: boolean) => void): void;
31
33
  registerOnTouched(fn: () => void): void;
32
34
  setDisabledState(isDisabled: boolean): void;
35
+ protected onFocus(event: FocusEvent): void;
36
+ protected onBlur(event: FocusEvent): void;
33
37
  protected onSwitchClick(): void;
34
38
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZSwitchComponent, never>;
35
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSwitchComponent, "z-switch", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zTextPosition": { "alias": "zTextPosition"; "required": false; "isSignal": true; }; "zChecked": { "alias": "zChecked"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zChecked": "zCheckedChange"; }, never, never, true, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZSwitchComponent, "z-switch", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zText": { "alias": "zText"; "required": false; "isSignal": true; }; "zDisabled": { "alias": "zDisabled"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zTextPosition": { "alias": "zTextPosition"; "required": false; "isSignal": true; }; "zChecked": { "alias": "zChecked"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zEvent": "zEvent"; "zChecked": "zCheckedChange"; }, never, never, true, never>;
36
40
  }
37
41
 
38
42
  declare const zSwitchVariants: (props?: ({
@@ -2,7 +2,7 @@ import * as _shival99_angular_virtual from '@shival99/angular-virtual';
2
2
  import * as _tanstack_angular_table from '@tanstack/angular-table';
3
3
  import { RowData, SortingState, ColumnFiltersState, PaginationState, RowSelectionState, ExpandedState, HeaderContext, CellContext, FlexRenderComponent, Row, ColumnPinningState, RowPinningState, VisibilityState, ColumnOrderState, createAngularTable, Column, Table, ColumnDef } from '@tanstack/angular-table';
4
4
  import * as _shival99_z_ui_components_z_input from '@shival99/z-ui/components/z-input';
5
- import { ZInputSize, ZInputControl } from '@shival99/z-ui/components/z-input';
5
+ import { ZInputSize } from '@shival99/z-ui/components/z-input';
6
6
  import * as _angular_core from '@angular/core';
7
7
  import { TemplateRef, Type, AfterViewInit, ElementRef, OnDestroy, OnInit } from '@angular/core';
8
8
  import { CdkDragDrop } from '@angular/cdk/drag-drop';
@@ -17,6 +17,7 @@ import { ZTooltipConfig, ZTooltipContent } from '@shival99/z-ui/components/z-too
17
17
  import * as _shival99_z_ui_components_z_table from '@shival99/z-ui/components/z-table';
18
18
  import { ZDateRange } from '@shival99/z-ui/components/z-calendar';
19
19
  import { ZDropdownMenuItem } from '@shival99/z-ui/components/z-dropdown-menu';
20
+ import { ZEvent } from '@shival99/z-ui/utils';
20
21
 
21
22
  interface ZVirtualGroup {
22
23
  startIndex: number;
@@ -80,6 +81,11 @@ interface ZTableEditConfig<T = unknown> {
80
81
  * Example: optionValueKey: 'tagName' for { tagName: 'Value', tagId: 1 }
81
82
  */
82
83
  optionValueKey?: string;
84
+ /**
85
+ * CSS class to apply to the edit cell input/select/etc component
86
+ */
87
+ class?: string | ((row: T) => string);
88
+ style?: Record<string, string> | ((row: T) => Record<string, string>);
83
89
  min?: number;
84
90
  max?: number;
85
91
  step?: number;
@@ -146,6 +152,8 @@ interface ZTableBodyColumnConfig<T> {
146
152
  actions?: ZTableActionColumnConfig<T>;
147
153
  enabledClick?: boolean;
148
154
  edit?: ZTableEditConfig<T> | boolean;
155
+ /** Control cell content visibility. When false, the cell is rendered but content is hidden. */
156
+ visible?: boolean | ((info: CellContext<T, unknown>) => boolean);
149
157
  }
150
158
  interface ZTableFooterColumnConfig<T> {
151
159
  content?: ZTableHeaderContent<T>;
@@ -407,6 +415,16 @@ interface ZTableEditCellChangeEvent<T = unknown> {
407
415
  oldValue: unknown;
408
416
  newValue: unknown;
409
417
  }
418
+ interface ZResolvedEditConfig {
419
+ type: ZTableEditType;
420
+ size: ZTableEditSize;
421
+ placeholder: string;
422
+ allowClear: boolean;
423
+ class: string;
424
+ style: Record<string, string>;
425
+ disabled: boolean;
426
+ readonly: boolean;
427
+ }
410
428
  declare module '@tanstack/angular-table' {
411
429
  interface TableMeta<TData extends RowData> {
412
430
  updateData?: (rowIndex: number, columnId: string, value: unknown) => void;
@@ -416,7 +434,7 @@ declare module '@tanstack/angular-table' {
416
434
  declare class ZTableComponent<T> implements AfterViewInit {
417
435
  readonly zChange: _angular_core.OutputEmitterRef<ZTableChangeEvent<T>>;
418
436
  readonly zControl: _angular_core.OutputEmitterRef<ZTableControl<T>>;
419
- readonly class: _angular_core.InputSignal<ClassValue>;
437
+ readonly zClass: _angular_core.InputSignal<ClassValue>;
420
438
  readonly zConfig: _angular_core.InputSignal<ZTableConfig<T>>;
421
439
  readonly zLoading: _angular_core.InputSignal<boolean>;
422
440
  readonly zKey: _angular_core.InputSignal<string>;
@@ -582,7 +600,7 @@ declare class ZTableComponent<T> implements AfterViewInit {
582
600
  private _filterServerModeSorting;
583
601
  private _findColumnConfig;
584
602
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableComponent<any>, never>;
585
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableComponent<any>, "z-table", ["zTable"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zConfig": { "alias": "zConfig"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zControl": "zControl"; }, never, never, true, never>;
603
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableComponent<any>, "z-table", ["zTable"], { "zClass": { "alias": "zClass"; "required": false; "isSignal": true; }; "zConfig": { "alias": "zConfig"; "required": false; "isSignal": true; }; "zLoading": { "alias": "zLoading"; "required": false; "isSignal": true; }; "zKey": { "alias": "zKey"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; "zControl": "zControl"; }, never, never, true, never>;
586
604
  }
587
605
 
588
606
  declare class ZTableFilterComponent<T> implements OnDestroy {
@@ -635,7 +653,7 @@ declare class ZTableActionsComponent<T = unknown> {
635
653
  readonly zConfig: _angular_core.InputSignal<ZTableActionColumnConfig<T>>;
636
654
  readonly zRow: _angular_core.InputSignal<T>;
637
655
  readonly zRowId: _angular_core.InputSignal<string>;
638
- readonly zDropdownButtonSize: _angular_core.InputSignal<"sm" | "default" | "xs" | "lg" | "xl" | null | undefined>;
656
+ readonly zDropdownButtonSize: _angular_core.InputSignal<"sm" | "default" | "lg" | "xs" | "xl" | null | undefined>;
639
657
  readonly zActionClick: _angular_core.OutputEmitterRef<ZTableActionClickEvent<T>>;
640
658
  protected readonly allActions: _angular_core.Signal<ZTableActionItem<T>[]>;
641
659
  protected readonly shouldShowAsButtons: _angular_core.Signal<boolean>;
@@ -655,7 +673,6 @@ declare class ZTableActionsComponent<T = unknown> {
655
673
 
656
674
  declare class ZTableEditCellComponent<T = unknown> implements OnInit {
657
675
  private readonly _destroyRef;
658
- private readonly _injector;
659
676
  readonly zRow: _angular_core.InputSignal<T>;
660
677
  readonly zRowId: _angular_core.InputSignal<string>;
661
678
  readonly zRowIndex: _angular_core.InputSignal<number>;
@@ -671,36 +688,22 @@ declare class ZTableEditCellComponent<T = unknown> implements OnInit {
671
688
  private readonly _valueChange$;
672
689
  private _pendingBlurValue;
673
690
  private _hasPendingBlur;
674
- private _inputControl;
675
691
  constructor();
676
692
  protected readonly editConfig: _angular_core.Signal<ZTableEditConfig<T>>;
677
- protected readonly editType: _angular_core.Signal<ZTableEditType>;
678
- protected readonly size: _angular_core.Signal<ZTableEditSize>;
679
- protected readonly placeholder: _angular_core.Signal<string>;
680
- protected readonly allowClear: _angular_core.Signal<boolean>;
693
+ protected readonly cfg: _angular_core.Signal<ZResolvedEditConfig>;
681
694
  protected readonly selectOptions: _angular_core.Signal<ZSelectOption<unknown>[]>;
682
- protected readonly isDisabled: _angular_core.Signal<boolean>;
683
- protected readonly isReadonly: _angular_core.Signal<boolean>;
684
695
  protected readonly value: _angular_core.Signal<unknown>;
685
696
  protected readonly stringValue: _angular_core.Signal<string>;
686
697
  protected readonly numericValue: _angular_core.Signal<number | null>;
687
698
  protected readonly booleanValue: _angular_core.Signal<boolean>;
688
699
  protected readonly dateValue: _angular_core.Signal<Date | null>;
689
700
  protected onValueChange(newValue: unknown): void;
690
- protected onInputControlReady(control: ZInputControl): void;
701
+ protected onInputEvent(event: ZEvent): void;
691
702
  private _handleInputBlur;
692
- protected onToggleChange(checked: boolean): void;
703
+ protected onImmediateChange(newValue: unknown): void;
693
704
  protected onSelectChange(newValue: unknown): void;
694
- protected onDateChange(newValue: unknown): void;
695
- protected onCheckboxChange(checked: boolean): void;
696
- /**
697
- * Handles immediate value changes (non-debounced).
698
- * Used by checkbox, toggle, select, and date controls.
699
- */
700
- private _handleImmediateChange;
701
705
  private _emitChange;
702
706
  ngOnInit(): void;
703
- private _setupBlurWatcher;
704
707
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZTableEditCellComponent<any>, never>;
705
708
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZTableEditCellComponent<any>, "z-table-edit-cell", never, { "zRow": { "alias": "zRow"; "required": true; "isSignal": true; }; "zRowId": { "alias": "zRowId"; "required": true; "isSignal": true; }; "zRowIndex": { "alias": "zRowIndex"; "required": true; "isSignal": true; }; "zColumnId": { "alias": "zColumnId"; "required": true; "isSignal": true; }; "zValue": { "alias": "zValue"; "required": false; "isSignal": true; }; "zEditConfig": { "alias": "zEditConfig"; "required": false; "isSignal": true; }; "zRowUpdate": { "alias": "zRowUpdate"; "required": false; "isSignal": true; }; }, { "zChange": "zChange"; }, never, never, true, never>;
706
709
  }
@@ -1,6 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, OnInit, ElementRef } from '@angular/core';
3
3
  import { ControlValueAccessor } from '@angular/forms';
4
+ import { ZEvent } from '@shival99/z-ui/utils';
4
5
  import { ClassValue } from 'clsx';
5
6
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
7
  import { VariantProps } from 'class-variance-authority';
@@ -52,6 +53,7 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
52
53
  readonly zOnError: _angular_core.OutputEmitterRef<ZUploadError>;
53
54
  readonly zOnFileChange: _angular_core.OutputEmitterRef<File[]>;
54
55
  readonly zControl: _angular_core.OutputEmitterRef<ZUploadControl>;
56
+ readonly zEvent: _angular_core.OutputEmitterRef<ZEvent>;
55
57
  readonly class: _angular_core.InputSignal<ClassValue>;
56
58
  readonly zLabel: _angular_core.InputSignal<string>;
57
59
  readonly zLabelClass: _angular_core.InputSignal<string>;
@@ -70,8 +72,10 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
70
72
  readonly files: _angular_core.WritableSignal<ZUploadFile[]>;
71
73
  protected readonly inputId: string;
72
74
  protected readonly isDragOver: _angular_core.WritableSignal<boolean>;
73
- protected readonly isTouched: _angular_core.WritableSignal<boolean>;
74
- private readonly _dirty;
75
+ protected readonly uiState: _angular_core.WritableSignal<{
76
+ touched: boolean;
77
+ dirty: boolean;
78
+ }>;
75
79
  private readonly _fileError;
76
80
  private readonly _disabled;
77
81
  private readonly _formControl;
@@ -120,7 +124,7 @@ declare class ZUploadComponent implements OnInit, ControlValueAccessor {
120
124
  private _isValidFileType;
121
125
  private _notifyChange;
122
126
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ZUploadComponent, never>;
123
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZUploadComponent, "z-upload", ["zUpload"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zNote": { "alias": "zNote"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zAcceptFile": { "alias": "zAcceptFile"; "required": false; "isSignal": true; }; "zMultipleFile": { "alias": "zMultipleFile"; "required": false; "isSignal": true; }; "zMaxSize": { "alias": "zMaxSize"; "required": false; "isSignal": true; }; "zMaxFiles": { "alias": "zMaxFiles"; "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; }; "zShowProgress": { "alias": "zShowProgress"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "required": false; "isSignal": true; }; }, { "zOnUpload": "zOnUpload"; "zOnRemove": "zOnRemove"; "zOnDownload": "zOnDownload"; "zOnError": "zOnError"; "zOnFileChange": "zOnFileChange"; "zControl": "zControl"; }, never, never, true, never>;
127
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ZUploadComponent, "z-upload", ["zUpload"], { "class": { "alias": "class"; "required": false; "isSignal": true; }; "zLabel": { "alias": "zLabel"; "required": false; "isSignal": true; }; "zLabelClass": { "alias": "zLabelClass"; "required": false; "isSignal": true; }; "zNote": { "alias": "zNote"; "required": false; "isSignal": true; }; "zSize": { "alias": "zSize"; "required": false; "isSignal": true; }; "zAcceptFile": { "alias": "zAcceptFile"; "required": false; "isSignal": true; }; "zMultipleFile": { "alias": "zMultipleFile"; "required": false; "isSignal": true; }; "zMaxSize": { "alias": "zMaxSize"; "required": false; "isSignal": true; }; "zMaxFiles": { "alias": "zMaxFiles"; "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; }; "zShowProgress": { "alias": "zShowProgress"; "required": false; "isSignal": true; }; "zValidators": { "alias": "zValidators"; "required": false; "isSignal": true; }; }, { "zOnUpload": "zOnUpload"; "zOnRemove": "zOnRemove"; "zOnDownload": "zOnDownload"; "zOnError": "zOnError"; "zOnFileChange": "zOnFileChange"; "zControl": "zControl"; "zEvent": "zEvent"; }, never, never, true, never>;
124
128
  }
125
129
 
126
130
  declare const zUploadDropzoneVariants: (props?: ({
@@ -1,7 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { PipeTransform, TemplateRef } from '@angular/core';
3
3
  import { ZCapitalizeType as ZCapitalizeType$1, ZFormatNumOptions } from '@shival99/z-ui/utils';
4
- import { SafeHtml } from '@angular/platform-browser';
4
+ import { SafeHtml, SafeResourceUrl } from '@angular/platform-browser';
5
5
 
6
6
  declare class ZCapitalizePipe implements PipeTransform {
7
7
  transform(value: string | null | undefined, type?: ZCapitalizeType$1): string;
@@ -40,5 +40,24 @@ declare class ZSafeHtmlPipe implements PipeTransform {
40
40
  static ɵpipe: i0.ɵɵPipeDeclaration<ZSafeHtmlPipe, "zSafeHtml", true>;
41
41
  }
42
42
 
43
- export { ZCapitalizePipe, ZContentTypePipe, ZFormatNumPipe, ZHighlightPipe, ZSafeHtmlPipe };
43
+ /**
44
+ * Pipe to sanitize URLs for resource contexts (iframe src, video src, etc.)
45
+ *
46
+ * Usage:
47
+ * ```html
48
+ * <iframe [src]="url | zSafeResourceUrl"></iframe>
49
+ * <video [src]="videoUrl | zSafeResourceUrl"></video>
50
+ * ```
51
+ *
52
+ * Note: Only use this pipe with trusted URLs. Do not use with user-provided URLs
53
+ * without proper validation, as it bypasses Angular's security.
54
+ */
55
+ declare class ZSafeResourceUrlPipe implements PipeTransform {
56
+ private readonly _sanitizer;
57
+ transform(value: string | null | undefined): SafeResourceUrl | null;
58
+ static ɵfac: i0.ɵɵFactoryDeclaration<ZSafeResourceUrlPipe, never>;
59
+ static ɵpipe: i0.ɵɵPipeDeclaration<ZSafeResourceUrlPipe, "zSafeResourceUrl", true>;
60
+ }
61
+
62
+ export { ZCapitalizePipe, ZContentTypePipe, ZFormatNumPipe, ZHighlightPipe, ZSafeHtmlPipe, ZSafeResourceUrlPipe };
44
63
  export type { ZCapitalizeType, ZContentType };