arengibook 3.3.2-datepicker → 3.3.4-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 +11 -34
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -13938,6 +13938,7 @@ var DatePicker = function DatePicker(_ref) {
13938
13938
  }
13939
13939
  return scrollables;
13940
13940
  };
13941
+ var BOTTOM_MARGIN = 80;
13941
13942
  var repositionPanel = function repositionPanel() {
13942
13943
  var _calendarRef$current;
13943
13944
  if (!panelVisibleRef.current) return;
@@ -13952,6 +13953,14 @@ var DatePicker = function DatePicker(_ref) {
13952
13953
  if (customContent) {
13953
13954
  overlay.style.minHeight = '';
13954
13955
  }
13956
+ var overlayRect = overlay.getBoundingClientRect();
13957
+ var viewportHeight = window.innerHeight;
13958
+ if (overlayRect.bottom + BOTTOM_MARGIN > viewportHeight) {
13959
+ var inputRect = input.getBoundingClientRect();
13960
+ var scrollY = window.scrollY || window.pageYOffset;
13961
+ var overlayHeight = overlay.offsetHeight;
13962
+ overlay.style.top = inputRect.top + scrollY - overlayHeight - 4 + 'px';
13963
+ }
13955
13964
  }
13956
13965
  };
13957
13966
  var cleanupScrollListeners = function cleanupScrollListeners() {
@@ -14017,19 +14026,7 @@ var DatePicker = function DatePicker(_ref) {
14017
14026
  if (customContent) {
14018
14027
  currentOverlay.style.minHeight = customContent.offsetHeight + 80 + 'px';
14019
14028
  }
14020
- var extraHeight = 80;
14021
14029
  repositionPanel();
14022
- if (customContent) {
14023
- currentOverlay.style.minHeight = '';
14024
- var input = inputRef.current;
14025
- if (input) {
14026
- var overlayTop = parseFloat(currentOverlay.style.top) || 0;
14027
- var inputTop = input.getBoundingClientRect().top + window.scrollY;
14028
- if (overlayTop < inputTop) {
14029
- currentOverlay.style.top = overlayTop + extraHeight + 'px';
14030
- }
14031
- }
14032
- }
14033
14030
  setPanelReady(true);
14034
14031
  }, 0);
14035
14032
  };
@@ -14058,28 +14055,8 @@ var DatePicker = function DatePicker(_ref) {
14058
14055
  }, []);
14059
14056
  useEffect(function () {
14060
14057
  if (mode !== 'monthYear' || !panelVisibleRef.current) return;
14061
- var extraHeight = 80;
14062
- setTimeout(function () {
14063
- var _calendarRef$current4;
14064
- var overlay = (_calendarRef$current4 = calendarRef.current) === null || _calendarRef$current4 === void 0 ? void 0 : _calendarRef$current4.getOverlay();
14065
- if (!overlay) return;
14066
- var customContent = overlay.querySelector('.dp-monthyear-header');
14067
- if (customContent) {
14068
- overlay.style.minHeight = customContent.offsetHeight + extraHeight + 'px';
14069
- }
14070
- repositionPanel();
14071
- if (customContent) {
14072
- overlay.style.minHeight = '';
14073
- var input = inputRef.current;
14074
- if (input) {
14075
- var overlayTop = parseFloat(overlay.style.top) || 0;
14076
- var inputTop = input.getBoundingClientRect().top + window.scrollY;
14077
- if (overlayTop < inputTop) {
14078
- overlay.style.top = overlayTop + extraHeight + 'px';
14079
- }
14080
- }
14081
- }
14082
- }, 0);
14058
+ repositionPanel();
14059
+ setPanelReady(true);
14083
14060
  }, [mode]);
14084
14061
  var panelClassName = "datepickerbook" + (mode === "monthYear" ? " dp-monthyear-mode" : "") + (story === "year" ? " dp-year-only" : "") + (panelReady ? " dp-ready" : "");
14085
14062
  var wrapperStyle = _objectSpread2({
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "arengibook",
3
3
  "private": false,
4
- "version": "3.3.2-datepicker",
4
+ "version": "3.3.4-datepicker",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
7
7
  "exports": {