@festo-ui/angular 4.0.3-pre-20221124.8 → 5.0.0-dev.70

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 (245) hide show
  1. package/README.md +13 -53
  2. package/css/bundle.css +1 -1
  3. package/css/image-gallery.css +1 -1
  4. package/css/popover.css +1 -1
  5. package/esm2020/festo-ui-angular.mjs +2 -2
  6. package/esm2020/lib/components/accordion/accordion-header/accordion-header.component.mjs +5 -5
  7. package/esm2020/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +5 -5
  8. package/esm2020/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +5 -5
  9. package/esm2020/lib/components/accordion/accordion-item/accordion-item.component.mjs +30 -25
  10. package/esm2020/lib/components/accordion/accordion.component.mjs +9 -9
  11. package/esm2020/lib/components/accordion/index.mjs +1 -1
  12. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +8 -5
  13. package/esm2020/lib/components/buttons/button/button.component.mjs +7 -6
  14. package/esm2020/lib/components/buttons/link-button/link-button.component.mjs +7 -6
  15. package/esm2020/lib/components/chips/chip/chip.component.mjs +6 -5
  16. package/esm2020/lib/components/chips/chip-container/chip-container.component.mjs +6 -5
  17. package/esm2020/lib/components/components.module.mjs +148 -151
  18. package/esm2020/lib/components/loading-indicator/loading-indicator.component.mjs +6 -5
  19. package/esm2020/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +7 -6
  20. package/esm2020/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +7 -6
  21. package/esm2020/lib/components/mobile-flyout/mobile-flyout.component.mjs +7 -7
  22. package/esm2020/lib/components/pagination/pagination.component.mjs +7 -5
  23. package/esm2020/lib/components/popovers/legend/legend.component.mjs +12 -12
  24. package/esm2020/lib/components/popovers/legend/legend.directive.mjs +7 -7
  25. package/esm2020/lib/components/popovers/popover/popover.component.mjs +6 -6
  26. package/esm2020/lib/components/popovers/popover-content/popover-content.component.mjs +14 -16
  27. package/esm2020/lib/components/popovers/popover-content/popover-content.directive.mjs +6 -6
  28. package/esm2020/lib/components/popovers/popover-menu/popover-menu.component.mjs +16 -17
  29. package/esm2020/lib/components/popovers/popover-ref.mjs +2 -2
  30. package/esm2020/lib/components/popovers/popover.defaults.mjs +17 -18
  31. package/esm2020/lib/components/popovers/popover.models.mjs +1 -17
  32. package/esm2020/lib/components/popovers/popover.service.mjs +28 -29
  33. package/esm2020/lib/components/popovers/tooltip/tooltip.directive.mjs +14 -15
  34. package/esm2020/lib/components/progress/progress.component.mjs +7 -5
  35. package/esm2020/lib/components/scroll/index.mjs +1 -1
  36. package/esm2020/lib/components/scroll/scrollable.directive.mjs +9 -6
  37. package/esm2020/lib/components/search-input/search-input.component.mjs +18 -8
  38. package/esm2020/lib/components/snackbar/snackbar-container.component.mjs +6 -6
  39. package/esm2020/lib/components/snackbar/snackbar-container.directive.mjs +10 -13
  40. package/esm2020/lib/components/snackbar/snackbar.component.mjs +8 -6
  41. package/esm2020/lib/components/snackbar/snackbar.models.mjs +1 -1
  42. package/esm2020/lib/components/snackbar/snackbar.module.mjs +7 -8
  43. package/esm2020/lib/components/snackbar/snackbar.service.mjs +4 -4
  44. package/esm2020/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +5 -5
  45. package/esm2020/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +7 -6
  46. package/esm2020/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +7 -6
  47. package/esm2020/lib/components/stepper-vertical/stepper-vertical.component.mjs +6 -6
  48. package/esm2020/lib/components/table-header-cell/table-header-cell.directive.mjs +8 -7
  49. package/esm2020/lib/components/tabs/tab-pane/tab-pane.component.mjs +5 -5
  50. package/esm2020/lib/components/tabs/tabs.component.mjs +108 -22
  51. package/esm2020/lib/directives/click-outside.directive.mjs +29 -0
  52. package/esm2020/lib/festo-angular.module.mjs +9 -72
  53. package/esm2020/lib/forms/checkbox/checkbox.component.mjs +26 -21
  54. package/esm2020/lib/forms/color-indicator/color-indicator.component.mjs +28 -8
  55. package/esm2020/lib/forms/color-picker/color-helper.mjs +16 -8
  56. package/esm2020/lib/forms/color-picker/color-picker.component.mjs +35 -16
  57. package/esm2020/lib/forms/date-picker/date-picker.component.mjs +25 -22
  58. package/esm2020/lib/forms/date-range-picker/date-range-picker.component.mjs +29 -25
  59. package/esm2020/lib/forms/flatpickr/flatpickr.component.mjs +55 -0
  60. package/esm2020/lib/forms/forms.module.mjs +106 -79
  61. package/esm2020/lib/forms/radio/radio.component.mjs +43 -39
  62. package/esm2020/lib/forms/segment/segment-control/segment-control.component.mjs +15 -12
  63. package/esm2020/lib/forms/segment/segment.component.mjs +28 -23
  64. package/esm2020/lib/forms/select/chip-text.pipe.mjs +15 -10
  65. package/esm2020/lib/forms/select/select-option/select-option.component.mjs +7 -6
  66. package/esm2020/lib/forms/select/select.component.mjs +49 -41
  67. package/esm2020/lib/forms/slider/slider.component.mjs +24 -21
  68. package/esm2020/lib/forms/switch/switch.component.mjs +18 -17
  69. package/esm2020/lib/forms/text-area/text-area.component.mjs +16 -9
  70. package/esm2020/lib/forms/text-editor/text-editor.component.mjs +69 -61
  71. package/esm2020/lib/forms/text-input/text-input.component.mjs +37 -12
  72. package/esm2020/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +8 -6
  73. package/esm2020/lib/forms/time-picker/time-picker.component.mjs +18 -15
  74. package/esm2020/lib/forms/unique-selection-dispatcher.mjs +7 -5
  75. package/esm2020/lib/forms/value-accessor-base.mjs +5 -5
  76. package/esm2020/lib/modals/alert/alert.component.mjs +54 -0
  77. package/esm2020/lib/modals/confirm/confirm.component.mjs +55 -0
  78. package/esm2020/lib/modals/custom-modal/custom-modal.component.mjs +70 -0
  79. package/esm2020/lib/modals/image-gallery/image-gallery.component.mjs +62 -0
  80. package/esm2020/lib/modals/index.mjs +2 -0
  81. package/esm2020/lib/{components/modals → modals}/modal.service.mjs +8 -11
  82. package/esm2020/lib/modals/modals.module.mjs +28 -0
  83. package/esm2020/lib/modals/prompt/prompt.component.mjs +106 -0
  84. package/esm2020/lib/pipes/safe-html.pipe.mjs +5 -5
  85. package/esm2020/public-api.mjs +66 -0
  86. package/fesm2015/festo-ui-angular.mjs +4701 -4552
  87. package/fesm2015/festo-ui-angular.mjs.map +1 -1
  88. package/fesm2020/festo-ui-angular.mjs +4588 -4479
  89. package/fesm2020/festo-ui-angular.mjs.map +1 -1
  90. package/index.d.ts +5 -13
  91. package/lib/components/accordion/accordion-header/accordion-header.component.d.ts +1 -1
  92. package/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.d.ts +1 -1
  93. package/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.d.ts +1 -1
  94. package/lib/components/accordion/accordion-item/accordion-item.component.d.ts +6 -5
  95. package/lib/components/accordion/accordion.component.d.ts +2 -2
  96. package/lib/components/breadcrumb/breadcrumb.component.d.ts +1 -1
  97. package/lib/components/buttons/button/button.component.d.ts +4 -4
  98. package/lib/components/buttons/link-button/link-button.component.d.ts +4 -4
  99. package/lib/components/chips/chip/chip.component.d.ts +2 -2
  100. package/lib/components/chips/chip-container/chip-container.component.d.ts +1 -1
  101. package/lib/components/components.module.d.ts +35 -68
  102. package/lib/components/loading-indicator/loading-indicator.component.d.ts +1 -1
  103. package/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.d.ts +1 -1
  104. package/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.d.ts +1 -1
  105. package/lib/components/mobile-flyout/mobile-flyout.component.d.ts +1 -1
  106. package/lib/components/pagination/pagination.component.d.ts +1 -1
  107. package/lib/components/popovers/legend/legend.component.d.ts +2 -2
  108. package/lib/components/popovers/legend/legend.directive.d.ts +2 -2
  109. package/lib/components/popovers/popover/popover.component.d.ts +4 -4
  110. package/lib/components/popovers/popover-content/popover-content.component.d.ts +2 -2
  111. package/lib/components/popovers/popover-content/popover-content.directive.d.ts +2 -2
  112. package/lib/components/popovers/popover-menu/popover-menu.component.d.ts +6 -6
  113. package/lib/components/popovers/popover-ref.d.ts +2 -2
  114. package/lib/components/popovers/popover.defaults.d.ts +4 -4
  115. package/lib/components/popovers/popover.models.d.ts +8 -20
  116. package/lib/components/popovers/tooltip/tooltip.directive.d.ts +1 -1
  117. package/lib/components/progress/progress.component.d.ts +1 -1
  118. package/lib/components/scroll/scrollable.directive.d.ts +1 -1
  119. package/lib/components/search-input/search-input.component.d.ts +1 -1
  120. package/lib/components/snackbar/snackbar-container.component.d.ts +1 -1
  121. package/lib/components/snackbar/snackbar-container.directive.d.ts +4 -7
  122. package/lib/components/snackbar/snackbar.component.d.ts +1 -1
  123. package/lib/components/snackbar/snackbar.module.d.ts +5 -5
  124. package/lib/components/snackbar/snackbar.service.d.ts +1 -1
  125. package/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.d.ts +1 -1
  126. package/lib/components/stepper-horizontal/stepper-horizontal.component.d.ts +1 -1
  127. package/lib/components/stepper-vertical/step-vertical/step-vertical.component.d.ts +2 -2
  128. package/lib/components/stepper-vertical/stepper-vertical.component.d.ts +1 -1
  129. package/lib/components/table-header-cell/table-header-cell.directive.d.ts +8 -8
  130. package/lib/components/tabs/tab-pane/tab-pane.component.d.ts +7 -7
  131. package/lib/components/tabs/tabs.component.d.ts +11 -11
  132. package/lib/{components → directives}/click-outside.directive.d.ts +1 -1
  133. package/lib/festo-angular.module.d.ts +6 -11
  134. package/lib/forms/checkbox/checkbox.component.d.ts +1 -1
  135. package/lib/forms/color-indicator/color-indicator.component.d.ts +1 -1
  136. package/lib/forms/color-picker/color-helper.d.ts +4 -4
  137. package/lib/forms/color-picker/color-picker.component.d.ts +6 -6
  138. package/lib/forms/date-picker/date-picker.component.d.ts +11 -11
  139. package/lib/forms/date-range-picker/date-range-picker.component.d.ts +12 -12
  140. package/lib/{wrappers → forms}/flatpickr/flatpickr.component.d.ts +5 -5
  141. package/lib/forms/forms.module.d.ts +24 -39
  142. package/lib/forms/radio/radio.component.d.ts +12 -12
  143. package/lib/forms/segment/segment-control/segment-control.component.d.ts +11 -13
  144. package/lib/forms/segment/segment.component.d.ts +3 -3
  145. package/lib/forms/select/chip-text.pipe.d.ts +1 -1
  146. package/lib/forms/select/select-option/select-option.component.d.ts +3 -3
  147. package/lib/forms/select/select.component.d.ts +11 -11
  148. package/lib/forms/slider/slider.component.d.ts +6 -6
  149. package/lib/forms/switch/switch.component.d.ts +5 -5
  150. package/lib/forms/text-area/text-area.component.d.ts +12 -12
  151. package/lib/forms/text-editor/text-editor.component.d.ts +16 -16
  152. package/lib/forms/text-input/text-input.component.d.ts +4 -5
  153. package/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.d.ts +6 -6
  154. package/lib/forms/time-picker/time-picker.component.d.ts +8 -8
  155. package/lib/forms/unique-selection-dispatcher.d.ts +2 -2
  156. package/lib/forms/value-accessor-base.d.ts +4 -4
  157. package/lib/{components/modals → modals}/alert/alert.component.d.ts +2 -2
  158. package/lib/{components/modals → modals}/confirm/confirm.component.d.ts +2 -2
  159. package/lib/{components/modals → modals}/custom-modal/custom-modal.component.d.ts +1 -1
  160. package/lib/{components → modals}/image-gallery/image-gallery.component.d.ts +2 -2
  161. package/lib/{components/modals → modals}/index.d.ts +1 -1
  162. package/lib/{components/modals → modals}/modal.service.d.ts +1 -1
  163. package/lib/modals/modals.module.d.ts +18 -0
  164. package/lib/{components/modals → modals}/prompt/prompt.component.d.ts +2 -2
  165. package/lib/pipes/safe-html.pipe.d.ts +1 -1
  166. package/package.json +13 -16
  167. package/public-api.d.ts +62 -0
  168. package/scss/base/image-gallery.scss +3 -0
  169. package/scss/base/popover.scss +9 -0
  170. package/scss/base/styles.scss +5 -0
  171. package/esm2020/index.mjs +0 -26
  172. package/esm2020/lib/components/click-outside.directive.mjs +0 -28
  173. package/esm2020/lib/components/image-gallery/image-gallery.component.mjs +0 -60
  174. package/esm2020/lib/components/image-gallery/image-gallery.module.mjs +0 -22
  175. package/esm2020/lib/components/modals/alert/alert.component.mjs +0 -52
  176. package/esm2020/lib/components/modals/confirm/confirm.component.mjs +0 -53
  177. package/esm2020/lib/components/modals/custom-modal/custom-modal.component.mjs +0 -70
  178. package/esm2020/lib/components/modals/index.mjs +0 -2
  179. package/esm2020/lib/components/modals/modals.module.mjs +0 -31
  180. package/esm2020/lib/components/modals/prompt/prompt.component.mjs +0 -102
  181. package/esm2020/lib/content/content.module.mjs +0 -20
  182. package/esm2020/lib/content/icon/icon.component.mjs +0 -17
  183. package/esm2020/lib/forms/container-host.mjs +0 -27
  184. package/esm2020/lib/forms/date-picker.module.mjs +0 -28
  185. package/esm2020/lib/forms/text-editor/text-editor.module.mjs +0 -25
  186. package/esm2020/lib/layout/layout.module.mjs +0 -18
  187. package/esm2020/lib/pipes/pipes.module.mjs +0 -20
  188. package/esm2020/lib/wrappers/flatpickr/flatpickr.component.mjs +0 -59
  189. package/lib/components/image-gallery/image-gallery.module.d.ts +0 -11
  190. package/lib/components/modals/modals.module.d.ts +0 -20
  191. package/lib/content/content.module.d.ts +0 -9
  192. package/lib/content/icon/icon.component.d.ts +0 -45
  193. package/lib/forms/container-host.d.ts +0 -11
  194. package/lib/forms/date-picker.module.d.ts +0 -17
  195. package/lib/forms/text-editor/text-editor.module.d.ts +0 -14
  196. package/lib/layout/layout.module.d.ts +0 -7
  197. package/lib/pipes/pipes.module.d.ts +0 -9
  198. package/scss/base/components/accordion/accordion-header/accordion-header.component.scss +0 -12
  199. package/scss/base/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.scss +0 -109
  200. package/scss/base/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.scss +0 -9
  201. package/scss/base/components/accordion/accordion-item/accordion-item.component.scss +0 -71
  202. package/scss/base/components/accordion/accordion.component.scss +0 -6
  203. package/scss/base/components/breadcrumb/breadcrumb.component.scss +0 -0
  204. package/scss/base/components/buttons/button/button.component.scss +0 -7
  205. package/scss/base/components/buttons/link-button/link-button.component.scss +0 -0
  206. package/scss/base/components/chips/chip/chip.component.scss +0 -0
  207. package/scss/base/components/chips/chip-container/chip-container.component.scss +0 -0
  208. package/scss/base/components/image-gallery/image-gallery.component.scss +0 -0
  209. package/scss/base/components/image-gallery/styles.scss +0 -5
  210. package/scss/base/components/loading-indicator/loading-indicator.component.scss +0 -0
  211. package/scss/base/components/modals/alert/alert.component.scss +0 -0
  212. package/scss/base/components/modals/confirm/confirm.component.scss +0 -0
  213. package/scss/base/components/modals/prompt/prompt.component.scss +0 -0
  214. package/scss/base/components/pagination/pagination.component.scss +0 -0
  215. package/scss/base/components/popovers/legend/legend.component.scss +0 -9
  216. package/scss/base/components/popovers/popover/popover.component.scss +0 -0
  217. package/scss/base/components/popovers/popover/styles.scss +0 -84
  218. package/scss/base/components/popovers/popover-content/popover-content.component.scss +0 -12
  219. package/scss/base/components/popovers/popover-menu/popover-menu.component.scss +0 -0
  220. package/scss/base/components/scroll/scroll-story-helper.scss +0 -12
  221. package/scss/base/components/search-input/search-input.component.scss +0 -7
  222. package/scss/base/components/snackbar/snackbar-container.component.scss +0 -3
  223. package/scss/base/components/snackbar/snackbar.component.scss +0 -3
  224. package/scss/base/components/stepper-horizontal/step-horizontal/step-horizontal.component.scss +0 -23
  225. package/scss/base/components/stepper-vertical/step-vertical/step-vertical.component.scss +0 -6
  226. package/scss/base/components/tabs/tab-pane/tab-pane.component.scss +0 -7
  227. package/scss/base/components/tabs/tabs.component.scss +0 -326
  228. package/scss/base/content/icon/icon.component.scss +0 -0
  229. package/scss/base/forms/checkbox/checkbox.component.scss +0 -160
  230. package/scss/base/forms/color-indicator/color-indicator.component.scss +0 -59
  231. package/scss/base/forms/color-picker/color-picker.component.scss +0 -207
  232. package/scss/base/forms/date-picker/date-picker.component.scss +0 -5
  233. package/scss/base/forms/date-range-picker/date-range-picker.component.scss +0 -34
  234. package/scss/base/forms/radio/radio.component.scss +0 -9
  235. package/scss/base/forms/segment/segment-control/segment-control.component.scss +0 -0
  236. package/scss/base/forms/segment/segment.component.scss +0 -0
  237. package/scss/base/forms/select/select-option/select-option.component.scss +0 -0
  238. package/scss/base/forms/select/select.component.scss +0 -251
  239. package/scss/base/forms/slider/slider.component.scss +0 -20
  240. package/scss/base/forms/switch/switch.component.scss +0 -145
  241. package/scss/base/forms/text-area/text-area.component.scss +0 -43
  242. package/scss/base/forms/text-editor/text-editor.component.scss +0 -294
  243. package/scss/base/forms/text-input/text-input.component.scss +0 -60
  244. package/scss/base/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.scss +0 -10
  245. package/scss/base/forms/time-picker/time-picker.component.scss +0 -5
