Checkbox.js 1.3 KB

1234567891011121314151617181920212223
  1. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  2. import { createVNode as _createVNode } from "vue";
  3. import { useInjectCascader } from '../context';
  4. export default function Checkbox(_ref) {
  5. var _ref2;
  6. var prefixCls = _ref.prefixCls,
  7. checked = _ref.checked,
  8. halfChecked = _ref.halfChecked,
  9. disabled = _ref.disabled,
  10. onClick = _ref.onClick;
  11. var _useInjectCascader = useInjectCascader(),
  12. customSlots = _useInjectCascader.customSlots,
  13. checkable = _useInjectCascader.checkable;
  14. var mergedCheckable = checkable.value !== false ? customSlots.value.checkable : checkable.value;
  15. var customCheckbox = typeof mergedCheckable === 'function' ? mergedCheckable() : typeof mergedCheckable === 'boolean' ? null : mergedCheckable;
  16. return _createVNode("span", {
  17. "class": (_ref2 = {}, _defineProperty(_ref2, prefixCls, true), _defineProperty(_ref2, "".concat(prefixCls, "-checked"), checked), _defineProperty(_ref2, "".concat(prefixCls, "-indeterminate"), !checked && halfChecked), _defineProperty(_ref2, "".concat(prefixCls, "-disabled"), disabled), _ref2),
  18. "onClick": onClick
  19. }, [customCheckbox]);
  20. }
  21. Checkbox.props = ['prefixCls', 'checked', 'halfChecked', 'disabled', 'onClick'];
  22. Checkbox.displayName = 'Checkbox';
  23. Checkbox.inheritAttrs = false;