@orfium/ictinus 4.59.0 → 4.60.0

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.
@@ -5,7 +5,7 @@ exports["default"] = void 0;
5
5
 
6
6
  var _dayjs = _interopRequireDefault(require("dayjs"));
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _helpers = require("../../../utils/helpers");
11
11
 
@@ -19,6 +19,10 @@ var _DatePickInput = require("./DatePickInput.style");
19
19
 
20
20
  var _react2 = require("@emotion/react");
21
21
 
22
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
23
+
24
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
+
22
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
23
27
 
24
28
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -51,9 +55,7 @@ var DatePickInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
51
55
  _ref$dateFormatOverri = _ref.dateFormatOverride,
52
56
  dateFormatOverride = _ref$dateFormatOverri === void 0 ? 'MM/DD/YYYY' : _ref$dateFormatOverri,
53
57
  isOpen = _ref.isOpen;
54
-
55
- var getDateFormatted = _react["default"].useCallback(formatDate(dateFormatOverride), [dateFormatOverride]);
56
-
58
+ var getDateFormatted = (0, _react.useCallback)(formatDate(dateFormatOverride), [dateFormatOverride]);
57
59
  var formattedFrom = getDateFormatted(selectedDay.from);
58
60
  var formattedTo = getDateFormatted(selectedDay.to);
59
61
  var labels = getLabels(isRangePicker, formattedTo);
@@ -91,7 +93,7 @@ var DatePickInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
91
93
  dataTestId: dataTestId,
92
94
  onChange: ON_CHANGE_MOCK,
93
95
  placeholder: "Date (start) - Date (end)",
