@ks89/angular-modal-gallery 8.0.0-rc.1 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +123 -0
  2. package/CONTRIBUTING.md +3 -3
  3. package/README.md +26 -34
  4. package/{esm2015/ks89-angular-modal-gallery.js → esm2020/ks89-angular-modal-gallery.mjs} +0 -0
  5. package/{esm2015/lib/components/accessibility-default.js → esm2020/lib/components/accessibility-default.mjs} +0 -0
  6. package/{esm2015/lib/components/accessible.component.js → esm2020/lib/components/accessible.component.mjs} +6 -6
  7. package/esm2020/lib/components/carousel/carousel-previews/carousel-previews.component.mjs +462 -0
  8. package/esm2020/lib/components/carousel/carousel.component.mjs +747 -0
  9. package/{esm2015/lib/components/components.js → esm2020/lib/components/components.mjs} +0 -0
  10. package/esm2020/lib/components/current-image/current-image.component.mjs +616 -0
  11. package/esm2020/lib/components/current-image/loading-spinner/loading-spinner.component.mjs +80 -0
  12. package/esm2020/lib/components/dots/dots.component.mjs +127 -0
  13. package/esm2020/lib/components/modal-gallery/modal-gallery-ref.mjs +103 -0
  14. package/esm2020/lib/components/modal-gallery/modal-gallery.component.mjs +523 -0
  15. package/esm2020/lib/components/modal-gallery/modal-gallery.service.mjs +187 -0
  16. package/esm2020/lib/components/modal-gallery/modal-gallery.tokens.mjs +26 -0
  17. package/esm2020/lib/components/plain-gallery/plain-gallery.component.mjs +249 -0
  18. package/esm2020/lib/components/previews/previews.component.mjs +332 -0
  19. package/{esm2015/lib/components/upper-buttons/upper-buttons-default.js → esm2020/lib/components/upper-buttons/upper-buttons-default.mjs} +0 -0
  20. package/esm2020/lib/components/upper-buttons/upper-buttons.component.mjs +249 -0
  21. package/{esm2015/lib/directives/a-tag-bg-image.directive.js → esm2020/lib/directives/a-tag-bg-image.directive.mjs} +3 -3
  22. package/{esm2015/lib/directives/click-outside.directive.js → esm2020/lib/directives/click-outside.directive.mjs} +3 -3
  23. package/{esm2015/lib/directives/description.directive.js → esm2020/lib/directives/description.directive.mjs} +3 -3
  24. package/{esm2015/lib/directives/direction.directive.js → esm2020/lib/directives/direction.directive.mjs} +3 -3
  25. package/{esm2015/lib/directives/directives.js → esm2020/lib/directives/directives.mjs} +0 -0
  26. package/esm2020/lib/directives/fallback-image.directive.mjs +59 -0
  27. package/{esm2015/lib/directives/keyboard-navigation.directive.js → esm2020/lib/directives/keyboard-navigation.directive.mjs} +5 -5
  28. package/{esm2015/lib/directives/margin.directive.js → esm2020/lib/directives/margin.directive.mjs} +3 -3
  29. package/{esm2015/lib/directives/max-size.directive.js → esm2020/lib/directives/max-size.directive.mjs} +3 -3
  30. package/{esm2015/lib/directives/size.directive.js → esm2020/lib/directives/size.directive.mjs} +3 -3
  31. package/{esm2015/lib/directives/wrap.directive.js → esm2020/lib/directives/wrap.directive.mjs} +6 -6
  32. package/{esm2015/lib/modal-gallery.module.js → esm2020/lib/modal-gallery.module.mjs} +10 -13
  33. package/{esm2015/lib/model/accessibility.interface.js → esm2020/lib/model/accessibility.interface.mjs} +0 -0
  34. package/{esm2015/lib/model/action.enum.js → esm2020/lib/model/action.enum.mjs} +0 -0
  35. package/esm2020/lib/model/buttons-config.interface.mjs +62 -0
  36. package/{esm2015/lib/model/carousel-config.interface.js → esm2020/lib/model/carousel-config.interface.mjs} +1 -1
  37. package/{esm2015/lib/model/carousel-image-config.interface.js → esm2020/lib/model/carousel-image-config.interface.mjs} +0 -0
  38. package/{esm2015/lib/model/carousel-preview-config.interface.js → esm2020/lib/model/carousel-preview-config.interface.mjs} +0 -0
  39. package/{esm2015/lib/model/current-image-config.interface.js → esm2020/lib/model/current-image-config.interface.mjs} +0 -0
  40. package/{esm2015/lib/model/description.interface.js → esm2020/lib/model/description.interface.mjs} +0 -0
  41. package/{esm2015/lib/model/dots-config.interface.js → esm2020/lib/model/dots-config.interface.mjs} +0 -0
  42. package/{esm2015/lib/model/image-internal.class.js → esm2020/lib/model/image-internal.class.mjs} +0 -0
  43. package/{esm2015/lib/model/image.class.js → esm2020/lib/model/image.class.mjs} +0 -0
  44. package/{esm2015/lib/model/interaction-event.interface.js → esm2020/lib/model/interaction-event.interface.mjs} +0 -0
  45. package/{esm2015/lib/model/keyboard-config.interface.js → esm2020/lib/model/keyboard-config.interface.mjs} +1 -1
  46. package/{esm2015/lib/model/keyboard-service-config.interface.js → esm2020/lib/model/keyboard-service-config.interface.mjs} +0 -0
  47. package/esm2020/lib/model/keyboard.enum.mjs +35 -0
  48. package/{esm2015/lib/model/lib-config.interface.js → esm2020/lib/model/lib-config.interface.mjs} +1 -1
  49. package/{esm2015/lib/model/loading-config.interface.js → esm2020/lib/model/loading-config.interface.mjs} +0 -0
  50. package/{esm2015/lib/model/max-size.interface.js → esm2020/lib/model/max-size.interface.mjs} +0 -0
  51. package/{esm2015/lib/model/modal-gallery-config.interface.js → esm2020/lib/model/modal-gallery-config.interface.mjs} +1 -1
  52. package/esm2020/lib/model/plain-gallery-config.interface.mjs +55 -0
  53. package/{esm2015/lib/model/play-config.interface.js → esm2020/lib/model/play-config.interface.mjs} +0 -0
  54. package/{esm2015/lib/model/preview-config.interface.js → esm2020/lib/model/preview-config.interface.mjs} +0 -0
  55. package/{esm2015/lib/model/size.interface.js → esm2020/lib/model/size.interface.mjs} +0 -0
  56. package/{esm2015/lib/model/slide-config.interface.js → esm2020/lib/model/slide-config.interface.mjs} +0 -0
  57. package/esm2020/lib/services/config.service.mjs +396 -0
  58. package/esm2020/lib/services/id-validator.service.mjs +71 -0
  59. package/{esm2015/lib/services/keyboard.service.js → esm2020/lib/services/keyboard.service.mjs} +3 -3
  60. package/{esm2015/lib/utils/image.util.js → esm2020/lib/utils/image.util.mjs} +0 -0
  61. package/esm2020/lib/utils/user-input.util.mjs +104 -0
  62. package/esm2020/public-api.mjs +42 -0
  63. package/fesm2015/ks89-angular-modal-gallery.mjs +5782 -0
  64. package/fesm2015/ks89-angular-modal-gallery.mjs.map +1 -0
  65. package/{fesm2015/ks89-angular-modal-gallery.js → fesm2020/ks89-angular-modal-gallery.mjs} +521 -544
  66. package/fesm2020/ks89-angular-modal-gallery.mjs.map +1 -0
  67. package/lib/components/accessible.component.d.ts +2 -2
  68. package/lib/components/carousel/carousel-previews/carousel-previews.component.d.ts +0 -7
  69. package/lib/components/carousel/carousel.component.d.ts +25 -67
  70. package/lib/components/current-image/current-image.component.d.ts +6 -3
  71. package/lib/components/dots/dots.component.d.ts +4 -0
  72. package/lib/components/modal-gallery/modal-gallery-ref.d.ts +35 -0
  73. package/lib/components/modal-gallery/modal-gallery.component.d.ts +53 -49
  74. package/lib/components/modal-gallery/modal-gallery.service.d.ts +57 -1
  75. package/lib/components/plain-gallery/plain-gallery.component.d.ts +16 -10
  76. package/lib/components/previews/previews.component.d.ts +6 -0
  77. package/lib/components/upper-buttons/upper-buttons.component.d.ts +5 -1
  78. package/lib/directives/fallback-image.directive.d.ts +3 -0
  79. package/lib/directives/keyboard-navigation.directive.d.ts +1 -1
  80. package/lib/directives/wrap.directive.d.ts +1 -1
  81. package/lib/model/carousel-config.interface.d.ts +0 -1
  82. package/lib/model/keyboard-config.interface.d.ts +4 -4
  83. package/lib/model/keyboard.enum.d.ts +11 -8
  84. package/lib/model/lib-config.interface.d.ts +20 -7
  85. package/lib/model/modal-gallery-config.interface.d.ts +2 -2
  86. package/lib/model/plain-gallery-config.interface.d.ts +1 -9
  87. package/lib/services/id-validator.service.d.ts +2 -1
  88. package/lib/utils/user-input.util.d.ts +35 -26
  89. package/package.json +27 -14
  90. package/public-api.d.ts +2 -2
  91. package/bundles/ks89-angular-modal-gallery.umd.js +0 -6067
  92. package/bundles/ks89-angular-modal-gallery.umd.js.map +0 -1
  93. package/esm2015/lib/components/carousel/carousel-previews/carousel-previews.component.js +0 -480
  94. package/esm2015/lib/components/carousel/carousel.component.js +0 -800
  95. package/esm2015/lib/components/current-image/current-image.component.js +0 -618
  96. package/esm2015/lib/components/current-image/loading-spinner/loading-spinner.component.js +0 -93
  97. package/esm2015/lib/components/dots/dots.component.js +0 -132
  98. package/esm2015/lib/components/modal-gallery/modal-gallery-ref.js +0 -45
  99. package/esm2015/lib/components/modal-gallery/modal-gallery.component.js +0 -558
  100. package/esm2015/lib/components/modal-gallery/modal-gallery.service.js +0 -131
  101. package/esm2015/lib/components/modal-gallery/modal-gallery.tokens.js +0 -3
  102. package/esm2015/lib/components/plain-gallery/plain-gallery.component.js +0 -253
  103. package/esm2015/lib/components/previews/previews.component.js +0 -338
  104. package/esm2015/lib/components/upper-buttons/upper-buttons.component.js +0 -266
  105. package/esm2015/lib/directives/fallback-image.directive.js +0 -56
  106. package/esm2015/lib/model/buttons-config.interface.js +0 -66
  107. package/esm2015/lib/model/keyboard.enum.js +0 -35
  108. package/esm2015/lib/model/plain-gallery-config.interface.js +0 -64
  109. package/esm2015/lib/services/config.service.js +0 -395
  110. package/esm2015/lib/services/id-validator.service.js +0 -73
  111. package/esm2015/lib/utils/user-input.util.js +0 -95
  112. package/esm2015/public-api.js +0 -46
  113. package/fesm2015/ks89-angular-modal-gallery.js.map +0 -1
