@hoosei/voxweave-react
Version:
A customizable and interactive voice UI component for React applications
3 lines (2 loc) • 1.54 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const v=require("react"),q=require("./index28.js"),I=require("./index24.js"),M=require("./index21.js"),m=require("react/jsx-runtime"),P=t=>t&&t.__esModule?t:{default:t},r=P(v);function j(t){const u=t+"CollectionProvider",[_,A]=q.createContextScope(u),[N,d]=_(u,{collectionRef:{current:null},itemMap:new Map}),p=l=>{const{scope:e,children:s}=l,o=r.default.useRef(null),c=r.default.useRef(new Map).current;return m.jsx(N,{scope:e,itemMap:c,collectionRef:o,children:s})};p.displayName=u;const a=t+"CollectionSlot",T=M.createSlot(a),C=r.default.forwardRef((l,e)=>{const{scope:s,children:o}=l,c=d(a,s),n=I.useComposedRefs(e,c.collectionRef);return m.jsx(T,{ref:n,children:o})});C.displayName=a;const f=t+"CollectionItemSlot",R="data-radix-collection-item",y=M.createSlot(f),S=r.default.forwardRef((l,e)=>{const{scope:s,children:o,...c}=l,n=r.default.useRef(null),x=I.useComposedRefs(e,n),i=d(f,s);return r.default.useEffect(()=>(i.itemMap.set(n,{ref:n,...c}),()=>void i.itemMap.delete(n))),m.jsx(y,{[R]:"",ref:x,children:o})});S.displayName=f;function E(l){const e=d(t+"CollectionConsumer",l);return r.default.useCallback(()=>{const o=e.collectionRef.current;if(!o)return[];const c=Array.from(o.querySelectorAll(`[${R}]`));return Array.from(e.itemMap.values()).sort((i,O)=>c.indexOf(i.ref.current)-c.indexOf(O.ref.current))},[e.collectionRef,e.itemMap])}return[{Provider:p,Slot:C,ItemSlot:S},E,A]}exports.createCollection=j;
//# sourceMappingURL=index76.js.map