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