1 | import { createVNode as _createVNode, isVNode as _isVNode } from "vue";
|
2 |
|
3 | function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
4 |
|
5 | var __rest = this && this.__rest || function (s, e) {
|
6 | var t = {};
|
7 |
|
8 | for (var p in s) {
|
9 | if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
10 | }
|
11 |
|
12 | if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
13 | if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
14 | }
|
15 | return t;
|
16 | };
|
17 |
|
18 | import { defineComponent, inject } from 'vue';
|
19 | import Radio, { radioProps } from './Radio';
|
20 | import { getOptionProps, getSlot } from '../_util/props-util';
|
21 | import { defaultConfigProvider } from '../config-provider';
|
22 |
|
23 | function _isSlot(s) {
|
24 | return typeof s === 'function' || Object.prototype.toString.call(s) === '[object Object]' && !_isVNode(s);
|
25 | }
|
26 |
|
27 | export default defineComponent({
|
28 | name: 'ARadioButton',
|
29 | props: _extends({}, radioProps),
|
30 | setup: function setup() {
|
31 | return {
|
32 | configProvider: inject('configProvider', defaultConfigProvider),
|
33 | radioGroupContext: inject('radioGroupContext', {})
|
34 | };
|
35 | },
|
36 | render: function render() {
|
37 | var _slot;
|
38 |
|
39 | var props = getOptionProps(this);
|
40 |
|
41 | var customizePrefixCls = props.prefixCls,
|
42 | otherProps = __rest(props, ["prefixCls"]);
|
43 |
|
44 | var getPrefixCls = this.configProvider.getPrefixCls;
|
45 | var prefixCls = getPrefixCls('radio-button', customizePrefixCls);
|
46 |
|
47 | var rProps = _extends({
|
48 | prefixCls: prefixCls
|
49 | }, otherProps);
|
50 |
|
51 | if (this.radioGroupContext) {
|
52 | rProps.onChange = this.radioGroupContext.onRadioChange;
|
53 | rProps.checked = props.value === this.radioGroupContext.stateValue;
|
54 | rProps.disabled = props.disabled || this.radioGroupContext.disabled;
|
55 | }
|
56 |
|
57 | return _createVNode(Radio, rProps, _isSlot(_slot = getSlot(this)) ? _slot : {
|
58 | default: function _default() {
|
59 | return [_slot];
|
60 | }
|
61 | });
|
62 | }
|
63 | }); |
\ | No newline at end of file |