diff --git a/.storybook/mstar-apis-sdk.js b/.storybook/mstar-apis-sdk.js index 5f2d22d..af608f1 100644 --- a/.storybook/mstar-apis-sdk.js +++ b/.storybook/mstar-apis-sdk.js @@ -1,10 +1,10 @@ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["mstar-apis-sdk"]=e():t.MstarApisSdk=e()}(window,(function(){return e=[function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function i(t,e){for(var n=0;n - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */(function(){var o,u,a,c,s="Expected a function",l="__lodash_hash_undefined__",f="__lodash_placeholder__",p=9007199254740991,h=4294967295,g=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],d="[object Arguments]",y="[object Array]",v="[object Boolean]",_="[object Date]",m="[object Error]",w="[object Function]",b="[object GeneratorFunction]",I="[object Map]",S="[object Number]",P="[object Object]",k="[object Promise]",A="[object RegExp]",R="[object Set]",O="[object String]",j="[object Symbol]",T="[object WeakMap]",E="[object ArrayBuffer]",x="[object DataView]",D="[object Float32Array]",M="[object Float64Array]",C="[object Int8Array]",U="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",z="[object Uint8ClampedArray]",q="[object Uint16Array]",B="[object Uint32Array]",W=/\b__p \+= '';/g,L=/\b(__p \+=) '' \+/g,H=/(__e\(.*?\)|\b__t\)) \+\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,V=/[&<>"']/g,$=RegExp(J.source),X=RegExp(V.source),G=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,K=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ut=/\{\n\/\* \[wrapped with (.+)\] \*/,at=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,st=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pt=/\w*$/,ht=/^[-+]0x[0-9a-f]+$/i,gt=/^0b[01]+$/i,dt=/^\[object .+?Constructor\]$/,yt=/^0o[0-7]+$/i,vt=/^(?:0|[1-9]\d*)$/,_t=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,bt="\\ud800-\\udfff",It="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",St="\\ufe0e\\ufe0f",Pt="["+bt+"]",kt="["+(Et="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000")+"]",At="["+It+"]",Rt="["+(u="\\u2700-\\u27bf")+"]",Ot="["+(Gt="a-z\\xdf-\\xf6\\xf8-\\xff")+"]",jt="\\u200d",Tt="(?:"+Ot+"|"+(Et="[^"+bt+Et+"\\d+"+u+Gt+(a="A-Z\\xc0-\\xd6\\xd8-\\xde")+"]")+")",Et="(?:"+(a="["+a+"]")+"|"+Et+")",xt="(?:['’](?:d|ll|m|re|s|t|ve))?",Dt="(?:['’](?:D|LL|M|RE|S|T|VE))?",Mt=(Mt="["+St+"]?")+(Ct="(?:"+At+"|"+(u="\\ud83c[\\udffb-\\udfff]")+")?")+"(?:\\u200d(?:"+[Gt="[^"+bt+"]",Yt="(?:\\ud83c[\\udde6-\\uddff]){2}",c="[\\ud800-\\udbff][\\udc00-\\udfff]"].join("|")+")"+Mt+Ct+")*",Ct="(?:"+[Rt,Yt,c].join("|")+")"+Mt,Ut=(Rt="(?:"+[Gt+At+"?",At,Yt,c,Pt].join("|")+")",RegExp("['’]","g")),Nt=RegExp(At,"g"),Ft=RegExp(u+"(?="+u+")|"+Rt+Mt,"g"),zt=RegExp([a+"?"+Ot+"+"+xt+"(?="+[kt,a,"$"].join("|")+")",Et+"+"+Dt+"(?="+[kt,a+Tt,"$"].join("|")+")",a+"?"+Tt+"+"+xt,a+"+"+Dt,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ct].join("|"),"g"),qt=RegExp("["+jt+bt+It+St+"]"),Bt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Lt=-1,Ht={},Jt=(Ht[D]=Ht[M]=Ht[C]=Ht[U]=Ht[N]=Ht[F]=Ht[z]=Ht[q]=Ht[B]=!0,Ht[d]=Ht[y]=Ht[E]=Ht[v]=Ht[x]=Ht[_]=Ht[m]=Ht[w]=Ht[I]=Ht[S]=Ht[P]=Ht[A]=Ht[R]=Ht[O]=Ht[T]=!1,{}),Vt=(Jt[d]=Jt[y]=Jt[E]=Jt[x]=Jt[v]=Jt[_]=Jt[D]=Jt[M]=Jt[C]=Jt[U]=Jt[N]=Jt[I]=Jt[S]=Jt[P]=Jt[A]=Jt[R]=Jt[O]=Jt[j]=Jt[F]=Jt[z]=Jt[q]=Jt[B]=!0,Jt[m]=Jt[w]=Jt[T]=!1,{"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"}),$t=parseFloat,Xt=parseInt,Gt="object"==typeof t&&t&&t.Object===Object&&t,Yt="object"==typeof self&&self&&self.Object===Object&&self,Zt=Gt||Yt||Function("return this")(),Kt=(c=e&&!e.nodeType&&e)&&"object"==typeof r&&r&&!r.nodeType&&r,Qt=Kt&&Kt.exports===c,te=Qt&&Gt.process,ee=(Pt=function(){try{var t=Kt&&Kt.require&&Kt.require("util").types;return t||te&&te.binding&&te.binding("util")}catch(t){}}())&&Pt.isArrayBuffer,ne=Pt&&Pt.isDate,re=Pt&&Pt.isMap,ie=Pt&&Pt.isRegExp,oe=Pt&&Pt.isSet,ue=Pt&&Pt.isTypedArray;function ae(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ce(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i":">",'"':""","'":"'"});function qe(t){return"\\"+Vt[t]}function Be(t){return qt.test(t)}function We(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function Le(t,e){return function(n){return t(e(n))}}function He(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),Ye=function t(e){var n=(e=null==e?Zt:Ye.defaults(Zt.Object(),e,Ye.pick(Zt,Wt))).Array,r=e.Date,i=e.Error,u=e.Function,a=e.Math,c=e.Object,it=e.RegExp,bt=e.String,It=e.TypeError,St=n.prototype,Pt=u.prototype,kt=c.prototype,At=e["__core-js_shared__"],Rt=Pt.toString,Ot=kt.hasOwnProperty,jt=0,Tt=(Pt=/[^.]+$/.exec(At&&At.keys&&At.keys.IE_PROTO||""))?"Symbol(src)_1."+Pt:"",Et=kt.toString,xt=Rt.call(c),Dt=Zt._,Mt=it("^"+Rt.call(Ot).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ct=(Pt=Qt?e.Buffer:o,e.Symbol),Ft=e.Uint8Array,qt=Pt?Pt.allocUnsafe:o,Vt=Le(c.getPrototypeOf,c),Gt=c.create,Yt=kt.propertyIsEnumerable,Kt=St.splice,te=Ct?Ct.isConcatSpreadable:o,we=Ct?Ct.iterator:o,Oe=Ct?Ct.toStringTag:o,Ze=function(){try{var t=Zi(c,"defineProperty");return t({},"",{}),t}catch(t){}}(),Ke=e.clearTimeout!==Zt.clearTimeout&&e.clearTimeout,Qe=r&&r.now!==Zt.Date.now&&r.now,tn=e.setTimeout!==Zt.setTimeout&&e.setTimeout,en=a.ceil,nn=a.floor,rn=c.getOwnPropertySymbols,on=(Pt=Pt?Pt.isBuffer:o,e.isFinite),un=St.join,an=Le(c.keys,c),cn=a.max,sn=a.min,ln=r.now,fn=e.parseInt,pn=a.random,hn=St.reverse,gn=(r=Zi(e,"DataView"),Zi(e,"Map")),dn=Zi(e,"Promise"),yn=Zi(e,"Set"),vn=(e=Zi(e,"WeakMap"),Zi(c,"create")),_n=e&&new e,mn={},wn=ko(r),bn=ko(gn),In=ko(dn),Sn=ko(yn),Pn=ko(e),kn=(Ct=Ct?Ct.prototype:o)?Ct.valueOf:o,An=Ct?Ct.toString:o;function Rn(t){if(xu(t)&&!Iu(t)&&!(t instanceof xn)){if(t instanceof En)return t;if(Ot.call(t,"__wrapped__"))return Ao(t)}return new En(t)}var On=function(t){return Eu(t)?Gt?Gt(t):(jn.prototype=t,t=new jn,jn.prototype=o,t):{}};function jn(){}function Tn(){}function En(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=o}function xn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function Dn(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e>>0,e>>>=0,n(o));++i>>1,u=t[o];null!==u&&!zu(u)&&(n?u<=e:u>>0)?(t=Gu(t))&&("string"==typeof e||null!=e&&!Uu(e))&&!(e=Gr(e))&&Be(t)?ai($e(t),0,n):t.split(e,n):[]},Rn.spread=function(t,e){if("function"!=typeof t)throw new It(s);return e=null==e?0:cn(Ju(e),0),Nr((function(n){var r=n[e];n=ai(n,0,e);return r&&ye(n,r),ae(t,this,n)}))},Rn.tail=function(t){var e=null==t?0:t.length;return e?Lr(t,1,e):[]},Rn.take=function(t,e,n){return t&&t.length?Lr(t,0,(e=n||e===o?1:Ju(e))<0?0:e):[]},Rn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?Lr(t,(e=r-(e=n||e===o?1:Ju(e)))<0?0:e,r):[]},Rn.takeRightWhile=function(t,e){return t&&t.length?Qr(t,Xi(e,3),!1,!0):[]},Rn.takeWhile=function(t,e){return t&&t.length?Qr(t,Xi(e,3)):[]},Rn.tap=function(t,e){return e(t),t},Rn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new It(s);return Eu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fu(t,e,{leading:r,maxWait:e,trailing:i})},Rn.thru=$o,Rn.toArray=Lu,Rn.toPairs=da,Rn.toPairsIn=ya,Rn.toPath=function(t){return Iu(t)?de(t,Po):zu(t)?[t]:di(So(Gu(t)))},Rn.toPlainObject=Xu,Rn.transform=function(t,e,n){var r,i=Iu(t),o=i||Au(t)||qu(t);return e=Xi(e,4),null==n&&(r=t&&t.constructor,n=o?i?new r:[]:Eu(t)&&Ou(r)?On(Vt(t)):{}),(o?se:cr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Rn.unary=function(t){return au(t,1)},Rn.union=Co,Rn.unionBy=Uo,Rn.unionWith=No,Rn.uniq=function(t){return t&&t.length?Yr(t):[]},Rn.uniqBy=function(t,e){return t&&t.length?Yr(t,Xi(e,2)):[]},Rn.uniqWith=function(t,e){return e="function"==typeof e?e:o,t&&t.length?Yr(t,o,e):[]},Rn.unset=function(t,e){return null==t||Zr(t,e)},Rn.unzip=Fo,Rn.unzipWith=zo,Rn.update=function(t,e,n){return null==t?t:Kr(t,e,ii(n))},Rn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:o,null==t?t:Kr(t,e,ii(n),r)},Rn.values=va,Rn.valuesIn=function(t){return null==t?[]:Me(t,sa(t))},Rn.without=qo,Rn.words=Oa,Rn.wrap=function(t,e){return du(ii(e),t)},Rn.xor=Bo,Rn.xorBy=Wo,Rn.xorWith=Lo,Rn.zip=Ho,Rn.zipObject=function(t,e){return ni(t||[],e||[],Ln)},Rn.zipObjectDeep=function(t,e){return ni(t||[],e||[],qr)},Rn.zipWith=Jo,Rn.entries=da,Rn.entriesIn=ya,Rn.extend=Zu,Rn.extendWith=Ku,Fa(Rn,Rn),Rn.add=Ga,Rn.attempt=ja,Rn.camelCase=_a,Rn.capitalize=ma,Rn.ceil=Ya,Rn.clamp=function(t,e,n){return n===o&&(n=e,e=o),n!==o&&(n=(n=$u(n))==n?n:0),e!==o&&(e=(e=$u(e))==e?e:0),Gn($u(t),e,n)},Rn.clone=function(t){return Yn(t,4)},Rn.cloneDeep=function(t){return Yn(t,5)},Rn.cloneDeepWith=function(t,e){return Yn(t,5,e="function"==typeof e?e:o)},Rn.cloneWith=function(t,e){return Yn(t,4,e="function"==typeof e?e:o)},Rn.conformsTo=function(t,e){return null==e||Zn(t,e,ca(e))},Rn.deburr=wa,Rn.defaultTo=function(t,e){return null==t||t!=t?e:t},Rn.divide=Za,Rn.endsWith=function(t,e,n){t=Gu(t),e=Gr(e);var r=t.length;r=n=n===o?r:Gn(Ju(n),0,r);return 0<=(n-=e.length)&&t.slice(n,r)==e},Rn.eq=_u,Rn.escape=function(t){return(t=Gu(t))&&X.test(t)?t.replace(V,ze):t},Rn.escapeRegExp=function(t){return(t=Gu(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Rn.every=function(t,e,n){return(Iu(t)?fe:nr)(t,Xi(e=n&&oo(t,e,n)?o:e,3))},Rn.find=Yo,Rn.findIndex=Ro,Rn.findKey=function(t,e){return be(t,Xi(e,3),cr)},Rn.findLast=Zo,Rn.findLastIndex=Oo,Rn.findLastKey=function(t,e){return be(t,Xi(e,3),sr)},Rn.floor=Ka,Rn.forEach=Ko,Rn.forEachRight=Qo,Rn.forIn=function(t,e){return null==t?t:ur(t,Xi(e,3),sa)},Rn.forInRight=function(t,e){return null==t?t:ar(t,Xi(e,3),sa)},Rn.forOwn=function(t,e){return t&&cr(t,Xi(e,3))},Rn.forOwnRight=function(t,e){return t&&sr(t,Xi(e,3))},Rn.get=ra,Rn.gt=mu,Rn.gte=wu,Rn.has=function(t,e){return null!=t&&eo(t,e,dr)},Rn.hasIn=ia,Rn.head=To,Rn.identity=Ma,Rn.includes=function(t,e,n,r){return t=Pu(t)?t:va(t),n=n&&!r?Ju(n):0,r=t.length,n<0&&(n=cn(r+n,0)),Fu(t)?n<=r&&-1=sn(e=e,n=n)&&t=this.__values__.length;return{done:t,value:t?o:this.__values__[this.__index__++]}},Rn.prototype.plant=function(t){for(var e,n=this;n instanceof Tn;){var r=Ao(n),i=(r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r,r);n=n.__wrapped__}return i.__wrapped__=t,e},Rn.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof xn?(t=t,(t=(t=this.__actions__.length?new xn(this):t).reverse()).__actions__.push({func:$o,args:[Mo],thisArg:o}),new En(t,this.__chain__)):this.thru(Mo)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return ti(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,we&&(Rn.prototype[we]=function(){return this}),Rn}();Zt._=Ye,(i=function(){return Ye}.call(e,n,e,r))!==o&&(r.exports=i)}).call(this)}).call(this,n(4),n(5)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.merge=void 0;var r=n(1);function i(t,e){if(e instanceof Array)return e}e.merge=function(){for(var t=arguments.length,e=Array(t),n=0;nDate.now()}catch(t){return!1}}});Object.defineProperties(this,{abort:{value:function(t){return b.abort.call(e,t)},writable:!0},fetch:{value:function(){return b.send.call(e,0>>24&255,i[r++]=s>>>16&255,i[r++]=s>>>8&255,i[r++]=255&s,t=a/4294967296*1e4&268435455,i[r++]=t>>>8&255,i[r++]=255&t,i[r++]=t>>>24&15|16,i[r++]=t>>>16&255,i[r++]=n>>>8|128,i[r++]=255&n;for(var d=0;d<6;++d)i[r+d]=u[d];return e||p(i)},y=function(t){if(!a(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n};function v(t,e,n){function r(t,r,i,o){if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n>>9<<4)+1}function m(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function w(t,e,n,r,i,o){return m((e=m(m(e,t),m(r,o)))<>>32-i,n)}function b(t,e,n,r,i,o,u){return w(e&n|~e&r,t,e,i,o,u)}function I(t,e,n,r,i,o,u){return w(e&r|n&~r,t,e,i,o,u)}function S(t,e,n,r,i,o,u){return w(e^n^r,t,e,i,o,u)}function P(t,e,n,r,i,o,u){return w(n^(e|~r),t,e,i,o,u)}var k=v("v3",48,(function(t){if("string"==typeof t){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var n=0;n>5]|=128<>5]|=(255&t[r/8])<>5]>>>a%32&255;c=parseInt(u.charAt(c>>>4&15)+u.charAt(15&c),16);i.push(c)}return i})),A=function(t,e,n){var r=(t=t||{}).random||(t.rng||o)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=r[i];return e}return p(r)};function R(t,e){return t<>>32-e}var O=v("v5",80,(function(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){var r=unescape(encodeURIComponent(t));t=[];for(var i=0;i>>0,m=_,_=v,v=R(y,30)>>>0,y=d,d=b}n[0]=n[0]+d>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+v>>>0,n[3]=n[3]+_>>>0,n[4]=n[4]+m>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]})),j="00000000-0000-0000-0000-000000000000",T=function(t){if(a(t))return parseInt(t.substr(14,1),16);throw TypeError("Invalid UUID")}},,function(t,e,n){t.exports=n(22)},function(t,e,n){"use strict";((n=n=n(3))&&n.__esModule?n:{default:n}).default.initialize()}],n={},t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(t){return e[t]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t.p="",t(t.s=21);function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var e,n})); - //# sourceMappingURL=mstar-apis-sdk.js.map \ No newline at end of file +/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var o,u,a,c,s="Expected a function",l="__lodash_hash_undefined__",f="__lodash_placeholder__",p=9007199254740991,h=4294967295,g=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]],d="[object Arguments]",y="[object Array]",v="[object Boolean]",_="[object Date]",m="[object Error]",w="[object Function]",b="[object GeneratorFunction]",I="[object Map]",S="[object Number]",P="[object Object]",k="[object Promise]",A="[object RegExp]",R="[object Set]",O="[object String]",j="[object Symbol]",T="[object WeakMap]",M="[object ArrayBuffer]",x="[object DataView]",E="[object Float32Array]",D="[object Float64Array]",C="[object Int8Array]",U="[object Int16Array]",N="[object Int32Array]",F="[object Uint8Array]",z="[object Uint8ClampedArray]",q="[object Uint16Array]",B="[object Uint32Array]",W=/\b__p \+= '';/g,L=/\b(__p \+=) '' \+/g,H=/(__e\(.*?\)|\b__t\)) \+\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,V=/[&<>"']/g,X=RegExp(J.source),$=RegExp(V.source),G=/<%-([\s\S]+?)%>/g,Y=/<%([\s\S]+?)%>/g,Z=/<%=([\s\S]+?)%>/g,K=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Q=/^\w*$/,tt=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,et=/[\\^$.*+?()[\]{}|]/g,nt=RegExp(et.source),rt=/^\s+/,it=/\s/,ot=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ut=/\{\n\/\* \[wrapped with (.+)\] \*/,at=/,? & /,ct=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,st=/[()=,{}\[\]\/\s]/,lt=/\\(\\)?/g,ft=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,pt=/\w*$/,ht=/^[-+]0x[0-9a-f]+$/i,gt=/^0b[01]+$/i,dt=/^\[object .+?Constructor\]$/,yt=/^0o[0-7]+$/i,vt=/^(?:0|[1-9]\d*)$/,_t=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mt=/($^)/,wt=/['\n\r\u2028\u2029\\]/g,bt="\\ud800-\\udfff",It="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",St="\\ufe0e\\ufe0f",Pt="["+bt+"]",kt="["+(Mt="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000")+"]",At="["+It+"]",Rt="["+(u="\\u2700-\\u27bf")+"]",Ot="["+(Gt="a-z\\xdf-\\xf6\\xf8-\\xff")+"]",jt="\\u200d",Tt="(?:"+Ot+"|"+(Mt="[^"+bt+Mt+"\\d+"+u+Gt+(a="A-Z\\xc0-\\xd6\\xd8-\\xde")+"]")+")",Mt="(?:"+(a="["+a+"]")+"|"+Mt+")",xt="(?:['’](?:d|ll|m|re|s|t|ve))?",Et="(?:['’](?:D|LL|M|RE|S|T|VE))?",Dt=(Dt="["+St+"]?")+(Ct="(?:"+At+"|"+(u="\\ud83c[\\udffb-\\udfff]")+")?")+"(?:\\u200d(?:"+[Gt="[^"+bt+"]",Yt="(?:\\ud83c[\\udde6-\\uddff]){2}",c="[\\ud800-\\udbff][\\udc00-\\udfff]"].join("|")+")"+Dt+Ct+")*",Ct="(?:"+[Rt,Yt,c].join("|")+")"+Dt,Ut=(Rt="(?:"+[Gt+At+"?",At,Yt,c,Pt].join("|")+")",RegExp("['’]","g")),Nt=RegExp(At,"g"),Ft=RegExp(u+"(?="+u+")|"+Rt+Dt,"g"),zt=RegExp([a+"?"+Ot+"+"+xt+"(?="+[kt,a,"$"].join("|")+")",Mt+"+"+Et+"(?="+[kt,a+Tt,"$"].join("|")+")",a+"?"+Tt+"+"+xt,a+"+"+Et,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",Ct].join("|"),"g"),qt=RegExp("["+jt+bt+It+St+"]"),Bt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Wt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Lt=-1,Ht={},Jt=(Ht[E]=Ht[D]=Ht[C]=Ht[U]=Ht[N]=Ht[F]=Ht[z]=Ht[q]=Ht[B]=!0,Ht[d]=Ht[y]=Ht[M]=Ht[v]=Ht[x]=Ht[_]=Ht[m]=Ht[w]=Ht[I]=Ht[S]=Ht[P]=Ht[A]=Ht[R]=Ht[O]=Ht[T]=!1,{}),Vt=(Jt[d]=Jt[y]=Jt[M]=Jt[x]=Jt[v]=Jt[_]=Jt[E]=Jt[D]=Jt[C]=Jt[U]=Jt[N]=Jt[I]=Jt[S]=Jt[P]=Jt[A]=Jt[R]=Jt[O]=Jt[j]=Jt[F]=Jt[z]=Jt[q]=Jt[B]=!0,Jt[m]=Jt[w]=Jt[T]=!1,{"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"}),Xt=parseFloat,$t=parseInt,Gt="object"==typeof t&&t&&t.Object===Object&&t,Yt="object"==typeof self&&self&&self.Object===Object&&self,Zt=Gt||Yt||Function("return this")(),Kt=(c=e&&!e.nodeType&&e)&&"object"==typeof r&&r&&!r.nodeType&&r,Qt=Kt&&Kt.exports===c,te=Qt&&Gt.process,ee=(Pt=function(){try{var t=Kt&&Kt.require&&Kt.require("util").types;return t||te&&te.binding&&te.binding("util")}catch(t){}}())&&Pt.isArrayBuffer,ne=Pt&&Pt.isDate,re=Pt&&Pt.isMap,ie=Pt&&Pt.isRegExp,oe=Pt&&Pt.isSet,ue=Pt&&Pt.isTypedArray;function ae(t,e,n){switch(n.length){case 0:return t.call(e);case 1:return t.call(e,n[0]);case 2:return t.call(e,n[0],n[1]);case 3:return t.call(e,n[0],n[1],n[2])}return t.apply(e,n)}function ce(t,e,n,r){for(var i=-1,o=null==t?0:t.length;++i":">",'"':""","'":"'"});function qe(t){return"\\"+Vt[t]}function Be(t){return qt.test(t)}function We(t){var e=-1,n=Array(t.size);return t.forEach((function(t,r){n[++e]=[r,t]})),n}function Le(t,e){return function(n){return t(e(n))}}function He(t,e){for(var n=-1,r=t.length,i=0,o=[];++n",""":'"',"'":"'"}),Ye=function t(e){var n=(e=null==e?Zt:Ye.defaults(Zt.Object(),e,Ye.pick(Zt,Wt))).Array,r=e.Date,i=e.Error,u=e.Function,a=e.Math,c=e.Object,it=e.RegExp,bt=e.String,It=e.TypeError,St=n.prototype,Pt=u.prototype,kt=c.prototype,At=e["__core-js_shared__"],Rt=Pt.toString,Ot=kt.hasOwnProperty,jt=0,Tt=(Pt=/[^.]+$/.exec(At&&At.keys&&At.keys.IE_PROTO||""))?"Symbol(src)_1."+Pt:"",Mt=kt.toString,xt=Rt.call(c),Et=Zt._,Dt=it("^"+Rt.call(Ot).replace(et,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Ct=(Pt=Qt?e.Buffer:o,e.Symbol),Ft=e.Uint8Array,qt=Pt?Pt.allocUnsafe:o,Vt=Le(c.getPrototypeOf,c),Gt=c.create,Yt=kt.propertyIsEnumerable,Kt=St.splice,te=Ct?Ct.isConcatSpreadable:o,we=Ct?Ct.iterator:o,Oe=Ct?Ct.toStringTag:o,Ze=function(){try{var t=Zi(c,"defineProperty");return t({},"",{}),t}catch(t){}}(),Ke=e.clearTimeout!==Zt.clearTimeout&&e.clearTimeout,Qe=r&&r.now!==Zt.Date.now&&r.now,tn=e.setTimeout!==Zt.setTimeout&&e.setTimeout,en=a.ceil,nn=a.floor,rn=c.getOwnPropertySymbols,on=(Pt=Pt?Pt.isBuffer:o,e.isFinite),un=St.join,an=Le(c.keys,c),cn=a.max,sn=a.min,ln=r.now,fn=e.parseInt,pn=a.random,hn=St.reverse,gn=(r=Zi(e,"DataView"),Zi(e,"Map")),dn=Zi(e,"Promise"),yn=Zi(e,"Set"),vn=(e=Zi(e,"WeakMap"),Zi(c,"create")),_n=e&&new e,mn={},wn=ko(r),bn=ko(gn),In=ko(dn),Sn=ko(yn),Pn=ko(e),kn=(Ct=Ct?Ct.prototype:o)?Ct.valueOf:o,An=Ct?Ct.toString:o;function Rn(t){if(xu(t)&&!Iu(t)&&!(t instanceof xn)){if(t instanceof Mn)return t;if(Ot.call(t,"__wrapped__"))return Ao(t)}return new Mn(t)}var On=function(t){return Mu(t)?Gt?Gt(t):(jn.prototype=t,t=new jn,jn.prototype=o,t):{}};function jn(){}function Tn(){}function Mn(t,e){this.__wrapped__=t,this.__actions__=[],this.__chain__=!!e,this.__index__=0,this.__values__=o}function xn(t){this.__wrapped__=t,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=h,this.__views__=[]}function En(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e>>0,e>>>=0,n(o));++i>>1,u=t[o];null!==u&&!zu(u)&&(n?u<=e:u>>0)?(t=Gu(t))&&("string"==typeof e||null!=e&&!Uu(e))&&!(e=Gr(e))&&Be(t)?ai(Xe(t),0,n):t.split(e,n):[]},Rn.spread=function(t,e){if("function"!=typeof t)throw new It(s);return e=null==e?0:cn(Ju(e),0),Nr((function(n){var r=n[e];n=ai(n,0,e);return r&&ye(n,r),ae(t,this,n)}))},Rn.tail=function(t){var e=null==t?0:t.length;return e?Lr(t,1,e):[]},Rn.take=function(t,e,n){return t&&t.length?Lr(t,0,(e=n||e===o?1:Ju(e))<0?0:e):[]},Rn.takeRight=function(t,e,n){var r=null==t?0:t.length;return r?Lr(t,(e=r-(e=n||e===o?1:Ju(e)))<0?0:e,r):[]},Rn.takeRightWhile=function(t,e){return t&&t.length?Qr(t,$i(e,3),!1,!0):[]},Rn.takeWhile=function(t,e){return t&&t.length?Qr(t,$i(e,3)):[]},Rn.tap=function(t,e){return e(t),t},Rn.throttle=function(t,e,n){var r=!0,i=!0;if("function"!=typeof t)throw new It(s);return Mu(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),fu(t,e,{leading:r,maxWait:e,trailing:i})},Rn.thru=Xo,Rn.toArray=Lu,Rn.toPairs=da,Rn.toPairsIn=ya,Rn.toPath=function(t){return Iu(t)?de(t,Po):zu(t)?[t]:di(So(Gu(t)))},Rn.toPlainObject=$u,Rn.transform=function(t,e,n){var r,i=Iu(t),o=i||Au(t)||qu(t);return e=$i(e,4),null==n&&(r=t&&t.constructor,n=o?i?new r:[]:Mu(t)&&Ou(r)?On(Vt(t)):{}),(o?se:cr)(t,(function(t,r,i){return e(n,t,r,i)})),n},Rn.unary=function(t){return au(t,1)},Rn.union=Co,Rn.unionBy=Uo,Rn.unionWith=No,Rn.uniq=function(t){return t&&t.length?Yr(t):[]},Rn.uniqBy=function(t,e){return t&&t.length?Yr(t,$i(e,2)):[]},Rn.uniqWith=function(t,e){return e="function"==typeof e?e:o,t&&t.length?Yr(t,o,e):[]},Rn.unset=function(t,e){return null==t||Zr(t,e)},Rn.unzip=Fo,Rn.unzipWith=zo,Rn.update=function(t,e,n){return null==t?t:Kr(t,e,ii(n))},Rn.updateWith=function(t,e,n,r){return r="function"==typeof r?r:o,null==t?t:Kr(t,e,ii(n),r)},Rn.values=va,Rn.valuesIn=function(t){return null==t?[]:De(t,sa(t))},Rn.without=qo,Rn.words=Oa,Rn.wrap=function(t,e){return du(ii(e),t)},Rn.xor=Bo,Rn.xorBy=Wo,Rn.xorWith=Lo,Rn.zip=Ho,Rn.zipObject=function(t,e){return ni(t||[],e||[],Ln)},Rn.zipObjectDeep=function(t,e){return ni(t||[],e||[],qr)},Rn.zipWith=Jo,Rn.entries=da,Rn.entriesIn=ya,Rn.extend=Zu,Rn.extendWith=Ku,Fa(Rn,Rn),Rn.add=Ga,Rn.attempt=ja,Rn.camelCase=_a,Rn.capitalize=ma,Rn.ceil=Ya,Rn.clamp=function(t,e,n){return n===o&&(n=e,e=o),n!==o&&(n=(n=Xu(n))==n?n:0),e!==o&&(e=(e=Xu(e))==e?e:0),Gn(Xu(t),e,n)},Rn.clone=function(t){return Yn(t,4)},Rn.cloneDeep=function(t){return Yn(t,5)},Rn.cloneDeepWith=function(t,e){return Yn(t,5,e="function"==typeof e?e:o)},Rn.cloneWith=function(t,e){return Yn(t,4,e="function"==typeof e?e:o)},Rn.conformsTo=function(t,e){return null==e||Zn(t,e,ca(e))},Rn.deburr=wa,Rn.defaultTo=function(t,e){return null==t||t!=t?e:t},Rn.divide=Za,Rn.endsWith=function(t,e,n){t=Gu(t),e=Gr(e);var r=t.length;r=n=n===o?r:Gn(Ju(n),0,r);return 0<=(n-=e.length)&&t.slice(n,r)==e},Rn.eq=_u,Rn.escape=function(t){return(t=Gu(t))&&$.test(t)?t.replace(V,ze):t},Rn.escapeRegExp=function(t){return(t=Gu(t))&&nt.test(t)?t.replace(et,"\\$&"):t},Rn.every=function(t,e,n){return(Iu(t)?fe:nr)(t,$i(e=n&&oo(t,e,n)?o:e,3))},Rn.find=Yo,Rn.findIndex=Ro,Rn.findKey=function(t,e){return be(t,$i(e,3),cr)},Rn.findLast=Zo,Rn.findLastIndex=Oo,Rn.findLastKey=function(t,e){return be(t,$i(e,3),sr)},Rn.floor=Ka,Rn.forEach=Ko,Rn.forEachRight=Qo,Rn.forIn=function(t,e){return null==t?t:ur(t,$i(e,3),sa)},Rn.forInRight=function(t,e){return null==t?t:ar(t,$i(e,3),sa)},Rn.forOwn=function(t,e){return t&&cr(t,$i(e,3))},Rn.forOwnRight=function(t,e){return t&&sr(t,$i(e,3))},Rn.get=ra,Rn.gt=mu,Rn.gte=wu,Rn.has=function(t,e){return null!=t&&eo(t,e,dr)},Rn.hasIn=ia,Rn.head=To,Rn.identity=Da,Rn.includes=function(t,e,n,r){return t=Pu(t)?t:va(t),n=n&&!r?Ju(n):0,r=t.length,n<0&&(n=cn(r+n,0)),Fu(t)?n<=r&&-1=sn(e=e,n=n)&&t=this.__values__.length;return{done:t,value:t?o:this.__values__[this.__index__++]}},Rn.prototype.plant=function(t){for(var e,n=this;n instanceof Tn;){var r=Ao(n),i=(r.__index__=0,r.__values__=o,e?i.__wrapped__=r:e=r,r);n=n.__wrapped__}return i.__wrapped__=t,e},Rn.prototype.reverse=function(){var t=this.__wrapped__;return t instanceof xn?(t=t,(t=(t=this.__actions__.length?new xn(this):t).reverse()).__actions__.push({func:Xo,args:[Do],thisArg:o}),new Mn(t,this.__chain__)):this.thru(Do)},Rn.prototype.toJSON=Rn.prototype.valueOf=Rn.prototype.value=function(){return ti(this.__wrapped__,this.__actions__)},Rn.prototype.first=Rn.prototype.head,we&&(Rn.prototype[we]=function(){return this}),Rn}();Zt._=Ye,(i=function(){return Ye}.call(e,n,e,r))!==o&&(r.exports=i)}).call(this)}).call(this,n(4),n(5)(t))},function(t,e,n){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.merge=void 0;var r=n(1);function i(t,e){if(e instanceof Array)return e}e.merge=function(){for(var t=arguments.length,e=Array(t),n=0;nDate.now()}catch(t){return!1}}});Object.defineProperties(this,{abort:{value:function(t){return b.abort.call(e,t)},writable:!0},fetch:{value:function(){return b.send.call(e,0>>24&255,i[r++]=s>>>16&255,i[r++]=s>>>8&255,i[r++]=255&s,t=a/4294967296*1e4&268435455,i[r++]=t>>>8&255,i[r++]=255&t,i[r++]=t>>>24&15|16,i[r++]=t>>>16&255,i[r++]=n>>>8|128,i[r++]=255&n;for(var d=0;d<6;++d)i[r+d]=u[d];return e||p(i)},y=function(t){if(!a(t))throw TypeError("Invalid UUID");var e,n=new Uint8Array(16);return n[0]=(e=parseInt(t.slice(0,8),16))>>>24,n[1]=e>>>16&255,n[2]=e>>>8&255,n[3]=255&e,n[4]=(e=parseInt(t.slice(9,13),16))>>>8,n[5]=255&e,n[6]=(e=parseInt(t.slice(14,18),16))>>>8,n[7]=255&e,n[8]=(e=parseInt(t.slice(19,23),16))>>>8,n[9]=255&e,n[10]=(e=parseInt(t.slice(24,36),16))/1099511627776&255,n[11]=e/4294967296&255,n[12]=e>>>24&255,n[13]=e>>>16&255,n[14]=e>>>8&255,n[15]=255&e,n};function v(t,e,n){function r(t,r,i,o){if("string"==typeof t&&(t=function(t){t=unescape(encodeURIComponent(t));for(var e=[],n=0;n>>9<<4)+1}function m(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n}function w(t,e,n,r,i,o){return m((e=m(m(e,t),m(r,o)))<>>32-i,n)}function b(t,e,n,r,i,o,u){return w(e&n|~e&r,t,e,i,o,u)}function I(t,e,n,r,i,o,u){return w(e&r|n&~r,t,e,i,o,u)}function S(t,e,n,r,i,o,u){return w(e^n^r,t,e,i,o,u)}function P(t,e,n,r,i,o,u){return w(n^(e|~r),t,e,i,o,u)}var k=v("v3",48,(function(t){if("string"==typeof t){var e=unescape(encodeURIComponent(t));t=new Uint8Array(e.length);for(var n=0;n>5]|=128<>5]|=(255&t[r/8])<>5]>>>a%32&255;c=parseInt(u.charAt(c>>>4&15)+u.charAt(15&c),16);i.push(c)}return i})),A=function(t,e,n){var r=(t=t||{}).random||(t.rng||o)();if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,e){n=n||0;for(var i=0;i<16;++i)e[n+i]=r[i];return e}return p(r)};function R(t,e){return t<>>32-e}var O=v("v5",80,(function(t){var e=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520];if("string"==typeof t){var r=unescape(encodeURIComponent(t));t=[];for(var i=0;i>>0,m=_,_=v,v=R(y,30)>>>0,y=d,d=b}n[0]=n[0]+d>>>0,n[1]=n[1]+y>>>0,n[2]=n[2]+v>>>0,n[3]=n[3]+_>>>0,n[4]=n[4]+m>>>0}return[n[0]>>24&255,n[0]>>16&255,n[0]>>8&255,255&n[0],n[1]>>24&255,n[1]>>16&255,n[1]>>8&255,255&n[1],n[2]>>24&255,n[2]>>16&255,n[2]>>8&255,255&n[2],n[3]>>24&255,n[3]>>16&255,n[3]>>8&255,255&n[3],n[4]>>24&255,n[4]>>16&255,n[4]>>8&255,255&n[4]]})),j="00000000-0000-0000-0000-000000000000",T=function(t){if(a(t))return parseInt(t.substr(14,1),16);throw TypeError("Invalid UUID")}},,function(t,e,n){t.exports=n(22)},function(t,e,n){"use strict";((n=n=n(3))&&n.__esModule?n:{default:n}).default.initialize()}],n={},t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},t.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(t.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)t.d(r,i,function(t){return e[t]}.bind(null,i));return r},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},t.p="",t(t.s=21);function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var e,n})); +//# sourceMappingURL=mstar-apis-sdk.js.map \ No newline at end of file diff --git a/src/components/asset-allocation/doc-emea.mdx b/src/components/asset-allocation/doc-emea.mdx index 9906901..5e6892c 100644 --- a/src/components/asset-allocation/doc-emea.mdx +++ b/src/components/asset-allocation/doc-emea.mdx @@ -123,7 +123,7 @@ window.mstarApisSdk.xray.getAssetAllocationBreakdown({ portfolios: samplePortfol Requests to the API have the following format: ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/correlation-matrix/CorrelationMatrix.vue b/src/components/correlation-matrix/CorrelationMatrix.vue new file mode 100644 index 0000000..0038ed8 --- /dev/null +++ b/src/components/correlation-matrix/CorrelationMatrix.vue @@ -0,0 +1,314 @@ + + + + diff --git a/src/components/correlation-matrix/config/sampleData.json b/src/components/correlation-matrix/config/sampleData.json new file mode 100644 index 0000000..93a570d --- /dev/null +++ b/src/components/correlation-matrix/config/sampleData.json @@ -0,0 +1,666 @@ +{ + "securities": [ + "1290 Diversified Bond A (USD)", + "iShares MSCI ACWI ETF (USD)", + "Invesco FTSE RAFI Dev Mkts ex-US ETF", + "Aberdeen International Inc (USD)", + "iShares MSCI ACWI ETF (USD)", + "Black Diamond Group Ltd (USD)" + ], + "correlationMatrix":{ + "Year3": [ + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "1", + "value": 1 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "2", + "value": 0.29607228 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "3", + "value": 0.17232916 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "4", + "value": 0.38940946 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "5", + "value": 0.30768872 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "6", + "value": 0.13656596 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "1", + "value": 0.29607228 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "2", + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "3", + "value": -0.04401845 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "4", + "value": 0.25039432 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "5", + "value": 0.15332599 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "6", + "value": 0.07410212 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "1", + "value": 0.17232916 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "2", + "value": -0.04401845 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "3", + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "4", + "value": 0.69499175 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "5", + "value": 0.77625093 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "6", + "value": 0.71458901 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "1", + "value": 0.38940946 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "2", + "value": 0.25039432 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "3", + "value": 0.69499175 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "4", + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "5", + "value": 0.89501511 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "6", + "value": 0.77454346 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "1", + "value": 0.30768872 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "2", + "value": 0.15332599 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "3", + "value": 0.77625093 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "4", + "value": 0.89501511 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "5", + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "6", + "value": 0.86000327 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "1", + "value": 0.13656596 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "2", + "value": 0.07410212 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "3", + "value": 0.71458901 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "4", + "value": 0.77454346 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "5", + "value": 0.86000327 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "6", + "value": 1 + } + ], + "Year5": [ + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "1", + "value": 1 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "2", + "value": 0.40757458 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "3", + "value": 0.26772883 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "4", + "value": 0.43468514 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "5", + "value": 0.40869853 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "6", + "value": 0.42394346 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "1", + "value": 0.40757458 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "2", + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "3", + "value": -0.00300089 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "4", + "value": 0.22220599 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "5", + "value": 0.19243744 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "6", + "value": 0.09708888 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "1", + "value": 0.26772883 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "2", + "value": -0.00300089 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "3", + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "4", + "value": 0.69699001 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "5", + "value": 0.7714571 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "6", + "value": 0.6941816 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "1", + "value": 0.43468514 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "2", + "value": 0.22220599 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "3", + "value": 0.69699001 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "4", + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "5", + "value": 0.92079987 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "6", + "value": 0.777454 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "1", + "value": 0.40869853 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "2", + "value": 0.19243744 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "3", + "value": 0.7714571 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "4", + "value": 0.92079987 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "5", + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "6", + "value": 0.85724669 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "1", + "value": 0.42394346 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "2", + "value": 0.09708888 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "3", + "value": 0.6941816 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "4", + "value": 0.777454 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "5", + "value": 0.85724669 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "6", + "value": 1 + } + ], + "Year10": [ + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "1", + "value": 1 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "2", + "value": 0.26520165 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "3", + "value": 0.22785105 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "4", + "value": 0.43823804 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "5", + "value": 0.39196939 + }, + { + "SecurityId": "0P0000DZXU", + "x": "1", + "y": "6", + "value": 0 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "1", + "value": 0.26520165 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "2", + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "3", + "value": -0.01312991 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "4", + "value": 0.21376517 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "5", + "value": 0.18879276 + }, + { + "SecurityId": "0P0000JIAP", + "x": "2", + "y": "6", + "value": 0 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "1", + "value": 0.22785105 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "2", + "value": -0.01312991 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "3", + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "4", + "value": 0.67050032 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "5", + "value": 0.74307547 + }, + { + "SecurityId": "0P0000007E", + "x": "3", + "y": "6", + "value": 0 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "1", + "value": 0.43823804 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "2", + "value": 0.21376517 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "3", + "value": 0.67050032 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "4", + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "5", + "value": 0.92118583 + }, + { + "SecurityId": "FOUSA06IVV", + "x": "4", + "y": "6", + "value": 0 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "1", + "value": 0.39196939 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "2", + "value": 0.18879276 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "3", + "value": 0.74307547 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "4", + "value": 0.92118583 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "5", + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": "5", + "y": "6", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "1", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "2", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "3", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "4", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "5", + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": "6", + "y": "6", + "value": 1 + } + ] + } +} diff --git a/src/components/correlation-matrix/doc-americas.mdx b/src/components/correlation-matrix/doc-americas.mdx new file mode 100644 index 0000000..164b250 --- /dev/null +++ b/src/components/correlation-matrix/doc-americas.mdx @@ -0,0 +1,1565 @@ +import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs"; +import CorrelationMatrix from "@/components/correlation-matrix/CorrelationMatrix.vue"; + +import { PORTFOLIO_ANALYSIS_AMERICAS_URL, DATA_ACCESS_LIBRARY } from "@/external-links"; + + + + + +# Correlation Matrix (Americas) + +- [Description](#description) +- [Properties](#properties) +- [Fetching Data](#fetching-data) +- [Data Transformation](#data-transformation) + +## Description + +The Correlation Matrix component displays the relationship of return patterns among investments. It is based upon the correlation coefficient, a number between -1.0 and 1.0. +A perfect negative relationship between two investments has a correlation of -1.0, whereas a perfect positive linear relationship exists with a correlation of 1.0. A correlation coefficient of 0.0 indicates no linear relationship between the investments. +Correlation information can be valuable in assessing the diversification effect of combining an investment with other options. + + + + + +## Properties + + + +## Fetching Data + +The component is populated with data returned by calls to the Portfolio Analysis API (Americas). + +### API Data Access Library + +The API Data Access Library is used to fetch data from the API. + +``` javascript dark +window.mstarApisSdk.xray.getCorrelationMatrixUsData({ portfolios: samplePortfolio, languageId: 'en-US' }); +``` +
+ Example + +``` javascript dark +const samplePortfolio = [ + { + name: 'US demo portfolio - weight', + totalValue: 10000, + currency: 'USD', + holdings: [ + { + securityId: 'FOUSA06OEZ', + weight: 30, + }, + { + securityId: 'FOUSA06IVV', + weight: 50, + }, + { + securityId: 'F00000T770', + weight: 20, + }, + ], + benchmark: { + type: 'Standard', + holdings: [ + { + securityId: 'XIUSA0010V', + weight: 100, + }, + ], + }, + }, +]; +window.mstarApisSdk.xray.getCorrelationMatrixUsData({ portfolios: samplePortfolio, languageId: 'en-US' }); +``` +
+  + +### Request Example + +```javascript dark +"https://www.us-api.morningstar.com/portfolioanalysis/v1/xray?langcult={{languageId}}" + +``` +### Request Payload Example + +| Query Parameter | Description|Example | +| :----------- | :--------| :----------- | +| `languageId` | ISO culture codes. If not provided, defaults to language defined in settings. |`languageId=en-US` | + +## Data Transformation + +Data returned by the API must be transformed to a format the component understands. + +### API Response Data Format +
+ Code Snippet + +```json dark +[ + { + "TrailingTimePeriod": "Year3", + "DataFrequency": "Monthly", + "StartDate": "2020-12-31T00:00:00", + "EndDate": "2023-12-31T00:00:00", + "Correlations": [ + { + "Id": 1, + "SecurityId": "F00000T770", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.07410212 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.77454346 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.86000327 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.71458901 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.13656596 + } + ] + }, + { + "Id": 2, + "SecurityId": "0P0000JIAP", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.07410212 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.25039432 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.15332599 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": -0.04401845 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.29607228 + } + ] + }, + { + "Id": 3, + "SecurityId": "FOUSA06IVV", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.77454346 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.25039432 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.89501511 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.69499175 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.38940946 + } + ] + }, + { + "Id": 4, + "SecurityId": "FOUSA06OEZ", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.86000327 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.15332599 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.89501511 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.77625093 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.30768872 + } + ] + }, + { + "Id": 5, + "SecurityId": "0P0000007E", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.71458901 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": -0.04401845 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.69499175 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.77625093 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.17232916 + } + ] + }, + { + "Id": 6, + "SecurityId": "0P0000DZXU", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.13656596 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.29607228 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.38940946 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.30768872 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.17232916 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 1 + } + ] + } + ] + }, + { + "TrailingTimePeriod": "Year5", + "DataFrequency": "Monthly", + "StartDate": "2018-12-31T00:00:00", + "EndDate": "2023-12-31T00:00:00", + "Correlations": [ + { + "Id": 1, + "SecurityId": "F00000T770", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.09708888 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.777454 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.85724669 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.6941816 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.42394346 + } + ] + }, + { + "Id": 2, + "SecurityId": "0P0000JIAP", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.09708888 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.22220599 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.19243744 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": -0.00300089 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.40757458 + } + ] + }, + { + "Id": 3, + "SecurityId": "FOUSA06IVV", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.777454 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.22220599 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.92079987 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.69699001 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.43468514 + } + ] + }, + { + "Id": 4, + "SecurityId": "FOUSA06OEZ", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.85724669 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.19243744 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.92079987 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.7714571 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.40869853 + } + ] + }, + { + "Id": 5, + "SecurityId": "0P0000007E", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.6941816 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": -0.00300089 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.69699001 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.7714571 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 0.26772883 + } + ] + }, + { + "Id": 6, + "SecurityId": "0P0000DZXU", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.42394346 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.40757458 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.43468514 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.40869853 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.26772883 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 1 + } + ] + } + ] + }, + { + "TrailingTimePeriod": "Year10", + "DataFrequency": "Monthly", + "StartDate": "2013-12-31T00:00:00", + "EndDate": "2023-12-31T00:00:00", + "Correlations": [ + { + "Id": 1, + "SecurityId": "0P0000JIAP", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.21376517 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.18879276 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": -0.01312991 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.26520165 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security" + } + ] + }, + { + "Id": 2, + "SecurityId": "FOUSA06IVV", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.21376517 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.92118583 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.67050032 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.43823804 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security" + } + ] + }, + { + "Id": 3, + "SecurityId": "FOUSA06OEZ", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.18879276 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.92118583 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.74307547 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.39196939 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security" + } + ] + }, + { + "Id": 4, + "SecurityId": "0P0000007E", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": -0.01312991 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.67050032 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.74307547 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 0.22785105 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security" + } + ] + }, + { + "Id": 5, + "SecurityId": "0P0000DZXU", + "UseExtendedReturns": false, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security", + "Value": 0.26520165 + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security", + "Value": 0.43823804 + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security", + "Value": 0.39196939 + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security", + "Value": 0.22785105 + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security", + "Value": 1 + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security" + } + ] + }, + { + "Id": 6, + "SecurityId": "F00000T770", + "UseExtendedReturns": true, + "Type": "Security", + "CorrelatedItemKey": [ + { + "CorrelatedItemKeyId": 1, + "Type": "Security" + }, + { + "CorrelatedItemKeyId": 2, + "Type": "Security" + }, + { + "CorrelatedItemKeyId": 3, + "Type": "Security" + }, + { + "CorrelatedItemKeyId": 4, + "Type": "Security" + }, + { + "CorrelatedItemKeyId": 5, + "Type": "Security" + }, + { + "CorrelatedItemKeyId": 6, + "Type": "Security", + "Value": 1 + } + ] + } + ] + } +] +``` +
+  + +### Integration Data Format +
+ Code Snippet + +```json dark +{ + "securities": [ + "iShares MSCI ACWI ETF (USD)", + "Invesco FTSE RAFI Dev Mkts ex-US ETF (USD)", + "1290 High Yield Bond A (USD)", + "Aberdeen International Inc (USD)", + "Black Diamond Group Ltd (USD)", + "Agilent Technologies Inc (USD)" + ], + "correlationMatrix": { + "Year3": [ + { + "SecurityId": "F00000T770", + "x": 1, + "y": 1, + "value": 1 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 2, + "value": 0.07410212 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 3, + "value": 0.77454346 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 4, + "value": 0.86000327 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 5, + "value": 0.71458901 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 6, + "value": 0.13656596 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 1, + "value": 0.07410212 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 2, + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 3, + "value": 0.25039432 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 4, + "value": 0.15332599 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 5, + "value": -0.04401845 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 6, + "value": 0.29607228 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 1, + "value": 0.77454346 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 2, + "value": 0.25039432 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 3, + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 4, + "value": 0.89501511 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 5, + "value": 0.69499175 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 6, + "value": 0.38940946 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 1, + "value": 0.86000327 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 2, + "value": 0.15332599 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 3, + "value": 0.89501511 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 4, + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 5, + "value": 0.77625093 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 6, + "value": 0.30768872 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 1, + "value": 0.71458901 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 2, + "value": -0.04401845 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 3, + "value": 0.69499175 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 4, + "value": 0.77625093 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 5, + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 6, + "value": 0.17232916 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 1, + "value": 0.13656596 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 2, + "value": 0.29607228 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 3, + "value": 0.38940946 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 4, + "value": 0.30768872 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 5, + "value": 0.17232916 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 6, + "value": 1 + } + ], + "Year5": [ + { + "SecurityId": "F00000T770", + "x": 1, + "y": 1, + "value": 1 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 2, + "value": 0.09708888 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 3, + "value": 0.777454 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 4, + "value": 0.85724669 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 5, + "value": 0.6941816 + }, + { + "SecurityId": "F00000T770", + "x": 1, + "y": 6, + "value": 0.42394346 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 1, + "value": 0.09708888 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 2, + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 3, + "value": 0.22220599 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 4, + "value": 0.19243744 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 5, + "value": -0.00300089 + }, + { + "SecurityId": "0P0000JIAP", + "x": 2, + "y": 6, + "value": 0.40757458 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 1, + "value": 0.777454 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 2, + "value": 0.22220599 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 3, + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 4, + "value": 0.92079987 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 5, + "value": 0.69699001 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 3, + "y": 6, + "value": 0.43468514 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 1, + "value": 0.85724669 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 2, + "value": 0.19243744 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 3, + "value": 0.92079987 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 4, + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 5, + "value": 0.7714571 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 4, + "y": 6, + "value": 0.40869853 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 1, + "value": 0.6941816 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 2, + "value": -0.00300089 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 3, + "value": 0.69699001 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 4, + "value": 0.7714571 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 5, + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": 5, + "y": 6, + "value": 0.26772883 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 1, + "value": 0.42394346 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 2, + "value": 0.40757458 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 3, + "value": 0.43468514 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 4, + "value": 0.40869853 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 5, + "value": 0.26772883 + }, + { + "SecurityId": "0P0000DZXU", + "x": 6, + "y": 6, + "value": 1 + } + ], + "Year10": [ + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 1, + "value": 1 + }, + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 2, + "value": 0.21376517 + }, + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 3, + "value": 0.18879276 + }, + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 4, + "value": -0.01312991 + }, + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 5, + "value": 0.26520165 + }, + { + "SecurityId": "0P0000JIAP", + "x": 1, + "y": 6, + "value": 0 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 1, + "value": 0.21376517 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 2, + "value": 1 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 3, + "value": 0.92118583 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 4, + "value": 0.67050032 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 5, + "value": 0.43823804 + }, + { + "SecurityId": "FOUSA06IVV", + "x": 2, + "y": 6, + "value": 0 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 1, + "value": 0.18879276 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 2, + "value": 0.92118583 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 3, + "value": 1 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 4, + "value": 0.74307547 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 5, + "value": 0.39196939 + }, + { + "SecurityId": "FOUSA06OEZ", + "x": 3, + "y": 6, + "value": 0 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 1, + "value": -0.01312991 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 2, + "value": 0.67050032 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 3, + "value": 0.74307547 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 4, + "value": 1 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 5, + "value": 0.22785105 + }, + { + "SecurityId": "0P0000007E", + "x": 4, + "y": 6, + "value": 0 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 1, + "value": 0.26520165 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 2, + "value": 0.43823804 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 3, + "value": 0.39196939 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 4, + "value": 0.22785105 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 5, + "value": 1 + }, + { + "SecurityId": "0P0000DZXU", + "x": 5, + "y": 6, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 1, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 2, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 3, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 4, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 5, + "value": 0 + }, + { + "SecurityId": "F00000T770", + "x": 6, + "y": 6, + "value": 1 + } + ] + } +} +``` +
+  + +### Integration Transformation Operation +
+ Code Snippet + +```javascript dark +function getTrailingReturnsUsData(xrayData) { + const portfolioData = get(xrayData, 'Portfolio.TimePeriod', []); + const benchmarkData = get(xrayData, 'Benchmark.TimePeriod', []); + const portfolio = portfolioData.map((data) => ({ + timePeriod: data.Id, + value: data.Value, + })); + const benchmark = benchmarkData.map((data) => ({ + timePeriod: data.Id, + value: data.Value, + })); + return { + portfolio, + benchmark, + }; +} +``` +
+  + +### Component Transformation Operation +
+ Code Snippet + +```javascript dark + function getCorrelationMatrixUsData(xRayData) { + const correlationMatrix={}; + xRayData.correlationMatrix.forEach((timePeriod) => { + const chartData=[]; + timePeriod.Correlations.forEach((correlation, index) => { + correlation.CorrelatedItemKey.forEach((details) => { + const obj = {}; + obj.SecurityId = correlation.SecurityId, + obj.x = index + 1; + obj.y = details.CorrelatedItemKeyId; + obj.value = parseFloat(details.Value) || 0 + chartData.push(obj); + }); + correlationMatrix[timePeriod.TrailingTimePeriod] = chartData; + }); + }); + return { + securities: xRayData.securities, + correlationMatrix + }; + } +``` +
+  diff --git a/src/components/correlation-matrix/doc-emea.mdx b/src/components/correlation-matrix/doc-emea.mdx new file mode 100644 index 0000000..fd4c52b --- /dev/null +++ b/src/components/correlation-matrix/doc-emea.mdx @@ -0,0 +1,881 @@ +import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs"; +import CorrelationMatrix from "@/components/correlation-matrix/CorrelationMatrix.vue"; + +import { PORTFOLIO_ANALYSIS_AMERICAS_URL, DATA_ACCESS_LIBRARY } from "@/external-links"; + + + + + +# Correlation Matrix (APAC/EMEA) + +- [Description](#description) +- [Properties](#properties) +- [Fetching Data](#fetching-data) +- [Data Transformation](#data-transformation) + +## Description + +The Correlation Matrix component displays the relationship of return patterns among investments. It is based upon the correlation coefficient, a number between -1.0 and 1.0. +A perfect negative relationship between two investments has a correlation of -1.0, whereas a perfect positive linear relationship exists with a correlation of 1.0. A correlation coefficient of 0.0 indicates no linear relationship between the investments. +Correlation information can be valuable in assessing the diversification effect of combining an investment with other options. + + + + + +## Properties + + + +## Fetching Data + +The component is populated with data returned by calls to the Portfolio Analysis API (APAC/EMEA). + +### API Data Access Library + +The API Data Access Library is used to fetch data from the API. + +``` javascript dark +window.mstarApisSdk.xray.getCorrelationMatrixData({ portfolios: samplePortfolio, languageId: 'en-GB' }); +``` +
+ Example + +``` javascript dark +const samplePortfolio = [ + { + "type": 3, + "benchmarkId": "EUCA000555", + "currencyId": "GBP", + "holdings": [ + { + "identifier": "F0GBR052QA", + "identifierType": "MSID", + "amount": 5000 + }, + { + "identifier": "F000000EY1", + "identifierType": "MSID", + "amount": 2000 + }, + { + "identifier": "F00000OXG7", + "identifierType": "MSID", + "amount": 2000 + }, + { + "identifier": "F00000TWNO", + "identifierType": "MSID", + "amount": 1000 + } + ], + "calculatedDataPoints": [], + "name": "UK demo portfolio" + }, +]; +window.mstarApisSdk.xray.getCorrelationMatrixData({ portfolios: samplePortfolio, languageId: 'en-GB' }); +``` +
+  + +### Request Example + +```javascript dark +"https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}}" + +``` +### Request Payload Example + +| Query Parameter | Description|Example | +| :----------- | :--------| :----------- | +| `languageId` | ISO culture codes. If not provided, defaults to language defined in settings. |`languageId=en-GB` | +| `portfolioDataPoints` |Comma-separated list of portfolio data points.|`portfolioDataPoints=AssetAllocationMorningstarEUR3` | +| `holdingDataPoints` |Comma-separated list of holding data points.|`HoldingDataPoints=` | +| `benchmarkDataPoints` | Comma-separated list of benchmark data points.|`benchmarkDataPoints=ShowBreakdown` | + +## Data Transformation + +Data returned by the API must be transformed to a format the component understands. + +### API Response Data Format +
+ Code Snippet + +```json dark +[ + { + "timePeriod": "M12", + "endDate": "2023-12-31", + "correlationMatrixDetail": [ + { + "id": "0", + "correlationDetail": [ + { + "id": "0", + "correlation": "1" + }, + { + "id": "1", + "correlation": "-0.07487" + }, + { + "id": "2", + "correlation": "0.71369" + }, + { + "id": "3", + "correlation": "0.73071" + } + ] + }, + { + "id": "1", + "correlationDetail": [ + { + "id": "0", + "correlation": "-0.07487" + }, + { + "id": "1", + "correlation": "1" + }, + { + "id": "2", + "correlation": "0.04081" + }, + { + "id": "3", + "correlation": "0.05649" + } + ] + }, + { + "id": "2", + "correlationDetail": [ + { + "id": "0", + "correlation": "0.71369" + }, + { + "id": "1", + "correlation": "0.04081" + }, + { + "id": "2", + "correlation": "1" + }, + { + "id": "3", + "correlation": "0.78643" + } + ] + }, + { + "id": "3", + "correlationDetail": [ + { + "id": "0", + "correlation": "0.73071" + }, + { + "id": "1", + "correlation": "0.05649" + }, + { + "id": "2", + "correlation": "0.78643" + }, + { + "id": "3", + "correlation": "1" + } + ] + } + ] + }, + { + "timePeriod": "M36", + "endDate": "2023-12-31", + "correlationMatrixDetail": [ + { + "id": "0", + "correlationDetail": [ + { + "id": "0", + "correlation": "1" + }, + { + "id": "1", + "correlation": "0.1715" + }, + { + "id": "2", + "correlation": "0.41017" + }, + { + "id": "3", + "correlation": "0.5419" + } + ] + }, + { + "id": "1", + "correlationDetail": [ + { + "id": "0", + "correlation": "0.1715" + }, + { + "id": "1", + "correlation": "1" + }, + { + "id": "2", + "correlation": "-0.14667" + }, + { + "id": "3", + "correlation": "-0.02214" + } + ] + }, + { + "id": "2", + "correlationDetail": [ + { + "id": "0", + "correlation": "0.41017" + }, + { + "id": "1", + "correlation": "-0.14667" + }, + { + "id": "2", + "correlation": "1" + }, + { + "id": "3", + "correlation": "0.73722" + } + ] + }, + { + "id": "3", + "correlationDetail": [ + { + "id": "0", + "correlation": "0.5419" + }, + { + "id": "1", + "correlation": "-0.02214" + }, + { + "id": "2", + "correlation": "0.73722" + }, + { + "id": "3", + "correlation": "1" + } + ] + } + ] + }, + { + "timePeriod": "M60", + "endDate": "2023-12-31", + "correlationMatrixDetail": [ + { + "id": "0", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "1", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "2", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "3", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + } + ] + }, + { + "timePeriod": "M120", + "endDate": "2023-12-31", + "correlationMatrixDetail": [ + { + "id": "0", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "1", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "2", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + }, + { + "id": "3", + "correlationDetail": [ + { + "id": "0" + }, + { + "id": "1" + }, + { + "id": "2" + }, + { + "id": "3" + } + ] + } + ] + } +] +``` +
+  + +### Integration Data Format +
+ Code Snippet + +```json dark +{ + "securities": [ + "BlackRock Income and Growth Ord", + "Baronsmead Second Venture Trust Ord", + "BlackRock Dev Mkts Sust Eq Fund UK D Inc", + "London & Capital Global Bond I GBP Inc" + ], + "correlationMatrix": { + "year1": [ + { + "x": 1, + "y": 1, + "value": 1 + }, + { + "x": 1, + "y": 2, + "value": -0.07487 + }, + { + "x": 1, + "y": 3, + "value": 0.71369 + }, + { + "x": 1, + "y": 4, + "value": 0.73071 + }, + { + "x": 2, + "y": 1, + "value": -0.07487 + }, + { + "x": 2, + "y": 2, + "value": 1 + }, + { + "x": 2, + "y": 3, + "value": 0.04081 + }, + { + "x": 2, + "y": 4, + "value": 0.05649 + }, + { + "x": 3, + "y": 1, + "value": 0.71369 + }, + { + "x": 3, + "y": 2, + "value": 0.04081 + }, + { + "x": 3, + "y": 3, + "value": 1 + }, + { + "x": 3, + "y": 4, + "value": 0.78643 + }, + { + "x": 4, + "y": 1, + "value": 0.73071 + }, + { + "x": 4, + "y": 2, + "value": 0.05649 + }, + { + "x": 4, + "y": 3, + "value": 0.78643 + }, + { + "x": 4, + "y": 4, + "value": 1 + } + ], + "year3": [ + { + "x": 1, + "y": 1, + "value": 1 + }, + { + "x": 1, + "y": 2, + "value": 0.1715 + }, + { + "x": 1, + "y": 3, + "value": 0.41017 + }, + { + "x": 1, + "y": 4, + "value": 0.5419 + }, + { + "x": 2, + "y": 1, + "value": 0.1715 + }, + { + "x": 2, + "y": 2, + "value": 1 + }, + { + "x": 2, + "y": 3, + "value": -0.14667 + }, + { + "x": 2, + "y": 4, + "value": -0.02214 + }, + { + "x": 3, + "y": 1, + "value": 0.41017 + }, + { + "x": 3, + "y": 2, + "value": -0.14667 + }, + { + "x": 3, + "y": 3, + "value": 1 + }, + { + "x": 3, + "y": 4, + "value": 0.73722 + }, + { + "x": 4, + "y": 1, + "value": 0.5419 + }, + { + "x": 4, + "y": 2, + "value": -0.02214 + }, + { + "x": 4, + "y": 3, + "value": 0.73722 + }, + { + "x": 4, + "y": 4, + "value": 1 + } + ], + "year5": [ + { + "x": 1, + "y": 1, + "value": 0 + }, + { + "x": 1, + "y": 2, + "value": 0 + }, + { + "x": 1, + "y": 3, + "value": 0 + }, + { + "x": 1, + "y": 4, + "value": 0 + }, + { + "x": 2, + "y": 1, + "value": 0 + }, + { + "x": 2, + "y": 2, + "value": 0 + }, + { + "x": 2, + "y": 3, + "value": 0 + }, + { + "x": 2, + "y": 4, + "value": 0 + }, + { + "x": 3, + "y": 1, + "value": 0 + }, + { + "x": 3, + "y": 2, + "value": 0 + }, + { + "x": 3, + "y": 3, + "value": 0 + }, + { + "x": 3, + "y": 4, + "value": 0 + }, + { + "x": 4, + "y": 1, + "value": 0 + }, + { + "x": 4, + "y": 2, + "value": 0 + }, + { + "x": 4, + "y": 3, + "value": 0 + }, + { + "x": 4, + "y": 4, + "value": 0 + } + ], + "year10": [ + { + "x": 1, + "y": 1, + "value": 0 + }, + { + "x": 1, + "y": 2, + "value": 0 + }, + { + "x": 1, + "y": 3, + "value": 0 + }, + { + "x": 1, + "y": 4, + "value": 0 + }, + { + "x": 2, + "y": 1, + "value": 0 + }, + { + "x": 2, + "y": 2, + "value": 0 + }, + { + "x": 2, + "y": 3, + "value": 0 + }, + { + "x": 2, + "y": 4, + "value": 0 + }, + { + "x": 3, + "y": 1, + "value": 0 + }, + { + "x": 3, + "y": 2, + "value": 0 + }, + { + "x": 3, + "y": 3, + "value": 0 + }, + { + "x": 3, + "y": 4, + "value": 0 + }, + { + "x": 4, + "y": 1, + "value": 0 + }, + { + "x": 4, + "y": 2, + "value": 0 + }, + { + "x": 4, + "y": 3, + "value": 0 + }, + { + "x": 4, + "y": 4, + "value": 0 + } + ] + } +} +``` +
+  + +### Integration Transformation Operation +
+ Code Snippet + +```javascript dark +function getCorrelationMatrixData(xRayData) { + const correlationMatrix={}; + const timePeriodMapping = { + "M12": "year1", + "M36": "year3", + "M60": "year5", + "M120": "year10", + } + xRayData.correlationMatrix.forEach((timePeriod) => { + const chartData=[]; + timePeriod.correlationMatrixDetail.forEach((correlation, index) => { + correlation.correlationDetail.forEach((details) => { + const obj = {}; + obj.x = index + 1; + obj.y = parseInt(details.id) + 1; + obj.value = parseFloat(details.correlation) || 0 + chartData.push(obj); + }); + correlationMatrix[timePeriodMapping[timePeriod.timePeriod]] = chartData; + }); + }); + return { + securities: xRayData.holdings.map(s => s.name), + correlationMatrix + }; +} +``` +
+  + +### Component Transformation Operation +
+ Code Snippet + +```javascript dark + function getCorrelationMatrixData(xRayData) { + const correlationMatrix={}; + xRayData.correlationMatrix.forEach((timePeriod) => { + const chartData=[]; + timePeriod.Correlations.forEach((correlation, index) => { + correlation.CorrelatedItemKey.forEach((details) => { + const obj = {}; + obj.SecurityId = correlation.SecurityId, + obj.x = index + 1; + obj.y = details.CorrelatedItemKeyId; + obj.value = parseFloat(details.Value) || 0 + chartData.push(obj); + }); + correlationMatrix[timePeriod.TrailingTimePeriod] = chartData; + }); + }); + return { + securities: xRayData.securities, + correlationMatrix + }; + } +``` +
+  diff --git a/src/components/fixed-income-country/doc.mdx b/src/components/fixed-income-country/doc.mdx index eaa5396..f78e42c 100644 --- a/src/components/fixed-income-country/doc.mdx +++ b/src/components/fixed-income-country/doc.mdx @@ -111,7 +111,7 @@ window.mstarApisSdk.getFixedIncomeCountryData({ portfolios: samplePortfolio }); ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/fixed-income-sectors/doc-emea.mdx b/src/components/fixed-income-sectors/doc-emea.mdx index a40edd3..1ef7951 100644 --- a/src/components/fixed-income-sectors/doc-emea.mdx +++ b/src/components/fixed-income-sectors/doc-emea.mdx @@ -110,7 +110,7 @@ window.mstarApisSdk.getFixedIncomeSectorsData{{ portfolios: samplePortfolio }}; ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/performance-graph/PerformanceGraph.vue b/src/components/performance-graph/PerformanceGraph.vue index 5337462..ba98901 100644 --- a/src/components/performance-graph/PerformanceGraph.vue +++ b/src/components/performance-graph/PerformanceGraph.vue @@ -266,7 +266,7 @@ export default { const { graphBaseValue } = this; newValue = ((newValue - graphBaseValue) / graphBaseValue) * 100.0; - return `${name} : ${newValue.toFixed(2)}`; + return `${name} : ${newValue.toFixed(2)}%`; }, tabChanged(event) { this.chartData = this.parseChartData(event.key); diff --git a/src/components/performance-graph/docs/doc-growth-chart-emea.mdx b/src/components/performance-graph/docs/doc-growth-chart-emea.mdx index ea951ea..1a93ede 100644 --- a/src/components/performance-graph/docs/doc-growth-chart-emea.mdx +++ b/src/components/performance-graph/docs/doc-growth-chart-emea.mdx @@ -110,7 +110,7 @@ window.mstarApisSdk.xray.getPerformanceGraphData({ portfolios: samplePortfolio } ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` ### Request Payload Example diff --git a/src/components/portfolio-holdings/doc-emea.mdx b/src/components/portfolio-holdings/doc-emea.mdx index d08ce07..ce1641a 100644 --- a/src/components/portfolio-holdings/doc-emea.mdx +++ b/src/components/portfolio-holdings/doc-emea.mdx @@ -118,7 +118,7 @@ window.mstarApisSdk.xray.getPortfolioHoldingsData({ portfolios: samplePortfolio Requests to the API have the following format: ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/portfolio-srri/doc.mdx b/src/components/portfolio-srri/doc.mdx index d60d16b..74b5e80 100644 --- a/src/components/portfolio-srri/doc.mdx +++ b/src/components/portfolio-srri/doc.mdx @@ -115,7 +115,7 @@ window.mstarApisSdk.xray.getSrri({ portfolios: samplePortfolio}); ### Request Example ```javascript dark -https://www.emea-api.morningstar.com.morningstar.com/ecint/v1/xray/v2/json?languageId={{languageId}} +https://www.emea-api.morningstar.com.morningstar.com/ecint/v2/xray?languageId={{languageId}} ``` diff --git a/src/components/screener/components/SecurityList.vue b/src/components/screener/components/SecurityList.vue index 74c25b3..88d7e31 100644 --- a/src/components/screener/components/SecurityList.vue +++ b/src/components/screener/components/SecurityList.vue @@ -116,7 +116,7 @@ export default { ], props: { performanceGraph: { - showTimeSeriesData: false, + showTimeSeriesData: true, title: 'Growth of Investment', }, trailingReturns: { diff --git a/src/components/shared/portfolio-analysis-helper.js b/src/components/shared/portfolio-analysis-helper.js index 160c2e8..915a274 100644 --- a/src/components/shared/portfolio-analysis-helper.js +++ b/src/components/shared/portfolio-analysis-helper.js @@ -84,6 +84,54 @@ function getAssetAllocationData(xrayData) { }; } +function getCorrelationMatrixData(xRayData) { + const correlationMatrix={}; + const timePeriodMapping = { + "M12": "year1", + "M36": "year3", + "M60": "year5", + "M120": "year10", + } + xRayData.correlationMatrix.forEach((timePeriod) => { + const chartData=[]; + timePeriod.correlationMatrixDetail.forEach((correlation, index) => { + correlation.correlationDetail.forEach((details) => { + const obj = {}; + obj.x = index + 1; + obj.y = parseInt(details.id) + 1; + obj.value = parseFloat(details.correlation) || 0 + chartData.push(obj); + }); + correlationMatrix[timePeriodMapping[timePeriod.timePeriod]] = chartData; + }); + }); + return { + securities: xRayData.holdings.map(s => s.name), + correlationMatrix + }; +} +function getCorrelationMatrixUsData(xRayData) { + const correlationMatrix={}; + xRayData.correlationMatrix.forEach((timePeriod) => { + const chartData=[]; + timePeriod.Correlations.forEach((correlation, index) => { + correlation.CorrelatedItemKey.forEach((details) => { + const obj = {}; + obj.SecurityId = correlation.SecurityId, + obj.x = index + 1; + obj.y = details.CorrelatedItemKeyId; + obj.value = parseFloat(details.Value) || 0 + chartData.push(obj); + }); + correlationMatrix[timePeriod.TrailingTimePeriod] = chartData; + }); + }); + return { + securities: xRayData.securities, + correlationMatrix + }; +} + function getAssetAllocationUsData(assetAllocationData, breakdown = {}) { const getParsedData = (reference, data = []) => { const assetData = get(data, reference, []); @@ -712,6 +760,8 @@ function getXrayUsData(apiData, componentsOptions, portfolio) { export default { getAssetAllocationData, getAssetAllocationUsData, + getCorrelationMatrixData, + getCorrelationMatrixUsData, getFixedIncomeCountryData, getFixedIncomeSectorsData, getFixedIncomeSectorsUsData, diff --git a/src/components/stock-regions/doc-americas.mdx b/src/components/stock-regions/doc-americas.mdx index 28bdf03..bc737fb 100644 --- a/src/components/stock-regions/doc-americas.mdx +++ b/src/components/stock-regions/doc-americas.mdx @@ -73,34 +73,40 @@ window.mstarApisSdk.xray.getStockRegionsUsData({ portfolios: sampleUsPortfolio, ``` javascript dark const sampleUsPortfolio = [ - { - name: 'US demo portfolio - weight', - totalValue: 10000, - currency: 'USD', - holdings: [ - { - securityId: 'FOUSA06OEZ', - weight: 30, - }, - { - securityId: 'FOUSA06IVV', - weight: 50, - }, - { - securityId: 'F00000T770', - weight: 20, - }, - ], - benchmark: { - type: 'Standard', - holdings: [ + [ + { + "name": "US demo portfolio - weight", + "totalValue": 10000, + "currency": "USD", + "holdings": [ + { + "securityId": "FOUSA06OEZ", + "weight": 30 + }, + { + "securityId": "FOUSA06IVV", + "weight": 30 + }, { - securityId: 'XIUSA0010V', - weight: 100, + "securityId": "F00000T770", + "weight": 20 }, + { + "securityId": "0P0000JIAP", + "weight": 20 + } ], - }, - }, + "benchmark": { + "type": "Standard", + "holdings": [ + { + "securityId": "XIUSA0010V", + "weight": 100 + } + ] + } + } + ], ]; window.mstarApisSdk.xray.getStockRegionsUsData({ portfolios: samplePortfolio, languageId: 'en-US' }); diff --git a/src/components/stock-regions/doc-emea.mdx b/src/components/stock-regions/doc-emea.mdx index 28c6326..26787c4 100644 --- a/src/components/stock-regions/doc-emea.mdx +++ b/src/components/stock-regions/doc-emea.mdx @@ -112,7 +112,7 @@ window.mstarApisSdk.xray.getStockRegionsData({ portfolios: samplePortfolio }); Requests to the API have the following format: ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/stock-sectors/doc-emea.mdx b/src/components/stock-sectors/doc-emea.mdx index 90b8915..558619e 100644 --- a/src/components/stock-sectors/doc-emea.mdx +++ b/src/components/stock-sectors/doc-emea.mdx @@ -111,7 +111,7 @@ window.mstarApisSdk.xray.getStockSectorsData({ portfolios: samplePortfolio}); ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` diff --git a/src/components/stock-stats/doc-emea.mdx b/src/components/stock-stats/doc-emea.mdx index 45a4a8a..dabd8d5 100644 --- a/src/components/stock-stats/doc-emea.mdx +++ b/src/components/stock-stats/doc-emea.mdx @@ -110,7 +110,7 @@ window.mstarApisSdk.xray.getStockStatsData({ portfolios: samplePortfolio }); ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` ### Request Payload Example diff --git a/src/components/trailing-returns/doc-emea.mdx b/src/components/trailing-returns/doc-emea.mdx index f368990..0bbb007 100644 --- a/src/components/trailing-returns/doc-emea.mdx +++ b/src/components/trailing-returns/doc-emea.mdx @@ -99,7 +99,7 @@ window.mstarApisSdk.xray.getTrailingReturnsData({ portfolios: samplePortfolio }) ### Request Example ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` ### Request Payload Example diff --git a/src/components/xray/doc-emea.mdx b/src/components/xray/doc-emea.mdx index ea87bec..f61efd8 100644 --- a/src/components/xray/doc-emea.mdx +++ b/src/components/xray/doc-emea.mdx @@ -240,7 +240,7 @@ window.mstarApisSdk.costCalculator.getCostCalculation({ portfolios: sampleCostCa Requests to the API have the following format: ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} https://www.us-api.morningstar.com/portfolioanalysis/v1/sustainability?langcult={{languageId}} https://www.us-api.morningstar.com/portfolioanalysis/v1/risk-score?langcult={{languageId}} https://www.emea-api.morningstar.com/ecint/v1/investment-fees/calculate diff --git a/src/stories/CorrelationMatrix.stories.js b/src/stories/CorrelationMatrix.stories.js new file mode 100644 index 0000000..dd3a6fb --- /dev/null +++ b/src/stories/CorrelationMatrix.stories.js @@ -0,0 +1,74 @@ +import CorrelationMatrix from '@/components/correlation-matrix/CorrelationMatrix'; +import docPageAmericas from '@/components/correlation-matrix/doc-americas.mdx'; +import docPageEMEA from '@/components/correlation-matrix/doc-emea.mdx'; +import sampleCorrelationData from '@/components/correlation-matrix/config/sampleData.json'; +import {action} from '@storybook/addon-actions'; +import helper from "@/stories/stories-helper"; +import xrayHelper from "@/components/shared/portfolio-analysis-helper"; + +export default { + title: 'Components/Correlation Matrix', + component: CorrelationMatrix, + argTypes: { + modelData: Object, + showHeader: Boolean + }, + parameters: { + docs: { + page: docPageEMEA, + }, + }, +}; + +const Template = (args, {argTypes, loaded}) => { + let response = {}; + if (loaded?.modelData) { + response = loaded; + action('Component loaded')('API Data'); + } else { + response.modelData = args.modelData; + action('Component loaded')('Static Data'); + } + return { + props: Object.keys(argTypes), + components: {CorrelationMatrix}, + template: ` + `, + }; +}; + +export const StoryDetails = Template.bind({}); +StoryDetails.storyName = 'APAC/EMEA'; +StoryDetails.loaders = [ + async () => ({ + modelData: await window.mstarApisSdk.xray + .getCorrelationMatrixData({portfolios: helper.samplePortfolio}) + .then((apiData) => xrayHelper.getCorrelationMatrixData(apiData)) + .catch((error) => console.log(error)), + }), +]; +StoryDetails.args = { + modelData: sampleCorrelationData, + showHeader: true +}; + +export const StoryDetailsUS = Template.bind({}); +StoryDetailsUS.storyName = 'Americas'; +StoryDetailsUS.parameters = { + docs: { + page: docPageAmericas, + }, +}; +StoryDetailsUS.loaders = [ + async () => ({ + modelData: await window.mstarApisSdk.xray + .getCorrelationMatrixUsData({portfolios: helper.sampleUsPortfolio}) + .then((apiData) => xrayHelper.getCorrelationMatrixUsData(apiData)) + .catch((error) => console.log(error)), + }), +]; +StoryDetailsUS.args = { + modelData: sampleCorrelationData, + showHeader: true +}; diff --git a/src/stories/stories-helper.js b/src/stories/stories-helper.js index c76fc93..b303d49 100644 --- a/src/stories/stories-helper.js +++ b/src/stories/stories-helper.js @@ -84,12 +84,16 @@ const sampleUsPortfolio = [ }, { securityId: 'FOUSA06IVV', - weight: 50, + weight: 30, }, { securityId: 'F00000T770', weight: 20, }, + { + securityId: '0P0000JIAP', + weight: 20, + }, ], benchmark: { type: 'Standard', diff --git a/src/workflow/Mifid/doc.mdx b/src/workflow/Mifid/doc.mdx index 840da48..188be67 100644 --- a/src/workflow/Mifid/doc.mdx +++ b/src/workflow/Mifid/doc.mdx @@ -218,7 +218,7 @@ const samplePortfolio = [ Requests to the API have the following format: ```javascript dark -https://www.emea-api.morningstar.com/ecint/v1/xray/v2/json?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} +https://www.emea-api.morningstar.com/ecint/v2/xray?outputtype=json&languageId={{languageId}}&portfolioDataPoints={{portfolioDataPoints}}&holdingDataPoints={{holdingDataPoints}}&benchmarkDataPoints={{benchmarkDataPoints}} ``` ### Request Payload Example diff --git a/tests/unit/correlation-matrix.spec.js b/tests/unit/correlation-matrix.spec.js new file mode 100644 index 0000000..01c364e --- /dev/null +++ b/tests/unit/correlation-matrix.spec.js @@ -0,0 +1,20 @@ +// Import +import Vue from 'vue'; +import Vuetify from 'vuetify'; + +// Utilities +import { shallowMount } from '@vue/test-utils'; + +// Component +import CorrelationMatrix from '@/components/correlation-matrix/CorrelationMatrix.vue'; + +Vue.use(Vuetify); + +describe('correlation-matrix.vue', () => { + it('should render Correlation-matrix', () => { + setTimeout(() => { + const wrapper = shallowMount(CorrelationMatrix); + expect(wrapper.find('.title h2').text()).toBe('Correlation-matrix'); + }) + }); +});