UNPKG

@atlaskit/checkbox

Version:

A checkbox is an input control that allows a user to select one or more options from a number of choices.

76 lines (74 loc) 2.99 kB
/* checkbox-icon.tsx generated by @compiled/babel-plugin v0.39.1 */ "use strict"; var _typeof = require("@babel/runtime/helpers/typeof"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("./checkbox-icon.compiled.css"); var _react = _interopRequireWildcard(require("react")); var React = _react; var _runtime = require("@compiled/react/runtime"); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); } /** * Styles for the checkbox icon. * CSS custom properties for colors are set by the parent Label element * and consumed directly in these styles. */ var svgStyles = { root: "_nd5lfibj _1reo15vq _18m915vq _v5641mn3 _2rko12b0 _1a3742bt _lcxvglyw _syazmov0 _lswu1kgh _1cwg1i6y", rect: "_v56411so _1snbe4h9 _1s17hteq" }; function getIcon(isIndeterminate, isChecked) { if (isIndeterminate) { return /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7.75 12.75H16.25V11.25H7.75V12.75Z", fill: "inherit" }); } if (isChecked) { return /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M16.3262 9.48011L15.1738 8.51984L10.75 13.8284L8.82616 11.5198L7.67383 12.4801L10.1738 15.4801C10.3163 15.6511 10.5274 15.75 10.75 15.75C10.9726 15.75 11.1837 15.6511 11.3262 15.4801L16.3262 9.48011Z", fill: "inherit" }); } // No icon return null; } /** * __Checkbox icon__ * * A checkbox icon is the visual representation of checkbox state, * which is shown instead of the native input. * * @internal */ var CheckboxIcon = /*#__PURE__*/(0, _react.memo)(function (_ref) { var isIndeterminate = _ref.isIndeterminate, isChecked = _ref.isChecked; var icon = (0, _react.useMemo)(function () { return getIcon(isIndeterminate, isChecked); }, [isIndeterminate, isChecked]); return /*#__PURE__*/React.createElement("svg", { width: 24, height: 24, viewBox: "0 0 24 24", role: "presentation", className: (0, _runtime.ax)([svgStyles.root]) }, /*#__PURE__*/React.createElement("g", { fillRule: "evenodd" }, /*#__PURE__*/React.createElement("rect", { fill: "currentColor", x: "5.5", y: "5.5", width: "13", height: "13", rx: "1.5", className: (0, _runtime.ax)([svgStyles.rect]) }), icon)); }); var _default = exports.default = CheckboxIcon;