@sheinx/base 3.9.4-beta.7 → 3.9.4-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/radio/radio-group.d.ts.map +1 -1
- package/cjs/radio/radio-group.js +42 -30
- package/cjs/radio/radio-group.type.d.ts +17 -0
- package/cjs/radio/radio-group.type.d.ts.map +1 -1
- package/cjs/radio/radio.d.ts.map +1 -1
- package/cjs/radio/radio.js +7 -2
- package/cjs/radio/radio.type.d.ts +13 -2
- package/cjs/radio/radio.type.d.ts.map +1 -1
- package/cjs/radio/simple-radio.d.ts.map +1 -1
- package/cjs/radio/simple-radio.js +13 -9
- package/esm/radio/radio-group.d.ts.map +1 -1
- package/esm/radio/radio-group.js +42 -30
- package/esm/radio/radio-group.type.d.ts +17 -0
- package/esm/radio/radio-group.type.d.ts.map +1 -1
- package/esm/radio/radio.d.ts.map +1 -1
- package/esm/radio/radio.js +7 -2
- package/esm/radio/radio.type.d.ts +13 -2
- package/esm/radio/radio.type.d.ts.map +1 -1
- package/esm/radio/simple-radio.d.ts.map +1 -1
- package/esm/radio/simple-radio.js +14 -9
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,wGAuIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/cjs/radio/radio-group.js
CHANGED
|
@@ -45,7 +45,8 @@ var Group = function Group(props0) {
|
|
|
45
45
|
jssStyle = props.jssStyle,
|
|
46
46
|
style = props.style,
|
|
47
47
|
size = props.size,
|
|
48
|
-
disabled = props.disabled
|
|
48
|
+
disabled = props.disabled,
|
|
49
|
+
externalRenderWrapper = props.renderWrapper;
|
|
49
50
|
var radioClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle);
|
|
50
51
|
var inputAbleProps = (0, _hooks.useInputAble)({
|
|
51
52
|
value: props.value,
|
|
@@ -82,38 +83,49 @@ var Group = function Group(props0) {
|
|
|
82
83
|
}
|
|
83
84
|
return '';
|
|
84
85
|
};
|
|
85
|
-
var
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
86
|
+
var createInternalRenderWrapper = _react.default.useCallback(function (data, index) {
|
|
87
|
+
return function (info) {
|
|
88
|
+
var children = info.children,
|
|
89
|
+
content = info.content,
|
|
90
|
+
checked = info.checked,
|
|
91
|
+
disabled = info.disabled,
|
|
92
|
+
wrapperProps = info.wrapperProps,
|
|
93
|
+
inputProps = info.inputProps;
|
|
94
|
+
var checkedProps = {
|
|
95
|
+
mode: button === 'outline' ? 'outline' : undefined,
|
|
96
|
+
type: 'primary'
|
|
97
|
+
};
|
|
98
|
+
var noCheckedProps = {
|
|
99
|
+
mode: button === 'outline' ? 'outline' : undefined,
|
|
100
|
+
type: 'secondary'
|
|
101
|
+
};
|
|
102
|
+
if (button) {
|
|
103
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button.default, _objectSpread(_objectSpread(_objectSpread({
|
|
104
|
+
jssStyle: jssStyle,
|
|
105
|
+
size: size,
|
|
106
|
+
disabled: disabled
|
|
107
|
+
}, checked ? checkedProps : noCheckedProps), wrapperProps), {}, {
|
|
108
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread({
|
|
109
|
+
type: "radio"
|
|
110
|
+
}, inputProps)), children]
|
|
111
|
+
}));
|
|
112
|
+
}
|
|
113
|
+
if (externalRenderWrapper) {
|
|
114
|
+
return externalRenderWrapper(_objectSpread(_objectSpread({}, info), {}, {
|
|
115
|
+
item: data,
|
|
116
|
+
index: index
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
return content;
|
|
95
120
|
};
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (button) {
|
|
101
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button.default, _objectSpread(_objectSpread(_objectSpread({
|
|
102
|
-
jssStyle: jssStyle,
|
|
103
|
-
size: size,
|
|
104
|
-
disabled: disabled
|
|
105
|
-
}, checked ? checkedProps : noCheckedProps), rootProps), {}, {
|
|
106
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread({
|
|
107
|
-
type: "radio"
|
|
108
|
-
}, inputProps)), children]
|
|
109
|
-
}));
|
|
110
|
-
}
|
|
111
|
-
return content;
|
|
112
|
-
}, []);
|
|
121
|
+
}, [button, externalRenderWrapper]);
|
|
122
|
+
var internalRenderWrapper = _react.default.useMemo(function () {
|
|
123
|
+
return createInternalRenderWrapper();
|
|
124
|
+
}, [createInternalRenderWrapper]);
|
|
113
125
|
var providerValue = _objectSpread(_objectSpread({
|
|
114
126
|
checked: isChecked,
|
|
115
127
|
onChange: handleItemChange,
|
|
116
|
-
|
|
128
|
+
renderWrapper: internalRenderWrapper
|
|
117
129
|
}, size !== undefined && {
|
|
118
130
|
size: size
|
|
119
131
|
}), disabled !== undefined && {
|
|
@@ -136,7 +148,7 @@ var Group = function Group(props0) {
|
|
|
136
148
|
htmlValue: i,
|
|
137
149
|
size: size,
|
|
138
150
|
onChange: handleIndexChange,
|
|
139
|
-
|
|
151
|
+
renderWrapper: createInternalRenderWrapper(d, i),
|
|
140
152
|
children: getContent(d, i)
|
|
141
153
|
}, _hooks.util.getKey(keygen, d, i));
|
|
142
154
|
}), children]
|
|
@@ -80,5 +80,22 @@ export interface RadioGroupProps<DataItem, Value> extends Pick<CommonType, 'clas
|
|
|
80
80
|
* @default false
|
|
81
81
|
*/
|
|
82
82
|
disabled?: boolean | ((data: DataItem) => boolean);
|
|
83
|
+
/**
|
|
84
|
+
* @en Customize the entire radio rendering. Compared to renderItem which only renders text content, this allows full control over layout and styles
|
|
85
|
+
* @cn 完全自定义 radio 的渲染。相比 renderItem 只能渲染文本内容,renderWrapper 可以完全控制布局和样式
|
|
86
|
+
* @version 3.9.4
|
|
87
|
+
*/
|
|
88
|
+
renderWrapper?: (info: {
|
|
89
|
+
content: React.ReactElement;
|
|
90
|
+
wrapperProps: any;
|
|
91
|
+
indicatorProps: any;
|
|
92
|
+
inputProps: any;
|
|
93
|
+
disabled?: boolean;
|
|
94
|
+
checked?: boolean;
|
|
95
|
+
children?: React.ReactNode;
|
|
96
|
+
indicator?: React.ReactElement;
|
|
97
|
+
item: DataItem;
|
|
98
|
+
index: number;
|
|
99
|
+
}) => React.ReactElement;
|
|
83
100
|
}
|
|
84
101
|
//# sourceMappingURL=radio-group.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.type.d.ts","sourceRoot":"","sources":["radio-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;KAC9B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACnF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC3D;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"radio-group.type.d.ts","sourceRoot":"","sources":["radio-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;KAC9B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACnF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC3D;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;QAC5B,YAAY,EAAE,GAAG,CAAC;QAClB,cAAc,EAAE,GAAG,CAAC;QACpB,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;QAC/B,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,KAAK,CAAC,YAAY,CAAC;CAC1B"}
|
package/cjs/radio/radio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgC1C,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgC1C,QAAA,MAAM,gBAAgB,sEAarB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/cjs/radio/radio.js
CHANGED
|
@@ -10,7 +10,7 @@ var _simpleRadio = _interopRequireDefault(require("./simple-radio"));
|
|
|
10
10
|
var _hooks = require("@sheinx/hooks");
|
|
11
11
|
var _groupContext = _interopRequireDefault(require("./group-context"));
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
var _excluded = ["children", "htmlValue", "onChange", "checked", "jssStyle"];
|
|
13
|
+
var _excluded = ["children", "htmlValue", "onChange", "checked", "jssStyle", "renderWrapper"];
|
|
14
14
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
15
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
16
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -26,6 +26,7 @@ var Radio = function Radio(props) {
|
|
|
26
26
|
onChange = props.onChange,
|
|
27
27
|
checked = props.checked,
|
|
28
28
|
jssStyle = props.jssStyle,
|
|
29
|
+
renderWrapper = props.renderWrapper,
|
|
29
30
|
rest = _objectWithoutProperties(props, _excluded);
|
|
30
31
|
var handleChange = (0, _hooks.usePersistFn)(function () {
|
|
31
32
|
onChange === null || onChange === void 0 || onChange(htmlValue);
|
|
@@ -50,13 +51,17 @@ var Radio = function Radio(props) {
|
|
|
50
51
|
checked: getChecked(),
|
|
51
52
|
onChange: handleChange,
|
|
52
53
|
disabled: getDisabled(),
|
|
54
|
+
renderWrapper: renderWrapper,
|
|
53
55
|
children: children
|
|
54
56
|
}));
|
|
55
57
|
};
|
|
56
58
|
var RadioWithContext = function RadioWithContext(props) {
|
|
57
59
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_groupContext.default.Consumer, {
|
|
58
60
|
children: function children(value) {
|
|
59
|
-
|
|
61
|
+
var mergedProps = _objectSpread(_objectSpread(_objectSpread({}, props), value), {}, {
|
|
62
|
+
renderWrapper: props.renderWrapper !== undefined ? props.renderWrapper : value.renderWrapper
|
|
63
|
+
});
|
|
64
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(Radio, _objectSpread({}, mergedProps));
|
|
60
65
|
}
|
|
61
66
|
});
|
|
62
67
|
};
|
|
@@ -38,9 +38,20 @@ export interface SimpleRadioProps extends Omit<BaseCheckProps, 'defaultChecked'>
|
|
|
38
38
|
*/
|
|
39
39
|
children?: React.ReactNode;
|
|
40
40
|
/**
|
|
41
|
-
* @
|
|
41
|
+
* @en Customize the entire radio rendering. Compared to renderItem which only renders text content, this allows full control over layout and styles
|
|
42
|
+
* @cn 完全自定义 radio 的渲染。相比 renderItem 只能渲染文本内容,renderWrapper 可以完全控制布局和样式
|
|
43
|
+
* @version 3.9.4
|
|
42
44
|
*/
|
|
43
|
-
|
|
45
|
+
renderWrapper?: (info: {
|
|
46
|
+
content: React.ReactElement;
|
|
47
|
+
wrapperProps: any;
|
|
48
|
+
indicatorProps: any;
|
|
49
|
+
inputProps: any;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
checked?: boolean;
|
|
52
|
+
children?: React.ReactNode;
|
|
53
|
+
indicator?: React.ReactElement;
|
|
54
|
+
}) => React.ReactElement;
|
|
44
55
|
/**
|
|
45
56
|
* @private 内部属性用于控制热区样式
|
|
46
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.type.d.ts","sourceRoot":"","sources":["radio.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC5C,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KAC5B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"radio.type.d.ts","sourceRoot":"","sources":["radio.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC5C,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KAC5B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;QAC5B,YAAY,EAAE,GAAG,CAAC;QAClB,cAAc,EAAE,GAAG,CAAC;QACpB,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;KAChC,KAAK,KAAK,CAAC,YAAY,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1G;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAE1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-radio.d.ts","sourceRoot":"","sources":["simple-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,QAAA,MAAM,KAAK,UAAW,gBAAgB,
|
|
1
|
+
{"version":3,"file":"simple-radio.d.ts","sourceRoot":"","sources":["simple-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,QAAA,MAAM,KAAK,UAAW,gBAAgB,4CA4DrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -10,7 +10,7 @@ var _classnames = _interopRequireDefault(require("classnames"));
|
|
|
10
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _formFieldContext = require("../form/form-field-context");
|
|
12
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
var _excluded = ["jssStyle", "className", "style", "children", "
|
|
13
|
+
var _excluded = ["jssStyle", "className", "style", "children", "renderWrapper", "size", "theme"];
|
|
14
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
15
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
16
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -27,7 +27,7 @@ var Radio = function Radio(props) {
|
|
|
27
27
|
className = props.className,
|
|
28
28
|
style = props.style,
|
|
29
29
|
children = props.children,
|
|
30
|
-
|
|
30
|
+
renderWrapper = props.renderWrapper,
|
|
31
31
|
size = props.size,
|
|
32
32
|
theme = props.theme,
|
|
33
33
|
rest = _objectWithoutProperties(props, _excluded);
|
|
@@ -49,9 +49,7 @@ var Radio = function Radio(props) {
|
|
|
49
49
|
needStopPropagation: true
|
|
50
50
|
});
|
|
51
51
|
var indicatorProps = getIndicatorProps();
|
|
52
|
-
var
|
|
53
|
-
id: fieldId
|
|
54
|
-
}, rootProps), {}, {
|
|
52
|
+
var indicator = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
55
53
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("input", _objectSpread(_objectSpread({}, inputProps), {}, {
|
|
56
54
|
type: "radio"
|
|
57
55
|
})), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
@@ -59,15 +57,21 @@ var Radio = function Radio(props) {
|
|
|
59
57
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", _objectSpread(_objectSpread({}, indicatorProps), {}, {
|
|
60
58
|
className: radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.indicator
|
|
61
59
|
}))
|
|
62
|
-
})
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
var simpleRadio = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
|
|
63
|
+
id: fieldId
|
|
64
|
+
}, rootProps), {}, {
|
|
65
|
+
children: [indicator, /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
63
66
|
className: radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.desc,
|
|
64
67
|
children: children
|
|
65
68
|
})]
|
|
66
69
|
}));
|
|
67
|
-
if (typeof
|
|
68
|
-
return
|
|
70
|
+
if (typeof renderWrapper === 'function') {
|
|
71
|
+
return renderWrapper({
|
|
69
72
|
content: simpleRadio,
|
|
70
|
-
|
|
73
|
+
wrapperProps: rootProps,
|
|
74
|
+
indicator: indicator,
|
|
71
75
|
indicatorProps: indicatorProps,
|
|
72
76
|
inputProps: inputProps,
|
|
73
77
|
disabled: disabled,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,
|
|
1
|
+
{"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["radio-group.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAarD,QAAA,MAAM,KAAK,wGAuIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
package/esm/radio/radio-group.js
CHANGED
|
@@ -37,7 +37,8 @@ var Group = function Group(props0) {
|
|
|
37
37
|
jssStyle = props.jssStyle,
|
|
38
38
|
style = props.style,
|
|
39
39
|
size = props.size,
|
|
40
|
-
disabled = props.disabled
|
|
40
|
+
disabled = props.disabled,
|
|
41
|
+
externalRenderWrapper = props.renderWrapper;
|
|
41
42
|
var radioClasses = jssStyle === null || jssStyle === void 0 || (_jssStyle$radio = jssStyle.radio) === null || _jssStyle$radio === void 0 ? void 0 : _jssStyle$radio.call(jssStyle);
|
|
42
43
|
var inputAbleProps = useInputAble({
|
|
43
44
|
value: props.value,
|
|
@@ -74,38 +75,49 @@ var Group = function Group(props0) {
|
|
|
74
75
|
}
|
|
75
76
|
return '';
|
|
76
77
|
};
|
|
77
|
-
var
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
78
|
+
var createInternalRenderWrapper = React.useCallback(function (data, index) {
|
|
79
|
+
return function (info) {
|
|
80
|
+
var children = info.children,
|
|
81
|
+
content = info.content,
|
|
82
|
+
checked = info.checked,
|
|
83
|
+
disabled = info.disabled,
|
|
84
|
+
wrapperProps = info.wrapperProps,
|
|
85
|
+
inputProps = info.inputProps;
|
|
86
|
+
var checkedProps = {
|
|
87
|
+
mode: button === 'outline' ? 'outline' : undefined,
|
|
88
|
+
type: 'primary'
|
|
89
|
+
};
|
|
90
|
+
var noCheckedProps = {
|
|
91
|
+
mode: button === 'outline' ? 'outline' : undefined,
|
|
92
|
+
type: 'secondary'
|
|
93
|
+
};
|
|
94
|
+
if (button) {
|
|
95
|
+
return /*#__PURE__*/_jsxs(Button, _objectSpread(_objectSpread(_objectSpread({
|
|
96
|
+
jssStyle: jssStyle,
|
|
97
|
+
size: size,
|
|
98
|
+
disabled: disabled
|
|
99
|
+
}, checked ? checkedProps : noCheckedProps), wrapperProps), {}, {
|
|
100
|
+
children: [/*#__PURE__*/_jsx("input", _objectSpread({
|
|
101
|
+
type: "radio"
|
|
102
|
+
}, inputProps)), children]
|
|
103
|
+
}));
|
|
104
|
+
}
|
|
105
|
+
if (externalRenderWrapper) {
|
|
106
|
+
return externalRenderWrapper(_objectSpread(_objectSpread({}, info), {}, {
|
|
107
|
+
item: data,
|
|
108
|
+
index: index
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
return content;
|
|
87
112
|
};
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
if (button) {
|
|
93
|
-
return /*#__PURE__*/_jsxs(Button, _objectSpread(_objectSpread(_objectSpread({
|
|
94
|
-
jssStyle: jssStyle,
|
|
95
|
-
size: size,
|
|
96
|
-
disabled: disabled
|
|
97
|
-
}, checked ? checkedProps : noCheckedProps), rootProps), {}, {
|
|
98
|
-
children: [/*#__PURE__*/_jsx("input", _objectSpread({
|
|
99
|
-
type: "radio"
|
|
100
|
-
}, inputProps)), children]
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
|
-
return content;
|
|
104
|
-
}, []);
|
|
113
|
+
}, [button, externalRenderWrapper]);
|
|
114
|
+
var internalRenderWrapper = React.useMemo(function () {
|
|
115
|
+
return createInternalRenderWrapper();
|
|
116
|
+
}, [createInternalRenderWrapper]);
|
|
105
117
|
var providerValue = _objectSpread(_objectSpread({
|
|
106
118
|
checked: isChecked,
|
|
107
119
|
onChange: handleItemChange,
|
|
108
|
-
|
|
120
|
+
renderWrapper: internalRenderWrapper
|
|
109
121
|
}, size !== undefined && {
|
|
110
122
|
size: size
|
|
111
123
|
}), disabled !== undefined && {
|
|
@@ -128,7 +140,7 @@ var Group = function Group(props0) {
|
|
|
128
140
|
htmlValue: i,
|
|
129
141
|
size: size,
|
|
130
142
|
onChange: handleIndexChange,
|
|
131
|
-
|
|
143
|
+
renderWrapper: createInternalRenderWrapper(d, i),
|
|
132
144
|
children: getContent(d, i)
|
|
133
145
|
}, util.getKey(keygen, d, i));
|
|
134
146
|
}), children]
|
|
@@ -80,5 +80,22 @@ export interface RadioGroupProps<DataItem, Value> extends Pick<CommonType, 'clas
|
|
|
80
80
|
* @default false
|
|
81
81
|
*/
|
|
82
82
|
disabled?: boolean | ((data: DataItem) => boolean);
|
|
83
|
+
/**
|
|
84
|
+
* @en Customize the entire radio rendering. Compared to renderItem which only renders text content, this allows full control over layout and styles
|
|
85
|
+
* @cn 完全自定义 radio 的渲染。相比 renderItem 只能渲染文本内容,renderWrapper 可以完全控制布局和样式
|
|
86
|
+
* @version 3.9.4
|
|
87
|
+
*/
|
|
88
|
+
renderWrapper?: (info: {
|
|
89
|
+
content: React.ReactElement;
|
|
90
|
+
wrapperProps: any;
|
|
91
|
+
indicatorProps: any;
|
|
92
|
+
inputProps: any;
|
|
93
|
+
disabled?: boolean;
|
|
94
|
+
checked?: boolean;
|
|
95
|
+
children?: React.ReactNode;
|
|
96
|
+
indicator?: React.ReactElement;
|
|
97
|
+
item: DataItem;
|
|
98
|
+
index: number;
|
|
99
|
+
}) => React.ReactElement;
|
|
83
100
|
}
|
|
84
101
|
//# sourceMappingURL=radio-group.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.type.d.ts","sourceRoot":"","sources":["radio-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;KAC9B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACnF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC3D;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"radio-group.type.d.ts","sourceRoot":"","sources":["radio-group.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,WAAW,eAAe,CAAC,QAAQ,EAAE,KAAK,CAC9C,SAAQ,IAAI,CAAC,UAAU,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC;IACxD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,aAAa,CAAC;KAC9B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;IACnF;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC;IACvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC;IAC3D;;;;OAIG;IACH,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;OAIG;IACH,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IAClD;;;;OAIG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,SAAS,CAAC;IACnD;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC;IACnD;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;QAC5B,YAAY,EAAE,GAAG,CAAC;QAClB,cAAc,EAAE,GAAG,CAAC;QACpB,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;QAC/B,IAAI,EAAE,QAAQ,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;KACf,KAAK,KAAK,CAAC,YAAY,CAAC;CAC1B"}
|
package/esm/radio/radio.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgC1C,QAAA,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAgC1C,QAAA,MAAM,gBAAgB,sEAarB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
package/esm/radio/radio.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _excluded = ["children", "htmlValue", "onChange", "checked", "jssStyle"];
|
|
2
|
+
var _excluded = ["children", "htmlValue", "onChange", "checked", "jssStyle", "renderWrapper"];
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -19,6 +19,7 @@ var Radio = function Radio(props) {
|
|
|
19
19
|
onChange = props.onChange,
|
|
20
20
|
checked = props.checked,
|
|
21
21
|
jssStyle = props.jssStyle,
|
|
22
|
+
renderWrapper = props.renderWrapper,
|
|
22
23
|
rest = _objectWithoutProperties(props, _excluded);
|
|
23
24
|
var handleChange = usePersistFn(function () {
|
|
24
25
|
onChange === null || onChange === void 0 || onChange(htmlValue);
|
|
@@ -43,13 +44,17 @@ var Radio = function Radio(props) {
|
|
|
43
44
|
checked: getChecked(),
|
|
44
45
|
onChange: handleChange,
|
|
45
46
|
disabled: getDisabled(),
|
|
47
|
+
renderWrapper: renderWrapper,
|
|
46
48
|
children: children
|
|
47
49
|
}));
|
|
48
50
|
};
|
|
49
51
|
var RadioWithContext = function RadioWithContext(props) {
|
|
50
52
|
return /*#__PURE__*/_jsx(GroupContext.Consumer, {
|
|
51
53
|
children: function children(value) {
|
|
52
|
-
|
|
54
|
+
var mergedProps = _objectSpread(_objectSpread(_objectSpread({}, props), value), {}, {
|
|
55
|
+
renderWrapper: props.renderWrapper !== undefined ? props.renderWrapper : value.renderWrapper
|
|
56
|
+
});
|
|
57
|
+
return /*#__PURE__*/_jsx(Radio, _objectSpread({}, mergedProps));
|
|
53
58
|
}
|
|
54
59
|
});
|
|
55
60
|
};
|
|
@@ -38,9 +38,20 @@ export interface SimpleRadioProps extends Omit<BaseCheckProps, 'defaultChecked'>
|
|
|
38
38
|
*/
|
|
39
39
|
children?: React.ReactNode;
|
|
40
40
|
/**
|
|
41
|
-
* @
|
|
41
|
+
* @en Customize the entire radio rendering. Compared to renderItem which only renders text content, this allows full control over layout and styles
|
|
42
|
+
* @cn 完全自定义 radio 的渲染。相比 renderItem 只能渲染文本内容,renderWrapper 可以完全控制布局和样式
|
|
43
|
+
* @version 3.9.4
|
|
42
44
|
*/
|
|
43
|
-
|
|
45
|
+
renderWrapper?: (info: {
|
|
46
|
+
content: React.ReactElement;
|
|
47
|
+
wrapperProps: any;
|
|
48
|
+
indicatorProps: any;
|
|
49
|
+
inputProps: any;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
checked?: boolean;
|
|
52
|
+
children?: React.ReactNode;
|
|
53
|
+
indicator?: React.ReactElement;
|
|
54
|
+
}) => React.ReactElement;
|
|
44
55
|
/**
|
|
45
56
|
* @private 内部属性用于控制热区样式
|
|
46
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.type.d.ts","sourceRoot":"","sources":["radio.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC5C,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KAC5B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B
|
|
1
|
+
{"version":3,"file":"radio.type.d.ts","sourceRoot":"","sources":["radio.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IAEb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAC,EAC5C,IAAI,CAAC,UAAU,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAClD,QAAQ,CAAC,EAAE;QACT,KAAK,CAAC,EAAE,MAAM,YAAY,CAAC;KAC5B,CAAC;IACF;;;OAGG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,OAAO,EAAE,KAAK,CAAC,YAAY,CAAC;QAC5B,YAAY,EAAE,GAAG,CAAC;QAClB,cAAc,EAAE,GAAG,CAAC;QACpB,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;QAC3B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC;KAChC,KAAK,KAAK,CAAC,YAAY,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,gBAAgB,EAAE,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1G;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;IACxC;;;OAGG;IACH,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAE1D;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC;CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-radio.d.ts","sourceRoot":"","sources":["simple-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,QAAA,MAAM,KAAK,UAAW,gBAAgB,
|
|
1
|
+
{"version":3,"file":"simple-radio.d.ts","sourceRoot":"","sources":["simple-radio.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGhD,QAAA,MAAM,KAAK,UAAW,gBAAgB,4CA4DrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
-
var _excluded = ["jssStyle", "className", "style", "children", "
|
|
2
|
+
var _excluded = ["jssStyle", "className", "style", "children", "renderWrapper", "size", "theme"];
|
|
3
3
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
4
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
@@ -12,6 +12,7 @@ import classNames from 'classnames';
|
|
|
12
12
|
import React, { useContext } from 'react';
|
|
13
13
|
import { FormFieldContext } from "../form/form-field-context";
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
15
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
17
|
var Radio = function Radio(props) {
|
|
17
18
|
var _jssStyle$radio;
|
|
@@ -19,7 +20,7 @@ var Radio = function Radio(props) {
|
|
|
19
20
|
className = props.className,
|
|
20
21
|
style = props.style,
|
|
21
22
|
children = props.children,
|
|
22
|
-
|
|
23
|
+
renderWrapper = props.renderWrapper,
|
|
23
24
|
size = props.size,
|
|
24
25
|
theme = props.theme,
|
|
25
26
|
rest = _objectWithoutProperties(props, _excluded);
|
|
@@ -41,9 +42,7 @@ var Radio = function Radio(props) {
|
|
|
41
42
|
needStopPropagation: true
|
|
42
43
|
});
|
|
43
44
|
var indicatorProps = getIndicatorProps();
|
|
44
|
-
var
|
|
45
|
-
id: fieldId
|
|
46
|
-
}, rootProps), {}, {
|
|
45
|
+
var indicator = /*#__PURE__*/_jsxs(_Fragment, {
|
|
47
46
|
children: [/*#__PURE__*/_jsx("input", _objectSpread(_objectSpread({}, inputProps), {}, {
|
|
48
47
|
type: "radio"
|
|
49
48
|
})), /*#__PURE__*/_jsx("span", {
|
|
@@ -51,15 +50,21 @@ var Radio = function Radio(props) {
|
|
|
51
50
|
children: /*#__PURE__*/_jsx("span", _objectSpread(_objectSpread({}, indicatorProps), {}, {
|
|
52
51
|
className: radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.indicator
|
|
53
52
|
}))
|
|
54
|
-
})
|
|
53
|
+
})]
|
|
54
|
+
});
|
|
55
|
+
var simpleRadio = /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
|
|
56
|
+
id: fieldId
|
|
57
|
+
}, rootProps), {}, {
|
|
58
|
+
children: [indicator, /*#__PURE__*/_jsx("span", {
|
|
55
59
|
className: radioClasses === null || radioClasses === void 0 ? void 0 : radioClasses.desc,
|
|
56
60
|
children: children
|
|
57
61
|
})]
|
|
58
62
|
}));
|
|
59
|
-
if (typeof
|
|
60
|
-
return
|
|
63
|
+
if (typeof renderWrapper === 'function') {
|
|
64
|
+
return renderWrapper({
|
|
61
65
|
content: simpleRadio,
|
|
62
|
-
|
|
66
|
+
wrapperProps: rootProps,
|
|
67
|
+
indicator: indicator,
|
|
63
68
|
indicatorProps: indicatorProps,
|
|
64
69
|
inputProps: inputProps,
|
|
65
70
|
disabled: disabled,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.9.4-beta.
|
|
3
|
+
"version": "3.9.4-beta.8",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"module": "./esm/index.js",
|
|
11
11
|
"typings": "./cjs/index.d.ts",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sheinx/hooks": "3.9.4-beta.
|
|
13
|
+
"@sheinx/hooks": "3.9.4-beta.8",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.3.3"
|