UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

123 lines (111 loc) 4.21 kB
'use strict'; var vue = require('vue'); var useCheckbox = require('./composables/use-checkbox.cjs'); var index = require('../../../hook/use-namespace/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-radio" }; 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", }, size: { type: String, default: "default", }, checked: Boolean, disabled: Boolean, beforeChange: Function, }, { "modelValue": {}, "modelModifiers": {}, }), emits: /*#__PURE__*/vue.mergeModels(["change"], ["update:modelValue"]), setup(__props, { expose: __expose, emit: __emit }) { __expose(); const ns = index.useNamespace("radio"); 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, get useCheckbox() { return useCheckbox.useCheckbox }, get useNamespace() { return index.useNamespace }, get Loader() { return icons.Loader } }; Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); return __returned__ } }); const _hoisted_1 = ["value"]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { const _component_x_icon = vue.resolveComponent("x-icon"); 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), $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.createElementVNode("input", { class: vue.normalizeClass([$setup.ns.e('input')]), type: "radio", value: $props.value, name: "abc", onChange: _cache[0] || (_cache[0] = (...args) => ($setup.changeEvent && $setup.changeEvent(...args))), onClick: _cache[1] || (_cache[1] = vue.withModifiers(() => {}, ["stop"])) }, null, 42 /* CLASS, PROPS, NEED_HYDRATION */, _hoisted_1), vue.createElementVNode("span", { class: vue.normalizeClass([$setup.ns.e('inner')]) }, [ (!$setup.isLoading) ? (vue.openBlock(), vue.createElementBlock("i", { key: 0, class: vue.normalizeClass([$setup.ns.e('spot')]) }, null, 2 /* CLASS */)) : (vue.openBlock(), vue.createBlock(_component_x_icon, { key: 1 }, { default: vue.withCtx(() => [ vue.createVNode($setup["Loader"], { class: vue.normalizeClass([`${$setup.ns.is('loading-transition', $setup.isLoading)}`]) }, null, 8 /* PROPS */, ["class"]) ]), _: 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 Radio = /*#__PURE__*/_pluginVue_exportHelper(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\radio\\src\\radio.vue"]]); module.exports = Radio; //# sourceMappingURL=radio.vue.cjs.map