@nutui/nutui-react-taro 3.0.10 → 3.0.11-patch.0

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 (75) hide show
  1. package/CHANGELOG.md +18 -13
  2. package/dist/cjs/locales/base.d.ts +2 -0
  3. package/dist/cjs/locales/en-US.js +3 -1
  4. package/dist/cjs/locales/id-ID.js +3 -1
  5. package/dist/cjs/locales/tr-TR.js +3 -1
  6. package/dist/cjs/locales/zh-CN.js +3 -1
  7. package/dist/cjs/locales/zh-TW.js +3 -1
  8. package/dist/cjs/locales/zh-UG.js +3 -1
  9. package/dist/cjs/packages/address/address.js +76 -48
  10. package/dist/cjs/packages/address/{customRender.d.ts → cascaderRender.d.ts} +1 -1
  11. package/dist/cjs/packages/address/{customRender.js → cascaderRender.js} +5 -5
  12. package/dist/cjs/packages/address/elevatorRender.d.ts +14 -0
  13. package/dist/cjs/packages/address/elevatorRender.js +264 -0
  14. package/dist/cjs/packages/address/existRender.js +2 -2
  15. package/dist/cjs/packages/address/style/address.scss +114 -5
  16. package/dist/cjs/packages/address/style/style.css +103 -4
  17. package/dist/cjs/packages/address/style/style.harmony.css +103 -4
  18. package/dist/cjs/packages/address/style-jmapp/address.scss +114 -5
  19. package/dist/cjs/packages/address/style-jmapp/style.css +103 -4
  20. package/dist/cjs/packages/address/style-jrkf/address.scss +114 -5
  21. package/dist/cjs/packages/address/style-jrkf/style.css +103 -4
  22. package/dist/cjs/packages/address/utils.d.ts +5 -0
  23. package/dist/cjs/packages/address/utils.js +93 -0
  24. package/dist/cjs/packages/animatingnumbers/style/style.harmony.css +42 -1
  25. package/dist/cjs/packages/cascader/cascader.js +2 -2
  26. package/dist/cjs/packages/picker/style/picker.scss +0 -1
  27. package/dist/cjs/packages/picker/style/style.css +0 -1
  28. package/dist/cjs/packages/picker/style/style.harmony.css +0 -1
  29. package/dist/cjs/packages/picker/style-jmapp/picker.scss +0 -1
  30. package/dist/cjs/packages/picker/style-jmapp/style.css +0 -1
  31. package/dist/cjs/packages/picker/style-jrkf/picker.scss +0 -1
  32. package/dist/cjs/packages/picker/style-jrkf/style.css +0 -1
  33. package/dist/cjs/types/spec/address/base.d.ts +3 -12
  34. package/dist/cjs/types/spec/cascader/base.d.ts +1 -0
  35. package/dist/es/locales/base.d.ts +2 -0
  36. package/dist/es/locales/en-US.js +3 -1
  37. package/dist/es/locales/id-ID.js +3 -1
  38. package/dist/es/locales/tr-TR.js +3 -1
  39. package/dist/es/locales/zh-CN.js +3 -1
  40. package/dist/es/locales/zh-TW.js +3 -1
  41. package/dist/es/locales/zh-UG.js +3 -1
  42. package/dist/es/packages/address/address.js +77 -49
  43. package/dist/es/packages/address/{customRender.d.ts → cascaderRender.d.ts} +1 -1
  44. package/dist/es/packages/address/{customRender.js → cascaderRender.js} +3 -3
  45. package/dist/es/packages/address/elevatorRender.d.ts +14 -0
  46. package/dist/es/packages/address/elevatorRender.js +252 -0
  47. package/dist/es/packages/address/existRender.js +2 -2
  48. package/dist/es/packages/address/style/address.scss +114 -5
  49. package/dist/es/packages/address/style/style.css +103 -4
  50. package/dist/es/packages/address/style/style.harmony.css +103 -4
  51. package/dist/es/packages/address/style-jmapp/address.scss +114 -5
  52. package/dist/es/packages/address/style-jmapp/style.css +103 -4
  53. package/dist/es/packages/address/style-jrkf/address.scss +114 -5
  54. package/dist/es/packages/address/style-jrkf/style.css +103 -4
  55. package/dist/es/packages/address/utils.d.ts +5 -0
  56. package/dist/es/packages/address/utils.js +75 -0
  57. package/dist/es/packages/animatingnumbers/style/style.harmony.css +42 -1
  58. package/dist/es/packages/cascader/cascader.js +1 -1
  59. package/dist/es/packages/picker/style/picker.scss +0 -1
  60. package/dist/es/packages/picker/style/style.css +0 -1
  61. package/dist/es/packages/picker/style/style.harmony.css +0 -1
  62. package/dist/es/packages/picker/style-jmapp/picker.scss +0 -1
  63. package/dist/es/packages/picker/style-jmapp/style.css +0 -1
  64. package/dist/es/packages/picker/style-jrkf/picker.scss +0 -1
  65. package/dist/es/packages/picker/style-jrkf/style.css +0 -1
  66. package/dist/es/types/spec/address/base.d.ts +7 -13
  67. package/dist/es/types/spec/cascader/base.d.ts +1 -0
  68. package/dist/nutui.react.umd.js +458 -119
  69. package/dist/style-jmapp.css +1 -1
  70. package/dist/style-jmapp.scss +42 -42
  71. package/dist/style-jrkf.css +1 -1
  72. package/dist/style-jrkf.scss +40 -40
  73. package/dist/style.css +1 -1
  74. package/dist/style.scss +31 -31
  75. package/package.json +1 -1
