cloud-ide-element 1.0.114 → 1.0.116

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,5 +1,5 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { PipeTransform, OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, SimpleChanges, Renderer2, ElementRef, AfterContentInit, QueryList, ViewContainerRef } from '@angular/core';
2
+ import { PipeTransform, OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, SimpleChanges, Renderer2, ElementRef, AfterContentInit, QueryList, ViewContainerRef, AfterViewInit, Signal, Type, Injector, ComponentRef } from '@angular/core';
3
3
  import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
4
4
  import { elementStyleType, labelPlacementType, labelDirType, autocapitalizeType, autocompleteType, controlType, inputType, themeSize, spinnerType, iconType, selectSearchType, ICoreSype, GetElementDataRequest, fileManagerListByGroupIdControllerResponse } from 'cloud-ide-lms-model';
5
5
  import { Router, NavigationExtras } from '@angular/router';
@@ -556,6 +556,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
556
556
  private readonly notificationService;
557
557
  private readonly elementService;
558
558
  private readonly destroyRef;
559
+ private readonly floatingFileUploaderService;
559
560
  label: string;
560
561
  accept: string;
561
562
  multiple: boolean;
@@ -599,7 +600,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
599
600
  readonly id: _angular_core.WritableSignal<string>;
600
601
  readonly isUploading: _angular_core.WritableSignal<boolean>;
601
602
  readonly uploadProgress: _angular_core.WritableSignal<number>;
602
- readonly uploadStatus: _angular_core.WritableSignal<"uploading" | "error" | "start" | "success" | "idle">;
603
+ readonly uploadStatus: _angular_core.WritableSignal<"idle" | "start" | "uploading" | "success" | "error">;
603
604
  readonly files: _angular_core.WritableSignal<FileList | null>;
604
605
  readonly fileNames: _angular_core.WritableSignal<string[]>;
605
606
  readonly previewUrls: _angular_core.WritableSignal<string[]>;
@@ -687,7 +688,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
687
688
  /**
688
689
  * Show floating uploader (alias for showUploader for template)
689
690
  */
690
- showFloatingUploaderDialog(): void;
691
+ showFloatingUploaderDialog(): Promise<void>;
691
692
  /**
692
693
  * Get dynamic classes for drag and drop zone
693
694
  */
@@ -726,7 +727,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
726
727
  multiple: boolean;
727
728
  showPreview: boolean;
728
729
  autoUpload: boolean;
729
- uploadStatus: "uploading" | "error" | "start" | "success" | "idle";
730
+ uploadStatus: "idle" | "start" | "uploading" | "success" | "error";
730
731
  isUploading: boolean;
731
732
  uploadProgress: number;
732
733
  files: {
@@ -941,6 +942,39 @@ declare class CideEleFloatingFileUploaderComponent implements OnInit, OnDestroy
941
942
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingFileUploaderComponent, "cide-ele-floating-file-uploader", never, {}, {}, never, never, true, never>;
942
943
  }
943
944
 
