@zemd/react-slottable
Version:
A lightweight concept to customize subcomponents in React
2 lines (1 loc) • 1.12 kB
JavaScript
;var f=Object.create;var l=Object.defineProperty;var i=Object.getOwnPropertyDescriptor;var F=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var m=(t,e)=>l(t,"name",{value:e,configurable:!0});var M=(t,e)=>{for(var o in e)l(t,o,{get:e[o],enumerable:!0})},c=(t,e,o,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of F(e))!E.call(t,r)&&r!==o&&l(t,r,{get:()=>e[r],enumerable:!(s=i(e,r))||s.enumerable});return t};var W=(t,e,o)=>(o=t!=null?f(C(t)):{},c(e||!t||!t.__esModule?l(o,"default",{value:t,enumerable:!0}):o,t)),b=t=>c(l({},"__esModule",{value:!0}),t);var x={};M(x,{useSlot:()=>d});module.exports=b(x);var n=W(require("react"),1);var a=m(({children:t})=>n.default.createElement(n.default.Fragment,null,t),"SlotFragment");a.displayName="@zemd/react-slottable/SlotFragment";function d(t,e,{slot:o,...s}={}){let{slots:r,slotProps:p}=e,u=n.default.useMemo(()=>r?.[t]??o??a,[t,r,o]);return n.default.useMemo(()=>m(S=>{let g={...S,...p?.[t],...s};return n.default.createElement(u,g)},"WrappedComponent"),[u,t,p,s])}m(d,"useSlot");0&&(module.exports={useSlot});