@ks89/angular-modal-gallery 14.0.0 → 15.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.
@@ -1,11 +1,10 @@
1
- import * as i0 from '@angular/core';
2
- import { OnInit, OnChanges, EventEmitter, SimpleChanges, TemplateRef, AfterContentInit, OnDestroy, NgZone, ChangeDetectorRef, Renderer2, ElementRef } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, OnChanges, SimpleChanges, AfterContentInit, OnDestroy, NgZone, ChangeDetectorRef, OutputEmitterRef, TemplateRef, EventEmitter } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import * as i2 from '@angular/cdk/overlay';
5
- import { OverlayRef, Overlay } from '@angular/cdk/overlay';
6
- import { SafeResourceUrl, DomSanitizer, SafeStyle } from '@angular/platform-browser';
5
+ import { OverlayRef } from '@angular/cdk/overlay';
6
+ import { SafeResourceUrl, SafeStyle } from '@angular/platform-browser';
7
7
  import * as rxjs from 'rxjs';
8
- import { BreakpointObserver } from '@angular/cdk/layout';
9
8
 
10
9
  /**
11
10
  * Interface `Accessibility` to config titles, alt texts, aria labels and so on
@@ -65,8 +64,8 @@ declare enum Action {
65
64
  * They can be pixels, percentages or also 'auto'.
66
65
  */
67
66
  interface Size {
68
- width: string;
69
- height: string;
67
+ width?: string;
68
+ height?: string;
70
69
  }
71
70
 
72
71
  /**
@@ -188,6 +187,55 @@ interface AdvancedConfig {
188
187
  additionalBackground: string;
189
188
  }
190
189
 
190
+ /**
191
+ * Provides some useful methods to add accessibility features to subclasses.
192
+ * In particular, it exposes a method to handle navigation event with both Keyboard and Mouse
193
+ * and another with also the direction (right or left).
194
+ */
195
+ declare class AccessibleComponent {
196
+ /**
197
+ * Method to handle navigation events with both Keyboard and Mouse.
198
+ * @param direction string of the navigation that can be either 'next' or 'prev'
199
+ * @param event KeyboardEvent | MouseEvent payload
200
+ * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
201
+ */
202
+ handleNavigationEvent(direction: string, event: KeyboardEvent | MouseEvent): number;
203
+ /**
204
+ * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
205
+ * @param event KeyboardEvent | MouseEvent payload
206
+ * @returns number 1 for NEXT and 0 for NOTHING
207
+ */
208
+ handleImageEvent(event: KeyboardEvent | MouseEvent): number;
209
+ /**
210
+ * Private method to handle keyboard events over an image.
211
+ * @param event KeyboardEvent payload
212
+ * @returns number 1 for NEXT and 0 for NOTHING
213
+ */
214
+ private handleImageKeyboardEvent;
215
+ /**
216
+ * Private method to handle mouse events over an image.
217
+ * @param event MouseEvent payload
218
+ * @returns number 1 for NEXT and 0 for NOTHING
219
+ */
220
+ private handleImageMouseEvent;
221
+ /**
222
+ * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
223
+ * @param direction string of the navigation that can be either 'next' or 'prev'
224
+ * @param event KeyboardEvent payload
225
+ * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
226
+ */
227
+ private handleKeyboardNavigationEvent;
228
+ /**
229
+ * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
230
+ * @param direction string of the navigation that can be either 'next' or 'prev'
231
+ * @param event MouseEvent payload
232
+ * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
233
+ */
234
+ private handleMouseNavigationEvent;
235
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccessibleComponent, never>;
236
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccessibleComponent, "ks-accessible", never, {}, {}, never, never, true, never>;
237
+ }
238
+
191
239
  /**
192
240
  * Interface `PlayConfig` to change the behaviour about auto-navigation for both modal gallery and carousel.
193
241
  */
@@ -225,6 +273,73 @@ interface PreviewConfig {
225
273
  size?: Size;
226
274
  }
227
275
 
276
+ /**
277
+ * Internal representation of an image adding other fields
278
+ * to the public `Image` class.
279
+ */
280
+ declare class InternalLibImage extends Image {
281
+ previouslyLoaded: boolean;
282
+ constructor(id: number, modal: ModalImage, plain?: PlainImage, previouslyLoaded?: boolean);
283
+ }
284
+
285
+ /**
286
+ * Interface `ButtonsConfig` to add buttons, show/hide their, and to add the strategy.
287
+ */
288
+ interface ButtonsConfig {
289
+ visible: boolean;
290
+ strategy: ButtonsStrategy;
291
+ buttons?: ButtonConfig[];
292
+ }
293
+ /**
294
+ * Interface `ButtonConfig` to configure a single button.
295
+ */
296
+ interface ButtonConfig {
297
+ className?: string;
298
+ size?: Size;
299
+ fontSize?: string;
300
+ type: ButtonType;
301
+ title?: string;
302
+ ariaLabel?: string;
303
+ extUrlInNewTab?: boolean;
304
+ }
305
+ /**
306
+ * Interface `ButtonEvent` to represent the event payload when a button is clicked.
307
+ */
308
+ interface ButtonEvent {
309
+ button: ButtonConfig;
310
+ image: InternalLibImage | null;
311
+ action: Action;
312
+ galleryId: number;
313
+ }
314
+ /**
315
+ * Enum `ButtonsStrategy` to configure the logic of a button.
316
+ */
317
+ declare enum ButtonsStrategy {
318
+ DEFAULT = 1,
319
+ SIMPLE = 2,
320
+ ADVANCED = 3,
321
+ FULL = 4,
322
+ CUSTOM = 5
323
+ }
324
+ /**
325
+ * Enum `ButtonType` is the type of a button.
326
+ */
327
+ declare enum ButtonType {
328
+ DELETE = 1,
329
+ EXTURL = 2,
330
+ DOWNLOAD = 3,
331
+ CLOSE = 4,
332
+ CUSTOM = 5,
333
+ FULLSCREEN = 6
334
+ }
335
+
336
+ /**
337
+ * Interface `DotsConfig` to show/hide dots.
338
+ */
339
+ interface DotsConfig {
340
+ visible: boolean;
341
+ }
342
+
228
343
  /**
229
344
  * Interface `LoadingConfig` to configure loading icon.
230
345
  */
@@ -296,6 +411,15 @@ interface CurrentImageConfig {
296
411
  invertSwipe?: boolean;
297
412
  }
298
413
 
414
+ /**
415
+ * Interface `KeyboardConfig` to assign custom codes to ESC, RIGHT and LEFT keyboard's actions.
416
+ */
417
+ interface KeyboardConfig {
418
+ esc?: string;
419
+ right?: string;
420
+ left?: string;
421
+ }
422
+
299
423
  /**
300
424
  * Interface `CarouselConfig` to change the style of the carousel and some additional features.
301
425
  */
@@ -339,82 +463,6 @@ interface CarouselPreviewConfig {
339
463
  breakpoints?: BreakpointsConfig;
340
464
  }
341
465
 
342
- /**
343
- * Internal representation of an image adding other fields
344
- * to the public `Image` class.
345
- */
346
- declare class InternalLibImage extends Image {
347
- previouslyLoaded: boolean;
348
- constructor(id: number, modal: ModalImage, plain?: PlainImage, previouslyLoaded?: boolean);
349
- }
350
-
351
- /**
352
- * Interface `ButtonsConfig` to add buttons, show/hide their, and to add the strategy.
353
- */
354
- interface ButtonsConfig {
355
- visible: boolean;
356
- strategy: ButtonsStrategy;
357
- buttons?: ButtonConfig[];
358
- }
359
- /**
360
- * Interface `ButtonConfig` to configure a single button.
361
- */
362
- interface ButtonConfig {
363
- className?: string;
364
- size?: Size;
365
- fontSize?: string;
366
- type: ButtonType;
367
- title?: string;
368
- ariaLabel?: string;
369
- extUrlInNewTab?: boolean;
370
- }
371
- /**
372
- * Interface `ButtonEvent` to represent the event payload when a button is clicked.
373
- */
374
- interface ButtonEvent {
375
- button: ButtonConfig;
376
- image: InternalLibImage | null;
377
- action: Action;
378
- galleryId: number;
379
- }
380
- /**
381
- * Enum `ButtonsStrategy` to configure the logic of a button.
382
- */
383
- declare enum ButtonsStrategy {
384
- DEFAULT = 1,
385
- SIMPLE = 2,
386
- ADVANCED = 3,
387
- FULL = 4,
388
- CUSTOM = 5
389
- }
390
- /**
391
- * Enum `ButtonType` is the type of a button.
392
- */
393
- declare enum ButtonType {
394
- DELETE = 1,
395
- EXTURL = 2,
396
- DOWNLOAD = 3,
397
- CLOSE = 4,
398
- CUSTOM = 5,
399
- FULLSCREEN = 6
400
- }
401
-
402
- /**
403
- * Interface `DotsConfig` to show/hide dots.
404
- */
405
- interface DotsConfig {
406
- visible: boolean;
407
- }
408
-
409
- /**
410
- * Interface `KeyboardConfig` to assign custom codes to ESC, RIGHT and LEFT keyboard's actions.
411
- */
412
- interface KeyboardConfig {
413
- esc?: string;
414
- right?: string;
415
- left?: string;
416
- }
417
-
418
466
  interface AccessibleLibConfig {
419
467
  accessibilityConfig?: AccessibilityConfig;
420
468
  }
@@ -442,67 +490,10 @@ interface PlainLibConfig extends AccessibleLibConfig {
442
490
  }
443
491
  interface LibConfig extends ModalLibConfig, PlainLibConfig, CarouselLibConfig {
444
492
  }
