@start-base/start-ui
Version:
<p align="center"> <a href="https://startbase.dev" target="_blank"> <img src="https://startbase.dev/apple-touch-icon.png" width="60px" style="padding-top: 60px" /> </a> </p>
1 lines • 2.41 kB
JavaScript
import e,{createContext as l,forwardRef as o,useMemo as r,useContext as a,useState as t}from"react";import g from"clsx";var n=Object.defineProperty,i=Object.defineProperties,d=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,c=Object.prototype.propertyIsEnumerable,s=(e,l,o)=>l in e?n(e,l,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[l]=o,p=(e,l)=>{for(var o in l||(l={}))m.call(l,o)&&s(e,o,l[o]);if(u)for(var o of u(l))c.call(l,o)&&s(e,o,l[o]);return e},v=(e,l)=>i(e,d(l)),f=(e,l)=>{var o={};for(var r in e)m.call(e,r)&&l.indexOf(r)<0&&(o[r]=e[r]);if(null!=e&&u)for(var r of u(e))l.indexOf(r)<0&&c.call(e,r)&&(o[r]=e[r]);return o},b="SUI-ToggleGroup-module-togglegroup-ekCj7",T="SUI-ToggleGroup-module-horizontal-1tZWb",I="SUI-ToggleGroup-module-vertical-4ELen",S={root:"SUI-Toggle-module-root-D8-kB",primary:"SUI-Toggle-module-primary-h-i1b",default:"SUI-Toggle-module-default-4hR0n",toggled:"SUI-Toggle-module-toggled-YNu2n",untoggled:"SUI-Toggle-module-untoggled-rUL1M",secondary:"SUI-Toggle-module-secondary-55MCx",destructive:"SUI-Toggle-module-destructive-gayD7",outline:"SUI-Toggle-module-outline-mSn3s",small:"SUI-Toggle-module-small-nIJln",medium:"SUI-Toggle-module-medium-xuc5B",large:"SUI-Toggle-module-large-cc7wQ",fluid:"SUI-Toggle-module-fluid-N2aHr",disabled:"SUI-Toggle-module-disabled-6Mb3X"},y=l({value:null,onChange:()=>({})}),U=o(((l,o)=>{var a=l,{value:t,onChange:n,children:i,direction:d="horizontal"}=a,u=f(a,["value","onChange","children","direction"]);const m=r((()=>({value:t,onChange:n})),[n,t]);return e.createElement(y.Provider,{value:m},e.createElement("div",v(p({ref:o},u),{className:g(b,"horizontal"===d?T:I)}),i))}));U.displayName="ToggleWrapper";var h=l=>{var o=l,{value:r,initialState:n=!1,onToggle:i,color:d="primary",variant:u="default",size:m="medium",fluid:c=!1,className:s="",disabled:b=!1,children:T}=o,I=f(o,["value","initialState","onToggle","color","variant","size","fluid","className","disabled","children"]);const{value:U,onChange:h}=a(y),[O,C]=t(n),N=U===r;return e.createElement("button",v(p({},I),{type:"button",className:g(S.root,S[u],S[d],S[m],c&&S.fluid,O?S.toggled:S.untoggled,b&&S.disabled,N,s),onClick:()=>{if(b)return;const e=!O;C(e),i&&i(e),h&&h(r)},disabled:b}),T)};h.displayName="ToggleItem";var O={ToggleWrapper:U,ToggleItem:h};export{O as ToggleGroup,h as ToggleItem,U as ToggleWrapper};