siegel
Version:
Web application development ecosystem
1 lines • 848 B
JavaScript
import e,{useLayoutEffect as t,useState as r}from"react";import n from"../../../common/is/exists/index.js";import o from"../../ui/_internals/component.js";import s from"../../ui/_internals/ref_apply.js";import{BASENAME_UPDATE_EVENT_TYPE as a}from"../constants.js";import i from"../get_final_url.js";let l="-ui-internal_link",m=o(l,{},o=>{let{href:l,activeClassName:m,refApi:f,onClick:p,state:c=null}=o;if(n(history.basename)){let[e,n]=r(0);t(()=>{function t(){n(e+1)}return addEventListener(a,t),()=>{removeEventListener(a,t)}},[history.basename])}let{pathname:u}=location,d=i(u,l),v={...o,onClick(e){p?.(e),e.defaultPrevented||(e.preventDefault(),history.push(d,c))},href:d};return m&&u==d&&(v.className?v.className+=` ${m}`:v.className=m),delete v.activeClassName,f&&s(v,o),e.createElement("a",{...v})});export default m;export{l as componentID};