KPI cards: Bloomberg stock ticker style

- 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)
This commit is contained in:
neo committed 2026-06-21 18:14:08 +05:00
1 parent 0b49915420
commit 932ec3ac8f
75 files changed
+3032 -56

No files matched your search

@@ -0,0 +1,11 @@
(function(sttc){var window=this;if(window.googletag&&googletag.evalScripts){googletag.evalScripts();}if(window.googletag&&googletag._loaded_)return;var q,aa=typeof Object.create=="function"?Object.create:function(a){var b=function(){};b.prototype=a;return new b},ba=typeof Object.defineProperties=="function"?Object.defineProperty:function(a,b,c){if(a==Array.prototype||a==Object.prototype)return a;a[b]=c.value;return a},ca=function(a){a=["object"==typeof globalThis&&globalThis,a,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var b=0;b<a.length;++b){var c=a[b];if(c&&c.Math==Math)return c}throw Error("Cannot find global object");},da=ca(this),ea=typeof Symbol==="function"&&typeof Symbol("x")==="symbol",u={},fa={},v=function(a,b,c){if(!c||a!=null){c=fa[b];if(c==null)return a[b];c=a[c];return c!==void 0?c:a[b]}},w=function(a,b,c){if(b)a:{var d=a.split(".");a=d.length===1;var e=d[0],f;!a&&e in u?f=u:f=da;for(e=0;e<d.length-1;e++){var g=d[e];if(!(g in f))break a;f=f[g]}d=d[d.length-1];c=ea&&c==="es6"?f[d]:null;b=b(c);b!=null&&(a?ba(u,d,{configurable:!0,writable:!0,value:b}):b!==c&&(fa[d]===void 0&&(a=Math.random()*1E9>>>0,fa[d]=ea?da.Symbol(d):"$jscp$"+a+"$"+d),ba(f,fa[d],{configurable:!0,writable:!0,value:b})))}},ha;if(ea&&typeof Object.setPrototypeOf=="function")ha=Object.setPrototypeOf;else{var ia;a:{var ja={a:!0},ka={};try{ka.__proto__=ja;ia=ka.a;break a}catch(a){}ia=!1}ha=ia?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var la=ha,x=function(a,b){a.prototype=aa(b.prototype);a.prototype.constructor=a;if(la)la(a,b);else for(var c in b)if(c!="prototype")if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Mb=b.prototype},ma=function(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}},y=function(a){var b=typeof u.Symbol!="undefined"&&v(u.Symbol,"iterator")&&a[v(u.Symbol,"iterator")];if(b)return b.call(a);if(typeof a.length=="number")return{next:ma(a)};throw Error(String(a)+" is not an iterable or ArrayLike");},A=function(a){if(!(a instanceof Array)){a=y(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a},oa=function(a){return na(a,a)},na=function(a,b){a.raw=b;Object.freeze&&(Object.freeze(a),Object.freeze(b));return a},C=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},pa=ea&&typeof v(Object,"assign")=="function"?v(Object,"assign"):function(a,b){if(a==null)throw new TypeError("No nullish arg");a=Object(a);for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)C(d,e)&&(a[e]=d[e])}return a};w("Object.assign",function(a){return a||pa},"es6");var qa=function(){for(var a=Number(this),b=[],c=a;c<arguments.length;c++)b[c-a]=arguments[c];return b};w("globalThis",function(a){return a||da},"es_2020");w("Symbol",function(a){if(a)return a;var b=function(f,g){this.g=f;ba(this,"description",{configurable:!0,writable:!0,value:g})};b.prototype.toString=function(){return this.g};var c="jscomp_symbol_"+(Math.random()*1E9>>>0)+"_",d=0,e=function(f){if(this instanceof e)throw new TypeError("Symbol is not a constructor");return new b(c+(f||"")+"_"+d++,f)};return e},"es6");w("Symbol.iterator",function(a){if(a)return a;a=(0,u.Symbol)("Symbol.iterator");ba(Array.prototype,a,{configurable:!0,writable:!0,value:function(){return ra(ma(this))}});return a},"es6");var ra=function(a){a={next:a};a[v(u.Symbol,"iterator")]=function(){return this};return a};w("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f<e;f++){var g=d[f];if(b.call(c,g,f,d)){b=g;break a}}b=void 0}return b}},"es6");w("WeakMap",function(a){function b(){}function c(g){var h=typeof g;return h==="object"&&g!==null||h==="function"}if(function(){if(!a||!Object.seal)return!1;try{var g=Object.seal({}),h=Object.seal({}),k=new a([[g,2],[h,3]]);if(k.get(g)!=2||k.get(h)!=3)return!1;k.delete(g);k.set(h,4);return!k.has(g)&&k.get(h)==4}catch(m){return!1}}())return a;var d="$jscomp_hidden_"+Math.random(),e=0,f=function(g){this.g=(e+=Math.random()+1).toString();if(g){g=y(g);for(var h;!(h=g.next()).done;)h=h.value,this.set(h[0],h[1])}};f.prototype.set=function(g,h){if(!c(g))throw Error("Invalid WeakMap key");if(!C(g,d)){var k=new b;ba(g,d,{value:k})}if(!C(g,d))throw Error("WeakMap key fail: "+g);g[d][this.g]=h;return this};f.prototype.get=function(g){return c(g)&&C(g,d)?g[d][this.g]:void 0};f.prototype.has=function(g){return c(g)&&C(g,d)&&C(g[d],this.g)};f.prototype.delete=function(g){return c(g)&&C(g,d)&&C(g[d],this.g)?delete g[d][this.g]:!1};return f},"es6");w("Map",function(a){if(function(){if(!a||typeof a!="function"||!v(a.prototype,"entries")||typeof Object.seal!="function")return!1;try{var h=Object.seal({x:4}),k=new a(y([[h,"s"]]));if(k.get(h)!="s"||k.size!=1||k.get({x:4})||k.set({x:4},"t")!=k||k.size!=2)return!1;var m=v(k,"entries").call(k),n=m.next();ifLine truncated
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
var D=this||self,wa=function(a,b){var c=va("CLOSURE_FLAGS");a=c&&c[a];return a!=null?a:b},va=function(a){a=a.split(".");for(var b=D,c=0;c<a.length;c++)if(b=b[a[c]],b==null)return null;return b},xa=function(a){var b=typeof a;return b!="object"?b:a?Array.isArray(a)?"array":b:"null"},ya=function(a,b,c){a=a.split(".");c=c||D;for(var d;a.length&&(d=a.shift());)a.length||b===void 0?c[d]&&c[d]!==Object.prototype[d]?c=c[d]:c=c[d]={}:c[d]=b};function za(a){D.setTimeout(function(){throw a;},0)};var Aa=function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};function Ba(a,b){var c=0;a=Aa(String(a)).split(".");b=Aa(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;c==0&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(f[0].length==0&&g[0].length==0)break;c=Ca(f[1].length==0?0:parseInt(f[1],10),g[1].length==0?0:parseInt(g[1],10))||Ca(f[2].length==0,g[2].length==0)||Ca(f[2],g[2]);f=f[3];g=g[3]}while(c==0)}return c}function Ca(a,b){return a<b?-1:a>b?1:0};var Da=wa(610401301,!1),Ea=wa(748402147,!0);var Fa,Ga=D.navigator;Fa=Ga?Ga.userAgentData||null:null;function Ha(a){if(!Da||!Fa)return!1;for(var b=0;b<Fa.brands.length;b++){var c=Fa.brands[b].brand;if(c&&c.indexOf(a)!=-1)return!0}return!1}function E(a){var b;a:{if(b=D.navigator)if(b=b.userAgent)break a;b=""}return b.indexOf(a)!=-1};function Ia(){return Da?!!Fa&&Fa.brands.length>0:!1}function Ja(){return Ia()?!1:E("Opera")}function Ka(){return E("Firefox")||E("FxiOS")}function La(){return E("Safari")&&!(Ma()||(Ia()?0:E("Coast"))||Ja()||(Ia()?0:E("Edge"))||(Ia()?Ha("Microsoft Edge"):E("Edg/"))||(Ia()?Ha("Opera"):E("OPR"))||Ka()||E("Silk")||E("Android"))}function Ma(){return Ia()?Ha("Chromium"):(E("Chrome")||E("CriOS"))&&!(Ia()?0:E("Edge"))||E("Silk")};var Na=function(a,b){return Array.prototype.map.call(a,b,void 0)};function Oa(a,b){a:{for(var c=typeof a==="string"?a.split(""):a,d=a.length-1;d>=0;d--)if(d in c&&b.call(void 0,c[d],d,a)){b=d;break a}b=-1}return b<0?null:typeof a==="string"?a.charAt(b):a[b]};var Pa=function(a){Pa[" "](a);return a};Pa[" "]=function(){};var Qa=null;function Ra(a){var b=[];Sa(a,function(c){b.push(c)});return b}function Sa(a,b){function c(k){for(;d<a.length;){var m=a.charAt(d++),n=Qa[m];if(n!=null)return n;if(!/^[\s\xa0]*$/.test(m))throw Error("Unknown base64 encoding at char: "+m);}return k}Ta();for(var d=0;;){var e=c(-1),f=c(0),g=c(64),h=c(64);if(h===64&&e===-1)break;b(e<<2|f>>4);g!=64&&(b(f<<4&240|g>>2),h!=64&&b(g<<6&192|h))}}function Ta(){if(!Qa){Qa={};for(var a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".split(""),b=["+/=","+/","-_=","-_.","-_"],c=0;c<5;c++)for(var d=a.concat(b[c].split("")),e=0;e<d.length;e++){var f=d[e];Qa[f]===void 0&&(Qa[f]=e)}}};function Ua(a,b){a.__closure__error__context__984382||(a.__closure__error__context__984382={});a.__closure__error__context__984382.severity=b};var Va=void 0,Wa;function Xa(a){if(Wa)throw Error("");Wa=function(b){D.setTimeout(function(){a(b)},0)}}function Ya(a){if(Wa)try{Wa(a)}catch(b){throw b.cause=a,b;}}function Za(a){a=Error(a);Ua(a,"warning");Ya(a);return a};function $a(){return typeof BigInt==="function"};var ab=typeof u.Symbol==="function"&&typeof(0,u.Symbol)()==="symbol";function bb(a,b,c){return typeof u.Symbol==="function"&&typeof(0,u.Symbol)()==="symbol"?(c===void 0?0:c)&&u.Symbol.for&&a?u.Symbol.for(a):a!=null?(0,u.Symbol)(a):(0,u.Symbol)():b}var eb=bb("jas",void 0,!0),fb=bb(void 0,"0di"),gb=bb(void 0,"1oa"),hb=bb(void 0,"0actk"),ib=bb("m_m","Lb",!0);var jb={fb:{value:0,configurable:!0,writable:!0,enumerable:!1}},kb=Object.defineProperties,F=ab?eb:"fb",lb,mb=[];G(mb,7);lb=Object.freeze(mb);function nb(a,b){ab||F in a||kb(a,jb);a[F]|=b}function G(a,b){ab||F in a||kb(a,jb);a[F]=b}function ob(a){if(4&a)return 512&a?512:1024&a?1024:0}function pb(a){nb(a,32);return a};var qb={};function H(a,b){return b===void 0?a.g!==rb&&!!(2&(a.i[F]|0)):!!(2&b)&&a.g!==rb}var rb={};function sb(a,b){if(typeof b!=="number"||b<0||b>=a.length)throw Error();}var tb=Object.freeze({}),ub=Object.freeze({});function vb(a){var b=wb;if(!a)throw Error((typeof b==="function"?b():b)||String(a));}function xb(a){a.Kb=!0;return a}var wb=void 0;var yb=xb(function(a){return typeof a==="number"}),zb=xb(function(a){return typeof a==="string"}),Ab=xb(function(a){return typeof a==="boolean"});var Bb=typeof D.BigInt==="function"&&typeof D.BigInt(0)==="bigint";function Cb(a){var b=a;if(zb(b)){if(!/^\s*(?:-?[1-9]\d*|0)?\s*$/.test(b))throw Error(String(b));}else if(yb(b)&&!v(Number,"isSafeInteger").call(Number,b))throw Error(String(b));return Bb?BigInt(a):a=Ab(a)?a?"1":"0":zb(a)?a.trim()||"0":String(a)}var Ib=xb(function(a){return Bb?a>=Db&&a<=Eb:a[0]==="-"?Fb(a,Gb):Fb(a,Hb)}),Gb=v(Number,"MIN_SAFE_INTEGER").toString(),Db=Bb?BigInt(v(Number,"MIN_SAFE_INTEGER")):void 0,Hb=v(Number,"MAX_SAFE_INTEGER").toString(),Eb=Bb?BigInt(v(Number,"MAX_SAFE_INTEGER")):void 0;function Fb(a,b){if(a.length>b.length)return!1;if(a.length<b.Line truncated
Copyright Google LLC
SPDX-License-Identifier: Apache-2.0
*/
var Dd;function Ed(){Dd===void 0&&(Dd=null);return Dd};var Fd=function(a){this.g=a};Fd.prototype.toString=function(){return this.g+""};function Gd(a){var b=Ed();a=b?b.createScriptURL(a):a;return new Fd(a)}function Hd(a){if(a instanceof Fd)return a.g;throw Error("");};var Id=/^\s*(?!javascript:)(?:[\w+.-]+:|[^:/?#]*(?:[/?#]|$))/i;var Jd=function(a){this.g=a};Jd.prototype.toString=function(){return this.g+""};function Kd(a){a=a===void 0?document:a;var b,c;a=(c=(b=a).querySelector)==null?void 0:c.call(b,"script[nonce]");return a==null?"":a.nonce||a.getAttribute("nonce")||""};function Ld(a,b){a.src=Hd(b);(b=Kd(a.ownerDocument))&&a.setAttribute("nonce",b)};var Md="alternate author bookmark canonical cite help icon license modulepreload next prefetch dns-prefetch prerender preconnect preload prev search subresource".split(" ");function Nd(a,b){var c=a.write;if(b instanceof Jd)b=b.g;else throw Error("");c.call(a,b)};var Od=Bd(function(){return(Da&&Fa?Fa.mobile:!Cd()&&(E("iPod")||E("iPhone")||E("Android")||E("IEMobile")))?2:Cd()?1:0});function Pd(a,b){if(a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(a[c],c,a)};function Qd(){if(!u.globalThis.crypto)return Math.random();try{var a=new Uint32Array(1);u.globalThis.crypto.getRandomValues(a);return a[0]/65536/65536}catch(b){return Math.random()}};var Rd,Sd=64;function Td(){try{return Rd!=null||(Rd=new Uint32Array(64)),Sd>=64&&(crypto.getRandomValues(Rd),Sd=0),Rd[Sd++]}catch(a){return Math.floor(Math.random()*4294967296)}};function Ud(a,b){if(!yb(a.goog_pvsid))try{var c=Td()+(Td()&2097151)*4294967296;Object.defineProperty(a,"goog_pvsid",{value:c,configurable:!1})}catch(d){b.G({methodName:784,I:d})}a=Number(a.goog_pvsid);(!a||a<=0)&&b.G({methodName:784,I:Error("Invalid correlator, "+a)});return a||-1};function Vd(a,b){a=Hd(a).toString();a='<script src="'+Wd(a)+'"';if(b==null?0:b.async)a+=" async";(b==null?void 0:b.attributionSrc)!==void 0&&(a+=' attributionsrc="'+Wd(b.attributionSrc)+'"');if(b==null?0:b.Wa)a+=' custom-element="'+Wd(b.Wa)+'"';if(b==null?0:b.defer)a+=" defer";if(b==null?0:b.id)a+=' id="'+Wd(b.id)+'"';if(b==null?0:b.nonce)a+=' nonce="'+Wd(b.nonce)+'"';if(b==null?0:b.type)a+=' type="'+Wd(b.type)+'"';if(b==null?0:b.Ha)a+=' crossorigin="'+Wd(b.Ha)+'"';b=a+">\x3c/script>";b=(a=Ed())?a.createHTML(b):b;return new Jd(b)}function Wd(a){return a.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")};function Xd(a){var b=qa.apply(1,arguments);if(b.length===0)return Gd(a[0]);for(var c=a[0],d=0;d<b.length;d++)c+=encodeURIComponent(b[d])+a[d+1];return Gd(c)}function Yd(a,b){a=Hd(a).toString();var c=a.split(/[?#]/),d=/[?]/.test(a)?"?"+c[1]:"";return Zd(c[0],d,/[#]/.test(a)?"#"+(d?c[2]:c[1]):"",b)}function Zd(a,b,c,d){function e(g,h){g!=null&&(Array.isArray(g)?g.forEach(function(k){return e(k,h)}):(b+=f+encodeURIComponent(h)+"="+encodeURIComponent(g),f="&"))}var f=b.length?"&":"?";d.constructor===Object&&(d=v(Object,"entries").call(Object,d));Array.isArray(d)?d.forEach(function(g){return e(g[1],g[0])}):d.forEach(e);return Gd(a+b+c)};function $d(a,b){if(a.length&&b.head){a=y(a);for(var c=a.next();!c.done;c=a.next())if((c=c.value)&&b.head){var d=ae("META");b.head.appendChild(d);d.httpEquiv="origin-trial";d.content=c}}}var be=function(a){return Ud(a,{G:function(){}})},ae=function(a,b){b=b===void 0?document:b;return b.createElement(String(a).toLowerCase())};function ce(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};var de={Fb:0,Eb:1,Bb:2,wb:3,Cb:4,xb:5,Db:6,zb:7,Ab:8,ub:9,yb:10,Gb:11};var ee={Ib:0,Jb:1,Hb:2};var fe=function(a){this.i=L(a)};x(fe,U);fe.prototype.getVersion=function(){return gd(this,2)};function ge(a){return Ra(a.length%4!==0?a+"A":a).map(function(b){return v(b.toString(2),"padStart").call(b.toString(2),8,"0")}).join("")}function he(a){if(!/^[0-1]+$/.test(a))throw Error("Invalid input ["+a+"] not a bit string.");return parseInt(a,2)}function ie(a){if(!/^[0-1]+$/.test(a))throw Error("Invalid input ["+a+"] not a bit string.");for(var b=[1,2,3,5],c=0,d=0;d<a.length-1;d++)b.length<=d&&b.push(b[d-1]+b[d-2]),c+=parseInt(a[d],2)*b[d];return c};function je(a){var b=ge(a),c=he(b.slice(0,6));a=he(b.slice(6,12));var d=new fe;c=md(d,1,c);a=md(c,2,a);b=b.slice(12);c=he(b.slice(0,12));d=[];for(var e=b.slice(12).replace(/0+$/,""),f=0;f<c;f++){if(e.length===0)throw Error("Found "+f+" of "+c+" sections ["+d+"] but reached end of input ["+b+"]");var g=he(e[0])===0;e=e.slice(1);var h=ke(e,b),k=d.length===0?0:d[d.length-1];k=ie(h)+k;e=e.slice(h.length);if(g)d.push(k);else{g=ke(e,b);h=ie(g);for(var m=0;m<=h;m++)d.push(k+m);e=e.slice(g.length)}}if(e.length>0)throw Error("Found "+c+" sections ["+d+"] but has remaining input ["+e+"], entire input ["+b+"]");return Qc(a,3,d,ac)}function ke(a,b){var c=a.indexOf("11");if(c===-1)throw Error("Expected section bitstring but not found in ["+a+"] part of ["+b+"]");return a.slice(0,c+2)};var le=ce(de).map(function(a){return Number(a)}),me=ce(ee).map(function(a){return NumbLine truncated