Current Path : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/sign-up/dist/ |
Current File : /var/www/www-root/data/www/www.monolith-realty.ru/bitrix/js/ui/sign-up/dist/sign-up.bundle.js.map |
{"version":3,"file":"sign-up.bundle.js","sources":["../src/tabs/tab.js","../src/tabs/tabs.js","../src/footer/footer.js","../src/canvas-wrapper/canvas-wrapper.js","../src/content/content.js","../src/content/initials/initials.js","../src/content/touch/internal/get-point.js","../src/content/touch/touch.js","../src/content/photo/photo.js","../src/images/initials.svg","../src/images/initials-active.svg","../src/images/touch.svg","../src/images/touch-active.svg","../src/images/photo.svg","../src/images/photo-active.svg","../src/sign-up.js"],"sourcesContent":["import {EventEmitter} from 'main.core.events';\nimport {Tag, Cache, Text, Dom} from 'main.core';\nimport type {TabOptions} from './types/tabs-options';\nimport typeof {Content} from '../content/content';\n\nimport './css/tab.css';\n\nexport class Tab extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: TabOptions)\n\t{\n\t\tsuper();\n\t\tthis.setOptions(options);\n\t\tthis.setEventNamespace('BX.UI.SignUp.Tabs.Tab');\n\t\tthis.subscribeFromOptions(options.events);\n\t}\n\n\tsetOptions(options: TabOptions)\n\t{\n\t\tthis.cache.set('options', {...options});\n\t}\n\n\tgetOptions(): TabOptions\n\t{\n\t\treturn this.cache.get('options', {});\n\t}\n\n\tgetIconNode(): HTMLSpanElement\n\t{\n\t\treturn this.cache.remember('iconNode', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<span style=\"background-image: url('${this.getOptions().icon}');\"></span>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetHeaderLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('headerLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"ui-sign-up-tabs-tab-header\" \n\t\t\t\t\tdata-id=\"${Text.encode(this.getOptions().id)}\"\n\t\t\t\t\tonclick=\"${this.onHeaderClick.bind(this)}\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"ui-sign-up-tabs-tab-header-icon\">\n\t\t\t\t\t\t${this.getIconNode()}\t\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-sign-up-tabs-tab-header-text\">\n\t\t\t\t\t\t<span>${this.getOptions().header}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonHeaderClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.emit('onHeaderClick');\n\t}\n\n\tgetContent(): Content\n\t{\n\t\treturn this.getOptions().content;\n\t}\n\n\tactivate()\n\t{\n\t\tDom.addClass(this.getHeaderLayout(), 'ui-sign-up-tabs-tab-header-active');\n\t\tDom.style(this.getIconNode(), {\n\t\t\t'background-image': `url('${this.getOptions().activeIcon}')`\n\t\t});\n\t}\n\n\tdeactivate()\n\t{\n\t\tDom.removeClass(this.getHeaderLayout(), 'ui-sign-up-tabs-tab-header-active');\n\t\tDom.style(this.getIconNode(), {\n\t\t\t'background-image': `url('${this.getOptions().icon}')`\n\t\t});\n\t}\n\n\tisActive(): boolean\n\t{\n\t\treturn Dom.hasClass(this.getHeaderLayout(), 'ui-sign-up-tabs-tab-header-active');\n\t}\n}","import {Cache, Tag, Dom, Type} from 'main.core';\nimport {BaseEvent, EventEmitter} from 'main.core.events';\nimport {Tab} from './tab';\nimport type {TabsOptions} from './types/tabs-options';\n\nimport './css/tabs.css';\n\nexport class Tabs extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: TabsOptions = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.SignUp.Tabs');\n\t\tthis.subscribeFromOptions(options.events);\n\t\tthis.setOptions(options);\n\n\t\tthis.onTabHeaderClick = this.onTabHeaderClick.bind(this);\n\n\t\tconst {defaultState} = this.getOptions();\n\n\t\tif (Type.isStringFilled(defaultState))\n\t\t{\n\t\t\tconst currentTab: Tab = this.getTabs().find((tab) => {\n\t\t\t\treturn tab.getOptions().id === defaultState;\n\t\t\t});\n\n\t\t\tif (currentTab)\n\t\t\t{\n\t\t\t\tthis.setCurrentTab(currentTab);\n\t\t\t\tcurrentTab.activate();\n\t\t\t}\n\t\t\telse\n\t\t\t{\n\t\t\t\tconst [firstTab: Tab] = this.getTabs();\n\t\t\t\tthis.setCurrentTab(firstTab);\n\t\t\t\tfirstTab.activate();\n\t\t\t}\n\t\t}\n\t\telse\n\t\t{\n\t\t\tconst [firstTab: Tab] = this.getTabs();\n\t\t\tthis.setCurrentTab(firstTab);\n\t\t\tfirstTab.activate();\n\t\t}\n\t}\n\n\tgetCurrentTab(): Tab\n\t{\n\t\treturn this.cache.get('currentTab');\n\t}\n\n\tsetCurrentTab(tab: Tab)\n\t{\n\t\tthis.cache.set('currentTab', tab);\n\t}\n\n\tsetOptions(options: TabsOptions)\n\t{\n\t\tthis.cache.set('options', {...options});\n\t}\n\n\tgetOptions(): TabsOptions\n\t{\n\t\treturn this.cache.get('options', {});\n\t}\n\n\tgetTabs(): Array<Tab>\n\t{\n\t\treturn this.cache.remember('tabs', () => {\n\t\t\treturn this.getOptions().tabs.map((options) => {\n\t\t\t\treturn new Tab({\n\t\t\t\t\t...options,\n\t\t\t\t\tevents: {\n\t\t\t\t\t\tonHeaderClick: this.onTabHeaderClick\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\tonTabHeaderClick(event: BaseEvent)\n\t{\n\t\tconst targetTab = event.getTarget();\n\t\tthis.setCurrentTab(targetTab);\n\n\t\tthis.getTabs().forEach((tab) => {\n\t\t\ttab.deactivate();\n\t\t});\n\n\t\ttargetTab.activate();\n\n\t\tDom.replace(this.getBodyLayout().firstElementChild, targetTab.getContent().getLayout())\n\t}\n\n\tgetHeaderLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('headerLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-tabs-header\">\n\t\t\t\t\t${this.getTabs().map((tab) => tab.getHeaderLayout())}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetBodyLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('bodyLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-tabs-body\">\n\t\t\t\t\t${this.getCurrentTab().getContent().getLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\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=\"ui-sign-up-tabs\">\n\t\t\t\t\t${this.getHeaderLayout()}\n\t\t\t\t\t${this.getBodyLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}","import {Cache, Dom, Loc, Tag} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {Button, ButtonColor, ButtonSize} from 'ui.buttons';\nimport type {FooterOptions} from '../types/footer-options';\n\nimport './css/style.css';\n\nexport class Footer extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: FooterOptions)\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.SignUp.Footer');\n\t\tthis.subscribeFromOptions(options.events);\n\t\tthis.setOptions(options);\n\t}\n\n\tsetOptions(options: FooterOptions)\n\t{\n\t\tthis.cache.set('options', options);\n\t}\n\n\tgetOptions(): FooterOptions\n\t{\n\t\treturn this.cache.get('options', {});\n\t}\n\n\tgetSaveButton(): Button\n\t{\n\t\treturn this.cache.remember('saveButtons', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('UI_SIGN_UP_SAVE_BUTTON_LABEL'),\n\t\t\t\tcolor: BX.UI.Button.Color.PRIMARY,\n\t\t\t\tround: true,\n\t\t\t\tnoCaps: true,\n\t\t\t\tclassName: `ui-sign-up-special-${this.getOptions().mode}-btn`,\n\t\t\t\tonclick: () => {\n\t\t\t\t\tthis.emit('onSaveClick');\n\t\t\t\t\tconst promise = this.emitAsync('onSaveClickAsync');\n\t\t\t\t\tif (promise)\n\t\t\t\t\t{\n\t\t\t\t\t\tthis.getSaveButton().setWaiting(true);\n\t\t\t\t\t\tpromise.then(() => {\n\t\t\t\t\t\t\tthis.getSaveButton().setWaiting(false);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetCancelButton(): Button\n\t{\n\t\treturn this.cache.remember('cancelButtons', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('UI_SIGN_UP_CANCEL_BUTTON_LABEL'),\n\t\t\t\tcolor: ButtonColor.LIGHT_BORDER,\n\t\t\t\tround: true,\n\t\t\t\tnoCaps: true,\n\t\t\t\tclassName: `ui-sign-up-special-${this.getOptions().mode}-btn`,\n\t\t\t\tonclick: () => {\n\t\t\t\t\tthis.emit('onCancelClick');\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\tconst layout = Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-footer\">\n\t\t\t\t\t${this.getSaveButton().render()}\n\t\t\t\t</div>\n\t\t\t`;\n\n\t\t\tif (this.getOptions().mode === 'desktop')\n\t\t\t{\n\t\t\t\tDom.append(this.getCancelButton().render(), layout);\n\t\t\t}\n\n\t\t\treturn layout;\n\t\t});\n\t}\n}","import {Cache, Dom, Tag, Type, Event, Text} from 'main.core';\nimport type {CanvasWrapperOptions} from '../types/canvas-wrapper-options';\n\nexport class CanvasWrapper\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: CanvasWrapperOptions)\n\t{\n\t\tthis.setOptions(options);\n\t}\n\n\tsetOptions(options: CanvasWrapperOptions)\n\t{\n\t\tthis.cache.set('options', options);\n\t}\n\n\tgetOptions(): CanvasWrapperOptions\n\t{\n\t\treturn this.cache.get('options');\n\t}\n\n\tgetDevicePixelRatio(): number\n\t{\n\t\treturn window.devicePixelRatio;\n\t}\n\n\tgetLayout(): HTMLCanvasElement\n\t{\n\t\tconst canvas = this.cache.remember('layout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<canvas class=\"ui-sign-up-canvas\"></canvas>\n\t\t\t`;\n\t\t});\n\n\t\tconst timeoutId = setTimeout(() => {\n\t\t\tif (Type.isDomNode(canvas.parentElement) && !this.cache.has('adjustCanvas'))\n\t\t\t{\n\t\t\t\tconst parentRect = {\n\t\t\t\t\twidth: canvas.parentElement.clientWidth,\n\t\t\t\t\theight: canvas.parentElement.clientHeight,\n\t\t\t\t};\n\t\t\t\tif (parentRect.width > 0 && parentRect.height > 0)\n\t\t\t\t{\n\t\t\t\t\tvoid this.cache.remember('adjustCanvas', () => {\n\t\t\t\t\t\tconst canvas = this.getLayout();\n\t\t\t\t\t\tconst ratio = this.getDevicePixelRatio();\n\n\t\t\t\t\t\tcanvas.width = parentRect.width * ratio;\n\t\t\t\t\t\tcanvas.height = parentRect.height * ratio;\n\n\t\t\t\t\t\tDom.style(canvas, {\n\t\t\t\t\t\t\twidth: `${parentRect.width}px`,\n\t\t\t\t\t\t\theight: `${parentRect.height}px`,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tconst context2d = this.getLayout().getContext('2d');\n\n\t\t\t\t\t\tconst {context2d: context2dOptions = {}} = this.getOptions();\n\t\t\t\t\t\tif (Type.isPlainObject(context2dOptions))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tObject.assign(context2d, context2dOptions);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcontext2d.scale(ratio, ratio);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tclearTimeout(timeoutId);\n\t\t});\n\n\t\treturn canvas;\n\t}\n\n\tclear()\n\t{\n\t\tconst canvas = this.getLayout();\n\t\tconst context = canvas.getContext('2d');\n\t\tcontext.clearRect(0, 0, (canvas.width * 2), (canvas.height * 2));\n\t}\n\n\trenderText(text: string, textColor: null | string = null)\n\t{\n\t\tconst preparedText = String(text).trim();\n\n\t\tconst canvas = this.getLayout();\n\t\tconst context = canvas.getContext('2d');\n\t\tcontext.font = '34px Comforter Brush';\n\n\t\tthis.clear();\n\n\t\tconst ratio = this.getDevicePixelRatio();\n\t\tconst maxTextWidth = canvas.width - 20;\n\t\tlet fontSize = Text.toNumber(context.font);\n\t\twhile (fontSize > 1 && context.measureText(preparedText).width * ratio > maxTextWidth)\n\t\t{\n\t\t\tfontSize -= 1;\n\t\t\tcontext.font = `${fontSize}px Comforter Brush`;\n\t\t}\n\n\t\tconst textWidth = context.measureText(preparedText).width * ratio;\n\t\tif (textColor !== null && textColor !== '')\n\t\t{\n\t\t\tcontext.fillStyle = textColor;\n\t\t}\n\n\t\tcontext.fillText(preparedText, (canvas.width - textWidth) / (2 * ratio), 34);\n\t}\n\n\tstatic #loadImage(file: File | Blob): Promise<HTMLImageElement>\n\t{\n\t\tconst fileReader = new FileReader();\n\n\t\treturn new Promise((resolve) => {\n\t\t\tfileReader.readAsDataURL(file);\n\t\t\tEvent.bindOnce(fileReader, 'loadend', () => {\n\t\t\t\tconst image = new Image();\n\t\t\t\timage.src = fileReader.result;\n\t\t\t\tEvent.bindOnce(image, 'load', () => {\n\t\t\t\t\tresolve(image);\n\t\t\t\t});\n\t\t\t});\n\t\t});\n\t}\n\n\trenderImage(file: File | Blob): Promise<any>\n\t{\n\t\treturn CanvasWrapper\n\t\t\t.#loadImage(file)\n\t\t\t.then((image: HTMLImageElement) => {\n\t\t\t\tconst canvas: HTMLCanvasElement = this.getLayout();\n\t\t\t\tconst context2d: CanvasRenderingContext2D = canvas.getContext('2d');\n\n\t\t\t\tconst wRatio = canvas.clientWidth / image.width;\n\t\t\t\tconst hRatio = canvas.clientHeight / image.height;\n\t\t\t\tconst ratio = Math.min(wRatio, hRatio);\n\t\t\t\tconst offsetX = (canvas.clientWidth - (image.width * ratio)) / 2;\n\t\t\t\tconst offsetY = (canvas.clientHeight - (image.height * ratio)) / 2;\n\n\t\t\t\tthis.clear();\n\n\t\t\t\tcontext2d.drawImage(\n\t\t\t\t\timage,\n\t\t\t\t\t0,\n\t\t\t\t\t0,\n\t\t\t\t\timage.width,\n\t\t\t\t\timage.height,\n\t\t\t\t\toffsetX,\n\t\t\t\t\toffsetY,\n\t\t\t\t\t(image.width * ratio),\n\t\t\t\t\t(image.height * ratio),\n\t\t\t\t);\n\t\t\t});\n\t}\n}","import {Cache} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {CanvasWrapper} from '../canvas-wrapper/canvas-wrapper';\n\ntype ContentOption = {\n\tcolor?: string,\n\tevents?: {[p: string]: Function}\n};\n\nexport class Content extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tconstructor(options: ContentOption = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.SignUp.Content');\n\t\tthis.subscribeFromOptions(options.events);\n\t\tthis.setOptions(options);\n\t}\n\n\tgetColor(): string | null\n\t{\n\t\treturn this.getOptions().color ?? null;\n\t}\n\n\tsetOptions(options)\n\t{\n\t\tthis.cache.set('options', {...options});\n\t}\n\n\tgetOptions()\n\t{\n\t\treturn this.cache.get('options', {});\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\tthrow new Error('Must be implemented in a child class');\n\t}\n\n\tgetCanvas(): CanvasWrapper\n\t{\n\t\tthrow new Error('Must be implemented in a child class');\n\t}\n}","import {Content} from '../content';\nimport {Loc, Tag} from 'main.core';\nimport 'ui.forms';\nimport 'ui.fonts.comforter-brush';\nimport {CanvasWrapper} from '../../canvas-wrapper/canvas-wrapper';\n\nimport './css/style.css';\n\nexport class InitialsContent extends Content\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.UI.SignUp.Content.InitialsContent');\n\t\tthis.subscribeFromOptions(options?.events);\n\t\tthis.onInput = this.onInput.bind(this);\n\n\t\tvoid this.forceLoadFonts();\n\t}\n\n\tforceLoadFonts(): Promise<any>\n\t{\n\t\tconst allFonts = [\n\t\t\t...document.fonts,\n\t\t];\n\t\tconst comforterBrushFonts = allFonts.filter((font) => {\n\t\t\treturn String(font.family).includes('Comforter Brush');\n\t\t});\n\n\t\treturn Promise.all(comforterBrushFonts.map((font) => font.load()));\n\t}\n\n\tgetNameInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('nameInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<input type=\"text\" class=\"ui-ctl-element\" oninput=\"${this.onInput}\">\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetInitialsInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('initialsInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<input type=\"text\" class=\"ui-ctl-element\" oninput=\"${this.onInput}\">\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetTextValue(): string\n\t{\n\t\tconst name = String(this.getNameInput().value);\n\t\tconst initials = String(this.getInitialsInput().value);\n\n\t\treturn `${name} ${initials}`;\n\t}\n\n\tonInput()\n\t{\n\t\tthis.getCanvas().renderText(this.getTextValue(), this.getColor());\n\t\tthis.emit('onChange');\n\t}\n\n\tgetCanvas(): CanvasWrapper\n\t{\n\t\treturn this.cache.remember('canvas', () => {\n\t\t\treturn new CanvasWrapper({\n\t\t\t\tcontext2d: {\n\t\t\t\t\tfillStyle: '#000000',\n\t\t\t\t\tfont: '34px Comforter Brush',\n\t\t\t\t},\n\t\t\t});\n\t\t});\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=\"ui-sign-up-content\">\n\t\t\t\t\t<div class=\"ui-sign-up-initials-form\">\n\t\t\t\t\t\t<div class=\"ui-sign-up-initials-form-left\">\n\t\t\t\t\t\t\t<div class=\"ui-sign-up-initials-form-label\">\n\t\t\t\t\t\t\t\t${Loc.getMessage('UI_SIGN_UP_TAB_INITIALS_LAST_NAME_LABEL')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-inline\">\n\t\t\t\t\t\t\t\t${this.getNameInput()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"ui-sign-up-initials-form-right\">\n\t\t\t\t\t\t\t<div class=\"ui-sign-up-initials-form-label\">\n\t\t\t\t\t\t\t\t${Loc.getMessage('UI_SIGN_UP_TAB_INITIALS_INITIALS_LABEL')}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"ui-ctl ui-ctl-textbox ui-ctl-inline\">\n\t\t\t\t\t\t\t\t${this.getInitialsInput()}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-sign-up-initials-preview\">\n\t\t\t\t\t\t${this.getCanvas().getLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}","import {Type} from 'main.core';\n\nexport function getPoint(event: MouseEvent | TouchEvent): {x: number, y: number}\n{\n\tif (!Type.isNil(window.TouchEvent) && event instanceof window.TouchEvent)\n\t{\n\t\tconst rect = event.target.getBoundingClientRect();\n\t\tconst {touches, changedTouches} = event;\n\t\tconst [touch] = touches.length > 0 ? touches : changedTouches;\n\n\t\treturn {x: touch.clientX - rect.left, y: touch.clientY - rect.top};\n\t}\n\n\treturn {x: event.offsetX, y: event.offsetY};\n}","import {Loc, Tag, Event} from 'main.core';\nimport {Content} from '../content';\nimport {CanvasWrapper} from '../../canvas-wrapper/canvas-wrapper';\nimport {getPoint} from './internal/get-point';\n\nimport './css/style.css';\n\nlet preventScrolling = false;\nEvent.bind(window, 'touchmove', (event) => {\n\tif (preventScrolling)\n\t{\n\t\tevent.preventDefault();\n\t}\n}, {passive: false});\n\nexport class TouchContent extends Content\n{\n\tstatic LineWidth = 3;\n\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.UI.SignUp.Content.TouchContent');\n\t\tthis.subscribeFromOptions(options?.events);\n\n\t\tconst canvasLayout = this.getCanvas().getLayout();\n\t\tEvent.bind(canvasLayout, 'mousedown', this.onCanvasMouseDown.bind(this));\n\t\tEvent.bind(document, 'mouseup', this.onCanvasMouseUp.bind(this));\n\t\tEvent.bind(canvasLayout, 'mousemove', this.onCanvasMouseMove.bind(this));\n\t\tEvent.bind(canvasLayout, 'touchstart', this.onCanvasMouseDown.bind(this));\n\t\tEvent.bind(canvasLayout, 'touchend', this.onCanvasMouseUp.bind(this));\n\t\tEvent.bind(canvasLayout, 'touchmove', this.onCanvasMouseMove.bind(this));\n\t}\n\n\tsetIsDrawing(value: boolean)\n\t{\n\t\tthis.cache.set('isDrawing', value);\n\t}\n\n\tgetIsDrawing(): boolean\n\t{\n\t\treturn this.cache.get('isDrawing', false);\n\t}\n\n\tsetStartEvent(event: MouseEvent)\n\t{\n\t\tthis.cache.set('startEvent', event);\n\t}\n\n\tgetStartEvent(): MouseEvent\n\t{\n\t\treturn this.cache.get('startEvent');\n\t}\n\n\tonCanvasMouseDown(event: MouseEvent)\n\t{\n\t\tthis.setIsDrawing(true);\n\t\tpreventScrolling = true;\n\n\t\tconst context2d = this.getCanvas().getLayout().getContext('2d');\n\t\tcontext2d.beginPath();\n\n\t\tconst point = getPoint(event);\n\t\tcontext2d.moveTo(point.x, point.y);\n\t\tthis.setStartEvent(event);\n\t\tthis.emit('onChange');\n\t}\n\n\tonCanvasMouseUp(event: MouseEvent)\n\t{\n\t\tthis.setIsDrawing(false);\n\t\tpreventScrolling = false;\n\n\t\tconst canvasLayout = this.getCanvas().getLayout();\n\t\tconst context2d = canvasLayout.getContext('2d');\n\t\tcontext2d.closePath();\n\n\t\tif (event.currentTarget === canvasLayout)\n\t\t{\n\t\t\tconst startEvent = this.getStartEvent();\n\t\t\tconst startPoint = getPoint(startEvent);\n\t\t\tconst currentPoint = getPoint(event);\n\t\t\tif (\n\t\t\t\tstartPoint.x === currentPoint.x\n\t\t\t\t&& startPoint.y === currentPoint.y\n\t\t\t)\n\t\t\t{\n\t\t\t\tcontext2d.lineTo(currentPoint.x, currentPoint.y);\n\t\t\t\tcontext2d.stroke();\n\t\t\t}\n\t\t}\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonCanvasMouseMove(event: MouseEvent)\n\t{\n\t\tif (this.getIsDrawing())\n\t\t{\n\t\t\tconst context2d = this.getCanvas().getLayout().getContext('2d');\n\t\t\tconst point = getPoint(event);\n\n\t\t\tconst strokeColor = this.getColor();\n\t\t\tif (strokeColor !== null && strokeColor !== '')\n\t\t\t{\n\t\t\t\tcontext2d.strokeStyle = strokeColor;\n\t\t\t}\n\n\t\t\tcontext2d.lineTo(point.x, point.y);\n\t\t\tcontext2d.stroke();\n\t\t}\n\n\t\tthis.emit('onChange');\n\t}\n\n\tonCanvasMouseOut()\n\t{\n\t\tthis.setIsDrawing(false);\n\t\tpreventScrolling = false;\n\n\t\tconst context2d = this.getCanvas().getLayout().getContext('2d');\n\t\tcontext2d.closePath();\n\n\t\tthis.emit('onChange');\n\t}\n\n\tgetCanvas(): CanvasWrapper\n\t{\n\t\treturn this.cache.remember('canvas', () => {\n\t\t\treturn new CanvasWrapper({\n\t\t\t\tcontext2d: {\n\t\t\t\t\tlineWidth: TouchContent.LineWidth,\n\t\t\t\t\tstrokeStyle: '000000',\n\t\t\t\t\tlineJoin: 'round',\n\t\t\t\t\tlineCap: 'round',\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetClearButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('clearButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-touch-clear-button\" onclick=\"${this.onClearClick.bind(this)}\">\n\t\t\t\t\t${Loc.getMessage('UI_SIGN_UP_TOUCH_CLEAR_BUTTON')}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonClearClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\t\tthis.getCanvas().clear();\n\t\tthis.emit('onChange');\n\t}\n\n\tgetLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('layout', () => {\n\t\t\tconst onTouchMove = (event: TouchEvent) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t};\n\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-content\" ontouchmove=\"${onTouchMove}\">\n\t\t\t\t\t<div class=\"ui-sign-up-touch-form-label\">\n\t\t\t\t\t\t${(() => {\n\t\t\t\t\t\t\tif (this.getOptions().mode === 'mobile')\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\treturn Loc.getMessage('UI_SIGN_UP_TOUCH_LAYOUT_MOBILE_LABEL');\n\t\t\t\t\t\t\t}\n\t\t\t\t\n\t\t\t\t\t\t\treturn Loc.getMessage('UI_SIGN_UP_TOUCH_LAYOUT_LABEL');\n\t\t\t\t\t\t})()}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"ui-sign-up-content-touch-preview\">\n\t\t\t\t\t\t${this.getClearButton()}\n\t\t\t\t\t\t${this.getCanvas().getLayout()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}","import {Loc, Tag, Type, Dom} from 'main.core';\nimport {Button, ButtonColor} from 'ui.buttons';\nimport {PopupMenu, Menu} from 'main.popup';\nimport {Content} from '../content';\nimport {CanvasWrapper} from '../../canvas-wrapper/canvas-wrapper';\n\nimport './css/style.css';\nimport {MessageBox} from 'ui.dialogs.messagebox';\n\nexport class PhotoContent extends Content\n{\n\tconstructor(options)\n\t{\n\t\tsuper(options);\n\t\tthis.setEventNamespace('BX.UI.SignUp.Content.PhotoContent');\n\t\tthis.subscribeFromOptions(options?.events);\n\t}\n\n\tgetTakePhotoButton(): Button\n\t{\n\t\treturn this.cache.remember('takePhotoButton', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('UI_SIGN_UP_TAKE_SIGN_PHOTO'),\n\t\t\t\tcolor: ButtonColor.LIGHT_BORDER,\n\t\t\t\tround: true,\n\t\t\t\tnoCaps: true,\n\t\t\t\tclassName: 'ui-sign-up-special-mobile-btn',\n\t\t\t});\n\t\t});\n\t}\n\n\tgetUploadPhoto(): Button\n\t{\n\t\treturn this.cache.remember('uploadPhoto', () => {\n\t\t\treturn new Button({\n\t\t\t\ttext: Loc.getMessage('UI_SIGN_UP_UPLOAD_SIGN_PHOTO'),\n\t\t\t\tcolor: ButtonColor.LIGHT_BORDER,\n\t\t\t\tround: true,\n\t\t\t\tnoCaps: true,\n\t\t\t\tclassName: 'ui-sign-up-special-mobile-btn',\n\t\t\t\tonclick: this.onUploadPhotoClick.bind(this),\n\t\t\t});\n\t\t});\n\t}\n\n\tgetFileInput(): HTMLInputElement\n\t{\n\t\treturn this.cache.remember('fileInput', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<input hidden type=\"file\" onchange=\"${this.onFileChange.bind(this)}\" accept=\"image/*\">\n\t\t\t`;\n\t\t});\n\t}\n\n\tonUploadPhotoClick()\n\t{\n\t\tthis.getFileInput().click();\n\t}\n\n\tonFileChange(event: Event)\n\t{\n\t\tconst [file: File] = event.target.files;\n\t\tif (Type.isFile(file))\n\t\t{\n\t\t\tif (\n\t\t\t\t!Type.isStringFilled(file.type)\n\t\t\t\t|| !file.type.startsWith('image')\n\t\t\t)\n\t\t\t{\n\t\t\t\tMessageBox.alert(Loc.getMessage('UI_SIGN_UP_BAD_IMAGE_FORMAT_ALERT_MESSAGE'));\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tDom.replace(this.getButtonsLayout(), this.getPreviewLayout());\n\n\t\t\tthis.getCanvas()\n\t\t\t\t.renderImage(file)\n\t\t\t\t.then(() => {\n\t\t\t\t\tthis.emit('onChange');\n\t\t\t\t});\n\t\t}\n\t}\n\n\tgetButtonsLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('buttonsLayout', () => {\n\t\t\t// const takePhotoLayout = Tag.render`\n\t\t\t// \t<div class=\"ui-sign-up-content-photo-button-wrapper\">\n\t\t\t// \t\t${this.getOptions().mode !== 'desktop' ? this.getTakePhotoButton().render() : ''}\n\t\t\t// \t</div>\n\t\t\t// `;\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-content-photo-buttons\">\n\t\t\t\t\t<div class=\"ui-sign-up-content-photo-button-wrapper\">\n\t\t\t\t\t\t${this.getUploadPhoto().render()}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tgetCanvas(): CanvasWrapper\n\t{\n\t\treturn this.cache.remember('canvas', () => {\n\t\t\treturn new CanvasWrapper({});\n\t\t});\n\t}\n\n\tgetMoreButton(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('moreButton', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div \n\t\t\t\t\tclass=\"ui-sign-up-content-photo-more-button\"\n\t\t\t\t\tonclick=\"${this.onMoreButtonClick.bind(this)}\"\n\t\t\t\t></div>\n\t\t\t`;\n\t\t});\n\t}\n\n\tonMoreButtonClick(event: MouseEvent)\n\t{\n\t\tevent.preventDefault();\n\n\t\tthis.getMoreMenu().show();\n\t}\n\n\tgetMoreMenu(): Menu\n\t{\n\t\treturn this.cache.remember('moreMenu', () => {\n\t\t\treturn PopupMenu.create({\n\t\t\t\tid: 'moreMenu',\n\t\t\t\tbindElement: this.getMoreButton(),\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'upload',\n\t\t\t\t\t\ttext: Loc.getMessage('UI_SIGN_UP_UPLOAD_NEW'),\n\t\t\t\t\t\tonclick: this.onUploadPhotoClick.bind(this),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPreviewLayout(): HTMLDivElement\n\t{\n\t\treturn this.cache.remember('previewLayout', () => {\n\t\t\treturn Tag.render`\n\t\t\t\t<div class=\"ui-sign-up-content-photo-preview\">\n\t\t\t\t\t${this.getCanvas().getLayout()}\n\t\t\t\t\t${this.getMoreButton()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\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=\"ui-sign-up-content\">\n\t\t\t\t\t${this.getButtonsLayout()}\n\t\t\t\t\t${this.getFileInput()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n}","export default \"/bitrix/js/ui/sign-up/dist/images/initials.svg\"","export default \"/bitrix/js/ui/sign-up/dist/images/initials-active.svg\"","export default \"/bitrix/js/ui/sign-up/dist/images/touch.svg\"","export default \"/bitrix/js/ui/sign-up/dist/images/touch-active.svg\"","export default \"/bitrix/js/ui/sign-up/dist/images/photo.svg\"","export default \"/bitrix/js/ui/sign-up/dist/images/photo-active.svg\"","import {Cache, Dom, Loc, Tag, Type, Runtime} from 'main.core';\nimport {EventEmitter} from 'main.core.events';\nimport {Tabs} from './tabs/tabs';\nimport {Footer} from './footer/footer';\n\nimport {InitialsContent} from './content/initials/initials';\nimport {TouchContent} from './content/touch/touch';\nimport {PhotoContent} from './content/photo/photo';\n\nimport InitialsTabIcon from './images/initials.svg';\nimport InitialsActiveTabIcon from './images/initials-active.svg';\nimport TouchTabIcon from './images/touch.svg';\nimport TouchActiveTabIcon from './images/touch-active.svg';\nimport PhotoTabIcon from './images/photo.svg';\nimport PhotoActiveTabIcon from './images/photo-active.svg';\n\nimport type {SignUpOptions} from './types/sign-up-options';\n\nimport './css/style.css';\n\n/**\n * @memberOf BX.UI\n */\nexport class SignUp extends EventEmitter\n{\n\tcache = new Cache.MemoryCache();\n\n\tstatic MIN_PIXELS_REQUIRED = 100;\n\n\tconstructor(options: SignUpOptions = {})\n\t{\n\t\tsuper();\n\t\tthis.setEventNamespace('BX.UI.SignUp');\n\t\tthis.subscribeFromOptions(options.events);\n\t\tthis.setOptions(options);\n\n\t\tthis.onChangeDebounced = Runtime.debounce(this.onChangeDebounced, 200, this);\n\n\t\tif (!this.hasValue())\n\t\t{\n\t\t\tthis.getFooter().getSaveButton().setDisabled(true);\n\t\t}\n\t}\n\n\tsetOptions(options: SignUpOptions)\n\t{\n\t\tthis.cache.set('options', {mode: 'desktop', ...options});\n\t}\n\n\tgetOptions(): SignUpOptions\n\t{\n\t\treturn this.cache.get('options', {});\n\t}\n\n\tgetFooter(): Footer\n\t{\n\t\treturn this.cache.remember('footer', () => {\n\t\t\treturn new Footer({\n\t\t\t\tmode: this.getOptions().mode,\n\t\t\t\tevents: {\n\t\t\t\t\tonSaveClickAsync: () => {\n\t\t\t\t\t\treturn this.emitAsync('onSaveClickAsync');\n\t\t\t\t\t},\n\t\t\t\t\tonSaveClick: () => {\n\t\t\t\t\t\tthis.emit('onSaveClick');\n\t\t\t\t\t},\n\t\t\t\t\tonCancelClick: () => {\n\t\t\t\t\t\tthis.emit('onCancelClick');\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t});\n\t\t});\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=\"ui-sign-up\">\n\t\t\t\t\t${this.getTabs().getLayout()}\n\t\t\t\t\t${this.getFooter().getLayout()}\n\t\t\t\t</div>\n\t\t\t`;\n\t\t});\n\t}\n\n\trenderTo(target: HTMLElement)\n\t{\n\t\tif (!Type.isDomNode(target))\n\t\t{\n\t\t\tthrow new TypeError('Target is not a HTMLElement');\n\t\t}\n\n\t\tDom.append(this.getLayout(), target);\n\t}\n\n\tgetInitialsContent(): InitialsContent\n\t{\n\t\treturn this.cache.remember('initialsContent', () => {\n\t\t\treturn new InitialsContent({\n\t\t\t\tevents: {\n\t\t\t\t\tonChange: this.onChangeDebounced,\n\t\t\t\t},\n\t\t\t\tcolor: this.getOptions().signColor,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetTouchContent(): TouchContent\n\t{\n\t\treturn this.cache.remember('touchContent', () => {\n\t\t\treturn new TouchContent({\n\t\t\t\tmode: this.getOptions().mode,\n\t\t\t\tevents: {\n\t\t\t\t\tonChange: this.onChangeDebounced,\n\t\t\t\t},\n\t\t\t\tcolor: this.getOptions().signColor,\n\t\t\t});\n\t\t});\n\t}\n\n\tgetPhotoContent(): PhotoContent\n\t{\n\t\treturn this.cache.remember('photoContent', () => {\n\t\t\treturn new PhotoContent({\n\t\t\t\tmode: this.getOptions().mode,\n\t\t\t\tevents: {\n\t\t\t\t\tonChange: this.onChangeDebounced,\n\t\t\t\t},\n\t\t\t});\n\t\t});\n\t}\n\n\tgetTabs(): Tabs\n\t{\n\t\treturn this.cache.remember('tabs', () => {\n\t\t\treturn new Tabs({\n\t\t\t\tdefaultState: this.getOptions().defaultState,\n\t\t\t\ttabs: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'initials',\n\t\t\t\t\t\theader: Loc.getMessage('UI_SIGN_UP_TAB_INITIALS_TITLE'),\n\t\t\t\t\t\ticon: InitialsTabIcon,\n\t\t\t\t\t\tactiveIcon: InitialsActiveTabIcon,\n\t\t\t\t\t\tcontent: this.getInitialsContent(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'touch',\n\t\t\t\t\t\theader: Loc.getMessage('UI_SIGN_UP_TAB_TOUCH_TITLE'),\n\t\t\t\t\t\ticon: TouchTabIcon,\n\t\t\t\t\t\tactiveIcon: TouchActiveTabIcon,\n\t\t\t\t\t\tcontent: this.getTouchContent(),\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tid: 'photo',\n\t\t\t\t\t\theader: Loc.getMessage('UI_SIGN_UP_TAB_PHOTO_TITLE'),\n\t\t\t\t\t\ticon: PhotoTabIcon,\n\t\t\t\t\t\tactiveIcon: PhotoActiveTabIcon,\n\t\t\t\t\t\tcontent: this.getPhotoContent(),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t\t});\n\t}\n\n\tgetCanvas(): HTMLCanvasElement\n\t{\n\t\treturn this.getTabs().getCurrentTab().getContent().getCanvas().getLayout();\n\t}\n\n\tonChangeDebounced()\n\t{\n\t\tthis.getFooter().getSaveButton().setDisabled(!this.hasValue());\n\t}\n\n\thasValue(): boolean\n\t{\n\t\tconst canvas = this.getCanvas();\n\t\tconst context = canvas.getContext('2d');\n\n\t\tconst pixelBuffer = new Uint32Array(\n\t\t\tcontext.getImageData(0, 0, canvas.width, canvas.height).data.buffer,\n\t\t);\n\n\t\tlet pixelsCount = 0;\n\t\treturn pixelBuffer.some((color) => {\n\t\t\treturn color !== 0 && (pixelsCount++) > SignUp.MIN_PIXELS_REQUIRED;\n\t\t})\n\t}\n\n\tasync getValue(): Promise<File | Blob>\n\t{\n\t\tconst canvas = this.getTabs().getCurrentTab().getContent().getCanvas().getLayout();\n\t\treturn await new Promise((resolve) => {\n\t\t\tcanvas.toBlob(resolve, 'image/png');\n\t\t});\n\t}\n}"],"names":["Tab","EventEmitter","constructor","options","cache","Cache","MemoryCache","setOptions","setEventNamespace","subscribeFromOptions","events","set","getOptions","get","getIconNode","remember","Tag","render","icon","getHeaderLayout","Text","encode","id","onHeaderClick","bind","header","event","preventDefault","emit","getContent","content","activate","Dom","addClass","style","activeIcon","deactivate","removeClass","isActive","hasClass","Tabs","onTabHeaderClick","defaultState","Type","isStringFilled","currentTab","getTabs","find","tab","setCurrentTab","firstTab","getCurrentTab","tabs","map","targetTab","getTarget","forEach","replace","getBodyLayout","firstElementChild","getLayout","Footer","getSaveButton","Button","text","Loc","getMessage","color","BX","UI","Color","PRIMARY","round","noCaps","className","mode","onclick","promise","emitAsync","setWaiting","then","getCancelButton","ButtonColor","LIGHT_BORDER","layout","append","CanvasWrapper","getDevicePixelRatio","window","devicePixelRatio","canvas","timeoutId","setTimeout","isDomNode","parentElement","has","parentRect","width","clientWidth","height","clientHeight","ratio","context2d","getContext","context2dOptions","isPlainObject","Object","assign","scale","clearTimeout","clear","context","clearRect","renderText","textColor","preparedText","String","trim","font","maxTextWidth","fontSize","toNumber","measureText","textWidth","fillStyle","fillText","renderImage","file","image","wRatio","hRatio","Math","min","offsetX","offsetY","drawImage","fileReader","FileReader","Promise","resolve","readAsDataURL","Event","bindOnce","Image","src","result","Content","getColor","Error","getCanvas","InitialsContent","onInput","forceLoadFonts","allFonts","document","fonts","comforterBrushFonts","filter","family","includes","all","load","getNameInput","getInitialsInput","getTextValue","name","value","initials","getPoint","isNil","TouchEvent","rect","target","getBoundingClientRect","touches","changedTouches","touch","length","x","clientX","left","y","clientY","top","preventScrolling","passive","TouchContent","canvasLayout","onCanvasMouseDown","onCanvasMouseUp","onCanvasMouseMove","setIsDrawing","getIsDrawing","setStartEvent","getStartEvent","beginPath","point","moveTo","closePath","currentTarget","startEvent","startPoint","currentPoint","lineTo","stroke","strokeColor","strokeStyle","onCanvasMouseOut","lineWidth","LineWidth","lineJoin","lineCap","getClearButton","onClearClick","onTouchMove","stopPropagation","PhotoContent","getTakePhotoButton","getUploadPhoto","onUploadPhotoClick","getFileInput","onFileChange","click","files","isFile","type","startsWith","MessageBox","alert","getButtonsLayout","getPreviewLayout","getMoreButton","onMoreButtonClick","getMoreMenu","show","PopupMenu","create","bindElement","items","SignUp","onChangeDebounced","Runtime","debounce","hasValue","getFooter","setDisabled","onSaveClickAsync","onSaveClick","onCancelClick","renderTo","TypeError","getInitialsContent","onChange","signColor","getTouchContent","getPhotoContent","InitialsTabIcon","InitialsActiveTabIcon","TouchTabIcon","TouchActiveTabIcon","PhotoTabIcon","PhotoActiveTabIcon","pixelBuffer","Uint32Array","getImageData","data","buffer","pixelsCount","some","MIN_PIXELS_REQUIRED","getValue","toBlob"],"mappings":"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"}