ngx-kit 6.2.0 → 7.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/angle-selector/README.md +34 -34
- package/box-shadow/README.md +33 -33
- package/color-picker/README.md +52 -49
- package/data-table/README.md +120 -113
- package/date-picker/README.md +74 -69
- package/dialog/README.md +92 -92
- package/drag-resize/README.md +55 -0
- package/drawer-menu/README.md +125 -77
- package/dropzone/README.md +422 -422
- package/fesm2022/ngx-kit-angle-selector.mjs +2 -2
- package/fesm2022/ngx-kit-angle-selector.mjs.map +1 -1
- package/fesm2022/ngx-kit-box-shadow.mjs +2 -2
- package/fesm2022/ngx-kit-box-shadow.mjs.map +1 -1
- package/fesm2022/ngx-kit-color-picker.mjs +265 -73
- package/fesm2022/ngx-kit-color-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-data-table.mjs +2 -2
- package/fesm2022/ngx-kit-data-table.mjs.map +1 -1
- package/fesm2022/ngx-kit-date-picker.mjs +11 -11
- package/fesm2022/ngx-kit-date-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-dialog.mjs +3 -3
- package/fesm2022/ngx-kit-dialog.mjs.map +1 -1
- package/fesm2022/ngx-kit-drag-resize.mjs +1664 -0
- package/fesm2022/ngx-kit-drag-resize.mjs.map +1 -0
- package/fesm2022/ngx-kit-drawer-menu.mjs +424 -158
- package/fesm2022/ngx-kit-drawer-menu.mjs.map +1 -1
- package/fesm2022/ngx-kit-dropzone.mjs +2 -2
- package/fesm2022/ngx-kit-dropzone.mjs.map +1 -1
- package/fesm2022/ngx-kit-form-field.mjs +3 -5
- package/fesm2022/ngx-kit-form-field.mjs.map +1 -1
- package/fesm2022/ngx-kit-gallery.mjs +2 -2
- package/fesm2022/ngx-kit-gallery.mjs.map +1 -1
- package/fesm2022/ngx-kit-gradient-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-grid-layout.mjs +927 -0
- package/fesm2022/ngx-kit-grid-layout.mjs.map +1 -0
- package/fesm2022/ngx-kit-image-editor.mjs +2 -2
- package/fesm2022/ngx-kit-image-editor.mjs.map +1 -1
- package/fesm2022/ngx-kit-menu.mjs +8 -8
- package/fesm2022/ngx-kit-menu.mjs.map +1 -1
- package/fesm2022/ngx-kit-message.mjs +2 -2
- package/fesm2022/ngx-kit-message.mjs.map +1 -1
- package/fesm2022/ngx-kit-notify.mjs +2 -2
- package/fesm2022/ngx-kit-notify.mjs.map +1 -1
- package/fesm2022/ngx-kit-shared.mjs +54 -3
- package/fesm2022/ngx-kit-shared.mjs.map +1 -1
- package/fesm2022/ngx-kit-time-picker.mjs +2 -2
- package/fesm2022/ngx-kit-time-picker.mjs.map +1 -1
- package/fesm2022/ngx-kit-virtual-scroll.mjs +392 -0
- package/fesm2022/ngx-kit-virtual-scroll.mjs.map +1 -0
- package/fesm2022/ngx-kit-webflow.mjs +709 -0
- package/fesm2022/ngx-kit-webflow.mjs.map +1 -0
- package/gallery/README.md +71 -71
- package/gradient-picker/README.md +41 -41
- package/grid-layout/README.md +64 -0
- package/image-editor/README.md +12 -12
- package/menu/README.md +85 -85
- package/message/README.md +70 -70
- package/notify/README.md +56 -58
- package/package.json +17 -1
- package/shared/README.md +117 -117
- package/time-picker/README.md +89 -95
- package/types/ngx-kit-color-picker.d.ts +72 -16
- package/types/ngx-kit-date-picker.d.ts +2 -1
- package/types/ngx-kit-drag-resize.d.ts +368 -0
- package/types/ngx-kit-drawer-menu.d.ts +148 -88
- package/types/ngx-kit-grid-layout.d.ts +310 -0
- package/types/ngx-kit-image-editor.d.ts +1 -1
- package/types/ngx-kit-shared.d.ts +12 -1
- package/types/ngx-kit-virtual-scroll.d.ts +179 -0
- package/types/ngx-kit-webflow.d.ts +286 -0
- package/virtual-scroll/README.md +199 -0
package/time-picker/README.md
CHANGED
|
@@ -1,95 +1,89 @@
|
|
|
1
|
-
# ngx-kit/time-picker
|
|
2
|
-
|
|
3
|
-
An analog clock time picker (MUI-style), usable either inline or as a popup attached to a text input, with 12h/24h format support and a configurable minute step.
|
|
4
|
-
|
|
5
|
-
## Install
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install ngx-kit
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Setup (optional)
|
|
12
|
-
|
|
13
|
-
```ts
|
|
14
|
-
// app.config.ts
|
|
15
|
-
import { provideTimePicker } from 'ngx-kit/time-picker';
|
|
16
|
-
|
|
17
|
-
export const appConfig: ApplicationConfig = {
|
|
18
|
-
providers: [
|
|
19
|
-
provideTimePicker({
|
|
20
|
-
format: '24',
|
|
21
|
-
minuteStep: 5,
|
|
22
|
-
confirmButtonText: 'Done',
|
|
23
|
-
}),
|
|
24
|
-
],
|
|
25
|
-
};
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
`provideTimePicker` only needs the fields you want to override — everything else falls back to the defaults (`confirmButtonText: 'Ok'`, `cancelButtonText: 'Cancel'`, `amText: 'AM'`, `pmText: 'PM'`, `format: '12'`, `minuteStep: 1`, `autoSwitchToMinute: true`).
|
|
29
|
-
|
|
30
|
-
## Usage — popup attached to an input
|
|
31
|
-
|
|
32
|
-
```html
|
|
33
|
-
<input
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
##
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
|
66
|
-
|
|
|
67
|
-
|
|
68
|
-
|
|
|
69
|
-
|
|
70
|
-
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
|
75
|
-
|
|
|
76
|
-
| `
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
|
81
|
-
|
|
82
|
-
|
|
|
83
|
-
|
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
| `change` | `EventEmitter<string \| null>` | Emitted when "OK" is pressed |
|
|
91
|
-
| `cancel` | `EventEmitter<void>` | Emitted when "Cancel" is pressed |
|
|
92
|
-
|
|
93
|
-
## Dark mode and RTL
|
|
94
|
-
|
|
95
|
-
Supported automatically.
|
|
1
|
+
# ngx-kit/time-picker
|
|
2
|
+
|
|
3
|
+
An analog clock time picker (MUI-style), usable either inline or as a popup attached to a text input, with 12h/24h format support and a configurable minute step.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install ngx-kit
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup (optional)
|
|
12
|
+
|
|
13
|
+
```ts
|
|
14
|
+
// app.config.ts
|
|
15
|
+
import { provideTimePicker } from 'ngx-kit/time-picker';
|
|
16
|
+
|
|
17
|
+
export const appConfig: ApplicationConfig = {
|
|
18
|
+
providers: [
|
|
19
|
+
provideTimePicker({
|
|
20
|
+
format: '24',
|
|
21
|
+
minuteStep: 5,
|
|
22
|
+
confirmButtonText: 'Done',
|
|
23
|
+
}),
|
|
24
|
+
],
|
|
25
|
+
};
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
`provideTimePicker` only needs the fields you want to override — everything else falls back to the defaults (`confirmButtonText: 'Ok'`, `cancelButtonText: 'Cancel'`, `amText: 'AM'`, `pmText: 'PM'`, `format: '12'`, `minuteStep: 1`, `autoSwitchToMinute: true`).
|
|
29
|
+
|
|
30
|
+
## Usage — popup attached to an input
|
|
31
|
+
|
|
32
|
+
```html
|
|
33
|
+
<input type="text" formControlName="time" ngxInputTimePicker #dp="ngxInputTimePicker" />
|
|
34
|
+
<button (click)="dp.toggle()">Open</button>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
`[ngxInputTimePicker]` is a full `ControlValueAccessor` + `Validator`, so it works with `ngModel`/`formControl`/`formControlName`. The value is always a string in `HH:MM` (24h) form, e.g. `'14:35'`.
|
|
38
|
+
|
|
39
|
+
If the typed text isn't a valid time, the control gets a `{ invalid: true }` error (in addition to whatever built-in validators like `Validators.required` you add yourself):
|
|
40
|
+
|
|
41
|
+
```html
|
|
42
|
+
@if (form.get('time')?.hasError('invalid')) {
|
|
43
|
+
<div class="text-danger">Invalid time</div>
|
|
44
|
+
} @if (form.get('time')?.hasError('required')) {
|
|
45
|
+
<div class="text-danger">Time is required</div>
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Usage — inline (always visible)
|
|
50
|
+
|
|
51
|
+
```html
|
|
52
|
+
<ngx-time-picker format="24" [(value)]="time" (change)="onTimeChange($event)"></ngx-time-picker>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## API
|
|
56
|
+
|
|
57
|
+
### `[ngxInputTimePicker]`
|
|
58
|
+
|
|
59
|
+
| Input | Type | Default | Description |
|
|
60
|
+
| ------------- | -------------- | ----------- | ----------------------------------------------- |
|
|
61
|
+
| `openOnCLick` | `boolean` | `true` | Open the popup when the input itself is clicked |
|
|
62
|
+
| `format` | `'12' \| '24'` | from config | |
|
|
63
|
+
|
|
64
|
+
| Output | Type | Description |
|
|
65
|
+
| -------- | ------------------------------ | ------------------------------------- |
|
|
66
|
+
| `change` | `EventEmitter<string \| null>` | Emitted when the user confirms a time |
|
|
67
|
+
|
|
68
|
+
| Member | Description |
|
|
69
|
+
| ---------- | -------------------------------------------- |
|
|
70
|
+
| `toggle()` | Opens the popup if closed, closes it if open |
|
|
71
|
+
|
|
72
|
+
### `<ngx-time-picker>`
|
|
73
|
+
|
|
74
|
+
| Input | Type | Default | Description |
|
|
75
|
+
| ------------------------ | -------------- | ----------- | ------------------------------------------------------------ |
|
|
76
|
+
| `value` (model, two-way) | `string` | `'12:00'` | Bind with `[(value)]` |
|
|
77
|
+
| `format` | `'12' \| '24'` | from config | |
|
|
78
|
+
| `minuteStep` | `number` | from config | |
|
|
79
|
+
| `disabled` | `boolean` | `false` | |
|
|
80
|
+
| `autoSwitchToMinute` | `boolean` | from config | Switch to minute-selection mode right after picking the hour |
|
|
81
|
+
|
|
82
|
+
| Output | Type | Description |
|
|
83
|
+
| -------- | ------------------------------ | -------------------------------- |
|
|
84
|
+
| `change` | `EventEmitter<string \| null>` | Emitted when "OK" is pressed |
|
|
85
|
+
| `cancel` | `EventEmitter<void>` | Emitted when "Cancel" is pressed |
|
|
86
|
+
|
|
87
|
+
## Dark mode and RTL
|
|
88
|
+
|
|
89
|
+
Supported automatically.
|
|
@@ -178,41 +178,97 @@ declare class NgxInputColorComponent implements OnInit, OnDestroy, ControlValueA
|
|
|
178
178
|
}
|
|
179
179
|
|
|
180
180
|
declare class NgxInputColor implements AfterViewInit, OnDestroy, ControlValueAccessor, Validator {
|
|
181
|
-
private el;
|
|
182
|
-
private renderer;
|
|
183
|
-
private viewContainerRef;
|
|
184
|
-
private overlayService;
|
|
181
|
+
private readonly el;
|
|
182
|
+
private readonly renderer;
|
|
183
|
+
private readonly viewContainerRef;
|
|
184
|
+
private readonly overlayService;
|
|
185
185
|
setInputBackgroundColor: boolean;
|
|
186
186
|
defaultInspector: ColorInspector;
|
|
187
187
|
simpleMode: boolean;
|
|
188
188
|
outputType: OutputType;
|
|
189
189
|
theme: 'light' | 'dark' | 'auto';
|
|
190
190
|
private useAlphaChannel;
|
|
191
|
-
set setUseAlphaChannel(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
set setUseAlphaChannel(value: boolean);
|
|
192
|
+
/**
|
|
193
|
+
* Input target.
|
|
194
|
+
*
|
|
195
|
+
* Supported:
|
|
196
|
+
*
|
|
197
|
+
* <input ngxInputColor>
|
|
198
|
+
*
|
|
199
|
+
* or
|
|
200
|
+
*
|
|
201
|
+
* <div [ngxInputColor]="inputElement"></div>
|
|
202
|
+
*
|
|
203
|
+
* or
|
|
204
|
+
*
|
|
205
|
+
* <div [ngxInputColor]="inputRef"></div>
|
|
206
|
+
*/
|
|
207
|
+
set ngxInputColor(element: HTMLInputElement | ElementRef<HTMLInputElement> | null | undefined | '');
|
|
195
208
|
change: EventEmitter<string>;
|
|
196
209
|
private color?;
|
|
197
210
|
private pickerRef?;
|
|
211
|
+
private _targetInput?;
|
|
212
|
+
private explicitTargetInput;
|
|
198
213
|
private isHostInput;
|
|
199
|
-
|
|
214
|
+
private removeInputListener?;
|
|
215
|
+
private disabled;
|
|
216
|
+
private invalid;
|
|
200
217
|
protected _onChange: (value: string) => void;
|
|
201
218
|
protected _onTouched: () => void;
|
|
202
|
-
_onValidateChange
|
|
203
|
-
constructor(el: ElementRef
|
|
219
|
+
private _onValidateChange;
|
|
220
|
+
constructor(el: ElementRef<HTMLElement>, renderer: Renderer2, viewContainerRef: ViewContainerRef, overlayService: OverlayService);
|
|
204
221
|
ngAfterViewInit(): void;
|
|
205
222
|
ngOnDestroy(): void;
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
223
|
+
/**
|
|
224
|
+
* Open the custom color picker.
|
|
225
|
+
*/
|
|
226
|
+
onHostClick(event: Event): void;
|
|
227
|
+
/**
|
|
228
|
+
* Called by Angular Forms.
|
|
229
|
+
*
|
|
230
|
+
* IMPORTANT:
|
|
231
|
+
* writeValue must NEVER call _onChange().
|
|
232
|
+
*/
|
|
233
|
+
writeValue(value: unknown): void;
|
|
234
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
235
|
+
registerOnTouched(fn: () => void): void;
|
|
210
236
|
setDisabledState(disabled: boolean): void;
|
|
211
237
|
registerOnValidatorChange(fn: () => void): void;
|
|
212
|
-
validate(
|
|
238
|
+
validate(_control: AbstractControl): ValidationErrors | null;
|
|
239
|
+
private bindTargetInput;
|
|
240
|
+
private removeTargetInputListener;
|
|
241
|
+
/**
|
|
242
|
+
* Handles native input changes.
|
|
243
|
+
*
|
|
244
|
+
* This is deliberately NOT implemented using writeValue(),
|
|
245
|
+
* because this is a user-originated value and therefore
|
|
246
|
+
* must propagate through ControlValueAccessor.
|
|
247
|
+
*/
|
|
248
|
+
private handleInputEvent;
|
|
213
249
|
private toggleColorPicker;
|
|
214
250
|
private destroyColorPicker;
|
|
251
|
+
/**
|
|
252
|
+
* User-originated/custom-picker value.
|
|
253
|
+
*
|
|
254
|
+
* This is the ONLY place where _onChange is called.
|
|
255
|
+
*/
|
|
215
256
|
private emitChange;
|
|
257
|
+
/**
|
|
258
|
+
* Synchronize all visual representations.
|
|
259
|
+
*/
|
|
260
|
+
private syncView;
|
|
261
|
+
/**
|
|
262
|
+
* input[type=color] only accepts a 6-digit RGB hex value.
|
|
263
|
+
*
|
|
264
|
+
* Therefore even if the selected color contains alpha,
|
|
265
|
+
* the native color input receives #RRGGBB.
|
|
266
|
+
*/
|
|
267
|
+
private getNativeInputColor;
|
|
268
|
+
private getViewColor;
|
|
269
|
+
private syncHostBackground;
|
|
270
|
+
private notifyValidatorChange;
|
|
271
|
+
private isInputElement;
|
|
216
272
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxInputColor, never>;
|
|
217
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>;
|
|
218
274
|
}
|
|
@@ -312,6 +312,7 @@ interface EventInteractionState {
|
|
|
312
312
|
declare class NgxCalendarComponent extends NgxDatePickerBase implements OnInit {
|
|
313
313
|
defaultLocalization: NgxCalendarLocalization;
|
|
314
314
|
localize: i0.InputSignal<NgxCalendarLocalization>;
|
|
315
|
+
resizeAndMovable: i0.InputSignal<boolean>;
|
|
315
316
|
_config: NgxDatePickerConfig;
|
|
316
317
|
set config(val: NgxDatePickerConfig);
|
|
317
318
|
set locale(val: string);
|
|
@@ -399,7 +400,7 @@ declare class NgxCalendarComponent extends NgxDatePickerBase implements OnInit {
|
|
|
399
400
|
private readonly defaultHeight;
|
|
400
401
|
minHeight: number;
|
|
401
402
|
static ɵfac: i0.ɵɵFactoryDeclaration<NgxCalendarComponent, never>;
|
|
402
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarComponent, "ngx-calendar", never, { "localize": { "alias": "localize"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "setMin": { "alias": "min"; "required": false; }; "setMax": { "alias": "max"; "required": false; }; "view": { "alias": "view"; "required": false; }; "events": { "alias": "events"; "required": false; }; }, { "dateChange": "dateChange"; "selectEvent": "selectEvent"; "eventChange": "eventChange"; "eventsChange": "eventsChange"; }, never, never, true, never>;
|
|
403
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NgxCalendarComponent, "ngx-calendar", never, { "localize": { "alias": "localize"; "required": false; "isSignal": true; }; "resizeAndMovable": { "alias": "resizeAndMovable"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; }; "locale": { "alias": "locale"; "required": false; }; "setMin": { "alias": "min"; "required": false; }; "setMax": { "alias": "max"; "required": false; }; "view": { "alias": "view"; "required": false; }; "events": { "alias": "events"; "required": false; }; }, { "dateChange": "dateChange"; "selectEvent": "selectEvent"; "eventChange": "eventChange"; "eventsChange": "eventsChange"; }, never, never, true, never>;
|
|
403
404
|
}
|
|
404
405
|
|
|
405
406
|
declare class NgxInputDatePickerComponent extends NgxDatePickerBase implements ControlValueAccessor, Validator, OnInit {
|