@guruhotel/aura-ui
Version:
⚛️ React UI library by GuruHotel
1 lines • 1.96 kB
JavaScript
exports.__esModule=!0,exports.default=void 0;var e=function(e,n){if(!n&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=l(n);if(r&&r.has(e))return r.get(e);var t={},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var s=i?Object.getOwnPropertyDescriptor(e,o):null;s&&(s.get||s.set)?Object.defineProperty(t,o,s):t[o]=e[o]}t.default=e,r&&r.set(e,t);return t}(require("react")),n=require("../spinner"),r=require("../text"),t=require("./button.styles"),i=require("react/jsx-runtime");function l(e){if("function"!=typeof WeakMap)return null;var n=new WeakMap,r=new WeakMap;return(l=function(e){return e?r:n})(e)}const o=({icon:n})=>e.default.cloneElement(n,{color:"currentColor"}),s=({placement:e,spinner:r})=>(0,i.jsx)(t.LoaderContainer,{placement:e,children:r||(0,i.jsx)(n.Spinner,{speed:"fast"})});var a=(0,e.forwardRef)((({css:e={},isLoading:n,isDisabled:l=!1,disabled:a,loadingText:c,spinner:u,spinnerPlacement:d="right",variant:p="solid",colorScheme:f="guru",size:g="md",rounded:m="lg",rightIcon:x,leftIcon:j,icon:h,children:v,...y},b)=>{if(!(void 0!==v||h||n||j||x))throw new Error("Missing children");const w=j&&!n,I=x&&!n,O=h&&!n,M=n&&"left"===d,P=n&&"right"===d;return e={...e,...O?{paddingInlineStart:"0em",paddingInlineEnd:"0em"}:null,svg:{marginInlineEnd:w?"0.5em":void 0,marginInlineStart:I?"0.5em":void 0,...O?{marginInline:"0em"}:null}},(0,i.jsxs)(t.StyledButton,{...y,ref:b,css:e,isIcon:!!h,isDisabled:!!l||a||n,disabled:!!l||a||n,variant:p,colorScheme:f,size:g,rounded:m,children:[O?(0,i.jsx)(o,{icon:h}):null,M?(0,i.jsx)(s,{spinner:u,placement:c?"left":"center"}):null,w?(0,i.jsx)(o,{icon:j}):null,n?c||(0,i.jsx)(r.Text,{as:"span",css:{opacity:0},children:v}):v,I?(0,i.jsx)(o,{icon:x}):null,P?(0,i.jsx)(s,{spinner:u,placement:c?"right":"center"}):null]})}));exports.default=a,module.exports=exports.default;