945
+ interface FileUploaderData {
946
+ groupId?: string;
947
+ userId?: string;
948
+ allowedTypes?: string[];
949
+ maxFileSize?: number;
950
+ uploadPath?: string;
951
+ multiple?: boolean;
952
+ autoUpload?: boolean;
953
+ }
954
+ declare class CideEleFloatingFileUploaderService {
955
+ private containerService;
956
+ constructor();
957
+ private initializeFileUploader;
958
+ /**
959
+ * Show file uploader in floating container
960
+ */
961
+ show(data?: FileUploaderData): Promise<string>;
962
+ /**
963
+ * Hide file uploader
964
+ */
965
+ hide(): void;
966
+ /**
967
+ * Show file uploader with specific group ID
968
+ */
969
+ showWithGroupId(groupId: string, additionalData?: Partial<FileUploaderData>): Promise<string>;
970
+ /**
971
+ * Show file uploader for user with specific settings
972
+ */
973
+ showForUser(userId: string, settings?: Partial<FileUploaderData>): Promise<string>;
974
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingFileUploaderService, never>;
975
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingFileUploaderService>;
976
+ }
977
+
944
978
  declare class CideTextareaComponent implements ControlValueAccessor, Validator, OnInit, OnChanges {
945
979
  label: string;
946
980
  labelHide: boolean;
@@ -2405,5 +2439,296 @@ declare class CideEleJsonEditorComponent implements OnInit, ControlValueAccessor
2405
2439
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleJsonEditorComponent, "cide-ele-json-editor", never, { "label": { "alias": "label"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCharacterCount": { "alias": "showCharacterCount"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "valueChange": "valueChange"; "objectChange": "objectChange"; "errorsChange": "errorsChange"; "validChange": "validChange"; }, never, never, true, never>;
2406
2440
  }
2407
2441
 
2408
- export { CideCoreFileManagerService, CideEleButtonComponent, CideEleConfirmationModalComponent, CideEleDataGridComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleFileInputComponent, CideEleFileManagerService, CideEleFloatingFileUploaderComponent, CideEleGlobalNotificationsComponent, CideEleJsonEditorComponent, CideEleResizerDirective, CideEleSkeletonLoaderComponent, CideEleTabComponent, CideEleToastNotificationComponent, CideElementsService, CideIconComponent, CideInputComponent, CideSelectComponent, CideSelectOptionComponent, CideSpinnerComponent, CideTextareaComponent, ConfirmationService, CoreFileManagerInsertUpdatePayload, DEFAULT_GRID_CONFIG, DropdownManagerService, ICoreCyfmSave, MFileManager, NotificationService, TooltipDirective };
2409
- export type { ButtonElevation, ButtonShape, ButtonSize, ButtonType, ButtonVariant, CideEleResizerDirection, CideEleResizerDirectionTo, ColumnType, ColumnWidth, ConfirmationOptions, ConfirmationRequest, CoreFileManagerInsertUpdateResponse, DropdownConfig, DropdownInstance, DropdownItem, DropdownPosition, ErrorValidationStatus, FileUploadData, FileUploadOptions, GridAction, GridColumn, GridConfiguration, GridCustomFormatter, GridCustomRenderer, GridDragDropConfig, GridEvent, GridEventHandler, GridExportConfig, GridFormatter, GridLoadingConfig, GridPaginationConfig, GridScrollConfig, GridSearchConfig, GridState, GridTreeConfig, ICoreCyfm, ICoreFileManager, IFileDeleteResponse, IFileFilterOptions, IFileGroupingOptions, IFileListRequest, IFileListResponse, IFileManagerErrorLogger, IFileUpdateRequest, IFileUpdateResponse, IFileUploadProgress, IFileUploadQueueItem, IFileUploadRequest, IFileUploadResponse, JsonEditorConfig, JsonEditorError, NotificationItem, NotificationOptions, SelectOption, SelectOptionObject, ServiceState, StatusConfig, TabItem, TemplateContext, TemplateRenderer, TextAlign, TooltipPlacement, TooltipType, UploadProgress, ValidationStatus, controllerResponse, fileManagerControllerResponse, fileManagerResponseData, mongooseObjectIdCreateControllerResponse };
2442
+ interface FloatingContainerConfig {
2443
+ id: string;
2444
+ title: string;
2445
+ icon?: string;
2446
+ headerColor?: string;
2447
+ width?: string;
2448
+ height?: string;
2449
+ minWidth?: string;
2450
+ minHeight?: string;
2451
+ maxWidth?: string;
2452
+ maxHeight?: string;
2453
+ resizable?: boolean;
2454
+ draggable?: boolean;
2455
+ closable?: boolean;
2456
+ minimizable?: boolean;
2457
+ maximizable?: boolean;
2458
+ isMinimized?: boolean;
2459
+ isMaximized?: boolean;
2460
+ componentId?: string;
2461
+ componentConfig?: {
2462
+ inputs?: {
2463
+ [key: string]: any;
2464
+ };
2465
+ outputs?: {
2466
+ [key: string]: (event: any) => void;
2467
+ };
2468
+ };
2469
+ }
2470
+ declare class CideEleFloatingContainerComponent implements AfterViewInit, OnDestroy {
2471
+ config: _angular_core.WritableSignal<FloatingContainerConfig>;
2472
+ isMinimized: Signal<boolean>;
2473
+ isMaximized: Signal<boolean>;
2474
+ isVisible: Signal<boolean>;
2475
+ closeEvent: EventEmitter<string>;
2476
+ minimizeEvent: EventEmitter<string>;
2477
+ maximizeEvent: EventEmitter<string>;
2478
+ containerRef: ElementRef<HTMLDivElement>;
2479
+ position: _angular_core.WritableSignal<{
2480
+ x: number;
2481
+ y: number;
2482
+ }>;
2483
+ isDragging: _angular_core.WritableSignal<boolean>;
2484
+ isResizing: _angular_core.WritableSignal<boolean>;
2485
+ computedConfig: Signal<FloatingContainerConfig>;
2486
+ private dragStart;
2487
+ private resizeStart;
2488
+ private originalPosition;
2489
+ private originalSize;
2490
+ private savedPosition;
2491
+ savedHeight: string;
2492
+ ngAfterViewInit(): void;
2493
+ constructor();
2494
+ ngOnDestroy(): void;
2495
+ centerContainer(): void;
2496
+ startDrag(event: MouseEvent): void;
2497
+ onDragMove(event: MouseEvent): void;
2498
+ onDragEnd(): void;
2499
+ startResize(event: MouseEvent): void;
2500
+ onResizeMove(event: MouseEvent): void;
2501
+ onResizeEnd(): void;
2502
+ onMouseDown(event: MouseEvent): void;
2503
+ onMouseMove(event: MouseEvent): void;
2504
+ onMouseUp(event: MouseEvent): void;
2505
+ onHeaderClick(event: MouseEvent): void;
2506
+ minimize(): void;
2507
+ toggleMaximize(): void;
2508
+ close(): void;
2509
+ getHeaderBackground(): string;
2510
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerComponent, never>;
2511
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingContainerComponent, "cide-ele-floating-container", never, { "config": { "alias": "config"; "required": false; }; "isMinimized": { "alias": "isMinimized"; "required": false; }; "isMaximized": { "alias": "isMaximized"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; }, { "closeEvent": "closeEvent"; "minimizeEvent": "minimizeEvent"; "maximizeEvent": "maximizeEvent"; }, never, ["*"], true, never>;
2512
+ }
2513
+
2514
+ interface FloatingComponentConfig {
2515
+ componentId: string;
2516
+ componentType?: Type<any>;
2517
+ inputs?: {
2518
+ [key: string]: any;
2519
+ };
2520
+ outputs?: {
2521
+ [key: string]: (event: any) => void;
2522
+ };
2523
+ }
2524
+ interface FloatingContainerInstance {
2525
+ id: string;
2526
+ config: FloatingContainerConfig;
2527
+ isVisible: boolean;
2528
+ isMinimized: boolean;
2529
+ isMaximized: boolean;
2530
+ zIndex: number;
2531
+ instanceId: string;
2532
+ componentType: string;
2533
+ createdAt: Date;
2534
+ lastAccessed: Date;
2535
+ }
2536
+ declare class CideEleFloatingContainerService {
2537
+ private injector;
2538
+ private containers;
2539
+ private nextZIndex;
2540
+ private instanceCounter;
2541
+ private componentRegistry;
2542
+ private activeComponents;
2543
+ constructor(injector: Injector);
2544
+ visibleContainers: _angular_core.Signal<FloatingContainerInstance[]>;
2545
+ minimizedContainers: _angular_core.Signal<FloatingContainerInstance[]>;
2546
+ maximizedContainers: _angular_core.Signal<FloatingContainerInstance[]>;
2547
+ show(config: FloatingContainerConfig): string;
2548
+ hide(containerId: string): void;
2549
+ minimize(containerId: string): void;
2550
+ maximize(containerId: string): void;
2551
+ bringToFront(containerId: string): void;
2552
+ getContainer(containerId: string): FloatingContainerInstance | undefined;
2553
+ isVisible(containerId: string): boolean;
2554
+ isMinimized(containerId: string): boolean;
2555
+ isMaximized(containerId: string): boolean;
2556
+ hideAll(): void;
2557
+ minimizeAll(): void;
2558
+ private generateId;
2559
+ private generateInstanceId;
2560
+ getInstancesByComponentType(componentType: string): FloatingContainerInstance[];
2561
+ getActiveInstancesByComponentType(componentType: string): FloatingContainerInstance[];
2562
+ getInstanceCount(componentType: string): number;
2563
+ getActiveInstanceCount(componentType: string): number;
2564
+ closeAllInstancesOfType(componentType: string): void;
2565
+ minimizeAllInstancesOfType(componentType: string): void;
2566
+ bringAllInstancesToFront(componentType: string): void;
2567
+ getInstanceByInstanceId(instanceId: string): FloatingContainerInstance | undefined;
2568
+ updateLastAccessed(containerId: string): void;
2569
+ /**
2570
+ * Register a component for dynamic loading
2571
+ */
2572
+ registerComponent(componentId: string, componentType: Type<any>): void;
2573
+ /**
2574
+ * Unregister a component
2575
+ */
2576
+ unregisterComponent(componentId: string): void;
2577
+ /**
2578
+ * Get registered component type
2579
+ */
2580
+ getComponentType(componentId: string): Type<any> | undefined;
2581
+ /**
2582
+ * Check if component is registered
2583
+ */
2584
+ isComponentRegistered(componentId: string): boolean;
2585
+ /**
2586
+ * Get registered component IDs
2587
+ */
2588
+ getRegisteredComponentIds(): string[];
2589
+ /**
2590
+ * Create and load component dynamically
2591
+ */
2592
+ loadComponent(componentId: string, viewContainer: ViewContainerRef, config?: FloatingComponentConfig): ComponentRef<any> | null;
2593
+ /**
2594
+ * Destroy component
2595
+ */
2596
+ destroyComponent(componentId: string): void;
2597
+ /**
2598
+ * Get active component count
2599
+ */
2600
+ getActiveComponentCount(): number;
2601
+ /**
2602
+ * Clear all active components
2603
+ */
2604
+ clearActiveComponents(): void;
2605
+ /**
2606
+ * Get config signal for a container
2607
+ */
2608
+ getConfigSignal(config: FloatingContainerConfig): _angular_core.WritableSignal<FloatingContainerConfig>;
2609
+ /**
2610
+ * Get minimized signal for a container
2611
+ */
2612
+ getMinimizedSignal(containerId: string): _angular_core.Signal<boolean>;
2613
+ /**
2614
+ * Get maximized signal for a container
2615
+ */
2616
+ getMaximizedSignal(containerId: string): _angular_core.Signal<boolean>;
2617
+ /**
2618
+ * Get visible signal for a container
2619
+ */
2620
+ getVisibleSignal(containerId: string): _angular_core.Signal<boolean>;
2621
+ /**
2622
+ * Get component config for dynamic loading
2623
+ */
2624
+ getComponentConfig(config: FloatingContainerConfig): {
2625
+ componentId: string;
2626
+ inputs: {
2627
+ [key: string]: any;
2628
+ } | undefined;
2629
+ outputs: {
2630
+ [key: string]: (event: any) => void;
2631
+ } | undefined;
2632
+ } | undefined;
2633
+ /**
2634
+ * Handle container close event
2635
+ */
2636
+ onClose(containerId: string): void;
2637
+ /**
2638
+ * Handle container minimize event
2639
+ */
2640
+ onMinimize(containerId: string): void;
2641
+ /**
2642
+ * Handle container maximize event
2643
+ */
2644
+ onMaximize(containerId: string): void;
2645
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerService, never>;
2646
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingContainerService>;
2647
+ }
2648
+
2649
+ declare class CideEleFloatingContainerManagerComponent {
2650
+ containerService: CideEleFloatingContainerService;
2651
+ visibleContainers: _angular_core.Signal<cloud_ide_element.FloatingContainerInstance[]>;
2652
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerManagerComponent, never>;
2653
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingContainerManagerComponent, "cide-ele-floating-container-manager", never, {}, {}, never, never, true, never>;
2654
+ }
2655
+
2656
+ declare class CideEleFloatingFeaturesService {
2657
+ private containerService;
2658
+ constructor();
2659
+ showFeature(featureId: string, config: FloatingContainerConfig): string;
2660
+ showComponent(containerId: string, componentId: string, title: string, componentType?: any, config?: Partial<FloatingContainerConfig>): string;
2661
+ /**
2662
+ * Generic method for showing any component with input data
2663
+ *
2664
+ * @example
2665
+ * // Pass data to a component
2666
+ * this.floatingFeaturesService.showComponentWithData(
2667
+ * 'my-component-container',
2668
+ * 'my-component',
2669
+ * 'My Component Title',
2670
+ * {
2671
+ * data: {
2672
+ * userId: '123',
2673
+ * userName: 'John Doe',
2674
+ * settings: { theme: 'dark' }
2675
+ * },
2676
+ * outputs: {
2677
+ * onSave: (data) => console.log('Save event:', data),
2678
+ * onCancel: () => console.log('Cancel clicked')
2679
+ * }
2680
+ * },
2681
+ * {
2682
+ * width: '600px',
2683
+ * height: '400px',
2684
+ * icon: 'settings'
2685
+ * }
2686
+ * );
2687
+ */
2688
+ showComponentWithData(containerId: string, componentId: string, title: string, componentData: {
2689
+ data: {
2690
+ [key: string]: any;
2691
+ };
2692
+ outputs?: {
2693
+ [key: string]: (event: any) => void;
2694
+ };
2695
+ }, containerConfig?: Partial<FloatingContainerConfig>): string;
2696
+ showMultipleInstances(componentId: string, titlePrefix: string, count: number, config?: Partial<FloatingContainerConfig>): string[];
2697
+ getInstancesOfType(componentType: string): cloud_ide_element.FloatingContainerInstance[];
2698
+ getActiveInstancesOfType(componentType: string): cloud_ide_element.FloatingContainerInstance[];
2699
+ closeAllInstancesOfType(componentType: string): void;
2700
+ minimizeAllInstancesOfType(componentType: string): void;
2701
+ getInstanceCount(componentType: string): number;
2702
+ getActiveInstanceCount(componentType: string): number;
2703
+ registerComponent(componentId: string, componentType: any): void;
2704
+ unregisterComponent(componentId: string): void;
2705
+ hideFeature(featureId: string): void;
2706
+ bringToFront(featureId: string): void;
2707
+ minimize(featureId: string): void;
2708
+ maximize(featureId: string): void;
2709
+ isVisible(featureId: string): boolean;
2710
+ hideAll(): void;
2711
+ minimizeAll(): void;
2712
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingFeaturesService, never>;
2713
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingFeaturesService>;
2714
+ }
2715
+
2716
+ declare class CideEleFloatingContainerDynamicDirective implements OnInit, OnDestroy {
2717
+ private viewContainer;
2718
+ private containerService;
2719
+ componentId: string;
2720
+ componentConfig?: FloatingComponentConfig;
2721
+ isVisible: boolean;
2722
+ private componentRef;
2723
+ constructor(viewContainer: ViewContainerRef, containerService: CideEleFloatingContainerService);
2724
+ ngOnInit(): void;
2725
+ ngOnDestroy(): void;
2726
+ ngOnChanges(): void;
2727
+ private loadComponent;
2728
+ private destroyComponent;
2729
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerDynamicDirective, never>;
2730
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleFloatingContainerDynamicDirective, "[cideEleFloatingDynamic]", never, { "componentId": { "alias": "componentId"; "required": false; }; "componentConfig": { "alias": "componentConfig"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; }, {}, never, never, true, never>;
2731
+ }
2732
+
2733
+ export { CideCoreFileManagerService, CideEleButtonComponent, CideEleConfirmationModalComponent, CideEleDataGridComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleFileInputComponent, CideEleFileManagerService, CideEleFloatingContainerComponent, CideEleFloatingContainerDynamicDirective, CideEleFloatingContainerManagerComponent, CideEleFloatingContainerService, CideEleFloatingFeaturesService, CideEleFloatingFileUploaderComponent, CideEleFloatingFileUploaderService, CideEleGlobalNotificationsComponent, CideEleJsonEditorComponent, CideEleResizerDirective, CideEleSkeletonLoaderComponent, CideEleTabComponent, CideEleToastNotificationComponent, CideElementsService, CideIconComponent, CideInputComponent, CideSelectComponent, CideSelectOptionComponent, CideSpinnerComponent, CideTextareaComponent, ConfirmationService, CoreFileManagerInsertUpdatePayload, DEFAULT_GRID_CONFIG, DropdownManagerService, ICoreCyfmSave, MFileManager, NotificationService, TooltipDirective };
2734
+ export type { ButtonElevation, ButtonShape, ButtonSize, ButtonType, ButtonVariant, CideEleResizerDirection, CideEleResizerDirectionTo, ColumnType, ColumnWidth, ConfirmationOptions, ConfirmationRequest, CoreFileManagerInsertUpdateResponse, DropdownConfig, DropdownInstance, DropdownItem, DropdownPosition, ErrorValidationStatus, FileUploadData, FileUploadOptions, FileUploaderData, FloatingComponentConfig, FloatingContainerConfig, FloatingContainerInstance, GridAction, GridColumn, GridConfiguration, GridCustomFormatter, GridCustomRenderer, GridDragDropConfig, GridEvent, GridEventHandler, GridExportConfig, GridFormatter, GridLoadingConfig, GridPaginationConfig, GridScrollConfig, GridSearchConfig, GridState, GridTreeConfig, ICoreCyfm, ICoreFileManager, IFileDeleteResponse, IFileFilterOptions, IFileGroupingOptions, IFileListRequest, IFileListResponse, IFileManagerErrorLogger, IFileUpdateRequest, IFileUpdateResponse, IFileUploadProgress, IFileUploadQueueItem, IFileUploadRequest, IFileUploadResponse, JsonEditorConfig, JsonEditorError, NotificationItem, NotificationOptions, SelectOption, SelectOptionObject, ServiceState, StatusConfig, TabItem, TemplateContext, TemplateRenderer, TextAlign, TooltipPlacement, TooltipType, UploadProgress, ValidationStatus, controllerResponse, fileManagerControllerResponse, fileManagerResponseData, mongooseObjectIdCreateControllerResponse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloud-ide-element",
3
- "version": "1.0.114",
3
+ "version": "1.0.116",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^20.1.0",
6
6
  "@angular/core": "^20.1.0"