@sheinx/base 3.9.4-beta.6 → 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.
@@ -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,wGAgIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
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"}
@@ -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 renderRadio = _react.default.useCallback(function (info) {
86
- var children = info.children,
87
- content = info.content,
88
- checked = info.checked,
89
- disabled = info.disabled,
90
- rootProps = info.rootProps,
91
- inputProps = info.inputProps;
92
- var checkedProps = {
93
- mode: button === 'outline' ? 'outline' : undefined,
94
- type: 'primary'
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
- var noCheckedProps = {
97
- mode: button === 'outline' ? 'outline' : undefined,
98
- type: 'secondary'
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
- renderRadio: renderRadio
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
- renderRadio: renderRadio,
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;CACpD"}
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"}
@@ -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,sEAIrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
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"}
@@ -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
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(Radio, _objectSpread(_objectSpread({}, props), value));
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
- * @private 内部属性用于封装按钮单选框样式
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
- renderRadio?: (...args: any) => React.ReactElement;
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;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC;IACnD;;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
+ {"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,4CAqDrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
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", "renderRadio", "size", "theme"];
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
- renderRadio = props.renderRadio,
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 simpleRadio = /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", _objectSpread(_objectSpread({
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
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
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 renderRadio === 'function') {
68
- return renderRadio({
70
+ if (typeof renderWrapper === 'function') {
71
+ return renderWrapper({
69
72
  content: simpleRadio,
70
- rootProps: rootProps,
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,wGAgIV,CAAC;AAEF,eAAe,KAAK,CAAC"}
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"}
@@ -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 renderRadio = React.useCallback(function (info) {
78
- var children = info.children,
79
- content = info.content,
80
- checked = info.checked,
81
- disabled = info.disabled,
82
- rootProps = info.rootProps,
83
- inputProps = info.inputProps;
84
- var checkedProps = {
85
- mode: button === 'outline' ? 'outline' : undefined,
86
- type: 'primary'
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
- var noCheckedProps = {
89
- mode: button === 'outline' ? 'outline' : undefined,
90
- type: 'secondary'
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
- renderRadio: renderRadio
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
- renderRadio: renderRadio,
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;CACpD"}
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"}
@@ -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,sEAIrB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
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"}
@@ -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
- return /*#__PURE__*/_jsx(Radio, _objectSpread(_objectSpread({}, props), value));
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
- * @private 内部属性用于封装按钮单选框样式
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
- renderRadio?: (...args: any) => React.ReactElement;
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;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,KAAK,CAAC,YAAY,CAAC;IACnD;;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
+ {"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,4CAqDrC,CAAC;AAEF,eAAe,KAAK,CAAC"}
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", "renderRadio", "size", "theme"];
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
- renderRadio = props.renderRadio,
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 simpleRadio = /*#__PURE__*/_jsxs("div", _objectSpread(_objectSpread({
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
- }), /*#__PURE__*/_jsx("span", {
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 renderRadio === 'function') {
60
- return renderRadio({
63
+ if (typeof renderWrapper === 'function') {
64
+ return renderWrapper({
61
65
  content: simpleRadio,
62
- rootProps: rootProps,
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.6",
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.6",
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"