ngx-kit 7.2.0 → 7.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/angle-selector/README.md +34 -34
  2. package/box-shadow/README.md +33 -33
  3. package/color-picker/README.md +52 -52
  4. package/{shared → core}/README.md +117 -117
  5. package/data-table/README.md +120 -120
  6. package/date-picker/README.md +74 -74
  7. package/dialog/README.md +122 -92
  8. package/drag-resize/README.md +53 -55
  9. package/fesm2022/ngx-kit-angle-selector.mjs +9 -26
  10. package/fesm2022/ngx-kit-angle-selector.mjs.map +1 -1
  11. package/fesm2022/ngx-kit-box-shadow.mjs +330 -356
  12. package/fesm2022/ngx-kit-box-shadow.mjs.map +1 -1
  13. package/fesm2022/ngx-kit-color-picker.mjs +132 -272
  14. package/fesm2022/ngx-kit-color-picker.mjs.map +1 -1
  15. package/fesm2022/{ngx-kit-shared.mjs → ngx-kit-core.mjs} +845 -277
  16. package/fesm2022/ngx-kit-core.mjs.map +1 -0
  17. package/fesm2022/ngx-kit-data-table.mjs +3 -3
  18. package/fesm2022/ngx-kit-data-table.mjs.map +1 -1
  19. package/fesm2022/ngx-kit-date-picker.mjs +153 -147
  20. package/fesm2022/ngx-kit-date-picker.mjs.map +1 -1
  21. package/fesm2022/ngx-kit-dialog.mjs +430 -331
  22. package/fesm2022/ngx-kit-dialog.mjs.map +1 -1
  23. package/fesm2022/ngx-kit-drag-resize.mjs +126 -45
  24. package/fesm2022/ngx-kit-drag-resize.mjs.map +1 -1
  25. package/fesm2022/ngx-kit-drawer-menu.mjs +2 -2
  26. package/fesm2022/ngx-kit-drawer-menu.mjs.map +1 -1
  27. package/fesm2022/ngx-kit-dropzone.mjs.map +1 -1
  28. package/fesm2022/ngx-kit-form-field.mjs.map +1 -1
  29. package/fesm2022/ngx-kit-gallery.mjs +3 -3
  30. package/fesm2022/ngx-kit-gallery.mjs.map +1 -1
  31. package/fesm2022/ngx-kit-gradient-picker.mjs +20 -38
  32. package/fesm2022/ngx-kit-gradient-picker.mjs.map +1 -1
  33. package/fesm2022/ngx-kit-grid-layout.mjs +19 -18
  34. package/fesm2022/ngx-kit-grid-layout.mjs.map +1 -1
  35. package/fesm2022/ngx-kit-image-editor.mjs +3 -3
  36. package/fesm2022/ngx-kit-image-editor.mjs.map +1 -1
  37. package/fesm2022/ngx-kit-menu.mjs +1 -1
  38. package/fesm2022/ngx-kit-menu.mjs.map +1 -1
  39. package/fesm2022/ngx-kit-message.mjs +1 -1
  40. package/fesm2022/ngx-kit-message.mjs.map +1 -1
  41. package/fesm2022/ngx-kit-notify.mjs +1 -1
  42. package/fesm2022/ngx-kit-notify.mjs.map +1 -1
  43. package/fesm2022/ngx-kit-time-picker.mjs +1 -1
  44. package/fesm2022/ngx-kit-time-picker.mjs.map +1 -1
  45. package/fesm2022/ngx-kit-virtual-scroll.mjs +2 -2
  46. package/fesm2022/ngx-kit-virtual-scroll.mjs.map +1 -1
  47. package/gallery/README.md +71 -71
  48. package/gradient-picker/README.md +41 -41
  49. package/grid-layout/README.md +64 -64
  50. package/image-editor/README.md +44 -44
  51. package/menu/README.md +85 -85
  52. package/message/README.md +70 -70
  53. package/notify/README.md +56 -56
  54. package/package.json +5 -9
  55. package/time-picker/README.md +89 -89
  56. package/types/ngx-kit-angle-selector.d.ts +13 -16
  57. package/types/ngx-kit-box-shadow.d.ts +37 -95
  58. package/types/ngx-kit-color-picker.d.ts +61 -58
  59. package/types/{ngx-kit-shared.d.ts → ngx-kit-core.d.ts} +156 -34
  60. package/types/ngx-kit-data-table.d.ts +2 -2
  61. package/types/ngx-kit-date-picker.d.ts +30 -29
  62. package/types/ngx-kit-dialog.d.ts +208 -107
  63. package/types/ngx-kit-drag-resize.d.ts +33 -6
  64. package/types/ngx-kit-gradient-picker.d.ts +4 -7
  65. package/types/ngx-kit-grid-layout.d.ts +0 -1
  66. package/types/ngx-kit-menu.d.ts +1 -1
  67. package/types/ngx-kit-time-picker.d.ts +1 -1
  68. package/virtual-scroll/README.md +199 -199
  69. package/fesm2022/ngx-kit-shared.mjs.map +0 -1
  70. package/fesm2022/ngx-kit-webflow.mjs +0 -709
  71. package/fesm2022/ngx-kit-webflow.mjs.map +0 -1
  72. package/types/ngx-kit-webflow.d.ts +0 -286
