shineout 3.7.2 → 3.7.3-beta.1

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/index.js CHANGED
@@ -522,5 +522,5 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
522
522
  // 此文件由脚本自动生成,请勿直接修改。
523
523
  // This file was generated automatically by a script. Please do not modify it directly.
524
524
  var _default = exports.default = {
525
- version: '3.7.2'
525
+ version: '3.7.3-beta.1'
526
526
  };
package/dist/shineout.js CHANGED
@@ -12234,7 +12234,7 @@ var handleStyle = function handleStyle(style) {
12234
12234
  };
12235
12235
  /* harmony default export */ var jss_style_handleStyle = (handleStyle);
12236
12236
  ;// CONCATENATED MODULE: ../shineout-style/src/version.ts
12237
- /* harmony default export */ var version = ('3.7.2');
12237
+ /* harmony default export */ var version = ('3.7.3-beta.1');
12238
12238
  ;// CONCATENATED MODULE: ../shineout-style/src/jss-style/index.tsx
12239
12239
 
12240
12240
 
@@ -33234,6 +33234,103 @@ function toNum(v) {
33234
33234
  }
33235
33235
  return 0;
33236
33236
  }
33237
+
33238
+ /**
33239
+ * 在字符串层面实现四舍五入
33240
+ * @param {string} numStr 数字字符串
33241
+ * @param {number} precision 精度
33242
+ * @returns {string} 四舍五入后的字符串
33243
+ */
33244
+ function roundString(numStr, precision) {
33245
+ if (precision < 0) return numStr;
33246
+ var parts = numStr.split('.');
33247
+ var intPart = parts[0];
33248
+ var decimalPart = parts[1] || '';
33249
+ if (decimalPart.length <= precision) {
33250
+ return intPart + (decimalPart ? ".".concat(decimalPart.padEnd(precision, '0')) : '');
33251
+ }
33252
+
33253
+ // 需要进行四舍五入
33254
+ var roundPos = precision;
33255
+ var carry = 0;
33256
+
33257
+ // 确定是否需要进位
33258
+ if (parseInt(decimalPart[roundPos], 10) >= 5) carry = 1;
33259
+
33260
+ // 如果不需要进位,直接截断
33261
+ if (carry === 0) {
33262
+ return intPart + (precision > 0 ? ".".concat(decimalPart.slice(0, precision)) : '');
33263
+ }
33264
+
33265
+ // 处理进位
33266
+ var digits = (intPart + (decimalPart ? ".".concat(decimalPart) : '')).replace('.', '').split('');
33267
+ var dotPos = intPart.length;
33268
+
33269
+ // 从小数位开始向前进位
33270
+ var i = dotPos + precision - 1;
33271
+ while (carry > 0 && i >= 0) {
33272
+ // 跳过小数点
33273
+ if (i === dotPos - 1) {
33274
+ i -= 1;
33275
+ continue;
33276
+ }
33277
+ var d = parseInt(digits[i], 10) + carry;
33278
+ digits[i] = (d % 10).toString();
33279
+ carry = Math.floor(d / 10);
33280
+ i -= 1;
33281
+ }
33282
+
33283
+ // 处理最高位进位
33284
+ var result = '';
33285
+ if (carry > 0) result = '1';
33286
+
33287
+ // 重建数字字符串
33288
+ for (var j = 0; j < digits.length; j++) {
33289
+ // 插入小数点
33290
+ if (j === dotPos && precision > 0) result += '.';
33291
+ // 只添加到所需精度
33292
+ if (j < dotPos || j < dotPos + precision) {
33293
+ result += digits[j];
33294
+ }
33295
+ }
33296
+ return result;
33297
+ }
33298
+
33299
+ /**
33300
+ * 格式化数字字符串到指定小数位
33301
+ * @param {string} value 数字字符串
33302
+ * @param {number} precision 小数位数
33303
+ * @returns {string} 格式化后的字符串
33304
+ * @example
33305
+ * console.log(preciseString('111111111111111.888', 2)) // "111111111111111.89"
33306
+ * console.log(preciseString('9.999', 2)) // "10.00"
33307
+ */
33308
+ var preciseString = function preciseString(value) {
33309
+ var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : -1;
33310
+ // 如果不是数字字符串,则返回原值
33311
+ if (!/^-?\d+(\.\d+)?$/.test(value)) {
33312
+ return value;
33313
+ }
33314
+
33315
+ // 如果不需要格式化精度,直接返回
33316
+ if (precision < 0) return value;
33317
+
33318
+ // 分离整数和小数部分
33319
+ var parts = value.split('.');
33320
+ var intPart = parts[0];
33321
+ var decimalPart = parts[1] || '';
33322
+
33323
+ // 截断或补零
33324
+ if (decimalPart.length > precision) {
33325
+ // 需要四舍五入
33326
+ if (precision < decimalPart.length && parseInt(decimalPart[precision], 10) >= 5) {
33327
+ // 手动实现字符串层面的四舍五入
33328
+ return roundString("".concat(intPart, ".").concat(decimalPart), precision);
33329
+ }
33330
+ return intPart + (precision > 0 ? ".".concat(decimalPart.slice(0, precision)) : '');
33331
+ }
33332
+ return intPart + (precision > 0 ? ".".concat(decimalPart.padEnd(precision, '0')) : '');
33333
+ };
33237
33334
  ;// CONCATENATED MODULE: ../base/src/spin/base.tsx
