@skyux/colorpicker 5.1.2 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +6 -4
  2. package/bundles/skyux-colorpicker.umd.js +29 -26
  3. package/documentation.json +123 -32
  4. package/esm2015/index.js +16 -0
  5. package/esm2015/index.js.map +1 -0
  6. package/esm2015/lib/modules/colorpicker/colorpicker-classes.js +24 -0
  7. package/esm2015/lib/modules/colorpicker/colorpicker-classes.js.map +1 -0
  8. package/esm2015/lib/modules/colorpicker/colorpicker-input.directive.js +264 -0
  9. package/esm2015/lib/modules/colorpicker/colorpicker-input.directive.js.map +1 -0
  10. package/esm2015/lib/modules/colorpicker/colorpicker-slider.directive.js +98 -0
  11. package/esm2015/lib/modules/colorpicker/colorpicker-slider.directive.js.map +1 -0
  12. package/esm2015/lib/modules/colorpicker/colorpicker-text.directive.js +51 -0
  13. package/esm2015/lib/modules/colorpicker/colorpicker-text.directive.js.map +1 -0
  14. package/esm2015/{modules → lib/modules}/colorpicker/colorpicker.component.js +7 -6
  15. package/esm2015/lib/modules/colorpicker/colorpicker.component.js.map +1 -0
  16. package/esm2015/lib/modules/colorpicker/colorpicker.module.js +61 -0
  17. package/esm2015/lib/modules/colorpicker/colorpicker.module.js.map +1 -0
  18. package/esm2015/lib/modules/colorpicker/colorpicker.service.js +344 -0
  19. package/esm2015/lib/modules/colorpicker/colorpicker.service.js.map +1 -0
  20. package/esm2015/lib/modules/colorpicker/types/colorpicker-axis.js +2 -0
  21. package/esm2015/lib/modules/colorpicker/types/colorpicker-axis.js.map +1 -0
  22. package/esm2015/lib/modules/colorpicker/types/colorpicker-cmyk.js +2 -0
  23. package/esm2015/lib/modules/colorpicker/types/colorpicker-cmyk.js.map +1 -0
  24. package/esm2015/lib/modules/colorpicker/types/colorpicker-color.js +2 -0
  25. package/esm2015/lib/modules/colorpicker/types/colorpicker-color.js.map +1 -0
  26. package/esm2015/lib/modules/colorpicker/types/colorpicker-hsla.js +2 -0
  27. package/esm2015/lib/modules/colorpicker/types/colorpicker-hsla.js.map +1 -0
  28. package/esm2015/lib/modules/colorpicker/types/colorpicker-hsva.js +2 -0
  29. package/esm2015/lib/modules/colorpicker/types/colorpicker-hsva.js.map +1 -0
  30. package/esm2015/lib/modules/colorpicker/types/colorpicker-message-type.js +23 -0
  31. package/esm2015/lib/modules/colorpicker/types/colorpicker-message-type.js.map +1 -0
  32. package/esm2015/lib/modules/colorpicker/types/colorpicker-message.js +2 -0
  33. package/esm2015/lib/modules/colorpicker/types/colorpicker-message.js.map +1 -0
  34. package/esm2015/lib/modules/colorpicker/types/colorpicker-output.js +2 -0
  35. package/esm2015/lib/modules/colorpicker/types/colorpicker-output.js.map +1 -0
  36. package/esm2015/lib/modules/colorpicker/types/colorpicker-result.js +2 -0
  37. package/esm2015/lib/modules/colorpicker/types/colorpicker-result.js.map +1 -0
  38. package/esm2015/lib/modules/colorpicker/types/colorpicker-rgba.js +2 -0
  39. package/esm2015/lib/modules/colorpicker/types/colorpicker-rgba.js.map +1 -0
  40. package/esm2015/lib/modules/shared/sky-colorpicker-resources.module.js +69 -0
  41. package/esm2015/lib/modules/shared/sky-colorpicker-resources.module.js.map +1 -0
  42. package/esm2015/skyux-colorpicker.js +2 -2
  43. package/esm2015/skyux-colorpicker.js.map +1 -0
  44. package/esm2015/testing/colorpicker-fixture.js +1 -1
  45. package/esm2015/testing/colorpicker-fixture.js.map +1 -0
  46. package/esm2015/testing/public-api.js +1 -1
  47. package/esm2015/testing/public-api.js.map +1 -0
  48. package/esm2015/testing/skyux-colorpicker-testing.js +1 -1
  49. package/esm2015/testing/skyux-colorpicker-testing.js.map +1 -0
  50. package/fesm2015/skyux-colorpicker-testing.js.map +1 -1
  51. package/fesm2015/skyux-colorpicker.js +29 -26
  52. package/fesm2015/skyux-colorpicker.js.map +1 -1
  53. package/index.d.ts +13 -0
  54. package/{modules → lib/modules}/colorpicker/colorpicker-classes.d.ts +0 -0
  55. package/{modules → lib/modules}/colorpicker/colorpicker-input.directive.d.ts +3 -0
  56. package/{modules → lib/modules}/colorpicker/colorpicker-slider.directive.d.ts +0 -0
  57. package/{modules → lib/modules}/colorpicker/colorpicker-text.directive.d.ts +0 -0
  58. package/{modules → lib/modules}/colorpicker/colorpicker.component.d.ts +1 -1
  59. package/{modules → lib/modules}/colorpicker/colorpicker.module.d.ts +0 -0
  60. package/{modules → lib/modules}/colorpicker/colorpicker.service.d.ts +0 -0
  61. package/{modules → lib/modules}/colorpicker/types/colorpicker-axis.d.ts +0 -0
  62. package/{modules → lib/modules}/colorpicker/types/colorpicker-cmyk.d.ts +0 -0
  63. package/{modules → lib/modules}/colorpicker/types/colorpicker-color.d.ts +0 -0
  64. package/{modules → lib/modules}/colorpicker/types/colorpicker-hsla.d.ts +0 -0
  65. package/{modules → lib/modules}/colorpicker/types/colorpicker-hsva.d.ts +0 -0
  66. package/{modules → lib/modules}/colorpicker/types/colorpicker-message-type.d.ts +0 -0
  67. package/{modules → lib/modules}/colorpicker/types/colorpicker-message.d.ts +0 -0
  68. package/{modules → lib/modules}/colorpicker/types/colorpicker-output.d.ts +0 -0
  69. package/{modules → lib/modules}/colorpicker/types/colorpicker-result.d.ts +0 -0
  70. package/{modules → lib/modules}/colorpicker/types/colorpicker-rgba.d.ts +0 -0
  71. package/{modules → lib/modules}/shared/sky-colorpicker-resources.module.d.ts +0 -0
  72. package/package.json +23 -9
  73. package/skyux-colorpicker.d.ts +1 -1
  74. package/LICENSE +0 -21
  75. package/esm2015/modules/colorpicker/colorpicker-classes.js +0 -24
  76. package/esm2015/modules/colorpicker/colorpicker-input.directive.js +0 -258
  77. package/esm2015/modules/colorpicker/colorpicker-slider.directive.js +0 -98
  78. package/esm2015/modules/colorpicker/colorpicker-text.directive.js +0 -51
  79. package/esm2015/modules/colorpicker/colorpicker.module.js +0 -61
  80. package/esm2015/modules/colorpicker/colorpicker.service.js +0 -344
  81. package/esm2015/modules/colorpicker/types/colorpicker-axis.js +0 -2
  82. package/esm2015/modules/colorpicker/types/colorpicker-cmyk.js +0 -2
  83. package/esm2015/modules/colorpicker/types/colorpicker-color.js +0 -2
  84. package/esm2015/modules/colorpicker/types/colorpicker-hsla.js +0 -2
  85. package/esm2015/modules/colorpicker/types/colorpicker-hsva.js +0 -2
  86. package/esm2015/modules/colorpicker/types/colorpicker-message-type.js +0 -23
  87. package/esm2015/modules/colorpicker/types/colorpicker-message.js +0 -2
  88. package/esm2015/modules/colorpicker/types/colorpicker-output.js +0 -2
  89. package/esm2015/modules/colorpicker/types/colorpicker-result.js +0 -2
  90. package/esm2015/modules/colorpicker/types/colorpicker-rgba.js +0 -2
  91. package/esm2015/modules/shared/sky-colorpicker-resources.module.js +0 -69
  92. package/esm2015/public-api.js +0 -16
  93. package/public-api.d.ts +0 -13
@@ -1,5 +1,6 @@
1
- import { Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
2
- import { SkyAffixAutoFitContext, } from '@skyux/core';
1
+ import { ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, Optional, Output, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
2
+ import { SkyAffixAutoFitContext, SkyAffixService, SkyOverlayService, SkyCoreAdapterService, } from '@skyux/core';
3
+ import { SkyThemeService } from '@skyux/theme';
3
4
  import { fromEvent, Subject } from 'rxjs';
4
5
  import { takeUntil } from 'rxjs/operators';
5
6
  import { SkyColorpickerMessageType } from './types/colorpicker-message-type';
@@ -372,9 +373,9 @@ export class SkyColorpickerComponent {
372
373
  return brightness > 125 ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)';
373
374
  }
374
375
  }
