AppFolio Grew Free Cash Flow 30% in 2025 and Deepened Switching Costs for Customers. Is the Sell-Off Overdone?

Wait 5 sec.

':"";if(a){var r=n.promos.showYahooLogo?"":"yns-no-logo";a=a.replace("{notifOnboardBtnLabel}",n.promos.notifOnboardBtnLabel).replace("{notifOnboardMsg}",n.promos.notifOnboardMsg).replace("{subscriptionTopic}",n.promos.subscriptionTopic).replace("{noLogoClass}",r).replace("{promoLogo}",n.promos.promoLogo)}var s=t.newCount>n.panel.maxCount?t.newCount:"",c=n.panel.notificationCenterPath,l=c?"":R,u=n.panel.headerMsg?"":" "+R,d=c?H:"",p=void 0;t.count?p=t.markup:p='{emptyPanelMsg}'.replace("{emptyPanelMsg}",n.panel.emptyPanelMsg);return e=e.replace("{notifMarkup}",p).replace("{promoMarkup}",a).replace("{hideClass}",l).replace("{notifCenterLink}",c).replace("{paddingClass}",d).replace("{headerMsg}",n.panel.headerMsg).replace("{hideHeaderClass}",u).replace(/{notificationCenterNavMsg}/g,n.panel.notificationCenterNavMsg).replace(/{newCount}/g,s)}},{key:"render",value:function(e,t){var n=this;if(n._panelNode){var o=void 0,i=n._panelNode,a=void 0,r=void 0;switch(e){case"expanded_panel":o='{promoMarkup}{notifMarkup}',r=n._store.getNotifications(),a=n._generatePanelMarkup(o,r),i.innerHTML=a;break;case"error_panel":a=(o='{errorMsg}').replace("{errorMsg}",n._config.panel.errorMsg),i.innerHTML=a}t&&t()}else t&&t(new Error("No panel parent"))}},{key:"createPanelParentNode",value:function(e){e&&(e.innerHTML='',this._panelNode=document.getElementById(P))}},{key:"updateBadgeNode",value:function(e){if(e){var t=this._store.getNotifications().newCount,n=this._config.badge.maxCount;if(t){var o=t>n?n+"+":t;e.innerHTML=o}else e.innerHTML=""}}},{key:"addStyles",value:function(e){if(e&&"undefined"!=typeof window){var t=document.getElementById(this._config.panel.styleTagId);t||((t=document.createElement("style")).type="text/css",t.id=this._config.panel.styleTagId,t.innerText=e,document.head.appendChild(t))}}}]),e}(),j=function(){function e(t,n,o){E(this,e);var i=this;i._store=n,i._view=o,i._config=t;var a=i._config.panel;i._panelParentNode=document.querySelector(a.parentSelector),i._badgeNode=i._config.badge.selector&&document.querySelector(i._config.badge.selector),i._indicatorNode=a.indicatorSelector&&document.querySelector(a.indicatorSelector)}return k(e,[{key:"createPanelParentNode",value:function(){this._view.createPanelParentNode(this._panelParentNode),this._notifPanelNode=document.getElementById(P)}},{key:"refreshPanelNode",value:function(e,t){var n=this;x(n._notifPanelNode,D),n._store.fetchNotifications(e,(function(e,o){var i=window.wafer&&window.wafer.base;i&&i.destroy(n._notifPanelNode),e?n._notifPanelNode.innerHTML||(n._view.render("error_panel"),x(n._notifPanelNode,D)):(n._view.render("expanded_panel"),n._view.updateBadgeNode(n._badgeNode),n._showBadge(),n._showIndicator(),n._view.addStyles(o.css)),N(n._notifPanelNode,D),i&&i.sync(n._notifPanelNode.parentNode),t&&t(e,o)}))}},{key:"resetBadge",value:function(){var e=this;e._store.resetNewCount(),e._view.updateBadgeNode(e._badgeNode),x(e._badgeNode,e._config.badge.hideClass)}},{key:"_showIndicator",value:function(){this._indicatorNode&&(this._store.getNotifications().newCount?x(this._indicatorNode,this._config.panel.indicatorClass):N(this._indicatorNode,this._config.panel.indicatorClass))}},{key:"_showBadge",value:function(){var e=this;e._store.getNotifications().newCount?N(e._badgeNode,e._config.badge.hideClass):x(e._badgeNode,e._config.badge.hideClass)}}]),e}(),Y={promos:{eligibleBodyClass:"display-push-promos",enableNotifOnboard:!0,bypassEligibleClassCheck:!1,notifOnboardBtnLabel:"Notify Me",notifOnboardMsg:"Get alerts for breaking news and top stories",promoLogo:"https://s.yimg.com/cv/apiv2/ae/news/circle_bell.png",showYahooLogo:!0,subscriptionTopic:"gondor_homerun_news"},badge:{hideClass:"",maxCount:5,selector:""},panel:{emptyPanelMsg:"You have no new notifications.",errorMsg:"",headerMsg:"Notifications",imageTag:"img:40x40|2|80",indicatorClass:"yns-indicator",indicatorSelector:null,maxCount:6,notificationCenterNavMsg:"View all {newCount} notifications",notificationCenterPath:"",notificationTypes:"",parentSelector:null,styleTagId:"notificationStyles",theme:"default"},service:{attemptCount:1,attemptDelay:2,url:null,resetUrl:null,isRMP:!1,responseType:"json",timeout:1500}},F={NotificationClient:function(){function e(t){E(this,e);var n=this;n.config=n._parseConfig(t),n._validateRequiredConfigs()&&(n._request=new S(n.config),n._store=new B(n.config,n._request),n._view=new U(n.config,n._store),n._panelController=new j(n.config,n._store,n._view),n._panelController.createPanelParentNode(),n._assignHelperMethods())}return k(e,[{key:"_parseConfig",value:function(e){var t={};for(var n in I(t,Y),t)if(t.hasOwnProperty(n)){var o=t[n],i=e[n];"object"===(void 0===o?"undefined":L(o))?I(o,i):t[n]=e[n]}return t}},{key:"_validateRequiredConfigs",value:function(){var e=this.config;return!(!e.panel.parentSelector||!e.service.url)}},{key:"_assignHelperMethods",value:function(){var e=this;e.helpers={refreshPanelNode:e._panelController.refreshPanelNode.bind(e._panelController),resetBadge:e._panelController.resetBadge.bind(e._panelController),resetIndicator:function(){N(e._panelController._indicatorNode,e.config.panel.indicatorClass)}}}}]),e}()},z="lnct",W=function(){function e(){var e,t;this.personalized=!1,this.ybarElem=document.getElementById("ybar"),this.partnerClasses=null===(t=null===(e=this.ybarElem)||void 0===e?void 0:e.className)||void 0===t?void 0:t.match(/ybar-variant-([a-z]*)/),this.client=new F.NotificationClient(this.getConfig())}return e.prototype.refreshPanel=function(){var e,t,n,o=this,i={lastUpdate:this.getTimeStamp()||this.setTimeStamp(),loadInHpViewer:!0,includePersonalized:this.personalized},a=(null===(e=window.YAHOO)||void 0===e?void 0:e.context)||(null===(t=window.Af)||void 0===t?void 0:t.context)||{};return a.region&&a.lang&&(i.lang=a.lang,i.region=a.region),(null===(n=this.partnerClasses)||void 0===n?void 0:n.length)&&(i.partner=this.partnerClasses[1]),new Promise((function(e,t){o.client.helpers.refreshPanelNode({matrixParams:i},(function(n,o){n&&(l("Notification refresh error:",n),t(n)),e(o)}))}))},e.prototype.resetBadge=function(){this.client.helpers.resetBadge(),this.setTimeStamp()},e.prototype.getConfig=function(){var e,t,n,o,i,a=document.getElementById("notification-container"),r=null===(e=null==a?void 0:a.dataset)||void 0===e?void 0:e.config;if(q&&!r)return q;var s={promos:{eligibleBodyClass:"display-push-promos",enableNotifOnboard:!0},badge:{selector:"#notif-badge",hideClass:"ybar-notification-hidden"},panel:{emptyPanelMsg:"You have no new notifications.",errorMsg:"Please check back later.",headerMsg:"Notifications",maxCount:5,parentSelector:"#ybarNotificationBody",notificationTypes:"breakingNews"},service:{url:"/tdv2_fp/api/resource/NotificationHistory.getHistory",isRMP:!1}},c={};if(r){"att"===(null===(t=this.partnerClasses)||void 0===t?void 0:t[1])&&(s.promos.showYahooLogo=!1);try{var u=JSON.parse(r);c=m({},u),this.personalized=1===u.personalize}catch(e){l("Notifications config parsing error",e)}a&&delete a.dataset.config}return q=this.mergeConfigs(s,c),(null===(n=this.partnerClasses)||void 0===n?void 0:n.length)&&"yahoo"!==(null===(o=this.partnerClasses)||void 0===o?void 0:o[1])&&(null===(i=q.promos)||void 0===i?void 0:i.subscriptionTopic)&&delete q.promos.subscriptionTopic,q},e.prototype.mergeConfigs=function(e,t){var n=m({},e);for(var o in e)n[o]=m(m({},e[o]),t[o]);return n},e.prototype.getTimeStamp=function(){var e;return null===(e=window.localStorage)||void 0===e?void 0:e.getItem(z)},e.prototype.setTimeStamp=function(){var e,t=""+Math.floor((new Date).getTime()/1e3);return null===(e=window.localStorage)||void 0===e||e.setItem(z,t),t},e}(),G=new W,K=function(){return G},J="",V=[],$=function(){},X=function(){window.removeEventListener("beforeunload",X),""!==J&&l("Rapid not found on page",new Error(J))},Z=null,Q=function(){return null===Z&&(Z=document.getElementById("ybar")),Z},ee=function(){var e=0,t=window.YAHOO;if(T)return T;if(t)if(t.i13n)if(t.i13n.__RAPID_INSTANCES__)if(t.i13n.__RAPID_INSTANCES__.length0)for(var n=0;n0){if(T.addModules(i,!1,o),V.length>0)for(e=0;e40959)&&(i19903)&&(i55215))return!1}return!0},ve={navBeaconFired:!1},ye=["ready","navigation"],he=function(){function e(e){var t=this;this.triggerEvent=s,this.addEventListener=c,this.logError=l,this.logPerformance=u,this.getConfig=d,this.getPerformanceMetrics=p,this.rapidRefresh=ne,this.state=m({},ve),this.modules=e,this.userEmail="",window.YBAR&&(ye.forEach((function(e){var n="on".concat(e),o=window.YBAR[n];o&&(t[n]=o)})),window.YBAR.wssid&&(this.wssid=window.YBAR.wssid),window.YBAR.appid&&(this.appid=window.YBAR.appid)),ye.forEach((function(e){var n="on".concat(e);c(e,(function(){for(var o,i=[],a=0;a0){if(o&&i){var n=t>99;o.classList.add("".concat(At)),i.classList.add("count-loaded"),o.textContent=n?"99+":t+"",n?o.classList.add("".concat(Ct)):t>=10&&o.classList.add("".concat(St))}e.onDestroy((function(){o&&(o.textContent="")}))}})).catch((function(){}))}(e,s)}));var Ut="_yb_1e46uhr",jt=function(e,t){var n;t.logoImages&&(n=t.logoImages).length>0&&Array.prototype.forEach.call(n,(function(e){e.onerror=function(){e.onerror=null,e.style.display="none"}})),t.wrapper&&(function(e,t){e&&(xe("#ybar-logo","#ybar-logo",t),t.onDestroy((function(){e.classList.remove("ybar-show-outline"),e.classList.remove("ybar-hide-outline")})))}(t.wrapper,e),function(e,t){t&&e.addElementListener(t,"click",(function(){e.triggerEvent("logo-click")}))}(e,t.wrapper))};ge("ybar-mod-logo",(function(e){var t={wrapper:document.getElementById("ybar-logo"),logoImages:document.querySelectorAll(".".concat(Ut))};jt(e,t)}));var Yt={"dropdown-open":"_yb_1qr55t8","merchant-is-selected":"_yb_hpfgev",overlay:"_yb_1t4opbo","selected-merchant-clear-button":"_yb_sdzekv","shops-buttons":"_yb_1gmhi8h","styled-select":"_yb_1fed2vs",tooltip:"_yb_156j5sr","tooltip--show":"_yb_t94u7s",tooltip__text:"_yb_149d3c6",tooltip__voice:"_yb_rkldcd",tooltip__web:"_yb_1bze76z",dark:"_yb_of9a42",darker:"_yb_1br2rz9",light:"_yb_p0373k","search-border-gradient":"_yb_109k2ga","search-border-gradient-hover":"_yb_vljmzl",midnight60:"_yb_1o792pg","search-input-uh3-hover":"_yb_15ox84z","search-input-uh3-focus-visible":"_yb_1e6541m","sa-btn-bar":"_yb_1axm66t","searchbox-icon-uh3":"_yb_1uef33k",empty:"_yb_owcm9n"},Ft=function(e,t){var n=Math.max(e,t),o=Math.min(e,t),i=Math.abs(n-o);return b([],h(new Array(i+1)),!1).map((function(e,t){return o+t}))},zt=function(e,t,n){var o=e.getConfig().bucketConfig,i=(void 0===o?{}:o).enable_search_ui,a=void 0!==i&&i;if(t.ybar){t.ybar.classList.add("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.add("ybar-overlay"),document.body.classList.add("ybar-overlay-noscroll");te("ybar","websrch","",{elm:"expand",subsec:"searchbox",itc:"1"}),setTimeout((function(){t.searchInput instanceof HTMLInputElement&&(n&&(t.searchInput.value=n),t.searchInput.focus(),a&&window.YAHOO&&window.YAHOO.SA&&window.YAHOO.SA.apps&&window.YAHOO.SA.apps[0]&&window.YAHOO.SA.apps[0].view&&!window.YAHOO.SA.apps[0].view.shown&&window.YAHOO.SA.apps[0].view.show())}))}},Wt=function(e){var t;null===(t=e.ybar)||void 0===t||t.classList.remove("ybar-searchbox-assist-fullscreen"),document.documentElement.classList.remove("ybar-overlay"),document.body.classList.remove("ybar-overlay-noscroll"),e.searchInput instanceof HTMLInputElement&&(e.searchInput.value="",e.searchInput.blur())},Gt=function(e,t){var n=e.getConfig();"smartphone"===n.device&&("finance"===n.property&&"crunch"===n.ytheme&&e.addElementListener(t.searchInput,"click",(function(){var n,o;n="search_input_focus_click",null!==(o=re())&&(oe[n]||(oe[n]=o)),e.addElementListener(t.searchForm,"click",(function(){if(t.ybar){if(t.ybar.classList.contains("ybar-searchbox-assist-fullscreen"))return;t.ybar.classList.add("ybar-searchbox-assist-fullscreen"),t.ybar.classList.add("ybar-searchbox-assist-fadein")}if(!document.documentElement.classList.contains("ybar-overlay")){document.documentElement.classList.toggle("ybar-overlay"),document.body.classList.add("ybar-overlay-noscroll");te("ybar","websrch","",{elm:"expand",subsec:"searchbox",itc:"1"})}}))})),e.addElementListener(t.searchBoxPlaceholder,"click",(function(){zt(e,t)})),e.addElementListener(t.searchBoxPlaceholder,"keydown",(function(n){var o=n,i=o.keyCode,a=o.key,r=Ft(65,90),s=b(b([],h(Ft(58,57)),!1),h(Ft(96,105)),!1),c=b(b([],h(r),!1),h(s),!1).includes(i);(32===i||13===i||c)&&(n.preventDefault(),n.stopPropagation(),zt(e,t,c?a:""))})),t.searchBoxBackButton&&(e.addElementListener(t.searchBoxBackButton,"click",(function(e){e.stopPropagation(),window.YAHOO&&window.YAHOO.SA&&window.YAHOO.SA.apps&&window.YAHOO.SA.apps[0]&&(window.YAHOO.SA.apps[0].view.resetQuery(),window.YAHOO.SA.apps[0].view.hide()),Wt(t);te("ybar","back-close-srch","",{elm:"btn",subsec:"searchbox",itc:"1"})})),e.addElementListener(t.searchInput,"keyup",(function(e){e.stopPropagation();27===e.keyCode&&(e.stopPropagation(),Wt(t))}))),e.addEventListener("viewerClosed",(function(){Wt(t)})),e.onDestroy((function(){Wt(t)})))},Kt=function(){function e(e,t,n){t&&(this.ybar=e,this.elem=t,this.options=n,this.show=this.show.bind(this),this.hide=this.hide.bind(this),this.addEventListeners())}return Object.defineProperty(e.prototype,"tooltip",{get:function(){var e=this;return this.tooltipMarkup||(this.tooltipMarkup=this.createTooltip(),(this.options.tooltipParentElm||this.elem).appendChild(this.tooltipMarkup),this.ybar.onDestroy((function(){var t,n;null===(n=null===(t=e.tooltipMarkup)||void 0===t?void 0:t.parentNode)||void 0===n||n.removeChild(e.tooltipMarkup)}))),this.tooltipMarkup},enumerable:!1,configurable:!0}),e.prototype.show=function(){this.tooltip.classList.add(this.options.showClass)},e.prototype.hide=function(){this.tooltip.classList.remove(this.options.showClass)},e.prototype.addEventListeners=function(){this.ybar.addElementListener(this.elem,"mouseenter",this.show),this.ybar.addElementListener(this.elem,"focus",this.show),this.ybar.addElementListener(this.elem,"mouseleave",this.hide),this.ybar.addElementListener(this.elem,"blur",this.hide)},e.prototype.createTooltip=function(){var e=document.createElement("div");e.className=this.options.containerClass||"";var t=document.createElement("p");return t.textContent=this.options.label,t.className=this.options.textClass||"",e.appendChild(t),e},e}(),Jt={containerClass:Yt.tooltip,textClass:Yt.tooltip__text,showClass:Yt["tooltip--show"]};ge("ybar-mod-searchbox",(function(e){var t,n=e.getConfig(),o={ybar:document.getElementById("ybar"),searchInput:document.getElementById("ybar-sbq"),buttonBar:document.querySelector(".".concat(Yt["sa-btn-bar"])),searchForm:document.getElementById("ybar-sf"),searchBoxIcon:document.querySelector(".".concat(Yt["searchbox-icon-uh3"])),searchBoxPlaceholder:document.getElementById("ybar-smartphone-searchbox-placeholder"),searchBoxBackButton:document.getElementById("ybar-search-back-btn"),shopsButtonsWrap:document.querySelector(".".concat(Yt["shops-buttons"])),categorySelect:document.getElementById("shops-category-select"),selectedMerchantInput:document.getElementById("selected-merchant-input"),selectedMerchantClearButton:document.querySelector(".".concat(Yt["selected-merchant-clear-button"])),submitSearchBtn:document.getElementById("ybar-search"),clearSearchBtn:document.getElementById("ybar-sbq-x"),searchGradientBorder:document.querySelector(".".concat(Yt["search-border-gradient"]))};if(function(e,t){var n,o,i,a=e.getConfig();if(t.ybar&&["desktop","tablet"].includes(a.device)&&(null===(n=a.bucketConfig)||void 0===n?void 0:n.highlight_searchassist)&&(null===(o=a.bucketConfig)||void 0===o?void 0:o.overlay_class)){t.ybar.setAttribute("data-ovrly-bkt",a.bucketConfig.overlay_class),null===(i=t.searchForm)||void 0===i||i.classList.add(Yt[a.bucketConfig.overlay_class]);var r=document.createElement("div");r.classList.add(Yt.overlay,Yt[a.bucketConfig.overlay_class]),document.body.appendChild(r),e.onDestroy((function(){document.body.removeChild(r)})),e.addElementListener(t.searchForm,"focusout",(function(e){if(t.searchForm&&t.searchInput){var n=e.relatedTarget;n&&!t.searchForm.contains(n)&&window.YAHOO.SA&&window.YAHOO.SA.apps&&window.YAHOO.SA.apps[0]&&window.YAHOO.SA.apps[0].view.shown&&window.YAHOO.SA.apps[0].view.hide()}}))}}(e,o),Gt(e,o),o.searchGradientBorder){var i=!1;o.searchInput.addEventListener("keydown",(function(e){var t=e.code,n=e.key,a=t.startsWith("Key"),r=t.startsWith("Digit"),s=/^[!@#$%^&*()_+\-=[\]{};':"\\|,./?`~]$/.test(n);(a||r||s)&&!i&&(o.searchGradientBorder.classList.add("".concat(Yt["search-border-gradient-hover"])),i=!0)})),e.addElementListener(o.searchForm,"mouseover",(function(){i||o.searchGradientBorder.classList.add("".concat(Yt["search-border-gradient-hover"]))})),e.addElementListener(o.searchForm,"mouseout",(function(){i||o.searchGradientBorder.classList.remove("".concat(Yt["search-border-gradient-hover"]))})),e.addElementListener(o.searchInput,"click",(function(){i=!0})),e.addElementListener(o.searchInput,"blur",(function(){o.searchGradientBorder.classList.remove("".concat(Yt["search-border-gradient-hover"]))}))}o.searchForm&&(e.addElementListener(o.searchBoxIcon,"mouseover",(function(){o.searchForm.classList.add("".concat(Yt["search-input-uh3-hover"]))})),e.addElementListener(o.searchBoxIcon,"mouseout",(function(){o.searchForm.classList.remove("".concat(Yt["search-input-uh3-hover"]))})),e.addElementListener(o.buttonBar,"mouseover",(function(){o.searchForm.classList.add("".concat(Yt["search-input-uh3-hover"]))})),e.addElementListener(o.buttonBar,"mouseout",(function(){o.searchForm.classList.remove("".concat(Yt["search-input-uh3-hover"]))})),e.addElementListener(o.searchInput,"keyup",(function(e){"Tab"===e.key&&o.searchForm.classList.add("".concat(Yt["search-input-uh3-focus-visible"])),o.searchInput.classList.toggle("".concat(Yt.empty),""===o.searchInput.value)})),e.addElementListener(o.searchInput,"keydown",(function(){o.searchForm.classList.remove("".concat(Yt["search-input-uh3-focus-visible"]))})),e.addElementListener(o.searchInput,"focusout",(function(){o.searchForm.classList.remove("".concat(Yt["search-input-uh3-focus-visible"]))})),e.addElementListener(o.submitSearchBtn,"click",(function(e){""===o.searchInput.value.trim()&&e.preventDefault()})),e.addElementListener(o.clearSearchBtn,"click",(function(){o.searchInput.classList.add("".concat(Yt.empty))}))),o.submitSearchBtn&&"crunch"===n.ytheme&&new Kt(e,o.submitSearchBtn,m(m({},Jt),{label:null!==(t=n.i18n.root.SEARCH_TOOLTIP_WEB)&&void 0!==t?t:"Search the web",containerClass:"".concat(Yt.tooltip," ").concat(Yt.tooltip__web),tooltipParentElm:o.clearSearchBtn.parentElement}))}));var Vt="_yb_tdk4ba",$t="_yb_hkd17a",Xt="_yb_rtzclf",Zt="_yb_tdbhj6",Qt="_yb_de52ef",en="_yb_9hwrey",tn="_yb_slc8ta",nn="_yb_bf0svp",on="_yb_hjic9z";ge("ybar-mod-adaptivenav",(function(e){var t=document.querySelector("#ybar-l1-more-menu ul"),n={moreDropDown:document.querySelector(".".concat(Vt)),moreBtn:document.querySelector(".".concat($t)),wrap:document.querySelector(".".concat(Zt)),moreSectionTitle:document.querySelectorAll(".".concat(Qt)),editionsCtaBtn:document.querySelector(".".concat(en)),editionsMenu:document.querySelector(".".concat(tn)),closeBtn:document.querySelector(".".concat(nn)),moreMenuDropDownHeight:t?"".concat(t.offsetHeight+48,"px"):"0"};new Ke(e,{adaptiveNavBtn:n.moreBtn,containerElm:n.moreDropDown,innerContainerElm:n.editionsMenu,isAdaptiveNav:!0});var o=!1,i=function(t,n){var o=t.moreDropDown,i=t.moreBtn,a=t.wrap,r={sec:"ybar",slk:"More",elm:"expand",pkgt:"top",subsec:"navrail",itc:"1"};o&&i&&a&&o.classList.contains("".concat(Vt))&&(o.style.height=t.moreMenuDropDownHeight,o.classList.remove("".concat(Vt)),a.classList.add("".concat(Xt)),i.setAttribute("aria-expanded","true"),r.elm="expand",e.triggerEvent("adapnav:more:show",{event:n}),te("ybar",r.slk,"",r))},a=function(e,t){void 0===t&&(t=!1);var n=e.moreDropDown,i=e.moreBtn,a=e.wrap,r={sec:"ybar",slk:"More",elm:"close",pkgt:"top",subsec:"navrail",itc:"1"};n&&i&&a&&(n.classList.contains("".concat(Vt))||(n.classList.add("".concat(Vt)),n.style.height="0",a.classList.remove("".concat(Xt)),i.setAttribute("aria-expanded","false"),o||t||te("ybar",r.slk,"",r)))},r=function(e,t){void 0===t&&(t=!1);var n=e.editionsMenu,o={sec:"ybar",slk:"More",elm:"close",pkgt:"top",subsec:"navrail",itc:"1"};null==n||n.close(),null==n||n.classList.remove("".concat(on)),t||te("ybar",o.slk,"",o)},s=function(){var e;window.innerWidth a"),o=document.querySelector("#ybar-navigation-item-mail > a > span");null!==t&&null!==n&&(new Rt).fetchCount().then((function(t){o&&t>0&&(o.textContent="("+(t>99?"99+":t)+")",e.onDestroy((function(){o.textContent=""})))})).catch((function(){}))},Rn=!1,Hn=-1,Un=function(e,t,n){var o,i,a,r=-1,s=0;if(e.ybarNav&&e.navList){var c=window.getComputedStyle(e.ybarNav),l=parseInt(c.width,10)-parseInt(c.paddingLeft,10)-parseInt(c.paddingRight,10),u=61,d=e.navigationPlacement();if(d)u+=d.getBoundingClientRect().width;if(Sn)u+=Sn.getBoundingClientRect().width;for(var p=window.getComputedStyle(e.navList),f=parseInt(p.gap,10)||0,m=0;mg&&(m!==e.navItems.length-1||s+h>g||e.moreMenuDropdown&&e.moreMenuDropdown.hasChildNodes()&&Hn10?e.moreMenuDropdown.classList.add(e.longListClass):null!==e.moreMenuDropdown&&e.moreMenuDropdown.classList.remove(e.longListClass))}},jn=function(e,t){var n,o=function(e,n){var o;e.classList.contains(t.moreMenuNavItemClass)&&(null===(o=t.moreMenuMainFocusItem)||void 0===o||o.setAttribute("aria-expanded",n))},i=function(){t.isTablet&&(document.body.classList.remove("ybar-nav-open"),document.body.removeEventListener("touchend",u))},a=function(n){var i=n.delegateTarget;i&&i.classList.contains(t.dropdownWrapperClass)&&(i.classList.contains(t.dropdownOpenClass)||(e.triggerEvent("nav:dropdown:show",{event:n}),t.isTablet&&(document.body.classList.add("ybar-nav-open"),document.body.addEventListener("touchend",u)),i.classList.add(t.dropdownOpenClass),o(i,"true")))},r=function(e){var n=e.delegateTarget;if(null==n?void 0:n.classList.contains(t.navigationDropdownListClass)){var a=n.parentElement;a&&!a.contains(e.relatedTarget)&&a.classList.contains(t.dropdownWrapperClass)&&(i(),a.classList.remove(t.dropdownOpenClass),o(a,"false"))}else if(null==n?void 0:n.classList.contains(t.dropdownOpenClass)){if(t.isTablet&&e instanceof FocusEvent)return;var r=e.target;Sn&&(!Sn||Sn.contains(r)&&"focusout"!==e.type)||(i(),n.classList.remove(t.dropdownOpenClass),o(n,"false"))}},s=ze(".".concat(t.dropdownWrapperClass),"focusin",a),c=ze(".".concat(t.dropdownWrapperClass,", .").concat(t.navigationDropdownListClass),"focusout",r),l=document.getElementById("ybar-navigation"),u=function(e){var n=null==e?void 0:e.target;t.isTablet&&e&&e.target&&e.target instanceof HTMLElement&&(e.target.classList.contains(t.dropdownOpenClass)||e.target.closest(".".concat(t.dropdownOpenClass)))||document.body.classList.contains("ybar-nav-open")&&!["svg","path"].includes(n.tagName)&&(null==l||l.querySelectorAll(".".concat(t.dropdownOpenClass)).forEach((function(e){e.classList.remove(t.dropdownOpenClass)})),i())};e.addEventListener("nav:closeOverflowMenu",(function(){u()}));var d=ze(".".concat(t.dropdownWrapperClass),"touchstart",(function(e){if(t.isTablet){var n=e.delegateTarget;n&&n.classList.contains(t.dropdownOpenClass)?r(e):(u(e),a(e))}})),p=null===(n=t.ybarNav)||void 0===n?void 0:n.querySelectorAll(".".concat(qn));null==p||p.forEach((function(t){var n=t.parentNode;n&&null!==document.querySelector(".ybar-ytheme-crunch")&&e.addElementListener(n,"mouseenter",(function(t){e.triggerEvent("nav:dropdown:show",{event:t})}))})),e.onDestroy((function(){var e;d.destroy(),s.destroy(),c.destroy(),b([],h(null===(e=t.ybarNav)||void 0===e?void 0:e.querySelectorAll(".".concat(t.dropdownOpenClass))),!1).forEach((function(e){e.classList.remove(t.dropdownOpenClass);var n=document.activeElement;(function(e,t){var n=!1;if(!e||!t)return n;if("function"==typeof e.contains)n=e.contains(t);else for(var o=t;o;){if(o===e){n=!0;break}o=o.parentElement}return n})(t.ybarNav,n)&&setTimeout((function(){null==n||n.blur()}),1)}))}))},Yn=function(e,t,n,o){for(var i=t||window.location.pathname,a=n||window.location.hostname,r=(o||{}).setParentFocus,s=void 0!==r&&r,c=b([],h(e.topLevelNavLinks),!1),l=null,u=null,d=0;d li"),dropdownClass:t.dropdownWrapperClass,enableMoreMenu:i,moreMenuNavElm:t.moreMenuMainFocusItem,isUserAccountNavigation:!1});!function(e,t){var n,o;b([],h(null===(n=t.ybarNav)||void 0===n?void 0:n.querySelectorAll(".".concat(t.dropdownOpenClass))),!1).forEach((function(e){return e.classList.remove(t.dropdownOpenClass)}));var i=e.getConfig();Sn=(null===(o=i.bucketConfig)||void 0===o?void 0:o.enable_mid_nav_placement)?document.getElementById("ybar-mid-nav-placement"):void 0,"news"===i.property?Cn=-12:(Cn="finance"!==i.property&&"sports"!==i.property&&t.shiftMoreMenuEnabled?-24:-16,"zh-Hant-HK"!==i.locale&&"zh-Hant-TW"!==i.locale||(Cn=-20));var a=t.isTablet?"touchstart":"mouseover",r=ze(".".concat(t.dropdownWrapperClass,", .").concat(t.navigationDropdownListClass),a,(function(n){if(window||document){var o=window.innerWidth||document.documentElement.clientWidth,a=n.delegateTarget;if(a&&-1!=a.className.indexOf(t.dropdownWrapperClass)&&(a=a.querySelector(".".concat(t.navigationDropdownListClass))),a){a.style.removeProperty("left");var r=a.getBoundingClientRect(),s=Math.trunc(r.right),c=parseInt(window.getComputedStyle(a).marginLeft,10)+o-s;if(s>o)return"sports"!==i.property?void(a.style.marginLeft=c+"px"):void(a.style.right="0px");if(parseInt(a.style.marginLeft)0?a.style.removeProperty("margin-left"):a.style.marginLeft=c+"px":(a.style.removeProperty("margin-left"),a.style.marginLeft=Cn+"px"),t.isTablet){var l=a.previousElementSibling;if(Sn&&Sn.contains(a));else if(l){var u=l.getBoundingClientRect(),d=Math.trunc(u.left);a.style.left=d+"px"}}}}else{var p=new Error("Dropdown could not be initialized");e.logError("Error:",p)}}));e.onDestroy((function(){r.destroy()}))}(e,t),Pn(e),e.addElementListener(document,"DOMContentLoaded",(function(){Pn(e)})),jn(e,t);var r=e.getConfig().bucketConfig,s=void 0===r?{}:r,c=s.enableDynamicNavfocus,l=void 0!==c&&c,u=s.enableFuzzyMatching;if(l&&(Rn=void 0!==u&&u,Yn(t)),e.addEventListener("nav:setFocus",(function(e){var n=e.detail,o=void 0===n?{}:n,i=o.hostname,a=void 0===i?window.location.hostname:i,r=o.pathname,s=void 0===r?window.location.pathname:r,c=o.options;Yn(t,s,a,void 0===c?{}:c)})),i){var d=document.createElement("style");d.title="ybar_nav_interim",document.head.appendChild(d);var p=ze("#ybar-nav-more-menu ul a","click",(function(t){e.triggerEvent("navigation",{event:t})}));e.addEventListener("nav:resize",(function(){Un(t,d,a)})),Un(t,d,a);var f=e.getConfig();if("complete"===document.readyState)Fn(e,t,d,a);else{var m="load";("news"===f.property&&("zh-Hant-TW"===f.locale||"zh-Hant-HK"===f.locale)||"finance"===f.property&&"zh-Hant-TW"===f.locale)&&(m="DOMContentLoaded"),e.addElementListener(window,m,(function(){Fn(e,t,d,a)}))}e.addElementListener(window,"resize",(function(){Un(t,d,a)})),e.onDestroy((function(){var e=d.parentNode;null==e||e.removeChild(d),p.destroy()}))}Gn(e,t)},Wn=function(e,t){var n=["zh-Hant-TW","zh-Hant-HK"].includes(e.getConfig().locale);return t.isFuji2&&n},Gn=function(e,t){if(t.isNavHidden){var n=!1;e.addElementListener(document,"DOMContentLoaded",(function(n){t.isNavHidden()&&e.triggerEvent("l2:hide",{event:n})})),e.addElementListener(window,"resize",(function(o){!n&&t.isNavHidden()&&e.triggerEvent("l2:hide",{event:o}),n=t.isNavHidden()}))}},Kn="#ybar-nav-more-menu";ge("ybar-mod-navigation",(function(e){var t,n=e.getConfig(),o={dropdownWrapperClass:xn,isFuji2:null!==document.querySelector(".ybar-ytheme-fuji2")||null!==document.querySelector(".ybar-ytheme-crunch"),isTablet:null!==document.querySelector(".tablet")||"tablet"===n.device||matchMedia("(hover: none)").matches,longListClass:Nn,moreMenuDropdown:document.querySelector("".concat(Kn," ul")),moreMenuNavItem:document.querySelector(Kn),moreMenuNavLinksSelector:"".concat(Kn," ul a"),moreMenuMainFocusItem:document.querySelector("".concat(Kn," > button")),moreMenuNavItemClass:Dn,navigationDropdownItemClass:In,navigationDropdownListClass:qn,navItems:document.querySelectorAll("ul.".concat(Bn," li.").concat(On)),topLevelNavLinks:document.querySelectorAll("li.".concat(On," > a")),navLinks:document.querySelectorAll(".ybar-mod-navigation a"),navList:document.querySelector(".ybar-mod-navigation ul"),shiftMoreMenuEnabled:document.querySelector(".ybar-shift-more-menu"),ybarNav:document.getElementById("ybar-navigation"),ybarNavigationItemClass:On,dropdownOpenClass:An,hasNavPlacement:document.getElementById("ybar-nav-placement"),marginOffset:function(e){var t=window.getComputedStyle(e),o=parseInt(t.marginLeft,10)+parseInt(t.marginRight,10);return"sports"===n.property?parseInt(t.marginRight):"finance"===n.property&&"crunch"===n.ytheme?(o-=1.8)>5?o:5:"crunch"===n.ytheme?o:0},navigationPlacement:function(){return t||(t=document.getElementById("ybar-nav-placement")),t},isNavHidden:function(){var e=!1;return"finance"===n.property&&"crunch"===n.ytheme&&document.documentElement.clientWidth=5||n.initialized?clearInterval(a):(void 0!==n.isNotificationsSupported()&&n.init(),i++)}),100)}return e.prototype.show=function(e){var t;this.initialized&&(this.historyEnabled&&!e||(document.body.classList.add(eo),null===(t=this.a11yMenu)||void 0===t||t.setAttribute("aria-expanded","true"),this.lastSeen=(new Date).getTime()))},e.prototype.hide=function(){var e;this.initialized&&(this.historyEnabled&&document.body.classList.remove(to),document.body.classList.remove(eo),null===(e=this.a11yMenu)||void 0===e||e.setAttribute("aria-expanded","false"))},Object.defineProperty(e.prototype,"lastSeen",{get:function(){return this.state.lastSeen},set:function(e){this.state.lastSeen=e,this.setLocalStorage()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"manuallyClosed",{get:function(){return this.state.manuallyClosed},set:function(e){this.state.manuallyClosed=!!e,this.setLocalStorage()},enumerable:!1,configurable:!0}),e.prototype.init=function(){this.isNotificationsSupported()&&this.isNotificationPermissionDefault()&&(this.historyEnabled||document.body.classList.add(to),this.addEventListeners(),this.initialized=!0,this.hasSeenTooltipIn(this.manuallyClosed?6048e5:Qn)||(document.body.classList.add(to),this.show(!0)))},e.prototype.addEventListeners=function(){var e=this;this.ybar.addElementListener(this.container.getElementsByClassName(no)[0],"click",(function(){e.hide(),e.manuallyClosed=!0}))},e.prototype.isNotificationsSupported=function(){var e;return null===(e=null===window||void 0===window?void 0:window.subscriptionHelperInstance)||void 0===e?void 0:e.checkIsSupportedBrowser()},e.prototype.isNotificationPermissionDefault=function(){var e;return"default"===(null===(e=window.Notification)||void 0===e?void 0:e.permission)},e.prototype.hasSeenTooltipIn=function(e){if(!this.lastSeen)return!1;var t=new Date(this.lastSeen),n=new Date;return t.getTime()+e>n.getTime()},e.prototype.setLocalStorage=function(){var e;null===(e=window.localStorage)||void 0===e||e.setItem(Zn,JSON.stringify(this.state))},e.prototype.getLocalStorage=function(){var e,t,n=null===(e=window.localStorage)||void 0===e?void 0:e.getItem(Zn);if(null===n)return null;try{return JSON.parse(n)}catch(e){return null===(t=window.localStorage)||void 0===t||t.removeItem(Zn),null}},e}(),ao=-1,ro={0:0,1:1,9:9,99:99,150:150},so=function(e,t){var n,o=t.isUH3,i=t.notifMenu,a=t.notifMenuOpener,r=t.notifDropdown,s=t.notifBadge,c=t.notifContainer,l=t.notifLabel;t.tooltipContainer&&(n=new io(e,t.tooltipContainer));var u=K(),d=function(){i&&(i.checked=!1),null==r||r.classList.remove("ybarMenuOpen")},p=function(){var t;e.triggerEvent("close-all-menus"),!!document.querySelector(".display-push-promos .".concat(Jn))||(u.resetBadge(),s&&(o?null===(t=s.parentElement)||void 0===t||t.classList.remove(Vn):s.style.display="none"))},f=function(e){var t,n;0===ao&&(null===(t=null==e?void 0:e.css)||void 0===t?void 0:t.length)&&e.css.length>0&&(ao++,function(e){for(var t=function(e){var t=document.createElement("link");t.rel="stylesheet",t.type="text/css",t.href=e,document.getElementsByTagName("head")[0].appendChild(t)},n=0;n0&&s)if(o){var a,r=(a=e.newCount)>99;s.textContent=r?"99+":a+"",null===(n=s.parentElement)||void 0===n||n.classList.add(Vn)}else s.style.display="block"},m=function(){u.refreshPanel().then(f).then(ne).catch((function(){}))};if(e.addEventListener("close-all-menus",(function(){Ce(c)||d()})),c){m();var v=setInterval((function(){m()}),3e5);e.onDestroy((function(){clearInterval(v)})),o?l&&l.addEventListener("mouseenter",(function(){p(),null==n||n.show()})):c.addEventListener("mouseenter",(function(){p(),null==n||n.show()})),c.addEventListener("mouseleave",(function(){d(),null==n||n.hide()}))}e.addElementListener(i,"click",(function(){te("ybar","notification","",{elm:"btn",elmt:"block"===(null==s?void 0:s.style.display)?"newalert":"",subsec:"notification",itc:"1"})})),a&&Ae(e,a,"ybar","notification",{elm:"expand",subsec:"notifications",itc:"2"}),e.addElementListener(r,"focusin",(function(){i&&(i.checked=!0),null==r||r.classList.add("ybarMenuOpen")})),e.addElementListener(r,"focusout",d),e.addElementListener(t.tooltipContainer,"focusin",(function(){null==n||n.show()})),e.addElementListener(t.tooltipContainer,"focusout",(function(){null==n||n.hide()}));var y=e.getConfig().device,h=document.getElementById("ybar");h&&h.classList.contains("ybar-ytheme-crunch")&&(ao=0);var b=new RegExp("[?&]notifications=1(&|#|$)");"desktop"===y&&i&&b.test(window.location.search)&&(i.checked=!0)};ge("ybar-mod-notification",(function(e){var t={isUH3:"crunch"===e.getConfig().ytheme,notifContainer:document.getElementById("notification-container"),notifBadge:document.getElementById("notif-badge"),notifMenu:document.getElementById("ybarNotificationMenu"),notifMenuOpener:document.querySelector("#ybarNotificationMenu + label"),notifDropdown:document.getElementById("notifDropdownContainer"),tooltipContainer:document.querySelector(".".concat($n)),notifLabel:document.querySelector(".".concat(Xn))};t.notifDropdown&&so(e,t)}))}()}};]]>Bryan White, The Motley FoolTue, March 3, 2026 at 8:37 PM GMT+1 4 min readShares of AppFolio (NASDAQ: APPF), which makes software landlords and property managers use to run their businesses, are down 36% over the past six months as I write this, including an 18.5% decline after the company reported fourth-quarter earnings in January.Slowing revenue growth, from 28% in 2024 to a projected 16.5% this year, has weighed on the stock. Adding to the negativity has been the fact that investor sentiment has shifted away from software-as-a-service (SaaS) stocks broadly, with the iShares Expanded Tech-Software Sector ETF (NYSEMKT: IGV) dropping more than 24% in early 2026 on fears that artificial intelligence (AI) tools will reduce demand for traditional software.Will AI create the world's first trillionaire? Our team just released a report on the one little-known company, called an "Indispensable Monopoly" providing the critical technology Nvidia and Intel both need. Continue »However, AppFolio sales grew 20% last year, and free-cash-flow (FCF) margin widened to 24.8%. After its recent slide, the stock is as cheap as it's ever been on a price-to-sales and FCF basis.Some of the strongest software businesses keep customers not by providing the best product on the market, but by being the hardest to replace. Microsoft is a prime example. 365 (formerly Office) is still widely used because companies have built their workflows, files, and decades of muscle memory on the software. By the time a competitor offered something better, switching meant retraining the entire workforce.AppFolio is building a similar advantage in the commercial real estate market. A property manager running a 500-unit portfolio has years of tenant records, accounting data, and maintenance history stored in AppFolio's platform.The company ended the year managing 9.4 million rental units across 22,000 users, up 8% and 6% from a year earlier. Full-year sales growth outpaced unit growth thanks to existing customers adding more services. Value-added services now represent 76% of total revenue, and more than one-quarter of the user base is on its premium Plus and Max plans.Image source: Getty Images.Now, AppFolio is pushing beyond the property manager and selling directly to the millions of tenants already in the system. Its Resident Onboarding Lift product automates enrollment into services such as renters insurance and group-rate internet at move-in. With more than 500,000 units added in 2025, that's a solid secondary source of growth.Free cash flow rose 30% to $236 million last year, and FCF margin expanded by 200 basis points. The stock now trades at around 24 times trailing FCF, down considerably over the past two years, and the balance sheet is clean with zero debt and $250 million in cash.Terms and Privacy PolicyPrivacy & Cookie SettingsMore InfoS&P Futures6,865.50 -10.50 (-0.15%)Dow Futures48,641.00 -155.00 (-0.32%)Nasdaq Futures25,083.00 -45.25 (-0.18%)Russell 2000 Futures2,625.60 -12.00 (-0.45%)VIX21.15 -2.42 (-10.27%)Gold5,174.20 +39.50 (+0.77%)Trending tickersBTC-USD Bitcoin USD 72,228.81 +3,399.95 (+4.94%)AVGO Broadcom Inc. 317.53 +3.69 (+1.18%)TTD The Trade Desk, Inc. 25.17 +0.17 (+0.68%)HOOD Robinhood Markets, Inc. 82.21 +6.14 (+8.07%)ETH-USD Ethereum USD 2,118.59 +131.28 (+6.61%)PortfolioSign in to access your portfolioSign inTop gainersSTVN Stevanato Group S.p.A. 17.50 +2.77 (+18.81%)GLXY Galaxy Digital 24.34 +3.66 (+17.70%)MRNA Moderna, Inc. 57.80 +7.97 (+15.99%)SSRM SSR Mining Inc. 33.26 +4.33 (+14.97%)COIN Coinbase Global, Inc. 208.93 +26.57 (+14.57%)Top losersIBRX ImmunityBio, Inc. 9.00 -1.00 (-10.00%)EMAT Evolution Metals & Technologies Corp. 8.51 -0.70 (-7.65%)FROG JFrog Ltd. 39.19 -3.05 (-7.22%)BF-B Brown-Forman Corporation 26.26 -1.87 (-6.65%)AXTI AXT, Inc. 39.13 -2.63 (-6.30%)Most activeNVDA NVIDIA Corporation 183.04 +2.99 (+1.66%)PLUG Plug Power Inc. 2.4800 +0.2500 (+11.21%)ONDS Ondas Inc. 10.51 +0.49 (+4.89%)INTC Intel Corporation 45.58 +2.48 (+5.75%)NOK Nokia Oyj 8.15 +0.08 (+0.99%)Top economic eventsEarnings eventsMy earnings eventsEarnings events