UNPKG

@drivy/cobalt

Version:

Opinionated design system for Drivy's projects.

28 lines (25 loc) 1.55 kB
import { jsx, jsxs } from 'react/jsx-runtime'; import cx from 'classnames'; import { withFieldLabelAndHint } from './field.js'; import { Hint } from './Hint.js'; const Checkmark = ({ label, status, hint, ...inputProps }) => { return (jsxs("div", { className: cx("cobalt-CheckmarkField", { "cobalt-CheckmarkField--success": status === "success", "cobalt-CheckmarkField--error": status === "error", }), children: [jsxs("label", { className: "cobalt-CheckmarkField__LabelWrapper", children: [jsx("input", { ...inputProps, className: "cobalt-CheckmarkField__Input" }), jsx("span", { className: "cobalt-CheckmarkField__Checkmark" }), jsx("span", { className: "cobalt-CheckmarkField__Label", children: label })] }), hint && (jsx(Hint, { status: status, children: jsx("span", { dangerouslySetInnerHTML: { __html: hint } }) }))] })); }; const Checkbox = ({ label, ...props }) => { return jsx(Checkmark, { ...props, label: label, type: "checkbox" }); }; Checkbox.displayName = "CobaltCheckbox"; const Radio = ({ label, ...props }) => { return jsx(Checkmark, { ...props, label: label, type: "radio" }); }; Radio.displayName = "CobaltRadio"; const ChoiceList = ({ children }) => { return (jsx("div", { className: "cobalt-ChoiceList", children: typeof children === "function" ? children() : children })); }; const wrappedChoiceList = withFieldLabelAndHint(ChoiceList); wrappedChoiceList.displayName = "ChoiceList"; export { Checkbox, wrappedChoiceList as ChoiceList, Radio }; //# sourceMappingURL=Checkmark.js.map