@equinor/eds-core-react 0.35.1 → 0.36.0
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/eds-core-react.cjs +5582 -4353
- package/dist/esm/components/Accordion/Accordion.js +21 -23
- package/dist/esm/components/Accordion/Accordion.tokens.js +65 -23
- package/dist/esm/components/Accordion/AccordionHeader.js +74 -62
- package/dist/esm/components/Accordion/AccordionHeaderActions.js +22 -20
- package/dist/esm/components/Accordion/AccordionHeaderTitle.js +22 -20
- package/dist/esm/components/Accordion/AccordionItem.js +28 -35
- package/dist/esm/components/Accordion/AccordionPanel.js +27 -26
- package/dist/esm/components/Accordion/index.js +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +451 -329
- package/dist/esm/components/Autocomplete/Autocomplete.tokens.js +33 -17
- package/dist/esm/components/Autocomplete/Option.js +35 -32
- package/dist/esm/components/Avatar/Avatar.js +19 -26
- package/dist/esm/components/Avatar/Avatar.tokens.js +1 -1
- package/dist/esm/components/Banner/Banner.js +26 -27
- package/dist/esm/components/Banner/Banner.tokens.js +47 -18
- package/dist/esm/components/Banner/BannerActions.js +18 -19
- package/dist/esm/components/Banner/BannerIcon.js +26 -25
- package/dist/esm/components/Banner/BannerMessage.js +13 -14
- package/dist/esm/components/Banner/index.js +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumb.js +30 -32
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +46 -53
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.tokens.js +20 -5
- package/dist/esm/components/Breadcrumbs/index.js +1 -1
- package/dist/esm/components/Button/Button.js +46 -46
- package/dist/esm/components/Button/ButtonGroup/ButtonGroup.js +22 -22
- package/dist/esm/components/Button/ButtonGroup/ButtonGroup.tokens.js +8 -2
- package/dist/esm/components/Button/InnerFullWidth.js +8 -10
- package/dist/esm/components/Button/ToggleButton/ToggleButton.js +23 -33
- package/dist/esm/components/Button/index.js +1 -1
- package/dist/esm/components/Button/tokens/button.js +62 -31
- package/dist/esm/components/Button/tokens/contained.js +38 -14
- package/dist/esm/components/Button/tokens/contained_icon.js +13 -10
- package/dist/esm/components/Button/tokens/ghost.js +36 -13
- package/dist/esm/components/Button/tokens/icon.js +46 -20
- package/dist/esm/components/Button/tokens/index.js +1 -1
- package/dist/esm/components/Button/tokens/outlined.js +42 -15
- package/dist/esm/components/Card/Card.js +24 -27
- package/dist/esm/components/Card/Card.tokens.js +32 -11
- package/dist/esm/components/Card/CardActions.js +22 -23
- package/dist/esm/components/Card/CardContent.js +12 -12
- package/dist/esm/components/Card/CardHeader.js +15 -13
- package/dist/esm/components/Card/CardHeaderTitle.js +12 -12
- package/dist/esm/components/Card/CardMedia.js +20 -20
- package/dist/esm/components/Card/index.js +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +20 -21
- package/dist/esm/components/Checkbox/Checkbox.tokens.js +41 -16
- package/dist/esm/components/Checkbox/Input.js +75 -84
- package/dist/esm/components/Chip/Chip.js +61 -64
- package/dist/esm/components/Chip/Chip.tokens.js +68 -26
- package/dist/esm/components/Chip/Icon.js +13 -11
- package/dist/esm/components/Dialog/Dialog.js +34 -35
- package/dist/esm/components/Dialog/Dialog.tokens.js +32 -10
- package/dist/esm/components/Dialog/DialogActions.js +13 -14
- package/dist/esm/components/Dialog/DialogContent.js +19 -20
- package/dist/esm/components/Dialog/DialogHeader.js +16 -15
- package/dist/esm/components/Dialog/DialogTitle.js +13 -14
- package/dist/esm/components/Dialog/index.js +1 -1
- package/dist/esm/components/Divider/Divider.js +24 -25
- package/dist/esm/components/Divider/Divider.tokens.js +24 -10
- package/dist/esm/components/EdsProvider/eds.context.js +18 -26
- package/dist/esm/components/Icon/Icon.js +75 -78
- package/dist/esm/components/Icon/index.js +1 -1
- package/dist/esm/components/Icon/library.js +9 -8
- package/dist/esm/components/Input/Input.js +93 -92
- package/dist/esm/components/Input/Input.tokens.js +56 -40
- package/dist/esm/components/InputWrapper/HelperText/HelperText.js +24 -28
- package/dist/esm/components/InputWrapper/HelperText/HelperText.token.js +11 -7
- package/dist/esm/components/InputWrapper/InputWrapper.js +34 -35
- package/dist/esm/components/InputWrapper/InputWrapper.tokens.js +56 -40
- package/dist/esm/components/Label/Label.js +16 -20
- package/dist/esm/components/Label/Label.tokens.js +11 -7
- package/dist/esm/components/List/List.js +17 -19
- package/dist/esm/components/List/List.tokens.js +6 -2
- package/dist/esm/components/List/ListItem.js +7 -8
- package/dist/esm/components/List/index.js +1 -1
- package/dist/esm/components/Menu/Menu.context.js +35 -42
- package/dist/esm/components/Menu/Menu.js +111 -108
- package/dist/esm/components/Menu/Menu.tokens.js +57 -24
- package/dist/esm/components/Menu/MenuItem.js +59 -61
- package/dist/esm/components/Menu/MenuList.js +52 -55
- package/dist/esm/components/Menu/MenuSection.js +9 -9
- package/dist/esm/components/Menu/index.js +1 -1
- package/dist/esm/components/Pagination/Pagination.js +70 -75
- package/dist/esm/components/Pagination/Pagination.tokens.js +18 -5
- package/dist/esm/components/Pagination/PaginationItem.js +18 -19
- package/dist/esm/components/Pagination/paginationControl.js +18 -22
- package/dist/esm/components/Paper/Paper.js +15 -18
- package/dist/esm/components/Paper/Paper.tokens.js +12 -4
- package/dist/esm/components/Popover/Popover.js +98 -87
- package/dist/esm/components/Popover/Popover.tokens.js +37 -11
- package/dist/esm/components/Popover/PopoverActions.js +15 -14
- package/dist/esm/components/Popover/PopoverContent.js +15 -14
- package/dist/esm/components/Popover/PopoverHeader.js +16 -15
- package/dist/esm/components/Popover/PopoverTitle.js +15 -14
- package/dist/esm/components/Popover/index.js +1 -1
- package/dist/esm/components/Progress/Circular/CircularProgress.js +33 -42
- package/dist/esm/components/Progress/Circular/CircularProgress.tokens.js +24 -8
- package/dist/esm/components/Progress/Dots/DotProgress.js +20 -23
- package/dist/esm/components/Progress/Dots/DotProgress.tokens.js +20 -8
- package/dist/esm/components/Progress/Linear/LinearProgress.js +25 -31
- package/dist/esm/components/Progress/Linear/LinearProgress.tokens.js +13 -4
- package/dist/esm/components/Progress/Star/StarProgress.js +23 -27
- package/dist/esm/components/Progress/Star/StarProgress.tokens.js +10 -2
- package/dist/esm/components/Progress/index.js +1 -1
- package/dist/esm/components/Radio/Radio.js +71 -83
- package/dist/esm/components/Radio/Radio.tokens.js +41 -16
- package/dist/esm/components/Scrim/Scrim.js +20 -23
- package/dist/esm/components/Scrim/Scrim.tokens.js +11 -3
- package/dist/esm/components/Search/Search.js +24 -31
- package/dist/esm/components/Select/NativeSelect.js +45 -44
- package/dist/esm/components/Select/NativeSelect.tokens.js +15 -10
- package/dist/esm/components/SideBar/SideBar.context.js +27 -33
- package/dist/esm/components/SideBar/SideBar.js +42 -40
- package/dist/esm/components/SideBar/SideBar.tokens.js +49 -20
- package/dist/esm/components/SideBar/SideBarAccordion/index.js +98 -90
- package/dist/esm/components/SideBar/SideBarAccordionItem/index.js +46 -33
- package/dist/esm/components/SideBar/SideBarButton/index.js +61 -45
- package/dist/esm/components/SideBar/SideBarContent.js +13 -13
- package/dist/esm/components/SideBar/SideBarFooter.js +13 -13
- package/dist/esm/components/SideBar/SideBarToggle.js +40 -26
- package/dist/esm/components/SideBar/SidebarLink/index.js +87 -48
- package/dist/esm/components/SideBar/index.js +1 -1
- package/dist/esm/components/SideSheet/SideSheet.js +27 -27
- package/dist/esm/components/SideSheet/SideSheet.tokens.js +29 -12
- package/dist/esm/components/Slider/MinMax.js +10 -6
- package/dist/esm/components/Slider/Output.js +15 -18
- package/dist/esm/components/Slider/Slider.js +157 -188
- package/dist/esm/components/Slider/Slider.tokens.js +67 -19
- package/dist/esm/components/Slider/SliderInput.js +37 -34
- package/dist/esm/components/Snackbar/Snackbar.js +39 -45
- package/dist/esm/components/Snackbar/Snackbar.tokens.js +45 -17
- package/dist/esm/components/Snackbar/SnackbarAction.js +15 -14
- package/dist/esm/components/Snackbar/index.js +1 -1
- package/dist/esm/components/Switch/Switch.js +37 -42
- package/dist/esm/components/Switch/Switch.styles.js +17 -20
- package/dist/esm/components/Switch/Switch.tokens.js +66 -21
- package/dist/esm/components/Switch/SwitchDefault.js +38 -36
- package/dist/esm/components/Switch/SwitchSmall.js +38 -33
- package/dist/esm/components/Table/Body.js +8 -9
- package/dist/esm/components/Table/Caption.js +12 -14
- package/dist/esm/components/Table/Cell.js +15 -14
- package/dist/esm/components/Table/DataCell/DataCell.js +27 -26
- package/dist/esm/components/Table/DataCell/DataCell.tokens.js +79 -38
- package/dist/esm/components/Table/Head/Head.js +10 -11
- package/dist/esm/components/Table/Head/Head.tokens.js +15 -4
- package/dist/esm/components/Table/HeaderCell/HeaderCell.js +37 -33
- package/dist/esm/components/Table/HeaderCell/HeaderCell.tokens.js +65 -28
- package/dist/esm/components/Table/Inner.context.js +2 -2
- package/dist/esm/components/Table/Row/Row.js +12 -16
- package/dist/esm/components/Table/Row/Row.tokens.js +13 -4
- package/dist/esm/components/Table/Table.js +8 -9
- package/dist/esm/components/Table/index.js +1 -1
- package/dist/esm/components/TableOfContents/LinkItem.js +11 -11
- package/dist/esm/components/TableOfContents/TableOfContents.js +25 -26
- package/dist/esm/components/TableOfContents/TableOfContents.tokens.js +46 -21
- package/dist/esm/components/TableOfContents/index.js +1 -1
- package/dist/esm/components/Tabs/Tab.js +30 -29
- package/dist/esm/components/Tabs/TabList.js +50 -62
- package/dist/esm/components/Tabs/TabPanel.js +19 -18
- package/dist/esm/components/Tabs/TabPanels.js +16 -17
- package/dist/esm/components/Tabs/Tabs.context.js +3 -5
- package/dist/esm/components/Tabs/Tabs.js +37 -53
- package/dist/esm/components/Tabs/Tabs.tokens.js +56 -21
- package/dist/esm/components/Tabs/index.js +1 -1
- package/dist/esm/components/TextField/TextField.js +64 -59
- package/dist/esm/components/Textarea/Textarea.js +38 -38
- package/dist/esm/components/Tooltip/Tooltip.js +79 -81
- package/dist/esm/components/Tooltip/Tooltip.tokens.js +33 -13
- package/dist/esm/components/TopBar/Actions.js +9 -11
- package/dist/esm/components/TopBar/CustomContent.js +9 -11
- package/dist/esm/components/TopBar/Header.js +9 -11
- package/dist/esm/components/TopBar/TopBar.js +24 -25
- package/dist/esm/components/TopBar/TopBar.tokens.js +10 -4
- package/dist/esm/components/TopBar/index.js +1 -1
- package/dist/esm/components/Typography/Typography.js +42 -54
- package/dist/esm/components/Typography/Typography.tokens.js +50 -23
- package/dist/esm/node_modules/.pnpm/ramda@0.29.1/node_modules/ramda/es/internal/_isPlaceholder.js +1 -3
- package/dist/types/components/Accordion/Accordion.types.d.ts +1 -1
- package/dist/types/components/Autocomplete/Autocomplete.d.ts +13 -0
- package/dist/types/components/Autocomplete/Option.d.ts +1 -0
- package/dist/types/components/Slider/Slider.d.ts +11 -3
- package/package.json +6 -7
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef, useRef, useMemo } from 'react';
|
|
4
2
|
import styled from 'styled-components';
|
|
5
3
|
import { scrim } from './Scrim.tokens.js';
|
|
@@ -7,33 +5,32 @@ import { mergeRefs, useGlobalKeyPress } from '@equinor/eds-utils';
|
|
|
7
5
|
import { FloatingOverlay } from '@floating-ui/react';
|
|
8
6
|
import { jsx } from 'react/jsx-runtime';
|
|
9
7
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
const {
|
|
9
|
+
background
|
|
10
|
+
} = scrim;
|
|
11
|
+
const StyledScrim = styled(FloatingOverlay).withConfig({
|
|
13
12
|
displayName: "Scrim__StyledScrim",
|
|
14
13
|
componentId: "sc-1fr7uvy-0"
|
|
15
14
|
})(["background:", ";z-index:1300;align-items:center;justify-content:center;display:flex;"], background);
|
|
16
|
-
|
|
15
|
+
const ScrimContent = styled.div.withConfig({
|
|
17
16
|
displayName: "Scrim__ScrimContent",
|
|
18
17
|
componentId: "sc-1fr7uvy-1"
|
|
19
18
|
})(["width:auto;height:auto;"]);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}, [scrimRef, ref]);
|
|
31
|
-
useGlobalKeyPress('Escape', function () {
|
|
19
|
+
const Scrim = /*#__PURE__*/forwardRef(function Scrim({
|
|
20
|
+
children,
|
|
21
|
+
onClose,
|
|
22
|
+
open,
|
|
23
|
+
isDismissable = false,
|
|
24
|
+
...rest
|
|
25
|
+
}, ref) {
|
|
26
|
+
const scrimRef = useRef(null);
|
|
27
|
+
const combinedScrimRef = useMemo(() => mergeRefs(scrimRef, ref), [scrimRef, ref]);
|
|
28
|
+
useGlobalKeyPress('Escape', () => {
|
|
32
29
|
if (isDismissable && onClose && open) {
|
|
33
30
|
onClose();
|
|
34
31
|
}
|
|
35
32
|
});
|
|
36
|
-
|
|
33
|
+
const handleMouseClose = event => {
|
|
37
34
|
if (event && event.target === scrimRef.current) {
|
|
38
35
|
if (event.type === 'mousedown' && isDismissable && open) {
|
|
39
36
|
onClose && onClose();
|
|
@@ -43,15 +40,15 @@ var Scrim = /*#__PURE__*/forwardRef(function Scrim(_ref, ref) {
|
|
|
43
40
|
if (!open) {
|
|
44
41
|
return null;
|
|
45
42
|
}
|
|
46
|
-
return /*#__PURE__*/jsx(StyledScrim,
|
|
43
|
+
return /*#__PURE__*/jsx(StyledScrim, {
|
|
47
44
|
lockScroll: true,
|
|
48
45
|
onMouseDown: handleMouseClose,
|
|
49
|
-
ref: combinedScrimRef
|
|
50
|
-
|
|
46
|
+
ref: combinedScrimRef,
|
|
47
|
+
...rest,
|
|
51
48
|
children: /*#__PURE__*/jsx(ScrimContent, {
|
|
52
49
|
children: children
|
|
53
50
|
})
|
|
54
|
-
})
|
|
51
|
+
});
|
|
55
52
|
});
|
|
56
53
|
|
|
57
54
|
export { Scrim };
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { tokens } from '@equinor/eds-tokens';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
const {
|
|
4
|
+
colors: {
|
|
5
|
+
ui: {
|
|
6
|
+
background__scrim: {
|
|
7
|
+
rgba: background
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
} = tokens;
|
|
12
|
+
const scrim = {
|
|
13
|
+
background
|
|
6
14
|
};
|
|
7
15
|
|
|
8
16
|
export { scrim };
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
4
1
|
import { forwardRef, useRef, useState, useEffect, useMemo } from 'react';
|
|
5
2
|
import styled from 'styled-components';
|
|
6
3
|
import { search, close } from '@equinor/eds-icons';
|
|
@@ -11,52 +8,47 @@ import { jsx, Fragment } from 'react/jsx-runtime';
|
|
|
11
8
|
import { InputWrapper } from '../InputWrapper/InputWrapper.js';
|
|
12
9
|
import { Input } from '../Input/Input.js';
|
|
13
10
|
|
|
14
|
-
|
|
15
|
-
var SearchInput = styled(Input).withConfig({
|
|
11
|
+
const SearchInput = styled(Input).withConfig({
|
|
16
12
|
displayName: "Search__SearchInput",
|
|
17
13
|
componentId: "sc-v8l23u-0"
|
|
18
14
|
})(["input{&[type='search']::-webkit-search-decoration,&[type='search']::-webkit-search-cancel-button,&[type='search']::-webkit-search-results-button,&[type='search']::-webkit-search-results-decoration{-webkit-appearance:none;}}"]);
|
|
19
|
-
|
|
15
|
+
const InsideButton = styled(Button).withConfig({
|
|
20
16
|
displayName: "Search__InsideButton",
|
|
21
17
|
componentId: "sc-v8l23u-1"
|
|
22
18
|
})(["height:24px;width:24px;"]);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
setShowClear = _useState2[1];
|
|
33
|
-
useEffect(function () {
|
|
19
|
+
const Search = /*#__PURE__*/forwardRef(function Search({
|
|
20
|
+
onChange,
|
|
21
|
+
style,
|
|
22
|
+
className,
|
|
23
|
+
...rest
|
|
24
|
+
}, ref) {
|
|
25
|
+
const inputRef = useRef(null);
|
|
26
|
+
const [showClear, setShowClear] = useState(Boolean(rest.defaultValue));
|
|
27
|
+
useEffect(() => {
|
|
34
28
|
if (rest.disabled) {
|
|
35
29
|
setShowClear(false);
|
|
36
30
|
} else if (rest.value) {
|
|
37
31
|
setShowClear(Boolean(rest.value));
|
|
38
32
|
}
|
|
39
33
|
}, [rest.value, rest.disabled]);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
34
|
+
const clearInputValue = () => {
|
|
35
|
+
const input = inputRef.current;
|
|
36
|
+
const clearedValue = '';
|
|
43
37
|
setReactInputValue(input, clearedValue);
|
|
44
38
|
};
|
|
45
|
-
|
|
39
|
+
const handleOnChange = e => {
|
|
46
40
|
setShowClear(Boolean(e.currentTarget.value));
|
|
47
41
|
};
|
|
48
|
-
|
|
49
|
-
return mergeRefs(inputRef, ref);
|
|
50
|
-
}, [inputRef, ref]);
|
|
42
|
+
const combinedRef = useMemo(() => mergeRefs(inputRef, ref), [inputRef, ref]);
|
|
51
43
|
return /*#__PURE__*/jsx(InputWrapper, {
|
|
52
44
|
role: "search",
|
|
53
45
|
style: style,
|
|
54
46
|
className: className,
|
|
55
|
-
children: /*#__PURE__*/jsx(SearchInput,
|
|
56
|
-
onChange:
|
|
47
|
+
children: /*#__PURE__*/jsx(SearchInput, {
|
|
48
|
+
onChange: e => {
|
|
57
49
|
handleOnChange(e);
|
|
58
|
-
if (
|
|
59
|
-
|
|
50
|
+
if (onChange) {
|
|
51
|
+
onChange(e);
|
|
60
52
|
}
|
|
61
53
|
},
|
|
62
54
|
ref: combinedRef,
|
|
@@ -72,7 +64,7 @@ var Search = /*#__PURE__*/forwardRef(function Search(_ref, ref) {
|
|
|
72
64
|
"aria-label": 'clear search',
|
|
73
65
|
title: "clear",
|
|
74
66
|
variant: "ghost_icon",
|
|
75
|
-
onClick:
|
|
67
|
+
onClick: e => {
|
|
76
68
|
e.stopPropagation();
|
|
77
69
|
clearInputValue();
|
|
78
70
|
},
|
|
@@ -81,8 +73,9 @@ var Search = /*#__PURE__*/forwardRef(function Search(_ref, ref) {
|
|
|
81
73
|
size: 16
|
|
82
74
|
})
|
|
83
75
|
})
|
|
84
|
-
})
|
|
85
|
-
|
|
76
|
+
}),
|
|
77
|
+
...rest
|
|
78
|
+
})
|
|
86
79
|
});
|
|
87
80
|
});
|
|
88
81
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef } from 'react';
|
|
4
2
|
import styled, { css, ThemeProvider } from 'styled-components';
|
|
5
3
|
import { nativeselect } from './NativeSelect.tokens.js';
|
|
@@ -8,61 +6,64 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
8
6
|
import { useEds } from '../EdsProvider/eds.context.js';
|
|
9
7
|
import { Label } from '../Label/Label.js';
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
var Container = styled.div.withConfig({
|
|
9
|
+
const Container = styled.div.withConfig({
|
|
13
10
|
displayName: "NativeSelect__Container",
|
|
14
11
|
componentId: "sc-82vb16-0"
|
|
15
12
|
})(["min-width:100px;width:100%;"]);
|
|
16
|
-
|
|
13
|
+
const StyledSelect = styled.select.withConfig({
|
|
17
14
|
displayName: "NativeSelect__StyledSelect",
|
|
18
15
|
componentId: "sc-82vb16-1"
|
|
19
|
-
})(["border:none;border-radius:0;box-shadow:", ";", " ", " padding-right:calc(", " *2 + ", ");display:block;margin:0;appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%236f6f6f' d='M7 9.5l5 5 5-5H7z'/%3E%3C/svg%3E\"),linear-gradient( to bottom,", " 0%,", " 100% );background-repeat:no-repeat,repeat;background-position:right ", " top 50%;width:100%;&:active,&:focus{box-shadow:none;", "}&:disabled{color:", ";background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23bebebe' d='M7 9.5l5 5 5-5H7z'/%3E%3C/svg%3E\"),linear-gradient( to bottom,", " 0%,", " 100% );cursor:not-allowed;box-shadow:none;outline:none;.arrow-icon{fill:red;}&:focus,&:active{outline:none;}}"], nativeselect.boxShadow, typographyTemplate(nativeselect.typography),
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
density: density
|
|
16
|
+
})(["border:none;border-radius:0;box-shadow:", ";", " ", " padding-right:calc(", " *2 + ", ");display:block;margin:0;appearance:none;background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%236f6f6f' d='M7 9.5l5 5 5-5H7z'/%3E%3C/svg%3E\"),linear-gradient( to bottom,", " 0%,", " 100% );background-repeat:no-repeat,repeat;background-position:right ", " top 50%;width:100%;&:active,&:focus{box-shadow:none;", "}&:disabled{color:", ";background-image:url(\"data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23bebebe' d='M7 9.5l5 5 5-5H7z'/%3E%3C/svg%3E\"),linear-gradient( to bottom,", " 0%,", " 100% );cursor:not-allowed;box-shadow:none;outline:none;.arrow-icon{fill:red;}&:focus,&:active{outline:none;}}"], nativeselect.boxShadow, typographyTemplate(nativeselect.typography), ({
|
|
17
|
+
theme
|
|
18
|
+
}) => css(["height:", ";", ""], theme.minHeight, spacingsTemplate(theme.entities.input.spacings)), nativeselect.entities.input.spacings.right, nativeselect.entities.icon.width, nativeselect.background, nativeselect.background, nativeselect.entities.input.spacings.right, outlineTemplate(nativeselect.states.focus.outline), nativeselect.states.disabled.typography.color, nativeselect.background, nativeselect.background);
|
|
19
|
+
const NativeSelect = /*#__PURE__*/forwardRef(function NativeSelect({
|
|
20
|
+
label,
|
|
21
|
+
children,
|
|
22
|
+
className,
|
|
23
|
+
style,
|
|
24
|
+
selectRef,
|
|
25
|
+
id,
|
|
26
|
+
meta,
|
|
27
|
+
disabled = false,
|
|
28
|
+
multiple = false,
|
|
29
|
+
...other
|
|
30
|
+
}, ref) {
|
|
31
|
+
const {
|
|
32
|
+
density
|
|
33
|
+
} = useEds();
|
|
34
|
+
const token = useToken({
|
|
35
|
+
density
|
|
40
36
|
}, nativeselect);
|
|
41
|
-
|
|
42
|
-
ref
|
|
43
|
-
className
|
|
44
|
-
style
|
|
37
|
+
const containerProps = {
|
|
38
|
+
ref,
|
|
39
|
+
className,
|
|
40
|
+
style
|
|
45
41
|
};
|
|
46
|
-
|
|
42
|
+
const selectProps = {
|
|
47
43
|
ref: selectRef,
|
|
48
|
-
id
|
|
49
|
-
disabled
|
|
50
|
-
multiple
|
|
51
|
-
|
|
52
|
-
|
|
44
|
+
id,
|
|
45
|
+
disabled,
|
|
46
|
+
multiple,
|
|
47
|
+
...other
|
|
48
|
+
};
|
|
49
|
+
const labelProps = {
|
|
53
50
|
htmlFor: id,
|
|
54
|
-
label
|
|
55
|
-
meta
|
|
56
|
-
disabled
|
|
51
|
+
label,
|
|
52
|
+
meta,
|
|
53
|
+
disabled
|
|
57
54
|
};
|
|
58
|
-
|
|
55
|
+
const showLabel = label || meta;
|
|
59
56
|
return /*#__PURE__*/jsx(ThemeProvider, {
|
|
60
57
|
theme: token,
|
|
61
|
-
children: /*#__PURE__*/jsxs(Container,
|
|
62
|
-
|
|
58
|
+
children: /*#__PURE__*/jsxs(Container, {
|
|
59
|
+
...containerProps,
|
|
60
|
+
children: [showLabel && /*#__PURE__*/jsx(Label, {
|
|
61
|
+
...labelProps
|
|
62
|
+
}), /*#__PURE__*/jsx(StyledSelect, {
|
|
63
|
+
...selectProps,
|
|
63
64
|
children: children
|
|
64
|
-
})
|
|
65
|
-
})
|
|
65
|
+
})]
|
|
66
|
+
})
|
|
66
67
|
});
|
|
67
68
|
});
|
|
68
69
|
|
|
@@ -1,17 +1,22 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
1
|
import { tokens } from '@equinor/eds-tokens';
|
|
3
2
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const {
|
|
4
|
+
colors,
|
|
5
|
+
spacings: {
|
|
6
|
+
comfortable: {
|
|
7
|
+
small,
|
|
8
|
+
x_small
|
|
9
|
+
}
|
|
10
|
+
},
|
|
11
|
+
typography,
|
|
12
|
+
shape
|
|
13
|
+
} = tokens;
|
|
14
|
+
const nativeselect = {
|
|
11
15
|
background: colors.ui.background__light.rgba,
|
|
12
|
-
typography:
|
|
16
|
+
typography: {
|
|
17
|
+
...typography.input.text,
|
|
13
18
|
color: colors.text.static_icons__default.rgba
|
|
14
|
-
}
|
|
19
|
+
},
|
|
15
20
|
entities: {
|
|
16
21
|
input: {
|
|
17
22
|
spacings: {
|
|
@@ -1,49 +1,43 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
3
1
|
import { useContext, createContext, useState, useCallback } from 'react';
|
|
4
2
|
import { jsx } from 'react/jsx-runtime';
|
|
5
3
|
|
|
6
|
-
|
|
4
|
+
const initalState = {
|
|
7
5
|
isOpen: false,
|
|
8
6
|
onToggle: null
|
|
9
7
|
};
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
setState(
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
onToggle === null || onToggle === void 0 || onToggle(open);
|
|
8
|
+
const SideBarContext = /*#__PURE__*/createContext(initalState);
|
|
9
|
+
const SideBarProvider = ({
|
|
10
|
+
children
|
|
11
|
+
}) => {
|
|
12
|
+
const [state, setState] = useState(initalState);
|
|
13
|
+
const {
|
|
14
|
+
isOpen,
|
|
15
|
+
onToggle
|
|
16
|
+
} = state;
|
|
17
|
+
const setIsOpen = useCallback(open => {
|
|
18
|
+
setState(prevState => ({
|
|
19
|
+
...prevState,
|
|
20
|
+
isOpen: open
|
|
21
|
+
}));
|
|
22
|
+
onToggle?.(open);
|
|
26
23
|
}, [onToggle]);
|
|
27
|
-
|
|
28
|
-
setState(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
});
|
|
24
|
+
const setOnToggle = onToggle => {
|
|
25
|
+
setState(prevState => ({
|
|
26
|
+
...prevState,
|
|
27
|
+
onToggle
|
|
28
|
+
}));
|
|
33
29
|
};
|
|
34
|
-
|
|
35
|
-
setIsOpen
|
|
36
|
-
setOnToggle
|
|
37
|
-
onToggle
|
|
38
|
-
isOpen
|
|
30
|
+
const value = {
|
|
31
|
+
setIsOpen,
|
|
32
|
+
setOnToggle,
|
|
33
|
+
onToggle,
|
|
34
|
+
isOpen
|
|
39
35
|
};
|
|
40
36
|
return /*#__PURE__*/jsx(SideBarContext.Provider, {
|
|
41
37
|
value: value,
|
|
42
38
|
children: children
|
|
43
39
|
});
|
|
44
40
|
};
|
|
45
|
-
|
|
46
|
-
return useContext(SideBarContext);
|
|
47
|
-
};
|
|
41
|
+
const useSideBar = () => useContext(SideBarContext);
|
|
48
42
|
|
|
49
43
|
export { SideBarProvider, useSideBar };
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
-
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
3
1
|
import { forwardRef, useEffect } from 'react';
|
|
4
2
|
import styled, { css, ThemeProvider } from 'styled-components';
|
|
5
3
|
import { sidebar } from './SideBar.tokens.js';
|
|
@@ -8,64 +6,68 @@ import { SideBarProvider, useSideBar } from './SideBar.context.js';
|
|
|
8
6
|
import { jsx } from 'react/jsx-runtime';
|
|
9
7
|
import { useEds } from '../EdsProvider/eds.context.js';
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
useEffect(function () {
|
|
9
|
+
const SideBarContainer = /*#__PURE__*/forwardRef(function SideBarContainer({
|
|
10
|
+
onToggle: onToggleCallback,
|
|
11
|
+
open = false,
|
|
12
|
+
children,
|
|
13
|
+
...rest
|
|
14
|
+
}, ref) {
|
|
15
|
+
const {
|
|
16
|
+
isOpen,
|
|
17
|
+
setIsOpen,
|
|
18
|
+
onToggle,
|
|
19
|
+
setOnToggle
|
|
20
|
+
} = useSideBar();
|
|
21
|
+
useEffect(() => {
|
|
25
22
|
if (onToggle === null && onToggleCallback) {
|
|
26
23
|
setOnToggle(onToggleCallback);
|
|
27
24
|
}
|
|
28
25
|
}, [onToggle, onToggleCallback, setOnToggle]);
|
|
29
|
-
useEffect(
|
|
26
|
+
useEffect(() => {
|
|
30
27
|
setIsOpen(open);
|
|
31
28
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
32
29
|
}, [open]);
|
|
33
|
-
return /*#__PURE__*/jsx(GridContainer,
|
|
30
|
+
return /*#__PURE__*/jsx(GridContainer, {
|
|
31
|
+
...rest,
|
|
34
32
|
open: isOpen,
|
|
35
33
|
ref: ref,
|
|
36
34
|
children: children
|
|
37
|
-
})
|
|
35
|
+
});
|
|
38
36
|
});
|
|
39
|
-
|
|
37
|
+
const GridContainer = styled.div.withConfig({
|
|
40
38
|
displayName: "SideBar__GridContainer",
|
|
41
39
|
componentId: "sc-a84pkc-0"
|
|
42
|
-
})(
|
|
43
|
-
|
|
44
|
-
|
|
40
|
+
})(({
|
|
41
|
+
theme,
|
|
42
|
+
open
|
|
43
|
+
}) => {
|
|
45
44
|
return css(["box-sizing:content-box;", " display:grid;grid-template-rows:1fr auto;height:100%;grid-template-areas:'content' 'footer';background-color:", ";overflow:auto;width:", ";min-width:", ";", ""], bordersTemplate(theme.border), theme.background, open ? theme.maxWidth : theme.minWidth, open ? theme.maxWidth : theme.minWidth, !open && css(["scrollbar-width:none;&::-webkit-scrollbar{display:none;}"]));
|
|
46
45
|
});
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
density
|
|
55
|
-
|
|
56
|
-
|
|
46
|
+
const SideBar = /*#__PURE__*/forwardRef(({
|
|
47
|
+
onToggle,
|
|
48
|
+
open = false,
|
|
49
|
+
children,
|
|
50
|
+
...rest
|
|
51
|
+
}, ref) => {
|
|
52
|
+
const {
|
|
53
|
+
density
|
|
54
|
+
} = useEds();
|
|
55
|
+
const token = useToken({
|
|
56
|
+
density
|
|
57
57
|
}, sidebar);
|
|
58
|
-
|
|
59
|
-
onToggle
|
|
60
|
-
open
|
|
61
|
-
children
|
|
62
|
-
|
|
58
|
+
const props = {
|
|
59
|
+
onToggle,
|
|
60
|
+
open,
|
|
61
|
+
children,
|
|
62
|
+
...rest
|
|
63
|
+
};
|
|
63
64
|
return /*#__PURE__*/jsx(ThemeProvider, {
|
|
64
65
|
theme: token,
|
|
65
66
|
children: /*#__PURE__*/jsx(SideBarProvider, {
|
|
66
|
-
children: /*#__PURE__*/jsx(SideBarContainer,
|
|
67
|
+
children: /*#__PURE__*/jsx(SideBarContainer, {
|
|
68
|
+
...props,
|
|
67
69
|
ref: ref
|
|
68
|
-
})
|
|
70
|
+
})
|
|
69
71
|
})
|
|
70
72
|
});
|
|
71
73
|
});
|
|
@@ -1,25 +1,54 @@
|
|
|
1
1
|
import { tokens } from '@equinor/eds-tokens';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
3
|
+
const {
|
|
4
|
+
colors: {
|
|
5
|
+
ui: {
|
|
6
|
+
background__light: {
|
|
7
|
+
rgba: background__light
|
|
8
|
+
},
|
|
9
|
+
background__medium: {
|
|
10
|
+
rgba: background__medium
|
|
11
|
+
},
|
|
12
|
+
background__default: {
|
|
13
|
+
rgba: background
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
interactive: {
|
|
17
|
+
focus: {
|
|
18
|
+
rgba: focusColor
|
|
19
|
+
},
|
|
20
|
+
primary__resting: {
|
|
21
|
+
rgba: primary__resting
|
|
22
|
+
},
|
|
23
|
+
primary__selected_highlight: {
|
|
24
|
+
rgba: menuActive
|
|
25
|
+
},
|
|
26
|
+
disabled__fill: {
|
|
27
|
+
rgba: menuDisabledBackground
|
|
28
|
+
},
|
|
29
|
+
disabled__text: {
|
|
30
|
+
rgba: menuDisabledText
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
text: {
|
|
34
|
+
static_icons__default: {
|
|
35
|
+
rgba: expandTextColor
|
|
36
|
+
},
|
|
37
|
+
static_icons__primary_white: {
|
|
38
|
+
rgba: primaryWhite
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
spacings: {
|
|
43
|
+
comfortable: {
|
|
44
|
+
medium,
|
|
45
|
+
large,
|
|
46
|
+
small
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
} = tokens;
|
|
50
|
+
const sidebar = {
|
|
51
|
+
background,
|
|
23
52
|
minWidth: '72px',
|
|
24
53
|
maxWidth: '256px',
|
|
25
54
|
spacings: {
|