PageSourceSearch

https://musaffa.com/chunk-EVXXLPRR.js

js musaffa.com collected 2026-09-24 09:12:53 UTC 29,399 bytes, 1 lines download raw bytes

1import{a as he}from"./chunk-ELRU2DFA.js";import{a as me}from"./chunk-WLKXPJJQ.js";import"./chunk-LOYHO3JD.js";import{f as le}from"./chunk-II5GPNB3.js";import{a as ge}from"./chunk-6XFVBTKO.js";import"./chunk-KYQEO6VJ.js";import{a as de}from"./chunk-44OM7VNA.js";import{a as pe}from"./chunk-RIDV7OZG.js";import{a as _e}from"./chunk-AI2H4MTZ.js";import{f as se}from"./chunk-RZWUF2WE.js";import"./chunk-PN5AYVQ6.js";import"./chunk-5BDXO5V3.js";import"./chunk-KCEJCXJZ.js";import{g as oe}from"./chunk-RTGIJOJ3.js";import"./chunk-N4VJFAAV.js";import"./chunk-7LORS5UB.js";import"./chunk-OCRPHCVN.js";import{a as re}from"./chunk-WXLVEQ4T.js";import{g as ne,h as ie}from"./chunk-I335Z6VX.js";import"./chunk-YYKWFEMG.js";import"./chunk-D2N3WVHQ.js";import"./chunk-OP5LXOJA.js";import"./chunk-ARD6OICO.js";import{e as fe}from"./chunk-BBHJ2D5U.js";import{c as ce}from"./chunk-RH7YKMCI.js";import{a as ae}from"./chunk-2P2IIG2U.js";import"./chunk-J3TYBNDU.js";import"./chunk-4QCSDQDN.js";import"./chunk-W3MH5BOT.js";import{D as te,m as Q,o as Y,p as Z,z as ee}from"./chunk-GUQT3FOM.js";import{Dc as O,Dd as J,Eb as i,Ec as w,Gd as G,Id as M,Jc as b,Lb as h,Oa as W,Qc as u,Sc as d,Ub as K,Ya as $,ac as p,ad as P,cd as R,de as X,e as j,fa as E,fd as l,hd as C,kd as L,ld as A,ma as B,md as D,rd as y,s as U,sb as F,vd as q,wc as o,xc as r,ya as m,yc as a,za as _,zc as g}from"./chunk-H5RMQNTW.js";import"./chunk-EU2KAMEK.js";import{a as N,b as z}from"./chunk-YNC7RVHT.js";var Ce=(()=>{class t{constructor(){}getNoHoldingsDisclaimerList(){return["HLAL","UMMA","SPSK","SPUS","SPRE","SPTE","SPWO","ISWD.L","ISDE.L","ISUS.L","IGDA.SW","HIEU.L","HIUS.L","AMAL.L","HIND.IR","HIJP.L","HIWO.L","HIEM.L","WSHR.NE","0821EA.KL","0824EA.KL","0825EA.KL","0827EA.KL","0838EA.KL","0828EA.KL","CHSASHIN.AD","CHHKSHIN.AD","CHAESH.AD","CHTRSHIN.AD","CHUSSHINV.AD","CHINDSHI.AD","CHUSSHG.AD","CHKWSHIN.AD","CHAESHIN.AD","XIJI.JK","XSSI.JK","STXSHA.JO","STXWIS.JO"]}static{this.\u0275fac=function(n){return new(n||t)}}static{this.\u0275prov=B({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var ye=()=>({height:"60px",width:"100%",margin:"0px 0px 8px 0px"});function ke(t,s){t&1&&(O(0),g(1,"ngx-skeleton-loader",3),w()),t&2&&(i(),o("theme",q(1,ye)))}function Ee(t,s){if(t&1&&(r(0,"span",19),l(1),a()),t&2){let e=d(3);i(),C("(",e.etfsCount,")")}}function Oe(t,s){if(t&1){let e=b();r(0,"button",22),u("click",function(){let c=m(e).$implicit,f=d(4);return _(f.filterEtfs(c.value))}),l(1),a()}if(t&2){let e=s.$implicit,n=d(4);o("ngClass",n.isSelected(e.value)?"active-filter":""),i(),C(" ",e.label," ")}}function we(t,s){if(t&1&&(r(0,"div",20),p(1,Oe,2,2,"button",21),a()),t&2){let e=d(3);i(),o("ngForOf",e.filterOptions)}}function Pe(t,s){t&1&&(r(0,"div",23)(1,"p",24),l(2," One of the holdings of this ETF fails the criteria of Core Business Activity (CBA) screening. As per the Shariah rules, even if 1 holding fails the CBA screening, the entire ETF is deemed as Not-Halal. Please, check the detailed report section to find the Core Business Activity (CBA) screening results of each holding. "),a()())}function Me(t,s){if(t&1&&g(0,"img",46),t&2){let e=d().$implicit;o("src",e.logo,F)}}function Ie(t,s){if(t&1&&(r(0,"div",47),l(1),a()),t&2){let e=d().$implicit;i(),C(" ",e.name.charAt(0)," ")}}function He(t,s){if(t&1&&(r(0,"span",48),l(1),a()),t&2){let e=d().$implicit;i(),C(" ",e.percent.toFixed(2),"% ")}}function Te(t,s){t&1&&l(0,"-")}function Re(t,s){if(t&1&&(r(0,"tr")(1,"td",28),g(2,"app-watchlist-button",29),a(),r(3,"td",30)(4,"a",31)(5,"div",32),p(6,Me,1,1,"img",33)(7,Ie,2,1,"div",34),a(),r(8,"div",35)(9,"div",36),l(10),a(),r(11,"p",37),l(12),a()()()(),r(13,"td",38)(14,"a",39),p(15,He,2,1,"span",40)(16,Te,1,0,"ng-template",null,1,M),a()(),r(18,"td",41)(19,"a",42),g(20,"app-compliance-chip",43),a()(),r(21,"td",41)(22,"a",44),g(23,"app-compliance-chip",45),a()()()),t&2){let e=s.$implicit,n=P(17);i(2),o("stock",e),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(2),o("ngIf",e.logo),i(),o("ngIf",!e.logo),i(3),C(" ",e.name," "),i(2),C(" ",e.symbol," "),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("ngIf",e.percent)("ngIfElse",n),i(4),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("symbol",e.isin)("complianceStatus",e.complianceStatus)("complianceRanking",e.complianceRanking)("complianceRankingV2",e.complianceRankingV2)("onlyCompliance",!0)("preloaded",!0),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("symbol",e.isin)("complianceStatus",e.complianceStatus)("complianceRanking",e.complianceRanking)("complianceRankingV2",e.complianceRankingV2)("onlyRanking",!0)("preloaded",!0)}}function Ve(t,s){if(t&1){let e=b();r(0,"tr",49)(1,"td",50)(2,"button",51),u("click",function(){m(e);let c=d(4);return _(c.openLoginPopup())}
1),g(3,"img",52),r(4,"span"),l(5,"Unlock"),a()()()()}}function Fe(t,s){if(t&1){let e=b();r(0,"tr",49)(1,"td",50)(2,"button",51),u("click",function(){m(e);let c=d(4);return _(c.openUpgradePopup())}),g(3,"img",52),r(4,"span"),l(5,"Unlock"),a()()()()}}function Le(t,s){t&1&&(r(0,"tr",53)(1,"td",54),l(2," No Holdings available "),a()())}function Ae(t,s){if(t&1&&(O(0),p(1,Re,24,27,"tr",25)(2,Ve,6,0,"tr",26)(3,Fe,6,0,"tr",26)(4,Le,3,0,"tr",27),w()),t&2){let e=d(3);i(),o("ngForOf",e.displayETFHoldings()),i(),o("ngIf",!e.isLoggedIn),i(),o("ngIf",e.isLoggedIn&&!e.canViewEtfComplianceReport),i(),o("ngIf",e.etfsCount===0)}}function De(t,s){t&1&&(r(0,"tr",53)(1,"td",54),l(2," No Holdings available for this ETF "),a()())}function Ne(t,s){if(t&1){let e=b();r(0,"div",55)(1,"ngb-pagination",56),D("pageChange",function(c){m(e);let f=d(3);return A(f.page,c)||(f.page=c),_(c)}),u("pageChange",function(){m(e);let c=d(3);return _(c.onPageChange())}),a()()}if(t&2){let e=d(3);i(),o("collectionSize",e.etfsCount),L("page",e.page),o("pageSize",e.pageSize)("maxSize",3)}}function ze(t,s){if(t&1&&(r(0,"div",6)(1,"div",7)(2,"header",8)(3,"div",9),l(4," Holdings "),p(5,Ee,2,1,"span",10),a(),p(6,we,2,1,"div",11),a(),p(7,Pe,3,0,"div",12),r(8,"table",13)(9,"thead")(10,"tr"),g(11,"th",14),r(12,"th",14),l(13,"Name"),a(),r(14,"th",15),l(15," Weight "),a(),r(16,"th",16),l(17," Compliance "),a(),r(18,"th",16),l(19," Rating "),a()()(),r(20,"tbody"),p(21,Ae,5,4,"ng-container",17)(22,De,3,0,"ng-template",null,0,M),a()(),p(24,Ne,2,4,"div",18),a()()),t&2){let e=P(23),n=d(2);i(5),o("ngIf",n.etfsCount>0),i(),o("ngIf",n.etfs.length>0&&n.canViewEtfComplianceReport),i(),o("ngIf",n.etfComplianceStatus==="COMPLIANT"),i(14),o("ngIf",n.etfs.length>0)("ngIfElse",e),i(3),o("ngIf",n.etfsCount>0&&n.canViewEtfComplianceReport)}}function je(t,s){if(t&1&&(r(0,"span",64),l(1),a()),t&2){let e=d(3);i(),C("(",e.etfsCount,")")}}function Ue(t,s){if(t&1){let e=b();r(0,"button",22),u("click",function(){let c=m(e).$implicit,f=d(4);return _(f.filterEtfs(c.value))}),l(1),a()}if(t&2){let e=s.$implicit,n=d(4);o("ngClass",n.isSelected(e.value)?"active-filter":""),i(),C(" ",e.label," ")}}function Be(t,s){if(t&1&&(r(0,"div",20),p(1,Ue,2,2,"button",21),a()),t&2){let e=d(3);i(),o("ngForOf",e.filterOptions)}}function We(t,s){t&1&&(r(0,"div",23)(1,"p",24)(2,"span",65),l(3," The Shariah compliance status of the ETF is not determined by the individual compliance statuses of its holdings. The status of the ETF as a whole is based on the evaluation of its aggregate financial ratios, which combine revenue, assets, and liabilities across all holdings. "),a(),r(4,"span",66),l(5,"Core Business Activity (CBA)"),a(),l(6,` refers to a company's primary revenue-generating operation and the purpose for which it was established. In case the CBA of a company involves non-compliant activities (e.g., alcohol, gambling, weapons, etc.), the status is marked as "Fail." If it does not contradict set Shariah principles, the status is "Pass." For an ETF to be considered Halal, one of the key requirements is that all its holdings must pass the CBA status check. `),a()())}function $e(t,s){if(t&1&&g(0,"img",46),t&2){let e=d().$implicit;o("src",e.logo,F)}}function Ke(t,s){if(t&1&&(r(0,"div",47),l(1),a()),t&2){let e=d().$implicit;i(),C(" ",e.name.charAt(0)," ")}}function qe(t,s){if(t&1&&(r(0,"span"),l(1),a()),t&2){let e=d().$implicit;i(),C(" ",e.percent.toFixed(2),"% ")}}function Je(t,s){t&1&&l(0,"-")}function Ge(t,s){if(t&1&&(r(0,"tr")(1,"td",28),g(2,"app-watchlist-button",29),a(),r(3,"td",30)(4,"a",31)(5,"div",32),p(6,$e,1,1,"img",33)(7,Ke,2,1,"div",34),a(),r(8,"div",35)(9,"div",36),l(10),a(),r(11,"p",37),l(12),a()()()(),r(13,"td",67)(14,"a",68),p(15,qe,2,1,"span",17)(16,Je,1,0,"ng-template",null,1,M),a()(),r(18,"td",41)(19,"a",44),g(20,"app-compliance-chip",43),a()(),r(21,"td",41)(22,"a",44),g(23,"app-compliance-chip",45),a()()()),t&2){let e=s.$implicit,n=P(17);i(2),o("stock",e),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(2),o("ngIf",e.logo),i(),o("ngIf",!e.logo),i(3),C(" ",e.name," "),i(2),C(" ",e.symbol," "),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("ngIf",e.percent!==null&&e.percent!==void 0)("ngIfElse",n),i(4),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("symbol",e.isin)("complianceStatus",e.complianceStatus)("complianceRanking",e.complianceRanking)("complianceRankingV2",e.complianceRankingV2)("onlyCompliance",!0)("preloaded",!0),i(2),o("routerLink",y("/stock/",e.symbol,"/")),i(),o("symbol",e.isin)("complianceStatus",e.complianceStatus)("complianceRanking",e.complianceRanking)("complianceRankingV2",e.complianceRankingV2)("onlyRanking",!0)("preloaded",!0)}}function Xe(t,s){t&1&&(r(0,"tr",53)(1,"td",54),l(2," No Holdings available "),a()())}function Qe(t,s){if(t&1){let e=b();r(0,"tr",49)(1,"td",50)(2,"button",51),u("click",function(){m(e);let c=d(4);return _(c.openLoginPopup())}
1),g(3,"img",52),r(4,"span"),l(5,"Sign-up & Upgrade to Unlock!"),a()()()()}}function Ye(t,s){if(t&1){let e=b();r(0,"tr",49)(1,"td",50)(2,"button",51),u("click",function(){m(e);let c=d(4);return _(c.openUpgradePopup())}),g(3,"img",52),r(4,"span"),l(5,"Upgrade & Unlock!"),a()()()()}}function Ze(t,s){if(t&1&&(O(0),p(1,Ge,24,27,"tr",25),J(2,"slice"),p(3,Xe,3,0,"tr",27)(4,Qe,6,0,"tr",26)(5,Ye,6,0,"tr",26),w()),t&2){let e=d(3);i(),o("ngForOf",G(2,4,e.displayETFHoldings(),(e.page-1)*e.pageSize,e.page*e.pageSize)),i(2),o("ngIf",e.etfsCount===0),i(),o("ngIf",!e.isLoggedIn),i(),o("ngIf",e.isLoggedIn&&!e.canViewEtfComplianceReport)}}function et(t,s){t&1&&(r(0,"tr",53)(1,"td",69),l(2," No Holdings available for this ETF "),a()())}function tt(t,s){if(t&1){let e=b();r(0,"div",70)(1,"ngb-pagination",71),D("pageChange",function(c){m(e);let f=d(3);return A(f.page,c)||(f.page=c),_(c)}),u("pageChange",function(){m(e);let c=d(3);return _(c.onPageChange())}),a()()}if(t&2){let e=d(3);i(),o("collectionSize",e.etfsCount),L("page",e.page),o("pageSize",e.pageSize)("maxSize",3)}}function nt(t,s){if(t&1){let e=b();r(0,"div",57)(1,"header",58)(2,"div",9),l(3," Holdings "),p(4,je,2,1,"span",59),a(),p(5,Be,2,1,"div",11),a(),p(6,We,7,0,"div",12),r(7,"table",13)(8,"thead")(9,"tr"),g(10,"th",14),r(11,"th",14),l(12,"Name"),a(),r(13,"th",60),u("click",function(){m(e);let c=d(2);return _(c.canSort()?c.onSort("percent"):null)}),l(14," Weight "),g(15,"i",61),a(),r(16,"th",62),u("click",function(){m(e);let c=d(2);return _(c.canSort()&&c.selectedFilter==="halal"?c.onSort("complianceRanking"):null)}),l(17," Compliance "),g(18,"i",61),a(),r(19,"th",62),u("click",function(){m(e);let c=d(2);return _(c.canSort()&&c.selectedFilter==="halal"?c.onSort("complianceRanking"):null)}),l(20," Rating "),g(21,"i",61),a()()(),r(22,"tbody"),p(23,Ze,6,8,"ng-container",17)(24,et,3,0,"ng-template",null,0,M),a()(),p(26,tt,2,4,"div",63),a()}if(t&2){let e=P(25),n=d(2);i(4),o("ngIf",n.etfsCount>0),i(),o("ngIf",n.etfs.length>0&&n.canViewEtfComplianceReport),i(),o("ngIf",n.showOldEtfDisclaimer&&n.checkShowHoldingsDisclaimer()),i(7),R("colsort",n.canSort()),i(2),o("hidden",!n.canSort())("ngClass",n.getColumnSortClasses("percent")),i(),R("colsort",n.canSort()&&n.selectedFilter==="halal"),i(2),o("hidden",!n.canSort()&&n.selectedFilter!=="halal")("ngClass",n.getColumnSortClasses("complianceRanking")),i(),R("colsort",n.canSort()&&n.selectedFilter==="halal"),i(2),o("hidden",!n.canSort()&&n.selectedFilter!=="halal")("ngClass",n.getColumnSortClasses("complianceRanking")),i(2),o("ngIf",n.etfs.length>0)("ngIfElse",e),i(3),o("ngIf",n.etfsCount>0&&n.canViewEtfComplianceReport)}}function it(t,s){if(t&1&&(O(0),p(1,ze,25,6,"div",4)(2,nt,27,18,"div",5),w()),t&2){let e=d();i(),o("ngIf",e.isMobile),i(),o("ngIf",!e.isMobile)}}var Ot=(()=>{class t{constructor(e,n,c,f,k,x,I,H,S,T,v,V){this.observer=e,this.typesenseService=n,this.authService=c,this.permissionStore=f,this.sharedService=k,this.sortService=x,this.accessControlService=I,this.etfDetailsService=H,this.platformId=S,this.router=T,this.toastr=v,this.cdr=V,this.destroy$=new j,this.isDestroyed=!1,this.loadedSymbol=null,this.holdingsRequestId=0,this.isMobile=!1,this.page=1,this.pageSize=10,this.isManualSet=!1,this.loader=!1,this.canViewEtfComplianceReport=!1,this.isLoggedIn=!1,this.userRole=null,this.etfs=[],this.etfsCount=0,this.filteredEtfs=[],this.selectedFilter="all",this.filterOptions=[{label:"All",value:"all"},{label:"Halal",value:"halal"},{label:"Not Halal",value:"not-halal"},{label:"Doubtful",value:"doubtful"},{label:"Not Covered",value:"not-covered"}],this.sortColumn="",this.sortOrder="",this.originalETFHoldings=[],this.showOldEtfDisclaimer=!1,this.isBrowser=te(this.platformId),this.showOldEtfDisclaimer=ae.useOldEtfDisclaimer}ngOnInit(){this.observer.observe("(max-width: 992px)").pipe(E(this.destroy$)).subscribe(e=>{this.isMobile=e.matches}),this.permissionStore.select(({permissions:e})=>e.permissions).pipe(E(this.destroy$)).subscribe(async e=>{this.canViewEtfComplianceReport=e.etf_compliance_report,this.refreshView()}),this.authService.isLoggedIn$.pipe(E(this.destroy$)).subscribe(e=>{this.isLoggedIn=e||!!this.authService.getUserId(),this.refreshView()}),this.loadHoldingsForCurrentSymbol()}ngOnChanges(e){e.symbol&&this.loadHoldingsForCurrentSymbol()}checkShowHoldingsDisclaimer(){return this.etfComplianceStatus==="COMPLIANT"?!this.etfDetailsService.getNoHoldingsDisclaimerList().includes(this.symbol):!1}ngOnDestroy(){this.isDestroyed=!0,this.destroy$.next(),this.destroy$.complete()}refreshView(){this.isDestroyed||(this.cdr.markForCheck(),this.isBrowser&&setTimeout(()=>{this.isDestroyed||this.cdr.detectChanges()}))}loadHoldingsForCurrentSymbol(){let e=this.symbol?.trim();!e||e===this.loadedSymbol||(this.loadedSymbol=e,this.resetHoldingsState(),this.getEtfHoldings(e))}resetHoldingsState(){this.etfs=[],this.filteredEtfs=[],this.originalETFHoldings=[],this.etfsCount=0,this.page=1,this.sortColumn="",this.sortOrder="",this.selectedFilter="all"}async getEtfHoldings(e){if(!e){this.loader=!1;return}let n=++this.holdingsRequestId;this.loader=!0,this.refreshView();try{let c=this.isBrowser?this.typesenseService.etfHoldings(e).pipe(E(this.destroy$)):this.typesenseService.etfHoldings(e),f=await U(c);if(n!==this.holdingsRequestId)return;
1this.etfs=f?.items??[];let k=Array.from(new Set(this.etfs.map(x=>x.symbol).filter(x=>typeof x=="string"&&x!=="-")));if(k.length>0){let x=await this.typesenseService.getCompanyProfileAndDataFromSymbols(k,!1,!0),I=k.filter(S=>!x[S]),H=I.length>0?await this.typesenseService.getEtfProfileAndDataFromSymbols(I,["id","symbol","logo","shariahCompliantStatus","ranking_v2"],["id","logo","sharia_compliance","compliantRanking","ranking_v2"],!1):{};if(n!==this.holdingsRequestId)return;this.etfs=this.etfs.map(S=>{let T=x[S.symbol]?"stock":H[S.symbol]?"etf":"other",v=null;switch(T){case"stock":v=x[S.symbol];break;case"etf":v=H[S.symbol];break;default:v=null;break}let V=v?.sharia_compliance||v?.shariahCompliantStatus||"NOT_UNDER_COVERAGE",ue=v?.compliantRanking||0,xe=v?.ranking_v2||0,ve=v?.logo||"";return z(N({},S),{complianceStatus:V,complianceRanking:ue,complianceRankingV2:xe,logo:ve,type:T})})}this.filterEtfs(this.selectedFilter)}catch(c){console.error(c)}finally{n===this.holdingsRequestId&&(this.loader=!1,this.refreshView())}}openDetails(e){e.type==="stock"?this.router.navigate(["/stock",e.symbol]):e.type==="etf"?this.router.navigate(["/etf",e.symbol]):this.toastr.error("This is not a covered commodity")}filterEtfs(e){switch(this.selectedFilter=e,e){case"halal":this.filteredEtfs=this.etfs.filter(n=>n.complianceStatus==="COMPLIANT");break;case"not-halal":this.filteredEtfs=this.etfs.filter(n=>n.complianceStatus==="NON_COMPLIANT");break;case"doubtful":this.filteredEtfs=this.etfs.filter(n=>n.complianceStatus==="QUESTIONABLE");break;case"not-covered":this.filteredEtfs=this.etfs.filter(n=>n.complianceStatus==="NOT_UNDER_COVERAGE");break;default:this.filteredEtfs=this.etfs;break}this.originalETFHoldings=[...this.filteredEtfs],this.etfsCount=this.filteredEtfs.length,this.page=1,this.onSort("percent","desc")}canSort(){return this.displayETFHoldings().length>1&&this.canViewEtfComplianceReport&&!this.isMobile}onSort(e,n){this.isLoggedIn&&(e!==this.sortColumn&&this.resetSorting(),this.sortColumn=e,n==="asc"?(this.filteredEtfs=this.sortService.sortData(this.filteredEtfs,e,"asc"),this.sortOrder="asc"):n==="desc"?(this.filteredEtfs=this.sortService.sortData(this.filteredEtfs,e,"desc"),this.sortOrder="desc"):this.sortOrder==="asc"?(this.filteredEtfs=this.sortService.sortData(this.filteredEtfs,e,"desc"),this.sortOrder="desc"):this.sortOrder==="desc"?(this.filteredEtfs=[...this.originalETFHoldings],this.sortOrder=""):(this.filteredEtfs=this.sortService.sortData(this.filteredEtfs,e,"asc"),this.sortOrder="asc"))}resetSorting(){this.filteredEtfs=[...this.originalETFHoldings],this.sortOrder="",this.sortColumn=""}getColumnSortClasses(e){return{"bi bi-sort-down-alt ms-2":this.sortColumn===e&&this.sortOrder==="asc","bi bi-sort-up ms-2":this.sortColumn===e&&this.sortOrder==="desc","ms-2":this.sortColumn===e&&this.sortOrder===""}}isSelected(e){return this.selectedFilter===e}onPageChange(){this.isBrowser&&window.scrollTo({top:0})}getPercentChangeClasses(e){return{positive:e>=0,negative:e<0}}getIconClasses(e){return{"bi-caret-up-fill positive":e>=0,"bi-caret-down-fill negative":e<0}}openLoginPopup(){this.accessControlService.accessDenied()}openUpgradePopup(){this.accessControlService.accessDenied()}displayETFHoldings(){return this.canViewEtfComplianceReport?this.filteredEtfs:this.filteredEtfs.slice(0,3)}static{this.\u0275fac=function(n){return new(n||t)(h(ce),h(se),h(fe),h(oe),h(_e),h(he),h(pe),h(Ce),h(W),h(ne),h(re),h(X))}}static{this.\u0275cmp=K({type:t,selectors:[["app-etf-holdings"]],inputs:{symbol
vendor: 3,161 bytes, line 1
1:"symbol",etfComplianceStatus:"etfComplianceStatus",isManualSet:"isManualSet"},features:[$],decls:2,vars:2,consts:[["noStocks",""],["noPrice",""],[4,"ngIf"],["count","15","appearance","line","animation","progress",3,"theme"],["class","px-3",4,"ngIf"],["class","table-responsive desktop-table-wrapper",4,"ngIf"],[1,"px-3"],[1,"table-responsive","mobile-table-wrapper"],[1,"d-flex","align-items-center","flex-wrap","p-3","p-lg-4","gap-2"],[1,"mb-0","table-sec-heading"],["class","text-secondary fs-6 d-inline-block fw-400",4,"ngIf"],["class","d-flex align-items-center gap-3 overflowing-slider","role","group","aria-label","Filter ETFs",4,"ngIf"],["class","px-3 mb-3 mb-lg-4 px-lg-4",4,"ngIf"],[1,"table","mb-0"],["scope","col",1,"text-uppercase","fw-normal"],["scope","col",1,"text-uppercase","fw-normal","text-end"],["scope","col",1,"text-uppercase","fw-normal","text-center"],[4,"ngIf","ngIfElse"],["class","my-4",4,"ngIf"],[1,"text-secondary","fs-6","d-inline-block","fw-400"],["role","group","aria-label","Filter ETFs",1,"d-flex","align-items-center","gap-3","overflowing-slider"],["type","button","class","btn filter-btn overflowing-slider-item text-nowrap shadow-none",3,"ngClass","click",4,"ngFor","ngForOf"],["type","button",1,"btn","filter-btn","overflowing-slider-item","text-nowrap","shadow-none",3,"click","ngClass"],[1,"px-3","mb-3","mb-lg-4","px-lg-4"],[1,"mb-0","p-2","p-lg-3","halal-etf-para"],[4,"ngFor","ngForOf"],["class","lock-overlay",4,"ngIf"],["class","bg-white no-data-tr",4,"ngIf"],[1,"align-middle","p-0","star-td"],[3,"stock"],[1,"align-middle","p-0"],[1,"d-flex","align-items-center","gap-2","text-decoration-none","stock-image-and-name",3,"routerLink"],[1,"stock-image-wrapper","border","flex-shrink-0","bg-light","rounded-circle","overflow-hidden"],["class","img-fluid",3,"src","alt",4,"ngIf"],["class","d-flex h-100 text-black align-items-center justify-content-center fs-5 fw-bold",4,"ngIf"],[1,"d-block"],[1,"mb-0","line-clamp-1","stock-name"],[1,"mb-0","line-clamp-1","stock-symbol"],[1,"align-middle","p-0","price-and-change-td"],[1,"d-flex","align-items-center","justify-content-end","gap-2","text-decoration-none","stock-price-and-change",3,"routerLink"],["class","stock-price text-end",4,"ngIf","ngIfElse"],[1,"align-middle","p-0","compliance-td"],[1,"d-flex","align-items-center","justify-content-end","gap-2","text-decoration-none","stock-compliance","mx-auto",3,"routerLink"],[3,"symbol","complianceStatus","complianceRanking","complianceRankingV2","onlyCompliance","preloaded"],[1,"d-flex","align-items-center","justify-content-end","gap-2","text-decoration-none","stock-compliance",3,"routerLink"],[3,"symbol","complianceStatus","complianceRanking","complianceRankingV2","onlyRanking","preloaded"],[1,"img-fluid",3,"src","alt"],[1,"d-flex","h-100","text-black","align-items-center","justify-content-center","fs-5","fw-bold"],[1,"stock-price","text-end"],[1,"lock-overlay"],["colspan","4",1,"align-middle"],[1,"btn","mx-auto","shadow-none","text-black","rounded-3","d-flex","align-items-center","justify-content-center","gap-2","lock-card-btn","view-all-btn",3,"click"],["src","/assets/icons/lock-black.svg","alt","lock 
1image",1,"img-fluid"],[1,"bg-white","no-data-tr"],["colspan","6",1,"align-middle","text-center","p-3"],[1,"my-4"],[1,"d-flex","justify-content-center",3,"pageChange","collectionSize","page","pageSize","maxSize"],[1,"table-responsive","desktop-table-wrapper"],[1,"d-flex","align-items-center","p-3","p-lg-4","justify-content-between","gap-3"],["class","text-secondary fs-5 d-inline-block fw-400",4,"ngIf"],["scope","col",1,"text-uppercase","fw-normal","text-end",3,"click"],[3,"hidden","ngClass"],["scope","col",1,"text-uppercase","fw-normal","text-center",3,"click"],["class","my-4 pe-3",4,"ngIf"],[1,"text-secondary","fs-5","d-inline-block","fw-400"],[2,"margin-bottom","12px","display","block"],[2,"font-weight","600"],[1,"align-middle","p-0","price-td"],[1,"d-flex","align-items-center","justify-content-end","gap-2","text-decoration-none","stock-price",3,"routerLink"],["colspan","7",1,"align-middle","text-center","p-3"],[1,"my-4","pe-3"],[1,"d-flex","justify-content-end",3,"pageChange","collectionSize","page","pageSize","maxSize"]],template:function(n,c){n&1&&p(0,ke,2,2,"ng-container",2)(1,it,3,2,"ng-container",2),n&2&&(o("ngIf",c.loader),i(),o("ngIf",!c.loader))},dependencies:[Z,de,Y,Q,me,ie,ge,le,ee],styles:[".positive[_ngcontent-%COMP%]{color:#119a41}.negative[_ngcontent-%COMP%]{color:#e82127}.table-sec-heading[_ngcontent-%COMP%]{font-size:1.25rem;color:#000;font-weight:600}@media(min-width:992px){.table-sec-heading[_ngcontent-%COMP%]{font-size:1.5rem}}.table-responsive[_ngcontent-%COMP%]{border:1px solid #e3e3e3;border-radius:.625rem;margin-top:1.5rem}@media(min-width:992px){.table-responsive[_ngcontent-%COMP%]{margin-top:2rem}}.colsort[_ngcontent-%COMP%]{cursor:pointer;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:2px}.halal-etf-para[_ngcontent-%COMP%]{background-color:#e1f7e9;border-radius:.325rem;line-height:1.5;font-size:clamp(.875rem,.8232rem + .221vw,1rem)}.filter-btn[_ngcontent-%COMP%]{font-size:clamp(.8125rem,.767rem + .1942vw,1rem);padding:.25rem;font-weight:500}.filter-btn[_ngcontent-%COMP%]:hover{color:#20ad62}.filter-btn.active-filter[_ngcontent-%COMP%]{color:#20ad62;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px}.table[_ngcontent-%COMP%]{border-top:2px solid #F1F4F8}.table[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:not(:first-child){border-top:2px solid #F1F4F8!important}thead[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{color:#8b8b8b;font-size:.6875rem;letter-spacing:.25px}@media(min-width:768px){thead[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{font-size:.75rem}}@media(min-width:992px){thead[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{font-size:.875rem;padding:.75rem}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]{cursor:pointer;border-color:#f1f4f8}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:last-child{border-bottom:1px solid transparent}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{background-color:#fafafa}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.star-td[_ngcontent-%COMP%]{width:2rem}@media(min-width:768px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.star-td[_ngcontent-%COMP%]{width:3.125rem}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.price-and-change-td[_ngcontent-%COMP%]{width:5.5rem}@media(min-width:768px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.price-and-change-td[_ngcontent-%COMP%]{width:9rem}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.market-price-td[_ngcontent-%COMP%]{width:8rem}@media(min-width:1200px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.market-price-td[_ngcontent-%COMP%]{width:12.5%}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.price-td[_ngcontent-%COMP%]{width:7rem}@media(min-width:1200px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.price-td[_ngcontent-%COMP%]{width:15%}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.change-td[_ngcontent-%COMP%]{width:7rem}@media(min-width:1200px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td.change-td[_ngcontent-%COMP%]{width:15%}}tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{height:4.5rem}@media(min-width:768px){tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]   a[_ngcontent-%COMP%]{height:4.625rem}}@media(min-width:992px){.stock-analyst-ratings[_ngcontent-%COMP%], .stock-market-price[_ngcontent-%COMP%], .stock-price[_ngcontent-%COMP%], .stock-change[_ngcontent-%COMP%], .stock-compliance[_ngcontent-%COMP%]{padding-inline:.75rem}}
1.stock-image-and-name[_ngcontent-%COMP%]{padding:.5rem .5rem .5rem 0}@media(min-width:768px){.stock-image-and-name[_ngcontent-%COMP%]{padding:.75rem .625rem}}.stock-image-and-name[_ngcontent-%COMP%]   .stock-image-wrapper[_ngcontent-%COMP%]{aspect-ratio:1;width:2rem}@media(min-width:768px){.stock-image-and-name[_ngcontent-%COMP%]   .stock-image-wrapper[_ngcontent-%COMP%]{width:2.5rem}}.stock-image-and-name[_ngcontent-%COMP%]   .stock-image-wrapper[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{object-fit:cover;height:100%}.stock-image-and-name[_ngcontent-%COMP%]   .stock-name[_ngcontent-%COMP%]{color:#414141;font-weight:600;font-size:clamp(.875rem,.8293rem + .1951vw,1rem);line-height:1.45}.stock-image-and-name[_ngcontent-%COMP%]   .stock-symbol[_ngcontent-%COMP%]{color:#767575;font-weight:400;font-size:clamp(.75rem,.7043rem + .1951vw,.875rem);line-height:1.45}.stock-price-and-change[_ngcontent-%COMP%]{padding:.5rem}@media(min-width:768px){.stock-price-and-change[_ngcontent-%COMP%]{padding:.75rem .625rem}}.stock-price-and-change[_ngcontent-%COMP%]   .stock-price[_ngcontent-%COMP%], .stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]{font-size:clamp(.8125rem,.7668rem + .1951vw,.9375rem);line-height:1.4}.stock-price-and-change[_ngcontent-%COMP%]   .stock-price[_ngcontent-%COMP%]{color:#414141;font-weight:500}.stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]   span[_ngcontent-%COMP%]{color:#414141}.stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]   span.positive[_ngcontent-%COMP%]{color:#119a41}.stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]   span.negative[_ngcontent-%COMP%]{color:#e82127}.stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.625rem}@media(min-width:768px){.stock-price-and-change[_ngcontent-%COMP%]   .stock-change[_ngcontent-%COMP%]   i[_ngcontent-%COMP%]{font-size:.75rem}}.stock-compliance[_ngcontent-%COMP%]{padding:.5rem;width:fit-content;margin:0 auto}@media(min-width:992px){.stock-compliance[_ngcontent-%COMP%]{padding:.75rem .625rem}}.analyst-rating-chip[_ngcontent-%COMP%]{font-weight:500;max-height:2rem;max-width:max-content;padding:.125rem .25rem;color:#000;text-transform:capitalize;border-radius:.325rem;background-color:#d3d3d3;font-size:.625rem}@media(min-width:992px){.analyst-rating-chip[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600;padding:.325rem .75rem;letter-spacing:.5px}}.analyst-rating-chip.strong-buy-chip[_ngcontent-%COMP%]{background-color:#1bad4e33;color:#1bad4e}.analyst-rating-chip.buy-chip[_ngcontent-%COMP%]{background-color:#99ce4333;color:#99ce43}.analyst-rating-chip.hold-chip[_ngcontent-%COMP%]{background-color:#e0b55f33;color:#c99f4a}.analyst-rating-chip.sell-chip[_ngcontent-%COMP%]{background-color:#e0685f33;color:#de5950}.analyst-rating-chip.strong-sell-chip[_ngcontent-%COMP%]{background-color:#e4202033;color:#e42020}.stock-market-price[_ngcontent-%COMP%], .stock-price[_ngcontent-%COMP%]{color:#414141}.no-data-tr[_ngcontent-%COMP%]{cursor:default!important}"],changeDetection:1})}}return t})();export{Ot as EtfHoldingsComponent};

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.