ngx-lite-form 1.2.3 → 1.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.
- package/LICENSE +21 -0
- package/README.md +711 -147
- package/fesm2022/ngx-lite-form.mjs +132 -26
- package/fesm2022/ngx-lite-form.mjs.map +1 -1
- package/index.d.ts +56 -4
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { FormControl, AbstractControl } from '@angular/forms';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { ElementRef, AfterViewInit } from '@angular/core';
|
|
3
|
+
import { ElementRef, AfterViewInit, TemplateRef } from '@angular/core';
|
|
4
4
|
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
|
|
5
5
|
|
|
6
6
|
declare class FieldDto {
|
|
@@ -52,6 +52,12 @@ interface TableColumn {
|
|
|
52
52
|
flex?: string;
|
|
53
53
|
sortable?: boolean;
|
|
54
54
|
cellTemplate?: (value: any, row: any) => string;
|
|
55
|
+
type?: 'text' | 'menu';
|
|
56
|
+
menuItems?: Array<{
|
|
57
|
+
label: string;
|
|
58
|
+
value: string;
|
|
59
|
+
variant?: 'danger' | 'default';
|
|
60
|
+
}>;
|
|
55
61
|
}
|
|
56
62
|
declare class TableFieldDto<T = any> {
|
|
57
63
|
columns: TableColumn[];
|
|
@@ -445,14 +451,60 @@ declare class LiteTable<T = any> {
|
|
|
445
451
|
table: _angular_core.InputSignal<TableFieldDto<T>>;
|
|
446
452
|
pageChange: _angular_core.OutputEmitterRef<number>;
|
|
447
453
|
itemsPerPageChange: _angular_core.OutputEmitterRef<number>;
|
|
454
|
+
menuAction: _angular_core.OutputEmitterRef<{
|
|
455
|
+
action: string;
|
|
456
|
+
row: T;
|
|
457
|
+
}>;
|
|
458
|
+
openMenuIndex: number | null;
|
|
448
459
|
paginatedData: _angular_core.Signal<T[]>;
|
|
449
460
|
getCellValue(row: any, column: TableColumn): string;
|
|
450
461
|
private getValue;
|
|
451
462
|
onPageChange(page: number): void;
|
|
452
463
|
onItemsPerPageChange(itemsPerPage: number): void;
|
|
464
|
+
toggleMenu(rowIndex: number, event?: MouseEvent): void;
|
|
465
|
+
onMenuItemClick(action: string, row: T, event?: MouseEvent): void;
|
|
466
|
+
onDocumentClick(): void;
|
|
453
467
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LiteTable<any>, never>;
|
|
454
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LiteTable<any>, "lite-table", never, { "table": { "alias": "table"; "required": true; "isSignal": true; }; }, { "pageChange": "pageChange"; "itemsPerPageChange": "itemsPerPageChange"; }, never, never, true, never>;
|
|
468
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LiteTable<any>, "lite-table", never, { "table": { "alias": "table"; "required": true; "isSignal": true; }; }, { "pageChange": "pageChange"; "itemsPerPageChange": "itemsPerPageChange"; "menuAction": "menuAction"; }, never, never, true, never>;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
interface LitePanelAction {
|
|
472
|
+
label: string;
|
|
473
|
+
value?: unknown;
|
|
474
|
+
/**
|
|
475
|
+
* Adds a CSS modifier class `lite-panel__action--${variant}` to let consumers style the action button.
|
|
476
|
+
*/
|
|
477
|
+
variant?: 'primary' | 'secondary' | 'danger';
|
|
478
|
+
}
|
|
479
|
+
declare class LitePanel {
|
|
480
|
+
title: _angular_core.InputSignal<string | null>;
|
|
481
|
+
content: _angular_core.InputSignal<string | TemplateRef<unknown> | null>;
|
|
482
|
+
actions: _angular_core.InputSignal<LitePanelAction[] | null>;
|
|
483
|
+
closeOnOverlayClick: _angular_core.InputSignal<boolean>;
|
|
484
|
+
width: _angular_core.InputSignal<string | number | null>;
|
|
485
|
+
height: _angular_core.InputSignal<string | number | null>;
|
|
486
|
+
maxWidth: _angular_core.InputSignal<string | number | null>;
|
|
487
|
+
maxHeight: _angular_core.InputSignal<string | number | null>;
|
|
488
|
+
closed: _angular_core.OutputEmitterRef<unknown>;
|
|
489
|
+
readonly panelTitleId: string;
|
|
490
|
+
private readonly defaultActions;
|
|
491
|
+
readonly resolvedActions: _angular_core.Signal<LitePanelAction[]>;
|
|
492
|
+
readonly contentTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
|
|
493
|
+
readonly contentText: _angular_core.Signal<string | null>;
|
|
494
|
+
readonly templateContext: {
|
|
495
|
+
panel: LitePanel;
|
|
496
|
+
close: (value?: unknown) => void;
|
|
497
|
+
};
|
|
498
|
+
readonly panelStyles: _angular_core.Signal<Record<string, string>>;
|
|
499
|
+
close(value?: unknown | null): void;
|
|
500
|
+
onBackdropClick(): void;
|
|
501
|
+
onAction(action: LitePanelAction): void;
|
|
502
|
+
getActionClasses(action: LitePanelAction): Record<string, boolean>;
|
|
503
|
+
private toCssLength;
|
|
504
|
+
private isNilOrEmpty;
|
|
505
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<LitePanel, never>;
|
|
506
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<LitePanel, "lite-panel", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "actions": { "alias": "actions"; "required": false; "isSignal": true; }; "closeOnOverlayClick": { "alias": "closeOnOverlayClick"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxWidth": { "alias": "maxWidth"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; }, { "closed": "closed"; }, never, ["*"], true, never>;
|
|
455
507
|
}
|
|
456
508
|
|
|
457
|
-
export { BaseSelectFieldDto, FieldDto, FileFieldDto, FormUtils, LiteCheckbox, LiteDate, LiteDateTime, LiteFile, LiteInput, LiteMultiSelect, LitePaginator, LitePassword, LiteRadio, LiteSelect, LiteSnackbarService, LiteTable, LiteTextarea, MultiSelectFieldDto, PaginatorFieldDto, RadioFieldDto, SelectFieldDto, TableFieldDto };
|
|
458
|
-
export type { DateRangeFieldDto, FileItem, SnackbarType, TableColumn };
|
|
509
|
+
export { BaseSelectFieldDto, FieldDto, FileFieldDto, FormUtils, LiteCheckbox, LiteDate, LiteDateTime, LiteFile, LiteInput, LiteMultiSelect, LitePaginator, LitePanel, LitePassword, LiteRadio, LiteSelect, LiteSnackbarService, LiteTable, LiteTextarea, MultiSelectFieldDto, PaginatorFieldDto, RadioFieldDto, SelectFieldDto, TableFieldDto };
|
|
510
|
+
export type { DateRangeFieldDto, FileItem, LitePanelAction, SnackbarType, TableColumn };
|
package/package.json
CHANGED