@sheinx/base 3.9.1-beta.3 → 3.9.1-beta.5

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":"rate.d.ts","sourceRoot":"","sources":["rate.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,IAAI,WAAY,SAAS,4CAgI9B,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"rate.d.ts","sourceRoot":"","sources":["rate.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,IAAI,WAAY,SAAS,4CAsI9B,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/cjs/rate/rate.js CHANGED
@@ -67,7 +67,7 @@ var Rate = function Rate(props0) {
67
67
  var currentIndex = Math.ceil(showValue) - 1;
68
68
  var frontItem = Array.isArray(front) ? front[repeat ? currentIndex : index] : front;
69
69
  var backItem = Array.isArray(back) ? back[index] : back;
70
- var isHalfChecked = props.allowHalf && showValue % 1 > 0 && index === currentIndex;
70
+ var isHalfChecked = (props.allowHalf || props.disabled) && showValue % 1 > 0 && index === currentIndex;
71
71
  var isChecked = !isHalfChecked && index <= currentIndex;
72
72
  var handleChange = function handleChange(val) {
73
73
  if (clearable && value === val) {
@@ -79,6 +79,11 @@ var Rate = function Rate(props0) {
79
79
  }
80
80
  };
81
81
  var showAnimation = animationIndex && index < currentIndex;
82
+
83
+ // 只读状态下支持 0.6 这样的小数显示具体百分比的半颗星,而非固定的 50% 半星显示
84
+ var halfStyle = props.disabled && value % 1 > 0 ? {
85
+ width: value % 1 * 100 + '%'
86
+ } : undefined;
82
87
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
83
88
  className: (0, _classnames.default)(rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.item, isHalfChecked && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemCheckedHalf), isChecked && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemChecked), props.disabled && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemDisabled), showAnimation && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemAnimation)),
84
89
  style: {
@@ -101,7 +106,7 @@ var Rate = function Rate(props0) {
101
106
  handleChange(index + 1);
102
107
  } : undefined,
103
108
  children: frontItem
104
- }), props.allowHalf && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
109
+ }), (props.allowHalf || props.disabled) && /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
105
110
  onMouseEnter: !props.disabled ? function () {
106
111
  setHoverValue(index + 0.5);
107
112
  } : undefined,
@@ -109,6 +114,7 @@ var Rate = function Rate(props0) {
109
114
  handleChange(index + 0.5);
110
115
  } : undefined,
111
116
  className: rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemHalf,
117
+ style: halfStyle,
112
118
  dir: config.direction,
113
119
  children: frontItem
114
120
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"rate.d.ts","sourceRoot":"","sources":["rate.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,IAAI,WAAY,SAAS,4CAgI9B,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"rate.d.ts","sourceRoot":"","sources":["rate.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAOxC,QAAA,MAAM,IAAI,WAAY,SAAS,4CAsI9B,CAAC;AAEF,eAAe,IAAI,CAAC"}
package/esm/rate/rate.js CHANGED
@@ -59,7 +59,7 @@ var Rate = function Rate(props0) {
59
59
  var currentIndex = Math.ceil(showValue) - 1;
60
60
  var frontItem = Array.isArray(front) ? front[repeat ? currentIndex : index] : front;
61
61
  var backItem = Array.isArray(back) ? back[index] : back;
62
- var isHalfChecked = props.allowHalf && showValue % 1 > 0 && index === currentIndex;
62
+ var isHalfChecked = (props.allowHalf || props.disabled) && showValue % 1 > 0 && index === currentIndex;
63
63
  var isChecked = !isHalfChecked && index <= currentIndex;
64
64
  var handleChange = function handleChange(val) {
65
65
  if (clearable && value === val) {
@@ -71,6 +71,11 @@ var Rate = function Rate(props0) {
71
71
  }
72
72
  };
73
73
  var showAnimation = animationIndex && index < currentIndex;
74
+
75
+ // 只读状态下支持 0.6 这样的小数显示具体百分比的半颗星,而非固定的 50% 半星显示
76
+ var halfStyle = props.disabled && value % 1 > 0 ? {
77
+ width: value % 1 * 100 + '%'
78
+ } : undefined;
74
79
  return /*#__PURE__*/_jsxs("div", {
75
80
  className: classNames(rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.item, isHalfChecked && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemCheckedHalf), isChecked && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemChecked), props.disabled && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemDisabled), showAnimation && (rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemAnimation)),
76
81
  style: {
@@ -93,7 +98,7 @@ var Rate = function Rate(props0) {
93
98
  handleChange(index + 1);
94
99
  } : undefined,
95
100
  children: frontItem
96
- }), props.allowHalf && /*#__PURE__*/_jsx("span", {
101
+ }), (props.allowHalf || props.disabled) && /*#__PURE__*/_jsx("span", {
97
102
  onMouseEnter: !props.disabled ? function () {
98
103
  setHoverValue(index + 0.5);
99
104
  } : undefined,
@@ -101,6 +106,7 @@ var Rate = function Rate(props0) {
101
106
  handleChange(index + 0.5);
102
107
  } : undefined,
103
108
  className: rateClasses === null || rateClasses === void 0 ? void 0 : rateClasses.itemHalf,
109
+ style: halfStyle,
104
110
  dir: config.direction,
105
111
  children: frontItem
106
112
  })]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheinx/base",
3
- "version": "3.9.1-beta.3",
3
+ "version": "3.9.1-beta.5",
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.1-beta.3",
13
+ "@sheinx/hooks": "3.9.1-beta.5",
14
14
  "immer": "^10.0.0",
15
15
  "classnames": "^2.0.0",
16
16
  "@shined/reactive": "^0.3.3"