@@ -0,0 +1,29 @@
1
+ import { Directive, Output, EventEmitter, HostListener } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class ClickOutsideDirective {
4
+ constructor(elRef) {
5
+ this.elRef = elRef;
6
+ this.clickOutside = new EventEmitter();
7
+ }
8
+ onClick(targetElement) {
9
+ const inside = this.elRef.nativeElement.contains(targetElement);
10
+ if (!inside) {
11
+ this.clickOutside.emit(null);
12
+ }
13
+ }
14
+ }
15
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
16
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.1", type: ClickOutsideDirective, isStandalone: true, selector: "[fngClickOutside]", outputs: { clickOutside: "clickOutside" }, host: { listeners: { "document:click": "onClick($event.target)" } }, ngImport: i0 });
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ClickOutsideDirective, decorators: [{
18
+ type: Directive,
19
+ args: [{
20
+ standalone: true,
21
+ selector: '[fngClickOutside]'
22
+ }]
23
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { clickOutside: [{
24
+ type: Output
25
+ }], onClick: [{
26
+ type: HostListener,
27
+ args: ['document:click', ['$event.target']]
28
+ }] } });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpY2stb3V0c2lkZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvZGlyZWN0aXZlcy9jbGljay1vdXRzaWRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0xRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hDLFlBQW9CLEtBQWlCO1FBQWpCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFHOUIsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO0lBSEQsQ0FBQztJQU1sQyxPQUFPLENBQUMsYUFBMEI7UUFDdkMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7O2tIQVpVLHFCQUFxQjtzR0FBckIscUJBQXFCOzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7aUJBQzlCO2lHQUtRLFlBQVk7c0JBRGxCLE1BQU07Z0JBSUEsT0FBTztzQkFEYixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tmbmdDbGlja091dHNpZGVdJ1xufSlcbmV4cG9ydCBjbGFzcyBDbGlja091dHNpZGVEaXJlY3RpdmUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgY2xpY2tPdXRzaWRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQudGFyZ2V0J10pXG4gIHB1YmxpYyBvbkNsaWNrKHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgY29uc3QgaW5zaWRlID0gdGhpcy5lbFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xuICAgIGlmICghaW5zaWRlKSB7XG4gICAgICB0aGlzLmNsaWNrT3V0c2lkZS5lbWl0KG51bGwpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -1,84 +1,21 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { FestoAngularLayoutModule } from './layout/layout.module';
3
2
  import { FestoAngularComponentsModule } from './components/components.module';
4
- import { FestoAngularContentModule } from './content/content.module';
5
3
  import { FestoAngularFormsModule } from './forms/forms.module';
6
- import { FestoAngularModalsModule } from './components/modals/modals.module';
4
+ import { SafeHtmlPipe } from './pipes/safe-html.pipe';
5
+ import { FestoAngularModalsModule } from './modals/modals.module';
7
6
  import { FestoAngularSnackbarModule } from './components/snackbar/snackbar.module';
8
- import { FestoAngularImageGalleryModule } from './components/image-gallery/image-gallery.module';
9
- import { FestoAngularTextEditorModule } from './forms/text-editor/text-editor.module';
10
- import { FestoAngularDatePickerModule } from './forms/date-picker.module';
11
- import { FestoAngularPipesModule } from './pipes/pipes.module';
12
7
  import * as i0 from "@angular/core";
13
8
  export class FestoAngularModule {
14
9
  }
