@sendbird/uikit-react
Version:
Sendbird UIKit for React: A feature-rich and customizable chat UI kit with messaging, channel management, and user authentication.
60 lines (51 loc) • 2.89 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var _tslib = require('../chunks/bundle-Conb-pOy.js');
var React = require('react');
var ui_Label = require('../chunks/bundle-zgmRG2KL.js');
require('../chunks/bundle-BbrBawlX.js');
function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
var React__default = /*#__PURE__*/_interopDefaultCompat(React);
exports.ButtonTypes = void 0;
(function (ButtonTypes) {
ButtonTypes["PRIMARY"] = "PRIMARY";
ButtonTypes["SECONDARY"] = "SECONDARY";
ButtonTypes["DANGER"] = "DANGER";
ButtonTypes["DISABLED"] = "DISABLED";
ButtonTypes["WARNING"] = "WARNING";
})(exports.ButtonTypes || (exports.ButtonTypes = {}));
exports.ButtonSizes = void 0;
(function (ButtonSizes) {
ButtonSizes["BIG"] = "BIG";
ButtonSizes["SMALL"] = "SMALL";
})(exports.ButtonSizes || (exports.ButtonSizes = {}));
function changeTypeToClassName(type) {
switch (type) {
case exports.ButtonTypes.PRIMARY: return 'sendbird-button--primary';
case exports.ButtonTypes.SECONDARY: return 'sendbird-button--secondary';
case exports.ButtonTypes.DANGER: return 'sendbird-button--danger';
case exports.ButtonTypes.DISABLED: return 'sendbird-button--disabled';
case exports.ButtonTypes.WARNING: return 'sendbird-button--warning';
default: return '';
}
}
function changeSizeToClassName(size) {
switch (size) {
case exports.ButtonSizes.BIG: return 'sendbird-button--big';
case exports.ButtonSizes.SMALL: return 'sendbird-button--small';
default: return '';
}
}
function Button(_a) {
var className = _a.className, _b = _a.type, type = _b === void 0 ? exports.ButtonTypes.PRIMARY : _b, _c = _a.size, size = _c === void 0 ? exports.ButtonSizes.BIG : _c, _d = _a.children, children = _d === void 0 ? 'Button' : _d, _e = _a.disabled, disabled = _e === void 0 ? false : _e, _f = _a.onClick, onClick = _f === void 0 ? function () { } : _f, _g = _a.labelType, labelType = _g === void 0 ? ui_Label.LabelTypography.BUTTON_1 : _g, _h = _a.labelColor, labelColor = _h === void 0 ? ui_Label.LabelColors.ONCONTENT_1 : _h;
var injectingClassNames = _tslib.__spreadArray(_tslib.__spreadArray([], ((Array.isArray(className)) ? className : [className]), true), [
'sendbird-button',
(disabled ? 'sendbird-button__disabled' : ''),
changeTypeToClassName(type),
changeSizeToClassName(size),
], false).join(' ');
return (React__default.default.createElement("button", { className: injectingClassNames, type: "button", onClick: onClick, disabled: disabled },
React__default.default.createElement(ui_Label.Label, { className: "sendbird-button__text", type: labelType, color: labelColor }, children)));
}
exports.default = Button;
//# sourceMappingURL=Button.js.map