{"version":3,"sources":["webpack:///../WCC.UI/App/components/attachments/fluidIcon/fluidIcon.html?a2cc","webpack:///../WCC.UI/App/components/attachments/fluidIcon/fluidIcon.scss?3099","webpack:///../WCC.UI/App/components/attachments/fluidIcon/fluidIcon.ts","webpack:///../WCC.UI/App/webpack/runtime/htmlExposer.js","webpack:///../WCC.UI/App/components/attachments/fluidIcon/fluidIcon.scss","webpack:///../WCC.UI/App/components/attachments/fluidIcon/fluidIcon.html"],"names":["content","expose","__esModule","default","api","module","i","options","exports","locals","FluidIconVM","constructor","config","info","icon","ko","flattenComputed","isStaticContainer","staticContainer","isVerticalMode","verticalMode","showLoading","shouldGrow","grow","scale","scaleX","scaleY","width","height","NodeTracker","node","element","iconSize","pureComputed","_","min","applyBindingsToNode","toPx","this","__decorate","injectable","__param","inject","wccModules","componentConfig","componentInfo","system","SystemHelpers","html","getTemplatesAndResources","forEach","document","head","appendChild","___CSS_LOADER_API_IMPORT___","push"],"mappings":"mJAAA,UAAO,CACC,mHACA,wDAIC,KAJ4C,EAAF,SAAYA,EAASC,GAG5D,OADAA,EADAD,EAAUA,EAAQE,WAAaF,EAAQG,QAAUH,GAE1CA,GACV,4B,gFCNT,IAAII,EAAM,EAAQ,gFACFJ,EAAU,EAAQ,8JAIC,iBAFvBA,EAAUA,EAAQE,WAAaF,EAAQG,QAAUH,KAG/CA,EAAU,CAAC,CAACK,EAAOC,EAAIN,EAAS,MAG9C,IAAIO,EAAU,CAEd,OAAiB,OACjB,WAAoB,GAEPH,EAAIJ,EAASO,GAI1BF,EAAOG,QAAUR,EAAQS,QAAU,I,80BCKnC,IAAqBC,EAArB,MAIIC,YACwCC,EACFC,GAElC,MAAMC,EAAOC,EAAGC,gBAAgBJ,EAAOE,MACjCG,EAAoBF,EAAGC,gBAAgBJ,EAAOM,iBAC9CC,EAAiBJ,EAAGC,gBAAgBJ,EAAOQ,cAAc,GACzDC,EAAcN,EAAGC,gBAAgBJ,EAAOS,aAAa,GAErDC,EAAaP,EAAGC,gBAAgBJ,EAAOW,MAAM,GAE7CC,EAAQT,EAAGC,gBAAgBJ,EAAOY,OAClCC,EAASV,EAAGC,gBAAgBJ,EAAOa,QAAQtB,QAAQqB,GAAOrB,QAhClD,IAiCRuB,EAASX,EAAGC,gBAAgBJ,EAAOc,QAAQvB,QAAQqB,GAAOrB,QAhClD,MAkCR,MAAEwB,EAAK,OAAEC,GAAW,IAAIC,cAAY,CAAEC,KAAMjB,EAAKkB,UAEjDC,EAAWjB,EAAGkB,aAAa,IACzBd,IACOS,IAAWF,IACXT,IACAiB,EAAE,CAACP,IAAUF,IAAUG,IAAWF,MAAWS,MAE7CR,IAAUF,KAGzBV,EAAGqB,oBAAoBvB,EAAKkB,QAAS,CACjC,IAAO,CACH,kBAAkB,EAClB,uBAAwBT,EACxB,0BAA2BD,GAG/B,MAAS,CACL,YAAaW,EAASK,SAE3BC,MAEHA,KAAKxB,KAAOA,EACZwB,KAAKjB,YAAcA,IA3CNX,EAAW6B,EAAA,CAD/BC,cAMQC,EAAA,EAAAC,YAAOC,IAAWC,kBAClBH,EAAA,EAAAC,YAAOC,IAAWE,iBANNnC,gB,yLCvBrB,WAOC,KAPD,aACI,MAAMoC,EAAS,EAAQ,mCAAkBC,cAEzC,OAAO,SAAUC,GACbF,EAAOG,yBAAyBD,GAC3BE,SAAQ,SAAUpB,GAAQqB,SAASC,KAAKC,YAAYvB,QAEhE,+B,8KCLDtB,EADkC,EAAQ,wDAChC8C,EAA4B,IAE9BC,KAAK,CAAClD,EAAOC,EAAI,yLAA0L,KAEnND,EAAOG,QAAUA,G,8HCHjBH,EAAOG,QAFI","file":"266.658456026c9a3ac8403a.js","sourcesContent":["define([\n \"!!../../../../node_modules/html-loader/dist/cjs.js??ref--26-1!./fluidIcon.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!./fluidIcon.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, SubscribableOrNullableValue } from 'knockout';\r\nimport { NodeTracker } from 'managers/nodes/tracker';\r\nimport './fluidIcon.html';\r\nimport './fluidIcon.scss';\r\n\nconst defaultScaleX = 0.4;\nconst defaultScaleY = 0.55;\n\nexport interface FluidIconVMConfig {\n icon: SubscribableOrNullableValue\r\n staticContainer?: SubscribableOrNullableValue\r\n verticalMode?: SubscribableOrNullableValue\r\n showLoading?: SubscribableOrNullableValue\r\n grow?: SubscribableOrNullableValue\r\n\r\n scaleX?: SubscribableOrNullableValue\r\n scaleY?: SubscribableOrNullableValue\r\n scale?: SubscribableOrNullableValue\r\n}\n\n@injectable()\nexport default class FluidIconVM {\n icon: Subscribable\n showLoading: Subscribable\n\n constructor(\r\n @inject(wccModules.componentConfig) config: FluidIconVMConfig,\r\n @inject(wccModules.componentInfo) info: ko.components.ComponentInfo\r\n ) {\r\n const icon = ko.flattenComputed(config.icon);\r\n const isStaticContainer = ko.flattenComputed(config.staticContainer);\r\n const isVerticalMode = ko.flattenComputed(config.verticalMode, false);\r\n const showLoading = ko.flattenComputed(config.showLoading, false);\r\n\r\n const shouldGrow = ko.flattenComputed(config.grow, false);\r\n\r\n const scale = ko.flattenComputed(config.scale);\r\n const scaleX = ko.flattenComputed(config.scaleX).default(scale).default(defaultScaleX);\r\n const scaleY = ko.flattenComputed(config.scaleY).default(scale).default(defaultScaleY);\r\n\r\n const { width, height } = new NodeTracker({ node: info.element as HTMLElement });\r\n\r\n const iconSize = ko.pureComputed(() => {\n if (isVerticalMode()) {\n return height() * scaleY();\r\n } else if (isStaticContainer())\n return _([width() * scaleX(), height() * scaleY()]).min();\n else\n return width() * scaleX();\n });\r\n\r\n ko.applyBindingsToNode(info.element, {\n 'css': {\n 'wcc-fluid-icon': true,\n 'wcc-fluid-icon--grow': shouldGrow,\n 'wcc-fluid-icon--loading': showLoading\n },\n\n 'style': {\n 'font-size': iconSize.toPx()\n }\n }, this);\r\n\r\n this.icon = icon;\r\n this.showLoading = showLoading;\r\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, \".wcc-fluid-icon{display:flex;justify-content:center;align-items:center}.wcc-fluid-icon.wcc-fluid-icon--grow{flex-grow:1}.wcc-fluid-icon.wcc-fluid-icon--loading{flex-direction:column}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// Module\nvar code = \"\";\n// Exports\nmodule.exports = code;"],"sourceRoot":""}