@agorapulse/ui-components 2.5.0 → 13.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.
Files changed (175) hide show
  1. package/agorapulse-ui-components-13.0.0.tgz +0 -0
  2. package/agorapulse-ui-components.d.ts +1 -5
  3. package/esm2020/agorapulse-ui-components.mjs +5 -0
  4. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  5. package/esm2020/src/lib/add-comment/add-comment.component.mjs +62 -0
  6. package/esm2020/src/lib/agorapulse-ui-components.module.mjs +520 -0
  7. package/esm2020/src/lib/avatar/avatar.component.mjs +92 -0
  8. package/{esm2015/src/lib/confirm-modal/confirm-modal-texts.model.js → esm2020/src/lib/confirm-modal/confirm-modal-texts.model.mjs} +0 -0
  9. package/esm2020/src/lib/confirm-modal/confirm-modal.component.mjs +61 -0
  10. package/esm2020/src/lib/datepicker/datepicker.component.mjs +219 -0
  11. package/esm2020/src/lib/directives/autosize-textarea.directive.mjs +43 -0
  12. package/esm2020/src/lib/directives/default-image.directive.mjs +29 -0
  13. package/esm2020/src/lib/directives/ellipsis.directive.mjs +87 -0
  14. package/esm2020/src/lib/directives/equal-validator.directive.mjs +64 -0
  15. package/esm2020/src/lib/directives/frozen-gif.directive.mjs +116 -0
  16. package/esm2020/src/lib/directives/multi-style-text.directive.mjs +101 -0
  17. package/esm2020/src/lib/directives/truncate-tooltip.directive.mjs +33 -0
  18. package/esm2020/src/lib/dots-stepper/dots-stepper.component.mjs +43 -0
  19. package/esm2020/src/lib/edit-tag-modal/edit-tags-modal.component.mjs +147 -0
  20. package/{esm2015/src/lib/edit-tag-modal/model/edit-tags-modal.model.js → esm2020/src/lib/edit-tag-modal/model/edit-tags-modal.model.mjs} +0 -0
  21. package/esm2020/src/lib/feature-onboarding/feature-onboarding.component.mjs +35 -0
  22. package/esm2020/src/lib/image-carousel/image-carousel.component.mjs +152 -0
  23. package/{esm2015/src/lib/lead-modal/lead-info.model.js → esm2020/src/lib/lead-modal/lead-info.model.mjs} +0 -0
  24. package/esm2020/src/lib/lead-modal/lead-modal.component.mjs +49 -0
  25. package/esm2020/src/lib/media-display-overlay/media-display-overlay-dialog.component.mjs +87 -0
  26. package/esm2020/src/lib/modal/modal.component.mjs +96 -0
  27. package/esm2020/src/lib/notification/notification.component.mjs +17 -0
  28. package/esm2020/src/lib/overlay/overlay-dialog-service.component.mjs +61 -0
  29. package/esm2020/src/lib/overlay/overlay-dialog.component.mjs +33 -0
  30. package/esm2020/src/lib/overlay-in-div/overlay-in-div.component.mjs +27 -0
  31. package/esm2020/src/lib/paginator/paginator-button/paginator-button.component.mjs +23 -0
  32. package/esm2020/src/lib/paginator/paginator.component.mjs +54 -0
  33. package/esm2020/src/lib/password-input/password-input.component.mjs +68 -0
  34. package/esm2020/src/lib/password-strength-bar/password-strength-bar.component.mjs +83 -0
  35. package/esm2020/src/lib/password-strength-display-bar/password-strength-display-bar.component.mjs +45 -0
  36. package/esm2020/src/lib/phone-number-input/phone-number-input.component.mjs +144 -0
  37. package/esm2020/src/lib/places/place-list.component.mjs +11 -0
  38. package/esm2020/src/lib/places/place.component.mjs +14 -0
  39. package/{esm2015/src/lib/popmenu/options.js → esm2020/src/lib/popmenu/options.mjs} +0 -0
  40. package/{esm2015/src/lib/popmenu/popmenu-options.interface.js → esm2020/src/lib/popmenu/popmenu-options.interface.mjs} +0 -0
  41. package/{esm2015/src/lib/popmenu/popmenu-options.service.js → esm2020/src/lib/popmenu/popmenu-options.service.mjs} +0 -0
  42. package/esm2020/src/lib/popmenu/popmenu.component.mjs +344 -0
  43. package/esm2020/src/lib/popmenu/popmenu.directive.mjs +235 -0
  44. package/esm2020/src/lib/popmenu/popmenu.module.mjs +45 -0
  45. package/esm2020/src/lib/slide-toggle/slide-toggle.component.mjs +66 -0
  46. package/esm2020/src/lib/snackbar/snackbar.component.mjs +21 -0
  47. package/esm2020/src/lib/snackbars-thread/component/snackbars-thread.component.mjs +70 -0
  48. package/{esm2015/src/lib/snackbars-thread/model/snackbars-thread.model.js → esm2020/src/lib/snackbars-thread/model/snackbars-thread.model.mjs} +0 -0
  49. package/esm2020/src/lib/snackbars-thread/service/snackbars-thread.service.mjs +41 -0
  50. package/{esm2015/src/lib/snackbars-thread/utils/const/snackbars-thread.const.js → esm2020/src/lib/snackbars-thread/utils/const/snackbars-thread.const.mjs} +0 -0
  51. package/esm2020/src/lib/splashscreen/splashscreen.component.mjs +43 -0
  52. package/esm2020/src/lib/star-rating/star-rating.component.mjs +43 -0
  53. package/{esm2015/src/lib/stepper/step.model.js → esm2020/src/lib/stepper/step.model.mjs} +0 -0
  54. package/esm2020/src/lib/stepper/stepper.component.mjs +36 -0
  55. package/esm2020/src/lib/tags/tag-list.component.mjs +11 -0
  56. package/esm2020/src/lib/tags/tag.component.mjs +20 -0
  57. package/esm2020/src/lib/tags-selector/tags-selector.component.mjs +81 -0
  58. package/esm2020/src/lib/timepicker/timepicker.component.mjs +383 -0
  59. package/esm2020/src/lib/tooltip-neo/tooltip-neo.component.mjs +49 -0
  60. package/{esm2015/src/lib/tooltip-neo/tooltip-neo.const.js → esm2020/src/lib/tooltip-neo/tooltip-neo.const.mjs} +0 -0
  61. package/esm2020/src/lib/tooltip-neo/tooltip-neo.directive.mjs +106 -0
  62. package/{esm2015/src/lib/tooltip-neo/tooltip-neo.model.js → esm2020/src/lib/tooltip-neo/tooltip-neo.model.mjs} +0 -0
  63. package/esm2020/src/lib/tooltip-neo/tooltip-neo.service.mjs +17 -0
  64. package/{esm2015/src/lib/try-popup/try-popup-texts.model.js → esm2020/src/lib/try-popup/try-popup-texts.model.mjs} +0 -0
  65. package/esm2020/src/lib/try-popup/try-popup.component.mjs +37 -0
  66. package/fesm2015/agorapulse-ui-components.mjs +4183 -0
  67. package/fesm2015/agorapulse-ui-components.mjs.map +1 -0
  68. package/fesm2020/agorapulse-ui-components.mjs +4158 -0
  69. package/fesm2020/agorapulse-ui-components.mjs.map +1 -0
  70. package/package.json +29 -19
  71. package/src/lib/add-comment/add-comment.component.d.ts +3 -0
  72. package/src/lib/agorapulse-ui-components.module.d.ts +78 -0
  73. package/src/lib/avatar/avatar.component.d.ts +3 -0
  74. package/src/lib/confirm-modal/confirm-modal.component.d.ts +3 -0
  75. package/src/lib/datepicker/datepicker.component.d.ts +3 -0
  76. package/src/lib/directives/autosize-textarea.directive.d.ts +3 -0
  77. package/src/lib/directives/default-image.directive.d.ts +3 -0
  78. package/src/lib/directives/ellipsis.directive.d.ts +3 -0
  79. package/src/lib/directives/equal-validator.directive.d.ts +3 -0
  80. package/src/lib/directives/frozen-gif.directive.d.ts +3 -0
  81. package/src/lib/directives/multi-style-text.directive.d.ts +3 -0
  82. package/src/lib/directives/truncate-tooltip.directive.d.ts +3 -0
  83. package/src/lib/dots-stepper/dots-stepper.component.d.ts +3 -0
  84. package/src/lib/edit-tag-modal/edit-tags-modal.component.d.ts +3 -0
  85. package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +3 -0
  86. package/src/lib/image-carousel/image-carousel.component.d.ts +3 -0
  87. package/src/lib/lead-modal/lead-modal.component.d.ts +3 -0
  88. package/src/lib/media-display-overlay/media-display-overlay-dialog.component.d.ts +3 -0
  89. package/src/lib/modal/modal.component.d.ts +3 -0
  90. package/src/lib/notification/notification.component.d.ts +3 -0
  91. package/src/lib/overlay/overlay-dialog-service.component.d.ts +3 -0
  92. package/src/lib/overlay/overlay-dialog.component.d.ts +3 -0
  93. package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +3 -0
  94. package/src/lib/paginator/paginator-button/paginator-button.component.d.ts +3 -0
  95. package/src/lib/paginator/paginator.component.d.ts +3 -0
  96. package/src/lib/password-input/password-input.component.d.ts +3 -0
  97. package/src/lib/password-strength-bar/password-strength-bar.component.d.ts +3 -0
  98. package/src/lib/password-strength-display-bar/password-strength-display-bar.component.d.ts +3 -0
  99. package/src/lib/phone-number-input/phone-number-input.component.d.ts +3 -0
  100. package/src/lib/places/place-list.component.d.ts +3 -0
  101. package/src/lib/places/place.component.d.ts +3 -0
  102. package/src/lib/popmenu/popmenu.component.d.ts +3 -0
  103. package/src/lib/popmenu/popmenu.directive.d.ts +3 -0
  104. package/src/lib/popmenu/popmenu.module.d.ts +8 -0
  105. package/src/lib/slide-toggle/slide-toggle.component.d.ts +3 -0
  106. package/src/lib/snackbar/snackbar.component.d.ts +3 -0
  107. package/src/lib/snackbars-thread/component/snackbars-thread.component.d.ts +3 -0
  108. package/src/lib/snackbars-thread/service/snackbars-thread.service.d.ts +3 -0
  109. package/src/lib/splashscreen/splashscreen.component.d.ts +3 -0
  110. package/src/lib/star-rating/star-rating.component.d.ts +3 -0
  111. package/src/lib/stepper/stepper.component.d.ts +3 -0
  112. package/src/lib/tags/tag-list.component.d.ts +3 -0
  113. package/src/lib/tags/tag.component.d.ts +3 -0
  114. package/src/lib/tags-selector/tags-selector.component.d.ts +3 -0
  115. package/src/lib/timepicker/timepicker.component.d.ts +3 -0
  116. package/src/lib/tooltip-neo/tooltip-neo.component.d.ts +3 -0
  117. package/src/lib/tooltip-neo/tooltip-neo.directive.d.ts +3 -0
  118. package/src/lib/tooltip-neo/tooltip-neo.service.d.ts +3 -0
  119. package/src/lib/try-popup/try-popup.component.d.ts +3 -0
  120. package/agorapulse-ui-components-2.5.0.tgz +0 -0
  121. package/agorapulse-ui-components.metadata.json +0 -1
  122. package/bundles/agorapulse-ui-components.umd.js +0 -4448
  123. package/bundles/agorapulse-ui-components.umd.js.map +0 -1
  124. package/esm2015/agorapulse-ui-components.js +0 -10
  125. package/esm2015/src/lib/add-comment/add-comment.component.js +0 -54
  126. package/esm2015/src/lib/agorapulse-ui-components.module.js +0 -279
  127. package/esm2015/src/lib/avatar/avatar.component.js +0 -82
  128. package/esm2015/src/lib/confirm-modal/confirm-modal.component.js +0 -59
  129. package/esm2015/src/lib/datepicker/datepicker.component.js +0 -213
  130. package/esm2015/src/lib/directives/autosize-textarea.directive.js +0 -43
  131. package/esm2015/src/lib/directives/default-image.directive.js +0 -25
  132. package/esm2015/src/lib/directives/ellipsis.directive.js +0 -82
  133. package/esm2015/src/lib/directives/equal-validator.directive.js +0 -53
  134. package/esm2015/src/lib/directives/frozen-gif.directive.js +0 -113
  135. package/esm2015/src/lib/directives/multi-style-text.directive.js +0 -103
  136. package/esm2015/src/lib/directives/truncate-tooltip.directive.js +0 -36
  137. package/esm2015/src/lib/dots-stepper/dots-stepper.component.js +0 -41
  138. package/esm2015/src/lib/edit-tag-modal/edit-tags-modal.component.js +0 -129
  139. package/esm2015/src/lib/feature-onboarding/feature-onboarding.component.js +0 -35
  140. package/esm2015/src/lib/image-carousel/image-carousel.component.js +0 -143
  141. package/esm2015/src/lib/lead-modal/lead-modal.component.js +0 -47
  142. package/esm2015/src/lib/media-display-overlay/media-display-overlay-dialog.component.js +0 -87
  143. package/esm2015/src/lib/modal/modal.component.js +0 -88
  144. package/esm2015/src/lib/notification/notification.component.js +0 -18
  145. package/esm2015/src/lib/overlay/overlay-dialog-service.component.js +0 -62
  146. package/esm2015/src/lib/overlay/overlay-dialog.component.js +0 -33
  147. package/esm2015/src/lib/overlay-in-div/overlay-in-div.component.js +0 -23
  148. package/esm2015/src/lib/paginator/paginator-button/paginator-button.component.js +0 -22
  149. package/esm2015/src/lib/paginator/paginator.component.js +0 -47
  150. package/esm2015/src/lib/password-input/password-input.component.js +0 -65
  151. package/esm2015/src/lib/password-strength-bar/password-strength-bar.component.js +0 -82
  152. package/esm2015/src/lib/password-strength-display-bar/password-strength-display-bar.component.js +0 -41
  153. package/esm2015/src/lib/phone-number-input/phone-number-input.component.js +0 -123
  154. package/esm2015/src/lib/places/place-list.component.js +0 -12
  155. package/esm2015/src/lib/places/place.component.js +0 -15
  156. package/esm2015/src/lib/popmenu/popmenu.component.js +0 -322
  157. package/esm2015/src/lib/popmenu/popmenu.directive.js +0 -215
  158. package/esm2015/src/lib/popmenu/popmenu.module.js +0 -38
  159. package/esm2015/src/lib/slide-toggle/slide-toggle.component.js +0 -59
  160. package/esm2015/src/lib/snackbar/snackbar.component.js +0 -22
  161. package/esm2015/src/lib/snackbars-thread/component/snackbars-thread.component.js +0 -50
  162. package/esm2015/src/lib/snackbars-thread/service/snackbars-thread.service.js +0 -44
  163. package/esm2015/src/lib/splashscreen/splashscreen.component.js +0 -37
  164. package/esm2015/src/lib/star-rating/star-rating.component.js +0 -38
  165. package/esm2015/src/lib/stepper/stepper.component.js +0 -37
  166. package/esm2015/src/lib/tags/tag-list.component.js +0 -12
  167. package/esm2015/src/lib/tags/tag.component.js +0 -20
  168. package/esm2015/src/lib/tags-selector/tags-selector.component.js +0 -73
  169. package/esm2015/src/lib/timepicker/timepicker.component.js +0 -375
  170. package/esm2015/src/lib/tooltip-neo/tooltip-neo.component.js +0 -46
  171. package/esm2015/src/lib/tooltip-neo/tooltip-neo.directive.js +0 -107
  172. package/esm2015/src/lib/tooltip-neo/tooltip-neo.service.js +0 -15
  173. package/esm2015/src/lib/try-popup/try-popup.component.js +0 -33
  174. package/fesm2015/agorapulse-ui-components.js +0 -3805
  175. package/fesm2015/agorapulse-ui-components.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ import { Directive, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * expand textarea to fit content. Doesn't shrink.
5
+ */
6
+ export class AutosizeTextareaDirective {
7
+ constructor(element) {
8
+ this.element = element;
9
+ }
10
+ onInput() {
11
+ this.resize();
12
+ }
13
+ ngAfterContentChecked() {
14
+ this.resize();
15
+ }
16
+ resize() {
17
+ const style = this.element.nativeElement.style;
18
+ const scrollHeight = this.element.nativeElement.scrollHeight;
19
+ const actualHeight = this.element.nativeElement.offsetHeight;
20
+ if (AutosizeTextareaDirective.maxHeight < scrollHeight) {
21
+ // we arrived at the max
22
+ style.overflow = 'auto';
23
+ style.height = `${AutosizeTextareaDirective.maxHeight}px`;
24
+ }
25
+ else if (actualHeight < scrollHeight) {
26
+ style.overflow = 'hidden';
27
+ style.height = `${scrollHeight}px`;
28
+ }
29
+ }
30
+ }
31
+ AutosizeTextareaDirective.maxHeight = 200;
32
+ /** @nocollapse */ /** @nocollapse */ AutosizeTextareaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AutosizeTextareaDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
33
+ /** @nocollapse */ /** @nocollapse */ AutosizeTextareaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: AutosizeTextareaDirective, selector: "textarea[ap-autosize]", host: { listeners: { "input": "onInput()" } }, ngImport: i0 });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: AutosizeTextareaDirective, decorators: [{
35
+ type: Directive,
36
+ args: [{
37
+ selector: 'textarea[ap-autosize]'
38
+ }]
39
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { onInput: [{
40
+ type: HostListener,
41
+ args: ['input']
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b3NpemUtdGV4dGFyZWEuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9hdXRvc2l6ZS10ZXh0YXJlYS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixTQUFTLEVBQWMsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt6Rjs7R0FFRztBQUNILE1BQU0sT0FBTyx5QkFBeUI7SUFJbEMsWUFBbUIsT0FBbUI7UUFBbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtJQUFHLENBQUM7SUFHbkMsT0FBTztRQUNWLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0scUJBQXFCO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTTtRQUNULE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7UUFDN0QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO1FBQzdELElBQUkseUJBQXlCLENBQUMsU0FBUyxHQUFHLFlBQVksRUFBRTtZQUNwRCx3QkFBd0I7WUFDeEIsS0FBSyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7WUFDeEIsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLHlCQUF5QixDQUFDLFNBQVMsSUFBSSxDQUFDO1NBQzdEO2FBQU0sSUFBSSxZQUFZLEdBQUcsWUFBWSxFQUFFO1lBQ3BDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1lBQzFCLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxZQUFZLElBQUksQ0FBQztTQUN0QztJQUNMLENBQUM7O0FBekJNLG1DQUFTLEdBQVcsR0FBSSxDQUFBOzRKQUZ0Qix5QkFBeUI7Z0pBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQU5yQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7aUJBQ3BDO2lHQVdVLE9BQU87c0JBRGIsWUFBWTt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50Q2hlY2tlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICd0ZXh0YXJlYVthcC1hdXRvc2l6ZV0nXG59KVxuLyoqXG4gKiBleHBhbmQgdGV4dGFyZWEgdG8gZml0IGNvbnRlbnQuIERvZXNuJ3Qgc2hyaW5rLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b3NpemVUZXh0YXJlYURpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyQ29udGVudENoZWNrZWQge1xuXG4gICAgc3RhdGljIG1heEhlaWdodDogbnVtYmVyID0gMjAwO1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIGVsZW1lbnQ6IEVsZW1lbnRSZWYpIHt9XG5cbiAgICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXG4gICAgcHVibGljIG9uSW5wdXQoKSB7XG4gICAgICAgIHRoaXMucmVzaXplKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5yZXNpemUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzaXplKCkge1xuICAgICAgICBjb25zdCBzdHlsZSA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LnN0eWxlO1xuICAgICAgICBjb25zdCBzY3JvbGxIZWlnaHQgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIGNvbnN0IGFjdHVhbEhlaWdodCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgaWYgKEF1dG9zaXplVGV4dGFyZWFEaXJlY3RpdmUubWF4SGVpZ2h0IDwgc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICAvLyB3ZSBhcnJpdmVkIGF0IHRoZSBtYXhcbiAgICAgICAgICAgIHN0eWxlLm92ZXJmbG93ID0gJ2F1dG8nO1xuICAgICAgICAgICAgc3R5bGUuaGVpZ2h0ID0gYCR7QXV0b3NpemVUZXh0YXJlYURpcmVjdGl2ZS5tYXhIZWlnaHR9cHhgO1xuICAgICAgICB9IGVsc2UgaWYgKGFjdHVhbEhlaWdodCA8IHNjcm9sbEhlaWdodCkge1xuICAgICAgICAgICAgc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgICAgIHN0eWxlLmhlaWdodCA9IGAke3Njcm9sbEhlaWdodH1weGA7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,29 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class DefaultImageDirective {
4
+ updateUrl() {
5
+ if (this.default) {
6
+ this.src = this.default;
7
+ }
8
+ else {
9
+ this.src = 'assets/lib-ui-components/img/default-avatar.png';
10
+ }
11
+ }
12
+ }
13
+ /** @nocollapse */ /** @nocollapse */ DefaultImageDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DefaultImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
14
+ /** @nocollapse */ /** @nocollapse */ DefaultImageDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: DefaultImageDirective, selector: "img[default]", inputs: { src: "src", default: "default" }, host: { listeners: { "error": "updateUrl()" }, properties: { "src": "src" } }, ngImport: i0 });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DefaultImageDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: 'img[default]',
19
+ host: {
20
+ '(error)': 'updateUrl()',
21
+ '[src]': 'src'
22
+ }
23
+ }]
24
+ }], propDecorators: { src: [{
25
+ type: Input
26
+ }], default: [{
27
+ type: Input
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC1pbWFnZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2RlZmF1bHQtaW1hZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQVMvQyxNQUFNLE9BQU8scUJBQXFCO0lBSTlCLFNBQVM7UUFDTCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDM0I7YUFBTTtZQUNILElBQUksQ0FBQyxHQUFHLEdBQUcsaURBQWlELENBQUM7U0FDaEU7SUFDTCxDQUFDOzt3SkFWUSxxQkFBcUI7NElBQXJCLHFCQUFxQjsyRkFBckIscUJBQXFCO2tCQVBqQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxjQUFjO29CQUN4QixJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGFBQWE7d0JBQ3hCLE9BQU8sRUFBRSxLQUFLO3FCQUNqQjtpQkFDSjs4QkFFWSxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbZGVmYXVsdF0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhlcnJvciknOiAndXBkYXRlVXJsKCknLFxuICAgICAgICAnW3NyY10nOiAnc3JjJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgRGVmYXVsdEltYWdlRGlyZWN0aXZlIHtcbiAgICBASW5wdXQoKSBzcmM6IHN0cmluZztcbiAgICBASW5wdXQoKSBkZWZhdWx0OiBzdHJpbmc7XG5cbiAgICB1cGRhdGVVcmwoKSB7XG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHQpIHtcbiAgICAgICAgICAgIHRoaXMuc3JjID0gdGhpcy5kZWZhdWx0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zcmMgPSAnYXNzZXRzL2xpYi11aS1jb21wb25lbnRzL2ltZy9kZWZhdWx0LWF2YXRhci5wbmcnO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -0,0 +1,87 @@
1
+ import { Directive, EventEmitter, Input, Output, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Removes excess text from element until it fits in elements
5
+ * and appends a ellipsis symbol to end of text. This requires that
6
+ * the elements height be fixed
7
+ *
8
+ * @example
9
+ * ```html
10
+ * <p apEllipsis>Ullamco esse laborum</p>
11
+ * ```
12
+ *
13
+ */
14
+ export class EllipsisDirective {
15
+ constructor(el) {
16
+ this.el = el;
17
+ this.apEllipsisClip = false;
18
+ this.apEllipsisChar = '...';
19
+ this.apEllipsisClickable = false;
20
+ this.apEllipsisRemovedElementsCount = new EventEmitter();
21
+ this.apEllipsisRemovedText = new EventEmitter();
22
+ }
23
+ get hasOverflow() {
24
+ const el = this.el.nativeElement;
25
+ return (el.scrollHeight > el.offsetHeight) || (el.scrollWidth > el.offsetWidth);
26
+ }
27
+ ngAfterContentChecked() {
28
+ this.clipText();
29
+ }
30
+ clipText() {
31
+ const el = this.el.nativeElement;
32
+ let text = el.innerText;
33
+ let removedText = '';
34
+ if (this.apEllipsisIndex > -1) {
35
+ removedText = text.substring(this.apEllipsisIndex, text.length - 1) + removedText;
36
+ text = text.substring(0, this.apEllipsisIndex);
37
+ el.innerText = `${text}${this.apEllipsisChar}`;
38
+ if (this.apEllipsisClickable) {
39
+ el.addEventListener('click', () => {
40
+ el.innerText = `${text}${removedText}`;
41
+ });
42
+ }
43
+ }
44
+ else {
45
+ while (this.hasOverflow && text.length > 0) {
46
+ removedText = text[text.length - 1] + removedText;
47
+ text = text.substring(0, text.length - 1);
48
+ el.innerText = `${text}${this.apEllipsisChar}`;
49
+ }
50
+ }
51
+ if (this.apEllipsisSeparator) {
52
+ const removedElementsCount = removedText.split(this.apEllipsisSeparator)
53
+ .filter(element => !!element && element.length > 0).length;
54
+ if (removedElementsCount > 0) {
55
+ this.apEllipsisRemovedElementsCount.emit(removedElementsCount);
56
+ }
57
+ }
58
+ if (removedText && removedText.length > 0) {
59
+ this.apEllipsisRemovedText.emit(removedText);
60
+ }
61
+ }
62
+ handleReadmore() {
63
+ }
64
+ }
65
+ /** @nocollapse */ /** @nocollapse */ EllipsisDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
66
+ /** @nocollapse */ /** @nocollapse */ EllipsisDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: EllipsisDirective, selector: "[apEllipsis]", inputs: { apEllipsisSeparator: "apEllipsisSeparator", apEllipsisClip: "apEllipsisClip", apEllipsisIndex: "apEllipsisIndex", apEllipsisChar: "apEllipsisChar", apEllipsisClickable: "apEllipsisClickable" }, outputs: { apEllipsisRemovedElementsCount: "apEllipsisRemovedElementsCount", apEllipsisRemovedText: "apEllipsisRemovedText" }, ngImport: i0 });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EllipsisDirective, decorators: [{
68
+ type: Directive,
69
+ args: [{
70
+ selector: '[apEllipsis]',
71
+ }]
72
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { apEllipsisSeparator: [{
73
+ type: Input
74
+ }], apEllipsisClip: [{
75
+ type: Input
76
+ }], apEllipsisIndex: [{
77
+ type: Input
78
+ }], apEllipsisChar: [{
79
+ type: Input
80
+ }], apEllipsisClickable: [{
81
+ type: Input
82
+ }], apEllipsisRemovedElementsCount: [{
83
+ type: Output
84
+ }], apEllipsisRemovedText: [{
85
+ type: Output
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZGlyZWN0aXZlcy9lbGxpcHNpcy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFzQixTQUFTLEVBQWMsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEdBQUUsTUFBTSxlQUFlLENBQUM7O0FBRXZHOzs7Ozs7Ozs7O0dBVUc7QUFJSCxNQUFNLE9BQU8saUJBQWlCO0lBZ0IxQixZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQWJ6QixtQkFBYyxHQUFZLEtBQUssQ0FBQztRQUVoQyxtQkFBYyxHQUFXLEtBQUssQ0FBQztRQUMvQix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFFcEMsbUNBQThCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM1RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBT3ZCLENBQUM7SUFMdkMsSUFBWSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBSUQscUJBQXFCO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRU8sUUFBUTtRQUNaLE1BQU0sRUFBRSxHQUFnQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxJQUFJLElBQUksR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDO1FBQ3hCLElBQUksV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLElBQUksQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUU7WUFDM0IsV0FBVyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLFdBQVcsQ0FBQztZQUNsRixJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQy9DLEVBQUUsQ0FBQyxTQUFTLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRS9DLElBQUksSUFBSSxDQUFDLG1CQUFtQixFQUFFO2dCQUMxQixFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtvQkFDOUIsRUFBRSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksR0FBRyxXQUFXLEVBQUUsQ0FBQztnQkFDM0MsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNKO2FBQU07WUFDSCxPQUFPLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3hDLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBQ2xELElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUMxQyxFQUFFLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUNsRDtTQUNKO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDMUIsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztpQkFDbkUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUMvRCxJQUFJLG9CQUFvQixHQUFHLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLDhCQUE4QixDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO2FBQ2xFO1NBQ0o7UUFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN2QyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ2hEO0lBQ0wsQ0FBQztJQUVPLGNBQWM7SUFFdEIsQ0FBQzs7b0pBMURRLGlCQUFpQjt3SUFBakIsaUJBQWlCOzJGQUFqQixpQkFBaUI7a0JBSDdCLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGNBQWM7aUJBQzNCO2lHQUdZLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBRUksOEJBQThCO3NCQUF2QyxNQUFNO2dCQUNHLHFCQUFxQjtzQkFBOUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJDb250ZW50Q2hlY2tlZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZW1vdmVzIGV4Y2VzcyB0ZXh0IGZyb20gZWxlbWVudCB1bnRpbCBpdCBmaXRzIGluIGVsZW1lbnRzXG4gKiBhbmQgYXBwZW5kcyBhIGVsbGlwc2lzIHN5bWJvbCB0byBlbmQgb2YgdGV4dC4gVGhpcyByZXF1aXJlcyB0aGF0XG4gKiB0aGUgZWxlbWVudHMgaGVpZ2h0IGJlIGZpeGVkXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYGh0bWxcbiAqIDxwIGFwRWxsaXBzaXM+VWxsYW1jbyBlc3NlIGxhYm9ydW08L3A+XG4gKiBgYGBcbiAqXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW2FwRWxsaXBzaXNdJyxcbn0pXG5leHBvcnQgY2xhc3MgRWxsaXBzaXNEaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRDaGVja2VkIHtcblxuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNTZXBhcmF0b3I6IHN0cmluZztcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2xpcDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNJbmRleDogbnVtYmVyO1xuICAgIEBJbnB1dCgpIGFwRWxsaXBzaXNDaGFyOiBzdHJpbmcgPSAnLi4uJztcbiAgICBASW5wdXQoKSBhcEVsbGlwc2lzQ2xpY2thYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG4gICAgQE91dHB1dCgpIGFwRWxsaXBzaXNSZW1vdmVkVGV4dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBnZXQgaGFzT3ZlcmZsb3coKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgcmV0dXJuIChlbC5zY3JvbGxIZWlnaHQgPiBlbC5vZmZzZXRIZWlnaHQpIHx8IChlbC5zY3JvbGxXaWR0aCA+IGVsLm9mZnNldFdpZHRoKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7IH1cblxuICAgIG5nQWZ0ZXJDb250ZW50Q2hlY2tlZCgpIHtcbiAgICAgICAgdGhpcy5jbGlwVGV4dCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2xpcFRleHQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGVsOiBIVE1MRWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICAgICAgbGV0IHRleHQgPSBlbC5pbm5lclRleHQ7XG4gICAgICAgIGxldCByZW1vdmVkVGV4dCA9ICcnO1xuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzSW5kZXggPiAtMSkge1xuICAgICAgICAgICAgcmVtb3ZlZFRleHQgPSB0ZXh0LnN1YnN0cmluZyh0aGlzLmFwRWxsaXBzaXNJbmRleCwgdGV4dC5sZW5ndGggLSAxKSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgdGV4dCA9IHRleHQuc3Vic3RyaW5nKDAsIHRoaXMuYXBFbGxpcHNpc0luZGV4KTtcbiAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmFwRWxsaXBzaXNDbGlja2FibGUpIHtcbiAgICAgICAgICAgICAgICBlbC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgZWwuaW5uZXJUZXh0ID0gYCR7dGV4dH0ke3JlbW92ZWRUZXh0fWA7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5oYXNPdmVyZmxvdyAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZW1vdmVkVGV4dCA9IHRleHRbdGV4dC5sZW5ndGggLSAxXSArIHJlbW92ZWRUZXh0O1xuICAgICAgICAgICAgICAgIHRleHQgPSB0ZXh0LnN1YnN0cmluZygwLCB0ZXh0Lmxlbmd0aCAtIDEpO1xuICAgICAgICAgICAgICAgIGVsLmlubmVyVGV4dCA9IGAke3RleHR9JHt0aGlzLmFwRWxsaXBzaXNDaGFyfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5hcEVsbGlwc2lzU2VwYXJhdG9yKSB7XG4gICAgICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudHNDb3VudCA9IHJlbW92ZWRUZXh0LnNwbGl0KHRoaXMuYXBFbGxpcHNpc1NlcGFyYXRvcilcbiAgICAgICAgICAgICAgICAuZmlsdGVyKGVsZW1lbnQgPT4gISFlbGVtZW50ICYmIGVsZW1lbnQubGVuZ3RoID4gMCkubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHJlbW92ZWRFbGVtZW50c0NvdW50ID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYXBFbGxpcHNpc1JlbW92ZWRFbGVtZW50c0NvdW50LmVtaXQocmVtb3ZlZEVsZW1lbnRzQ291bnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChyZW1vdmVkVGV4dCAmJiByZW1vdmVkVGV4dC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLmFwRWxsaXBzaXNSZW1vdmVkVGV4dC5lbWl0KHJlbW92ZWRUZXh0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUmVhZG1vcmUoKTogdm9pZCB7XG5cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,64 @@
1
+ // Based on https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2
2
+ import { Directive, forwardRef, Attribute } from '@angular/core';
3
+ import { NG_VALIDATORS } from '@angular/forms';
4
+ import * as i0 from "@angular/core";
5
+ export class EqualValidatorDirective {
6
+ constructor(validateEqual, validateEqualReference) {
7
+ this.validateEqual = validateEqual;
8
+ this.validateEqualReference = validateEqualReference;
9
+ }
10
+ validate(self) {
11
+ let other = self.root.get(this.validateEqual);
12
+ if (other) {
13
+ if (this.isReference()) {
14
+ if (self.value === other.value) {
15
+ delete other.errors['validateEqual'];
16
+ if (!Object.keys(other.errors).length) {
17
+ other.setErrors(null);
18
+ }
19
+ }
20
+ else {
21
+ other.setErrors({ validateEqual: false });
22
+ }
23
+ }
24
+ else if (self.value !== other.value) {
25
+ return { validateEqual: false };
26
+ }
27
+ }
28
+ return null;
29
+ }
30
+ isReference() {
31
+ if (!this.validateEqualReference) {
32
+ return false;
33
+ }
34
+ return this.validateEqualReference === 'true';
35
+ }
36
+ }
37
+ /** @nocollapse */ /** @nocollapse */ EqualValidatorDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EqualValidatorDirective, deps: [{ token: 'validateEqual', attribute: true }, { token: 'validateEqualReference', attribute: true }], target: i0.ɵɵFactoryTarget.Directive });
38
+ /** @nocollapse */ /** @nocollapse */ EqualValidatorDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: EqualValidatorDirective, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]", providers: [
39
+ {
40
+ provide: NG_VALIDATORS,
41
+ useExisting: forwardRef((() => EqualValidatorDirective)),
42
+ multi: true
43
+ }
44
+ ], ngImport: i0 });
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: EqualValidatorDirective, decorators: [{
46
+ type: Directive,
47
+ args: [{
48
+ selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel]',
49
+ providers: [
50
+ {
51
+ provide: NG_VALIDATORS,
52
+ useExisting: forwardRef((() => EqualValidatorDirective)),
53
+ multi: true
54
+ }
55
+ ]
56
+ }]
57
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
58
+ type: Attribute,
59
+ args: ['validateEqual']
60
+ }] }, { type: undefined, decorators: [{
61
+ type: Attribute,
62
+ args: ['validateEqualReference']
63
+ }] }]; } });
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvZXF1YWwtdmFsaWRhdG9yLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxtSEFBbUg7QUFDbkgsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBOEIsYUFBYSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBWTNFLE1BQU0sT0FBTyx1QkFBdUI7SUFFaEMsWUFBK0MsYUFBcUIsRUFDWixzQkFBOEI7UUFEdkMsa0JBQWEsR0FBYixhQUFhLENBQVE7UUFDWiwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQVE7SUFBRyxDQUFDO0lBRTFGLFFBQVEsQ0FBQyxJQUFxQjtRQUMxQixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDOUMsSUFBSSxLQUFLLEVBQUU7WUFDUCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEtBQUssQ0FBQyxLQUFLLEVBQUU7b0JBQzVCLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRTt3QkFDbkMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztxQkFDekI7aUJBQ0o7cUJBQU07b0JBQ0gsS0FBSyxDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO2lCQUM3QzthQUNKO2lCQUFNLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUNuQyxPQUFPLEVBQUUsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO2FBQ25DO1NBQ0o7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRU8sV0FBVztRQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUU7WUFDOUIsT0FBTyxLQUFLLENBQUM7U0FDaEI7UUFDRCxPQUFPLElBQUksQ0FBQyxzQkFBc0IsS0FBSyxNQUFNLENBQUM7SUFDbEQsQ0FBQzs7MEpBN0JRLHVCQUF1QixrQkFFVCxlQUFlLDhCQUNmLHdCQUF3Qjs4SUFIdEMsdUJBQXVCLGlIQVJyQjtRQUNQO1lBQ0ksT0FBTyxFQUFFLGFBQWE7WUFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsQ0FBQyx1QkFBdUIsRUFBQztZQUN0RCxLQUFLLEVBQUUsSUFBSTtTQUNkO0tBQ0o7MkZBRVEsdUJBQXVCO2tCQVZuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx3RkFBd0Y7b0JBQ2xHLFNBQVMsRUFBRTt3QkFDUDs0QkFDSSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsd0JBQXdCLEVBQUM7NEJBQ3RELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO2lCQUNKOzswQkFHZ0IsU0FBUzsyQkFBQyxlQUFlOzswQkFDekIsU0FBUzsyQkFBQyx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBCYXNlZCBvbiBodHRwczovL3Njb3RjaC5pby90dXRvcmlhbHMvaG93LXRvLWltcGxlbWVudC1hLWN1c3RvbS12YWxpZGF0b3ItZGlyZWN0aXZlLWNvbmZpcm0tcGFzc3dvcmQtaW4tYW5ndWxhci0yXG5pbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIEF0dHJpYnV0ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVmFsaWRhdG9yLCBBYnN0cmFjdENvbnRyb2wsIE5HX1ZBTElEQVRPUlMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sTmFtZV0sW3ZhbGlkYXRlRXF1YWxdW2Zvcm1Db250cm9sXSxbdmFsaWRhdGVFcXVhbF1bbmdNb2RlbF0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRXF1YWxWYWxpZGF0b3JEaXJlY3RpdmUpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgRXF1YWxWYWxpZGF0b3JEaXJlY3RpdmUgaW1wbGVtZW50cyBWYWxpZGF0b3Ige1xuXG4gICAgY29uc3RydWN0b3IoQEF0dHJpYnV0ZSgndmFsaWRhdGVFcXVhbCcpIHB1YmxpYyB2YWxpZGF0ZUVxdWFsOiBzdHJpbmcsXG4gICAgICAgICAgICAgICAgQEF0dHJpYnV0ZSgndmFsaWRhdGVFcXVhbFJlZmVyZW5jZScpIHB1YmxpYyB2YWxpZGF0ZUVxdWFsUmVmZXJlbmNlOiBzdHJpbmcpIHt9XG5cbiAgICB2YWxpZGF0ZShzZWxmOiBBYnN0cmFjdENvbnRyb2wpOiB7IFtrZXk6IHN0cmluZ106IGFueSB9IHtcbiAgICAgICAgbGV0IG90aGVyID0gc2VsZi5yb290LmdldCh0aGlzLnZhbGlkYXRlRXF1YWwpO1xuICAgICAgICBpZiAob3RoZXIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUmVmZXJlbmNlKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoc2VsZi52YWx1ZSA9PT0gb3RoZXIudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIG90aGVyLmVycm9yc1sndmFsaWRhdGVFcXVhbCddO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIU9iamVjdC5rZXlzKG90aGVyLmVycm9ycykubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBvdGhlci5zZXRFcnJvcnMobnVsbCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvdGhlci5zZXRFcnJvcnMoeyB2YWxpZGF0ZUVxdWFsOiBmYWxzZSB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHNlbGYudmFsdWUgIT09IG90aGVyLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsaWRhdGVFcXVhbDogZmFsc2UgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzUmVmZXJlbmNlKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMudmFsaWRhdGVFcXVhbFJlZmVyZW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbGlkYXRlRXF1YWxSZWZlcmVuY2UgPT09ICd0cnVlJztcbiAgICB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,116 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class GifService {
4
+ static isGif(src) {
5
+ return src && src.split('?')[0].endsWith('.gif');
6
+ }
7
+ }
8
+ /**
9
+ * If the image is a GIF then replace the img element by a canvas containing a frozen gif.
10
+ * Note 1: if the image is displayed under a condition, the condition must be applied on the parent of the image, so the
11
+ * new canvas element will have the same condition.
12
+ * Note 2: the image must not have the properties "display" and "visibility" in its style. Since they are used to frozen
13
+ * the GIF. You need to apply this properties on the parent element.
14
+ * Note 3: If the GIF is frozen, all the event are propagated to the image. However, all events are dispatched
15
+ * with an Event instance. Ex: click event is not dispatched with a MouseEvent instance.
16
+ */
17
+ export class FrozenGifDirective {
18
+ constructor(elementRef) {
19
+ this.elementRef = elementRef;
20
+ this.frozen = true;
21
+ // Add all the events that need to be propagated.
22
+ this.events = ['click'];
23
+ const element = this.elementRef.nativeElement;
24
+ if (!(element instanceof HTMLImageElement)) {
25
+ return;
26
+ }
27
+ this.element = element;
28
+ }
29
+ ngOnChanges(changes) {
30
+ let freeze = false;
31
+ if (changes.src) {
32
+ freeze = true;
33
+ }
34
+ if (changes.frozen) {
35
+ if (changes.frozen.currentValue) {
36
+ freeze = true;
37
+ }
38
+ else {
39
+ this.unfreeze();
40
+ }
41
+ }
42
+ if (freeze) {
43
+ this.freeze();
44
+ }
45
+ }
46
+ freeze() {
47
+ if (!GifService.isGif(this.src) || !this.frozen) {
48
+ this.unfreeze();
49
+ return;
50
+ }
51
+ // hack to avoid displaying the GIF before replacing it by the canvas
52
+ this.element.style.visibility = 'hidden';
53
+ this.element.addEventListener('load', () => this.addCanvas());
54
+ }
55
+ addCanvas() {
56
+ if (this.canvas) {
57
+ this.canvas.remove();
58
+ }
59
+ this.canvas = document.createElement('canvas');
60
+ this.canvas.width = this.element.width;
61
+ this.canvas.height = this.element.height;
62
+ this.canvas.getContext('2d').drawImage(this.element, 0, 0, this.canvas.width, this.canvas.height);
63
+ for (let i = 0; i < this.element.attributes.length; i++) {
64
+ const attr = this.element.attributes[i];
65
+ if (attr.name === 'id') { // avoid two elements with the same id
66
+ this.canvas.setAttribute('id', attr.value + '_frozenGif');
67
+ }
68
+ else if (attr.name === 'style' && attr.value.includes('visibility: hidden;') || attr.value.includes('display: none;')) {
69
+ // remove the added 'visibility: hidden' and 'display: none'
70
+ const styleValue = attr.value;
71
+ this.canvas.setAttribute('style', styleValue.replace('visibility: hidden;', '').replace('display: none;', ''));
72
+ }
73
+ else if (attr.name !== '"') { // test for invalid attributes
74
+ this.canvas.setAttribute(attr.name, attr.value);
75
+ }
76
+ }
77
+ this.addEvents();
78
+ this.element.parentNode.insertBefore(this.canvas, this.element);
79
+ this.element.style.display = 'none';
80
+ }
81
+ addEvents() {
82
+ this.events.forEach((eventName) => {
83
+ this.canvas.addEventListener(eventName, (ev) => this.element.dispatchEvent(
84
+ // wm: find a way to dispatch the right event type
85
+ new Event(ev.type, ev)));
86
+ });
87
+ }
88
+ unfreeze() {
89
+ if (this.canvas) {
90
+ this.canvas.remove();
91
+ this.canvas = null;
92
+ }
93
+ this.element.style.visibility = 'inherit';
94
+ this.element.style.display = 'inherit';
95
+ }
96
+ }
97
+ /** @nocollapse */ /** @nocollapse */ FrozenGifDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FrozenGifDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
98
+ /** @nocollapse */ /** @nocollapse */ FrozenGifDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: FrozenGifDirective, selector: "img[apFrozenGif]", inputs: { src: "src", frozen: ["apFrozen", "frozen"], events: ["apGifEvents", "events"] }, host: { properties: { "src": "src" } }, usesOnChanges: true, ngImport: i0 });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FrozenGifDirective, decorators: [{
100
+ type: Directive,
101
+ args: [{
102
+ selector: 'img[apFrozenGif]',
103
+ host: {
104
+ '[src]': 'src'
105
+ }
106
+ }]
107
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { src: [{
108
+ type: Input
109
+ }], frozen: [{
110
+ type: Input,
111
+ args: ['apFrozen']
112
+ }], events: [{
113
+ type: Input,
114
+ args: ['apGifEvents']
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvemVuLWdpZi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL2Zyb3plbi1naWYuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQWMsS0FBSyxFQUFZLE1BQU0sZUFBZSxDQUFDOztBQUV0RSxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVc7UUFDcEIsT0FBTyxHQUFHLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckQsQ0FBQztDQUNKO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFRSCxNQUFNLE9BQU8sa0JBQWtCO0lBUzNCLFlBQW9CLFVBQXNCO1FBQXRCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFQdkIsV0FBTSxHQUFHLElBQUksQ0FBQztRQUNqQyxpREFBaUQ7UUFDM0IsV0FBTSxHQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFNL0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7UUFDOUMsSUFBSSxDQUFDLENBQUMsT0FBTyxZQUFZLGdCQUFnQixDQUFDLEVBQUU7WUFDeEMsT0FBTztTQUNWO1FBRUQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFZO1FBQ3BCLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDYixNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQ2pCO1FBQ0QsSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2hCLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUU7Z0JB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Q0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7SUFDeEMsQ0FBQztJQUVPLFNBQVM7UUFDYixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQWlCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhO1lBQzdFLGtEQUFrRDtZQUNsRCxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUN6QixDQUFDLENBQUM7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxRQUFRO1FBQ1osSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztTQUN0QjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztJQUMzQyxDQUFDOztxSkE1RlEsa0JBQWtCO3lJQUFsQixrQkFBa0I7MkZBQWxCLGtCQUFrQjtrQkFOOUIsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixJQUFJLEVBQUU7d0JBQ0YsT0FBTyxFQUFFLEtBQUs7cUJBQ2pCO2lCQUNKO2lHQUVZLEdBQUc7c0JBQVgsS0FBSztnQkFDYSxNQUFNO3NCQUF4QixLQUFLO3VCQUFDLFVBQVU7Z0JBRUssTUFBTTtzQkFBM0IsS0FBSzt1QkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgR2lmU2VydmljZSB7XG4gICAgc3RhdGljIGlzR2lmKHNyYzogU3RyaW5nKSB7XG4gICAgICAgIHJldHVybiBzcmMgJiYgc3JjLnNwbGl0KCc/JylbMF0uZW5kc1dpdGgoJy5naWYnKTtcbiAgICB9XG59XG5cbi8qKlxuICogSWYgdGhlIGltYWdlIGlzIGEgR0lGIHRoZW4gcmVwbGFjZSB0aGUgaW1nIGVsZW1lbnQgYnkgYSBjYW52YXMgY29udGFpbmluZyBhIGZyb3plbiBnaWYuXG4gKiBOb3RlIDE6IGlmIHRoZSBpbWFnZSBpcyBkaXNwbGF5ZWQgdW5kZXIgYSBjb25kaXRpb24sIHRoZSBjb25kaXRpb24gbXVzdCBiZSBhcHBsaWVkIG9uIHRoZSBwYXJlbnQgb2YgdGhlIGltYWdlLCBzbyB0aGVcbiAqIG5ldyBjYW52YXMgZWxlbWVudCB3aWxsIGhhdmUgdGhlIHNhbWUgY29uZGl0aW9uLlxuICogTm90ZSAyOiB0aGUgaW1hZ2UgbXVzdCBub3QgaGF2ZSB0aGUgcHJvcGVydGllcyBcImRpc3BsYXlcIiBhbmQgXCJ2aXNpYmlsaXR5XCIgaW4gaXRzIHN0eWxlLiBTaW5jZSB0aGV5IGFyZSB1c2VkIHRvIGZyb3plblxuICogdGhlIEdJRi4gWW91IG5lZWQgdG8gYXBwbHkgdGhpcyBwcm9wZXJ0aWVzIG9uIHRoZSBwYXJlbnQgZWxlbWVudC5cbiAqIE5vdGUgMzogSWYgdGhlIEdJRiBpcyBmcm96ZW4sIGFsbCB0aGUgZXZlbnQgYXJlIHByb3BhZ2F0ZWQgdG8gdGhlIGltYWdlLiBIb3dldmVyLCBhbGwgZXZlbnRzIGFyZSBkaXNwYXRjaGVkXG4gKiB3aXRoIGFuIEV2ZW50IGluc3RhbmNlLiBFeDogY2xpY2sgZXZlbnQgaXMgbm90IGRpc3BhdGNoZWQgd2l0aCBhIE1vdXNlRXZlbnQgaW5zdGFuY2UuXG4gKi9cblxuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpbWdbYXBGcm96ZW5HaWZdJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbc3JjXSc6ICdzcmMnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBGcm96ZW5HaWZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIEBJbnB1dCgpIHNyYzogc3RyaW5nO1xuICAgIEBJbnB1dCgnYXBGcm96ZW4nKSBmcm96ZW4gPSB0cnVlO1xuICAgIC8vIEFkZCBhbGwgdGhlIGV2ZW50cyB0aGF0IG5lZWQgdG8gYmUgcHJvcGFnYXRlZC5cbiAgICBASW5wdXQoJ2FwR2lmRXZlbnRzJykgZXZlbnRzOiBzdHJpbmdbXSA9IFsnY2xpY2snXTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudDogSFRNTEltYWdlRWxlbWVudDtcbiAgICBwcml2YXRlIGNhbnZhczogSFRNTENhbnZhc0VsZW1lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAoIShlbGVtZW50IGluc3RhbmNlb2YgSFRNTEltYWdlRWxlbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIGxldCBmcmVlemUgPSBmYWxzZTtcbiAgICAgICAgaWYgKGNoYW5nZXMuc3JjKSB7XG4gICAgICAgICAgICBmcmVlemUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLmZyb3plbikge1xuICAgICAgICAgICAgaWYgKGNoYW5nZXMuZnJvemVuLmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgICAgIGZyZWV6ZSA9IHRydWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMudW5mcmVlemUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmcmVlemUpIHtcbiAgICAgICAgICAgIHRoaXMuZnJlZXplKCk7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIHByaXZhdGUgZnJlZXplKCkge1xuICAgICAgICBpZiAoIUdpZlNlcnZpY2UuaXNHaWYodGhpcy5zcmMpIHx8ICF0aGlzLmZyb3plbikge1xuICAgICAgICAgICAgdGhpcy51bmZyZWV6ZSgpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gaGFjayB0byBhdm9pZCBkaXNwbGF5aW5nIHRoZSBHSUYgYmVmb3JlIHJlcGxhY2luZyBpdCBieSB0aGUgY2FudmFzXG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2hpZGRlbic7XG4gICAgICAgIHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgKCkgPT4gdGhpcy5hZGRDYW52YXMoKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhZGRDYW52YXMoKSB7XG4gICAgICAgIGlmICh0aGlzLmNhbnZhcykge1xuICAgICAgICAgICAgdGhpcy5jYW52YXMucmVtb3ZlKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgICB0aGlzLmNhbnZhcy53aWR0aCA9IHRoaXMuZWxlbWVudC53aWR0aDtcbiAgICAgICAgdGhpcy5jYW52YXMuaGVpZ2h0ID0gdGhpcy5lbGVtZW50LmhlaWdodDtcbiAgICAgICAgdGhpcy5jYW52YXMuZ2V0Q29udGV4dCgnMmQnKS5kcmF3SW1hZ2UodGhpcy5lbGVtZW50LCAwLCAwLCB0aGlzLmNhbnZhcy53aWR0aCwgdGhpcy5jYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVsZW1lbnQuYXR0cmlidXRlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgYXR0ciA9IHRoaXMuZWxlbWVudC5hdHRyaWJ1dGVzW2ldO1xuICAgICAgICAgICAgaWYgKGF0dHIubmFtZSA9PT0gJ2lkJykgeyAvLyBhdm9pZCB0d28gZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBpZFxuICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzLnNldEF0dHJpYnV0ZSgnaWQnLCBhdHRyLnZhbHVlICsgJ19mcm96ZW5HaWYnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXR0ci5uYW1lID09PSAnc3R5bGUnICYmIGF0dHIudmFsdWUuaW5jbHVkZXMoJ3Zpc2liaWxpdHk6IGhpZGRlbjsnKSB8fCBhdHRyLnZhbHVlLmluY2x1ZGVzKCdkaXNwbGF5OiBub25lOycpKSB7XG4gICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBhZGRlZCAndmlzaWJpbGl0eTogaGlkZGVuJyBhbmQgJ2Rpc3BsYXk6IG5vbmUnXG4gICAgICAgICAgICAgICAgY29uc3Qgc3R5bGVWYWx1ZSA9IGF0dHIudmFsdWU7XG4gICAgICAgICAgICAgICAgdGhpcy5jYW52YXMuc2V0QXR0cmlidXRlKCdzdHlsZScsIHN0eWxlVmFsdWUucmVwbGFjZSgndmlzaWJpbGl0eTogaGlkZGVuOycsICcnKS5yZXBsYWNlKCdkaXNwbGF5OiBub25lOycsICcnKSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGF0dHIubmFtZSAhPT0gJ1wiJykgeyAvLyB0ZXN0IGZvciBpbnZhbGlkIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgICB0aGlzLmNhbnZhcy5zZXRBdHRyaWJ1dGUoYXR0ci5uYW1lLCBhdHRyLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuYWRkRXZlbnRzKCk7XG5cbiAgICAgICAgdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuY2FudmFzLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdub25lJztcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkZEV2ZW50cygpIHtcbiAgICAgICAgdGhpcy5ldmVudHMuZm9yRWFjaCgoZXZlbnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY2FudmFzLmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCAoZXY6IEV2ZW50KSA9PiB0aGlzLmVsZW1lbnQuZGlzcGF0Y2hFdmVudChcbiAgICAgICAgICAgICAgICAvLyB3bTogZmluZCBhIHdheSB0byBkaXNwYXRjaCB0aGUgcmlnaHQgZXZlbnQgdHlwZVxuICAgICAgICAgICAgICAgIG5ldyBFdmVudChldi50eXBlLCBldilcbiAgICAgICAgICAgICkpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHVuZnJlZXplKCkge1xuICAgICAgICBpZiAodGhpcy5jYW52YXMpIHtcbiAgICAgICAgICAgIHRoaXMuY2FudmFzLnJlbW92ZSgpO1xuICAgICAgICAgICAgdGhpcy5jYW52YXMgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gJ2luaGVyaXQnO1xuICAgICAgICB0aGlzLmVsZW1lbnQuc3R5bGUuZGlzcGxheSA9ICdpbmhlcml0JztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,101 @@
1
+ import { Directive, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ const PART_START = '<ng-container data-mst="';
4
+ const PARSE_MIDDLE = '">';
5
+ const PARSE_END = '</ng-container>';
6
+ const CLASS_SEPARATOR = ',';
7
+ /**
8
+ * This directive aims to parse simple string to extract some specific tags and to turn them into SPAN with styling classes attributes.
9
+ * The specific tags must this schema: <ng-container data-mst="STYLING-CLASSES>TEXT</ng-container>.
10
+ * Example: 'Lorem <ng-container data-mst="my-style">ipsum</ng-container> dolor sit amet'.
11
+ */
12
+ export class MultiStyleTextDirective {
13
+ constructor(elRef, renderer) {
14
+ this.elRef = elRef;
15
+ this.renderer = renderer;
16
+ this.childrenCreated = [];
17
+ }
18
+ set multiStyleText(fullText) {
19
+ // First remove previously added children (on update).
20
+ for (const child of this.childrenCreated) {
21
+ this.renderer.removeChild(this.elRef.nativeElement, child);
22
+ }
23
+ const parts = MultiStyleTextDirective.parse(fullText);
24
+ for (const part of parts) {
25
+ if (part.clazz) {
26
+ const span = this.renderer.createElement('span');
27
+ const text = this.renderer.createText(part.content);
28
+ this.renderer.appendChild(span, text);
29
+ part.clazz.forEach(clazz => this.renderer.addClass(span, clazz));
30
+ this.renderer.appendChild(this.elRef.nativeElement, span);
31
+ this.childrenCreated.push(span);
32
+ }
33
+ else {
34
+ const text = this.renderer.createText(part.content);
35
+ this.renderer.appendChild(this.elRef.nativeElement, text);
36
+ this.childrenCreated.push(text);
37
+ }
38
+ }
39
+ }
40
+ static parse(toParse) {
41
+ const parts = [];
42
+ let startIndex = toParse.indexOf(PART_START);
43
+ while (startIndex >= 0) {
44
+ if (startIndex > 0) {
45
+ // Optional start before parser start.
46
+ parts.push({ content: toParse.substr(0, startIndex) });
47
+ }
48
+ const elem = this.cutFirstGroup(toParse.substr(startIndex));
49
+ if (elem === 'invalid') {
50
+ return [];
51
+ }
52
+ else if (elem) {
53
+ parts.push({ content: elem.content, clazz: elem.classes });
54
+ toParse = elem.rest;
55
+ startIndex = toParse.indexOf(PART_START);
56
+ }
57
+ else {
58
+ parts.push({ content: toParse });
59
+ }
60
+ }
61
+ // Very end
62
+ if (toParse.length > 0) {
63
+ parts.push({ content: toParse });
64
+ }
65
+ return parts;
66
+ }
67
+ static cutFirstGroup(toCut) {
68
+ if (!toCut.startsWith(PART_START)) {
69
+ // String doesnt start with expected parser start.
70
+ return null;
71
+ }
72
+ const afterParserStart = toCut.substr(PART_START.length);
73
+ let index = afterParserStart.indexOf(PARSE_MIDDLE);
74
+ if (index <= 0) {
75
+ console.error('Not able to parse invalid string: ' + toCut);
76
+ return 'invalid';
77
+ }
78
+ const classes = afterParserStart.substr(0, index);
79
+ let rest = afterParserStart.substr(index + PARSE_MIDDLE.length);
80
+ index = rest.indexOf(PARSE_END);
81
+ if (index <= 0) {
82
+ console.error('Not able to parse invalid string: ' + toCut);
83
+ return 'invalid';
84
+ }
85
+ const content = rest.substr(0, index);
86
+ rest = rest.substr(index + PARSE_END.length);
87
+ return { content, classes: classes.split(CLASS_SEPARATOR), rest };
88
+ }
89
+ }
90
+ /** @nocollapse */ /** @nocollapse */ MultiStyleTextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiStyleTextDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
91
+ /** @nocollapse */ /** @nocollapse */ MultiStyleTextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: MultiStyleTextDirective, selector: "[multiStyleText]", inputs: { multiStyleText: "multiStyleText" }, ngImport: i0 });
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MultiStyleTextDirective, decorators: [{
93
+ type: Directive,
94
+ args: [{
95
+ // tslint:disable-next-line:directive-selector
96
+ selector: '[multiStyleText]'
97
+ }]
98
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { multiStyleText: [{
99
+ type: Input
100
+ }] } });
101
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktc3R5bGUtdGV4dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL211bHRpLXN0eWxlLXRleHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUF3QixNQUFNLGVBQWUsQ0FBQzs7QUFFdEUsTUFBTSxVQUFVLEdBQUcsMEJBQTBCLENBQUM7QUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDO0FBQzFCLE1BQU0sU0FBUyxHQUFHLGlCQUFpQixDQUFDO0FBQ3BDLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztBQU81Qjs7OztHQUlHO0FBS0gsTUFBTSxPQUFPLHVCQUF1QjtJQTRCaEMsWUFDWSxLQUFpQixFQUNqQixRQUFtQjtRQURuQixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGFBQVEsR0FBUixRQUFRLENBQVc7UUE1QnZCLG9CQUFlLEdBQVUsRUFBRSxDQUFDO0lBOEJwQyxDQUFDO0lBNUJELElBQWEsY0FBYyxDQUFDLFFBQWdCO1FBQ3hDLHNEQUFzRDtRQUN0RCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDdEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDOUQ7UUFFRCxNQUFNLEtBQUssR0FBRyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7UUFFdEQsS0FBSyxNQUFNLElBQUksSUFBSSxLQUFLLEVBQUU7WUFDdEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNaLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUNqRCxN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QUMsb0NBQW9DLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ2xELElBQUksSUFBSSxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2hFLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2hDLElBQUksS0FBSyxJQUFJLENBQUMsRUFBRTtZQUNaLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLEdBQUcsS0FBSyxDQUFDLENBQUM7WUFDNUQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN0QyxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTdDLE9BQU8sRUFBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEVBQUUsSUFBSSxFQUFDLENBQUM7SUFDcEUsQ0FBQzs7MEpBcEZRLHVCQUF1Qjs4SUFBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSm5DLFNBQVM7bUJBQUM7b0JBQ1AsOENBQThDO29CQUM5QyxRQUFRLEVBQUUsa0JBQWtCO2lCQUMvQjt5SEFLZ0IsY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBJbnB1dCwgUmVuZGVyZXIyLCBFbGVtZW50UmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgUEFSVF9TVEFSVCA9ICc8bmctY29udGFpbmVyIGRhdGEtbXN0PVwiJztcbmNvbnN0IFBBUlNFX01JRERMRSA9ICdcIj4nO1xuY29uc3QgUEFSU0VfRU5EID0gJzwvbmctY29udGFpbmVyPic7XG5jb25zdCBDTEFTU19TRVBBUkFUT1IgPSAnLCc7XG5cbmludGVyZmFjZSBQYXJ0IHtcbiAgICBjb250ZW50OiBzdHJpbmc7XG4gICAgY2xheno/OiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBUaGlzIGRpcmVjdGl2ZSBhaW1zIHRvIHBhcnNlIHNpbXBsZSBzdHJpbmcgdG8gZXh0cmFjdCBzb21lIHNwZWNpZmljIHRhZ3MgYW5kIHRvIHR1cm4gdGhlbSBpbnRvIFNQQU4gd2l0aCBzdHlsaW5nIGNsYXNzZXMgYXR0cmlidXRlcy5cbiAqIFRoZSBzcGVjaWZpYyB0YWdzIG11c3QgdGhpcyBzY2hlbWE6IDxuZy1jb250YWluZXIgZGF0YS1tc3Q9XCJTVFlMSU5HLUNMQVNTRVM+VEVYVDwvbmctY29udGFpbmVyPi5cbiAqIEV4YW1wbGU6ICdMb3JlbSA8bmctY29udGFpbmVyIGRhdGEtbXN0PVwibXktc3R5bGVcIj5pcHN1bTwvbmctY29udGFpbmVyPiBkb2xvciBzaXQgYW1ldCcuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpkaXJlY3RpdmUtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogJ1ttdWx0aVN0eWxlVGV4dF0nXG59KVxuZXhwb3J0IGNsYXNzIE11bHRpU3R5bGVUZXh0RGlyZWN0aXZlIHtcblxuICAgIHByaXZhdGUgY2hpbGRyZW5DcmVhdGVkOiBhbnlbXSA9IFtdO1xuXG4gICAgQElucHV0KCkgc2V0IG11bHRpU3R5bGVUZXh0KGZ1bGxUZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgLy8gRmlyc3QgcmVtb3ZlIHByZXZpb3VzbHkgYWRkZWQgY2hpbGRyZW4gKG9uIHVwZGF0ZSkuXG4gICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5jaGlsZHJlbkNyZWF0ZWQpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LCBjaGlsZCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBwYXJ0cyA9IE11bHRpU3R5bGVUZXh0RGlyZWN0aXZlLnBhcnNlKGZ1bGxUZXh0KTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhcnQgb2YgcGFydHMpIHtcbiAgICAgICAgICAgIGlmIChwYXJ0LmNsYXp6KSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc3BhbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQocGFydC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHNwYW4sIHRleHQpO1xuICAgICAgICAgICAgICAgIHBhcnQuY2xhenouZm9yRWFjaChjbGF6eiA9PiB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHNwYW4sIGNsYXp6KSk7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZCh0aGlzLmVsUmVmLm5hdGl2ZUVsZW1lbnQsIHNwYW4pO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hpbGRyZW5DcmVhdGVkLnB1c2goc3Bhbik7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IHRleHQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZVRleHQocGFydC5jb250ZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCwgdGV4dCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGlsZHJlbkNyZWF0ZWQucHVzaCh0ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBlbFJlZjogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGF0aWMgcGFyc2UodG9QYXJzZTogc3RyaW5nKTogUGFydFtdIHtcbiAgICAgICAgY29uc3QgcGFydHM6IFBhcnRbXSA9IFtdO1xuXG4gICAgICAgIGxldCBzdGFydEluZGV4ID0gdG9QYXJzZS5pbmRleE9mKFBBUlRfU1RBUlQpO1xuICAgICAgICB3aGlsZSAoc3RhcnRJbmRleCA+PSAwKSB7XG4gICAgICAgICAgICBpZiAoc3RhcnRJbmRleCA+IDApIHtcbiAgICAgICAgICAgICAgICAvLyBPcHRpb25hbCBzdGFydCBiZWZvcmUgcGFyc2VyIHN0YXJ0LlxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goe2NvbnRlbnQ6IHRvUGFyc2Uuc3Vic3RyKDAsIHN0YXJ0SW5kZXgpfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBlbGVtID0gdGhpcy5jdXRGaXJzdEdyb3VwKHRvUGFyc2Uuc3Vic3RyKHN0YXJ0SW5kZXgpKTtcbiAgICAgICAgICAgIGlmIChlbGVtID09PSAnaW52YWxpZCcpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGVsZW0pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHtjb250ZW50OiBlbGVtLmNvbnRlbnQsIGNsYXp6OiBlbGVtLmNsYXNzZXN9KTtcbiAgICAgICAgICAgICAgICB0b1BhcnNlID0gZWxlbS5yZXN0O1xuICAgICAgICAgICAgICAgIHN0YXJ0SW5kZXggPSB0b1BhcnNlLmluZGV4T2YoUEFSVF9TVEFSVCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goe2NvbnRlbnQ6IHRvUGFyc2V9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBWZXJ5IGVuZFxuICAgICAgICBpZiAodG9QYXJzZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHtjb250ZW50OiB0b1BhcnNlfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnRzO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGN1dEZpcnN0R3JvdXAodG9DdXQ6IHN0cmluZyk6IHtjb250ZW50OiBzdHJpbmcsIGNsYXNzZXM6IHN0cmluZ1tdLCByZXN0OiBzdHJpbmd9IHwgJ2ludmFsaWQnIHwgbnVsbCB7XG4gICAgICAgIGlmICghdG9DdXQuc3RhcnRzV2l0aChQQVJUX1NUQVJUKSkge1xuICAgICAgICAgICAgLy8gU3RyaW5nIGRvZXNudCBzdGFydCB3aXRoIGV4cGVjdGVkIHBhcnNlciBzdGFydC5cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWZ0ZXJQYXJzZXJTdGFydCA9IHRvQ3V0LnN1YnN0cihQQVJUX1NUQVJULmxlbmd0aCk7XG4gICAgICAgIGxldCBpbmRleCA9IGFmdGVyUGFyc2VyU3RhcnQuaW5kZXhPZihQQVJTRV9NSURETEUpO1xuICAgICAgICBpZiAoaW5kZXggPD0gMCkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcignTm90IGFibGUgdG8gcGFyc2UgaW52YWxpZCBzdHJpbmc6ICcgKyB0b0N1dCk7XG4gICAgICAgICAgICByZXR1cm4gJ2ludmFsaWQnO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSBhZnRlclBhcnNlclN0YXJ0LnN1YnN0cigwLCBpbmRleCk7XG4gICAgICAgIGxldCByZXN0ID0gYWZ0ZXJQYXJzZXJTdGFydC5zdWJzdHIoaW5kZXggKyBQQVJTRV9NSURETEUubGVuZ3RoKTtcbiAgICAgICAgaW5kZXggPSByZXN0LmluZGV4T2YoUEFSU0VfRU5EKTtcbiAgICAgICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ05vdCBhYmxlIHRvIHBhcnNlIGludmFsaWQgc3RyaW5nOiAnICsgdG9DdXQpO1xuICAgICAgICAgICAgcmV0dXJuICdpbnZhbGlkJztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZW50ID0gcmVzdC5zdWJzdHIoMCwgaW5kZXgpO1xuICAgICAgICByZXN0ID0gcmVzdC5zdWJzdHIoaW5kZXggKyBQQVJTRV9FTkQubGVuZ3RoKTtcblxuICAgICAgICByZXR1cm4ge2NvbnRlbnQsIGNsYXNzZXM6IGNsYXNzZXMuc3BsaXQoQ0xBU1NfU0VQQVJBVE9SKSwgcmVzdH07XG4gICAgfVxufVxuIl19
@@ -0,0 +1,33 @@
1
+ // Angular
2
+ import { Directive, Input } from '@angular/core';
3
+ // Third-parties
4
+ import { fromEvent } from "rxjs";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../tooltip-neo/tooltip-neo.directive";
7
+ export class TruncateTooltipDirective {
8
+ constructor(tooltipNeo, elementRef) {
9
+ this.tooltipNeo = tooltipNeo;
10
+ this.elementRef = elementRef;
11
+ }
12
+ updateTruncateState() {
13
+ const element = this.elementRef.nativeElement;
14
+ const truncated = element.scrollWidth > element.clientWidth;
15
+ this.tooltipNeo.apTooltipNeo = truncated ? this.truncateTooltip : '';
16
+ }
17
+ ngOnInit() {
18
+ this.elementRefMouseOver$ = fromEvent(this.elementRef.nativeElement, 'mouseover')
19
+ .subscribe(() => this.updateTruncateState());
20
+ }
21
+ ngOnDestroy() {
22
+ this.elementRefMouseOver$.unsubscribe();
23
+ }
24
+ }
25
+ /** @nocollapse */ /** @nocollapse */ TruncateTooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TruncateTooltipDirective, deps: [{ token: i1.TooltipNeoDirective }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
26
+ /** @nocollapse */ /** @nocollapse */ TruncateTooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.3", type: TruncateTooltipDirective, selector: "[apTooltipNeo][truncateTooltip]", inputs: { truncateTooltip: "truncateTooltip" }, ngImport: i0 });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: TruncateTooltipDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{ selector: '[apTooltipNeo][truncateTooltip]' }]
30
+ }], ctorParameters: function () { return [{ type: i1.TooltipNeoDirective }, { type: i0.ElementRef }]; }, propDecorators: { truncateTooltip: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUtdG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpLWNvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3RydW5jYXRlLXRvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFVBQVU7QUFDVixPQUFPLEVBQUMsU0FBUyxFQUFjLEtBQUssRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFDOUUsZ0JBQWdCO0FBQ2hCLE9BQU8sRUFBQyxTQUFTLEVBQWUsTUFBTSxNQUFNLENBQUM7OztBQUc3QyxNQUFNLE9BQU8sd0JBQXdCO0lBTWpDLFlBQ1ksVUFBK0IsRUFDL0IsVUFBbUM7UUFEbkMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0IsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7SUFFL0MsQ0FBQztJQUVPLG1CQUFtQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUM5QyxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXLENBQUM7UUFDNUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQzthQUM1RSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDOzsySkF6QlEsd0JBQXdCOytJQUF4Qix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFEcEMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxpQ0FBaUMsRUFBQzttSUFHM0MsZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFnb3JhcHVsc2VcbmltcG9ydCB7VG9vbHRpcE5lb0RpcmVjdGl2ZX0gZnJvbSAnLi4vdG9vbHRpcC1uZW8vdG9vbHRpcC1uZW8uZGlyZWN0aXZlJztcbmltcG9ydCB7VG9vbHRpcE5lb1BhcmFtc30gZnJvbSAnLi4vdG9vbHRpcC1uZW8vdG9vbHRpcC1uZW8ubW9kZWwnO1xuLy8gQW5ndWxhclxuaW1wb3J0IHtEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG4vLyBUaGlyZC1wYXJ0aWVzXG5pbXBvcnQge2Zyb21FdmVudCwgU3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1thcFRvb2x0aXBOZW9dW3RydW5jYXRlVG9vbHRpcF0nfSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVRvb2x0aXBEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgICBASW5wdXQoKSB0cnVuY2F0ZVRvb2x0aXA6IHN0cmluZyB8IFRvb2x0aXBOZW9QYXJhbXM7XG5cbiAgICBwcml2YXRlIGVsZW1lbnRSZWZNb3VzZU92ZXIkOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0b29sdGlwTmVvOiBUb29sdGlwTmVvRGlyZWN0aXZlLFxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+XG4gICAgKSB7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUcnVuY2F0ZVN0YXRlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRydW5jYXRlZCA9IGVsZW1lbnQuc2Nyb2xsV2lkdGggPiBlbGVtZW50LmNsaWVudFdpZHRoO1xuICAgICAgICB0aGlzLnRvb2x0aXBOZW8uYXBUb29sdGlwTmVvID0gdHJ1bmNhdGVkID8gdGhpcy50cnVuY2F0ZVRvb2x0aXAgOiAnJztcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmTW91c2VPdmVyJCA9IGZyb21FdmVudCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlb3ZlcicpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlVHJ1bmNhdGVTdGF0ZSgpKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lbGVtZW50UmVmTW91c2VPdmVyJC51bnN1YnNjcmliZSgpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,43 @@
1
+ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class DotsStepperComponent {
5
+ constructor() {
6
+ this.disabled = false;
7
+ this.forwardAllowed = true;
8
+ this.items = [];
9
+ this.size = '';
10
+ this.dotClick = new EventEmitter();
11
+ }
12
+ ngOnChanges() {
13
+ this.currentItem = this.items[this.index];
14
+ }
15
+ onDotClick(event, item, index) {
16
+ event.stopPropagation();
17
+ if (this.disabled || (!this.forwardAllowed && index > this.index)) {
18
+ return;
19
+ }
20
+ this.currentItem = item;
21
+ this.index = index;
22
+ this.dotClick.emit(this.index);
23
+ }
24
+ }
25
+ /** @nocollapse */ /** @nocollapse */ DotsStepperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DotsStepperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ /** @nocollapse */ /** @nocollapse */ DotsStepperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: DotsStepperComponent, selector: "ap-dots-stepper", inputs: { disabled: "disabled", forwardAllowed: "forwardAllowed", index: "index", items: "items", size: "size" }, outputs: { dotClick: "dotClick" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"dots\"\n [ngClass]=\"{'small-dots': size == 'small'}\">\n <div class=\"dot\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"{'active': item === currentItem, 'disabled': disabled || (!forwardAllowed && i > index) }\"\n (click)=\"onDotClick($event, item, i)\">\n </div>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.dots{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;place-content:stretch center;position:absolute}.dots .dot{-webkit-transition:all .2s ease-in-out;background:#d6dae0;border-radius:50%;cursor:pointer;height:8px;margin:16px 4px;transition:all .2s ease-in-out;width:8px}.dots .dot.active{background:#178dfe;cursor:initial}.dots .dot.disabled{background:#d6dae0;cursor:initial}.dots.small-dots .dot{height:6px;margin:16px 2px;width:6px}\n"], directives: [{ type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: DotsStepperComponent, decorators: [{
28
+ type: Component,
29
+ args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-dots-stepper', template: "<div class=\"dots\"\n [ngClass]=\"{'small-dots': size == 'small'}\">\n <div class=\"dot\"\n *ngFor=\"let item of items; let i = index\"\n [ngClass]=\"{'active': item === currentItem, 'disabled': disabled || (!forwardAllowed && i > index) }\"\n (click)=\"onDotClick($event, item, i)\">\n </div>\n</div>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}.dots{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:row;place-content:stretch center;position:absolute}.dots .dot{-webkit-transition:all .2s ease-in-out;background:#d6dae0;border-radius:50%;cursor:pointer;height:8px;margin:16px 4px;transition:all .2s ease-in-out;width:8px}.dots .dot.active{background:#178dfe;cursor:initial}.dots .dot.disabled{background:#d6dae0;cursor:initial}.dots.small-dots .dot{height:6px;margin:16px 2px;width:6px}\n"] }]
30
+ }], ctorParameters: function () { return []; }, propDecorators: { disabled: [{
31
+ type: Input
32
+ }], forwardAllowed: [{
33
+ type: Input
34
+ }], index: [{
35
+ type: Input
36
+ }], items: [{
37
+ type: Input
38
+ }], size: [{
39
+ type: Input
40
+ }], dotClick: [{
41
+ type: Output
42
+ }] } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90cy1zdGVwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2RvdHMtc3RlcHBlci9kb3RzLXN0ZXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZG90cy1zdGVwcGVyL2RvdHMtc3RlcHBlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFRekcsTUFBTSxPQUFPLG9CQUFvQjtJQVk3QjtRQVZTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsbUJBQWMsR0FBWSxJQUFJLENBQUM7UUFFL0IsVUFBSyxHQUFVLEVBQUUsQ0FBQztRQUNsQixTQUFJLEdBQVcsRUFBRSxDQUFDO1FBRWpCLGFBQVEsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUt0RSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUs7UUFDekIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsSUFBSSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9ELE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOzt1SkEzQlEsb0JBQW9COzJJQUFwQixvQkFBb0IsaU9DUmpDLG1WQVFBOzJGREFhLG9CQUFvQjtrQkFOaEMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLGlCQUFpQjswRUFNbEIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1kb3RzLXN0ZXBwZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kb3RzLXN0ZXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RvdHMtc3RlcHBlci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIERvdHNTdGVwcGVyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgZm9yd2FyZEFsbG93ZWQ6IGJvb2xlYW4gPSB0cnVlO1xuICAgIEBJbnB1dCgpIGluZGV4OiBudW1iZXI7XG4gICAgQElucHV0KCkgaXRlbXM6IGFueVtdID0gW107XG4gICAgQElucHV0KCkgc2l6ZTogc3RyaW5nID0gJyc7XG5cbiAgICBAT3V0cHV0KCkgZG90Q2xpY2s6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBjdXJyZW50SXRlbTogYW55O1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoKSB7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW0gPSB0aGlzLml0ZW1zW3RoaXMuaW5kZXhdO1xuICAgIH1cblxuICAgIG9uRG90Q2xpY2soZXZlbnQsIGl0ZW0sIGluZGV4KSB7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCB8fMKgKCF0aGlzLmZvcndhcmRBbGxvd2VkICYmIGluZGV4ID4gdGhpcy5pbmRleCkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmN1cnJlbnRJdGVtID0gaXRlbTtcbiAgICAgICAgdGhpcy5pbmRleCA9IGluZGV4O1xuICAgICAgICB0aGlzLmRvdENsaWNrLmVtaXQodGhpcy5pbmRleCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvdHNcIlxuICAgIFtuZ0NsYXNzXT1cInsnc21hbGwtZG90cyc6IHNpemUgPT0gJ3NtYWxsJ31cIj5cbiAgICA8ZGl2IGNsYXNzPVwiZG90XCJcbiAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaXRlbSA9PT0gY3VycmVudEl0ZW0sICdkaXNhYmxlZCc6IGRpc2FibGVkIHx8ICghZm9yd2FyZEFsbG93ZWQgICYmIGkgPiBpbmRleCkgfVwiXG4gICAgICAgICAoY2xpY2spPVwib25Eb3RDbGljaygkZXZlbnQsIGl0ZW0sIGkpXCI+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==