@@ -2,10 +2,6 @@
2
2
  /* #endif */
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
- .nut-address-elevator {
6
- display: flex;
7
- margin-top: 20px;
8
- }
9
5
  .nut-address-exist {
10
6
  display: block;
11
7
  padding: 15px 20px 0;
@@ -45,6 +41,109 @@
45
41
  color: var(--nutui-color-text-dark);
46
42
  }
47
43
 
44
+ .nut-address-title {
45
+ font-size: 14px;
46
+ font-weight: 500;
47
+ padding: 16px 16px 12px 16px;
48
+ }
49
+ .nut-address-hotlist {
50
+ padding: 0 16px;
51
+ display: flex;
52
+ flex-wrap: wrap;
53
+ align-items: flex-start;
54
+ }
55
+ .nut-address-hotlist-item {
56
+ display: flex;
57
+ justify-content: center;
58
+ align-items: center;
59
+ width: 63px;
60
+ height: 28px;
61
+ font-size: 12px;
62
+ border-radius: 4px;
63
+ margin-bottom: 7px;
64
+ /* #ifdef harmony*/
65
+ margin-right: 6px;
66
+ /* #endif */
67
+ /* #ifndef harmony*/
68
+ margin-right: 7px;
69
+ /* #endif */
70
+ background-color: var(--nutui-gray-2, #f0f0f0);
71
+ color: var(--nutui-color-title);
72
+ }
73
+ .nut-address-hotlist-item:nth-child(5n) {
74
+ margin-right: 0;
75
+ }
76
+ .nut-address-hotlist.hotlist-more .nut-address-hotlist-item {
77
+ width: auto;
78
+ padding: 0 16px;
79
+ margin-right: 7px;
80
+ }
81
+ .nut-address-selected {
82
+ width: 100%;
83
+ height: 60px;
84
+ padding: 0 16px;
85
+ display: flex;
86
+ align-items: center;
87
+ border-bottom: 1px solid var(--nutui-color-border);
88
+ }
89
+ .nut-address-selected-item {
90
+ font-size: 12px;
91
+ display: inline-block;
92
+ height: 28px;
93
+ line-height: 28px;
94
+ padding: 0 12px;
95
+ border-radius: 4px;
96
+ background-color: var(--nutui-gray-2, #f0f0f0);
97
+ }
98
+ .nut-address-selected-item.active {
99
+ border: 1px solid var(--nutui-color-primary, #ff6666);
100
+ background-color: var(--nutui-color-primary-light-pressed, #ffcccc);
101
+ color: var(--nutui-color-primary, #ff6666);
102
+ }
103
+ .nut-address-selected-border {
104
+ margin: 0 2px;
105
+ color: var(--nutui-color-text-disabled);
106
+ }
107
+ .nut-address-elevator {
108
+ margin-top: 0;
109
+ }
110
+ .nut-address-elevator .nut-elevator-list-item {
111
+ position: relative;
112
+ padding-left: 20px;
113
+ }
114
+ .nut-address-elevator .nut-elevator-list-item-code {
115
+ display: inline;
116
+ position: absolute;
117
+ left: 0;
118
+ top: 0;
119
+ height: 30px;
120
+ line-height: 30px;
121
+ border-bottom: 0;
122
+ color: var(--nutui-color-text-help);
123
+ font-weight: 500;
124
+ }
125
+ .nut-address-elevator .nut-elevator-bars {
126
+ top: 40%;
127
+ padding: 0;
128
+ background: none;
129
+ }
130
+ .nut-address-elevator .nut-elevator-bars-inner-item {
131
+ display: flex;
132
+ justify-content: center;
133
+ align-items: center;
134
+ width: 16px;
135
+ height: 16px;
136
+ font-size: 10px;
137
+ border-radius: 16px;
138
+ margin-bottom: 2px;
139
+ color: var(--nutui-color-text-help);
140
+ }
141
+ .nut-address-elevator .nut-elevator-bars-inner-item-active {
142
+ background-color: var(--nutui-color-primary, #ff6666);
143
+ color: var(--nutui-color-surface-2);
144
+ font-weight: 400;
145
+ }
146
+
48
147
  [dir=rtl] .nut-address-exist-item-info,
49
148
  .nut-rtl .nut-address-exist-item-info {
50
149
  margin-left: 0;
@@ -0,0 +1,5 @@
1
+ export declare const transformData: (data: any) => {
2
+ title: string;
3
+ list: any;
4
+ }[];
5
+ export declare const findDataByName: any;
@@ -0,0 +1,75 @@
1
+ var generateId = function(name) {
2
+ return name.split('').reduce(function(sum, char) {
3
+ return sum + char.charCodeAt(0);
4
+ }, 0) // 使用字符的 Unicode 值作为 ID
5
+ ;
6
+ };
7
+ export var transformData = function(data) {
8
+ var groupByWordCode = function(data, parentId, parentName) {
9
+ return data === null || data === void 0 ? void 0 : data.reduce(function(acc, item) {
10
+ var wordCode = item.wordCode;
11
+ if (!acc[wordCode]) {
12
+ acc[wordCode] = [];
13
+ }
14
+ var currentId = generateId(item.value);
15
+ acc[wordCode].push({
16
+ name: item.value,
17
+ wordCode: item.wordCode,
18
+ id: currentId,
19
+ pId: parentId,
20
+ pName: parentName,
21
+ children: item.children && groupByWordCode(item.children, currentId, item.text) || null
22
+ });
23
+ return acc;
24
+ }, {});
25
+ };
26
+ var extractTitles = function(obj) {
27
+ return Object.keys(obj).map(function(key) {
28
+ return {
29
+ title: key,
30
+ list: obj[key].map(function(item) {
31
+ if (item.children) {
32
+ item.children = extractTitles(item.children);
33
+ }
34
+ return item;
35
+ })
36
+ };
37
+ });
38
+ };
39
+ var middleData = groupByWordCode(data, '', '');
40
+ var resultData = extractTitles(middleData);
41
+ return resultData;
42
+ };
43
+ export var findDataByName = function(data, name) {
44
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
45
+ try {
46
+ for(var _iterator = data[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
47
+ var item = _step.value;
48
+ var _item_name;
49
+ if (((_item_name = item.name) === null || _item_name === void 0 ? void 0 : _item_name.indexOf(name)) === 0) return item;
50
+ if (item.children) {
51
+ var found = findDataByName(item.children, name);
52
+ if (found) return found;
53
+ }
54
+ if (item.list) {
55
+ var found1 = findDataByName(item.list, name);
56
+ if (found1) return found1;
57
+ }
58
+ }
59
+ } catch (err) {
60
+ _didIteratorError = true;
61
+ _iteratorError = err;
62
+ } finally{
63
+ try {
64
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
65
+ _iterator.return();
66
+ }
67
+ } finally{
68
+ if (_didIteratorError) {
69
+ throw _iteratorError;
70
+ }
71
+ }
72
+ }
73
+ return null // 如果没有找到,返回 null
74
+ ;
75
+ };
@@ -1,4 +1,45 @@
1
1
  /* #ifdef harmony */
2
2
  /* #endif */
3
3
  /* #ifndef harmony */
4
- /* #endif */
4
+ /* #endif */
5
+ .nut-countup-list {
6
+ display: inline-flex;
7
+ height: 32px;
8
+ overflow: hidden;
9
+ direction: ltr;
10
+ }
11
+ .nut-countup-listitem {
12
+ height: 32px;
13
+ overflow: hidden;
14
+ user-select: none;
15
+ -webkit-tap-highlight-color: transparent;
16
+ }
17
+ .nut-countup-listitem-number {
18
+ margin: 0 0;
19
+ border-radius: 4px;
20
+ color: #1a1a1a;
21
+ background-color: inherit;
22
+ }
23
+ .nut-countup-separator {
24
+ display: flex;
25
+ height: 80%;
26
+ align-items: flex-end;
27
+ color: #1a1a1a;
28
+ font-size: 18px;
29
+ font-weight: 600;
30
+ }
31
+ .nut-countup-number {
32
+ display: flex;
33
+ flex-direction: column;
34
+ align-items: center;
35
+ width: auto;
36
+ transition: transform 1s ease-in-out;
37
+ transform: translate(0, 0);
38
+ }
39
+ .nut-countup-number-text {
40
+ height: 32px;
41
+ line-height: 32px;
42
+ color: #1a1a1a;
43
+ font-size: 18px;
44
+ font-weight: 600;
45
+ }
@@ -16,7 +16,7 @@ import { mergeProps } from "../../utils/merge-props";
16
16
  import { usePropsValue } from "../../hooks/use-props-value";
17
17
  import { isEmpty } from "../../utils/is-empty";
18
18
  import { getRefValue, useRefState } from "../../hooks/use-ref-state";
19
- import { useConfig } from "../configprovider";
19
+ import { useConfig } from "../configprovider/index";
20
20
  var defaultProps = _object_spread_props(_object_spread({}, ComponentDefaults), {
21
21
  activeColor: '',
22
22
  activeIcon: 'checklist',
@@ -1,5 +1,4 @@
1
1
  .nut-picker {
2
- background-color: $color-background-overlay;
3
2
  width: 100%;
4
3
 
5
4
  &-control {
@@ -3,7 +3,6 @@
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
5
  .nut-picker {
6
- background-color: var(--nutui-color-background-overlay, #ffffff);
7
6
  width: 100%;
8
7
  }
9
8
  .nut-picker-control {
@@ -3,7 +3,6 @@
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
5
  .nut-picker {
6
- background-color: #ffffff;
7
6
  width: 100%;
8
7
  }
9
8
  .nut-picker-control {
@@ -1,5 +1,4 @@
1
1
  .nut-picker {
2
- background-color: $color-background-overlay;
3
2
  width: 100%;
4
3
 
5
4
  &-control {
@@ -3,7 +3,6 @@
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
5
  .nut-picker {
6
- background-color: var(--nutui-color-surface-2);
7
6
  width: 100%;
8
7
  }
9
8
  .nut-picker-control {
@@ -1,5 +1,4 @@
1
1
  .nut-picker {
2
- background-color: $color-background-overlay;
3
2
  width: 100%;
4
3
 
5
4
  &-control {
@@ -3,7 +3,6 @@
3
3
  /* #ifndef harmony */
4
4
  /* #endif */
5
5
  .nut-picker {
6
- background-color: var(--nutui-color-surface-2);
7
6
  width: 100%;
8
7
  }
9
8
  .nut-picker-control {
@@ -4,11 +4,6 @@ export interface RegionData {
4
4
  name?: string;
5
5
  [key: string]: any;
6
6
  }
7
- export interface ChangeData {
8
- next: string;
9
- value: string | RegionData;
10
- custom: string;
11
- }
12
7
  export interface CloseCallBackData extends Regions {
13
8
  addressIdStr: string;
14
9
  addressStr: string;
@@ -32,18 +27,13 @@ export interface AddressList {
32
27
  name?: string;
33
28
  phone?: string;
34
29
  }
35
- export interface CurrentData {
36
- next: string;
37
- value: string | RegionData;
38
- custom: string;
39
- selectedRegion?: Regions;
40
- }
41
30
  export interface Regions {
42
31
  province: RegionData;
43
32
  city: RegionData;
44
33
  county: RegionData;
45
34
  town: RegionData;
46
35
  }
36
+ export type AddressModeType = 'exist' | 'cascader' | 'elevator';
47
37
  export interface BaseAddress {
48
38
  /**
49
39
  * 是否打开地址选择
@@ -56,9 +46,9 @@ export interface BaseAddress {
56
46
  value?: CascaderValue;
57
47
  defaultValue?: CascaderValue;
58
48
  /**
59
- * 地址选择类型 exist/custom
49
+ * 地址选择类型 exist/cascader/elevator
60
50
  */
61
- type: string
51
+ type: AddressModeType
62
52
  options: CascaderOption[];
63
53
  optionKey: CascaderOptionKey;
64
54
  format: Record<string, string | number | null>;
@@ -84,6 +74,10 @@ export interface BaseAddress {
84
74
  */
85
75
  backIcon: React.ReactNode
86
76
  /**
77
+ * 是否展示热门城市,目前只在电梯模式下有效
78
+ */
79
+ hotList: RegionData[]
80
+ /**
87
81
  * 点击'选择其他地址'或自定义地址选择左上角返回按钮触发
88
82
  */
89
83
  onSwitch?: (data: {
@@ -8,6 +8,7 @@ export interface CascaderPane {
8
8
  export interface CascaderOption {
9
9
  text?: string;
10
10
  value?: number | string;
11
+ wordCode?: string;
11
12
  paneKey?: string;
12
13
  disabled?: boolean;
13
14
  children?: CascaderOption[];