94
- value: selectedDay.from && formattedFrom + " - " + formattedTo,
96
+ value: selectedDay.from ? formattedFrom + " - " + formattedTo : '',
95
97
  rightIcon: (0, _react2.jsx)(_Icon["default"], {
96
98
  name: 'calendarEmpty',
97
99
  color: '#676767'
@@ -107,7 +109,7 @@ var DatePickInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, re
107
109
  dataTestId: dataTestId,
108
110
  onChange: ON_CHANGE_MOCK,
109
111
  placeholder: "Select date",
110
- value: selectedDay.to && formattedFrom,
112
+ value: selectedDay.to ? formattedFrom : '',
111
113
  rightIcon: (0, _react2.jsx)(_Icon["default"], {
112
114
  name: 'calendarEmpty',
113
115
  color: '#676767'
@@ -47,11 +47,7 @@ var DatePicker = function DatePicker(_ref) {
47
47
  isRangePicker = _ref$isRangePicker === void 0 ? false : _ref$isRangePicker,
48
48
  onChange = _ref.onChange,
49
49
  disableDates = _ref.disableDates,
50
- _ref$value = _ref.value,
51
- value = _ref$value === void 0 ? {
52
- from: _utils.datepickerPropValue == null ? void 0 : _utils.datepickerPropValue.toDate(),
53
- to: _utils.datepickerPropValue == null ? void 0 : _utils.datepickerPropValue.toDate()
54
- } : _ref$value,
50
+ initialValue = _ref.value,
55
51
  inputProps = _ref.inputProps,
56
52
  _ref$dateFormatOverri = _ref.dateFormatOverride,
57
53
  dateFormatOverride = _ref$dateFormatOverri === void 0 ? undefined : _ref$dateFormatOverri,
@@ -61,6 +57,9 @@ var DatePicker = function DatePicker(_ref) {
61
57
  _ref$isDefaultNow = _ref.isDefaultNow,
62
58
  isDefaultNow = _ref$isDefaultNow === void 0 ? true : _ref$isDefaultNow,
63
59
  dataTestId = _ref.dataTestId;
60
+ var value = (0, _react.useMemo)(function () {
61
+ return (0, _utils.initDates)(initialValue || {}, isDefaultNow);
62
+ }, [initialValue]);
64
63
 
65
64
  var _useState = (0, _react.useState)(false),
66
65
  isOpen = _useState[0],
@@ -70,14 +69,22 @@ var DatePicker = function DatePicker(_ref) {
70
69
  selectedOption = _useState2[0],
71
70
  setSelectedOption = _useState2[1];
72
71
 
73
- var _useState3 = (0, _react.useState)((0, _utils.initDates)(value, isDefaultNow)),
72
+ var _useState3 = (0, _react.useState)(function () {
73
+ return value;
74
+ }),
74
75
  range = _useState3[0],
75
76
  setRange = _useState3[1];
76
77
 
77
- var _useState4 = (0, _react.useState)((0, _utils.initDates)(value, isDefaultNow)),
78
+ var _useState4 = (0, _react.useState)(function () {
79
+ return value;
80
+ }),
78
81
  selectedRange = _useState4[0],
79
82
  setSelectedRange = _useState4[1];
80
83
 
84
+ (0, _react.useEffect)(function () {
85
+ setRange(value);
86
+ setSelectedRange(value);
87
+ }, [value, isDefaultNow]);
81
88
  var handleSelectedOptions = (0, _react.useCallback)(function (option) {
82
89
  var foundOption = extraOptions.find(function (optionItem) {
83
90
  return optionItem.value === option;
@@ -23,8 +23,8 @@ var initDates = function initDates(value, isDefaultNow) {
23
23
  return v;
24
24
  });
25
25
  return {
26
- from: hasDefaultDate ? (0, _dayjs["default"])(value.from) : undefined,
27
- to: hasDefaultDate ? (0, _dayjs["default"])(value.to) : undefined
26
+ from: hasDefaultDate ? (0, _dayjs["default"])(value.from || currentDay) : undefined,
27
+ to: hasDefaultDate ? (0, _dayjs["default"])(value.to || currentDay) : undefined
28
28
  };
29
29
  };
30
30
 
@@ -114,7 +114,6 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
114
114
  var _useMultiselectUtils = (0, _useMultiselectUtils2["default"])({
115
115
  selectedOptions: selectedOptions,
116
116
  options: options,
117
- setOpen: setOpen,
118
117
  setSearchValue: setSearchValue,
119
118
  isSearchable: isSearchable,
120
119
  onClear: onClear,
@@ -140,10 +139,9 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
140
139
  }));
141
140
  } else {
142
141
  setInputValue(option);
142
+ setOpen(false);
143
143
  }
144
144
 
145
- setOpen(false);
146
-
147
145
  if (isSearchable) {
148
146
  setSearchValue('');
149
147
  }
@@ -165,7 +163,7 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
165
163
  }, 400), []);
166
164
 
167
165
  var handleOnInput = _react["default"].useCallback(function (event) {
168
- /**
166
+ /**
169
167
  * For Multiselect: [for now] when we select an option the SelectMenu closes but the user
170
168
  * can still type on the input field (so they must be able to see the SelectMenu)
171
169
  */
@@ -3,14 +3,13 @@ import { SelectOption } from '../Select';
3
3
  declare type Props = {
4
4
  selectedOptions: SelectOption[];
5
5
  options: SelectOption[];
6
- setOpen: React.Dispatch<React.SetStateAction<boolean>>;
7
6
  setSearchValue: React.Dispatch<React.SetStateAction<string>>;
8
7
  isSearchable: boolean;
9
8
  onClear?: () => void;
10
9
  onOptionDelete?: (option: SelectOption) => void;
11
10
  multi?: boolean;
12
11
  };
13
- declare const useMultiselectUtils: ({ selectedOptions, options, setOpen, setSearchValue, isSearchable, onClear, onOptionDelete, multi, }: Props) => {
12
+ declare const useMultiselectUtils: ({ selectedOptions, options, setSearchValue, isSearchable, onClear, onOptionDelete, multi, }: Props) => {
14
13
  multiSelectedOptions: SelectOption[];
15
14
  setMultiSelectedOpts: React.Dispatch<React.SetStateAction<SelectOption[]>>;
16
15
  availableMultiSelectOptions: SelectOption[];
@@ -12,7 +12,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
12
12
  var useMultiselectUtils = function useMultiselectUtils(_ref) {
13
13
  var selectedOptions = _ref.selectedOptions,
14
14
  options = _ref.options,
15
- setOpen = _ref.setOpen,
16
15
  setSearchValue = _ref.setSearchValue,
17
16
  isSearchable = _ref.isSearchable,
18
17
  onClear = _ref.onClear,
@@ -67,14 +66,11 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
67
66
  setAvailableMultiSelectOptions([].concat(availableMultiSelectOptions, [lastItem]));
68
67
  }
69
68
  }
70
-
71
- setOpen(false);
72
69
  };
73
70
 
74
71
  var handleClearAllOptions = function handleClearAllOptions() {
75
72
  setAvailableMultiSelectOptions([].concat(availableMultiSelectOptions, multiSelectedOptions));
76
73
  setMultiSelectedOpts([]);
77
- setOpen(false);
78
74
 
79
75
  if (onClear) {
80
76
  onClear();
@@ -3,8 +3,12 @@
3
3
  exports.__esModule = true;
4
4
  exports.useWrapperWidth = exports.usePositionInScreen = void 0;
5
5
 
6
+ var _head = _interopRequireDefault(require("lodash/head"));
7
+
6
8
  var _react = require("react");
7
9
 
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
8
12
  var usePositionInScreen = function usePositionInScreen(parentRef, itemRef, offsetX, offsetY, visible) {
9
13
  var _useState = (0, _react.useState)({
10
14
  x: -1,
@@ -13,6 +17,31 @@ var usePositionInScreen = function usePositionInScreen(parentRef, itemRef, offse
13
17
  position = _useState[0],
14
18
  setPosition = _useState[1];
15
19
 
20
+ var _useState2 = (0, _react.useState)(0),
21
+ parentHeight = _useState2[0],
22
+ setParentHeight = _useState2[1];
23
+ /**
24
+ * We use this ResizeObserver in order to track any changes on the parent's height:
25
+ * This is necessary for the case of the MultiSelect, where the height of the TextField is dynamic
26
+ * and will increase/decrease as more Chips (Selected Options) are added/deleted.
27
+ * Therefore the parentHeight is stored on the useState above.
28
+ */
29
+
30
+
31
+ (0, _react.useEffect)(function () {
32
+ if (!parentRef.current) return;
33
+ var resizeObserver = new ResizeObserver(function (entries) {
34
+ var parent = (0, _head["default"])(entries);
35
+
36
+ if (parent) {
37
+ setParentHeight(parent.contentRect.height);
38
+ }
39
+ });
40
+ resizeObserver.observe(parentRef.current);
41
+ return function () {
42
+ return resizeObserver.disconnect();
43
+ };
44
+ }, [parentRef]);
16
45
  (0, _react.useEffect)(function () {
17
46
  var _parentRef$current, _itemRef$current, _itemRef$current$chil;
18
47
 
@@ -27,8 +56,9 @@ var usePositionInScreen = function usePositionInScreen(parentRef, itemRef, offse
27
56
  parentX = _ref.x,
28
57
  parentY = _ref.y,
29
58
  parentWidth = _ref.width,
30
- parentHeight = _ref.height; // width, height are the element's that's going to be positioned dimensions
59
+ parentTempHeight = _ref.height;
31
60
 
61
+ setParentHeight(parentTempHeight); // width, height are the element's that's going to be positioned dimensions
32
62
 
33
63
  var _ref2 = itemRef != null && itemRef.current ? itemRef == null ? void 0 : (_itemRef$current = itemRef.current) == null ? void 0 : (_itemRef$current$chil = _itemRef$current.children[0]) == null ? void 0 : _itemRef$current$chil.getBoundingClientRect() : {
34
64
  width: 0,
@@ -74,16 +104,16 @@ var usePositionInScreen = function usePositionInScreen(parentRef, itemRef, offse
74
104
  x: x,
75
105
  y: y
76
106
  });
77
- }, [parentRef, itemRef, visible, offsetY, offsetX]);
107
+ }, [parentRef, itemRef, visible, offsetY, offsetX, parentHeight]);
78
108
  return position;
79
109
  };
80
110
 
81
111
  exports.usePositionInScreen = usePositionInScreen;
82
112
 
83
113
  var useWrapperWidth = function useWrapperWidth(hasWrapperWidth, wrapperRef) {
84
- var _useState2 = (0, _react.useState)(),
85
- width = _useState2[0],
86
- setWidth = _useState2[1];
114
+ var _useState3 = (0, _react.useState)(),
115
+ width = _useState3[0],
116
+ setWidth = _useState3[1];
87
117
 
88
118
  (0, _react.useEffect)(function () {
89
119
  if (hasWrapperWidth) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orfium/ictinus",
3
- "version": "4.59.0",
3
+ "version": "4.60.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "MIT",