@kubit-ui-web/react-components
Version:
Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience
34 lines • 3.44 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmptyStateStandAlone = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = __importDefault(require("react"));
const button_1 = require("../../components/button/button");
const buttonIconPosition_1 = require("../../components/button/types/buttonIconPosition");
const elementOrIllustration_1 = require("../../components/elementOrIllustration/elementOrIllustration");
const link_1 = require("../../components/link/link");
const text_1 = require("../../components/text/text");
const elementOrIcon_1 = require("../elementOrIcon/elementOrIcon");
const component_1 = require("../text/types/component");
const decoration_1 = require("../text/types/decoration");
// styles
const emptyState_styled_1 = require("./emptyState.styled");
const EmptyStateStandAloneComponent = ({ dataTestId = 'empty-state', ...props }, ref) => {
const isHorizontalOrientation = props.variant === 'HORIZONTAL';
const buildIconOrIllustration = () => {
if (props.illustration) {
return ((0, jsx_runtime_1.jsx)(elementOrIllustration_1.ElementOrIllustration, { customIllustrationStyles: props.styles?.illustration, ...props.illustration }));
}
else if (props.icon?.icon) {
return (0, jsx_runtime_1.jsx)(elementOrIcon_1.ElementOrIcon, { customIconStyles: props.styles?.icon, ...props.icon });
}
return null;
};
return ((0, jsx_runtime_1.jsxs)(emptyState_styled_1.EmptyStateStyled, { ref: ref, "data-testid": dataTestId, isHorizontalOrientation: isHorizontalOrientation, styles: props.styles, children: [buildIconOrIllustration(), (0, jsx_runtime_1.jsxs)(emptyState_styled_1.TextSectionStyled, { styles: props.styles, children: [props.title?.content && ((0, jsx_runtime_1.jsx)(emptyState_styled_1.EmptyStateTitleWrapperStyled, { styles: props.styles, children: (0, jsx_runtime_1.jsx)(text_1.Text, { component: component_1.TextComponentType.STRONG, customTypography: props.styles?.title, ...props.title, children: props.title.content }) })), (0, jsx_runtime_1.jsx)(emptyState_styled_1.EmptyStateDescriptionWrapperStyled, { styles: props.styles, children: typeof props.subtitle.content === 'string' ? ((0, jsx_runtime_1.jsx)(text_1.Text, { component: component_1.TextComponentType.PARAGRAPH, customTypography: props.styles?.subtitle, ...props.subtitle, children: props.subtitle.content })) : (props.subtitle.content) })] }), (0, jsx_runtime_1.jsxs)(emptyState_styled_1.ActionSectionStyled, { styles: props.styles, children: [props.button?.content && ((0, jsx_runtime_1.jsx)(emptyState_styled_1.ButtonWrapperStyled, { styles: props.styles, children: (0, jsx_runtime_1.jsx)(button_1.Button, { iconPosition: buttonIconPosition_1.IconPositionType.LEFT, size: props.styles?.buttonSize, ...props.button, children: props.button.content }) })), props.link?.content && ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(link_1.Link, { decoration: decoration_1.TextDecorationType.UNDERLINE, ...props.link, children: props.link.content }) }))] })] }));
};
const EmptyStateStandAlone = react_1.default.forwardRef(EmptyStateStandAloneComponent);
exports.EmptyStateStandAlone = EmptyStateStandAlone;
//# sourceMappingURL=emptyStateStandAlone.js.map