@accelint/design-toolkit
Version:
An open-source component library to serve as part of the entire ecosystem of UX for Accelint.
4 lines (3 loc) • 1.18 kB
JavaScript
'use client';
import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {ArrowNortheast}from'@accelint/icons';import'client-only';import {useContext,useRef}from'react';import {Provider,TextContext,Link,composeRenderProps}from'react-aria-components';import {Icon}from'../icon/index.js';import {Tooltip}from'../tooltip/index.js';import {TooltipTrigger}from'../tooltip/trigger.js';import {SidenavContext}from'./context.js';import {SidenavStyles}from'./styles.js';const{link:L,text:P,transient:m,tooltip:y}=SidenavStyles();function z({children:p,classNames:a,textValue:l,...c}){const{isOpen:f}=useContext(SidenavContext),r=useRef(null);return jsx(Provider,{values:[[TextContext,{className:P({className:m()})}]],children:jsxs(TooltipTrigger,{isDisabled:f,children:[jsx(Link,{...c,ref:r,className:composeRenderProps(a?.button,t=>L({className:t})),children:composeRenderProps(p,t=>jsxs(Fragment,{children:[t,jsx(Icon,{className:m(),children:jsx(ArrowNortheast,{})})]}))}),jsxs(Tooltip,{parentRef:r,placement:"right",className:y(),children:[l,jsx(Icon,{children:jsx(ArrowNortheast,{})})]})]})})}export{z as SidenavLink};//# sourceMappingURL=link.js.map
//# sourceMappingURL=link.js.map