UNPKG

tsm-ui

Version:

### Welcome to TSM-UI: Your Design System for Modern Web Development

2 lines (1 loc) 3.12 kB
import{r as t}from"./index.d591fb27.js";import{_ as $}from"./extends.bd401154.js";import"./index.237cf077.js";function M(e,o=[]){let r=[];function n(l,c){const i=t.exports.createContext(c),u=r.length;r=[...r,c];function d(p){const{scope:a,children:x,...f}=p,C=(a==null?void 0:a[e][u])||i,E=t.exports.useMemo(()=>f,Object.values(f));return t.exports.createElement(C.Provider,{value:E},x)}function v(p,a){const x=(a==null?void 0:a[e][u])||i,f=t.exports.useContext(x);if(f)return f;if(c!==void 0)return c;throw new Error(`\`${p}\` must be used within \`${l}\``)}return d.displayName=l+"Provider",[d,v]}const s=()=>{const l=r.map(c=>t.exports.createContext(c));return function(i){const u=(i==null?void 0:i[e])||l;return t.exports.useMemo(()=>({[`__scope${e}`]:{...i,[e]:u}}),[i,u])}};return s.scopeName=e,[n,S(s,...o)]}function S(...e){const o=e[0];if(e.length===1)return o;const r=()=>{const n=e.map(s=>({useScope:s(),scopeName:s.scopeName}));return function(l){const c=n.reduce((i,{useScope:u,scopeName:d})=>{const p=u(l)[`__scope${d}`];return{...i,...p}},{});return t.exports.useMemo(()=>({[`__scope${o.scopeName}`]:c}),[c])}};return r.scopeName=o.scopeName,r}function k(e){const o=t.exports.useRef(e);return t.exports.useEffect(()=>{o.current=e}),t.exports.useMemo(()=>(...r)=>{var n;return(n=o.current)===null||n===void 0?void 0:n.call(o,...r)},[])}const A=Boolean(globalThis==null?void 0:globalThis.document)?t.exports.useLayoutEffect:()=>{};function y(e,o){typeof e=="function"?e(o):e!=null&&(e.current=o)}function b(...e){return o=>e.forEach(r=>y(r,o))}function B(...e){return t.exports.useCallback(b(...e),e)}const h=t.exports.forwardRef((e,o)=>{const{children:r,...n}=e,s=t.exports.Children.toArray(r),l=s.find(N);if(l){const c=l.props.children,i=s.map(u=>u===l?t.exports.Children.count(c)>1?t.exports.Children.only(null):t.exports.isValidElement(c)?c.props.children:null:u);return t.exports.createElement(m,$({},n,{ref:o}),t.exports.isValidElement(c)?t.exports.cloneElement(c,void 0,i):null)}return t.exports.createElement(m,$({},n,{ref:o}),r)});h.displayName="Slot";const m=t.exports.forwardRef((e,o)=>{const{children:r,...n}=e;return t.exports.isValidElement(r)?t.exports.cloneElement(r,{..._(n,r.props),ref:o?b(o,r.ref):r.ref}):t.exports.Children.count(r)>1?t.exports.Children.only(null):null});m.displayName="SlotClone";const P=({children:e})=>t.exports.createElement(t.exports.Fragment,null,e);function N(e){return t.exports.isValidElement(e)&&e.type===P}function _(e,o){const r={...o};for(const n in o){const s=e[n],l=o[n];/^on[A-Z]/.test(n)?s&&l?r[n]=(...i)=>{l(...i),s(...i)}:s&&(r[n]=s):n==="style"?r[n]={...s,...l}:n==="className"&&(r[n]=[s,l].filter(Boolean).join(" "))}return{...e,...r}}const g=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","span","svg","ul"],H=g.reduce((e,o)=>{const r=t.exports.forwardRef((n,s)=>{const{asChild:l,...c}=n,i=l?h:o;return t.exports.useEffect(()=>{window[Symbol.for("radix-ui")]=!0},[]),t.exports.createElement(i,$({},c,{ref:s}))});return r.displayName=`Primitive.${o}`,{...e,[o]:r}},{});export{M as $,H as a,k as b,A as c,B as d};