UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

174 lines (164 loc) 6.38 kB
import { mergeModels, useModel, openBlock, createBlock, resolveDynamicComponent, normalizeClass, withCtx, createElementVNode, withDirectives, withModifiers, vModelCheckbox, createElementBlock, renderSlot, computed } from 'vue'; import '../../button/index.mjs'; import '../../buttonGroup/index.mjs'; import { XIcon } from '../../icon/index.mjs'; import '../../input/index.mjs'; import '../../textarea/index.mjs'; import '../../row/index.mjs'; import '../../col/index.mjs'; import '../../container/index.mjs'; import '../index.mjs'; import '../../switch/index.mjs'; import '../../form/index.mjs'; import '../../message/index.mjs'; import '../../mask/src/mask.mjs'; import '../../modal/index.mjs'; import '../../messageBox/index.mjs'; import '../../drawer/index.mjs'; import '../../badge/index.mjs'; import '../../space/index.mjs'; import '../../image/index.mjs'; import '../../radio/index.mjs'; import '../../divider/index.mjs'; import '../../chat/index.mjs'; import '../../progress/index.mjs'; import '../../upload/index.mjs'; import '../../vTree/index.mjs'; import '../../table/index.mjs'; import '../../tabs/index.mjs'; import '../../menu/index.mjs'; import '../../steps/index.mjs'; import '../../header/index.mjs'; import '../../breadcrumble/index.mjs'; import '../../datePicker/index.mjs'; import '../../tooltip/index.mjs'; import '../../popover/index.mjs'; import '../../timePicker/index.mjs'; import '../../select/index.mjs'; import '../../collapse/index.mjs'; import '../../card/index.mjs'; import '../../timeline/index.mjs'; import '../../tag/index.mjs'; import '../../result/index.mjs'; import '../../sender/index.mjs'; import { useCheckbox } from './composables/use-checkbox.mjs'; import { useNamespace } from '../../../hook/use-namespace/index.mjs'; import { useParent } from '../../../hook/use-parent/index.mjs'; import { CheckBlod, Loader } from 'song-ui-pro-icon'; import '../../../hook/use-zindex/index.mjs'; import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs'; const __default__ = { name: "x-checkbox" }; const _sfc_main = /*#__PURE__*/Object.assign(__default__, { props: /*#__PURE__*/mergeModels({ value: { type: [String, Boolean, Number, Object], default: undefined, }, tag: { type: String, default: "label", }, type: { type: String, default: "default", }, value: { type: [String, Number, Boolean], default: undefined, }, size: { type: String, default: "default", }, checked: Boolean, disabled: Boolean, all: Boolean, indeterminate: Boolean, beforeChange: Function, }, { "modelValue": {}, "modelModifiers": {}, }), emits: /*#__PURE__*/mergeModels(["change"], ["update:modelValue"]), setup(__props, { expose: __expose, emit: __emit }) { __expose(); const ns = useNamespace("checkbox"); const checkboxModel = useModel(__props, "modelValue"); const emit = __emit; /** props */ const props = __props; const { checkboxSize, isDisabled, model, isChecked, isLoading, changeEvent, clickEvent, } = useCheckbox({ props, checkboxModel }); const __returned__ = { ns, checkboxModel, emit, props, checkboxSize, isDisabled, model, isChecked, isLoading, changeEvent, clickEvent, computed, get XIcon() { return XIcon }, get useCheckbox() { return useCheckbox }, get useNamespace() { return useNamespace }, get useParent() { return useParent }, get CheckBlod() { return CheckBlod }, get Loader() { return Loader } }; Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); return __returned__ } }); const _hoisted_1 = ["value", "name"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return (openBlock(), createBlock(resolveDynamicComponent($props.tag), { class: normalizeClass([ $setup.ns.b(), $setup.ns.m($props.type), $setup.ns.is('checked', $setup.isChecked || $props.indeterminate), $setup.ns.is('loading', $setup.isLoading), $setup.ns.is('disabled', $setup.isDisabled || $setup.isLoading), $setup.ns.m('size', $setup.checkboxSize), ]), onClick: $setup.clickEvent }, { default: withCtx(() => [ createElementVNode("span", { class: normalizeClass([$setup.ns.e('wrapper')]) }, [ withDirectives(createElementVNode("input", { class: normalizeClass([$setup.ns.e('input')]), type: "checkbox", "onUpdate:modelValue": _cache[0] || (_cache[0] = $event => (($setup.model) = $event)), value: $props.value, name: $props.value, onChange: _cache[1] || (_cache[1] = (...args) => ($setup.changeEvent && $setup.changeEvent(...args))), onClick: _cache[2] || (_cache[2] = withModifiers(() => {}, ["stop"])) }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_1), [ [vModelCheckbox, $setup.model] ]), createElementVNode("span", { class: normalizeClass([$setup.ns.e('inner'), $setup.ns.is('indeterminate', $props.indeterminate)]) }, [ ($props.indeterminate) ? (openBlock(), createElementBlock("i", { key: 0, class: normalizeClass([$setup.ns.e('indeterminate', $props.indeterminate)]) }, null, 2 /* CLASS */)) : (openBlock(), createBlock($setup["XIcon"], { key: 1 }, { default: withCtx(() => [ ($setup.isLoading) ? (openBlock(), createBlock($setup["Loader"], { key: 0, class: normalizeClass([`${$setup.ns.is('loading-transition', $setup.isLoading)}`]) }, null, 8 /* PROPS */, ["class"])) : (openBlock(), createBlock($setup["CheckBlod"], { key: 1 })) ]), _: 1 /* STABLE */ })) ], 2 /* CLASS */) ], 2 /* CLASS */), createElementVNode("span", { class: normalizeClass([$setup.ns.e('label')]) }, [ renderSlot(_ctx.$slots, "default") ], 2 /* CLASS */) ]), _: 3 /* FORWARDED */ }, 8 /* PROPS */, ["class", "onClick"])) } var Checkbox = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\checkbox\\src\\checkbox.vue"]]); export { Checkbox as default }; //# sourceMappingURL=checkbox.vue.mjs.map