375
- SkyColorpickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyColorpickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyColorpickerService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
376
- SkyColorpickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.15", type: SkyColorpickerComponent, selector: "sky-colorpicker", inputs: { pickerButtonIcon: "pickerButtonIcon", pickerButtonIconType: "pickerButtonIconType", label: "label", labelledBy: "labelledBy", messageStream: "messageStream", showResetButton: "showResetButton" }, outputs: { selectedColorChanged: "selectedColorChanged", selectedColorApplied: "selectedColorApplied" }, providers: [SkyColorpickerService], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n #colorpickerRef\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice: 0:12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" iconType=\"skyux\" size=\"lg\">\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-colorpicker-container{position:fixed}.sky-colorpicker-button{width:30px;height:30px;border:0;cursor:pointer}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:default}.sky-colorpicker-button .sky-colorpicker-button-icon{position:relative;bottom:2px;font-size:12px}.sky-colorpicker-disabled{opacity:.65;cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-footer{background-color:#fff;border-top:1px solid #e2e3e4}.sky-colorpicker *{box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:270px;height:auto;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:center;font-size:14px;height:26px;color:#212327}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .button-area{padding:0 15px 15px;text-align:right}.sky-colorpicker .sky-colorpicker-preset-color-area{padding-left:9px;padding-right:9px;padding-bottom:15px;display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:32px;height:32px;margin:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:#ffffff solid 2px;margin:4px;width:34px;height:34px;box-shadow:0 0 0 1px #cdcfd2,0 0 0 2px #e2e3e4}.sky-colorpicker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.sky-colorpicker div.cursor-sv{cursor:default;position:relative;width:14px;height:14px;border-top:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2}.sky-colorpicker div.cursor{cursor:default;position:relative;width:17px;height:17px;border:#686c73 solid 2px}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,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)}.sky-colorpicker .box{display:flex;padding:4px 8px}.sky-colorpicker .box .left{position:relative;padding:16px 8px}.sky-colorpicker .box .right{flex:1 1 auto;padding:12px 8px;display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:16px;border:none;margin-top:16px;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute}.sky-colorpicker .selected-color-background{width:40px;height:40px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:18px;padding:7px 15px 15px;display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:1px}.sky-colorpicker .rgba-text label{margin:0 0 8px}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 8px 0 0}.sky-colorpicker .rgba-text sky-input-box:first-child{flex:2}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker .hex-text{width:100%;font-size:14px;padding:4px 8px}.sky-colorpicker .hex-text .box{padding:0 24px 8px 8px}.sky-colorpicker .hex-text .box input{flex:1 1 auto;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;padding:1px}.sky-colorpicker .hex-text .box div{flex:1 1 auto;text-align:center;color:#686c73;float:left;clear:left}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;z-index:-1;height:30px;width:30px;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),white;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;transform-origin:0 0 0;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;background-size:10px 10px,10px 10px;box-shadow:none;text-shadow:none;transition:none;transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-theme-modern .sky-colorpicker-disabled{opacity:1}.sky-theme-modern .sky-colorpicker-button{width:40px;height:40px;border:1px solid #d2d2d2;border-radius:6px;position:relative}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:#ededee!important;border:1px solid #d2d2d2;cursor:default}.sky-theme-modern .sky-colorpicker-button .sky-colorpicker-button-icon{bottom:1px;font-size:16px}.sky-theme-modern .sky-colorpicker-button,.sky-theme-modern .sky-colorpicker-button:active{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LC01LjA3MjY1MzEzZS0xNiAzOCwyLjIzODU3NjI1IDM4LDUgTDM4LDMzIEMzOCwzNS43NjE0MjM3IDM1Ljc2MTQyMzcsMzggMzMsMzggTDUsMzggQzIuMjM4NTc2MjUsMzggLTUuNTAwMDE1NDRlLTE2LDM1Ljc2MTQyMzcgMCwzMyBMMCw1IEMtMy4zODE3Njg3NmUtMTYsMi4yMzg1NzYyNSAyLjIzODU3NjI1LC0zLjgwOTEzMTA2ZS0xNiA1LDAgTDMzLDAgWiBNMzMsMiBMNSwyIEMzLjM0MzE0NTc1LDIgMiwzLjM0MzE0NTc1IDIsNSBMMiw1IEwyLDMzIEMyLDM0LjY1Njg1NDIgMy4zNDMxNDU3NSwzNiA1LDM2IEw1LDM2IEwyNCwzNiBDMjUuMTA0NTY5NSwzNiAyNiwzNS4xMDQ1Njk1IDI2LDM0IEwyNiwzNCBMMjYsMjggQzI2LDI2Ljg5NTQzMDUgMjYuODk1NDMwNSwyNiAyOCwyNiBMMjgsMjYgTDM0LDI2IEMzNS4xMDQ1Njk1LDI2IDM2LDI1LjEwNDU2OTUgMzYsMjQgTDM2LDI0IEwzNiw1IEMzNiwzLjM0MzE0NTc1IDM0LjY1Njg1NDIsMiAzMywyIEwzMywyIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMywyLjUgQzMzLjY5MDM1NTksMi41IDM0LjMxNTM1NTksMi43Nzk4MjIwMyAzNC43Njc3NjcsMy4yMzIyMzMwNSBDMzUuMjIwMTc4LDMuNjg0NjQ0MDYgMzUuNSw0LjMwOTY0NDA2IDM1LjUsNSBMMzUuNSw1IEwzNS41LDI0IEMzNS41LDI0LjQxNDIxMzYgMzUuMzMyMTA2OCwyNC43ODkyMTM2IDM1LjA2MDY2MDIsMjUuMDYwNjYwMiBDMzQuNzg5MjEzNiwyNS4zMzIxMDY4IDM0LjQxNDIxMzYsMjUuNSAzNCwyNS41IEwzNCwyNS41IEwyOCwyNS41IEMyNy4zMDk2NDQxLDI1LjUgMjYuNjg0NjQ0MSwyNS43Nzk4MjIgMjYuMjMyMjMzLDI2LjIzMjIzMyBDMjUuNzc5ODIyLDI2LjY4NDY0NDEgMjUuNSwyNy4zMDk2NDQxIDI1LjUsMjggTDI1LjUsMjggTDI1LjUsMzQgQzI1LjUsMzQuNDE0MjEzNiAyNS4zMzIxMDY4LDM0Ljc4OTIxMzYgMjUuMDYwNjYwMiwzNS4wNjA2NjAyIEMyNC43ODkyMTM2LDM1LjMzMjEwNjggMjQuNDE0MjEzNiwzNS41IDI0LDM1LjUgTDI0LDM1LjUgTDUsMzUuNSBDNC4zMDk2NDQwNiwzNS41IDMuNjg0NjQ0MDYsMzUuMjIwMTc4IDMuMjMyMjMzMDUsMzQuNzY3NzY3IEMyLjc3OTgyMjAzLDM0LjMxNTM1NTkgMi41LDMzLjY5MDM1NTkgMi41LDMzIEwyLjUsMzMgTDIuNSw1IEMyLjUsNC4zMDk2NDQwNiAyLjc3OTgyMjAzLDMuNjg0NjQ0MDYgMy4yMzIyMzMwNSwzLjIzMjIzMzA1IEMzLjY4NDY0NDA2LDIuNzc5ODIyMDMgNC4zMDk2NDQwNiwyLjUgNSwyLjUgTDUsMi41IFoiIGlkPSJQYXRoLUNvcHktNSIgc3Ryb2tlPSIjRDJEMkQyIiBmaWxsLW9wYWNpdHk9IjAiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled,.sky-theme-modern .sky-colorpicker-button:active.sky-colorpicker-button-disabled{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LDAgMzgsMi4yMzg1NzYyNSAzOCw1IEwzOCwzMyBDMzgsMzUuNzYxNDIzNyAzNS43NjE0MjM3LDM4IDMzLDM4IEw1LDM4IEMyLjIzODU3NjI1LDM4IDAsMzUuNzYxNDIzNyAwLDMzIEwwLDUgQzAsMi4yMzg1NzYyNSAyLjIzODU3NjI1LDAgNSwwIEwzMywwIFogTTMzLDIgTDUsMiBDMy4zNDMxNDU3NSwyIDIsMy4zNDMxNDU3NSAyLDUgTDIsNSBMMiwzMyBDMiwzNC42NTY4NTQyIDMuMzQzMTQ1NzUsMzYgNSwzNiBMNSwzNiBMMjQsMzYgQzI1LjEwNDU2OTUsMzYgMjYsMzUuMTA0NTY5NSAyNiwzNCBMMjYsMzQgTDI2LDI4IEMyNiwyNi44OTU0MzA1IDI2Ljg5NTQzMDUsMjYgMjgsMjYgTDI4LDI2IEwzNCwyNiBDMzUuMTA0NTY5NSwyNiAzNiwyNS4xMDQ1Njk1IDM2LDI0IEwzNiwyNCBMMzYsNSBDMzYsMy4zNDMxNDU3NSAzNC42NTY4NTQyLDIgMzMsMiBMMzMsMiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNFREVERUUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMzLDIuNSBDMzMuNjkwMzU1OSwyLjUgMzQuMzE1MzU1OSwyLjc3OTgyMjAzIDM0Ljc2Nzc2NywzLjIzMjIzMzA1IEMzNS4yMjAxNzgsMy42ODQ2NDQwNiAzNS41LDQuMzA5NjQ0MDYgMzUuNSw1IEwzNS41LDUgTDM1LjUsMjQgQzM1LjUsMjQuNDE0MjEzNiAzNS4zMzIxMDY4LDI0Ljc4OTIxMzYgMzUuMDYwNjYwMiwyNS4wNjA2NjAyIEMzNC43ODkyMTM2LDI1LjMzMjEwNjggMzQuNDE0MjEzNiwyNS41IDM0LDI1LjUgTDM0LDI1LjUgTDI4LDI1LjUgQzI3LjMwOTY0NDEsMjUuNSAyNi42ODQ2NDQxLDI1Ljc3OTgyMiAyNi4yMzIyMzMsMjYuMjMyMjMzIEMyNS43Nzk4MjIsMjYuNjg0NjQ0MSAyNS41LDI3LjMwOTY0NDEgMjUuNSwyOCBMMjUuNSwyOCBMMjUuNSwzNCBDMjUuNSwzNC40MTQyMTM2IDI1LjMzMjEwNjgsMzQuNzg5MjEzNiAyNS4wNjA2NjAyLDM1LjA2MDY2MDIgQzI0Ljc4OTIxMzYsMzUuMzMyMTA2OCAyNC40MTQyMTM2LDM1LjUgMjQsMzUuNSBMMjQsMzUuNSBMNSwzNS41IEM0LjMwOTY0NDA2LDM1LjUgMy42ODQ2NDQwNiwzNS4yMjAxNzggMy4yMzIyMzMwNSwzNC43Njc3NjcgQzIuNzc5ODIyMDMsMzQuMzE1MzU1OSAyLjUsMzMuNjkwMzU1OSAyLjUsMzMgTDIuNSwzMyBMMi41LDUgQzIuNSw0LjMwOTY0NDA2IDIuNzc5ODIyMDMsMy42ODQ2NDQwNiAzLjIzMjIzMzA1LDMuMjMyMjMzMDUgQzMuNjg0NjQ0MDYsMi43Nzk4MjIwMyA0LjMwOTY0NDA2LDIuNSA1LDIuNSBMNSwyLjUgTDMzLDIuNSBaIiBpZD0iUGF0aC1Db3B5LTUiIHN0cm9rZT0iI0QyRDJEMiIgZmlsbC1vcGFjaXR5PSIwIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=)}.sky-theme-modern .sky-colorpicker-button:focus{box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover{box-shadow:inset 0 0 0 1px #1870b8;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover.sky-colorpicker-button-disabled{box-shadow:none}.sky-theme-modern .sky-colorpicker-checkered-background{border-radius:6px;width:40px;height:40px}.sky-theme-modern .sky-colorpicker-button-modern-chevron{position:absolute;bottom:0;right:2px;font-size:10px}.sky-theme-modern .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:#686c73}.sky-theme-modern .sky-colorpicker-reset-button-modern{width:40px;height:40px}.sky-theme-modern .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:#ededee;border:0px solid #d2d2d2;color:#686c73}.sky-theme-modern .sky-colorpicker{background-color:transparent;width:310px}.sky-theme-modern .sky-colorpicker .saturation-lightness{height:170px}.sky-theme-modern .sky-colorpicker-container{background-color:#fff;border-radius:0 0 6px 6px}.sky-theme-modern .sky-colorpicker-footer{background:none;border:none;border-radius:0 0 6px 6px;padding:10px 10px 15px}.sky-theme-modern .selected-color{height:46px;width:46px;top:0;left:0}.sky-theme-modern .selected-color-background{height:46px;width:46px}.sky-theme-modern input{text-align:left}.sky-theme-modern .box{padding:15px 30px}.sky-theme-modern .box .left{padding:0 30px 0 0}.sky-theme-modern .box .right{padding:0}.sky-theme-modern .alpha{margin-top:10px}.sky-theme-modern .rgba-text{padding:0 10px;display:flex;justify-content:space-between;flex-wrap:wrap}.sky-theme-modern .rgba-text sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 10px}.sky-theme-modern .rgba-text sky-input-box:not(:first-child){flex:1;margin:0 10px 10px 0}.sky-theme-modern .rgba-text sky-input-box:last-child{margin:0 0 10px}.sky-theme-modern .sky-colorpicker-preset-color-area{padding:10px 10px 15px}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn{height:46px;width:46px;border-radius:4px;margin:0 15px 15px 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:active),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:hover),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:focus){border:1px solid #d2d2d2}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 15px}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i5.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { type: i8.SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i9.SkyLibResourcesPipe, "slice": i6.SlicePipe }, encapsulation: i0.ViewEncapsulation.None });
377
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SkyColorpickerComponent, decorators: [{
376
+ SkyColorpickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerComponent, deps: [{ token: i1.SkyAffixService }, { token: i0.ChangeDetectorRef }, { token: i1.SkyCoreAdapterService }, { token: i1.SkyOverlayService }, { token: i2.SkyColorpickerService }, { token: i3.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
377
+ SkyColorpickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyColorpickerComponent, selector: "sky-colorpicker", inputs: { pickerButtonIcon: "pickerButtonIcon", pickerButtonIconType: "pickerButtonIconType", label: "label", labelledBy: "labelledBy", messageStream: "messageStream", showResetButton: "showResetButton" }, outputs: { selectedColorChanged: "selectedColorChanged", selectedColorApplied: "selectedColorApplied" }, providers: [SkyColorpickerService], viewQueries: [{ propertyName: "colorpickerTemplateRef", first: true, predicate: ["colorpickerTemplateRef"], descendants: true, read: TemplateRef }, { propertyName: "triggerButtonRef", first: true, predicate: ["triggerButtonRef"], descendants: true, read: ElementRef }, { propertyName: "colorpickerRef", first: true, predicate: ["colorpickerRef"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n #colorpickerRef\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice: 0:12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" iconType=\"skyux\" size=\"lg\">\n </sky-icon>\n </button>\n</div>\n", styles: [".sky-colorpicker-container{position:fixed}.sky-colorpicker-button{width:30px;height:30px;border:0;cursor:pointer}.sky-colorpicker-button.sky-colorpicker-button-disabled{cursor:default}.sky-colorpicker-button .sky-colorpicker-button-icon{position:relative;bottom:2px;font-size:12px}.sky-colorpicker-disabled{opacity:.65;cursor:default}.sky-colorpicker-button,.sky-colorpicker-button:active{background-image:url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%3Cdefs%3E%3Cpath%20id%3D%22a%22%20d%3D%22M0%200h30v30H0V0zm14.5%204H4v22h14v-8h8V4H14.5z%22%2F%3E%3C%2Fdefs%3E%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Cuse%20fill%3D%22%23FFF%22%20xlink%3Ahref%3D%22%23a%22%2F%3E%3Cpath%20stroke%3D%22%23CCC%22%20d%3D%22M.5.5v29h29V.5H.5zm18%2018v8h-15v-23h23v15h-8z%22%2F%3E%3Cpath%20fill%3D%22%23292A2B%22%20d%3D%22M23.5%2025L21%2022h5%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E)}.sky-colorpicker-hidden{width:0px;height:0px;overflow:hidden}.sky-colorpicker-reset-button{background-color:#fff;margin-left:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;box-shadow:inset 0 0 0 2px #fff,inset 0 0 0 3px #cdcfd2;width:30px;height:30px;cursor:pointer;color:#686c73}.sky-colorpicker-reset-button:hover{color:#383a3d}.sky-colorpicker-reset-button.sky-colorpicker-reset-button-disabled{color:#686c73;cursor:default}.sky-colorpicker-footer{background-color:#fff;border-top:1px solid #e2e3e4}.sky-colorpicker *{box-sizing:border-box;margin:0}.sky-colorpicker{cursor:default;width:270px;height:auto;background-color:#fff;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.sky-colorpicker i{cursor:default;position:relative}.sky-colorpicker input{text-align:center;font-size:14px;height:26px;color:#212327}.sky-colorpicker input:invalid{box-shadow:none}.sky-colorpicker input:-moz-submit-invalid{box-shadow:none}.sky-colorpicker input:-moz-ui-invalid{box-shadow:none}.sky-colorpicker input::-webkit-inner-spin-button,.sky-colorpicker input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sky-colorpicker input[type=number].sky-form-control{-moz-appearance:textfield!important}.sky-colorpicker .button-area{padding:0 15px 15px;text-align:right}.sky-colorpicker .sky-colorpicker-preset-color-area{padding-left:9px;padding-right:9px;padding-bottom:15px;display:flex;flex-direction:row;flex-wrap:wrap}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color{cursor:pointer;width:32px;height:32px;margin:5px;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4}.sky-colorpicker .sky-colorpicker-preset-color-area .sky-preset-color:hover{cursor:pointer;border:#ffffff solid 2px;margin:4px;width:34px;height:34px;box-shadow:0 0 0 1px #cdcfd2,0 0 0 2px #e2e3e4}.sky-colorpicker .arrow{height:0;width:0;border-style:solid;position:absolute;z-index:999999}.sky-colorpicker div.cursor-sv{cursor:default;position:relative;width:14px;height:14px;border-top:1px solid #cdcfd2;border-right:1px solid #cdcfd2;border-bottom:1px solid #cdcfd2;border-left:1px solid #cdcfd2}.sky-colorpicker div.cursor{cursor:default;position:relative;width:17px;height:17px;border:#686c73 solid 2px}.sky-colorpicker .saturation-lightness{cursor:pointer;width:100%;height:170px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,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)}.sky-colorpicker .box{display:flex;padding:4px 8px}.sky-colorpicker .box .left{position:relative;padding:16px 8px}.sky-colorpicker .box .right{flex:1 1 auto;padding:12px 8px;display:flex;flex-direction:column;justify-content:center}.sky-colorpicker .hue{cursor:pointer;width:100%;height:16px;border:none;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwkUFWbCCAAAAFxJREFUaN7t0kEKg0AQAME2x83/n2qu5qCgD1iDhCoYdpnbQC9bbY1qVO/jvc6k3ad91s7/7F1/csgPrujuQ17BDYSFsBAWwgJhISyEBcJCWAgLhIWwEBYIi2f7Ar/1TCgFH2X9AAAAAElFTkSuQmCC)}.sky-colorpicker .alpha{cursor:pointer;width:100%;height:16px;border:none;margin-top:16px;background-size:100% 100%;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAAAQCAYAAAD06IYnAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4AIWDwYQlZMa3gAAAWVJREFUaN7tmEGO6jAQRCsOArHgBpyAJYGjcGocxAm4A2IHpmoWE0eBH+ezmFlNvU06shJ3W6VEelWMUQAIIF9f6qZpimsA1LYtS2uF51/u27YVAFZVRUkEoGHdPV/sIcbIEIIkUdI/9Xa7neyv61+SWFUVAVCSct00TWn2fv6u3+Ecfd3tXzy/0+nEUu+SPjo/kqzrmiQpScN6v98XewfA8/lMkiLJ2WxGSUopcT6fM6U0NX9/frfbjev1WtfrlZfLhYfDQQHG/AIOlnGwjINlHCxjHCzjYJm/TJWdCwquJXseFFzGwDNNeiKMOJTO8xQdDQaeB29+K9efeLaBo9J7vdvtJj1RjFFjfiv7qv95tjx/7leSQgh93e1ffMeIp6O+YQjho/N791t1XVOSSI7N//K+4/GoxWLBx+PB5/Op5XLJ+/3OlJJWqxU3m83ovv5iGf8KjYNlHCxjHCzjYBkHy5gf5gusvQU7U37jTAAAAABJRU5ErkJggg==)}.sky-colorpicker .selected-color{width:40px;height:40px;top:16px;left:8px;position:absolute}.sky-colorpicker .selected-color-background{width:40px;height:40px;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYR+2W0QlAMQgD60zdfwOdqa8TmI/wQMr5K0I5bZLIzLOa2nt37VVVbd+dDx5obgCC3KBLwJ2ff4PnVidkf+ucIhw80HQaCLo3DMH3CRK3iFsmAWVl6hPNDwt8EvNE5q+YuEXcMgkonVM6SdyCoEvAnZ8v1Hjx817MilmxSUB5rdLJDycZgUAZUch/AAAAAElFTkSuQmCC)}.sky-colorpicker .rgba-text{width:100%;font-size:18px;padding:7px 15px 15px;display:flex}.sky-colorpicker .rgba-text input{min-width:0;padding:1px}.sky-colorpicker .rgba-text label{margin:0 0 8px}.sky-colorpicker .rgba-text sky-input-box{flex:1;margin:0 8px 0 0}.sky-colorpicker .rgba-text sky-input-box:first-child{flex:2}.sky-colorpicker .rgba-text sky-input-box:last-child{margin:0}.sky-colorpicker .hex-text{width:100%;font-size:14px;padding:4px 8px}.sky-colorpicker .hex-text .box{padding:0 24px 8px 8px}.sky-colorpicker .hex-text .box input{flex:1 1 auto;border-top:1px solid #e2e3e4;border-right:1px solid #e2e3e4;border-bottom:1px solid #e2e3e4;border-left:1px solid #e2e3e4;padding:1px}.sky-colorpicker .hex-text .box div{flex:1 1 auto;text-align:center;color:#686c73;float:left;clear:left}.sky-colorpicker-checkered-background{position:absolute;top:0;left:0;z-index:-1;height:30px;width:30px;background:linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),linear-gradient(45deg,rgba(0,0,0,.0980392) 25%,transparent 25%,transparent 75%,rgba(0,0,0,.0980392) 75%,rgba(0,0,0,.0980392) 0),white;background-repeat:repeat,repeat;background-position:0px 0,5px 5px;transform-origin:0 0 0;background-origin:padding-box,padding-box;-webkit-background-clip:border-box,border-box;background-clip:border-box,border-box;background-size:10px 10px,10px 10px;box-shadow:none;text-shadow:none;transition:none;transform:scaleX(1) scaleY(1) scaleZ(1)}.sky-theme-modern .sky-colorpicker-disabled{opacity:1}.sky-theme-modern .sky-colorpicker-button{width:40px;height:40px;border:1px solid #d2d2d2;border-radius:6px;position:relative}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled{background-color:#ededee!important;border:1px solid #d2d2d2;cursor:default}.sky-theme-modern .sky-colorpicker-button .sky-colorpicker-button-icon{bottom:1px;font-size:16px}.sky-theme-modern .sky-colorpicker-button,.sky-theme-modern .sky-colorpicker-button:active{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LC01LjA3MjY1MzEzZS0xNiAzOCwyLjIzODU3NjI1IDM4LDUgTDM4LDMzIEMzOCwzNS43NjE0MjM3IDM1Ljc2MTQyMzcsMzggMzMsMzggTDUsMzggQzIuMjM4NTc2MjUsMzggLTUuNTAwMDE1NDRlLTE2LDM1Ljc2MTQyMzcgMCwzMyBMMCw1IEMtMy4zODE3Njg3NmUtMTYsMi4yMzg1NzYyNSAyLjIzODU3NjI1LC0zLjgwOTEzMTA2ZS0xNiA1LDAgTDMzLDAgWiBNMzMsMiBMNSwyIEMzLjM0MzE0NTc1LDIgMiwzLjM0MzE0NTc1IDIsNSBMMiw1IEwyLDMzIEMyLDM0LjY1Njg1NDIgMy4zNDMxNDU3NSwzNiA1LDM2IEw1LDM2IEwyNCwzNiBDMjUuMTA0NTY5NSwzNiAyNiwzNS4xMDQ1Njk1IDI2LDM0IEwyNiwzNCBMMjYsMjggQzI2LDI2Ljg5NTQzMDUgMjYuODk1NDMwNSwyNiAyOCwyNiBMMjgsMjYgTDM0LDI2IEMzNS4xMDQ1Njk1LDI2IDM2LDI1LjEwNDU2OTUgMzYsMjQgTDM2LDI0IEwzNiw1IEMzNiwzLjM0MzE0NTc1IDM0LjY1Njg1NDIsMiAzMywyIEwzMywyIFoiIGlkPSJDb21iaW5lZC1TaGFwZSIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgICAgIDxwYXRoIGQ9Ik0zMywyLjUgQzMzLjY5MDM1NTksMi41IDM0LjMxNTM1NTksMi43Nzk4MjIwMyAzNC43Njc3NjcsMy4yMzIyMzMwNSBDMzUuMjIwMTc4LDMuNjg0NjQ0MDYgMzUuNSw0LjMwOTY0NDA2IDM1LjUsNSBMMzUuNSw1IEwzNS41LDI0IEMzNS41LDI0LjQxNDIxMzYgMzUuMzMyMTA2OCwyNC43ODkyMTM2IDM1LjA2MDY2MDIsMjUuMDYwNjYwMiBDMzQuNzg5MjEzNiwyNS4zMzIxMDY4IDM0LjQxNDIxMzYsMjUuNSAzNCwyNS41IEwzNCwyNS41IEwyOCwyNS41IEMyNy4zMDk2NDQxLDI1LjUgMjYuNjg0NjQ0MSwyNS43Nzk4MjIgMjYuMjMyMjMzLDI2LjIzMjIzMyBDMjUuNzc5ODIyLDI2LjY4NDY0NDEgMjUuNSwyNy4zMDk2NDQxIDI1LjUsMjggTDI1LjUsMjggTDI1LjUsMzQgQzI1LjUsMzQuNDE0MjEzNiAyNS4zMzIxMDY4LDM0Ljc4OTIxMzYgMjUuMDYwNjYwMiwzNS4wNjA2NjAyIEMyNC43ODkyMTM2LDM1LjMzMjEwNjggMjQuNDE0MjEzNiwzNS41IDI0LDM1LjUgTDI0LDM1LjUgTDUsMzUuNSBDNC4zMDk2NDQwNiwzNS41IDMuNjg0NjQ0MDYsMzUuMjIwMTc4IDMuMjMyMjMzMDUsMzQuNzY3NzY3IEMyLjc3OTgyMjAzLDM0LjMxNTM1NTkgMi41LDMzLjY5MDM1NTkgMi41LDMzIEwyLjUsMzMgTDIuNSw1IEMyLjUsNC4zMDk2NDQwNiAyLjc3OTgyMjAzLDMuNjg0NjQ0MDYgMy4yMzIyMzMwNSwzLjIzMjIzMzA1IEMzLjY4NDY0NDA2LDIuNzc5ODIyMDMgNC4zMDk2NDQwNiwyLjUgNSwyLjUgTDUsMi41IFoiIGlkPSJQYXRoLUNvcHktNSIgc3Ryb2tlPSIjRDJEMkQyIiBmaWxsLW9wYWNpdHk9IjAiIGZpbGw9IiMwMDAwMDAiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+)}.sky-theme-modern .sky-colorpicker-button.sky-colorpicker-button-disabled,.sky-theme-modern .sky-colorpicker-button:active.sky-colorpicker-button-disabled{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMzhweCIgaGVpZ2h0PSIzOHB4IiB2aWV3Qm94PSIwIDAgMzggMzgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8dGl0bGU+Y29sb3JwaWNrZXIgU1ZHIGxpZ2h0PC90aXRsZT4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJjb2xvcnBpY2tlci1TVkctbGlnaHQiIGZpbGwtcnVsZT0ibm9uemVybyI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0zMywwIEMzNS43NjE0MjM3LDAgMzgsMi4yMzg1NzYyNSAzOCw1IEwzOCwzMyBDMzgsMzUuNzYxNDIzNyAzNS43NjE0MjM3LDM4IDMzLDM4IEw1LDM4IEMyLjIzODU3NjI1LDM4IDAsMzUuNzYxNDIzNyAwLDMzIEwwLDUgQzAsMi4yMzg1NzYyNSAyLjIzODU3NjI1LDAgNSwwIEwzMywwIFogTTMzLDIgTDUsMiBDMy4zNDMxNDU3NSwyIDIsMy4zNDMxNDU3NSAyLDUgTDIsNSBMMiwzMyBDMiwzNC42NTY4NTQyIDMuMzQzMTQ1NzUsMzYgNSwzNiBMNSwzNiBMMjQsMzYgQzI1LjEwNDU2OTUsMzYgMjYsMzUuMTA0NTY5NSAyNiwzNCBMMjYsMzQgTDI2LDI4IEMyNiwyNi44OTU0MzA1IDI2Ljg5NTQzMDUsMjYgMjgsMjYgTDI4LDI2IEwzNCwyNiBDMzUuMTA0NTY5NSwyNiAzNiwyNS4xMDQ1Njk1IDM2LDI0IEwzNiwyNCBMMzYsNSBDMzYsMy4zNDMxNDU3NSAzNC42NTY4NTQyLDIgMzMsMiBMMzMsMiBaIiBpZD0iQ29tYmluZWQtU2hhcGUiIGZpbGw9IiNFREVERUUiPjwvcGF0aD4KICAgICAgICAgICAgPHBhdGggZD0iTTMzLDIuNSBDMzMuNjkwMzU1OSwyLjUgMzQuMzE1MzU1OSwyLjc3OTgyMjAzIDM0Ljc2Nzc2NywzLjIzMjIzMzA1IEMzNS4yMjAxNzgsMy42ODQ2NDQwNiAzNS41LDQuMzA5NjQ0MDYgMzUuNSw1IEwzNS41LDUgTDM1LjUsMjQgQzM1LjUsMjQuNDE0MjEzNiAzNS4zMzIxMDY4LDI0Ljc4OTIxMzYgMzUuMDYwNjYwMiwyNS4wNjA2NjAyIEMzNC43ODkyMTM2LDI1LjMzMjEwNjggMzQuNDE0MjEzNiwyNS41IDM0LDI1LjUgTDM0LDI1LjUgTDI4LDI1LjUgQzI3LjMwOTY0NDEsMjUuNSAyNi42ODQ2NDQxLDI1Ljc3OTgyMiAyNi4yMzIyMzMsMjYuMjMyMjMzIEMyNS43Nzk4MjIsMjYuNjg0NjQ0MSAyNS41LDI3LjMwOTY0NDEgMjUuNSwyOCBMMjUuNSwyOCBMMjUuNSwzNCBDMjUuNSwzNC40MTQyMTM2IDI1LjMzMjEwNjgsMzQuNzg5MjEzNiAyNS4wNjA2NjAyLDM1LjA2MDY2MDIgQzI0Ljc4OTIxMzYsMzUuMzMyMTA2OCAyNC40MTQyMTM2LDM1LjUgMjQsMzUuNSBMMjQsMzUuNSBMNSwzNS41IEM0LjMwOTY0NDA2LDM1LjUgMy42ODQ2NDQwNiwzNS4yMjAxNzggMy4yMzIyMzMwNSwzNC43Njc3NjcgQzIuNzc5ODIyMDMsMzQuMzE1MzU1OSAyLjUsMzMuNjkwMzU1OSAyLjUsMzMgTDIuNSwzMyBMMi41LDUgQzIuNSw0LjMwOTY0NDA2IDIuNzc5ODIyMDMsMy42ODQ2NDQwNiAzLjIzMjIzMzA1LDMuMjMyMjMzMDUgQzMuNjg0NjQ0MDYsMi43Nzk4MjIwMyA0LjMwOTY0NDA2LDIuNSA1LDIuNSBMNSwyLjUgTDMzLDIuNSBaIiBpZD0iUGF0aC1Db3B5LTUiIHN0cm9rZT0iI0QyRDJEMiIgZmlsbC1vcGFjaXR5PSIwIiBmaWxsPSIjMDAwMDAwIj48L3BhdGg+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=)}.sky-theme-modern .sky-colorpicker-button:focus{box-shadow:inset 0 0 0 2px #1870b8,0 1px 8px #0000004d;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover{box-shadow:inset 0 0 0 1px #1870b8;outline:none;text-decoration:none}.sky-theme-modern .sky-colorpicker-button:hover.sky-colorpicker-button-disabled{box-shadow:none}.sky-theme-modern .sky-colorpicker-checkered-background{border-radius:6px;width:40px;height:40px}.sky-theme-modern .sky-colorpicker-button-modern-chevron{position:absolute;bottom:0;right:2px;font-size:10px}.sky-theme-modern .sky-colorpicker-button-modern-chevron.sky-colorpicker-button-modern-chevron-disabled{color:#686c73}.sky-theme-modern .sky-colorpicker-reset-button-modern{width:40px;height:40px}.sky-theme-modern .sky-colorpicker-reset-button-modern.sky-colorpicker-reset-button-disabled{background-color:#ededee;border:0px solid #d2d2d2;color:#686c73}.sky-theme-modern .sky-colorpicker{background-color:transparent;width:310px}.sky-theme-modern .sky-colorpicker .saturation-lightness{height:170px}.sky-theme-modern .sky-colorpicker-container{background-color:#fff;border-radius:0 0 6px 6px}.sky-theme-modern .sky-colorpicker-footer{background:none;border:none;border-radius:0 0 6px 6px;padding:10px 10px 15px}.sky-theme-modern .selected-color{height:46px;width:46px;top:0;left:0}.sky-theme-modern .selected-color-background{height:46px;width:46px}.sky-theme-modern input{text-align:left}.sky-theme-modern .box{padding:15px 30px}.sky-theme-modern .box .left{padding:0 30px 0 0}.sky-theme-modern .box .right{padding:0}.sky-theme-modern .alpha{margin-top:10px}.sky-theme-modern .rgba-text{padding:0 10px;display:flex;justify-content:space-between;flex-wrap:wrap}.sky-theme-modern .rgba-text sky-input-box:first-child{width:100%;flex:0 1 auto;margin:0 0 10px}.sky-theme-modern .rgba-text sky-input-box:not(:first-child){flex:1;margin:0 10px 10px 0}.sky-theme-modern .rgba-text sky-input-box:last-child{margin:0 0 10px}.sky-theme-modern .sky-colorpicker-preset-color-area{padding:10px 10px 15px}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn{height:46px;width:46px;border-radius:4px;margin:0 15px 15px 0}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:active),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:hover),.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:not(:focus){border:1px solid #d2d2d2}.sky-theme-modern .sky-colorpicker-preset-color-area .sky-btn:nth-child(5n){margin:0 0 15px}\n"], components: [{ type: i4.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { type: i5.λ10, selector: "sky-input-box", inputs: ["hasErrors", "disabled"] }], directives: [{ type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.λ3, selector: "[skyThemeIf]", inputs: ["skyThemeIf"] }, { type: i7.SkyColorpickerSliderDirective, selector: "[skyColorpickerSlider]", inputs: ["skyColorpickerSlider", "color", "xAxis", "yAxis"], outputs: ["newColorContrast"] }, { type: i8.SkyColorpickerTextDirective, selector: "[skyColorpickerText]", inputs: ["skyColorpickerText", "color", "maxRange"], outputs: ["newColorContrast"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "skyLibResources": i9.SkyLibResourcesPipe, "slice": i6.SlicePipe }, encapsulation: i0.ViewEncapsulation.None });
378
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerComponent, decorators: [{
378
379
  type: Component,
379
380
  args: [{
380
381
  selector: 'sky-colorpicker',
@@ -417,4 +418,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImpo
417
418
  read: ElementRef,
418
419
  }]
419
420
  }] } });
420
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3JwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29sb3JwaWNrZXIvc3JjL21vZHVsZXMvY29sb3JwaWNrZXIvY29sb3JwaWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxzQkFBc0IsR0FNdkIsTUFBTSxhQUFhLENBQUM7QUFJckIsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBWTNDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBUTdFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRTlELE9BQU8sRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7Ozs7Ozs7Ozs7O0FBRXhFLElBQUksZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO0FBRXpCOzs7O0dBSUc7QUFRSCxNQUFNLE9BQU8sdUJBQXVCO0lBeUtsQyxZQUNVLFlBQTZCLEVBQzdCLGNBQWlDLEVBQ2pDLFdBQWtDLEVBQ2xDLGNBQWlDLEVBQ2pDLE9BQThCLEVBQ2xCLFFBQTBCO1FBTHRDLGlCQUFZLEdBQVosWUFBWSxDQUFpQjtRQUM3QixtQkFBYyxHQUFkLGNBQWMsQ0FBbUI7UUFDakMsZ0JB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LEtBQUs7Z0JBVUMsS0FBSztzQkFEWCxLQUFLO2dCQVVDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBT0Msb0JBQW9CO3NCQUQxQixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxhQUFhO3NCQURuQixLQUFLO2dCQU9DLGVBQWU7c0JBRHJCLEtBQUs7Z0JBNERFLHNCQUFzQjtzQkFIN0IsU0FBUzt1QkFBQyx3QkFBd0IsRUFBRTt3QkFDbkMsSUFBSSxFQUFFLFdBQVc7cUJBQ2xCO2dCQU1PLGdCQUFnQjtzQkFIdkIsU0FBUzt1QkFBQyxrQkFBa0IsRUFBRTt3QkFDN0IsSUFBSSxFQUFFLFVBQVU7cUJBQ2pCO2dCQU1XLGNBQWM7c0JBSHpCLFNBQVM7dUJBQUMsZ0JBQWdCLEVBQUU7d0JBQzNCLElBQUksRUFBRSxVQUFVO3FCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIFNreUFmZml4QXV0b0ZpdENvbnRleHQsXG4gIFNreUFmZml4ZXIsXG4gIFNreUFmZml4U2VydmljZSxcbiAgU2t5T3ZlcmxheUluc3RhbmNlLFxuICBTa3lPdmVybGF5U2VydmljZSxcbiAgU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxufSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbmltcG9ydCB7IFNreVRoZW1lU2VydmljZSB9IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IGZyb21FdmVudCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUNvbG9ycGlja2VyQ2hhbmdlQXhpcyB9IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItYXhpcyc7XG5cbmltcG9ydCB7IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLWNvbG9yJztcblxuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJIc2xhIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1oc2xhJztcblxuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJIc3ZhIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1oc3ZhJztcblxuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJNZXNzYWdlIH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1tZXNzYWdlJztcblxuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItbWVzc2FnZS10eXBlJztcblxuaW1wb3J0IHsgU2t5Q29sb3JwaWNrZXJPdXRwdXQgfSBmcm9tICcuL3R5cGVzL2NvbG9ycGlja2VyLW91dHB1dCc7XG5cbmltcG9ydCB7IFNreUNvbG9ycGlja2VyUmdiYSB9IGZyb20gJy4vdHlwZXMvY29sb3JwaWNrZXItcmdiYSc7XG5cbmltcG9ydCB7IFNreUNvbG9ycGlja2VyUmVzdWx0IH0gZnJvbSAnLi90eXBlcy9jb2xvcnBpY2tlci1yZXN1bHQnO1xuXG5pbXBvcnQgeyBTa3lDb2xvcnBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2NvbG9ycGlja2VyLnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBTbGlkZXJQb3NpdGlvbiwgU2xpZGVyRGltZW5zaW9uIH0gZnJvbSAnLi9jb2xvcnBpY2tlci1jbGFzc2VzJztcblxubGV0IGNvbXBvbmVudElkSW5kZXggPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgU0tZIFVYLXRoZW1lZCByZXBsYWNlbWVudCBmb3IgdGhlIEhUTUwgYGlucHV0YCBlbGVtZW50IHdpdGggYHR5cGU9XCJjb2xvclwiYC5cbiAqIFRoZSB2YWx1ZSB0aGF0IHVzZXJzIHNlbGVjdCBpcyBkcml2ZW4gdGhyb3VnaCB0aGUgYG5nTW9kZWxgIGF0dHJpYnV0ZSBzcGVjaWZpZWQgb25cbiAqIHRoZSBgaW5wdXRgIGVsZW1lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1jb2xvcnBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb2xvcnBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NvbG9ycGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW1NreUNvbG9ycGlja2VyU2VydmljZV0sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFNreUNvbG9ycGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBbRm9udCBBd2Vzb21lIDQuN10oaHR0cHM6Ly9mb250YXdlc29tZS5jb20vdjQuNy9pY29ucy8pIGljb24gdG8gb3ZlcmxheSBvbiB0b3Agb2YgdGhlIHBpY2tlci4gRG8gbm90IHNwZWNpZnkgdGhlIGBmYSBmYS1gIGNsYXNzZXMuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHBpY2tlckJ1dHRvbkljb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgdHlwZSBvZiBpY29uIHRvIGRpc3BsYXkuIFNwZWNpZnlpbmcgYGZhYCB3aWxsIGRpc3BsYXkgYSBGb250IEF3ZXNvbWUgaWNvbiwgd2hpbGUgc3BlY2lmeWluZyBgc2t5dXhgIHdpbGwgZGlzcGxheSBhbiBpY29uIGZyb20gdGhlIGN1c3RvbSBTS1kgVVggaWNvbiBmb250LiBOb3RlIHRoYXQgdGhlIGN1c3RvbSBTS1kgVVggaWNvbiBmb250IGlzIGN1cnJlbnRseSBpbiBiZXRhLlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBwaWNrZXJCdXR0b25JY29uVHlwZT86IHN0cmluZyA9ICdmYSc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhbiBBUklBIGxhYmVsIGZvciB0aGUgY29sb3JwaWNrZXIuIFRoaXMgc2V0cyB0aGUgY29sb3JwaWNrZXIncyBgYXJpYS1sYWJlbGAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KVxuICAgKiB3aGVuIHRoZSBjb2xvcnBpY2tlciBkb2VzIG5vdCBpbmNsdWRlIGEgdmlzaWJsZSBsYWJlbC4gSWYgdGhlIGNvbG9ycGlja2VyIGluY2x1ZGVzIGEgdmlzaWJsZSBsYWJlbCwgdXNlIGBsYWJlbGxlZEJ5YCBpbnN0ZWFkLlxuICAgKiBAZGVmYXVsdCAnU2VsZWN0IGNvbG9yIHZhbHVlJ1xuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgSFRNTCBlbGVtZW50IElEICh3aXRob3V0IHRoZSBsZWFkaW5nIGAjYCkgb2YgdGhlIGVsZW1lbnQgdGhhdCBsYWJlbHMgdGhlXG4gICAqIGNvbG9ycGlja2VyLiBUaGlzIHNldHMgdGhlIGNvbG9ycGlja2VyJ3MgYGFyaWEtbGFiZWxsZWRieWAgYXR0cmlidXRlXG4gICAqIFt0byBzdXBwb3J0IGFjY2Vzc2liaWxpdHldKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9jaGVja2JveCNhY2Nlc3NpYmlsaXR5KS5cbiAgICogSWYgdGhlIGNvbG9ycGlja2VyIGRvZXMgbm90IGluY2x1ZGUgYSB2aXNpYmxlIGxhYmVsLCB1c2UgYGxhYmVsYCBpbnN0ZWFkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGxhYmVsbGVkQnk6IHN0cmluZztcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgYSBjb2xvciBpbiB0aGUgY29sb3JwaWNrZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkQ29sb3JDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTa3lDb2xvcnBpY2tlck91dHB1dD4oKTtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBzZWxlY3QgKipBcHBseSoqIGluIHRoZSBjb2xvcnBpY2tlciB0byBhcHBseSBhIGNvbG9yLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZENvbG9yQXBwbGllZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5Q29sb3JwaWNrZXJSZXN1bHQ+KCk7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFuIG9ic2VydmFibGUgdG8gc2VuZCBjb21tYW5kcyB0byB0aGUgY29sb3JwaWNrZXIuIFRoZSBjb21tYW5kcyBzaG91bGRcbiAgICogcmVzcGVjdCB0aGUgYFNreUNvbG9yUGlja2VyTWVzc2FnZWAgdHlwZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtZXNzYWdlU3RyZWFtID0gbmV3IFN1YmplY3Q8U2t5Q29sb3JwaWNrZXJNZXNzYWdlPigpO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBkaXNwbGF5IGEgcmVzZXQgYnV0dG9uIHRvIGxldCB1c2VycyByZXR1cm4gdG8gdGhlIGRlZmF1bHQgY29sb3IuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2hvd1Jlc2V0QnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fZGlzYWJsZWQgPSB2YWx1ZTtcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gIH1cblxuICBwdWJsaWMgaWRJbmRleDogbnVtYmVyO1xuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJIZXhJZDogc3RyaW5nO1xuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJSZWRJZDogc3RyaW5nO1xuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJHcmVlbklkOiBzdHJpbmc7XG4gIHB1YmxpYyBza3lDb2xvcnBpY2tlckJsdWVJZDogc3RyaW5nO1xuICBwdWJsaWMgc2t5Q29sb3JwaWNrZXJBbHBoYUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBhbHBoYUNoYW5uZWw6IHN0cmluZztcbiAgcHVibGljIGFsbG93VHJhbnNwYXJlbmN5OiBib29sZWFuO1xuICBwdWJsaWMgYWxwaGFTbGlkZXJDb2xvcjogc3RyaW5nO1xuICBwdWJsaWMgYXJyb3dUb3A6IG51bWJlcjtcbiAgcHVibGljIGZvcm1hdDogbnVtYmVyO1xuICBwdWJsaWMgaGV4VGV4dDogc3RyaW5nO1xuICBwdWJsaWMgaHNsYVRleHQ6IFNreUNvbG9ycGlja2VySHNsYTtcbiAgcHVibGljIGh1ZVNsaWRlckNvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBvdXRwdXRGb3JtYXQ6IHN0cmluZztcbiAgcHVibGljIHByZXNldENvbG9yczogQXJyYXk8c3RyaW5nPjtcbiAgcHVibGljIHJldHVybkZvcm1hdDogc3RyaW5nO1xuICBwdWJsaWMgcmdiYVRleHQ6IFNreUNvbG9ycGlja2VyUmdiYTtcbiAgcHVibGljIHNlbGVjdGVkQ29sb3I6IFNreUNvbG9ycGlja2VyT3V0cHV0O1xuICBwdWJsaWMgc2xpZGVyOiBTbGlkZXJQb3NpdGlvbjtcbiAgcHVibGljIGljb25Db2xvcjogc3RyaW5nO1xuICBwdWJsaWMgaW5pdGlhbENvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBsYXN0QXBwbGllZENvbG9yOiBzdHJpbmc7XG4gIHB1YmxpYyBpc1BpY2tlclZpc2libGU6IGJvb2xlYW47XG5cbiAgcHVibGljIHNldCBiYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5KHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5ID0gdmFsdWU7XG4gICAgaWYgKHRoaXMucGlja2VyQnV0dG9uSWNvbikge1xuICAgICAgdGhpcy5pY29uQ29sb3IgPSB0aGlzLmdldEFjY2Vzc2libGVJY29uQ29sb3IodGhpcy5zZWxlY3RlZENvbG9yKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IGJhY2tncm91bmRDb2xvckZvckRpc3BsYXkoKTogc3RyaW5nIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiB0aGlzLl9iYWNrZ3JvdW5kQ29sb3JGb3JEaXNwbGF5IHx8ICcjZmZmJztcbiAgfVxuXG4gIHB1YmxpYyBjb2xvcnBpY2tlcklkOiBzdHJpbmc7XG5cbiAgcHVibGljIGlzT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHB1YmxpYyBpc1Zpc2libGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIHB1YmxpYyB0cmlnZ2VyQnV0dG9uSWQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdjb2xvcnBpY2tlclRlbXBsYXRlUmVmJywge1xuICAgIHJlYWQ6IFRlbXBsYXRlUmVmLFxuICB9KVxuICBwcml2YXRlIGNvbG9ycGlja2VyVGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZCgndHJpZ2dlckJ1dHRvblJlZicsIHtcbiAgICByZWFkOiBFbGVtZW50UmVmLFxuICB9KVxuICBwcml2YXRlIHRyaWdnZXJCdXR0b25SZWY6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnY29sb3JwaWNrZXJSZWYnLCB7XG4gICAgcmVhZDogRWxlbWVudFJlZixcbiAgfSlcbiAgcHJpdmF0ZSBzZXQgY29sb3JwaWNrZXJSZWYodmFsdWU6IEVsZW1lbnRSZWYpIHtcbiAgICBpZiAodmFsdWUpIHtcbiAgICAgIHRoaXMuX2NvbG9ycGlja2VyUmVmID0gdmFsdWU7XG4gICAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG5cbiAgICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICAgIHRoaXMucGlja2VyVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbG9ycGlja2VyIGhhcyBmdWxseSByZW5kZXJlZCBiZWZvcmUgYWRkaW5nIHRoZSBhZmZpeGVyLiBBZGRlZCB0byBhZGRyZXNzIGFcbiAgICAgIC8vIHJhY2UgY29uZGl0aW9uIHdoZW4gcnVubmluZyB1bmRlciBwcm9kdWN0aW9uIGNvbmRpdGlvbnMuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5jcmVhdGVBZmZpeGVyKCk7XG4gICAgICAgIHRoaXMuaXNQaWNrZXJWaXNpYmxlID0gdHJ1ZTtcblxuICAgICAgICB0aGlzLmNvcmVBZGFwdGVyLmdldEZvY3VzYWJsZUNoaWxkcmVuQW5kQXBwbHlGb2N1cyhcbiAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAnLnNreS1jb2xvcnBpY2tlcicsXG4gICAgICAgICAgZmFsc2VcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IGNvbG9ycGlja2VyUmVmKCk6IEVsZW1lbnRSZWYge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcnBpY2tlclJlZjtcbiAgfVxuXG4gIHByaXZhdGUgaHN2YTogU2t5Q29sb3JwaWNrZXJIc3ZhO1xuICBwcml2YXRlIHNsaWRlckRpbU1heDogU2xpZGVyRGltZW5zaW9uO1xuICBwcml2YXRlIG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdCgpO1xuXG4gIHByaXZhdGUgYWZmaXhlcjogU2t5QWZmaXhlcjtcblxuICBwcml2YXRlIG92ZXJsYXk6IFNreU92ZXJsYXlJbnN0YW5jZTtcblxuICBwcml2YXRlIHBpY2tlclVuc3Vic2NyaWJlOiBTdWJqZWN0PHZvaWQ+O1xuXG4gIHByaXZhdGUgX2JhY2tncm91bmRDb2xvckZvckRpc3BsYXk6IHN0cmluZztcblxuICBwcml2YXRlIF9jb2xvcnBpY2tlclJlZjogRWxlbWVudFJlZjtcblxuICBwcml2YXRlIF9kaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgYWZmaXhTZXJ2aWNlOiBTa3lBZmZpeFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBjb3JlQWRhcHRlcjogU2t5Q29yZUFkYXB0ZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgb3ZlcmxheVNlcnZpY2U6IFNreU92ZXJsYXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgc2VydmljZTogU2t5Q29sb3JwaWNrZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIHByaXZhdGUgdGhlbWVTdmM/OiBTa3lUaGVtZVNlcnZpY2VcbiAgKSB7XG4gICAgY29tcG9uZW50SWRJbmRleCsrO1xuXG4gICAgdGhpcy5pZEluZGV4ID0gY29tcG9uZW50SWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyUmVkSWQgPSAnc2t5LWNvbG9ycGlja2VyLXJlZC0nICsgdGhpcy5pZEluZGV4O1xuICAgIHRoaXMuc2t5Q29sb3JwaWNrZXJIZXhJZCA9ICdza3ktY29sb3JwaWNrZXItaGV4LScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlclJlZElkID0gJ3NreS1jb2xvcnBpY2tlci1yZWQtJyArIHRoaXMuaWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyR3JlZW5JZCA9ICdza3ktY29sb3JwaWNrZXItZ3JlZW4tJyArIHRoaXMuaWRJbmRleDtcbiAgICB0aGlzLnNreUNvbG9ycGlja2VyQmx1ZUlkID0gJ3NreS1jb2xvcnBpY2tlci1ibHVlLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5za3lDb2xvcnBpY2tlckFscGhhSWQgPSAnc2t5LWNvbG9ycGlja2VyLWFscGhhLScgKyB0aGlzLmlkSW5kZXg7XG4gICAgdGhpcy5jb2xvcnBpY2tlcklkID0gYHNreS1jb2xvcnBpY2tlci0ke3RoaXMuaWRJbmRleH1gO1xuICAgIHRoaXMudHJpZ2dlckJ1dHRvbklkID0gYHNreS1jb2xvcnBpY2tlci1idXR0b24tJHt0aGlzLmlkSW5kZXh9YDtcbiAgfVxuXG4gIHB1YmxpYyBzZXREaWFsb2coXG4gICAgaW5zdGFuY2U6IGFueSxcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIGNvbG9yOiBhbnksXG4gICAgb3V0cHV0Rm9ybWF0OiBzdHJpbmcsXG4gICAgcHJlc2V0Q29sb3JzOiBBcnJheTxzdHJpbmc+LFxuICAgIGFscGhhQ2hhbm5lbDogc3RyaW5nLFxuICAgIGFsbG93VHJhbnNwYXJlbmN5OiBib29sZWFuXG4gICk6IHZvaWQge1xuICAgIHRoaXMuaW5pdGlhbENvbG9yID0gY29sb3I7XG4gICAgdGhpcy5vdXRwdXRGb3JtYXQgPSBvdXRwdXRGb3JtYXQ7XG4gICAgdGhpcy5wcmVzZXRDb2xvcnMgPSBwcmVzZXRDb2xvcnM7XG4gICAgdGhpcy5hbHBoYUNoYW5uZWwgPSBhbHBoYUNoYW5uZWw7XG4gICAgdGhpcy5hbGxvd1RyYW5zcGFyZW5jeSA9IGFsbG93VHJhbnNwYXJlbmN5O1xuXG4gICAgaWYgKHRoaXMub3V0cHV0Rm9ybWF0ID09PSAncmdiYScpIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gMTtcbiAgICB9IGVsc2UgaWYgKHRoaXMub3V0cHV0Rm9ybWF0ID09PSAnaHNsYScpIHtcbiAgICAgIHRoaXMuZm9ybWF0ID0gMjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb3JtYXQgPSAwO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNsaWRlckRpbU1heCA9IG5ldyBTbGlkZXJEaW1lbnNpb24oMTgyLCAyNzAsIDE3MCwgMTgyKTtcbiAgICB0aGlzLnNsaWRlciA9IG5ldyBTbGlkZXJQb3NpdGlvbigwLCAwLCAwLCAwKTtcbiAgICB0aGlzLm1lc3NhZ2VTdHJlYW1cbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgobWVzc2FnZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlKSA9PiB7XG4gICAgICAgIHRoaXMuaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5hZGRUcmlnZ2VyQnV0dG9uRXZlbnRMaXN0ZW5lcnMoKTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMudGhlbWVTdmMpIHtcbiAgICAgIHRoaXMudGhlbWVTdmMuc2V0dGluZ3NDaGFuZ2VcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRoZW1lU2V0dGluZ3MpID0+IHtcbiAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICAgIGNvbnN0IHRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzPy50aGVtZT8ubmFtZTtcblxuICAgICAgICAgIC8vIEh1ZS9hbHBoYSBzbGlkZXIgYmFycyBoYXZlIGRpZmZlcmVudCB3aWR0aHMgaW4gTW9kZXJuIHRoZW1lLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgICAgICAgIGlmICh0aGVtZU5hbWUgPT09ICdtb2Rlcm4nKSB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlckRpbU1heCA9IG5ldyBTbGlkZXJEaW1lbnNpb24oMTc0LCAyNzAsIDE3MCwgMTc0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zbGlkZXJEaW1NYXggPSBuZXcgU2xpZGVyRGltZW5zaW9uKDE4MiwgMjcwLCAxNzAsIDE4Mik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudXBkYXRlU2xpZGVyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpO1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICB9XG5cbiAgcHVibGljIG9uVHJpZ2dlckJ1dHRvbkNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5PcGVuKTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9zZVBpY2tlcigpOiB2b2lkIHtcbiAgICB0aGlzLmRlc3Ryb3lBZmZpeGVyKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMucmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTtcbiAgICB0aGlzLnRyaWdnZXJCdXR0b25SZWYubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25BcHBseUNvbG9yQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb2xvcik7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yQXBwbGllZC5lbWl0KHsgY29sb3I6IHRoaXMuc2VsZWN0ZWRDb2xvciB9KTtcbiAgICB0aGlzLmxhc3RBcHBsaWVkQ29sb3IgPSB0aGlzLnNlbGVjdGVkQ29sb3IucmdiYVRleHQ7XG4gICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5sYXN0QXBwbGllZENvbG9yKTtcbiAgICB0aGlzLmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB0aGlzLnNlbGVjdGVkQ29sb3IucmdiYVRleHQ7XG4gICAgdGhpcy5jbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgcHVibGljIG9uQ2FuY2VsQ2xpY2soKTogdm9pZCB7XG4gICAgLy8gUmV2ZXJ0IHBpY2tlciB2YWx1ZXMgYmFjayB0byBwcmV2aW91cyBjb2xvci5cbiAgICB0aGlzLnVwZGF0ZVBpY2tlclZhbHVlcyh0aGlzLmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkpO1xuICAgIHRoaXMuY2xvc2VQaWNrZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBvblByZXNldENsaWNrKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZVBpY2tlclZhbHVlcyh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgb25SZXNldENsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMuc2VuZE1lc3NhZ2UoU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5SZXNldCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlUGlja2VyVmFsdWVzKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBoc3ZhID0gdGhpcy5nZXRIc3ZhVmFsdWUodmFsdWUpO1xuICAgIGlmIChoc3ZhKSB7XG4gICAgICB0aGlzLmhzdmEgPSBoc3ZhO1xuICAgICAgdGhpcy51cGRhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2V0IGh1ZShjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQXhpcykge1xuICAgIHRoaXMuaHN2YS5odWUgPSBjaGFuZ2UueENvb3JkaW5hdGUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgcmVkKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvcikge1xuICAgIGxldCByZ2JhID0gdGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKTtcbiAgICByZ2JhLnJlZCA9IGNoYW5nZS5jb2xvclZhbHVlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMuaHN2YSA9IHRoaXMuc2VydmljZS5yZ2JhVG9Ic3ZhKHJnYmEpO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGdyZWVuKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvcikge1xuICAgIGxldCByZ2JhID0gdGhpcy5zZXJ2aWNlLmhzdmFUb1JnYmEodGhpcy5oc3ZhKTtcbiAgICByZ2JhLmdyZWVuID0gY2hhbmdlLmNvbG9yVmFsdWUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy5oc3ZhID0gdGhpcy5zZXJ2aWNlLnJnYmFUb0hzdmEocmdiYSk7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYmx1ZShjaGFuZ2U6IFNreUNvbG9ycGlja2VyQ2hhbmdlQ29sb3IpIHtcbiAgICBsZXQgcmdiYSA9IHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKHRoaXMuaHN2YSk7XG4gICAgcmdiYS5ibHVlID0gY2hhbmdlLmNvbG9yVmFsdWUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy5oc3ZhID0gdGhpcy5zZXJ2aWNlLnJnYmFUb0hzdmEocmdiYSk7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgYWxwaGFBeGlzKGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VBeGlzKSB7XG4gICAgdGhpcy5oc3ZhLmFscGhhID0gY2hhbmdlLnhDb29yZGluYXRlIC8gY2hhbmdlLm1heFJhbmdlO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IGFscGhhQ29sb3IoY2hhbmdlOiBTa3lDb2xvcnBpY2tlckNoYW5nZUNvbG9yKSB7XG4gICAgdGhpcy5oc3ZhLmFscGhhID0gY2hhbmdlLmNvbG9yVmFsdWUgLyBjaGFuZ2UubWF4UmFuZ2U7XG4gICAgdGhpcy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgaGV4KGNoYW5nZTogU2t5Q29sb3JwaWNrZXJDaGFuZ2VDb2xvcikge1xuICAgIHRoaXMudXBkYXRlUGlja2VyVmFsdWVzKGNoYW5nZS5jb2xvcik7XG4gIH1cblxuICBwdWJsaWMgc2V0IHNhdHVyYXRpb25BbmRMaWdodG5lc3ModmFsdWU6IFNreUNvbG9ycGlja2VyQ2hhbmdlQXhpcykge1xuICAgIHRoaXMuaHN2YS5zYXR1cmF0aW9uID0gdmFsdWUueENvb3JkaW5hdGUgLyB2YWx1ZS54QXhpcztcbiAgICB0aGlzLmhzdmEudmFsdWUgPSB2YWx1ZS55Q29vcmRpbmF0ZSAvIHZhbHVlLnlBeGlzO1xuICAgIHRoaXMudXBkYXRlKCk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xuICAgIGxldCBoc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEgPSB0aGlzLnNlcnZpY2UuaHN2YTJoc2xhKHRoaXMuaHN2YSk7XG4gICAgbGV0IGRIc2xhOiBTa3lDb2xvcnBpY2tlckhzbGEgPSB0aGlzLnNlcnZpY2UuZGVub3JtYWxpemVIU0xBKGhzbGEpO1xuICAgIGxldCByZ2JhOiBTa3lDb2xvcnBpY2tlclJnYmEgPSB0aGlzLnNlcnZpY2UuaHN2YVRvUmdiYSh0aGlzLmhzdmEpO1xuICAgIGxldCBkUmdiYTogU2t5Q29sb3JwaWNrZXJSZ2JhID0gdGhpcy5zZXJ2aWNlLmRlbm9ybWFsaXplUkdCQShyZ2JhKTtcblxuICAgIGxldCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmEgPSB7XG4gICAgICBodWU6IHRoaXMuaHN2YS5odWUsXG4gICAgICBzYXR1cmF0aW9uOiAxLFxuICAgICAgdmFsdWU6IDEsXG4gICAgICBhbHBoYTogMSxcbiAgICB9O1xuXG4gICAgbGV0IGh1ZVJnYmEgPSB0aGlzLnNlcnZpY2UuZGVub3JtYWxpemVSR0JBKHRoaXMuc2VydmljZS5oc3ZhVG9SZ2JhKGhzdmEpKTtcblxuICAgIHRoaXMuaHNsYVRleHQgPSBkSHNsYTtcbiAgICB0aGlzLnJnYmFUZXh0ID0gZFJnYmE7XG4gICAgdGhpcy5oZXhUZXh0ID0gdGhpcy5zZXJ2aWNlLmhleFRleHQoZFJnYmEsIHRoaXMuYWxwaGFDaGFubmVsID09PSAnaGV4OCcpO1xuXG4gICAgdGhpcy5hbHBoYVNsaWRlckNvbG9yID0gYHJnYmEoJHtkUmdiYS5yZWR9LCR7ZFJnYmEuZ3JlZW59LCR7ZFJnYmEuYmx1ZX0sJHtkUmdiYS5hbHBoYX0pYDtcbiAgICB0aGlzLmh1ZVNsaWRlckNvbG9yID0gYHJnYmEoJHtodWVSZ2JhLnJlZH0sJHtodWVSZ2JhLmdyZWVufSwke2h1ZVJnYmEuYmx1ZX0sJHtyZ2JhLmFscGhhfSlgO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5mb3JtYXQgPT09IDAgJiZcbiAgICAgIHRoaXMuaHN2YS5hbHBoYSA8IDEgJiZcbiAgICAgIHRoaXMuYWxwaGFDaGFubmVsID09PSAnaGV4NidcbiAgICApIHtcbiAgICAgIHRoaXMuZm9ybWF0Kys7XG4gICAgfVxuXG4gICAgdGhpcy5zZXJ2aWNlLm91dHB1dEZvcm1hdChcbiAgICAgIHRoaXMuaHN2YSxcbiAgICAgIHRoaXMub3V0cHV0Rm9ybWF0LFxuICAgICAgdGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4J1xuICAgICk7XG4gICAgdGhpcy5zZWxlY3RlZENvbG9yID0gdGhpcy5zZXJ2aWNlLnNreUNvbG9ycGlja2VyT3V0KHRoaXMuaHN2YSk7XG5cbiAgICB0aGlzLnVwZGF0ZVNsaWRlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVTbGlkZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaHN2YSAmJiB0aGlzLnNsaWRlckRpbU1heCkge1xuICAgICAgdGhpcy5zbGlkZXIgPSBuZXcgU2xpZGVyUG9zaXRpb24oXG4gICAgICAgIHRoaXMuaHN2YS5odWUgKiB0aGlzLnNsaWRlckRpbU1heC5odWUgLSA4LFxuICAgICAgICB0aGlzLmhzdmEuc2F0dXJhdGlvbiAqIHRoaXMuc2xpZGVyRGltTWF4LnNhdHVyYXRpb24gLSA4LFxuICAgICAgICAoMSAtIHRoaXMuaHN2YS52YWx1ZSkgKiB0aGlzLnNsaWRlckRpbU1heC52YWx1ZSAtIDgsXG4gICAgICAgIHRoaXMuaHN2YS5hbHBoYSAqIHRoaXMuc2xpZGVyRGltTWF4LmFscGhhIC0gOFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIG9wZW5QaWNrZXIoKTogdm9pZCB7XG4gICAgdGhpcy5pc1BpY2tlclZpc2libGUgPSBmYWxzZTtcbiAgICB0aGlzLnJlbW92ZVBpY2tlckV2ZW50TGlzdGVuZXJzKCk7XG4gICAgdGhpcy5kZXN0cm95T3ZlcmxheSgpO1xuICAgIHRoaXMuY3JlYXRlT3ZlcmxheSgpO1xuICAgIHRoaXMuaXNPcGVuID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgc2VuZE1lc3NhZ2UodHlwZTogU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZSkge1xuICAgIHRoaXMubWVzc2FnZVN0cmVhbS5uZXh0KHsgdHlwZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlSW5jb21pbmdNZXNzYWdlcyhtZXNzYWdlOiBTa3lDb2xvcnBpY2tlck1lc3NhZ2UpIHtcbiAgICAvKiB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHQgKi9cbiAgICBzd2l0Y2ggKG1lc3NhZ2UudHlwZSkge1xuICAgICAgY2FzZSBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLk9wZW46XG4gICAgICAgIGlmICghdGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLm9wZW5QaWNrZXIoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lDb2xvcnBpY2tlck1lc3NhZ2VUeXBlLkNsb3NlOlxuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICB0aGlzLmNsb3NlUGlja2VyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5Q29sb3JwaWNrZXJNZXNzYWdlVHlwZS5SZXNldDpcbiAgICAgICAgdGhpcy51cGRhdGVQaWNrZXJWYWx1ZXModGhpcy5pbml0aWFsQ29sb3IpO1xuICAgICAgICB0aGlzLmJhY2tncm91bmRDb2xvckZvckRpc3BsYXkgPSB0aGlzLmluaXRpYWxDb2xvcjtcbiAgICAgICAgdGhpcy5zZWxlY3RlZENvbG9yQ2hhbmdlZC5lbWl0KHRoaXMuc2VsZWN0ZWRDb2xvcik7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2xvckFwcGxpZWQuZW1pdCh7IGNvbG9yOiB0aGlzLnNlbGVjdGVkQ29sb3IgfSk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuVG9nZ2xlUmVzZXRCdXR0b246XG4gICAgICAgIHRoaXMuc2hvd1Jlc2V0QnV0dG9uID0gIXRoaXMuc2hvd1Jlc2V0QnV0dG9uO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGNyZWF0ZUFmZml4ZXIoKTogdm9pZCB7XG4gICAgY29uc3QgYWZmaXhlciA9IHRoaXMuYWZmaXhTZXJ2aWNlLmNyZWF0ZUFmZml4ZXIodGhpcy5jb2xvcnBpY2tlclJlZik7XG5cbiAgICBhZmZpeGVyLnBsYWNlbWVudENoYW5nZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMucGlja2VyVW5zdWJzY3JpYmUpKVxuICAgICAgLnN1YnNjcmliZSgoY2hhbmdlKSA9PiB7XG4gICAgICAgIHRoaXMuaXNQaWNrZXJWaXNpYmxlID0gY2hhbmdlLnBsYWNlbWVudCAhPT0gbnVsbDtcbiAgICAgIH0pO1xuXG4gICAgYWZmaXhlci5hZmZpeFRvKHRoaXMudHJpZ2dlckJ1dHRvblJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICBhdXRvRml0Q29udGV4dDogU2t5QWZmaXhBdXRvRml0Q29udGV4dC5WaWV3cG9ydCxcbiAgICAgIGVuYWJsZUF1dG9GaXQ6IHRydWUsXG4gICAgICBob3Jpem9udGFsQWxpZ25tZW50OiAnbGVmdCcsXG4gICAgICBpc1N0aWNreTogdHJ1ZSxcbiAgICAgIHBsYWNlbWVudDogJ2JlbG93JyxcbiAgICB9KTtcblxuICAgIHRoaXMuYWZmaXhlciA9IGFmZml4ZXI7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lBZmZpeGVyKCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLmFmZml4ZXIpIHtcbiAgICAgIHRoaXMuYWZmaXhlci5kZXN0cm95KCk7XG4gICAgICB0aGlzLmFmZml4ZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVPdmVybGF5KCk6IHZvaWQge1xuICAgIGNvbnN0IG92ZXJsYXkgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZSh7XG4gICAgICBlbmFibGVDbG9zZTogZmFsc2UsXG4gICAgICBlbmFibGVQb2ludGVyRXZlbnRzOiBmYWxzZSxcbiAgICAgIGVuYWJsZVNjcm9sbDogdHJ1ZSxcbiAgICB9KTtcblxuICAgIG92ZXJsYXkuYXR0YWNoVGVtcGxhdGUodGhpcy5jb2xvcnBpY2tlclRlbXBsYXRlUmVmKTtcblxuICAgIHRoaXMub3ZlcmxheSA9IG92ZXJsYXk7XG4gIH1cblxuICBwcml2YXRlIGRlc3Ryb3lPdmVybGF5KCk6IHZvaWQge1xuICAgIC8qaXN0YW5idWwgaWdub3JlIGVsc2UqL1xuICAgIGlmICh0aGlzLm92ZXJsYXkpIHtcbiAgICAgIHRoaXMub3ZlcmxheVNlcnZpY2UuY2xvc2UodGhpcy5vdmVybGF5KTtcbiAgICAgIHRoaXMub3ZlcmxheSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFRyaWdnZXJCdXR0b25FdmVudExpc3RlbmVycygpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQod2luZG93LmRvY3VtZW50LCAna2V5ZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSlcbiAgICAgIC5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGtleSA9IGV2ZW50LmtleT8udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgICAgaWYgKGtleSA9PT0gJ2VzY2FwZScpIHtcbiAgICAgICAgICB0aGlzLnNlbmRNZXNzYWdlKFNreUNvbG9ycGlja2VyTWVzc2FnZVR5cGUuQ2xvc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlUGlja2VyRXZlbnRMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5waWNrZXJVbnN1YnNjcmliZSkge1xuICAgICAgdGhpcy5waWNrZXJVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLnBpY2tlclVuc3Vic2NyaWJlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0SHN2YVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBTa3lDb2xvcnBpY2tlckhzdmEge1xuICAgIGxldCBoc3ZhOiBTa3lDb2xvcnBpY2tlckhzdmE7XG5cbiAgICBpZiAodGhpcy5hbHBoYUNoYW5uZWwgPT09ICdoZXg4Jykge1xuICAgICAgaHN2YSA9IHRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodmFsdWUsIHRydWUpO1xuICAgICAgaWYgKCFoc3ZhICYmICF0aGlzLmhzdmEpIHtcbiAgICAgICAgaHN2YSA9IHRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodmFsdWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaHN2YSA9IHRoaXMuc2VydmljZS5zdHJpbmdUb0hzdmEodmFsdWUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gaHN2YTtcbiAgfVxuXG4gIC8vIGh0dHA6Ly93d3cudzMub3JnL1RSL0FFUlQjY29sb3ItY29udHJhc3RcbiAgcHJpdmF0ZSBnZXRBY2Nlc3NpYmxlSWNvbkNvbG9yKFxuICAgIGJhY2tncm91bmRDb2xvcjogU2t5Q29sb3JwaWNrZXJPdXRwdXRcbiAgKTogc3RyaW5nIHtcbiAgICBjb25zdCByZ2IgPSBiYWNrZ3JvdW5kQ29sb3IucmdiYTtcbiAgICBjb25zdCBicmlnaHRuZXNzID0gTWF0aC5yb3VuZChcbiAgICAgIChyZ2IucmVkICogMjk5ICsgcmdiLmdyZWVuICogNTg3ICsgcmdiLmJsdWUgKiAxMTQpIC8gMTAwMFxuICAgICk7XG4gICAgcmV0dXJuIGJyaWdodG5lc3MgPiAxMjUgPyAncmdiKDAsIDAsIDApJyA6ICdyZ2IoMjU1LCAyNTUsIDI1NSknO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwic2t5LWlucHV0LWdyb3VwXCJcbiAgW25nQ2xhc3NdPVwie1xuICAgICdza3ktY29sb3JwaWNrZXItaGlkZGVuJzogIWlzVmlzaWJsZSxcbiAgICAnc2t5LWNvbG9ycGlja2VyLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgfVwiXG4+XG4gIDxkaXYgW2hpZGRlbl09XCJ0cnVlXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8YnV0dG9uXG4gICAgYXJpYS1oYXNwb3B1cD1cImRpYWxvZ1wiXG4gICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItYnV0dG9uXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cImlzT3BlbiA/IGNvbG9ycGlja2VySWQgOiBudWxsXCJcbiAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzT3BlblwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgIGxhYmVsIHx8XG4gICAgICAobGFiZWxsZWRCeVxuICAgICAgICA/IG51bGxcbiAgICAgICAgOiAoJ3NreXV4X2NvbG9ycGlja2VyX2Ryb3Bkb3duX2J1dHRvbicgfCBza3lMaWJSZXNvdXJjZXMpKVxuICAgIFwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImxhYmVsbGVkQnlcIlxuICAgIFthdHRyLmlkXT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgW2F0dHIudGl0bGVdPVwiXG4gICAgICBsYWJlbCB8fFxuICAgICAgKGxhYmVsbGVkQnlcbiAgICAgICAgPyBudWxsXG4gICAgICAgIDogKCdza3l1eF9jb2xvcnBpY2tlcl9kcm9wZG93bl9idXR0b24nIHwgc2t5TGliUmVzb3VyY2VzKSlcbiAgICBcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1jb2xvcnBpY2tlci1idXR0b24tZGlzYWJsZWQnOiBkaXNhYmxlZFxuICAgIH1cIlxuICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICdza3ktbWFyZ2luLWlubGluZS1zbSc6ICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiYmFja2dyb3VuZENvbG9yRm9yRGlzcGxheVwiXG4gICAgKGNsaWNrKT1cIm9uVHJpZ2dlckJ1dHRvbkNsaWNrKClcIlxuICAgICN0cmlnZ2VyQnV0dG9uUmVmXG4gID5cbiAgICA8c2t5LWljb25cbiAgICAgICpuZ0lmPVwicGlja2VyQnV0dG9uSWNvblwiXG4gICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1idXR0b24taWNvblwiXG4gICAgICBbaWNvbl09XCJwaWNrZXJCdXR0b25JY29uXCJcbiAgICAgIFtpY29uVHlwZV09XCJwaWNrZXJCdXR0b25JY29uVHlwZVwiXG4gICAgICBbc2l6ZV09XCInMXgnXCJcbiAgICAgIFtzdHlsZS5jb2xvcl09XCJpY29uQ29sb3JcIlxuICAgID5cbiAgICA8L3NreS1pY29uPlxuICAgIDxuZy1jb250YWluZXIgKnNreVRoZW1lSWY9XCInbW9kZXJuJ1wiPlxuICAgICAgPHNreS1pY29uXG4gICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWJ1dHRvbi1tb2Rlcm4tY2hldnJvblwiXG4gICAgICAgIGljb249XCJjaGV2cm9uLWRvd25cIlxuICAgICAgICBpY29uVHlwZT1cInNreXV4XCJcbiAgICAgICAgc2l6ZT1cInhzXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktY29sb3JwaWNrZXItYnV0dG9uLW1vZGVybi1jaGV2cm9uLWRpc2FibGVkJzogZGlzYWJsZWRcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICA8L3NreS1pY29uPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cblxuICA8bmctdGVtcGxhdGUgI2NvbG9ycGlja2VyVGVtcGxhdGVSZWY+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY29udGFpbmVyXCJcbiAgICAgIHJvbGU9XCJkaWFsb2dcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRyaWdnZXJCdXR0b25JZFwiXG4gICAgICBbYXR0ci5pZF09XCJjb2xvcnBpY2tlcklkXCJcbiAgICAgIFtoaWRkZW5dPVwiIWlzUGlja2VyVmlzaWJsZVwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktc2hhZG93JzogJ2RlZmF1bHQnLFxuICAgICAgICAnc2t5LWVsZXZhdGlvbi00JzogJ21vZGVybidcbiAgICAgIH1cIlxuICAgICAgI2NvbG9ycGlja2VyUmVmXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cInNreS1jb2xvcnBpY2tlclwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJzYXR1cmF0aW9uLWxpZ2h0bmVzc1wiXG4gICAgICAgICAgW2NvbG9yXT1cInNsaWRlci5zYXR1cmF0aW9uIC0gc2xpZGVyLnZhbHVlXCJcbiAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJTbGlkZXJdXG4gICAgICAgICAgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiaHVlU2xpZGVyQ29sb3JcIlxuICAgICAgICAgIFt4QXhpc109XCIxXCJcbiAgICAgICAgICBbeUF4aXNdPVwiMVwiXG4gICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwic2F0dXJhdGlvbkFuZExpZ2h0bmVzcyA9ICRldmVudFwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzcz1cImN1cnNvciBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwic2xpZGVyLnNhdHVyYXRpb25cIlxuICAgICAgICAgICAgW3N0eWxlLnRvcC5weF09XCJzbGlkZXIudmFsdWVcIlxuICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImJveFwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0XCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VsZWN0ZWQtY29sb3ItYmFja2dyb3VuZCBza3ktcm91bmRlZC1jaXJjbGVcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJzZWxlY3RlZC1jb2xvciBza3ktcm91bmRlZC1jaXJjbGVcIlxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJzZWxlY3RlZENvbG9yPy5yZ2JhVGV4dFwiXG4gICAgICAgICAgICA+PC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJpZ2h0XCI+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGNsYXNzPVwiaHVlXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyU2xpZGVyXVxuICAgICAgICAgICAgICBbeEF4aXNdPVwiMVwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cImh1ZSA9ICRldmVudFwiXG4gICAgICAgICAgICAgICNodWVTbGlkZXJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yIHNreS1yb3VuZGVkLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwic2xpZGVyLmh1ZVwiXG4gICAgICAgICAgICAgID48L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAqbmdJZj1cInRoaXMuYWxsb3dUcmFuc3BhcmVuY3lcIlxuICAgICAgICAgICAgICBjbGFzcz1cImFscGhhXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyU2xpZGVyXVxuICAgICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJhbHBoYVNsaWRlckNvbG9yXCJcbiAgICAgICAgICAgICAgW3hBeGlzXT1cIjFcIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJhbHBoYUF4aXMgPSAkZXZlbnRcIlxuICAgICAgICAgICAgICAjYWxwaGFTbGlkZXJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY3Vyc29yIHNreS1yb3VuZGVkLWNpcmNsZVwiXG4gICAgICAgICAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwic2xpZGVyLmFscGhhXCJcbiAgICAgICAgICAgICAgPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyZ2JhLXRleHRcIj5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfY29sb3JwaWNrZXJfYXJpYV9oZXgnIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VySGV4SWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfaGV4JyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1mb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiXiM/KFtBLUZhLWYwLTldezZ9fFtBLUZhLWYwLTldezN9KSRcIlxuICAgICAgICAgICAgICBbYXR0ci5pZF09XCJza3lDb2xvcnBpY2tlckhleElkXCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cImhleFRleHRcIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJoZXggPSAkZXZlbnRcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L3NreS1pbnB1dC1ib3g+XG4gICAgICAgICAgPHNreS1pbnB1dC1ib3g+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktY29udHJvbC1sYWJlbFwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2FyaWFfcmVkJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAgIFthdHRyLmZvcl09XCJza3lDb2xvcnBpY2tlclJlZElkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3sgJ3NreXV4X2NvbG9ycGlja2VyX3JlZCcgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJSZWRJZFwiXG4gICAgICAgICAgICAgIFttYXhSYW5nZV09XCIyNTVcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmdiYVRleHQ/LnJlZFwiXG4gICAgICAgICAgICAgIChuZXdDb2xvckNvbnRyYXN0KT1cInJlZCA9ICRldmVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfY29sb3JwaWNrZXJfYXJpYV9ncmVlbicgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VyR3JlZW5JZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9ncmVlbicgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJHcmVlbklkXCJcbiAgICAgICAgICAgICAgW21heFJhbmdlXT1cIjI1NVwiXG4gICAgICAgICAgICAgIFtza3lDb2xvcnBpY2tlclRleHRdXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJyZ2JhVGV4dD8uZ3JlZW5cIlxuICAgICAgICAgICAgICAobmV3Q29sb3JDb250cmFzdCk9XCJncmVlbiA9ICRldmVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveD5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfY29sb3JwaWNrZXJfYXJpYV9ibHVlJyB8IHNreUxpYlJlc291cmNlc1xuICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICBbYXR0ci5mb3JdPVwic2t5Q29sb3JwaWNrZXJCbHVlSWRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfYmx1ZScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMjU1XCJcbiAgICAgICAgICAgICAgbWluPVwiMFwiXG4gICAgICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJCbHVlSWRcIlxuICAgICAgICAgICAgICBbbWF4UmFuZ2VdPVwiMjU1XCJcbiAgICAgICAgICAgICAgW3NreUNvbG9ycGlja2VyVGV4dF1cbiAgICAgICAgICAgICAgW3ZhbHVlXT1cInJnYmFUZXh0Py5ibHVlXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiYmx1ZSA9ICRldmVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgICA8c2t5LWlucHV0LWJveCAqbmdJZj1cInRoaXMuYWxsb3dUcmFuc3BhcmVuY3lcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzcz1cInNreS1jb250cm9sLWxhYmVsXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJcbiAgICAgICAgICAgICAgICAnc2t5dXhfY29sb3JwaWNrZXJfYXJpYV9hbHBoYScgfCBza3lMaWJSZXNvdXJjZXNcbiAgICAgICAgICAgICAgXCJcbiAgICAgICAgICAgICAgW2F0dHIuZm9yXT1cInNreUNvbG9ycGlja2VyQWxwaGFJZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7ICdza3l1eF9jb2xvcnBpY2tlcl9hbHBoYScgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgY2xhc3M9XCJza3ktZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgbWF4PVwiMVwiXG4gICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0rKFtcXC4sXVswLTldezEsMn0pP1wiXG4gICAgICAgICAgICAgIHN0ZXA9XCIwLjFcIlxuICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgW2F0dHIuaWRdPVwic2t5Q29sb3JwaWNrZXJBbHBoYUlkXCJcbiAgICAgICAgICAgICAgW21heFJhbmdlXT1cIjFcIlxuICAgICAgICAgICAgICBbc2t5Q29sb3JwaWNrZXJUZXh0XVxuICAgICAgICAgICAgICBbdmFsdWVdPVwicmdiYVRleHQ/LmFscGhhXCJcbiAgICAgICAgICAgICAgKG5ld0NvbG9yQ29udHJhc3QpPVwiYWxwaGFDb2xvciA9ICRldmVudFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvc2t5LWlucHV0LWJveD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAqbmdJZj1cInByZXNldENvbG9ycyAmJiBwcmVzZXRDb2xvcnMubGVuZ3RoXCJcbiAgICAgICAgICBjbGFzcz1cInNreS1jb2xvcnBpY2tlci1wcmVzZXQtY29sb3ItYXJlYVwiXG4gICAgICAgID5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgY29sb3Igb2YgcHJlc2V0Q29sb3JzIHwgc2xpY2U6IDA6MTI7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIlxuICAgICAgICAgICAgICAoJ3NreXV4X2NvbG9ycGlja2VyX3ByZXNldF9jb2xvcicgfCBza3lMaWJSZXNvdXJjZXMpICsgJyAnICsgY29sb3JcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICAgICAgICdza3ktcHJlc2V0LWNvbG9yJzogJ2RlZmF1bHQnLFxuICAgICAgICAgICAgICAnc2t5LWJ0biBza3ktYnRuLWxpbmsnOiAnbW9kZXJuJ1xuICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblByZXNldENsaWNrKGNvbG9yKVwiXG4gICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwic2t5LWNvbG9ycGlja2VyLWZvb3RlclwiXG4gICAgICAgIFtza3lUaGVtZUNsYXNzXT1cIntcbiAgICAgICAgICAnc2t5LXBhZGRpbmctZXZlbi1sYXJnZSc6ICdkZWZhdWx0J1xuICAgICAgICB9XCJcbiAgICAgID5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY29sdW1uXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJza3ktYnRuIHNreS1idG4tcHJpbWFyeSBza3ktYnRuLWNvbG9ycGlja2VyLWFwcGx5XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCInc2t5dXhfY29sb3JwaWNrZXJfYXBwbHknIHwgc2t5TGliUmVzb3VyY2VzXCJcbiAgICAgICAgICAgIFtza3lUaGVtZUNsYXNzXT1cInsgJ3NreS1tYXJnaW4taW5saW5lLXNtJzogJ21vZGVybicgfVwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25BcHBseUNvbG9yQ2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ3NreXV4X2NvbG9ycGlja2VyX2FwcGx5JyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWxpbmsgc2t5LWJ0bi1jb2xvcnBpY2tlci1jbG9zZVwiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX2Nsb3NlJyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwib25DYW5jZWxDbGljaygpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnc2t5dXhfY29sb3JwaWNrZXJfY2xvc2UnIHwgc2t5TGliUmVzb3VyY2VzIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L25nLXRlbXBsYXRlPlxuICA8c3BhblxuICAgICpuZ0lmPVwiYWxsb3dUcmFuc3BhcmVuY3lcIlxuICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgY2xhc3M9XCJza3ktY29sb3JwaWNrZXItY2hlY2tlcmVkLWJhY2tncm91bmRcIlxuICA+XG4gIDwvc3Bhbj5cblxuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJzaG93UmVzZXRCdXR0b25cIlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3NreXV4X2NvbG9ycGlja2VyX3Jlc2V0JyB8IHNreUxpYlJlc291cmNlc1wiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbG9ycGlja2VyLXJlc2V0LWJ1dHRvbi1kaXNhYmxlZCc6IGRpc2FibGVkXG4gICAgfVwiXG4gICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgJ3NreS1jb2xvcnBpY2tlci1yZXNldC1idXR0b24nOiAnZGVmYXVsdCcsXG4gICAgICAnc2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktY29sb3JwaWNrZXItcmVzZXQtYnV0dG9uLW1vZGVybic6XG4gICAgICAgICdtb2Rlcm4nXG4gICAgfVwiXG4gICAgKGNsaWNrKT1cIm9uUmVzZXRDbGljaygpXCJcbiAgPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidkZWZhdWx0J1wiIGljb249XCJ0aW1lc1wiIHNpemU9XCJzbVwiPiA8L3NreS1pY29uPlxuICAgIDxza3ktaWNvbiAqc2t5VGhlbWVJZj1cIidtb2Rlcm4nXCIgaWNvbj1cInRyYXNoXCIgaWNvblR5cGU9XCJza3l1eFwiIHNpemU9XCJsZ1wiPlxuICAgIDwvc2t5LWljb24+XG4gIDwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
421
+ //# sourceMappingURL=colorpicker.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorpicker.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.ts","../../../../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n TemplateRef,\n ViewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n SkyAffixAutoFitContext,\n SkyAffixer,\n SkyAffixService,\n SkyOverlayInstance,\n SkyOverlayService,\n SkyCoreAdapterService,\n} from '@skyux/core';\n\nimport { SkyThemeService } from '@skyux/theme';\n\nimport { fromEvent, Subject } from 'rxjs';\n\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyColorpickerChangeAxis } from './types/colorpicker-axis';\n\nimport { SkyColorpickerChangeColor } from './types/colorpicker-color';\n\nimport { SkyColorpickerHsla } from './types/colorpicker-hsla';\n\nimport { SkyColorpickerHsva } from './types/colorpicker-hsva';\n\nimport { SkyColorpickerMessage } from './types/colorpicker-message';\n\nimport { SkyColorpickerMessageType } from './types/colorpicker-message-type';\n\nimport { SkyColorpickerOutput } from './types/colorpicker-output';\n\nimport { SkyColorpickerRgba } from './types/colorpicker-rgba';\n\nimport { SkyColorpickerResult } from './types/colorpicker-result';\n\nimport { SkyColorpickerService } from './colorpicker.service';\n\nimport { SliderPosition, SliderDimension } from './colorpicker-classes';\n\nlet componentIdIndex = 0;\n\n/**\n * Provides a SKY UX-themed replacement for the HTML `input` element with `type=\"color\"`.\n * The value that users select is driven through the `ngModel` attribute specified on\n * the `input` element.\n */\n@Component({\n selector: 'sky-colorpicker',\n templateUrl: './colorpicker.component.html',\n styleUrls: ['./colorpicker.component.scss'],\n providers: [SkyColorpickerService],\n encapsulation: ViewEncapsulation.None,\n})\nexport class SkyColorpickerComponent implements OnInit, OnDestroy {\n /**\n * Specifies the name of the [Font Awesome 4.7](https://fontawesome.com/v4.7/icons/) icon to overlay on top of the picker. Do not specify the `fa fa-` classes.\n * @internal\n */\n @Input()\n public pickerButtonIcon?: string;\n\n /**\n * Specifies the type of icon to display. Specifying `fa` will display a Font Awesome icon, while specifying `skyux` will display an icon from the custom SKY UX icon font. Note that the custom SKY UX icon font is currently in beta.\n * @internal\n */\n @Input()\n public pickerButtonIconType?: string = 'fa';\n\n /**\n * Specifies an ARIA label for the colorpicker. This sets the colorpicker's `aria-label` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility)\n * when the colorpicker does not include a visible label. If the colorpicker includes a visible label, use `labelledBy` instead.\n * @default \"Select color value\"\n */\n @Input()\n public label: string;\n\n /**\n * Specifies the HTML element ID (without the leading `#`) of the element that labels the\n * colorpicker. This sets the colorpicker's `aria-labelledby` attribute\n * [to support accessibility](https://developer.blackbaud.com/skyux/components/checkbox#accessibility).\n * If the colorpicker does not include a visible label, use `label` instead.\n */\n @Input()\n public labelledBy: string;\n\n /**\n * Fires when users select a color in the colorpicker.\n */\n @Output()\n public selectedColorChanged = new EventEmitter<SkyColorpickerOutput>();\n\n /**\n * Fires when users select **Apply** in the colorpicker to apply a color.\n */\n @Output()\n public selectedColorApplied = new EventEmitter<SkyColorpickerResult>();\n\n /**\n * Provides an observable to send commands to the colorpicker. The commands should\n * respect the `SkyColorPickerMessage` type.\n */\n @Input()\n public messageStream = new Subject<SkyColorpickerMessage>();\n\n /**\n * Indicates whether to display a reset button to let users return to the default color.\n */\n @Input()\n public showResetButton = true;\n\n public set disabled(value: boolean) {\n this._disabled = value;\n this.changeDetector.markForCheck();\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public idIndex: number;\n public skyColorpickerHexId: string;\n public skyColorpickerRedId: string;\n public skyColorpickerGreenId: string;\n public skyColorpickerBlueId: string;\n public skyColorpickerAlphaId: string;\n public alphaChannel: string;\n public allowTransparency: boolean;\n public alphaSliderColor: string;\n public arrowTop: number;\n public format: number;\n public hexText: string;\n public hslaText: SkyColorpickerHsla;\n public hueSliderColor: string;\n public outputFormat: string;\n public presetColors: Array<string>;\n public returnFormat: string;\n public rgbaText: SkyColorpickerRgba;\n public selectedColor: SkyColorpickerOutput;\n public slider: SliderPosition;\n public iconColor: string;\n public initialColor: string;\n public lastAppliedColor: string;\n public isPickerVisible: boolean;\n\n public set backgroundColorForDisplay(value: string) {\n this._backgroundColorForDisplay = value;\n if (this.pickerButtonIcon) {\n this.iconColor = this.getAccessibleIconColor(this.selectedColor);\n }\n }\n\n public get backgroundColorForDisplay(): string {\n /* istanbul ignore next */\n return this._backgroundColorForDisplay || '#fff';\n }\n\n public colorpickerId: string;\n\n public isOpen: boolean = false;\n\n public isVisible: boolean = true;\n\n public triggerButtonId: string;\n\n @ViewChild('colorpickerTemplateRef', {\n read: TemplateRef,\n })\n private colorpickerTemplateRef: TemplateRef<any>;\n\n @ViewChild('triggerButtonRef', {\n read: ElementRef,\n })\n private triggerButtonRef: ElementRef;\n\n @ViewChild('colorpickerRef', {\n read: ElementRef,\n })\n private set colorpickerRef(value: ElementRef) {\n if (value) {\n this._colorpickerRef = value;\n this.destroyAffixer();\n\n this.removePickerEventListeners();\n this.pickerUnsubscribe = new Subject<void>();\n\n // Ensure the colorpicker has fully rendered before adding the affixer. Added to address a\n // race condition when running under production conditions.\n setTimeout(() => {\n this.createAffixer();\n this.isPickerVisible = true;\n\n this.coreAdapter.getFocusableChildrenAndApplyFocus(\n value,\n '.sky-colorpicker',\n false\n );\n this.changeDetector.markForCheck();\n });\n }\n }\n\n private get colorpickerRef(): ElementRef {\n return this._colorpickerRef;\n }\n\n private hsva: SkyColorpickerHsva;\n private sliderDimMax: SliderDimension;\n private ngUnsubscribe = new Subject();\n\n private affixer: SkyAffixer;\n\n private overlay: SkyOverlayInstance;\n\n private pickerUnsubscribe: Subject<void>;\n\n private _backgroundColorForDisplay: string;\n\n private _colorpickerRef: ElementRef;\n\n private _disabled: boolean = false;\n\n constructor(\n private affixService: SkyAffixService,\n private changeDetector: ChangeDetectorRef,\n private coreAdapter: SkyCoreAdapterService,\n private overlayService: SkyOverlayService,\n private service: SkyColorpickerService,\n @Optional() private themeSvc?: SkyThemeService\n ) {\n componentIdIndex++;\n\n this.idIndex = componentIdIndex;\n this.skyColorpickerRedId = 'sky-colorpicker-red-' + this.idIndex;\n this.skyColorpickerHexId = 'sky-colorpicker-hex-' + this.idIndex;\n this.skyColorpickerRedId = 'sky-colorpicker-red-' + this.idIndex;\n this.skyColorpickerGreenId = 'sky-colorpicker-green-' + this.idIndex;\n this.skyColorpickerBlueId = 'sky-colorpicker-blue-' + this.idIndex;\n this.skyColorpickerAlphaId = 'sky-colorpicker-alpha-' + this.idIndex;\n this.colorpickerId = `sky-colorpicker-${this.idIndex}`;\n this.triggerButtonId = `sky-colorpicker-button-${this.idIndex}`;\n }\n\n public setDialog(\n instance: any,\n elementRef: ElementRef,\n color: any,\n outputFormat: string,\n presetColors: Array<string>,\n alphaChannel: string,\n allowTransparency: boolean\n ): void {\n this.initialColor = color;\n this.outputFormat = outputFormat;\n this.presetColors = presetColors;\n this.alphaChannel = alphaChannel;\n this.allowTransparency = allowTransparency;\n\n if (this.outputFormat === 'rgba') {\n this.format = 1;\n } else if (this.outputFormat === 'hsla') {\n this.format = 2;\n } else {\n this.format = 0;\n }\n }\n\n public ngOnInit(): void {\n this.sliderDimMax = new SliderDimension(182, 270, 170, 182);\n this.slider = new SliderPosition(0, 0, 0, 0);\n this.messageStream\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((message: SkyColorpickerMessage) => {\n this.handleIncomingMessages(message);\n });\n\n this.addTriggerButtonEventListeners();\n\n /* istanbul ignore else */\n if (this.themeSvc) {\n this.themeSvc.settingsChange\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((themeSettings) => {\n /* istanbul ignore next */\n const themeName = themeSettings.currentSettings?.theme?.name;\n\n // Hue/alpha slider bars have different widths in Modern theme.\n /* istanbul ignore if */\n if (themeName === 'modern') {\n this.sliderDimMax = new SliderDimension(174, 270, 170, 174);\n } else {\n this.sliderDimMax = new SliderDimension(182, 270, 170, 182);\n }\n this.updateSlider();\n });\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n this.removePickerEventListeners();\n this.destroyAffixer();\n this.destroyOverlay();\n }\n\n public onTriggerButtonClick(): void {\n this.sendMessage(SkyColorpickerMessageType.Open);\n }\n\n public closePicker(): void {\n this.destroyAffixer();\n this.destroyOverlay();\n this.removePickerEventListeners();\n this.triggerButtonRef.nativeElement.focus();\n this.isOpen = false;\n }\n\n public onApplyColorClick(): void {\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n this.lastAppliedColor = this.selectedColor.rgbaText;\n this.updatePickerValues(this.lastAppliedColor);\n this.backgroundColorForDisplay = this.selectedColor.rgbaText;\n this.closePicker();\n }\n\n public onCancelClick(): void {\n // Revert picker values back to previous color.\n this.updatePickerValues(this.backgroundColorForDisplay);\n this.closePicker();\n }\n\n public onPresetClick(value: string): void {\n this.updatePickerValues(value);\n }\n\n public onResetClick(): void {\n this.sendMessage(SkyColorpickerMessageType.Reset);\n }\n\n public updatePickerValues(value: string): void {\n const hsva = this.getHsvaValue(value);\n if (hsva) {\n this.hsva = hsva;\n this.update();\n }\n }\n\n public set hue(change: SkyColorpickerChangeAxis) {\n this.hsva.hue = change.xCoordinate / change.maxRange;\n this.update();\n }\n\n public set red(change: SkyColorpickerChangeColor) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.red = change.colorValue / change.maxRange;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n\n public set green(change: SkyColorpickerChangeColor) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.green = change.colorValue / change.maxRange;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n\n public set blue(change: SkyColorpickerChangeColor) {\n let rgba = this.service.hsvaToRgba(this.hsva);\n rgba.blue = change.colorValue / change.maxRange;\n this.hsva = this.service.rgbaToHsva(rgba);\n this.update();\n }\n\n public set alphaAxis(change: SkyColorpickerChangeAxis) {\n this.hsva.alpha = change.xCoordinate / change.maxRange;\n this.update();\n }\n\n public set alphaColor(change: SkyColorpickerChangeColor) {\n this.hsva.alpha = change.colorValue / change.maxRange;\n this.update();\n }\n\n public set hex(change: SkyColorpickerChangeColor) {\n this.updatePickerValues(change.color);\n }\n\n public set saturationAndLightness(value: SkyColorpickerChangeAxis) {\n this.hsva.saturation = value.xCoordinate / value.xAxis;\n this.hsva.value = value.yCoordinate / value.yAxis;\n this.update();\n }\n\n public update(): void {\n let hsla: SkyColorpickerHsla = this.service.hsva2hsla(this.hsva);\n let dHsla: SkyColorpickerHsla = this.service.denormalizeHSLA(hsla);\n let rgba: SkyColorpickerRgba = this.service.hsvaToRgba(this.hsva);\n let dRgba: SkyColorpickerRgba = this.service.denormalizeRGBA(rgba);\n\n let hsva: SkyColorpickerHsva = {\n hue: this.hsva.hue,\n saturation: 1,\n value: 1,\n alpha: 1,\n };\n\n let hueRgba = this.service.denormalizeRGBA(this.service.hsvaToRgba(hsva));\n\n this.hslaText = dHsla;\n this.rgbaText = dRgba;\n this.hexText = this.service.hexText(dRgba, this.alphaChannel === 'hex8');\n\n this.alphaSliderColor = `rgba(${dRgba.red},${dRgba.green},${dRgba.blue},${dRgba.alpha})`;\n this.hueSliderColor = `rgba(${hueRgba.red},${hueRgba.green},${hueRgba.blue},${rgba.alpha})`;\n\n if (\n this.format === 0 &&\n this.hsva.alpha < 1 &&\n this.alphaChannel === 'hex6'\n ) {\n this.format++;\n }\n\n this.service.outputFormat(\n this.hsva,\n this.outputFormat,\n this.alphaChannel === 'hex8'\n );\n this.selectedColor = this.service.skyColorpickerOut(this.hsva);\n\n this.updateSlider();\n }\n\n private updateSlider(): void {\n if (this.hsva && this.sliderDimMax) {\n this.slider = new SliderPosition(\n this.hsva.hue * this.sliderDimMax.hue - 8,\n this.hsva.saturation * this.sliderDimMax.saturation - 8,\n (1 - this.hsva.value) * this.sliderDimMax.value - 8,\n this.hsva.alpha * this.sliderDimMax.alpha - 8\n );\n }\n }\n\n private openPicker(): void {\n this.isPickerVisible = false;\n this.removePickerEventListeners();\n this.destroyOverlay();\n this.createOverlay();\n this.isOpen = true;\n }\n\n private sendMessage(type: SkyColorpickerMessageType) {\n this.messageStream.next({ type });\n }\n\n private handleIncomingMessages(message: SkyColorpickerMessage) {\n /* tslint:disable-next-line:switch-default */\n switch (message.type) {\n case SkyColorpickerMessageType.Open:\n if (!this.isOpen) {\n this.openPicker();\n }\n break;\n\n case SkyColorpickerMessageType.Close:\n if (this.isOpen) {\n this.closePicker();\n }\n break;\n\n case SkyColorpickerMessageType.Reset:\n this.updatePickerValues(this.initialColor);\n this.backgroundColorForDisplay = this.initialColor;\n this.selectedColorChanged.emit(this.selectedColor);\n this.selectedColorApplied.emit({ color: this.selectedColor });\n break;\n\n case SkyColorpickerMessageType.ToggleResetButton:\n this.showResetButton = !this.showResetButton;\n break;\n }\n }\n\n private createAffixer(): void {\n const affixer = this.affixService.createAffixer(this.colorpickerRef);\n\n affixer.placementChange\n .pipe(takeUntil(this.pickerUnsubscribe))\n .subscribe((change) => {\n this.isPickerVisible = change.placement !== null;\n });\n\n affixer.affixTo(this.triggerButtonRef.nativeElement, {\n autoFitContext: SkyAffixAutoFitContext.Viewport,\n enableAutoFit: true,\n horizontalAlignment: 'left',\n isSticky: true,\n placement: 'below',\n });\n\n this.affixer = affixer;\n }\n\n private destroyAffixer(): void {\n /*istanbul ignore else*/\n if (this.affixer) {\n this.affixer.destroy();\n this.affixer = undefined;\n }\n }\n\n private createOverlay(): void {\n const overlay = this.overlayService.create({\n enableClose: false,\n enablePointerEvents: false,\n enableScroll: true,\n });\n\n overlay.attachTemplate(this.colorpickerTemplateRef);\n\n this.overlay = overlay;\n }\n\n private destroyOverlay(): void {\n /*istanbul ignore else*/\n if (this.overlay) {\n this.overlayService.close(this.overlay);\n this.overlay = undefined;\n }\n }\n\n private addTriggerButtonEventListeners(): void {\n fromEvent(window.document, 'keydown')\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((event: KeyboardEvent) => {\n const key = event.key?.toLowerCase();\n /* istanbul ignore else */\n if (key === 'escape') {\n this.sendMessage(SkyColorpickerMessageType.Close);\n }\n });\n }\n\n private removePickerEventListeners(): void {\n /* istanbul ignore else */\n if (this.pickerUnsubscribe) {\n this.pickerUnsubscribe.next();\n this.pickerUnsubscribe.complete();\n this.pickerUnsubscribe = undefined;\n }\n }\n\n private getHsvaValue(value: string): SkyColorpickerHsva {\n let hsva: SkyColorpickerHsva;\n\n if (this.alphaChannel === 'hex8') {\n hsva = this.service.stringToHsva(value, true);\n if (!hsva && !this.hsva) {\n hsva = this.service.stringToHsva(value, false);\n }\n } else {\n hsva = this.service.stringToHsva(value, false);\n }\n\n return hsva;\n }\n\n // http://www.w3.org/TR/AERT#color-contrast\n private getAccessibleIconColor(\n backgroundColor: SkyColorpickerOutput\n ): string {\n const rgb = backgroundColor.rgba;\n const brightness = Math.round(\n (rgb.red * 299 + rgb.green * 587 + rgb.blue * 114) / 1000\n );\n return brightness > 125 ? 'rgb(0, 0, 0)' : 'rgb(255, 255, 255)';\n }\n}\n","<div\n class=\"sky-input-group\"\n [ngClass]=\"{\n 'sky-colorpicker-hidden': !isVisible,\n 'sky-colorpicker-disabled': disabled\n }\"\n>\n <div [hidden]=\"true\">\n <ng-content></ng-content>\n </div>\n\n <button\n aria-haspopup=\"dialog\"\n class=\"sky-colorpicker-button\"\n type=\"button\"\n [attr.aria-controls]=\"isOpen ? colorpickerId : null\"\n [attr.aria-expanded]=\"isOpen\"\n [attr.aria-label]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [attr.aria-labelledby]=\"labelledBy\"\n [attr.id]=\"triggerButtonId\"\n [attr.title]=\"\n label ||\n (labelledBy\n ? null\n : ('skyux_colorpicker_dropdown_button' | skyLibResources))\n \"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-margin-inline-sm': 'modern'\n }\"\n [style.background-color]=\"backgroundColorForDisplay\"\n (click)=\"onTriggerButtonClick()\"\n #triggerButtonRef\n >\n <sky-icon\n *ngIf=\"pickerButtonIcon\"\n class=\"sky-colorpicker-button-icon\"\n [icon]=\"pickerButtonIcon\"\n [iconType]=\"pickerButtonIconType\"\n [size]=\"'1x'\"\n [style.color]=\"iconColor\"\n >\n </sky-icon>\n <ng-container *skyThemeIf=\"'modern'\">\n <sky-icon\n class=\"sky-colorpicker-button-modern-chevron\"\n icon=\"chevron-down\"\n iconType=\"skyux\"\n size=\"xs\"\n [ngClass]=\"{\n 'sky-colorpicker-button-modern-chevron-disabled': disabled\n }\"\n >\n </sky-icon>\n </ng-container>\n </button>\n\n <ng-template #colorpickerTemplateRef>\n <div\n class=\"sky-colorpicker-container\"\n role=\"dialog\"\n [attr.aria-labelledby]=\"triggerButtonId\"\n [attr.id]=\"colorpickerId\"\n [hidden]=\"!isPickerVisible\"\n [skyThemeClass]=\"{\n 'sky-shadow': 'default',\n 'sky-elevation-4': 'modern'\n }\"\n #colorpickerRef\n >\n <div class=\"sky-colorpicker\">\n <div\n class=\"saturation-lightness\"\n [color]=\"slider.saturation - slider.value\"\n [skyColorpickerSlider]\n [style.background-color]=\"hueSliderColor\"\n [xAxis]=\"1\"\n [yAxis]=\"1\"\n (newColorContrast)=\"saturationAndLightness = $event\"\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.saturation\"\n [style.top.px]=\"slider.value\"\n ></div>\n </div>\n\n <div class=\"box\">\n <div class=\"left\">\n <div class=\"selected-color-background sky-rounded-circle\"></div>\n <div\n class=\"selected-color sky-rounded-circle\"\n [style.background-color]=\"selectedColor?.rgbaText\"\n ></div>\n </div>\n <div class=\"right\">\n <div\n class=\"hue\"\n [skyColorpickerSlider]\n [xAxis]=\"1\"\n (newColorContrast)=\"hue = $event\"\n #hueSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.hue\"\n ></div>\n </div>\n <div\n *ngIf=\"this.allowTransparency\"\n class=\"alpha\"\n [skyColorpickerSlider]\n [style.background-color]=\"alphaSliderColor\"\n [xAxis]=\"1\"\n (newColorContrast)=\"alphaAxis = $event\"\n #alphaSlider\n >\n <div\n class=\"cursor sky-rounded-circle\"\n [style.left.px]=\"slider.alpha\"\n ></div>\n </div>\n </div>\n </div>\n\n <div class=\"rgba-text\">\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_hex' | skyLibResources\"\n [attr.for]=\"skyColorpickerHexId\"\n >\n {{ 'skyux_colorpicker_hex' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n pattern=\"^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$\"\n [attr.id]=\"skyColorpickerHexId\"\n [skyColorpickerText]\n [value]=\"hexText\"\n (newColorContrast)=\"hex = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"'skyux_colorpicker_aria_red' | skyLibResources\"\n [attr.for]=\"skyColorpickerRedId\"\n >\n {{ 'skyux_colorpicker_red' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerRedId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.red\"\n (newColorContrast)=\"red = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_green' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerGreenId\"\n >\n {{ 'skyux_colorpicker_green' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerGreenId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.green\"\n (newColorContrast)=\"green = $event\"\n />\n </sky-input-box>\n <sky-input-box>\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_blue' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerBlueId\"\n >\n {{ 'skyux_colorpicker_blue' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"255\"\n min=\"0\"\n pattern=\"[0-9]*\"\n type=\"number\"\n [attr.id]=\"skyColorpickerBlueId\"\n [maxRange]=\"255\"\n [skyColorpickerText]\n [value]=\"rgbaText?.blue\"\n (newColorContrast)=\"blue = $event\"\n />\n </sky-input-box>\n <sky-input-box *ngIf=\"this.allowTransparency\">\n <label\n class=\"sky-control-label\"\n [attr.aria-label]=\"\n 'skyux_colorpicker_aria_alpha' | skyLibResources\n \"\n [attr.for]=\"skyColorpickerAlphaId\"\n >\n {{ 'skyux_colorpicker_alpha' | skyLibResources }}\n </label>\n <input\n class=\"sky-form-control\"\n max=\"1\"\n min=\"0\"\n pattern=\"[0-9]+([\\.,][0-9]{1,2})?\"\n step=\"0.1\"\n type=\"number\"\n [attr.id]=\"skyColorpickerAlphaId\"\n [maxRange]=\"1\"\n [skyColorpickerText]\n [value]=\"rgbaText?.alpha\"\n (newColorContrast)=\"alphaColor = $event\"\n />\n </sky-input-box>\n </div>\n <div\n *ngIf=\"presetColors && presetColors.length\"\n class=\"sky-colorpicker-preset-color-area\"\n >\n <button\n *ngFor=\"let color of presetColors | slice: 0:12; let i = index\"\n type=\"button\"\n [attr.aria-label]=\"\n ('skyux_colorpicker_preset_color' | skyLibResources) + ' ' + color\n \"\n [skyThemeClass]=\"{\n 'sky-preset-color': 'default',\n 'sky-btn sky-btn-link': 'modern'\n }\"\n [style.backgroundColor]=\"color\"\n (click)=\"onPresetClick(color)\"\n ></button>\n </div>\n </div>\n\n <div\n class=\"sky-colorpicker-footer\"\n [skyThemeClass]=\"{\n 'sky-padding-even-large': 'default'\n }\"\n >\n <section class=\"sky-colorpicker-column\">\n <button\n class=\"sky-btn sky-btn-primary sky-btn-colorpicker-apply\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_apply' | skyLibResources\"\n [skyThemeClass]=\"{ 'sky-margin-inline-sm': 'modern' }\"\n (click)=\"onApplyColorClick()\"\n >\n {{ 'skyux_colorpicker_apply' | skyLibResources }}\n </button>\n <button\n class=\"sky-btn sky-btn-link sky-btn-colorpicker-close\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_close' | skyLibResources\"\n (click)=\"onCancelClick()\"\n >\n {{ 'skyux_colorpicker_close' | skyLibResources }}\n </button>\n </section>\n </div>\n </div>\n </ng-template>\n <span\n *ngIf=\"allowTransparency\"\n aria-hidden=\"true\"\n class=\"sky-colorpicker-checkered-background\"\n >\n </span>\n\n <button\n *ngIf=\"showResetButton\"\n type=\"button\"\n [attr.aria-label]=\"'skyux_colorpicker_reset' | skyLibResources\"\n [disabled]=\"disabled\"\n [ngClass]=\"{\n 'sky-colorpicker-reset-button-disabled': disabled\n }\"\n [skyThemeClass]=\"{\n 'sky-colorpicker-reset-button': 'default',\n 'sky-btn sky-btn-icon-borderless sky-colorpicker-reset-button-modern':\n 'modern'\n }\"\n (click)=\"onResetClick()\"\n >\n <sky-icon *skyThemeIf=\"'default'\" icon=\"times\" size=\"sm\"> </sky-icon>\n <sky-icon *skyThemeIf=\"'modern'\" icon=\"trash\" iconType=\"skyux\" size=\"lg\">\n </sky-icon>\n </button>\n</div>\n"]}
@@ -0,0 +1,61 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { SkyAffixModule, SkyOverlayModule } from '@skyux/core';
4
+ import { SkyInputBoxModule } from '@skyux/forms';
5
+ import { SkyI18nModule } from '@skyux/i18n';
6
+ import { SkyIconModule } from '@skyux/indicators';
7
+ import { SkyThemeModule } from '@skyux/theme';
8
+ import { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';
9
+ import { SkyColorpickerComponent } from './colorpicker.component';
10
+ import { SkyColorpickerInputDirective } from './colorpicker-input.directive';
11
+ import { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';
12
+ import { SkyColorpickerTextDirective } from './colorpicker-text.directive';
13
+ import * as i0 from "@angular/core";
14
+ export class SkyColorpickerModule {
15
+ }
16
+ SkyColorpickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ SkyColorpickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerModule, declarations: [SkyColorpickerComponent,
18
+ SkyColorpickerInputDirective,
19
+ SkyColorpickerTextDirective,
20
+ SkyColorpickerSliderDirective], imports: [CommonModule,
21
+ SkyAffixModule,
22
+ SkyColorpickerResourcesModule,
23
+ SkyI18nModule,
24
+ SkyIconModule,
25
+ SkyInputBoxModule,
26
+ SkyOverlayModule,
27
+ SkyThemeModule], exports: [SkyColorpickerComponent, SkyColorpickerInputDirective] });
28
+ SkyColorpickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerModule, imports: [[
29
+ CommonModule,
30
+ SkyAffixModule,
31
+ SkyColorpickerResourcesModule,
32
+ SkyI18nModule,
33
+ SkyIconModule,
34
+ SkyInputBoxModule,
35
+ SkyOverlayModule,
36
+ SkyThemeModule,
37
+ ]] });
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyColorpickerModule, decorators: [{
39
+ type: NgModule,
40
+ args: [{
41
+ declarations: [
42
+ SkyColorpickerComponent,
43
+ SkyColorpickerInputDirective,
44
+ SkyColorpickerTextDirective,
45
+ SkyColorpickerSliderDirective,
46
+ ],
47
+ imports: [
48
+ CommonModule,
49
+ SkyAffixModule,
50
+ SkyColorpickerResourcesModule,
51
+ SkyI18nModule,
52
+ SkyIconModule,
53
+ SkyInputBoxModule,
54
+ SkyOverlayModule,
55
+ SkyThemeModule,
56
+ ],
57
+ exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],
58
+ entryComponents: [SkyColorpickerComponent],
59
+ }]
60
+ }] });
61
+ //# sourceMappingURL=colorpicker.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colorpicker.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/colorpicker/src/lib/modules/colorpicker/colorpicker.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAE7E,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAE/E,OAAO,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;;AAsB3E,MAAM,OAAO,oBAAoB;;kHAApB,oBAAoB;mHAApB,oBAAoB,iBAlB7B,uBAAuB;QACvB,4BAA4B;QAC5B,2BAA2B;QAC3B,6BAA6B,aAG7B,YAAY;QACZ,cAAc;QACd,6BAA6B;QAC7B,aAAa;QACb,aAAa;QACb,iBAAiB;QACjB,gBAAgB;QAChB,cAAc,aAEN,uBAAuB,EAAE,4BAA4B;mHAGpD,oBAAoB,YAbtB;YACP,YAAY;YACZ,cAAc;YACd,6BAA6B;YAC7B,aAAa;YACb,aAAa;YACb,iBAAiB;YACjB,gBAAgB;YAChB,cAAc;SACf;4FAIU,oBAAoB;kBApBhC,QAAQ;mBAAC;oBACR,YAAY,EAAE;wBACZ,uBAAuB;wBACvB,4BAA4B;wBAC5B,2BAA2B;wBAC3B,6BAA6B;qBAC9B;oBACD,OAAO,EAAE;wBACP,YAAY;wBACZ,cAAc;wBACd,6BAA6B;wBAC7B,aAAa;wBACb,aAAa;wBACb,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;qBACf;oBACD,OAAO,EAAE,CAAC,uBAAuB,EAAE,4BAA4B,CAAC;oBAChE,eAAe,EAAE,CAAC,uBAAuB,CAAC;iBAC3C","sourcesContent":["import { CommonModule } from '@angular/common';\n\nimport { NgModule } from '@angular/core';\n\nimport { SkyAffixModule, SkyOverlayModule } from '@skyux/core';\n\nimport { SkyInputBoxModule } from '@skyux/forms';\n\nimport { SkyI18nModule } from '@skyux/i18n';\n\nimport { SkyIconModule } from '@skyux/indicators';\n\nimport { SkyThemeModule } from '@skyux/theme';\n\nimport { SkyColorpickerResourcesModule } from '../shared/sky-colorpicker-resources.module';\n\nimport { SkyColorpickerComponent } from './colorpicker.component';\n\nimport { SkyColorpickerInputDirective } from './colorpicker-input.directive';\n\nimport { SkyColorpickerSliderDirective } from './colorpicker-slider.directive';\n\nimport { SkyColorpickerTextDirective } from './colorpicker-text.directive';\n\n@NgModule({\n declarations: [\n SkyColorpickerComponent,\n SkyColorpickerInputDirective,\n SkyColorpickerTextDirective,\n SkyColorpickerSliderDirective,\n ],\n imports: [\n CommonModule,\n SkyAffixModule,\n SkyColorpickerResourcesModule,\n SkyI18nModule,\n SkyIconModule,\n SkyInputBoxModule,\n SkyOverlayModule,\n SkyThemeModule,\n ],\n exports: [SkyColorpickerComponent, SkyColorpickerInputDirective],\n entryComponents: [SkyColorpickerComponent],\n})\nexport class SkyColorpickerModule {}\n"]}