@tolokoban/ui
Version:
React components with theme
23 lines • 3.74 kB
JavaScript
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
import { Theme } from "../../theme/index.js";
import { styleColor } from "../../theme/styles/color.js";
import { ViewButton } from "../Button/index.js";
import { ViewStrip } from "../Strip/index.js";
import Classes from "./Dialog.module.css";
import { styleSpace } from "../../theme/styles/space.js";
const $ = Theme.classNames;
export function ViewDialog({ className, buttonCancel, buttonValidate, title, padding = "M", shadow = 7, headColor = "primary-3", bodyColor = "neutral-2", footColor = "neutral-6", children, }) {
const cancelProps = checkClickHandler("Cancel", buttonCancel, {
variant: "text",
});
const validateProps = checkClickHandler("OK", buttonValidate);
return (_jsxs(ViewStrip, { className: $.join(className, Classes.Dialog), orientation: "column", template: "-1", shadow: shadow, children: [title && (_jsx("header", { className: Classes.header, style: styleColor({ color: headColor }), children: title })), _jsx("main", { style: Object.assign(Object.assign({}, styleColor({ color: bodyColor })), styleSpace({
padding,
})), children: children }), (cancelProps || validateProps) && (_jsxs("footer", { style: styleColor({ color: footColor }), children: [cancelProps && _jsx(ViewButton, Object.assign({}, cancelProps)), validateProps && _jsx(ViewButton, Object.assign({}, validateProps))] }))] }));
}
function checkClickHandler(label, props, override) {
if (!props || !props.onClick)
return null;
return Object.assign(Object.assign({ children: label }, props), override);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlhbG9nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3ZpZXcvRGlhbG9nL0RpYWxvZy50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFFeEQsT0FBTyxFQUFFLFVBQVUsRUFBbUIsTUFBTSxvQkFBb0IsQ0FBQTtBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFN0MsT0FBTyxPQUFPLE1BQU0scUJBQXFCLENBQUE7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRXJELE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUE7QUFxQzFCLE1BQU0sVUFBVSxVQUFVLENBQUMsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixjQUFjLEVBQ2QsS0FBSyxFQUNMLE9BQU8sR0FBRyxHQUFHLEVBQ2IsTUFBTSxHQUFHLENBQUMsRUFDVixTQUFTLEdBQUcsV0FBVyxFQUN2QixTQUFTLEdBQUcsV0FBVyxFQUN2QixTQUFTLEdBQUcsV0FBVyxFQUN2QixRQUFRLEdBQ007SUFDZCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxRQUFRLEVBQUUsWUFBWSxFQUFFO1FBQzFELE9BQU8sRUFBRSxNQUFNO0tBQ2xCLENBQUMsQ0FBQTtJQUNGLE1BQU0sYUFBYSxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUM3RCxPQUFPLENBQ0gsTUFBQyxTQUFTLElBQ04sU0FBUyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFDNUMsV0FBVyxFQUFDLFFBQVEsRUFDcEIsUUFBUSxFQUFDLElBQUksRUFDYixNQUFNLEVBQUUsTUFBTSxhQUViLEtBQUssSUFBSSxDQUNOLGlCQUNJLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUN6QixLQUFLLEVBQUUsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLFlBRXRDLEtBQUssR0FDRCxDQUNaLEVBQ0QsZUFDSSxLQUFLLGtDQUNFLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxHQUNoQyxVQUFVLENBQUM7b0JBQ1YsT0FBTztpQkFDVixDQUFDLGFBR0wsUUFBUSxHQUNOLEVBQ04sQ0FBQyxXQUFXLElBQUksYUFBYSxDQUFDLElBQUksQ0FDL0Isa0JBQVEsS0FBSyxFQUFFLFVBQVUsQ0FBQyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxhQUMxQyxXQUFXLElBQUksS0FBQyxVQUFVLG9CQUFLLFdBQVcsRUFBSSxFQUM5QyxhQUFhLElBQUksS0FBQyxVQUFVLG9CQUFLLGFBQWEsRUFBSSxJQUM5QyxDQUNaLElBQ08sQ0FDZixDQUFBO0FBQ0wsQ0FBQztBQUVELFNBQVMsaUJBQWlCLENBQ3RCLEtBQWEsRUFDYixLQUF5QixFQUN6QixRQUE0QjtJQUU1QixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU87UUFBRSxPQUFPLElBQUksQ0FBQTtJQUV6QyxPQUFPLDhCQUNILFFBQVEsRUFBRSxLQUFLLElBQ1osS0FBSyxHQUNMLFFBQVEsQ0FDSyxDQUFBO0FBQ3hCLENBQUMifQ==