UNPKG

tass-ui

Version:

A high quality UI Toolkit built on Vue.js3+.

76 lines (75 loc) 2.77 kB
import { defineComponent, computed, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, withDirectives, isRef, vModelCheckbox, renderSlot, Fragment, createTextVNode, toDisplayString, createCommentVNode } from "vue"; import "../../../theme-chalk/src/checkbox.scss.mjs"; import { useCheckBoxProps } from "../composables/use-checkbox-props.mjs"; import { UPDATE_MODEL_EVENT, CHANGE_EVENT } from "../../../constants/event.mjs"; const _hoisted_1 = { class: "tas-checkbox__input" }; const _hoisted_2 = ["indeterminate", "disabled", "name", "value", "isChecked"]; const _hoisted_3 = { key: 0, class: "tas-checkbox__label" }; const _sfc_main = /* @__PURE__ */ defineComponent({ __name: "checkbox", props: { indeterminate: Boolean, isChecked: Boolean, name: { type: String, default: void 0 }, disabled: Boolean, label: { type: [String, Number, Boolean, Object], default: void 0 }, modelValue: { type: [String, Number, Boolean], default: void 0 } }, emits: [UPDATE_MODEL_EVENT, CHANGE_EVENT], setup(__props) { const props = __props; const { model, isChecked, handlerChange } = useCheckBoxProps(props); const classList = computed(() => { const { disabled, isChecked: isChecked2 } = props; return [ { ["is-disabled"]: disabled, ["is-checked"]: isChecked2 } ]; }); return (_ctx, _cache) => { return openBlock(), createElementBlock("div", { class: normalizeClass(["tas-checkbox", unref(classList)]) }, [ createElementVNode("span", _hoisted_1, [ withDirectives(createElementVNode("input", { "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(model) ? model.value = $event : null), type: "checkbox", indeterminate: __props.indeterminate, disabled: __props.disabled, name: __props.name, value: __props.label, isChecked: unref(isChecked), onChange: _cache[1] || (_cache[1] = //@ts-ignore (...args) => unref(handlerChange) && unref(handlerChange)(...args)), id: "inputId" }, null, 40, _hoisted_2), [ [vModelCheckbox, unref(model)] ]) ]), _ctx.$slots.default || __props.label ? (openBlock(), createElementBlock("span", _hoisted_3, [ renderSlot(_ctx.$slots, "default"), !_ctx.$slots.default ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [ createTextVNode(toDisplayString(__props.label), 1) ], 64)) : createCommentVNode("", true) ])) : createCommentVNode("", true) ], 2); }; } }); export { _sfc_main as default };