@bbl-digital/snorre 3.0.6 → 3.0.9
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/bundle.js +39 -41
- package/esm/core/Autocomplete/hooks/useAutocomplete.js +0 -2
- package/esm/core/Autocomplete/hooks/useHandleDimentions.js +19 -0
- package/esm/core/Autocomplete/index.interfaces.js +1 -0
- package/esm/core/Autocomplete/index.js +11 -6
- package/esm/core/Autocomplete/styles.js +18 -26
- package/lib/core/Autocomplete/hooks/useAutocomplete.d.ts +1 -1
- package/lib/core/Autocomplete/hooks/useAutocomplete.d.ts.map +1 -1
- package/lib/core/Autocomplete/hooks/useAutocomplete.js +0 -2
- package/lib/core/Autocomplete/hooks/useHandleDimentions.d.ts +8 -0
- package/lib/core/Autocomplete/hooks/useHandleDimentions.d.ts.map +1 -0
- package/lib/core/Autocomplete/hooks/useHandleDimentions.js +19 -0
- package/lib/core/Autocomplete/index.d.ts +1 -1
- package/lib/core/Autocomplete/index.d.ts.map +1 -1
- package/lib/core/Autocomplete/index.interfaces.d.ts +81 -0
- package/lib/core/Autocomplete/index.interfaces.d.ts.map +1 -0
- package/lib/core/Autocomplete/index.interfaces.js +1 -0
- package/lib/core/Autocomplete/index.js +11 -6
- package/lib/core/Autocomplete/styles.d.ts +1 -1
- package/lib/core/Autocomplete/styles.d.ts.map +1 -1
- package/lib/core/Autocomplete/styles.js +18 -26
- package/package.json +1 -1
@@ -38,8 +38,6 @@ const useAutocomplete = props => {
|
|
38
38
|
const onFuzzyBlur = e => {
|
39
39
|
// If the value of the input is changed, and does not match the value of the values array,
|
40
40
|
// we should revert back the input value to the original value
|
41
|
-
//What
|
42
|
-
// if (!e.target.value.length) clearSelectedItem()
|
43
41
|
if (e.target.value === props.value) return; // If target value is the same as a value from the values array, we should set the value for the user
|
44
42
|
|
45
43
|
if (inputValues?.length) {
|
@@ -0,0 +1,19 @@
|
|
1
|
+
import { createRef, useEffect, useState } from 'react';
|
2
|
+
|
3
|
+
const useHandleDimentions = () => {
|
4
|
+
const [height, setHeight] = useState(0);
|
5
|
+
const [width, setWidth] = useState(0);
|
6
|
+
const dimentionsRef = /*#__PURE__*/createRef();
|
7
|
+
useEffect(() => {
|
8
|
+
const rect = dimentionsRef.current?.getBoundingClientRect();
|
9
|
+
setHeight(rect?.height || 0);
|
10
|
+
setWidth(rect?.width || 0); // eslint-disable-next-line react-hooks/exhaustive-deps
|
11
|
+
}, [dimentionsRef.current]);
|
12
|
+
return {
|
13
|
+
height,
|
14
|
+
width,
|
15
|
+
dimentionsRef
|
16
|
+
};
|
17
|
+
};
|
18
|
+
|
19
|
+
export default useHandleDimentions;
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -4,7 +4,7 @@ import { styles, ErrorMessage, Clear } from './styles';
|
|
4
4
|
import { useEffect } from 'react';
|
5
5
|
import IconErrorOutline from '../../icons/General/IconErrorOutline';
|
6
6
|
import Spinner from '../Spinner';
|
7
|
-
import
|
7
|
+
import useHandleDimentions from './hooks/useHandleDimentions';
|
8
8
|
import Link from '../Link';
|
9
9
|
import IconClose from '../../icons/General/IconClose';
|
10
10
|
import useAutocomplete from './hooks/useAutocomplete';
|
@@ -18,9 +18,13 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(({
|
|
18
18
|
}, ref) => {
|
19
19
|
const valuesRef = /*#__PURE__*/createRef();
|
20
20
|
const {
|
21
|
-
optionsHeight,
|
22
|
-
optionsRef
|
23
|
-
} =
|
21
|
+
height: optionsHeight,
|
22
|
+
dimentionsRef: optionsRef
|
23
|
+
} = useHandleDimentions();
|
24
|
+
const {
|
25
|
+
width: inputWrapperWidth,
|
26
|
+
dimentionsRef: inputWrapperRef
|
27
|
+
} = useHandleDimentions();
|
24
28
|
const {
|
25
29
|
value,
|
26
30
|
highlightedIndex,
|
@@ -54,8 +58,9 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(({
|
|
54
58
|
}, [showValues, valuesRef]);
|
55
59
|
return _jsxs(_Fragment, {
|
56
60
|
children: [_jsxs("label", {
|
57
|
-
|
61
|
+
ref: inputWrapperRef,
|
58
62
|
onClick: props.onLabelClick ? e => e.preventDefault() : undefined,
|
63
|
+
css: theme => [styles.default(theme), (props.invalid || props.invalidMessage) && styles.invalid(theme), props.validation && styles.validation, props.onLabelClick && styles.clickableLabel, height && styles.height(height), css && css],
|
59
64
|
children: [_jsxs("span", {
|
60
65
|
css: styles.label,
|
61
66
|
children: [props.label && (props.onLabelClick ? _jsx(Link, {
|
@@ -113,7 +118,7 @@ const Autocomplete = /*#__PURE__*/React.forwardRef(({
|
|
113
118
|
})]
|
114
119
|
}), (Boolean(props.values?.length) || props.renderCustomValueInput) && !props.loading && showValues && _jsxs("div", {
|
115
120
|
ref: valuesRef,
|
116
|
-
css: () => [!props.renderCustomValueInput && styles.listWrapper, props.dynamicallyPlaceInput && Boolean(optionsHeight) && styles.listWrapperTopPosition(optionsHeight), props.dynamicallyPlaceInput && Boolean(optionsHeight) && props.invalidMessage && styles.listWrapperTopPosition(optionsHeight + 30), props.inputValuesMaxWidth && styles.listWrapperMaxWidth(props.inputValuesMaxWidth)],
|
121
|
+
css: () => [!props.renderCustomValueInput && styles.listWrapper(inputWrapperWidth), props.dynamicallyPlaceInput && Boolean(optionsHeight) && styles.listWrapperTopPosition(optionsHeight), props.dynamicallyPlaceInput && Boolean(optionsHeight) && props.invalidMessage && styles.listWrapperTopPosition(optionsHeight + 30), props.inputValuesMaxWidth && styles.listWrapperMaxWidth(props.inputValuesMaxWidth)],
|
117
122
|
children: [Boolean(renderedValues?.length) && _jsx("ul", {
|
118
123
|
css: theme => [styles.list(theme)],
|
119
124
|
children: renderedValues.map((item, index) => {
|