UNPKG

@tolokoban/ui

Version:

React components with theme

23 lines 3.74 kB
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==