15
- FestoAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FestoAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
16
- FestoAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.1.3", ngImport: i0, type: FestoAngularModule, imports: [FestoAngularPipesModule,
17
- FestoAngularLayoutModule,
18
- FestoAngularComponentsModule,
19
- FestoAngularContentModule,
20
- FestoAngularFormsModule,
21
- FestoAngularDatePickerModule,
22
- FestoAngularModalsModule,
23
- FestoAngularSnackbarModule,
24
- FestoAngularImageGalleryModule,
25
- FestoAngularTextEditorModule], exports: [FestoAngularPipesModule,
26
- FestoAngularLayoutModule,
27
- FestoAngularComponentsModule,
28
- FestoAngularContentModule,
29
- FestoAngularFormsModule,
30
- FestoAngularDatePickerModule,
31
- FestoAngularModalsModule,
32
- FestoAngularSnackbarModule,
33
- FestoAngularImageGalleryModule,
34
- FestoAngularTextEditorModule] });
35
- FestoAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FestoAngularModule, imports: [FestoAngularPipesModule,
36
- FestoAngularLayoutModule,
37
- FestoAngularComponentsModule,
38
- FestoAngularContentModule,
39
- FestoAngularFormsModule,
40
- FestoAngularDatePickerModule,
41
- FestoAngularModalsModule,
42
- FestoAngularSnackbarModule,
43
- FestoAngularImageGalleryModule,
44
- FestoAngularTextEditorModule, FestoAngularPipesModule,
45
- FestoAngularLayoutModule,
46
- FestoAngularComponentsModule,
47
- FestoAngularContentModule,
48
- FestoAngularFormsModule,
49
- FestoAngularDatePickerModule,
50
- FestoAngularModalsModule,
51
- FestoAngularSnackbarModule,
52
- FestoAngularImageGalleryModule,
53
- FestoAngularTextEditorModule] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: FestoAngularModule, decorators: [{
10
+ FestoAngularModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ FestoAngularModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [SafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule], exports: [SafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] });
12
+ FestoAngularModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, imports: [FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule] });
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: FestoAngularModule, decorators: [{
55
14
  type: NgModule,
56
15
  args: [{
57
16
  declarations: [],
58
- imports: [
59
- FestoAngularPipesModule,
60
- FestoAngularLayoutModule,
61
- FestoAngularComponentsModule,
62
- FestoAngularContentModule,
63
- FestoAngularFormsModule,
64
- FestoAngularDatePickerModule,
65
- FestoAngularModalsModule,
66
- FestoAngularSnackbarModule,
67
- FestoAngularImageGalleryModule,
68
- FestoAngularTextEditorModule
69
- ],
70
- exports: [
71
- FestoAngularPipesModule,
72
- FestoAngularLayoutModule,
73
- FestoAngularComponentsModule,
74
- FestoAngularContentModule,
75
- FestoAngularFormsModule,
76
- FestoAngularDatePickerModule,
77
- FestoAngularModalsModule,
78
- FestoAngularSnackbarModule,
79
- FestoAngularImageGalleryModule,
80
- FestoAngularTextEditorModule
81
- ]
17
+ imports: [SafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule],
18
+ exports: [SafeHtmlPipe, FestoAngularComponentsModule, FestoAngularFormsModule, FestoAngularModalsModule, FestoAngularSnackbarModule]
82
19
  }]
83
20
  }] });
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVzdG8tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9mZXN0by1hbmd1bGFyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9ELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2pHLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQTZCL0QsTUFBTSxPQUFPLGtCQUFrQjs7K0dBQWxCLGtCQUFrQjtnSEFBbEIsa0JBQWtCLFlBeEIzQix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5Qiw0QkFBNEIsYUFHNUIsdUJBQXVCO1FBQ3ZCLHdCQUF3QjtRQUN4Qiw0QkFBNEI7UUFDNUIseUJBQXlCO1FBQ3pCLHVCQUF1QjtRQUN2Qiw0QkFBNEI7UUFDNUIsd0JBQXdCO1FBQ3hCLDBCQUEwQjtRQUMxQiw4QkFBOEI7UUFDOUIsNEJBQTRCO2dIQUduQixrQkFBa0IsWUF4QjNCLHVCQUF1QjtRQUN2Qix3QkFBd0I7UUFDeEIsNEJBQTRCO1FBQzVCLHlCQUF5QjtRQUN6Qix1QkFBdUI7UUFDdkIsNEJBQTRCO1FBQzVCLHdCQUF3QjtRQUN4QiwwQkFBMEI7UUFDMUIsOEJBQThCO1FBQzlCLDRCQUE0QixFQUc1Qix1QkFBdUI7UUFDdkIsd0JBQXdCO1FBQ3hCLDRCQUE0QjtRQUM1Qix5QkFBeUI7UUFDekIsdUJBQXVCO1FBQ3ZCLDRCQUE0QjtRQUM1Qix3QkFBd0I7UUFDeEIsMEJBQTBCO1FBQzFCLDhCQUE4QjtRQUM5Qiw0QkFBNEI7MkZBR25CLGtCQUFrQjtrQkEzQjlCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3dCQUM5Qiw0QkFBNEI7cUJBQzdCO29CQUNELE9BQU8sRUFBRTt3QkFDUCx1QkFBdUI7d0JBQ3ZCLHdCQUF3Qjt3QkFDeEIsNEJBQTRCO3dCQUM1Qix5QkFBeUI7d0JBQ3pCLHVCQUF1Qjt3QkFDdkIsNEJBQTRCO3dCQUM1Qix3QkFBd0I7d0JBQ3hCLDBCQUEwQjt3QkFDMUIsOEJBQThCO3dCQUM5Qiw0QkFBNEI7cUJBQzdCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhckxheW91dE1vZHVsZSB9IGZyb20gJy4vbGF5b3V0L2xheW91dC5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSc7XG5pbXBvcnQgeyBGZXN0b0FuZ3VsYXJDb250ZW50TW9kdWxlIH0gZnJvbSAnLi9jb250ZW50L2NvbnRlbnQubW9kdWxlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhckZvcm1zTW9kdWxlIH0gZnJvbSAnLi9mb3Jtcy9mb3Jtcy5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyTW9kYWxzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL21vZGFscy9tb2RhbHMubW9kdWxlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhclNuYWNrYmFyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLm1vZHVsZSc7XG5pbXBvcnQgeyBGZXN0b0FuZ3VsYXJJbWFnZUdhbGxlcnlNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvaW1hZ2UtZ2FsbGVyeS9pbWFnZS1nYWxsZXJ5Lm1vZHVsZSc7XG5pbXBvcnQgeyBGZXN0b0FuZ3VsYXJUZXh0RWRpdG9yTW9kdWxlIH0gZnJvbSAnLi9mb3Jtcy90ZXh0LWVkaXRvci90ZXh0LWVkaXRvci5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJy4vZm9ybXMvZGF0ZS1waWNrZXIubW9kdWxlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhclBpcGVzTW9kdWxlIH0gZnJvbSAnLi9waXBlcy9waXBlcy5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBpbXBvcnRzOiBbXG4gICAgRmVzdG9Bbmd1bGFyUGlwZXNNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyTGF5b3V0TW9kdWxlLFxuICAgIEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyQ29udGVudE1vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJEYXRlUGlja2VyTW9kdWxlLFxuICAgIEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJTbmFja2Jhck1vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJJbWFnZUdhbGxlcnlNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyVGV4dEVkaXRvck1vZHVsZVxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRmVzdG9Bbmd1bGFyUGlwZXNNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyTGF5b3V0TW9kdWxlLFxuICAgIEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyQ29udGVudE1vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJEYXRlUGlja2VyTW9kdWxlLFxuICAgIEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJTbmFja2Jhck1vZHVsZSxcbiAgICBGZXN0b0FuZ3VsYXJJbWFnZUdhbGxlcnlNb2R1bGUsXG4gICAgRmVzdG9Bbmd1bGFyVGV4dEVkaXRvck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZlc3RvQW5ndWxhck1vZHVsZSB7fVxuIl19
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVzdG8tYW5ndWxhci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvZmVzdG8tYW5ndWxhci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBT25GLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixZQUhuQixZQUFZLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLGFBQ3pILFlBQVksRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEI7Z0hBRXhILGtCQUFrQixZQUhMLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUMzRyw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEI7MkZBRXhILGtCQUFrQjtrQkFMOUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixDQUFDO29CQUNwSSxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsd0JBQXdCLEVBQUUsMEJBQTBCLENBQUM7aUJBQ3JJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhckNvbXBvbmVudHNNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29tcG9uZW50cy5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyRm9ybXNNb2R1bGUgfSBmcm9tICcuL2Zvcm1zL2Zvcm1zLm1vZHVsZSc7XG5pbXBvcnQgeyBTYWZlSHRtbFBpcGUgfSBmcm9tICcuL3BpcGVzL3NhZmUtaHRtbC5waXBlJztcbmltcG9ydCB7IEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSB9IGZyb20gJy4vbW9kYWxzL21vZGFscy5tb2R1bGUnO1xuaW1wb3J0IHsgRmVzdG9Bbmd1bGFyU25hY2tiYXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXSxcbiAgaW1wb3J0czogW1NhZmVIdG1sUGlwZSwgRmVzdG9Bbmd1bGFyQ29tcG9uZW50c01vZHVsZSwgRmVzdG9Bbmd1bGFyRm9ybXNNb2R1bGUsIEZlc3RvQW5ndWxhck1vZGFsc01vZHVsZSwgRmVzdG9Bbmd1bGFyU25hY2tiYXJNb2R1bGVdLFxuICBleHBvcnRzOiBbU2FmZUh0bWxQaXBlLCBGZXN0b0FuZ3VsYXJDb21wb25lbnRzTW9kdWxlLCBGZXN0b0FuZ3VsYXJGb3Jtc01vZHVsZSwgRmVzdG9Bbmd1bGFyTW9kYWxzTW9kdWxlLCBGZXN0b0FuZ3VsYXJTbmFja2Jhck1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRmVzdG9Bbmd1bGFyTW9kdWxlIHt9XG4iXX0=
@@ -1,23 +1,11 @@
1
1
  import { coerceBooleanProperty } from '@angular/cdk/coercion';
2
- import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, forwardRef, ChangeDetectorRef } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, ViewEncapsulation, forwardRef } from '@angular/core';
3
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
5
  import * as i0 from "@angular/core";
5
6
  import * as i1 from "@angular/common";
6
7
  let nextUniqueId = 0;
7
8
  export class CheckboxComponent {
8
- constructor(changeDetector) {
9
- this.changeDetector = changeDetector;
10
- this.name = null;
11
- this.large = false;
12
- this.valid = true;
13
- this.labelPosition = 'after';
14
- this.innerId = `fng-checkbox-${++nextUniqueId}`;
15
- this.isChecked = false;
16
- this.isDisabled = false;
17
- this.isIndeterminate = false;
18
- this.indeterminateChange = new EventEmitter();
19
- this.change = new EventEmitter();
20
- }
21
9
  get id() {
22
10
  return this.innerId;
23
11
  }
@@ -63,6 +51,23 @@ export class CheckboxComponent {
63
51
  set required(value) {
64
52
  this.isRequired = coerceBooleanProperty(value);
65
53
  }
54
+ constructor(changeDetector) {
55
+ this.changeDetector = changeDetector;
56
+ this.name = '';
57
+ this.large = false;
58
+ this.valid = true;
59
+ this.labelPosition = 'after';
60
+ this.innerId = `fng-checkbox-${++nextUniqueId}`;
61
+ this.isChecked = false;
62
+ this.isDisabled = false;
63
+ this.isIndeterminate = false;
64
+ this.value = 'false';
65
+ this.isRequired = false;
66
+ this.indeterminateChange = new EventEmitter();
67
+ this.change = new EventEmitter();
68
+ this.controlValueAccessorChangeFn = () => null;
69
+ this.onTouched = () => null;
70
+ }
66
71
  writeValue(value) {
67
72
  this.checked = !!value;
68
73
  }
@@ -104,23 +109,23 @@ export class CheckboxComponent {
104
109
  }
105
110
  }
106
111
  }
