- Redesign KPI cards to look like stock tickers - Add ticker ID (e.g. ВЫРУЧК:KPI, AOV:KPI) - Arrow up/down SVG indicators for change direction - Mini trend-line (50px) inside each card - Change color: green (#16a34a) for up, red (#e21d1d) for down - Remove sparkline background area, keep only line - Fix duplicate arrowUp variable naming (bArrowUp/bArrowDown/bArrowNeutral)
1 line
3.1 KiB
JavaScript
1 line
3.1 KiB
JavaScript
var e={d:(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{t:()=>l});var r=/^http(.*)$/;function o(e){var t=e;r.test(t)||(t=location.protocol+t);var o=new URL(t),i=o.pathname.split("/").slice(-1)[0];return"".concat(o.host,":").concat(i)}function i(e){return new Promise(((t,r)=>setTimeout(r,e)))}var n="script[src]";function s(e){var t={childList:!0},r=new MutationObserver(a.bind(null,e));r.observe(document.head,t),r.observe(document.body,t)}function a(e,t){t.forEach((t=>{Array.from(t.addedNodes).forEach((t=>{if(1===t.nodeType&&t.matches(n)){var r=o(t.src);e.add(r)}})),Array.from(t.removedNodes).forEach((t=>{if(1===t.nodeType&&t.matches(n)){var r=o(t.src);e.delete(r)}}))}))}function c(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if("object"!=typeof e||Array.isArray(e))return null;var t=Object.getPrototypeOf(e);return Object.getOwnPropertyNames(t).sort().join(":")}function u(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,"string");if("object"!=typeof o)return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class d{constructor(e){if(u(this,"requestQueue",new Map),u(this,"loadedScripts",new Set),u(this,"version","1.2.0"),u(this,"cmd",[]),c(e)===c(this))return e;Array.from(document.scripts).forEach((e=>{if(e.matches("script[src]")){var t=o(e.src);this.loadedScripts.add(t)}})),s(this.loadedScripts),this.cmd=e&&e.cmd||[],this.cmd.push=e=>{"function"==typeof e&&e()}}isLoaded(e){var t=o(e);return this.loadedScripts.has(t)&&!this.requestQueue.has(t)}isRequested(e){var t=o(e);return this.requestQueue.has(t)}inject(e){var{timeout:t,ordered:r=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=o(e);return this.isRequested(e)?this.requestQueue.get(n):this.isLoaded(e)?Promise.resolve(e):(this.requestQueue.set(n,d.injectScript(e,document.head,r).then((e=>(this.requestQueue.delete(n),e)))),t?Promise.race([i(t),this.requestQueue.get(n)]).catch((()=>{throw this.requestQueue.delete(n),this.loadedScripts.delete(n),new Error('ScriptInjector: Timed out loading "'.concat(e,'" after ').concat(t," ms"))})):this.requestQueue.get(n))}_flushQueue(){if(Array.isArray(this.cmd))for(;this.cmd.length;){var e=this.cmd.pop();"function"==typeof e&&e()}}static injectScript(e,t){var r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=document.createElement("script");return o.src=e,o.async=!r,new Promise(((r,i)=>{void 0!==o.onreadystatechange?o.onreadystatechange=function(){"loaded"===this.readyState&&(o.onreadystatechange=null,o=null,r(e))}:o.onload=o.onerror=function(n){if("error"===n.type)return i('ScriptInjector: Error loading script "'.concat(e,'"')),t.removeChild(o),o.onload=null,o.onerror=null,void(o=null);o.onload=null,o.onerror=null,o=null,r(e)},t.appendChild(o)}))}}var l=new d(window.Spritz);window.Spritz=l,window.Spritz._flushQueue();var h=t.t;export{h as Spritz}; |