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