@kms-ngx-ui/presentational 0.0.24 → 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/README.md +28 -28
  2. package/{esm2015/kms-ngx-ui-presentational.js → esm2020/kms-ngx-ui-presentational.mjs} +4 -4
  3. package/esm2020/lib/directives/directives.module.mjs +40 -0
  4. package/{esm2015/lib/directives/mousewheel.directive.js → esm2020/lib/directives/mousewheel.directive.mjs} +56 -56
  5. package/{esm2015/lib/directives/sum-of-height.directive.js → esm2020/lib/directives/sum-of-height.directive.mjs} +74 -74
  6. package/{esm2015/lib/directives/swipe.directive.js → esm2020/lib/directives/swipe.directive.mjs} +183 -183
  7. package/esm2020/lib/directives/swipe.model.mjs +5 -0
  8. package/{esm2015/lib/directives/tooltip.directive.js → esm2020/lib/directives/tooltip.directive.mjs} +144 -144
  9. package/{esm2015/lib/kms-ngx-ui-presentational.component.js → esm2020/lib/kms-ngx-ui-presentational.component.mjs} +26 -26
  10. package/{esm2015/lib/kms-ngx-ui-presentational.module.js → esm2020/lib/kms-ngx-ui-presentational.module.mjs} +217 -217
  11. package/{esm2015/lib/kms-ngx-ui-presentational.service.js → esm2020/lib/kms-ngx-ui-presentational.service.mjs} +14 -14
  12. package/esm2020/lib/models/address.model.mjs +6 -0
  13. package/{esm2015/lib/models/iconSize.enum.js → esm2020/lib/models/iconSize.enum.mjs} +17 -17
  14. package/{esm2015/lib/models/image-snippet.model.js → esm2020/lib/models/image-snippet.model.mjs} +18 -18
  15. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +5 -5
  16. package/{esm2015/lib/models/is-value.function.js → esm2020/lib/models/is-value.function.mjs} +17 -17
  17. package/{esm2015/lib/models/salutation.enum.js → esm2020/lib/models/salutation.enum.mjs} +8 -8
  18. package/{esm2015/lib/models/types/attached-file-dto.model.js → esm2020/lib/models/types/attached-file-dto.model.mjs} +6 -6
  19. package/{esm2015/lib/models/types/nullable.type.js → esm2020/lib/models/types/nullable.type.mjs} +5 -5
  20. package/{esm2015/lib/parent-components/actions.component.js → esm2020/lib/parent-components/actions.component.mjs} +56 -56
  21. package/esm2020/lib/parent-components/form-control.component.mjs +75 -0
  22. package/esm2020/lib/parent-components/form.component.mjs +78 -0
  23. package/{esm2015/lib/pipes/custom-pipes.module.js → esm2020/lib/pipes/custom-pipes.module.mjs} +71 -71
  24. package/{esm2015/lib/pipes/decode-uri.pipe.js → esm2020/lib/pipes/decode-uri.pipe.mjs} +19 -19
  25. package/{esm2015/lib/pipes/encode-uri.pipe.js → esm2020/lib/pipes/encode-uri.pipe.mjs} +19 -19
  26. package/{esm2015/lib/pipes/integer-currency.pipe.js → esm2020/lib/pipes/integer-currency.pipe.mjs} +27 -27
  27. package/{esm2015/lib/pipes/safe-html.pipe.js → esm2020/lib/pipes/safe-html.pipe.mjs} +23 -23
  28. package/{esm2015/lib/pipes/safe-resource-url.pipe.js → esm2020/lib/pipes/safe-resource-url.pipe.mjs} +23 -23
  29. package/{esm2015/lib/pipes/safe-style.pipe.js → esm2020/lib/pipes/safe-style.pipe.mjs} +23 -23
  30. package/{esm2015/lib/pipes/safe-url.pipe.js → esm2020/lib/pipes/safe-url.pipe.mjs} +23 -23
  31. package/{esm2015/lib/pipes/to-number.pipe.js → esm2020/lib/pipes/to-number.pipe.mjs} +23 -23
  32. package/{esm2015/lib/pipes/trim.pipe.js → esm2020/lib/pipes/trim.pipe.mjs} +20 -20
  33. package/{esm2015/lib/pipes/typeof.pipe.js → esm2020/lib/pipes/typeof.pipe.mjs} +16 -16
  34. package/esm2020/lib/services/viewport.service.mjs +216 -0
  35. package/esm2020/lib/ui/back-to-top/back-to-top.component.mjs +49 -0
  36. package/{esm2015/lib/ui/button-with-confirm-dialog/button-response-types.enum.js → esm2020/lib/ui/button-with-confirm-dialog/button-response-types.enum.mjs} +6 -6
  37. package/esm2020/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.mjs +58 -0
  38. package/{esm2015/lib/ui/button-with-confirm-dialog/dialog-data.model.js → esm2020/lib/ui/button-with-confirm-dialog/dialog-data.model.mjs} +2 -2
  39. package/esm2020/lib/ui/checkbox/checkbox.component.mjs +71 -0
  40. package/esm2020/lib/ui/color-input/color-input.component.mjs +76 -0
  41. package/esm2020/lib/ui/dropdown-from-data/dropdown-from-data.component.mjs +165 -0
  42. package/esm2020/lib/ui/enum-radiogroup/enum-radiogroup.component.mjs +53 -0
  43. package/esm2020/lib/ui/file-input/file-input.component.mjs +232 -0
  44. package/esm2020/lib/ui/flyout/flyout.component.mjs +119 -0
  45. package/esm2020/lib/ui/generic-dialog/generic-dialog.component.mjs +54 -0
  46. package/esm2020/lib/ui/icon/icon.component.mjs +48 -0
  47. package/esm2020/lib/ui/icon/iconSize.enum.mjs +17 -0
  48. package/esm2020/lib/ui/image-slider/image-slider.component.mjs +189 -0
  49. package/esm2020/lib/ui/kms-accordion-item/kms-accordion-item.component.mjs +40 -0
  50. package/esm2020/lib/ui/loader/loader.component.mjs +21 -0
  51. package/esm2020/lib/ui/map/map.component.mjs +116 -0
  52. package/esm2020/lib/ui/radiobutton/radiobutton.component.mjs +73 -0
  53. package/esm2020/lib/ui/salutation-dropdown/salutation-dropdown.component.mjs +55 -0
  54. package/esm2020/lib/ui/salutation-radiogroup/salutation-radiogroup.component.mjs +49 -0
  55. package/esm2020/lib/ui/time-input/time-input.component.mjs +83 -0
  56. package/esm2020/lib/ui/tooltip/tooltip.component.mjs +16 -0
  57. package/esm2020/lib/ui/tooltip-icon/tooltip-icon.component.mjs +35 -0
  58. package/esm2020/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.mjs +82 -0
  59. package/esm2020/public-api.mjs +49 -0
  60. package/fesm2015/kms-ngx-ui-presentational.mjs +3019 -0
  61. package/fesm2015/kms-ngx-ui-presentational.mjs.map +1 -0
  62. package/{fesm2015/kms-ngx-ui-presentational.js → fesm2020/kms-ngx-ui-presentational.mjs} +2879 -3087
  63. package/fesm2020/kms-ngx-ui-presentational.mjs.map +1 -0
  64. package/kms-ngx-ui-presentational.d.ts +5 -5
  65. package/lib/directives/directives.module.d.ts +11 -13
  66. package/lib/directives/mousewheel.directive.d.ts +15 -15
  67. package/lib/directives/sum-of-height.directive.d.ts +31 -31
  68. package/lib/directives/swipe.directive.d.ts +45 -45
  69. package/lib/directives/swipe.model.d.ts +49 -49
  70. package/lib/directives/tooltip.directive.d.ts +29 -29
  71. package/lib/kms-ngx-ui-presentational.component.d.ts +8 -8
  72. package/lib/kms-ngx-ui-presentational.module.d.ts +47 -47
  73. package/lib/kms-ngx-ui-presentational.service.d.ts +6 -6
  74. package/lib/models/address.model.d.ts +14 -14
  75. package/lib/models/iconSize.enum.d.ts +15 -15
  76. package/lib/models/image-snippet.model.d.ts +15 -15
  77. package/lib/models/index.d.ts +4 -4
  78. package/lib/models/is-value.function.d.ts +9 -9
  79. package/lib/models/salutation.enum.d.ts +5 -5
  80. package/lib/models/types/attached-file-dto.model.d.ts +11 -11
  81. package/lib/models/types/nullable.type.d.ts +4 -4
  82. package/lib/parent-components/actions.component.d.ts +31 -31
  83. package/lib/parent-components/form-control.component.d.ts +27 -27
  84. package/lib/parent-components/form.component.d.ts +34 -40
  85. package/lib/pipes/custom-pipes.module.d.ts +17 -17
  86. package/lib/pipes/decode-uri.pipe.d.ts +10 -10
  87. package/lib/pipes/encode-uri.pipe.d.ts +10 -10
  88. package/lib/pipes/integer-currency.pipe.d.ts +13 -13
  89. package/lib/pipes/safe-html.pipe.d.ts +13 -13
  90. package/lib/pipes/safe-resource-url.pipe.d.ts +13 -13
  91. package/lib/pipes/safe-style.pipe.d.ts +13 -13
  92. package/lib/pipes/safe-url.pipe.d.ts +13 -13
  93. package/lib/pipes/to-number.pipe.d.ts +10 -10
  94. package/lib/pipes/trim.pipe.d.ts +10 -10
  95. package/lib/pipes/typeof.pipe.d.ts +7 -7
  96. package/lib/services/viewport.service.d.ts +74 -83
  97. package/lib/ui/back-to-top/back-to-top.component.d.ts +10 -10
  98. package/lib/ui/button-with-confirm-dialog/button-response-types.enum.d.ts +4 -4
  99. package/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.d.ts +19 -19
  100. package/lib/ui/button-with-confirm-dialog/dialog-data.model.d.ts +9 -9
  101. package/lib/ui/checkbox/checkbox.component.d.ts +31 -31
  102. package/lib/ui/color-input/color-input.component.d.ts +19 -19
  103. package/lib/ui/dropdown-from-data/dropdown-from-data.component.d.ts +55 -55
  104. package/lib/ui/enum-radiogroup/enum-radiogroup.component.d.ts +17 -17
  105. package/lib/ui/file-input/file-input.component.d.ts +89 -89
  106. package/lib/ui/flyout/flyout.component.d.ts +32 -32
  107. package/lib/ui/generic-dialog/generic-dialog.component.d.ts +26 -26
  108. package/lib/ui/icon/icon.component.d.ts +42 -48
  109. package/lib/ui/icon/iconSize.enum.d.ts +15 -25
  110. package/lib/ui/image-slider/image-slider.component.d.ts +62 -62
  111. package/lib/ui/kms-accordion-item/kms-accordion-item.component.d.ts +22 -22
  112. package/lib/ui/loader/loader.component.d.ts +9 -9
  113. package/lib/ui/map/map.component.d.ts +69 -69
  114. package/lib/ui/radiobutton/radiobutton.component.d.ts +26 -27
  115. package/lib/ui/salutation-dropdown/salutation-dropdown.component.d.ts +17 -17
  116. package/lib/ui/salutation-radiogroup/salutation-radiogroup.component.d.ts +15 -15
  117. package/lib/ui/time-input/time-input.component.d.ts +22 -22
  118. package/lib/ui/tooltip/tooltip.component.d.ts +6 -6
  119. package/lib/ui/tooltip-icon/tooltip-icon.component.d.ts +13 -13
  120. package/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.d.ts +27 -27
  121. package/package.json +25 -12
  122. package/public-api.d.ts +45 -46
  123. package/src/lib/ui/back-to-top/back-to-top.component.scss +46 -45
  124. package/src/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.scss +2 -2
  125. package/src/lib/ui/checkbox/checkbox.component.scss +48 -48
  126. package/src/lib/ui/color-input/color-input.component.scss +38 -38
  127. package/src/lib/ui/file-input/file-input.component.scss +2 -2
  128. package/src/lib/ui/flyout/flyout.component.scss +34 -34
  129. package/src/lib/ui/generic-dialog/generic-dialog.component.scss +59 -59
  130. package/src/lib/ui/icon/icon.component.scss +148 -114
  131. package/src/lib/ui/image-slider/image-slider.component.scss +219 -219
  132. package/src/lib/ui/kms-accordion-item/kms-accordion-item.component.scss +95 -95
  133. package/src/lib/ui/radiobutton/radiobutton.component.scss +31 -31
  134. package/src/lib/ui/time-input/time-input.component.scss +10 -10
  135. package/src/lib/ui/tooltip/tooltip.component.scss +26 -26
  136. package/src/lib/ui/tooltip-icon/tooltip-icon.component.scss +2 -2
  137. package/src/styles/mixins.scss +8 -8
  138. package/src/styles/styles.scss +30 -31
  139. package/bundles/kms-ngx-ui-presentational.umd.js +0 -3751
  140. package/bundles/kms-ngx-ui-presentational.umd.js.map +0 -1
  141. package/esm2015/lib/directives/directives.module.js +0 -45
  142. package/esm2015/lib/directives/size.directive.js +0 -21
  143. package/esm2015/lib/directives/swipe.model.js +0 -5
  144. package/esm2015/lib/models/address.model.js +0 -6
  145. package/esm2015/lib/parent-components/colorable.component.js +0 -35
  146. package/esm2015/lib/parent-components/form-control.component.js +0 -76
  147. package/esm2015/lib/parent-components/form.component.js +0 -99
  148. package/esm2015/lib/services/viewport.service.js +0 -242
  149. package/esm2015/lib/ui/back-to-top/back-to-top.component.js +0 -52
  150. package/esm2015/lib/ui/button-with-confirm-dialog/button-with-confirm-dialog.component.js +0 -62
  151. package/esm2015/lib/ui/checkbox/checkbox.component.js +0 -76
  152. package/esm2015/lib/ui/color-input/color-input.component.js +0 -81
  153. package/esm2015/lib/ui/dropdown-from-data/dropdown-from-data.component.js +0 -169
  154. package/esm2015/lib/ui/enum-radiogroup/enum-radiogroup.component.js +0 -57
  155. package/esm2015/lib/ui/file-input/file-input.component.js +0 -237
  156. package/esm2015/lib/ui/flyout/flyout.component.js +0 -125
  157. package/esm2015/lib/ui/generic-dialog/generic-dialog.component.js +0 -58
  158. package/esm2015/lib/ui/icon/icon.component.js +0 -55
  159. package/esm2015/lib/ui/icon/iconSize.enum.js +0 -28
  160. package/esm2015/lib/ui/image-slider/image-slider.component.js +0 -193
  161. package/esm2015/lib/ui/kms-accordion-item/kms-accordion-item.component.js +0 -44
  162. package/esm2015/lib/ui/loader/loader.component.js +0 -25
  163. package/esm2015/lib/ui/map/map.component.js +0 -120
  164. package/esm2015/lib/ui/radiobutton/radiobutton.component.js +0 -82
  165. package/esm2015/lib/ui/salutation-dropdown/salutation-dropdown.component.js +0 -59
  166. package/esm2015/lib/ui/salutation-radiogroup/salutation-radiogroup.component.js +0 -53
  167. package/esm2015/lib/ui/time-input/time-input.component.js +0 -88
  168. package/esm2015/lib/ui/tooltip/tooltip.component.js +0 -20
  169. package/esm2015/lib/ui/tooltip-icon/tooltip-icon.component.js +0 -40
  170. package/esm2015/lib/ui/yes-no-radiogroup/yes-no-radiogroup.component.js +0 -86
  171. package/esm2015/public-api.js +0 -50
  172. package/fesm2015/kms-ngx-ui-presentational.js.map +0 -1
  173. package/lib/directives/size.directive.d.ts +0 -10
  174. package/lib/parent-components/colorable.component.d.ts +0 -10
  175. package/src/styles/animations.scss +0 -47
