@hero-design/rn 8.92.1 → 8.92.2
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/.turbo/turbo-build.log +2 -2
- package/CHANGELOG.md +6 -0
- package/es/index.js +6 -9
- package/lib/index.js +6 -9
- package/package.json +1 -1
- package/src/components/Calendar/__tests__/CalendarRange.spec.tsx +26 -11
- package/src/components/Calendar/__tests__/helper.spec.ts +65 -58
- package/src/components/Calendar/helpers.ts +8 -13
- package/stats/8.92.2/rn-stats.html +4842 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(node:
|
|
1
|
+
(node:3013) ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time
|
|
2
2
|
(Use `node --trace-warnings ...` to show where the warning was created)
|
|
3
3
|
[36m
|
|
4
4
|
[1msrc/index.ts[22m → [1mlib/index.js, es/index.js[22m...[39m
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
[7m [0m [91m ~~~~~~~~~~~~~~~~~~~[0m
|
|
11
11
|
[39m
|
|
12
12
|
[1m[33m(!) [plugin node-resolve] preferring built-in module 'events' over local alternative at '/home/runner/work/hero-design/hero-design/node_modules/events/events.js', pass 'preferBuiltins: false' to disable this behavior or 'preferBuiltins: true' to disable this warning.or passing a function to 'preferBuiltins' to provide more fine-grained control over which built-in modules to prefer.[39m[22m
|
|
13
|
-
[32mcreated [1mlib/index.js, es/index.js[22m in [1m53.
|
|
13
|
+
[32mcreated [1mlib/index.js, es/index.js[22m in [1m53.6s[22m[39m
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# @hero-design/rn
|
|
2
2
|
|
|
3
|
+
## 8.92.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#3733](https://github.com/Thinkei/hero-design/pull/3733) [`3704e47f0103bde351e4820b81f2ebcbafedc6a5`](https://github.com/Thinkei/hero-design/commit/3704e47f0103bde351e4820b81f2ebcbafedc6a5) Thanks [@vinhphan-eh](https://github.com/vinhphan-eh)! - [Calendar] Update selection logic
|
|
8
|
+
|
|
3
9
|
## 8.92.1
|
|
4
10
|
|
|
5
11
|
### Patch Changes
|
package/es/index.js
CHANGED
|
@@ -13204,11 +13204,11 @@ var setStartOrEndDate = function setStartOrEndDate(_ref2) {
|
|
|
13204
13204
|
var date = _ref2.date,
|
|
13205
13205
|
startDate = _ref2.startDate,
|
|
13206
13206
|
endDate = _ref2.endDate;
|
|
13207
|
-
//
|
|
13207
|
+
// If both dates are set, selecting start or end date will set the same date
|
|
13208
13208
|
if (startDate && endDate && (isEqDate(date, startDate) || isEqDate(date, endDate))) {
|
|
13209
13209
|
return {
|
|
13210
|
-
startDate:
|
|
13211
|
-
endDate:
|
|
13210
|
+
startDate: date,
|
|
13211
|
+
endDate: date
|
|
13212
13212
|
};
|
|
13213
13213
|
}
|
|
13214
13214
|
// No start date yet - set as start
|
|
@@ -13235,13 +13235,10 @@ var setStartOrEndDate = function setStartOrEndDate(_ref2) {
|
|
|
13235
13235
|
endDate: undefined
|
|
13236
13236
|
};
|
|
13237
13237
|
}
|
|
13238
|
-
// Clicking outside range -
|
|
13239
|
-
return
|
|
13238
|
+
// Clicking outside range - reset range
|
|
13239
|
+
return {
|
|
13240
13240
|
startDate: date,
|
|
13241
|
-
endDate:
|
|
13242
|
-
} : {
|
|
13243
|
-
startDate: startDate,
|
|
13244
|
-
endDate: date
|
|
13241
|
+
endDate: undefined
|
|
13245
13242
|
};
|
|
13246
13243
|
};
|
|
13247
13244
|
|
package/lib/index.js
CHANGED
|
@@ -13232,11 +13232,11 @@ var setStartOrEndDate = function setStartOrEndDate(_ref2) {
|
|
|
13232
13232
|
var date = _ref2.date,
|
|
13233
13233
|
startDate = _ref2.startDate,
|
|
13234
13234
|
endDate = _ref2.endDate;
|
|
13235
|
-
//
|
|
13235
|
+
// If both dates are set, selecting start or end date will set the same date
|
|
13236
13236
|
if (startDate && endDate && (isEqDate(date, startDate) || isEqDate(date, endDate))) {
|
|
13237
13237
|
return {
|
|
13238
|
-
startDate:
|
|
13239
|
-
endDate:
|
|
13238
|
+
startDate: date,
|
|
13239
|
+
endDate: date
|
|
13240
13240
|
};
|
|
13241
13241
|
}
|
|
13242
13242
|
// No start date yet - set as start
|
|
@@ -13263,13 +13263,10 @@ var setStartOrEndDate = function setStartOrEndDate(_ref2) {
|
|
|
13263
13263
|
endDate: undefined
|
|
13264
13264
|
};
|
|
13265
13265
|
}
|
|
13266
|
-
// Clicking outside range -
|
|
13267
|
-
return
|
|
13266
|
+
// Clicking outside range - reset range
|
|
13267
|
+
return {
|
|
13268
13268
|
startDate: date,
|
|
13269
|
-
endDate:
|
|
13270
|
-
} : {
|
|
13271
|
-
startDate: startDate,
|
|
13272
|
-
endDate: date
|
|
13269
|
+
endDate: undefined
|
|
13273
13270
|
};
|
|
13274
13271
|
};
|
|
13275
13272
|
|
package/package.json
CHANGED
|
@@ -47,17 +47,32 @@ describe('CalendarRange', () => {
|
|
|
47
47
|
expect(queryAllByTestId('calendar-disabled-cell')).toHaveLength(0);
|
|
48
48
|
expect(queryAllByTestId('calendar-date-mark')).toHaveLength(5);
|
|
49
49
|
|
|
50
|
-
//
|
|
51
|
-
fireEvent.press(queryAllByText('11')[0]);
|
|
50
|
+
// Select outside range
|
|
51
|
+
fireEvent.press(queryAllByText('11')[0]);
|
|
52
52
|
expect(onChange).toHaveBeenCalledWith({
|
|
53
53
|
startDate: new Date('2022-10-11'),
|
|
54
|
-
endDate:
|
|
54
|
+
endDate: undefined,
|
|
55
55
|
});
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
// Select start date
|
|
58
|
+
fireEvent.press(queryAllByText('12')[0]);
|
|
58
59
|
expect(onChange).toHaveBeenCalledWith({
|
|
59
60
|
startDate: new Date('2022-10-12'),
|
|
60
|
-
endDate: new Date('2022-10-
|
|
61
|
+
endDate: new Date('2022-10-12'),
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// Select end date
|
|
65
|
+
fireEvent.press(queryAllByText('15')[0]);
|
|
66
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
67
|
+
startDate: new Date('2022-10-15'),
|
|
68
|
+
endDate: new Date('2022-10-15'),
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
// Select inside range
|
|
72
|
+
fireEvent.press(queryAllByText('13')[0]);
|
|
73
|
+
expect(onChange).toHaveBeenCalledWith({
|
|
74
|
+
startDate: new Date('2022-10-13'),
|
|
75
|
+
endDate: undefined,
|
|
61
76
|
});
|
|
62
77
|
|
|
63
78
|
fireEvent.press(queryByTestId('previous-icon-button'));
|
|
@@ -129,14 +144,14 @@ describe('CalendarRange', () => {
|
|
|
129
144
|
// Test range selection within constraints
|
|
130
145
|
fireEvent.press(getByText('17')); // Select start date
|
|
131
146
|
expect(onChange).toHaveBeenCalledWith({
|
|
132
|
-
startDate: new Date('2022-10-
|
|
133
|
-
endDate:
|
|
147
|
+
startDate: new Date('2022-10-17'),
|
|
148
|
+
endDate: undefined,
|
|
134
149
|
});
|
|
135
150
|
|
|
136
151
|
fireEvent.press(getByText('11')); // Select end date
|
|
137
152
|
expect(onChange).toHaveBeenCalledWith({
|
|
138
153
|
startDate: new Date('2022-10-11'),
|
|
139
|
-
endDate:
|
|
154
|
+
endDate: undefined,
|
|
140
155
|
});
|
|
141
156
|
});
|
|
142
157
|
|
|
@@ -156,14 +171,14 @@ describe('CalendarRange', () => {
|
|
|
156
171
|
fireEvent.press(getByText('11'));
|
|
157
172
|
expect(onChange).toHaveBeenCalledWith({
|
|
158
173
|
startDate: new Date('2022-10-11'),
|
|
159
|
-
endDate:
|
|
174
|
+
endDate: undefined,
|
|
160
175
|
});
|
|
161
176
|
|
|
162
177
|
// Select end date
|
|
163
178
|
fireEvent.press(getByText('20'));
|
|
164
179
|
expect(onChange).toHaveBeenCalledWith({
|
|
165
|
-
startDate: new Date('2022-10-
|
|
166
|
-
endDate:
|
|
180
|
+
startDate: new Date('2022-10-20'),
|
|
181
|
+
endDate: undefined,
|
|
167
182
|
});
|
|
168
183
|
|
|
169
184
|
// Select new start date (should clear end date)
|
|
@@ -73,99 +73,106 @@ describe('isDateInRange', () => {
|
|
|
73
73
|
});
|
|
74
74
|
|
|
75
75
|
describe('setStartOrEndDate', () => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
const today = new Date('2024-01-01');
|
|
77
|
+
const tomorrow = new Date('2024-01-02');
|
|
78
|
+
const nextWeek = new Date('2024-01-08');
|
|
79
|
+
|
|
80
|
+
it('should set start date when no dates are selected', () => {
|
|
81
|
+
const result = setStartOrEndDate({
|
|
82
|
+
date: today,
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
expect(result).toEqual({
|
|
86
|
+
startDate: today,
|
|
87
|
+
endDate: undefined,
|
|
88
|
+
});
|
|
84
89
|
});
|
|
85
90
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
91
|
+
it('should set end date when only start date is selected', () => {
|
|
92
|
+
const result = setStartOrEndDate({
|
|
93
|
+
date: tomorrow,
|
|
94
|
+
startDate: today,
|
|
95
|
+
});
|
|
90
96
|
|
|
91
|
-
const result = setStartOrEndDate({ date, startDate });
|
|
92
97
|
expect(result).toEqual({
|
|
93
|
-
startDate:
|
|
94
|
-
endDate:
|
|
98
|
+
startDate: today,
|
|
99
|
+
endDate: tomorrow,
|
|
95
100
|
});
|
|
96
101
|
});
|
|
97
102
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
103
|
+
it('should set start date when date is before current start date', () => {
|
|
104
|
+
const result = setStartOrEndDate({
|
|
105
|
+
date: today,
|
|
106
|
+
startDate: tomorrow,
|
|
107
|
+
});
|
|
101
108
|
|
|
102
|
-
const result = setStartOrEndDate({ date });
|
|
103
109
|
expect(result).toEqual({
|
|
104
|
-
startDate:
|
|
105
|
-
endDate:
|
|
110
|
+
startDate: today,
|
|
111
|
+
endDate: tomorrow,
|
|
106
112
|
});
|
|
107
113
|
});
|
|
108
114
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
it('should set end date when date is after current start date', () => {
|
|
116
|
+
const result = setStartOrEndDate({
|
|
117
|
+
date: tomorrow,
|
|
118
|
+
startDate: today,
|
|
119
|
+
});
|
|
113
120
|
|
|
114
|
-
const result = setStartOrEndDate({ date, startDate });
|
|
115
121
|
expect(result).toEqual({
|
|
116
|
-
startDate:
|
|
117
|
-
endDate:
|
|
122
|
+
startDate: today,
|
|
123
|
+
endDate: tomorrow,
|
|
118
124
|
});
|
|
119
125
|
});
|
|
120
126
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
127
|
+
it('should reset selection when clicking within range', () => {
|
|
128
|
+
const result = setStartOrEndDate({
|
|
129
|
+
date: tomorrow,
|
|
130
|
+
startDate: today,
|
|
131
|
+
endDate: nextWeek,
|
|
132
|
+
});
|
|
125
133
|
|
|
126
|
-
const result = setStartOrEndDate({ date, startDate });
|
|
127
134
|
expect(result).toEqual({
|
|
128
|
-
startDate:
|
|
129
|
-
endDate:
|
|
135
|
+
startDate: tomorrow,
|
|
136
|
+
endDate: undefined,
|
|
130
137
|
});
|
|
131
138
|
});
|
|
132
139
|
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
140
|
+
it('should reset selection when clicking outside range', () => {
|
|
141
|
+
const result = setStartOrEndDate({
|
|
142
|
+
date: nextWeek,
|
|
143
|
+
startDate: today,
|
|
144
|
+
endDate: tomorrow,
|
|
145
|
+
});
|
|
138
146
|
|
|
139
|
-
const result = setStartOrEndDate({ date, startDate, endDate });
|
|
140
147
|
expect(result).toEqual({
|
|
141
|
-
startDate:
|
|
148
|
+
startDate: nextWeek,
|
|
142
149
|
endDate: undefined,
|
|
143
150
|
});
|
|
144
151
|
});
|
|
145
152
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
153
|
+
it('should set same date for both start and end when clicking start date', () => {
|
|
154
|
+
const result = setStartOrEndDate({
|
|
155
|
+
date: today,
|
|
156
|
+
startDate: today,
|
|
157
|
+
endDate: tomorrow,
|
|
158
|
+
});
|
|
151
159
|
|
|
152
|
-
const result = setStartOrEndDate({ date, startDate, endDate });
|
|
153
160
|
expect(result).toEqual({
|
|
154
|
-
startDate:
|
|
155
|
-
endDate:
|
|
161
|
+
startDate: today,
|
|
162
|
+
endDate: today,
|
|
156
163
|
});
|
|
157
164
|
});
|
|
158
165
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
166
|
+
it('should set same date for both start and end when clicking end date', () => {
|
|
167
|
+
const result = setStartOrEndDate({
|
|
168
|
+
date: tomorrow,
|
|
169
|
+
startDate: today,
|
|
170
|
+
endDate: tomorrow,
|
|
171
|
+
});
|
|
164
172
|
|
|
165
|
-
const result = setStartOrEndDate({ date, startDate, endDate });
|
|
166
173
|
expect(result).toEqual({
|
|
167
|
-
startDate:
|
|
168
|
-
endDate:
|
|
174
|
+
startDate: tomorrow,
|
|
175
|
+
endDate: tomorrow,
|
|
169
176
|
});
|
|
170
177
|
});
|
|
171
178
|
});
|
|
@@ -54,15 +54,15 @@ export const setStartOrEndDate = ({
|
|
|
54
54
|
startDate?: Date;
|
|
55
55
|
endDate?: Date;
|
|
56
56
|
}) => {
|
|
57
|
-
//
|
|
57
|
+
// If both dates are set, selecting start or end date will set the same date
|
|
58
58
|
if (
|
|
59
59
|
startDate &&
|
|
60
60
|
endDate &&
|
|
61
61
|
(isEqDate(date, startDate) || isEqDate(date, endDate))
|
|
62
62
|
) {
|
|
63
63
|
return {
|
|
64
|
-
startDate,
|
|
65
|
-
endDate,
|
|
64
|
+
startDate: date,
|
|
65
|
+
endDate: date,
|
|
66
66
|
};
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -95,14 +95,9 @@ export const setStartOrEndDate = ({
|
|
|
95
95
|
};
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
// Clicking outside range -
|
|
99
|
-
return
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
: {
|
|
105
|
-
startDate,
|
|
106
|
-
endDate: date,
|
|
107
|
-
};
|
|
98
|
+
// Clicking outside range - reset range
|
|
99
|
+
return {
|
|
100
|
+
startDate: date,
|
|
101
|
+
endDate: undefined,
|
|
102
|
+
};
|
|
108
103
|
};
|