107
- CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
108
- CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: CheckboxComponent, selector: "fng-checkbox", inputs: { name: "name", large: "large", valid: "valid", labelPosition: "labelPosition", id: "id", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", value: "value", required: "required" }, outputs: { indeterminateChange: "indeterminateChange", change: "change" }, providers: [
112
+ CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
113
+ CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: CheckboxComponent, isStandalone: true, selector: "fng-checkbox", inputs: { name: "name", large: "large", valid: "valid", labelPosition: "labelPosition", id: "id", checked: "checked", disabled: "disabled", indeterminate: "indeterminate", value: "value", required: "required" }, outputs: { indeterminateChange: "indeterminateChange", change: "change" }, providers: [
109
114
  {
110
115
  provide: NG_VALUE_ACCESSOR,
111
116
  useExisting: forwardRef(() => CheckboxComponent),
112
117
  multi: true
113
118
  }
114
- ], ngImport: i0, template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0px;left:0px}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: CheckboxComponent, decorators: [{
119
+ ], ngImport: i0, template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: CheckboxComponent, decorators: [{
116
121
  type: Component,
117
- args: [{ selector: 'fng-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
122
+ args: [{ standalone: true, imports: [CommonModule], selector: 'fng-checkbox', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
118
123
  {
119
124
  provide: NG_VALUE_ACCESSOR,
120
125
  useExisting: forwardRef(() => CheckboxComponent),
121
126
  multi: true
122
127
  }
123
- ], template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0px;left:0px}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"] }]
128
+ ], template: "<label\n class=\"fwe-checkbox-container\"\n [class.fng-checkbox-large]=\"large\"\n [class.fng-checkbox-invalid]=\"!valid || required\"\n [class.fwe-disabled]=\"disabled\"\n [class.fng-checkbox-indeterminate]=\"indeterminate\"\n [class.fwe-checked]=\"checked\"\n [attr.for]=\"inputId\"\n [ngClass]=\"{\n 'fwe-label-below': labelPosition == 'below',\n 'fwe-label-before': labelPosition == 'before'\n }\"\n>\n <input\n type=\"checkbox\"\n [id]=\"inputId\"\n [required]=\"required\"\n [disabled]=\"disabled\"\n [attr.value]=\"value\"\n [attr.name]=\"name\"\n [checked]=\"checked\"\n (change)=\"onInteractionEvent($event)\"\n (click)=\"onInputClick($event)\"\n />\n <div class=\"fwe-checkbox-indicator-container\">\n <div class=\"fwe-checkbox-indicator-background\"></div>\n <ng-container *ngIf=\"!indeterminate && checked\">\n <svg *ngIf=\"large\" width=\"24px\" height=\"24px\">\n <path d=\"M17.5 7L10 14.5 7.501 12l-1.5 1.501L10 17.5l9-9z\" fill=\"#fff\" />\n </svg>\n <svg *ngIf=\"!large\" xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\">\n <path d=\"M6 12L3 9l1.25-1.25L6 9.5l5.75-5.75L13 5l-7 7z\" fill=\"#fff\" />\n </svg>\n </ng-container>\n <div *ngIf=\"indeterminate && !checked\" class=\"fwe-indeterminate-indicator\"></div>\n </div>\n <div class=\"fwe-checkbox-title\">\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".fwe-checkbox-container{font-family:var(--fwe-font-family-sans-serif);-webkit-user-select:none;user-select:none;cursor:pointer;display:flex;flex-direction:row;align-items:flex-start}.fwe-checkbox-container.fwe-label-below{align-items:center;flex-direction:column}.fwe-checkbox-container.fwe-label-below .fwe-checkbox-title{text-align:center;margin:8px 0 0}.fwe-checkbox-container.fwe-label-before{flex-direction:row-reverse;justify-content:flex-end}.fwe-checkbox-container.fwe-label-before .fwe-checkbox-title{margin:0 8px 0 0}.fwe-checkbox-container .fwe-checkbox-indicator-container{margin-top:4px;position:relative}.fwe-checkbox-container input{opacity:0;cursor:pointer;height:0;width:0}.fwe-checkbox-container .fwe-checkbox-title{margin-left:8px;line-height:24px;color:var(--fwe-text);-webkit-user-select:none;user-select:none}.fwe-checkbox-container .fwe-checkbox-indicator-background{box-sizing:border-box;background:var(--fwe-white);border:1px solid var(--fwe-text-light);border-radius:2px;height:16px;width:16px;transition:border-width .2s ease-out}.fwe-checkbox-container .fwe-indeterminate-indicator{position:absolute;height:2px;width:10px;top:7px;left:3px;background:white}.fwe-checkbox-container svg{display:block;position:absolute;top:0;left:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-container{margin-top:0}.fwe-checkbox-container.fng-checkbox-large .fwe-checkbox-indicator-background{height:24px;width:24px;border-radius:4px}.fwe-checkbox-container.fng-checkbox-large .fwe-indeterminate-indicator{top:11px;width:14px;left:5px}.fwe-checkbox-container.fng-checkbox-large.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-large.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:12px solid var(--fwe-hero)}.fwe-checkbox-container:hover .fwe-checkbox-indicator-background{background-color:var(--fwe-control)}.fwe-checkbox-container:active .fwe-checkbox-indicator-background{background-color:var(--fwe-control-dark)}.fwe-checkbox-container.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{border:8px solid var(--fwe-hero)}.fwe-checkbox-container.fwe-checked:hover .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:hover .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-dark)}.fwe-checkbox-container.fwe-checked:active .fwe-checkbox-indicator-background,.fwe-checkbox-container.fng-checkbox-indeterminate:active .fwe-checkbox-indicator-background{border-color:var(--fwe-hero-darker)}.fwe-checkbox-container.fng-checkbox-invalid .fwe-checkbox-indicator-background{border:1px solid var(--fwe-red);background:var(--fwe-white)}.fwe-checkbox-container.fwe-disabled{cursor:default}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fwe-checked .fwe-checkbox-indicator-background,.fwe-checkbox-container.fwe-disabled.fng-checkbox-indeterminate .fwe-checkbox-indicator-background{background-color:var(--fwe-control);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled.fng-checkbox-invalid .fwe-checkbox-indicator-background{background-color:var(--fwe-white);border:1px solid var(--fwe-control)}.fwe-checkbox-container.fwe-disabled .fwe-checkbox-title{color:var(--fwe-text-disabled)}\n"] }]
124
129
  }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
125
130
  type: Input
126
131
  }], large: [{
@@ -146,4 +151,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
146
151
  }], change: [{
147
152
  type: Output
148
153
  }] } });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvY2hlY2tib3gvY2hlY2tib3guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGlCQUFpQixFQUF3QixNQUFNLGdCQUFnQixDQUFDOzs7QUFFekUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0FBZ0JyQixNQUFNLE9BQU8saUJBQWlCO0lBd0U1QixZQUFvQixjQUFpQztRQUFqQyxtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUF2RTVDLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDcEIsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLFVBQUssR0FBRyxJQUFJLENBQUM7UUFDYixrQkFBYSxHQUFpQyxPQUFPLENBQUM7UUFFdkQsWUFBTyxHQUFHLGdCQUFnQixFQUFFLFlBQVksRUFBRSxDQUFDO1FBdUIzQyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FBYWxCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFjbkIsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFhYix3QkFBbUIsR0FBMEIsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6RSxXQUFNLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUFFdkIsQ0FBQztJQWpFekQsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUNJLEVBQUUsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFjO1FBQ3hCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNwQztJQUNILENBQUM7SUFHRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQVU7UUFDckIsTUFBTSxRQUFRLEdBQUcscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDOUMsSUFBSSxRQUFRLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUMzQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUdELElBQ0ksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUM5QixDQUFDO0lBQ0QsSUFBSSxhQUFhLENBQUMsS0FBYztRQUM5QixNQUFNLE9BQU8sR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUMvQyxJQUFJLENBQUMsZUFBZSxHQUFHLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxFQUFFO1lBQ1gsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDckQ7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFLRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksUUFBUSxDQUFDLEtBQWM7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBWUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUF3QjtRQUN2QyxJQUFJLENBQUMsNEJBQTRCLEdBQUcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFPO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUM3QixDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBWTtRQUM3QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUV4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQ3RCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUMxQixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztvQkFDN0IsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ3RELENBQUMsQ0FBQyxDQUFDO2FBQ0o7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDZixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQzthQUNuQjtZQUNELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7WUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLElBQUksQ0FBQyw0QkFBNEIsSUFBSSxJQUFJLEVBQUU7Z0JBQzdDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDakQ7WUFDRCxJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO2dCQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7YUFDbEI7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDOzs4R0EzSFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsc1VBUmpCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUM7WUFDaEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLDBCQzNCSCxnNkNBd0NBOzJGRFhhLGlCQUFpQjtrQkFkN0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUM7NEJBQ2hELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO3dHQUdRLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBT0YsRUFBRTtzQkFETCxLQUFLO2dCQVVGLE9BQU87c0JBRFYsS0FBSztnQkFhRixRQUFRO3NCQURYLEtBQUs7Z0JBY0YsYUFBYTtzQkFEaEIsS0FBSztnQkFjRyxLQUFLO3NCQUFiLEtBQUs7Z0JBR0YsUUFBUTtzQkFEWCxLQUFLO2dCQVNhLG1CQUFtQjtzQkFBckMsTUFBTTtnQkFDWSxNQUFNO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZm5nLWNoZWNrYm94JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NoZWNrYm94LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ2hlY2tib3hDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG5hbWU6IHN0cmluZyA9IG51bGw7XG4gIEBJbnB1dCgpIGxhcmdlID0gZmFsc2U7XG4gIEBJbnB1dCgpIHZhbGlkID0gdHJ1ZTtcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInIHwgJ2JlbG93JyA9ICdhZnRlcic7XG5cbiAgcHJpdmF0ZSBpbm5lcklkID0gYGZuZy1jaGVja2JveC0keysrbmV4dFVuaXF1ZUlkfWA7XG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlubmVySWQ7XG4gIH1cbiAgQElucHV0KClcbiAgc2V0IGlkKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmlubmVySWQgPSB2YWx1ZSA/IGAke3ZhbHVlfS0keysrbmV4dFVuaXF1ZUlkfWAgOiBgZm5nLWNoZWNrYm94LSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgfVxuXG4gIGdldCBpbnB1dElkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMuaW5uZXJJZH0taW5wdXRgO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGNoZWNrZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNDaGVja2VkO1xuICB9XG4gIHNldCBjaGVja2VkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmNoZWNrZWQpIHtcbiAgICAgIHRoaXMuaXNDaGVja2VkID0gdmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGlzQ2hlY2tlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5pc0Rpc2FibGVkO1xuICB9XG4gIHNldCBkaXNhYmxlZCh2YWx1ZTogYW55KSB7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBnZXQgaW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0luZGV0ZXJtaW5hdGU7XG4gIH1cbiAgc2V0IGluZGV0ZXJtaW5hdGUodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBjb25zdCBjaGFuZ2VkID0gdmFsdWUgIT09IHRoaXMuaXNJbmRldGVybWluYXRlO1xuICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5pc0luZGV0ZXJtaW5hdGUpO1xuICAgIH1cbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIHByaXZhdGUgaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdmFsdWU6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNSZXF1aXJlZDtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgaXNSZXF1aXJlZDogYm9vbGVhbjtcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgaW5kZXRlcm1pbmF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuICBAT3V0cHV0KCkgcmVhZG9ubHkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbjogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG5cbiAgb25Ub3VjaGVkOiAoKSA9PiBhbnk7XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5jaGVja2VkID0gISF2YWx1ZTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XG4gICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgb25JbnRlcmFjdGlvbkV2ZW50KGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgb25JbnB1dENsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAodGhpcy5pbmRldGVybWluYXRlKSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuaXNJbmRldGVybWluYXRlID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5pbmRldGVybWluYXRlQ2hhbmdlLmVtaXQodGhpcy5pc0luZGV0ZXJtaW5hdGUpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy52YWxpZCkge1xuICAgICAgICB0aGlzLnZhbGlkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XG4gICAgICAgIHRoaXMucmVxdWlyZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hlY2tlZCA9ICF0aGlzLmNoZWNrZWQ7XG4gICAgICBpZiAodGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5jb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuKHRoaXMuY2hlY2tlZCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5vblRvdWNoZWQgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5jaGFuZ2UuZW1pdCh0aGlzLmNoZWNrZWQpO1xuICAgIH1cbiAgfVxufVxuIiwiPGxhYmVsXG4gIGNsYXNzPVwiZndlLWNoZWNrYm94LWNvbnRhaW5lclwiXG4gIFtjbGFzcy5mbmctY2hlY2tib3gtbGFyZ2VdPVwibGFyZ2VcIlxuICBbY2xhc3MuZm5nLWNoZWNrYm94LWludmFsaWRdPVwiIXZhbGlkIHx8IHJlcXVpcmVkXCJcbiAgW2NsYXNzLmZ3ZS1kaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtjbGFzcy5mbmctY2hlY2tib3gtaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlXCJcbiAgW2NsYXNzLmZ3ZS1jaGVja2VkXT1cImNoZWNrZWRcIlxuICBbYXR0ci5mb3JdPVwiaW5wdXRJZFwiXG4gIFtuZ0NsYXNzXT1cIntcbiAgICAnZndlLWxhYmVsLWJlbG93JzogbGFiZWxQb3NpdGlvbiA9PSAnYmVsb3cnLFxuICAgICdmd2UtbGFiZWwtYmVmb3JlJzogbGFiZWxQb3NpdGlvbiA9PSAnYmVmb3JlJ1xuICB9XCJcbj5cbiAgPGlucHV0XG4gICAgdHlwZT1cImNoZWNrYm94XCJcbiAgICBbaWRdPVwiaW5wdXRJZFwiXG4gICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFthdHRyLnZhbHVlXT1cInZhbHVlXCJcbiAgICBbYXR0ci5uYW1lXT1cIm5hbWVcIlxuICAgIFtjaGVja2VkXT1cImNoZWNrZWRcIlxuICAgIChjaGFuZ2UpPVwib25JbnRlcmFjdGlvbkV2ZW50KCRldmVudClcIlxuICAgIChjbGljayk9XCJvbklucHV0Q2xpY2soJGV2ZW50KVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJmd2UtY2hlY2tib3gtaW5kaWNhdG9yLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtY2hlY2tib3gtaW5kaWNhdG9yLWJhY2tncm91bmRcIj48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWluZGV0ZXJtaW5hdGUgJiYgY2hlY2tlZFwiPlxuICAgICAgPHN2ZyAqbmdJZj1cImxhcmdlXCIgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiPlxuICAgICAgICA8cGF0aCBkPVwiTTE3LjUgN0wxMCAxNC41IDcuNTAxIDEybC0xLjUgMS41MDFMMTAgMTcuNWw5LTl6XCIgZmlsbD1cIiNmZmZcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgICA8c3ZnICpuZ0lmPVwiIWxhcmdlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiPlxuICAgICAgICA8cGF0aCBkPVwiTTYgMTJMMyA5bDEuMjUtMS4yNUw2IDkuNWw1Ljc1LTUuNzVMMTMgNWwtNyA3elwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgKm5nSWY9XCJpbmRldGVybWluYXRlICYmICFjaGVja2VkXCIgY2xhc3M9XCJmd2UtaW5kZXRlcm1pbmF0ZS1pbmRpY2F0b3JcIj48L2Rpdj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtY2hlY2tib3gtdGl0bGVcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9sYWJlbD5cbiJdfQ==
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUNMLFNBQVMsRUFDVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksRUFDWix1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFVBQVUsRUFFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0sZ0JBQWdCLENBQUM7OztBQUV6RSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7QUFrQnJCLE1BQU0sT0FBTyxpQkFBaUI7SUFPNUIsSUFBSSxFQUFFO1FBQ0osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUNJLEVBQUUsQ0FBQyxLQUFhO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1QsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJ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V0FDUCxDQUFDLFlBQVksQ0FBQyxZQUNiLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQzs0QkFDaEQsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7d0dBR1EsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFPRixFQUFFO3NCQURMLEtBQUs7Z0JBVUYsT0FBTztzQkFEVixLQUFLO2dCQWFGLFFBQVE7c0JBRFgsS0FBSztnQkFjRixhQUFhO3NCQURoQixLQUFLO2dCQWNHLEtBQUs7c0JBQWIsS0FBSztnQkFHRixRQUFRO3NCQURYLEtBQUs7Z0JBU2EsbUJBQW1CO3NCQUFyQyxNQUFNO2dCQUNZLE1BQU07c0JBQXhCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgRXZlbnRFbWl0dGVyLFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIGZvcndhcmRSZWYsXG4gIENoYW5nZURldGVjdG9yUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5sZXQgbmV4dFVuaXF1ZUlkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1jaGVja2JveCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NoZWNrYm94LmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENoZWNrYm94Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrYm94Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICBASW5wdXQoKSBuYW1lOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbGFyZ2UgPSBmYWxzZTtcbiAgQElucHV0KCkgdmFsaWQgPSB0cnVlO1xuICBASW5wdXQoKSBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnID0gJ2FmdGVyJztcblxuICBwcml2YXRlIGlubmVySWQgPSBgZm5nLWNoZWNrYm94LSR7KytuZXh0VW5pcXVlSWR9YDtcbiAgZ2V0IGlkKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJJZDtcbiAgfVxuICBASW5wdXQoKVxuICBzZXQgaWQodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuaW5uZXJJZCA9IHZhbHVlID8gYCR7dmFsdWV9LSR7KytuZXh0VW5pcXVlSWR9YCA6IGBmbmctY2hlY2tib3gtJHsrK25leHRVbmlxdWVJZH1gO1xuICB9XG5cbiAgZ2V0IGlucHV0SWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pbm5lcklkfS1pbnB1dGA7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgY2hlY2tlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pc0NoZWNrZWQ7XG4gIH1cbiAgc2V0IGNoZWNrZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuY2hlY2tlZCkge1xuICAgICAgdGhpcy5pc0NoZWNrZWQgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgaXNDaGVja2VkID0gZmFsc2U7XG5cbiAgQElucHV0KClcbiAgZ2V0IGRpc2FibGVkKCkge1xuICAgIHJldHVybiB0aGlzLmlzRGlzYWJsZWQ7XG4gIH1cbiAgc2V0IGRpc2FibGVkKHZhbHVlOiBhbnkpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgaXNEaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBpbmRldGVybWluYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmlzSW5kZXRlcm1pbmF0ZTtcbiAgfVxuICBzZXQgaW5kZXRlcm1pbmF0ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB2YWx1ZSAhPT0gdGhpcy5pc0luZGV0ZXJtaW5hdGU7XG4gICAgdGhpcy5pc0luZGV0ZXJtaW5hdGUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICAgIGlmIChjaGFuZ2VkKSB7XG4gICAgICB0aGlzLmluZGV0ZXJtaW5hdGVDaGFuZ2UuZW1pdCh0aGlzLmlzSW5kZXRlcm1pbmF0ZSk7XG4gICAgfVxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cbiAgcHJpdmF0ZSBpc0luZGV0ZXJtaW5hdGUgPSBmYWxzZTtcblxuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nID0gJ2ZhbHNlJztcblxuICBASW5wdXQoKVxuICBnZXQgcmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaXNSZXF1aXJlZDtcbiAgfVxuICBzZXQgcmVxdWlyZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlzUmVxdWlyZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgaXNSZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSByZWFkb25seSBpbmRldGVybWluYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gIEBPdXRwdXQoKSByZWFkb25seSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBjb250cm9sVmFsdWVBY2Nlc3NvckNoYW5nZUZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCA9ICgpID0+IG51bGw7XG5cbiAgb25Ub3VjaGVkOiAoKSA9PiBhbnkgPSAoKSA9PiBudWxsO1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIHRoaXMuY2hlY2tlZCA9ICEhdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xuICAgIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgfVxuXG4gIG9uSW50ZXJhY3Rpb25FdmVudChldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIG9uSW5wdXRDbGljayhldmVudDogRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMuaW5kZXRlcm1pbmF0ZSkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICB0aGlzLmlzSW5kZXRlcm1pbmF0ZSA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuaW5kZXRlcm1pbmF0ZUNoYW5nZS5lbWl0KHRoaXMuaXNJbmRldGVybWluYXRlKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAoIXRoaXMudmFsaWQpIHtcbiAgICAgICAgdGhpcy52YWxpZCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5yZXF1aXJlZCkge1xuICAgICAgICB0aGlzLnJlcXVpcmVkID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmNoZWNrZWQgPSAhdGhpcy5jaGVja2VkO1xuICAgICAgaWYgKHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbiAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuY29udHJvbFZhbHVlQWNjZXNzb3JDaGFuZ2VGbih0aGlzLmNoZWNrZWQpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMub25Ub3VjaGVkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5jaGVja2VkKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxsYWJlbFxuICBjbGFzcz1cImZ3ZS1jaGVja2JveC1jb250YWluZXJcIlxuICBbY2xhc3MuZm5nLWNoZWNrYm94LWxhcmdlXT1cImxhcmdlXCJcbiAgW2NsYXNzLmZuZy1jaGVja2JveC1pbnZhbGlkXT1cIiF2YWxpZCB8fCByZXF1aXJlZFwiXG4gIFtjbGFzcy5md2UtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbY2xhc3MuZm5nLWNoZWNrYm94LWluZGV0ZXJtaW5hdGVdPVwiaW5kZXRlcm1pbmF0ZVwiXG4gIFtjbGFzcy5md2UtY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgW2F0dHIuZm9yXT1cImlucHV0SWRcIlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2Z3ZS1sYWJlbC1iZWxvdyc6IGxhYmVsUG9zaXRpb24gPT0gJ2JlbG93JyxcbiAgICAnZndlLWxhYmVsLWJlZm9yZSc6IGxhYmVsUG9zaXRpb24gPT0gJ2JlZm9yZSdcbiAgfVwiXG4+XG4gIDxpbnB1dFxuICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgW2lkXT1cImlucHV0SWRcIlxuICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci52YWx1ZV09XCJ2YWx1ZVwiXG4gICAgW2F0dHIubmFtZV09XCJuYW1lXCJcbiAgICBbY2hlY2tlZF09XCJjaGVja2VkXCJcbiAgICAoY2hhbmdlKT1cIm9uSW50ZXJhY3Rpb25FdmVudCgkZXZlbnQpXCJcbiAgICAoY2xpY2spPVwib25JbnB1dENsaWNrKCRldmVudClcIlxuICAvPlxuICA8ZGl2IGNsYXNzPVwiZndlLWNoZWNrYm94LWluZGljYXRvci1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLWNoZWNrYm94LWluZGljYXRvci1iYWNrZ3JvdW5kXCI+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpbmRldGVybWluYXRlICYmIGNoZWNrZWRcIj5cbiAgICAgIDxzdmcgKm5nSWY9XCJsYXJnZVwiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xNy41IDdMMTAgMTQuNSA3LjUwMSAxMmwtMS41IDEuNTAxTDEwIDE3LjVsOS05elwiIGZpbGw9XCIjZmZmXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgICAgPHN2ZyAqbmdJZj1cIiFsYXJnZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIj5cbiAgICAgICAgPHBhdGggZD1cIk02IDEyTDMgOWwxLjI1LTEuMjVMNiA5LjVsNS43NS01Ljc1TDEzIDVsLTcgN3pcIiBmaWxsPVwiI2ZmZlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8ZGl2ICpuZ0lmPVwiaW5kZXRlcm1pbmF0ZSAmJiAhY2hlY2tlZFwiIGNsYXNzPVwiZndlLWluZGV0ZXJtaW5hdGUtaW5kaWNhdG9yXCI+PC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLWNoZWNrYm94LXRpdGxlXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvbGFiZWw+XG4iXX0=
@@ -1,13 +1,33 @@
1
- import { ConnectionPositionPair } from '@angular/cdk/overlay';
1
+ import { ConnectionPositionPair, OverlayModule } from '@angular/cdk/overlay';
2
+ import { CommonModule } from '@angular/common';
2
3
  import { Component, Input } from '@angular/core';