@@ -1,103 +1,45 @@
1
- import * as i0 from '@angular/core';
2
- import { OnInit, AfterViewInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef, ViewContainerRef, Renderer2 } from '@angular/core';
3
- import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
- import { IPosition, BrowserService, OverlayService } from 'ngx-kit/shared';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, AfterViewInit, ChangeDetectorRef } from '@angular/core';
3
+ import { OverlayService } from 'ngx-kit/core';
5
4
 
6
- declare class NgxBoxShadowComponent implements OnInit, AfterViewInit, OnDestroy, ControlValueAccessor, Validator {
7
- private cd;
8
- theme: 'light' | 'dark' | 'auto';
9
- set setTheme(val: 'light' | 'dark' | 'auto');
10
- /**
11
- * The maximum range of the box shadow.
12
- * @default 25
13
- */
14
- maxRange: number;
15
- change: EventEmitter<string>;
16
- isDisabled: boolean;
17
- isDragging: boolean;
18
- value: IPosition;
19
- x: number;
20
- y: number;
21
- blur: number;
22
- spread: number;
5
+ interface BoxShadow {
6
+ inset?: boolean;
7
+ xOffset: number;
8
+ yOffset: number;
9
+ blurRadius?: number;
10
+ spreadRadius?: number;
23
11
  color: string;
24
- line: {
25
- x1: number;
26
- y1: number;
27
- x2: number;
28
- y2: number;
29
- };
30
- center: {
31
- x: number;
32
- y: number;
33
- };
34
- padRect?: DOMRect;
35
- thumbRect?: DOMRect;
36
- protected _onChange: (value: string) => void;
37
- protected _onTouched: () => void;
38
- _onValidateChange: () => void;
39
- private stopDrag?;
40
- pad: ElementRef<HTMLDivElement>;
41
- thumb: ElementRef<HTMLDivElement>;
42
- browserService: BrowserService;
43
- constructor(cd: ChangeDetectorRef);
44
- ngOnInit(): void;
45
- ngAfterViewInit(): void;
46
- ngOnDestroy(): void;
47
- registerOnChange(fn: any): void;
48
- registerOnTouched(fn: any): void;
49
- setDisabledState(disabled: boolean): void;
50
- registerOnValidatorChange(fn: () => void): void;
51
- validate(control: AbstractControl): ValidationErrors | null;
52
- writeValue(value: any): void;
53
- dragStart(ev: MouseEvent | TouchEvent): void;
54
- private updateRects;
55
- private resetPosition;
56
- onResize(): void;
57
- private updatePosition;
58
- setValueByPosition(thumbRec: DOMRect, padRec: DOMRect): void;
59
- onChangeValue(): void;
60
- private convertValueToPosition;
61
- onChangeData(): void;
62
- stopPropagation(ev: Event): void;
63
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxBoxShadowComponent, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxBoxShadowComponent, "ngx-box-shadow", never, { "setTheme": { "alias": "theme"; "required": false; }; "maxRange": { "alias": "maxRange"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
12
+ unit: string;
13
+ cssValue?: string;
65
14
  }
66
15
 
67
- declare class NgxInputBoxShadow implements OnDestroy, ControlValueAccessor, Validator {
68
- private el;
69
- private viewContainerRef;
70
- private renderer;
71
- private overlayService;
72
- setInputBackground: boolean;
73
- private pickerRef?;
74
- value: string;
75
- protected _onChange: (value: string) => void;
76
- protected _onTouched: () => void;
77
- _onValidateChange: () => void;
78
- constructor(el: ElementRef, viewContainerRef: ViewContainerRef, renderer: Renderer2, overlayService: OverlayService);
79
- onClick(ev: Event): void;
16
+ declare class NgxShadowBox implements OnInit, AfterViewInit {
17
+ protected readonly maxRange: _angular_core.InputSignal<number>;
18
+ protected readonly shadowChange: _angular_core.OutputEmitterRef<string>;
19
+ selectedIndex: _angular_core.WritableSignal<number>;
20
+ shadows: _angular_core.WritableSignal<BoxShadow[]>;
21
+ result: string;
22
+ protected readonly doc: Document;
23
+ protected readonly win: Window | null;
24
+ protected readonly overlay: OverlayService;
25
+ protected readonly chdr: ChangeDetectorRef;
26
+ isDisabled: boolean;
27
+ onChange: (_: string) => void;
28
+ onTouched: () => void;
80
29
  registerOnChange(fn: any): void;
81
30
  registerOnTouched(fn: any): void;
82
- setDisabledState(disabled: boolean): void;
83
- registerOnValidatorChange(fn: () => void): void;
84
- validate(control: AbstractControl): ValidationErrors | null;
85
- ngOnDestroy(): void;
86
- writeValue(value: any): void;
87
- toggleColorPicker(): void;
88
- destroyPicker(): void;
89
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputBoxShadow, never>;
90
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxInputBoxShadow, "[ngxInputBoxShadow]", never, { "setInputBackground": { "alias": "setInputBackground"; "required": false; }; }, {}, never, never, true, never>;
91
- }
92
-
93
- interface BoxShadowValue {
94
- inset: boolean;
95
- offsetX: number;
96
- offsetY: number;
97
- blurRadius: number;
98
- spreadRadius: number;
99
- color: string;
31
+ setDisabledState(isDisabled: boolean): void;
32
+ constructor();
33
+ ngOnInit(): void;
34
+ ngAfterViewInit(): void;
35
+ writeValue(val: string): void;
36
+ addShadow(container: HTMLElement): void;
37
+ setShadow(el: HTMLElement, item: BoxShadow, index: number): void;
38
+ removeShadow(ev: Event, index: number): void;
39
+ private update;
40
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxShadowBox, never>;
41
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxShadowBox, "ngx-box-shadow", never, { "maxRange": { "alias": "maxRange"; "required": false; "isSignal": true; }; }, { "shadowChange": "shadowChange"; }, never, never, true, never>;
100
42
  }
101
43
 
102
- export { NgxBoxShadowComponent, NgxInputBoxShadow };
103
- export type { BoxShadowValue };
44
+ export { NgxShadowBox };
45
+ export type { BoxShadow };
@@ -1,7 +1,30 @@
1
- import * as i0 from '@angular/core';
2
- import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef, AfterViewInit, ElementRef, Renderer2, ViewContainerRef, PipeTransform } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { AfterViewInit, OnDestroy, ElementRef, EventEmitter, Renderer2, ViewContainerRef, PipeTransform } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
- import { BrowserService, OverlayService } from 'ngx-kit/shared';
4
+ import { OverlayService } from 'ngx-kit/core';
5
+
6
+ declare enum ColorInspector {
7
+ Picker = 0,
8
+ RGB = 1,
9
+ HSL = 2,
10
+ CMYK = 3
11
+ }
12
+
13
+ type OutputType = 'CMYK' | 'HSL' | 'HSV' | 'RGB' | 'HEX';
14
+
15
+ declare class NgxInputColorConfig {
16
+ /**
17
+ * show preset colors
18
+ * - It will not display preset colors in simple mode.
19
+ */
20
+ showPresets?: boolean;
21
+ presetColors?: string[];
22
+ /** Minifi UI */
23
+ simpleMode?: boolean;
24
+ outputType?: OutputType;
25
+ defaultInspector?: ColorInspector;
26
+ useAlphaChannel?: boolean;
27
+ }
5
28
 
6
29
  declare enum ColorFormats {
7
30
  HEX = 0,
@@ -63,8 +86,6 @@ declare class CMYK {
63
86
  k: number;
64
87
  }
65
88
 
66
- type OutputType = 'CMYK' | 'HSL' | 'HSV' | 'RGB' | 'HEX';
67
-
68
89
  type ColorInput = string | CMYK | HSLA | HSVA | RGBA | NgxColor;
69
90
 
70
91
  declare class NgxColor {
@@ -92,49 +113,32 @@ declare class NgxColor {
92
113
  removeAlphaChannel(): void;
93
114
  }
94
115
 
95
- declare enum ColorInspector {
96
- Picker = 0,
97
- RGB = 1,
98
- HSL = 2,
99
- CMYK = 3
100
- }
101
-
102
- declare class NgxInputColorComponent implements OnInit, OnDestroy, ControlValueAccessor, Validator {
103
- private cd;
104
- browserService: BrowserService;
105
- theme: 'light' | 'dark';
106
- set setTheme(val: 'light' | 'dark' | 'auto');
116
+ declare class NgxInputColorComponent implements ControlValueAccessor, Validator {
117
+ protected readonly configs: NgxInputColorConfig;
107
118
  /** Minifi UI */
108
- simpleMode: boolean;
109
- outputType: OutputType;
110
- /**
111
- * default inspectors
112
- * - ColorInspector.Picker
113
- * - ColorInspector.RGB
114
- * - ColorInspector.HSL
115
- *
116
- * @alias defaultInspector
117
- */
118
- defaultInspector: ColorInspector;
119
- useAlphaChannel: boolean;
120
- set setUseAlphaChannel(val: boolean);
119
+ readonly simpleMode: _angular_core.InputSignal<boolean>;
120
+ readonly outputType: _angular_core.InputSignal<OutputType>;
121
+ readonly defaultInspector: _angular_core.ModelSignal<ColorInspector>;
122
+ readonly useAlphaChannel: _angular_core.InputSignal<boolean>;
123
+ readonly showPresets: _angular_core.InputSignal<boolean>;
124
+ readonly presetColors: _angular_core.InputSignal<string[]>;
121
125
  /** Emitted when the color value changes */
122
- change: EventEmitter<string>;
126
+ colorChange: _angular_core.OutputEmitterRef<string>;
123
127
  /** @ignore */
124
128
  format: ColorFormats;
125
129
  /** @ignore */
126
130
  isDarkColor: boolean;
127
131
  /** @ignore */
128
- rgbaColor: string;
132
+ rgbaColor: _angular_core.WritableSignal<string>;
129
133
  /** @ignore */
130
- hexColor: string;
131
- outputColor: string;
134
+ hexColor: _angular_core.WritableSignal<string>;
135
+ outputColor: _angular_core.WritableSignal<string>;
132
136
  /** @ignore */
133
- name: string;
137
+ name: _angular_core.WritableSignal<string>;
134
138
  /** @ignore */
135
139
  isSupportedEyeDrop: boolean;
136
140
  /** @ignore */
137
- color: NgxColor;
141
+ color: _angular_core.WritableSignal<NgxColor>;
138
142
  /** @ignore */
139
143
  isDisabled: boolean;
140
144
  /**@ignore */
@@ -143,11 +147,7 @@ declare class NgxInputColorComponent implements OnInit, OnDestroy, ControlValueA
143
147
  protected _onTouched: () => void;
144
148
  /**@ignore */
145
149
  private _onValidateChange;
146
- constructor(cd: ChangeDetectorRef);
147
- /** @ignore */
148
- ngOnInit(): void;
149
- /** @ignore */
150
- ngOnDestroy(): void;
150
+ constructor();
151
151
  get ColorFormats(): typeof ColorFormats;
152
152
  get ColorInspector(): typeof ColorInspector;
153
153
  /** @ignore */
@@ -164,17 +164,16 @@ declare class NgxInputColorComponent implements OnInit, OnDestroy, ControlValueA
164
164
  writeValue(value: any): void;
165
165
  /** @ignore */
166
166
  openEyeDrop(): void;
167
+ selectColor(c: string): void;
167
168
  /**
168
169
  * call from directive
169
170
  /* @ignore
170
171
  */
171
172
  initColor(c?: NgxColor): Promise<void>;
172
173
  /** @ignore */
173
- stopPropagation(ev: Event): void;
174
- /** @ignore */
175
174
  emitChange(): Promise<void>;
176
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputColorComponent, never>;
177
- static ɵcmp: i0.ɵɵComponentDeclaration<NgxInputColorComponent, "ngx-input-color", never, { "setTheme": { "alias": "theme"; "required": false; }; "simpleMode": { "alias": "simpleMode"; "required": false; }; "outputType": { "alias": "outputType"; "required": false; }; "defaultInspector": { "alias": "defaultInspector"; "required": false; }; "setUseAlphaChannel": { "alias": "useAlphaChannel"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
175
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxInputColorComponent, never>;
176
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NgxInputColorComponent, "ngx-input-color", never, { "simpleMode": { "alias": "simpleMode"; "required": false; "isSignal": true; }; "outputType": { "alias": "outputType"; "required": false; "isSignal": true; }; "defaultInspector": { "alias": "defaultInspector"; "required": false; "isSignal": true; }; "useAlphaChannel": { "alias": "useAlphaChannel"; "required": false; "isSignal": true; }; "showPresets": { "alias": "showPresets"; "required": false; "isSignal": true; }; "presetColors": { "alias": "presetColors"; "required": false; "isSignal": true; }; }, { "defaultInspector": "defaultInspectorChange"; "colorChange": "colorChange"; }, never, never, true, never>;
178
177
  }
179
178
 
180
179
  declare class NgxInputColor implements AfterViewInit, OnDestroy, ControlValueAccessor, Validator {
@@ -183,12 +182,16 @@ declare class NgxInputColor implements AfterViewInit, OnDestroy, ControlValueAcc
183
182
  private readonly viewContainerRef;
184
183
  private readonly overlayService;
185
184
  setInputBackgroundColor: boolean;
186
- defaultInspector: ColorInspector;
187
- simpleMode: boolean;
188
- outputType: OutputType;
189
- theme: 'light' | 'dark' | 'auto';
190
- private useAlphaChannel;
191
- set setUseAlphaChannel(value: boolean);
185
+ protected readonly configs: NgxInputColorConfig;
186
+ /** Minifi UI */
187
+ readonly simpleMode: _angular_core.InputSignal<boolean>;
188
+ readonly outputType: _angular_core.InputSignal<OutputType>;
189
+ readonly defaultInspector: _angular_core.ModelSignal<ColorInspector>;
190
+ readonly useAlphaChannel: _angular_core.InputSignal<boolean>;
191
+ readonly showPresets: _angular_core.InputSignal<boolean>;
192
+ readonly presetColors: _angular_core.InputSignal<string[]>;
193
+ /** Emitted when the color value changes */
194
+ colorChange: _angular_core.OutputEmitterRef<string>;
192
195
  /**
193
196
  * Input target.
194
197
  *
@@ -246,7 +249,7 @@ declare class NgxInputColor implements AfterViewInit, OnDestroy, ControlValueAcc
246
249
  * must propagate through ControlValueAccessor.
247
250
  */
248
251
  private handleInputEvent;
249
- private toggleColorPicker;
252
+ toggle(): void;
250
253
  private destroyColorPicker;
251
254
  /**
252
255
  * User-originated/custom-picker value.
@@ -269,8 +272,8 @@ declare class NgxInputColor implements AfterViewInit, OnDestroy, ControlValueAcc
269
272
  private syncHostBackground;
270
273
  private notifyValidatorChange;
271
274
  private isInputElement;
272
- static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputColor, never>;
273
- static ɵdir: i0.ɵɵDirectiveDeclaration<NgxInputColor, "[ngxInputColor]", never, { "setInputBackgroundColor": { "alias": "setInputBackgroundColor"; "required": false; }; "defaultInspector": { "alias": "defaultInspector"; "required": false; }; "simpleMode": { "alias": "simpleMode"; "required": false; }; "outputType": { "alias": "outputType"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "setUseAlphaChannel": { "alias": "useAlphaChannel"; "required": false; }; "ngxInputColor": { "alias": "ngxInputColor"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
275
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NgxInputColor, never>;
276
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NgxInputColor, "[ngxInputColor]", ["ngxInputColor"], { "setInputBackgroundColor": { "alias": "setInputBackgroundColor"; "required": false; }; "simpleMode": { "alias": "simpleMode"; "required": false; "isSignal": true; }; "outputType": { "alias": "outputType"; "required": false; "isSignal": true; }; "defaultInspector": { "alias": "defaultInspector"; "required": false; "isSignal": true; }; "useAlphaChannel": { "alias": "useAlphaChannel"; "required": false; "isSignal": true; }; "showPresets": { "alias": "showPresets"; "required": false; "isSignal": true; }; "presetColors": { "alias": "presetColors"; "required": false; "isSignal": true; }; "ngxInputColor": { "alias": "ngxInputColor"; "required": false; }; }, { "defaultInspector": "defaultInspectorChange"; "colorChange": "colorChange"; "change": "change"; }, never, never, true, never>;
274
277
  }
275
278
 
276
279
  declare class EnumToArrayPipe implements PipeTransform {
@@ -281,8 +284,8 @@ declare class EnumToArrayPipe implements PipeTransform {
281
284
  * C=3
282
285
  */
283
286
  transform(data: Object): string[];
284
- static ɵfac: i0.ɵɵFactoryDeclaration<EnumToArrayPipe, never>;
285
- static ɵpipe: i0.ɵɵPipeDeclaration<EnumToArrayPipe, "enumToArray", true>;
287
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EnumToArrayPipe, never>;
288
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<EnumToArrayPipe, "enumToArray", true>;
286
289
  }
287
290
  declare class EnumToArrayStringValuePipe implements PipeTransform {
288
291
  /**
@@ -292,8 +295,8 @@ declare class EnumToArrayStringValuePipe implements PipeTransform {
292
295
  * C='C'
293
296
  */
294
297
  transform(data: Object, sort?: boolean): string[];
295
- static ɵfac: i0.ɵɵFactoryDeclaration<EnumToArrayStringValuePipe, never>;
296
- static ɵpipe: i0.ɵɵPipeDeclaration<EnumToArrayStringValuePipe, "enumToArrayStringValue", true>;
298
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EnumToArrayStringValuePipe, never>;
299
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<EnumToArrayStringValuePipe, "enumToArrayStringValue", true>;
297
300
  }
298
301
 
299
302
  export { ColorInspector, EnumToArrayPipe, EnumToArrayStringValuePipe, NgxInputColor, NgxInputColorComponent };
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef, InjectionToken, ComponentRef, TemplateRef, Type, ViewContainerRef, ApplicationRef, EmbeddedViewRef } from '@angular/core';
2
+ import { OnInit, OnDestroy, EventEmitter, ElementRef, ChangeDetectorRef, InjectionToken, ComponentRef, TemplateRef, Injector, Type, ViewContainerRef, ApplicationRef, EmbeddedViewRef } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors, FormControl } from '@angular/forms';
4
4
 
5
5
  interface IValue {
@@ -166,8 +166,6 @@ declare class SliderComponent implements OnInit, OnDestroy, ControlValueAccessor
166
166
  static ɵcmp: i0.ɵɵComponentDeclaration<SliderComponent, "slider", never, { "step": { "alias": "step"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "background": { "alias": "background"; "required": false; }; "isBgTransparent": { "alias": "isBgTransparent"; "required": false; }; }, { "change": "change"; }, never, ["*"], true, never>;
167
167
  }
168
168
 
169
- declare function mergeConfig<T>(base: T, override?: Partial<T>): T;
170
-
171
169
  declare function getOffsetPosition(evt: MouseEvent | TouchEvent, parent: HTMLElement): {
172
170
  x: number;
173
171
  y: number;
@@ -259,6 +257,42 @@ declare function filterTreeList<T extends Record<string, any>>(data: readonly T[
259
257
  childrenKeyName?: string;
260
258
  }): T[];
261
259
 
260
+ /**
261
+ * CSS named colors.
262
+ *
263
+ * Includes all standard CSS color keywords plus:
264
+ * - transparent
265
+ * - currentcolor
266
+ */
267
+ declare const CSS_COLOR_NAMES: Record<string, string>;
268
+ /**
269
+ * Extract all CSS colors from an arbitrary CSS string.
270
+ *
271
+ * Supports:
272
+ * - Hex: #fff, #ffff, #ffffff, #ffffffff
273
+ * - rgb()
274
+ * - rgba()
275
+ * - hsl()
276
+ * - hsla()
277
+ * - hwb()
278
+ * - lab()
279
+ * - lch()
280
+ * - oklab()
281
+ * - oklch()
282
+ * - color()
283
+ * - CSS named colors
284
+ * - transparent
285
+ * - currentcolor
286
+ *
287
+ * Works with values such as:
288
+ *
289
+ * box-shadow: 0 0 10px red, 0 0 20px #00ff00;
290
+ * linear-gradient(red, rgba(0, 0, 0, .5));
291
+ * radial-gradient(circle, blue 0%, transparent 100%);
292
+ * conic-gradient(from 90deg, yellow, #ff0000);
293
+ */
294
+ declare function extractCssColors(value: string | null | undefined): string[];
295
+
262
296
  declare class BrowserService {
263
297
  private platformId;
264
298
  constructor(platformId: object);
@@ -294,13 +328,14 @@ declare class DirectionService {
294
328
  }
295
329
 
296
330
  declare class OverlayRef<T> {
297
- private readonly dialogEl;
298
- private readonly teardownFn;
331
+ private readonly element;
332
+ private readonly closeFn;
299
333
  readonly componentRef?: ComponentRef<T> | undefined;
300
- readonly templateRef?: TemplateRef<T> | undefined;
301
- constructor(dialogEl: HTMLDialogElement, teardownFn: () => void, componentRef?: ComponentRef<T> | undefined, templateRef?: TemplateRef<T> | undefined);
334
+ readonly template?: TemplateRef<unknown> | undefined;
335
+ constructor(element: HTMLElement | null, closeFn: () => void, componentRef?: ComponentRef<T> | undefined, template?: TemplateRef<unknown> | undefined);
302
336
  close(): void;
303
- get nativeElement(): HTMLElement;
337
+ get nativeElement(): HTMLElement | null;
338
+ static noop<T>(): OverlayRef<T>;
304
339
  }
305
340
 
306
341
  /**
@@ -310,59 +345,146 @@ interface Point {
310
345
  x: number;
311
346
  y: number;
312
347
  }
313
- type Placement = 'top' | 'bottom' | 'auto';
348
+ /**
349
+ * instead of being placed above/below a (possibly absent) anchor.
350
+ */
351
+ type Placement = 'top' | 'bottom' | 'center' | 'auto';
314
352
  type Alignment = 'start' | 'center' | 'end';
315
- interface BaseOverlayOptions<T> {
316
- anchor: HTMLElement;
353
+ interface BaseOverlayOptions<T = any> {
354
+ /**
355
+ * Element the overlay is positioned
356
+ */
357
+ anchor?: HTMLElement;
317
358
  /** pointer for context menu */
318
359
  point?: Point;
319
360
  placement?: Placement;
320
361
  alignment?: Alignment;
321
362
  margin?: number;
363
+ /**
364
+ * Whether to render this overlay using the native Popover API (top-layer
365
+ * rendering, escapes clipping/stacking-context issues of ancestors).
366
+ * Falls back automatically to a manual z-index based overlay when the
367
+ * browser doesn't support the Popover API. Defaults to `true`.
368
+ */
369
+ usePopover?: boolean;
370
+ /**
371
+ * Parent injector used when creating the overlay's component. Lets callers
372
+ * (e.g. a dialog service) provide their own tokens - such as data or a
373
+ * reference back to the overlay - to the created component and everything
374
+ * it projects. Defaults to the injector of `viewContainerRef` (or, when
375
+ * `viewContainerRef` is omitted, the root environment injector).
376
+ */
377
+ injector?: Injector;
378
+ /** Close this overlay when Escape is pressed while it's the topmost overlay. Default: true. */
379
+ closeOnEscape?: boolean;
380
+ /** Close this overlay on a click outside its panel and anchor. Default: true. */
381
+ closeOnOutsideClick?: boolean;
382
+ /**
383
+ * Synchronous guard consulted before Escape/outside-click would close the
384
+ * overlay. Return `false` to block the dismissal (e.g. "unsaved changes").
385
+ * Does NOT affect programmatic `close()` calls.
386
+ */
387
+ canClose?: () => boolean;
388
+ /** Move focus into the overlay when it opens. Default: true. */
389
+ autoFocus?: boolean;
390
+ /** Restore focus to the previously focused element when the overlay closes. Default: true. */
391
+ restoreFocus?: boolean;
392
+ /** Prevent the page behind the overlay from scrolling while it's open. Default: false. */
393
+ lockBodyScroll?: boolean;
394
+ /** Extra class(es) applied to the backdrop element. */
395
+ backdropClass?: string | string[];
396
+ /** Extra class(es) applied to the overlay panel element. */
397
+ panelClass?: string | string[];
398
+ /** `role` attribute for the overlay panel. Default: 'dialog'. */
399
+ role?: string;
400
+ /** Whether to set `aria-modal="true"` on the overlay panel. Default: true. */
401
+ ariaModal?: boolean;
402
+ ariaLabel?: string;
403
+ ariaLabelledby?: string;
404
+ ariaDescribedby?: string;
322
405
  configure?: (instance: T, ref: OverlayRef<T>) => void;
323
406
  onClosed?: () => void;
324
407
  }
325
408
  interface OverlayOptions<T> extends BaseOverlayOptions<T> {
326
409
  component: Type<T>;
327
- viewContainerRef: ViewContainerRef;
410
+ /**
411
+ * Optional. When provided, the component is created through this
412
+ * ViewContainerRef (inheriting its injector/change-detection context by
413
+ * default - override with `injector`). When omitted, the component is
414
+ * created and attached directly to the ApplicationRef, which is what lets
415
+ * services with no template context (e.g. a global dialog service) open
416
+ * overlays without needing a host ViewContainerRef.
417
+ */
418
+ viewContainerRef?: ViewContainerRef;
328
419
  }
329
420
  interface TemplateOptions extends BaseOverlayOptions<any> {
330
421
  template: TemplateRef<any>;
331
- appRef: ApplicationRef;
422
+ /** Falls back to the ApplicationRef injected internally by OverlayService when omitted. */
423
+ appRef?: ApplicationRef;
332
424
  }
333
425
 
334
- declare const FOCUSABLE_SELECTOR = "button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])";
426
+ declare const FOCUSABLE_SELECTOR: string;
335
427
  declare const DIALOG_OVERLAY_CLASSNAME = "ngx-ui-overlay";
336
- declare class OverlayService implements OnDestroy {
337
- private readonly overlayStacks;
338
- private listenersAttached;
339
- private resizeRafPending;
340
- private readonly doc;
341
- private readonly abortController;
428
+ declare const OVERLAY_HOST_CLASSNAME = "ngx-ui-overlay-host";
429
+ declare class OverlayService {
430
+ private readonly document;
342
431
  private readonly directionService;
343
- ngOnDestroy(): void;
432
+ private readonly platformId;
433
+ private readonly applicationRef;
434
+ private readonly environmentInjector;
435
+ private readonly overlayStack;
436
+ private globalListenersAttached;
437
+ private layoutRaf;
438
+ private bodyScrollLockCount;
439
+ private previousBodyOverflow;
440
+ private previousBodyPaddingRight;
441
+ private get isBrowser();
442
+ /** Number of overlays currently open. */
443
+ get openCount(): number;
344
444
  open<T>(options: OverlayOptions<T>): OverlayRef<T>;
345
445
  openTemplate(options: TemplateOptions): OverlayRef<any>;
346
446
  closeAll(): void;
347
- private resolvePlacementConfig;
348
- private createDialogElement;
349
- private scheduleInitialLayout;
447
+ private createComponentInstance;
448
+ private createTemplateInstance;
449
+ private pushInstance;
450
+ private createHostElement;
451
+ private createBackdropElement;
452
+ private createOverlayElement;
453
+ private addClasses;
454
+ private renderHost;
350
455
  private destroyInstance;
456
+ private resolveUsePopover;
457
+ private showHostPopover;
458
+ private hideHostPopover;
459
+ private supportsPopover;
460
+ private lockBodyScroll;
461
+ private unlockBodyScroll;
351
462
  private attachGlobalListeners;
352
- private readonly onGlobalKeyDown;
353
- private readonly onGlobalResize;
354
- private readonly onGlobalPointerEvent;
355
- private handleClickOnBackdrop;
356
- private getLastDialog;
357
- private repositionAll;
358
- private positionDialog;
463
+ private detachGlobalListeners;
464
+ private readonly onDocumentKeydown;
465
+ private readonly onDocumentClick;
466
+ private readonly onDocumentContextMenu;
467
+ private readonly onDocumentScroll;
468
+ private readonly onWindowResize;
469
+ private scheduleReposition;
470
+ private scheduleInitialLayout;
471
+ private focusInitialElement;
472
+ private trapFocus;
473
+ private restoreFocus;
474
+ private getActiveElement;
475
+ private positionOverlay;
476
+ private getAnchorRect;
477
+ private resolvePlacementConfig;
478
+ private getLastInstance;
479
+ private requestAnimationFrame;
480
+ private cancelAnimationFrame;
359
481
  static ɵfac: i0.ɵɵFactoryDeclaration<OverlayService, never>;
360
482
  static ɵprov: i0.ɵɵInjectableDeclaration<OverlayService>;
361
483
  }
362
484
 
363
485
  interface PlacementConfig {
364
- placement: 'top' | 'bottom' | 'auto';
365
- alignment: 'start' | 'center' | 'end';
486
+ placement: Placement;
487
+ alignment: Alignment;
366
488
  margin: number;
367
489
  }
368
490
 
@@ -380,5 +502,5 @@ interface OverlayInstance {
380
502
  cleanup: () => void;
381
503
  }
382
504
 
383
- export { BrowserService, DIALOG_OVERLAY_CLASSNAME, DirectionService, FOCUSABLE_SELECTOR, OverlayRef, OverlayService, RangeSliderComponent, SaturationComponent, SliderComponent, ValueModel, WINDOW, filterTreeList, generateSequentialGuid, getOffsetPosition, makeConfetti, mergeConfig, mergeDeep, randomStrnig, startDragSession };
505
+ export { BrowserService, CSS_COLOR_NAMES, DIALOG_OVERLAY_CLASSNAME, DirectionService, FOCUSABLE_SELECTOR, OVERLAY_HOST_CLASSNAME, OverlayRef, OverlayService, RangeSliderComponent, SaturationComponent, SliderComponent, ValueModel, WINDOW, extractCssColors, filterTreeList, generateSequentialGuid, getOffsetPosition, makeConfetti, mergeDeep, randomStrnig, startDragSession };
384
506
  export type { Alignment, BaseOverlayOptions, Direction, DragSessionCallbacks, IPosition, IValue, OverlayInstance, OverlayOptions, Placement, Point, TemplateOptions };
@@ -1,6 +1,6 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { InputSignal, Type, TemplateRef, InjectionToken, EnvironmentProviders, OnInit, AfterContentInit } from '@angular/core';
3
- import * as ngx_kit_shared from 'ngx-kit/shared';
3
+ import * as ngx_kit_core from 'ngx-kit/core';
4
4
  import * as ngx_kit_data_table from 'ngx-kit/data-table';
5
5
 
6
6
  type SortDirection = 'asc' | 'desc';
@@ -284,7 +284,7 @@ declare class NgxTable<T extends object> implements OnInit, AfterContentInit {
284
284
  protected readonly resolvedMultiSort: _angular_core.Signal<boolean>;
285
285
  private readonly directionService;
286
286
  private readonly destroyRef;
287
- protected readonly resolvedDirection: _angular_core.Signal<ngx_kit_shared.Direction>;
287
+ protected readonly resolvedDirection: _angular_core.Signal<ngx_kit_core.Direction>;
288
288
  constructor();
289
289
  ngOnInit(): void;
290
290
  ngAfterContentInit(): void;