File manager - Edit - /home/c14075/dragmet-ural.ru/www/bitrix/js/landing/ui/field/color/dist/color_field.bundle.js.map
Back
{"version":3,"file":"color_field.bundle.js","sources":["../src/internal/is-rgb-string.js","../src/internal/is-hex.js","../src/internal/is-hsl-string.js","../src/internal/hex-to-rgb.js","../src/internal/rgb-to-hsl.js","../src/internal/hex-to-hsl.js","../src/internal/rgb-to-hex.js","../src/internal/hsl-to-rgb.js","../src/internal/hsl-to-hex.js","../src/internal/rgb-string-to-hsl.js","../src/internal/hsl-string-to-hsl.js","../src/internal/css-var.js","../src/types/color_value_options.js","../src/color_value.js","../src/processor/base_processor.js","../src/control/base_control/base_control.js","../src/control/hex/hex.js","../src/control/spectrum/spectrum.js","../src/layout/recent/recent.js","../src/control/colorpicker/colorpicker.js","../src/layout/primary/primary.js","../src/internal/regexp.js","../src/internal/is-gradient-string.js","../src/gradient_value.js","../src/layout/preset/types/preset-options.js","../src/layout/preset/generator.js","../src/layout/preset/preset.js","../src/layout/preset/preset_collection.js","../src/layout/reset/reset.js","../src/control/color_set/color_set.js","../src/control/opacity/opacity.js","../src/layout/tabs/tabs.js","../src/layout/zeroing/zeroing.js","../src/processor/color.js","../src/processor/color_hover.js","../src/control/gradient/gradient.js","../src/processor/bg_color.js","../src/internal/is-bg-image-string.js","../src/bg_image_value.js","../src/control/image/image.js","../src/internal/rgba-string-to-rgb-string.js","../src/processor/bg.js","../src/processor/border_color.js","../src/processor/border_color_hover.js","../src/processor/bg_color_hover.js","../src/processor/bg_color_after.js","../src/processor/bg_color_before.js","../src/processor/navbar_color.js","../src/processor/navbar_color_hover.js","../src/processor/navbar_color_fix_moment.js","../src/processor/navbar_color_fix_moment_hover.js","../src/processor/navbar_bg.js","../src/processor/navbar_bg_hover.js","../src/processor/border_color-top.js","../src/processor/fill_color.js","../src/processor/fill_color_second.js","../src/processor/button_color.js","../src/processor/navbar_collapse_bg.js","../src/color_field.js"],"sourcesContent":["export const matcher = /^rgba? ?\\((\\d{1,3})[, ]+(\\d{1,3})[, ]+(\\d{1,3})([, ]+([\\d\\.]{1,5}))?\\)$/i;\n\nexport default function isRgbString(rgbString: string): boolean\n{\n\treturn !!rgbString.match(matcher);\n}\n","export const matcherHex = /^#([\\da-f]{3}){1,2}$/i;\n\nexport default function isHex(hex: string)\n{\n\treturn !!hex.trim().match(matcherHex);\n}","export const matcherHsl = /^hsla?\\((\\d{1,3}), ?(\\d{1,3})%, ?(\\d{1,3})%(, ?([\\d .]+))?\\)/i;\n\nexport default function isHslString(hsla: string)\n{\n\treturn !!hsla.trim().match(matcherHsl);\n}","export default function hexToRgb(hex: string)\n{\n\tif (hex.length === 4)\n\t{\n\t\tconst r = parseInt(`0x${hex[1]}${hex[1]}`, 16);\n\t\tconst g = parseInt(`0x${hex[2]}${hex[2]}`, 16);\n\t\tconst b = parseInt(`0x${hex[3]}${hex[3]}`, 16);\n\n\t\treturn {r, g, b};\n\t}\n\n\tif (hex.length === 7)\n\t{\n\t\tconst r = parseInt(`0x${hex[1]}${hex[2]}`, 16);\n\t\tconst g = parseInt(`0x${hex[3]}${hex[4]}`, 16);\n\t\tconst b = parseInt(`0x${hex[5]}${hex[6]}`, 16);\n\n\t\treturn {r, g, b};\n\t}\n\n\treturn {r: 255, g: 255, b: 255};\n}","export default function rgbToHsla(\n\trgb: {r: number, g: number, b: number, a?: number}\n): {h: number, s: number, l: number, a: number}\n{\n\tconst r = rgb.r / 255;\n\tconst g = rgb.g / 255;\n\tconst b = rgb.b / 255;\n\n\tconst max = Math.max(r, g, b);\n\tconst min = Math.min(r, g, b);\n\tlet h, s, l = (max + min) / 2;\n\t// let l = h;\n\t// let s;\n\n\tif (max === min)\n\t{\n\t\th = s = 0;\n\t}\n\telse\n\t{\n\t\tconst d = max - min;\n\t\ts = l > 0.5\n\t\t\t? d / (2 - max - min)\n\t\t\t: d / (max + min);\n\n\t\tswitch (max)\n\t\t{\n\t\t\tcase r:\n\t\t\t\th = (g - b) / d + (g < b ? 6 : 0);\n\t\t\t\tbreak;\n\t\t\tcase g:\n\t\t\t\th = (b - r) / d + 2;\n\t\t\t\tbreak;\n\t\t\tcase b:\n\t\t\t\th = (r - g) / d + 4;\n\t\t\t\tbreak;\n\t\t}\n\n\t\th *= 0.6;\n\t}\n\n\treturn {\n\t\th: Math.round(h * 100),\n\t\ts: Math.round(s * 100),\n\t\tl: Math.round(l * 100),\n\t\ta: ('a' in rgb) ? rgb.a : 1,\n\t};\n}\n\n// \tconst v = Math.max(r, g, b);\n// \tconst diff = v - Math.min(r, g, b);\n// \tconst diffc = (c) => {\n// \t\treturn (v - c) / 6 / diff + 1 / 2;\n// \t};\n//\n// \tif (diff === 0)\n// \t{\n// \t\th = 0;\n// \t\ts = 0;\n// \t}\n// \telse\n// \t{\n// \t\ts = diff / v;\n// \t\trdif = diffc(r);\n// \t\tgdif = diffc(g);\n// \t\tbdif = diffc(b);\n//\n// \t\tif (r === v)\n// \t\t{\n// \t\t\th = bdif - gdif;\n// \t\t}\n// \t\telse if (g === v)\n// \t\t{\n// \t\t\th = (1 / 3) + rdif - bdif;\n// \t\t}\n// \t\telse if (b === v)\n// \t\t{\n// \t\t\th = (2 / 3) + gdif - rdif;\n// \t\t}\n//\n// \t\tif (h < 0)\n// \t\t{\n// \t\t\th += 1;\n// \t\t}\n// \t\telse if (h > 1)\n// \t\t{\n// \t\t\th -= 1;\n// \t\t}\n// \t}\n//\n// \treturn {\n// \t\th: h * 360,\n// \t\ts: s * 100,\n// \t\tl: v * 100,\n// \t\ta: rgb.a || 1,\n// \t};\n// }","import hexToRgb from './hex-to-rgb';\nimport rgbToHsla from './rgb-to-hsl';\n\nexport default function hexToHsl(hex: string): {h: number, s: number, l: number, a: number}\n{\n\tconst rgb = hexToRgb(hex.trim());\n\n\treturn rgbToHsla(rgb);\n}","export default function rgbToHex(rgb: {r: number, g: number, b: number}): string\n{\n\tlet r = rgb.r.toString(16);\n\tlet g = rgb.g.toString(16);\n\tlet b = rgb.b.toString(16);\n\n\tif (r.length === 1)\n\t{\n\t\tr = \"0\" + r;\n\t}\n\tif (g.length === 1)\n\t{\n\t\tg = \"0\" + g;\n\t}\n\tif (b.length === 1)\n\t{\n\t\tb = \"0\" + b;\n\t}\n\n\treturn \"#\" + r + g + b;\n}","export default function hslToRgb(hsl: {h: number, s: number, l: number}): {r: number, g: number, b: number}\n{\n\t// todo: a little not equal with reverce conversion :-/\n\t// todo: f.e. hsl(73.53.50) it 166,195,60 and #a5c33c,\n\t// todo: but in reverse #a5c33c => 165,195,60\n\t// todo: because we save ColorValue in hsl can be some differences\n\tconst h = hsl.h;\n\tconst s = hsl.s / 100;\n\tconst l = hsl.l / 100;\n\n\tlet c = (1 - Math.abs(2 * l - 1)) * s;\n\tlet x = c * (1 - Math.abs((h / 60) % 2 - 1));\n\tlet m = l - c / 2;\n\tlet r = 0;\n\tlet g = 0;\n\tlet b = 0;\n\n\tif (0 <= h && h < 60)\n\t{\n\t\tr = c;\n\t\tg = x;\n\t\tb = 0;\n\t}\n\telse if (60 <= h && h < 120)\n\t{\n\t\tr = x;\n\t\tg = c;\n\t\tb = 0;\n\t}\n\telse if (120 <= h && h < 180)\n\t{\n\t\tr = 0;\n\t\tg = c;\n\t\tb = x;\n\t}\n\telse if (180 <= h && h < 240)\n\t{\n\t\tr = 0;\n\t\tg = x;\n\t\tb = c;\n\t}\n\telse if (240 <= h && h < 300)\n\t{\n\t\tr = x;\n\t\tg = 0;\n\t\tb = c;\n\t}\n\telse if (300 <= h && h < 360)\n\t{\n\t\tr = c;\n\t\tg = 0;\n\t\tb = x;\n\t}\n\tr = Math.round((r + m) * 255);\n\tg = Math.round((g + m) * 255);\n\tb = Math.round((b + m) * 255);\n\n\treturn {r: r, g: g, b: b};\n}","import rgbToHex from './rgb-to-hex';\nimport hslToRgb from './hsl-to-rgb';\n\nexport default function hslToHex(hsl: {h: number, s: number, l: number}): string\n{\n\tconst rgb = hslToRgb(hsl);\n\n\treturn rgbToHex(rgb);\n}","import {Text} from 'main.core';\nimport rgbToHsla from '../internal/rgb-to-hsl';\nimport {matcher} from './is-rgb-string';\n\nexport default function rgbStringToHsla(rgbString: string): { h: number, s: number, l: number, a: number}\n{\n\tlet matches = rgbString.trim().match(matcher);\n\tif (matches.length > 0)\n\t{\n\t\treturn rgbToHsla({\n\t\t\tr: Text.toNumber(matches[1]),\n\t\t\tg: Text.toNumber(matches[2]),\n\t\t\tb: Text.toNumber(matches[3]),\n\t\t\ta: matches[5] ? Text.toNumber(matches[5]) : 1,\n\t\t});\n\t}\n}","import {Text} from 'main.core';\nimport {matcherHsl} from './is-hsl-string';\n\nexport default function hslStringToHsl(hslString: string): { h: number, s: number, l: number, a: number}\n{\n\tlet matches = hslString.trim().match(matcherHsl);\n\tif (matches && matches.length > 0)\n\t{\n\t\treturn {\n\t\t\th: Text.toNumber(matches[1]),\n\t\t\ts: Text.toNumber(matches[2]),\n\t\t\tl: Text.toNumber(matches[3]),\n\t\t\ta: matches[5] ? Text.toNumber(matches[5]) : 1,\n\t\t};\n\t}\n}","const matcher = /^(var\\()?((--[\\w\\d-]*?)(-opacity_([\\d_]+)?)?)\\)?$/i;\n\nexport function isCssVar(css: string): boolean\n{\n\treturn !!css.trim().match(matcher);\n}\n\ntype cssVar = {\n\tfull: string,\n\tname: string,\n\topacity: number,\n};\n\nexport function parseCssVar(css: string): ?cssVar\n{\n\tconst matches = css.trim().match(matcher);\n\tif (!!matches)\n\t{\n\t\tconst cssVar = {\n\t\t\tfull: matches[2],\n\t\t\tname: matches[3],\n\t\t};\n\n\t\tif (matches[3])\n\t\t{\n\t\t\tconst cssVarWithOpacity = '--primary-opacity-0_';\n\t\t\tconst cssVarWithOpacity0 = '--primary-opacity-0';\n\t\t\tif (matches[3].startsWith(cssVarWithOpacity0) && !matches[3].startsWith(cssVarWithOpacity))\n\t\t\t{\n\t\t\t\tcssVar.opacity = 0;\n\t\t\t}\n\t\t\tif (matches[3].startsWith(cssVarWithOpacity))\n\t\t\t{\n\t\t\t\tlet newOpacity = matches[3].substr(cssVarWithOpacity.length);\n\t\t\t\tif (newOpacity.length === 1 && newOpacity !== 0)\n\t\t\t\t{\n\t\t\t\t\tnewOpacity = newOpacity / 10;\n\t\t\t\t}\n\t\t\t\tif (newOpacity.length === 2)\n\t\t\t\t{\n\t\t\t\t\tnewOpacity = newOpacity / 100;\n\t\t\t\t}\n\t\t\t\tcssVar.opacity = newOpacity;\n\t\t\t}\n\t\t}\n\t\tif(matches[5])\n\t\t{\n\t\t\tcssVar.opacity = +parseFloat(matches[5].replace('_', '.')).toFixed(1);\n\t\t}\n\n\t\treturn cssVar;\n\t}\n\n\treturn null;\n}\n","import ColorValue from \"../color_value\";\n\nexport type ColorValueOptions = {\n\th?: number,\n\ts?: number,\n\tl?: number,\n\ta?: number,\n};\nexport const defaultColorValueOptions: ColorValueOptions = {\n\th: 205,\n\ts: 1,\n\tl: 50,\n\ta: 1,\n};\n\nexport type GradientValueOptions = {\n\tfrom: ColorValue,\n\tto: ColorValue,\n\tangle: number,\n\ttype: 'linear' | 'radial'\n};\n\nexport type BgImageValueOptions = {\n\turl: ?string,\n\turl2x: ?string,\n\tfileId: ?number,\n\tfileId2x: ?number,\n\tsize: 'cover' | 'auto',\n\tattachment: 'scroll' | 'fixed',\n\toverlay: ?ColorValue,\n};\nexport const defaultBgImageSize = 'cover';\nexport const defaultBgImageAttachment = 'scroll';\nexport const defaultOverlay = null;\nexport const defaultBgImageValueOptions: BgImageValueOptions = {\n\turl: null,\n\tsize: defaultBgImageSize,\n\tattachment: defaultBgImageAttachment,\n\toverlay: defaultOverlay,\n};\n","import {Dom, Type} from 'main.core';\n\nimport isRgbString from './internal/is-rgb-string';\nimport isHex from './internal/is-hex';\nimport isHslString from './internal/is-hsl-string';\nimport hexToHsl from './internal/hex-to-hsl';\nimport hslToHex from './internal/hsl-to-hex';\nimport rgbStringToHsla from './internal/rgb-string-to-hsl';\nimport hslStringToHsl from './internal/hsl-string-to-hsl';\nimport {isCssVar, parseCssVar} from \"./internal/css-var\";\nimport {ColorValueOptions, defaultColorValueOptions} from \"./types/color_value_options\";\nimport {IColorValue} from './types/i_color_value';\n\nexport default class ColorValue implements IColorValue\n{\n\tvalue: ColorValueOptions;\n\t/**\n\t * For preserve differences between hsl->rgb and rgb->hsl conversions we can save hex\n\t * @type {?string}\n\t */\n\thex: ?string;\n\t/**\n\t * if set css variable value - save them in '--var-name' format\n\t * @type {?string}\n\t */\n\tcssVar: ?string;\n\n\tconstructor(value: ColorValueOptions | ColorValue | string)\n\t{\n\t\tthis.value = defaultColorValueOptions;\n\t\tthis.hex = null;\n\t\tthis.cssVar = null;\n\t\tthis.setValue(value);\n\t}\n\n\tgetName(): string\n\t{\n\t\tif (this.hex)\n\t\t{\n\t\t\treturn this.getHex() + '_' + this.getOpacity();\n\t\t}\n\t\tconst {h, s, l} = this.getHsl();\n\t\treturn `${h}-${s}-${l}-${this.getOpacity()}`;\n\t}\n\n\tsetValue(value: ColorValueOptions | ColorValue | string): ColorValue\n\t{\n\t\tif (Type.isObject(value))\n\t\t{\n\t\t\tif (value instanceof ColorValue)\n\t\t\t{\n\t\t\t\tthis.value = value.getHsla();\n\t\t\t\tthis.cssVar = value.getCssVar();\n\t\t\t\tthis.hex = value.getHexOriginal();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.value = {...this.value, ...value};\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isString(value))\n\t\t{\n\t\t\tif (isHslString(value))\n\t\t\t{\n\t\t\t\tthis.value = hslStringToHsl(value);\n\t\t\t}\n\t\t\telse if (isHex(value))\n\t\t\t{\n\t\t\t\tthis.value = {...hexToHsl(value), a: defaultColorValueOptions.a};\n\t\t\t\tthis.hex = value;\n\t\t\t}\n\t\t\telse if (isRgbString(value))\n\t\t\t{\n\t\t\t\tthis.value = rgbStringToHsla(value);\n\t\t\t}\n\t\t\telse if (isCssVar(value))\n\t\t\t{\n\t\t\t\tconst cssVar = parseCssVar(value);\n\t\t\t\tconst cssPrimaryVarName = '--primary';\n\t\t\t\tif (cssVar !== null)\n\t\t\t\t{\n\t\t\t\t\tthis.cssVar = cssVar.name;\n\t\t\t\t\tif ('opacity' in cssVar)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.cssVar = cssPrimaryVarName;\n\t\t\t\t\t\tthis.setValue(Dom.style(document.documentElement, this.cssVar));\n\t\t\t\t\t\tthis.setOpacity(cssVar.opacity);\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.setValue(Dom.style(document.documentElement, this.cssVar));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.value.h = Math.round(this.value.h);\n\t\tthis.value.s = Math.round(this.value.s);\n\t\tthis.value.l = Math.round(this.value.l);\n\t\tthis.value.a = this.value.a.toFixed(2);\n\t\tconst offsetFromCorrectValue = Math.round((this.value.a * 100) % 5);\n\t\tif (offsetFromCorrectValue < 3)\n\t\t{\n\t\t\tthis.value.a = (this.value.a * 100 - offsetFromCorrectValue) / 100;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.value.a = (this.value.a * 100 - offsetFromCorrectValue + 5) / 100;\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetOpacity(opacity: number): ColorValue\n\t{\n\t\tthis.setValue({a: opacity});\n\n\t\treturn this;\n\t}\n\n\tlighten(percent: number): ColorValue\n\t{\n\t\tthis.value.l = Math.min(this.value.l + percent, 100);\n\t\tthis.hex = null;\n\n\t\treturn this;\n\t}\n\n\tdarken(percent: number): ColorValue\n\t{\n\t\tthis.value.l = Math.max(this.value.l - percent, 0);\n\t\tthis.hex = null;\n\n\t\treturn this;\n\t}\n\n\tsaturate(percent: number): ColorValue\n\t{\n\t\tthis.value.s = Math.min(this.value.s + percent, 100);\n\t\tthis.hex = null;\n\n\t\treturn this;\n\t}\n\n\tdesaturate(percent: number): ColorValue\n\t{\n\t\tthis.value.s = Math.max(this.value.s - percent, 0);\n\t\tthis.hex = null;\n\n\t\treturn this;\n\t}\n\n\tadjustHue(degree: number): ColorValue\n\t{\n\t\tthis.value.h = (this.value.h + degree) % 360;\n\n\t\treturn this;\n\t}\n\n\tgetHsl(): {h: number, s: number, l: number}\n\t{\n\t\treturn {\n\t\t\th: this.value.h,\n\t\t\ts: this.value.s,\n\t\t\tl: this.value.l,\n\t\t};\n\t}\n\n\tgetHsla(): ColorValueOptions\n\t{\n\t\treturn {\n\t\t\th: this.value.h,\n\t\t\ts: this.value.s,\n\t\t\tl: this.value.l,\n\t\t\ta: this.value.a,\n\t\t};\n\t}\n\n\t/**\n\t * Return original hex-string or convert value to hex (w.o. alpha)\n\t * @returns {string}\n\t */\n\tgetHex(): string\n\t{\n\t\treturn this.hex || hslToHex(this.value);\n\t}\n\n\t/**\n\t * Return hex only if value created from hex-string\n\t */\n\tgetHexOriginal(): string\n\t{\n\t\treturn this.hex;\n\t}\n\n\tgetOpacity(): number\n\t{\n\t\treturn this.value.a ?? defaultColorValueOptions.a;\n\t}\n\n\tgetCssVar(): ?string\n\t{\n\t\treturn this.cssVar;\n\t}\n\n\t/**\n\t * Get style string for set inline css var.\n\t * Set hsla value or primary css var with opacity in format --var-name-opacity_12_3\n\t * @returns {string}\n\t */\n\tgetStyleString(): string\n\t{\n\t\tif (this.cssVar === null)\n\t\t{\n\t\t\tif (this.hex && this.getOpacity() === defaultColorValueOptions.a)\n\t\t\t{\n\t\t\t\treturn this.hex\n\t\t\t}\n\n\t\t\tconst {h, s, l, a} = this.value;\n\n\t\t\treturn `hsla(${h}, ${s}%, ${l}%, ${a})`;\n\t\t}\n\t\telse\n\t\t{\n\t\t\tlet fullCssVar = this.cssVar;\n\t\t\tif (this.value.a !== defaultColorValueOptions.a)\n\t\t\t{\n\t\t\t\tfullCssVar = fullCssVar + '-opacity-' + String(this.value.a).replace('.', '_');\n\t\t\t}\n\t\t\treturn `var(${fullCssVar})`;\n\t\t}\n\t}\n\n\tgetStyleStringForOpacity(): string\n\t{\n\t\tconst {h, s, l} = this.value;\n\n\t\treturn `linear-gradient(to right, hsla(${h}, ${s}%, ${l}%, 0) 0%, hsla(${h}, ${s}%, ${l}%, 1) 100%)`;\n\t}\n\n\tstatic compare(color1: ColorValue, color2: ColorValue): boolean\n\t{\n\t\treturn color1.getHsla().h === color2.getHsla().h\n\t\t\t&& color1.getHsla().s === color2.getHsla().s\n\t\t\t&& color1.getHsla().l === color2.getHsla().l\n\t\t\t&& color1.getHsla().a === color2.getHsla().a\n\t\t\t&& color1.cssVar === color2.cssVar;\n\t}\n\n\tstatic getMedian(color1: ColorValue, color2: ColorValue): ColorValue\n\t{\n\t\treturn new ColorValue({\n\t\t\th: (color1.getHsla().h + color2.getHsla().h) / 2,\n\t\t\ts: (color1.getHsla().s + color2.getHsla().s) / 2,\n\t\t\tl: (color1.getHsla().l + color2.getHsla().l) / 2,\n\t\t\ta: (color1.getHsla().a + color2.getHsla().a) / 2,\n\t\t});\n\t}\n\n\t/**\n\t * Special formula for contrast. Not only color invert!\n\t * @returns {string}\n\t */\n\tgetContrast(): ColorValue\n\t{\n\t\tlet k = 60;\n\t\t// math h range to 0-2pi radian and add modifier by sinus\n\t\tlet rad = this.getHsl().h * Math.PI / 180;\n\t\tk += (Math.sin(rad) * 10) + 5;\t// 10 & 5 is approximate coefficients\n\t\t// lighten by started light\n\t\tlet deltaL = k - (45 * this.getHsl().l / 100);\n\n\t\treturn new ColorValue(this.value).setValue({l: (this.getHsl().l + deltaL) % 100});\n\t}\n\n\t/**\n\t * Special formula for lighten, good for dark and light colors\n\t */\n\tgetLighten(): ColorValue\n\t{\n\t\tlet {h, s, l} = this.getHsl();\n\n\t\tif (s > 0)\n\t\t{\n\t\t\ts += (l - 50) / 100 * 60;\n\t\t\ts = Math.min(100, Math.max(0, l));\n\t\t}\n\n\t\tl += 10 + 20 * l / 100;\n\t\tl = Math.min(100, l);\n\n\t\treturn new ColorValue({h, s, l});\n\t}\n}\n","import {Tag, Cache, Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport ColorValue from '../color_value';\nimport {IColorValue} from '../types/i_color_value';\n\nexport default class BaseProcessor extends EventEmitter\n{\n\tvariableName: string | [string];\n\tclassName: string;\n\tproperty: string | [string];\n\toptions: [];\n\tpseudoClass: ?string;\n\n\tconstructor(options: {})\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.property = 'color';\n\t\tthis.options = options;\n\t\tthis.pseudoClass = null;\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BaseProcessor');\n\t}\n\n\tgetProperty(): [string]\n\t{\n\t\treturn Type.isArray(this.property)\n\t\t\t? this.property\n\t\t\t: [this.property];\n\t}\n\n\tgetVariableName(): [string]\n\t{\n\t\treturn Type.isArray(this.variableName)\n\t\t\t? this.variableName\n\t\t\t: [this.variableName];\n\t}\n\n\tisNullValue(value: ?string): boolean\n\t{\n\t\treturn Type.isNull(value);\n\t}\n\n\tgetNullValue(): IColorValue\n\t{\n\t\treturn new ColorValue;\n\t}\n\n\tgetPseudoClass(): ?string\n\t{\n\t\treturn this.pseudoClass;\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn this.buildLayout();\n\t\t});\n\t}\n\n\tbuildLayout(): HTMLElement\n\t{\n\t\treturn Tag.render`<div>Base processor</div>`;\n\t}\n\n\tgetClassName(): [string]\n\t{\n\t\treturn [this.className];\n\t}\n\n\tgetValue(): ?IColorValue\n\t{\n\t}\n\n\tgetStyle(): {string: ?string}\n\t{\n\t\tif (Type.isNull(this.getValue()))\n\t\t{\n\t\t\treturn {[this.getVariableName()]: null};\n\t\t}\n\n\t\treturn {[this.getVariableName()]: this.getValue().getStyleString()};\n\t}\n\n\t/**\n\t * Set value by new format\n\t * @param value {string: string}\n\t */\n\tsetProcessorValue(value: {string: string})\n\t{\n\t\t// Just get last css variable\n\t\tconst processorProperty = this.getVariableName()[this.getVariableName().length - 1];\n\t\tthis.cache.delete('value');\n\t\tthis.setValue(value[processorProperty]);\n\t}\n\n\t/**\n\t * Set old-type value by computedStyle\n\t * @param value {string: string} | null\n\t */\n\tsetDefaultValue(value: {string: string} | null)\n\t{\n\t\tif (!Type.isNull(value))\n\t\t{\n\t\t\tconst inlineProperty = this.getProperty()[this.getProperty().length - 1];\n\t\t\tif (inlineProperty in value)\n\t\t\t{\n\t\t\t\tthis.setValue(value[inlineProperty]);\n\t\t\t\tthis.cache.delete('value');\n\t\t\t\tthis.unsetActive();\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\t\tthis.setValue(null);\n\t\tthis.cache.set('value', null);\n\t}\n\n\tsetValue(value: string | {string: string} | null)\n\t{\n\t}\n\n\tonReset()\n\t{\n\t\tthis.emit('onReset');\n\t}\n\n\tunsetActive()\n\t{\n\t}\n\n\tonChange()\n\t{\n\t\tthis.cache.delete('value');\n\t\tthis.emit('onChange');\n\t}\n\n\tdefineActiveControl(items, currentNode)\n\t{\n\t}\n\n\tsetActiveControl(controlName)\n\t{\n\t}\n\n\tprepareProcessorValue(processorValue, defaultValue, data)\n\t{\n\t\treturn processorValue;\n\t}\n}","import {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Cache, Dom, Tag} from 'main.core';\n\nimport ColorValue from \"../../color_value\";\nimport {IColorValue} from '../../types/i_color_value';\n\nimport './css/base_control.css';\n\nexport default class BaseControl extends EventEmitter\n{\n\tstatic ACTIVE_CLASS: string = 'active';\n\n\tconstructor(options: ?{})\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn this.buildLayout();\n\t\t});\n\t}\n\n\tbuildLayout(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-base-control\">\n\t\t\t\tBase control\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetValue(): ?IColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn new ColorValue();\n\t\t});\n\t}\n\n\tisNeedSetValue(value): boolean\n\t{\n\t\treturn value !== this.getValue();\n\t}\n\n\tsetValue(value)\n\t{\n\t\tthis.cache.set('value', value);\n\t}\n\n\tonChange(event: ?BaseEvent)\n\t{\n\t\tthis.cache.delete('value');\n\t\tthis.emit('onChange', {color: this.getValue()});\n\t}\n\n\tsetActive(): void\n\t{\n\t\tDom.addClass(this.getLayout(), BaseControl.ACTIVE_CLASS);\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tDom.removeClass(this.getLayout(), BaseControl.ACTIVE_CLASS);\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn Dom.hasClass(this.getLayout(), BaseControl.ACTIVE_CLASS);\n\t}\n}\n","import {Dom, Event, Runtime, Tag} from 'main.core';\nimport isHex from '../../internal/is-hex';\nimport ColorValue from \"../../color_value\";\n\nimport './css/hex.css';\nimport BaseControl from \"../base_control/base_control\";\nimport {BaseEvent} from 'main.core.events';\nimport {PageObject} from 'landing.pageobject';\n\nexport default class Hex extends BaseControl\n{\n\tstatic +DEFAULT_TEXT: string = '#HEX';\n\tstatic +DEFAULT_COLOR: string = '#000000';\n\tstatic +DEFAULT_BG: string = '#eeeeee';\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Hex');\n\t\tthis.previewMode = false;\n\n\t\tthis.onInput = Runtime.debounce(this.onInput.bind(this), 300);\n\t\tthis.onButtonClick = this.onButtonClick.bind(this);\n\t}\n\n\tsetPreviewMode(preview: boolean)\n\t{\n\t\tthis.previewMode = !!preview;\n\t}\n\n\tbuildLayout(): HTMLElement\n\t{\n\t\tif (!this.previewMode)\n\t\t{\n\t\t\t// todo: add Enter click handler\n\t\t\tEvent.bind(this.getInput(), 'input', this.onInput);\n\t\t\tEvent.bind(this.getButton(), 'click', this.onButtonClick);\n\t\t}\n\n\t\tthis.adjustColors(Hex.DEFAULT_COLOR, Hex.DEFAULT_BG);\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-hex\">\n\t\t\t\t${this.getInput()}\n\t\t\t\t${this.getButton()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('input', () => {\n\t\t\treturn this.previewMode\n\t\t\t\t? Tag.render`<div class=\"landing-ui-field-color-hex-preview\">${Hex.DEFAULT_TEXT}</div>`\n\t\t\t\t: Tag.render`<input type=\"text\" name=\"hexInput\" value=\"${Hex.DEFAULT_TEXT}\" class=\"landing-ui-field-color-hex-input\">`;\n\t\t});\n\t}\n\n\tgetButton(): SVGElement\n\t{\n\t\treturn this.cache.remember('editButton', () => {\n\t\t\treturn this.previewMode\n\t\t\t\t? Tag.render`\n\t\t\t\t\t<svg class=\"landing-ui-field-color-hex-preview-btn\" width=\"9\" height=\"9\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M7.108 0l1.588 1.604L2.486 7.8.896 6.194 7.108 0zM.006 8.49a.166.166 0 00.041.158.161.161 0 00.16.042l1.774-.478L.484 6.715.006 8.49z\"\n\t\t\t\t\t\t\tfill=\"#525C69\"\n\t\t\t\t\t\t\tfill-rule=\"evenodd\"/>\n\t\t\t\t\t</svg>`\n\t\t\t\t: Tag.render`\n\t\t\t\t\t<svg class=\"landing-ui-field-color-hex-preview-btn\" width=\"12\" height=\"9\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t\t\t\t\t<path\n\t\t\t\t\t\t\td=\"M4.27 8.551L.763 5.304 2.2 3.902l2.07 1.846L9.836.533l1.439 1.402z\"\n\t\t\t\t\t\t\tfill=\"#525C69\"\n\t\t\t\t\t\t\tfill-rule=\"evenodd\"/>\n\t\t\t\t\t</svg>`;\n\t\t});\n\t}\n\n\tonInput(): void\n\t{\n\t\tlet value = this.getInput().value.replace(/[^\\da-f]/gi, '');\n\t\tvalue = value.substring(0, 6);\n\t\tthis.getInput().value = '#' + value.toLowerCase();\n\n\t\tthis.onChange();\n\t}\n\n\tonButtonClick(): void\n\t{\n\t\tthis.onChange();\n\t\tthis.emit('onButtonClick', {color: this.getValue()});\n\t}\n\n\tonChange(event: ?BaseEvent)\n\t{\n\t\tconst color = (this.getInput().value.length === 7 && isHex(this.getInput().value))\n\t\t\t? new ColorValue(this.getInput().value)\n\t\t\t: null;\n\t\tthis.setValue(color);\n\n\t\tthis.cache.delete('value');\n\t\tthis.emit('onChange', {color: color});\n\t}\n\n\tadjustColors(textColor: string, bgColor: string)\n\t{\n\t\tDom.style(this.getInput(), 'background-color', bgColor);\n\t\tDom.style(this.getInput(), 'color', textColor);\n\t\tDom.style(this.getButton().querySelector('path'), 'fill', textColor);\n\t}\n\n\tfocus(): void\n\t{\n\t\tif (!this.previewMode)\n\t\t{\n\t\t\tif (this.getValue() === null)\n\t\t\t{\n\t\t\t\tthis.getInput().value = '#';\n\t\t\t}\n\t\t\tthis.getInput().focus();\n\t\t}\n\t}\n\n\tunFocus(): void\n\t{\n\t\tif (!this.previewMode)\n\t\t{\n\t\t\tthis.getInput().blur();\n\t\t}\n\t}\n\n\tgetValue(): ?ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn (this.getInput().value === Hex.DEFAULT_TEXT)\n\t\t\t\t? null\n\t\t\t\t: new ColorValue(this.getInput().value);\n\t\t});\n\t}\n\n\tsetValue(value: ?ColorValue)\n\t{\n\t\t// todo: set checking in always controls?\n\t\tif (this.isNeedSetValue(value))\n\t\t{\n\t\t\tsuper.setValue(value);\n\n\t\t\tif (value !== null)\n\t\t\t{\n\t\t\t\tthis.adjustColors(value.getContrast().getHex(), value.getHex());\n\t\t\t\tthis.setActive();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.adjustColors(Hex.DEFAULT_COLOR, Hex.DEFAULT_BG);\n\t\t\t\tthis.unsetActive();\n\t\t\t}\n\n\t\t\tif (this.previewMode)\n\t\t\t{\n\t\t\t\tthis.getInput().innerText = (value !== null) ? value.getHex() : Hex.DEFAULT_TEXT;\n\t\t\t}\n\t\t\telse if (PageObject.getRootWindow().document.activeElement !== this.getInput())\n\t\t\t{\n\t\t\t\tthis.getInput().value = (value !== null) ? value.getHex() : Hex.DEFAULT_TEXT;\n\t\t\t}\n\t\t}\n\t}\n\n\tsetActive(): void\n\t{\n\t\tDom.addClass(this.getInput(), Hex.ACTIVE_CLASS);\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tDom.removeClass(this.getInput(), Hex.ACTIVE_CLASS);\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn Dom.hasClass(this.getInput(), Hex.ACTIVE_CLASS);\n\t}\n}\n","import {BaseEvent} from 'main.core.events';\nimport {Dom, Event, Tag, Text} from 'main.core';\n\nimport ColorValue from \"../../color_value\";\nimport './css/spectrum.css';\nimport BaseControl from \"../base_control/base_control\";\nimport {PageObject} from 'landing.pageobject';\n\nexport default class Spectrum extends BaseControl\n{\n\tstatic DEFAULT_SATURATION: number = 100;\n\tstatic HUE_RANGE: number = 375;\n\tstatic HUE_RANGE_GRAY_THRESHOLD: number = 360;\n\tstatic HUE_RANGE_GRAY_MIDDLE: number = 367;\n\tstatic HIDE_CLASS: string = 'hidden';\n\n\t// todo: debug, del method, change calls, change css\n\tstatic getDefaultSaturation()\n\t{\n\t\tconst global = window.top.document.location.saturation;\n\t\tconst urlParam = (new URL(window.top.document.location)).searchParams.get('saturation');\n\t\tconst saturation = global || urlParam || Spectrum.DEFAULT_SATURATION;\n\n\t\twindow.top.document.body.style.setProperty('--saturation', saturation + '%');\n\n\t\treturn parseInt(saturation);\n\t}\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Spectrum');\n\n\t\tthis.onPickerDragStart = this.onPickerDragStart.bind(this);\n\t\tthis.onPickerDragMove = this.onPickerDragMove.bind(this);\n\t\tthis.onPickerDragEnd = this.onPickerDragEnd.bind(this);\n\t\tthis.onScroll = this.onScroll.bind(this);\n\n\t\tthis.document = PageObject.getRootWindow().document;\n\t\tthis.scrollContext = options.contentRoot;\n\n\t\tEvent.bind(this.getLayout(), 'mousedown', this.onPickerDragStart);\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-spectrum\">\n\t\t\t\t${this.getPicker()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetPicker(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('picker', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-color-spectrum-picker\"></div>`;\n\t\t});\n\t}\n\n\tgetPickerPos(): {x: number, y: number}\n\t{\n\t\treturn {\n\t\t\tx: Text.toNumber(Dom.style(this.getPicker(), 'left')),\n\t\t\ty: Text.toNumber(Dom.style(this.getPicker(), 'top')),\n\t\t};\n\t}\n\n\tonPickerDragStart(event: MouseEvent)\n\t{\n\t\tif (event.ctrlKey || event.metaKey || event.button)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tEvent.bind(this.scrollContext, 'scroll', this.onScroll);\n\t\tEvent.bind(this.document, 'mousemove', this.onPickerDragMove);\n\t\tEvent.bind(this.document, 'mouseup', this.onPickerDragEnd);\n\n\t\tDom.addClass(this.document.body, 'landing-ui-field-color-draggable');\n\t\tthis.onScroll();\n\t\tthis.showPicker();\n\t\tthis.onPickerDragMove(event);\n\t}\n\n\tonPickerDragMove(event: MouseEvent)\n\t{\n\t\tif (event.target === this.getPicker())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis.setPickerPos(event.pageX, event.pageY);\n\t\tthis.onChange();\n\t}\n\n\tonPickerDragEnd()\n\t{\n\t\tEvent.unbind(this.scrollContext, 'scroll', this.onScroll);\n\t\tEvent.unbind(this.document, 'mousemove', this.onPickerDragMove);\n\t\tEvent.unbind(this.document, 'mouseup', this.onPickerDragEnd);\n\n\t\tDom.removeClass(this.document.body, 'landing-ui-field-color-draggable');\n\t}\n\n\tonScroll()\n\t{\n\t\tthis.cache.delete('layoutSize');\n\t}\n\n\tgetLayoutRect(): {}\n\t{\n\t\treturn this.cache.remember('layoutSize', () => {\n\t\t\tconst layoutRect = this.getLayout().getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\twidth: layoutRect.width,\n\t\t\t\theight: layoutRect.height,\n\t\t\t\ttop: layoutRect.top,\n\t\t\t\tleft: layoutRect.left,\n\t\t\t};\n\t\t});\n\t}\n\n\t/**\n\t * Set picker by absolut page coords\n\t * @param x\n\t * @param y\n\t */\n\tsetPickerPos(x: number, y: number)\n\t{\n\t\tconst {width, height, top, left} = this.getLayoutRect();\n\n\t\tlet leftToSet = Math.min(Math.max((x - left), 0), width);\n\t\tleftToSet = (leftToSet > width / Spectrum.HUE_RANGE * Spectrum.HUE_RANGE_GRAY_THRESHOLD)\n\t\t\t? width / Spectrum.HUE_RANGE * Spectrum.HUE_RANGE_GRAY_MIDDLE\n\t\t\t: leftToSet\n\t\t;\n\n\t\tDom.style(this.getPicker(), {\n\t\t\tleft: `${leftToSet}px`,\n\t\t\ttop: `${Math.min(Math.max((y - top), 0), height)}px`,\n\t\t});\n\t}\n\n\tgetValue(): ?ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tif (Dom.hasClass(this.getPicker(), Spectrum.HIDE_CLASS))\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst layoutWidth = this.getLayout().getBoundingClientRect().width;\n\t\t\tconst h = (this.getPickerPos().x / layoutWidth) * Spectrum.HUE_RANGE;\n\t\t\tconst layoutHeight = this.getLayout().getBoundingClientRect().height;\n\t\t\tconst l = (1 - this.getPickerPos().y / layoutHeight) * 100;\n\n\t\t\tif (isNaN(h) || isNaN(l))\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn new ColorValue({\n\t\t\t\th: Math.min(h, Spectrum.HUE_RANGE_GRAY_THRESHOLD),\n\t\t\t\ts: (h >= Spectrum.HUE_RANGE_GRAY_THRESHOLD) ? 0 : Spectrum.getDefaultSaturation(),\n\t\t\t\tl: l,\n\t\t\t});\n\t\t});\n\t}\n\n\tsetValue(value: ?ColorValue)\n\t{\n\t\tsuper.setValue(value);\n\n\t\tif ((value !== null) && Spectrum.isSpectrumValue(value))\n\t\t{\n\t\t\t// in first set value we can't match bounding client rect (layout not render). Then, use percents\n\t\t\tconst {h, s, l} = value.getHsl();\n\n\t\t\tconst left = (s === 0)\n\t\t\t\t? Spectrum.HUE_RANGE_GRAY_MIDDLE / Spectrum.HUE_RANGE * 100\n\t\t\t\t: h / Spectrum.HUE_RANGE * 100;\n\t\t\tDom.style(this.getPicker(), 'left', `${left}%`);\n\n\t\t\tconst top = 100 - l;\n\t\t\tDom.style(this.getPicker(), 'top', `${top}%`);\n\n\t\t\tthis.showPicker();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.hidePicker();\n\t\t}\n\t}\n\n\thidePicker()\n\t{\n\t\tDom.addClass(this.getPicker(), Spectrum.HIDE_CLASS);\n\t}\n\n\tshowPicker()\n\t{\n\t\tDom.removeClass(this.getPicker(), Spectrum.HIDE_CLASS);\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn (this.getValue() !== null) && Spectrum.isSpectrumValue(this.getValue());\n\t}\n\n\tstatic isSpectrumValue(value: ColorValue): boolean\n\t{\n\t\treturn (value !== null)\n\t\t\t&& (\n\t\t\t\tvalue.getHsl().s === Spectrum.getDefaultSaturation()\n\t\t\t\t|| value.getHsl().s === 0\n\t\t\t);\n\t}\n}\n","import {Cache, Event, Tag, Dom, Type} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\n\nimport {Backend} from 'landing.backend';\n\nimport isHex from '../../internal/is-hex';\nimport './css/recent.css';\n\nexport default class Recent extends EventEmitter\n{\n\tstatic +USER_OPTION_NAME = 'color_field_recent_colors';\n\tstatic +MAX_ITEMS = 6;\n\n\tstatic items: [] = [];\n\tstatic itemsLoaded: boolean = false;\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Recent');\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\tthis.initItems();\n\n\t\treturn this.getLayoutContainer();\n\t}\n\n\tgetLayoutContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-color-recent\"></div>`;\n\t\t});\n\t}\n\n\tinitItems()\n\t{\n\t\tif (Recent.itemsLoaded)\n\t\t{\n\t\t\tthis.buildItemsLayout();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tBackend.getInstance()\n\t\t\t\t.action(\"Utils::getUserOption\", {name: Recent.USER_OPTION_NAME})\n\t\t\t\t.then(result => {\n\t\t\t\t\tif (result && Type.isString(result.items))\n\t\t\t\t\t{\n\t\t\t\t\t\tRecent.items = [];\n\t\t\t\t\t\tresult.items.split(',').forEach(item => {\n\t\t\t\t\t\t\tif (isHex((item)) && Recent.items.length < Recent.MAX_ITEMS)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tRecent.items.push(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\tRecent.itemsLoaded = true;\n\n\t\t\t\t\t\tthis.buildItemsLayout();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t// todo: what if ajax error?\n\t\t}\n\t}\n\n\tbuildItemsLayout(): Recent\n\t{\n\t\tDom.clean(this.getLayoutContainer());\n\t\tRecent.items.forEach(item => {\n\t\t\tif (isHex(item))\n\t\t\t{\n\t\t\t\tlet itemLayout = Tag.render`<div \n\t\t\t\t\tclass=\"landing-ui-field-color-recent-item\" \n\t\t\t\t\tstyle=\"background:${item}\"\n\t\t\t\t\tdata-value=\"${item}\"\n\t\t\t\t></div>`;\n\t\t\t\tEvent.bind(itemLayout, 'click', () => this.onItemClick(event));\n\t\t\t\tDom.append(itemLayout, this.getLayoutContainer());\n\t\t\t}\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tonItemClick(event: MouseEvent)\n\t{\n\t\tthis.emit('onChange', {hex: event.currentTarget.dataset.value});\n\t}\n\n\taddItem(hex: string): Recent\n\t{\n\t\tif (isHex(hex))\n\t\t{\n\t\t\tlet pos = Recent.items.indexOf(hex);\n\t\t\tif (pos !== -1)\n\t\t\t{\n\t\t\t\tRecent.items.splice(pos, 1);\n\t\t\t}\n\t\t\tRecent.items.unshift(hex);\n\t\t\tif (Recent.items.length > Recent.MAX_ITEMS)\n\t\t\t{\n\t\t\t\tRecent.items.splice(Recent.MAX_ITEMS);\n\t\t\t}\n\n\t\t\tthis.buildItemsLayout();\n\t\t\tthis.saveItems();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsaveItems(): Recent\n\t{\n\t\tif (Recent.items.length > 0)\n\t\t{\n\t\t\tBX.userOptions.save('landing', Recent.USER_OPTION_NAME, 'items', Recent.items);\n\t\t}\n\n\t\treturn this;\n\t}\n}","import {Event, Tag, Text, Loc} from 'main.core';\nimport {Popup, PopupManager} from 'main.popup';\nimport {BaseEvent} from \"main.core.events\";\n\nimport Hex from '../hex/hex';\nimport ColorValue from \"../../color_value\";\nimport BaseControl from \"../base_control/base_control\";\nimport Spectrum from \"../spectrum/spectrum\";\nimport Recent from '../../layout/recent/recent';\n\nimport './css/colorpicker.css';\n\nexport default class Colorpicker extends BaseControl\n{\n\tpopupId: string;\n\tpopupTargetContainer: ?HTMLElement;\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Colorpicker');\n\t\tthis.popupId = 'colorpicker_popup_' + Text.getRandom();\n\t\tthis.popupTargetContainer = options.contentRoot;\n\n\t\tthis.hexPreview = new Hex();\n\t\tthis.hexPreview.setPreviewMode(true);\n\t\tEvent.bind(this.hexPreview.getLayout(), 'click', this.onPopupOpenClick.bind(this));\n\n\t\t// popup\n\t\tthis.hex = new Hex();\n\t\tthis.hex.subscribe('onChange', this.onHexChange.bind(this));\n\t\tthis.hex.subscribe('onButtonClick', this.onSelectClick.bind(this));\n\n\t\tthis.spectrum = new Spectrum(options);\n\t\tthis.spectrum.subscribe('onChange', this.onSpectrumChange.bind(this));\n\n\t\tthis.recent = new Recent();\n\t\tthis.recent.subscribe('onChange', this.onRecentChange.bind(this));\n\n\t\tEvent.bind(this.getCancelButton(), 'click', this.onCancelClick.bind(this));\n\t\tEvent.bind(this.getSelectButton(), 'click', this.onSelectClick.bind(this));\n\t\t// end popup\n\n\t\tthis.previously = this.getValue();\n\t}\n\n\tonSelectClick(event: ?BaseEvent)\n\t{\n\t\tconst value = (event instanceof BaseEvent) ? event.getData().color : this.getValue();\n\t\tif (value !== null)\n\t\t{\n\t\t\tthis.recent.addItem(this.getValue().getHex());\n\t\t}\n\t\tthis.getPopup().close();\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-colorpicker\">\n\t\t\t\t${this.hexPreview.getLayout()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetPopupContent(): HTMLDivElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-popup-container\">\n\t\t\t\t<div class=\"landing-ui-field-color-popup-head\">\n\t\t\t\t\t${this.recent.getLayout()}\n\t\t\t\t\t${this.hex.getLayout()}\n\t\t\t\t</div>\n\t\t\t\t${this.spectrum.getLayout()}\n\t\t\t\t<div class=\"landing-ui-field-color-popup-footer\">\n\t\t\t\t\t${this.getSelectButton()}\n\t\t\t\t\t${this.getCancelButton()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetSelectButton(): HTMLButtonElement\n\t{\n\t\treturn this.cache.remember('selectButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button class=\"ui-btn ui-btn-xs ui-btn-primary\">\n\t\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-BUTTON_SELECT')}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetCancelButton(): HTMLButtonElement\n\t{\n\t\treturn this.cache.remember('cancelButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<button class=\"ui-btn ui-btn-xs ui-btn-light-border\">\n\t\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-BUTTON_CANCEL')}\n\t\t\t\t</button>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHexPreviewObject(): Hex\n\t{\n\t\treturn this.hexPreview;\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\treturn this.cache.remember('popup', () => {\n\t\t\treturn PopupManager.create({\n\t\t\t\tid: this.popupId,\n\t\t\t\tclassName: 'landing-ui-field-color-spectrum-popup',\n\t\t\t\tautoHide: true,\n\t\t\t\tbindElement: this.hexPreview.getLayout(),\n\t\t\t\tbindOptions: {\n\t\t\t\t\tforceTop: true,\n\t\t\t\t\tforceLeft: true,\n\t\t\t\t},\n\t\t\t\tpadding: 0,\n\t\t\t\tcontentPadding: 14,\n\t\t\t\twidth: 260,\n\t\t\t\toffsetTop: -37,\n\t\t\t\toffsetLeft: -180,\n\t\t\t\tcontent: this.getPopupContent(),\n\t\t\t\tcloseByEsc: true,\n\t\t\t\ttargetContainer: this.popupTargetContainer,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetValue(): ?ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn this.spectrum.getValue();\n\t\t});\n\t}\n\n\tonHexChange(event: BaseEvent)\n\t{\n\t\tthis.setValue(event.getData().color);\n\t\tthis.onChange(event);\n\t}\n\n\tonSpectrumChange(event: BaseEvent)\n\t{\n\t\tthis.hex.unFocus();\n\t\tthis.setValue(event.getData().color);\n\t\tthis.onChange(event);\n\t}\n\n\tonRecentChange(event: BaseEvent)\n\t{\n\t\tconst recentColor = new ColorValue(event.getData().hex);\n\t\tthis.setValue(recentColor);\n\t\tthis.onChange(new BaseEvent({data: {color: recentColor}}));\n\t}\n\n\tonCancelClick()\n\t{\n\t\tthis.setValue(this.previously);\n\t\tthis.getPopup().close();\n\t\tthis.onChange(new BaseEvent({data: {color: this.getValue()}}));\n\t}\n\n\tonPopupOpenClick()\n\t{\n\t\tthis.recent.buildItemsLayout();\n\t\tthis.previously = this.getValue();\n\t\tthis.getPopup().show();\n\t\tif (this.getPopup().isShown())\n\t\t{\n\t\t\tthis.hex.focus();\n\t\t}\n\t}\n\n\tsetValue(value: ?ColorValue)\n\t{\n\t\tif (this.isNeedSetValue(value))\n\t\t{\n\t\t\tsuper.setValue(value);\n\n\t\t\tthis.spectrum.setValue(value);\n\t\t\tthis.hex.setValue(value);\n\t\t\tthis.hexPreview.setValue(value);\n\t\t}\n\t\tthis.setActivity(value);\n\t}\n\n\tsetActivity(value: ?ColorValue)\n\t{\n\t\tif (value !== null)\n\t\t{\n\t\t\tif (this.spectrum.isActive())\n\t\t\t{\n\t\t\t\tthis.hex.unsetActive();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.hex.setActive();\n\t\t\t}\n\t\t\tthis.hexPreview.setActive();\n\t\t}\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tthis.hex.unsetActive();\n\t\tthis.hexPreview.unsetActive();\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn this.hex.isActive() || this.hexPreview.isActive();\n\t}\n}\n","import {EventEmitter} from 'main.core.events';\nimport {Cache, Tag, Event, Dom, Loc} from 'main.core';\n\nimport ColorValue from \"../../color_value\";\n\nimport 'ui.fonts.opensans';\nimport './css/primary.css';\n\nexport default class Primary extends EventEmitter\n{\n\tstatic ACTIVE_CLASS: string = 'active';\n\tstatic CSS_VAR: string = '--primary';\n\n\t// todo: layout or control?\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Primary');\n\t\tEvent.bind(this.getLayout(), 'click', () => this.onClick());\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-primary\">\n\t\t\t\t\t<i class=\"landing-ui-field-color-primary-preview\"></i>\n\t\t\t\t\t<span class=\"landing-ui-field-color-primary-text\">\n\t\t\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-PRIMARY_TITLE')}\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetValue(): ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn new ColorValue(Primary.CSS_VAR);\n\t\t});\n\t}\n\n\tonClick()\n\t{\n\t\tthis.setActive();\n\t\tthis.emit('onChange', {color: this.getValue()});\n\t}\n\n\tsetActive()\n\t{\n\t\tDom.addClass(this.getLayout(), Primary.ACTIVE_CLASS);\n\t}\n\n\tunsetActive()\n\t{\n\t\tDom.removeClass(this.getLayout(), Primary.ACTIVE_CLASS);\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn Dom.hasClass(this.getLayout(), Primary.ACTIVE_CLASS);\n\t}\n\n\tisPrimaryValue(value: ColorValue): boolean\n\t{\n\t\treturn (value !== null) && (this.getValue().getCssVar() === value.getCssVar());\n\t}\n}\n","export function regexpWoStartEnd(regexp: RegExp): RegExp\n{\n\treturn new RegExp(regexpToString(regexp));\n}\n\nexport function regexpToString(regexp: RegExp): string\n{\n\treturn regexp.source.replace(/(^\\^)|(\\$$)/g, '');\n}","import {matcherHex} from \"./is-hex\";\nimport {regexpToString} from \"./regexp\";\n\nexport const matcherGradient = /^(linear|radial)-gradient\\(.*\\)$/i;\nexport const matcherGradientAngle = /^(linear|radial)-gradient\\(.*?((\\d)+deg).*?\\)$/ig;\nconst hexMatcher = regexpToString(matcherHex);\nexport const matcherGradientColors = new RegExp(\n\t'((rgba|hsla)?\\\\([\\\\d% .,]+\\\\)|transparent|' + hexMatcher + ')+', 'ig'\n);\n// todo: whooooouuuu, is so not-good\n\n// todo: add hex greaident match\n\n// todo: for tests\n// \"linear-gradient(45deg, rgb(71, 155, 255) 0%, rgb(0, 207, 78) 100%)\"\n// \"linear-gradient(45deg, #123321 0%, #543asdbd 100%)\"\n// \"linear-gradient(rgb(71, 155, 255) 0%, rgb(0, 207, 78) 100%)\"\n// \"radial-gradient(circle farthest-side, rgb(34, 148, 215), rgb(39, 82, 150))\"\n\nexport default function isGradientString(rgbString: string): boolean\n{\n\treturn !!rgbString.trim().match(matcherGradient);\n}","import {Type, Text} from 'main.core';\n\nimport {GradientValueOptions, defaultColorValueOptions} from \"./types/color_value_options\";\nimport ColorValue from \"./color_value\";\nimport {IColorValue} from './types/i_color_value';\nimport Primary from './layout/primary/primary';\n\nimport isGradientString, {\n\tmatcherGradient,\n\tmatcherGradientAngle,\n\tmatcherGradientColors,\n} from './internal/is-gradient-string';\n\nexport default class GradientValue implements IColorValue\n{\n\tstatic TYPE_RADIAL = 'radial';\n\tstatic TYPE_LINEAR = 'linear';\n\tstatic DEFAULT_ANGLE = 180;\n\tstatic DEFAULT_TYPE = 'linear';\n\n\tvalue: GradientValueOptions;\n\n\tconstructor(value: GradientValueOptions | GradientValue | string)\n\t{\n\t\tthis.value = {\n\t\t\tfrom: new ColorValue('#ffffff'),\n\t\t\tto: new ColorValue(Primary.CSS_VAR),\n\t\t\tangle: GradientValue.DEFAULT_ANGLE,\n\t\t\ttype: GradientValue.DEFAULT_TYPE,\n\t\t};\n\t\tthis.setValue(value);\n\t}\n\n\tgetName(): string\n\t{\n\t\treturn this.value.from.getName() + '_' + this.value.to.getName() + '_' + this.getAngle() + '_' + this.getType();\n\t}\n\n\t// todo: parse grad string?\n\tsetValue(value: GradientValueOptions | GradientValue | string): GradientValue\n\t{\n\t\tif (Type.isObject(value))\n\t\t{\n\t\t\tif (value instanceof GradientValue)\n\t\t\t{\n\t\t\t\tthis.value.from = new ColorValue(value.getFrom());\n\t\t\t\tthis.value.to = new ColorValue(value.getTo());\n\t\t\t\tthis.value.angle = value.getAngle();\n\t\t\t\tthis.value.type = value.getType();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif ('from' in value)\n\t\t\t\t{\n\t\t\t\t\tthis.value.from = new ColorValue(value.from);\n\t\t\t\t}\n\t\t\t\tif ('to' in value)\n\t\t\t\t{\n\t\t\t\t\tthis.value.to = new ColorValue(value.to);\n\t\t\t\t}\n\t\t\t\tif ('angle' in value)\n\t\t\t\t{\n\t\t\t\t\tthis.value.angle = Text.toNumber(value.angle);\n\t\t\t\t}\n\t\t\t\tif ('type' in value)\n\t\t\t\t{\n\t\t\t\t\tthis.value.type = value.type;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\telse if (Type.isString(value) && isGradientString(value))\n\t\t{\n\t\t\tthis.parseGradientString(value);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tsetOpacity(opacity: number): GradientValue\n\t{\n\t\tthis.value.from.setOpacity(opacity);\n\t\tthis.value.to.setOpacity(opacity);\n\n\t\treturn this;\n\t}\n\n\tparseGradientString(value: string): viod\n\t{\n\t\tconst typeMatches = value.trim().match(matcherGradient);\n\t\tif (!!typeMatches)\n\t\t{\n\t\t\tthis.setValue({type: typeMatches[1]});\n\t\t}\n\n\t\tconst angleMatches = value.trim().match(matcherGradientAngle);\n\t\tif (!!angleMatches)\n\t\t{\n\t\t\tthis.setValue({angle: angleMatches[2]});\n\t\t}\n\n\n\t\tconst colorMatches = value.trim().match(matcherGradientColors);\n\t\tif (colorMatches && colorMatches.length > 0)\n\t\t{\n\t\t\tthis.setValue({from: new ColorValue(colorMatches[0])});\n\t\t\tthis.setValue({to: new ColorValue(colorMatches[colorMatches.length - 1])});\n\t\t}\n\t}\n\n\tgetFrom(): ColorValue\n\t{\n\t\treturn this.value.from;\n\t}\n\n\tgetTo(): ColorValue\n\t{\n\t\treturn this.value.to;\n\t}\n\n\tgetAngle(): number\n\t{\n\t\treturn this.value.angle;\n\t}\n\n\tsetAngle(angle: number)\n\t{\n\t\tif (Type.isNumber(angle))\n\t\t{\n\t\t\tthis.value.angle = Math.min(Math.max(angle, 0), 360);\n\t\t}\n\t\treturn this;\n\t}\n\n\tgetType(): string\n\t{\n\t\treturn this.value.type;\n\t}\n\n\tsetType(type: string)\n\t{\n\t\tif (type === GradientValue.TYPE_RADIAL || type === GradientValue.TYPE_LINEAR)\n\t\t{\n\t\t\tthis.value.type = type;\n\t\t}\n\t\treturn this;\n\t}\n\n\tgetOpacity(): number\n\t{\n\t\treturn (this.value.from.getOpacity() + this.value.to.getOpacity()) / 2 ?? defaultColorValueOptions.a;\n\t}\n\n\tgetStyleString(): string\n\t{\n\t\tconst angle = this.value.angle;\n\t\tconst type = this.value.type;\n\t\tconst fromString = this.value.from.getStyleString();\n\t\tconst toString = this.value.to.getStyleString();\n\n\t\treturn type === 'linear'\n\t\t\t? `linear-gradient(${angle}deg, ${fromString} 0%, ${toString} 100%)`\n\t\t\t: `radial-gradient(circle farthest-side at 50% 50%, ${fromString} 0%, ${toString} 100%)`;\n\t}\n\n\tgetStyleStringForOpacity(): string\n\t{\n\t\treturn `radial-gradient(at top left, ${this.value.from.getHex()}, transparent)`\n\t\t\t+ `, radial-gradient(at bottom left, ${this.value.to.getHex()}, transparent)`\n\t}\n\n\tstatic compare(value1: GradientValue, value2: GradientValue, full:boolean = true): boolean\n\t{\n\t\tconst base = (\n\t\t\t\tColorValue.compare(value1.getFrom(), value2.getFrom())\n\t\t\t\t&& ColorValue.compare(value1.getTo(), value2.getTo())\n\t\t\t) || (\n\t\t\t\tColorValue.compare(value1.getTo(), value2.getFrom())\n\t\t\t\t&& ColorValue.compare(value1.getFrom(), value2.getTo())\n\t\t\t);\n\t\tconst ext = full\n\t\t\t? (value1.getAngle() === value2.getAngle() && value1.getType() === value2.getType())\n\t\t\t: true;\n\n\t\treturn base && ext;\n\t}\n}\n","import ColorValue from '../../../color_value';\nimport GradientValue from '../../../gradient_value';\n\nexport type PresetOptions = {\n\tid?: string,\n\ttype?: 'color' | 'gradient',\n\titems: [ColorValue | GradientValue],\n};\n\nexport const defaultType = 'color';\nexport const gradientType = 'gradient';","import {Cache, Dom} from 'main.core';\nimport ColorValue from '../../color_value';\nimport GradientValue from '../../gradient_value';\nimport {PresetOptions, gradientType} from './types/preset-options';\nimport hexToHsl from '../../internal/hex-to-hsl';\n\nexport default class Generator\n{\n\tstatic BITRIX_COLOR: string = '#2fc6f6';\n\n\tstatic cache = new Cache.MemoryCache();\n\tstatic defaultPresets: [] = [\n\t\t{\n\t\t\tid: 'agency',\n\t\t\titems: [\n\t\t\t\t'#ff6366', '#40191a', '#803233', '#bf4b4d', '#e65a5c', '#ffc1c2',\n\t\t\t\t'#363643', '#57dca3', '#ee76ba', '#ffa864', '#eaeaec', '#fadbdc',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'accounting',\n\t\t\titems: [\n\t\t\t\t'#a5c33c', '#384215', '#6f8228', '#8fa834', '#b0cf40', '#dae6ae',\n\t\t\t\t'#4c4c4c', '#5d84e6', '#cd506b', '#fe6466', '#dfdfdf', '#e9f0cf',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'app',\n\t\t\titems: [\n\t\t\t\t'#4fd2c2', '#1f524c', '#379187', '#46b8aa', '#54dece', '#c8f1ec',\n\t\t\t\t'#6639b6', '#e81c62', '#9a69ca', '#6279d8', '#ffc337', '#e9faf8',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'architecture',\n\t\t\titems: [\n\t\t\t\t'#c94645', '#4a1919', '#8a2f2f', '#b03c3c', '#d64949', '#eec3c3',\n\t\t\t\t'#363643', '#446d90', '#a13773', '#c98145', '#eaeaec', '#f9e8e7',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'business',\n\t\t\titems: [\n\t\t\t\t'#3949a0', '#232c61', '#313e87', '#3e4fad', '#556ced', '#d8d7dc',\n\t\t\t\t'#14122c', '#1d1937', '#a03949', '#2f295a', '#c87014', '#f4f4f5',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'charity',\n\t\t\titems: [\n\t\t\t\t'#f5f219', '#f58419', '#f5cc19', '#a8e32a', '#f9f76a', '#fcfbb6',\n\t\t\t\t'#000000', '#262e37', '#74797f', '#e569b1', '#edeef0', '#fefedf',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'construction',\n\t\t\titems: [\n\t\t\t\t'#f7b70b', '#382a02', '#785905', '#b88907', '#dea509', '#fdf1d1',\n\t\t\t\t'#111111', '#a3a3a3', '#f7410b', '#f70b4b', '#d6dde9', '#fef9ea',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'consulting',\n\t\t\titems: [\n\t\t\t\t'#21a79b', '#38afa5', '#14665f', '#1c8c83', '#30f2e2', '#a9ddd9',\n\t\t\t\t'#ec4672', '#58d400', '#f0ac00', '#2d6faf', '#2da721', '#e6f5f4',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'corporate',\n\t\t\titems: [\n\t\t\t\t'#6ab8ee', '#31556e', '#4e86ad', '#5fa3d4', '#70c1fa', '#d2e9f8',\n\t\t\t\t'#36e2c0', '#ffaa3c', '#ee6a76', '#ffa468', '#5feb99', '#ebf4fb',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'courses',\n\t\t\titems: [\n\t\t\t\t'#6bda95', '#2c593d', '#4b9969', '#5ebf83', '#70e69d', '#c2f0d3',\n\t\t\t\t'#31556e', '#ff947d', '#738ed3', '#f791ab', '#ffb67d', '#e2f8eb',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'event',\n\t\t\titems: [\n\t\t\t\t'#f73859', '#380d14', '#781c2b', '#b82a42', '#de334f', '#fdbbc6',\n\t\t\t\t'#151726', '#ffb553', '#30d59b', '#b265e0', '#edeef0', '#ffeaed',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'gym',\n\t\t\titems: [\n\t\t\t\t'#6b7de0', '#2f3661', '#4d5aa1', '#5f6fc7', '#7284ed', '#e4e8fa',\n\t\t\t\t'#333333', '#ffd367', '#a37fe8', '#e06b7d', '#6dc1e0', '#f4f6fd',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'lawyer',\n\t\t\titems: [\n\t\t\t\t'#e74c3c', '#69231b', '#a8382c', '#cf4536', '#f55240', '#f9d0cb',\n\t\t\t\t'#4e4353', '#5a505e', '#e7863c', '#38a27f', '#e2e1e3', '#fdeeec',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'photography',\n\t\t\titems: [\n\t\t\t\t'#f7a700', '#382600', '#785200', '#b87d00', '#de9800', '#fde8ba',\n\t\t\t\t'#333333', '#0b5aa0', '#e93d18', '#06c4ed', '#3672a8', '#fff6e3',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'restaurant',\n\t\t\titems: [\n\t\t\t\t'#e6125d', '#660829', '#a60d43', '#cc1052', '#f21361', '#facfde',\n\t\t\t\t'#0eb88e', '#00946f', '#e04292', '#9b12e6', '#bfde00', '#fef2f6',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'shipping',\n\t\t\titems: [\n\t\t\t\t'#ff0000', '#400000', '#800000', '#bf0000', '#e60000', '#ffb4b4',\n\t\t\t\t'#333333', '#ff822a', '#d63986', '#00ac6b', '#ffb800', '#fff3f3',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'spa',\n\t\t\titems: [\n\t\t\t\t'#9dba04', '#313b01', '#667a02', '#86a103', '#a6c704', '#e4ecb9',\n\t\t\t\t'#ba7c04', '#cf54bb', '#049dba', '#1d7094', '#eead2f', '#f2f6dd',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'travel',\n\t\t\titems: [\n\t\t\t\t'#ee4136', '#6e1f19', '#ad3128', '#d43c31', '#fa4639', '#fef1f0',\n\t\t\t\t'#31353e', '#3e434d', '#ee8036', '#428abc', '#eaebec', '#c3c4c7',\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tid: 'wedding',\n\t\t\titems: [\n\t\t\t\t'#d65779', '#572431', '#963e55', '#bd4d6b', '#e35d81', '#f7dfe5',\n\t\t\t\t'#af58a7', '#6bc34b', '#ec8c60', '#50a098', '#57b9d6', '#fdf4f6',\n\t\t\t],\n\t\t},\n\t];\n\n\tstatic getDefaultPresets(): PresetOptions[]\n\t{\n\t\treturn Generator.cache.remember('default', () => {\n\t\t\tconst presets = [];\n\t\t\tGenerator.defaultPresets.forEach(preset => {\n\t\t\t\tpresets.push({\n\t\t\t\t\tid: preset.id,\n\t\t\t\t\ttype: 'color',\n\t\t\t\t\titems: preset.items.map(item => new ColorValue(hexToHsl(item))),\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn presets;\n\t\t});\n\t}\n\n\tstatic getPrimaryColorPreset(): PresetOptions\n\t{\n\t\treturn this.cache.remember('primary', () => {\n\t\t\tconst preset = {\n\t\t\t\tid: 'defaultPrimary',\n\t\t\t\titems: [],\n\t\t\t};\n\t\t\tconst primary = new ColorValue(Dom.style(document.documentElement, '--primary').trim());\n\t\t\tpreset.items.push(new ColorValue(primary));\n\n\t\t\tif (primary.getHsl().s <= 10)\n\t\t\t{\n\t\t\t\tconst lBeforeCount = (primary.getHsl().l > 50)\n\t\t\t\t\t? Math.ceil(primary.getHsl().l / 100 * 5)\n\t\t\t\t\t: Math.floor(primary.getHsl().l / 100 * 5);\n\t\t\t\tconst lAfterCount = 5 - lBeforeCount;\n\t\t\t\tconst deltaLBefore = primary.getHsl().l / (lBeforeCount + 1);\n\t\t\t\tconst deltaLAfter = (100 - primary.getHsl().l) / (lAfterCount + 1);\n\t\t\t\tfor (let i = 1; i <= lBeforeCount; i++)\n\t\t\t\t{\n\t\t\t\t\tpreset.items.push(new ColorValue(primary).darken(deltaLBefore * i));\n\t\t\t\t}\n\t\t\t\tfor (let ii = 1; ii <= lAfterCount; ii++)\n\t\t\t\t{\n\t\t\t\t\tpreset.items.push(new ColorValue(primary).lighten(deltaLAfter * ii));\n\t\t\t\t}\n\n\t\t\t\tconst deltaBitrixL = 15;\n\t\t\t\tconst deltaBitrixS = 15;\n\t\t\t\tconst bitrixColor = new ColorValue(Generator.BITRIX_COLOR);\n\t\t\t\tpreset.items[6] = new ColorValue(bitrixColor);\n\n\t\t\t\tpreset.items[7] = new ColorValue(bitrixColor.darken(deltaBitrixL).saturate(deltaBitrixS));\n\t\t\t\tpreset.items[8] = new ColorValue(bitrixColor.darken(deltaBitrixL).saturate(deltaBitrixS));\n\t\t\t\tbitrixColor.lighten(deltaBitrixL * 2).desaturate(deltaBitrixS * 2);\n\n\t\t\t\tpreset.items[9] = new ColorValue(bitrixColor.lighten(deltaBitrixL).desaturate(deltaBitrixS));\n\t\t\t\tpreset.items[10] = new ColorValue(bitrixColor.lighten(deltaBitrixL).desaturate(deltaBitrixS));\n\t\t\t\tbitrixColor.darken(deltaBitrixL * 2).saturate(deltaBitrixS * 2);\n\n\t\t\t\tpreset.items[11] = new ColorValue(bitrixColor).adjustHue(180);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst deltaL = (90 - primary.getHsl().l) / 3;\n\t\t\t\tconst deltaL2 = (primary.getHsl().l - 10) / 3;\n\t\t\t\tconst deltaS = (90 - primary.getHsl().s) / 3;\n\t\t\t\tconst deltaS2 = (primary.getHsl().s - 10) / 3;\n\n\t\t\t\tpreset.items[1] = new ColorValue(primary.darken(deltaL2).saturate(deltaS));\n\t\t\t\tpreset.items[2] = new ColorValue(primary.darken(deltaL2).saturate(deltaS));\n\t\t\t\tpreset.items[3] = new ColorValue(primary.darken(deltaL2).saturate(deltaS));\n\t\t\t\tprimary.lighten(deltaL2 * 3).desaturate(deltaS * 3);\n\n\t\t\t\tpreset.items[4] = new ColorValue(primary.desaturate(deltaS2).lighten(deltaL));\n\t\t\t\tpreset.items[5] = new ColorValue(primary.desaturate(deltaS2).lighten(deltaL));\n\t\t\t\tpreset.items[11] = new ColorValue(primary.desaturate(deltaS2).lighten(deltaL));\n\t\t\t\tprimary.saturate(deltaS2 * 3).darken(deltaL * 3);\n\n\t\t\t\tpreset.items[7] = new ColorValue(primary.adjustHue(40));\n\t\t\t\tpreset.items[8] = new ColorValue(primary.adjustHue(-80));\n\t\t\t\tpreset.items[9] = new ColorValue(primary.adjustHue(180));\n\t\t\t\tpreset.items[6] = new ColorValue(primary.adjustHue(40));\n\t\t\t\tpreset.items[10] = new ColorValue(primary.adjustHue(40));\n\t\t\t}\n\t\t\treturn preset;\n\t\t});\n\t}\n\n\tstatic getBlackAndWhitePreset(): PresetOptions\n\t{\n\t\treturn this.cache.remember('blackAndWhite', () => {\n\t\t\tconst preset = {\n\t\t\t\tid: 'blackAndWhite',\n\t\t\t\titems: [],\n\t\t\t};\n\t\t\tconst start = new ColorValue('#ffffff');\n\n\t\t\tpreset.items.push(new ColorValue(start));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.28)));\n\t\t\tpreset.items.push(new ColorValue(start.darken(14.32)));\n\n\t\t\treturn preset;\n\t\t});\n\t}\n\n\tstatic getGradientByColorOptions(options: PresetOptions): PresetOptions\n\t{\n\t\tconst items = [];\n\t\tconst pairs = [\n\t\t\t[1, 2],\n\t\t\t[1, 4],\n\t\t\t[5, 12],\n\t\t\t[1, 8],\n\t\t\t[8, 9],\n\t\t\t[1, 9],\n\t\t\t[10, 7],\n\t\t\t[7, 11],\n\t\t];\n\t\tpairs.forEach(pair => {\n\t\t\titems.push(new GradientValue({\n\t\t\t\tfrom: new ColorValue(options.items[pair[0] - 1]),\n\t\t\t\tto: new ColorValue(options.items[pair[1] - 1]),\n\t\t\t\tangle: GradientValue.DEFAULT_ANGLE,\n\t\t\t\ttype: GradientValue.DEFAULT_TYPE,\n\t\t\t}));\n\t\t});\n\n\t\treturn {\n\t\t\ttype: gradientType,\n\t\t\titems: items,\n\t\t};\n\t}\n}\n","import {Tag, Dom, Event, Type, Cache} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\n\nimport {IColorValue} from '../../types/i_color_value';\nimport ColorValue from '../../color_value';\nimport GradientValue from '../../gradient_value';\nimport {PresetOptions, defaultType, gradientType} from './types/preset-options';\nimport Generator from './generator';\n\nimport './css/preset.css';\n\nexport default class Preset extends EventEmitter\n{\n\tid: string;\n\ttype: 'color' | 'gradient';\n\titems: [ColorValue | GradientValue];\n\tactiveItem: string | IColorValue | null;\n\n\tstatic ACTIVE_CLASS: string = 'active';\n\n\tconstructor(options: PresetOptions)\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Preset');\n\n\t\tthis.id = options.id;\n\t\tthis.type = options.type || defaultType;\n\t\tthis.items = options.items;\n\t\tthis.activeItem = null;\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetGradientPreset(): Preset\n\t{\n\t\tconst options = (this.type === gradientType)\n\t\t\t? {type: gradientType, items: this.items}\n\t\t\t: Generator.getGradientByColorOptions({items: this.items});\n\n\t\treturn new Preset(options);\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-preset\">\n\t\t\t\t\t${this.items.map((item) => {\n\t\t\t\t\t\treturn this.getItemLayout(item.getName());\n\t\t\t\t\t})}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetItemLayout(name: string): HTMLDivElement\n\t{\n\t\treturn this.cache.remember(name, () => {\n\t\t\tconst color = this.getItemByName(name);\n\t\t\tconst style = Type.isString(color) ? color : color.getStyleString();\n\t\t\tconst item = Tag.render`\n\t\t\t\t<div\n\t\t\t\t\tclass=\"landing-ui-field-color-preset-item\"\n\t\t\t\t\tstyle=\"background: ${style}\"\n\t\t\t\t\tdata-name=\"${name}\"\n\t\t\t\t></div>\n\t\t\t`;\n\t\t\tEvent.bind(item, 'click', this.onItemClick.bind(this));\n\n\t\t\treturn item;\n\t\t});\n\t}\n\n\tgetItemByName(name: string): string | IColorValue | null\n\t{\n\t\treturn this.items.find(item => name === item.getName()) || null;\n\t}\n\n\tisPresetValue(value: ColorValue | GradientValue | null): boolean\n\t{\n\t\tif (value === null)\n\t\t{\n\t\t\treturn false;\n\t\t}\n\t\treturn this.items.some(item => {\n\t\t\tif (item instanceof ColorValue && value instanceof ColorValue)\n\t\t\t{\n\t\t\t\treturn ColorValue.compare(item, new ColorValue(value).setOpacity(1));\n\t\t\t}\n\t\t\telse if (item instanceof GradientValue && value instanceof GradientValue)\n\t\t\t{\n\t\t\t\treturn GradientValue.compare(item, value, false);\n\t\t\t}\n\t\t\treturn false;\n\t\t});\n\t}\n\n\tonItemClick(event: MouseEvent)\n\t{\n\t\tthis.setActiveItem(event.currentTarget.dataset.name);\n\n\t\tlet value = null;\n\t\tif (this.activeItem !== null)\n\t\t{\n\t\t\tvalue = this.activeItem instanceof GradientValue\n\t\t\t\t? new GradientValue(this.activeItem)\n\t\t\t\t: new ColorValue(this.activeItem);\n\t\t}\n\n\t\tthis.emit('onChange', {color: value});\n\t}\n\n\tsetActiveItem(name: string)\n\t{\n\t\tthis.activeItem = this.getItemByName(name);\n\n\t\tthis.items.forEach((item) => {\n\t\t\tconst itemName = item.getName();\n\t\t\tif (name === itemName)\n\t\t\t{\n\t\t\t\tDom.addClass(this.getItemLayout(itemName), Preset.ACTIVE_CLASS);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getItemLayout(itemName), Preset.ACTIVE_CLASS);\n\t\t\t}\n\t\t});\n\t}\n\n\tsetActiveValue(value: ColorValue | GradientValue | null)\n\t{\n\t\tif (value !== null)\n\t\t{\n\t\t\tif (value instanceof GradientValue)\n\t\t\t{\n\t\t\t\tthis.setActiveItem(\n\t\t\t\t\tnew GradientValue(value)\n\t\t\t\t\t\t.setAngle(GradientValue.DEFAULT_ANGLE)\n\t\t\t\t\t\t.setType(GradientValue.DEFAULT_TYPE)\n\t\t\t\t\t\t.getName()\n\t\t\t\t);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.setActiveItem(\n\t\t\t\t\tnew ColorValue(value)\n\t\t\t\t\t\t.setOpacity(1)\n\t\t\t\t\t\t.getName()\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tunsetActive()\n\t{\n\t\tthis.items.forEach(item => {\n\t\t\tDom.removeClass(this.getItemLayout(item.getName()), Preset.ACTIVE_CLASS);\n\t\t});\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn this.items.some(item => {\n\t\t\treturn Dom.hasClass(this.getItemLayout(item.getName()), Preset.ACTIVE_CLASS);\n\t\t});\n\t}\n}","import 'ui.design-tokens';\nimport 'ui.fonts.opensans';\n\nimport {Tag, Text, Dom, Event, Type, Cache, Loc} from 'main.core';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Popup, PopupManager} from 'main.popup';\n\nimport ColorValue from '../../color_value';\nimport GradientValue from '../../gradient_value';\nimport Generator from \"./generator\";\n\nimport './css/preset_collection.css';\nimport {PresetOptions} from \"./types/preset-options\";\nimport Preset from \"./preset\";\n\nexport default class PresetCollection extends EventEmitter\n{\n\tstatic globalActiveId: number | string | null = null;\n\n\tpopupId: string;\n\tpopupTargetContainer: ?HTMLElement;\n\tpresets: {\n\t\t[id: string]: PresetOptions\n\t} = {};\n\tactiveId: number | string | null = null;\n\n\tstatic ACTIVE_CLASS: string = 'active';\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.PresetCollection');\n\t\tthis.popupId = 'presets-popup_' + Text.getRandom();\n\t\tthis.popupTargetContainer = options.contentRoot;\n\n\t\tthis.onPresetClick = this.onPresetClick.bind(this);\n\t\tEvent.bind(this.getOpenButton(), 'click', () => {\n\t\t\tthis.getPopup().toggle();\n\t\t});\n\t\tthis.onPresetChangeGlobal = this.onPresetChangeGlobal.bind(this);\n\t\tEventEmitter.subscribe('BX.Landing.UI.Field.Color.PresetCollection:onChange', this.onPresetChangeGlobal);\n\t}\n\n\taddDefaultPresets()\n\t{\n\t\tthis.addPreset(Generator.getPrimaryColorPreset());\n\t\tGenerator.getDefaultPresets().map((item) => {\n\t\t\tthis.addPreset(item);\n\t\t});\n\t}\n\n\taddPreset(options: PresetOptions)\n\t{\n\t\tthis.cache.delete('popupLayout');\n\t\tif (!Object.keys(this.presets).length || !(options.id in this.presets))\n\t\t{\n\t\t\tthis.presets[options.id] = options;\n\t\t}\n\t}\n\n\tgetGlobalActiveId(): number | string | null\n\t{\n\t\treturn PresetCollection.globalActiveId;\n\t}\n\n\tgetActiveId(): number | string\n\t{\n\t\treturn this.getGlobalActiveId() || this.getDefaultPreset().getId();\n\t}\n\n\tgetActivePreset(): Preset\n\t{\n\t\treturn this.getPresetById(this.getActiveId());\n\t}\n\n\tgetDefaultPreset(): ?Preset\n\t{\n\t\treturn Object.keys(this.presets).length\n\t\t\t? this.getPresetById(Object.keys(this.presets)[0])\n\t\t\t: null;\n\t}\n\n\tgetPresetById(id: number | string): ?Preset\n\t{\n\t\tif (id in this.presets)\n\t\t{\n\t\t\treturn this.cache.remember(id, () => new Preset(this.presets[id]));\n\t\t}\n\t\telse\n\t\t{\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tgetPresetByItemValue(value: ColorValue | GradientValue | null): ?Preset\n\t{\n\t\tif (value === null)\n\t\t{\n\t\t\treturn null;\n\t\t}\n\n\t\tfor (let id in this.presets)\n\t\t{\n\t\t\tconst preset = this.getPresetById(id);\n\t\t\tif (preset && value instanceof ColorValue)\n\t\t\t{\n\t\t\t\tif (preset.isPresetValue(value))\n\t\t\t\t{\n\t\t\t\t\treturn preset;\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (preset && value instanceof GradientValue)\n\t\t\t{\n\t\t\t\tif (preset.getGradientPreset().isPresetValue(value))\n\t\t\t\t{\n\t\t\t\t\treturn preset;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-presets\">\n\t\t\t\t\t<div class=\"landing-ui-field-color-presets-left\">\n\t\t\t\t\t\t<span class=\"landing-ui-field-color-presets-title\">\n\t\t\t\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-PRESETS_TITLE')}\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"landing-ui-field-color-presets-right\">${this.getOpenButton()}</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetOpenButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('openButton', () => {\n\t\t\treturn Tag.render`<span class=\"landing-ui-field-color-presets-open\">\n\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-PRESETS_MORE')}\n\t\t\t</span>`;\n\t\t});\n\t}\n\n\tgetTitleContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('titleContainer', () => {\n\t\t\treturn this.getLayout().querySelector('.landing-ui-field-color-presets-left');\n\t\t});\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\t// todo: bind to event target? or need button\n\t\treturn this.cache.remember('popup', () => {\n\t\t\treturn PopupManager.create({\n\t\t\t\tid: this.popupId,\n\t\t\t\tclassName: 'presets-popup',\n\t\t\t\tautoHide: true,\n\t\t\t\tbindElement: this.getOpenButton(),\n\t\t\t\tbindOptions: {\n\t\t\t\t\tforceTop: true,\n\t\t\t\t\tforceLeft: true,\n\t\t\t\t},\n\t\t\t\twidth: 280,\n\t\t\t\toffsetLeft: -200,\n\t\t\t\tcontent: this.getPopupLayout(),\n\t\t\t\tcloseByEsc: true,\n\t\t\t\ttargetContainer: this.popupTargetContainer,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPopupLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('popupLayout', () => {\n\t\t\tconst layouts = Tag.render`<div class=\"landing-ui-field-color-presets-popup\">\n\t\t\t\t<div class=\"landing-ui-field-color-presets-popup-title\">\n\t\t\t\t\t${Loc.getMessage('LANDING_FIELD_COLOR-PRESETS_MORE_COLORS')}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"landing-ui-field-color-presets-popup-inner\"></div>\n\t\t\t</div>`;\n\t\t\tconst innerLayouts = layouts.querySelector('.landing-ui-field-color-presets-popup-inner');\n\t\t\tfor (const presetId in this.presets)\n\t\t\t{\n\t\t\t\tconst layout = this.getPresetLayout(presetId);\n\t\t\t\tif (presetId === this.getActiveId())\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(layout, PresetCollection.ACTIVE_CLASS);\n\t\t\t\t\tthis.activeId = presetId;\n\t\t\t\t}\n\t\t\t\tEvent.bind(layout, 'click', this.onPresetClick);\n\t\t\t\tDom.append(layout, innerLayouts);\n\t\t\t}\n\n\t\t\treturn layouts;\n\t\t});\n\t}\n\n\tgetPresetLayout(presetId: string | number): HTMLDivElement\n\t{\n\t\treturn this.cache.remember(presetId + 'layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-presets-preset\" data-id=\"${presetId}\">\n\t\t\t\t\t${\n\t\t\t\t\t\tthis.presets[presetId].items.map((item) => {\n\t\t\t\t\t\t\treturn Tag.render`<div\n\t\t\t\t\t\t\t\tclass=\"landing-ui-field-color-presets-preset-item\"\n\t\t\t\t\t\t\t\tstyle=\"background: ${Type.isString(item) ? item : item.getStyleString()}\"\n\t\t\t\t\t\t\t></div>`;\n\t\t\t\t\t\t})\n\t\t\t\t\t}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonPresetClick(event: MouseEvent)\n\t{\n\t\tthis.getPopup().close();\n\t\tthis.setActiveItem(event.currentTarget.dataset.id);\n\t\tthis.emit('onChange', {presetId: this.getActiveId()});\n\t}\n\n\tonPresetChangeGlobal(event: BaseEvent)\n\t{\n\t\tif (event.getData().presetId !== this.activeId)\n\t\t{\n\t\t\tthis.setActiveItem(event.getData().presetId);\n\t\t\tthis.emit('onChange', event);\n\t\t}\n\t}\n\n\tsetActiveItem(presetId: string)\n\n\t{\n\t\tif (\n\t\t\tpresetId !== null\n\t\t\t&& presetId !== this.activeId\n\t\t)\n\t\t{\n\t\t\tPresetCollection.globalActiveId = presetId;\n\t\t\tthis.activeId = presetId;\n\t\t\tfor (const id in this.presets)\n\t\t\t{\n\t\t\t\tDom.removeClass(this.getPresetLayout(id), PresetCollection.ACTIVE_CLASS);\n\t\t\t\tif (id === presetId)\n\t\t\t\t{\n\t\t\t\t\tDom.addClass(this.getPresetLayout(id), PresetCollection.ACTIVE_CLASS);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tunsetActive()\n\t{\n\t\tfor (const presetId in this.presets)\n\t\t{\n\t\t\tDom.removeClass(this.getPresetLayout(presetId), PresetCollection.ACTIVE_CLASS);\n\t\t}\n\t}\n}\n","import {EventEmitter} from 'main.core.events';\nimport {Cache, Tag, Event, Loc, Text} from 'main.core';\n\nimport './css/reset.css';\n\nexport default class Reset extends EventEmitter\n{\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Reset');\n\t\tEvent.bind(this.getLayout(), 'click', () => this.onClick());\n\n\t\tconst hint = BX.UI.Hint.createInstance({\n\t\t\tpopupParameters: {\n\t\t\t\ttargetContainer: options.contentRoot,\n\t\t\t\tpadding: 0,\n\t\t\t}\n\t\t});\n\t\thint.init(this.getLayout());\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-reset-container\">\n\t\t\t\t\t<div class=\"landing-ui-field-color-reset\"\n\t\t\t\t\t\tdata-hint=\"${Loc.getMessage('LANDING_FIELD_COLOR-RESET_HINT_2')}\"\n\t\t\t\t\t\tdata-hint-no-icon\n\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonClick()\n\t{\n\t\tthis.emit('onReset');\n\t}\n}\n","import {Dom, Tag} from 'main.core';\nimport {BaseEvent} from \"main.core.events\";\n\nimport BaseControl from '../base_control/base_control';\nimport ColorValue from \"../../color_value\";\nimport Colorpicker from \"../colorpicker/colorpicker\";\nimport Preset from '../../layout/preset/preset';\nimport PresetCollection from '../../layout/preset/preset_collection';\nimport Reset from '../../layout/reset/reset';\n\nimport Generator from '../../layout/preset/generator';\nimport './css/color_set.css';\n\nexport default class ColorSet extends BaseControl\n{\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.ColorSet');\n\n\t\tthis.reset = new Reset(options);\n\t\tthis.reset.subscribe('onReset', () => {\n\t\t\tthis.emit('onReset');\n\t\t});\n\n\t\tthis.blackAndWhitePreset = new Preset(Generator.getBlackAndWhitePreset());\n\t\tthis.blackAndWhitePreset.subscribe('onChange', (event) => {\n\t\t\tthis.preset.unsetActive();\n\t\t\tthis.onPresetItemChange(event);\n\t\t});\n\n\t\tthis.colorpicker = new Colorpicker(options);\n\t\tthis.colorpicker.subscribe('onChange', (event) => {\n\t\t\tthis.preset.unsetActive();\n\t\t\tthis.blackAndWhitePreset.unsetActive();\n\n\t\t\tconst color = event.getData().color;\n\t\t\tif (this.preset.isPresetValue(color))\n\t\t\t{\n\t\t\t\tthis.preset.setActiveValue(color);\n\t\t\t\tthis.colorpicker.unsetActive();\n\t\t\t}\n\t\t\telse if (this.blackAndWhitePreset.isPresetValue(color))\n\t\t\t{\n\t\t\t\tthis.blackAndWhitePreset.setActiveValue(color);\n\t\t\t\tthis.colorpicker.unsetActive();\n\t\t\t}\n\n\t\t\tthis.onChange(event);\n\t\t});\n\n\t\tthis.presets = new PresetCollection(options);\n\t\tthis.presets.subscribe('onChange', (event) => {\n\t\t\tthis.setPreset(this.presets.getPresetById(event.getData().presetId));\n\t\t});\n\t\tthis.presets.addDefaultPresets();\n\t\tconst preset = this.presets.getActivePreset();\n\t\tif (preset)\n\t\t{\n\t\t\tthis.setPreset(preset);\n\t\t}\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\tDom.append(this.reset.getLayout(), this.presets.getTitleContainer());\n\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-colorset\">\n\t\t\t\t<div class=\"landing-ui-field-color-colorset-top\">\n\t\t\t\t\t${this.presets.getLayout()}\n\t\t\t\t</div>\n\t\t\t\t${this.getPresetContainer()}\n\t\t\t\t<div class=\"landing-ui-field-color-colorset-bottom\">\n\t\t\t\t\t${this.blackAndWhitePreset.getLayout()}\n\t\t\t\t\t${this.colorpicker.getLayout()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetTitleLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('titleLayout', () => {\n\t\t\treturn this.getLayout().querySelector('.landing-ui-field-color-colorset-title');\n\t\t});\n\t}\n\n\tgetPresetContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('presetContainer', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-color-colorset-preset-container\"></div>`;\n\t\t});\n\t}\n\n\tsetPreset(preset: Preset)\n\t{\n\t\tthis.preset = preset;\n\t\tthis.preset.unsetActive();\n\t\tif (this.getValue() !== null && this.preset.isPresetValue(this.getValue()))\n\t\t{\n\t\t\tthis.unsetActive();\n\t\t\tthis.preset.setActiveValue(this.getValue());\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.unsetActive();\n\t\t\tthis.colorpicker.setValue(this.getValue());\n\t\t}\n\t\tthis.preset.subscribe('onChange', (event) => {\n\t\t\tthis.blackAndWhitePreset.unsetActive();\n\t\t\tthis.onPresetItemChange(event);\n\t\t});\n\n\t\tDom.clean(this.getPresetContainer());\n\t\tDom.append(preset.getLayout(), this.getPresetContainer());\n\n\t\tthis.emit('onPresetChange', {preset: preset});\n\t}\n\n\tgetPreset(): ?Preset\n\t{\n\t\treturn this.preset;\n\t}\n\n\tgetPresetsCollection(): ?PresetCollection\n\t{\n\t\treturn this.presets;\n\t}\n\n\tonPresetItemChange(event: BaseEvent)\n\t{\n\t\tthis.colorpicker.setValue(event.getData().color);\n\t\tthis.colorpicker.unsetActive();\n\t\tthis.onChange(event);\n\t}\n\n\tonChange(event: ?BaseEvent)\n\t{\n\t\tthis.cache.set('value', event.getData().color);\n\t\tthis.emit('onChange', event);\n\t}\n\n\tgetValue(): ?ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\treturn this.colorpicker.getValue();\n\t\t});\n\t}\n\n\tsetValue(value: ?ColorValue)\n\t{\n\t\tif (this.isNeedSetValue(value))\n\t\t{\n\t\t\tsuper.setValue(value);\n\t\t\tthis.colorpicker.setValue(value);\n\n\t\t\tconst activePreset =\n\t\t\t\tthis.presets.getGlobalActiveId()\n\t\t\t\t\t? this.presets.getPresetById(this.presets.getGlobalActiveId())\n\t\t\t\t\t: this.presets.getPresetByItemValue(value);\n\t\t\tif (activePreset !== null)\n\t\t\t{\n\t\t\t\tthis.setPreset(activePreset);\n\t\t\t\tthis.presets.setActiveItem(activePreset.getId());\n\t\t\t}\n\n\t\t\tif (value !== null && this.blackAndWhitePreset.isPresetValue(value))\n\t\t\t{\n\t\t\t\tthis.unsetActive();\n\t\t\t\tthis.blackAndWhitePreset.setActiveValue(value);\n\t\t\t}\n\t\t}\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tthis.preset.unsetActive();\n\t\tthis.blackAndWhitePreset.unsetActive();\n\t\tthis.colorpicker.unsetActive();\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn this.preset.isActive() || this.blackAndWhitePreset.isActive() || this.colorpicker.isActive();\n\t}\n}\n","import 'ui.design-tokens';\n\nimport {Dom, Event, Tag, Text, Type} from 'main.core';\nimport {IColorValue} from '../../types/i_color_value';\nimport ColorValue from \"../../color_value\";\nimport './css/opacity.css';\nimport BaseControl from \"../base_control/base_control\";\nimport {PageObject} from 'landing.pageobject';\n\nexport default class Opacity extends BaseControl\n{\n\tstatic +DEFAULT_COLOR: string = '#cccccc';\n\tstatic +DEFAULT_OPACITY: string = 1;\n\n\tconstructor(options: {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Opacity');\n\n\t\tthis.defaultOpacity = (Type.isObject(options) && Reflect.has(options, 'defaultOpacity'))\n\t\t\t? options.defaultOpacity\n\t\t\t: Opacity.DEFAULT_OPACITY;\n\n\t\tthis.document = PageObject.getRootWindow().document;\n\n\t\tthis.onPickerDragStart = this.onPickerDragStart.bind(this);\n\t\tthis.onPickerDragMove = this.onPickerDragMove.bind(this);\n\t\tthis.onPickerDragEnd = this.onPickerDragEnd.bind(this);\n\t\tthis.layout = this.getLayout();\n\t\tthis.pickerControl = this.layout .querySelector('.landing-ui-field-color-opacity');\n\t\tthis.rangeControl = this.layout .querySelector('.landing-ui-field-color-opacity-range-output');\n\t\tthis.arrowsUp = this.rangeControl.querySelector('.landing-ui-field-color-opacity-range-output-arrows-up');\n\t\tthis.arrowsDown = this.rangeControl.querySelector('.landing-ui-field-color-opacity-range-output-arrows-down');\n\t\tthis.rangeInput = this.rangeControl.querySelector('.landing-ui-field-color-opacity-range-output-input');\n\t\tEvent.bind(this.arrowsUp, 'click', this.onArrowClick.bind(this, 'up'));\n\t\tEvent.bind(this.arrowsDown, 'click', this.onArrowClick.bind(this, 'down'));\n\t\tEvent.bind(this.pickerControl, 'mousedown', this.onPickerDragStart);\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\tconst defaultOpacityValue = this.defaultOpacity * 100;\n\t\tconst layout = Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-opacity-container\">\n\t\t\t\t<div class=\"landing-ui-field-color-opacity\">\n\t\t\t\t\t${this.getPicker()}\n\t\t\t\t\t${this.getColorLayout()}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"landing-ui-field-color-opacity-range-output\">\n\t\t\t\t\t<div \n\t\t\t\t\t\tclass=\"landing-ui-field-color-opacity-range-output-input\"\n\t\t\t\t\t\ttitle=\"${defaultOpacityValue}\">\n\t\t\t\t\t\t${defaultOpacityValue}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"landing-ui-field-color-opacity-range-output-arrows\">\n\t\t\t\t\t\t<div class=\"landing-ui-field-color-opacity-range-output-arrows-up\"></div>\n\t\t\t\t\t\t<div class=\"landing-ui-field-color-opacity-range-output-arrows-down\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t\tthis.setPickerPosByOpacity(this.defaultOpacity);\n\n\t\treturn layout;\n\t}\n\n\tonPickerDragStart(event: MouseEvent)\n\t{\n\t\tif (event.ctrlKey || event.metaKey || event.button)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tEvent.bind(this.document, 'mousemove', this.onPickerDragMove);\n\t\tEvent.bind(this.document, 'mouseup', this.onPickerDragEnd);\n\n\t\tDom.addClass(this.document.body, 'landing-ui-field-color-draggable');\n\n\t\tthis.onPickerDragMove(event);\n\t}\n\n\tonPickerDragMove(event: MouseEvent)\n\t{\n\t\tif (event.target === this.getPicker())\n\t\t{\n\t\t\treturn;\n\t\t}\n\t\tthis.setPickerPos(event.pageX);\n\t\tthis.onChange();\n\t\tthis.onRangeControlChange();\n\t}\n\n\tonPickerDragEnd()\n\t{\n\t\tEvent.unbind(this.document, 'mousemove', this.onPickerDragMove);\n\t\tEvent.unbind(this.document, 'mouseup', this.onPickerDragEnd);\n\n\t\tDom.removeClass(this.document.body, 'landing-ui-field-color-draggable');\n\t}\n\n\t/**\n\t * Set picker by absolute page coords\n\t * @param x\n\t */\n\tsetPickerPos(x: number)\n\t{\n\t\tconst leftPos = Math.max(Math.min((x - this.getLayoutRect().left), this.getLayoutRect().width), 0);\n\t\tDom.style(this.getPicker(), {\n\t\t\tleft: `${leftPos}px`,\n\t\t});\n\t}\n\n\tsetPickerPosByOpacity(opacity: number)\n\t{\n\t\topacity = Math.min(1, Math.max(0, opacity));\n\t\tDom.style(this.getPicker(), {\n\t\t\tleft: `${(opacity * 100)}%`,\n\t\t});\n\t}\n\n\tgetLayoutRect(): {}\n\t{\n\t\treturn this.cache.remember('layoutSize', () => {\n\t\t\tconst layoutRect = this.pickerControl.getBoundingClientRect();\n\t\t\treturn {\n\t\t\t\twidth: layoutRect.width,\n\t\t\t\tleft: layoutRect.left,\n\t\t\t};\n\t\t});\n\t}\n\n\tgetColorLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('colorLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-opacity-color\"></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetPicker(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('picker', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-opacity-picker\">\n\t\t\t\t\t<div class=\"landing-ui-field-color-opacity-picker-item\">\n\t\t\t\t\t\t<div class=\"landing-ui-field-color-opacity-picker-item-circle\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>`;\n\t\t});\n\t}\n\n\tgetDefaultValue(): ColorValue\n\t{\n\t\treturn this.cache.remember('default', () => {\n\t\t\treturn new ColorValue(Opacity.DEFAULT_COLOR).setOpacity(this.defaultOpacity);\n\t\t});\n\t}\n\n\tgetValue(): ColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tconst pickerLeft = Text.toNumber(Dom.style(this.getPicker(), 'left'));\n\t\t\tconst layoutWidth = Text.toNumber(this.pickerControl.getBoundingClientRect().width);\n\t\t\treturn this.getDefaultValue().setOpacity(pickerLeft / layoutWidth);\n\t\t});\n\t}\n\n\tsetValue(value: ?IColorValue)\n\t{\n\t\tconst valueToSet = (!Type.isNull(value)) ? value : this.getDefaultValue();\n\t\tsuper.setValue(valueToSet);\n\n\t\tif (!Type.isNull(value))\n\t\t{\n\t\t\tDom.style(this.getColorLayout(), {background: valueToSet.getStyleStringForOpacity()});\n\t\t\tthis.setPickerPosByOpacity(valueToSet.getOpacity());\n\t\t\tthis.onRangeControlChange();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tDom.style(this.getColorLayout(), {background: 'none'});\n\t\t}\n\t}\n\n\tonRangeControlChange()\n\t{\n\t\tconst opacity = parseInt((this.getValue().getOpacity()) * 100);\n\t\tthis.rangeInput.title = opacity;\n\t\tthis.rangeInput.innerHTML = opacity;\n\t}\n\n\tonArrowClick(arrowName)\n\t{\n\t\tlet newOpacityInputValue;\n\t\tconst opacity = this.getValue().getOpacity();\n\t\tconst opacityInputValue = parseInt(opacity * 100);\n\t\tif (arrowName === 'up')\n\t\t{\n\t\t\tif (opacityInputValue < 100)\n\t\t\t{\n\t\t\t\tnewOpacityInputValue = (opacityInputValue + 5) / 100;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnewOpacityInputValue = opacityInputValue / 100;\n\t\t\t}\n\t\t}\n\t\tif (arrowName === 'down')\n\t\t{\n\t\t\tif (opacityInputValue > 0)\n\t\t\t{\n\t\t\t\tnewOpacityInputValue = (opacityInputValue - 5) / 100;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tnewOpacityInputValue = opacityInputValue / 100;\n\t\t\t}\n\t\t}\n\t\tthis.rangeInput.title = parseInt(newOpacityInputValue * 100);\n\t\tthis.rangeInput.innerHTML = parseInt(newOpacityInputValue * 100);\n\t\tconst width = this.pickerControl.getBoundingClientRect().width;\n\t\tconst leftPos = width - (width * (1 - newOpacityInputValue));\n\t\tDom.style(this.getPicker(), {\n\t\t\tleft: `${leftPos}px`,\n\t\t});\n\t\tthis.onChange();\n\t}\n}\n","import 'ui.design-tokens';\nimport 'ui.fonts.opensans';\n\nimport {Cache, Dom, Event, Tag, Type} from 'main.core';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\n\nimport BaseControl from '../../control/base_control/base_control';\n\nimport './css/tabs.css';\n\nexport default class Tabs extends EventEmitter\n{\n\ttabs: Tab[];\n\tmultiple: boolean;\n\tisBig: boolean;\n\n\tconstructor()\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Tabs');\n\n\t\tthis.tabs = [];\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.multiple = true;\n\t\tthis.isBig = false;\n\n\t\tthis.onToggle = this.onToggle.bind(this);\n\t}\n\n\tsetMultiple(multiple: boolean): Tabs\n\t{\n\t\tthis.multiple = multiple;\n\n\t\treturn this;\n\t}\n\n\tsetBig(big: boolean): Tabs\n\t{\n\t\tthis.isBig = big;\n\t\tthis.multiple = false;\n\n\t\treturn this;\n\t}\n\n\tappendTab(id: string, title: string, items: BaseControl | Tab | [BaseControl | Tab]): Tabs\n\t{\n\t\tconst tab = new Tab({\n\t\t\tid: id,\n\t\t\ttitle: title,\n\t\t\titems: Type.isArray(items) ? items : [items],\n\t\t});\n\t\tthis.tabs.push(tab);\n\t\tthis.bindEvents(tab);\n\t\tthis.cache.delete('layout');\n\n\t\treturn this;\n\t}\n\n\tprependTab(id: string, title: string, items: BaseControl | Tab | [BaseControl | Tab]): Tabs\n\t{\n\t\tconst tab = new Tab({\n\t\t\tid: id,\n\t\t\ttitle: title,\n\t\t\titems: Type.isArray(items) || [items],\n\t\t});\n\t\tthis.tabs.unshift(tab);\n\t\tthis.bindEvents(tab);\n\t\tthis.cache.delete('layout');\n\n\t\treturn this;\n\t}\n\n\tbindEvents(tab)\n\t{\n\t\ttab.subscribe('onToggle', this.onToggle);\n\t\ttab.subscribe('onShow', this.onToggle);\n\t\ttab.subscribe('onHide', this.onToggle);\n\t}\n\n\tonToggle(event: BaseEvent)\n\t{\n\t\tthis.emit('onToggle', event);\n\t}\n\n\tshowTab(id): Tabs\n\t{\n\t\tif (!this.multiple)\n\t\t{\n\t\t\tthis.tabs.forEach((tab) => {\n\t\t\t\ttab.hide();\n\t\t\t});\n\t\t}\n\n\t\tconst tab = this.getTabById(id);\n\t\tif (tab)\n\t\t{\n\t\t\ttab.show();\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tgetTabById(id: string): Tab\n\t{\n\t\treturn this.tabs.find((tab) => {\n\t\t\treturn tab.id === id;\n\t\t});\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\tconst additional = this.isBig ? ' landing-ui-field-color-tabs--big' : '';\n\t\t\tconst layout = Tag.render`<div class=\"landing-ui-field-color-tabs${additional}\"></div>`;\n\n\t\t\tif (this.isBig)\n\t\t\t{\n\t\t\t\tconst head = Tag.render`\n\t\t\t\t\t<div class=\"landing-ui-field-color-tabs-head landing-ui-field-color-tabs-head--big\"></div>\n\t\t\t\t`;\n\t\t\t\tconst content = Tag.render`\n\t\t\t\t\t<div class=\"landing-ui-field-color-tabs-content landing-ui-field-color-tabs-content--big\"></div>\n\t\t\t\t`;\n\n\t\t\t\tthis.tabs.forEach(tab => {\n\t\t\t\t\tDom.append(tab.getTitle(), head);\n\t\t\t\t\tDom.append(tab.getLayout(), content);\n\t\t\t\t});\n\n\t\t\t\tDom.append(head, layout);\n\t\t\t\tDom.append(content, layout);\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.tabs.forEach(tab => {\n\t\t\t\t\tconst tabLayout = Tag.render`<div class=\"landing-ui-field-color-tabs-tab\">\n\t\t\t\t\t\t${tab.getTitle()}${tab.getLayout()}\n\t\t\t\t\t</div>`;\n\t\t\t\t\tDom.append(tabLayout, layout);\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t// events\n\t\t\tthis.tabs.forEach(tab => {\n\t\t\t\tEvent.bind(tab.getTitle(), 'click', () => {\n\t\t\t\t\tif (!this.multiple)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.tabs.forEach((tab) => {\n\t\t\t\t\t\t\ttab.hide();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\ttab.toggle();\n\t\t\t\t});\n\t\t\t});\n\n\t\t\treturn layout;\n\t\t});\n\t}\n}\n\nexport type TabOptions = {\n\tid: string,\n\ttitle: string,\n\titems: BaseControl[]\n}\n\nexport class Tab extends EventEmitter\n{\n\tid: string;\n\ttitle: string;\n\titems: BaseControl[];\n\n\tstatic SHOW_CLASS: string = 'show';\n\n\tconstructor(options: TabOptions)\n\t{\n\t\tsuper();\n\n\t\tthis.id = options.id;\n\t\tthis.title = options.title;\n\t\tthis.items = options.items;\n\t\tthis.cache = new Cache.MemoryCache();\n\t}\n\n\tgetId(): string\n\t{\n\t\treturn this.id;\n\t}\n\n\tgetTitle(): string\n\t{\n\t\treturn this.cache.remember('title', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span class=\"landing-ui-field-color-tabs-tab-toggler\">\n\t\t\t\t\t<span class=\"landing-ui-field-color-tabs-tab-toggler-icon\"></span>\n\t\t\t\t\t<span class=\"landing-ui-field-color-tabs-tab-toggler-name\">${this.title}</span>\n\t\t\t\t</span>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-tabs-tab-content\">\n\t\t\t\t\t${this.items.map(item => item.getLayout())}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\ttoggle(): Tab\n\t{\n\t\tDom.toggleClass(this.getLayout(), Tab.SHOW_CLASS);\n\t\tDom.toggleClass(this.getTitle(), Tab.SHOW_CLASS);\n\t\tthis.emit('onToggle', {tab: this.title});\n\n\t\treturn this;\n\t}\n\n\tshow(): Tab\n\t{\n\t\tDom.addClass(this.getLayout(), Tab.SHOW_CLASS);\n\t\tDom.addClass(this.getTitle(), Tab.SHOW_CLASS);\n\t\tthis.emit('onShow', {tab: this.title});\n\n\t\treturn this;\n\t}\n\n\thide(): Tab\n\t{\n\t\tDom.removeClass(this.getLayout(), Tab.SHOW_CLASS);\n\t\tDom.removeClass(this.getTitle(), Tab.SHOW_CLASS);\n\t\tthis.emit('onHide', {tab: this.title});\n\n\t\treturn this;\n\t}\n}\n","import {EventEmitter} from 'main.core.events';\nimport {Cache, Tag, Event, Loc, Dom} from 'main.core';\n\nimport './css/zeroing.css';\n\nexport default class Zeroing extends EventEmitter\n{\n\tstatic ACTIVE_CLASS: string = 'active';\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.options = options;\n\t\tthis.cache = new Cache.MemoryCache();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Zeroing');\n\t\tEvent.bind(this.getLayout(), 'click', () => this.onClick());\n\t}\n\n\tgetLayout(): HTMLElement\n\t{\n\t\tlet textCode = 'LANDING_FIELD_COLOR-ZEROING_TITLE_2';\n\t\tif (this.options)\n\t\t{\n\t\t\tif (this.options.textCode)\n\t\t\t{\n\t\t\t\ttextCode = this.options.textCode;\n\t\t\t}\n\t\t}\n\t\treturn this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-color-zeroing\">\n\t\t\t\t<div class=\"landing-ui-field-color-zeroing-preview\">\n\t\t\t\t\t<div class=\"landing-ui-field-color-zeroing-state\"></div>\n\t\t\t\t</div>\n\t\t\t\t<span class=\"landing-ui-field-color-primary-text\">\n\t\t\t\t\t${Loc.getMessage(textCode)}\n\t\t\t\t</span>\n\t\t\t</div>`;\n\t\t});\n\t}\n\n\tonClick()\n\t{\n\t\tthis.emit('onChange', {color: null});\n\t}\n\n\tsetActive()\n\t{\n\t\tDom.addClass(this.getLayout(), Zeroing.ACTIVE_CLASS);\n\t}\n\n\tunsetActive()\n\t{\n\t\tDom.removeClass(this.getLayout(), Zeroing.ACTIVE_CLASS);\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn Dom.hasClass(this.getLayout(), Zeroing.ACTIVE_CLASS);\n\t}\n}\n","import {Tag, Loc, Dom, Type} from 'main.core';\nimport {BaseEvent} from 'main.core.events';\n\nimport BaseProcessor from './base_processor';\nimport ColorSet from \"../control/color_set/color_set\";\nimport Opacity from \"../control/opacity/opacity\";\nimport Tabs from '../layout/tabs/tabs';\nimport Primary from '../layout/primary/primary';\n\nimport ColorValue from \"../color_value\";\nimport {IColorValue} from '../types/i_color_value';\nimport Zeroing from '../layout/zeroing/zeroing';\n\nexport default class Color extends BaseProcessor\n{\n\tstatic PRIMARY_VAR: string = 'var(--primary)';\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.Color');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--color';\n\t\tthis.className = 'g-color';\n\n\t\tthis.colorSet = new ColorSet(options);\n\t\tthis.colorSet.subscribe('onChange', this.onColorSetChange.bind(this));\n\t\tthis.colorSet.subscribe('onReset', this.onReset.bind(this));\n\n\t\tthis.opacity = new Opacity();\n\t\tthis.opacity.subscribe('onChange', this.onOpacityChange.bind(this));\n\n\t\tthis.zeroing = new Zeroing();\n\t\tthis.zeroing.subscribe('onChange', this.onZeroingChange.bind(this));\n\n\t\tthis.primary = new Primary();\n\t\tthis.primary.subscribe('onChange', this.onPrimaryChange.bind(this));\n\n\t\tthis.tabs = new Tabs().appendTab('Opacity', Loc.getMessage('LANDING_FIELD_COLOR-TAB_OPACITY'), this.opacity);\n\t}\n\n\tisNullValue(value: ?string): boolean\n\t{\n\t\treturn (\n\t\t\tvalue === null\n\t\t\t|| value === 'none'\n\t\t\t|| value === 'rgba(0, 0, 0, 0)'\n\t\t);\n\t}\n\n\tgetNullValue()\n\t{\n\t\treturn new ColorValue('rgba(0, 0, 0, 0)');\n\t}\n\n\tbuildLayout(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-color\">\n\t\t\t\t${this.colorSet.getLayout()}\n\t\t\t\t${this.primary.getLayout()}\n\t\t\t\t${this.zeroing.getLayout()}\n\t\t\t\t${this.tabs.getLayout()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tonColorSetChange(event: BaseEvent)\n\t{\n\t\tthis.primary.unsetActive();\n\t\tthis.zeroing.unsetActive();\n\n\t\tconst color = event.getData().color;\n\t\tif (color !== null)\n\t\t{\n\t\t\tcolor.setOpacity(this.opacity.getValue().getOpacity());\n\t\t}\n\t\tthis.opacity.setValue(color);\n\n\t\tthis.onChange();\n\t}\n\n\tonOpacityChange()\n\t{\n\t\tthis.onChange();\n\t}\n\n\tonPrimaryChange(event: BaseEvent)\n\t{\n\t\tthis.colorSet.setValue(event.getData().color);\n\t\tthis.onColorSetChange(event);\n\n\t\tthis.colorSet.unsetActive();\n\t\tthis.zeroing.unsetActive();\n\t\tthis.primary.setActive();\n\t}\n\n\tonZeroingChange(event: BaseEvent)\n\t{\n\t\tthis.colorSet.unsetActive();\n\t\tthis.primary.unsetActive();\n\t\tthis.zeroing.setActive();\n\t\tthis.setValue(event.getData().color);\n\t\t// todo: need reload computed props and reinit\n\t\tthis.onChange(event);\n\t}\n\n\tunsetActive()\n\t{\n\t\tthis.colorSet.unsetActive();\n\t\tthis.primary.unsetActive();\n\t}\n\n\tsetValue(value: ?string): void\n\t{\n\t\tconst valueObj = (value !== null) ? new ColorValue(value) : null;\n\n\t\tthis.colorSet.setValue(valueObj);\n\t\tthis.opacity.setValue(valueObj);\n\n\t\t// todo: what about opacity in primary?\n\t\tif (this.primary.isPrimaryValue(valueObj))\n\t\t{\n\t\t\tthis.primary.setActive();\n\t\t\tthis.colorSet.unsetActive();\n\t\t}\n\n\t\tif (value !== null && valueObj.getOpacity() < 1)\n\t\t{\n\t\t\tthis.tabs.showTab('Opacity');\n\t\t}\n\t}\n\n\tgetValue(): ?IColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tconst value = this.primary.isActive() ? this.primary.getValue() : this.colorSet.getValue();\n\n\t\t\treturn (value === null)\n\t\t\t\t? null\n\t\t\t\t: value.setOpacity(this.opacity.getValue().getOpacity());\n\t\t});\n\t}\n\n\tsetDefaultValue(value: {string: string} | null)\n\t{\n\t\tthis.zeroing.setActive();\n\t\tif (!Type.isNull(value))\n\t\t{\n\t\t\tthis.colorSet.colorpicker.hex.setActive();\n\t\t}\n\t\tsuper.setDefaultValue(value);\n\t}\n\n\tonReset()\n\t{\n\t\tthis.zeroing.unsetActive();\n\t\tsuper.onReset();\n\t}\n\n\tsetActiveControl(controlName)\n\t{\n\t\tif (controlName === 'primary')\n\t\t{\n\t\t\tthis.primary.setActive();\n\t\t}\n\t\tif (controlName === 'hex')\n\t\t{\n\t\t\tthis.colorSet.colorpicker.hexPreview.setActive();\n\t\t}\n\t}\n\n\tdefineActiveControl(items, styleNode)\n\t{\n\t\tif (!Type.isUndefined(styleNode))\n\t\t{\n\t\t\tlet oldClass;\n\t\t\tlet activeControl;\n\t\t\tconst node = styleNode.getNode();\n\t\t\tif (node.length > 0)\n\t\t\t{\n\t\t\t\titems.forEach((item) => {\n\t\t\t\t\tif (Dom.hasClass(node[0], item.value))\n\t\t\t\t\t{\n\t\t\t\t\t\toldClass = item.value;\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\tif (oldClass)\n\t\t\t\t{\n\t\t\t\t\tconst reg = /g-[a-z]+-[a-z0-9-]+/i;\n\t\t\t\t\tconst found = oldClass.match(reg);\n\t\t\t\t\tif (found)\n\t\t\t\t\t{\n\t\t\t\t\t\tconst reg = /primary/i;\n\t\t\t\t\t\tconst found = oldClass.match(reg);\n\t\t\t\t\t\tthis.zeroing.unsetActive();\n\t\t\t\t\t\tif (found)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactiveControl = 'primary';\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tactiveControl = 'hex';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (activeControl)\n\t\t\t\t{\n\t\t\t\t\tthis.setActiveControl(activeControl);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","import Color from './color';\n\nexport default class ColorHover extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.ColorHover');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--color-hover';\n\t\tthis.className = 'g-color--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import {Event, Tag, Text, Dom, Loc} from 'main.core';\nimport {Popup, PopupManager} from 'main.popup';\nimport {BaseEvent} from \"main.core.events\";\nimport BaseControl from \"../base_control/base_control\";\nimport Colorpicker from \"../colorpicker/colorpicker\";\nimport Preset from '../../layout/preset/preset';\n\nimport 'ui.fonts.opensans';\nimport './css/gradient.css';\nimport GradientValue from \"../../gradient_value\";\nimport ColorValue from '../../color_value';\n\nexport default class Gradient extends BaseControl\n{\n\tstatic DISABLE_CLASS = 'disable';\n\n\tpopupId: string;\n\tpopupTargetContainer: ?HTMLElement;\n\n\tpreset: ?Preset;\n\tcolorpickerFrom: Colorpicker;\n\tcolorpickerTo: Colorpicker;\n\n\t+ROTATE_STEP = 45;\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Gradient');\n\t\tthis.popupId = 'gradient_popup_' + Text.getRandom();\n\t\tthis.popupTargetContainer = options.contentRoot;\n\n\t\tthis.colorpickerFrom = new Colorpicker(options);\n\t\tthis.colorpickerFrom.subscribe('onChange', (event) => {\n\t\t\tthis.onColorChange(event.getData().color, null);\n\t\t});\n\n\t\tthis.colorpickerTo = new Colorpicker(options);\n\t\tthis.colorpickerTo.subscribe('onChange', (event) => {\n\t\t\tthis.onColorChange(null, event.getData().color);\n\t\t});\n\n\t\tEvent.bind(this.getPopupButton(), 'click', this.onPopupOpen.bind(this));\n\t\tEvent.bind(this.getRotateButton(), 'click', this.onRotate.bind(this));\n\t\tEvent.bind(this.getSwitchTypeButton(), 'click', this.onSwitchType.bind(this));\n\t\tEvent.bind(this.getSwapButton(), 'click', this.onSwap.bind(this));\n\n\t\tthis.preset = null;\n\t}\n\n\tonColorChange(fromValue: ?ColorValue, toValue: ?ColorValue)\n\t{\n\t\tif (fromValue === null && toValue === null)\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst valueToSet = this.getValue() || new GradientValue();\n\t\tconst fromValueToSet = fromValue || valueToSet.getFrom() || (new GradientValue()).getFrom();\n\t\tconst toValueToSet = toValue || valueToSet.getTo() || (new GradientValue()).getTo();\n\t\tvalueToSet.setValue({\n\t\t\tfrom: fromValueToSet,\n\t\t\tto: toValueToSet,\n\t\t});\n\n\t\tthis.setValue(valueToSet);\n\t\tthis.preset.unsetActive();\n\t\tthis.onChange();\n\t}\n\n\tonPopupOpen()\n\t{\n\t\tthis.getPopup().toggle();\n\t}\n\n\tonRotate(event: MouseEvent)\n\t{\n\t\t// todo: not set colorpicker active\n\t\tif (!Gradient.isButtonEnable(event.target))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.getValue();\n\t\tif (value !== null)\n\t\t{\n\t\t\tvalue.setValue({\n\t\t\t\tangle: ((value.getAngle() + this.ROTATE_STEP) % 360),\n\t\t\t});\n\t\t\tthis.setValue(value);\n\t\t\tthis.onChange();\n\t\t}\n\t\tthis.getPopup().close();\n\t}\n\n\tonSwitchType(event: MouseEvent)\n\t{\n\t\t// todo: not set colorpicker active\n\t\tif (!Gradient.isButtonEnable(event.target))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.getValue();\n\t\tif (value !== null)\n\t\t{\n\t\t\tif (value.getType() === GradientValue.TYPE_LINEAR)\n\t\t\t{\n\t\t\t\tvalue.setValue({type: GradientValue.TYPE_RADIAL});\n\t\t\t\tGradient.disableButton(this.getRotateButton());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tvalue.setValue({type: GradientValue.TYPE_LINEAR});\n\t\t\t\tGradient.enableButton(this.getRotateButton());\n\t\t\t}\n\t\t\tthis.setValue(value);\n\t\t\tthis.onChange();\n\t\t}\n\t\tthis.getPopup().close();\n\t}\n\n\tonSwap(event: MouseEvent)\n\t{\n\t\t// todo: not set colorpicker active\n\t\tif (!Gradient.isButtonEnable(event.target))\n\t\t{\n\t\t\treturn;\n\t\t}\n\n\t\tconst value = this.getValue();\n\t\tif (value !== null)\n\t\t{\n\t\t\tvalue.setValue({\n\t\t\t\tto: value.getFrom(),\n\t\t\t\tfrom: value.getTo(),\n\t\t\t});\n\t\t\tthis.setValue(value);\n\t\t\tthis.onChange();\n\t\t}\n\t\tthis.getPopup().close();\n\t}\n\n\tstatic disableButton(button: HTMLDivElement)\n\t{\n\t\tDom.addClass(button, Gradient.DISABLE_CLASS);\n\t}\n\n\tstatic enableButton(button: HTMLDivElement)\n\t{\n\t\tDom.removeClass(button, Gradient.DISABLE_CLASS);\n\t}\n\n\tstatic isButtonEnable(button: HTMLDivElement)\n\t{\n\t\treturn !Dom.hasClass(button, Gradient.DISABLE_CLASS);\n\t}\n\n\tcorrectColorpickerColors()\n\t{\n\t\tconst value = this.getValue();\n\t\tif (value !== null)\n\t\t{\n\t\t\tconst angle = value.getAngle();\n\t\t\tconst hexFrom = this.colorpickerFrom.getHexPreviewObject();\n\t\t\tconst hexTo = this.colorpickerTo.getHexPreviewObject();\n\t\t\tconst colorFrom = value.getFrom();\n\t\t\tconst colorTo = value.getTo();\n\t\t\tif (value.getType() === GradientValue.TYPE_LINEAR)\n\t\t\t{\n\t\t\t\tif (angle === 270 || angle === 90)\n\t\t\t\t{\n\t\t\t\t\tconst median = ColorValue.getMedian(colorFrom, colorTo).getContrast().getHex();\n\t\t\t\t\thexFrom.adjustColors(median, 'transparent');\n\t\t\t\t\thexTo.adjustColors(median, 'transparent');\n\t\t\t\t}\n\t\t\t\telse if (angle >= 135 && angle <= 225)\n\t\t\t\t{\n\t\t\t\t\thexFrom.adjustColors(colorFrom.getContrast().getHex(), 'transparent');\n\t\t\t\t\thexTo.adjustColors(colorTo.getContrast().getHex(), 'transparent');\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\thexFrom.adjustColors(colorTo.getContrast().getHex(), 'transparent');\n\t\t\t\t\thexTo.adjustColors(colorFrom.getContrast().getHex(), 'transparent');\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if (value.getType() === GradientValue.TYPE_RADIAL)\n\t\t\t{\n\t\t\t\thexFrom.adjustColors(colorTo.getContrast().getHex(), 'transparent');\n\t\t\t\thexTo.adjustColors(colorTo.getContrast().getHex(), 'transparent');\n\t\t\t}\n\t\t}\n\t}\n\n\tgetPopup(): Popup\n\t{\n\t\treturn this.cache.remember('popup', () => {\n\t\t\treturn PopupManager.create({\n\t\t\t\tid: this.popupId,\n\t\t\t\tclassName: 'landing-ui-field-color-gradient-preset-popup',\n\t\t\t\tautoHide: true,\n\t\t\t\tbindElement: this.getPopupButton(),\n\t\t\t\tbindOptions: {\n\t\t\t\t\tforceTop: true,\n\t\t\t\t\tforceLeft: true,\n\t\t\t\t},\n\t\t\t\toffsetLeft: 15,\n\t\t\t\tangle: {offset: -5},\n\t\t\t\tpadding: 0,\n\t\t\t\tcontentPadding: 7,\n\t\t\t\tcontent: this.getPopupContent(),\n\t\t\t\tcloseByEsc: true,\n\t\t\t\ttargetContainer: this.popupTargetContainer,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPopupContent(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('popupContainer', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"landing-ui-field-color-gradient-preset-popup-container\">\n\t\t\t\t\t${this.getRotateButton()}\n\t\t\t\t\t${this.getSwapButton()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\tif (this.preset)\n\t\t{\n\t\t\tDom.clean(this.getPresetContainer());\n\t\t\tDom.append(this.preset.getLayout(), this.getPresetContainer());\n\t\t}\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-gradient\">\n\t\t\t\t${this.getPresetContainer()}\n\t\t\t\t<div class=\"landing-ui-field-color-gradient-container\">\n\t\t\t\t\t<div class=\"landing-ui-field-color-gradient-from\">${this.colorpickerFrom.getLayout()}</div>\n\t\t\t\t\t${this.getPopupButton()}\n\t\t\t\t\t<div class=\"landing-ui-field-color-gradient-to\">${this.colorpickerTo.getLayout()}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"landing-ui-field-color-gradient-switch-type-container\">\n\t\t\t\t\t${this.getSwitchTypeButton()}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tgetContainerLayout(): HTMLDivElement\n\t{\n\t\t// todo: do better after change vyorstka\n\t\treturn this.getLayout().querySelector('.landing-ui-field-color-gradient-container');\n\t}\n\n\tgetPresetContainer(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('presetContainer', () => {\n\t\t\treturn Tag.render`<div class=\"landing-ui-field-color-gradient-preset-container\"></div>`;\n\t\t});\n\t}\n\n\tgetPopupButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('popupButton', () => {\n\t\t\treturn Tag.render`<span class=\"landing-ui-field-color-gradient-open-popup\"></span>`;\n\t\t});\n\t}\n\n\tgetSwitchTypeButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('switchTypeButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span\n\t\t\t\t\tclass=\"landing-ui-field-color-gradient-switch-type\"\n\t\t\t\t\ttitle=\"${Loc.getMessage('LANDING_FIELD_COLOR-GRADIENT_SWITCH_TYPE')}\"\n\t\t\t\t></span>`;\n\t\t});\n\t}\n\n\tgetRotateButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('rotateButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span\n\t\t\t\t\tclass=\"landing-ui-field-color-gradient-rotate\"\n\t\t\t\t\ttitle=\"${Loc.getMessage('LANDING_FIELD_COLOR-GRADIENT_ROTATE')}\"\n\t\t\t\t></span>`;\n\t\t});\n\t}\n\n\tgetSwapButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('swapButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span\n\t\t\t\t\tclass=\"landing-ui-field-color-gradient-swap\"\n\t\t\t\t\ttitle=\"${Loc.getMessage('LANDING_FIELD_COLOR-GRADIENT_SWAP')}\"\n\t\t\t\t></span>`;\n\t\t});\n\t}\n\n\tsetPreset(preset: Preset)\n\t{\n\t\tthis.preset = preset;\n\t\tthis.preset.unsetActive();\n\t\tthis.preset.subscribe('onChange', (event) => {\n\t\t\tthis.setValue(event.getData().color);\n\t\t\tthis.unsetColorpickerActive();\n\t\t\tthis.onChange(event);\n\t\t});\n\n\t\tDom.clean(this.getPresetContainer());\n\t\tDom.append(preset.getLayout(), this.getPresetContainer());\n\t}\n\n\tgetPreset(): ?Preset\n\t{\n\t\treturn this.preset;\n\t}\n\n\tgetValue(): ?GradientValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tif (\n\t\t\t\tthis.colorpickerFrom.getValue() === null\n\t\t\t\t|| this.colorpickerTo.getValue() === null\n\t\t\t)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet rotate = this.getRotateButton().dataset.rotate;\n\t\t\trotate = rotate ? Text.toNumber(rotate) : 0;\n\t\t\tconst type = this.getSwitchTypeButton().dataset.type || GradientValue.TYPE_LINEAR;\n\n\t\t\treturn new GradientValue({\n\t\t\t\tfrom: this.colorpickerFrom.getValue(),\n\t\t\t\tto: this.colorpickerTo.getValue(),\n\t\t\t\tangle: rotate,\n\t\t\t\ttype: type,\n\t\t\t});\n\t\t});\n\t}\n\n\tsetValue(value: ?GradientValue)\n\t{\n\t\tsuper.setValue(value);\n\n\t\tif (value === null)\n\t\t{\n\t\t\tthis.colorpickerFrom.setValue(null);\n\t\t\tthis.colorpickerTo.setValue(null);\n\n\t\t\tthis.unsetActive();\n\n\t\t\tDom.style(this.getContainerLayout(), 'background', (new GradientValue).getStyleString());\n\n\t\t\tGradient.disableButton(this.getRotateButton());\n\t\t\tGradient.disableButton(this.getSwitchTypeButton());\n\t\t\tGradient.disableButton(this.getSwapButton());\n\t\t}\n\t\telse\n\t\t{\n\t\t\t// todo: how set default type and rotation?\n\t\t\tthis.colorpickerFrom.setValue(value.getFrom());\n\t\t\tthis.colorpickerTo.setValue(value.getTo());\n\t\t\tthis.correctColorpickerColors();\n\n\t\t\tthis.getRotateButton().dataset.rotate = value.getAngle();\n\t\t\tthis.getSwitchTypeButton().dataset.type = value.getType();\n\n\t\t\tDom.style(this.getRotateButton(), 'transform', `rotate(${value.getAngle()}deg)`);\n\t\t\tDom.style(this.getContainerLayout(), 'background', this.getValue().getStyleString());\n\n\t\t\tGradient.enableButton(this.getSwitchTypeButton());\n\t\t\tGradient.enableButton(this.getSwapButton());\n\t\t\tif (value.getType() === GradientValue.TYPE_RADIAL)\n\t\t\t{\n\t\t\t\tGradient.disableButton(this.getRotateButton())\n\t\t\t\tthis.getSwitchTypeButton().innerText = Loc.getMessage('LANDING_FIELD_COLOR-GRADIENT_DO_LINEAR');\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tGradient.enableButton(this.getRotateButton());\n\t\t\t\tthis.getSwitchTypeButton().innerText = Loc.getMessage('LANDING_FIELD_COLOR-GRADIENT_DO_RADIAL');\n\t\t\t}\n\n\t\t\tthis.setActive();\n\t\t}\n\t}\n\n\tonChange(event: ?BaseEvent)\n\t{\n\t\tthis.cache.delete('value');\n\t\tthis.emit('onChange', {gradient: this.getValue()});\n\t}\n\n\tsetActive(): void\n\t{\n\t\tconst value = this.getValue();\n\t\tif (this.preset.isPresetValue(value))\n\t\t{\n\t\t\tthis.preset.setActiveValue(value);\n\t\t\tthis.unsetColorpickerActive();\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.preset.unsetActive();\n\t\t\tthis.setColorpickerActive();\n\t\t}\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tthis.preset.unsetActive();\n\t\tthis.unsetColorpickerActive();\n\t}\n\n\tsetColorpickerActive(): void\n\t{\n\t\tDom.addClass(this.getContainerLayout(), Gradient.ACTIVE_CLASS);\n\t}\n\n\tunsetColorpickerActive(): void\n\t{\n\t\tthis.colorpickerFrom.unsetActive();\n\t\tthis.colorpickerTo.unsetActive();\n\t\tDom.removeClass(this.getContainerLayout(), Gradient.ACTIVE_CLASS);\n\t}\n}\n","import {Type, Loc} from 'main.core';\nimport {BaseEvent} from \"main.core.events\";\n\nimport isHex from '../internal/is-hex';\nimport isRgbString from '../internal/is-rgb-string';\nimport isHslString from '../internal/is-hsl-string';\nimport isGradientString from '../internal/is-gradient-string';\nimport {isCssVar} from '../internal/css-var';\n\nimport Color from \"./color\";\nimport Gradient from \"../control/gradient/gradient\";\nimport Preset from '../layout/preset/preset';\n\nimport GradientValue from \"../gradient_value\";\nimport {IColorValue} from '../types/i_color_value';\nimport Opacity from '../control/opacity/opacity';\n\nexport default class BgColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BgColor');\n\t\tthis.property = ['background-image', 'background-color'];\n\t\tthis.variableName = '--bg';\n\t\tthis.className = 'g-bg';\n\n\t\tthis.activeControl = null;\n\n\t\tthis.gradient = new Gradient(options);\n\t\tthis.gradient.subscribe('onChange', this.onGradientChange.bind(this));\n\t\tthis.tabs.prependTab('Gradient', Loc.getMessage('LANDING_FIELD_COLOR-TAB_GRADIENT'), this.gradient);\n\n\t\tthis.setGradientPreset(this.colorSet.getPreset());\n\t\tthis.colorSet.subscribe('onPresetChange', (event) => {\n\t\t\tthis.setGradientPreset(event.getData().preset);\n\t\t});\n\n\t\tthis.tabs.subscribe('onToggle', this.onTabsToggle.bind(this));\n\t}\n\n\tsetGradientPreset(preset: Preset)\n\t{\n\t\tconst gradientPreset = preset.getGradientPreset();\n\t\tthis.gradient.setPreset(gradientPreset);\n\t\tgradientPreset.subscribe('onChange', () => {\n\t\t\tthis.activeControl = this.gradient;\n\t\t\tthis.onChange();\n\t\t});\n\n\t\tconst value = this.getValue();\n\t\tif (value !== null && value instanceof GradientValue)\n\t\t{\n\t\t\tif (this.gradient.getPreset().isPresetValue(value))\n\t\t\t{\n\t\t\t\tthis.colorSet.getPreset().unsetActive();\n\t\t\t\tthis.gradient.getPreset().setActiveValue(value);\n\t\t\t\tthis.gradient.unsetColorpickerActive();\n\t\t\t}\n\t\t}\n\t}\n\n\tonColorSetChange(event: BaseEvent)\n\t{\n\t\tthis.activeControl = this.colorSet;\n\t\tthis.gradient.unsetActive();\n\n\t\tsuper.onColorSetChange(event);\n\t}\n\n\tonGradientChange(event: BaseEvent)\n\t{\n\t\tthis.activeControl = this.gradient;\n\t\tthis.colorSet.unsetActive();\n\n\t\tconst gradValue = event.getData().gradient;\n\t\tif (gradValue !== null)\n\t\t{\n\t\t\tthis.opacity.setValue(\n\t\t\t\tgradValue.setOpacity(this.opacity.getValue().getOpacity()),\n\t\t\t);\n\t\t}\n\n\t\tthis.onChange();\n\t}\n\n\tonOverlayOpacityChange()\n\t{\n\t\tthis.onChange();\n\t}\n\n\tonTabsToggle()\n\t{\n\t\tthis.gradient.getPopup().close();\n\t}\n\n\tunsetActive()\n\t{\n\t\tthis.colorSet.unsetActive();\n\t\tthis.gradient.unsetActive();\n\t\tthis.primary.unsetActive();\n\t}\n\n\tsetValue(value: ?string): void\n\t{\n\t\tthis.colorSet.setValue(null);\n\t\tthis.gradient.setValue(null);\n\t\tthis.unsetActive();\n\n\t\tthis.activeControl = null;\n\n\t\tif (Type.isNil(value))\n\t\t{\n\t\t\t// todo: set NULL for gradient or opacity?\n\t\t}\n\t\telse if (\n\t\t\tisRgbString(value)\n\t\t\t|| isHex(value)\n\t\t\t|| isHslString(value)\n\t\t\t|| isCssVar(value)\n\t\t)\n\t\t{\n\t\t\tsuper.setValue(value);\n\n\t\t\tthis.activeControl = this.colorSet;\n\t\t}\n\t\telse if (isGradientString(value))\n\t\t{\n\t\t\tthis.activeControl = this.gradient;\n\n\t\t\tconst gradientValue = new GradientValue(value);\n\t\t\tthis.gradient.setValue(gradientValue);\n\t\t\tthis.opacity.setValue(gradientValue);\n\n\t\t\tconst presets = this.colorSet.getPresetsCollection();\n\t\t\tconst activePreset = presets.getGlobalActiveId()\n\t\t\t\t? presets.getPresetById(presets.getGlobalActiveId())\n\t\t\t\t: presets.getPresetByItemValue(gradientValue);\n\t\t\tif (activePreset !== null && activePreset !== this.colorSet.getPreset())\n\t\t\t{\n\t\t\t\tthis.colorSet.setPreset(activePreset);\n\t\t\t\tthis.setGradientPreset(activePreset);\n\t\t\t}\n\n\t\t\tthis.tabs.showTab('Gradient');\n\t\t\tif (gradientValue.getOpacity() < 1)\n\t\t\t{\n\t\t\t\tthis.tabs.showTab('Opacity');\n\t\t\t}\n\t\t}\n\t}\n\n\tgetValue(): ?IColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tif (this.activeControl === null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\telse if (this.activeControl === this.gradient)\n\t\t\t{\n\t\t\t\tconst gradValue = this.gradient.getValue();\n\t\t\t\treturn (gradValue === null)\n\t\t\t\t\t? gradValue\n\t\t\t\t\t: gradValue.setOpacity(this.opacity.getValue().getOpacity());\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn super.getValue();\n\t\t\t}\n\t\t});\n\t}\n}\n","import {matcherGradient} from './is-gradient-string';\nimport {regexpToString} from './regexp';\n\nexport const matcherBgImage = /url\\(['\"]?([^ '\"]*)['\"]?\\)([\\w \\/]*)/i;\n\nexport default function isBgImageString(bgImage: string)\n{\n\tif (!!bgImage.trim().match(matcherBgImage))\n\t{\n\t\treturn true;\n\t}\n\n\treturn !!bgImage.trim().match(getMatcherWithOverlay());\n}\n\nfunction getMatcherWithOverlay(): RegExp\n{\n\tconst matcherBgString = regexpToString(matcherBgImage);\n\tconst matcherGradientString = regexpToString(matcherGradient);\n\treturn new RegExp(`^${matcherGradientString},${matcherBgString}`);\n}\n\n","import {Type, Loc} from 'main.core';\n\nimport {\n\tBgImageValueOptions,\n\tdefaultBgImageValueOptions,\n\tdefaultBgImageSize,\n\tdefaultBgImageAttachment,\n} from \"./types/color_value_options\";\nimport {IColorValue} from './types/i_color_value';\n\nimport isBgImageString, {matcherBgImage} from './internal/is-bg-image-string';\nimport {matcherGradient, matcherGradientColors} from './internal/is-gradient-string';\nimport {regexpWoStartEnd} from './internal/regexp';\n\nimport ColorValue from './color_value';\n\nexport default class BgImageValue implements IColorValue\n{\n\tvalue: BgImageValueOptions;\n\n\tconstructor(value: BgImageValueOptions | BgImageValue | string)\n\t{\n\t\t// todo: add 2x, file ids\n\t\tthis.value = defaultBgImageValueOptions;\n\t\tthis.setValue(value);\n\t}\n\n\tgetName(): string\n\t{\n\t\treturn `\n\t\t\t${this.value.url.replace(/[^\\w\\d]/g, '')}_${this.value.size}_${this.value.attachment}\n\t\t`;\n\t}\n\n\tsetValue(value: BgImageValueOptions | BgImageValue | string): BgImageValue\n\t{\n\t\tif (Type.isObject(value))\n\t\t{\n\t\t\tif (value instanceof BgImageValue)\n\t\t\t{\n\t\t\t\t// todo: add 2x and file IDs\n\t\t\t\tthis.value.url = value.getUrl();\n\t\t\t\tthis.value.url2x = value.getUrl2x();\n\t\t\t\tthis.value.fileId = value.getFileId();\n\t\t\t\tthis.value.fileId2x = value.getFileId2x();\n\t\t\t\tthis.value.size = value.getSize();\n\t\t\t\tthis.value.attachment = value.getAttachment();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.value = {...this.value, ...value};\n\t\t\t}\n\t\t}\n\n\t\tif (Type.isString(value) && isBgImageString(value))\n\t\t{\n\t\t\tthis.parseBgString(value);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tparseBgString(string: string): void\n\t{\n\t\t// todo: check matcher for 2x\n\t\tconst options = defaultBgImageValueOptions;\n\n\t\tconst matchesBg = string.trim().match(regexpWoStartEnd(matcherBgImage));\n\t\tif (!!matchesBg)\n\t\t{\n\t\t\toptions.url = matchesBg[1];\n\n\t\t\toptions.size = matchesBg[2].indexOf('auto') === -1\n\t\t\t\t? defaultBgImageSize\n\t\t\t\t: 'auto'\n\t\t\t;\n\n\t\t\toptions.attachment = matchesBg[2].indexOf('fixed') === -1\n\t\t\t\t? defaultBgImageAttachment\n\t\t\t\t: 'fixed'\n\t\t\t;\n\t\t}\n\n\t\tconst matchesOverlay = string.trim().match(regexpWoStartEnd(matcherGradientColors));\n\t\tif(!!string.trim().match(regexpWoStartEnd(matcherGradient)) && !!matchesOverlay)\n\t\t{\n\t\t\toptions.overlay = new ColorValue(matchesOverlay[0]);\n\t\t}\n\n\t\tthis.setValue(options);\n\t}\n\n\tsetOpacity(opacity: number): BgImageValue\n\t{\n\t\t// todo: what for image?\n\n\t\treturn this;\n\t}\n\n\tsetUrl(value: string): BgImageValue\n\t{\n\t\tthis.setValue({url: value});\n\t\treturn this;\n\t}\n\n\tsetUrl2x(value: string): BgImageValue\n\t{\n\t\tthis.setValue({url2x: value});\n\t\treturn this;\n\t}\n\n\tsetFileId(value: number): BgImageValue\n\t{\n\t\tthis.setValue({fileId: value});\n\t\treturn this;\n\t}\n\n\tsetFileId2x(value: number): BgImageValue\n\t{\n\t\tthis.setValue({fileId2x: value});\n\t\treturn this;\n\t}\n\n\tsetSize(value: 'cover' | 'auto'): BgImageValue\n\t{\n\t\tthis.setValue({size: value});\n\t\treturn this;\n\t}\n\n\tsetAttachment(value: 'scroll' | 'fixed'): BgImageValue\n\t{\n\t\tthis.setValue({attachment: value});\n\t\treturn this;\n\t}\n\n\tsetOverlay(value: ColorValue)\n\t{\n\t\tthis.setValue({overlay: value});\n\t\treturn this;\n\t}\n\n\tgetUrl(): string\n\t{\n\t\treturn this.value.url;\n\t}\n\n\tgetUrl2x(): ?string\n\t{\n\t\treturn this.value.url2x;\n\t}\n\n\tgetFileId(): number\n\t{\n\t\treturn this.value.fileId;\n\t}\n\n\tgetFileId2x(): ?number\n\t{\n\t\treturn this.value.fileId2x;\n\t}\n\n\tgetSize(): 'cover' | 'auto'\n\t{\n\t\treturn this.value.size;\n\t}\n\n\tgetAttachment(needBool: boolean = false): string | boolean\n\t{\n\t\treturn needBool\n\t\t\t? this.value.attachment === 'fixed'\n\t\t\t: this.value.attachment;\n\t}\n\n\tgetOverlay(): ColorValue\n\t{\n\t\treturn this.value.overlay;\n\t}\n\n\tgetOpacity(): number\n\t{\n\t\t// todo: how image can have opacity?\n\t\treturn 1;\n\t}\n\n\tgetStyleString(): string\n\t{\n\t\tlet style = '';\n\t\tif (this.value.overlay !== null)\n\t\t{\n\t\t\tstyle = `linear-gradient(${this.value.overlay.getStyleString()},${this.value.overlay.getStyleString()})`;\n\t\t}\n\n\t\t// todo: what if url is null\n\t\tconst {url, url2x, size, attachment} = this.value;\n\t\tconst endString = `center / ${size} ${attachment}`;\n\t\tif (url !== null)\n\t\t{\n\t\t\tstyle = style.length ? (style + ',') : '';\n\t\t\tif(url2x !== null)\n\t\t\t{\n\t\t\t\tstyle += `-webkit-image-set(url('${url}') 1x, url('${url2x}') 2x) ${endString},`;\n\t\t\t\tstyle += `image-set(url('${url}') 1x, url('${url2x}') 2x) ${endString},`;\n\t\t\t}\n\t\t\tstyle += `url('${url}') ${endString}`;\n\t\t}\n\n\t\treturn style;\n\t}\n\n\tgetStyleStringForOpacity(): string\n\t{\n\t\t// todo: how image can have opacity?\n\t\treturn '';\n\t}\n\n\tstatic getSizeItemsForButtons(): []\n\t{\n\t\treturn [\n\t\t\t{name: Loc.getMessage('LANDING_FIELD_COLOR-BG_COVER'), value: 'cover'},\n\t\t\t{name: Loc.getMessage('LANDING_FIELD_COLOR-BG_MOSAIC'), value: 'auto'},\n\t\t];\n\t}\n\n\tstatic getAttachmentValueByBool(value: boolean): string\n\t{\n\t\treturn value ? 'fixed' : 'scroll';\n\t}\n}\n","import 'ui.design-tokens';\n\nimport {BaseEvent} from 'main.core.events';\nimport {Dom, Tag, Type, Loc, Text} from 'main.core';\n\nimport {Backend} from 'landing.backend';\nimport {PageObject} from 'landing.pageobject';\nimport BaseControl from \"../base_control/base_control\";\nimport BgImageValue from '../../bg_image_value';\nimport './css/image.css';\n\nexport default class Image extends BaseControl\n{\n\toptions: {\n\t\tblock: BX.Landing.Block,\n\t\tstyleNode: BX.Landing.UI.Style,\n\t\tcontentRoot: ?HTMLDivElement,\n\t\tselector: string,\n\t};\n\n\tconstructor(options)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Color.Image');\n\t\tthis.options = options;\n\n\t\t// todo: set dimensions from block\n\t\tconst rootWindow = PageObject.getRootWindow();\n\t\tthis.imgField = new rootWindow.BX.Landing.UI.Field.Image({\n\t\t\tid: 'landing_ui_color_image_' + Text.getRandom().toLowerCase(),\n\t\t\tclassName: 'landing-ui-field-color-image-image',\n\t\t\tcompactMode: true,\n\t\t\tdisableLink: true,\n\t\t\tdisableAltField: true,\n\t\t\tallowClear: true,\n\t\t\tdimensions: {width: 1920},\n\t\t\tuploadParams: {\n\t\t\t\taction: \"Block::uploadFile\",\n\t\t\t\tblock: this.options.block.id,\n\t\t\t},\n\t\t\tcontentRoot: this.options.contentRoot,\n\t\t});\n\t\tthis.imgField.subscribe('change', this.onImageChange.bind(this));\n\n\t\tthis.sizeField = new BX.Landing.UI.Field.Dropdown({\n\t\t\tid: 'landing_ui_color_image_size_' + Text.getRandom().toLowerCase(),\n\t\t\ttitle: Loc.getMessage('LANDING_FIELD_COLOR-BG_SIZE_TITLE'),\n\t\t\tclassName: 'landing-ui-field-color-image-size',\n\t\t\titems: BgImageValue.getSizeItemsForButtons(),\n\t\t\tonChange: this.onSizeChange.bind(this),\n\t\t\tcontentRoot: this.options.contentRoot,\n\t\t});\n\n\t\tthis.attachmentField = new BX.Landing.UI.Field.Checkbox({\n\t\t\tid: 'landing_ui_color_image_attach_' + Text.getRandom().toLowerCase(),\n\t\t\tclassName: 'landing-ui-field-color-image-attachment',\n\t\t\tmultiple: false,\n\t\t\tcompact: true,\n\t\t\titems: [\n\t\t\t\t{name: Loc.getMessage('LANDING_FIELD_COLOR-BG_FIXED'), value: true},\n\t\t\t],\n\t\t\tonChange: this.onAttachmentChange.bind(this),\n\t\t});\n\t}\n\n\tbuildLayout(): HTMLDivElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-image\">\n\t\t\t\t${this.imgField.getLayout()}\n\t\t\t\t${this.sizeField.getLayout()}\n\t\t\t\t${this.attachmentField.getLayout()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tonImageChange(event: BaseEvent)\n\t{\n\t\tconst value = this.getValue() || new BgImageValue();\n\t\tif (event.getData().value.src)\n\t\t{\n\t\t\tvalue.setUrl(event.getData().value.src);\n\t\t\tvalue.setFileId(event.getData().value.id);\n\t\t\tif (event.getData().value.src2x)\n\t\t\t{\n\t\t\t\tvalue.setUrl2x(event.getData().value.src2x);\n\t\t\t\tvalue.setFileId2x(event.getData().value.id2x);\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tvalue.setUrl(null);\n\t\t\tvalue.setFileId(null);\n\t\t\tvalue.setUrl2x(null);\n\t\t\tvalue.setFileId2x(null);\n\t\t}\n\n\t\tthis.setValue(value);\n\t\tthis.onChange();\n\n\t\tthis.saveNode(value);\n\t}\n\n\tsaveNode(value: BgImageValue)\n\t{\n\t\tconst style = this.options.styleNode;\n\t\tconst block = this.options.block;\n\n\t\tlet selector;\n\t\tif (\n\t\t\tstyle.selector === block.selector\n\t\t\t|| style.selector === block.makeAbsoluteSelector(block.selector)\n\t\t)\n\t\t{\n\t\t\tselector = '#wrapper';\n\t\t}\n\t\telse if (!style.isSelectGroup())\n\t\t{\n\t\t\tselector = BX.Landing.Utils.join(\n\t\t\t\tstyle.selector.split(\"@\")[0],\n\t\t\t\t\"@\",\n\t\t\t\tstyle.getElementIndex(style.getNode()[0])\n\t\t\t);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tselector = style.selector.split(\"@\")[0];\n\t\t}\n\n\t\tconst data = {[selector]: {}};\n\t\tdata[selector].id = value.getFileId() || -1;\n\t\tdata[selector].id2x = value.getFileId2x() || -1;\n\n\t\tBackend.getInstance()\n\t\t\t.action(\n\t\t\t\t\"Landing\\\\Block::updateNodes\",\n\t\t\t\t{\n\t\t\t\t\tblock: this.options.block.id,\n\t\t\t\t\tdata: data,\n\t\t\t\t},\n\t\t\t)\n\t}\n\n\tonSizeChange(size: string)\n\t{\n\t\tif (Type.isString(size))\n\t\t{\n\t\t\tconst value = this.getValue() || new BgImageValue();\n\t\t\tvalue.setSize(size);\n\t\t\tthis.setValue(value);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tonAttachmentChange(event)\n\t{\n\t\tif (event instanceof BaseEvent)\n\t\t{\n\t\t\tconst value = this.getValue() || new BgImageValue();\n\t\t\tvalue.setAttachment(\n\t\t\t\tBgImageValue.getAttachmentValueByBool(this.attachmentField.getValue()),\n\t\t\t);\n\t\t\tthis.setValue(value);\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tonChange(event: ?BaseEvent)\n\t{\n\t\tthis.cache.delete('value');\n\t\tthis.emit('onChange', {data: {image: this.getValue()}});\n\t}\n\n\tgetValue(): ?BgImageValue\n\t{\n\t\t// todo: get size and attachement from controls\n\t\treturn this.cache.remember('value', () => {\n\t\t\tconst imgValue = this.imgField.getValue();\n\t\t\tconst url = imgValue.src;\n\t\t\tif (url === null)\n\t\t\t{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst value = new BgImageValue({\n\t\t\t\t\turl: url,\n\t\t\t\t\tfileId: imgValue.id,\n\t\t\t\t});\n\t\t\t\tif (imgValue.src2x)\n\t\t\t\t{\n\t\t\t\t\tvalue.setUrl2x(imgValue.src2x);\n\t\t\t\t\tvalue.setFileId2x(imgValue.fileId2x);\n\t\t\t\t}\n\t\t\t\tconst size = this.sizeField.getValue();\n\t\t\t\tif (size !== null)\n\t\t\t\t{\n\t\t\t\t\tvalue.setSize(size);\n\t\t\t\t}\n\n\t\t\t\tvalue.setAttachment(BgImageValue.getAttachmentValueByBool(this.attachmentField.getValue()));\n\n\t\t\t\t// todo: set overlay\n\n\t\t\t\treturn value;\n\t\t\t}\n\t\t});\n\t}\n\n\tsetValue(value: ?BgImageValue)\n\t{\n\t\tif (this.isNeedSetValue(value))\n\t\t{\n\t\t\t// todo: can delete prev image\n\t\t\tsuper.setValue(value);\n\n\t\t\tif (value === null)\n\t\t\t{\n\t\t\t\tthis.imgField.setValue({src: ''}, true);\n\t\t\t\t// todo: what set size and attachement?\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tif (value.getUrl() !== null)\n\t\t\t\t{\n\t\t\t\t\tthis.setActive();\n\t\t\t\t}\n\n\t\t\t\tconst imgFieldValue = {\n\t\t\t\t\ttype: 'image',\n\t\t\t\t\tsrc: value.getUrl(),\n\t\t\t\t\tid: value.getFileId(),\n\t\t\t\t};\n\t\t\t\tif (value.getUrl2x())\n\t\t\t\t{\n\t\t\t\t\timgFieldValue.src2x = value.getUrl2x();\n\t\t\t\t\timgFieldValue.id2x = value.getFileId2x();\n\t\t\t\t}\n\t\t\t\tthis.imgField.setValue(imgFieldValue, true);\n\t\t\t\tthis.sizeField.setValue(value.getSize(), true);\n\t\t\t\tthis.attachmentField.setValue([value.getAttachment(true)]);\n\t\t\t}\n\t\t}\n\t}\n\n\tsetActive(): void\n\t{\n\t\tDom.addClass(this.imgField.getLayout(), Image.ACTIVE_CLASS);\n\t}\n\n\tunsetActive(): void\n\t{\n\t\tDom.removeClass(this.imgField.getLayout(), Image.ACTIVE_CLASS);\n\t}\n}\n","export default function rgbaStringToRgbString(str: string): string | null\n{\n\tconst regRgba = /\\d{1,3}(\\.\\d+)?/g;\n\tconst rgba = str.match(regRgba);\n\tconst r = rgba[0] ? rgba[0] : null;\n\tconst g = rgba[1] ? rgba[1] : null;\n\tconst b = rgba[2] ? rgba[2] : null;\n\tif (r === null || g === null || b === null)\n\t{\n\t\treturn null;\n\t}\n\treturn createRgbString(r, g, b);\n}\n\nfunction createRgbString(r, g, b): string\n{\n\treturn 'rgb(' + r + ',' + g + ','+ b + ')';\n}","import {Tag, Type, Loc, Dom} from 'main.core';\nimport {BaseEvent} from \"main.core.events\";\n\nimport BgColor from './bg_color';\nimport Image from '../control/image/image';\nimport ColorSet from '../control/color_set/color_set';\n\nimport ColorValue from \"../color_value\";\nimport BgImageValue from '../bg_image_value';\nimport {IColorValue} from '../types/i_color_value';\nimport Opacity from '../control/opacity/opacity';\nimport Tabs from '../layout/tabs/tabs';\nimport GradientValue from '../gradient_value';\nimport Primary from '../layout/primary/primary';\nimport Zeroing from '../layout/zeroing/zeroing';\nimport {defaultBgImageSize, defaultBgImageAttachment} from \"../types/color_value_options\";\nimport rgbaStringToRgbString from '../internal/rgba-string-to-rgb-string';\n\nexport default class Bg extends BgColor\n{\n\tstatic BG_URL_VAR: string = '--bg-url';\n\tstatic BG_URL_2X_VAR: string = '--bg-url-2x';\n\tstatic BG_OVERLAY_VAR: string = '--bg-overlay';\n\tstatic BG_SIZE_VAR: string = '--bg-size';\n\tstatic BG_ATTACHMENT_VAR: string = '--bg-attachment';\n\tstatic BG_IMAGE: string = 'background-image';\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.Bg');\n\t\tthis.styleNode = options.styleNode;\n\t\tthis.parentVariableName = this.variableName;\n\t\tthis.variableName = [\n\t\t\tthis.parentVariableName,\n\t\t\tBg.BG_URL_VAR,\n\t\t\tBg.BG_URL_2X_VAR,\n\t\t\tBg.BG_OVERLAY_VAR,\n\t\t\tBg.BG_SIZE_VAR,\n\t\t\tBg.BG_ATTACHMENT_VAR,\n\t\t\tBg.BG_IMAGE,\n\t\t];\n\t\tthis.parentClassName = this.className;\n\t\tthis.className = 'g-bg-image';\n\n\t\tthis.image = new Image(options);\n\t\tthis.image.subscribe('onChange', this.onImageChange.bind(this));\n\n\t\tthis.overlay = new ColorSet(options);\n\t\tthis.overlay.subscribe('onChange', this.onOverlayColorChange.bind(this));\n\t\tthis.overlayOpacity = new Opacity({defaultOpacity: 0.5});\n\t\tthis.overlayOpacity.subscribe('onChange', this.onOverlayOpacityChange.bind(this));\n\t\tthis.overlayPrimary = new Primary();\n\t\tthis.overlayPrimary.subscribe('onChange', this.onOverlayPrimaryChange.bind(this));\n\t\tconst overlayZeroingOptions= {};\n\t\toverlayZeroingOptions.textCode = 'LANDING_FIELD_COLOR_OVERLAY_ZEROING_TITLE_2';\n\t\tthis.overlayZeroing = new Zeroing(overlayZeroingOptions);\n\t\tthis.overlayZeroing.subscribe('onChange', this.overlayZeroingChange.bind(this));\n\n\t\tthis.imageTabs = new Tabs().appendTab(\n\t\t\t'Overlay',\n\t\t\tLoc.getMessage('LANDING_FIELD_COLOR-BG_OVERLAY'),\n\t\t\t[this.overlay, this.overlayPrimary, this.overlayZeroing, this.overlayOpacity],\n\t\t);\n\n\t\tthis.bigTabs = new Tabs()\n\t\t\t.setBig(true)\n\t\t\t.appendTab(\n\t\t\t\t'Color',\n\t\t\t\tLoc.getMessage('LANDING_FIELD_COLOR-BG_COLOR'),\n\t\t\t\t[this.colorSet, this.primary, this.zeroing, this.tabs],\n\t\t\t)\n\t\t\t.appendTab(\n\t\t\t\t'Image',\n\t\t\t\tLoc.getMessage('LANDING_FIELD_COLOR-BG_IMAGE'),\n\t\t\t\t[this.image, this.imageTabs],\n\t\t\t);\n\t}\n\n\tbuildLayout(): HTMLElement\n\t{\n\t\treturn Tag.render`\n\t\t\t<div class=\"landing-ui-field-color-color\">\n\t\t\t\t${this.bigTabs.getLayout()}\n\t\t\t</div>\n\t\t`;\n\t}\n\n\tonColorSetChange(event: BaseEvent)\n\t{\n\t\tthis.image.unsetActive();\n\t\tthis.overlay.unsetActive();\n\n\t\tsuper.onColorSetChange(event);\n\t}\n\n\tonGradientChange(event: BaseEvent)\n\t{\n\t\tthis.image.unsetActive();\n\t\tthis.overlay.unsetActive();\n\n\t\tsuper.onGradientChange(event);\n\t}\n\n\tonImageChange()\n\t{\n\t\t// todo: can drop image from b_landing_file after change\n\t\tthis.unsetActive();\n\n\t\tthis.activeControl = this.image;\n\t\tthis.image.setActive();\n\n\t\tthis.modifyStyleNode(this.styleNode);\n\t}\n\n\tonOverlayChange(event: BaseEvent)\n\t{\n\t\tconst overlayValue = event.getData().color;\n\t\tif (overlayValue !== null)\n\t\t{\n\t\t\toverlayValue.setOpacity(this.overlayOpacity.getValue().getOpacity());\n\t\t}\n\t\tthis.overlayOpacity.setValue(overlayValue);\n\n\t\tconst imageValue = this.image.getValue();\n\t\tif (imageValue !== null)\n\t\t{\n\t\t\tthis.image.setValue(imageValue.setOverlay(overlayValue));\n\t\t\tthis.activeControl = this.image;\n\t\t\tthis.image.setActive();\n\t\t\tthis.colorSet.unsetActive();\n\t\t\tthis.gradient.unsetActive();\n\t\t}\n\n\t\tthis.modifyStyleNode(this.styleNode);\n\t}\n\n\tonOverlayOpacityChange()\n\t{\n\t\tthis.modifyStyleNode(this.styleNode);\n\t}\n\n\tonOverlayColorChange(event: BaseEvent)\n\t{\n\t\tthis.overlayPrimary.unsetActive();\n\t\tthis.overlayZeroing.unsetActive();\n\t\tthis.onOverlayChange(event);\n\t}\n\n\tonOverlayPrimaryChange(event: BaseEvent)\n\t{\n\t\tthis.overlay.unsetActive();\n\t\tthis.overlayZeroing.unsetActive();\n\t\tthis.onOverlayChange(event);\n\t}\n\n\toverlayZeroingChange(event: BaseEvent)\n\t{\n\t\tthis.overlay.unsetActive();\n\t\tthis.overlayPrimary.unsetActive();\n\t\tthis.overlayZeroing.setActive();\n\t\tthis.onOverlayChange(event);\n\t}\n\n\tunsetActive()\n\t{\n\t\tsuper.unsetActive();\n\t\tthis.image.unsetActive();\n\t}\n\n\t/**\n\t * Set value by new format\n\t */\n\tsetProcessorValue(value: {string: string}): void\n\t{\n\t\tthis.cache.delete('value');\n\t\tthis.setValue(value);\n\t}\n\n\tsetValue(value: {string: string} | string | null): void\n\t{\n\t\tthis.image.setValue(null);\n\t\tthis.bigTabs.showTab('Color');\n\n\t\tif (Type.isNull(value))\n\t\t{\n\t\t\tsuper.setValue(value);\n\t\t}\n\t\telse if (Type.isString(value))\n\t\t{\n\t\t\tsuper.setValue(value);\n\t\t}\n\t\telse if (this.parentVariableName in value && Type.isString(value[this.parentVariableName]))\n\t\t{\n\t\t\tsuper.setValue(value[this.parentVariableName]);\n\t\t}\n\t\telse if (Type.isObject(value))\n\t\t{\n\t\t\t// todo: super.setValue null?\n\t\t\tconst bgValue = new BgImageValue();\n\t\t\tif (Bg.BG_URL_VAR in value)\n\t\t\t{\n\t\t\t\tbgValue.setUrl(value[Bg.BG_URL_VAR].replace(/url\\([\"']/i, '').replace(/['\"]\\)/i, ''));\n\t\t\t}\n\t\t\tif (Bg.BG_URL_2X_VAR in value)\n\t\t\t{\n\t\t\t\tbgValue.setUrl2x(value[Bg.BG_URL_2X_VAR].replace(/url\\([\"']/i, '').replace(/['\"]\\)/i, ''));\n\t\t\t}\n\t\t\tif (Bg.BG_SIZE_VAR in value)\n\t\t\t{\n\t\t\t\tbgValue.setSize(value[Bg.BG_SIZE_VAR]);\n\t\t\t}\n\t\t\tif (Bg.BG_ATTACHMENT_VAR in value)\n\t\t\t{\n\t\t\t\tbgValue.setAttachment(value[Bg.BG_ATTACHMENT_VAR]);\n\t\t\t}\n\t\t\tif (Bg.BG_OVERLAY_VAR in value)\n\t\t\t{\n\t\t\t\tbgValue.setOverlay(new ColorValue(value[Bg.BG_OVERLAY_VAR]));\n\t\t\t}\n\t\t\tthis.image.setValue(bgValue);\n\t\t\tthis.bigTabs.showTab('Image');\n\t\t\tthis.activeControl = this.image;\n\n\t\t\tthis.imageTabs.showTab('Overlay');\n\t\t\tif (Bg.BG_OVERLAY_VAR in value)\n\t\t\t{\n\t\t\t\tconst overlayValue = new ColorValue(value[Bg.BG_OVERLAY_VAR]);\n\t\t\t\tthis.overlay.setValue(overlayValue);\n\t\t\t\tthis.overlayOpacity.setValue(overlayValue);\n\t\t\t\tif (value[Bg.BG_OVERLAY_VAR].startsWith('var(--primary') || value['isPrimaryBasedColor'] === true)\n\t\t\t\t{\n\t\t\t\t\tthis.overlayPrimary.setActive();\n\t\t\t\t\tthis.overlay.unsetActive();\n\t\t\t\t}\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tthis.overlayZeroing.setActive();\n\t\t\t}\n\t\t}\n\t}\n\n\t// todo: create base value instead interface. In this case can return ALL types, color, grad, bg\n\tgetValue(): ?IColorValue\n\t{\n\t\treturn this.cache.remember('value', () => {\n\t\t\tif (this.activeControl === this.image)\n\t\t\t{\n\t\t\t\tconst imageValue = this.image.getValue();\n\t\t\t\tlet overlayValue;\n\t\t\t\tlet isActive = false;\n\t\t\t\tif (this.overlay.isActive())\n\t\t\t\t{\n\t\t\t\t\toverlayValue = this.overlay.getValue();\n\t\t\t\t\tisActive = true;\n\t\t\t\t}\n\t\t\t\tif (this.overlayPrimary.isActive())\n\t\t\t\t{\n\t\t\t\t\toverlayValue = this.overlayPrimary.getValue();\n\t\t\t\t\tisActive = true;\n\t\t\t\t}\n\t\t\t\tif (this.overlayZeroing.isActive())\n\t\t\t\t{\n\t\t\t\t\toverlayValue = null;\n\t\t\t\t}\n\t\t\t\tif (imageValue !== null && overlayValue !== null && isActive)\n\t\t\t\t{\n\t\t\t\t\toverlayValue.setOpacity(this.overlayOpacity.getValue().getOpacity());\n\t\t\t\t\timageValue.setOverlay(overlayValue);\n\t\t\t\t}\n\n\t\t\t\treturn imageValue;\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\treturn super.getValue();\n\t\t\t}\n\t\t});\n\t}\n\n\tgetClassName(): [string]\n\t{\n\t\tconst value = this.getValue();\n\t\tif (value === null || value instanceof ColorValue || value instanceof GradientValue)\n\t\t{\n\t\t\treturn [this.parentClassName];\n\t\t}\n\n\t\treturn [this.className];\n\t}\n\n\t// todo: what about fileid?\n\tgetStyle(): {string: ?string}\n\t{\n\t\tif (this.getValue() === null)\n\t\t{\n\t\t\t// todo: not null, but what?\n\t\t\treturn {\n\t\t\t\t[this.parentVariableName]: null,\n\t\t\t\t[Bg.BG_URL_VAR]: null,\n\t\t\t\t[Bg.BG_URL_2X_VAR]: null,\n\t\t\t\t[Bg.BG_OVERLAY_VAR]: null,\n\t\t\t\t[Bg.BG_SIZE_VAR]: null,\n\t\t\t\t[Bg.BG_ATTACHMENT_VAR]: null,\n\t\t\t};\n\t\t}\n\n\t\tconst value = this.getValue();\n\t\tlet color = null;\n\t\tlet image = null;\n\t\tlet image2x = null;\n\t\tlet overlay = null;\n\t\tlet size = null;\n\t\tlet attachment = null;\n\t\tconst backgroundImage = '';\n\t\tif (value instanceof ColorValue || value instanceof GradientValue)\n\t\t{\n\t\t\t// todo: need change class if not a image?\n\t\t\tcolor = value.getStyleString();\n\t\t}\n\t\telse\n\t\t{\n\t\t\timage = value.getUrl() ? `url('${value.getUrl()}')` : '';\n\t\t\timage2x = value.getUrl2x() ? `url('${value.getUrl2x()}')` : '';\n\t\t\toverlay = value.getOverlay() ? value.getOverlay().getStyleString() : 'rgba(0, 0, 0, 0)';\n\t\t\tsize = value.getSize();\n\t\t\tattachment = value.getAttachment();\n\t\t}\n\n\t\treturn {\n\t\t\t[this.parentVariableName]: color,\n\t\t\t[Bg.BG_URL_VAR]: image,\n\t\t\t[Bg.BG_URL_2X_VAR]: image2x ? image2x : image,\n\t\t\t[Bg.BG_OVERLAY_VAR]: overlay,\n\t\t\t[Bg.BG_SIZE_VAR]: size,\n\t\t\t[Bg.BG_ATTACHMENT_VAR]: attachment,\n\t\t\t[Bg.BG_IMAGE]: backgroundImage,\n\t\t};\n\t}\n\n\tmodifyStyleNode(styleNode)\n\t{\n\t\tDom.style(styleNode.getNode()[0], Bg.BG_IMAGE, '');\n\t\tthis.onChange();\n\t}\n\n\tprepareProcessorValue(processorValue, defaultValue)\n\t{\n\t\tif (defaultValue && defaultValue.hasOwnProperty(Bg.BG_IMAGE))\n\t\t{\n\t\t\tconst regUrl = /url\\(/i;\n\t\t\tconst searchUrl = defaultValue[Bg.BG_IMAGE].match(regUrl);\n\t\t\tif (searchUrl !== null)\n\t\t\t{\n\t\t\t\tprocessorValue[Bg.BG_IMAGE] = '';\n\t\t\t\tprocessorValue[Bg.BG_SIZE_VAR] = defaultBgImageSize;\n\t\t\t\tprocessorValue[Bg.BG_ATTACHMENT_VAR] = defaultBgImageAttachment;\n\t\t\t\tconst regUrl = /image-set\\(url\\(/i;\n\t\t\t\tconst searchUrl = defaultValue[Bg.BG_IMAGE].match(regUrl);\n\t\t\t\tif (searchUrl !== null)\n\t\t\t\t{\n\t\t\t\t\tconst regSearchUrl = /\"(https?:\\/)?\\/[\\S]*\"/gi;\n\t\t\t\t\tconst search = defaultValue[Bg.BG_IMAGE].match(regSearchUrl);\n\t\t\t\t\tif (search)\n\t\t\t\t\t{\n\t\t\t\t\t\tprocessorValue[Bg.BG_URL_VAR] = search[0].replaceAll('\"', '');\n\t\t\t\t\t\tif (search.length === 2)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprocessorValue[Bg.BG_URL_2X_VAR] = search[1].replaceAll('\"', '');\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tprocessorValue[Bg.BG_URL_2X_VAR] = search[0].replaceAll('\"', '');\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tprocessorValue[Bg.BG_URL_VAR] = defaultValue[Bg.BG_IMAGE];\n\t\t\t\t\tprocessorValue[Bg.BG_URL_2X_VAR] = defaultValue[Bg.BG_IMAGE];\n\t\t\t\t}\n\t\t\t\tconst computedStyleNode = getComputedStyle(this.styleNode.getNode()[0], ':after');\n\t\t\t\tprocessorValue[Bg.BG_OVERLAY_VAR] = computedStyleNode.backgroundColor;\n\t\t\t\tconst currentColorRgb = rgbaStringToRgbString(computedStyleNode.backgroundColor);\n\t\t\t\tconst primaryColorRgb = rgbaStringToRgbString(computedStyleNode.getPropertyValue('--primary-opacity-0'));\n\t\t\t\tif (\n\t\t\t\t\tcurrentColorRgb !== null\n\t\t\t\t\t&& primaryColorRgb !== null\n\t\t\t\t\t&& currentColorRgb === primaryColorRgb\n\t\t\t\t)\n\t\t\t\t{\n\t\t\t\t\tprocessorValue['isPrimaryBasedColor'] = true;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn processorValue;\n\t}\n}\n","import Color from \"./color\";\n\nexport default class BorderColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BorderColor');\n\t\tthis.property = 'border-color';\n\t\tthis.variableName = '--border-color';\n\t\tthis.className = 'g-border-color';\n\t}\n}","import Color from \"./color\";\n\nexport default class BorderColorHover extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BorderColorHover');\n\t\tthis.property = 'border-color';\n\t\tthis.variableName = '--border-color--hover';\n\t\tthis.className = 'g-border-color--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import BgColor from './bg_color';\n\nexport default class BgColorHover extends BgColor\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BgColorHover');\n\t\tthis.property = ['background-image', 'background-color'];\n\t\tthis.variableName = '--bg-hover';\n\t\tthis.className = 'g-bg--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import BgColor from './bg_color';\n\nimport ColorValue from '../color_value';\n\nexport default class BgColorAfter extends BgColor\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BgColorAfter');\n\t\tthis.property = ['background-image', 'background-color'];\n\t\tthis.variableName = '--bg--after';\n\t\tthis.className = 'g-bg--after';\n\t\tthis.pseudoClass = ':after';\n\n\t\tconst opacityValue = this.getValue() || new ColorValue();\n\t\tthis.opacity.setValue(opacityValue.setOpacity(0.5));\n\t\tthis.tabs.showTab('Opacity');\n\t}\n}\n","import BgColor from './bg_color';\nimport ColorValue from '../color_value';\n\nexport default class BgColorBefore extends BgColor\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BgColorBefore');\n\t\tthis.property = ['background-image', 'background-color'];\n\t\tthis.variableName = '--bg--before';\n\t\tthis.className = 'g-bg--before';\n\t\tthis.pseudoClass = ':before';\n\n\t\tconst opacityValue = this.getValue() || new ColorValue();\n\t\tthis.opacity.setValue(opacityValue.setOpacity(0.5));\n\t\tthis.tabs.showTab('Opacity');\n\t}\n}\n","import Color from './color';\n\nexport default class NavbarColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarColor');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--navbar-color';\n\t\tthis.className = 'u-navbar-color';\n\t}\n}","import Color from './color';\n\nexport default class NavbarColorHover extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarColorHover');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--navbar-color--hover';\n\t\tthis.className = 'u-navbar-color--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import Color from './color';\n\nexport default class NavbarColorFixMoment extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarColorFixMoment');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--navbar-color--fix-moment';\n\t\tthis.className = 'u-navbar-color--fix-moment';\n\t}\n}","import Color from './color';\n\nexport default class NavbarColorFixMomentHover extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarColorFixMomentHover');\n\t\tthis.property = 'color';\n\t\tthis.variableName = '--navbar-color--fix-moment--hover';\n\t\tthis.className = 'u-navbar-color--fix-moment--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import Color from './color';\n\nexport default class NavbarBgColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarBgColor');\n\t\tthis.property = 'background-color';\n\t\tthis.variableName = '--navbar-bg-color';\n\t\tthis.className = 'u-navbar-bg';\n\t}\n}","import Color from './color';\n\nexport default class NavbarBgColorHover extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarBgColorHover');\n\t\tthis.property = 'background-color';\n\t\tthis.variableName = '--navbar-bg-color--hover';\n\t\tthis.className = 'u-navbar-bg--hover';\n\t\tthis.pseudoClass = ':hover';\n\t}\n}","import Color from \"./color\";\n\nexport default class BorderColorTop extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.BorderColorTop');\n\t\tthis.property = 'border-top-color';\n\t\tthis.variableName = '--border-color-top';\n\t\tthis.className = 'g-border-color-top';\n\t}\n}","import Color from \"./color\";\n\nexport default class FillColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.FillColor');\n\t\tthis.property = 'fill';\n\t\tthis.pseudoClass = ':before';\n\t\tthis.variableName = '--fill-first';\n\t\tthis.className = 'g-fill-first';\n\t}\n}","import Color from \"./color\";\n\nexport default class FillColorSecond extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.FillColorSecond');\n\t\tthis.property = 'fill';\n\t\tthis.pseudoClass = ':after';\n\t\tthis.variableName = '--fill-second';\n\t\tthis.className = 'g-fill-second';\n\t}\n}","import Color from \"./color\";\nimport ColorValue from '../color_value';\n\nexport default class ButtonColor extends Color\n{\n\tstatic COLOR_CONTRAST_VAR: string = '--button-color-contrast';\n\tstatic COLOR_HOVER_VAR: string = '--button-color-hover';\n\tstatic COLOR_LIGHT_VAR: string = '--button-color-light';\n\tstatic COLOR_VAR: string = '--button-color';\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.ButtonColor');\n\t\tthis.property = 'background-color';\n\t\t// order is important! Base variable must be last. Hack :-/\n\t\tthis.variableName = [\n\t\t\tButtonColor.COLOR_CONTRAST_VAR,\n\t\t\tButtonColor.COLOR_HOVER_VAR,\n\t\t\tButtonColor.COLOR_LIGHT_VAR,\n\t\t\tButtonColor.COLOR_VAR,\n\t\t];\n\t\tthis.className = 'g-button-color'; //todo: ?\n\t}\n\n\tgetStyle(): {string: ?string}\n\t{\n\t\tif (this.getValue() === null)\n\t\t{\n\t\t\treturn {\n\t\t\t\t[ButtonColor.COLOR_CONTRAST_VAR]: null,\n\t\t\t\t[ButtonColor.COLOR_HOVER_VAR]: null,\n\t\t\t\t[ButtonColor.COLOR_LIGHT_VAR]: null,\n\t\t\t\t[ButtonColor.COLOR_VAR]: null,\n\t\t\t};\n\t\t}\n\n\t\tconst value = this.getValue();\n\t\tconst valueContrast = value.getContrast().lighten(10);\n\t\tconst valueHover = new ColorValue(value).lighten(10);\n\t\tconst valueLight = value.getLighten();\n\n\t\treturn {\n\t\t\t[ButtonColor.COLOR_CONTRAST_VAR]: valueContrast.getStyleString(),\n\t\t\t[ButtonColor.COLOR_HOVER_VAR]: valueHover.getStyleString(),\n\t\t\t[ButtonColor.COLOR_LIGHT_VAR]: valueLight.getStyleString(),\n\t\t\t[ButtonColor.COLOR_VAR]: value.getStyleString(),\n\t\t};\n\t}\n}","import Color from './color';\n\nexport default class NavbarCollapseBgColor extends Color\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.Landing.UI.Field.Processor.NavbarCollapseBgColor');\n\t\tthis.property = 'background-color';\n\t\tthis.variableName = '--navbar-collapse-bg-color';\n\t\tthis.className = 'u-navbar-collapse-bg';\n\t}\n}","import {Dom, Type} from 'main.core';\nimport {BaseField} from 'landing.ui.field.basefield';\n\nimport BaseProcessor from './processor/base_processor';\nimport Color from './processor/color';\nimport ColorHover from './processor/color_hover';\nimport Bg from './processor/bg';\nimport BorderColor from './processor/border_color';\nimport BorderColorHover from './processor/border_color_hover';\nimport BgColor from './processor/bg_color';\nimport BgColorHover from './processor/bg_color_hover';\nimport BgColorAfter from './processor/bg_color_after';\nimport BgColorBefore from './processor/bg_color_before';\nimport NavbarColor from './processor/navbar_color';\nimport NavbarColorHover from './processor/navbar_color_hover';\nimport NavbarColorFixMoment from './processor/navbar_color_fix_moment';\nimport NavbarColorFixMomentHover from './processor/navbar_color_fix_moment_hover';\nimport NavbarBgColor from './processor/navbar_bg';\nimport NavbarBgColorHover from './processor/navbar_bg_hover';\nimport BorderColorTop from './processor/border_color-top';\nimport FillColor from './processor/fill_color';\nimport FillColorSecond from './processor/fill_color_second';\nimport ButtonColor from './processor/button_color';\nimport {IColorValue} from './types/i_color_value';\nimport NavbarCollapseBgColor from './processor/navbar_collapse_bg';\n\nexport class ColorField extends BaseField\n{\n\tprocessor: BaseProcessor;\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.items = ('items' in options && options.items) ? options.items : [];\n\t\tthis.postfix = (typeof options.postfix === 'string') ? options.postfix : '';\n\t\tthis.frame = (typeof options.frame === 'object') ? options.frame : null;\n\t\tconst processorOptions = {\n\t\t\tblock: options.block,\n\t\t\tstyleNode: options.styleNode,\n\t\t\tselector: options.selector,\n\t\t\tcontentRoot: this.contentRoot,\n\t\t};\n\n\t\tthis.changeHandler = (typeof options.onChange === \"function\") ? options.onChange : (() => {});\n\t\tthis.resetHandler = (typeof options.onReset === \"function\") ? options.onReset : (function () {});\n\n\t\t// todo: rename \"subtype\"\n\t\tswitch (options.subtype)\n\t\t{\n\t\t\tcase 'color':\n\t\t\t\tthis.processor = new Color(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'color-hover':\n\t\t\t\tthis.processor = new ColorHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'bg':\n\t\t\t\tthis.processor = new Bg(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'bg-color':\n\t\t\t\tthis.processor = new BgColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'bg-color-hover':\n\t\t\t\tthis.processor = new BgColorHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'bg-color-after':\n\t\t\t\tthis.processor = new BgColorAfter(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'bg-color-before':\n\t\t\t\tthis.processor = new BgColorBefore(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'border-color':\n\t\t\t\tthis.processor = new BorderColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'border-color-hover':\n\t\t\t\tthis.processor = new BorderColorHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'border-color-top':\n\t\t\t\tthis.processor = new BorderColorTop(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-color':\n\t\t\t\tthis.processor = new NavbarColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-color-hover':\n\t\t\t\tthis.processor = new NavbarColorHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-color-fix-moment':\n\t\t\t\tthis.processor = new NavbarColorFixMoment(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-color-fix-moment-hover':\n\t\t\t\tthis.processor = new NavbarColorFixMomentHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-bg-color':\n\t\t\t\tthis.processor = new NavbarBgColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-bg-color-hover':\n\t\t\t\tthis.processor = new NavbarBgColorHover(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'navbar-collapse-bg-color':\n\t\t\t\tthis.processor = new NavbarCollapseBgColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'fill-color':\n\t\t\t\tthis.processor = new FillColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'fill-color-second':\n\t\t\t\tthis.processor = new FillColorSecond(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tcase 'button-color':\n\t\t\t\tthis.processor = new ButtonColor(processorOptions);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tthis.property = this.processor.getProperty()[this.processor.getProperty().length - 1];\n\t\tthis.processor.getClassName().forEach(\n\t\t\titem => this.items.push({name: item, value: item}),\n\t\t);\n\n\t\t// todo: what a input?\n\t\tDom.remove(this.input);\n\t\tthis.layout.classList.add(\"landing-ui-field-color\");\n\t\tDom.append(this.processor.getLayout(), this.layout);\n\n\t\tthis.processor.subscribe('onChange', this.onChange.bind(this));\n\t\tthis.processor.subscribe('onReset', this.onReset.bind(this));\n\t}\n\n\tgetInlineProperties(): [string]\n\t{\n\t\treturn this.processor.getVariableName();\n\t}\n\n\tprepareInlineProperties(props): [string]\n\t{\n\t\tprops.push('background-image');\n\t\treturn props;\n\t}\n\n\tgetComputedProperties(): [string]\n\t{\n\t\treturn this.processor.getProperty();\n\t}\n\n\tgetPseudoElement(): ?string\n\t{\n\t\treturn this.processor.getPseudoClass();\n\t}\n\n\tonChange()\n\t{\n\t\tthis.changeHandler(\n\t\t\t{\n\t\t\t\tclassName: this.processor.getClassName(),\n\t\t\t\tstyle: this.processor.getStyle(),\n\t\t\t},\n\t\t\tthis.items,\n\t\t\tthis.postfix,\n\t\t\tthis.property,\n\t\t);\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonReset()\n\t{\n\t\tthis.resetHandler(this.items, this.postfix, this.property);\n\t}\n\n\tgetValue(): IColorValue\n\t{\n\t\treturn this.processor.getValue() || this.processor.getNullValue();\n\t}\n\n\tsetValue(value: {string: ?string})\n\t{\n\t\tlet processorValue = null;\n\t\t// now for multiple properties get just last value. Maybe, need object-like values\n\t\tthis.prepareInlineProperties(this.getInlineProperties()).forEach(prop => {\n\t\t\tif (prop in value && !this.processor.isNullValue(value[prop]))\n\t\t\t{\n\t\t\t\tif (!Type.isObject(processorValue))\n\t\t\t\t{\n\t\t\t\t\tprocessorValue = {};\n\t\t\t\t}\n\t\t\t\tprocessorValue[prop] = value[prop];\n\t\t\t}\n\t\t});\n\n\t\tlet defaultValue = null;\n\t\tthis.getComputedProperties().forEach(prop => {\n\t\t\tif (prop in value && !this.processor.isNullValue(value[prop]))\n\t\t\t{\n\t\t\t\tif (!Type.isObject(defaultValue))\n\t\t\t\t{\n\t\t\t\t\tdefaultValue = {};\n\t\t\t\t}\n\t\t\t\tdefaultValue[prop] = value[prop];\n\t\t\t}\n\t\t});\n\n\t\tprocessorValue = this.processor.prepareProcessorValue(processorValue, defaultValue);\n\t\tif (processorValue !== null)\n\t\t{\n\t\t\tthis.processor.setProcessorValue(processorValue);\n\t\t}\n\t\telse\n\t\t{\n\t\t\tthis.processor.setDefaultValue(defaultValue);\n\t\t\tthis.processor.defineActiveControl(this.items, this.data.styleNode);\n\t\t}\n\t}\n\n\tonFrameLoad()\n\t{\n\t\t// todo: now not work with \"group select\", can use just any node from elements. If group - need forEach\n\n\t\tconst value = this.data.styleNode.getValue(true);\n\t\tthis.setValue(value.style);\n\t}\n}"],"names":["matcher","isRgbString","rgbString","match","matcherHex","isHex","hex","trim","matcherHsl","isHslString","hsla","hexToRgb","length","r","parseInt","g","b","rgbToHsla","rgb","max","Math","min","h","s","l","d","round","a","hexToHsl","rgbToHex","toString","hslToRgb","hsl","c","abs","x","m","hslToHex","rgbStringToHsla","matches","Text","toNumber","hslStringToHsl","hslString","isCssVar","css","parseCssVar","cssVar","full","name","cssVarWithOpacity","cssVarWithOpacity0","startsWith","opacity","newOpacity","substr","parseFloat","replace","toFixed","defaultColorValueOptions","defaultBgImageSize","defaultBgImageAttachment","defaultOverlay","defaultBgImageValueOptions","url","size","attachment","overlay","ColorValue","constructor","value","setValue","getName","getHex","getOpacity","getHsl","Type","isObject","getHsla","getCssVar","getHexOriginal","isString","cssPrimaryVarName","Dom","style","document","documentElement","setOpacity","offsetFromCorrectValue","lighten","percent","darken","saturate","desaturate","adjustHue","degree","getStyleString","fullCssVar","String","getStyleStringForOpacity","compare","color1","color2","getMedian","getContrast","k","rad","PI","sin","deltaL","getLighten","BaseProcessor","EventEmitter","options","cache","Cache","MemoryCache","property","pseudoClass","setEventNamespace","getProperty","isArray","getVariableName","variableName","isNullValue","isNull","getNullValue","getPseudoClass","getLayout","remember","buildLayout","Tag","render","getClassName","className","getValue","getStyle","setProcessorValue","processorProperty","delete","setDefaultValue","inlineProperty","unsetActive","set","onReset","emit","onChange","defineActiveControl","items","currentNode","setActiveControl","controlName","prepareProcessorValue","processorValue","defaultValue","data","BaseControl","isNeedSetValue","event","color","setActive","addClass","ACTIVE_CLASS","removeClass","isActive","hasClass","Hex","previewMode","onInput","Runtime","debounce","bind","onButtonClick","setPreviewMode","preview","Event","getInput","getButton","adjustColors","DEFAULT_COLOR","DEFAULT_BG","DEFAULT_TEXT","substring","toLowerCase","textColor","bgColor","querySelector","focus","unFocus","blur","innerText","PageObject","getRootWindow","activeElement","Spectrum","getDefaultSaturation","global","window","top","location","saturation","urlParam","URL","searchParams","get","DEFAULT_SATURATION","body","setProperty","onPickerDragStart","onPickerDragMove","onPickerDragEnd","onScroll","scrollContext","contentRoot","getPicker","getPickerPos","y","ctrlKey","metaKey","button","showPicker","target","setPickerPos","pageX","pageY","unbind","getLayoutRect","layoutRect","getBoundingClientRect","width","height","left","leftToSet","HUE_RANGE","HUE_RANGE_GRAY_THRESHOLD","HUE_RANGE_GRAY_MIDDLE","HIDE_CLASS","layoutWidth","layoutHeight","isNaN","isSpectrumValue","hidePicker","Recent","initItems","getLayoutContainer","itemsLoaded","buildItemsLayout","Backend","getInstance","action","USER_OPTION_NAME","then","result","split","forEach","item","MAX_ITEMS","push","clean","itemLayout","onItemClick","append","currentTarget","dataset","addItem","pos","indexOf","splice","unshift","saveItems","BX","userOptions","save","Colorpicker","popupId","getRandom","popupTargetContainer","hexPreview","onPopupOpenClick","subscribe","onHexChange","onSelectClick","spectrum","onSpectrumChange","recent","onRecentChange","getCancelButton","onCancelClick","getSelectButton","previously","BaseEvent","getData","getPopup","close","getPopupContent","Loc","getMessage","getHexPreviewObject","PopupManager","create","id","autoHide","bindElement","bindOptions","forceTop","forceLeft","padding","contentPadding","offsetTop","offsetLeft","content","closeByEsc","targetContainer","recentColor","show","isShown","setActivity","Primary","onClick","CSS_VAR","isPrimaryValue","regexpWoStartEnd","regexp","RegExp","regexpToString","source","matcherGradient","matcherGradientAngle","hexMatcher","matcherGradientColors","isGradientString","GradientValue","from","to","angle","DEFAULT_ANGLE","type","DEFAULT_TYPE","getAngle","getType","getFrom","getTo","parseGradientString","typeMatches","angleMatches","colorMatches","setAngle","isNumber","setType","TYPE_RADIAL","TYPE_LINEAR","fromString","value1","value2","base","ext","defaultType","gradientType","Generator","getDefaultPresets","presets","defaultPresets","preset","map","getPrimaryColorPreset","primary","lBeforeCount","ceil","floor","lAfterCount","deltaLBefore","deltaLAfter","i","ii","deltaBitrixL","deltaBitrixS","bitrixColor","BITRIX_COLOR","deltaL2","deltaS","deltaS2","getBlackAndWhitePreset","start","getGradientByColorOptions","pairs","pair","Preset","activeItem","getId","getGradientPreset","getItemLayout","getItemByName","find","isPresetValue","some","setActiveItem","itemName","setActiveValue","PresetCollection","activeId","onPresetClick","getOpenButton","toggle","onPresetChangeGlobal","addDefaultPresets","addPreset","Object","keys","getGlobalActiveId","globalActiveId","getActiveId","getDefaultPreset","getActivePreset","getPresetById","getPresetByItemValue","getTitleContainer","getPopupLayout","layouts","innerLayouts","presetId","layout","getPresetLayout","Reset","hint","UI","Hint","createInstance","popupParameters","init","ColorSet","reset","blackAndWhitePreset","onPresetItemChange","colorpicker","setPreset","getPresetContainer","getTitleLayout","getPreset","getPresetsCollection","activePreset","Opacity","defaultOpacity","Reflect","has","DEFAULT_OPACITY","pickerControl","rangeControl","arrowsUp","arrowsDown","rangeInput","onArrowClick","defaultOpacityValue","getColorLayout","setPickerPosByOpacity","onRangeControlChange","leftPos","getDefaultValue","pickerLeft","valueToSet","background","title","innerHTML","arrowName","newOpacityInputValue","opacityInputValue","Tabs","tabs","multiple","isBig","onToggle","setMultiple","setBig","big","appendTab","tab","Tab","bindEvents","prependTab","showTab","hide","getTabById","additional","head","getTitle","tabLayout","toggleClass","SHOW_CLASS","Zeroing","textCode","Color","colorSet","onColorSetChange","onOpacityChange","zeroing","onZeroingChange","onPrimaryChange","valueObj","styleNode","isUndefined","oldClass","activeControl","node","getNode","reg","found","PRIMARY_VAR","ColorHover","Gradient","ROTATE_STEP","colorpickerFrom","onColorChange","colorpickerTo","getPopupButton","onPopupOpen","getRotateButton","onRotate","getSwitchTypeButton","onSwitchType","getSwapButton","onSwap","fromValue","toValue","fromValueToSet","toValueToSet","isButtonEnable","disableButton","enableButton","DISABLE_CLASS","correctColorpickerColors","hexFrom","hexTo","colorFrom","colorTo","median","offset","getContainerLayout","unsetColorpickerActive","rotate","gradient","setColorpickerActive","BgColor","onGradientChange","setGradientPreset","onTabsToggle","gradientPreset","gradValue","onOverlayOpacityChange","isNil","gradientValue","matcherBgImage","isBgImageString","bgImage","getMatcherWithOverlay","matcherBgString","matcherGradientString","BgImageValue","getUrl","url2x","getUrl2x","fileId","getFileId","fileId2x","getFileId2x","getSize","getAttachment","parseBgString","string","matchesBg","matchesOverlay","setUrl","setUrl2x","setFileId","setFileId2x","setSize","setAttachment","setOverlay","needBool","getOverlay","endString","getSizeItemsForButtons","getAttachmentValueByBool","Image","rootWindow","imgField","Landing","Field","compactMode","disableLink","disableAltField","allowClear","dimensions","uploadParams","block","onImageChange","sizeField","Dropdown","onSizeChange","attachmentField","Checkbox","compact","onAttachmentChange","src","src2x","id2x","saveNode","selector","makeAbsoluteSelector","isSelectGroup","Utils","join","getElementIndex","image","imgValue","imgFieldValue","rgbaStringToRgbString","str","regRgba","rgba","createRgbString","Bg","parentVariableName","BG_URL_VAR","BG_URL_2X_VAR","BG_OVERLAY_VAR","BG_SIZE_VAR","BG_ATTACHMENT_VAR","BG_IMAGE","parentClassName","onOverlayColorChange","overlayOpacity","overlayPrimary","onOverlayPrimaryChange","overlayZeroingOptions","overlayZeroing","overlayZeroingChange","imageTabs","bigTabs","modifyStyleNode","onOverlayChange","overlayValue","imageValue","bgValue","image2x","backgroundImage","hasOwnProperty","regUrl","searchUrl","regSearchUrl","search","replaceAll","computedStyleNode","getComputedStyle","backgroundColor","currentColorRgb","primaryColorRgb","getPropertyValue","BorderColor","BorderColorHover","BgColorHover","BgColorAfter","opacityValue","BgColorBefore","NavbarColor","NavbarColorHover","NavbarColorFixMoment","NavbarColorFixMomentHover","NavbarBgColor","NavbarBgColorHover","BorderColorTop","FillColor","FillColorSecond","ButtonColor","COLOR_CONTRAST_VAR","COLOR_HOVER_VAR","COLOR_LIGHT_VAR","COLOR_VAR","valueContrast","valueHover","valueLight","NavbarCollapseBgColor","ColorField","BaseField","postfix","frame","processorOptions","changeHandler","resetHandler","subtype","processor","remove","input","classList","add","getInlineProperties","prepareInlineProperties","props","getComputedProperties","getPseudoElement","prop","onFrameLoad"],"mappings":"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"}
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Generation time: 0.29 |
proxy
|
phpinfo
|
Settings