UNPKG

primereact

Version:

PrimeReact is an open source UI library for React featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with Prime

2 lines (1 loc) 2.59 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),t=require("primereact/ripple"),n=require("primereact/tooltip"),l=require("primereact/utils");function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var l=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,l.get?l:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var o=a(e);function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var l in n)Object.prototype.hasOwnProperty.call(n,l)&&(e[l]=n[l])}return e},i.apply(this,arguments)}function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var c=o.memo(o.forwardRef((function(e,a){var s=o.useRef(a);if(o.useEffect((function(){l.ObjectUtils.combinedRefs(s,a)}),[s,a]),!1===e.visible)return null;var u=l.ObjectUtils.isNotEmpty(e.tooltip),b=e.disabled||e.loading,p=l.ObjectUtils.findDiffKeys(e,c.defaultProps),d=l.classNames("p-button p-component",e.className,r({"p-button-icon-only":(e.icon||e.loading&&e.loadingIcon)&&!e.label&&!e.children,"p-button-vertical":("top"===e.iconPos||"bottom"===e.iconPos)&&e.label,"p-disabled":b,"p-button-loading":e.loading,"p-button-loading-label-only":e.loading&&!e.icon&&e.label},"p-button-loading-".concat(e.iconPos),e.loading&&e.loadingIcon&&e.label)),f=function(){var t=e.loading?e.loadingIcon:e.icon,n=l.classNames("p-button-icon p-c",r({"p-button-loading-icon":e.loading},"p-button-icon-".concat(e.iconPos),e.label));return l.IconUtils.getJSXIcon(t,{className:n},{props:e})}(),g=e.label?o.createElement("span",{className:"p-button-label p-c"},e.label):!e.children&&!e.label&&o.createElement("span",{className:"p-button-label p-c",dangerouslySetInnerHTML:{__html:"&nbsp;"}}),m=function(){if(e.badge){var t=l.classNames("p-badge",e.badgeClassName);return o.createElement("span",{className:t},e.badge)}return null}();return o.createElement(o.Fragment,null,o.createElement("button",i({ref:s,"aria-label":e.label?e.label+(e.badge?" "+e.badge:""):e["aria-label"]},p,{className:d,disabled:b}),f,g,e.children,m,o.createElement(t.Ripple,null)),u&&o.createElement(n.Tooltip,i({target:s,content:e.tooltip},e.tooltipOptions)))})));c.displayName="Button",c.defaultProps={__TYPE:"Button",label:null,icon:null,iconPos:"left",badge:null,badgeClassName:null,tooltip:null,tooltipOptions:null,disabled:!1,loading:!1,loadingIcon:"pi pi-spinner pi-spin",visible:!0},exports.Button=c;