@orfium/ictinus 4.59.0 → 4.61.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.
- package/dist/components/DatePicker/DatePickInput/DatePickInput.js +8 -6
- package/dist/components/DatePicker/DatePicker.js +14 -7
- package/dist/components/DatePicker/utils.js +2 -2
- package/dist/components/Select/Select.js +11 -15
- package/dist/components/Select/components/SelectMenu/SelectMenu.d.ts +1 -0
- package/dist/components/Select/components/SelectMenu/SelectMenu.js +8 -7
- package/dist/components/Select/constants.d.ts +4 -0
- package/dist/components/Select/constants.js +9 -0
- package/dist/components/Select/hooks/useMultiselectUtils.d.ts +1 -2
- package/dist/components/Select/hooks/useMultiselectUtils.js +29 -6
- package/dist/components/utils/PositionInScreen/hooks.js +35 -5
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ exports["default"] = void 0;
|
|
|
5
5
|
|
|
6
6
|
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
7
7
|
|
|
8
|
-
var _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
|
|
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
|
|
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
|
-
|
|
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)((
|
|
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)((
|
|
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
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports["default"] = void 0;
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
@@ -37,12 +37,12 @@ var _react2 = require("@emotion/react");
|
|
|
37
37
|
|
|
38
38
|
var _excluded = ["handleSelectedOption", "defaultValue", "selectedOption", "multi", "options", "isAsync", "isLoading", "asyncSearch", "status", "minCharactersToSearch", "highlightSearch", "isSearchable", "isVirtualized", "styleType", "disabled", "locked", "dataTestId", "onClear", "onOptionDelete", "selectedOptions"];
|
|
39
39
|
|
|
40
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
41
|
-
|
|
42
40
|
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); }
|
|
43
41
|
|
|
44
42
|
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; }
|
|
45
43
|
|
|
44
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
45
|
+
|
|
46
46
|
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); }
|
|
47
47
|
|
|
48
48
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -122,11 +122,10 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
122
122
|
multi: multi
|
|
123
123
|
}),
|
|
124
124
|
multiSelectedOptions = _useMultiselectUtils.multiSelectedOptions,
|
|
125
|
-
setMultiSelectedOpts = _useMultiselectUtils.setMultiSelectedOpts,
|
|
126
125
|
availableMultiSelectOptions = _useMultiselectUtils.availableMultiSelectOptions,
|
|
127
|
-
setAvailableMultiSelectOptions = _useMultiselectUtils.setAvailableMultiSelectOptions,
|
|
128
126
|
handleOptionDelete = _useMultiselectUtils.handleOptionDelete,
|
|
129
|
-
handleClearAllOptions = _useMultiselectUtils.handleClearAllOptions
|
|
127
|
+
handleClearAllOptions = _useMultiselectUtils.handleClearAllOptions,
|
|
128
|
+
handleMultiSelectOptionClick = _useMultiselectUtils.handleMultiSelectOptionClick;
|
|
130
129
|
|
|
131
130
|
(0, _react.useEffect)(function () {
|
|
132
131
|
setInputValue(initialValue);
|
|
@@ -134,16 +133,12 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
134
133
|
|
|
135
134
|
var handleOptionClick = function handleOptionClick(option) {
|
|
136
135
|
if (multi) {
|
|
137
|
-
|
|
138
|
-
setAvailableMultiSelectOptions(availableMultiSelectOptions.filter(function (opt) {
|
|
139
|
-
return opt.value !== option.value;
|
|
140
|
-
}));
|
|
136
|
+
handleMultiSelectOptionClick(option);
|
|
141
137
|
} else {
|
|
142
138
|
setInputValue(option);
|
|
139
|
+
setOpen(false);
|
|
143
140
|
}
|
|
144
141
|
|
|
145
|
-
setOpen(false);
|
|
146
|
-
|
|
147
142
|
if (isSearchable) {
|
|
148
143
|
setSearchValue('');
|
|
149
144
|
}
|
|
@@ -160,12 +155,12 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
160
155
|
}
|
|
161
156
|
};
|
|
162
157
|
|
|
163
|
-
var debouncedOnChange = _react["default"].useCallback((0,
|
|
158
|
+
var debouncedOnChange = _react["default"].useCallback((0, _debounce["default"])(function (term) {
|
|
164
159
|
asyncSearch(term);
|
|
165
160
|
}, 400), []);
|
|
166
161
|
|
|
167
162
|
var handleOnInput = _react["default"].useCallback(function (event) {
|
|
168
|
-
/**
|
|
163
|
+
/**
|
|
169
164
|
* For Multiselect: [for now] when we select an option the SelectMenu closes but the user
|
|
170
165
|
* can still type on the input field (so they must be able to see the SelectMenu)
|
|
171
166
|
*/
|
|
@@ -309,7 +304,8 @@ var Select = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
|
|
|
309
304
|
status: status,
|
|
310
305
|
isLoading: isLoading,
|
|
311
306
|
isVirtualized: isVirtualized,
|
|
312
|
-
searchTerm: highlightSearch ? searchValue : undefined
|
|
307
|
+
searchTerm: highlightSearch ? searchValue : undefined,
|
|
308
|
+
hasSelectAllOption: multi
|
|
313
309
|
}))));
|
|
314
310
|
});
|
|
315
311
|
|
|
@@ -11,6 +11,8 @@ var _List = _interopRequireDefault(require("../../../List"));
|
|
|
11
11
|
|
|
12
12
|
var _utils = require("../../../List/utils");
|
|
13
13
|
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
|
|
14
16
|
var _react2 = require("@emotion/react");
|
|
15
17
|
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -20,16 +22,14 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
20
22
|
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; }
|
|
21
23
|
|
|
22
24
|
var SelectMenu = function SelectMenu(props) {
|
|
23
|
-
var
|
|
24
|
-
size = _props$size === void 0 ? 'sm' : _props$size,
|
|
25
|
-
_props$status = props.status,
|
|
26
|
-
status = _props$status === void 0 ? 'normal' : _props$status,
|
|
27
|
-
filteredOptions = props.filteredOptions,
|
|
25
|
+
var filteredOptions = props.filteredOptions,
|
|
28
26
|
handleOptionClick = props.handleOptionClick,
|
|
29
27
|
selectedOption = props.selectedOption,
|
|
30
28
|
isLoading = props.isLoading,
|
|
31
29
|
isVirtualized = props.isVirtualized,
|
|
32
|
-
searchTerm = props.searchTerm
|
|
30
|
+
searchTerm = props.searchTerm,
|
|
31
|
+
_props$hasSelectAllOp = props.hasSelectAllOption,
|
|
32
|
+
hasSelectAllOption = _props$hasSelectAllOp === void 0 ? false : _props$hasSelectAllOp;
|
|
33
33
|
var myRef = (0, _react.useRef)(null);
|
|
34
34
|
|
|
35
35
|
var executeScroll = function executeScroll() {
|
|
@@ -53,7 +53,8 @@ var SelectMenu = function SelectMenu(props) {
|
|
|
53
53
|
ref: myRef,
|
|
54
54
|
handleOptionClick: handleOptionClick,
|
|
55
55
|
searchTerm: searchTerm,
|
|
56
|
-
selectedItem: selectedOption
|
|
56
|
+
selectedItem: selectedOption,
|
|
57
|
+
defaultOption: hasSelectAllOption ? _constants.SELECT_ALL_OPTION : undefined
|
|
57
58
|
}) : (0, _react2.jsx)("div", {
|
|
58
59
|
css: (0, _SelectMenu.optionStyle)({
|
|
59
60
|
selected: false,
|
|
@@ -12,10 +12,9 @@ declare type Props = {
|
|
|
12
12
|
};
|
|
13
13
|
declare const useMultiselectUtils: ({ selectedOptions, options, setOpen, setSearchValue, isSearchable, onClear, onOptionDelete, multi, }: Props) => {
|
|
14
14
|
multiSelectedOptions: SelectOption[];
|
|
15
|
-
setMultiSelectedOpts: React.Dispatch<React.SetStateAction<SelectOption[]>>;
|
|
16
15
|
availableMultiSelectOptions: SelectOption[];
|
|
17
|
-
setAvailableMultiSelectOptions: React.Dispatch<React.SetStateAction<SelectOption[]>>;
|
|
18
16
|
handleOptionDelete: (option?: SelectOption | undefined) => void;
|
|
19
17
|
handleClearAllOptions: () => void;
|
|
18
|
+
handleMultiSelectOptionClick: (option: SelectOption) => void;
|
|
20
19
|
};
|
|
21
20
|
export default useMultiselectUtils;
|
|
@@ -3,12 +3,18 @@
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports["default"] = void 0;
|
|
5
5
|
|
|
6
|
+
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
7
|
+
|
|
6
8
|
var _react = _interopRequireWildcard(require("react"));
|
|
7
9
|
|
|
10
|
+
var _constants = require("../constants");
|
|
11
|
+
|
|
8
12
|
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); }
|
|
9
13
|
|
|
10
14
|
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; }
|
|
11
15
|
|
|
16
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
|
+
|
|
12
18
|
var useMultiselectUtils = function useMultiselectUtils(_ref) {
|
|
13
19
|
var selectedOptions = _ref.selectedOptions,
|
|
14
20
|
options = _ref.options,
|
|
@@ -67,14 +73,11 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
|
|
|
67
73
|
setAvailableMultiSelectOptions([].concat(availableMultiSelectOptions, [lastItem]));
|
|
68
74
|
}
|
|
69
75
|
}
|
|
70
|
-
|
|
71
|
-
setOpen(false);
|
|
72
76
|
};
|
|
73
77
|
|
|
74
78
|
var handleClearAllOptions = function handleClearAllOptions() {
|
|
75
79
|
setAvailableMultiSelectOptions([].concat(availableMultiSelectOptions, multiSelectedOptions));
|
|
76
80
|
setMultiSelectedOpts([]);
|
|
77
|
-
setOpen(false);
|
|
78
81
|
|
|
79
82
|
if (onClear) {
|
|
80
83
|
onClear();
|
|
@@ -85,13 +88,33 @@ var useMultiselectUtils = function useMultiselectUtils(_ref) {
|
|
|
85
88
|
}
|
|
86
89
|
};
|
|
87
90
|
|
|
91
|
+
var handleMultiSelectOptionClick = function handleMultiSelectOptionClick(option) {
|
|
92
|
+
/** The user clicks the Select All option */
|
|
93
|
+
if ((0, _isEqual["default"])(option, _constants.SELECT_ALL_OPTION)) {
|
|
94
|
+
var _availableMultiSelect = availableMultiSelectOptions.reduce(function (result, element) {
|
|
95
|
+
result[element.isDisabled ? 0 : 1].push(element);
|
|
96
|
+
return result;
|
|
97
|
+
}, [[], []]),
|
|
98
|
+
remaining = _availableMultiSelect[0],
|
|
99
|
+
selected = _availableMultiSelect[1];
|
|
100
|
+
|
|
101
|
+
setMultiSelectedOpts([].concat(multiSelectedOptions, selected));
|
|
102
|
+
setAvailableMultiSelectOptions(remaining);
|
|
103
|
+
setOpen(false);
|
|
104
|
+
} else {
|
|
105
|
+
setMultiSelectedOpts([].concat(multiSelectedOptions, [option]));
|
|
106
|
+
setAvailableMultiSelectOptions(availableMultiSelectOptions.filter(function (opt) {
|
|
107
|
+
return opt.value !== option.value;
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
88
112
|
return {
|
|
89
113
|
multiSelectedOptions: multiSelectedOptions,
|
|
90
|
-
setMultiSelectedOpts: setMultiSelectedOpts,
|
|
91
114
|
availableMultiSelectOptions: availableMultiSelectOptions,
|
|
92
|
-
setAvailableMultiSelectOptions: setAvailableMultiSelectOptions,
|
|
93
115
|
handleOptionDelete: handleOptionDelete,
|
|
94
|
-
handleClearAllOptions: handleClearAllOptions
|
|
116
|
+
handleClearAllOptions: handleClearAllOptions,
|
|
117
|
+
handleMultiSelectOptionClick: handleMultiSelectOptionClick
|
|
95
118
|
};
|
|
96
119
|
};
|
|
97
120
|
|
|
@@ -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
|
-
|
|
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
|
|
85
|
-
width =
|
|
86
|
-
setWidth =
|
|
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) {
|