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.
Files changed (2) hide show
  1. package/dist/index.js +45 -1
  2. 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
- currentOverlay.style.minHeight = customContent.offsetHeight + 'px';
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"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "3.1.4-datepicker",
4
+ "version": "3.1.5-datepicker",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {