ngx-lite-form 1.3.2 → 1.3.4

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/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, TemplateRef } from '@angular/core';
3
+ import { ElementRef, AfterViewInit, OnDestroy, Type, TemplateRef, ViewContainerRef } from '@angular/core';
4
4
  import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
5
5
 
6
6
  declare class FieldDto {
@@ -476,9 +476,10 @@ interface LitePanelAction {
476
476
  */
477
477
  variant?: 'primary' | 'secondary' | 'danger';
478
478
  }
479
- declare class LitePanel {
479
+ declare class LitePanel implements AfterViewInit, OnDestroy {
480
480
  title: _angular_core.InputSignal<string | null>;
481
- content: _angular_core.InputSignal<string | TemplateRef<unknown> | null>;
481
+ content: _angular_core.InputSignal<string | Type<any> | TemplateRef<unknown> | null>;
482
+ contentInputs: _angular_core.InputSignal<Record<string, any> | null>;
482
483
  actions: _angular_core.InputSignal<LitePanelAction[] | null>;
483
484
  closeOnOverlayClick: _angular_core.InputSignal<boolean>;
484
485
  width: _angular_core.InputSignal<string | number | null>;
@@ -486,11 +487,14 @@ declare class LitePanel {
486
487
  maxWidth: _angular_core.InputSignal<string | number | null>;
487
488
  maxHeight: _angular_core.InputSignal<string | number | null>;
488
489
  closed: _angular_core.OutputEmitterRef<unknown>;
490
+ dynamicComponentContainer?: ViewContainerRef;
489
491
  readonly panelTitleId: string;
492
+ private componentRef?;
490
493
  private readonly defaultActions;
491
494
  readonly resolvedActions: _angular_core.Signal<LitePanelAction[]>;
492
495
  readonly contentTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
493
496
  readonly contentText: _angular_core.Signal<string | null>;
497
+ readonly contentComponent: _angular_core.Signal<Type<any> | null>;
494
498
  readonly templateContext: {
495
499
  panel: LitePanel;
496
500
  close: (value?: unknown) => void;
@@ -502,9 +506,51 @@ declare class LitePanel {
502
506
  getActionClasses(action: LitePanelAction): Record<string, boolean>;
503
507
  private toCssLength;
504
508
  private isNilOrEmpty;
509
+ ngAfterViewInit(): void;
510
+ ngOnDestroy(): void;
511
+ private loadDynamicComponent;
505
512
  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>;
513
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LitePanel, "lite-panel", never, { "title": { "alias": "title"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "contentInputs": { "alias": "contentInputs"; "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>;
514
+ }
515
+
516
+ type LoadingView = 'spinner' | 'progress';
517
+ declare class LiteLoading {
518
+ /**
519
+ * The view type: 'spinner' for loading wheel, 'progress' for progress bar
520
+ */
521
+ view: _angular_core.InputSignal<LoadingView>;
522
+ /**
523
+ * Progress percentage (0-100). If undefined, shows indeterminate progress.
524
+ * Only applies when view is 'progress'.
525
+ */
526
+ progress: _angular_core.InputSignal<number | undefined>;
527
+ /**
528
+ * Optional message to display below the loading indicator
529
+ */
530
+ message: _angular_core.InputSignal<string | undefined>;
531
+ /**
532
+ * Size of the spinner (only applies to spinner view)
533
+ */
534
+ size: _angular_core.InputSignal<"small" | "medium" | "large">;
535
+ /**
536
+ * Whether the loading indicator is visible
537
+ */
538
+ visible: _angular_core.InputSignal<boolean>;
539
+ /**
540
+ * Computed property to determine if progress is defined
541
+ */
542
+ isProgressDefined: _angular_core.Signal<boolean>;
543
+ /**
544
+ * Computed property to get clamped progress value (0-100)
545
+ */
546
+ progressValue: _angular_core.Signal<number>;
547
+ /**
548
+ * Computed property for spinner size class
549
+ */
550
+ spinnerSizeClass: _angular_core.Signal<string>;
551
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LiteLoading, never>;
552
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LiteLoading, "lite-loading", never, { "view": { "alias": "view"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
507
553
  }
508
554
 
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 };
555
+ export { BaseSelectFieldDto, FieldDto, FileFieldDto, FormUtils, LiteCheckbox, LiteDate, LiteDateTime, LiteFile, LiteInput, LiteLoading, LiteMultiSelect, LitePaginator, LitePanel, LitePassword, LiteRadio, LiteSelect, LiteSnackbarService, LiteTable, LiteTextarea, MultiSelectFieldDto, PaginatorFieldDto, RadioFieldDto, SelectFieldDto, TableFieldDto };
556
+ export type { DateRangeFieldDto, FileItem, LitePanelAction, LoadingView, SnackbarType, TableColumn };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ngx-lite-form",
3
- "version": "1.3.2",
3
+ "version": "1.3.4",
4
4
  "description": "A lightweight Angular form library with reusable input, textarea, select, multi-select, radio, checkbox, date picker and password components",
5
5
  "keywords": [
6
6
  "angular",