@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
JavaScript
/* 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;