3
4
  import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/cdk/overlay";
5
+ import * as i1 from "@angular/cdk/overlay";
6
+ import * as i2 from "@angular/common";
6
7
  /**
7
8
  * A control to display a color.
8
9
  */
9
10
  export class ColorIndicatorComponent {
10
11
  constructor() {
12
+ /**
13
+ * The label above the color.
14
+ */
15
+ this.label = '';
16
+ /**
17
+ * A text next to the color.
18
+ */
19
+ this.text = '';
20
+ /**
21
+ * The current color as a string.
22
+ * Examples: '#ffffff', 'red', 'rgba(1,2,3,0.5)'
23
+ */
24
+ this.color = '#ffffff';
25
+ /**
26
+ * enable an overlay to edit the color.
27
+ * The editor must be passed as the content of the indicator.
28
+ */
29
+ this.showPopOver = false;
30
+ this.disabled = false;
11
31
  this.isEditorOpen = false;
12
32
  this.positions = [
13
33
  new ConnectionPositionPair({
@@ -49,11 +69,11 @@ export class ColorIndicatorComponent {
49
69
  }
50
70
  }
51
71
  }
52
- ColorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ColorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
- ColorIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.3", type: ColorIndicatorComponent, selector: "fng-color-indicator", inputs: { label: "label", text: "text", color: "color", showPopOver: "showPopOver", disabled: "disabled" }, ngImport: i0, template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] });
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImport: i0, type: ColorIndicatorComponent, decorators: [{
72
+ ColorIndicatorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ColorIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
73
+ ColorIndicatorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.1", type: ColorIndicatorComponent, isStandalone: true, selector: "fng-color-indicator", inputs: { label: "label", text: "text", color: "color", showPopOver: "showPopOver", disabled: "disabled" }, ngImport: i0, template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"], dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.1", ngImport: i0, type: ColorIndicatorComponent, decorators: [{
55
75
  type: Component,
56
- args: [{ selector: 'fng-color-indicator', template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"] }]
76
+ args: [{ standalone: true, imports: [OverlayModule, CommonModule], selector: 'fng-color-indicator', template: "<div class=\"fwe-color-indicator\" (click)=\"isEditorOpen = showPopOver ? !isEditorOpen : false\" [class.disabled]=\"disabled\">\n <div class=\"fwe-color-label\" [style.opacity]=\"isEditorOpen ? 0 : 1\">\n {{ label }}\n </div>\n <div class=\"fwe-color-container\">\n <div\n class=\"fwe-color-box\"\n cdkOverlayOrigin\n #trigger=\"cdkOverlayOrigin\"\n [style.background]=\"color\"\n [style.border-color]=\"getBorderColor()\"\n >\n <svg\n *ngIf=\"!color\"\n class=\"fwe-no-color-pattern\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n id=\"canvas1\"\n width=\"18\"\n height=\"18\"\n >\n <defs>\n <pattern id=\"bwsquare2px\" width=\"4\" height=\"4\" patternUnits=\"userSpaceOnUse\">\n <rect x=\"0\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n <rect x=\"2\" y=\"0\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"0\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#e5e8eb\" />\n <rect x=\"2\" y=\"2\" width=\"2\" height=\"2\" stroke=\"none\" fill=\"#ffffff\" />\n </pattern>\n </defs>\n <rect x=\"0\" y=\"0\" rx=\"0\" ry=\"0\" width=\"18\" height=\"18\" fill=\"url(#bwsquare2px)\" stroke-width=\"0\" />\n </svg>\n </div>\n <div class=\"fwe-color-indicator-text\" *ngIf=\"text\">\n {{ text }}\n </div>\n </div>\n\n <ng-template\n cdkConnectedOverlay\n [cdkConnectedOverlayOrigin]=\"trigger\"\n [cdkConnectedOverlayOpen]=\"isEditorOpen\"\n [cdkConnectedOverlayPositions]=\"positions\"\n [cdkConnectedOverlayHasBackdrop]=\"true\"\n [cdkConnectedOverlayBackdropClass]=\"'backdrop'\"\n [cdkConnectedOverlayViewportMargin]=\"32\"\n (backdropClick)=\"isEditorOpen = false\"\n >\n <div class=\"fwe-popover-container\">\n <div class=\"fwe-triangle\"></div>\n <div class=\"fwe-popover\" #popoverContent>\n <div class=\"fwe-color-label fwe-mb-s\">\n {{ label }}\n </div>\n <ng-content></ng-content>\n </div>\n </div>\n </ng-template>\n</div>\n", styles: [".fwe-color-indicator .fwe-popover-container{position:relative}.fwe-color-indicator .fwe-popover-container .fwe-popover{background-color:var(--fwe-white);padding:8px 16px 16px;font-size:var(--fwe-font-size-md);line-height:1rem;box-shadow:0 1px 4px #3333;border-radius:4px}.fwe-color-indicator .fwe-backdrop{background:transparent}.fwe-color-indicator .fwe-color-label{height:18px;font-size:var(--fwe-font-size-small);font-weight:var(--fwe-font-weight-bold);margin-bottom:4px}.fwe-color-indicator .fwe-color-container{display:flex}.fwe-color-indicator .fwe-color-container .fwe-color-box{height:24px;width:24px;border-radius:4px;border:1px solid var(--fwe-control-border);background:var(--fwe-white)}.fwe-color-indicator .fwe-color-container .fwe-color-box .fwe-no-color-pattern{margin:2px}.fwe-color-indicator .fwe-color-container .fwe-color-indicator-text{margin-left:8px}.fwe-color-indicator.disabled{pointer-events:none}.fwe-color-indicator.disabled .fwe-color-label{color:var(--fwe-text-disabled)}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-box{opacity:.5}.fwe-color-indicator.disabled .fwe-color-container .fwe-color-indicator-text{color:var(--fwe-text-disabled)}\n"] }]
57
77
  }], propDecorators: { label: [{
58
78
  type: Input
59
79
  }], text: [{
@@ -65,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.3", ngImpor
65
85
  }], disabled: [{
66
86
  type: Input
67
87
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2NvbG9yLWluZGljYXRvci9jb2xvci1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvY29sb3ItaW5kaWNhdG9yL2NvbG9yLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQUVqRDs7R0FFRztBQU1ILE1BQU0sT0FBTyx1QkFBdUI7SUFMcEM7UUE4QlMsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBUyxHQUFHO1lBQ2pCLElBQUksc0JBQXNCLENBQ3hCO2dCQUNFLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsS0FBSzthQUNmLEVBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFBRSxFQUNILENBQUMseUJBQXlCLENBQUMsQ0FDNUI7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLEtBQUs7YUFDaEIsRUFDRCxDQUFDLEVBQ0QsRUFBRSxFQUNGLENBQUMsNEJBQTRCLENBQUMsQ0FDL0I7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQixFQUNELENBQUMsRUFBRSxFQUNILENBQUMsRUFDRCxDQUFDLDBCQUEwQixDQUFDLENBQzdCO1lBQ0QsSUFBSSxzQkFBc0IsQ0FDeEI7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsRUFDRCxFQUFFLEVBQ0YsQ0FBQyxFQUNELENBQUMsMkJBQTJCLENBQUMsQ0FDOUI7U0FDRixDQUFDO0tBU0g7SUFQQyxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFDbkcsT0FBTyxTQUFTLENBQUMsQ0FBQyxvQkFBb0I7U0FDdkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7O29IQXhGVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix1S0NYcEMsNHJFQTJEQTsyRkRoRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHFCQUFxQjs4QkFRdEIsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBBIGNvbnRyb2wgdG8gZGlzcGxheSBhIGNvbG9yLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmbmctY29sb3ItaW5kaWNhdG9yJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLWluZGljYXRvci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbG9yLWluZGljYXRvci5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbG9ySW5kaWNhdG9yQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBhYm92ZSB0aGUgY29sb3IuXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgbmV4dCB0byB0aGUgY29sb3IuXG4gICAqL1xuICBASW5wdXQoKSB0ZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGNvbG9yIGFzIGEgc3RyaW5nLlxuICAgKiBFeGFtcGxlczogJyNmZmZmZmYnLCAncmVkJywgJ3JnYmEoMSwyLDMsMC41KSdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIGVuYWJsZSBhbiBvdmVybGF5IHRvIGVkaXQgdGhlIGNvbG9yLlxuICAgKiBUaGUgZWRpdG9yIG11c3QgYmUgcGFzc2VkIGFzIHRoZSBjb250ZW50IG9mIHRoZSBpbmRpY2F0b3IuXG4gICAqL1xuICBASW5wdXQoKSBzaG93UG9wT3ZlcjogYm9vbGVhbjtcblxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgaXNFZGl0b3JPcGVuID0gZmFsc2U7XG5cbiAgcHVibGljIHBvc2l0aW9ucyA9IFtcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICd0b3AnXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgfSxcbiAgICAgIDAsXG4gICAgICAtMjAsXG4gICAgICBbJ2ZuZy1jb2xvci1pbmRpY2F0b3ItdG9wJ11cbiAgICApLFxuICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnY2VudGVyJyxcbiAgICAgICAgb3JpZ2luWTogJ2JvdHRvbSdcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgb3ZlcmxheVk6ICd0b3AnXG4gICAgICB9LFxuICAgICAgMCxcbiAgICAgIDIwLFxuICAgICAgWydmbmctY29sb3ItaW5kaWNhdG9yLWJvdHRvbSddXG4gICAgKSxcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ3N0YXJ0JyxcbiAgICAgICAgb3JpZ2luWTogJ2NlbnRlcidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG92ZXJsYXlYOiAnZW5kJyxcbiAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAgLTIwLFxuICAgICAgMCxcbiAgICAgIFsnZm5nLWNvbG9yLWluZGljYXRvci1sZWZ0J11cbiAgICApLFxuICAgIG5ldyBDb25uZWN0aW9uUG9zaXRpb25QYWlyKFxuICAgICAge1xuICAgICAgICBvcmlnaW5YOiAnZW5kJyxcbiAgICAgICAgb3JpZ2luWTogJ2NlbnRlcidcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG92ZXJsYXlYOiAnc3RhcnQnLFxuICAgICAgICBvdmVybGF5WTogJ2NlbnRlcidcbiAgICAgIH0sXG4gICAgICAyMCxcbiAgICAgIDAsXG4gICAgICBbJ2ZuZy1jb2xvci1pbmRpY2F0b3ItcmlnaHQnXVxuICAgIClcbiAgXTtcblxuICBnZXRCb3JkZXJDb2xvcigpOiBzdHJpbmcge1xuICAgIGlmICghdGhpcy5jb2xvciB8fCB0aGlzLmNvbG9yLnRvVXBwZXJDYXNlKCkgPT09ICcjRkZGRkZGJyB8fCB0aGlzLmNvbG9yLnRvVXBwZXJDYXNlKCkgPT09ICcjRjJGM0Y1Jykge1xuICAgICAgcmV0dXJuICcjYjZiZWM2JzsgLy8gPSAkY29udHJvbC1ib3JkZXJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuY29sb3I7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLWNvbG9yLWluZGljYXRvclwiIChjbGljayk9XCJpc0VkaXRvck9wZW4gPSBzaG93UG9wT3ZlciA/ICFpc0VkaXRvck9wZW4gOiBmYWxzZVwiIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICA8ZGl2IGNsYXNzPVwiZndlLWNvbG9yLWxhYmVsXCIgW3N0eWxlLm9wYWNpdHldPVwiaXNFZGl0b3JPcGVuID8gMCA6IDFcIj5cbiAgICB7eyBsYWJlbCB9fVxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImZ3ZS1jb2xvci1ib3hcIlxuICAgICAgY2RrT3ZlcmxheU9yaWdpblxuICAgICAgI3RyaWdnZXI9XCJjZGtPdmVybGF5T3JpZ2luXCJcbiAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImNvbG9yXCJcbiAgICAgIFtzdHlsZS5ib3JkZXItY29sb3JdPVwiZ2V0Qm9yZGVyQ29sb3IoKVwiXG4gICAgPlxuICAgICAgPHN2Z1xuICAgICAgICAqbmdJZj1cIiFjb2xvclwiXG4gICAgICAgIGNsYXNzPVwiZndlLW5vLWNvbG9yLXBhdHRlcm5cIlxuICAgICAgICB2ZXJzaW9uPVwiMS4xXCJcbiAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiXG4gICAgICAgIGlkPVwiY2FudmFzMVwiXG4gICAgICAgIHdpZHRoPVwiMThcIlxuICAgICAgICBoZWlnaHQ9XCIxOFwiXG4gICAgICA+XG4gICAgICAgIDxkZWZzPlxuICAgICAgICAgIDxwYXR0ZXJuIGlkPVwiYndzcXVhcmUycHhcIiB3aWR0aD1cIjRcIiBoZWlnaHQ9XCI0XCIgcGF0dGVyblVuaXRzPVwidXNlclNwYWNlT25Vc2VcIj5cbiAgICAgICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiB3aWR0aD1cIjJcIiBoZWlnaHQ9XCIyXCIgc3Ryb2tlPVwibm9uZVwiIGZpbGw9XCIjZmZmZmZmXCIgLz5cbiAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjBcIiB3aWR0aD1cIjJcIiBoZWlnaHQ9XCIyXCIgc3Ryb2tlPVwibm9uZVwiIGZpbGw9XCIjZTVlOGViXCIgLz5cbiAgICAgICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjJcIiB3aWR0aD1cIjJcIiBoZWlnaHQ9XCIyXCIgc3Ryb2tlPVwibm9uZVwiIGZpbGw9XCIjZTVlOGViXCIgLz5cbiAgICAgICAgICAgIDxyZWN0IHg9XCIyXCIgeT1cIjJcIiB3aWR0aD1cIjJcIiBoZWlnaHQ9XCIyXCIgc3Ryb2tlPVwibm9uZVwiIGZpbGw9XCIjZmZmZmZmXCIgLz5cbiAgICAgICAgICA8L3BhdHRlcm4+XG4gICAgICAgIDwvZGVmcz5cbiAgICAgICAgPHJlY3QgeD1cIjBcIiB5PVwiMFwiIHJ4PVwiMFwiIHJ5PVwiMFwiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIGZpbGw9XCJ1cmwoI2J3c3F1YXJlMnB4KVwiIHN0cm9rZS13aWR0aD1cIjBcIiAvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1pbmRpY2F0b3ItdGV4dFwiICpuZ0lmPVwidGV4dFwiPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L2Rpdj5cblxuICA8bmctdGVtcGxhdGVcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5XG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcmlnaW5dPVwidHJpZ2dlclwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cImlzRWRpdG9yT3BlblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbnNdPVwicG9zaXRpb25zXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXT1cInRydWVcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5QmFja2Ryb3BDbGFzc109XCInYmFja2Ryb3AnXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVZpZXdwb3J0TWFyZ2luXT1cIjMyXCJcbiAgICAoYmFja2Ryb3BDbGljayk9XCJpc0VkaXRvck9wZW4gPSBmYWxzZVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiZndlLXBvcG92ZXItY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLXRyaWFuZ2xlXCI+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZndlLXBvcG92ZXJcIiAjcG9wb3ZlckNvbnRlbnQ+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmd2UtY29sb3ItbGFiZWwgZndlLW1iLXNcIj5cbiAgICAgICAgICB7eyBsYWJlbCB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jb2xvci1pbmRpY2F0b3IvY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9mb3Jtcy9jb2xvci1pbmRpY2F0b3IvY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFFakQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sdUJBQXVCO0lBUHBDO1FBUUU7O1dBRUc7UUFDTSxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBRTVCOztXQUVHO1FBQ00sU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUUzQjs7O1dBR0c7UUFDTSxVQUFLLEdBQVcsU0FBUyxDQUFDO1FBRW5DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTdCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFNUIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFckIsY0FBUyxHQUFHO1lBQ2pCLElBQUksc0JBQXNCLENBQ3hCO2dCQUNFLE9BQU8sRUFBRSxRQUFRO2dCQUNqQixPQUFPLEVBQUUsS0FBSzthQUNmLEVBQ0Q7Z0JBQ0UsUUFBUSxFQUFFLFFBQVE7Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRO2FBQ25CLEVBQ0QsQ0FBQyxFQUNELENBQUMsRUFBRSxFQUNILENBQUMseUJBQXlCLENBQUMsQ0FDNUI7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsUUFBUTtnQkFDakIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsUUFBUTtnQkFDbEIsUUFBUSxFQUFFLEtBQUs7YUFDaEIsRUFDRCxDQUFDLEVBQ0QsRUFBRSxFQUNGLENBQUMsNEJBQTRCLENBQUMsQ0FDL0I7WUFDRCxJQUFJLHNCQUFzQixDQUN4QjtnQkFDRSxPQUFPLEVBQUUsT0FBTztnQkFDaEIsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsS0FBSztnQkFDZixRQUFRLEVBQUUsUUFBUTthQUNuQixFQUNELENBQUMsRUFBRSxFQUNILENBQUMsRUFDRCxDQUFDLDBCQUEwQixDQUFDLENBQzdCO1lBQ0QsSUFBSSxzQkFBc0IsQ0FDeEI7Z0JBQ0UsT0FBTyxFQUFFLEtBQUs7Z0JBQ2QsT0FBTyxFQUFFLFFBQVE7YUFDbEIsRUFDRDtnQkFDRSxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFLFFBQVE7YUFDbkIsRUFDRCxFQUFFLEVBQ0YsQ0FBQyxFQUNELENBQUMsMkJBQTJCLENBQUMsQ0FDOUI7U0FDRixDQUFDO0tBU0g7SUFQQyxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxTQUFTLEVBQUU7WUFDbkcsT0FBTyxTQUFTLENBQUMsQ0FBQyxvQkFBb0I7U0FDdkM7YUFBTTtZQUNMLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7O29IQXhGVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwyTENkcEMsNHJFQTJEQSw0dENEbERZLGFBQWEsZ3BDQUFFLFlBQVk7MkZBSzFCLHVCQUF1QjtrQkFQbkMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLFlBQzVCLHFCQUFxQjs4QkFRdEIsS0FBSztzQkFBYixLQUFLO2dCQUtHLElBQUk7c0JBQVosS0FBSztnQkFNRyxLQUFLO3NCQUFiLEtBQUs7Z0JBTUcsV0FBVztzQkFBbkIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGlvblBvc2l0aW9uUGFpciwgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQSBjb250cm9sIHRvIGRpc3BsYXkgYSBjb2xvci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtPdmVybGF5TW9kdWxlLCBDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1jb2xvci1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29sb3ItaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQ29sb3JJbmRpY2F0b3JDb21wb25lbnQge1xuICAvKipcbiAgICogVGhlIGxhYmVsIGFib3ZlIHRoZSBjb2xvci5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogQSB0ZXh0IG5leHQgdG8gdGhlIGNvbG9yLlxuICAgKi9cbiAgQElucHV0KCkgdGV4dDogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGNvbG9yIGFzIGEgc3RyaW5nLlxuICAgKiBFeGFtcGxlczogJyNmZmZmZmYnLCAncmVkJywgJ3JnYmEoMSwyLDMsMC41KSdcbiAgICovXG4gIEBJbnB1dCgpIGNvbG9yOiBzdHJpbmcgPSAnI2ZmZmZmZic7XG5cbiAgLyoqXG4gICAqIGVuYWJsZSBhbiBvdmVybGF5IHRvIGVkaXQgdGhlIGNvbG9yLlxuICAgKiBUaGUgZWRpdG9yIG11c3QgYmUgcGFzc2VkIGFzIHRoZSBjb250ZW50IG9mIHRoZSBpbmRpY2F0b3IuXG4gICAqL1xuICBASW5wdXQoKSBzaG93UG9wT3ZlcjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgcHVibGljIGlzRWRpdG9yT3BlbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBwb3NpdGlvbnMgPSBbXG4gICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICBvcmlnaW5ZOiAndG9wJ1xuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgb3ZlcmxheVg6ICdjZW50ZXInLFxuICAgICAgICBvdmVybGF5WTogJ2JvdHRvbSdcbiAgICAgIH0sXG4gICAgICAwLFxuICAgICAgLTIwLFxuICAgICAgWydmbmctY29sb3ItaW5kaWNhdG9yLXRvcCddXG4gICAgKSxcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgIG9yaWdpblk6ICdib3R0b20nXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgfSxcbiAgICAgIDAsXG4gICAgICAyMCxcbiAgICAgIFsnZm5nLWNvbG9yLWluZGljYXRvci1ib3R0b20nXVxuICAgICksXG4gICAgbmV3IENvbm5lY3Rpb25Qb3NpdGlvblBhaXIoXG4gICAgICB7XG4gICAgICAgIG9yaWdpblg6ICdzdGFydCcsXG4gICAgICAgIG9yaWdpblk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ2VuZCcsXG4gICAgICAgIG92ZXJsYXlZOiAnY2VudGVyJ1xuICAgICAgfSxcbiAgICAgIC0yMCxcbiAgICAgIDAsXG4gICAgICBbJ2ZuZy1jb2xvci1pbmRpY2F0b3ItbGVmdCddXG4gICAgKSxcbiAgICBuZXcgQ29ubmVjdGlvblBvc2l0aW9uUGFpcihcbiAgICAgIHtcbiAgICAgICAgb3JpZ2luWDogJ2VuZCcsXG4gICAgICAgIG9yaWdpblk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgb3ZlcmxheVk6ICdjZW50ZXInXG4gICAgICB9LFxuICAgICAgMjAsXG4gICAgICAwLFxuICAgICAgWydmbmctY29sb3ItaW5kaWNhdG9yLXJpZ2h0J11cbiAgICApXG4gIF07XG5cbiAgZ2V0Qm9yZGVyQ29sb3IoKTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuY29sb3IgfHwgdGhpcy5jb2xvci50b1VwcGVyQ2FzZSgpID09PSAnI0ZGRkZGRicgfHwgdGhpcy5jb2xvci50b1VwcGVyQ2FzZSgpID09PSAnI0YyRjNGNScpIHtcbiAgICAgIHJldHVybiAnI2I2YmVjNic7IC8vID0gJGNvbnRyb2wtYm9yZGVyXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1pbmRpY2F0b3JcIiAoY2xpY2spPVwiaXNFZGl0b3JPcGVuID0gc2hvd1BvcE92ZXIgPyAhaXNFZGl0b3JPcGVuIDogZmFsc2VcIiBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jb2xvci1sYWJlbFwiIFtzdHlsZS5vcGFjaXR5XT1cImlzRWRpdG9yT3BlbiA/IDAgOiAxXCI+XG4gICAge3sgbGFiZWwgfX1cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJmd2UtY29sb3ItY29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJmd2UtY29sb3ItYm94XCJcbiAgICAgIGNka092ZXJsYXlPcmlnaW5cbiAgICAgICN0cmlnZ2VyPVwiY2RrT3ZlcmxheU9yaWdpblwiXG4gICAgICBbc3R5bGUuYmFja2dyb3VuZF09XCJjb2xvclwiXG4gICAgICBbc3R5bGUuYm9yZGVyLWNvbG9yXT1cImdldEJvcmRlckNvbG9yKClcIlxuICAgID5cbiAgICAgIDxzdmdcbiAgICAgICAgKm5nSWY9XCIhY29sb3JcIlxuICAgICAgICBjbGFzcz1cImZ3ZS1uby1jb2xvci1wYXR0ZXJuXCJcbiAgICAgICAgdmVyc2lvbj1cIjEuMVwiXG4gICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIlxuICAgICAgICBpZD1cImNhbnZhczFcIlxuICAgICAgICB3aWR0aD1cIjE4XCJcbiAgICAgICAgaGVpZ2h0PVwiMThcIlxuICAgICAgPlxuICAgICAgICA8ZGVmcz5cbiAgICAgICAgICA8cGF0dGVybiBpZD1cImJ3c3F1YXJlMnB4XCIgd2lkdGg9XCI0XCIgaGVpZ2h0PVwiNFwiIHBhdHRlcm5Vbml0cz1cInVzZXJTcGFjZU9uVXNlXCI+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIwXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2ZmZmZmZlwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIwXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2U1ZThlYlwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMFwiIHk9XCIyXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2U1ZThlYlwiIC8+XG4gICAgICAgICAgICA8cmVjdCB4PVwiMlwiIHk9XCIyXCIgd2lkdGg9XCIyXCIgaGVpZ2h0PVwiMlwiIHN0cm9rZT1cIm5vbmVcIiBmaWxsPVwiI2ZmZmZmZlwiIC8+XG4gICAgICAgICAgPC9wYXR0ZXJuPlxuICAgICAgICA8L2RlZnM+XG4gICAgICAgIDxyZWN0IHg9XCIwXCIgeT1cIjBcIiByeD1cIjBcIiByeT1cIjBcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiBmaWxsPVwidXJsKCNid3NxdWFyZTJweClcIiBzdHJva2Utd2lkdGg9XCIwXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtY29sb3ItaW5kaWNhdG9yLXRleHRcIiAqbmdJZj1cInRleHRcIj5cbiAgICAgIHt7IHRleHQgfX1cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbiAgPG5nLXRlbXBsYXRlXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3JpZ2luXT1cInRyaWdnZXJcIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5T3Blbl09XCJpc0VkaXRvck9wZW5cIlxuICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cInBvc2l0aW9uc1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlIYXNCYWNrZHJvcF09XCJ0cnVlXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3NdPVwiJ2JhY2tkcm9wJ1wiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlWaWV3cG9ydE1hcmdpbl09XCIzMlwiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiaXNFZGl0b3JPcGVuID0gZmFsc2VcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cImZ3ZS1wb3BvdmVyLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS10cmlhbmdsZVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZ3ZS1wb3BvdmVyXCIgI3BvcG92ZXJDb250ZW50PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZndlLWNvbG9yLWxhYmVsIGZ3ZS1tYi1zXCI+XG4gICAgICAgICAge3sgbGFiZWwgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuPC9kaXY+XG4iXX0=
@@ -2,7 +2,7 @@ export class ColorHelper {
2
2
  // based on: https://gist.github.com/mjackson/5311256
3
3
  static rgbToHsv(rgb) {
4
4
  if (!rgb) {
5
- return undefined;
5
+ return { h: 0, s: 0, v: 0 };
6
6
  }
7
7
  const r = this.limitToByte(rgb.r) / 255;
8
8
  const g = this.limitToByte(rgb.g) / 255;
@@ -36,14 +36,14 @@ export class ColorHelper {
36
36
  // based on: https://gist.github.com/mjackson/5311256
37
37
  static hsvToRgb(hsv) {
38
38
  if (!hsv) {
39
- return undefined;
39
+ return { r: 0, g: 0, b: 0 };
40
40
  }
41
41
  hsv.h = this.limitToOne(hsv.h);
42
42
  hsv.s = this.limitToOne(hsv.s);
43
43
  hsv.v = this.limitToOne(hsv.v);
44
- let r;
45
- let g;
46
- let b;
44
+ let r = 0;
45
+ let g = 0;
46
+ let b = 0;
47
47
  const i = Math.floor(hsv.h * 6);
48
48
  const f = hsv.h * 6 - i;
49
49
  const p = hsv.v * (1 - hsv.s);
@@ -102,7 +102,7 @@ export class ColorHelper {
102
102
  }
103
103
  static rgbToHex(rgb) {
104
104
  if (!rgb) {
105
- return undefined;
105
+ return '#FFFFFF';
106
106
  }
107
107
  rgb.r = this.limitToByte(rgb.r);
108
108
  rgb.g = this.limitToByte(rgb.g);
@@ -113,9 +113,17 @@ export class ColorHelper {
113
113
  return '#' + red + green + blue;
114
114
  }
115
115
  static hexToRgb(hexString) {
116
+ if (!hexString) {
117
+ return { r: 0, g: 0, b: 0 };
118
+ }
116
119
  const numbersOnly = hexString.substring(1);
117
120
  const aRgbHex = numbersOnly.match(/.{1,2}/g);
118
- return { r: parseInt(aRgbHex[0], 16), g: parseInt(aRgbHex[1], 16), b: parseInt(aRgbHex[2], 16) };
121
+ if (aRgbHex?.length === 3) {
122
+ return { r: parseInt(aRgbHex[0], 16), g: parseInt(aRgbHex[1], 16), b: parseInt(aRgbHex[2], 16) };
123
+ }
124
+ else {
125
+ return { r: 0, g: 0, b: 0 };
126
+ }
119
127
  }
120
128
  }
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZm9ybXMvY29sb3ItcGlja2VyL2NvbG9yLWhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQWdCLFdBQVc7SUFDL0IscURBQXFEO0lBQzlDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBb0M7UUFDekQsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ3hDLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFeEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU5QixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDWixJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDWixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFZCxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ3BCLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFFNUIsSUFBSSxHQUFHLEtB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LENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDbkcsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbG9ySGVscGVyIHtcbiAgLy8gYmFzZWQgb246IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL21qYWNrc29uLzUzMTEyNTZcbiAgcHVibGljIHN0YXRpYyByZ2JUb0hzdihyZ2I6IFJlY29yZDwncicgfCAnZycgfCAnYicsIG51bWJlcj4pOiBSZWNvcmQ8J2gnIHwgJ3MnIHwgJ3YnLCBudW1iZXI+IHtcbiAgICBpZiAoIXJnYikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCByID0gdGhpcy5saW1pdFRvQnl0ZShyZ2IucikgLyAyNTU7XG4gICAgY29uc3QgZyA9IHRoaXMubGltaXRUb0J5dGUocmdiLmcpIC8gMjU1O1xuICAgIGNvbnN0IGIgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5iKSAvIDI1NTtcblxuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHIsIGcsIGIpO1xuXG4gICAgbGV0IGggPSBtYXg7XG4gICAgbGV0IHMgPSBtYXg7XG4gICAgY29uc3QgdiA9IG1heDtcblxuICAgIGNvbnN0IGQgPSBtYXggLSBtaW47XG4gICAgcyA9IG1heCA9PT0gMCA/IDAgOiBkIC8gbWF4O1xuXG4gICAgaWYgKG1heCA9PT0gbWluKSB7XG4gICAgICBoID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKG1heCkge1xuICAgICAgICBjYXNlIHI6XG4gICAgICAgICAgaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGc6XG4gICAgICAgICAgaCA9IChiIC0gcikgLyBkICsgMjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBiOlxuICAgICAgICAgIGggPSAociAtIGcpIC8gZCArIDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGggLz0gNjtcbiAgICB9XG5cbiAgICByZXR1cm4geyBoLCBzLCB2IH07XG4gIH1cblxuICAvLyBiYXNlZCBvbjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbWphY2tzb24vNTMxMTI1NlxuICBwdWJsaWMgc3RhdGljIGhzdlRvUmdiKGhzdjogUmVjb3JkPCdoJyB8ICdzJyB8ICd2JywgbnVtYmVyPik6IFJlY29yZDwncicgfCAnZycgfCAnYicsIG51bWJlcj4ge1xuICAgIGlmICghaHN2KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGhzdi5oID0gdGhpcy5saW1pdFRvT25lKGhzdi5oKTtcbiAgICBoc3YucyA9IHRoaXMubGltaXRUb09uZShoc3Yucyk7XG4gICAgaHN2LnYgPSB0aGlzLmxpbWl0VG9PbmUoaHN2LnYpO1xuXG4gICAgbGV0IHI6IG51bWJlcjtcbiAgICBsZXQgZzogbnVtYmVyO1xuICAgIGxldCBiOiBudW1iZXI7XG5cbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihoc3YuaCAqIDYpO1xuICAgIGNvbnN0IGYgPSBoc3YuaCAqIDYgLSBpO1xuICAgIGNvbnN0IHAgPSBoc3YudiAqICgxIC0gaHN2LnMpO1xuICAgIGNvbnN0IHEgPSBoc3YudiAqICgxIC0gZiAqIGhzdi5zKTtcbiAgICBjb25zdCB0ID0gaHN2LnYgKiAoMSAtICgxIC0gZikgKiBoc3Yucyk7XG5cbiAgICBzd2l0Y2ggKGkgJSA2KSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHIgPSBoc3YudjtcbiAgICAgICAgZyA9IHQ7XG4gICAgICAgIGIgPSBwO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgciA9IHE7XG4gICAgICAgIGcgPSBoc3YudjtcbiAgICAgICAgYiA9IHA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByID0gcDtcbiAgICAgICAgZyA9IGhzdi52O1xuICAgICAgICBiID0gdDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHIgPSBwO1xuICAgICAgICBnID0gcTtcbiAgICAgICAgYiA9IGhzdi52O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgciA9IHQ7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gaHN2LnY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgICByID0gaHN2LnY7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gcTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHI6IHRoaXMubGltaXRUb0J5dGUociAqIDI1NSksXG4gICAgICBnOiB0aGlzLmxpbWl0VG9CeXRlKGcgKiAyNTUpLFxuICAgICAgYjogdGhpcy5saW1pdFRvQnl0ZShiICogMjU1KVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsaW1pdFRvQnl0ZShudW0pIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW0gPD0gMCA/IDAgOiBudW0gPj0gMjU1ID8gMjU1IDogbnVtKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGxpbWl0VG9PbmUobnVtKSB7XG4gICAgcmV0dXJuIG51bSA8PSAwID8gMCA6IG51bSA+PSAxID8gMSA6IG51bTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG51bWJlclRvSGV4KHJnYjogbnVtYmVyKTogc3RyaW5nIHtcbiAgICBsZXQgaGV4ID0gTWF0aC5yb3VuZChyZ2IpLnRvU3RyaW5nKDE2KTtcbiAgICBpZiAoaGV4Lmxlbmd0aCA8IDIpIHtcbiAgICAgIGhleCA9ICcwJyArIGhleDtcbiAgICB9XG4gICAgcmV0dXJuIGhleC50b1VwcGVyQ2FzZSgpO1xuICB9XG5cbiAgcHVibGljIHN0YXRpYyByZ2JUb0hleChyZ2I6IFJlY29yZDwncicgfCAnZycgfCAnYicsIG51bWJlcj4pIHtcbiAgICBpZiAoIXJnYikge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZ2IuciA9IHRoaXMubGltaXRUb0J5dGUocmdiLnIpO1xuICAgIHJnYi5nID0gdGhpcy5saW1pdFRvQnl0ZShyZ2IuZyk7XG4gICAgcmdiLmIgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5iKTtcblxuICAgIGNvbnN0IHJlZCA9IHRoaXMubnVtYmVyVG9IZXgocmdiLnIpO1xuICAgIGNvbnN0IGdyZWVuID0gdGhpcy5udW1iZXJUb0hleChyZ2IuZyk7XG4gICAgY29uc3QgYmx1ZSA9IHRoaXMubnVtYmVyVG9IZXgocmdiLmIpO1xuICAgIHJldHVybiAnIycgKyByZWQgKyBncmVlbiArIGJsdWU7XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGhleFRvUmdiKGhleFN0cmluZzogc3RyaW5nKTogUmVjb3JkPCdyJyB8ICdnJyB8ICdiJywgbnVtYmVyPiB7XG4gICAgY29uc3QgbnVtYmVyc09ubHkgPSBoZXhTdHJpbmcuc3Vic3RyaW5nKDEpO1xuICAgIGNvbnN0IGFSZ2JIZXggPSBudW1iZXJzT25seS5tYXRjaCgvLnsxLDJ9L2cpO1xuICAgIHJldHVybiB7IHI6IHBhcnNlSW50KGFSZ2JIZXhbMF0sIDE2KSwgZzogcGFyc2VJbnQoYVJnYkhleFsxXSwgMTYpLCBiOiBwYXJzZUludChhUmdiSGV4WzJdLCAxNikgfTtcbiAgfVxufVxuIl19
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2Zvcm1zL2NvbG9yLXBpY2tlci9jb2xvci1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFnQixXQUFXO0lBQy9CLHFEQUFxRDtJQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQXVEO1FBQzVFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUM3QjtRQUVELE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN4QyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDeEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBRXhDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUM5QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ1osSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ1osTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBRWQsTUFBTSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNwQixDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBRTVCLElBQUksR0FBRyxLQUFLLEdBQUcsRUFBRTtZQUNmLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhO1NBQ3JCO2FBQU07WUFDTCxRQUFRLEdBQUcsRUFBRTtnQkFDWCxLQUFLLENBQUM7b0JBQ0osQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2xDLE1BQU07Z0JBQ1IsS0FBSyxDQUFDO29CQUNKLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNwQixNQUFNO2dCQUNSLEtBQUssQ0FBQztvQkFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDcEIsTUFBTTthQUNUO1lBRUQsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNSO1FBRUQsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELHFEQUFxRDtJQUM5QyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQXVEO1FBQzVFLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDUixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUM3QjtRQUVELEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0IsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQixHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9CLElBQUksQ0FBQyxHQUFXLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsR0FBVyxDQUFDLENBQUM7UUFDbEIsSUFBSSxDQUFDLEdBQVcsQ0FBQyxDQUFDO1FBRWxCLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNoQyxNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXhDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNiLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDVixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNWLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNWLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ1YsTUFBTTtZQUNSLEtBQUssQ0FBQztnQkFDSixDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDVixDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNOLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ04sTUFBTTtTQUNUO1FBRUQsT0FBTztZQUNMLENBQUMsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDNUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztZQUM1QixDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1NBQzdCLENBQUM7SUFDSixDQUFDO0lBRU8sTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFXO1FBQ3BDLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVPLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUNuQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0MsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUNwQyxJQUFJLEdBQUcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ2xCLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxHQUFHLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBdUQ7UUFDNUUsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNSLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2hDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsT0FBTyxHQUFHLEdBQUcsR0FBRyxHQUFHLEtBQUssR0FBRyxJQUFJLENBQUM7SUFDbEMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxRQUFRLENBQUMsU0FBd0I7UUFDN0MsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNkLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQzdCO1FBQ0QsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMzQyxNQUFNLE9BQU8sR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksT0FBTyxFQUFFLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDekIsT0FBTyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUM7U0FDbEc7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbG9ySGVscGVyIHtcbiAgLy8gYmFzZWQgb246IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL21qYWNrc29uLzUzMTEyNTZcbiAgcHVibGljIHN0YXRpYyByZ2JUb0hzdihyZ2I6IFJlY29yZDwncicgfCAnZycgfCAnYicsIG51bWJlcj4gfCB1bmRlZmluZWQgfCBudWxsKTogUmVjb3JkPCdoJyB8ICdzJyB8ICd2JywgbnVtYmVyPiB7XG4gICAgaWYgKCFyZ2IpIHtcbiAgICAgIHJldHVybiB7IGg6IDAsIHM6IDAsIHY6IDAgfTtcbiAgICB9XG5cbiAgICBjb25zdCByID0gdGhpcy5saW1pdFRvQnl0ZShyZ2IucikgLyAyNTU7XG4gICAgY29uc3QgZyA9IHRoaXMubGltaXRUb0J5dGUocmdiLmcpIC8gMjU1O1xuICAgIGNvbnN0IGIgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5iKSAvIDI1NTtcblxuICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuICAgIGNvbnN0IG1pbiA9IE1hdGgubWluKHIsIGcsIGIpO1xuXG4gICAgbGV0IGggPSBtYXg7XG4gICAgbGV0IHMgPSBtYXg7XG4gICAgY29uc3QgdiA9IG1heDtcblxuICAgIGNvbnN0IGQgPSBtYXggLSBtaW47XG4gICAgcyA9IG1heCA9PT0gMCA/IDAgOiBkIC8gbWF4O1xuXG4gICAgaWYgKG1heCA9PT0gbWluKSB7XG4gICAgICBoID0gMDsgLy8gYWNocm9tYXRpY1xuICAgIH0gZWxzZSB7XG4gICAgICBzd2l0Y2ggKG1heCkge1xuICAgICAgICBjYXNlIHI6XG4gICAgICAgICAgaCA9IChnIC0gYikgLyBkICsgKGcgPCBiID8gNiA6IDApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGc6XG4gICAgICAgICAgaCA9IChiIC0gcikgLyBkICsgMjtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBiOlxuICAgICAgICAgIGggPSAociAtIGcpIC8gZCArIDQ7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGggLz0gNjtcbiAgICB9XG5cbiAgICByZXR1cm4geyBoLCBzLCB2IH07XG4gIH1cblxuICAvLyBiYXNlZCBvbjogaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbWphY2tzb24vNTMxMTI1NlxuICBwdWJsaWMgc3RhdGljIGhzdlRvUmdiKGhzdjogUmVjb3JkPCdoJyB8ICdzJyB8ICd2JywgbnVtYmVyPiB8IHVuZGVmaW5lZCB8IG51bGwpOiBSZWNvcmQ8J3InIHwgJ2cnIHwgJ2InLCBudW1iZXI+IHtcbiAgICBpZiAoIWhzdikge1xuICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCB9O1xuICAgIH1cblxuICAgIGhzdi5oID0gdGhpcy5saW1pdFRvT25lKGhzdi5oKTtcbiAgICBoc3YucyA9IHRoaXMubGltaXRUb09uZShoc3Yucyk7XG4gICAgaHN2LnYgPSB0aGlzLmxpbWl0VG9PbmUoaHN2LnYpO1xuXG4gICAgbGV0IHI6IG51bWJlciA9IDA7XG4gICAgbGV0IGc6IG51bWJlciA9IDA7XG4gICAgbGV0IGI6IG51bWJlciA9IDA7XG5cbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihoc3YuaCAqIDYpO1xuICAgIGNvbnN0IGYgPSBoc3YuaCAqIDYgLSBpO1xuICAgIGNvbnN0IHAgPSBoc3YudiAqICgxIC0gaHN2LnMpO1xuICAgIGNvbnN0IHEgPSBoc3YudiAqICgxIC0gZiAqIGhzdi5zKTtcbiAgICBjb25zdCB0ID0gaHN2LnYgKiAoMSAtICgxIC0gZikgKiBoc3Yucyk7XG5cbiAgICBzd2l0Y2ggKGkgJSA2KSB7XG4gICAgICBjYXNlIDA6XG4gICAgICAgIHIgPSBoc3YudjtcbiAgICAgICAgZyA9IHQ7XG4gICAgICAgIGIgPSBwO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgciA9IHE7XG4gICAgICAgIGcgPSBoc3YudjtcbiAgICAgICAgYiA9IHA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICByID0gcDtcbiAgICAgICAgZyA9IGhzdi52O1xuICAgICAgICBiID0gdDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIDM6XG4gICAgICAgIHIgPSBwO1xuICAgICAgICBnID0gcTtcbiAgICAgICAgYiA9IGhzdi52O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgNDpcbiAgICAgICAgciA9IHQ7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gaHN2LnY7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSA1OlxuICAgICAgICByID0gaHN2LnY7XG4gICAgICAgIGcgPSBwO1xuICAgICAgICBiID0gcTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHI6IHRoaXMubGltaXRUb0J5dGUociAqIDI1NSksXG4gICAgICBnOiB0aGlzLmxpbWl0VG9CeXRlKGcgKiAyNTUpLFxuICAgICAgYjogdGhpcy5saW1pdFRvQnl0ZShiICogMjU1KVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBsaW1pdFRvQnl0ZShudW06IG51bWJlcikge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG51bSA8PSAwID8gMCA6IG51bSA+PSAyNTUgPyAyNTUgOiBudW0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgbGltaXRUb09uZShudW06IG51bWJlcikge1xuICAgIHJldHVybiBudW0gPD0gMCA/IDAgOiBudW0gPj0gMSA/IDEgOiBudW07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBudW1iZXJUb0hleChyZ2I6IG51bWJlcik6IHN0cmluZyB7XG4gICAgbGV0IGhleCA9IE1hdGgucm91bmQocmdiKS50b1N0cmluZygxNik7XG4gICAgaWYgKGhleC5sZW5ndGggPCAyKSB7XG4gICAgICBoZXggPSAnMCcgKyBoZXg7XG4gICAgfVxuICAgIHJldHVybiBoZXgudG9VcHBlckNhc2UoKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgcmdiVG9IZXgocmdiOiBSZWNvcmQ8J3InIHwgJ2cnIHwgJ2InLCBudW1iZXI+IHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIGlmICghcmdiKSB7XG4gICAgICByZXR1cm4gJyNGRkZGRkYnO1xuICAgIH1cblxuICAgIHJnYi5yID0gdGhpcy5saW1pdFRvQnl0ZShyZ2Iucik7XG4gICAgcmdiLmcgPSB0aGlzLmxpbWl0VG9CeXRlKHJnYi5nKTtcbiAgICByZ2IuYiA9IHRoaXMubGltaXRUb0J5dGUocmdiLmIpO1xuXG4gICAgY29uc3QgcmVkID0gdGhpcy5udW1iZXJUb0hleChyZ2Iucik7XG4gICAgY29uc3QgZ3JlZW4gPSB0aGlzLm51bWJlclRvSGV4KHJnYi5nKTtcbiAgICBjb25zdCBibHVlID0gdGhpcy5udW1iZXJUb0hleChyZ2IuYik7XG4gICAgcmV0dXJuICcjJyArIHJlZCArIGdyZWVuICsgYmx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgaGV4VG9SZ2IoaGV4U3RyaW5nOiBzdHJpbmcgfCBudWxsKTogUmVjb3JkPCdyJyB8ICdnJyB8ICdiJywgbnVtYmVyPiB7XG4gICAgaWYgKCFoZXhTdHJpbmcpIHtcbiAgICAgIHJldHVybiB7IHI6IDAsIGc6IDAsIGI6IDAgfTtcbiAgICB9XG4gICAgY29uc3QgbnVtYmVyc09ubHkgPSBoZXhTdHJpbmcuc3Vic3RyaW5nKDEpO1xuICAgIGNvbnN0IGFSZ2JIZXggPSBudW1iZXJzT25seS5tYXRjaCgvLnsxLDJ9L2cpO1xuICAgIGlmIChhUmdiSGV4Py5sZW5ndGggPT09IDMpIHtcbiAgICAgIHJldHVybiB7IHI6IHBhcnNlSW50KGFSZ2JIZXhbMF0sIDE2KSwgZzogcGFyc2VJbnQoYVJnYkhleFsxXSwgMTYpLCBiOiBwYXJzZUludChhUmdiSGV4WzJdLCAxNikgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgcjogMCwgZzogMCwgYjogMCB9O1xuICAgIH1cbiAgfVxufVxuIl19