@amboss/design-system 1.5.18 → 1.5.20
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/build/build-tokens/_breakpoints.json.js +23 -0
- package/build/build-tokens/_breakpoints.json.js.map +1 -0
- package/build/build-tokens/_icon_sizes_map.json.js +8 -0
- package/build/build-tokens/_icon_sizes_map.json.js.map +1 -0
- package/build/build-tokens/assets/icons.json.js +199 -0
- package/build/build-tokens/assets/icons.json.js.map +1 -0
- package/build/build-tokens/assets/icons16.json.js +214 -0
- package/build/build-tokens/assets/icons16.json.js.map +1 -0
- package/build/build-tokens/assets/logo.json +3 -0
- package/build/build-tokens/assets/logo.json.js +6 -0
- package/build/build-tokens/assets/logo.json.js.map +1 -0
- package/build/build-tokens/visualConfig.d.ts +3 -0
- package/build/build-tokens/visualConfig.js +1417 -0
- package/build/build-tokens/visualConfig.js.map +1 -0
- package/build/node_modules/tslib/tslib.es6.js +29 -0
- package/build/node_modules/tslib/tslib.es6.js.map +1 -0
- package/build/src/components/Badge/Badge.js +36 -0
- package/build/src/components/Badge/Badge.js.map +1 -0
- package/build/src/components/Box/Box.js +30 -0
- package/build/src/components/Box/Box.js.map +1 -0
- package/build/src/components/Button/Button.js +116 -0
- package/build/src/components/Button/Button.js.map +1 -0
- package/build/src/components/Card/Card.js +30 -0
- package/build/src/components/Card/Card.js.map +1 -0
- package/build/src/components/Card/CardBox.js +9 -0
- package/build/src/components/Card/CardBox.js.map +1 -0
- package/build/src/components/Card/CardHeader/CardHeader.js +30 -0
- package/build/src/components/Card/CardHeader/CardHeader.js.map +1 -0
- package/build/src/components/Collapsible/Collapsible.js +44 -0
- package/build/src/components/Collapsible/Collapsible.js.map +1 -0
- package/build/src/components/Column/Columns.js +78 -0
- package/build/src/components/Column/Columns.js.map +1 -0
- package/build/src/components/Container/Container.js +30 -0
- package/build/src/components/Container/Container.js.map +1 -0
- package/build/src/components/Divider/Divider.js +33 -0
- package/build/src/components/Divider/Divider.js.map +1 -0
- package/build/src/components/DropdownMenu/DropdownMenu.js +128 -0
- package/build/src/components/DropdownMenu/DropdownMenu.js.map +1 -0
- package/build/src/components/DropdownMenu/MenuItem.js +37 -0
- package/build/src/components/DropdownMenu/MenuItem.js.map +1 -0
- package/build/src/components/Form/Checkbox/Checkbox.js +86 -0
- package/build/src/components/Form/Checkbox/Checkbox.js.map +1 -0
- package/build/src/components/Form/FormErrorMessages/FormErrorMessages.js +10 -0
- package/build/src/components/Form/FormErrorMessages/FormErrorMessages.js.map +1 -0
- package/build/src/components/Form/FormField/FormField.js +26 -0
- package/build/src/components/Form/FormField/FormField.js.map +1 -0
- package/build/src/components/Form/FormFieldGroup/FormFieldGroup.js +22 -0
- package/build/src/components/Form/FormFieldGroup/FormFieldGroup.js.map +1 -0
- package/build/src/components/Form/FormLabelText/FormLabelText.js +22 -0
- package/build/src/components/Form/FormLabelText/FormLabelText.js.map +1 -0
- package/build/src/components/Form/Input/Input.js +81 -0
- package/build/src/components/Form/Input/Input.js.map +1 -0
- package/build/src/components/Form/PasswordInput/PasswordInput.js +126 -0
- package/build/src/components/Form/PasswordInput/PasswordInput.js.map +1 -0
- package/build/src/components/Form/Radio/Radio.js +82 -0
- package/build/src/components/Form/Radio/Radio.js.map +1 -0
- package/build/src/components/Form/RadioButton/RadioButton.js +87 -0
- package/build/src/components/Form/RadioButton/RadioButton.js.map +1 -0
- package/build/src/components/Form/Select/Select.js +162 -0
- package/build/src/components/Form/Select/Select.js.map +1 -0
- package/build/src/components/Form/Textarea/Textarea.js +39 -0
- package/build/src/components/Form/Textarea/Textarea.js.map +1 -0
- package/build/src/components/Form/Toggle/Toggle.js +86 -0
- package/build/src/components/Form/Toggle/Toggle.js.map +1 -0
- package/build/src/components/Form/ToggleButton/ToggleButton.js +80 -0
- package/build/src/components/Form/ToggleButton/ToggleButton.js.map +1 -0
- package/build/src/components/Icon/Icon.js +40 -0
- package/build/src/components/Icon/Icon.js.map +1 -0
- package/build/src/components/Inline/Inline.js +54 -0
- package/build/src/components/Inline/Inline.js.map +1 -0
- package/build/src/components/Link/Link.js +47 -0
- package/build/src/components/Link/Link.js.map +1 -0
- package/build/src/components/Logo/Logo.d.ts +8 -0
- package/build/src/components/Logo/Logo.js +15 -0
- package/build/src/components/Logo/Logo.js.map +1 -0
- package/build/src/components/MediaItem/MediaItem.js +41 -0
- package/build/src/components/MediaItem/MediaItem.js.map +1 -0
- package/build/src/components/MediaViewerBar/MediaViewerBar.js +36 -0
- package/build/src/components/MediaViewerBar/MediaViewerBar.js.map +1 -0
- package/build/src/components/Notification/Notification.js +46 -0
- package/build/src/components/Notification/Notification.js.map +1 -0
- package/build/src/components/PictogramButton/PictogramButton.js +56 -0
- package/build/src/components/PictogramButton/PictogramButton.js.map +1 -0
- package/build/src/components/ProgressBar/ProgressBar.js +15 -0
- package/build/src/components/ProgressBar/ProgressBar.js.map +1 -0
- package/build/src/components/RoundButton/RoundButton.js +53 -0
- package/build/src/components/RoundButton/RoundButton.js.map +1 -0
- package/build/src/components/SearchResult/SearchResult.js +81 -0
- package/build/src/components/SearchResult/SearchResult.js.map +1 -0
- package/build/src/components/SegmentedProgressBar/SegmentedProgressBar.js +57 -0
- package/build/src/components/SegmentedProgressBar/SegmentedProgressBar.js.map +1 -0
- package/build/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js +35 -0
- package/build/src/components/SegmentedProgressBar/SegmentedProgressBarUtil.js.map +1 -0
- package/build/src/components/Stack/Stack.js +34 -0
- package/build/src/components/Stack/Stack.js.map +1 -0
- package/build/src/components/SubThemeProvider/SubThemeProvider.js +35 -0
- package/build/src/components/SubThemeProvider/SubThemeProvider.js.map +1 -0
- package/build/src/components/Tabs/Tabs.js +53 -0
- package/build/src/components/Tabs/Tabs.js.map +1 -0
- package/build/src/components/Typography/Header/Header.js +17 -0
- package/build/src/components/Typography/Header/Header.js.map +1 -0
- package/build/src/components/Typography/StyledText/StyledText.js +74 -0
- package/build/src/components/Typography/StyledText/StyledText.js.map +1 -0
- package/build/src/components/Typography/Text/Text.js +26 -0
- package/build/src/components/Typography/Text/Text.js.map +1 -0
- package/build/src/components/Typography/TextClamped/TextClamped.js +25 -0
- package/build/src/components/Typography/TextClamped/TextClamped.js.map +1 -0
- package/build/src/components/VirtualScrollList/VirtualScrollList.js +62 -0
- package/build/src/components/VirtualScrollList/VirtualScrollList.js.map +1 -0
- package/build/src/components/VirtualScrollList/VirtualScrollListReducer.js +96 -0
- package/build/src/components/VirtualScrollList/VirtualScrollListReducer.js.map +1 -0
- package/build/src/index.d.ts +1 -0
- package/build/src/index.js +47 -0
- package/build/src/index.js.map +1 -0
- package/build/src/shared/informDeprecation.js +11 -0
- package/build/src/shared/informDeprecation.js.map +1 -0
- package/build/src/shared/mediaQueries.js +39 -0
- package/build/src/shared/mediaQueries.js.map +1 -0
- package/build/src/shared/useAutoPosition.js +52 -0
- package/build/src/shared/useAutoPosition.js.map +1 -0
- package/build/src/shared/useDocument.js +6 -0
- package/build/src/shared/useDocument.js.map +1 -0
- package/build/src/shared/useHover.js +27 -0
- package/build/src/shared/useHover.js.map +1 -0
- package/build/src/shared/useKeyboard.js +45 -0
- package/build/src/shared/useKeyboard.js.map +1 -0
- package/build/src/shared/useOutsideClick.js +31 -0
- package/build/src/shared/useOutsideClick.js.map +1 -0
- package/build/src/shared/useWindow.js +6 -0
- package/build/src/shared/useWindow.js.map +1 -0
- package/package.json +20 -6
- package/build/build-tokens/_subThemeType.d.ts +0 -1
- package/build/index.js +0 -3
- package/build/index.js.LICENSE.txt +0 -8
- package/build/index.js.map +0 -1
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { Text } from '../Typography/Text/Text.js';
|
|
4
|
+
import { Box } from '../Box/Box.js';
|
|
5
|
+
|
|
6
|
+
const StyledContainer = styled.div(() => ({
|
|
7
|
+
display: "flex",
|
|
8
|
+
justifyContent: "center",
|
|
9
|
+
alignItems: "center",
|
|
10
|
+
}));
|
|
11
|
+
const StyledDivider = styled.div(({ theme }) => ({
|
|
12
|
+
borderBottomColor: theme.values.color.divider.primary,
|
|
13
|
+
borderBottomWidth: "1px",
|
|
14
|
+
borderBottomStyle: "solid",
|
|
15
|
+
flex: "1",
|
|
16
|
+
}));
|
|
17
|
+
const StyledContent = styled.div(() => ({
|
|
18
|
+
maxWidth: "50%",
|
|
19
|
+
}));
|
|
20
|
+
function Divider({ text, "data-e2e-test-id": dataE2eTestId, }) {
|
|
21
|
+
if (text) {
|
|
22
|
+
return (React.createElement(StyledContainer, { "data-e2e-test-id": dataE2eTestId },
|
|
23
|
+
React.createElement(StyledDivider, null),
|
|
24
|
+
text && (React.createElement(StyledContent, null,
|
|
25
|
+
React.createElement(Box, { space: "xxl", vSpace: "zero" },
|
|
26
|
+
React.createElement(Text, { variant: "tertiary" }, text)))),
|
|
27
|
+
React.createElement(StyledDivider, null)));
|
|
28
|
+
}
|
|
29
|
+
return React.createElement(StyledDivider, { "data-e2e-test-id": dataE2eTestId });
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { Divider };
|
|
33
|
+
//# sourceMappingURL=Divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Divider.js","sources":["../../../../../src/components/Divider/Divider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAUA,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAwB,OAAO;AAC/D,IAAA,OAAO,EAAE,MAAM;AACf,IAAA,cAAc,EAAE,QAAQ;AACxB,IAAA,UAAU,EAAE,QAAQ;AACrB,CAAA,CAAC,CAAC,CAAC;AAEJ,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAC/C,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO;AACrD,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,iBAAiB,EAAE,OAAO;AAC1B,IAAA,IAAI,EAAE,GAAG;AACV,CAAA,CAAC,CAAC,CAAC;AAEJ,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO;AACtC,IAAA,QAAQ,EAAE,KAAK;AAChB,CAAA,CAAC,CAAC,CAAC;AAEE,SAAU,OAAO,CAAC,EACtB,IAAI,EACJ,kBAAkB,EAAE,aAAa,GACpB,EAAA;AACb,IAAA,IAAI,IAAI,EAAE;AACR,QAAA,QACE,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,EAAA,kBAAA,EAAmB,aAAa,EAAA;AAC9C,YAAA,KAAA,CAAA,aAAA,CAAC,aAAa,EAAG,IAAA,CAAA;YAChB,IAAI,KACH,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,IAAA;gBACZ,KAAC,CAAA,aAAA,CAAA,GAAG,IAAC,KAAK,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAA;oBAC5B,KAAC,CAAA,aAAA,CAAA,IAAI,EAAC,EAAA,OAAO,EAAC,UAAU,IAAE,IAAI,CAAQ,CAClC,CACQ,CACjB;AACD,YAAA,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,IAAA,CAAG,CACD,EAClB;AACH,KAAA;AACD,IAAA,OAAO,KAAC,CAAA,aAAA,CAAA,aAAa,EAAmB,EAAA,kBAAA,EAAA,aAAa,GAAI,CAAC;AAC5D;;;;"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import React, { useState, useRef, useCallback, useEffect } from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { useOutsideClick } from '../../shared/useOutsideClick.js';
|
|
4
|
+
import { useAutoPosition } from '../../shared/useAutoPosition.js';
|
|
5
|
+
import { useKeyboard } from '../../shared/useKeyboard.js';
|
|
6
|
+
import { MenuItem } from './MenuItem.js';
|
|
7
|
+
import { Button } from '../Button/Button.js';
|
|
8
|
+
import { Divider } from '../Divider/Divider.js';
|
|
9
|
+
|
|
10
|
+
const isSeperator = (item) => item === "separator";
|
|
11
|
+
const StyledContainer = styled.div(() => ({
|
|
12
|
+
position: "relative",
|
|
13
|
+
display: "inline-block",
|
|
14
|
+
}));
|
|
15
|
+
const StyledMenu = styled.div(({ theme, verticalPosition, horizontalPosition }) => (Object.assign(Object.assign({ position: "absolute", display: "inline-block", width: "fit-content", minWidth: theme.variables.size.dimension.dropdownMenu.width, right: 0, zIndex: 1, borderRadius: theme.variables.size.borderRadius.dropdown.m, boxShadow: theme.variables.shadow.card.c, backgroundColor: theme.values.color.background.layer_2, overflow: "hidden", paddingTop: theme.variables.size.spacing.xs, paddingBottom: theme.variables.size.spacing.xs }, (verticalPosition === "up"
|
|
16
|
+
? { bottom: "100%", marginBottom: theme.variables.size.spacing.xs }
|
|
17
|
+
: { top: "100%", marginTop: theme.variables.size.spacing.xs })), (horizontalPosition === "right"
|
|
18
|
+
? { right: "100%", transform: "translateX(100%)" }
|
|
19
|
+
: {
|
|
20
|
+
left: "100%",
|
|
21
|
+
transform: "translateX(-100%)",
|
|
22
|
+
}))));
|
|
23
|
+
const StyledUl = styled.ul(() => ({
|
|
24
|
+
margin: 0,
|
|
25
|
+
padding: 0,
|
|
26
|
+
}));
|
|
27
|
+
const StyledLi = styled.li(() => ({
|
|
28
|
+
margin: 0,
|
|
29
|
+
padding: 0,
|
|
30
|
+
width: "100%",
|
|
31
|
+
listStyleType: "none",
|
|
32
|
+
whiteSpace: "nowrap",
|
|
33
|
+
}));
|
|
34
|
+
function DropdownMenu({ menuItems, menuItemTextVariant, label, iconName, size, disabled, onMenuOpen, onMenuClose, privateProps: { dropdownSquareCorners }, "data-e2e-test-id": dataE2eTestId, }) {
|
|
35
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
36
|
+
const [focusIndex, setFocusIndex] = useState(-1);
|
|
37
|
+
const containerRef = useRef(null);
|
|
38
|
+
const buttonRef = useRef(null);
|
|
39
|
+
const menuRef = useRef(null);
|
|
40
|
+
// ---- Update menu open state
|
|
41
|
+
const openMenu = useCallback((e) => {
|
|
42
|
+
setIsOpen(true);
|
|
43
|
+
onMenuOpen(e);
|
|
44
|
+
}, [setIsOpen, onMenuOpen]);
|
|
45
|
+
const closeMenu = useCallback((e) => {
|
|
46
|
+
setIsOpen(false);
|
|
47
|
+
onMenuClose(e);
|
|
48
|
+
}, [setIsOpen, onMenuClose]);
|
|
49
|
+
const toggleMenu = useCallback((e) => {
|
|
50
|
+
if (!isOpen) {
|
|
51
|
+
openMenu(e);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
closeMenu(e);
|
|
55
|
+
}
|
|
56
|
+
}, [isOpen, openMenu, closeMenu]);
|
|
57
|
+
// ---- Close menu on outside click
|
|
58
|
+
useOutsideClick(containerRef, closeMenu, isOpen);
|
|
59
|
+
// ---- Close menu when the menu is not on focus
|
|
60
|
+
const blurEvent = useCallback((e) => {
|
|
61
|
+
if (!e.relatedTarget || !menuRef.current.contains(e.relatedTarget)) {
|
|
62
|
+
closeMenu(e);
|
|
63
|
+
}
|
|
64
|
+
}, [closeMenu]);
|
|
65
|
+
// ---- Close menu on item select
|
|
66
|
+
const items = menuItems.map((item) => {
|
|
67
|
+
if (isSeperator(item))
|
|
68
|
+
return item;
|
|
69
|
+
const menuItem = item;
|
|
70
|
+
return Object.assign(Object.assign({}, menuItem), { onSelect: (e) => {
|
|
71
|
+
menuItem.onSelect(e);
|
|
72
|
+
closeMenu(e);
|
|
73
|
+
} });
|
|
74
|
+
});
|
|
75
|
+
// ---- Menu position
|
|
76
|
+
const [verticalPosition, horizontalPosition] = useAutoPosition(buttonRef, menuRef, isOpen);
|
|
77
|
+
// ---- Keyboard shortcuts
|
|
78
|
+
useKeyboard({
|
|
79
|
+
"ArrowUp ArrowDown": openMenu,
|
|
80
|
+
}, buttonRef, !isOpen);
|
|
81
|
+
useKeyboard({
|
|
82
|
+
Escape: closeMenu,
|
|
83
|
+
ArrowUp: () => {
|
|
84
|
+
setFocusIndex(focusIndex - 1);
|
|
85
|
+
},
|
|
86
|
+
ArrowDown: () => {
|
|
87
|
+
setFocusIndex(focusIndex + 1);
|
|
88
|
+
},
|
|
89
|
+
}, containerRef, isOpen);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
if (menuRef && menuRef.current) {
|
|
92
|
+
const buttons = menuRef.current.querySelectorAll("button");
|
|
93
|
+
buttons[Math.abs(focusIndex) % buttons.length].focus();
|
|
94
|
+
}
|
|
95
|
+
}, [menuRef, focusIndex]);
|
|
96
|
+
return (React.createElement(StyledContainer, { "data-e2e-test-id": dataE2eTestId, ref: containerRef },
|
|
97
|
+
React.createElement("div", { ref: buttonRef },
|
|
98
|
+
React.createElement(Button, { size: size, rightIcon: iconName, variant: "tertiary", onClick: toggleMenu, disabled: disabled, privateProps: {
|
|
99
|
+
squareCorners: dropdownSquareCorners,
|
|
100
|
+
} }, label)),
|
|
101
|
+
isOpen && (React.createElement(StyledMenu, { verticalPosition: verticalPosition, horizontalPosition: horizontalPosition, ref: menuRef },
|
|
102
|
+
React.createElement(StyledUl, { role: "menu" }, items.map((item, index) => {
|
|
103
|
+
if (isSeperator(item))
|
|
104
|
+
return (React.createElement(StyledLi, { role: "separator",
|
|
105
|
+
// eslint-disable-next-line react/no-array-index-key
|
|
106
|
+
key: `menuitem-separator-${index}` },
|
|
107
|
+
React.createElement(Divider, null)));
|
|
108
|
+
const menuItem = item;
|
|
109
|
+
return (React.createElement(StyledLi, { role: "menuitem", key: `menuitem-${menuItem.label}` },
|
|
110
|
+
React.createElement(MenuItem, { onSelect: menuItem.onSelect, onBlur: blurEvent, icon: menuItem.icon, label: menuItem.label, emphasized: menuItem.emphasized, textVariant: menuItemTextVariant })));
|
|
111
|
+
}))))));
|
|
112
|
+
}
|
|
113
|
+
const defaultProps = {
|
|
114
|
+
iconName: "more-horizontal",
|
|
115
|
+
menuItems: [],
|
|
116
|
+
menuItemTextVariant: "uppercase",
|
|
117
|
+
size: "m",
|
|
118
|
+
disabled: false,
|
|
119
|
+
onMenuOpen: () => undefined,
|
|
120
|
+
onMenuClose: () => undefined,
|
|
121
|
+
privateProps: {
|
|
122
|
+
dropdownSquareCorners: false,
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
DropdownMenu.defaultProps = defaultProps;
|
|
126
|
+
|
|
127
|
+
export { DropdownMenu };
|
|
128
|
+
//# sourceMappingURL=DropdownMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenu.js","sources":["../../../../../src/components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { Icon } from '../Icon/Icon.js';
|
|
4
|
+
import { Inline } from '../Inline/Inline.js';
|
|
5
|
+
|
|
6
|
+
const StyledMenuItem = styled.button(({ theme, size, textVariant }) => (Object.assign(Object.assign(Object.assign(Object.assign({ "&[type='button']": {
|
|
7
|
+
appearance: "none",
|
|
8
|
+
MozAppearance: "none",
|
|
9
|
+
WebkitAppearance: "none",
|
|
10
|
+
}, display: "inline-block", width: "100%", border: 0, color: theme.values.color.text.button.tertiary.base, backgroundColor: theme.values.color.background.button.tertiary.base, textTransform: textVariant || "uppercase", textDecoration: "none", fontFamily: theme.variables.fontFamily.lato, fontSize: theme.variables.size.font.header.xxs, lineHeight: theme.variables.size.lineHeight.header.xxs, letterSpacing: 0.5, fontWeight: theme.variables.weight.bold, cursor: "pointer", "&:hover": {
|
|
11
|
+
backgroundColor: theme.values.color.background.button.tertiary.hover,
|
|
12
|
+
color: theme.values.color.text.button.tertiary.hover,
|
|
13
|
+
}, "&:active": {
|
|
14
|
+
backgroundColor: theme.values.color.background.button.tertiary.active,
|
|
15
|
+
color: theme.values.color.text.button.tertiary.active,
|
|
16
|
+
}, "&:disabled": {
|
|
17
|
+
backgroundColor: theme.values.color.background.button.tertiary.disabled,
|
|
18
|
+
color: theme.values.color.text.button.tertiary.disabled,
|
|
19
|
+
} }, (size === "s" && {
|
|
20
|
+
padding: theme.variables.size.spacing.xs,
|
|
21
|
+
})), (size === "m" && {
|
|
22
|
+
padding: theme.variables.size.spacing.s,
|
|
23
|
+
})), (size === "l" && {
|
|
24
|
+
padding: theme.variables.size.spacing.m,
|
|
25
|
+
})), { "&[disabled], &:disabled": {
|
|
26
|
+
pointerEvents: "none",
|
|
27
|
+
} })));
|
|
28
|
+
function MenuItem({ label, size = "m", disabled = false, onSelect, icon, emphasized = false, textVariant = "uppercase", onBlur, }) {
|
|
29
|
+
return (React.createElement(StyledMenuItem, { size: size, disabled: disabled, onClick: onSelect, textVariant: textVariant, onBlur: onBlur },
|
|
30
|
+
React.createElement(Inline, { vAlignItems: "center", alignItems: "left", space: "xxs", noWrap: true },
|
|
31
|
+
icon && React.createElement(Icon, { size: "s", name: icon, "data-testid": `menuItem-${icon}` }),
|
|
32
|
+
label,
|
|
33
|
+
emphasized && (React.createElement(Icon, { size: "s", name: "filled-dot", "data-testid": "menuItem-emphasized" })))));
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { MenuItem };
|
|
37
|
+
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sources":["../../../../../src/components/DropdownMenu/MenuItem.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { __rest } from '../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import styled from '@emotion/styled';
|
|
4
|
+
import { FormField } from '../FormField/FormField.js';
|
|
5
|
+
import { Inline } from '../../Inline/Inline.js';
|
|
6
|
+
import { Text } from '../../Typography/Text/Text.js';
|
|
7
|
+
import { Icon } from '../../Icon/Icon.js';
|
|
8
|
+
|
|
9
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
10
|
+
const StyledContainer = styled.div(({ theme }) => ({
|
|
11
|
+
userSelect: "none",
|
|
12
|
+
display: "block",
|
|
13
|
+
position: "relative",
|
|
14
|
+
width: theme.variables.size.dimension.checkbox.m,
|
|
15
|
+
height: theme.variables.size.dimension.checkbox.m,
|
|
16
|
+
boxSizing: "border-box",
|
|
17
|
+
}));
|
|
18
|
+
const StyledRealInput = styled.input(() => ({
|
|
19
|
+
opacity: 0,
|
|
20
|
+
cursor: "pointer",
|
|
21
|
+
height: 0,
|
|
22
|
+
width: 0,
|
|
23
|
+
position: "absolute",
|
|
24
|
+
}));
|
|
25
|
+
const StyledFakeInput = styled.span(({ theme }) => ({
|
|
26
|
+
boxSizing: "border-box",
|
|
27
|
+
width: theme.variables.size.dimension.checkbox.m,
|
|
28
|
+
height: theme.variables.size.dimension.checkbox.m,
|
|
29
|
+
borderRadius: theme.variables.size.borderRadius.checkbox.m,
|
|
30
|
+
border: "2px solid",
|
|
31
|
+
position: "absolute",
|
|
32
|
+
top: 0,
|
|
33
|
+
left: 0,
|
|
34
|
+
display: "flex",
|
|
35
|
+
alignItems: "center",
|
|
36
|
+
justifyContent: "center",
|
|
37
|
+
cursor: "pointer",
|
|
38
|
+
background: theme.values.color.background.checkbox.default,
|
|
39
|
+
color: theme.values.color.icon.checkbox.default,
|
|
40
|
+
borderColor: theme.values.color.border.checkbox.default,
|
|
41
|
+
"& svg": {
|
|
42
|
+
opacity: 0,
|
|
43
|
+
},
|
|
44
|
+
"&: hover": {
|
|
45
|
+
borderColor: theme.values.color.border.checkbox.defaultHover,
|
|
46
|
+
},
|
|
47
|
+
"input: focus-visible + &": {
|
|
48
|
+
outlineWidth: "2px",
|
|
49
|
+
outlineStyle: "solid",
|
|
50
|
+
outlineColor: "Highlight",
|
|
51
|
+
},
|
|
52
|
+
"@media (-webkit-min-device-pixel-ratio:0)": {
|
|
53
|
+
"input: focus-visible + &": {
|
|
54
|
+
outlineColor: "-webkit-focus-ring-color",
|
|
55
|
+
outlineStyle: "auto",
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
"input:checked + & ": {
|
|
59
|
+
border: 0,
|
|
60
|
+
background: theme.values.color.background.checkbox.checked,
|
|
61
|
+
"&:hover": {
|
|
62
|
+
background: theme.values.color.background.checkbox.checkedHover,
|
|
63
|
+
},
|
|
64
|
+
svg: {
|
|
65
|
+
opacity: 1,
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
"input:disabled + &": {
|
|
69
|
+
pointerEvents: "none",
|
|
70
|
+
},
|
|
71
|
+
}));
|
|
72
|
+
function Checkbox(_a) {
|
|
73
|
+
var { name, value = "", checked = undefined, label = "", labelHint = "", disabled = false, onChange, onClick, onBlur, onFocus, "data-e2e-test-id": dataE2eTestId } = _a, rest = __rest(_a, ["name", "value", "checked", "label", "labelHint", "disabled", "onChange", "onClick", "onBlur", "onFocus", "data-e2e-test-id"]);
|
|
74
|
+
return (React.createElement(FormField, Object.assign({ "data-e2e-test-id": dataE2eTestId }, rest, { disabled: disabled }),
|
|
75
|
+
React.createElement(Inline, { space: "m", vAlignItems: "top", noWrap: true },
|
|
76
|
+
React.createElement(StyledContainer, null,
|
|
77
|
+
React.createElement(StyledRealInput, { type: "checkbox", name: name, value: value, checked: checked, disabled: disabled, onChange: onChange, onClick: onClick, onBlur: onBlur, onFocus: onFocus }),
|
|
78
|
+
React.createElement(StyledFakeInput, null,
|
|
79
|
+
React.createElement(Icon, { size: "s", name: "check" }))),
|
|
80
|
+
label && (React.createElement("div", null,
|
|
81
|
+
typeof label === "string" ? React.createElement(Text, null, label) : label,
|
|
82
|
+
labelHint && (React.createElement(Text, { variant: "secondary", size: "s" }, labelHint)))))));
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { Checkbox };
|
|
86
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sources":["../../../../../../src/components/Form/Checkbox/Checkbox.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Stack } from '../../Stack/Stack.js';
|
|
3
|
+
import { Text } from '../../Typography/Text/Text.js';
|
|
4
|
+
|
|
5
|
+
function FormErrorMessages({ messages = [], "data-e2e-test-id": dataE2eTestId, }) {
|
|
6
|
+
return (React.createElement(Stack, { "data-e2e-test-id": dataE2eTestId, space: "zero" }, messages.map((message) => (React.createElement(Text, { size: "xs", key: message, variant: "error" }, message)))));
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { FormErrorMessages };
|
|
10
|
+
//# sourceMappingURL=FormErrorMessages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormErrorMessages.js","sources":["../../../../../../src/components/Form/FormErrorMessages/FormErrorMessages.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AASM,SAAU,iBAAiB,CAAC,EAChC,QAAQ,GAAG,EAAE,EACb,kBAAkB,EAAE,aAAa,GACV,EAAA;AACvB,IAAA,QACE,KAAC,CAAA,aAAA,CAAA,KAAK,wBAAmB,aAAa,EAAE,KAAK,EAAC,MAAM,EACjD,EAAA,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,MACpB,KAAC,CAAA,aAAA,CAAA,IAAI,IAAC,IAAI,EAAC,IAAI,EAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAC,OAAO,IAC1C,OAAO,CACH,CACR,CAAC,CACI,EACR;AACJ;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { Stack } from '../../Stack/Stack.js';
|
|
4
|
+
import { Text } from '../../Typography/Text/Text.js';
|
|
5
|
+
import { FormErrorMessages } from '../FormErrorMessages/FormErrorMessages.js';
|
|
6
|
+
import { FormLabelText } from '../FormLabelText/FormLabelText.js';
|
|
7
|
+
|
|
8
|
+
/* eslint-disable jsx-a11y/label-has-associated-control */
|
|
9
|
+
const StyledFormField = styled.div(({ theme, disabled }) => disabled &&
|
|
10
|
+
`
|
|
11
|
+
opacity: ${theme.variables.opacity.form.disabled}
|
|
12
|
+
`);
|
|
13
|
+
function FormField({ label = "", labelHint = "", hint = "", errorMessages = [], disabled = false, children, "data-e2e-test-id": dataE2eTestId, }) {
|
|
14
|
+
const validErrorMessages = errorMessages.filter((message) => message);
|
|
15
|
+
return (React.createElement(StyledFormField, { "data-e2e-test-id": dataE2eTestId, disabled: disabled },
|
|
16
|
+
React.createElement(Stack, { space: "xxs" },
|
|
17
|
+
React.createElement("label", null,
|
|
18
|
+
React.createElement(Stack, { space: "xs" },
|
|
19
|
+
label && (React.createElement(FormLabelText, { labelHint: labelHint }, label)),
|
|
20
|
+
children)),
|
|
21
|
+
hint && !validErrorMessages.length && React.createElement(Text, { size: "xs" }, hint),
|
|
22
|
+
!!validErrorMessages.length && (React.createElement(FormErrorMessages, { messages: validErrorMessages })))));
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { FormField };
|
|
26
|
+
//# sourceMappingURL=FormField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormField.js","sources":["../../../../../../src/components/Form/FormField/FormField.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAAA;AAuBA,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAChC,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAClB,QAAQ;AACR,IAAA,CAAA;AACW,aAAA,EAAA,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAA;AACnD,CAAA,CACA,CAAC;AAEc,SAAA,SAAS,CAAC,EACxB,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,IAAI,GAAG,EAAE,EACT,aAAa,GAAG,EAAE,EAClB,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,kBAAkB,EAAE,aAAa,GACT,EAAA;AACxB,IAAA,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACtE,QACE,oBAAC,eAAe,EAAA,EAAA,kBAAA,EAAmB,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAA;AAClE,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,KAAK,EAAA;AAChB,YAAA,KAAA,CAAA,aAAA,CAAA,OAAA,EAAA,IAAA;AACE,gBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,IAAI,EAAA;oBACd,KAAK,KACJ,KAAA,CAAA,aAAA,CAAC,aAAa,EAAA,EAAC,SAAS,EAAE,SAAS,EAAA,EAAG,KAAK,CAAiB,CAC7D;AAEA,oBAAA,QAAQ,CACH,CACF;AACP,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,EAAE,IAAI,CAAQ;AACnE,YAAA,CAAC,CAAC,kBAAkB,CAAC,MAAM,KAC1B,KAAC,CAAA,aAAA,CAAA,iBAAiB,EAAC,EAAA,QAAQ,EAAE,kBAAkB,EAAA,CAAI,CACpD,CACK,CACQ,EAClB;AACJ;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from '@emotion/styled';
|
|
3
|
+
import { Stack } from '../../Stack/Stack.js';
|
|
4
|
+
import { Text } from '../../Typography/Text/Text.js';
|
|
5
|
+
import { FormErrorMessages } from '../FormErrorMessages/FormErrorMessages.js';
|
|
6
|
+
import { FormLabelText } from '../FormLabelText/FormLabelText.js';
|
|
7
|
+
|
|
8
|
+
const StyledDiv = styled.div(({ theme, disabled }) => ({
|
|
9
|
+
opacity: disabled ? theme.variables.opacity.form.disabled : "",
|
|
10
|
+
}));
|
|
11
|
+
function FormFieldGroup({ children, label = "", labelHint = "", errorMessages = [], hint = "", disabled = false, "data-e2e-test-id": dataE2eTestId, }) {
|
|
12
|
+
const validErrorMessages = errorMessages.filter((message) => message);
|
|
13
|
+
return (React.createElement(StyledDiv, { disabled: disabled, "data-e2e-test-id": dataE2eTestId },
|
|
14
|
+
React.createElement(Stack, { space: "m" },
|
|
15
|
+
label && React.createElement(FormLabelText, { labelHint: labelHint }, label),
|
|
16
|
+
children,
|
|
17
|
+
hint && !validErrorMessages.length && React.createElement(Text, { size: "xs" }, hint),
|
|
18
|
+
!!validErrorMessages.length && (React.createElement(FormErrorMessages, { messages: validErrorMessages })))));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { FormFieldGroup };
|
|
22
|
+
//# sourceMappingURL=FormFieldGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormFieldGroup.js","sources":["../../../../../../src/components/Form/FormFieldGroup/FormFieldGroup.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAkBA,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,CAC1B,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM;AACxB,IAAA,OAAO,EAAE,QAAQ,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE;AAC/D,CAAA,CAAC,CACH,CAAC;AAEc,SAAA,cAAc,CAAC,EAC7B,QAAQ,EACR,KAAK,GAAG,EAAE,EACV,SAAS,GAAG,EAAE,EACd,aAAa,GAAG,EAAE,EAClB,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,KAAK,EAChB,kBAAkB,EAAE,aAAa,GACb,EAAA;AACpB,IAAA,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;IACtE,QACE,oBAAC,SAAS,EAAA,EAAC,QAAQ,EAAE,QAAQ,sBAAoB,aAAa,EAAA;AAC5D,QAAA,KAAA,CAAA,aAAA,CAAC,KAAK,EAAA,EAAC,KAAK,EAAC,GAAG,EAAA;YACb,KAAK,IAAI,oBAAC,aAAa,EAAA,EAAC,SAAS,EAAE,SAAS,EAAG,EAAA,KAAK,CAAiB;YACrE,QAAQ;AACR,YAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,IAAI,KAAA,CAAA,aAAA,CAAC,IAAI,EAAA,EAAC,IAAI,EAAC,IAAI,EAAA,EAAE,IAAI,CAAQ;AACnE,YAAA,CAAC,CAAC,kBAAkB,CAAC,MAAM,KAC1B,KAAC,CAAA,aAAA,CAAA,iBAAiB,EAAC,EAAA,QAAQ,EAAE,kBAAkB,EAAA,CAAI,CACpD,CACK,CACE,EACZ;AACJ;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import styled from '@emotion/styled';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Inline } from '../../Inline/Inline.js';
|
|
4
|
+
import { H6 } from '../../Typography/Header/Header.js';
|
|
5
|
+
|
|
6
|
+
const StyledLabelHint = styled.span(({ theme }) => ({
|
|
7
|
+
color: theme.values.color.text.secondary,
|
|
8
|
+
textTransform: "uppercase",
|
|
9
|
+
fontWeight: theme.variables.weight.normal,
|
|
10
|
+
}));
|
|
11
|
+
function FormLabelText({ children, labelHint = "", "data-e2e-test-id": dataE2eTestId, }) {
|
|
12
|
+
return (React.createElement(Inline, { "data-e2e-test-id": dataE2eTestId, space: "xxs", vAlignItems: "bottom" },
|
|
13
|
+
children && React.createElement(H6, null, children),
|
|
14
|
+
children && labelHint && (React.createElement(H6, null,
|
|
15
|
+
React.createElement(StyledLabelHint, null,
|
|
16
|
+
"(",
|
|
17
|
+
labelHint,
|
|
18
|
+
")")))));
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export { FormLabelText };
|
|
22
|
+
//# sourceMappingURL=FormLabelText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormLabelText.js","sources":["../../../../../../src/components/Form/FormLabelText/FormLabelText.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAKA,MAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM;IAClD,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS;AACxC,IAAA,aAAa,EAAE,WAAW;AAC1B,IAAA,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM;AAC1C,CAAA,CAAC,CAAC,CAAC;AAQY,SAAA,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GAAG,EAAE,EACd,kBAAkB,EAAE,aAAa,GACd,EAAA;AACnB,IAAA,QACE,KAAA,CAAA,aAAA,CAAC,MAAM,EAAA,EAAA,kBAAA,EAAmB,aAAa,EAAE,KAAK,EAAC,KAAK,EAAC,WAAW,EAAC,QAAQ,EAAA;AACtE,QAAA,QAAQ,IAAI,KAAA,CAAA,aAAA,CAAC,EAAE,EAAA,IAAA,EAAE,QAAQ,CAAM;AAC/B,QAAA,QAAQ,IAAI,SAAS,KACpB,oBAAC,EAAE,EAAA,IAAA;AACD,YAAA,KAAA,CAAA,aAAA,CAAC,eAAe,EAAA,IAAA;;gBAAG,SAAS;oBAAoB,CAC7C,CACN,CACM,EACT;AACJ;;;;"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { __rest } from '../../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import React, { forwardRef } from 'react';
|
|
3
|
+
import styled from '@emotion/styled';
|
|
4
|
+
import { Icon } from '../../Icon/Icon.js';
|
|
5
|
+
import { FormField } from '../FormField/FormField.js';
|
|
6
|
+
import { Text } from '../../Typography/Text/Text.js';
|
|
7
|
+
|
|
8
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
9
|
+
const StyledContainer = styled.div(() => ({
|
|
10
|
+
width: "100%",
|
|
11
|
+
display: "flex",
|
|
12
|
+
alignItems: "center",
|
|
13
|
+
flexDirection: "row",
|
|
14
|
+
position: "relative",
|
|
15
|
+
zIndex: 1,
|
|
16
|
+
}));
|
|
17
|
+
const StyledIconContainer = styled.div(({ theme }) => ({
|
|
18
|
+
position: "absolute",
|
|
19
|
+
right: theme.variables.size.spacing.xs,
|
|
20
|
+
}));
|
|
21
|
+
const handleBorderColor = (theme, isTransparent, hasError) => {
|
|
22
|
+
if (isTransparent)
|
|
23
|
+
return "transparent";
|
|
24
|
+
if (hasError)
|
|
25
|
+
return theme.values.color.border.input.error;
|
|
26
|
+
return theme.values.color.border.input.default;
|
|
27
|
+
};
|
|
28
|
+
const handleBackgroundColor = (theme, isTransparent) => {
|
|
29
|
+
if (isTransparent)
|
|
30
|
+
return "transparent";
|
|
31
|
+
return theme.values.color.background.input.default;
|
|
32
|
+
};
|
|
33
|
+
const handleRightPadding = (theme, icon) => {
|
|
34
|
+
if (icon !== "")
|
|
35
|
+
return `calc(${theme.variables.size.spacing.xs} + ${theme.variables.size.font.icon.m})`;
|
|
36
|
+
return "";
|
|
37
|
+
};
|
|
38
|
+
const StyledInput = styled.input(({ theme, privateProps, hasError, icon }) => ({
|
|
39
|
+
fontFamily: theme.variables.fontFamily.lato,
|
|
40
|
+
fontSize: theme.variables.size.font.text.m,
|
|
41
|
+
lineHeight: theme.variables.size.lineHeight.text.m,
|
|
42
|
+
borderRadius: theme.variables.size.borderRadius.input.s,
|
|
43
|
+
borderWidth: "1px",
|
|
44
|
+
borderStyle: "solid",
|
|
45
|
+
width: "100%",
|
|
46
|
+
padding: theme.variables.size.spacing.xs,
|
|
47
|
+
boxSizing: "border-box",
|
|
48
|
+
color: theme.values.color.text.secondary,
|
|
49
|
+
borderColor: handleBorderColor(theme, privateProps === null || privateProps === void 0 ? void 0 : privateProps.isTransparent, hasError),
|
|
50
|
+
backgroundColor: handleBackgroundColor(theme, privateProps === null || privateProps === void 0 ? void 0 : privateProps.isTransparent),
|
|
51
|
+
"&.error": {
|
|
52
|
+
borderColor: theme.values.color.border.input.error,
|
|
53
|
+
},
|
|
54
|
+
"& svg": {
|
|
55
|
+
pointerEvents: "none",
|
|
56
|
+
},
|
|
57
|
+
"&::placeholder": {
|
|
58
|
+
color: theme.values.color.text.placeholder,
|
|
59
|
+
opacity: 1,
|
|
60
|
+
},
|
|
61
|
+
"&:-ms-input-placeholder": {
|
|
62
|
+
color: theme.values.color.text.placeholder,
|
|
63
|
+
},
|
|
64
|
+
"&::-ms-input-placeholder": {
|
|
65
|
+
color: theme.values.color.text.placeholder,
|
|
66
|
+
},
|
|
67
|
+
paddingRight: handleRightPadding(theme, icon),
|
|
68
|
+
}));
|
|
69
|
+
const InputRaw = forwardRef(({ name, value, placeholder, hasError = false, disabled, onChange, onClick, onBlur, onFocus, type = "text", icon, areaLabel, tabIndex, autoComplete = "on", privateProps = {}, }, ref) => (React.createElement(StyledContainer, null,
|
|
70
|
+
React.createElement(StyledInput, { type: type, value: value, placeholder: placeholder, name: name, disabled: disabled, onClick: onClick, onChange: onChange, onBlur: onBlur, onFocus: onFocus, "aria-label": areaLabel, ref: ref, tabIndex: tabIndex, autoComplete: autoComplete, hasError: hasError, privateProps: privateProps }),
|
|
71
|
+
icon && (React.createElement(StyledIconContainer, null,
|
|
72
|
+
React.createElement(Text, { as: "span", variant: "tertiary" },
|
|
73
|
+
React.createElement(Icon, { name: icon, size: "m" })))))));
|
|
74
|
+
function Input(_a) {
|
|
75
|
+
var { name, value, placeholder, hasError = false, onChange, onClick, onBlur, onFocus, type = "text", icon, tabIndex, areaLabel, autoComplete = "on", privateProps = {} } = _a, rest = __rest(_a, ["name", "value", "placeholder", "hasError", "onChange", "onClick", "onBlur", "onFocus", "type", "icon", "tabIndex", "areaLabel", "autoComplete", "privateProps"]);
|
|
76
|
+
return (React.createElement(FormField, Object.assign({}, rest),
|
|
77
|
+
React.createElement(InputRaw, { name: name, value: value, type: type, icon: icon, placeholder: placeholder, hasError: hasError, disabled: rest.disabled, onChange: onChange, onBlur: onBlur, onFocus: onFocus, onClick: onClick, tabIndex: tabIndex, areaLabel: areaLabel, autoComplete: autoComplete, privateProps: privateProps })));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { Input, InputRaw };
|
|
81
|
+
//# sourceMappingURL=Input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../../../../../src/components/Form/Input/Input.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|