1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"e9cc7b2420e5d76423b99ff4271bbeade7bff705"},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];if(null!=n)for(var r in n)n.hasOwnProperty(r)&&(e[r]=n[r])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:finviz":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="59cbeaf1-f1d9-4233-a5b6-ce789cc9ed68",e._sentryDebugIdIdentifier="sentry-dbid-59cbeaf1-f1d9-4233-a5b6-ce789cc9ed68")}catch(e){}}(),(self.webpackChunkFinvizModern=self.webpackChunkFinvizModern||[]).push([[3260],{58392(e,t,n){function r(e){const t=getComputedStyle(e);return e=>t.getPropertyValue(e).trim()}function a(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Theme";const r=e(t);if(!r)throw new Error(`${n} token ${t} is not defined on the page`);return r}n.d(t,{F:()=>a,K:()=>r})},26629(e,t,n){n.d(t,{j:()=>s});var r=n(64878),a=n(58392);function s(e){const t=t=>(0,a.F)(e,t,"Themed map"),n=t("--background-color-primary"),s=t("--background-color-secondary"),i=t("--text-color-default");return{...r.X4,background:n,nullColor:s,sector:{...r.X4.sector,background:s,border:n,header:{...r.X4.sector.header,color:i}},industry:{...r.X4.industry,header:{...r.X4.industry.header,color:i,border:s}}}}},49044(e,t,n){n.d(t,{$2:()=>i,$n:()=>o,A4:()=>E,AN:()=>x,D9:()=>N,MJ:()=>u,Md:()=>$,P_:()=>v,SP:()=>r,Vh:()=>g,WZ:()=>j,XA:()=>c,Yd:()=>m,Z9:()=>p,cK:()=>w,eu:()=>a,iA:()=>s,mY:()=>S,nN:()=>d,op:()=>T,s6:()=>l,sv:()=>f,wW:()=>y,xj:()=>k});n(15724),n(14846),n(27458),n(6211),n(69655),n(94364),n(90458),n(36241),n(85151),n(49122),n(75183),n(40520),n(32495),n(72371),n(5673),n(30164),n(21279);let r=function(e){return e.View="v",e.Signal="s",e.Order="o",e.Tickers="t",e.Filters="f",e.FilterTab="ft",e.MapSubtype="st",e.Columns="c",e.Flag="flag",e}({}),a=function(e){return e.MarketCap="cap",e.Index="idx",e.Sector="sec",e.Industry="ind",e.Country="geo",e.AverageVolume="sh_avgvol",e.Theme="theme",e.Subtheme="subtheme",e.EtfCategory="etf_category",e}({});const s=["exchangetradedfund","closedendfunddebt","closedendfundequity","closedendfundforeign"];let i=function(e){return e.Descriptive="1",e.Fundamental="2",e.Technical="3",e.News="6",e.Etf="5",e.All="4",e}({}),l=function(e){return e.ShowEtf="show_etf",e.ShowIndustry="show_industry",e.PresetOrder="preset_order",e.MapSubtype="st",e.ShowWiim="show_wiim",e.ShowLogos="show_logos",e.EqualSize="equal_size",e}({});function o(e){const t=[...new Set(e)];return 0===t.length?null:new URLSearchParams({[r.Order]:"tickersfilter",[r.Tickers]:t.join(",")}).toString()}const c=[l.ShowEtf,l.ShowIndustry,l.PresetOrder,l.MapSubtype,l.ShowWiim,l.EqualSize];function d(e){return e?c.filter(e=>e!==l.PresetOrder):[...c]}function u(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search;const n=new URLSearchParams(e),r=new URLSearchParams(t);return c.forEach(e=>{const t=r.get(e);null===t?n.delete(e):n.set(e,t)}),n.toString()}function m(e){return`screener?${u(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:window.location.search)}`}function h(e){window.location.href=m(e)}function f(){window.FinvizScreenerNavigateWithCurrentMapDisplayOptions=h}let g=function(e){return e[e.Overview=11]="Overview",e[e.Maps=71]="Maps",e[e.Bubbles=72]="Bubbles",e}({}),p=function(e){return e.Overview="11",e.Valuation="12",e.Ownership="13",e.Performance="14",e.Custom="15",e.Financial="16",e.Technical="17",e.ETF="18",e.ETFPerf="19",e.Charts="21",e.Basic="31",e.News="32",e.Snapshot="34",e.TA="35",e.Tickers="41",e.Stats="61",e.Maps="71",e}({});const x="navigationPayload";function y(e,t,n){return e.addEventListener(t,n),()=>{e.removeEventListener(t,n)}}function v(e){return e.textContent||e.innerText}function w(e){const t=e.getAttribute("data-filter"),n=document.getElementById("fsm_"+t);if(n){e.style.display="none",n.style.display="block";const r=document.getElementById("fsmi_"+t),a=function(e){const t=e.getAttribute("data-selected")?.split("|")??[],n=[];for(var r=0,a=t.length;r<a;r++)for(var s=t[r],i=0;i<e.children.length;i++){var l=e.children[i];l.value===s&&n.push({key:s,value:v(l)})}return n}(e),s=[];for(let e=0,t=a.length;e<t;e++)s.push(a[e].value);r.value=s.join(", ")}}const b=/^[0-9]{2}[-][0-9]{2}[-][0-9]{4}/;function k(e){if(!e.includes("x"))return!1;const[t,n]=e.split("x"),[r,a]=[t,n].map(e=>!!b.test(e)&&!Number.isNaN(new Date(e.replace(/-/g,"/")).getTime()));return r||a}function j(e){const t=e.find(k);if(t)return t.split("x").map(e=>b.test(e)?e.replace(/-/g,"/"):void 0)}function T(e){let{from:t,to:n}=e;return t||n?`${t??""}x${n??""}`.replace(/\//g,"-"):null}function N(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.search;const a=new URLSearchParams(n),s=[...t,...Object.values(r)];
1Array.from(a.keys()).forEach(e=>{s.includes(e)||a.delete(e)});const[,i,l=0]=a.get(r.View)?.match(/(\d{2})(\d)/)??[];return(e??i)&&a.set(r.View,`${e??i}${l}`),a}function E(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.location.search;const t=new URLSearchParams(e).get(r.Filters);return t?Object.fromEntries(t.split(",").map(e=>{const t=e.lastIndexOf("_");return[e.substring(0,t),e.substring(t+1).split("|")]})):{}}function $(e){return Object.entries(e).filter(e=>{let[,t]=e;return String(t).length>0}).map(e=>{let[t,n]=e;return`${t}_${n.join("|")}`}).join(",")}function S(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"x",r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"to";return e.reduce((e,a,s)=>{const{from:i,to:l}=a;let o=e;return s>0&&(o+=n),o+(i||l?`${i}${r}${l}${t?.[s]??""}`:"")},"")}},99412(e,t,n){n.d(t,{J:()=>o,L:()=>l});var r=n(22132),a=n(63696),s=n(55422),i=n(62540);const l=8;function o(e){let{store:t,content:n,anchorToEdge:o,gutter:c=8,hideOnHoverOutside:d}=e;const u="string"==typeof n,m=r.O$(t,"placement"),h=a.useMemo(()=>{if(!o)return;const e=m.endsWith("-end");return t=>{if(!t)return null;const n=t.getBoundingClientRect();return{x:e?n.left:n.right,y:n.top,width:0,height:n.height}}},[o,m]);return(0,i.jsx)(s.m_,{state:t,gutter:c,overflowPadding:l,getAnchorRect:h,hideOnHoverOutside:d,isPointerEventsEnabled:!1,disablePointerEventsOnApproach:!1,hasBox:!1,children:u?(0,i.jsx)("div",{className:"max-w-[300px] rounded bg-gray-700 px-2 py-1 text-2xs text-gray-50 dark:bg-gray-300 dark:text-gray-700",children:n}):n})}},30054(e,t,n){n.d(t,{Z:()=>u});var r=n(52258),a=n(63696),s=n(76990),i=n(99412),l=n(62540);const o="[data-boxover-ticker],[data-boxover-text],[data-boxover-html]";function c(e){const t=e.target instanceof Element?e.target:e.target.parentElement;return t?.closest("[data-boxover-ignore]")?null:t?.closest(o)??null}function d(e){return"chart"===e.type?(0,l.jsx)(s.N,{ticker:e.ticker,company:e.company,industry:e.industry,country:e.country,value:e.value,extra:e.extra,wiimInstrument:e.wiimInstrument},e.ticker):"html"===e.type?(0,l.jsx)("div",{className:"rounded bg-gray-700 px-2 py-1 text-2xs leading-normal text-gray-50 dark:bg-gray-300 dark:text-gray-700",dangerouslySetInnerHTML:{__html:e.html}}):e.text}function u(){const[e,t]=a.useState(null),n=a.useRef(null),s=a.useRef(null),u=a.useRef(null),m=a.useRef(null),h=a.useRef(0),f=a.useRef({x:0,y:0}),g="chart"===e?.type,p=r._({showTimeout:0,hideTimeout:0,placement:g?"top-start":"top"});return a.useEffect(()=>{function e(){n.current&&(clearTimeout(n.current),n.current=null),s.current&&(clearTimeout(s.current),s.current=null)}function r(e){f.current.x=e.clientX,f.current.y=e.clientY}function a(e){const n=function(e){const t=e.dataset.boxoverTicker;if(t)return{type:"chart",ticker:t,company:e.dataset.boxoverCompany,industry:e.dataset.boxoverIndustry,country:e.dataset.boxoverCountry,value:e.dataset.boxoverValue,extra:e.dataset.boxoverExtra,wiimInstrument:e.dataset.boxoverWiimInstrument};const n=e.dataset.boxoverHtml;if(n)return{type:"html",html:n};const r=e.dataset.boxoverText;return r?{type:"text",text:r}:null}(e);n&&(u.current=e,m.current=null,p.setAnchorElement(e),t(n),p.show())}function i(){u.current=null,m.current=null,h.current=Date.now(),p.hide()}function l(){const{x:e,y:t}=f.current,n=document.elementFromPoint(e,t);if(n?.closest("[data-boxover-ignore]"))return void i();const r=n?.closest(o);r?a(r):i()}function d(t){if(function(e){const t=e.target instanceof Element?e.target:e.target.parentElement;return!!t?.closest("[data-boxover-ignore]")}(t))return e(),void i();const r=c(t);r&&(r!==m.current&&r!==u.current?(e(),u.current||Date.now()-h.current<400?a(r):(m.current=r,n.current=window.setTimeout(()=>a(r),200))):s.current&&(clearTimeout(s.current),s.current=null))}function g(t){const n=c(t);n&&(n!==u.current&&n!==m.current||(e(),m.current=null,s.current=window.setTimeout(l,100)))}function x(){e(),i()}function y(){u.current&&(e(),i())}return document.addEventListener("mousemove",r,{passive:!0,capture:!0}),document.addEventListener("mouseenter",d,!0),document.addEventListener("mouseleave",g,!0),document.documentElement.addEventListener("mouseleave",x),document.addEventListener("scroll",y,{passive:!0,capture:!0}),()=>{e(),document.removeEventListener("mousemove",r,{capture:!0}),document.removeEventListener("mouseenter",d,!0),document.removeEventListener("mouseleave",g,!0),document.documentElement.removeEventListener("mouseleave",x),document.removeEventListener("scroll",y,{capture:!0})}}
1,[p]),e?(0,l.jsx)(i.J,{store:p,content:d(e),anchorToEdge:g}):null}},72309(e,t,n){n.d(t,{g:()=>i});n(63696);var r=n(40277),a=n(76990),s=n(62540);function i(e){let{entry:t,children:n,wiimInstrument:i}=e;return(0,s.jsx)(r.sb,{contentKey:`${t.ticker}-${t.marketCap}`,disabled:t.isDelisted,anchorToEdge:!0,content:(0,s.jsx)(a.N,{ticker:t.ticker,company:t.company,industry:t.industry,country:t.country,marketCap:t.marketCap,aum:t.aum,wiimInstrument:i}),children:n})}},76990(e,t,n){n.d(t,{N:()=>u});n(14846),n(94364);var r=n(63696),a=n(96288),s=n(89740),i=n(78072),l=n(9838),o=n(76399),c=n(62540);const d=(0,c.jsx)("span",{className:"px-1 text-gray-200 dark:text-gray-600",children:"â¢"});function u(e){let{ticker:t,company:n,industry:u,country:m,marketCap:h,aum:f,value:g,extra:p,wiimInstrument:x}=e;const y=(0,s.oz)(x),v=(0,i.c)(t,x).data?.headline??null,w=[u,m,g??(0,o.Q)({marketCap:h,aum:f}),p].filter(e=>e&&"-"!==e),b=n||w.length>0;return(0,c.jsxs)("div",{className:"overflow-hidden rounded-md border border-gray-100 bg-white shadow-modal dark:border-gray-600 dark:bg-gray-800 dark:shadow-modal-dark",style:{width:`calc(${y.width}px + 1rem)`},children:[(0,c.jsx)(l.Z,{ticker:t,instrument:x,className:"m-2 block"}),b&&(0,c.jsxs)("div",{className:"bg-gray-50 p-2.5 py-1.5 text-2xs leading-normal text-gray-500 dark:bg-gray-700 dark:text-gray-400",children:[n&&(0,c.jsx)("b",{className:"block font-medium text-gray-900 dark:text-gray-50",children:n}),w.map((e,t)=>(0,c.jsxs)(r.Fragment,{children:[t>0&&d,(0,c.jsx)("span",{children:e})]},e))]}),v&&(0,c.jsx)("div",{className:"border-t border-secondary bg-gray-50 dark:bg-gray-700",children:(0,c.jsxs)("div",{className:"flex items-start px-2 pt-2 pb-1",children:[(0,c.jsx)(a.I,{name:"aiGenerated",width:14,className:"mt-0.5 mr-2 text-muted-2"}),(0,c.jsx)("div",{className:"line-clamp-5 text-2xs text-default",children:v})]})})]})}},9838(e,t,n){n.d(t,{Z:()=>l});n(63696);var r=n(83971),a=n(88601),s=n(89740),i=n(62540);function l(e){let{ticker:t,instrument:n,showDrawings:l,...o}=e;const c=(0,a.t0)(e=>e.showTickerLogos??!0),d=!n&&c,u=(0,r.r3)(t,d),m=d&&null===u,h=s.Yq(),f=s.oz(n),g=m?void 0:s.sw(t,n,u,l),p=g?s.tS(g):void 0;return(0,i.jsx)("img",{referrerPolicy:h,...f,src:g,srcSet:p,style:{height:f.height},...o})}},78072(e,t,n){n.d(t,{c:()=>l});var r=n(12091),a=n(5868),s=n(85670),i=n(35721);function l(e,t){const{data:n,isInitialLoading:l}=(0,r.I)({queryKey:["wiimBoxover",e,t||void 0],queryFn:()=>async function(e,t){if(!(0,i.wX)(s.TO.StocksWhyMoving))return null;try{const n={};return t&&(n.instrument=t),await(0,a.AT)(`/api/stocks-why-moving/boxover/${encodeURIComponent((0,i.gd)(e))}`,{query:n})??null}catch{return null}}(e,t),enabled:!!e,staleTime:3e4,retry:!1,useErrorBoundary:!1});return{data:n??null,isLoading:l}}},77444(e,t,n){n.d(t,{KD:()=>l,Tj:()=>s,v4:()=>i});var r=n(21342),a=n.n(r);const s=[a().violet[400],a().emerald[300],a().orange[300],a().teal[300],a().pink[400],a().lime[300],a().purple[400],a().green[400],a().yellow[200],a().blue[300],a().red[400]],i=["#27399d","#7f35d4","#74b9ff","#afaac2","#ecc100","#e999d8","#e28e00","#aa8240","#61d8c3"],l=[a().yellow[300],a().teal[400],a().purple[400]]},91647(e,t,n){n.r(t),n.d(t,{ETFHoldings:()=>_e});var r=n(64964),a=n(53150),s=n(63064),i=n(12091),l=n(63696),o=n(65227),c=n(97221),d=n(5868);var u=n(42586),m=n(51652);const h="etfHoldings",f=u.dZ[m.IZ.ETFHoldings],g=36e5;let p=function(e){return e[e.Free=432e5]="Free",e[e.Elite=36e5]="Elite",e[e.EliteStocksReduced=216e5]="EliteStocksReduced",e}({});const x={Cash:"Cash and Cash Equivalents",MoneyMarket:"Cash and Cash Equivalents"},y="relative ml-3 mt-3 flex max-h-85 min-h-85 min-w-152 max-w-175 shrink grow basis-0 flex-col overflow-hidden";let v=function(e){return e.Breakdown="bd",e.TopTen="tt",e}({}),w=function(e){return e.PieChart="bd-piechart",e.Map="bd-map",e}({}),b=function(e){return e.Table="tt-table",e.Map="tt-map",e}({}),k=function(e){return e.Table="table",e.Map="map",e}({});n(14846),n(27458),n(69655),n(94364),n(90458),n(75568);var j=n(87641),T=n(88601),N=n(35721);function E(){return(0,T.mt)().hasRedesignEnabled?"regular":"none"}function $(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return t.join("-")}function S(e){return e.split(/(?=[A-Z])/).join(" ")}var C=function(e){return e.Stocks="stocks",e.MoneyLike="moneyLike",e}(C||{});const M={[C.Stocks]:"Stocks",[C.MoneyLike]:"Bonds, Cash & Other"};function D(e){return e.map(e=>({ticker:e.ticker??null,name:e.name??"Other",instrument:e.instrument??"Other",industry:S(e.industry??"Other"),country:e.country??"Unknown",sector:S(e.sector??"Other"),weight:e.weight??0,marketCap:e.marketCap,aum:e.aum,absoluteWeight:Math.abs(e.weight??0)})).sort((e,t)=>
1t.absoluteWeight-e.absoluteWeight)}function O(e){return e.map(e=>({instrument:e.instrument??"Other",data:e.data.map(e=>({sector:S(e.sector??"Other"),absoluteWeight:e.absoluteWeight})),itemsToDisplay:0,instrumentSum:e.instrumentSum}))}function H(e,t){if(e.ticker)return t?.nodes?(t?.nodes)[e.ticker.toUpperCase()]:void 0}function I(e){let{data:t,perfData:n}=e;if(!t)return{hasData:!1};const r=t.reduce((e,t)=>{const r="Stock"===t.instrument?C.Stocks:C.MoneyLike,a=t.absoluteWeight,s={name:t.ticker??t.name?.slice(0,10)??"Unknown",displayName:t.ticker?void 0:t.name,value:a,perf:H(t,n),description:L(t.instrument,t.sector),data:{group:r,ticker:t.ticker}};return a>0?{...e,[r]:[...e[r],s]}:e},{[C.Stocks]:[],[C.MoneyLike]:[]});return{hasData:Object.values(r).some(e=>e.length>0),data:{name:"Root",children:Object.keys(r).map(e=>function(e,t){return{name:M[e]??e,children:(0,N.Y9)((0,N.k5)(t[e],"description"))}}(e,r)).filter(e=>e.children.length)}}}function L(e,t){return"Stock"===e||"Other"!==t?t:x[e]??"Other"}function P(){const e=(0,T.mt)().hasUserPremium;let t=p.Elite;return e?(0,j.Dj)()||(t=p.EliteStocksReduced):t=p.Free,t}function F(e,t){return async n=>{let{queryKey:r}=n;const a=await t(),s=e.getQueryData(r)?.version;if(void 0!==s&&s!==a?.version)return window.location.reload(),new Promise(()=>{});if(void 0===a)throw new Error(`Response for ${r} is undefined`);return a}}function _(e){return e?{rowData:D(e.rowData),etfHoldingsTotal:e.etfHoldingsTotal,etfTotalWeight:e.etfTotalWeight}:null}function W(e){const t=(0,s.jE)(),n=[h,"list"],r=(0,i.I)({queryKey:n,refetchInterval:P,staleTime:g,suspense:!0,keepPreviousData:!0,queryFn:F(t,()=>function(e){return(0,d.AT)(`/api/symbol/${e}/holdings/list`,void 0,!0)}(e)),select:_});return r}function R(e){return e?{breakdown:O(e.breakdown),holdings:D(e.holdings),etfHoldingsTotal:e.etfHoldingsTotal,etfTotalWeight:e.etfTotalWeight}:null}function q(e){const t=(0,s.jE)(),n=[h,"summary"];return(0,i.I)({queryKey:n,refetchInterval:P,staleTime:g,keepPreviousData:!0,useErrorBoundary:!1,queryFn:F(t,()=>function(e){return(0,d.AT)(`/api/symbol/${e}/holdings`,void 0,!0)}(e)),select:R})}var A=n(4452),B=n.n(A),z=n(74947),U=n(62540);function V(e){return(0,U.jsx)("div",{className:B()(e.className,z.Cn[E()],"border border-primary"),"data-testid":e["data-testid"],children:e.children})}var Z=n(10354),K=n(5655),X=n(10133),Y=n(87096),G=n(72251),J=n(11148),Q=n(58392),ee=n(26629),te=n(89402),ne=n(21720);function re(e){return(0,U.jsx)(X.tH,{FallbackComponent:te.IC,children:(0,U.jsx)(ae,{...e})})}function ae(e){let{type:t,data:n}=e;const r=l.useMemo(()=>function(e){return e?{hasData:e.breakdown.some(e=>e.data.length>0),data:{name:"Breakdown",children:e.breakdown.map(t=>({name:t.instrument,children:t.data.map(n=>({name:n.sector,value:n.absoluteWeight/e.etfTotalWeight*100,additional:(0,N.ZV)(n.absoluteWeight/e.etfTotalWeight*100,N.Ww),data:{group:t.instrument}}))}))}}:{hasData:!1}}(n),[n]),a=(0,ne.d)(()=>(0,ee.j)((0,Q.K)(document.documentElement))),{setContainerElement:s,treemap:i,camera:o}=(0,G.c)({type:f,subtype:u.xc,baseData:r.data,settings:a,truncateNodeName:"clip",zoom:!1});return(0,U.jsx)("div",{className:"flex grow px-2 pb-2","data-testid":`etf-holdings-${t}`,children:(0,U.jsx)(Y.T,{className:"h-0 min-h-full flex-1 overflow-hidden",containerRef:s,treemap:i,camera:o,onNodeClick:e=>{e.node?.data?.data?.ticker&&(0,J.o)(e)},legend:!1})})}n(5673),n(30164),n(21279);var se=n(78898);function ie(e){let{to:t,...n}=e;return(0,U.jsx)(se.$n,{...n,as:o.N_,to:`?${new URLSearchParams(t)}`,preventScrollReset:!0})}function le(e){const{viewTypes:t,navType:n}=e;return(0,U.jsxs)("div",{className:"flex items-center space-x-px",children:[(0,U.jsx)("label",{className:"mr-1.5 text-2xs text-gray-400",children:"View Holdings as"}),t.map(t=>{const r={rounding:E(),appearance:"square",leftContent:t.icon,key:`${n}-${t.chartType}`,theme:"chipTransparent",size:"small"};return"dialog"!==n?(0,l.createElement)(ie,{...r,key:`${n}-${t.chartType}`,to:{...e.query.params,[n]:t.chartType},active:e.query[n]===t.chartType,"data-testid":`etf-holdings-chart-nav-btn-${t.chartType}`}):(0,l.createElement)(se.$n,{...r,key:`${n}-${t.chartType}`,active:e.active===t.chartType,onClick:()=>e.onNavigationChange(t.chartType),"data-testid":`etf-holdings-chart-nav-btn-${n}-${t.chartType}`})})]})}function oe(e){let{query:t,widgetType:n}=e;return(0,U.jsxs)("div",{className:"flex h-10 shrink-0 grow-0 items-center justify-between px-3 text-sm text-muted",children:[(0,U.jsx)("div",{children:n.title}),(0,U.jsx)("div",{className:"flex",children:(0,U.jsx)(le,{navType:n.navType,query:t,viewTypes:n.viewT
1ypes})})]})}n(49748);var ce=n(90152),de=n(36630),ue=n(77444);function me(e){let{width:t=150,height:n=150,data:r,type:a}=e;const s=(0,T.t0)(e=>e.hasDarkTheme),[i,o]=l.useState(null),c=l.useMemo(()=>function(e){const t={},n=e.reduce((e,t)=>e+t.instrumentSum,0);let r=[0];e.length>1&&(r=e[0].instrumentSum>e[1].instrumentSum?[0,1]:[1,0]);let a=22;return r.forEach((s,i)=>{const l=e[s].data.length;let o=0;const c=Math.round(22*(0===i?Math.min:Math.max)(e[s].instrumentSum/n,0===i?.9:.1));o=0===i?Math.min(c,l,a):Math.min(Math.max(c,l),a,l);const d=e[s].instrument;if(t[d]=o,a-=o,a&&1===i){const n=e[r[0]],s=n.data.length;t[n.instrument]=Math.min(a+t[n.instrument],s)}}),e.map(e=>{let{instrument:n,data:r}=e;const a=t[n],s=a===r.length?a:Math.min(a,Math.max(a-1,1));return{instrument:n,itemsToDisplay:a,data:[...r].sort((e,t)=>t.absoluteWeight-e.absoluteWeight).reduce((e,t,n)=>{if(n<s)return[...e,t];{const n=e.findIndex(e=>{let{sector:t}=e;return"Other"===t}),r=-1!==n?n:s;return e[r]={sector:"Other",absoluteWeight:(e[r]?.absoluteWeight??0)+t.absoluteWeight},e}},[]).sort((e,t)=>t.absoluteWeight-e.absoluteWeight)}})}(r.breakdown),[r]),d=Math.min(t,n)/2,u=l.useMemo(()=>c.flatMap(e=>e.data.map(t=>({label:t.sector,value:t.absoluteWeight,instrument:e.instrument}))).sort((e,t)=>t.value-e.value),[c]),m=ce.UMr().range(ue.Tj),h=ce.JLW().outerRadius(d).innerRadius(0),f=ce.rLf().sort(null).value(e=>e.value),g=u.reduce((e,t)=>e+t.value,0),p=!!i;return(0,U.jsxs)("div",{className:"flex grow px-4 pb-4","data-testid":`etf-holdings-${a}`,children:[g>0&&(0,U.jsx)("div",{className:"pt-4",children:(0,U.jsx)("svg",{width:t,height:n,children:(0,U.jsx)("g",{transform:`translate(${t/2},${n/2})`,children:f(u).map((e,t)=>(0,U.jsx)("g",{className:"arc",children:(0,U.jsx)("path",{d:h(e),className:B()({"stroke-white":!s,"stroke-gray-800":s,"opacity-60":p&&i!==$(e.data.label,e.data.instrument)}),style:{fill:m(e.data.label)},onMouseEnter:()=>o($(e.data.label,e.data.instrument)),onMouseLeave:()=>o(null)})},`${e.data.label}-${t}`))})})}),(0,U.jsx)("div",{className:"flex w-full flex-col pl-6 text-2xs",children:c.map((e,t)=>e.data.length>0?(0,U.jsxs)(l.Fragment,{children:[(0,U.jsx)("div",{className:"flex justify-start text-muted",children:e.instrument}),(0,U.jsx)("div",{className:B()("grid grid-flow-col",{"mb-4":0===t}),style:{gridTemplateRows:`repeat(${Math.max(Math.ceil(e.itemsToDisplay/2),1)}, auto)`},children:e.data.map(t=>(0,U.jsxs)("div",{className:B()({"opacity-60":p&&i!==$(t.sector,e.instrument)},"flex max-h-5 items-center justify-start pr-3 text-default"),onMouseEnter:()=>o($(t.sector,e.instrument)),onMouseLeave:()=>o(null),children:[(0,U.jsx)("div",{className:"flex items-center pr-1.5",children:(0,U.jsx)("div",{className:"h-3 w-3 rounded-full",style:{backgroundColor:m(t.sector)}})}),(0,U.jsx)("div",{className:"min-w-11 pr-1.5 text-right font-medium tabular-nums",children:`${g>0?(0,de.GW)(100/g*t.absoluteWeight,1):0}%`}),(0,U.jsx)("div",{className:"whitespace-nowrap",children:t.sector})]},`${e.instrument}-${t.sector}`))})]},e.instrument):null)})]})}const he={navType:v.Breakdown,title:"Holdings Breakdown",viewTypes:[{icon:"chartPie",chartType:w.PieChart},{icon:"chartTreemap",chartType:w.Map}]};function fe(e){let{type:t,data:n}=e;return n&&0!==n.breakdown.length?t===w.Map?(0,U.jsx)(re,{type:w.Map,data:n}):(0,U.jsx)(me,{type:w.PieChart,data:n}):(0,U.jsx)(Z.v,{delayComponent:(0,U.jsx)("div",{className:"h-full w-full"}),children:(0,U.jsx)("div",{className:"flex h-full w-full items-center justify-center",children:(0,U.jsx)(K.y,{})})})}function ge(e){let{query:t,data:n}=e;const r=t.bd;return(0,U.jsx)(V,{className:y,children:(0,U.jsxs)("div",{className:"flex shrink grow flex-col",children:[(0,U.jsx)(oe,{query:t,widgetType:he}),fe({type:r,data:n})]})},he.navType)}var pe=n(26373),xe=n(16745),ye=n(32959),ve=n(95196),we=n(61194),be=n(48911);function ke(e){return(0,U.jsx)(X.tH,{FallbackComponent:te.IC,children:(0,U.jsx)(je,{...e})})}function je(e){let{data:t,totalHoldings:n,limitDataTo:r,handleDialogToggle:a,type:s}=e;const i=(0,T.t0)(e=>e.hasUserPremium),o=(0,ne.d)(()=>(0,ee.j)((0,Q.K)(document.documentElement))),c=(0,be.H)(t).join(","),d=(0,ve.b)({type:m.IZ.ETFHoldings,subtype:m.yI.DayPerf,extraQueryKey:c,fetchData:(e,t)=>(0,we.Tf)(e,t,c)}),h=l.useMemo(()=>I({data:t,perfData:d.data}),[t,d.data]),{setContainerElement:g,treemap:p,camera:x}=(0,G.c)({type:f,subtype:u.xc,baseData:h.data,isLoading:d.isInitialLoading,settings:o,zoom:!1});return(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:B()("flex grow",a&&"px-2"),"data-testid":`etf-holdings-${s}`,children:(0,U.jsx)(Y.T,{className:"h-0 min-h-full flex-1 overflow-hidden",legend:!1,treemap:p,camera:x,containerRef:g,onNodeClick:e=>{e.node?.data?.data?.ticker&&(0,J.o)(e)}})}),(0,U.jsxs)("div",{className:B()("flex min-h-9 items-center justify-between py-1.5",a&&"px-2"),children:[r&&n>r?(0,U.jsxs)(se.$n,{theme:"transparent",size:"small",onClick:()=>a?.(k.Map),className:"tab-link flex cursor-pointer items-center text-link hover:underline",leftContent:i?void 0:"lock","data-testid":`etf-holdings-${s}-btn-show-all`,children:["Show All ",n," Holdings"]}):(0,U.jsx)("div",{}),p&&(0,U.jsx)(ye.A,{treemap:p})]})]})}var Te=n(72309);function Ne(e){const{ticker:t,name:n}=e.rowData;return(0,U.jsx)("td",{className:"px-1.5 py-0",children:t?(0,U.jsx)(Te.g,{entry:{...e.rowData,ticker:t??"",company:n},children:(0,U.jsx)("a",{href:`/stock?t=${t}`,target:"_blank",className:"tab-link block truncate",children:n})}):(0,U.jsx)("span",{className:"block truncate",children:n})})}function Ee(e){let{rowData:t,isLimitedView:n}=e;const r=L(t.instrument,t.sector);return(0,U.jsxs)("tr",{className:"border-t border-primary text-default",children:[(0,U.jsx)(Ne,{rowData:t}),(0,U.jsx)("td",{className:"px-1.5 py-0 text-right font-medium",children:(0,N.ZV)(100*t.weight,{suffix:" %"})}),(0,U.jsx)("td",{title:r,className:"overflow-hidden px-1.5 py-0 text-left text-ellipsis whitespace-nowrap text-muted-2",children:r}),!n&&(0,U.jsx)("td",{title:t.industry,className:"overflow-hidden px-1.5 py-0 text-left text-ellipsis whitespace-nowrap text-muted-2",children:t.industry})]})}function $e(e){let{data:t,limitDataTo:n,type:r}=e;const a=void 0!==n,s=100*t.reduce((e,t)=>
1e+t.weight,0);return(0,U.jsx)("div",{className:"w-full","data-testid":`etf-holdings-${r}`,children:(0,U.jsxs)("table",{className:"w-full table-fixed text-2xs",children:[(0,U.jsx)("thead",{children:(0,U.jsxs)("tr",{className:"text-muted",children:[(0,U.jsx)("th",{className:B()("px-1.5 text-left font-normal",{"w-3/5":a,"w-1/3":!a}),children:"Name"}),(0,U.jsx)("th",{className:B()("px-1.5 text-right font-normal",{"w-1/6":!a}),children:"% Holdings"}),(0,U.jsx)("th",{className:B()("px-1.5 text-left font-normal",{"w-1/4":a}),children:"Sector"}),!a&&(0,U.jsx)("th",{className:"px-1.5 text-left font-normal",children:"Industry"})]})}),(0,U.jsxs)("tbody",{children:[t.map((e,t)=>(0,U.jsx)(Ee,{rowData:e,isLimitedView:a},e.ticker??`${e.name}-${t}`)),a&&(0,U.jsxs)("tr",{className:"border-t border-primary text-default",children:[(0,U.jsxs)("td",{className:"px-1.5 text-left",children:["Percent of Portfolio in Top ",n," Holdings"]}),(0,U.jsx)("td",{className:"px-1.5 text-right font-medium",children:(0,N.ZV)(s,{suffix:" %"})}),(0,U.jsx)("td",{className:"px-1.5 text-left"})]})]})]})})}const Se={navType:"dialog",viewTypes:[{icon:"chartTable",chartType:k.Table},{icon:"chartTreemap",chartType:k.Map}]};function Ce(e){let{etfTicker:t,type:n}=e;const r=W(t);return r.data?n===k.Table?(0,U.jsx)($e,{type:`dialog-${n}`,data:r.data.rowData}):(0,U.jsx)(ke,{type:`dialog-${n}`,data:r.data.rowData,totalHoldings:r.data.etfHoldingsTotal}):null}function Me(e){let{type:t,etfTicker:n,totalHoldings:r,dialogState:s,handleDialogToggle:i}=e;return(0,pe.O$)(s,"mounted")?(0,U.jsxs)(pe.lG,{state:s,"aria-label":"ETF Holdings",className:B()("h-3/4 w-3/4",{"max-w-3xl":t===k.Table}),"data-testid":"etf-holdings-dialog",children:[(0,U.jsx)(pe.c7,{className:"relative",asHeading:!1,children:(0,U.jsxs)("div",{className:"flex w-full items-center justify-between pr-4",children:[(0,U.jsx)(xe.DZ,{level:4,className:"m-0 text-lg font-semibold",children:`${n.toUpperCase()}: ${r??"All"} Holdings`}),(0,U.jsx)(le,{navType:Se.navType,viewTypes:Se.viewTypes,onNavigationChange:e=>i(e),active:t})]})}),(0,U.jsx)(pe.R4,{className:"flex grow flex-col","data-testid":"etf-holdings-dialog-body",children:(0,U.jsx)(X.tH,{FallbackComponent:a.ICR,children:(0,U.jsx)(l.Suspense,{fallback:(0,U.jsx)("div",{className:"flex flex-1 items-center justify-center",children:(0,U.jsx)(a.y$y,{})}),children:(0,U.jsx)(Ce,{etfTicker:n,type:t})})})})]}):null}var De=n(60120),Oe=n(96288);function He(e){let{onOverlayClick:t}=e;return(0,U.jsx)("div",{className:"absolute z-10 flex h-full w-full items-center justify-center bg-primary/80",onClick:t,children:(0,U.jsxs)("div",{className:"flex w-3/4 flex-col items-center space-y-4",children:[(0,U.jsxs)("div",{className:"flex w-full items-center space-x-2",children:[(0,U.jsx)(Oe.I,{name:"lock",width:"24",className:"text-violet-400"}),(0,U.jsx)(xe.DZ,{level:4,className:"m-0",children:"Subscribe to Finviz Elite to unlock data"})]}),(0,U.jsx)("div",{className:"text-left text-sm",children:"Beat the market and make more informed decisions with our premium features. Real-time quotes, intraday charts, indicators, alerts, historical statements, and much more."}),(0,U.jsx)("div",{className:"flex w-full justify-start",children:(0,U.jsx)(se.$n,{as:"a",theme:"violet",href:`/elite?${(0,De.G)({utm_source:"finviz",utm_medium:"etf-holdings",utm_campaign:"all-holdings-data"})}`,target:"_blank",children:"Unlock All Holdings Data"})})]})})}function Ie(e){let{ticker:t,totalHoldings:n,handleDialogToggle:r,type:a}=e;const s=(0,T.t0)(e=>e.hasUserPremium);return(0,U.jsxs)("div",{className:"absolute bottom-0 mt-auto flex h-7 w-full items-center justify-start bg-gray-50 px-3 text-2xs dark:bg-gray-700",children:[(0,U.jsx)("div",{className:"pr-1.5 text-muted",children:`${n} Holding${n>1?"s":""} Total`}),n>10&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)("div",{className:"min-h-1 min-w-1 rounded-full bg-gray-100 dark:bg-gray-600"}),(0,U.jsx)(se.$n,{theme:"transparent",size:"small",onClick:()=>r(k.Table),className:"tab-link flex cursor-pointer items-center text-link hover:underline",leftContent:s?void 0:"lock","data-testid":`etf-holdings-${a}-btn-show-all`,children:"Show All"})]}),(0,U.jsx)("div",{className:"min-h-1 min-w-1 rounded-full bg-gray-100 dark:bg-gray-600"}),(0,U.jsx)(se.$n,{theme:"transparent",as:s?"a":void 0,size:"small",href:s?`/screener?f=etf_heldby_${t}&ft=5`:void 0,onClick:s?void 0:()=>r(k.Table),className:"tab-link flex cursor-pointer items-center text-link hover:underline",leftContent:s?void 0:"lock","data-testid":`etf-holdings-${a}-btn-open-in-screener`,children:"Open in Screener"})]})}const Le={navType:v.TopTen,title:"Top 10 Holdings",viewTypes:[{icon:"chartTable",chartType:b.Table},{icon:"chartTreemap",chartType:b.Map}]};function Pe(e){let{ticker:t,type:n,data:r,handleDialogToggle:a}=e;return r&&0!==r.holdings.length?n===b.Table?(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)($e,{type:n,data:r.holdings,limitDataTo:10}),(0,U.jsx)(Ie,{type:n,ticker:t,totalHoldings:r.etfHoldingsTotal,handleDialogToggle:a})]}):(0,U.jsx)(ke,{type:n,data:r.holdings,totalHoldings:r.etfHoldingsTotal,limitDataTo:10,handleDialogToggle:a}):(0,U.jsx)(Z.v,{delayComponent:(0,U.jsx)("div",{className:"h-full w-full"}),children:(0,U.jsx)("div",{className:"flex h-full w-full items-center justify-center",children:(0,U.jsx)(K.y,{})})})}function Fe(e){let{query:t,data:n}=e;const r=(0,T.t0)(e=>e.hasUserPremium),a=(0,pe.pA)(),[s,i]=l.useState(!1),[o,c]=l.useState(),d=e=>{r?e?(c(e),a.show()):a.hide():i(!0)};return(0,U.jsxs)(V,{className:y,children:[(0,U.jsxs)("div",{className:B()("flex shrink grow flex-col",{"pointer-events-none blur-xs":Le.navType===v.TopTen&&s}),children:[(0,U.jsx)(oe,{query:t,widgetType:Le}),Pe({ticker:t.ticker,type:t.tt,data:n,handleDialogToggle:d})]}),Le.navType===v.TopTen&&s&&(0,U.jsx)(He,{onOverlayClick:()=>i(!1)}),r&&o&&(0,U.jsx)(Me,{dialogState:a,etfTicker:t.ticker,type:o,totalHoldings:n?.etfHoldingsTotal,handleDialogToggle:d})]},Le.navType)}const _e=(0,r.fg)(()=>{const e=function(){const e=l.useContext(c.q),[t]=(0,o.ok)();return l.useMemo(()=>({ticker:e.ticker,params:Object.fromEntries(t.entries()),[v.Breakdown]:t.get(v.Breakdown)??w.PieChart,[v.TopTen]:t.get(v.TopTen)??b.Table}),[t,e.ticker])}(),t=q(e.ticker);return t.isError?(0,U.jsx)(V,{className:"mt-3 flex p-6",children:(0,U.jsx)(a.EbY,{title:"Error displaying ETF holdings",message:"Due to a technical issue on our end we canât display the ETF holdings widget right now.",showContact:!1})}):(0,U.jsxs)("div",{className:"relative -ml-3 flex flex-wrap justify-center",children:[(0,U.jsx)(ge,{query:e,data:t.data}),(0,U.jsx)(Fe,{query:e,data:t.data})]})})},48911(e,t,n){n.d(t,{H:()=>r});n(14846),n(27458),n(94364),n(36241),n(85151),n(49122),n(75183),n(40520),n(32495),n(72371);function r(e){return Array.from(new Set(e.map(e=>e.ticker).filter(e=>Boolean(e))))}}}]); 2//# sourceMappingURL=3260.v1.aaaf6da4.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.