ivt
Version:
Ivt Components Library
3 lines (2 loc) • 3.65 kB
JavaScript
import*as e from"react";import r from"react";import{c as a}from"../chunks/index-Dr5ObK3L.mjs";import{P as o}from"../chunks/index-DiPp8h7C.mjs";import{c as t,I as i,R as s}from"../chunks/index-9IZ9Aw1I.mjs";import{a as n,t as l}from"../chunks/toggle-zGLA0JZ_.mjs";import{u as d}from"../chunks/index-BOUg6o32.mjs";import{u}from"../chunks/index-DBjm5RwN.mjs";import{jsx as c}from"react/jsx-runtime";import{c as m}from"../chunks/utils-C-nkZ_Ir.mjs";import"react-dom";import"@radix-ui/react-slot";import"../chunks/index-DVnblQ-a.mjs";import"@radix-ui/react-collection";import"../chunks/index-C-j8pU3U.mjs";import"../chunks/index-UQBMY2z8.mjs";import"../chunks/index-0-u0cdz8.mjs";import"../chunks/index-DSUHCtxx.mjs";import"class-variance-authority";import"../chunks/bundle-mjs-DHbvkKp4.mjs";var p="ToggleGroup",[f,g]=a(p,[t]),v=t(),h=r.forwardRef((e,r)=>{const{type:a,...o}=e;if("single"===a){return c(j,{...o,ref:r})}if("multiple"===a){return c(b,{...o,ref:r})}throw new Error(`Missing prop \`type\` expected on \`${p}\``)});h.displayName=p;var[x,k]=f(p),j=r.forwardRef((e,a)=>{const{value:o,defaultValue:t,onValueChange:i=()=>{},...s}=e,[n,l]=d({prop:o,defaultProp:t??"",onChange:i,caller:p});return c(x,{scope:e.__scopeToggleGroup,type:"single",value:r.useMemo(()=>n?[n]:[],[n]),onItemActivate:l,onItemDeactivate:r.useCallback(()=>l(""),[l]),children:c(C,{...s,ref:a})})}),b=r.forwardRef((e,a)=>{const{value:o,defaultValue:t,onValueChange:i=()=>{},...s}=e,[n,l]=d({prop:o,defaultProp:t??[],onChange:i,caller:p}),u=r.useCallback(e=>l((r=[])=>[...r,e]),[l]),m=r.useCallback(e=>l((r=[])=>r.filter(r=>r!==e)),[l]);return c(x,{scope:e.__scopeToggleGroup,type:"multiple",value:n,onItemActivate:u,onItemDeactivate:m,children:c(C,{...s,ref:a})})});h.displayName=p;var[_,w]=f(p),C=r.forwardRef((e,r)=>{const{__scopeToggleGroup:a,disabled:t=!1,rovingFocus:i=!0,orientation:n,dir:l,loop:d=!0,...m}=e,p=v(a),f=u(l),g={role:"group",dir:f,...m};return c(_,{scope:a,rovingFocus:i,disabled:t,children:i?c(s,{asChild:!0,...p,orientation:n,dir:f,loop:d,children:c(o.div,{...g,ref:r})}):c(o.div,{...g,ref:r})})}),z="ToggleGroupItem",y=r.forwardRef((e,a)=>{const o=k(z,e.__scopeToggleGroup),t=w(z,e.__scopeToggleGroup),s=v(e.__scopeToggleGroup),n=o.value.includes(e.value),l=t.disabled||e.disabled,d={...e,pressed:n,disabled:l},u=r.useRef(null);return t.rovingFocus?c(i,{asChild:!0,...s,focusable:!l,active:n,ref:u,children:c(G,{...d,ref:a})}):c(G,{...d,ref:a})});y.displayName=z;var G=r.forwardRef((e,r)=>{const{__scopeToggleGroup:a,value:o,...t}=e,i=k(z,a),s={role:"radio","aria-checked":e.pressed,"aria-pressed":void 0},l="single"===i.type?s:void 0;return c(n,{...l,...t,ref:r,onPressedChange:e=>{e?i.onItemActivate(o):i.onItemDeactivate(o)}})}),T=h,I=y;const R=e.createContext({size:"default",variant:"default"});function N({className:r,variant:a,size:o,children:t,...i}){return e.createElement(T,{"data-slot":"toggle-group","data-variant":a,"data-size":o,className:m("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs",r),...i},e.createElement(R.Provider,{value:{variant:a,size:o}},t))}function P({className:r,children:a,variant:o,size:t,...i}){const s=e.useContext(R);return e.createElement(I,{"data-slot":"toggle-group-item","data-variant":s.variant||o,"data-size":s.size||t,className:m(l({variant:s.variant||o,size:s.size||t}),"min-w-0 flex-1 shrink-0 rounded-none px-3 py-1 shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",r),...i},a)}export{N as ToggleGroup,P as ToggleGroupItem};
//# sourceMappingURL=index.mjs.map