{"version":3,"sources":["webpack:///../WCC.UI/App/components/overlay/overlay.html?79a5","webpack:///../WCC.UI/App/components/overlay/overlay.scss?f6dd","webpack:///../WCC.UI/App/components/overlay/overlay.ts","webpack:///../WCC.UI/App/components/overlay/overlayStage.html?196c","webpack:///../WCC.UI/App/components/overlay/overlayStage.scss?5197","webpack:///../WCC.UI/App/components/overlay/overlayStage.ts","webpack:///../WCC.UI/App/webpack/runtime/htmlExposer.js","webpack:///../WCC.UI/App/components/overlay/overlay.scss","webpack:///../WCC.UI/App/components/overlay/overlayStage.scss","webpack:///../WCC.UI/App/components/overlay/overlay.html","webpack:///../WCC.UI/App/components/overlay/overlayStage.html"],"names":["content","expose","__esModule","default","api","module","i","options","exports","locals","$document","$","document","$html","$head","$body","components","registerLocal","require","OverlayVM","constructor","info","effects","stagesConfigs","ko","observableArray","stages","stage","observable","this","element","width","height","NodeTracker","node","buttons","pluck","s","isBusy","isActive","isNotNull","hasButtons","any","register","_","last","forEach","undefined","setupStage","applyBindingsToNode","click","m","e","onClick","addStage","config","Promise","resolve","extendedConfig","overlay","onOpen","push","removeStage","remove","clear","removeAll","_$body$width","_$document$scrollTop","withEffects","initialBodyWidth","scrollPos","scrollTop","_$body$width2","addClass","removeClass","offset","styleNode","append","deviceHeight","css","device","isLocked","target","is","close","__decorate","injectable","__param","inject","wccModules","componentInfo","OverlayStageVM","_config$fullscreen","_config$lock","_config$onOpen","_config$onClose","_config$data","isRemoved","contentNode","isScrollable","isFullscreen","fullscreen","lock","isStretched","flattenComputed","stretch","template","pureComputed","isString","templateId","isObject","id","buildButtons","onOpenHandler","noop","onCloseHandler","onClose","data","isFunction","shouldAnimate","animate","updateFunc","update","withEffect","func","keyCode","on","off","not","init","getBoundingClientRect","types","map","type","buildButton","filter","button","componentConfig","system","SystemHelpers","html","getTemplatesAndResources","head","appendChild","___CSS_LOADER_API_IMPORT___"],"mappings":"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","file":"227.6ce656b6eaf324991940.js","sourcesContent":["define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./overlay.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./overlay.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { inject, injectable } from 'inversify';\r\nimport { Subscribable } from 'knockout';\r\nimport device from 'managers/device';\r\nimport { NodeTracker } from 'managers/nodes/tracker';\r\nimport { EffectsContainer, withEffects } from 'mixins/withEffects';\r\nimport './overlay.html';\r\nimport { IOverlayVM } from './overlay.interfaces';\r\nimport './overlay.scss';\r\nimport { IOverlayButton } from './overlayButton.interfaces';\r\nimport { ExtendedOverlayStageVMConfig, IOverlayStageVM, OverlayStageVMConfig } from './overlayStage.interfaces';\r\n\r\nconst $document = $(document);\nconst $html = $('html');\nconst $head = $('head');\nconst $body = $(\"body\");\r\n\r\ncomponents.registerLocal('overlay-stage', () => require('components/overlay/overlayStage'));\n\n@injectable()\nexport default class OverlayVM implements IOverlayVM {\n private element: HTMLElement\n\n stagesConfigs = ko.observableArray>();\n stages = ko.observableArray();\n stage = ko.observable();\n\n width: Subscribable\n height: Subscribable\n\n buttons: Subscribable>\n\n isActive: Subscribable\n hasButtons: Subscribable\n\n constructor(\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.element = info.element;\r\n\r\n const { width, height } = new NodeTracker({ node: info.element });\r\n this.width = width;\r\n this.height = height;\r\n\r\n this.buttons = this.stage.pluck(s => s.isBusy() ? [] : s.buttons, []);\n\n this.isActive = this.stage.isNotNull();\n this.hasButtons = this.buttons.any();\n\r\n effects.register(stages => {\n const stage = _.last(stages);\n\n this.stage(stage);\r\n this.stages().forEach(s => s.isActive(s === stage));\r\n }, [this.stages]);\n\n effects.register(stage => {\n if (stage != undefined)\n return this.setupStage();\n }, [this.stage]);\n\n ko.applyBindingsToNode(info.element, {\n 'click': (m: this, e: JQueryEventObject) => this.onClick(e),\n\n 'css': {\n 'wcc-overlay': true,\n 'wcc-overlay--active': this.isActive\n }\n });\r\n }\r\n\r\n addStage(config: OverlayStageVMConfig): Promise> {\n return new Promise(resolve => {\n const extendedConfig = {\n ...config,\n\n overlay: this,\n\n onOpen: stage => {\n resolve(stage);\r\n\r\n if (config.onOpen)\r\n config.onOpen(stage);\r\n }\n } as ExtendedOverlayStageVMConfig;\n\n this.stagesConfigs.push(extendedConfig);\n });\n }\n\n removeStage(stage: IOverlayStageVM) {\n this.stagesConfigs.remove(stage.config);\n }\n\n clear() {\n this.stagesConfigs.removeAll();\n }\n\n private setupStage() {\n const effects = withEffects();\n\n const initialBodyWidth = $body.width() ?? 0;\n const scrollPos = $document.scrollTop() ?? 0;\n\n effects.register(() => {\n const effects = [];\n\n $html.addClass('overlay-enabled');\r\n effects.push(() => $html.removeClass('overlay-enabled'));\r\n\r\n const offset = ($body.width() ?? 0) - initialBodyWidth;\r\n\r\n if (offset > 1) {\n const styleNode = $('');\n\n $head.append(styleNode);\n effects.push(() => styleNode.remove());\n }\r\n\r\n return effects;\r\n });\n\n effects.register(deviceHeight => {\n $body.css({ 'height': `${deviceHeight}px` });\r\n\r\n return () => $body.css({ 'height': '' });\r\n }, [device.height]);\n\n effects.register(() => {\n $body.scrollTop(scrollPos);\r\n\r\n return () => $document.scrollTop(scrollPos)\r\n });\n\n return effects;\n }\n\n private onClick(e: JQueryEventObject) {\n var stage = this.stage();\n\n if (stage != undefined && !stage.isLocked && (e.target === this.element || $(e.target).is('.wcc-overlay__backdrop')))\n stage.close();\n\n return true;\n }\r\n}","define([\n \"!!../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./overlayStage.html\", \n \"!../../webpack/runtime/htmlExposer.js\"], function (content, expose) {\n content = content.__esModule ? content.default : content;\n expose(content);\n return content;\n });","var api = require(\"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\");\n var content = require(\"!!../../../node_modules/css-loader/dist/cjs.js!../../../node_modules/sass-loader/dist/cjs.js!./overlayStage.scss\");\n\n content = content.__esModule ? content.default : content;\n\n if (typeof content === 'string') {\n content = [[module.id, content, '']];\n }\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nmodule.exports = content.locals || {};","import { wccModules } from 'enums/wccModules';\r\nimport { inject, injectable } from 'inversify';\r\nimport { ObservableArray, Subscribable } from 'knockout';\r\nimport { EffectsContainer } from 'mixins/withEffects';\r\nimport { NodeTracker } from '../../managers/nodes/tracker';\r\nimport { withEffect } from '../../mixins/withEffect';\r\nimport { IOverlayVM } from './overlay.interfaces';\r\nimport { IOverlayButton, OverlayButtonTypes } from './overlayButton.interfaces';\r\nimport './overlayStage.html';\r\nimport { ExtendedOverlayStageVMConfig, IOverlayStageVM } from './overlayStage.interfaces';\r\nimport './overlayStage.scss';\r\n\r\nconst $document = $(document);\n\n@injectable()\nexport default class OverlayStageVM implements IOverlayStageVM {\n private element: HTMLElement\n private overlay: IOverlayVM\n\n private isFullscreen: boolean\n private isRemoved = false\n\n private onOpenHandler: (stage: OverlayStageVM) => void\n private onCloseHandler: (stage: OverlayStageVM) => void\n\n contentNode = ko.observable();\n\n isActive = ko.observable(false);\n isScrollable = ko.observable(false);\n isBusy = ko.observable(false);\n\n template: Subscribable\n templateId: Subscribable\n\n data: object\n buttons: ObservableArray \n\n isLocked: boolean\n\n shouldAnimate: Subscribable\n\n constructor(\r\n @inject(wccModules.componentConfig) public config: ExtendedOverlayStageVMConfig,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo,\r\n @inject(wccModules.effects) effects: EffectsContainer\r\n ) {\r\n this.element = info.element as HTMLElement;\r\n this.overlay = config.overlay;\r\n\r\n this.isFullscreen = config.fullscreen ?? false;\r\n this.isLocked = config.lock ?? false;\r\n\r\n const isStretched = ko.flattenComputed(config.stretch, false);\r\n\r\n this.template = ko.pureComputed(() => _.isString(config.template) ? config.template : undefined);\n this.templateId = ko.pureComputed(() => _.isObject(config.template) ? config.template.id : undefined);\r\n\r\n this.buttons = ko.observableArray(this.buildButtons(config.buttons));\r\n\r\n this.onOpenHandler = config.onOpen ?? _.noop;\r\n this.onCloseHandler = config.onClose ?? _.noop;\r\n\r\n this.data = _.isFunction(config.data) ? config.data(this) : config.data ?? {};\r\n\r\n this.shouldAnimate = ko.pureComputed(() => config.animate !== false);\n\n if (!this.isFullscreen) {\r\n effects.register(node => {\r\n if (node != undefined) {\r\n const updateFunc = () => this.update(node);\r\n const { width, height } = new NodeTracker({ node });\r\n\r\n updateFunc();\r\n\r\n return [\r\n withEffect(updateFunc, [width, height]),\n withEffect(updateFunc, [this.overlay.width, this.overlay.height])\r\n ]\r\n }\r\n }, [this.contentNode]);\n }\n\n if (!this.isLocked) {\n effects.register(isActive => {\n if (isActive) {\n const func = (e: JQueryEventObject) => {\n if (e.keyCode === 27)\r\n this.close();\r\n }\n\n $document.on('keydown', func);\r\n\r\n return () => $document.off('keydown', func as any);\r\n }\r\n }, [this.isActive]);\n }\n\n ko.applyBindingsToNode(info.element, {\n 'click': (m: any, e: JQueryEventObject) => this.onClick(e),\n\n 'css': {\n 'wcc-overlay__stage': true,\n 'wcc-overlay__stage--fullscreen': this.isFullscreen,\n 'wcc-overlay__stage--stretch': isStretched,\n 'wcc-overlay__stage--inactive': this.isActive.not(),\n 'wcc-overlay__stage--scrollable': this.isScrollable\n }\n });\r\n }\r\n\r\n close() {\r\n if (!this.isRemoved) {\r\n this.isRemoved = true;\r\n\r\n this.overlay.removeStage(this);\r\n this.onCloseHandler(this);\r\n }\r\n }\r\n\r\n init() {\n this.onOpenHandler(this);\n }\r\n\r\n private update(node: HTMLElement) {\n const { width, height } = node.getBoundingClientRect();\n\n if (width > 0 && height > 0 && this.overlay.width() > 0) {\n this.isScrollable(height > this.overlay.height());\n }\n }\r\n\r\n private buildButtons(types?: Array) {\r\n return (types ?? [])\r\n .map(type => this.buildButton(type))\r\n .filter(button => button != undefined) as Array;\r\n }\r\n\r\n private buildButton(type: string): IOverlayButton | undefined {\n switch (type as OverlayButtonTypes) {\n case 'close':\n return {\n type: 'close',\n css: 'wcc-overlay__close-control',\n click: () => this.close()\n }\n }\r\n }\r\n\r\n private onClick(e: JQueryEventObject) {\n if (!this.isLocked && e.target === this.element)\n this.close();\n\n return true;\n }\r\n}","define(function () {\r\n const system = require('helpers/system').SystemHelpers;\r\n\r\n return function (html) {\r\n system.getTemplatesAndResources(html)\r\n .forEach(function (node) { document.head.appendChild(node) });\r\n }\r\n});","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".overlay-enabled{overflow:hidden}.overlay-enabled body{overflow:hidden}.wcc-overlay{display:none;position:fixed;left:0;top:0;bottom:0;right:0;background:rgba(0,0,0,.75);backdrop-filter:blur(2px);z-index:100002;overflow:auto}.wcc-overlay--active{display:block}.wcc-overlay__controls{position:fixed;top:0;right:0;color:#ddd;line-height:10px;z-index:100012}.wcc-overlay__close-control{position:relative;display:inline-block;padding:22px;background-color:rgba(0,0,0,.35);cursor:pointer}.wcc-overlay__close-control::before,.wcc-overlay__close-control::after{position:absolute;top:calc(50% - 1px);left:calc(50% - 8px);display:inline-block;content:\\\"\\\";pointer-events:none;background-color:currentColor;box-sizing:border-box;color:currentColor;opacity:.9;height:2px;width:16px}.wcc-overlay__close-control:hover{background-color:rgba(0,0,0,.65)}.wcc-overlay__close-control::before{transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg)}.wcc-overlay__close-control::after{transform:rotate(-45deg);-moz-transform:rotate(-45deg);-webkit-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg)}.wcc-overlay__backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,.65)}.wcc-overlay__backdrop:last-child{display:none}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".wcc-overlay__stage{position:absolute;top:0;left:0;right:0;bottom:0;display:flex}.wcc-overlay__stage .wcc-animated{animation-duration:400ms}.wcc-overlay__stage.wcc-overlay__stage--stretch{width:100%}.wcc-overlay__stage.wcc-overlay__stage--stretch .wcc-overlay__stage__content{width:100%}.wcc-overlay__stage.wcc-overlay__stage--fullscreen{width:100%;height:100%;padding:0;margin:0}.wcc-overlay__stage.wcc-overlay__stage--fullscreen .wcc-overlay__stage__content{width:100%;height:100%}.wcc-overlay__stage.wcc-overlay__stage--scrollable{padding:50px 0;overflow-y:scroll}.wcc-overlay__stage__content{margin:auto}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;"],"sourceRoot":""}