@@ -0,0 +1,80 @@
1
+ /*
2
+ The MIT License (MIT)
3
+
4
+ Copyright (C) 2017-2021 Stefano Cappa (Ks89)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+ */
24
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
25
+ import { LoadingType } from '../../../model/loading-config.interface';
26
+ import * as i0 from "@angular/core";
27
+ import * as i1 from "@angular/common";
28
+ /**
29
+ * Component with the loading spinner
30
+ */
31
+ export class LoadingSpinnerComponent {
32
+ constructor() {
33
+ /**
34
+ * Enum of type `LoadingType` to choose the standard loading spinner.
35
+ * Declared here to be used inside the template.
36
+ */
37
+ this.loadingStandard = LoadingType.STANDARD;
38
+ /**
39
+ * Enum of type `LoadingType` to choose the bars loading spinner.
40
+ * Declared here to be used inside the template.
41
+ */
42
+ this.loadingBars = LoadingType.BARS;
43
+ /**
44
+ * Enum of type `LoadingType` to choose the circular loading spinner.
45
+ * Declared here to be used inside the template.
46
+ */
47
+ this.loadingCircular = LoadingType.CIRCULAR;
48
+ /**
49
+ * Enum of type `LoadingType` to choose the dots loading spinner.
50
+ * Declared here to be used inside the template.
51
+ */
52
+ this.loadingDots = LoadingType.DOTS;
53
+ /**
54
+ * Enum of type `LoadingType` to choose the cube flipping loading spinner.
55
+ * Declared here to be used inside the template.
56
+ */
57
+ this.loadingCubeFlipping = LoadingType.CUBE_FLIPPING;
58
+ /**
59
+ * Enum of type `LoadingType` to choose the circles loading spinner.
60
+ * Declared here to be used inside the template.
61
+ */
62
+ this.loadingCircles = LoadingType.CIRCLES;
63
+ /**
64
+ * Enum of type `LoadingType` to choose the explosing squares loading spinner.
65
+ * Declared here to be used inside the template.
66
+ */
67
+ this.loadingExplosingSquares = LoadingType.EXPLOSING_SQUARES;
68
+ }
69
+ }
70
+ LoadingSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: LoadingSpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
71
+ LoadingSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: LoadingSpinnerComponent, selector: "ks-loading-spinner", inputs: { loadingConfig: "loadingConfig", accessibilityConfig: "accessibilityConfig" }, ngImport: i0, template: "<div [attr.aria-label]=\"accessibilityConfig?.loadingSpinnerAriaLabel\"\n [title]=\"accessibilityConfig?.loadingSpinnerTitle\">\n\n <ng-container [ngSwitch]=\"loadingConfig?.type\">\n <ng-container *ngSwitchCase=\"loadingStandard\">\n <div class=\"cssload-loader\">\n <div class=\"cssload-inner cssload-one\"></div>\n <div class=\"cssload-inner cssload-two\"></div>\n <div class=\"cssload-inner cssload-three\"></div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingBars\">\n <div class=\"loader-bars\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCircular\">\n <div class=\"loader-circular\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingDots\">\n <div class=\"loader-dots\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCubeFlipping\">\n <div class=\"cube-wrapper\">\n <div class=\"cube-folding\">\n <span class=\"leaf1\"></span>\n <span class=\"leaf2\"></span>\n <span class=\"leaf3\"></span>\n <span class=\"leaf4\"></span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCircles\">\n <div id=\"preloader\">\n <div id=\"loader\"></div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingExplosingSquares\">\n <div class=\"loader\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </div>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".cssload-loader{position:absolute;top:0;bottom:0;right:0;left:0;margin:auto;width:64px;height:64px;border-radius:50%;-o-border-radius:50%;-ms-border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;perspective:800px}.cssload-inner{position:absolute;width:100%;height:100%;box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;border-radius:50%;-o-border-radius:50%;-ms-border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.cssload-inner.cssload-one{left:0%;top:0%;animation:cssload-rotate-one .6s linear infinite;-o-animation:cssload-rotate-one .6s linear infinite;-ms-animation:cssload-rotate-one .6s linear infinite;-webkit-animation:cssload-rotate-one .6s linear infinite;-moz-animation:cssload-rotate-one .6s linear infinite;border-bottom:3px solid rgba(255,255,255,.99)}.cssload-inner.cssload-two{right:0%;top:0%;animation:cssload-rotate-two .6s linear infinite;-o-animation:cssload-rotate-two .6s linear infinite;-ms-animation:cssload-rotate-two .6s linear infinite;-webkit-animation:cssload-rotate-two .6s linear infinite;-moz-animation:cssload-rotate-two .6s linear infinite;border-right:3px solid rgb(255,255,255)}.cssload-inner.cssload-three{right:0%;bottom:0%;animation:cssload-rotate-three .6s linear infinite;-o-animation:cssload-rotate-three .6s linear infinite;-ms-animation:cssload-rotate-three .6s linear infinite;-webkit-animation:cssload-rotate-three .6s linear infinite;-moz-animation:cssload-rotate-three .6s linear infinite;border-top:3px solid rgb(255,255,255)}@keyframes cssload-rotate-one{0%{transform:rotateX(35deg) rotateY(-45deg) rotate(0)}to{transform:rotateX(35deg) rotateY(-45deg) rotate(360deg)}}@keyframes cssload-rotate-two{0%{transform:rotateX(50deg) rotateY(10deg) rotate(0)}to{transform:rotateX(50deg) rotateY(10deg) rotate(360deg)}}@keyframes cssload-rotate-three{0%{transform:rotateX(35deg) rotateY(55deg) rotate(0)}to{transform:rotateX(35deg) rotateY(55deg) rotate(360deg)}}\n", ".loader-dots{position:absolute;top:0;bottom:0;right:0;left:0;color:#fefcff;font-size:10px;margin:auto;width:1em;height:1em;border-radius:50%;text-indent:-9999em;animation:load4 1.3s infinite linear;transform:translateZ(0)}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em}12.5%{box-shadow:0 -3em,2em -2em 0 .2em,3em 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em,3em 0 0 .2em,2em 2em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0,2em 2em 0 .2em,0 3em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em,0 3em 0 .2em,-2em 2em,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em,-2em 2em 0 .2em,-3em 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em,-3em 0 0 .2em,-2em -2em}87.5%{box-shadow:0 -3em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em,-3em 0,-2em -2em 0 .2em}}\n", ".loader-bars,.loader-bars:before,.loader-bars:after{background:#fefcff;animation:load1 1s infinite ease-in-out;width:1em;height:4em}.loader-bars{position:absolute;top:0;bottom:0;right:0;left:0;color:#fefcff;text-indent:-9999em;margin:auto;font-size:11px;transform:translateZ(0);animation-delay:-.16s}.loader-bars:before,.loader-bars:after{position:absolute;top:0;content:\"\"}.loader-bars:before{left:-1.5em;animation-delay:-.32s}.loader-bars:after{left:1.5em}@keyframes load1{0%,80%,to{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}\n", ".loader-circular,.loader-circular:after{border-radius:50%;width:10em;height:10em}.loader-circular{position:absolute;top:0;bottom:0;right:0;left:0;margin:auto;font-size:10px;text-indent:-9999em;border-top:1.1em solid rgba(255,255,255,.2);border-right:1.1em solid rgba(255,255,255,.2);border-bottom:1.1em solid rgba(255,255,255,.2);border-left:1.1em solid #ffffff;transform:translateZ(0);animation:load8 1.1s infinite linear}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n", ".cube-folding{width:50px;height:50px;display:inline-block;transform:rotate(45deg);font-size:0}.cube-folding span{position:relative;width:25px;height:25px;transform:scale(1.1);display:inline-block}.cube-folding span:before{content:\"\";background-color:#fff;position:absolute;left:0;top:0;display:block;width:25px;height:25px;transform-origin:100% 100%;animation:folding 2.5s infinite linear both}.cube-folding .leaf2{transform:rotate(90deg) scale(1.1)}.cube-folding .leaf2:before{animation-delay:.3s;background-color:#f2f2f2}.cube-folding .leaf3{transform:rotate(270deg) scale(1.1)}.cube-folding .leaf3:before{animation-delay:.9s;background-color:#f2f2f2}.cube-folding .leaf4{transform:rotate(180deg) scale(1.1)}.cube-folding .leaf4:before{animation-delay:.6s;background-color:#e6e6e6}@keyframes folding{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0);opacity:1}90%,to{transform:perspective(140px) rotateY(180deg);opacity:0}}.cube-wrapper{position:fixed;left:50%;top:50%;margin-top:-50px;margin-left:-50px;width:100px;height:100px;text-align:center}@keyframes text{to{top:35px}}@keyframes shadow{to{bottom:-18px;width:100px}}\n", "#preloader{position:fixed;top:0;left:0;width:100%;height:100%}#loader{display:block;position:relative;left:50%;top:50%;width:100px;height:100px;margin:-75px 0 0 -75px;border-radius:50%;border:3px solid transparent;border-top-color:#b4b4b4;animation:spin 2s linear infinite}#loader:before{content:\"\";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border-radius:50%;border:3px solid transparent;border-top-color:#d9d9d9;animation:spin 3s linear infinite}#loader:after{content:\"\";position:absolute;top:15px;left:15px;right:15px;bottom:15px;border-radius:50%;border:3px solid transparent;border-top-color:#fff;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n", "@keyframes loader{0%,10%,to{width:60px;height:60px}65%{width:150px;height:150px}}@keyframes loaderBlock{0%,30%{transform:rotate(0)}55%{background-color:#b4b4b4}to{transform:rotate(90deg)}}@keyframes loaderBlockInverse{0%,20%{transform:rotate(0)}55%{background-color:#d9d9d9}to{transform:rotate(-90deg)}}.loader{position:absolute;top:50%;left:50%;width:60px;height:60px;transform:translate(-50%,-50%) rotate(45deg) translate(0);animation:loader 1.2s infinite ease-in-out}.loader span{position:absolute;display:block;width:40px;height:40px;background-color:#fff;animation:loaderBlock 1.2s infinite ease-in-out both}.loader span:nth-child(1){top:0;left:0}.loader span:nth-child(2){top:0;right:0;animation:loaderBlockInverse 1.2s infinite ease-in-out both}.loader span:nth-child(3){bottom:0;left:0;animation:loaderBlockInverse 1.2s infinite ease-in-out both}.loader span:nth-child(4){bottom:0;right:0}\n"], directives: [{ type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: LoadingSpinnerComponent, decorators: [{
73
+ type: Component,
74
+ args: [{ selector: 'ks-loading-spinner', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [attr.aria-label]=\"accessibilityConfig?.loadingSpinnerAriaLabel\"\n [title]=\"accessibilityConfig?.loadingSpinnerTitle\">\n\n <ng-container [ngSwitch]=\"loadingConfig?.type\">\n <ng-container *ngSwitchCase=\"loadingStandard\">\n <div class=\"cssload-loader\">\n <div class=\"cssload-inner cssload-one\"></div>\n <div class=\"cssload-inner cssload-two\"></div>\n <div class=\"cssload-inner cssload-three\"></div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingBars\">\n <div class=\"loader-bars\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCircular\">\n <div class=\"loader-circular\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingDots\">\n <div class=\"loader-dots\">\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCubeFlipping\">\n <div class=\"cube-wrapper\">\n <div class=\"cube-folding\">\n <span class=\"leaf1\"></span>\n <span class=\"leaf2\"></span>\n <span class=\"leaf3\"></span>\n <span class=\"leaf4\"></span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingCircles\">\n <div id=\"preloader\">\n <div id=\"loader\"></div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"loadingExplosingSquares\">\n <div class=\"loader\">\n <span></span>\n <span></span>\n <span></span>\n <span></span>\n </div>\n </ng-container>\n </ng-container>\n</div>\n", styles: [".cssload-loader{position:absolute;top:0;bottom:0;right:0;left:0;margin:auto;width:64px;height:64px;border-radius:50%;-o-border-radius:50%;-ms-border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;perspective:800px}.cssload-inner{position:absolute;width:100%;height:100%;box-sizing:border-box;-o-box-sizing:border-box;-ms-box-sizing:border-box;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;border-radius:50%;-o-border-radius:50%;-ms-border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%}.cssload-inner.cssload-one{left:0%;top:0%;animation:cssload-rotate-one .6s linear infinite;-o-animation:cssload-rotate-one .6s linear infinite;-ms-animation:cssload-rotate-one .6s linear infinite;-webkit-animation:cssload-rotate-one .6s linear infinite;-moz-animation:cssload-rotate-one .6s linear infinite;border-bottom:3px solid rgba(255,255,255,.99)}.cssload-inner.cssload-two{right:0%;top:0%;animation:cssload-rotate-two .6s linear infinite;-o-animation:cssload-rotate-two .6s linear infinite;-ms-animation:cssload-rotate-two .6s linear infinite;-webkit-animation:cssload-rotate-two .6s linear infinite;-moz-animation:cssload-rotate-two .6s linear infinite;border-right:3px solid rgb(255,255,255)}.cssload-inner.cssload-three{right:0%;bottom:0%;animation:cssload-rotate-three .6s linear infinite;-o-animation:cssload-rotate-three .6s linear infinite;-ms-animation:cssload-rotate-three .6s linear infinite;-webkit-animation:cssload-rotate-three .6s linear infinite;-moz-animation:cssload-rotate-three .6s linear infinite;border-top:3px solid rgb(255,255,255)}@keyframes cssload-rotate-one{0%{transform:rotateX(35deg) rotateY(-45deg) rotate(0)}to{transform:rotateX(35deg) rotateY(-45deg) rotate(360deg)}}@keyframes cssload-rotate-two{0%{transform:rotateX(50deg) rotateY(10deg) rotate(0)}to{transform:rotateX(50deg) rotateY(10deg) rotate(360deg)}}@keyframes cssload-rotate-three{0%{transform:rotateX(35deg) rotateY(55deg) rotate(0)}to{transform:rotateX(35deg) rotateY(55deg) rotate(360deg)}}\n", ".loader-dots{position:absolute;top:0;bottom:0;right:0;left:0;color:#fefcff;font-size:10px;margin:auto;width:1em;height:1em;border-radius:50%;text-indent:-9999em;animation:load4 1.3s infinite linear;transform:translateZ(0)}@keyframes load4{0%,to{box-shadow:0 -3em 0 .2em,2em -2em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em}12.5%{box-shadow:0 -3em,2em -2em 0 .2em,3em 0,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}25%{box-shadow:0 -3em 0 -.5em,2em -2em,3em 0 0 .2em,2em 2em,0 3em 0 -1em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}37.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0,2em 2em 0 .2em,0 3em,-2em 2em 0 -1em,-3em 0 0 -1em,-2em -2em 0 -1em}50%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em,0 3em 0 .2em,-2em 2em,-3em 0 0 -1em,-2em -2em 0 -1em}62.5%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em,-2em 2em 0 .2em,-3em 0,-2em -2em 0 -1em}75%{box-shadow:0 -3em 0 -1em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em,-3em 0 0 .2em,-2em -2em}87.5%{box-shadow:0 -3em,2em -2em 0 -1em,3em 0 0 -1em,2em 2em 0 -1em,0 3em 0 -1em,-2em 2em,-3em 0,-2em -2em 0 .2em}}\n", ".loader-bars,.loader-bars:before,.loader-bars:after{background:#fefcff;animation:load1 1s infinite ease-in-out;width:1em;height:4em}.loader-bars{position:absolute;top:0;bottom:0;right:0;left:0;color:#fefcff;text-indent:-9999em;margin:auto;font-size:11px;transform:translateZ(0);animation-delay:-.16s}.loader-bars:before,.loader-bars:after{position:absolute;top:0;content:\"\"}.loader-bars:before{left:-1.5em;animation-delay:-.32s}.loader-bars:after{left:1.5em}@keyframes load1{0%,80%,to{box-shadow:0 0;height:4em}40%{box-shadow:0 -2em;height:5em}}\n", ".loader-circular,.loader-circular:after{border-radius:50%;width:10em;height:10em}.loader-circular{position:absolute;top:0;bottom:0;right:0;left:0;margin:auto;font-size:10px;text-indent:-9999em;border-top:1.1em solid rgba(255,255,255,.2);border-right:1.1em solid rgba(255,255,255,.2);border-bottom:1.1em solid rgba(255,255,255,.2);border-left:1.1em solid #ffffff;transform:translateZ(0);animation:load8 1.1s infinite linear}@keyframes load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n", ".cube-folding{width:50px;height:50px;display:inline-block;transform:rotate(45deg);font-size:0}.cube-folding span{position:relative;width:25px;height:25px;transform:scale(1.1);display:inline-block}.cube-folding span:before{content:\"\";background-color:#fff;position:absolute;left:0;top:0;display:block;width:25px;height:25px;transform-origin:100% 100%;animation:folding 2.5s infinite linear both}.cube-folding .leaf2{transform:rotate(90deg) scale(1.1)}.cube-folding .leaf2:before{animation-delay:.3s;background-color:#f2f2f2}.cube-folding .leaf3{transform:rotate(270deg) scale(1.1)}.cube-folding .leaf3:before{animation-delay:.9s;background-color:#f2f2f2}.cube-folding .leaf4{transform:rotate(180deg) scale(1.1)}.cube-folding .leaf4:before{animation-delay:.6s;background-color:#e6e6e6}@keyframes folding{0%,10%{transform:perspective(140px) rotateX(-180deg);opacity:0}25%,75%{transform:perspective(140px) rotateX(0);opacity:1}90%,to{transform:perspective(140px) rotateY(180deg);opacity:0}}.cube-wrapper{position:fixed;left:50%;top:50%;margin-top:-50px;margin-left:-50px;width:100px;height:100px;text-align:center}@keyframes text{to{top:35px}}@keyframes shadow{to{bottom:-18px;width:100px}}\n", "#preloader{position:fixed;top:0;left:0;width:100%;height:100%}#loader{display:block;position:relative;left:50%;top:50%;width:100px;height:100px;margin:-75px 0 0 -75px;border-radius:50%;border:3px solid transparent;border-top-color:#b4b4b4;animation:spin 2s linear infinite}#loader:before{content:\"\";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border-radius:50%;border:3px solid transparent;border-top-color:#d9d9d9;animation:spin 3s linear infinite}#loader:after{content:\"\";position:absolute;top:15px;left:15px;right:15px;bottom:15px;border-radius:50%;border:3px solid transparent;border-top-color:#fff;animation:spin 1.5s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n", "@keyframes loader{0%,10%,to{width:60px;height:60px}65%{width:150px;height:150px}}@keyframes loaderBlock{0%,30%{transform:rotate(0)}55%{background-color:#b4b4b4}to{transform:rotate(90deg)}}@keyframes loaderBlockInverse{0%,20%{transform:rotate(0)}55%{background-color:#d9d9d9}to{transform:rotate(-90deg)}}.loader{position:absolute;top:50%;left:50%;width:60px;height:60px;transform:translate(-50%,-50%) rotate(45deg) translate(0);animation:loader 1.2s infinite ease-in-out}.loader span{position:absolute;display:block;width:40px;height:40px;background-color:#fff;animation:loaderBlock 1.2s infinite ease-in-out both}.loader span:nth-child(1){top:0;left:0}.loader span:nth-child(2){top:0;right:0;animation:loaderBlockInverse 1.2s infinite ease-in-out both}.loader span:nth-child(3){bottom:0;left:0;animation:loaderBlockInverse 1.2s infinite ease-in-out both}.loader span:nth-child(4){bottom:0;right:0}\n"] }]
75
+ }], propDecorators: { loadingConfig: [{
76
+ type: Input
77
+ }], accessibilityConfig: [{
78
+ type: Input
79
+ }] } });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy1zcGlubmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvY29tcG9uZW50cy9jdXJyZW50LWltYWdlL2xvYWRpbmctc3Bpbm5lci9sb2FkaW5nLXNwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3M4OS9hbmd1bGFyLW1vZGFsLWdhbGxlcnkvc3JjL2xpYi9jb21wb25lbnRzL2N1cnJlbnQtaW1hZ2UvbG9hZGluZy1zcGlubmVyL2xvYWRpbmctc3Bpbm5lci5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBRUgsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHMUUsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7O0FBRXJGOztHQUVHO0FBZUgsTUFBTSxPQUFPLHVCQUF1QjtJQWRwQztRQTRCRTs7O1dBR0c7UUFDSCxvQkFBZSxHQUFnQixXQUFXLENBQUMsUUFBUSxDQUFDO1FBQ3BEOzs7V0FHRztRQUNILGdCQUFXLEdBQWdCLFdBQVcsQ0FBQyxJQUFJLENBQUM7UUFDNUM7OztXQUdHO1FBQ0gsb0JBQWUsR0FBZ0IsV0FBVyxDQUFDLFFBQVEsQ0FBQztRQUNwRDs7O1dBR0c7UUFDSCxnQkFBVyxHQUFnQixXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzVDOzs7V0FHRztRQUNILHdCQUFtQixHQUFnQixXQUFXLENBQUMsYUFBYSxDQUFDO1FBQzdEOzs7V0FHRztRQUNILG1CQUFjLEdBQWdCLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDbEQ7OztXQUdHO1FBQ0gsNEJBQXVCLEdBQWdCLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztLQUN0RTs7b0hBakRZLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLGtKQzlDcEMsb2tEQWdEQTsyRkRGYSx1QkFBdUI7a0JBZG5DLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQVdiLHVCQUF1QixDQUFDLE1BQU07OEJBUS9DLGFBQWE7c0JBRFosS0FBSztnQkFPTixtQkFBbUI7c0JBRGxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwvYWNjZXNzaWJpbGl0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTG9hZGluZ0NvbmZpZywgTG9hZGluZ1R5cGUgfSBmcm9tICcuLi8uLi8uLi9tb2RlbC9sb2FkaW5nLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIENvbXBvbmVudCB3aXRoIHRoZSBsb2FkaW5nIHNwaW5uZXJcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3MtbG9hZGluZy1zcGlubmVyJyxcbiAgc3R5bGVVcmxzOiBbXG4gICAgJ3N0eWxlLWxvYWRpbmctc3Bpbm5lci1zdGFuZGFyZC5jc3MnLFxuICAgICdzdHlsZS1sb2FkaW5nLXNwaW5uZXItZG90cy5jc3MnLFxuICAgICdzdHlsZS1sb2FkaW5nLXNwaW5uZXItYmFycy5jc3MnLFxuICAgICdzdHlsZS1sb2FkaW5nLXNwaW5uZXItY2lyY3VsYXIuY3NzJyxcbiAgICAnc3R5bGUtbG9hZGluZy1zcGlubmVyLWN1YmUtZmxpcHBpbmcuY3NzJyxcbiAgICAnc3R5bGUtbG9hZGluZy1zcGlubmVyLWNpcmNsZXMuY3NzJyxcbiAgICAnc3R5bGUtbG9hZGluZy1zcGlubmVyLWV4cGxvc2luZy1zcXVhcmVzLnNjc3MnXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnbG9hZGluZy1zcGlubmVyLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBMb2FkaW5nU3Bpbm5lckNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgdHlwZSBgTG9hZGluZ0NvbmZpZ2AgZXhwb3NlZCB0byB0aGUgdGVtcGxhdGUuXG4gICAqIEl0IGNvbnRhaW5zIGEgZmllbGQgdG8gY2hvb3NlIGEgbG9hZGluZyBzcGlubmVyLlxuICAgKi9cbiAgQElucHV0KClcbiAgbG9hZGluZ0NvbmZpZzogTG9hZGluZ0NvbmZpZyB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9iamVjdCBvZiB0eXBlIGBBY2Nlc3NpYmlsaXR5Q29uZmlnYCB0byBpbml0IGN1c3RvbSBhY2Nlc3NpYmlsaXR5IGZlYXR1cmVzLlxuICAgKiBGb3IgaW5zdGFuY2UsIGl0IGNvbnRhaW5zIHRpdGxlcywgYWx0IHRleHRzLCBhcmlhLWxhYmVscyBhbmQgc28gb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBhY2Nlc3NpYmlsaXR5Q29uZmlnOiBBY2Nlc3NpYmlsaXR5Q29uZmlnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBFbnVtIG9mIHR5cGUgYExvYWRpbmdUeXBlYCB0byBjaG9vc2UgdGhlIHN0YW5kYXJkIGxvYWRpbmcgc3Bpbm5lci5cbiAgICogRGVjbGFyZWQgaGVyZSB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBsb2FkaW5nU3RhbmRhcmQ6IExvYWRpbmdUeXBlID0gTG9hZGluZ1R5cGUuU1RBTkRBUkQ7XG4gIC8qKlxuICAgKiBFbnVtIG9mIHR5cGUgYExvYWRpbmdUeXBlYCB0byBjaG9vc2UgdGhlIGJhcnMgbG9hZGluZyBzcGlubmVyLlxuICAgKiBEZWNsYXJlZCBoZXJlIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIGxvYWRpbmdCYXJzOiBMb2FkaW5nVHlwZSA9IExvYWRpbmdUeXBlLkJBUlM7XG4gIC8qKlxuICAgKiBFbnVtIG9mIHR5cGUgYExvYWRpbmdUeXBlYCB0byBjaG9vc2UgdGhlIGNpcmN1bGFyIGxvYWRpbmcgc3Bpbm5lci5cbiAgICogRGVjbGFyZWQgaGVyZSB0byBiZSB1c2VkIGluc2lkZSB0aGUgdGVtcGxhdGUuXG4gICAqL1xuICBsb2FkaW5nQ2lyY3VsYXI6IExvYWRpbmdUeXBlID0gTG9hZGluZ1R5cGUuQ0lSQ1VMQVI7XG4gIC8qKlxuICAgKiBFbnVtIG9mIHR5cGUgYExvYWRpbmdUeXBlYCB0byBjaG9vc2UgdGhlIGRvdHMgbG9hZGluZyBzcGlubmVyLlxuICAgKiBEZWNsYXJlZCBoZXJlIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIGxvYWRpbmdEb3RzOiBMb2FkaW5nVHlwZSA9IExvYWRpbmdUeXBlLkRPVFM7XG4gIC8qKlxuICAgKiBFbnVtIG9mIHR5cGUgYExvYWRpbmdUeXBlYCB0byBjaG9vc2UgdGhlIGN1YmUgZmxpcHBpbmcgbG9hZGluZyBzcGlubmVyLlxuICAgKiBEZWNsYXJlZCBoZXJlIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIGxvYWRpbmdDdWJlRmxpcHBpbmc6IExvYWRpbmdUeXBlID0gTG9hZGluZ1R5cGUuQ1VCRV9GTElQUElORztcbiAgLyoqXG4gICAqIEVudW0gb2YgdHlwZSBgTG9hZGluZ1R5cGVgIHRvIGNob29zZSB0aGUgY2lyY2xlcyBsb2FkaW5nIHNwaW5uZXIuXG4gICAqIERlY2xhcmVkIGhlcmUgdG8gYmUgdXNlZCBpbnNpZGUgdGhlIHRlbXBsYXRlLlxuICAgKi9cbiAgbG9hZGluZ0NpcmNsZXM6IExvYWRpbmdUeXBlID0gTG9hZGluZ1R5cGUuQ0lSQ0xFUztcbiAgLyoqXG4gICAqIEVudW0gb2YgdHlwZSBgTG9hZGluZ1R5cGVgIHRvIGNob29zZSB0aGUgZXhwbG9zaW5nIHNxdWFyZXMgbG9hZGluZyBzcGlubmVyLlxuICAgKiBEZWNsYXJlZCBoZXJlIHRvIGJlIHVzZWQgaW5zaWRlIHRoZSB0ZW1wbGF0ZS5cbiAgICovXG4gIGxvYWRpbmdFeHBsb3NpbmdTcXVhcmVzOiBMb2FkaW5nVHlwZSA9IExvYWRpbmdUeXBlLkVYUExPU0lOR19TUVVBUkVTO1xufVxuIiwiPGRpdiBbYXR0ci5hcmlhLWxhYmVsXT1cImFjY2Vzc2liaWxpdHlDb25maWc/LmxvYWRpbmdTcGlubmVyQXJpYUxhYmVsXCJcbiAgICAgW3RpdGxlXT1cImFjY2Vzc2liaWxpdHlDb25maWc/LmxvYWRpbmdTcGlubmVyVGl0bGVcIj5cblxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJsb2FkaW5nQ29uZmlnPy50eXBlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibG9hZGluZ1N0YW5kYXJkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3NzbG9hZC1sb2FkZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNzc2xvYWQtaW5uZXIgY3NzbG9hZC1vbmVcIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNzc2xvYWQtaW5uZXIgY3NzbG9hZC10d29cIj48L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNzc2xvYWQtaW5uZXIgY3NzbG9hZC10aHJlZVwiPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibG9hZGluZ0JhcnNcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXItYmFyc1wiPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hDYXNlPVwibG9hZGluZ0NpcmN1bGFyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibG9hZGVyLWNpcmN1bGFyXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsb2FkaW5nRG90c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImxvYWRlci1kb3RzXCI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCJsb2FkaW5nQ3ViZUZsaXBwaW5nXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3ViZS13cmFwcGVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjdWJlLWZvbGRpbmdcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYWYxXCI+PC9zcGFuPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwibGVhZjJcIj48L3NwYW4+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJsZWFmM1wiPjwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImxlYWY0XCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxvYWRpbmdDaXJjbGVzXCI+XG4gICAgICA8ZGl2IGlkPVwicHJlbG9hZGVyXCI+XG4gICAgICAgIDxkaXYgaWQ9XCJsb2FkZXJcIj48L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cImxvYWRpbmdFeHBsb3NpbmdTcXVhcmVzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibG9hZGVyXCI+XG4gICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4+PC9zcGFuPlxuICAgICAgICA8c3Bhbj48L3NwYW4+XG4gICAgICAgIDxzcGFuPjwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,127 @@
1
+ /*
2
+ The MIT License (MIT)
3
+
4
+ Copyright (C) 2017-2021 Stefano Cappa (Ks89)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+ */
24
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
25
+ import { AccessibleComponent } from '../accessible.component';
26
+ import { NEXT } from '../../utils/user-input.util';
27
+ import { getIndex } from '../../utils/image.util';
28
+ import * as i0 from "@angular/core";
29
+ import * as i1 from "../../services/config.service";
30
+ import * as i2 from "@angular/common";
31
+ /**
32
+ * Component with clickable dots (small circles) to navigate between images inside the modal gallery.
33
+ */
34
+ export class DotsComponent extends AccessibleComponent {
35
+ constructor(configService) {
36
+ super();
37
+ this.configService = configService;
38
+ /**
39
+ * Output to emit clicks on dots. The payload contains a number that represent
40
+ * the index of the clicked dot.
41
+ */
42
+ this.clickDot = new EventEmitter();
43
+ }
44
+ /**
45
+ * Method ´ngOnInit´ to build `configDots` applying a default value.
46
+ * This is an Angular's lifecycle hook, so its called automatically by Angular itself.
47
+ * In particular, it's called only one time!!!
48
+ */
49
+ ngOnInit() {
50
+ if (this.id === null || this.id === undefined) {
51
+ throw new Error('Internal library error - id must be defined');
52
+ }
53
+ const libConfig = this.configService.getConfig(this.id);
54
+ if (!libConfig) {
55
+ throw new Error('Internal library error - libConfig must be defined');
56
+ }
57
+ this.accessibilityConfig = libConfig.accessibilityConfig;
58
+ this.configDots = Object.assign({}, this.dotsConfig);
59
+ }
60
+ /**
61
+ * Method ´ngOnChanges´ to change `configDots` if the input dotsConfig is changed.
62
+ * This is an Angular's lifecycle hook, so its called automatically by Angular itself.
63
+ */
64
+ ngOnChanges(changes) {
65
+ const dotsConfigChanges = changes.dotsConfig;
66
+ if (dotsConfigChanges && dotsConfigChanges.currentValue !== dotsConfigChanges.previousValue) {
67
+ this.configDots = dotsConfigChanges.currentValue;
68
+ }
69
+ }
70
+ /**
71
+ * Method to check if an image is active (i.e. the current image).
72
+ * It checks currentImage and images to prevent errors.
73
+ * @param number index of the image to check if it's active or not
74
+ * @returns boolean true if is active (and input params are valid), false otherwise
75
+ */
76
+ isActive(index) {
77
+ if (!this.currentImage || !this.images || this.images.length === 0) {
78
+ return false;
79
+ }
80
+ let imageIndex;
81
+ try {
82
+ imageIndex = getIndex(this.currentImage, this.images);
83
+ }
84
+ catch (err) {
85
+ console.error(`Internal error while trying to show the active 'dot'`, err);
86
+ return false;
87
+ }
88
+ return index === imageIndex;
89
+ }
90
+ /**
91
+ * Method called by events from keyboard and mouse.
92
+ * @param number index of the dot
93
+ * @param KeyboardEvent | MouseEvent event payload
94
+ */
95
+ onDotEvent(index, event) {
96
+ const result = super.handleImageEvent(event);
97
+ if (result === NEXT) {
98
+ this.clickDot.emit(index);
99
+ }
100
+ }
101
+ /**
102
+ * Method used in the template to track ids in ngFor.
103
+ * @param number index of the array
104
+ * @param Image item of the array
105
+ * @returns number the id of the item
106
+ */
107
+ trackById(index, item) {
108
+ return item.id;
109
+ }
110
+ }
111
+ DotsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DotsComponent, deps: [{ token: i1.ConfigService }], target: i0.ɵɵFactoryTarget.Component });
112
+ DotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: DotsComponent, selector: "ks-dots", inputs: { id: "id", currentImage: "currentImage", images: "images", dotsConfig: "dotsConfig" }, outputs: { clickDot: "clickDot" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<nav class=\"dots-container\" [attr.aria-label]=\"accessibilityConfig?.dotsContainerAriaLabel\"\n [title]=\"accessibilityConfig?.dotsContainerTitle\">\n <ng-container *ngIf=\"!dotsConfig || dotsConfig?.visible\">\n <div class=\"inside dot\"\n *ngFor=\"let img of images; trackBy: trackById; let index = index\"\n [ngClass]=\"{'active': isActive(index)}\"\n [attr.aria-label]=\"accessibilityConfig?.dotAriaLabel + ' ' + (index + 1)\"\n [tabIndex]=\"0\" role=\"navigation\"\n (click)=\"onDotEvent(index, $event)\" (keyup)=\"onDotEvent(index, $event)\"></div>\n </ng-container>\n</nav>\n", styles: [".dots-container{display:flex;flex-direction:row;justify-content:center;margin-bottom:30px}.dots-container>.dot{background:#fff;border-radius:5px;height:10px;margin-left:4px;margin-right:4px;width:10px;cursor:pointer;opacity:.5}.dots-container>.dot:hover{opacity:.9;transition:all .5s ease;transition-property:opacity}.dots-container>.dot.active{cursor:pointer;opacity:.9}@keyframes fadein-semi-visible05{0%{opacity:0}to{opacity:.5}}@keyframes fadein-semi-visible09{0%{opacity:0}to{opacity:.9}}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: DotsComponent, decorators: [{
114
+ type: Component,
115
+ args: [{ selector: 'ks-dots', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"dots-container\" [attr.aria-label]=\"accessibilityConfig?.dotsContainerAriaLabel\"\n [title]=\"accessibilityConfig?.dotsContainerTitle\">\n <ng-container *ngIf=\"!dotsConfig || dotsConfig?.visible\">\n <div class=\"inside dot\"\n *ngFor=\"let img of images; trackBy: trackById; let index = index\"\n [ngClass]=\"{'active': isActive(index)}\"\n [attr.aria-label]=\"accessibilityConfig?.dotAriaLabel + ' ' + (index + 1)\"\n [tabIndex]=\"0\" role=\"navigation\"\n (click)=\"onDotEvent(index, $event)\" (keyup)=\"onDotEvent(index, $event)\"></div>\n </ng-container>\n</nav>\n", styles: [".dots-container{display:flex;flex-direction:row;justify-content:center;margin-bottom:30px}.dots-container>.dot{background:#fff;border-radius:5px;height:10px;margin-left:4px;margin-right:4px;width:10px;cursor:pointer;opacity:.5}.dots-container>.dot:hover{opacity:.9;transition:all .5s ease;transition-property:opacity}.dots-container>.dot.active{cursor:pointer;opacity:.9}@keyframes fadein-semi-visible05{0%{opacity:0}to{opacity:.5}}@keyframes fadein-semi-visible09{0%{opacity:0}to{opacity:.9}}\n"] }]
116
+ }], ctorParameters: function () { return [{ type: i1.ConfigService }]; }, propDecorators: { id: [{
117
+ type: Input
118
+ }], currentImage: [{
119
+ type: Input
120
+ }], images: [{
121
+ type: Input
122
+ }], dotsConfig: [{
123
+ type: Input
124
+ }], clickDot: [{
125
+ type: Output
126
+ }] } });
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90cy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL2NvbXBvbmVudHMvZG90cy9kb3RzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tzODkvYW5ndWxhci1tb2RhbC1nYWxsZXJ5L3NyYy9saWIvY29tcG9uZW50cy9kb3RzL2RvdHMuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUVILE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUErQixNQUFNLGVBQWUsQ0FBQztBQUVoSixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQU85RCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBSWxEOztHQUVHO0FBT0gsTUFBTSxPQUFPLGFBQWMsU0FBUSxtQkFBbUI7SUEwQ3BELFlBQW9CLGFBQTRCO1FBQzlDLEtBQUssRUFBRSxDQUFDO1FBRFUsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFqQmhEOzs7V0FHRztRQUVILGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQWM1RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFFBQVE7UUFDTixJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUFFO1lBQzdDLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUNELE1BQU0sU0FBUyxHQUEwQixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDL0UsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0RBQW9ELENBQUMsQ0FBQztTQUN2RTtRQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRyxTQUFTLENBQUMsbUJBQW1CLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7T0FHRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLGlCQUFpQixHQUFpQixPQUFPLENBQUMsVUFBVSxDQUFDO1FBQzNELElBQUksaUJBQWlCLElBQUksaUJBQWlCLENBQUMsWUFBWSxLQUFLLGlCQUFpQixDQUFDLGFBQWEsRUFBRTtZQUMzRixJQUFJLENBQUMsVUFBVSxHQUFHLGlCQUFpQixDQUFDLFlBQVksQ0FBQztTQUNsRDtJQUNILENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDbEUsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUNELElBQUksVUFBa0IsQ0FBQztRQUN2QixJQUFJO1lBQ0YsVUFBVSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN2RDtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxzREFBc0QsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUMzRSxPQUFPLEtBQUssQ0FBQztTQUNkO1FBQ0QsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEtBQWEsRUFBRSxLQUFpQztRQUN6RCxNQUFNLE1BQU0sR0FBVyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDckQsSUFBSSxNQUFNLEtBQUssSUFBSSxFQUFFO1lBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFXO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQztJQUNqQixDQUFDOzswR0FsSFUsYUFBYTs4RkFBYixhQUFhLDhOQy9DMUIsMm5CQVdBOzJGRG9DYSxhQUFhO2tCQU56QixTQUFTOytCQUNFLFNBQVMsbUJBR0YsdUJBQXVCLENBQUMsTUFBTTtvR0FRL0MsRUFBRTtzQkFERCxLQUFLO2dCQU1OLFlBQVk7c0JBRFgsS0FBSztnQkFPTixNQUFNO3NCQURMLEtBQUs7Z0JBT04sVUFBVTtzQkFEVCxLQUFLO2dCQVFOLFFBQVE7c0JBRFAsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gVGhlIE1JVCBMaWNlbnNlIChNSVQpXG5cbiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBTdGVmYW5vIENhcHBhIChLczg5KVxuXG4gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxuIG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlIFwiU29mdHdhcmVcIiksIHRvIGRlYWxcbiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpc1xuIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG5cbiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbiBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuXG4gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT04gSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEVcbiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSxcbiBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRVxuIFNPRlRXQVJFLlxuICovXG5cbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZSwgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBY2Nlc3NpYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vYWNjZXNzaWJsZS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5Q29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWwvYWNjZXNzaWJpbGl0eS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSW1hZ2UgfSBmcm9tICcuLi8uLi9tb2RlbC9pbWFnZS5jbGFzcyc7XG5pbXBvcnQgeyBJbnRlcm5hbExpYkltYWdlIH0gZnJvbSAnLi4vLi4vbW9kZWwvaW1hZ2UtaW50ZXJuYWwuY2xhc3MnO1xuaW1wb3J0IHsgRG90c0NvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVsL2RvdHMtY29uZmlnLmludGVyZmFjZSc7XG5cbmltcG9ydCB7IE5FWFQgfSBmcm9tICcuLi8uLi91dGlscy91c2VyLWlucHV0LnV0aWwnO1xuaW1wb3J0IHsgZ2V0SW5kZXggfSBmcm9tICcuLi8uLi91dGlscy9pbWFnZS51dGlsJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBMaWJDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbC9saWItY29uZmlnLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ29tcG9uZW50IHdpdGggY2xpY2thYmxlIGRvdHMgKHNtYWxsIGNpcmNsZXMpIHRvIG5hdmlnYXRlIGJldHdlZW4gaW1hZ2VzIGluc2lkZSB0aGUgbW9kYWwgZ2FsbGVyeS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAna3MtZG90cycsXG4gIHN0eWxlVXJsczogWydkb3RzLnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICdkb3RzLmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEb3RzQ29tcG9uZW50IGV4dGVuZHMgQWNjZXNzaWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFVuaXF1ZSBpZCAoPj0wKSBvZiB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiB0aGlzIGxpYnJhcnkuIFRoaXMgaXMgcmVxdWlyZWQgd2hlbiB5b3UgYXJlIHVzaW5nXG4gICAqIHRoZSBzZXJ2aWNlIHRvIGNhbGwgbW9kYWwgZ2FsbGVyeS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGlkOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgdHlwZSBgSW50ZXJuYWxMaWJJbWFnZWAgdGhhdCByZXByZXNlbnQgdGhlIHZpc2libGUgaW1hZ2UuXG4gICAqL1xuICBASW5wdXQoKVxuICBjdXJyZW50SW1hZ2U6IEludGVybmFsTGliSW1hZ2UgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBBcnJheSBvZiBgSW50ZXJuYWxMaWJJbWFnZWAgdGhhdCByZXByZXNlbnQgdGhlIG1vZGVsIG9mIHRoaXMgbGlicmFyeSB3aXRoIGFsbCBpbWFnZXMsXG4gICAqIHRodW1icyBhbmQgc28gb24uXG4gICAqL1xuICBASW5wdXQoKVxuICBpbWFnZXM6IEludGVybmFsTGliSW1hZ2VbXSB8IHVuZGVmaW5lZDtcbiAgLyoqXG4gICAqIE9iamVjdCBvZiB0eXBlIGBEb3RzQ29uZmlnYCB0byBpbml0IERvdHNDb21wb25lbnQncyBmZWF0dXJlcy5cbiAgICogRm9yIGluc3RhbmNlLCBpdCBjb250YWlucyBhIHBhcmFtIHRvIHNob3cvaGlkZSB0aGlzIGNvbXBvbmVudC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRvdHNDb25maWc6IERvdHNDb25maWcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIE91dHB1dCB0byBlbWl0IGNsaWNrcyBvbiBkb3RzLiBUaGUgcGF5bG9hZCBjb250YWlucyBhIG51bWJlciB0aGF0IHJlcHJlc2VudFxuICAgKiB0aGUgaW5kZXggb2YgdGhlIGNsaWNrZWQgZG90LlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIGNsaWNrRG90OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgdHlwZSBgRG90c0NvbmZpZ2AgdXNlZCBpbiB0ZW1wbGF0ZS5cbiAgICovXG4gIGNvbmZpZ0RvdHM6IERvdHNDb25maWcgfCB1bmRlZmluZWQ7XG4gIC8qKlxuICAgKiBPYmplY3Qgb2YgdHlwZSBgQWNjZXNzaWJpbGl0eUNvbmZpZ2AgdG8gaW5pdCBjdXN0b20gYWNjZXNzaWJpbGl0eSBmZWF0dXJlcy5cbiAgICogRm9yIGluc3RhbmNlLCBpdCBjb250YWlucyB0aXRsZXMsIGFsdCB0ZXh0cywgYXJpYS1sYWJlbHMgYW5kIHNvIG9uLlxuICAgKi9cbiAgYWNjZXNzaWJpbGl0eUNvbmZpZzogQWNjZXNzaWJpbGl0eUNvbmZpZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNvbmZpZ1NlcnZpY2U6IENvbmZpZ1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCDCtG5nT25Jbml0wrQgdG8gYnVpbGQgYGNvbmZpZ0RvdHNgIGFwcGx5aW5nIGEgZGVmYXVsdCB2YWx1ZS5cbiAgICogVGhpcyBpcyBhbiBBbmd1bGFyJ3MgbGlmZWN5Y2xlIGhvb2ssIHNvIGl0cyBjYWxsZWQgYXV0b21hdGljYWxseSBieSBBbmd1bGFyIGl0c2VsZi5cbiAgICogSW4gcGFydGljdWxhciwgaXQncyBjYWxsZWQgb25seSBvbmUgdGltZSEhIVxuICAgKi9cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaWQgPT09IG51bGwgfHwgdGhpcy5pZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludGVybmFsIGxpYnJhcnkgZXJyb3IgLSBpZCBtdXN0IGJlIGRlZmluZWQnKTtcbiAgICB9XG4gICAgY29uc3QgbGliQ29uZmlnOiBMaWJDb25maWcgfCB1bmRlZmluZWQgPSB0aGlzLmNvbmZpZ1NlcnZpY2UuZ2V0Q29uZmlnKHRoaXMuaWQpO1xuICAgIGlmICghbGliQ29uZmlnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludGVybmFsIGxpYnJhcnkgZXJyb3IgLSBsaWJDb25maWcgbXVzdCBiZSBkZWZpbmVkJyk7XG4gICAgfVxuICAgIHRoaXMuYWNjZXNzaWJpbGl0eUNvbmZpZyA9IGxpYkNvbmZpZy5hY2Nlc3NpYmlsaXR5Q29uZmlnO1xuICAgIHRoaXMuY29uZmlnRG90cyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuZG90c0NvbmZpZyk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIMK0bmdPbkNoYW5nZXPCtCB0byBjaGFuZ2UgYGNvbmZpZ0RvdHNgIGlmIHRoZSBpbnB1dCBkb3RzQ29uZmlnIGlzIGNoYW5nZWQuXG4gICAqIFRoaXMgaXMgYW4gQW5ndWxhcidzIGxpZmVjeWNsZSBob29rLCBzbyBpdHMgY2FsbGVkIGF1dG9tYXRpY2FsbHkgYnkgQW5ndWxhciBpdHNlbGYuXG4gICAqL1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgY29uc3QgZG90c0NvbmZpZ0NoYW5nZXM6IFNpbXBsZUNoYW5nZSA9IGNoYW5nZXMuZG90c0NvbmZpZztcbiAgICBpZiAoZG90c0NvbmZpZ0NoYW5nZXMgJiYgZG90c0NvbmZpZ0NoYW5nZXMuY3VycmVudFZhbHVlICE9PSBkb3RzQ29uZmlnQ2hhbmdlcy5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICB0aGlzLmNvbmZpZ0RvdHMgPSBkb3RzQ29uZmlnQ2hhbmdlcy5jdXJyZW50VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBjaGVjayBpZiBhbiBpbWFnZSBpcyBhY3RpdmUgKGkuZS4gdGhlIGN1cnJlbnQgaW1hZ2UpLlxuICAgKiBJdCBjaGVja3MgY3VycmVudEltYWdlIGFuZCBpbWFnZXMgdG8gcHJldmVudCBlcnJvcnMuXG4gICAqIEBwYXJhbSBudW1iZXIgaW5kZXggb2YgdGhlIGltYWdlIHRvIGNoZWNrIGlmIGl0J3MgYWN0aXZlIG9yIG5vdFxuICAgKiBAcmV0dXJucyBib29sZWFuIHRydWUgaWYgaXMgYWN0aXZlIChhbmQgaW5wdXQgcGFyYW1zIGFyZSB2YWxpZCksIGZhbHNlIG90aGVyd2lzZVxuICAgKi9cbiAgaXNBY3RpdmUoaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5jdXJyZW50SW1hZ2UgfHwgIXRoaXMuaW1hZ2VzIHx8IHRoaXMuaW1hZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBsZXQgaW1hZ2VJbmRleDogbnVtYmVyO1xuICAgIHRyeSB7XG4gICAgICBpbWFnZUluZGV4ID0gZ2V0SW5kZXgodGhpcy5jdXJyZW50SW1hZ2UsIHRoaXMuaW1hZ2VzKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYEludGVybmFsIGVycm9yIHdoaWxlIHRyeWluZyB0byBzaG93IHRoZSBhY3RpdmUgJ2RvdCdgLCBlcnIpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXggPT09IGltYWdlSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIGNhbGxlZCBieSBldmVudHMgZnJvbSBrZXlib2FyZCBhbmQgbW91c2UuXG4gICAqIEBwYXJhbSBudW1iZXIgaW5kZXggb2YgdGhlIGRvdFxuICAgKiBAcGFyYW0gS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnQgZXZlbnQgcGF5bG9hZFxuICAgKi9cbiAgb25Eb3RFdmVudChpbmRleDogbnVtYmVyLCBldmVudDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zdCByZXN1bHQ6IG51bWJlciA9IHN1cGVyLmhhbmRsZUltYWdlRXZlbnQoZXZlbnQpO1xuICAgIGlmIChyZXN1bHQgPT09IE5FWFQpIHtcbiAgICAgIHRoaXMuY2xpY2tEb3QuZW1pdChpbmRleCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB1c2VkIGluIHRoZSB0ZW1wbGF0ZSB0byB0cmFjayBpZHMgaW4gbmdGb3IuXG4gICAqIEBwYXJhbSBudW1iZXIgaW5kZXggb2YgdGhlIGFycmF5XG4gICAqIEBwYXJhbSBJbWFnZSBpdGVtIG9mIHRoZSBhcnJheVxuICAgKiBAcmV0dXJucyBudW1iZXIgdGhlIGlkIG9mIHRoZSBpdGVtXG4gICAqL1xuICB0cmFja0J5SWQoaW5kZXg6IG51bWJlciwgaXRlbTogSW1hZ2UpOiBudW1iZXIge1xuICAgIHJldHVybiBpdGVtLmlkO1xuICB9XG59XG4iLCI8bmF2IGNsYXNzPVwiZG90cy1jb250YWluZXJcIiBbYXR0ci5hcmlhLWxhYmVsXT1cImFjY2Vzc2liaWxpdHlDb25maWc/LmRvdHNDb250YWluZXJBcmlhTGFiZWxcIlxuICAgICBbdGl0bGVdPVwiYWNjZXNzaWJpbGl0eUNvbmZpZz8uZG90c0NvbnRhaW5lclRpdGxlXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCIhZG90c0NvbmZpZyB8fCBkb3RzQ29uZmlnPy52aXNpYmxlXCI+XG4gICAgPGRpdiBjbGFzcz1cImluc2lkZSBkb3RcIlxuICAgICAgICAgKm5nRm9yPVwibGV0IGltZyBvZiBpbWFnZXM7IHRyYWNrQnk6IHRyYWNrQnlJZDsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgW25nQ2xhc3NdPVwieydhY3RpdmUnOiBpc0FjdGl2ZShpbmRleCl9XCJcbiAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYWNjZXNzaWJpbGl0eUNvbmZpZz8uZG90QXJpYUxhYmVsICsgJyAnICsgKGluZGV4ICsgMSlcIlxuICAgICAgICAgW3RhYkluZGV4XT1cIjBcIiByb2xlPVwibmF2aWdhdGlvblwiXG4gICAgICAgICAoY2xpY2spPVwib25Eb3RFdmVudChpbmRleCwgJGV2ZW50KVwiIChrZXl1cCk9XCJvbkRvdEV2ZW50KGluZGV4LCAkZXZlbnQpXCI+PC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uYXY+XG4iXX0=
@@ -0,0 +1,103 @@
1
+ /*
2
+ The MIT License (MIT)
3
+
4
+ Copyright (C) 2017-2021 Stefano Cappa (Ks89)
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+ */
24
+ import { Subject } from 'rxjs';
25
+ /**
26
+ * Class that represents the modal dialog instance.
27
+ * It is returned by the open method.
28
+ */
29
+ export class ModalGalleryRef {
30
+ constructor(overlayRef) {
31
+ this.overlayRef = overlayRef;
32
+ this.close = new Subject();
33
+ this.close$ = this.close.asObservable();
34
+ this.show = new Subject();
35
+ this.show$ = this.show.asObservable();
36
+ this.firstImage = new Subject();
37
+ this.firstImage$ = this.firstImage.asObservable();
38
+ this.lastImage = new Subject();
39
+ this.lastImage$ = this.lastImage.asObservable();
40
+ this.hasData = new Subject();
41
+ this.hasData$ = this.hasData.asObservable();
42
+ this.buttonBeforeHook = new Subject();
43
+ this.buttonBeforeHook$ = this.buttonBeforeHook.asObservable();
44
+ this.buttonAfterHook = new Subject();
45
+ this.buttonAfterHook$ = this.buttonAfterHook.asObservable();
46
+ }
47
+ /**
48
+ * Close modal dialog, disposing the Overlay.
49
+ */
50
+ closeModal() {
51
+ this.overlayRef.dispose();
52
+ }
53
+ /**
54
+ * Method to emit close event.
55
+ * @param event ImageModalEvent event payload
56
+ */
57
+ emitClose(event) {
58
+ this.close.next(event);
59
+ }
60
+ /**
61
+ * Method to emit show event.
62
+ * @param event ImageModalEvent event payload
63
+ */
64
+ emitShow(event) {
65
+ this.show.next(event);
66
+ }
67
+ /**
68
+ * Method to emit firstImage event.
69
+ * @param event ImageModalEvent event payload
70
+ */
71
+ emitFirstImage(event) {
72
+ this.firstImage.next(event);
73
+ }
74
+ /**
75
+ * Method to emit lastImage event.
76
+ * @param event ImageModalEvent event payload
77
+ */
78
+ emitLastImage(event) {
79
+ this.lastImage.next(event);
80
+ }
81
+ /**
82
+ * Method to emit hasData event.
83
+ * @param event ImageModalEvent event payload
84
+ */
85
+ emitHasData(event) {
86
+ this.hasData.next(event);
87
+ }
88
+ /**
89
+ * Method to emit buttonBeforeHook event.
90
+ * @param event ImageModalEvent event payload
91
+ */
92
+ emitButtonBeforeHook(event) {
93
+ this.buttonBeforeHook.next(event);
94
+ }
95
+ /**
96
+ * Method to emit buttonAfterHook event.
97
+ * @param event ImageModalEvent event payload
98
+ */
99
+ emitButtonAfterHook(event) {
100
+ this.buttonAfterHook.next(event);
101
+ }
102
+ }
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtZ2FsbGVyeS1yZWYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rczg5L2FuZ3VsYXItbW9kYWwtZ2FsbGVyeS9zcmMvbGliL2NvbXBvbmVudHMvbW9kYWwtZ2FsbGVyeS9tb2RhbC1nYWxsZXJ5LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXNCRztBQUlILE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFJL0I7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLGVBQWU7SUFnQjFCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFmbEMsVUFBSyxHQUFHLElBQUksT0FBTyxFQUFtQixDQUFDO1FBQy9DLFdBQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNCLFNBQUksR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUM5QyxVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBbUIsQ0FBQztRQUNuRCxlQUFVLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDakQsYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0IscUJBQWdCLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUN0RCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakQsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFVixDQUFDO0lBRTlDOztPQUVHO0lBQ0gsVUFBVTtRQUNSLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILFNBQVMsQ0FBQyxLQUFzQjtRQUM5QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsUUFBUSxDQUFDLEtBQXNCO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsS0FBc0I7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsQ0FBQyxLQUFzQjtRQUNsQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsV0FBVyxDQUFDLEtBQXNCO1FBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxvQkFBb0IsQ0FBQyxLQUFrQjtRQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxtQkFBbUIsQ0FBQyxLQUFrQjtRQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuIFRoZSBNSVQgTGljZW5zZSAoTUlUKVxuXG4gQ29weXJpZ2h0IChDKSAyMDE3LTIwMjEgU3RlZmFubyBDYXBwYSAoS3M4OSlcblxuIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xuIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGxcbiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG4gVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsXG4gY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cblxuIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSxcbiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OIElORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUlxuIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sXG4gT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcbiBTT0ZUV0FSRS5cbiAqL1xuXG5pbXBvcnQgeyBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbWFnZU1vZGFsRXZlbnQgfSBmcm9tICcuLi8uLi9tb2RlbC9pbWFnZS5jbGFzcyc7XG5pbXBvcnQgeyBCdXR0b25FdmVudCB9IGZyb20gJy4uLy4uL21vZGVsL2J1dHRvbnMtY29uZmlnLmludGVyZmFjZSc7XG5cbi8qKlxuICogQ2xhc3MgdGhhdCByZXByZXNlbnRzIHRoZSBtb2RhbCBkaWFsb2cgaW5zdGFuY2UuXG4gKiBJdCBpcyByZXR1cm5lZCBieSB0aGUgb3BlbiBtZXRob2QuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb2RhbEdhbGxlcnlSZWYge1xuICBwcml2YXRlIGNsb3NlID0gbmV3IFN1YmplY3Q8SW1hZ2VNb2RhbEV2ZW50PigpO1xuICBjbG9zZSQgPSB0aGlzLmNsb3NlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIHNob3cgPSBuZXcgU3ViamVjdDxJbWFnZU1vZGFsRXZlbnQ+KCk7XG4gIHNob3ckID0gdGhpcy5zaG93LmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGZpcnN0SW1hZ2UgPSBuZXcgU3ViamVjdDxJbWFnZU1vZGFsRXZlbnQ+KCk7XG4gIGZpcnN0SW1hZ2UkID0gdGhpcy5maXJzdEltYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGxhc3RJbWFnZSA9IG5ldyBTdWJqZWN0PEltYWdlTW9kYWxFdmVudD4oKTtcbiAgbGFzdEltYWdlJCA9IHRoaXMubGFzdEltYWdlLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGhhc0RhdGEgPSBuZXcgU3ViamVjdDxJbWFnZU1vZGFsRXZlbnQ+KCk7XG4gIGhhc0RhdGEkID0gdGhpcy5oYXNEYXRhLmFzT2JzZXJ2YWJsZSgpO1xuICBwcml2YXRlIGJ1dHRvbkJlZm9yZUhvb2sgPSBuZXcgU3ViamVjdDxCdXR0b25FdmVudD4oKTtcbiAgYnV0dG9uQmVmb3JlSG9vayQgPSB0aGlzLmJ1dHRvbkJlZm9yZUhvb2suYXNPYnNlcnZhYmxlKCk7XG4gIHByaXZhdGUgYnV0dG9uQWZ0ZXJIb29rID0gbmV3IFN1YmplY3Q8QnV0dG9uRXZlbnQ+KCk7XG4gIGJ1dHRvbkFmdGVySG9vayQgPSB0aGlzLmJ1dHRvbkFmdGVySG9vay5hc09ic2VydmFibGUoKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG92ZXJsYXlSZWY6IE92ZXJsYXlSZWYpIHt9XG5cbiAgLyoqXG4gICAqIENsb3NlIG1vZGFsIGRpYWxvZywgZGlzcG9zaW5nIHRoZSBPdmVybGF5LlxuICAgKi9cbiAgY2xvc2VNb2RhbCgpOiB2b2lkIHtcbiAgICB0aGlzLm92ZXJsYXlSZWYuZGlzcG9zZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBlbWl0IGNsb3NlIGV2ZW50LlxuICAgKiBAcGFyYW0gZXZlbnQgSW1hZ2VNb2RhbEV2ZW50IGV2ZW50IHBheWxvYWRcbiAgICovXG4gIGVtaXRDbG9zZShldmVudDogSW1hZ2VNb2RhbEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5jbG9zZS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZW1pdCBzaG93IGV2ZW50LlxuICAgKiBAcGFyYW0gZXZlbnQgSW1hZ2VNb2RhbEV2ZW50IGV2ZW50IHBheWxvYWRcbiAgICovXG4gIGVtaXRTaG93KGV2ZW50OiBJbWFnZU1vZGFsRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLnNob3cubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGVtaXQgZmlyc3RJbWFnZSBldmVudC5cbiAgICogQHBhcmFtIGV2ZW50IEltYWdlTW9kYWxFdmVudCBldmVudCBwYXlsb2FkXG4gICAqL1xuICBlbWl0Rmlyc3RJbWFnZShldmVudDogSW1hZ2VNb2RhbEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5maXJzdEltYWdlLm5leHQoZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byBlbWl0IGxhc3RJbWFnZSBldmVudC5cbiAgICogQHBhcmFtIGV2ZW50IEltYWdlTW9kYWxFdmVudCBldmVudCBwYXlsb2FkXG4gICAqL1xuICBlbWl0TGFzdEltYWdlKGV2ZW50OiBJbWFnZU1vZGFsRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxhc3RJbWFnZS5uZXh0KGV2ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgdG8gZW1pdCBoYXNEYXRhIGV2ZW50LlxuICAgKiBAcGFyYW0gZXZlbnQgSW1hZ2VNb2RhbEV2ZW50IGV2ZW50IHBheWxvYWRcbiAgICovXG4gIGVtaXRIYXNEYXRhKGV2ZW50OiBJbWFnZU1vZGFsRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmhhc0RhdGEubmV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGVtaXQgYnV0dG9uQmVmb3JlSG9vayBldmVudC5cbiAgICogQHBhcmFtIGV2ZW50IEltYWdlTW9kYWxFdmVudCBldmVudCBwYXlsb2FkXG4gICAqL1xuICBlbWl0QnV0dG9uQmVmb3JlSG9vayhldmVudDogQnV0dG9uRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmJ1dHRvbkJlZm9yZUhvb2submV4dChldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogTWV0aG9kIHRvIGVtaXQgYnV0dG9uQWZ0ZXJIb29rIGV2ZW50LlxuICAgKiBAcGFyYW0gZXZlbnQgSW1hZ2VNb2RhbEV2ZW50IGV2ZW50IHBheWxvYWRcbiAgICovXG4gIGVtaXRCdXR0b25BZnRlckhvb2soZXZlbnQ6IEJ1dHRvbkV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5idXR0b25BZnRlckhvb2submV4dChldmVudCk7XG4gIH1cbn1cbiJdfQ==