@@ -0,0 +1,119 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { state, style, trigger } from '@angular/animations';
5
+ import { Component, Input, ViewChild, } from '@angular/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../icon/icon.component";
8
+ import * as i2 from "@angular/common";
9
+ import * as i3 from "../../directives/sum-of-height.directive";
10
+ import * as i4 from "../../pipes/safe-html.pipe";
11
+ export class FlyoutComponent {
12
+ constructor() {
13
+ this.icon = 'filter';
14
+ this.isDropdownOpened = false;
15
+ this.targetHeight = '0';
16
+ this.animationTime = 5000;
17
+ this.headerCssClass = '';
18
+ this.bodyCssClass = '';
19
+ this.headerTitle = '';
20
+ this.headerText = '';
21
+ this.hasButtonForMore = false;
22
+ this.moreText = '';
23
+ this.lessText = '';
24
+ }
25
+ /**
26
+ * Open/close dropdown if click on header.
27
+ * Except, if mode is set to hasButtonForMore. When there is a extra button to open/close
28
+ */
29
+ toggleDropdownHeader() {
30
+ if (!this.hasButtonForMore) {
31
+ this.toggleDropdown();
32
+ }
33
+ }
34
+ /**
35
+ * Open or close the dropdown
36
+ */
37
+ toggleDropdown() {
38
+ this.isDropdownOpened = !this.isDropdownOpened;
39
+ }
40
+ /**
41
+ * Set the height of the dropdown list items dynamic - needed for the animation
42
+ */
43
+ setDropdownListHeight(contentHeight) {
44
+ this.targetHeight = `${contentHeight}px`;
45
+ }
46
+ }
47
+ FlyoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FlyoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
48
+ FlyoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FlyoutComponent, selector: "kms-flyout", inputs: { icon: "icon", headerCssClass: "headerCssClass", bodyCssClass: "bodyCssClass", headerTitle: "headerTitle", headerText: "headerText", hasButtonForMore: "hasButtonForMore", moreText: "moreText", lessText: "lessText" }, viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "flyoutHeader", first: true, predicate: ["flyoutHeader"], descendants: true }], ngImport: i0, template: "<div class=\"flyout\"\n [ngClass]=\"{'is-active': isDropdownOpened}\"\n>\n <div class=\"flyout-header\" (click)=\"toggleDropdownHeader()\" [ngClass]=\"headerCssClass\">\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n <div *ngIf=\"hasButtonForMore\" (click)=\"toggleDropdown()\" class=\"flyout-header-more\">\n <span *ngIf=\"!isDropdownOpened\">\n {{ moreText }}\n </span>\n <span *ngIf=\"isDropdownOpened\">\n {{ lessText }}\n </span>\n <kms-icon [icon]=\"'chevron-down'\"\n [iconClass]=\"{'size-16': true, 'is-rotating180': isDropdownOpened}\" >\n </kms-icon>\n </div>\n </div>\n <div \n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{value: isDropdownOpened, params: {targetHeight: targetHeight, animationTime: '500'}}\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader>\n <div class=\"inner\" #content>\n <ng-content ></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [""], components: [{ type: i1.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "dontUseSprite"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.GetMaxHeightDirective, selector: "[getMaxHeight]", inputs: ["getMaxHeight"], outputs: ["maxHeightChanged", "sumOfHeight"] }], pipes: { "kmsSafeHtml": i4.SafeHtmlPipe }, animations: [
49
+ trigger('dropdownAnimation', [
50
+ state('true', style({
51
+ height: '{{targetHeight}}',
52
+ transition: 'height {{animationTime}}ms ease-in-out',
53
+ }), {
54
+ params: {
55
+ targetHeight: '300px',
56
+ animationTime: 3000,
57
+ },
58
+ }),
59
+ state('false', style({
60
+ height: 0,
61
+ transition: 'height {{animationTime}}ms ease-in-out',
62
+ }), {
63
+ params: {
64
+ targetHeight: '300px',
65
+ opacity: 0,
66
+ animationTime: 3000,
67
+ },
68
+ }),
69
+ ]),
70
+ ] });
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FlyoutComponent, decorators: [{
72
+ type: Component,
73
+ args: [{ selector: 'kms-flyout', animations: [
74
+ trigger('dropdownAnimation', [
75
+ state('true', style({
76
+ height: '{{targetHeight}}',
77
+ transition: 'height {{animationTime}}ms ease-in-out',
78
+ }), {
79
+ params: {
80
+ targetHeight: '300px',
81
+ animationTime: 3000,
82
+ },
83
+ }),
84
+ state('false', style({
85
+ height: 0,
86
+ transition: 'height {{animationTime}}ms ease-in-out',
87
+ }), {
88
+ params: {
89
+ targetHeight: '300px',
90
+ opacity: 0,
91
+ animationTime: 3000,
92
+ },
93
+ }),
94
+ ]),
95
+ ], template: "<div class=\"flyout\"\n [ngClass]=\"{'is-active': isDropdownOpened}\"\n>\n <div class=\"flyout-header\" (click)=\"toggleDropdownHeader()\" [ngClass]=\"headerCssClass\">\n <span [innerHtml]=\"headerTitle | kmsSafeHtml\"></span>\n <span [innerHtml]=\"headerText | kmsSafeHtml\"></span>\n\n <ng-content select=\"[header]\"></ng-content>\n\n <div *ngIf=\"hasButtonForMore\" (click)=\"toggleDropdown()\" class=\"flyout-header-more\">\n <span *ngIf=\"!isDropdownOpened\">\n {{ moreText }}\n </span>\n <span *ngIf=\"isDropdownOpened\">\n {{ lessText }}\n </span>\n <kms-icon [icon]=\"'chevron-down'\"\n [iconClass]=\"{'size-16': true, 'is-rotating180': isDropdownOpened}\" >\n </kms-icon>\n </div>\n </div>\n <div \n class=\"flyout-body\"\n [ngClass]=\"bodyCssClass\"\n tabindex=\"0\"\n [@dropdownAnimation]=\"{value: isDropdownOpened, params: {targetHeight: targetHeight, animationTime: '500'}}\"\n getMaxHeight=\"inner\"\n (sumOfHeight)=\"setDropdownListHeight($event)\"\n #flyoutHeader>\n <div class=\"inner\" #content>\n <ng-content ></ng-content>\n </div>\n </div>\n\n</div>\n", styles: [""] }]
96
+ }], propDecorators: { icon: [{
97
+ type: Input
98
+ }], headerCssClass: [{
99
+ type: Input
100
+ }], bodyCssClass: [{
101
+ type: Input
102
+ }], headerTitle: [{
103
+ type: Input
104
+ }], headerText: [{
105
+ type: Input
106
+ }], hasButtonForMore: [{
107
+ type: Input
108
+ }], moreText: [{
109
+ type: Input
110
+ }], lessText: [{
111
+ type: Input
112
+ }], content: [{
113
+ type: ViewChild,
114
+ args: ['content']
115
+ }], flyoutHeader: [{
116
+ type: ViewChild,
117
+ args: ['flyoutHeader']
118
+ }] } });
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmx5b3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9mbHlvdXQvZmx5b3V0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9mbHlvdXQvZmx5b3V0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDNUQsT0FBTyxFQUNILFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUF1Q3ZCLE1BQU0sT0FBTyxlQUFlO0lBckM1QjtRQXVDYSxTQUFJLEdBQUcsUUFBUSxDQUFDO1FBRXpCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUNuQixrQkFBYSxHQUFHLElBQUksQ0FBQztRQUVaLG1CQUFjLEdBQUcsRUFBRSxDQUFDO1FBQ3BCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBSSxFQUFFLENBQUM7UUFDakIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxhQUFRLEdBQUcsRUFBRSxDQUFDO0tBOEIxQjtJQXZCRzs7O09BR0c7SUFDSCxvQkFBb0I7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDekI7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxjQUFjO1FBQ1YsSUFBSSxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDO0lBQ25ELENBQUM7SUFFRDs7T0FFRztJQUNILHFCQUFxQixDQUFDLGFBQXFCO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxhQUFhLElBQUksQ0FBQztJQUM3QyxDQUFDOzs0R0E1Q1EsZUFBZTtnR0FBZixlQUFlLHVkQ2pENUIsaXlDQW1DQSxrZ0JEbEJnQjtRQUNSLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTtZQUN6QixLQUFLLENBQ0QsTUFBTSxFQUNOLEtBQUssQ0FBQztnQkFDRixNQUFNLEVBQUUsa0JBQWtCO2dCQUMxQixVQUFVLEVBQUUsd0NBQXdDO2FBQ3ZELENBQUMsRUFDRjtnQkFDSSxNQUFNLEVBQUU7b0JBQ0osWUFBWSxFQUFFLE9BQU87b0JBQ3JCLGFBQWEsRUFBRSxJQUFJO2lCQUN0QjthQUNKLENBQ0o7WUFDRCxLQUFLLENBQ0QsT0FBTyxFQUNQLEtBQUssQ0FBQztnQkFDRixNQUFNLEVBQUUsQ0FBQztnQkFDVCxVQUFVLEVBQUUsd0NBQXdDO2FBQ3ZELENBQUMsRUFDRjtnQkFDSSxNQUFNLEVBQUU7b0JBQ0osWUFBWSxFQUFFLE9BQU87b0JBQ3JCLE9BQU8sRUFBRSxDQUFDO29CQUNWLGFBQWEsRUFBRSxJQUFJO2lCQUN0QjthQUNKLENBQ0o7U0FDSixDQUFDO0tBQ0w7MkZBRVEsZUFBZTtrQkFyQzNCLFNBQVM7K0JBRUksWUFBWSxjQUdWO3dCQUNSLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRTs0QkFDekIsS0FBSyxDQUNELE1BQU0sRUFDTixLQUFLLENBQUM7Z0NBQ0YsTUFBTSxFQUFFLGtCQUFrQjtnQ0FDMUIsVUFBVSxFQUFFLHdDQUF3Qzs2QkFDdkQsQ0FBQyxFQUNGO2dDQUNJLE1BQU0sRUFBRTtvQ0FDSixZQUFZLEVBQUUsT0FBTztvQ0FDckIsYUFBYSxFQUFFLElBQUk7aUNBQ3RCOzZCQUNKLENBQ0o7NEJBQ0QsS0FBSyxDQUNELE9BQU8sRUFDUCxLQUFLLENBQUM7Z0NBQ0YsTUFBTSxFQUFFLENBQUM7Z0NBQ1QsVUFBVSxFQUFFLHdDQUF3Qzs2QkFDdkQsQ0FBQyxFQUNGO2dDQUNJLE1BQU0sRUFBRTtvQ0FDSixZQUFZLEVBQUUsT0FBTztvQ0FDckIsT0FBTyxFQUFFLENBQUM7b0NBQ1YsYUFBYSxFQUFFLElBQUk7aUNBQ3RCOzZCQUNKLENBQ0o7eUJBQ0osQ0FBQztxQkFDTDs4QkFJUSxJQUFJO3NCQUFaLEtBQUs7Z0JBTUcsY0FBYztzQkFBdEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUdnQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBRU8sWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cblxuaW1wb3J0IHsgc3RhdGUsIHN0eWxlLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIElucHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIFxuICAgIHNlbGVjdG9yOiAna21zLWZseW91dCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZseW91dC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmx5b3V0LmNvbXBvbmVudC5zY3NzJ10sXG4gICAgYW5pbWF0aW9uczogW1xuICAgICAgICB0cmlnZ2VyKCdkcm9wZG93bkFuaW1hdGlvbicsIFtcbiAgICAgICAgICAgIHN0YXRlKFxuICAgICAgICAgICAgICAgICd0cnVlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJ3t7dGFyZ2V0SGVpZ2h0fX0nLFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAnaGVpZ2h0IHt7YW5pbWF0aW9uVGltZX19bXMgZWFzZS1pbi1vdXQnLFxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRIZWlnaHQ6ICczMDBweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBhbmltYXRpb25UaW1lOiAzMDAwLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgc3RhdGUoXG4gICAgICAgICAgICAgICAgJ2ZhbHNlJyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2hlaWdodCB7e2FuaW1hdGlvblRpbWV9fW1zIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0SGVpZ2h0OiAnMzAwcHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvblRpbWU6IDMwMDAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0pLFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZseW91dENvbXBvbmVudCB7XG5cbiAgICBASW5wdXQoKSBpY29uID0gJ2ZpbHRlcic7XG5cbiAgICBpc0Ryb3Bkb3duT3BlbmVkID0gZmFsc2U7XG4gICAgdGFyZ2V0SGVpZ2h0ID0gJzAnO1xuICAgIGFuaW1hdGlvblRpbWUgPSA1MDAwO1xuXG4gICAgQElucHV0KCkgaGVhZGVyQ3NzQ2xhc3MgPSAnJztcbiAgICBASW5wdXQoKSBib2R5Q3NzQ2xhc3MgPSAnJztcblxuICAgIEBJbnB1dCgpIGhlYWRlclRpdGxlID0gJyc7XG4gICAgQElucHV0KCkgaGVhZGVyVGV4dCAgPSAnJztcbiAgICBASW5wdXQoKSBoYXNCdXR0b25Gb3JNb3JlID0gZmFsc2U7XG4gICAgQElucHV0KCkgbW9yZVRleHQgPSAnJztcbiAgICBASW5wdXQoKSBsZXNzVGV4dCA9ICcnO1xuXG4gICAgXG4gICAgQFZpZXdDaGlsZCgnY29udGVudCcpIGNvbnRlbnQ6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG4gICAgXG4gICAgQFZpZXdDaGlsZCgnZmx5b3V0SGVhZGVyJykgZmx5b3V0SGVhZGVyOiBFbGVtZW50UmVmIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogT3Blbi9jbG9zZSBkcm9wZG93biBpZiBjbGljayBvbiBoZWFkZXIuXG4gICAgICogRXhjZXB0LCBpZiBtb2RlIGlzIHNldCB0byBoYXNCdXR0b25Gb3JNb3JlLiBXaGVuIHRoZXJlIGlzIGEgZXh0cmEgYnV0dG9uIHRvIG9wZW4vY2xvc2VcbiAgICAgKi9cbiAgICB0b2dnbGVEcm9wZG93bkhlYWRlcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0J1dHRvbkZvck1vcmUpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRHJvcGRvd24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE9wZW4gb3IgY2xvc2UgdGhlIGRyb3Bkb3duXG4gICAgICovXG4gICAgdG9nZ2xlRHJvcGRvd24oKSB7XG4gICAgICAgIHRoaXMuaXNEcm9wZG93bk9wZW5lZCA9ICF0aGlzLmlzRHJvcGRvd25PcGVuZWQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBoZWlnaHQgb2YgdGhlIGRyb3Bkb3duIGxpc3QgaXRlbXMgZHluYW1pYyAtIG5lZWRlZCBmb3IgdGhlIGFuaW1hdGlvblxuICAgICAqL1xuICAgIHNldERyb3Bkb3duTGlzdEhlaWdodChjb250ZW50SGVpZ2h0OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50YXJnZXRIZWlnaHQgPSBgJHtjb250ZW50SGVpZ2h0fXB4YDtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmx5b3V0XCJcbiAgICBbbmdDbGFzc109XCJ7J2lzLWFjdGl2ZSc6IGlzRHJvcGRvd25PcGVuZWR9XCJcbj5cbiAgICA8ZGl2IGNsYXNzPVwiZmx5b3V0LWhlYWRlclwiIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bkhlYWRlcigpXCIgW25nQ2xhc3NdPVwiaGVhZGVyQ3NzQ2xhc3NcIj5cbiAgICAgICAgPHNwYW4gW2lubmVySHRtbF09XCJoZWFkZXJUaXRsZSB8IGttc1NhZmVIdG1sXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiBbaW5uZXJIdG1sXT1cImhlYWRlclRleHQgfCBrbXNTYWZlSHRtbFwiPjwvc3Bhbj5cblxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaGVhZGVyXVwiPjwvbmctY29udGVudD5cblxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaGFzQnV0dG9uRm9yTW9yZVwiIChjbGljayk9XCJ0b2dnbGVEcm9wZG93bigpXCIgY2xhc3M9XCJmbHlvdXQtaGVhZGVyLW1vcmVcIj5cbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWlzRHJvcGRvd25PcGVuZWRcIj5cbiAgICAgICAgICAgICAgICB7eyBtb3JlVGV4dCB9fVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0Ryb3Bkb3duT3BlbmVkXCI+XG4gICAgICAgICAgICAgICAge3sgbGVzc1RleHQgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiBbaWNvbl09XCInY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cInsnc2l6ZS0xNic6IHRydWUsICdpcy1yb3RhdGluZzE4MCc6IGlzRHJvcGRvd25PcGVuZWR9XCIgPlxuICAgICAgICAgICAgPC9rbXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJmbHlvdXQtYm9keVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImJvZHlDc3NDbGFzc1wiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIFtAZHJvcGRvd25BbmltYXRpb25dPVwie3ZhbHVlOiBpc0Ryb3Bkb3duT3BlbmVkLCBwYXJhbXM6IHt0YXJnZXRIZWlnaHQ6IHRhcmdldEhlaWdodCwgYW5pbWF0aW9uVGltZTogJzUwMCd9fVwiXG4gICAgICAgIGdldE1heEhlaWdodD1cImlubmVyXCJcbiAgICAgICAgKHN1bU9mSGVpZ2h0KT1cInNldERyb3Bkb3duTGlzdEhlaWdodCgkZXZlbnQpXCJcbiAgICAgICAgI2ZseW91dEhlYWRlcj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImlubmVyXCIgI2NvbnRlbnQ+XG4gICAgICAgICAgICA8bmctY29udGVudCA+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Component, Inject } from '@angular/core';
5
+ import { MAT_DIALOG_DATA } from '@angular/material/dialog';
6
+ import { isValue } from '../../models';
7
+ import { ButtonResponseType } from '../button-with-confirm-dialog/button-response-types.enum';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@angular/material/dialog";
10
+ import * as i2 from "@angular/material/button";
11
+ /**
12
+ * A generic dialog component
13
+ */
14
+ export class GenericDialogComponent {
15
+ constructor(dialogRef, zone, data) {
16
+ this.dialogRef = dialogRef;
17
+ this.zone = zone;
18
+ this.data = data;
19
+ this.ButtonResponseType = ButtonResponseType;
20
+ if (isValue(data.buttons)) {
21
+ this.buttons = data.buttons;
22
+ }
23
+ else {
24
+ this.buttons = { primary: 'Yes', secondary: 'No' };
25
+ }
26
+ }
27
+ /**
28
+ * Action called when clicked
29
+ * @param clickedButton Whether the primary or secondary button was clicked
30
+ */
31
+ onClickAction(clickedButton) {
32
+ this.zone.run(() => {
33
+ this.dialogRef.close(clickedButton);
34
+ this.dialogRef.afterClosed().subscribe(() => {
35
+ const buttonList = document.querySelectorAll('.mat-flat-button, .mat-button');
36
+ let i = 0;
37
+ for (i; i < buttonList.length; i++) {
38
+ buttonList[i].classList.remove('cdk-focused');
39
+ buttonList[i].classList.remove('cdk-program-focused');
40
+ }
41
+ });
42
+ });
43
+ }
44
+ }
45
+ GenericDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: GenericDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: i0.NgZone }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
46
+ GenericDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: GenericDialogComponent, selector: "kms-generic-dialog", ngImport: i0, template: "<div mat-dialog-title class=\"mat-dialog-title\">\n <h3>{{ data.title }}</h3>\n</div>\n<div mat-dialog-content class=\"mat-dialog-content\">\n {{ data.message }}\n</div>\n<div mat-dialog-actions class=\"custom-dialog-actions\">\n <button\n mat-flat-button\n class=\"test_secondary_button\"\n color=\"accent\"\n (click)=\"onClickAction(ButtonResponseType.secondary)\"\n >\n {{ buttons.secondary }}\n </button>\n <button\n mat-flat-button\n class=\"test_primary_button\"\n color=\"primary\"\n (click)=\"onClickAction(ButtonResponseType.primary)\"\n >\n {{ buttons.primary }}\n </button>\n</div>\n", styles: [""], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }] });
47
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: GenericDialogComponent, decorators: [{
48
+ type: Component,
49
+ args: [{ selector: 'kms-generic-dialog', template: "<div mat-dialog-title class=\"mat-dialog-title\">\n <h3>{{ data.title }}</h3>\n</div>\n<div mat-dialog-content class=\"mat-dialog-content\">\n {{ data.message }}\n</div>\n<div mat-dialog-actions class=\"custom-dialog-actions\">\n <button\n mat-flat-button\n class=\"test_secondary_button\"\n color=\"accent\"\n (click)=\"onClickAction(ButtonResponseType.secondary)\"\n >\n {{ buttons.secondary }}\n </button>\n <button\n mat-flat-button\n class=\"test_primary_button\"\n color=\"primary\"\n (click)=\"onClickAction(ButtonResponseType.primary)\"\n >\n {{ buttons.primary }}\n </button>\n</div>\n", styles: [""] }]
50
+ }], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: i0.NgZone }, { type: undefined, decorators: [{
51
+ type: Inject,
52
+ args: [MAT_DIALOG_DATA]
53
+ }] }]; } });
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva21zLW5neC11aS1wcmVzZW50YXRpb25hbC9zcmMvbGliL3VpL2dlbmVyaWMtZGlhbG9nL2dlbmVyaWMtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9nZW5lcmljLWRpYWxvZy9nZW5lcmljLWRpYWxvZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQWdCLE1BQU0sMEJBQTBCLENBQUM7QUFDekUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwREFBMEQsQ0FBQzs7OztBQUc5Rjs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFNL0IsWUFDVyxTQUErQyxFQUMvQyxJQUFZLEVBQ2EsSUFBZ0I7UUFGekMsY0FBUyxHQUFULFNBQVMsQ0FBc0M7UUFDL0MsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNhLFNBQUksR0FBSixJQUFJLENBQVk7UUFQcEQsdUJBQWtCLEdBQUcsa0JBQWtCLENBQUM7UUFTcEMsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUMvQjthQUFNO1lBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBdUIsQ0FBQztTQUMzRTtJQUNMLENBQUM7SUFFRDs7O09BR0c7SUFDSSxhQUFhLENBQUMsYUFBaUM7UUFDbEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ2YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUN4QyxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsK0JBQStCLENBQUMsQ0FBQztnQkFDOUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNWLEtBQUssQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO29CQUNoQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztvQkFDOUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztpQkFDekQ7WUFDTCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs7bUhBbENRLHNCQUFzQixvRUFTbkIsZUFBZTt1R0FUbEIsc0JBQXNCLDBEQ2xCbkMsbXJCQXdCQTsyRkROYSxzQkFBc0I7a0JBTGxDLFNBQVM7K0JBQ0ksb0JBQW9COzswQkFhekIsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAY29weXJpZ2h0IEtNUyBHbWJIXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgaXNWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQgeyBCdXR0b25SZXNwb25zZVR5cGUgfSBmcm9tICcuLi9idXR0b24td2l0aC1jb25maXJtLWRpYWxvZy9idXR0b24tcmVzcG9uc2UtdHlwZXMuZW51bSc7XG5pbXBvcnQgeyBEaWFsb2dEYXRhLCBEaWFsb2dEYXRhQnV0dG9ucyB9IGZyb20gJy4uL2J1dHRvbi13aXRoLWNvbmZpcm0tZGlhbG9nL2RpYWxvZy1kYXRhLm1vZGVsJztcblxuLyoqXG4gKiBBIGdlbmVyaWMgZGlhbG9nIGNvbXBvbmVudFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ttcy1nZW5lcmljLWRpYWxvZycsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2dlbmVyaWMtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9nZW5lcmljLWRpYWxvZy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBHZW5lcmljRGlhbG9nQ29tcG9uZW50IHtcblxuICAgIEJ1dHRvblJlc3BvbnNlVHlwZSA9IEJ1dHRvblJlc3BvbnNlVHlwZTtcblxuICAgIHB1YmxpYyBidXR0b25zOiBEaWFsb2dEYXRhQnV0dG9uc1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8R2VuZXJpY0RpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIHB1YmxpYyB6b25lOiBOZ1pvbmUsXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogRGlhbG9nRGF0YVxuICAgICkge1xuICAgICAgICBpZiAoaXNWYWx1ZShkYXRhLmJ1dHRvbnMpKSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnMgPSBkYXRhLmJ1dHRvbnM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmJ1dHRvbnMgPSB7IHByaW1hcnk6ICdZZXMnLCBzZWNvbmRhcnk6ICdObycgfSBhcyBEaWFsb2dEYXRhQnV0dG9ucztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFjdGlvbiBjYWxsZWQgd2hlbiBjbGlja2VkXG4gICAgICogQHBhcmFtIGNsaWNrZWRCdXR0b24gV2hldGhlciB0aGUgcHJpbWFyeSBvciBzZWNvbmRhcnkgYnV0dG9uIHdhcyBjbGlja2VkXG4gICAgICovXG4gICAgcHVibGljIG9uQ2xpY2tBY3Rpb24oY2xpY2tlZEJ1dHRvbjogQnV0dG9uUmVzcG9uc2VUeXBlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoY2xpY2tlZEJ1dHRvbik7XG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5hZnRlckNsb3NlZCgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnV0dG9uTGlzdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5tYXQtZmxhdC1idXR0b24sIC5tYXQtYnV0dG9uJyk7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICAgICAgICAgIGZvciAoaTsgaSA8IGJ1dHRvbkxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGlzdFtpXS5jbGFzc0xpc3QucmVtb3ZlKCdjZGstZm9jdXNlZCcpO1xuICAgICAgICAgICAgICAgICAgICBidXR0b25MaXN0W2ldLmNsYXNzTGlzdC5yZW1vdmUoJ2Nkay1wcm9ncmFtLWZvY3VzZWQnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIiwiPGRpdiBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwibWF0LWRpYWxvZy10aXRsZVwiPlxuICAgIDxoMz57eyBkYXRhLnRpdGxlIH19PC9oMz5cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWNvbnRlbnQgY2xhc3M9XCJtYXQtZGlhbG9nLWNvbnRlbnRcIj5cbiAgICB7eyBkYXRhLm1lc3NhZ2UgfX1cbjwvZGl2PlxuPGRpdiBtYXQtZGlhbG9nLWFjdGlvbnMgY2xhc3M9XCJjdXN0b20tZGlhbG9nLWFjdGlvbnNcIj5cbiAgICA8YnV0dG9uXG4gICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICBjbGFzcz1cInRlc3Rfc2Vjb25kYXJ5X2J1dHRvblwiXG4gICAgICAgICBjb2xvcj1cImFjY2VudFwiXG4gICAgICAgIChjbGljayk9XCJvbkNsaWNrQWN0aW9uKEJ1dHRvblJlc3BvbnNlVHlwZS5zZWNvbmRhcnkpXCJcbiAgICA+XG4gICAgICAgIHt7IGJ1dHRvbnMuc2Vjb25kYXJ5IH19XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgICAgY2xhc3M9XCJ0ZXN0X3ByaW1hcnlfYnV0dG9uXCJcbiAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tBY3Rpb24oQnV0dG9uUmVzcG9uc2VUeXBlLnByaW1hcnkpXCJcbiAgICA+XG4gICAgICAgIHt7IGJ1dHRvbnMucHJpbWFyeSB9fVxuICAgIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @copyright KMS GmbH
3
+ */
4
+ import { Component, Input, VERSION } from '@angular/core';
5
+ import { IconSize } from './iconSize.enum';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/platform-browser";
8
+ import * as i2 from "@angular/common";
9
+ export class IconComponent {
10
+ constructor(sanitizer) {
11
+ this.sanitizer = sanitizer;
12
+ /**
13
+ * Optional: Different size via CSS inline style.
14
+ */
15
+ this.iconSize = IconSize.FULLSIZE;
16
+ /**
17
+ * Dont use icon sprite
18
+ */
19
+ this.dontUseSprite = false;
20
+ this.IconSize = IconSize;
21
+ this.Version = VERSION.full;
22
+ this.timestamp = 0;
23
+ this.iconToShow = this.icon;
24
+ }
25
+ ngOnInit() {
26
+ this.iconToShow = this.icon;
27
+ const d = new Date();
28
+ const n = d.getTime();
29
+ this.timestamp = n;
30
+ }
31
+ }
32
+ IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
33
+ IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: IconComponent, selector: "kms-icon", inputs: { icon: "icon", iconClass: "iconClass", iconStyle: "iconStyle", iconSize: "iconSize", dontUseSprite: "dontUseSprite" }, ngImport: i0, template: "<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === false\">\n <span class=\"icon {{ iconSize }}\" [ngClass]=\"iconClass\" [ngStyle]=\"iconStyle\">\n <svg>\n <use\n [attr.xlink:href]=\"\n 'assets/sprite.svg?Version=' + Version + '#' + iconToShow\n \"\n ></use>\n </svg>\n </span>\n</ng-container>\n<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === true\">\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n ></object>\n</ng-container>\n", styles: [""], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: IconComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'kms-icon', template: "<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === false\">\n <span class=\"icon {{ iconSize }}\" [ngClass]=\"iconClass\" [ngStyle]=\"iconStyle\">\n <svg>\n <use\n [attr.xlink:href]=\"\n 'assets/sprite.svg?Version=' + Version + '#' + iconToShow\n \"\n ></use>\n </svg>\n </span>\n</ng-container>\n<ng-container *ngIf=\"icon !== 'none' && dontUseSprite === true\">\n <object\n [data]=\"\n sanitizer.bypassSecurityTrustResourceUrl('assets/icons/' + icon + '')\n \"\n type=\"image/svg+xml\"\n class=\"icon {{ iconSize }}\"\n [ngClass]=\"iconClass\"\n [ngStyle]=\"iconStyle\"\n ></object>\n</ng-container>\n", styles: [""] }]
37
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { icon: [{
38
+ type: Input
39
+ }], iconClass: [{
40
+ type: Input
41
+ }], iconStyle: [{
42
+ type: Input
43
+ }], iconSize: [{
44
+ type: Input
45
+ }], dontUseSprite: [{
46
+ type: Input
47
+ }] } });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rbXMtbmd4LXVpLXByZXNlbnRhdGlvbmFsL3NyYy9saWIvdWkvaWNvbi9pY29uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pY29uL2ljb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBUTNDLE1BQU0sT0FBTyxhQUFhO0lBd0N0QixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBckIxQzs7V0FFRztRQUNNLGFBQVEsR0FBYSxRQUFRLENBQUMsUUFBUSxDQUFDO1FBRWhEOztXQUVHO1FBRU0sa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFL0IsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNwQixZQUFPLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUVoQixjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBUWpCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM1QixNQUFNLENBQUMsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3JCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDOzswR0FqRFEsYUFBYTs4RkFBYixhQUFhLGdMQ2YxQix1cUJBc0JBOzJGRFBhLGFBQWE7a0JBTnpCLFNBQVM7K0JBRUksVUFBVTttR0FVWCxJQUFJO3NCQUFaLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFNRyxTQUFTO3NCQUFqQixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsYUFBYTtzQkFBckIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGNvcHlyaWdodCBLTVMgR21iSFxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgVkVSU0lPTiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbmltcG9ydCB7IEljb25TaXplIH0gZnJvbSAnLi9pY29uU2l6ZS5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gICAgXG4gICAgc2VsZWN0b3I6ICdrbXMtaWNvbicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ljb24uY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ljb24uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgICAvKipcbiAgICAgKiBSZXF1aXJlZDogTmFtZSBvZiB0aGUgU1ZHIGljb24gaW5zaWRlIHlvdXIgc3ByaXRlIHNoZWV0IGZpbGUgd2l0aCBuYW1lICdpY29ucy5zdmcnLlxuICAgICAqIFBhc3MgJ25vbmUnIGlmIG5vIGljb24gc2hvdWxkIGJlIHJlbmRlcmVkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGljb24hOiBzdHJpbmcgfCAnJztcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOiBEaWZmZXJlbnQgYXBwZWFyYW5jZSB2aWEgQ1NTIGNsYXNzIGRlZmluZWQgaW4gdGhpcyBjb21wb25lbnTCtHMgc3R5bGUgc2hlZXQuXG4gICAgICovXG4gICAgQElucHV0KCkgaWNvbkNsYXNzITogc3RyaW5nIHwgJyc7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDogRGlmZmVyZW50IGFwcGVhcmFuY2UgdmlhIENTUyBpbmxpbmUgc3R5bGUuXG4gICAgICovXG4gICAgXG4gICAgQElucHV0KCkgaWNvblN0eWxlOiBhbnk7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDogRGlmZmVyZW50IHNpemUgdmlhIENTUyBpbmxpbmUgc3R5bGUuXG4gICAgICovXG4gICAgQElucHV0KCkgaWNvblNpemU6IEljb25TaXplID0gSWNvblNpemUuRlVMTFNJWkU7XG5cbiAgICAvKipcbiAgICAgKiBEb250IHVzZSBpY29uIHNwcml0ZVxuICAgICAqL1xuICAgIFxuICAgIEBJbnB1dCgpIGRvbnRVc2VTcHJpdGUgPSBmYWxzZTtcblxuICAgIEljb25TaXplID0gSWNvblNpemU7XG4gICAgVmVyc2lvbiA9IFZFUlNJT04uZnVsbDtcblxuICAgIHB1YmxpYyB0aW1lc3RhbXAgPSAwO1xuXG4gICAgLyoqXG4gICAgICogUmVuZGVycyB0aGlzIGljb24gZnJvbSBTVkcgc3ByaXRlIHNoZWV0XG4gICAgICovXG4gICAgcHVibGljIGljb25Ub1Nob3chOiBzdHJpbmcgfCAnJztcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge1xuICAgICAgICB0aGlzLmljb25Ub1Nob3cgPSB0aGlzLmljb247XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuaWNvblRvU2hvdyA9IHRoaXMuaWNvbjtcbiAgICAgICAgY29uc3QgZCA9IG5ldyBEYXRlKCk7XG4gICAgICAgIGNvbnN0IG4gPSBkLmdldFRpbWUoKTtcbiAgICAgICAgdGhpcy50aW1lc3RhbXAgPSBuO1xuICAgIH1cblxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cImljb24gIT09ICdub25lJyAmJiBkb250VXNlU3ByaXRlID09PSBmYWxzZVwiPlxuICA8c3BhbiBjbGFzcz1cImljb24ge3sgaWNvblNpemUgfX1cIiBbbmdDbGFzc109XCJpY29uQ2xhc3NcIiBbbmdTdHlsZV09XCJpY29uU3R5bGVcIj5cbiAgICA8c3ZnPlxuICAgICAgPHVzZVxuICAgICAgICBbYXR0ci54bGluazpocmVmXT1cIlxuICAgICAgICAgICdhc3NldHMvc3ByaXRlLnN2Zz9WZXJzaW9uPScgKyBWZXJzaW9uICsgJyMnICsgaWNvblRvU2hvd1xuICAgICAgICBcIlxuICAgICAgPjwvdXNlPlxuICAgIDwvc3ZnPlxuICA8L3NwYW4+XG48L25nLWNvbnRhaW5lcj5cbjxuZy1jb250YWluZXIgKm5nSWY9XCJpY29uICE9PSAnbm9uZScgJiYgZG9udFVzZVNwcml0ZSA9PT0gdHJ1ZVwiPlxuICA8b2JqZWN0XG4gICAgW2RhdGFdPVwiXG4gICAgICBzYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKCdhc3NldHMvaWNvbnMvJyArIGljb24gKyAnJylcbiAgICBcIlxuICAgIHR5cGU9XCJpbWFnZS9zdmcreG1sXCJcbiAgICBjbGFzcz1cImljb24ge3sgaWNvblNpemUgfX1cIlxuICAgIFtuZ0NsYXNzXT1cImljb25DbGFzc1wiXG4gICAgW25nU3R5bGVdPVwiaWNvblN0eWxlXCJcbiAgPjwvb2JqZWN0PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ export var IconSize;
5
+ (function (IconSize) {
6
+ IconSize["FULLSIZE"] = "size-full";
7
+ IconSize["TINY"] = "size-16";
8
+ IconSize["SMALLER"] = "size-20";
9
+ IconSize["SMALL"] = "size-32";
10
+ IconSize["MEDIUM"] = "size-64";
11
+ IconSize["LARGE"] = "size-128";
12
+ IconSize["XL"] = "size-256";
13
+ IconSize["XXL"] = "size-512";
14
+ IconSize["XXXL"] = "size-1024";
15
+ IconSize["NONE"] = "NONE";
16
+ })(IconSize || (IconSize = {}));
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvblNpemUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pY29uL2ljb25TaXplLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxNQUFNLENBQU4sSUFBWSxRQVdYO0FBWEQsV0FBWSxRQUFRO0lBQ2hCLGtDQUFzQixDQUFBO0lBQ3RCLDRCQUFnQixDQUFBO0lBQ2hCLCtCQUFtQixDQUFBO0lBQ25CLDZCQUFpQixDQUFBO0lBQ2pCLDhCQUFrQixDQUFBO0lBQ2xCLDhCQUFrQixDQUFBO0lBQ2xCLDJCQUFlLENBQUE7SUFDZiw0QkFBZ0IsQ0FBQTtJQUNoQiw4QkFBa0IsQ0FBQTtJQUNsQix5QkFBYSxDQUFBO0FBQ2pCLENBQUMsRUFYVyxRQUFRLEtBQVIsUUFBUSxRQVduQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmV4cG9ydCBlbnVtIEljb25TaXplIHtcbiAgICBGVUxMU0laRSA9ICdzaXplLWZ1bGwnLFxuICAgIFRJTlkgPSAnc2l6ZS0xNicsXG4gICAgU01BTExFUiA9ICdzaXplLTIwJyxcbiAgICBTTUFMTCA9ICdzaXplLTMyJyxcbiAgICBNRURJVU0gPSAnc2l6ZS02NCcsXG4gICAgTEFSR0UgPSAnc2l6ZS0xMjgnLFxuICAgIFhMID0gJ3NpemUtMjU2JyxcbiAgICBYWEwgPSAnc2l6ZS01MTInLFxuICAgIFhYWEwgPSAnc2l6ZS0xMDI0JyxcbiAgICBOT05FID0gJ05PTkUnLFxufVxuXG4iXX0=
@@ -0,0 +1,189 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, EventEmitter, HostListener, Input, Output, ViewChild, } from '@angular/core';
5
+ import { moveItemInArray } from '@angular/cdk/drag-drop';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/platform-browser";
8
+ import * as i2 from "ngx-useful-swiper";
9
+ import * as i3 from "@angular/material/menu";
10
+ import * as i4 from "../icon/icon.component";
11
+ import * as i5 from "../../directives/swipe.directive";
12
+ import * as i6 from "@angular/cdk/drag-drop";
13
+ import * as i7 from "@angular/common";
14
+ import * as i8 from "@ngx-translate/core";
15
+ export class ImageSliderComponent {
16
+ constructor(sanitizer) {
17
+ this.sanitizer = sanitizer;
18
+ this.editMode = false;
19
+ this.orderChanged = new EventEmitter();
20
+ this.deleteImageEvent = new EventEmitter();
21
+ /**
22
+ * Optional: Define Swipe behaviour configuration.
23
+ * Default is 10% for the threshold definition until a swipe triggers next/previous slide.
24
+ */
25
+ this.swipeConfig = {
26
+ swipeThreshold: 5,
27
+ swipeThresholdType: '%',
28
+ swipeLocalPosition: true,
29
+ };
30
+ this.selectedSlide = 0;
31
+ this.isLastClickedInSliderImage = false;
32
+ this.config = {
33
+ initialSlide: 0,
34
+ slidesPerView: 3,
35
+ navigation: {
36
+ nextEl: '.swiper-button-next',
37
+ prevEl: '.swiper-button-prev',
38
+ },
39
+ watchOverflow: true,
40
+ autoHeight: true,
41
+ allowTouchMove: false,
42
+ spaceBetween: 30,
43
+ on: {
44
+ slideChange: () => {
45
+ // do something
46
+ },
47
+ slideChangeTransitionEnd: () => {
48
+ // do something
49
+ },
50
+ },
51
+ };
52
+ }
53
+ ngOnInit() {
54
+ if (this.slides) {
55
+ // TODO use Pipe safeStyle
56
+ this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');
57
+ }
58
+ }
59
+ // !TODO
60
+ onKeydownHandler(event) {
61
+ if (event.key === 'ArrowRight') {
62
+ this.nextSlide();
63
+ }
64
+ if (event.key === 'ArrowLeft') {
65
+ this.previousSlide();
66
+ }
67
+ }
68
+ /**
69
+ * Slide follows the finger or mouse according to it´s move delta.
70
+ * @param event SwipeMoveEvent
71
+ */
72
+ handleMoveEvent(event) {
73
+ // certain move threshold needs to be reached
74
+ if (!event.thresholdWasReached) {
75
+ return;
76
+ }
77
+ this.config.direction = event.direction === 1 ? 'horizontal' : 'vertical';
78
+ }
79
+ /**
80
+ * Mouse up or slide container was left.
81
+ * @param event SwipeReleaseEvent
82
+ */
83
+ handleReleaseEvent(event) {
84
+ if (!event.thresholdWasReached) {
85
+ return;
86
+ }
87
+ // Just do if user clicked to slide on image and not on arrow or other element
88
+ if (!this.isLastClickedInSliderImage) {
89
+ return;
90
+ }
91
+ if (event.direction === 1) {
92
+ this.previousSlide();
93
+ }
94
+ else {
95
+ this.nextSlide();
96
+ }
97
+ }
98
+ lastClicked() {
99
+ this.isLastClickedInSliderImage = true;
100
+ }
101
+ noLastClicked() {
102
+ this.isLastClickedInSliderImage = false;
103
+ }
104
+ scrollLeft() {
105
+ this.previousSlide();
106
+ }
107
+ scrollRight() {
108
+ this.nextSlide();
109
+ }
110
+ nextSlide() {
111
+ if (this.slides && this.selectedSlide < this.slides.length - 1) {
112
+ if (this.usefulSwiper) {
113
+ this.usefulSwiper.swiper.slideNext();
114
+ }
115
+ this.openSlide(this.selectedSlide + 1);
116
+ }
117
+ this.isLastClickedInSliderImage = false;
118
+ }
119
+ previousSlide() {
120
+ if (this.selectedSlide > 0) {
121
+ if (this.usefulSwiper) {
122
+ this.usefulSwiper.swiper.slidePrev();
123
+ }
124
+ this.openSlide(this.selectedSlide - 1);
125
+ }
126
+ this.isLastClickedInSliderImage = false;
127
+ }
128
+ slideTo(index) {
129
+ if (this.usefulSwiper) {
130
+ this.usefulSwiper.swiper.slideTo(index);
131
+ }
132
+ }
133
+ openSlide(number) {
134
+ if (this.slides && number < this.slides.length && number >= 0) {
135
+ this.selectedSlide = number;
136
+ // TODO use Pipe safeStyle
137
+ this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[number] || ')');
138
+ }
139
+ }
140
+ ngOnChanges(_changes) {
141
+ if (_changes.slides) {
142
+ if (this.slides) {
143
+ // TODO use Pipe safeStyle
144
+ this.selectedSlideImage = this.sanitizer.bypassSecurityTrustStyle('url(' + this.slides[0] + ')');
145
+ }
146
+ }
147
+ }
148
+ /**
149
+ * Re-order slides and notify parent component
150
+ */
151
+ drop(event) {
152
+ if (this.slides && this.imagesTOSave) {
153
+ moveItemInArray(this.slides, event.previousIndex, event.currentIndex);
154
+ moveItemInArray(this.imagesTOSave, event.previousIndex, event.currentIndex);
155
+ this.orderChanged.emit(this.imagesTOSave);
156
+ }
157
+ }
158
+ /**
159
+ * Send image index to parent to perform delete
160
+ */
161
+ deleteImage(index) {
162
+ this.deleteImageEvent.emit(index);
163
+ }
164
+ }
165
+ ImageSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ImageSliderComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
166
+ ImageSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ImageSliderComponent, selector: "kms-image-slider", inputs: { slides: "slides", editMode: "editMode", imagesTOSave: "imagesTOSave", swipeConfig: "swipeConfig" }, outputs: { orderChanged: "orderChanged", deleteImageEvent: "deleteImageEvent" }, host: { listeners: { "document:keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "usefulSwiper", first: true, predicate: ["usefulSwiper"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>", styles: [""], components: [{ type: i2.SwiperComponent, selector: "swiper", inputs: ["initialize", "config"] }, { type: i3.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i4.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "dontUseSprite"] }], directives: [{ type: i5.SwipeDirective, selector: "[swipeDirective]", inputs: ["swipeDirective"], outputs: ["moveEvent", "releaseEvent"] }, { type: i6.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "translate": i8.TranslatePipe } });
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ImageSliderComponent, decorators: [{
168
+ type: Component,
169
+ args: [{ selector: 'kms-image-slider', template: "<div class=\"all-wrapper\">\n <!--(swiperight)=\"previousSlide()\" (swipeleft)=\"nextSlide()\"-->\n <div \n class=\"swiper-bigImage\"\n [style.backgroundImage]=\"selectedSlideImage\"\n [swipeDirective]=\"swipeConfig\"\n (moveEvent)=\"handleMoveEvent($event)\"\n (releaseEvent)=\"handleReleaseEvent($event)\"\n (mouseup)=\"lastClicked()\"\n (mouseout)=\"noLastClicked()\" >\n </div>\n\n <ng-content select=\"[description]\"></ng-content>\n\n <div class=\"swiper-holder\">\n <!--\n (mouseWheelUp)=\"scrollLeft($event)\"\n (mouseWheelDown)=\"scrollRight($event)\"\n -->\n\n <swiper [config]=\"config\" #usefulSwiper>\n <div class=\"swiper-wrapper\" \n cdkDropList (cdkDropListDropped)=\"drop($event)\" \n cdkDropListOrientation=\"horizontal\"> \n <div class=\"swiper-slide\" \n *ngFor=\"let slide of slides; let index = index\" \n cdkDrag [cdkDragDisabled]=\"!editMode\">\n <button mat-menu-item *ngIf=\"editMode\" (click)=\"deleteImage(index)\"> \n <kms-icon icon=\"trash\"></kms-icon>\n </button>\n <div class=\"img\" (click)=\"openSlide(index)\"\n [style.backgroundImage]=\"sanitizer.bypassSecurityTrustStyle('url(' + slide + ')')\"\n [ngClass]=\"{'active': index === selectedSlide}\">\n </div>\n \n <div class=\"default-image\">{{\"common.defaultImage\" | translate}} </div>\n </div>\n </div>\n </swiper>\n\n <div class=\"swiper-button-next\" *ngIf=\"slides?.length > 3\"></div>\n <div class=\"swiper-button-prev\" *ngIf=\"slides?.length > 3\"></div>\n\n <div class=\"swiper-button-next2\" *ngIf=\"slides?.length > 1\" (click)=\"nextSlide()\">\n <kms-icon icon=\"chevron-right\" [iconClass]=\"{'color-disabled': selectedSlide == slides?.length - 1, 'color-primary': true}\"></kms-icon>\n </div>\n <div class=\"swiper-button-prev2\" *ngIf=\"slides?.length > 1\" (click)=\"previousSlide()\">\n <kms-icon icon=\"chevron-left\" [iconClass]=\"{'color-disabled': selectedSlide == 0, 'color-primary': true}\"></kms-icon>\n </div>\n\n </div>\n\n <ng-content></ng-content>\n</div>", styles: [""] }]
170
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { slides: [{
171
+ type: Input
172
+ }], editMode: [{
173
+ type: Input
174
+ }], imagesTOSave: [{
175
+ type: Input
176
+ }], orderChanged: [{
177
+ type: Output
178
+ }], deleteImageEvent: [{
179
+ type: Output
180
+ }], swipeConfig: [{
181
+ type: Input
182
+ }], usefulSwiper: [{
183
+ type: ViewChild,
184
+ args: ['usefulSwiper']
185
+ }], onKeydownHandler: [{
186
+ type: HostListener,
187
+ args: ['document:keydown', ['$event']]
188
+ }] } });
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9pbWFnZS1zbGlkZXIvaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUNILFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE9BQU8sRUFBZSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7OztBQVV0RSxNQUFNLE9BQU8sb0JBQW9CO0lBOEM3QixZQUFtQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBNUNqQyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWhCLGlCQUFZLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFDaEUscUJBQWdCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFdEU7OztXQUdHO1FBQ00sZ0JBQVcsR0FBaUI7WUFDakMsY0FBYyxFQUFFLENBQUM7WUFDakIsa0JBQWtCLEVBQUUsR0FBRztZQUN2QixrQkFBa0IsRUFBRSxJQUFJO1NBQzNCLENBQUM7UUFFSyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUlsQiwrQkFBMEIsR0FBRyxLQUFLLENBQUM7UUFJMUMsV0FBTSxHQUFrQjtZQUNwQixZQUFZLEVBQUUsQ0FBQztZQUNmLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDUixNQUFNLEVBQUUscUJBQXFC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QUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN0RSxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDN0M7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXLENBQUMsS0FBYTtRQUNyQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7O2lIQTlLUSxvQkFBb0I7cUdBQXBCLG9CQUFvQixtY0M3QmpDLG82RUFxRE07MkZEeEJPLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDSSxrQkFBa0I7bUdBS25CLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBTUUsV0FBVztzQkFBbkIsS0FBSztnQkFZcUIsWUFBWTtzQkFBdEMsU0FBUzt1QkFBQyxjQUFjO2dCQWtDcUIsZ0JBQWdCO3NCQUE3RCxZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyohXG4gKiBAY29weXJpZ2h0IEZMWUFDVFMgR21iSCAyMDE5XG4gKi9cblxuaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIEhvc3RMaXN0ZW5lcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVTdHlsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5pbXBvcnQgeyBTd2lwZXJDb21wb25lbnQgfSBmcm9tICduZ3gtdXNlZnVsLXN3aXBlcic7XG5pbXBvcnQgeyBTd2lwZXJPcHRpb25zIH0gZnJvbSAnc3dpcGVyJztcbmltcG9ydCB7IENka0RyYWdEcm9wLCBtb3ZlSXRlbUluQXJyYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEltYWdlU25pcHBldCB9IGZyb20gJy4uLy4uL21vZGVscy9pbWFnZS1zbmlwcGV0Lm1vZGVsJztcbmltcG9ydCB7IFN3aXBlTW92ZUV2ZW50LCBTd2lwZU9wdGlvbnMsIFN3aXBlUmVsZWFzZUV2ZW50IH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9zd2lwZS5tb2RlbCc7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdrbXMtaW1hZ2Utc2xpZGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW1hZ2Utc2xpZGVyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbWFnZS1zbGlkZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSW1hZ2VTbGlkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgc2xpZGVzOiBzdHJpbmdbXSB8IHVuZGVmaW5lZDtcbiAgICBASW5wdXQoKSBlZGl0TW9kZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGltYWdlc1RPU2F2ZTogSW1hZ2VTbmlwcGV0W10gfCB1bmRlZmluZWQ7XG4gICAgQE91dHB1dCgpIG9yZGVyQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEltYWdlU25pcHBldFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KCkgZGVsZXRlSW1hZ2VFdmVudDogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDogRGVmaW5lIFN3aXBlIGJlaGF2aW91ciBjb25maWd1cmF0aW9uLlxuICAgICAqIERlZmF1bHQgaXMgMTAlIGZvciB0aGUgdGhyZXNob2xkIGRlZmluaXRpb24gdW50aWwgYSBzd2lwZSB0cmlnZ2VycyBuZXh0L3ByZXZpb3VzIHNsaWRlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIHN3aXBlQ29uZmlnOiBTd2lwZU9wdGlvbnMgPSB7XG4gICAgICAgIHN3aXBlVGhyZXNob2xkOiA1LFxuICAgICAgICBzd2lwZVRocmVzaG9sZFR5cGU6ICclJyxcbiAgICAgICAgc3dpcGVMb2NhbFBvc2l0aW9uOiB0cnVlLFxuICAgIH07XG5cbiAgICBwdWJsaWMgc2VsZWN0ZWRTbGlkZSA9IDA7XG4gICAgcHVibGljIGNoZWNrZWRJbWFnZUluZGV4PzogbnVtYmVyO1xuXG4gICAgcHVibGljIHNlbGVjdGVkU2xpZGVJbWFnZTogU2FmZVN0eWxlIHwgdW5kZWZpbmVkO1xuICAgIHB1YmxpYyBpc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuXG4gICAgQFZpZXdDaGlsZCgndXNlZnVsU3dpcGVyJykgdXNlZnVsU3dpcGVyOiBTd2lwZXJDb21wb25lbnQgfCB1bmRlZmluZWQ7XG5cbiAgICBjb25maWc6IFN3aXBlck9wdGlvbnMgPSB7XG4gICAgICAgIGluaXRpYWxTbGlkZTogMCxcbiAgICAgICAgc2xpZGVzUGVyVmlldzogMyxcbiAgICAgICAgbmF2aWdhdGlvbjoge1xuICAgICAgICAgICAgbmV4dEVsOiAnLnN3aXBlci1idXR0b24tbmV4dCcsXG4gICAgICAgICAgICBwcmV2RWw6ICcuc3dpcGVyLWJ1dHRvbi1wcmV2JyxcbiAgICAgICAgfSxcbiAgICAgICAgd2F0Y2hPdmVyZmxvdzogdHJ1ZSxcbiAgICAgICAgYXV0b0hlaWdodDogdHJ1ZSxcbiAgICAgICAgYWxsb3dUb3VjaE1vdmU6IGZhbHNlLFxuICAgICAgICBzcGFjZUJldHdlZW46IDMwLFxuICAgICAgICBvbjoge1xuICAgICAgICAgICAgc2xpZGVDaGFuZ2U6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzbGlkZUNoYW5nZVRyYW5zaXRpb25FbmQ6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBkbyBzb21ldGhpbmdcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgIC8vIFRPRE8gdXNlIFBpcGUgc2FmZVN0eWxlXG5cbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRTbGlkZUltYWdlID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFN0eWxlKCd1cmwoJyArIHRoaXMuc2xpZGVzWzBdICsgJyknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vICFUT0RPXG4gICAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pIG9uS2V5ZG93bkhhbmRsZXIoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93UmlnaHQnKSB7XG4gICAgICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0xlZnQnKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNsaWRlIGZvbGxvd3MgdGhlIGZpbmdlciBvciBtb3VzZSBhY2NvcmRpbmcgdG8gaXTCtHMgbW92ZSBkZWx0YS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVNb3ZlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVNb3ZlRXZlbnQoZXZlbnQ6IFN3aXBlTW92ZUV2ZW50KSB7XG4gICAgICAgIC8vIGNlcnRhaW4gbW92ZSB0aHJlc2hvbGQgbmVlZHMgdG8gYmUgcmVhY2hlZFxuICAgICAgICBpZiAoIWV2ZW50LnRocmVzaG9sZFdhc1JlYWNoZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZy5kaXJlY3Rpb24gPSBldmVudC5kaXJlY3Rpb24gPT09IDEgPyAnaG9yaXpvbnRhbCcgOiAndmVydGljYWwnO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIE1vdXNlIHVwIG9yIHNsaWRlIGNvbnRhaW5lciB3YXMgbGVmdC5cbiAgICAgKiBAcGFyYW0gZXZlbnQgU3dpcGVSZWxlYXNlRXZlbnRcbiAgICAgKi9cbiAgICBoYW5kbGVSZWxlYXNlRXZlbnQoZXZlbnQ6IFN3aXBlUmVsZWFzZUV2ZW50KSB7XG4gICAgICAgIGlmICghZXZlbnQudGhyZXNob2xkV2FzUmVhY2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIEp1c3QgZG8gaWYgdXNlciBjbGlja2VkIHRvIHNsaWRlIG9uIGltYWdlIGFuZCBub3Qgb24gYXJyb3cgb3Igb3RoZXIgZWxlbWVudFxuICAgICAgICBpZiAoIXRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQuZGlyZWN0aW9uID09PSAxKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZpb3VzU2xpZGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMubmV4dFNsaWRlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IHRydWU7XG4gICAgfVxuXG4gICAgbm9MYXN0Q2xpY2tlZCgpIHtcbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNjcm9sbExlZnQoKSB7XG4gICAgICAgIHRoaXMucHJldmlvdXNTbGlkZSgpO1xuICAgIH1cblxuICAgIHNjcm9sbFJpZ2h0KCkge1xuICAgICAgICB0aGlzLm5leHRTbGlkZSgpO1xuICAgIH1cblxuICAgIG5leHRTbGlkZSgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2xpZGVzICYmIHRoaXMuc2VsZWN0ZWRTbGlkZSA8IHRoaXMuc2xpZGVzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZWZ1bFN3aXBlcikge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZU5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMub3BlblNsaWRlKHRoaXMuc2VsZWN0ZWRTbGlkZSArIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNMYXN0Q2xpY2tlZEluU2xpZGVySW1hZ2UgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBwcmV2aW91c1NsaWRlKCkge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZFNsaWRlID4gMCkge1xuICAgICAgICAgICAgaWYgKHRoaXMudXNlZnVsU3dpcGVyKSB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VmdWxTd2lwZXIuc3dpcGVyLnNsaWRlUHJldigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vcGVuU2xpZGUodGhpcy5zZWxlY3RlZFNsaWRlIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pc0xhc3RDbGlja2VkSW5TbGlkZXJJbWFnZSA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNsaWRlVG8oaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy51c2VmdWxTd2lwZXIpIHtcbiAgICAgICAgICAgIHRoaXMudXNlZnVsU3dpcGVyLnN3aXBlci5zbGlkZVRvKGluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9wZW5TbGlkZShudW1iZXI6IG51bWJlcikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgbnVtYmVyIDwgdGhpcy5zbGlkZXMubGVuZ3RoICYmIG51bWJlciA+PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGUgPSBudW1iZXI7XG4gICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkU2xpZGVJbWFnZSA9IHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTdHlsZSgndXJsKCcgKyB0aGlzLnNsaWRlc1tudW1iZXJdIHx8ICcpJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhfY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgICAgICBpZiAoX2NoYW5nZXMuc2xpZGVzKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zbGlkZXMpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPIHVzZSBQaXBlIHNhZmVTdHlsZVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFNsaWRlSW1hZ2UgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgdGhpcy5zbGlkZXNbMF0gKyAnKScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmUtb3JkZXIgc2xpZGVzIGFuZCBub3RpZnkgcGFyZW50IGNvbXBvbmVudFxuICAgICAqL1xuICAgIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xuICAgICAgICBpZiAodGhpcy5zbGlkZXMgJiYgdGhpcy5pbWFnZXNUT1NhdmUpIHtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLnNsaWRlcywgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIG1vdmVJdGVtSW5BcnJheSh0aGlzLmltYWdlc1RPU2F2ZSwgZXZlbnQucHJldmlvdXNJbmRleCwgZXZlbnQuY3VycmVudEluZGV4KTtcbiAgICAgICAgICAgIHRoaXMub3JkZXJDaGFuZ2VkLmVtaXQodGhpcy5pbWFnZXNUT1NhdmUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2VuZCBpbWFnZSBpbmRleCB0byBwYXJlbnQgdG8gcGVyZm9ybSBkZWxldGVcbiAgICAgKi9cbiAgICBkZWxldGVJbWFnZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZGVsZXRlSW1hZ2VFdmVudC5lbWl0KGluZGV4KTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYWxsLXdyYXBwZXJcIj5cbiAgICA8IS0tKHN3aXBlcmlnaHQpPVwicHJldmlvdXNTbGlkZSgpXCIgKHN3aXBlbGVmdCk9XCJuZXh0U2xpZGUoKVwiLS0+XG4gICAgPGRpdiBcbiAgICAgICAgY2xhc3M9XCJzd2lwZXItYmlnSW1hZ2VcIlxuICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNlbGVjdGVkU2xpZGVJbWFnZVwiXG4gICAgICAgIFtzd2lwZURpcmVjdGl2ZV09XCJzd2lwZUNvbmZpZ1wiXG4gICAgICAgIChtb3ZlRXZlbnQpPVwiaGFuZGxlTW92ZUV2ZW50KCRldmVudClcIlxuICAgICAgICAocmVsZWFzZUV2ZW50KT1cImhhbmRsZVJlbGVhc2VFdmVudCgkZXZlbnQpXCJcbiAgICAgICAgKG1vdXNldXApPVwibGFzdENsaWNrZWQoKVwiXG4gICAgICAgIChtb3VzZW91dCk9XCJub0xhc3RDbGlja2VkKClcIiA+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gICAgPGRpdiBjbGFzcz1cInN3aXBlci1ob2xkZXJcIj5cbiAgICAgICAgPCEtLVxuICAgICAgICAobW91c2VXaGVlbFVwKT1cInNjcm9sbExlZnQoJGV2ZW50KVwiXG4gICAgICAgIChtb3VzZVdoZWVsRG93bik9XCJzY3JvbGxSaWdodCgkZXZlbnQpXCJcbiAgICAgICAgLS0+XG5cbiAgICAgICAgPHN3aXBlciBbY29uZmlnXT1cImNvbmZpZ1wiICN1c2VmdWxTd2lwZXI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3dpcGVyLXdyYXBwZXJcIiBcbiAgICAgICAgICAgICAgICBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiIFxuICAgICAgICAgICAgICAgIGNka0Ryb3BMaXN0T3JpZW50YXRpb249XCJob3Jpem9udGFsXCI+ICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItc2xpZGVcIiBcbiAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNsaWRlIG9mIHNsaWRlczsgbGV0IGluZGV4ID0gaW5kZXhcIiBcbiAgICAgICAgICAgICAgICAgICAgY2RrRHJhZyBbY2RrRHJhZ0Rpc2FibGVkXT1cIiFlZGl0TW9kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1tZW51LWl0ZW0gKm5nSWY9XCJlZGl0TW9kZVwiIChjbGljayk9XCJkZWxldGVJbWFnZShpbmRleClcIj4gXG4gICAgICAgICAgICAgICAgICAgICAgICA8a21zLWljb24gaWNvbj1cInRyYXNoXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpbWdcIiAoY2xpY2spPVwib3BlblNsaWRlKGluZGV4KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZEltYWdlXT1cInNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUoJ3VybCgnICsgc2xpZGUgKyAnKScpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnYWN0aXZlJzogaW5kZXggPT09IHNlbGVjdGVkU2xpZGV9XCI+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlZmF1bHQtaW1hZ2VcIj57e1wiY29tbW9uLmRlZmF1bHRJbWFnZVwiIHwgdHJhbnNsYXRlfX0gPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9zd2lwZXI+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInN3aXBlci1idXR0b24tbmV4dFwiICpuZ0lmPVwic2xpZGVzPy5sZW5ndGggPiAzXCI+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXZcIiAqbmdJZj1cInNsaWRlcz8ubGVuZ3RoID4gM1wiPjwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLW5leHQyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwibmV4dFNsaWRlKClcIj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiBpY29uPVwiY2hldnJvbi1yaWdodFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gc2xpZGVzPy5sZW5ndGggLSAxLCAnY29sb3ItcHJpbWFyeSc6IHRydWV9XCI+PC9rbXMtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzd2lwZXItYnV0dG9uLXByZXYyXCIgKm5nSWY9XCJzbGlkZXM/Lmxlbmd0aCA+IDFcIiAoY2xpY2spPVwicHJldmlvdXNTbGlkZSgpXCI+XG4gICAgICAgICAgICA8a21zLWljb24gaWNvbj1cImNoZXZyb24tbGVmdFwiIFtpY29uQ2xhc3NdPVwieydjb2xvci1kaXNhYmxlZCc6IHNlbGVjdGVkU2xpZGUgPT0gMCwgJ2NvbG9yLXByaW1hcnknOiB0cnVlfVwiPjwva21zLWljb24+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj4iXX0=
@@ -0,0 +1,40 @@
1
+ /*!
2
+ * @copyright FLYACTS GmbH 2019
3
+ */
4
+ import { Component, Input } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/platform-browser";
7
+ import * as i2 from "@angular/material/expansion";
8
+ import * as i3 from "../icon/icon.component";
9
+ import * as i4 from "@angular/common";
10
+ /**
11
+ * A generic dialog component
12
+ */
13
+ export class KMSAccordionItemComponent {
14
+ constructor(sanitizer) {
15
+ this.sanitizer = sanitizer;
16
+ this.itemTitle = '';
17
+ this.showAsCard = false;
18
+ this.isSmall = false;
19
+ this.expanded = false;
20
+ this.panelOpenState = false;
21
+ }
22
+ ngOnInit() {
23
+ this.itemTitleTrustHtml = this.sanitizer.bypassSecurityTrustHtml(this.itemTitle);
24
+ }
25
+ }
26
+ KMSAccordionItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: KMSAccordionItemComponent, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
27
+ KMSAccordionItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: KMSAccordionItemComponent, selector: "kms-accordion-item", inputs: { itemTitle: "itemTitle", showAsCard: "showAsCard", isSmall: "isSmall", expanded: "expanded" }, ngImport: i0, template: "<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n", styles: [""], components: [{ type: i2.MatExpansionPanel, selector: "mat-expansion-panel", inputs: ["disabled", "expanded", "hideToggle", "togglePosition"], outputs: ["opened", "closed", "expandedChange", "afterExpand", "afterCollapse"], exportAs: ["matExpansionPanel"] }, { type: i2.MatExpansionPanelHeader, selector: "mat-expansion-panel-header", inputs: ["tabIndex", "expandedHeight", "collapsedHeight"] }, { type: i3.IconComponent, selector: "kms-icon", inputs: ["icon", "iconClass", "iconStyle", "iconSize", "dontUseSprite"] }], directives: [{ type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.MatExpansionPanelTitle, selector: "mat-panel-title" }, { type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: KMSAccordionItemComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'kms-accordion-item', template: "<mat-expansion-panel\n class=\"accordion-item\"\n [ngClass]=\"{showAsCard: showAsCard, showFlat: !showAsCard, isSmall: isSmall}\"\n (opened)=\"panelOpenState = true\"\n (closed)=\"panelOpenState = false\"\n [expanded] = \"expanded\"\n hideToggle=\"true\">\n <mat-expansion-panel-header class=\"accordion-item-header\">\n <mat-panel-title class=\"mat-subheading-2 accordion-item-title\">\n <div [innerHtml]=\"itemTitleTrustHtml\"></div>\n <ng-content select=\"[itemTitleElement]\"></ng-content>\n </mat-panel-title>\n <div class=\"accordion-item-header-icon-wrapper\">\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"ic_plus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"ic_minus\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-desktop\"></kms-icon>\n\n <kms-icon *ngIf=\"!panelOpenState\" icon=\"chevron-down\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n <kms-icon *ngIf=\"panelOpenState\" icon=\"chevron-top\" iconClass=\"color-red\" class=\"accordion-item-header-icon-wrapper-mobile\"></kms-icon>\n </div>\n </mat-expansion-panel-header>\n <ng-content></ng-content>\n</mat-expansion-panel>\n", styles: [""] }]
31
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; }, propDecorators: { itemTitle: [{
32
+ type: Input
33
+ }], showAsCard: [{
34
+ type: Input
35
+ }], isSmall: [{
36
+ type: Input
37
+ }], expanded: [{
38
+ type: Input
39
+ }] } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9rbXMtYWNjb3JkaW9uLWl0ZW0va21zLWFjY29yZGlvbi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQUd6RDs7R0FFRztBQU1ILE1BQU0sT0FBTyx5QkFBeUI7SUFTcEMsWUFBbUIsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVIxQixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBR2YsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakMsbUJBQWMsR0FBRyxLQUFLLENBQUM7SUFFc0IsQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsdUJBQXVCLENBQzlELElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztJQUNKLENBQUM7O3NIQWZVLHlCQUF5QjswR0FBekIseUJBQXlCLGtLQ2Z0Qyx5MUNBc0JBOzJGRFBhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxvQkFBb0I7bUdBS2QsU0FBUztzQkFBeEIsS0FBSztnQkFHVSxVQUFVO3NCQUF6QixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxuICogQGNvcHlyaWdodCBGTFlBQ1RTIEdtYkggMjAxOVxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG4vKipcbiAqIEEgZ2VuZXJpYyBkaWFsb2cgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2ttcy1hY2NvcmRpb24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9rbXMtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9rbXMtYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgS01TQWNjb3JkaW9uSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBpdGVtVGl0bGUgPSAnJztcblxuICBwdWJsaWMgaXRlbVRpdGxlVHJ1c3RIdG1sOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgcHVibGljIHNob3dBc0NhcmQgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGlzU21hbGwgPSBmYWxzZTtcbiAgQElucHV0KCkgcHVibGljIGV4cGFuZGVkID0gZmFsc2U7XG4gIHBhbmVsT3BlblN0YXRlID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaXRlbVRpdGxlVHJ1c3RIdG1sID0gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwoXG4gICAgICB0aGlzLml0ZW1UaXRsZVxuICAgICk7XG4gIH1cbn1cbiIsIjxtYXQtZXhwYW5zaW9uLXBhbmVsXG4gICAgY2xhc3M9XCJhY2NvcmRpb24taXRlbVwiXG4gICAgW25nQ2xhc3NdPVwie3Nob3dBc0NhcmQ6IHNob3dBc0NhcmQsIHNob3dGbGF0OiAhc2hvd0FzQ2FyZCwgaXNTbWFsbDogaXNTbWFsbH1cIlxuICAgIChvcGVuZWQpPVwicGFuZWxPcGVuU3RhdGUgPSB0cnVlXCJcbiAgICAoY2xvc2VkKT1cInBhbmVsT3BlblN0YXRlID0gZmFsc2VcIlxuICAgIFtleHBhbmRlZF0gPSBcImV4cGFuZGVkXCJcbiAgICBoaWRlVG9nZ2xlPVwidHJ1ZVwiPlxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlclwiPlxuICAgICAgICA8bWF0LXBhbmVsLXRpdGxlIGNsYXNzPVwibWF0LXN1YmhlYWRpbmctMiBhY2NvcmRpb24taXRlbS10aXRsZVwiPlxuICAgICAgICAgICAgPGRpdiBbaW5uZXJIdG1sXT1cIml0ZW1UaXRsZVRydXN0SHRtbFwiPjwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2l0ZW1UaXRsZUVsZW1lbnRdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L21hdC1wYW5lbC10aXRsZT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXJcIj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cIiFwYW5lbE9wZW5TdGF0ZVwiIGljb249XCJpY19wbHVzXCIgaWNvbkNsYXNzPVwiY29sb3ItcmVkXCIgY2xhc3M9XCJhY2NvcmRpb24taXRlbS1oZWFkZXItaWNvbi13cmFwcGVyLWRlc2t0b3BcIj48L2ttcy1pY29uPlxuICAgICAgICAgICAgPGttcy1pY29uICpuZ0lmPVwicGFuZWxPcGVuU3RhdGVcIiBpY29uPVwiaWNfbWludXNcIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItZGVza3RvcFwiPjwva21zLWljb24+XG5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cIiFwYW5lbE9wZW5TdGF0ZVwiIGljb249XCJjaGV2cm9uLWRvd25cIiBpY29uQ2xhc3M9XCJjb2xvci1yZWRcIiBjbGFzcz1cImFjY29yZGlvbi1pdGVtLWhlYWRlci1pY29uLXdyYXBwZXItbW9iaWxlXCI+PC9rbXMtaWNvbj5cbiAgICAgICAgICAgIDxrbXMtaWNvbiAqbmdJZj1cInBhbmVsT3BlblN0YXRlXCIgaWNvbj1cImNoZXZyb24tdG9wXCIgaWNvbkNsYXNzPVwiY29sb3ItcmVkXCIgY2xhc3M9XCJhY2NvcmRpb24taXRlbS1oZWFkZXItaWNvbi13cmFwcGVyLW1vYmlsZVwiPjwva21zLWljb24+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbC1oZWFkZXI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9tYXQtZXhwYW5zaW9uLXBhbmVsPlxuIl19
@@ -0,0 +1,21 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/material/progress-spinner";
4
+ import * as i2 from "@angular/common";
5
+ export class LoaderComponent {
6
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
7
+ constructor() {
8
+ this.loading = false;
9
+ }
10
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
11
+ ngOnInit() { }
12
+ }
13
+ LoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
14
+ LoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: LoaderComponent, selector: "kms-loader", inputs: { loading: "loading" }, ngImport: i0, template: "<div class=\"loading-spinner-shade\" *ngIf=\"loading\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n</div>\n", styles: [""], components: [{ type: i1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "diameter", "strokeWidth", "mode", "value"], exportAs: ["matProgressSpinner"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: LoaderComponent, decorators: [{
16
+ type: Component,
17
+ args: [{ selector: 'kms-loader', template: "<div class=\"loading-spinner-shade\" *ngIf=\"loading\">\n <mat-spinner class=\"spinnerMargin\" color=\"accent\" diameter=\"44\"></mat-spinner>\n</div>\n", styles: [""] }]
18
+ }], ctorParameters: function () { return []; }, propDecorators: { loading: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ttcy1uZ3gtdWktcHJlc2VudGF0aW9uYWwvc3JjL2xpYi91aS9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBT3pELE1BQU0sT0FBTyxlQUFlO0lBR3hCLGdFQUFnRTtJQUNoRTtRQUhTLFlBQU8sR0FBQyxLQUFLLENBQUM7SUFHUixDQUFDO0lBRWhCLGdFQUFnRTtJQUNoRSxRQUFRLEtBQUksQ0FBQzs7NEdBUEosZUFBZTtnR0FBZixlQUFlLGtGQ1A1Qiw2SkFHQTsyRkRJYSxlQUFlO2tCQUwzQixTQUFTOytCQUNJLFlBQVk7MEVBS2IsT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAna21zLWxvYWRlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2xvYWRlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9hZGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIExvYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgbG9hZGluZz1mYWxzZTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gICAgbmdPbkluaXQoKSB7fVxufVxuIiwiPGRpdiBjbGFzcz1cImxvYWRpbmctc3Bpbm5lci1zaGFkZVwiICpuZ0lmPVwibG9hZGluZ1wiPlxuICAgIDxtYXQtc3Bpbm5lciBjbGFzcz1cInNwaW5uZXJNYXJnaW5cIiBjb2xvcj1cImFjY2VudFwiIGRpYW1ldGVyPVwiNDRcIj48L21hdC1zcGlubmVyPlxuPC9kaXY+XG4iXX0=