labsense-ui-kit 1.4.23 → 1.4.24
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/Dropdown/ButtonDropdown.d.ts +1 -0
- package/dist/index.js +48 -12
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +48 -12
- package/dist/index.modern.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -9932,17 +9932,52 @@ var ButtonDropdown = function ButtonDropdown(_ref) {
|
|
|
9932
9932
|
_ref$placeholder = _ref.placeholder,
|
|
9933
9933
|
placeholder = _ref$placeholder === void 0 ? 'Select Option' : _ref$placeholder,
|
|
9934
9934
|
_ref$disabled = _ref.disabled,
|
|
9935
|
-
disabled = _ref$disabled === void 0 ? false : _ref$disabled
|
|
9935
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
9936
|
+
width = _ref.width;
|
|
9936
9937
|
var _useState = React.useState(false),
|
|
9937
9938
|
isOpen = _useState[0],
|
|
9938
9939
|
setIsOpen = _useState[1];
|
|
9939
|
-
var _useState2 = React.useState(
|
|
9940
|
-
|
|
9941
|
-
|
|
9940
|
+
var _useState2 = React.useState(false),
|
|
9941
|
+
dropUp = _useState2[0],
|
|
9942
|
+
setDropUp = _useState2[1];
|
|
9943
|
+
var _useState3 = React.useState('left'),
|
|
9944
|
+
dropdownPosition = _useState3[0],
|
|
9945
|
+
setDropdownPosition = _useState3[1];
|
|
9946
|
+
var _useState4 = React.useState(initialValue || ''),
|
|
9947
|
+
selected = _useState4[0],
|
|
9948
|
+
setSelected = _useState4[1];
|
|
9942
9949
|
var ref = React.useRef(null);
|
|
9943
9950
|
useClickOutside(ref, function () {
|
|
9944
9951
|
return setIsOpen(false);
|
|
9945
9952
|
});
|
|
9953
|
+
var toggleDropdown = function toggleDropdown() {
|
|
9954
|
+
if (ref.current) {
|
|
9955
|
+
var rect = ref.current.getBoundingClientRect();
|
|
9956
|
+
var windowHeight = window.innerHeight;
|
|
9957
|
+
var windowWidth = window.innerWidth;
|
|
9958
|
+
var spaceBelow = windowHeight - rect.bottom;
|
|
9959
|
+
var spaceAbove = rect.top;
|
|
9960
|
+
var dropdownHeight = 95;
|
|
9961
|
+
if (spaceBelow < dropdownHeight && spaceAbove > dropdownHeight) {
|
|
9962
|
+
setDropUp(true);
|
|
9963
|
+
} else {
|
|
9964
|
+
setDropUp(false);
|
|
9965
|
+
}
|
|
9966
|
+
var dropdownWidth = rect.width;
|
|
9967
|
+
var spaceRight = windowWidth - rect.left;
|
|
9968
|
+
var spaceLeft = rect.right;
|
|
9969
|
+
if (spaceRight < dropdownWidth && spaceLeft > dropdownWidth) {
|
|
9970
|
+
setDropdownPosition('right');
|
|
9971
|
+
} else if (rect.left < dropdownWidth / 2 && windowWidth - rect.right < dropdownWidth / 2) {
|
|
9972
|
+
setDropdownPosition('center');
|
|
9973
|
+
} else {
|
|
9974
|
+
setDropdownPosition('left');
|
|
9975
|
+
}
|
|
9976
|
+
}
|
|
9977
|
+
setIsOpen(function (prev) {
|
|
9978
|
+
return !prev;
|
|
9979
|
+
});
|
|
9980
|
+
};
|
|
9946
9981
|
var handleSelect = function handleSelect(value, onClick) {
|
|
9947
9982
|
setSelected(value);
|
|
9948
9983
|
onClick();
|
|
@@ -9953,21 +9988,22 @@ var ButtonDropdown = function ButtonDropdown(_ref) {
|
|
|
9953
9988
|
})) === null || _options$find === void 0 ? void 0 : _options$find.label) || placeholder;
|
|
9954
9989
|
return React__default.createElement(Container, {
|
|
9955
9990
|
"$position": 'relative',
|
|
9956
|
-
ref: ref
|
|
9991
|
+
ref: ref,
|
|
9992
|
+
"$width": width
|
|
9957
9993
|
}, React__default.createElement(ButtonComponent, {
|
|
9958
9994
|
text: selectedLabel,
|
|
9959
9995
|
icon: isOpen ? 'UpArrow' : 'DownArrow',
|
|
9960
9996
|
size: size,
|
|
9961
9997
|
variant: variant,
|
|
9962
9998
|
disabled: disabled,
|
|
9963
|
-
onClick:
|
|
9964
|
-
|
|
9965
|
-
return !prev;
|
|
9966
|
-
});
|
|
9967
|
-
}
|
|
9999
|
+
onClick: toggleDropdown,
|
|
10000
|
+
buttonWidth: width
|
|
9968
10001
|
}), isOpen && React__default.createElement(DropdownMenu$1, {
|
|
9969
|
-
"$
|
|
9970
|
-
"$
|
|
10002
|
+
"$width": width,
|
|
10003
|
+
"$top": dropUp ? 'auto' : '126%',
|
|
10004
|
+
"$bottom": dropUp ? '126%' : 'auto',
|
|
10005
|
+
"$optionsAvailable": options.length > 0,
|
|
10006
|
+
"$dropDownPosition": dropdownPosition
|
|
9971
10007
|
}, options.map(function (option) {
|
|
9972
10008
|
return React__default.createElement(Options, {
|
|
9973
10009
|
key: option.value,
|