UNPKG

@styleless-ui/react

Version:

Completely unstyled, headless and accessible React UI components.

1 lines 2.79 kB
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},__assign.apply(this,arguments)},__createBinding=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&__createBinding(t,e,r);return __setModuleDefault(t,e),t},__rest=this&&this.__rest||function(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(n=Object.getOwnPropertySymbols(e);i<n.length;i++)t.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(e,n[i])&&(r[n[i]]=e[n[i]])}return r};Object.defineProperty(exports,"__esModule",{value:!0});var jsx_runtime_1=require("react/jsx-runtime"),React=__importStar(require("react")),utils_1=require("../utils"),mergeProps=function(e,t){var r=Object.keys(t).reduce((function(n,i){var s,o,a,l=e[i],_=t[i],c="style"===i,u="className"===i;if(/^on[A-Z]/.test(i)){if(l&&_)return __assign(__assign({},n),((s={})[i]=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];_.apply(void 0,e),l.apply(void 0,e)},s));l&&(r[i]=l)}else{if(c)return __assign(__assign({},n),((o={})[i]=__assign(__assign({},l),_),o));if(u)return __assign(__assign({},n),((a={})[i]=[l,_].filter(Boolean).join(" "),a))}return n}),__assign({},t));return __assign(__assign({},e),r)},AsCloneBase=function(e,t){var r=e.children,n=__rest(e,["children"]);if(React.isValidElement(r)){if((0,utils_1.isFragment)(r))throw new Error("[StylelessUI][As]: The component is not expected to receive a React Fragment child.");var i=r.props,s=mergeProps(n,i);return s.ref=(0,utils_1.forkRefs)(t,r.ref),React.cloneElement(r,s)}try{return React.Children.only(null)}catch(e){throw new Error("[StylelessUI][As]: The component expected to receive a single React element child.")}},AsClone=(0,utils_1.componentWithForwardedRef)(AsCloneBase),AsBase=function(e,t){var r=e.children,n=__rest(e,["children"]);return(0,jsx_runtime_1.jsx)(AsClone,__assign({ref:t},n,{children:r}))},As=(0,utils_1.componentWithForwardedRef)(AsBase);exports.default=As;