song-ui-u
Version:
vue3 + js的PC前端组件库
176 lines (165 loc) • 6.47 kB
JavaScript
'use strict';
var vue = require('vue');
require('../../button/index.cjs');
require('../../buttonGroup/index.cjs');
var index = require('../../icon/index.cjs');
require('../../input/index.cjs');
require('../../textarea/index.cjs');
require('../../row/index.cjs');
require('../../col/index.cjs');
require('../../container/index.cjs');
require('../index.cjs');
require('../../switch/index.cjs');
require('../../form/index.cjs');
require('../../message/index.cjs');
require('../../mask/src/mask.cjs');
require('../../modal/index.cjs');
require('../../messageBox/index.cjs');
require('../../drawer/index.cjs');
require('../../badge/index.cjs');
require('../../space/index.cjs');
require('../../image/index.cjs');
require('../../radio/index.cjs');
require('../../divider/index.cjs');
require('../../chat/index.cjs');
require('../../progress/index.cjs');
require('../../upload/index.cjs');
require('../../vTree/index.cjs');
require('../../table/index.cjs');
require('../../tabs/index.cjs');
require('../../menu/index.cjs');
require('../../steps/index.cjs');
require('../../header/index.cjs');
require('../../breadcrumble/index.cjs');
require('../../datePicker/index.cjs');
require('../../tooltip/index.cjs');
require('../../popover/index.cjs');
require('../../timePicker/index.cjs');
require('../../select/index.cjs');
require('../../collapse/index.cjs');
require('../../card/index.cjs');
require('../../timeline/index.cjs');
require('../../tag/index.cjs');
require('../../result/index.cjs');
require('../../sender/index.cjs');
var useCheckbox = require('./composables/use-checkbox.cjs');
var index$1 = require('../../../hook/use-namespace/index.cjs');
var index$2 = require('../../../hook/use-parent/index.cjs');
var icons = require('song-ui-pro-icon');
require('../../../hook/use-zindex/index.cjs');
var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.cjs');
const __default__ = { name: "x-checkbox" };
const _sfc_main = /*#__PURE__*/Object.assign(__default__, {
props: /*#__PURE__*/vue.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__*/vue.mergeModels(["change"], ["update:modelValue"]),
setup(__props, { expose: __expose, emit: __emit }) {
__expose();
const ns = index$1.useNamespace("checkbox");
const checkboxModel = vue.useModel(__props, "modelValue");
const emit = __emit;
/** props */
const props = __props;
const {
checkboxSize,
isDisabled,
model,
isChecked,
isLoading,
changeEvent,
clickEvent,
} = useCheckbox.useCheckbox({ props, checkboxModel });
const __returned__ = { ns, checkboxModel, emit, props, checkboxSize, isDisabled, model, isChecked, isLoading, changeEvent, clickEvent, computed: vue.computed, get XIcon() { return index.XIcon }, get useCheckbox() { return useCheckbox.useCheckbox }, get useNamespace() { return index$1.useNamespace }, get useParent() { return index$2.useParent }, get CheckBlod() { return icons.CheckBlod }, get Loader() { return icons.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 (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.tag), {
class: vue.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: vue.withCtx(() => [
vue.createElementVNode("span", {
class: vue.normalizeClass([$setup.ns.e('wrapper')])
}, [
vue.withDirectives(vue.createElementVNode("input", {
class: vue.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] = vue.withModifiers(() => {}, ["stop"]))
}, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_1), [
[vue.vModelCheckbox, $setup.model]
]),
vue.createElementVNode("span", {
class: vue.normalizeClass([$setup.ns.e('inner'), $setup.ns.is('indeterminate', $props.indeterminate)])
}, [
($props.indeterminate)
? (vue.openBlock(), vue.createElementBlock("i", {
key: 0,
class: vue.normalizeClass([$setup.ns.e('indeterminate', $props.indeterminate)])
}, null, 2 /* CLASS */))
: (vue.openBlock(), vue.createBlock($setup["XIcon"], { key: 1 }, {
default: vue.withCtx(() => [
($setup.isLoading)
? (vue.openBlock(), vue.createBlock($setup["Loader"], {
key: 0,
class: vue.normalizeClass([`${$setup.ns.is('loading-transition', $setup.isLoading)}`])
}, null, 8 /* PROPS */, ["class"]))
: (vue.openBlock(), vue.createBlock($setup["CheckBlod"], { key: 1 }))
]),
_: 1 /* STABLE */
}))
], 2 /* CLASS */)
], 2 /* CLASS */),
vue.createElementVNode("span", {
class: vue.normalizeClass([$setup.ns.e('label')])
}, [
vue.renderSlot(_ctx.$slots, "default")
], 2 /* CLASS */)
]),
_: 3 /* FORWARDED */
}, 8 /* PROPS */, ["class", "onClick"]))
}
var Checkbox = /*#__PURE__*/_pluginVue_exportHelper(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\checkbox\\src\\checkbox.vue"]]);
module.exports = Checkbox;
//# sourceMappingURL=checkbox.vue.cjs.map