@nutui/nutui-react-taro 3.0.19-cpp.27 → 3.0.19-cpp.28

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.
Files changed (35) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/locales/base.d.ts +1 -0
  3. package/dist/cjs/locales/en-US.js +12 -1
  4. package/dist/cjs/locales/id-ID.js +12 -1
  5. package/dist/cjs/locales/ja-JP.js +10 -1
  6. package/dist/cjs/locales/tr-TR.js +12 -1
  7. package/dist/cjs/locales/zh-CN.js +10 -1
  8. package/dist/cjs/locales/zh-TW.js +10 -1
  9. package/dist/cjs/locales/zh-UG.js +12 -1
  10. package/dist/cjs/packages/calendarcard/calendarcard.js +30 -8
  11. package/dist/cjs/packages/price/price.js +14 -3
  12. package/dist/cjs/types/spec/calendarcard/base.d.ts +2 -0
  13. package/dist/cjs/utils/should-render-price-raw.d.ts +1 -0
  14. package/dist/cjs/utils/should-render-price-raw.js +34 -0
  15. package/dist/es/locales/base.d.ts +1 -0
  16. package/dist/es/locales/en-US.js +12 -1
  17. package/dist/es/locales/id-ID.js +12 -1
  18. package/dist/es/locales/ja-JP.js +10 -1
  19. package/dist/es/locales/tr-TR.js +12 -1
  20. package/dist/es/locales/zh-CN.js +10 -1
  21. package/dist/es/locales/zh-TW.js +10 -1
  22. package/dist/es/locales/zh-UG.js +12 -1
  23. package/dist/es/packages/calendarcard/calendarcard.js +31 -9
  24. package/dist/es/packages/price/price.js +14 -3
  25. package/dist/es/types/spec/calendarcard/base.d.ts +2 -0
  26. package/dist/es/utils/should-render-price-raw.d.ts +1 -0
  27. package/dist/es/utils/should-render-price-raw.js +24 -0
  28. package/dist/nutui.react.umd.js +76 -12
  29. package/dist/style-jmapp.css +1 -1
  30. package/dist/style-jmapp.scss +43 -43
  31. package/dist/style-jrkf.css +1 -1
  32. package/dist/style-jrkf.scss +36 -36
  33. package/dist/style.css +1 -1
  34. package/dist/style.scss +37 -37
  35. package/package.json +1 -1
@@ -0,0 +1,24 @@
1
+ var CJK = /[\u4E00-\u9FFF]/;
2
+ var RE_NUM = /\d+(?:\.\d+)?/g;
3
+ function hasNoExtractablePrice(s) {
4
+ var t = s.trim();
5
+ if (!t) return true;
6
+ if (!/\d/.test(t)) return true;
7
+ if (t.replace(/[^\d.]/g, '') === '') return true;
8
+ return false;
9
+ }
10
+ export function shouldRenderPriceAsRaw(s) {
11
+ if (hasNoExtractablePrice(s)) {
12
+ return true;
13
+ }
14
+ var t = s.trim();
15
+ if (!CJK.test(t)) return false;
16
+ var matches = Array.from(t.matchAll(RE_NUM));
17
+ if (matches.length < 2) return false;
18
+ var a = matches[0];
19
+ var b = matches[1];
20
+ var i0 = a.index;
21
+ var i1 = b.index;
22
+ var between = t.slice(i0 + a[0].length, i1);
23
+ return CJK.test(between);
24
+ }
@@ -1975,7 +1975,16 @@
1975
1975
  },
1976
1976
  today: "今天",
1977
1977
  loadPreviousMonth: "加载上一个月",
1978
- noEarlierMonth: "没有更早月份"
1978
+ noEarlierMonth: "没有更早月份",
1979
+ dayAriaLabel: function(year, month, day, today, isActive, isDisable) {
1980
+ if (isActive) {
1981
+ return today ? "已选定今日".concat(month, "月").concat(day, "号") : "已选定".concat(month, "月").concat(day, "号");
1982
+ }
1983
+ if (isDisable) {
1984
+ return today ? "".concat(month, "月").concat(day, "号今日按钮变暗") : "".concat(month, "月").concat(day, "号按钮变暗");
1985
+ }
1986
+ return today ? "".concat(month, "月").concat(day, "号今日") : "".concat(month, "月").concat(day, "号");
1987
+ }
1979
1988
  },
1980
1989
  shortpassword: {
1981
1990
  title: "请输入密码",
@@ -7685,12 +7694,13 @@
7685
7694
  };
7686
7695
  var defaultProps$16 = _object_spread_props(_object_spread({}, ComponentDefaults), {
7687
7696
  type: "single",
7688
- firstDayOfWeek: 0
7697
+ firstDayOfWeek: 0,
7698
+ weekdays: []
7689
7699
  });
7690
7700
  var prefixCls = "nut-calendarcard";