445
-
446
- /**
447
- * Service to handle library configuration in a unique place
448
- */
449
- declare class ConfigService {
450
- configMap: Map<number, LibConfig>;
451
- getConfig(id: number): LibConfig | undefined;
452
- setConfig(id: number, obj: LibConfig | undefined): void;
453
- private initIfNotExists;
454
- static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
455
- static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
456
- }
457
-
458
- /**
459
- * Provides some useful methods to add accessibility features to subclasses.
460
- * In particular, it exposes a method to handle navigation event with both Keyboard and Mouse
461
- * and another with also the direction (right or left).
462
- */
463
- declare class AccessibleComponent {
464
- constructor();
465
- /**
466
- * Method to handle navigation events with both Keyboard and Mouse.
467
- * @param direction string of the navigation that can be either 'next' or 'prev'
468
- * @param event KeyboardEvent | MouseEvent payload
469
- * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
470
- */
471
- handleNavigationEvent(direction: string, event: KeyboardEvent | MouseEvent): number;
472
- /**
473
- * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
474
- * @param event KeyboardEvent | MouseEvent payload
475
- * @returns number 1 for NEXT and 0 for NOTHING
476
- */
477
- handleImageEvent(event: KeyboardEvent | MouseEvent): number;
478
- /**
479
- * Private method to handle keyboard events over an image.
480
- * @param event KeyboardEvent payload
481
- * @returns number 1 for NEXT and 0 for NOTHING
482
- */
483
- private handleImageKeyboardEvent;
484
- /**
485
- * Private method to handle mouse events over an image.
486
- * @param event MouseEvent payload
487
- * @returns number 1 for NEXT and 0 for NOTHING
488
- */
489
- private handleImageMouseEvent;
490
- /**
491
- * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
492
- * @param direction string of the navigation that can be either 'next' or 'prev'
493
- * @param event KeyboardEvent payload
494
- * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
495
- */
496
- private handleKeyboardNavigationEvent;
497
- /**
498
- * Method to handle events over an image, for instance a keypress with the Keyboard or a Mouse click.
499
- * @param direction string of the navigation that can be either 'next' or 'prev'
500
- * @param event MouseEvent payload
501
- * @returns number -1 for PREV, 1 for NEXT and 0 for NOTHING
502
- */
503
- private handleMouseNavigationEvent;
504
- static ɵfac: i0.ɵɵFactoryDeclaration<AccessibleComponent, never>;
505
- static ɵcmp: i0.ɵɵComponentDeclaration<AccessibleComponent, "ks-accessible", never, {}, {}, never, never, true, never>;
493
+ type DeepRequired<T> = {
494
+ [K in keyof T]: DeepRequired<T[K]>;
495
+ } & Required<T>;
496
+ interface LibConfigInternal extends DeepRequired<ModalLibConfig>, DeepRequired<PlainLibConfig>, DeepRequired<CarouselLibConfig> {
506
497
  }
507
498
 
508
499
  /**
@@ -513,24 +504,23 @@ declare class AccessibleComponent {
513
504
  * Also, it emits click events as outputs.
514
505
  */
515
506
  declare class PlainGalleryComponent extends AccessibleComponent implements OnInit, OnChanges {
516
- private configService;
517
507
  /**
518
508
  * Unique id (>=0) of the current instance of this library. This is required when you are using
519
509
  * the service to call modal gallery.
520
510
  */
521
- id: number | undefined;
511
+ readonly id: _angular_core.InputSignal<number | undefined>;
522
512
  /**
523
513
  * Array of `Image` that represent the model of this library with all images, thumbs and so on.
524
514
  */
525
- images: Image[];
515
+ readonly images: _angular_core.InputSignal<Image[]>;
526
516
  /**
527
517
  * PlainLibConfig object to configure plain-gallery.
528
518
  */
529
- config: PlainLibConfig | undefined;
519
+ readonly config: _angular_core.InputSignal<PlainLibConfig | undefined>;
530
520
  /**
531
521
  * Output to emit an event when an image is clicked.
532
522
  */
533
- clickImage: EventEmitter<number>;
523
+ readonly clickImage: _angular_core.OutputEmitterRef<number>;
534
524
  /**
535
525
  * Object of type `PlainGalleryConfig` to configure the plain gallery.
536
526
  */
@@ -570,7 +560,7 @@ declare class PlainGalleryComponent extends AccessibleComponent implements OnIni
570
560
  * For more info check https://developer.mozilla.org/it/docs/Web/CSS/justify-content
571
561
  */
572
562
  justifyStyle: string | undefined;
573
- constructor(configService: ConfigService);
563
+ private configService;
574
564
  /**
575
565
  * Method ´ngOnInit´ to init both `configPlainGallery` calling `initPlainGalleryConfig()`
576
566
  * and `imageGrid invoking `initImageGrid()`.
@@ -621,186 +611,27 @@ declare class PlainGalleryComponent extends AccessibleComponent implements OnIni
621
611
  * based on the layout type.
622
612
  */
623
613
  private initImageGrid;
624
- static ɵfac: i0.ɵɵFactoryDeclaration<PlainGalleryComponent, never>;
625
- static ɵcmp: i0.ɵɵComponentDeclaration<PlainGalleryComponent, "ks-plain-gallery", never, { "id": { "alias": "id"; "required": false; }; "images": { "alias": "images"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "clickImage": "clickImage"; }, never, never, true, never>;
614
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PlainGalleryComponent, never>;
615
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PlainGalleryComponent, "ks-plain-gallery", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "images": { "alias": "images"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "clickImage": "clickImage"; }, never, never, true, never>;
626
616
  }
627
617
 
628
618
  /**
629
- * Class that represents the modal dialog instance.
630
- * It is returned by the open method.
631
- */
632
- declare class ModalGalleryRef {
633
- private overlayRef;
634
- private close;
635
- close$: rxjs.Observable<ImageModalEvent>;
636
- private show;
637
- show$: rxjs.Observable<ImageModalEvent>;
638
- private firstImage;
639
- firstImage$: rxjs.Observable<ImageModalEvent>;
640
- private lastImage;
641
- lastImage$: rxjs.Observable<ImageModalEvent>;
642
- private hasData;
643
- hasData$: rxjs.Observable<ImageModalEvent>;
644
- private buttonBeforeHook;
645
- buttonBeforeHook$: rxjs.Observable<ButtonEvent>;
646
- private buttonAfterHook;
647
- buttonAfterHook$: rxjs.Observable<ButtonEvent>;
648
- constructor(overlayRef: OverlayRef);
649
- /**
650
- * Close modal dialog, disposing the Overlay.
651
- */
652
- closeModal(): void;
653
- /**
654
- * Method to emit close event.
655
- * @param event ImageModalEvent event payload
656
- */
657
- emitClose(event: ImageModalEvent): void;
658
- /**
659
- * Method to emit show event.
660
- * @param event ImageModalEvent event payload
661
- */
662
- emitShow(event: ImageModalEvent): void;
663
- /**
664
- * Method to emit firstImage event.
665
- * @param event ImageModalEvent event payload
666
- */
667
- emitFirstImage(event: ImageModalEvent): void;
668
- /**
669
- * Method to emit lastImage event.
670
- * @param event ImageModalEvent event payload
671
- */
672
- emitLastImage(event: ImageModalEvent): void;
673
- /**
674
- * Method to emit hasData event.
675
- * @param event ImageModalEvent event payload
676
- */
677
- emitHasData(event: ImageModalEvent): void;
678
- /**
679
- * Method to emit buttonBeforeHook event.
680
- * @param event ImageModalEvent event payload
681
- */
682
- emitButtonBeforeHook(event: ButtonEvent): void;
683
- /**
684
- * Method to emit buttonAfterHook event.
685
- * @param event ImageModalEvent event payload
686
- */
687
- emitButtonAfterHook(event: ButtonEvent): void;
688
- }
689
-
690
- interface ModalGalleryConfig {
691
- id: number;
692
- images: Image[];
693
- currentImage: Image;
694
- libConfig?: ModalLibConfig;
695
- /**
696
- * Optional template reference for the rendering of previews.
697
- * Template may access following context variables:
698
- * - "preview": the `Image` object of the preview
699
- * - "defaultTemplate": the template used by default to render the preview (in case the need is to augment it)
700
- */
701
- previewsTemplate?: TemplateRef<HTMLElement>;
702
- }
703
-
704
- /**
705
- * Payload to be emitted via {@link triggerAttachToOverlay} to enable {@link AttachToOverlayService}
706
- * to attach the {@link ModalGalleryComponent} to the overlay
619
+ * Service to handle library configuration in a unique place
707
620
  */
708
- interface AttachToOverlayPayload {
709
- /**
710
- * Overlay object created using Angular CDK APIs
711
- */
712
- overlayRef: OverlayRef;
713
- /**
714
- * Dialog data to be injected into the {@link ModalGalleryComponent}
715
- * contains: id, array of images, current image and optionally the configuration object
716
- */
717
- config: ModalGalleryConfig;
718
- /**
719
- * Object to control the dialog instance
720
- */
721
- dialogRef: ModalGalleryRef;
722
- }
723
- declare class ModalGalleryService {
724
- private overlay;
725
- private configService;
726
- private updateImages;
727
- updateImages$: rxjs.Observable<Image[]>;
728
- private dialogRef;
729
- triggerAttachToOverlay: EventEmitter<AttachToOverlayPayload>;
730
- constructor(overlay: Overlay, configService: ConfigService);
731
- /**
732
- * Method to open modal gallery passing the configuration
733
- * @param config ModalGalleryConfig that contains: id, array of images, current image and optionally the configuration object
734
- * @return ModalGalleryRef | undefined is the object used to listen for events.
735
- */
736
- open(config: ModalGalleryConfig): ModalGalleryRef | undefined;
737
- /**
738
- * Method to close a modal gallery previously opened.
739
- * @param id Unique identifier of the modal gallery
740
- * @param clickOutside boolean is true if closed clicking on the modal backdrop, false otherwise.
741
- */
742
- close(id: number, clickOutside: boolean): void;
743
- /**
744
- * Method to update images array.
745
- * @param images Image[] updated array of images
746
- */
747
- updateModalImages(images: Image[]): void;
748
- /**
749
- * Method to emit close event.
750
- * @param event ImageModalEvent is the event payload
751
- */
752
- emitClose(event: ImageModalEvent): void;
753
- /**
754
- * Method to emit show event.
755
- * @param event ImageModalEvent is the event payload
756
- */
757
- emitShow(event: ImageModalEvent): void;
758
- /**
759
- * Method to emit firstImage event.
760
- * @param event ImageModalEvent is the event payload
761
- */
762
- emitFirstImage(event: ImageModalEvent): void;
763
- /**
764
- * Method to emit lastImage event.
765
- * @param event ImageModalEvent is the event payload
766
- */
767
- emitLastImage(event: ImageModalEvent): void;
768
- /**
769
- * Method to emit hasData event.
770
- * @param event ImageModalEvent is the event payload
771
- */
772
- emitHasData(event: ImageModalEvent): void;
773
- /**
774
- * Method to emit buttonBeforeHook event.
775
- * @param event ButtonEvent is the event payload
776
- */
777
- emitButtonBeforeHook(event: ButtonEvent): void;
778
- /**
779
- * Method to emit buttonAfterHook event.
780
- * @param event ButtonEvent is the event payload
781
- */
782
- emitButtonAfterHook(event: ButtonEvent): void;
783
- /**
784
- * Private method to create an Overlay using Angular CDK APIs
785
- * @private
786
- */
787
- private createOverlay;
788
- /**
789
- * Private method to create an OverlayConfig instance
790
- * @private
791
- */
792
- private getOverlayConfig;
793
- static ɵfac: i0.ɵɵFactoryDeclaration<ModalGalleryService, never>;
794
- static ɵprov: i0.ɵɵInjectableDeclaration<ModalGalleryService>;
621
+ declare class ConfigService {
622
+ configMap: Map<number, LibConfigInternal>;
623
+ getConfig(id: number): LibConfig | undefined;
624
+ setConfig(id: number, obj: LibConfig | undefined): void;
625
+ private initIfNotExists;
626
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfigService, never>;
627
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConfigService>;
795
628
  }
796
629
 
797
630
  /**
798
631
  * Component with configurable inline/plain carousel.
799
632
  */
800
633
  declare class CarouselComponent extends AccessibleComponent implements OnInit, AfterContentInit, OnDestroy, OnChanges {
801
- private platformId;
802
634
  private ngZone;
803
- private modalGalleryService;
804
635
  private configService;
805
636
  private ref;
806
637
  /**
@@ -811,32 +642,32 @@ declare class CarouselComponent extends AccessibleComponent implements OnInit, A
811
642
  * Unique id (>=0) of the current instance of the carousel. This is useful when you are using
812
643
  * the carousel's feature to open modal gallery.
813
644
  */
814
- id: number | undefined;
645
+ readonly id: _angular_core.InputSignal<number>;
815
646
  /**
816
647
  * Array of `InternalLibImage` that represent the model of this library with all images,
817
648
  * thumbs and so on.
818
649
  */
819
- images: Image[];
650
+ readonly images: _angular_core.InputSignal<Image[]>;
820
651
  /**
821
652
  * CarouselLibConfig object to configure carousel.
822
653
  */
823
- config: CarouselLibConfig | undefined;
654
+ readonly config: _angular_core.InputSignal<CarouselLibConfig | undefined>;
824
655
  /**
825
656
  * Output to emit an event when an image is clicked.
826
657
  */
827
- clickImage: EventEmitter<number>;
658
+ readonly clickImage: _angular_core.OutputEmitterRef<number>;
828
659
  /**
829
660
  * Output to emit an event when current image is changed.
830
661
  */
831
- changeImage: EventEmitter<ImageEvent>;
662
+ readonly changeImage: _angular_core.OutputEmitterRef<ImageEvent>;
832
663
  /**
833
664
  * Output to emit an event when the current image is the first one.
834
665
  */
835
- firstImage: EventEmitter<ImageEvent>;
666
+ readonly firstImage: _angular_core.OutputEmitterRef<ImageEvent>;
836
667
  /**
837
668
  * Output to emit an event when the current image is the last one.
838
669
  */
839
- lastImage: EventEmitter<ImageEvent>;
670
+ readonly lastImage: _angular_core.OutputEmitterRef<ImageEvent>;
840
671
  /**
841
672
  * Object of type `CarouselConfig` to init CarouselComponent's features.
842
673
  * For instance, it contains parameters to change the style, how it navigates and so on.
@@ -892,6 +723,7 @@ declare class CarouselComponent extends AccessibleComponent implements OnInit, A
892
723
  * Subject to stop the carousel.
893
724
  */
894
725
  private stop$;
726
+ private readonly platformId;
895
727
  /**
896
728
  * Listener to stop the gallery when the mouse pointer is over the current image.
897
729
  */
@@ -908,7 +740,7 @@ declare class CarouselComponent extends AccessibleComponent implements OnInit, A
908
740
  * Listener to navigate carousel images with keyboard (right).
909
741
  */
910
742
  onKeyDownLRight(): void;
911
- constructor(platformId: any, ngZone: NgZone, modalGalleryService: ModalGalleryService, configService: ConfigService, ref: ChangeDetectorRef);
743
+ constructor(ngZone: NgZone, configService: ConfigService, ref: ChangeDetectorRef);
912
744
  ngOnInit(): void;
913
745
  ngOnChanges(changes: SimpleChanges): void;
914
746
  ngAfterContentInit(): void;
@@ -1046,18 +878,14 @@ declare class CarouselComponent extends AccessibleComponent implements OnInit, A
1046
878
  * either the first or the last one.
1047
879
  */
1048
880
  private isPreventSliding;
1049
- static ɵfac: i0.ɵɵFactoryDeclaration<CarouselComponent, never>;
1050
- static ɵcmp: i0.ɵɵComponentDeclaration<CarouselComponent, "ks-carousel", never, { "id": { "alias": "id"; "required": false; }; "images": { "alias": "images"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "clickImage": "clickImage"; "changeImage": "changeImage"; "firstImage": "firstImage"; "lastImage": "lastImage"; }, never, ["*"], true, never>;
881
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CarouselComponent, never>;
882
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselComponent, "ks-carousel", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "images": { "alias": "images"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "clickImage": "clickImage"; "changeImage": "changeImage"; "firstImage": "firstImage"; "lastImage": "lastImage"; }, never, ["*"], true, never>;
1051
883
  }
1052
884
 
1053
885
  /**
1054
886
  * Component with image previews for carousel
1055
887
  */
1056
888
  declare class CarouselPreviewsComponent extends AccessibleComponent implements OnInit, OnChanges, OnDestroy {
1057
- private ref;
1058
- private breakpointObserver;
1059
- private sanitizer;
1060
- private configService;
1061
889
  /**
1062
890
  * Variable to change the max-width of the host component
1063
891
  */
@@ -1067,22 +895,23 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1067
895
  */
1068
896
  ariaLabel: string;
1069
897
  /**
1070
- * TODO write doc
898
+ * Unique id (>=0) of the current instance of the carousel. This is useful when you are using
899
+ * the carousel's feature to open modal gallery.
1071
900
  */
1072
- id: number;
901
+ readonly id: _angular_core.InputSignal<number>;
1073
902
  /**
1074
- * Object of type `InternalLibImage` that represent the visible image.
903
+ * Object of type `Image` that represent the visible image.
1075
904
  */
1076
- currentImage: InternalLibImage;
905
+ readonly currentImage: _angular_core.InputSignal<InternalLibImage>;
1077
906
  /**
1078
- * Array of `InternalLibImage` that represent the model of this library with all images,
907
+ * Array of `Image` that represent the model of this library with all images,
1079
908
  * thumbs and so on.
1080
909
  */
1081
- images: InternalLibImage[];
910
+ readonly images: _angular_core.InputSignal<Image[]>;
1082
911
  /**
1083
- * Output to emit the clicked preview. The payload contains the `InternalLibImage` associated to the clicked preview.
912
+ * Output to emit the clicked preview. The payload contains the `Image` associated to the clicked preview.
1084
913
  */
1085
- clickPreview: EventEmitter<ImageEvent>;
914
+ readonly clickPreview: _angular_core.OutputEmitterRef<ImageEvent>;
1086
915
  /**
1087
916
  * Object of type `CarouselConfig` to init CarouselComponent's features.
1088
917
  * For instance, it contains parameters to change the style, how it navigates and so on.
@@ -1109,10 +938,10 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1109
938
  */
1110
939
  keyboardAction: Action;
1111
940
  /**
1112
- * Array of `InternalLibImage` exposed to the template. This field is initialized
941
+ * Array of `Image` exposed to the template. This field is initialized
1113
942
  * applying transformations, default values and so on to the input of the same type.
1114
943
  */
1115
- previews: InternalLibImage[];
944
+ previews: Image[];
1116
945
  /**
1117
946
  * Variable with the preview's maxHeight
1118
947
  */
@@ -1122,11 +951,15 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1122
951
  */
1123
952
  start: number;
1124
953
  /**
1125
- * End index (non inclusive) of the input images used to display previews.
954
+ * End index (non-inclusive) of the input images used to display previews.
1126
955
  */
1127
956
  end: number;
1128
957
  private readonly breakpointSubscription;
1129
- constructor(ref: ChangeDetectorRef, breakpointObserver: BreakpointObserver, sanitizer: DomSanitizer, configService: ConfigService);
958
+ private ref;
959
+ private breakpointObserver;
960
+ private sanitizer;
961
+ private configService;
962
+ constructor();
1130
963
  /**
1131
964
  * Method to update the height of previews, passing the desired height as input.
1132
965
  * @param configBreakpointHeight is a number that represent the desired height to set.
@@ -1141,10 +974,10 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1141
974
  ngOnInit(): void;
1142
975
  /**
1143
976
  * Method to check if an image is active (i.e. a preview image).
1144
- * @param preview InternalLibImage is an image to check if it's active or not
977
+ * @param preview Image is an image to check if it's active or not
1145
978
  * @returns boolean true if is active, false otherwise
1146
979
  */
1147
- isActive(preview: InternalLibImage): boolean;
980
+ isActive(preview: Image): boolean;
1148
981
  /**
1149
982
  * Method ´ngOnChanges´ to update `previews` array.
1150
983
  * Also, both `start` and `end` local variables will be updated accordingly.
@@ -1155,11 +988,11 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1155
988
  /**
1156
989
  * Method called by events from both keyboard and mouse on a preview.
1157
990
  * This will trigger the `clickpreview` output with the input preview as its payload.
1158
- * @param preview InternalLibImage that triggered this method
991
+ * @param preview Image that triggered this method
1159
992
  * @param event KeyboardEvent | MouseEvent payload
1160
993
  * @param action Action that triggered this event (Action.NORMAL by default)
1161
994
  */
1162
- onImageEvent(preview: InternalLibImage, event: KeyboardEvent | MouseEvent, action?: Action): void;
995
+ onImageEvent(preview: Image, event: KeyboardEvent | MouseEvent, action?: Action): void;
1163
996
  /**
1164
997
  * Method called by events from both keyboard and mouse on a navigation arrow.
1165
998
  * @param direction string of the navigation that can be either 'next' or 'prev'
@@ -1197,8 +1030,8 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1197
1030
  /**
1198
1031
  * Private method to init previews based on the currentImage and the full array of images.
1199
1032
  * The current image in mandatory to show always the current preview (as highlighted).
1200
- * @param currentImage InternalLibImage to decide how to show previews, because I always want to see the current image as highlighted
1201
- * @param images InternalLibImage[] is the array of all images.
1033
+ * @param currentImage Image to decide how to show previews, because I always want to see the current image as highlighted
1034
+ * @param images Image[] is the array of all images.
1202
1035
  */
1203
1036
  private initPreviews;
1204
1037
  /**
@@ -1223,8 +1056,8 @@ declare class CarouselPreviewsComponent extends AccessibleComponent implements O
1223
1056
  * @returns boolean if true block sliding, otherwise not
1224
1057
  */
1225
1058
  private isPreventSliding;
1226
- static ɵfac: i0.ɵɵFactoryDeclaration<CarouselPreviewsComponent, never>;
1227
- static ɵcmp: i0.ɵɵComponentDeclaration<CarouselPreviewsComponent, "ks-carousel-previews", never, { "id": { "alias": "id"; "required": false; }; "currentImage": { "alias": "currentImage"; "required": false; }; "images": { "alias": "images"; "required": false; }; }, { "clickPreview": "clickPreview"; }, never, never, true, never>;
1059
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CarouselPreviewsComponent, never>;
1060
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CarouselPreviewsComponent, "ks-carousel-previews", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "currentImage": { "alias": "currentImage"; "required": true; "isSignal": true; }; "images": { "alias": "images"; "required": false; "isSignal": true; }; }, { "clickPreview": "clickPreview"; }, never, never, true, never>;
1228
1061
  }
1229
1062
 
1230
1063
  /**
@@ -1238,49 +1071,48 @@ interface InternalButtonConfig extends ButtonConfig {
1238
1071
  * Also it emits click events as outputs.
1239
1072
  */
1240
1073
  declare class UpperButtonsComponent extends AccessibleComponent implements OnInit {
1241
- private configService;
1242
1074
  /**
1243
1075
  * Unique id (>=0) of the current instance of this library. This is required when you are using
1244
1076
  * the service to call modal gallery.
1245
1077
  */
1246
- id: number;
1078
+ readonly id: _angular_core.InputSignal<number>;
1247
1079
  /**
1248
1080
  * Object of type `Image` that represent the visible image.
1249
1081
  */
1250
- currentImage: Image;
1082
+ readonly currentImage: _angular_core.InputSignal<Image>;
1083
+ /**
1084
+ * Object of type `ButtonsConfig` to init UpperButtonsComponent's features.
1085
+ * For instance, it contains an array of buttons.
1086
+ */
1087
+ readonly buttonsConfig: _angular_core.InputSignal<ButtonsConfig>;
1251
1088
  /**
1252
1089
  * Output to emit clicks on refresh button. The payload contains a `ButtonEvent`.
1253
1090
  */
1254
- refresh: EventEmitter<ButtonEvent>;
1091
+ readonly refresh: OutputEmitterRef<ButtonEvent>;
1255
1092
  /**
1256
1093
  * Output to emit clicks on delete button. The payload contains a `ButtonEvent`.
1257
1094
  */
1258
- delete: EventEmitter<ButtonEvent>;
1095
+ readonly delete: OutputEmitterRef<ButtonEvent>;
1259
1096
  /**
1260
1097
  * Output to emit clicks on navigate button. The payload contains a `ButtonEvent`.
1261
1098
  */
1262
- navigate: EventEmitter<ButtonEvent>;
1099
+ readonly navigate: OutputEmitterRef<ButtonEvent>;
1263
1100
  /**
1264
1101
  * Output to emit clicks on download button. The payload contains a `ButtonEvent`.
1265
1102
  */
1266
- download: EventEmitter<ButtonEvent>;
1103
+ readonly download: OutputEmitterRef<ButtonEvent>;
1267
1104
  /**
1268
1105
  * Output to emit clicks on close button. The payload contains a `ButtonEvent`.
1269
1106
  */
1270
- closeButton: EventEmitter<ButtonEvent>;
1107
+ readonly closeButton: OutputEmitterRef<ButtonEvent>;
1271
1108
  /**
1272
1109
  * Output to emit clicks on full-screen button. The payload contains a `ButtonEvent`.
1273
1110
  */
1274
- fullscreen: EventEmitter<ButtonEvent>;
1111
+ readonly fullscreen: OutputEmitterRef<ButtonEvent>;
1275
1112
  /**
1276
1113
  * Output to emit clicks on all custom buttons. The payload contains a `ButtonEvent`.
1277
1114
  */
1278
- customEmit: EventEmitter<ButtonEvent>;
1279
- /**
1280
- * Object of type `ButtonsConfig` to init UpperButtonsComponent's features.
1281
- * For instance, it contains an array of buttons.
1282
- */
1283
- buttonsConfig: ButtonsConfig | undefined;
1115
+ readonly customEmit: OutputEmitterRef<ButtonEvent>;
1284
1116
  /**
1285
1117
  * Array of `InternalButtonConfig` exposed to the template. This field is initialized
1286
1118
  * applying transformations, default values and so on to the input of the same type.
@@ -1302,7 +1134,6 @@ declare class UpperButtonsComponent extends AccessibleComponent implements OnIni
1302
1134
  * Default buttons array for full configuration
1303
1135
  */
1304
1136
  private fullButtonsDefault;
1305
- constructor(configService: ConfigService);
1306
1137
  /**
1307
1138
  * Method ´ngOnInit´ to build `configButtons` applying a default value and also to
1308
1139
  * init the `buttons` array.
@@ -1346,63 +1177,46 @@ declare class UpperButtonsComponent extends AccessibleComponent implements OnIni
1346
1177
  * Private method to validate custom buttons received as input.
1347
1178
  * @param buttons ButtonConfig[] config array. [] by default.
1348
1179
  * @returns ButtonConfig[] the same input buttons config array
1349
- * @throws an error is exists a button with an unknown type
1180
+ * @throws an error if exists a button with an unknown type
1350
1181
  */
1351
1182
  private validateCustomButtons;
1352
- static ɵfac: i0.ɵɵFactoryDeclaration<UpperButtonsComponent, never>;
1353
- static ɵcmp: i0.ɵɵComponentDeclaration<UpperButtonsComponent, "ks-upper-buttons", never, { "id": { "alias": "id"; "required": false; }; "currentImage": { "alias": "currentImage"; "required": false; }; }, { "refresh": "refresh"; "delete": "delete"; "navigate": "navigate"; "download": "download"; "closeButton": "closeButton"; "fullscreen": "fullscreen"; "customEmit": "customEmit"; }, never, never, true, never>;
1183
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UpperButtonsComponent, never>;
1184
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UpperButtonsComponent, "ks-upper-buttons", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "currentImage": { "alias": "currentImage"; "required": true; "isSignal": true; }; "buttonsConfig": { "alias": "buttonsConfig"; "required": true; "isSignal": true; }; }, { "refresh": "refresh"; "delete": "delete"; "navigate": "navigate"; "download": "download"; "closeButton": "closeButton"; "fullscreen": "fullscreen"; "customEmit": "customEmit"; }, never, never, true, never>;
1354
1185
  }
1355
1186
 
1356
1187
  /**
1357
1188
  * Component with clickable dots (small circles) to navigate between images inside the modal gallery.
1358
1189
  */
1359
- declare class DotsComponent extends AccessibleComponent implements OnInit, OnChanges {
1360
- private configService;
1190
+ declare class DotsComponent extends AccessibleComponent {
1361
1191
  /**
1362
1192
  * Unique id (>=0) of the current instance of this library. This is required when you are using
1363
1193
  * the service to call modal gallery.
1364
1194
  */
1365
- id: number;
1195
+ readonly id: _angular_core.InputSignal<number>;
1366
1196
  /**
1367
1197
  * Object of type `InternalLibImage` that represent the visible image.
1368
1198
  */
1369
- currentImage: InternalLibImage | undefined;
1199
+ readonly currentImage: _angular_core.InputSignal<Image>;
1370
1200
  /**
1371
1201
  * Array of `InternalLibImage` that represent the model of this library with all images,
1372
1202
  * thumbs and so on.
1373
1203
  */
1374
- images: InternalLibImage[] | undefined;
1204
+ readonly images: _angular_core.InputSignal<Image[]>;
1375
1205
  /**
1376
1206
  * Object of type `DotsConfig` to init DotsComponent's features.
1377
1207
  * For instance, it contains a param to show/hide this component.
1378
1208
  */
1379
- dotsConfig: DotsConfig;
1380
- /**
1381
- * Output to emit clicks on dots. The payload contains a number that represent
1382
- * the index of the clicked dot.
1383
- */
1384
- clickDot: EventEmitter<number>;
1385
- /**
1386
- * Object of type `DotsConfig` used in template.
1387
- */
1388
- configDots: DotsConfig | undefined;
1209
+ readonly dotsConfig: _angular_core.InputSignal<DotsConfig>;
1389
1210
  /**
1390
1211
  * Object of type `AccessibilityConfig` to init custom accessibility features.
1391
1212
  * For instance, it contains titles, alt texts, aria-labels and so on.
1392
1213
  */
1393
- accessibilityConfig: AccessibilityConfig | undefined;
1394
- constructor(configService: ConfigService);
1395
- /**
1396
- * Method ´ngOnInit´ to build `configDots` applying a default value.
1397
- * This is an angular lifecycle hook, so its called automatically by Angular itself.
1398
- * In particular, it's called only one time!!!
1399
- */
1400
- ngOnInit(): void;
1214
+ readonly accessibilityConfig: _angular_core.InputSignal<AccessibilityConfig>;
1401
1215
  /**
1402
- * Method ´ngOnChanges´ to change `configDots` if the input dotsConfig is changed.
1403
- * This is an angular lifecycle hook, so its called automatically by Angular itself.
1216
+ * Output to emit clicks on dots. The payload contains a number that represent
1217
+ * the index of the clicked dot.
1404
1218
  */
1405
- ngOnChanges(changes: SimpleChanges): void;
1219
+ readonly clickDot: _angular_core.OutputEmitterRef<number>;
1406
1220
  /**
1407
1221
  * Method to check if an image is active (i.e. the current image).
1408
1222
  * It checks currentImage and images to prevent errors.
@@ -1416,40 +1230,39 @@ declare class DotsComponent extends AccessibleComponent implements OnInit, OnCha
1416
1230
  * @param event KeyboardEvent | MouseEvent payload
1417
1231
  */
1418
1232
  onDotEvent(index: number, event: KeyboardEvent | MouseEvent): void;
1419
- static ɵfac: i0.ɵɵFactoryDeclaration<DotsComponent, never>;
1420
- static ɵcmp: i0.ɵɵComponentDeclaration<DotsComponent, "ks-dots", never, { "id": { "alias": "id"; "required": false; }; "currentImage": { "alias": "currentImage"; "required": false; }; "images": { "alias": "images"; "required": false; }; "dotsConfig": { "alias": "dotsConfig"; "required": false; }; }, { "clickDot": "clickDot"; }, never, never, true, never>;
1233
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DotsComponent, never>;
1234
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DotsComponent, "ks-dots", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "currentImage": { "alias": "currentImage"; "required": true; "isSignal": true; }; "images": { "alias": "images"; "required": true; "isSignal": true; }; "dotsConfig": { "alias": "dotsConfig"; "required": true; "isSignal": true; }; "accessibilityConfig": { "alias": "accessibilityConfig"; "required": true; "isSignal": true; }; }, { "clickDot": "clickDot"; }, never, never, true, never>;
1421
1235
  }
1422
1236
 
1423
1237
  /**
1424
1238
  * Component with image previews
1425
1239
  */
1426
1240
  declare class PreviewsComponent extends AccessibleComponent implements OnInit, OnChanges {
1427
- private configService;
1428
1241
  /**
1429
1242
  * Unique id (>=0) of the current instance of this library. This is required when you are using
1430
1243
  * the service to call modal-gallery.
1431
1244
  */
1432
- id: number;
1245
+ readonly id: _angular_core.InputSignal<number>;
1433
1246
  /**
1434
- * Object of type `InternalLibImage` that represent the visible image.
1247
+ * Object of type `Image` that represent the visible image.
1435
1248
  */
1436
- currentImage: InternalLibImage;
1249
+ readonly currentImage: _angular_core.InputSignal<Image>;
1437
1250
  /**
1438
- * Array of `InternalLibImage` that represent the model of this library with all images,
1251
+ * Array of `Image` that represent the model of this library with all images,
1439
1252
  * thumbs and so on.
1440
1253
  */
1441
- images: InternalLibImage[];
1254
+ readonly images: _angular_core.InputSignal<Image[]>;
1442
1255
  /**
1443
1256
  * Optional template reference for the rendering of previews.
1444
1257
  * Template may access the following context variables:
1445
1258
  * - preview: the `Image` object
1446
1259
  * - defaultTemplate: the template used by default to render the preview (in case the need is to wrap it)
1447
1260
  */
1448
- customTemplate?: TemplateRef<HTMLElement>;
1261
+ readonly customTemplate: _angular_core.InputSignal<TemplateRef<HTMLElement> | undefined>;
1449
1262
  /**
1450
1263
  * Output to emit the clicked preview. The payload contains the `ImageEvent` associated to the clicked preview.
1451
1264
  */
1452
- clickPreview: EventEmitter<ImageEvent>;
1265
+ readonly clickPreview: _angular_core.OutputEmitterRef<ImageEvent>;
1453
1266
  /**
1454
1267
  * Object of type `AccessibilityConfig` to init custom accessibility features.
1455
1268
  * For instance, it contains titles, alt texts, aria-labels and so on.
@@ -1475,10 +1288,10 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1475
1288
  */
1476
1289
  keyboardAction: Action;
1477
1290
  /**
1478
- * Array of `InternalLibImage` exposed to the template. This field is initialized
1291
+ * Array of `Image` exposed to the template. This field is initialized
1479
1292
  * applying transformations, default values and so on to the input of the same type.
1480
1293
  */
1481
- previews: InternalLibImage[];
1294
+ previews: Image[];
1482
1295
  /**
1483
1296
  * Start index (included) of the input images used to display previews.
1484
1297
  */
@@ -1488,7 +1301,7 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1488
1301
  */
1489
1302
  end: number;
1490
1303
  defaultPreviewSize: Size;
1491
- constructor(configService: ConfigService);
1304
+ private configService;
1492
1305
  /**
1493
1306
  * Method ´ngOnInit´ to build `configPreview` applying a default value and also to
1494
1307
  * init the `previews` array.
@@ -1498,10 +1311,10 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1498
1311
  ngOnInit(): void;
1499
1312
  /**
1500
1313
  * Method to check if an image is active (i.e. a preview image).
1501
- * @param preview InternalLibImage is an image to check if it's active or not
1314
+ * @param preview Image is an image to check if it's active or not
1502
1315
  * @returns boolean true if is active, false otherwise
1503
1316
  */
1504
- isActive(preview: InternalLibImage): boolean;
1317
+ isActive(preview: Image): boolean;
1505
1318
  /**
1506
1319
  * Method ´ngOnChanges´ to update `previews` array.
1507
1320
  * Also, both `start` and `end` local variables will be updated accordingly.
@@ -1512,11 +1325,11 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1512
1325
  /**
1513
1326
  * Method called by events from both keyboard and mouse on a preview.
1514
1327
  * This will trigger the `clickpreview` output with the input preview as its payload.
1515
- * @param preview InternalLibImage that triggered this method
1328
+ * @param preview Image that triggered this method
1516
1329
  * @param event KeyboardEvent | MouseEvent payload
1517
1330
  * @param action Action that triggered the source event or `Action.NORMAL` if not specified
1518
1331
  */
1519
- onImageEvent(preview: InternalLibImage, event: KeyboardEvent | MouseEvent, action?: Action): void;
1332
+ onImageEvent(preview: Image, event: KeyboardEvent | MouseEvent, action?: Action): void;
1520
1333
  /**
1521
1334
  * Method called by events from both keyboard and mouse on a navigation arrow.
1522
1335
  * It also emits an event to specify which arrow.
@@ -1538,8 +1351,8 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1538
1351
  /**
1539
1352
  * Private method to init previews based on the currentImage and the full array of images.
1540
1353
  * The current image in mandatory to show always the current preview (as highlighted).
1541
- * @param currentImage InternalLibImage to decide how to show previews, because I always want to see the current image as highlighted
1542
- * @param images InternalLibImage[] is the array of all images.
1354
+ * @param currentImage Image to decide how to show previews, because I always want to see the current image as highlighted
1355
+ * @param images Image[] is the array of all images.
1543
1356
  */
1544
1357
  private initPreviews;
1545
1358
  /**
@@ -1554,8 +1367,8 @@ declare class PreviewsComponent extends AccessibleComponent implements OnInit, O
1554
1367
  * Private method to update the visible previews navigating to the left (previous).
1555
1368
  */
1556
1369
  private previous;
1557
- static ɵfac: i0.ɵɵFactoryDeclaration<PreviewsComponent, never>;
1558
- static ɵcmp: i0.ɵɵComponentDeclaration<PreviewsComponent, "ks-previews", never, { "id": { "alias": "id"; "required": false; }; "currentImage": { "alias": "currentImage"; "required": false; }; "images": { "alias": "images"; "required": false; }; "customTemplate": { "alias": "customTemplate"; "required": false; }; }, { "clickPreview": "clickPreview"; }, never, never, true, never>;
1370
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PreviewsComponent, never>;
1371
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PreviewsComponent, "ks-previews", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "currentImage": { "alias": "currentImage"; "required": true; "isSignal": true; }; "images": { "alias": "images"; "required": true; "isSignal": true; }; "customTemplate": { "alias": "customTemplate"; "required": false; "isSignal": true; }; }, { "clickPreview": "clickPreview"; }, never, never, true, never>;
1559
1372
  }
1560
1373
 
1561
1374
  /**
@@ -1571,41 +1384,37 @@ interface ImageLoadEvent {
1571
1384
  * Component with the current image with some additional elements like arrows and side previews.
1572
1385
  */
1573
1386
  declare class CurrentImageComponent extends AccessibleComponent implements OnInit, OnChanges, AfterContentInit, OnDestroy {
1574
- private platformId;
1575
- private ngZone;
1576
- ref: ChangeDetectorRef;
1577
- private configService;
1578
1387
  /**
1579
1388
  * Unique id (>=0) of the current instance of this library. This is useful when you are using
1580
1389
  * the service to call modal gallery without open it manually.
1581
1390
  */
1582
- id: number;
1391
+ id: _angular_core.InputSignal<number>;
1583
1392
  /**
1584
1393
  * Object of type `InternalLibImage` that represent the visible image.
1585
1394
  */
1586
- currentImage: InternalLibImage;
1395
+ currentImage: _angular_core.InputSignal<InternalLibImage>;
1587
1396
  /**
1588
1397
  * Array of `InternalLibImage` that represent the model of this library with all images,
1589
1398
  * thumbs and so on.
1590
1399
  */
1591
- images: InternalLibImage[];
1400
+ images: _angular_core.InputSignal<InternalLibImage[]>;
1592
1401
  /**
1593
1402
  * Boolean that it is true if the modal gallery is visible.
1594
1403
  * If yes, also this component should be visible.
1595
1404
  */
1596
- isOpen: boolean;
1405
+ isOpen: _angular_core.InputSignal<boolean>;
1597
1406
  /**
1598
1407
  * Output to emit an event when images are loaded. The payload contains an `ImageLoadEvent`.
1599
1408
  */
1600
- loadImage: EventEmitter<ImageLoadEvent>;
1409
+ readonly loadImage: _angular_core.OutputEmitterRef<ImageLoadEvent>;
1601
1410
  /**
1602
1411
  * Output to emit any changes of the current image. The payload contains an `ImageModalEvent`.
1603
1412
  */
1604
- changeImage: EventEmitter<ImageModalEvent>;
1413
+ readonly changeImage: _angular_core.OutputEmitterRef<ImageModalEvent>;
1605
1414
  /**
1606
1415
  * Output to emit an event when the modal gallery is closed. The payload contains an `ImageModalEvent`.
1607
1416
  */
1608
- closeGallery: EventEmitter<ImageModalEvent>;
1417
+ readonly closeGallery: _angular_core.OutputEmitterRef<ImageModalEvent>;
1609
1418
  /**
1610
1419
  * Subject to play modal-gallery.
1611
1420
  */
@@ -1662,7 +1471,10 @@ declare class CurrentImageComponent extends AccessibleComponent implements OnIni
1662
1471
  * True by default
1663
1472
  */
1664
1473
  loading: boolean;
1665
- constructor(platformId: any, ngZone: NgZone, ref: ChangeDetectorRef, configService: ConfigService);
1474
+ private readonly platformId;
1475
+ private ngZone;
1476
+ private configService;
1477
+ ref: ChangeDetectorRef;
1666
1478
  /**
1667
1479
  * Listener to stop the gallery when the mouse pointer is over the current image.
1668
1480
  */
@@ -1826,8 +1638,8 @@ declare class CurrentImageComponent extends AccessibleComponent implements OnIni
1826
1638
  * Private method to call handleBoundaries when ngOnChanges is called.
1827
1639
  */
1828
1640
  private updateIndexes;
1829
- static ɵfac: i0.ɵɵFactoryDeclaration<CurrentImageComponent, never>;
1830
- static ɵcmp: i0.ɵɵComponentDeclaration<CurrentImageComponent, "ks-current-image", never, { "id": { "alias": "id"; "required": false; }; "currentImage": { "alias": "currentImage"; "required": false; }; "images": { "alias": "images"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; }, { "loadImage": "loadImage"; "changeImage": "changeImage"; "closeGallery": "closeGallery"; }, never, never, true, never>;
1641
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CurrentImageComponent, never>;
1642
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CurrentImageComponent, "ks-current-image", never, { "id": { "alias": "id"; "required": true; "isSignal": true; }; "currentImage": { "alias": "currentImage"; "required": true; "isSignal": true; }; "images": { "alias": "images"; "required": true; "isSignal": true; }; "isOpen": { "alias": "isOpen"; "required": false; "isSignal": true; }; }, { "loadImage": "loadImage"; "changeImage": "changeImage"; "closeGallery": "closeGallery"; }, never, never, true, never>;
1831
1643
  }
1832
1644
 
1833
1645
  /**
@@ -1838,12 +1650,12 @@ declare class LoadingSpinnerComponent {
1838
1650
  * Object of type `LoadingConfig` exposed to the template.
1839
1651
  * It contains a field to choose a loading spinner.
1840
1652
  */
1841
- loadingConfig: LoadingConfig;
1653
+ readonly loadingConfig: _angular_core.InputSignal<LoadingConfig | undefined>;
1842
1654
  /**
1843
1655
  * Object of type `AccessibilityConfig` to init custom accessibility features.
1844
1656
  * For instance, it contains titles, alt texts, aria-labels and so on.
1845
1657
  */
1846
- accessibilityConfig: AccessibilityConfig;
1658
+ readonly accessibilityConfig: _angular_core.InputSignal<AccessibilityConfig | undefined>;
1847
1659
  /**
1848
1660
  * Enum of type `LoadingType` to choose the standard loading spinner.
1849
1661
  * Declared here to be used inside the template.
@@ -1879,47 +1691,15 @@ declare class LoadingSpinnerComponent {
1879
1691
  * Declared here to be used inside the template.
1880
1692
  */
1881
1693
  loadingExplosingSquares: LoadingType;
1882
- static ɵfac: i0.ɵɵFactoryDeclaration<LoadingSpinnerComponent, never>;
1883
- static ɵcmp: i0.ɵɵComponentDeclaration<LoadingSpinnerComponent, "ks-loading-spinner", never, { "loadingConfig": { "alias": "loadingConfig"; "required": false; }; "accessibilityConfig": { "alias": "accessibilityConfig"; "required": false; }; }, {}, never, never, true, never>;
1884
- }
1885
-
1886
- /**
1887
- * Service to check if the provided id is unique
1888
- */
1889
- declare class IdValidatorService {
1890
- ids: Map<any, any>;
1891
- /**
1892
- * Method to check and reserve an id for the current instance of the library.
1893
- * In this way, no other instances can use the same id.
1894
- * @param galleryId number or undefined that represents the unique id of the gallery.
1895
- * @return boolean true if success. false is never returned, instead an exception is thrown
1896
- * @throws a error with a message if galleryId is neither unique, < 0 or an integer
1897
- */
1898
- checkAndAdd(galleryId: number | undefined): boolean;
1899
- /**
1900
- * Method to remove a reserved id. In this way you are able to use the id again for another instance of the library.
1901
- * @param galleryId number or undefined that represents the unique id of the gallery.
1902
- * @return boolean true if success. false is never returned, instead an exception is thrown*
1903
- * @throws a error with a message if galleryId is neither integer or < 0
1904
- * * this should be improved without return true, because it doesn't make sense! :(
1905
- */
1906
- remove(galleryId: number | undefined): boolean;
1907
- static ɵfac: i0.ɵɵFactoryDeclaration<IdValidatorService, never>;
1908
- static ɵprov: i0.ɵɵInjectableDeclaration<IdValidatorService>;
1694
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoadingSpinnerComponent, never>;
1695
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoadingSpinnerComponent, "ks-loading-spinner", never, { "loadingConfig": { "alias": "loadingConfig"; "required": false; "isSignal": true; }; "accessibilityConfig": { "alias": "accessibilityConfig"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1909
1696
  }
1910
1697
 
1911
1698
  declare class ModalGalleryComponent implements OnInit, OnDestroy {
1912
- private dialogContent;
1913
- private modalGalleryService;
1914
- private platformId;
1915
- private changeDetectorRef;
1916
- private idValidatorService;
1917
- private configService;
1918
- private sanitizer;
1919
1699
  /**
1920
1700
  * Reference to the CurrentImageComponent to invoke methods on it.
1921
1701
  */
1922
- currentImageComponent: CurrentImageComponent | undefined;
1702
+ readonly currentImageComponent: _angular_core.Signal<CurrentImageComponent | undefined>;
1923
1703
  /**
1924
1704
  * Unique id (>=0) of the current instance of this library. This is useful when you are using
1925
1705
  * the service to call modal gallery without open it manually.
@@ -1928,7 +1708,7 @@ declare class ModalGalleryComponent implements OnInit, OnDestroy {
1928
1708
  /**
1929
1709
  * Object of type `ButtonsConfig` to show/hide buttons.
1930
1710
  */
1931
- buttonsConfig: ButtonsConfig | undefined;
1711
+ buttonsConfig: ButtonsConfig;
1932
1712
  /**
1933
1713
  * Boolean to enable modal-gallery close behaviour when clicking
1934
1714
  * on the semi-transparent background. Enabled by default.
@@ -1981,7 +1761,9 @@ declare class ModalGalleryComponent implements OnInit, OnDestroy {
1981
1761
  * Object to configure this component.
1982
1762
  */
1983
1763
  libConfig: LibConfig | undefined;
1984
- private updateImagesSubscription;
1764
+ private readonly updateImagesSubscription;
1765
+ private readonly dialogContent;
1766
+ private readonly platformId;
1985
1767
  /**
1986
1768
  * HostListener to catch the browser back button and destroy the gallery.
1987
1769
  * This prevents unexpected behavior about scrolling.
@@ -1992,8 +1774,13 @@ declare class ModalGalleryComponent implements OnInit, OnDestroy {
1992
1774
  * HostListener to catch ctrl+s/meta+s and download the current image.
1993
1775
  * Inspired by https://netbasal.com/add-keyboard-shortcuts-to-your-angular-app-9bf2e89862b3
1994
1776
  */
1995
- onSaveListener(event: KeyboardEvent): void;
1996
- constructor(dialogContent: ModalGalleryConfig, modalGalleryService: ModalGalleryService, platformId: Object, changeDetectorRef: ChangeDetectorRef, idValidatorService: IdValidatorService, configService: ConfigService, sanitizer: DomSanitizer);
1777
+ onSaveListener(event: Event): void;
1778
+ private modalGalleryService;
1779
+ private changeDetectorRef;
1780
+ private idValidatorService;
1781
+ private sanitizer;
1782
+ private configService;
1783
+ constructor();
1997
1784
  /**
1998
1785
  * Method ´ngOnInit´ to init images calling `initImages()`.
1999
1786
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2087,7 +1874,9 @@ declare class ModalGalleryComponent implements OnInit, OnDestroy {
2087
1874
  */
2088
1875
  private downloadImage;
2089
1876
  /**
2090
- * Method to convert a base64 to a Blob
1877
+ * Method to convert a base64 to a Blob.
1878
+ * This should be upgraded with Uint8Array.fromBase64() from ES2025,
1879
+ * but first we need to upgrade `tsconfig` config.
2091
1880
  * @param base64Data string with base64 data
2092
1881
  * @param contentType string with the MIME type
2093
1882
  * @return Blob converted from the input base64Data
@@ -2132,8 +1921,8 @@ declare class ModalGalleryComponent implements OnInit, OnDestroy {
2132
1921
  * @private
2133
1922
  */
2134
1923
  private emitBoundaryEvent;
2135
- static ɵfac: i0.ɵɵFactoryDeclaration<ModalGalleryComponent, never>;
2136
- static ɵcmp: i0.ɵɵComponentDeclaration<ModalGalleryComponent, "ks-modal-gallery", never, {}, {}, never, never, true, never>;
1924
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalGalleryComponent, never>;
1925
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ModalGalleryComponent, "ks-modal-gallery", never, {}, {}, never, never, true, never>;
2137
1926
  }
2138
1927
 
2139
1928
  /**
@@ -2145,31 +1934,30 @@ declare class ClickOutsideDirective {
2145
1934
  /**
2146
1935
  * Boolean to enable this directive.
2147
1936
  */
2148
- clickOutsideEnable: boolean | undefined;
1937
+ clickOutsideEnable: _angular_core.InputSignal<boolean | undefined>;
2149
1938
  /**
2150
1939
  * Output to emit an event if the clicked element class doesn't contain 'inside' or it is 'hidden'. The payload is a boolean.
2151
1940
  */
2152
- clickOutside: EventEmitter<boolean>;
1941
+ readonly clickOutside: _angular_core.OutputEmitterRef<boolean>;
2153
1942
  /**
2154
1943
  * Method called by Angular itself every click thanks to `@HostListener`.
2155
1944
  * @param event MouseEvent
2156
1945
  */
2157
1946
  onClick(event: MouseEvent): void;
2158
- static ɵfac: i0.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
2159
- static ɵdir: i0.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[ksClickOutside]", never, { "clickOutsideEnable": { "alias": "clickOutsideEnable"; "required": false; }; }, { "clickOutside": "clickOutside"; }, never, never, true, never>;
1947
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ClickOutsideDirective, never>;
1948
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ClickOutsideDirective, "[ksClickOutside]", never, { "clickOutsideEnable": { "alias": "clickOutsideEnable"; "required": false; "isSignal": true; }; }, { "clickOutside": "clickOutside"; }, never, never, true, never>;
2160
1949
  }
2161
1950
 
2162
1951
  /**
2163
1952
  * Directive to change the size of an element.
2164
1953
  */
2165
1954
  declare class SizeDirective implements OnInit, OnChanges {
2166
- private renderer;
2167
- private el;
2168
1955
  /**
2169
1956
  * Object of type `Size` to resize the element.
2170
1957
  */
2171
- sizeConfig: Size | undefined;
2172
- constructor(renderer: Renderer2, el: ElementRef);
1958
+ readonly sizeConfig: _angular_core.InputSignal<Size | undefined>;
1959
+ private renderer;
1960
+ private el;
2173
1961
  /**
2174
1962
  * Method ´ngOnInit´ to apply the style of this directive.
2175
1963
  * This is an Angular lifecycle hook, so its called automatically by Angular itself.
@@ -2186,8 +1974,8 @@ declare class SizeDirective implements OnInit, OnChanges {
2186
1974
  * Private method to change both width and height of an element.
2187
1975
  */
2188
1976
  private applyStyle;
2189
- static ɵfac: i0.ɵɵFactoryDeclaration<SizeDirective, never>;
2190
- static ɵdir: i0.ɵɵDirectiveDeclaration<SizeDirective, "[ksSize]", never, { "sizeConfig": { "alias": "sizeConfig"; "required": false; }; }, {}, never, never, true, never>;
1977
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SizeDirective, never>;
1978
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SizeDirective, "[ksSize]", never, { "sizeConfig": { "alias": "sizeConfig"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2191
1979
  }
2192
1980
 
2193
1981
  /**
@@ -2197,11 +1985,11 @@ declare class KeyboardNavigationDirective {
2197
1985
  /**
2198
1986
  * Boolean input to skip keyboard navigation.
2199
1987
  */
2200
- isOpen: boolean | undefined;
1988
+ isOpen: _angular_core.InputSignal<boolean>;
2201
1989
  /**
2202
1990
  * Output to emit keyboard `code` of the pressed key (keydown).
2203
1991
  */
2204
- keyboardNavigation: EventEmitter<string>;
1992
+ readonly keyboardNavigation: _angular_core.OutputEmitterRef<string>;
2205
1993
  /**
2206
1994
  * Listener to catch keyboard's events and call the right method based on the key.
2207
1995
  * For instance, pressing esc, this will call `closeGallery(Action.KEYBOARD)` and so on.
@@ -2209,25 +1997,24 @@ declare class KeyboardNavigationDirective {
2209
1997
  * @param e KeyboardEvent caught by the listener.
2210
1998
  */
2211
1999
  onKeyDown(e: KeyboardEvent): void;
2212
- static ɵfac: i0.ɵɵFactoryDeclaration<KeyboardNavigationDirective, never>;
2213
- static ɵdir: i0.ɵɵDirectiveDeclaration<KeyboardNavigationDirective, "[ksKeyboardNavigation]", never, { "isOpen": { "alias": "isOpen"; "required": false; }; }, { "keyboardNavigation": "keyboardNavigation"; }, never, never, true, never>;
2000
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KeyboardNavigationDirective, never>;
2001
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KeyboardNavigationDirective, "[ksKeyboardNavigation]", never, { "isOpen": { "alias": "isOpen"; "required": true; "isSignal": true; }; }, { "keyboardNavigation": "keyboardNavigation"; }, never, never, true, never>;
2214
2002
  }
2215
2003
 
2216
2004
  /**
2217
2005
  * Directive to change the flex-wrap css property of an element.
2218
2006
  */
2219
2007
  declare class WrapDirective implements OnInit, OnChanges {
2220
- private renderer;
2221
- private el;
2222
2008
  /**
2223
2009
  * Boolean input that it's true to add 'flex-wrap: wrap', 'flex-wrap: nowrap' otherwise.
2224
2010
  */
2225
- wrap: boolean | undefined;
2011
+ readonly wrap: _angular_core.InputSignal<boolean>;
2226
2012
  /**
2227
2013
  * String input to force the width of the element to be able to see wrapping.
2228
2014
  */
2229
- width: string | undefined;
2230
- constructor(renderer: Renderer2, el: ElementRef);
2015
+ readonly width: _angular_core.InputSignal<string>;
2016
+ private renderer;
2017
+ private el;
2231
2018
  /**
2232
2019
  * Method ´ngOnInit´ to apply the style of this directive.
2233
2020
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2244,25 +2031,24 @@ declare class WrapDirective implements OnInit, OnChanges {
2244
2031
  * Private method to change both width and flex-wrap css properties.
2245
2032
  */
2246
2033
  private applyStyle;
2247
- static ɵfac: i0.ɵɵFactoryDeclaration<WrapDirective, never>;
2248
- static ɵdir: i0.ɵɵDirectiveDeclaration<WrapDirective, "[ksWrap]", never, { "wrap": { "alias": "wrap"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, {}, never, never, true, never>;
2034
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrapDirective, never>;
2035
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<WrapDirective, "[ksWrap]", never, { "wrap": { "alias": "wrap"; "required": true; "isSignal": true; }; "width": { "alias": "width"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2249
2036
  }
2250
2037
 
2251
2038
  /**
2252
2039
  * Directive to change the flex-direction of an element, based on two inputs (`direction` and `justify`).
2253
2040
  */
2254
2041
  declare class DirectionDirective implements OnInit, OnChanges {
2255
- private renderer;
2256
- private el;
2257
2042
  /**
2258
2043
  * String input to set the css flex-direction of an element.
2259
2044
  */
2260
- direction: string | undefined;
2045
+ readonly direction: _angular_core.InputSignal<string | undefined>;
2261
2046
  /**
2262
2047
  * String input to set the css justify-content of an element.
2263
2048
  */
2264
- justify: string | undefined;
2265
- constructor(renderer: Renderer2, el: ElementRef);
2049
+ readonly justify: _angular_core.InputSignal<string | undefined>;
2050
+ private renderer;
2051
+ private el;
2266
2052
  /**
2267
2053
  * Method ´ngOnInit´ to apply the style of this directive.
2268
2054
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2279,26 +2065,25 @@ declare class DirectionDirective implements OnInit, OnChanges {
2279
2065
  * Private method to change both direction and justify of an element.
2280
2066
  */
2281
2067
  private applyStyle;
2282
- static ɵfac: i0.ɵɵFactoryDeclaration<DirectionDirective, never>;
2283
- static ɵdir: i0.ɵɵDirectiveDeclaration<DirectionDirective, "[ksDirection]", never, { "direction": { "alias": "direction"; "required": false; }; "justify": { "alias": "justify"; "required": false; }; }, {}, never, never, true, never>;
2068
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DirectionDirective, never>;
2069
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DirectionDirective, "[ksDirection]", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2284
2070
  }
2285
2071
 
2286
2072
  /**
2287
2073
  * Directive to add an image to an `<a>` tag with some additional custom properties.
2288
2074
  */
2289
2075
  declare class ATagBgImageDirective implements OnInit, OnChanges {
2290
- private renderer;
2291
- private el;
2292
2076
  /**
2293
2077
  * Object of type `Image` that represents the image to add to the `<a>` tag.
2294
2078
  */
2295
- image: Image | undefined;
2079
+ readonly image: _angular_core.InputSignal<Image>;
2296
2080
  /**
2297
2081
  * Additional style to customize the background attribute.
2298
2082
  * Empty string by default.
2299
2083
  */
2300
- style: string | undefined;
2301
- constructor(renderer: Renderer2, el: ElementRef);
2084
+ readonly style: _angular_core.InputSignal<string | undefined>;
2085
+ private renderer;
2086
+ private el;
2302
2087
  /**
2303
2088
  * Method ´ngOnInit´ to apply the style of this directive.
2304
2089
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2315,21 +2100,20 @@ declare class ATagBgImageDirective implements OnInit, OnChanges {
2315
2100
  * Private method to add an image as background of an `<a>` tag.
2316
2101
  */
2317
2102
  private applyStyle;
2318
- static ɵfac: i0.ɵɵFactoryDeclaration<ATagBgImageDirective, never>;
2319
- static ɵdir: i0.ɵɵDirectiveDeclaration<ATagBgImageDirective, "[ksATagBgImage]", never, { "image": { "alias": "image"; "required": false; }; "style": { "alias": "style"; "required": false; }; }, {}, never, never, true, never>;
2103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ATagBgImageDirective, never>;
2104
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ATagBgImageDirective, "[ksATagBgImage]", never, { "image": { "alias": "image"; "required": true; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2320
2105
  }
2321
2106
 
2322
2107
  /**
2323
2108
  * Directive to customize the description.
2324
2109
  */
2325
2110
  declare class DescriptionDirective implements OnInit, OnChanges {
2326
- private renderer;
2327
- private el;
2328
2111
  /**
2329
2112
  * Object of type `Description` to resize the element.
2330
2113
  */
2331
- description: Description | undefined;
2332
- constructor(renderer: Renderer2, el: ElementRef);
2114
+ readonly description: _angular_core.InputSignal<Description | undefined>;
2115
+ private renderer;
2116
+ private el;
2333
2117
  /**
2334
2118
  * Method ´ngOnInit´ to apply the style of this directive.
2335
2119
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2346,33 +2130,32 @@ declare class DescriptionDirective implements OnInit, OnChanges {
2346
2130
  * Private method to change description's style.
2347
2131
  */
2348
2132
  private applyStyle;
2349
- static ɵfac: i0.ɵɵFactoryDeclaration<DescriptionDirective, never>;
2350
- static ɵdir: i0.ɵɵDirectiveDeclaration<DescriptionDirective, "[ksDescription]", never, { "description": { "alias": "description"; "required": false; }; }, {}, never, never, true, never>;
2133
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DescriptionDirective, never>;
2134
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DescriptionDirective, "[ksDescription]", never, { "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2351
2135
  }
2352
2136
 
2353
2137
  /**
2354
2138
  * Directive to change margins of an element.
2355
2139
  */
2356
2140
  declare class MarginDirective implements OnInit, OnChanges {
2357
- private renderer;
2358
- private el;
2359
2141
  /**
2360
2142
  * String to set the margin of an element.
2361
2143
  */
2362
- marginLeft: string | undefined;
2144
+ readonly marginLeft: _angular_core.InputSignal<string | undefined>;
2363
2145
  /**
2364
2146
  * String to set the margin of an element.
2365
2147
  */
2366
- marginRight: string | undefined;
2148
+ readonly marginRight: _angular_core.InputSignal<string | undefined>;
2367
2149
  /**
2368
2150
  * String to set the margin of an element.
2369
2151
  */
2370
- marginTop: string | undefined;
2152
+ readonly marginTop: _angular_core.InputSignal<string | undefined>;
2371
2153
  /**
2372
2154
  * String to set the margin of an element.
2373
2155
  */
2374
- marginBottom: string | undefined;
2375
- constructor(renderer: Renderer2, el: ElementRef);
2156
+ readonly marginBottom: _angular_core.InputSignal<string | undefined>;
2157
+ private renderer;
2158
+ private el;
2376
2159
  /**
2377
2160
  * Method ´ngOnInit´ to apply the style of this directive.
2378
2161
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2389,8 +2172,8 @@ declare class MarginDirective implements OnInit, OnChanges {
2389
2172
  * Private method to change both width and height of an element.
2390
2173
  */
2391
2174
  private applyStyle;
2392
- static ɵfac: i0.ɵɵFactoryDeclaration<MarginDirective, never>;
2393
- static ɵdir: i0.ɵɵDirectiveDeclaration<MarginDirective, "[ksMargin]", never, { "marginLeft": { "alias": "marginLeft"; "required": false; }; "marginRight": { "alias": "marginRight"; "required": false; }; "marginTop": { "alias": "marginTop"; "required": false; }; "marginBottom": { "alias": "marginBottom"; "required": false; }; }, {}, never, never, true, never>;
2175
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MarginDirective, never>;
2176
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MarginDirective, "[ksMargin]", never, { "marginLeft": { "alias": "marginLeft"; "required": false; "isSignal": true; }; "marginRight": { "alias": "marginRight"; "required": false; "isSignal": true; }; "marginTop": { "alias": "marginTop"; "required": false; "isSignal": true; }; "marginBottom": { "alias": "marginBottom"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2394
2177
  }
2395
2178
 
2396
2179
  /**
@@ -2406,13 +2189,12 @@ interface MaxSize {
2406
2189
  * Directive to change the max size of an element.
2407
2190
  */
2408
2191
  declare class MaxSizeDirective implements OnInit, OnChanges {
2409
- private renderer;
2410
- private el;
2411
2192
  /**
2412
2193
  * Object of type `MaxSize` to resize the element.
2413
2194
  */
2414
- maxSizeConfig: MaxSize | undefined;
2415
- constructor(renderer: Renderer2, el: ElementRef);
2195
+ readonly maxSizeConfig: _angular_core.InputSignal<MaxSize | undefined>;
2196
+ private renderer;
2197
+ private el;
2416
2198
  /**
2417
2199
  * Method ´ngOnInit´ to apply the style of this directive.
2418
2200
  * This is an angular lifecycle hook, so its called automatically by Angular itself.
@@ -2429,22 +2211,21 @@ declare class MaxSizeDirective implements OnInit, OnChanges {
2429
2211
  * Private method to change both max-width and max-height of an element.
2430
2212
  */
2431
2213
  private applyStyle;
2432
- static ɵfac: i0.ɵɵFactoryDeclaration<MaxSizeDirective, never>;
2433
- static ɵdir: i0.ɵɵDirectiveDeclaration<MaxSizeDirective, "[ksMaxSize]", never, { "maxSizeConfig": { "alias": "maxSizeConfig"; "required": false; }; }, {}, never, never, true, never>;
2214
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaxSizeDirective, never>;
2215
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MaxSizeDirective, "[ksMaxSize]", never, { "maxSizeConfig": { "alias": "maxSizeConfig"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2434
2216
  }
2435
2217
 
2436
2218
  /**
2437
2219
  * Directive to add fallback image if the original one is not reachable.
2438
2220
  */
2439
2221
  declare class FallbackImageDirective {
2222
+ readonly fallbackImg: _angular_core.InputSignal<string | SafeResourceUrl | undefined>;
2223
+ readonly fallbackApplied: _angular_core.OutputEmitterRef<boolean>;
2440
2224
  private renderer;
2441
2225
  private el;
2442
- fallbackImg: string | SafeResourceUrl | undefined;
2443
- fallbackApplied: EventEmitter<boolean>;
2444
- constructor(renderer: Renderer2, el: ElementRef);
2445
2226
  onError(): void;
2446
- static ɵfac: i0.ɵɵFactoryDeclaration<FallbackImageDirective, never>;
2447
- static ɵdir: i0.ɵɵDirectiveDeclaration<FallbackImageDirective, "[ksFallbackImage]", never, { "fallbackImg": { "alias": "fallbackImg"; "required": false; }; }, { "fallbackApplied": "fallbackApplied"; }, never, never, true, never>;
2227
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FallbackImageDirective, never>;
2228
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FallbackImageDirective, "[ksFallbackImage]", never, { "fallbackImg": { "alias": "fallbackImg"; "required": false; "isSignal": true; }; }, { "fallbackApplied": "fallbackApplied"; }, never, never, true, never>;
2448
2229
  }
2449
2230
 
2450
2231
  /**
@@ -2459,35 +2240,49 @@ declare class SwipeDirective {
2459
2240
  /**
2460
2241
  * Output to emit swipe left event. Payload is empty.
2461
2242
  */
2462
- swipeLeft: EventEmitter<void>;
2243
+ readonly swipeLeft: _angular_core.OutputEmitterRef<void>;
2463
2244
  /**
2464
2245
  * Output to emit swipe right event. Payload is empty.
2465
2246
  */
2466
- swipeRight: EventEmitter<void>;
2247
+ readonly swipeRight: _angular_core.OutputEmitterRef<void>;
2467
2248
  /**
2468
2249
  * Output to emit swipe up event. Payload is empty.
2469
2250
  */
2470
- swipeUp: EventEmitter<void>;
2251
+ readonly swipeUp: _angular_core.OutputEmitterRef<void>;
2471
2252
  /**
2472
2253
  * Output to emit swipe down event. Payload is empty.
2473
2254
  */
2474
- swipeDown: EventEmitter<void>;
2255
+ readonly swipeDown: _angular_core.OutputEmitterRef<void>;
2475
2256
  /**
2476
2257
  * Method called by Angular itself every click thanks to `@HostListener`.
2477
2258
  * @param event TouchEvent payload received on touch
2478
2259
  */
2479
2260
  handleTouch(event: TouchEvent): void;
2480
- static ɵfac: i0.ɵɵFactoryDeclaration<SwipeDirective, never>;
2481
- static ɵdir: i0.ɵɵDirectiveDeclaration<SwipeDirective, "[ksSwipe]", never, {}, { "swipeLeft": "swipeLeft"; "swipeRight": "swipeRight"; "swipeUp": "swipeUp"; "swipeDown": "swipeDown"; }, never, never, true, never>;
2261
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SwipeDirective, never>;
2262
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SwipeDirective, "[ksSwipe]", never, {}, { "swipeLeft": "swipeLeft"; "swipeRight": "swipeRight"; "swipeUp": "swipeUp"; "swipeDown": "swipeDown"; }, never, never, true, never>;
2482
2263
  }
2483
2264
 
2484
2265
  /**
2485
2266
  * Module to import it in the root module of your application.
2486
2267
  */
2487
2268
  declare class GalleryModule {
2488
- static ɵfac: i0.ɵɵFactoryDeclaration<GalleryModule, never>;
2489
- static ɵmod: i0.ɵɵNgModuleDeclaration<GalleryModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof PlainGalleryComponent, typeof CarouselComponent, typeof CarouselPreviewsComponent, typeof UpperButtonsComponent, typeof DotsComponent, typeof PreviewsComponent, typeof CurrentImageComponent, typeof LoadingSpinnerComponent, typeof AccessibleComponent, typeof ModalGalleryComponent, typeof ClickOutsideDirective, typeof SizeDirective, typeof KeyboardNavigationDirective, typeof WrapDirective, typeof DirectionDirective, typeof ATagBgImageDirective, typeof DescriptionDirective, typeof MarginDirective, typeof MaxSizeDirective, typeof FallbackImageDirective, typeof SwipeDirective], [typeof PlainGalleryComponent, typeof CarouselComponent]>;
2490
- static ɵinj: i0.ɵɵInjectorDeclaration<GalleryModule>;
2269
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GalleryModule, never>;
2270
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<GalleryModule, never, [typeof i1.CommonModule, typeof i2.OverlayModule, typeof PlainGalleryComponent, typeof CarouselComponent, typeof CarouselPreviewsComponent, typeof UpperButtonsComponent, typeof DotsComponent, typeof PreviewsComponent, typeof CurrentImageComponent, typeof LoadingSpinnerComponent, typeof AccessibleComponent, typeof ModalGalleryComponent, typeof ClickOutsideDirective, typeof SizeDirective, typeof KeyboardNavigationDirective, typeof WrapDirective, typeof DirectionDirective, typeof ATagBgImageDirective, typeof DescriptionDirective, typeof MarginDirective, typeof MaxSizeDirective, typeof FallbackImageDirective, typeof SwipeDirective], [typeof PlainGalleryComponent, typeof CarouselComponent]>;
2271
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<GalleryModule>;
2272
+ }
2273
+
2274
+ interface ModalGalleryConfig {
2275
+ id: number;
2276
+ images: Image[];
2277
+ currentImage: Image;
2278
+ libConfig?: ModalLibConfig;
2279
+ /**
2280
+ * Optional template reference for the rendering of previews.
2281
+ * Template may access following context variables:
2282
+ * - "preview": the `Image` object of the preview
2283
+ * - "defaultTemplate": the template used by default to render the preview (in case the need is to augment it)
2284
+ */
2285
+ previewsTemplate?: TemplateRef<HTMLElement>;
2491
2286
  }
2492
2287
 
2493
2288
  interface InteractionEvent {
@@ -2526,5 +2321,159 @@ declare const KS_DEFAULT_BTN_DELETE: ButtonConfig;
2526
2321
  */
2527
2322
  declare const KS_DEFAULT_BTN_FULL_SCREEN: ButtonConfig;
2528
2323
 
2324
+ /**
2325
+ * Class that represents the modal dialog instance.
2326
+ * It is returned by the open method.
2327
+ */
2328
+ declare class ModalGalleryRef {
2329
+ private close;
2330
+ close$: rxjs.Observable<ImageModalEvent>;
2331
+ private show;
2332
+ show$: rxjs.Observable<ImageModalEvent>;
2333
+ private firstImage;
2334
+ firstImage$: rxjs.Observable<ImageModalEvent>;
2335
+ private lastImage;
2336
+ lastImage$: rxjs.Observable<ImageModalEvent>;
2337
+ private hasData;
2338
+ hasData$: rxjs.Observable<ImageModalEvent>;
2339
+ private buttonBeforeHook;
2340
+ buttonBeforeHook$: rxjs.Observable<ButtonEvent>;
2341
+ private buttonAfterHook;
2342
+ buttonAfterHook$: rxjs.Observable<ButtonEvent>;
2343
+ private overlayRef;
2344
+ constructor(overlayRef: OverlayRef);
2345
+ /**
2346
+ * Close modal dialog, disposing the Overlay.
2347
+ */
2348
+ closeModal(): void;
2349
+ /**
2350
+ * Method to emit close event.
2351
+ * @param event ImageModalEvent event payload
2352
+ */
2353
+ emitClose(event: ImageModalEvent): void;
2354
+ /**
2355
+ * Method to emit show event.
2356
+ * @param event ImageModalEvent event payload
2357
+ */
2358
+ emitShow(event: ImageModalEvent): void;
2359
+ /**
2360
+ * Method to emit firstImage event.
2361
+ * @param event ImageModalEvent event payload
2362
+ */
2363
+ emitFirstImage(event: ImageModalEvent): void;
2364
+ /**
2365
+ * Method to emit lastImage event.
2366
+ * @param event ImageModalEvent event payload
2367
+ */
2368
+ emitLastImage(event: ImageModalEvent): void;
2369
+ /**
2370
+ * Method to emit hasData event.
2371
+ * @param event ImageModalEvent event payload
2372
+ */
2373
+ emitHasData(event: ImageModalEvent): void;
2374
+ /**
2375
+ * Method to emit buttonBeforeHook event.
2376
+ * @param event ImageModalEvent event payload
2377
+ */
2378
+ emitButtonBeforeHook(event: ButtonEvent): void;
2379
+ /**
2380
+ * Method to emit buttonAfterHook event.
2381
+ * @param event ImageModalEvent event payload
2382
+ */
2383
+ emitButtonAfterHook(event: ButtonEvent): void;
2384
+ }
2385
+
2386
+ /**
2387
+ * Payload to be emitted via {@link triggerAttachToOverlay} to enable {@link AttachToOverlayService}
2388
+ * to attach the {@link ModalGalleryComponent} to the overlay
2389
+ */
2390
+ interface AttachToOverlayPayload {
2391
+ /**
2392
+ * Overlay object created using Angular CDK APIs
2393
+ */
2394
+ overlayRef: OverlayRef;
2395
+ /**
2396
+ * Dialog data to be injected into the {@link ModalGalleryComponent}
2397
+ * contains: id, array of images, current image and optionally the configuration object
2398
+ */
2399
+ config: ModalGalleryConfig;
2400
+ /**
2401
+ * Object to control the dialog instance
2402
+ */
2403
+ dialogRef: ModalGalleryRef;
2404
+ }
2405
+ declare class ModalGalleryService {
2406
+ private updateImages;
2407
+ updateImages$: rxjs.Observable<Image[]>;
2408
+ private dialogRef;
2409
+ triggerAttachToOverlay: EventEmitter<AttachToOverlayPayload>;
2410
+ private overlay;
2411
+ private configService;
2412
+ /**
2413
+ * Method to open modal gallery passing the configuration
2414
+ * @param config ModalGalleryConfig that contains: id, array of images, current image and optionally the configuration object
2415
+ * @return ModalGalleryRef | undefined is the object used to listen for events.
2416
+ */
2417
+ open(config: ModalGalleryConfig): ModalGalleryRef | undefined;
2418
+ /**
2419
+ * Method to close a modal gallery previously opened.
2420
+ * @param id Unique identifier of the modal gallery
2421
+ * @param clickOutside boolean is true if closed clicking on the modal backdrop, false otherwise.
2422
+ */
2423
+ close(id: number, clickOutside: boolean): void;
2424
+ /**
2425
+ * Method to update images array.
2426
+ * @param images Image[] updated array of images
2427
+ */
2428
+ updateModalImages(images: Image[]): void;
2429
+ /**
2430
+ * Method to emit close event.
2431
+ * @param event ImageModalEvent is the event payload
2432
+ */
2433
+ emitClose(event: ImageModalEvent): void;
2434
+ /**
2435
+ * Method to emit show event.
2436
+ * @param event ImageModalEvent is the event payload
2437
+ */
2438
+ emitShow(event: ImageModalEvent): void;
2439
+ /**
2440
+ * Method to emit firstImage event.
2441
+ * @param event ImageModalEvent is the event payload
2442
+ */
2443
+ emitFirstImage(event: ImageModalEvent): void;
2444
+ /**
2445
+ * Method to emit lastImage event.
2446
+ * @param event ImageModalEvent is the event payload
2447
+ */
2448
+ emitLastImage(event: ImageModalEvent): void;
2449
+ /**
2450
+ * Method to emit hasData event.
2451
+ * @param event ImageModalEvent is the event payload
2452
+ */
2453
+ emitHasData(event: ImageModalEvent): void;
2454
+ /**
2455
+ * Method to emit buttonBeforeHook event.
2456
+ * @param event ButtonEvent is the event payload
2457
+ */
2458
+ emitButtonBeforeHook(event: ButtonEvent): void;
2459
+ /**
2460
+ * Method to emit buttonAfterHook event.
2461
+ * @param event ButtonEvent is the event payload
2462
+ */
2463
+ emitButtonAfterHook(event: ButtonEvent): void;
2464
+ /**
2465
+ * Private method to create an Overlay using Angular CDK APIs
2466
+ * @private
2467
+ */
2468
+ private createOverlay;
2469
+ /**
2470
+ * Private method to create an OverlayConfig instance
2471
+ * @private
2472
+ */
2473
+ private getOverlayConfig;
2474
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ModalGalleryService, never>;
2475
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ModalGalleryService>;
2476
+ }
2477
+
2529
2478
  export { Action, ButtonType, ButtonsStrategy, CarouselComponent, DescriptionStrategy, GalleryModule, GridLayout, Image, ImageEvent, ImageModalEvent, KS_DEFAULT_ACCESSIBILITY_CONFIG, KS_DEFAULT_BTN_CLOSE, KS_DEFAULT_BTN_DELETE, KS_DEFAULT_BTN_DOWNLOAD, KS_DEFAULT_BTN_EXTURL, KS_DEFAULT_BTN_FULL_SCREEN, KS_DEFAULT_SIZE, LineLayout, LoadingType, ModalGalleryComponent, ModalGalleryRef, ModalGalleryService, PlainGalleryComponent, PlainGalleryStrategy };
2530
2479
  export type { AccessibilityConfig, BreakConfig, BreakpointsConfig, ButtonConfig, ButtonEvent, ButtonsConfig, CarouselConfig, CarouselImageConfig, CarouselLibConfig, CarouselPreviewConfig, CurrentImageConfig, Description, DotsConfig, InteractionEvent, KeyboardConfig, LoadingConfig, ModalGalleryConfig, ModalImage, ModalLibConfig, PlainGalleryConfig, PlainGalleryLayout, PlainImage, PlainLibConfig, PlayConfig, PreviewConfig, SidePreviewsConfig, Size, SlideConfig };