@bbl-digital/snorre 4.1.77 → 4.1.79
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/bundle.js +11 -11
- package/esm/core/BoxedTable/styles.js +11 -11
- package/esm/v2/Memberbenefits/MemberbenefitsCard/styles.js +16 -16
- package/esm/v2/core/BoxedTable/BoxedTable.stories.js +351 -0
- package/esm/v2/core/BoxedTable/DraggableRow/index.js +35 -0
- package/esm/v2/core/BoxedTable/DraggableRow/styles.js +57 -0
- package/esm/v2/core/BoxedTable/HeaderCell/index.js +34 -0
- package/esm/v2/core/BoxedTable/HeaderCell/styles.js +9 -0
- package/esm/v2/core/BoxedTable/RowCell/index.js +27 -0
- package/esm/v2/core/BoxedTable/RowCell/styles.js +51 -0
- package/esm/v2/core/BoxedTable/TableHeader/index.js +12 -0
- package/esm/v2/core/BoxedTable/TableHeader/styles.js +16 -0
- package/esm/v2/core/BoxedTable/TableRow/index.js +63 -0
- package/esm/v2/core/BoxedTable/TableRow/styles.js +73 -0
- package/esm/v2/core/BoxedTable/index.js +64 -0
- package/esm/v2/core/BoxedTable/models.js +1 -0
- package/esm/v2/core/BoxedTable/styles.js +121 -0
- package/esm/v2/hooks/useOverflow.js +43 -0
- package/lib/core/BoxedTable/styles.d.ts.map +1 -1
- package/lib/core/BoxedTable/styles.js +11 -11
- package/lib/v2/Memberbenefits/MemberbenefitsCard/styles.d.ts.map +1 -1
- package/lib/v2/Memberbenefits/MemberbenefitsCard/styles.js +16 -16
- package/lib/v2/core/BoxedTable/BoxedTable.stories.d.ts +36 -0
- package/lib/v2/core/BoxedTable/BoxedTable.stories.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/BoxedTable.stories.js +351 -0
- package/lib/v2/core/BoxedTable/DraggableRow/index.d.ts +17 -0
- package/lib/v2/core/BoxedTable/DraggableRow/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/DraggableRow/index.js +35 -0
- package/lib/v2/core/BoxedTable/DraggableRow/styles.d.ts +21 -0
- package/lib/v2/core/BoxedTable/DraggableRow/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/DraggableRow/styles.js +57 -0
- package/lib/v2/core/BoxedTable/HeaderCell/index.d.ts +25 -0
- package/lib/v2/core/BoxedTable/HeaderCell/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/HeaderCell/index.js +34 -0
- package/lib/v2/core/BoxedTable/HeaderCell/styles.d.ts +3 -0
- package/lib/v2/core/BoxedTable/HeaderCell/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/HeaderCell/styles.js +9 -0
- package/lib/v2/core/BoxedTable/RowCell/index.d.ts +27 -0
- package/lib/v2/core/BoxedTable/RowCell/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/RowCell/index.js +27 -0
- package/lib/v2/core/BoxedTable/RowCell/styles.d.ts +12 -0
- package/lib/v2/core/BoxedTable/RowCell/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/RowCell/styles.js +51 -0
- package/lib/v2/core/BoxedTable/TableHeader/index.d.ts +8 -0
- package/lib/v2/core/BoxedTable/TableHeader/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/TableHeader/index.js +12 -0
- package/lib/v2/core/BoxedTable/TableHeader/styles.d.ts +5 -0
- package/lib/v2/core/BoxedTable/TableHeader/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/TableHeader/styles.js +16 -0
- package/lib/v2/core/BoxedTable/TableRow/index.d.ts +20 -0
- package/lib/v2/core/BoxedTable/TableRow/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/TableRow/index.js +63 -0
- package/lib/v2/core/BoxedTable/TableRow/styles.d.ts +25 -0
- package/lib/v2/core/BoxedTable/TableRow/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/TableRow/styles.js +73 -0
- package/lib/v2/core/BoxedTable/index.d.ts +21 -0
- package/lib/v2/core/BoxedTable/index.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/index.js +64 -0
- package/lib/v2/core/BoxedTable/models.d.ts +6 -0
- package/lib/v2/core/BoxedTable/models.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/models.js +1 -0
- package/lib/v2/core/BoxedTable/styles.d.ts +24 -0
- package/lib/v2/core/BoxedTable/styles.d.ts.map +1 -0
- package/lib/v2/core/BoxedTable/styles.js +121 -0
- package/lib/v2/hooks/useOverflow.d.ts +11 -0
- package/lib/v2/hooks/useOverflow.d.ts.map +1 -0
- package/lib/v2/hooks/useOverflow.js +43 -0
- package/package.json +1 -1
@@ -0,0 +1,43 @@
|
|
1
|
+
import { useEffect, useState } from 'react';
|
2
|
+
const useOverflow = ref => {
|
3
|
+
const [overflowLeft, setOverflowLeft] = useState(false);
|
4
|
+
const [overflowRight, setOverflowRight] = useState(false);
|
5
|
+
const [overflowY, setOverflowY] = useState(false);
|
6
|
+
const [overflowX, setOverflowX] = useState(false);
|
7
|
+
const [anyOverflow, setAnyOverflow] = useState(false);
|
8
|
+
const checkOverflow = () => {
|
9
|
+
const element = ref.current;
|
10
|
+
if (!element) return;
|
11
|
+
const {
|
12
|
+
scrollLeft,
|
13
|
+
scrollWidth,
|
14
|
+
clientWidth,
|
15
|
+
scrollHeight,
|
16
|
+
clientHeight
|
17
|
+
} = element;
|
18
|
+
setOverflowLeft(scrollLeft > 0);
|
19
|
+
setOverflowRight(scrollLeft < scrollWidth - clientWidth);
|
20
|
+
setOverflowX(scrollWidth > clientWidth);
|
21
|
+
const hasOverflowX = scrollWidth > clientWidth;
|
22
|
+
const hasOverflowY = scrollHeight > clientHeight;
|
23
|
+
setOverflowY(hasOverflowY);
|
24
|
+
setAnyOverflow(hasOverflowX || hasOverflowY);
|
25
|
+
};
|
26
|
+
useEffect(() => {
|
27
|
+
const element = ref.current;
|
28
|
+
if (!element) return;
|
29
|
+
checkOverflow();
|
30
|
+
element.addEventListener('scroll', checkOverflow);
|
31
|
+
return () => element.removeEventListener('scroll', checkOverflow);
|
32
|
+
}, [ref]);
|
33
|
+
|
34
|
+
// Return the overflow state
|
35
|
+
return {
|
36
|
+
overflowLeft,
|
37
|
+
overflowRight,
|
38
|
+
overflowY,
|
39
|
+
anyOverflow,
|
40
|
+
overflowX
|
41
|
+
};
|
42
|
+
};
|
43
|
+
export default useOverflow;
|