1import{r as x,bI as h,j as e,bK as T,c4 as v,c5 as R,br as a,cw as j,bj as C,B as f,h as k,aN as o,d9 as F}from"./redirect-95747236.js";import"./_sentry-release-injection-file-3f4e48d2.js";import{oi as y,oj as g,ok as m,ol as S,B as M,e as E,oh as w,s as u}from"./dynamic_import-2e51ff91.js";import{a as I}from"./tiering_actions-803660b6.js";import{F as P}from"./flow_handler-76172e10.js";import{t as c}from"./tiering_flow-57591dde.js";import{T as A}from"./tooltip_trigger-3f185ac8.js";import{C as L}from"./flow_card_header-fbaec1a8.js";import{F as p,a as N}from"./form_selection_group_row-d75009a1.js";import{M as b}from"./modal-3ad65990.js";import{S as _}from"./signup_flow_button-5b92d3bc.js";import"./http_client-be792547.js";import"./rails_client-70421323.js";import"./loading-8c1cb0b6.js";import"./external_accounts_actions-749370e7.js";import"./errors-42ecb38f.js";import"./announcements-ff61cc20.js";import"./wealthfront_accounts_actions-593e0302.js";import"./wealthfront_accounts_http_client-6b602a86.js";import"./navigation-763ae5c9.js";import"./global_wrapper-0db86085.js";import"./requirement_helpers-31123303.js";import"./linkedin_pixel_tracking-9d535a5c.js";import"./index-f8ca169a.js";import"./wf_app_router-b5174f1d.js";import"./___vite-browser-external_commonjs-proxy-a20f1868.js";import"./users_actions-86d2a2f1.js";import"./growth_tracker-d39f2a4d.js";import"./react_lazy_retry-0186b7b8.js";import"./voyager-navigate-ce5f38f6.js";import"./use_stock_investing_eligibility-d4255701.js";import"./stock_investing_experiment_helper-c93a964a.js";import"./wf_flow_handler-e6d2ae64.js";import"./index-9c62a712.js";import"./component_stub-7302b9e1.js";import"./dom_search-8a74da58.js";import"./router_root_builder-39a4d445.js";import"./index-e9249ee8.js";import"./plan-eddbce22.js";import"./tooltip-47aea466.js";import"./PortalWithState-faff521d.js";import"./PortalCompat-d3d8abd7.js";import"./with_custom_error_boundary-dc881fa9.js";import"./CSSTransition-cde470e5.js";try{let n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},t=new n.Error().stack;t&&(n._sentryDebugIds=n._sentryDebugIds||{},n._sentryDebugIds[t]="d290ec4d-2c1b-4915-85ca-fecaaf1aa368",n._sentryDebugIdIdentifier="sentry-dbid-d290ec4d-2c1b-4915-85ca-fecaaf1aa368")}catch{}{let n=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{};n._sentryModuleMetadata=n._sentryModuleMetadata||{},n._sentryModuleMetadata[new n.Error().stack]=Object.assign({},n._sentryModuleMetadata[new n.Error().stack],{"_sentryBundlerPluginAppKey:sentry-wealthfront-sfe":!0})}class O extends x.Component{componentDidMount(){const{accountId:t,accountRequestId:s}=this.props;c.trackImpressionEvent("tier-selection","fees-modal",{accountId:t,accountRequestId:s})}render(){const{expenseRatioWithRiskParity:t,expenseRatioWithoutRiskParity:s}=this.props.passivePlusFeatures,i=h(s),r=y(this.props.passivePlusFeatures,g.RISK_PARITY,g.RISK_PARITY);return e.jsx(b,{ref:l=>{this.refModal=l},ariaLabel:this.props.ariaLabel,onClose:this.props.onClose,children:e.jsxs("div",{ref:l=>{this.refContent=l},children:[e.jsx("h2",{className:"text-large strong",children:"Fund Fees"}),e.jsx("p",{children:"Also called expense ratios, fund fees are charged by companies who run investment funds (like Vanguard), and are deducted straight from the fundâs performance (e.g., if you invest in a fund that grows 6% in a year with a 0.5% annual fund fee, your net gain is 5.5%)."}),e.jsxs("p",{children:["To maximize your long-term returns, low-fee investments are a core part of our strategy (the weighted average annual fund fee of our portfolios without Risk Parity is ",i,")."]}),e.jsx("h3",{className:"text-medium strong",children:"What does Risk Parity cost?"}),e.jsx("p",{children:"Risk Parity seeks higher returns and a smoother ride, but most risk parity funds cost too much to be worth it. Thatâs why we built our own."}),e.jsxs("p",{children:["The Wealthfront Risk Parity Fund has an annual fund fee of ",h(r.fee)," (paid to Wealthfront) on the ~20% of your portfolio invested in the fund. This increases your weighted average fund fee by ",h(r.expenseRatioIncrease)," (from ",i," to"," ",h(t),")."]}),e.jsx("p",{children:"Our advisory fee is still just 0.25%."})]})})}}class D extends x.Component{constructor(){super(...arguments),this.getMinimumForFeature=t=>{const{minimum:s}=y(this.props.passivePlusFeatures,g.RISK_PARITY,t);return`Activates at account value ${T(s)}.`}}componentDidMount(){const{accountId:t,accountRequestId:s}=this.props;c.trackImpressionEvent("tier-selection","recommendations-modal",{accountId:t,accountRequestId:s})}render(){const t=y(this.props.passivePlusFeatures,g.RISK_PARITY,m.RISK_PARITY);return e.jsx(b,{ref:s=>{this.refModal=s},ariaLabel:this.props.ariaLabel,onClose:this.props.onClose,children:e.jsxs(v,{children:[e.jsx(R,{as:"h2",variant:"small-sans",children:"Why we recommend these strategies:"}),e.jsx(a,{children:"These strategies lower your tax bill, increase expected returns, and meet our standards for being time-tested and academically sound."}),e.jsxs("ul",{children:[e.jsxs("li",{className:"padding-double--bottom",children:[e.jsx("strong",{children:"Tax-Loss Harvesting"})," lowers your tax bill by automatically capturing investment losses, which can offset capital gains and ordinary income. Active at all account values."]}),e.jsxs("li",{className:"padding-double--bottom",ref:s=>{this.refStockLevel=s},children:[e.jsx("strong",{children:"US Direct Indexing"})," harvests tax-losses even more efficiently by harvesting individual stocks within the U.S. stock index. ",this.getMinimumForFeature
1(m.DIRECT_INDEXING)]}),e.jsxs("li",{className:"padding-double--bottom",ref:s=>{this.refSmartBeta=s},children:[e.jsx("strong",{children:"Smart Beta"})," increases your expected returns by reweighting your individual U.S. stock holdings more intelligently. ",this.getMinimumForFeature(m.ADVANCED_INDEXING)]}),e.jsxs("li",{ref:s=>{this.refRiskParity=s},children:[e.jsx("strong",{children:"Risk Parity"})," seeks to increase returns at your risk level and smooths your ride by adding a Wealthfront mutual fund that balances risk evenly across asset classes. The fund fee is"," ",h(t.fee),", increasing the weighted average fund fee of our portfolio by ",h(t.expenseRatioIncrease),"."," ",this.getMinimumForFeature(m.RISK_PARITY)]})]}),e.jsx(a,{variant:"body-bold",children:"If you are prohibited from owning individual stocks:"}),e.jsx(a,{children:"Select basic Tax-Loss Harvesting only, which excludes strategies that invest in individual stocks."})]})})}}class W extends x.Component{constructor(t){super(t),this.handleConfirmToggle=()=>{this.setState({isConfirmChecked:!this.state.isConfirmChecked})},this.handleConfirm=()=>{const{shouldEventTrackingHandleNavigation:s,accountId:i,accountRequestId:r,onConfirm:l}=this.props;c.trackSubmitEvent("tier-selection","confirmation-modal-confirm-button",{accountId:i,accountRequestId:r},void 0,s),l()},this.handleClose=()=>{const{onClose:s,accountId:i,accountRequestId:r}=this.props;c.trackClickEvent("tier-selection","confirmation-modal-cancel-button",{accountId:i,accountRequestId:r}),s()},this.state={isConfirmChecked:!1}}componentDidMount(){const{targetTier:t,intentTier:s,accountRequestId:i,accountId:r}=this.props;c.trackImpressionEvent("tier-selection","confirmation-modal",{existingIntent:s,targetIntent:t,accountId:r,accountRequestId:i})}render(){var l;const{targetTier:t,activeTier:s}=this.props,i=(l=S[s])==null?void 0:l[t];if(!i)throw new Error(`No downgrade confirmation text found for activeTier=${s} targetTier=${t}`);const r="flow-tiering-passive-plus-confirmation-modal-component-confirm";return e.jsx(b,{header:"Are you sure?",onClose:this.props.onClose,children:e.jsxs(v,{children:[e.jsx(a,{variant:"body-bold",children:"This change may impact your expected return and may increase your tax bill this year."}),e.jsx(a,{children:i}),e.jsx("div",{className:"margin-double--bottom",children:e.jsx(j,{children:e.jsxs("div",{className:"flow-tiering-passive-plus-confirmation-modal-component-warning-text",children:[e.jsx("input",{id:r,type:"checkbox",ref:d=>{this.refConfirmCheckbox=d},checked:this.state.isConfirmChecked,onChange:this.handleConfirmToggle,className:C("e2e-confirm-downgrade","no-margin--top","margin--right",r)}),e.jsx("label",{className:"no-margin--top",htmlFor:r,children:"I understand that changing my investment strategy will also change my Wealthfront investment portfolio, and may lead to lower expected returns and a higher tax bill this year."})]})})}),e.jsxs(M,{children:[e.jsx(f,{as:"button",variant:"primary",ref:d=>{this.refConfirmButton=d},type:"button",disabled:!this.state.isConfirmChecked,onClick:this.handleConfirm,testId:"tiering-selection-confirm",children:"Iâm sure, change my strategy"}),e.jsx(f,{as:"button",ref:d=>{this.refCloseButton=d},onClick:this.handleClose,children:"Never mind"})]})]})})}}class q extends x.Component{constructor(){super(...arguments),this.state={tierRecommendationsModalOpen:!1,fundFeesModalOpen:!1,confirmationModalOpen:!1},this.handleModalChange=(t,s)=>{this.setState({[t]:s})},this.handleTierSelection=t=>{const{tierAnswer:s,accountId:i,accountRequestId:r,selectTier:l}=this.props,d=t.currentTarget.value;d!==s&&c.trackChangeEvent("tier-selection","tier-option",{selectedIntent:d,accountRequestId:r,accountId:i}),l(d)},this.handleConfirm=()=>{const{tierAnswer:t,accountId:s,accountRequestId:i,passivePlusFeatures:r}=this.props;c.trackSubmitEvent("tier-selection","confirm-button",{existingIntent:r.intent,targetIntent:t,accountRequestId:i,accountId:s}),this.setState({confirmationModalOpen:!1}),this.submitTierAnswer()},this.handleSubmit=t=>{const{tierAnswer:s,accountId:i,accountRequestId:r,passivePlusFeatures:l}=this.props;t.preventDefault(),c.trackSubmitEvent("tier-selection","submit-button",{existingIntent:l.intent,targetIntent:s,accountRequestId:r,accountId:i}),this.isTierAnswerDowngrade()?this.setState({confirmationModalOpen:!0}):this.submitTierAnswer()},this.submitTierAnswer=async()=>{try{await this.props.saveTier(),P.goToNextStep()}catch(t){k(t)}},this.isTierAnswerDowngrade=()=>{const t=w.indexOf(this.props.passivePlusFeatures.state);return w.indexOf(this.props.tierAnswer)>t},this.renderConfirmationModal=()=>{if(this.state.confirmationModalOpen){const{passivePlusFeatures:t}=this.props;return e.jsx(W,{ref:s=>{this.refConfirmationModal=s},activeTier:t.state,intentTier:t.intent,targetTier:this.props.tierAnswer,onConfirm:this.handleConfirm,accountId:this.props.accountId,accountRequestId:this.props.accountRequestId,onClose:this.handleModalChange.bind(this,"confirmationModalOpen",!1),shouldEventTrackingHandleNavigation:!!this.props.accountRequestId})}},this.renderTierRecommendationModal=()=>{if(this.state.tierRecommendationsModalOpen)return e.jsx(D,{ref:t=>{this.refTierRecommendationsModal=t},ariaLabel:"Tier recommendations",accountId:this.props.accountId,tierAnswer:this.props.tierAnswer,accountRequestId:this.props.accountRequestId,passivePlusFeatures:this.props.passivePlusFeatures,onClose:this.handleModalChange.bind(this,"tierRecommendationsModalOpen",!1)})},this.renderFundFeesModal=()=>{if(this.state.fundFeesModalOpen)return e.jsx(O,{ref:t=>{this.refFundFeesModal=t},ariaLabel:"Fund fees",accountId:this.props.accountId,accountRequestId:this.props.accountRequestId,passivePlusFeatures:this.props.passivePlusFeatures,onClose:this.handleModalChange.bind(this,"fundFeesModalOpen",!1)})},this.renderRiskParityRow=()=>{const{tierAnswer:t}=this.props,s=e.jsx(f,{as:"button",ref:i=>{this.refFundFeesBtn=i},variant:"inline",onClick:this.handleModalChange.bind(this,"fundFeesModalOpen",!0),children:"average fund fee"});return e.jsxs(p,{ref:i=>{this[`ref${o.RISK_PARITY}Row`]=i},type:"radio",value:o.RISK_PARITY,expanded:o.RISK_PARITY===t,checked:o.RISK_PARITY===t,onChange:this.handleTierSelection,children:[e.jsxs("div",{className:"e2e-tier-selection-risk-parity",children:[e.jsx(a,{color:"interactive",variant:"caption",children:"Recommended"}),"Tax-Loss Harvesting, US Direct Indexing, Smart Beta, Risk Parity"]}),e.jsxs(a,{color:"secondary",children:["When your account is over $100,000, Risk Parity seeks to increase your returns by updating your portfolio with a Wealthfront mutual fund that balances risk across asset classes. This slightly increases your ",s,"."]})]})},this.renderStockLevelRow=()=>{const{tierAnswer:t}=this.props;return e.jsxs(p,{ref:s=>{this[`ref${o.STOCK_LEVEL}Row`]=s},type:"radio",value:o.STOCK_LEVEL,expanded:o.STOCK_LEVEL===t,checked:o.STOCK_LEVEL===t,onChange:this.handleTierSelection,children:[e.jsx("span",{className:"e2e-tier-selection-sltlh",children:"Tax-Loss Harvesting, US Direct Indexing, Smart Beta"}),e.jsxs(v,{children:[e.jsx(a,{color:"secondary",children:"We work to lower your tax bill by automatically capturing investment losses, which can offset capital gains and ordinary income."}),e.jsx(a,{color:"secondary",children:"When your account is over $100,000, we harvest more efficiently by harvesting individual stocks within the U.S. index."}),e.jsx(a,{color:"secondary",children:"When your account is over $500,000, we re-weight those stocks to target higher returns."})]})]})},this.renderEtfLevelRow=()=>e.jsxs(p,{ref:t=>{this[`ref${o.ETF_LEVEL}Row`]=t},type:"radio",value:o.ETF_LEVEL,expanded:o.ETF_LEVEL===this.props.tierAnswer,checked:o.ETF_LEVEL===this.props.tierAnswer,onChange:this.handleTierSelection,children:[e.jsx("span",{className:"e2e-tier-selection-tlh",children:"Tax-loss Harvesting"}),e.jsx(a,{color:"secondary",children:"We work to lower your tax bill by automatically capturing investment losses, which can offset capital gains and ordinary income."})]}),this.renderOffRow=()=>{const t=e.jsx(a,{variant:"subtext",children:"When you earn a dividend from an investment in your Wealthfront portfolio, we automatically reinvest it for you."}),s=e.jsx(A,{overlay:t,placement:"bottom",children:e.jsx("span",{className:"tooltip-trigger-text",children:"dividend-based reinvesting"})});return e.jsxs(p,{ref:i=>{this[`ref${o.OFF}Row`]=i},type:"radio",value:o.OFF,expanded:o.OFF===this.props.tierAnswer,checked:o.OFF===this.props.tierAnswer,onChange:this.handleTierSelection,children:[e.jsx("span",{className:"e2e-tier-selection-off",children:"None"}),e.jsxs(a,{color:"secondary",children:["You still get ",s,", but youâll miss out on automated tax reduction."]})]})},this.renderSubtitleText=()=>{const t=e.jsx(f,{as:"button",ref:s=>{this.refTierRecommendationsBtn=s},variant:"inline",onClick:this.handleModalChange.bind(this,"tierRecommendationsModalOpen",!0),children:"Learn why"});return e.jsxs(a,{color:"secondary",children:[t," we recommend them and when they activate."]})}}componentDidMount(){const{accountRequestId:t,accountId:s,passivePlusFeatures:i,selectTier:r}=this.props;t&&r(null),c.trackImpressionEvent("tier-selection","tier-selection",{existingIntent:i.intent,accountRequestId:t,accountId:s})}render(){return e.jsxs("div",{children:[e.jsx(F,{title:"Investment Strategies - Wealthfront"}),e.jsx("form",{ref:t=>{this.refForm=t},onSubmit:this.handleSubmit,children:e.jsxs("div",{className:"flows-flex-container",children:[e.jsxs("div",{className:"flows-flex-flexible",children:[e.jsx(L,{title:"Select the strategies weâll use to lower your tax bill and increase your expected returns.",subtitle:this.renderSubtitleText()}),e.jsxs(N,{children:[this.renderRiskParityRow(),this.renderStockLevelRow(),this.renderEtfLevelRow(),this.renderOffRow()]})]}),e.jsx("div",{className:"flows-flex-fixed",children:e.jsx("div",{className:"horizontal",children:e.jsx("div",{className:"col-xs-12",children:e.jsx(_,{as:"button",variant:"primary",onClick:this.handleSubmit,loading:this.props.isLoading,disabled:!this.props.tierAnswer,testId:"tiering-submit",children:"Continue"})})})})]})}),this.renderTierRecommendationModal(),this.renderFundFeesModal(),this.renderConfirmationModal()]})}}function B(n){return{accountId:u.tiering.getAccountId(n),accountRequestId:u.tiering.getAccountRequestId(n),passivePlusFeatures:u.tiering.getPassivePlusFeatures2(n),tierAnswer:u.tiering.getTierAnswer(n),isLoading:u.tiering.getIsLoading(n)}}function K(n,{dispatch:t}){return{...n,selectTier:s=>t(I.selectTier(s)),saveTier:()=>{const{tierAnswer:s,accountId:i,accountRequestId:r}=n;return t(I.saveTier(s,i,r))}}}const Ae=E(B,null,K)(q);export{Ae as default};
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.