| Server IP : 173.249.148.11 / Your IP : 216.73.216.179 Web Server : Apache/2.4.68 (AlmaLinux) System : Linux developmentwebsite.ca 4.18.0-553.168.1.el8_10.x86_64 #1 SMP Thu Sep 24 18:05:46 UTC 2026 x86_64 User : devinter ( 1006) PHP Version : 8.3.35 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /chroot/home/devinter/public_html/wp-content/plugins/wp-smushit/_src/react/common/ |
Upload File : |
import React from "react";
import classnames from "classnames";
export default function Button(
{
id = "",
text = "",
color = "",
dashed = false,
icon = '',
loading = false,
ghost = false,
disabled = false,
href = "",
target = "",
className = "",
onClick = () => false,
}
) {
function handleClick(e) {
e.preventDefault();
onClick();
}
function textTag() {
const iconTag = icon ? <span className={icon} aria-hidden="true"/> : "";
return (
<span className={classnames({"sui-loading-text": loading})}>
{iconTag} {text}
</span>
);
}
function loadingIcon() {
return loading
? <span className="sui-icon-loader sui-loading" aria-hidden="true"/>
: "";
}
let HtmlTag, props;
if (href) {
HtmlTag = 'a';
props = {href: href, target: target};
} else {
HtmlTag = 'button';
props = {
disabled: disabled,
onClick: e => handleClick(e)
};
}
const hasText = text && text.trim();
return (
<HtmlTag
{...props}
className={classnames(className, "sui-button-" + color, {
"sui-button-onload": loading,
"sui-button-ghost": ghost,
"sui-button-icon": !hasText,
"sui-button-dashed": dashed,
"sui-button": hasText
})}
id={id}
>
{textTag()}
{loadingIcon()}
</HtmlTag>
);
}