UNPKG

@anoki/fse-marche-ui

Version:

FSE UI components library

3 lines (2 loc) 1.49 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),y=require("./index.cjs237.js"),M=require("./index.cjs236.js"),I=require("./index.cjs257.js"),f=require("./index.cjs137.js");function O(l){const u=l+"CollectionProvider",[E,A]=y.createContextScope(u),[N,d]=E(u,{collectionRef:{current:null},itemMap:new Map}),a=n=>{const{scope:e,children:s}=n,t=r.useRef(null),o=r.useRef(new Map).current;return f.jsxRuntimeExports.jsx(N,{scope:e,itemMap:o,collectionRef:t,children:s})};a.displayName=u;const m=l+"CollectionSlot",p=r.forwardRef((n,e)=>{const{scope:s,children:t}=n,o=d(m,s),c=M.useComposedRefs(e,o.collectionRef);return f.jsxRuntimeExports.jsx(I.Slot,{ref:c,children:t})});p.displayName=m;const C=l+"CollectionItemSlot",x="data-radix-collection-item",R=r.forwardRef((n,e)=>{const{scope:s,children:t,...o}=n,c=r.useRef(null),S=M.useComposedRefs(e,c),i=d(C,s);return r.useEffect(()=>(i.itemMap.set(c,{ref:c,...o}),()=>void i.itemMap.delete(c))),f.jsxRuntimeExports.jsx(I.Slot,{[x]:"",ref:S,children:t})});R.displayName=C;function T(n){const e=d(l+"CollectionConsumer",n);return r.useCallback(()=>{const t=e.collectionRef.current;if(!t)return[];const o=Array.from(t.querySelectorAll(`[${x}]`));return Array.from(e.itemMap.values()).sort((i,j)=>o.indexOf(i.ref.current)-o.indexOf(j.ref.current))},[e.collectionRef,e.itemMap])}return[{Provider:a,Slot:p,ItemSlot:R},T,A]}exports.createCollection=O; //# sourceMappingURL=index.cjs272.js.map