trotl-filter 1.0.42 → 1.0.43
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/dist/index.cjs.js +17 -8
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +17 -8
- package/dist/index.esm.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
|
@@ -9242,23 +9242,32 @@ function DateTimeInput({
|
|
|
9242
9242
|
return new Date(d.getFullYear(), d.getMonth(), 1, 0, 0, 0, 0);
|
|
9243
9243
|
});
|
|
9244
9244
|
// Keep monthCursor in sync when selected date changes externally
|
|
9245
|
+
// Guard updates so changing references (e.g. PREDEFINED array identity) doesn't force state
|
|
9245
9246
|
React.useEffect(() => {
|
|
9246
9247
|
if (selectedDate) {
|
|
9247
|
-
|
|
9248
|
-
|
|
9249
|
-
|
|
9250
|
-
|
|
9248
|
+
const newMonth = new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 1);
|
|
9249
|
+
// only update monthCursor when month/year actually differ
|
|
9250
|
+
setMonthCursor(prev => {
|
|
9251
|
+
if (!prev || prev.getFullYear() !== newMonth.getFullYear() || prev.getMonth() !== newMonth.getMonth()) {
|
|
9252
|
+
return newMonth;
|
|
9253
|
+
}
|
|
9254
|
+
return prev;
|
|
9255
|
+
});
|
|
9256
|
+
|
|
9257
|
+
// Match predefined: set only when value actually changes
|
|
9251
9258
|
const ts = selectedDate.getTime();
|
|
9259
|
+
let matched = false;
|
|
9252
9260
|
for (let i = 0; i < PREDEFINED.length; i++) {
|
|
9253
9261
|
const d = PREDEFINED[i].getDate();
|
|
9254
9262
|
if (d.getTime() === ts) {
|
|
9255
|
-
setSelectedPredefined(String(i));
|
|
9256
|
-
|
|
9263
|
+
setSelectedPredefined(prev => prev !== String(i) ? String(i) : prev);
|
|
9264
|
+
matched = true;
|
|
9265
|
+
break;
|
|
9257
9266
|
}
|
|
9258
9267
|
}
|
|
9259
|
-
setSelectedPredefined("");
|
|
9268
|
+
if (!matched) setSelectedPredefined(prev => prev !== "" ? "" : prev);
|
|
9260
9269
|
} else {
|
|
9261
|
-
setSelectedPredefined("");
|
|
9270
|
+
setSelectedPredefined(prev => prev !== "" ? "" : prev);
|
|
9262
9271
|
}
|
|
9263
9272
|
}, [value, selectedDate, PREDEFINED]);
|
|
9264
9273
|
|