33238
33335
 
33239
33336
 
@@ -35776,6 +35873,7 @@ Input.displayName = 'SimpleInput';
35776
35873
 
35777
35874
 
35778
35875
 
35876
+
35779
35877
  function regLength(size) {
35780
35878
  return /\d+/.test(String(size)) && size > 0 ? "{0,".concat(size, "}") : '*';
35781
35879
  }
@@ -35859,7 +35957,7 @@ var useInputFormat = function useInputFormat(props) {
35859
35957
  if (numType === 'positive' && Number(value) <= 0) value = '';
35860
35958
  if (digits !== undefined && autoFix) {
35861
35959
  if (digits > 0) {
35862
- value = parseFloat(value).toFixed(digits);
35960
+ value = preciseString(value, digits);
35863
35961
  } else if (digits === 0) {
35864
35962
  value = parseInt(value, 10).toString();
35865
35963
  }
@@ -55218,6 +55316,11 @@ var SIZE_MAP = {
55218
55316
  'default': 36,
55219
55317
  'large': 42
55220
55318
  };
55319
+ var PADDING_Y_MAP = {
55320
+ 'small': 3,
55321
+ 'default': 0,
55322
+ 'large': 0
55323
+ };
55221
55324
  var TreeVirtual = function TreeVirtual(props) {
55222
55325
  var jssStyle = props.jssStyle,
55223
55326
  height = props.height,
@@ -55296,7 +55399,8 @@ var TreeVirtual = function TreeVirtual(props) {
55296
55399
  keepScrollHeight: true,
55297
55400
  dynamicVirtual: true,
55298
55401
  lineHeight: lineHeight,
55299
- renderItem: renderItem
55402
+ renderItem: renderItem,
55403
+ paddingY: PADDING_Y_MAP[datum.size || 'default']
55300
55404
  });
55301
55405
  };
55302
55406
  /* harmony default export */ var tree_virtual = (TreeVirtual);
@@ -67619,13 +67723,25 @@ var TreeSelect = function TreeSelect(props0) {
67619
67723
  var style = {
67620
67724
  maxHeight: height
67621
67725
  };
67726
+ var rootStyle = {
67727
+ padding: '0 4px'
67728
+ };
67729
+ if (!virtual) {
67730
+ if (size === 'small') {
67731
+ rootStyle = {
67732
+ padding: '3px 4px'
67733
+ };
67734
+ } else if (size === 'large') {
67735
+ rootStyle = {
67736
+ padding: '0 5px'
67737
+ };
67738
+ }
67739
+ }
67622
67740
  return /*#__PURE__*/(0,jsx_runtime.jsx)("div", {
67623
67741
  className: classnames_default()(styles.tree, styles.treeWrapper),
67624
67742
  style: style,
67625
67743
  children: /*#__PURE__*/(0,jsx_runtime.jsx)(src_tree_tree, objectSpread2_default()(objectSpread2_default()({
67626
- rootStyle: {
67627
- padding: '0 4px'
67628
- },
67744
+ rootStyle: rootStyle,
67629
67745
  jssStyle: jssStyle,
67630
67746
  renderItem: renderItem
67631
67747
  }, treeProps), {}, {
@@ -71429,7 +71545,7 @@ var upload_interface = __webpack_require__(8821);
71429
71545
 
71430
71546
 
71431
71547
  /* harmony default export */ var src_0 = ({
71432
- version: '3.7.2'
71548
+ version: '3.7.3-beta.1'
71433
71549
  });
71434
71550
  }();
71435
71551
  /******/ return __webpack_exports__;