1"use strict";(self.webpackChunkd4builds=self.webpackChunkd4builds||[]).push([[6838],{3500:function(e,a,l){l.d(a,{l:function(){return n}});var s=l(6540);const n=()=>{const e=(0,s.useState)({width:void 0,height:void 0}),a=e[0],l=e[1];return(0,s.useEffect)(()=>{const e=((e,a)=>{let l=null;return function(){for(var s=arguments.length,n=new Array(s),t=0;t<s;t++)n[t]=arguments[t];window.clearTimeout(l),l=window.setTimeout(()=>{e.apply(null,n)},a)}})(()=>{l({width:window.innerWidth,height:window.innerHeight}),(window.innerWidth<1860||window.innerWidth<1550)&&window.ramp&&window.ramp.destroyUnits&&window.ramp.destroyUnits(["pw-oop-left_rail","pw-oop-right_rail"]),window.innerWidth<992&&window.ramp&&window.ramp.settings&&"desktop"===window.ramp.settings.device&&window.ramp&&window.ramp.destroyUnits&&window.ramp.destroyUnits(["corner_ad_video"]),window.innerWidth<576&&window.ramp&&window.ramp.destroyUnits&&window.ramp.destroyUnits(["leaderboard_atf"])},500);return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),a}},3645:function(e,a,l){l.d(a,{j:function(){return s}});const s=function(e,a,l,s){void 0===e&&(e="");let n=e.toString().split(" ");for(let r=0;r<n.length;r++){var t;if("{"===n[r][0]){let e=n[r].slice(1,-1);e.includes("value")?n[r]=s?l?"<span class='scaling__value'>["+a[e][l-1]+"]</span>":"<span class='scaling__value'>["+a[e][0]+"]</span>":"<span class='scaling__value'>["+a[e][a[e].length-1]+"]</span>":n[r]=s?l?"<span class='scaling__value'>["+Math.round(e*(1+.1*Math.max(l-1,0)+.05*Math.floor(l/5)))+"%]</span>":"<span class='scaling__value'>["+e+"%]</span>":"<span class='scaling__value'>["+Math.round(e*(1+.1*Math.max(14,0)+.05*Math.floor(3)))+"%]</span>"}"["===n[r][0]&&n[r].includes("-")&&(n[r]="<span class='scaling__value'>"+n[r].replace("-"," - ")+"</span>"),"["===n[r][0]&&(n[r]="<span class='scaling__value'>"+n[r]+"</span>"),n[r].includes("Stunning")&&(n[r]=n[r].replace("Stunning","<span class='filter__value'>Stunning</span>")),n[r].includes("Stunned")&&(n[r]=n[r].replace("Stunned","<span class='filter__value'>Stunned</span>")),n[r].includes("Stuns")&&(n[r]=n[r].replace("Stuns","<span class='filter__value'>Stuns</span>")),n[r].includes("Stun")&&(n[r]=n[r].replace("Stun","<span class='filter__value'>Stun</span>")),n[r].includes("Poisoning")&&(n[r]=n[r].replace("Poisoning","<span class='filter__value'>Poisoning</span>")),n[r].includes("Poisons")&&(n[r]=n[r].replace("Poisons","<span class='filter__value'>Poisons</span>")),n[r].includes("Poisoned")&&(n[r]=n[r].replace("Poisoned","<span class='filter__value'>Poisoned</span>")),n[r].includes("Poison")&&(n[r]=n[r].replace("Poison","<span class='filter__value'>Poison</span>")),n[r].includes("Vulnerable")&&(n[r]=n[r].replace("Vulnerable","<span class='filter__value'>Vulnerable</span>")),n[r].includes("Barriers")&&(n[r]=n[r].replace("Barriers","<span class='filter__value'>Barriers</span>")),n[r].includes("Barrier")&&(n[r]=n[r].replace("Barrier","<span class='filter__value'>Barrier</span>")),n[r].includes("Minions")&&(n[r]=n[r].replace("Minions","<span class='filter__value'>Minions</span>")),n[r].includes("Minion")&&(n[r]=n[r].replace("Minion","<span class='filter__value'>Minion</span>")),n[r].includes("Distant")&&(n[r]=n[r].replace("Distant","<span class='filter__value'>Distant</span>")),n[r].includes("Close")&&(n[r]=n[r].replace("Close","<span class='filter__value'>Close</span>")),n[r].includes("Immobilizing")&&(n[r]=n[r].replace("Immobilizing","<span class='filter__value'>Immobilizing</span>")),n[r].includes("Immobilized")&&(n[r]=n[r].replace("Immobilized","<span class='filter__value'>Immobilized</span>")),n[r].includes("Immobilizes")&&(n[r]=n[r].replace("Immobilizes","<span class='filter__value'>Immobilizes</span>")),n[r].includes("Immobilize")&&(n[r]=n[r].replace("Immobilize","<span class='filter__value'>Immobilize</span>")),n[r].includes("Chilling")&&(n[r]=n[r].replace("Chilling","<span class='filter__value'>Chilling</span>")),n[r].includes("Chilled")&&(n[r]=n[r].replace("Chilled","<span class='filter__value'>Chilled</span>")),n[r].includes("Chills")&&(n[r]=n[r].replace("Chills","<span class='filter__value'>Chills</span>")),n[r].includes("Chill")&&(n[r]=n[r].replace("Chill","<span class='filter__value'>Chill</span>")),n[r].includes("Freezing")&&(n[r]=n[r].replace("Freezing","<span class='filter__value'>Freezing</span>")),n[r].includes("Frozen")&&(n[r]=n[r].replace("Frozen","<span class='filter__value'>Frozen</span>")),n[r].includes("Freezes")&&(n[r]=n[r].replace("Freezes","<span class='filter__value'>Freezes</span>")),n[r].includes("Freeze")&&(n[r]=n[r].replace("Freeze","<span class='filter__value'>Freeze</span>")),n[r].includes("Berserking")&&(n[r]=n[r].replace("Berserking","<span class='filter__value'>Berserking</span>")),n[r].includes("Bleeding")&&(n[r]=n[r].replace("Bleeding","<span class='filter__value'>Bleeding</span>")),n[r].includes("Bleeds")&&(n[r]=n[r].replace("Bleeds","<span class='filter__value'>Bleeds</span>")),n[r].includes("Bleed")&&(n[r]=n[r].replace("Bleed","<span class='filter__value'>Bleed</span>")),n[r].includes("Burning")&&(n[r]=n[r].replace("Burning","<span class='filter__value'>Burning</span>")),n[r].includes("Burns")&&(n[r]=n[r].replace("Burns","<span class='filter__value'>Burns</span>")),n[r].includes("Burn")&&(n[r]=n[r].replace("Burn","<span class='filter__value'>Burn</span>")),n[r].includes("Dazed")&&(n[r]=n[r].replace("Dazed","<span class='filter__value'>Dazed</span>")),n[r].includes("Dazes")&&(n[r]=n[r].replace("Dazes","<span class='filter__value'>Dazes</span>")),n[r].includes("Daze")&&(n[r]=n[r].replace("Daze","<span class='filter__value'>Daze</span>")),n[r].includes("Fortifies")&&(n[r]=n[r].replace("Fortifies","<span class='filter__value'>Fortifies</span>")),n[r].includes("Fortify")&&(n[r]=n[r].replace("Fortify","<span class='filter__value'>Fortify</span>")),n[r].includes("Fortified")&&(n[r]=n[r].replace("Fortified","<span class='filter__value'>Fortified</span>")),n[r].includes("Injured")&&(n[r]=n[r].replace("Injured","<span class='filter__value'>Injured</span>")),n[r].includes("Healthy")&&(n[r]=n[r].replace("Healthy","<span class='filter__value'>Healthy</span>")),n[r].includes("Healing")&&(n[r]=n[r].replace("Healing","<span class='filter__value'>Healing</span>")),n[r].includes("Healed")&&(n[r]=n[r].replace("Healed","<span class='filter__value'>Healed</span>")),n[r].includes("Heals")&&(n[r]=n[r].replace("Heals","<span class='filter__value'>Heals</span>")),n[r].includes("Heal")&&(n[r]=n[r].replace("Heal","<span class='filter__value'>Heal</span>")),n[r].includes("Energy")&&(n[r]=n[r].replace("Energy","<span class='filter__value'>Energy</span>")),n[r].includes("Fury")&&(n[r]=n[r].replace("Fury","<span class='filter__value'>Fury</span>")),"spirit"===n[r].toLowerCase().replace(".","").replace(",","")&&(n[r]=n[r].replace("Spirit","<span class='filter__value'>Spirit</span>")),n[r].includes("Elites")&&(n[r]=n[r].replace("Elites","<span class='filter__value'>Elites</span>")),n[r].includes("Two-Handed")&&(n[r]=n[r].replace("Two-Handed","<span class='filter__value'>Two-Handed</span>")),n[r].includes("One-Handed")&&(n[r]=n[r].replace("One-Handed","<span class='filter__value'>One-Handed</span>")),n[r].includes("Dual-Wield")&&(n[r]=n[r].replace("Dual-Wield","<span class='filter__value'>Dual-Wield</span>")),n[r].includes("Cooldowns")&&(n[r]=n[r].replace("Cooldowns","<span class='filter__value'>Cooldowns</span>")),n[r].includes("Cooldown")&&(n[r]=n[r].replace("Cooldown","<span class='filter__value'>Cooldown</span>")),n[r].includes("Slashing")&&(n[r]=n[r].replace("Slashing","<span class='filter__value'>Slashing</span>")),n[r].includes("Bludgeoning")&&(n[r]=n[r].replace("Bludgeoning","<span class='filter__value'>Bludgeoning</span>")),n[r].includes("Elite")&&(n[r]=n[r].replace("Elite","<span class='filter__value'>Elite</span>")),n[r].includes("Mana")&&(n[r]=n[r].replace("Mana","<span class='filter__value'>Mana</span>")),n[r].includes("Essence")&&(n[r]=n[r].replace("Essence","<span class='filter__value'>Essence</span>")),n[r].includes("Injured")&&(n[r]=n[r].replace("Injured","<span class='filter__value'>Injured</span>")),n[r].includes("Overpowering")&&(n[r]=n[r].replace("Overpowering","<span class='filter__value'>Overpowering</span>")),n[r].includes("Overpowers")&&(n[r]=n[r].replace("Overpowers","<span class='filter__value'>Overpowers</span>")),n[r].includes("Overpowered")&&(n[r]=n[r].replace("Overpowered","<span class='filter__value'>Overpowered</span>")),n[r].includes("Overpower")&&(n[r]=n[r].replace("Overpower","<span class='filter__value'>
1Overpower</span>")),n[r].includes("Pulled")&&(n[r]=n[r].replace("Pulled","<span class='filter__value'>Pulled</span>")),n[r].includes("Pulling")&&(n[r]=n[r].replace("Pulling","<span class='filter__value'>Pulling</span>")),n[r].includes("Pulls")&&(n[r]=n[r].replace("Pulls","<span class='filter__value'>Pulls</span>")),n[r].includes("Pull")&&(n[r]=n[r].replace("Pull","<span class='filter__value'>Pull</span>")),n[r].includes("Slows")&&(n[r]=n[r].replace("Slows","<span class='filter__value'>Slows</span>")),n[r].includes("Slowed")&&(n[r]=n[r].replace("Slowed","<span class='filter__value'>Slowed</span>")),n[r].includes("Slowing")&&(n[r]=n[r].replace("Slowing","<span class='filter__value'>Slowing</span>")),n[r].includes("Slow")&&(n[r]=n[r].replace("Slow","<span class='filter__value'>Slow</span>")),n[r].includes("Stealthed")&&(n[r]=n[r].replace("Stealthed","<span class='filter__value'>Stealthed</span>")),n[r].includes("Stealth")&&(n[r]=n[r].replace("Stealth","<span class='filter__value'>Stealth</span>")),n[r].includes("Thorns")&&(n[r]=n[r].replace("Thorns","<span class='filter__value'>Thorns</span>")),n[r].includes("Unstoppable")&&(n[r]=n[r].replace("Unstoppable","<span class='filter__value'>Unstoppable</span>")),n[r].includes("Immune")&&(n[r]=n[r].replace("Immune","<span class='filter__value'>Immune</span>")),n[r].includes("Ferocity")&&(n[r]=n[r].replace("Ferocity","<span class='filter__value'>Ferocity</span>")),n[r].includes("Resolve")&&(n[r]=n[r].replace("Resolve","<span class='filter__value'>Resolve</span>")),n[r].includes("Agility")&&(n[r]=n[r].replace("Agility","<span class='filter__value'>Agility</span>")),n[r].includes("Corpse")&&(n[r]=n[r].replace("Corpse","<span class='filter__value'>Corpse</span>")),n[r].includes("Incarnate")&&(n[r]=n[r].replace("Incarnate","<span class='filter__value'>Incarnate</span>")),!n[r].includes("Mastery")||null!==(t=n[r-1])&&void 0!==t&&t.includes("Weapon")||(n[r]=n[r].replace("Mastery","<span class='filter__value'>Mastery</span>")),n[r].includes("Wrath")&&(n[r]=n[r].replace("Wrath","<span class='filter__value'>Wrath</span>")),n[r].includes("Hexed")&&(n[r]=n[r].replace("Hexed","<span class='filter__value'>Hexed</span>")),n[r].includes("Auras")&&(n[r]=n[r].replace("Auras","<span class='filter__value'>Auras</span>")),n[r].includes("Hexes")&&(n[r]=n[r].replace("Hexes","<span class='filter__value'>Hexes</span>")),n[r].includes("Sockets")&&(n[r]=n[r].replace("Sockets","<span class='filter__value'>Sockets</span>"))}return n.join(" ").replace(" .",".").replace(" .",".").replace("Frostbite","<span class='filter__value'>Frostbite</span>").replace("Sparking","<span class='filter__value'>Sparking</span>").replace("Corrupting","<span class='filter__value'>Corrupting</span>").replace("Weapon Mastery","<span class='filter__value'>Weapon Mastery</span>").replace("Eldritch Witch Powers","<span class='filter__value'>Eldritch Witch Powers</span>").replace("Crowd Controlled","<span class='filter__value'>Crowd Controlled</span>").replace("Lucky Hit","<span class='filter__value'>Lucky Hit</span>").replace("Damage Reduction","<span class='filter__value'>Damage Reduction</span>").replace("Movement Speed","<span class='filter__value'>Movement Speed</span>").replace("Crackling Energy","<span class='filter__value'>Crackling Energy</span>").replace("Crackling","<span class='filter__value'>Crackling</span>").replace("Knocking Back","<span class='filter__value'>Knocking Back</span>").replace("Knocked Back","<span class='filter__value'>Knocked Back</span>").replace("Knocks Back","<span class='filter__value'>Knocks Back</span>").replace("Knock Back","<span class='filter__value'>Knock Back</span>").replace("Knocking Down","<span class='filter__value'>Knocking Down</span>").replace("Knocked Down","<span class='filter__value'>Knocked Down</span>").replace("Knocks Down","<span class='filter__value'>Knocks Down</span>").replace("Knock Down","<span class='filter__value'>Knock Down</span>").replace("Critically Striking","<span class='filter__value'>Critically Striking</span>").replace("Critically Strike","<span class='filter__value'>Critically Strike</span>").replace("Critical Strike Damage","<span class='filter__value'>Critical Strike Damage</span>").replace("Critical Strike Chance","<span class='filter__value'>Critical Strike Chance</span>").replace("Critical Strikes","<span class='filter__value'>Critical Strikes</span>").replace("Critical Strike","<span class='filter__value'>Critical Strike</span>").replace("Attack Speed","<span class='filter__value'>Attack Speed</span>").replace("Blood Orbs","<span class='filter__value'>Blood Orbs</span>").replace("Blood Orb","<span class='filter__value'>Blood Orb</span>").replace("Vampiric Curse","<span class='filter__value'>Vampiric Curse</span>").replace("Unique Charms","<span class='filter__value'>Unique Charms</span>")}},4881:function(e,a,l){var s=l(6540);a.A=e=>{let a=e.searchTerm,l=e.setSearchTerm,n=e.placeholder,t=e.tooltipOpen,r=e.id,i=e.tierlist;return s.createElement("div",{className:"searchbar"+(i?" searchbar--tierlist":"")},s.createElement("img",{className:"searchbar-icon",src:"https://sunderarmor.com/search-icon.svg",alt:"search icon"}),s.createElement("input",{id:r||"searchBar",className:"searchbar-input",type:"text",placeholder:""+n,value:a,onChange:e=>{l(e.target.value)},disabled:t,autoComplete:"off"}),s.createElement("button",{className:"searchbar-close"+(""!==a?" active":""),onClick:()=>l(""),tabIndex:-1},s.createElement("img",{className:"searchbar-close-img",src:"https://sunderarmor.com/close-icon.svg",alt:"close icon"})))}},6080:function(e,a,l){l.d(a,{A:function(){return r}});var s=l(6540),n=l(8587);var t=e=>{let a=e.gameClass,l=e.selectedClass,t=e.setSelectedClass,r=e.mobile,i=e.icon;
1e.setSeason;const c=(0,s.useState)(!1),o=c[0],p=c[1];return s.createElement(n.Ay,{zIndex:9999999999,render:()=>s.createElement("div",{className:"generic__tooltip"},a),visible:o&&r,placement:"top"},s.createElement("button",{className:"filters-list-item"+(a===l?" active":""),onClick:()=>(e=>{if(e===l){t("");try{localStorage.setItem("selectedClass","")}catch(a){}}else{t(e);try{localStorage.setItem("selectedClass",e)}catch(s){}}})(a),onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1)},i?"":s.createElement("img",{className:"filters-icon"+(r?" filters-icon--mobile":"")+" "+a,src:"https://sunderarmor.com/DIABLO4/Classes/2/"+a.toLowerCase()+".png",alt:"Diablo 4 "+a}),r?"":a,r?"":s.createElement("div",{className:"filters-checkbox"})))};var r=e=>{let a=e.selectedClass,l=e.setSelectedClass,n=e.mobile,r=e.scrollPosition,i=e.disclaimer,c=e.tags,o=(e.extra,e.noSpiritborn),p=e.isElectron,d=e.setSeason;const u=["Barbarian","Druid","Necromancer","Paladin","Rogue","Sorcerer","Spiritborn","Warlock"];return(0,s.useEffect)(()=>{try{const e=localStorage.getItem("selectedClass");e&&l(e)}catch(e){}},[]),(0,s.useEffect)(()=>{window.windowEvents&&window.windowEvents.onStateChange(e=>{console.log("[Filters] Window state changed:",e)})},[]),s.createElement("div",{className:"filters__wrapper"+(r>=(i?c?380:120:c?300:60)?" fixed":"")},s.createElement("div",{className:"filters"},p?s.createElement("div",{className:"filters-title"},"Filters"):"",s.createElement("div",{className:"filters-list"},Object.keys(u).map(e=>{let r=u[e];return"Spiritborn"===r&&o?null:s.createElement(t,{key:e,gameClass:r,selectedClass:a,setSelectedClass:l,mobile:n,setSeason:d})}),n||p?"":s.createElement("div",{id:"pwParentContainer"},s.createElement("div",{id:"pwTargetContainer"})))))}},6580:function(e,a,l){l.d(a,{u:function(){return n}});var s=l(6540);const n=function(e,a,l){void 0===l&&(l="ROS"),(0,s.useEffect)(()=>{if(!e&&"undefined"!=typeof window&&"localhost"!==window.location.hostname&&"127.0.0.1"!==window.location.hostname){window.ramp.onReady=function(){console.log("Ads API is initialized"),window.ramp.addUnits(a).then(()=>{window.ramp.displayUnits()}).catch(e=>{window.ramp.displayUnits(),console.log(e)})},window.ramp&&window.ramp.setPath&&(window.ramp.setPath(l),window.ramp.destroyUnits("all").then(()=>{window.ramp.addUnits(a).then(()=>window.ramp.displayUnits())}))}},[])}},6676:function(e,a,l){var s=l(4506),n=l(6540),t=l(4881),r=l(6080),i=l(9020),c=l(8587);a.A=e=>{let a=e.searchTerm,l=e.setSearchTerm,o=e.title,p=e.selectedClass,d=e.setSelectedClass,u=e.gameFilters,m=e.filtersArr,_=e.setFiltersArr,v=e.updateResults,w=e.placeholder,f=e.networkError,g=e.showDisplayNameCta,h=e.showDropdown,E=e.setShowDropdown,C=e.buttonValue,S=e.setShowPTR,y=(e.showPTR,e.isHomePage),b=e.noSpiritborn,k=e.isElectron,B=e.tierlist,N=e.setSeason;const D=(0,n.useState)(!1),A=D[0],I=D[1],P=["Attack Speed","Barrier","Berserking","Bleed","Blood Orb","Burn","Chill","Close Enemies","Cold","Companion","Cooldown","Corpse","Crackling Energy","Critical Strike","Crowd Control","Damage Reduction","Daze","Distant Enemies","Elite","Energy","Essence","Fire","Fortify","Freeze","Fury","Heal","Healthy","Immobilize","Immune","Injured","Knock Back","Knock Down","Life","Lightning","Lucky Hit","Mana","Minion","Movement Speed","Overpower","Physical","Poison","Pull","Resistance","Shadow","Slow","Spirit","Stealth","Stun","Thorns","Unstoppable","Vulnerable"],L=e=>{e.stopPropagation();let a=m;a.indexOf(e.currentTarget.innerText)>-1?a.splice(a.indexOf(e.currentTarget.innerText),1):a.push(e.currentTarget.innerText),_((0,s.A)(a)),v()},O=e=>{const a=e.currentTarget;setTimeout(()=>{a.contains(document.activeElement)||I(!1)},0)},x=n.createElement(n.Fragment,null,C?n.createElement("div",{className:"dropdown__wrapper"},n.createElement(i.A,{data:[y?null:{name:"All Seasons"},y?null:{name:"Eternal"},y?null:{name:"Season 14"},{name:"Season 15"}].filter(Boolean),showDropdown:h,setShowDropdown:E,buttonValue:C,isHomePage:y})):"",n.createElement(t.A,{placeholder:w,searchTerm:a,setSearchTerm:l,tierlist:B}));return n.createElement("div",{className:"page-header"},n.createElement("h1",{className:"page-title"},o),g?n.createElement(c.Ay,{zIndex:9999999999,render:()=>n.createElement("div",{className:"generic__tooltip"}
1,"Add a Display Name to your account. (Top Right Corner)"),placement:"top"},n.createElement("img",{src:"https://sunderarmor.com/DIABLO4/UI/warning_icon_03.svg",className:"page-header-warning page-header-warning--display-name",alt:"add display name"})):"",f?n.createElement(c.Ay,{zIndex:9999999999,render:()=>n.createElement("div",{className:"generic__tooltip"},"Builds are stored locally and won't persist through other devices.",n.createElement("br",null),"Log in to add them to your account."),placement:"top"},n.createElement("img",{src:"https://sunderarmor.com/DIABLO4/UI/warning_icon_01.svg",className:"page-header-warning",alt:"not logged in warning"})):"",n.createElement("div",{className:"header__wrapper"+(C||S||B?" header__wrapper--mybuilds":"")},B?n.createElement("div",{className:"dropdown__wrapper"},n.createElement("button",{className:"dropdown"},n.createElement("h2",{className:"dropdown__button"},"Season ",B))):"",C?n.createElement("div",{className:"dropdown__wrapper"},n.createElement(i.A,{data:[y?null:{name:"All Seasons"},y?null:{name:"Eternal"},y?null:{name:"Season 14"},{name:"Season 15"}].filter(Boolean),showDropdown:h,setShowDropdown:E,buttonValue:C,isHomePage:y})):"",a||""===a?n.createElement(t.A,{placeholder:w,searchTerm:a,setSearchTerm:l}):""),u?n.createElement(n.Fragment,null,n.createElement("button",{className:"game__filters__btn",onClick:()=>I(!A),onBlur:e=>O(e)},n.createElement("img",{src:"https://sunderarmor.com/DIABLO4/UI/filters_icon.svg",className:"game__filters__btn__icon",alt:"game filters"}),A?n.createElement("div",{className:"game__filters__options"},P.map(e=>n.createElement("button",{className:"game__filters__option"+(m.indexOf(e)>-1?" active":""),onClick:e=>L(e)},e,n.createElement("span",{className:"game__filters__option__check"})))):"")):"",n.createElement("div",{className:"page__header__mobile"},a||""===a?n.createElement(n.Fragment,null,n.createElement(r.A,{selectedClass:p,setSelectedClass:d,mobile:!0,noSpiritborn:b,isElectron:k,setSeason:N}),C?n.createElement("div",{className:"header__wrapper__mobile"},x):x):"",u?n.createElement(n.Fragment,null,n.createElement("button",{className:"game__filters__btn",onClick:()=>I(!A),onBlur:e=>O(e)},n.createElement("img",{src:"https://sunderarmor.com/DIABLO4/UI/filters_icon.svg",className:"game__filters__btn__icon",alt:"game filters"}),A?n.createElement("div",{className:"game__filters__options"},P.map(e=>n.createElement("button",{className:"game__filters__option"+(m.indexOf(e)>-1?" active":""),onClick:e=>L(e)},e,n.createElement("span",{className:"game__filters__option__check"})))):"")):""))}},8916:function(e,a,l){l.r(a),l.d(a,{default:function(){return d}});var s=l(6540),n=l(6340),t=l(2269),r=l(9228),i=l(6676),c=l(6080),o=l(3500),p=l(6580);function d(e){var a;let l=e.pageContext.vampPowers;const d="undefined"!=typeof window&&!0===(null===(a=window.electron)||void 0===a?void 0:a.isElectron);(0,p.u)(d,[{type:"corner_ad_video"},{type:"left_rail"},{type:"right_rail"},{type:"bottom_rail"}],"ROS");const u=(0,s.useState)(""),m=u[0],_=u[1],v=(0,s.useState)(""),w=v[0],f=v[1],g=(0,s.useState)(l),h=g[0],E=g[1],C=(0,s.use
1State)(0),S=C[0],y=C[1],b=(0,s.useState)([]),k=b[0],B=b[1],N=((0,o.l)(),()=>{const e=window.pageYOffset;y(e)});(0,s.useEffect)(()=>(D(),window.addEventListener("scroll",N,{passive:!0}),()=>{window.removeEventListener("scroll",N)}),[m,w]);const D=()=>{const e=l.filter(e=>{const a=e.name+" "+e.class,l=e.description;return(!w||(w===e.class||!e.class))&&(0===k.length||!!e.filters&&k.every(a=>e.filters.indexOf(a)>=0))&&(a.toLowerCase().includes(m.toLowerCase())||l.toLowerCase().includes(m.toLowerCase())||"codex".includes(m.toLowerCase()))});E(e)},A=h.map((e,a)=>s.createElement(r.A,{key:a,codex:e,vampPower:!0}));return s.createElement(n.A,{isElectron:d},s.createElement(t.A,{title:"Diablo 4 Vampiric Powers",description:"A list of all the Vampiric Powers available in Season 2 of Diablo 4."}),d?"":s.createElement(i.A,{searchTerm:m,setSearchTerm:_,selectedClass:w,setSelectedClass:f,title:"Diablo 4 Vampiric Powers",gameFilters:!0,filtersArr:k,setFiltersArr:B,updateResults:D,placeholder:"Search by name, skill, etc...",isElectron:d}),s.createElement(c.A,{selectedClass:w,setSelectedClass:f,scrollPosition:S,isElectron:d,tags:!0}),s.createElement("section",{className:"skills"},s.createElement("div",{className:"general__wrapper"},d?s.createElement(i.A,{searchTerm:m,setSearchTerm:_,selectedClass:w,setSelectedClass:f,title:"Vampiric Powers",gameFilters:!0,filtersArr:k,setFiltersArr:B,updateResults:D,placeholder:"Search by name, skill, etc...",isElectron:d}):"",A)))}},9020:function(e,a,l){var s=l(6540),n=l(8693);a.A=e=>{let a=e.gameClass,l=e.data,t=e.showDropdown,r=e.setShowDropdown,i=e.isLink,c=e.buttonValue,o=e.tooltipOpen,p=e.isBuildPlanner,d=(e.isHomePage,e.dropdownKey),u=e.disabled,m=e.paragonBoardName;const _=e=>{const a=e.currentTarget;setTimeout(()=>{a.contains(document.activeElement)||r(!i&&null,!0,null,d)},0)},v=(e,a)=>{13===e.keyCode&&r(a)};return s.createElement("button",{className:"dropdown"+(t?" active":"")+(a?" "+a.toLowerCase():""),onClick:()=>r(i?!t:"",null,null,d),onBlur:e=>_(e),disabled:o||u},s.createElement("div",{className:"dropdown__button"+(u?" dropdown__button--center":"")},a?s.createElement("img",{className:"dropdown__icon",src:"https://sunderarmor.com/DIABLO4/Classes/2/"+a.toLowerCase()+".png",alt:a}):null,p?c:c.replace("Eternal","Eternal Realm"),u?null:s.createElement("img",{className:"item__arrow__icon",src:"https://sunderarmor.com/DIABLO4/UI/dropdown-arrow.svg",alt:"Dropdown Arrow"})),t?s.createElement("div",{className:"dropdown__content"},l.map((e,l)=>a?a.toLowerCase()!==e.name.toLowerCase()?i?s.createElement(n.Link,{activeClassName:"active",className:"dropdown__option"+(a?" "+e.name.toLowerCase():""),to:e.route+"/",onClick:()=>r(!t),key:l},a?s.createElement("img",{className:"dropdown__icon",src:"https://sunderarmor.com/DIABLO4/Classes/2/"+e.name.toLowerCase()+".png",alt:e.name}):null,e.name):s.createElement("div",{className:"dropdown__option",onClick:()=>r(e.name),key:l,tabIndex:0,role:"button",onKeyDown:a=>v(a,e.name),onBlur:e=>_(e)},p?e.name:e.name.replace("-"," ")):null:i?s.createElement(n.Link,{activeClassName:"active",className:"dropdown__option"+(a?" "+e.name.toLowerCase():""),to:e.route+"/",onClick:()=>r(!t),key:l},a?s.createElement("img",{className:"dropdown__icon",src:"https://sunderarmor.com/DIABLO4/Classes/2/"+e.name.toLowerCase()+".png",alt:e.name}):null,e.name):s.createElement("div",{className:"dropdown__option",onClick:()=>r(e.isMain?e.variantName:e.name,null,c,d,m),key:l,tabIndex:0,role:"button",onKeyDown:a=>v(a,e.isMain?e.variantName:e.name),onBlur:e=>_(e)},p?e.isMain?e.variantName:e.name:e.name.replace("-"," ").replace("Eternal","Eternal Realm")))):"")}},9228:function(e,a,l){var s=l(6540),n=l(8669),t=l(3645);a.A=e=>{var a;let l=e.codex,r=e.heart,i=e.vampPower,c=e.tempering;const o="undefined"!=typeof window&&!0===(null===(a=window.electron)||void 0===a?void 0:a.isElectron),p=r?"https://sunderarmor.com/DIABLO4/Gems/heart_"+l.color.toLowerCase()+".png":i?"https://sunderarmor.com/DIABLO4/VampiricPowers/"+l.name.toLowerCase().replace(/ /g,"_")+".png":c?"https://sunderarmor.com/DIABLO4/Codex/1/tempering_manual.png":"https://sunderarmor.com/DIABLO4/Codex/1/"+l.type.toLowerCase().replace(/ /g,"_")+".png";return s.createElement("div",{className:"codex"},s.createElement("div",{className:"codex__left"},o?s.createElement("img",{className:"codex__icon",src:p,alt:l.name}):s.createElement(n.Ay,{height:40,width:40,once:!0,offset:100},s.createElement("img",{className:"codex__icon",src:p,alt:l.name}))),s.createElement("div",{className:"codex__middle"},s.createElement("div",{className:"codex__header"},"undefined"!=typeof window&&window.innerWidth<768?s.createElement("img",{className:"codex__icon__mobile",src:r?"https://sunderarmor.com/DIABLO4/Gems/heart_"+l.color.toLowerCase()+".png":i?"https://sunderarmor.com/DIABLO4/VampiricPowers/"+l.name.toLowerCase().replace(/ /g,"_")+".png":c?"https://sunderarmor.com/DIABLO4/Codex/1/tempering_manual.png":"https://sunderarmor.com/DIABLO4/Codex/1/"+l.type.toLowerCase().replace(/ /g,"_")+".png",alt:l.name}):"",s.createElement("div",{className:"codex__name"},s.createElement("h2",null,l.name),s.createElement("div",{className:"codex__class"},r?l.color+" Heart ⢠":i?"Vampiric Power ⢠":c?"Tempering Manual ⢠":l.legendary?"":"Codex ⢠",i?"":s.createElement("b",null,l.class?l.class.replace("All","Every Class"):"Every Class",r?" (Lvl 5)":""),i&&l.pact?s.createElement("div",{className:"pact__costs"},Object.keys(l.pact).map(function(e,a){let n=e,t=l.pact[e];return s.createElement("div",{className:"pact__cost"},s.createElement("img",{className:"pact__cost__icon"+(i&&l.pact.ferocity?" ferocity":""),src:"https://sunderarmor.com/DIABLO4/VampiricPowers/"+n.toLowerCase()+".png",alt:"Pact"}),s.createElement("div",{className:"pact__cost__amount"},t))},void 0)):""),r||i?"":s.createElement("div",{className:"codex__slot"},"Slots: ",{Offensive:"Gloves, Offhand, Shield, 1H Weapon, 2H Weapon (+100%), Ring, Amulet (+50%)",Defensive:"Helm, Chest, Pants, Shield, Amulet (+50%)",Resource:"Ring",Utility:"Helm, Chest, Gloves, Boots, Shield, Amulet (+50%)",Mobility:"Boots, Amulet (+50%)",Weapons:"All Weapons"}[l.type]))),c?"":s.createElement("div",{className:"codex__description",dangerouslySetInnerHTML:{__html:(0,t.j)(l.description)}}),l.campaign&&l.location?s.createElement("div",{className:"codex__location"},"Progress Campaign in ",s.createElement("b",null,l.location)," to unlock"):"",l.dungeon&&l.location?s.createElement("div",{className:"codex__location"},"Unlocked by completing ",s.createElement("b",null,l.dungeon)," in"," ",s.createElement("b",null,l.location)):"",c?l.stats?s.createElement("div",{className:"codex__tempering"},l.stats.map(function(e){return s.createElement("div",{className:"codex__tempering__stat"},e)},void 0)):s.createElement("div",{className:"codex__tempering"},s.createElement("div",{className:"codex__tempering__stat"},"TBD")):""))}}}]);
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.