@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.32 kB
JavaScript
'use client';
import {jsx,jsxs}from'react/jsx-runtime';import {Search,Loop,CancelFill}from'@accelint/icons';import'client-only';import {useContextProps,SearchField,composeRenderProps,Input,Button}from'react-aria-components';import {Icon}from'../icon/index.js';import {IconProvider}from'../icon/context.js';import {SearchFieldContext}from'./context.js';import {SearchFieldStyles,SearchFieldStylesDefaults}from'./styles.js';const{field:v,input:g,search:C,loading:x,clear:A}=SearchFieldStyles();function w({ref:s,...i}){[i,s]=useContextProps(i,s??null,SearchFieldContext);const{classNames:a,inputProps:t,isLoading:n=false,variant:r=SearchFieldStylesDefaults.variant,...m}=i;return jsx(IconProvider,{size:"small",children:jsxs(SearchField,{...m,ref:s,className:composeRenderProps(a?.field,o=>v({className:o,variant:r})),children:[jsx(Icon,{className:C({className:a?.search,variant:r}),children:jsx(Search,{})}),jsx(Input,{...t,className:composeRenderProps(a?.input,o=>g({className:o,variant:r})),type:"search"}),n?jsx(Icon,{className:x({className:a?.loading,variant:r}),children:jsx(Loop,{})}):jsx(Button,{className:composeRenderProps(a?.clear,o=>A({className:o,variant:r})),children:jsx(Icon,{children:jsx(CancelFill,{})})})]})})}export{w as SearchField};//# sourceMappingURL=index.js.map
//# sourceMappingURL=index.js.map