7691
7701
  var CalendarCard = /* @__PURE__ */ React.forwardRef(function(props, ref) {
7692
7702
  var locale = useConfig().locale;
7693
- var _$_object_spread = _object_spread({}, defaultProps$16, props), style = _$_object_spread.style, className = _$_object_spread.className, type2 = _$_object_spread.type, title = _$_object_spread.title, value2 = _$_object_spread.value, defaultValue = _$_object_spread.defaultValue, firstDayOfWeek = _$_object_spread.firstDayOfWeek, startDate = _$_object_spread.startDate, endDate = _$_object_spread.endDate, disableDay = _$_object_spread.disableDay, renderDay = _$_object_spread.renderDay, renderDayTop = _$_object_spread.renderDayTop, renderDayBottom = _$_object_spread.renderDayBottom, onDayClick = _$_object_spread.onDayClick, onPageChange = _$_object_spread.onPageChange, onChange = _$_object_spread.onChange;
7703
+ var _$_object_spread = _object_spread({}, defaultProps$16, props), style = _$_object_spread.style, className = _$_object_spread.className, type2 = _$_object_spread.type, title = _$_object_spread.title, value2 = _$_object_spread.value, defaultValue = _$_object_spread.defaultValue, firstDayOfWeek = _$_object_spread.firstDayOfWeek, startDate = _$_object_spread.startDate, endDate = _$_object_spread.endDate, disableDay = _$_object_spread.disableDay, renderDay = _$_object_spread.renderDay, renderDayTop = _$_object_spread.renderDayTop, renderDayBottom = _$_object_spread.renderDayBottom, renderDayAriaLabel = _$_object_spread.renderDayAriaLabel, weekdays = _$_object_spread.weekdays, onDayClick = _$_object_spread.onDayClick, onPageChange = _$_object_spread.onPageChange, onChange = _$_object_spread.onChange;
7694
7704
  var onPageChangeRef = React.useRef(onPageChange);
7695
7705
  var _useState = _sliced_to_array(React.useState(function() {
7696
7706
  var date2 = new Date(Date.now());
@@ -7837,6 +7847,18 @@
7837
7847
  var d = new Date(day.year, day.month - 1, day.date).getDay();
7838
7848
  return d === 0 || d === 6;
7839
7849
  };
7850
+ var isToday = function(day) {
7851
+ var today = /* @__PURE__ */ new Date();
7852
+ return day.year === today.getFullYear() && day.month === today.getMonth() + 1 && day.date === today.getDate();
7853
+ };
7854
+ var getAriaLabel = function(day) {
7855
+ var _locale_calendaritem_dayAriaLabel, _locale_calendaritem;
7856
+ if (renderDayAriaLabel) {
7857
+ return renderDayAriaLabel(day);
7858
+ }
7859
+ var today = isToday(day);
7860
+ return (_locale_calendaritem_dayAriaLabel = (_locale_calendaritem = locale.calendaritem).dayAriaLabel) === null || _locale_calendaritem_dayAriaLabel === void 0 ? void 0 : _locale_calendaritem_dayAriaLabel.call(_locale_calendaritem, day.year, day.month, day.date, today, isActive(day), isDisable(day));
7861
+ };
7840
7862
  var getClasses = function(day) {
7841
7863
  if (isDisable(day)) {
7842
7864
  return [
@@ -8011,15 +8033,20 @@
8011
8033
  }
8012
8034
  }, /* @__PURE__ */ React.createElement(DoubleRight, null))));
8013
8035
  };
8014
- var _useState2 = _sliced_to_array(React.useState(function() {
8015
- var weekdays = locale.calendaritem.weekdays.map(function(day, index2) {
8036
+ var weekHeader = React.useMemo(function() {
8037
+ var weekdaysList = weekdays.length > 0 ? weekdays : locale.calendaritem.weekdays;
8038
+ var weekdaysData = weekdaysList.map(function(day, index2) {
8016
8039
  return {
8017
8040
  name: day,
8018
8041
  key: index2
8019
8042
  };
8020
8043
  });
8021
- return _to_consumable_array(weekdays.slice(firstDayOfWeek, 7)).concat(_to_consumable_array(weekdays.slice(0, firstDayOfWeek)));
8022
- }), 1), weekHeader = _useState2[0];
8044
+ return _to_consumable_array(weekdaysData.slice(firstDayOfWeek, 7)).concat(_to_consumable_array(weekdaysData.slice(0, firstDayOfWeek)));
8045
+ }, [
8046
+ weekdays,
8047
+ firstDayOfWeek,
8048
+ locale.calendaritem.weekdays
8049
+ ]);
8023
8050
  var renderContent = function() {
8024
8051
  return /* @__PURE__ */ React.createElement(components.View, {
8025
8052
  className: "".concat(prefixCls, "-content")
@@ -8040,11 +8067,14 @@
8040
8067
  key: "".concat(day.year, "-").concat(day.month, "-").concat(day.date),
8041
8068
  onClick: function() {
8042
8069
  return handleDayClick(day);
8043
- }
8070
+ },
8071
+ ariaLabel: getAriaLabel(day),
8072
+ ariaRole: "button"
8044
8073
  }, /* @__PURE__ */ React.createElement(components.View, {
8045
8074
  className: "".concat(prefixCls, "-day-top")
8046
8075
  }, renderDayTop ? renderDayTop(day) : ""), /* @__PURE__ */ React.createElement(components.View, {
8047
- className: "".concat(prefixCls, "-day-inner")
8076
+ className: "".concat(prefixCls, "-day-inner"),
8077
+ ariaHidden: true
8048
8078
  }, renderDay ? renderDay(day) : day.date), /* @__PURE__ */ React.createElement(components.View, {
8049
8079
  className: "".concat(prefixCls, "-day-bottom")
8050
8080
  }, renderDayBottom ? renderDayBottom(day) : ""));
@@ -41065,6 +41095,30 @@
41065
41095
  return PriceColorEnum2;
41066
41096
  }({});
41067
41097
  var destroyList = [];
41098
+ var CJK = /[\u4E00-\u9FFF]/;
41099
+ var RE_NUM = /\d+(?:\.\d+)?/g;
41100
+ function hasNoExtractablePrice(s) {
41101
+ var t = s.trim();
41102
+ if (!t) return true;
41103
+ if (!/\d/.test(t)) return true;
41104
+ if (t.replace(/[^\d.]/g, "") === "") return true;
41105
+ return false;
41106
+ }
41107
+ function shouldRenderPriceAsRaw(s) {
41108
+ if (hasNoExtractablePrice(s)) {
41109
+ return true;
41110
+ }
41111
+ var t = s.trim();
41112
+ if (!CJK.test(t)) return false;
41113
+ var matches = Array.from(t.matchAll(RE_NUM));
41114
+ if (matches.length < 2) return false;
41115
+ var a = matches[0];
41116
+ var b = matches[1];
41117
+ var i0 = a.index;
41118
+ var i1 = b.index;
41119
+ var between = t.slice(i0 + a[0].length, i1);
41120
+ return CJK.test(between);
41121
+ }
41068
41122
  var defaultProps$g = _object_spread_props(_object_spread({}, ComponentDefaults), {
41069
41123
  color: "primary",
41070
41124
  price: 0,
@@ -41079,10 +41133,17 @@
41079
41133
  var _$_object_spread = _object_spread({}, defaultProps$g, props), color = _$_object_spread.color, originalPrice = _$_object_spread.price, symbol = _$_object_spread.symbol, digits = _$_object_spread.digits, thousands = _$_object_spread.thousands, position2 = _$_object_spread.position, size = _$_object_spread.size, line = _$_object_spread.line, className = _$_object_spread.className, style = _$_object_spread.style;
41080
41134
  var classPrefix2 = "nut-price";
41081
41135
  var rtl = useRtl();
41136
+ var isRenderPriceRaw = React.useMemo(function() {
41137
+ return typeof originalPrice === "string" && shouldRenderPriceAsRaw(originalPrice);
41138
+ }, [
41139
+ originalPrice
41140
+ ]);
41082
41141
  var price = React.useMemo(function() {
41142
+ if (isRenderPriceRaw) return "";
41083
41143
  return originalPrice.toString().replace(/[^\d.]/g, "");
41084
41144
  }, [
41085
- originalPrice
41145
+ originalPrice,
41146
+ isRenderPriceRaw
41086
41147
  ]);
41087
41148
  var isCustomPriceColor = React.useMemo(function() {
41088
41149
  var specificPriceColor = Object.values(PriceColorEnum);
@@ -41163,13 +41224,16 @@
41163
41224
  style: priceColorStyle
41164
41225
  }, formatDecimal(price))) : null, symbol && position2 === "after" ? renderSymbol() : null);
41165
41226
  };
41227
+ var renderRawContent = function() {
41228
+ return /* @__PURE__ */ React.createElement(React.Fragment, null, originalPrice);
41229
+ };
41166
41230
  return /* @__PURE__ */ React.createElement(React.Fragment, null, harmony() || process.env.TARO_ENV === "dynamic" ? /* @__PURE__ */ React.createElement(components.Text, {
41167
41231
  className: "".concat(classPrefix2, " ").concat(classPrefix2, "-").concat(color, " ").concat(className),
41168
41232
  style
41169
- }, renderInner()) : /* @__PURE__ */ React.createElement(components.View, {
41233
+ }, isRenderPriceRaw ? renderRawContent() : renderInner()) : /* @__PURE__ */ React.createElement(components.View, {
41170
41234
  className: "".concat(classPrefix2, " ").concat(classPrefix2, "-").concat(color, " ").concat(className),
41171
41235
  style
41172
- }, renderInner()));
41236
+ }, isRenderPriceRaw ? renderRawContent() : renderInner()));
41173
41237
  };
41174
41238
  Price.displayName = "NutPrice";
41175
41239
  var defaultProps$f = {