arengibook 3.1.4-datepicker → 3.1.5-datepicker
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.js +45 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -13737,9 +13737,25 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
13737
13737
|
if (!currentOverlay) return;
|
|
13738
13738
|
var customContent = currentOverlay.querySelector('.dp-monthyear-header');
|
|
13739
13739
|
if (customContent) {
|
|
13740
|
-
|
|
13740
|
+
// Ajout de 80px pour simuler une fenêtre plus haute aux yeux de
|
|
13741
|
+
// DomHandler.absolutePosition, ce qui abaisse le seuil de bascule
|
|
13742
|
+
// vers le haut. Cela compense les boutons Annuler/Valider qui sont
|
|
13743
|
+
// masqués en mode month mais occupent de l'espace hors viewport.
|
|
13744
|
+
currentOverlay.style.minHeight = customContent.offsetHeight + 80 + 'px';
|
|
13741
13745
|
}
|
|
13746
|
+
var extraHeight = 80;
|
|
13742
13747
|
repositionPanel();
|
|
13748
|
+
if (customContent) {
|
|
13749
|
+
currentOverlay.style.minHeight = '';
|
|
13750
|
+
var input = inputRef.current;
|
|
13751
|
+
if (input) {
|
|
13752
|
+
var overlayTop = parseFloat(currentOverlay.style.top) || 0;
|
|
13753
|
+
var inputTop = input.getBoundingClientRect().top + window.scrollY;
|
|
13754
|
+
if (overlayTop < inputTop) {
|
|
13755
|
+
currentOverlay.style.top = overlayTop + extraHeight + 'px';
|
|
13756
|
+
}
|
|
13757
|
+
}
|
|
13758
|
+
}
|
|
13743
13759
|
setPanelReady(true);
|
|
13744
13760
|
}, 0);
|
|
13745
13761
|
};
|
|
@@ -13758,6 +13774,34 @@ var DatePicker = function DatePicker(_ref) {
|
|
|
13758
13774
|
cleanupScrollListeners();
|
|
13759
13775
|
};
|
|
13760
13776
|
}, []);
|
|
13777
|
+
|
|
13778
|
+
// Reposition quand on bascule en mode monthYear depuis le mode date (panel déjà ouvert).
|
|
13779
|
+
// Même logique que dans handleShow : gonfle minHeight, repositionne, puis corrige le top.
|
|
13780
|
+
useEffect(function () {
|
|
13781
|
+
if (mode !== 'monthYear' || !panelVisibleRef.current) return;
|
|
13782
|
+
var extraHeight = 80;
|
|
13783
|
+
setTimeout(function () {
|
|
13784
|
+
var _calendarRef$current4;
|
|
13785
|
+
var overlay = (_calendarRef$current4 = calendarRef.current) === null || _calendarRef$current4 === void 0 ? void 0 : _calendarRef$current4.getOverlay();
|
|
13786
|
+
if (!overlay) return;
|
|
13787
|
+
var customContent = overlay.querySelector('.dp-monthyear-header');
|
|
13788
|
+
if (customContent) {
|
|
13789
|
+
overlay.style.minHeight = customContent.offsetHeight + extraHeight + 'px';
|
|
13790
|
+
}
|
|
13791
|
+
repositionPanel();
|
|
13792
|
+
if (customContent) {
|
|
13793
|
+
overlay.style.minHeight = '';
|
|
13794
|
+
var input = inputRef.current;
|
|
13795
|
+
if (input) {
|
|
13796
|
+
var overlayTop = parseFloat(overlay.style.top) || 0;
|
|
13797
|
+
var inputTop = input.getBoundingClientRect().top + window.scrollY;
|
|
13798
|
+
if (overlayTop < inputTop) {
|
|
13799
|
+
overlay.style.top = overlayTop + extraHeight + 'px';
|
|
13800
|
+
}
|
|
13801
|
+
}
|
|
13802
|
+
}
|
|
13803
|
+
}, 0);
|
|
13804
|
+
}, [mode]);
|
|
13761
13805
|
var panelClassName = "datepickerbook" + (mode === "monthYear" ? " dp-monthyear-mode" : "") + (story === "year" ? " dp-year-only" : "") + (panelReady ? " dp-ready" : "");
|
|
13762
13806
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
13763
13807
|
className: fullWidth ? "datepicker-fullwidth flex flex-col gap-1" : "flex flex-col gap-1"
|