@dnanpm/styleguide 1.9.0 → 2.0.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/build/cjs/components/Accordion/Accordion.d.ts +27 -15
- package/build/cjs/components/Accordion/Accordion.js +29 -12
- package/build/cjs/components/Accordion/AccordionItem.d.ts +14 -29
- package/build/cjs/components/Accordion/AccordionItem.js +29 -52
- package/build/cjs/components/AmountSelector/AmountSelector.js +3 -4
- package/build/cjs/components/Buttons/ButtonBasicStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/ButtonBasicStyles.js +10 -14
- package/build/cjs/components/Buttons/ButtonDefault.js +6 -2
- package/build/cjs/components/Buttons/ButtonIconPrimaryStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/ButtonIconStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/ButtonPrimary.js +6 -2
- package/build/cjs/components/Buttons/ButtonPrimaryStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/ButtonSecondary.js +7 -3
- package/build/cjs/components/Buttons/ButtonSecondaryStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/ButtonTertiary.js +7 -3
- package/build/cjs/components/Buttons/ButtonTertiaryStyles.d.ts +37 -30
- package/build/cjs/components/Buttons/CloseButton.d.ts +37 -30
- package/build/cjs/components/Card/Card.js +4 -2
- package/build/cjs/components/Card/CardRow.js +3 -3
- package/build/cjs/components/Checkbox/Checkbox.d.ts +38 -12
- package/build/cjs/components/Checkbox/Checkbox.js +37 -70
- package/build/cjs/components/DnaLogo/DnaLogo.d.ts +37 -40
- package/build/cjs/components/Footer/Components/FooterComponents.js +3 -2
- package/build/cjs/components/Helper/Helper.js +2 -1
- package/build/cjs/components/Icon/Icon.d.ts +39 -30
- package/build/cjs/components/Icon/Icons.d.ts +1 -4
- package/build/cjs/components/Icon/Icons.js +3 -7
- package/build/cjs/components/Input/Input.d.ts +102 -13
- package/build/cjs/components/Input/Input.js +57 -58
- package/build/cjs/components/Label/Label.js +2 -3
- package/build/cjs/components/LabelText/LabelText.d.ts +38 -30
- package/build/cjs/components/LabelText/LabelText.js +1 -1
- package/build/cjs/components/MainNavigation/ChildComponents/BusinessMenu.js +1 -1
- package/build/cjs/components/MainNavigation/ChildComponents/DesktopMenu.js +10 -4
- package/build/cjs/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +37 -30
- package/build/cjs/components/MainNavigation/ChildComponents/LanguageSelector.js +2 -2
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +37 -30
- package/build/cjs/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +1 -4
- package/build/cjs/components/MainNavigation/ChildComponents/MobileMenu.js +1 -1
- package/build/cjs/components/MainNavigation/ChildComponents/Ribbon.js +1 -1
- package/build/cjs/components/MainNavigation/MainNavigation.js +1 -1
- package/build/cjs/components/MainNavigation/globalNavStyles.d.ts +148 -120
- package/build/cjs/components/Notification/Notification.d.ts +1 -5
- package/build/cjs/components/Notification/Notification.js +1 -4
- package/build/cjs/components/NotificationBadge/NotificationBadge.d.ts +37 -30
- package/build/cjs/components/NotificationBadge/NotificationBadge.js +1 -1
- package/build/cjs/components/PixelLoader/PixelLoaderStyles.d.ts +74 -60
- package/build/cjs/components/ProgressIndicator/ProgressIndicator.js +3 -3
- package/build/cjs/components/RadioButton/RadioButton.d.ts +33 -17
- package/build/cjs/components/RadioButton/RadioButton.js +12 -57
- package/build/cjs/components/ReadMore/ReadMore.js +2 -7
- package/build/cjs/components/Ribbon/Ribbon.js +2 -2
- package/build/cjs/components/Search/Search.js +2 -1
- package/build/cjs/components/SecondaryNavigation/SecondaryNavigation.js +2 -2
- package/build/cjs/components/Selectbox/Selectbox.d.ts +102 -13
- package/build/cjs/components/Selectbox/Selectbox.js +40 -49
- package/build/cjs/components/Tabs/Tab.d.ts +37 -30
- package/build/cjs/components/Tabs/Tab.js +3 -2
- package/build/cjs/components/Tabs/Tabs.d.ts +40 -30
- package/build/cjs/components/Textarea/Textarea.js +4 -3
- package/build/cjs/components/Tooltip/Tooltip.d.ts +37 -30
- package/build/cjs/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +74 -60
- package/build/cjs/components/index.d.ts +3 -2
- package/build/cjs/index.js +2 -2
- package/build/cjs/themes/globalStyles.d.ts +174 -60
- package/build/cjs/themes/globalStyles.js +132 -142
- package/build/cjs/themes/styled.d.ts +259 -210
- package/build/cjs/themes/theme.d.ts +37 -30
- package/build/cjs/themes/themeComponents/buttons.d.ts +1 -6
- package/build/cjs/themes/themeComponents/buttons.js +1 -6
- package/build/cjs/themes/themeComponents/fontFamily.d.ts +3 -1
- package/build/cjs/themes/themeComponents/fontFamily.js +3 -1
- package/build/cjs/themes/themeComponents/fontSize.d.ts +18 -15
- package/build/cjs/themes/themeComponents/fontSize.js +20 -14
- package/build/cjs/themes/themeComponents/lineHeight.d.ts +19 -12
- package/build/cjs/themes/themeComponents/lineHeight.js +21 -11
- package/build/es/components/Accordion/Accordion.d.ts +27 -15
- package/build/es/components/Accordion/Accordion.js +29 -12
- package/build/es/components/Accordion/AccordionItem.d.ts +14 -29
- package/build/es/components/Accordion/AccordionItem.js +31 -54
- package/build/es/components/AmountSelector/AmountSelector.js +3 -4
- package/build/es/components/Buttons/ButtonBasicStyles.d.ts +37 -30
- package/build/es/components/Buttons/ButtonBasicStyles.js +10 -14
- package/build/es/components/Buttons/ButtonDefault.js +6 -2
- package/build/es/components/Buttons/ButtonIconPrimaryStyles.d.ts +37 -30
- package/build/es/components/Buttons/ButtonIconStyles.d.ts +37 -30
- package/build/es/components/Buttons/ButtonPrimary.js +6 -2
- package/build/es/components/Buttons/ButtonPrimaryStyles.d.ts +37 -30
- package/build/es/components/Buttons/ButtonSecondary.js +7 -3
- package/build/es/components/Buttons/ButtonSecondaryStyles.d.ts +37 -30
- package/build/es/components/Buttons/ButtonTertiary.js +7 -3
- package/build/es/components/Buttons/ButtonTertiaryStyles.d.ts +37 -30
- package/build/es/components/Buttons/CloseButton.d.ts +37 -30
- package/build/es/components/Card/Card.js +4 -2
- package/build/es/components/Card/CardRow.js +3 -3
- package/build/es/components/Checkbox/Checkbox.d.ts +38 -12
- package/build/es/components/Checkbox/Checkbox.js +39 -72
- package/build/es/components/DnaLogo/DnaLogo.d.ts +37 -40
- package/build/es/components/Footer/Components/FooterComponents.js +3 -2
- package/build/es/components/Helper/Helper.js +2 -1
- package/build/es/components/Icon/Icon.d.ts +39 -30
- package/build/es/components/Icon/Icons.d.ts +1 -4
- package/build/es/components/Icon/Icons.js +3 -7
- package/build/es/components/Input/Input.d.ts +102 -13
- package/build/es/components/Input/Input.js +57 -58
- package/build/es/components/Label/Label.js +2 -3
- package/build/es/components/LabelText/LabelText.d.ts +38 -30
- package/build/es/components/LabelText/LabelText.js +1 -1
- package/build/es/components/MainNavigation/ChildComponents/BusinessMenu.js +1 -1
- package/build/es/components/MainNavigation/ChildComponents/DesktopMenu.js +10 -4
- package/build/es/components/MainNavigation/ChildComponents/HeaderNavigationElements.d.ts +37 -30
- package/build/es/components/MainNavigation/ChildComponents/LanguageSelector.js +2 -2
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.d.ts +37 -30
- package/build/es/components/MainNavigation/ChildComponents/MainNavTooltipMenuExportedStyles.js +2 -5
- package/build/es/components/MainNavigation/ChildComponents/MobileMenu.js +1 -1
- package/build/es/components/MainNavigation/ChildComponents/Ribbon.js +1 -1
- package/build/es/components/MainNavigation/MainNavigation.js +1 -1
- package/build/es/components/MainNavigation/globalNavStyles.d.ts +148 -120
- package/build/es/components/Notification/Notification.d.ts +1 -5
- package/build/es/components/Notification/Notification.js +1 -4
- package/build/es/components/NotificationBadge/NotificationBadge.d.ts +37 -30
- package/build/es/components/NotificationBadge/NotificationBadge.js +1 -1
- package/build/es/components/PixelLoader/PixelLoaderStyles.d.ts +74 -60
- package/build/es/components/ProgressIndicator/ProgressIndicator.js +3 -3
- package/build/es/components/RadioButton/RadioButton.d.ts +33 -17
- package/build/es/components/RadioButton/RadioButton.js +12 -57
- package/build/es/components/ReadMore/ReadMore.js +2 -7
- package/build/es/components/Ribbon/Ribbon.js +2 -2
- package/build/es/components/Search/Search.js +2 -1
- package/build/es/components/SecondaryNavigation/SecondaryNavigation.js +2 -2
- package/build/es/components/Selectbox/Selectbox.d.ts +102 -13
- package/build/es/components/Selectbox/Selectbox.js +40 -49
- package/build/es/components/Tabs/Tab.d.ts +37 -30
- package/build/es/components/Tabs/Tab.js +3 -2
- package/build/es/components/Tabs/Tabs.d.ts +40 -30
- package/build/es/components/Textarea/Textarea.js +4 -3
- package/build/es/components/Tooltip/Tooltip.d.ts +37 -30
- package/build/es/components/TooltipMenu/ChildComponents/TooltipMenuExportedStyles.d.ts +74 -60
- package/build/es/components/index.d.ts +3 -2
- package/build/es/index.js +1 -1
- package/build/es/themes/globalStyles.d.ts +174 -60
- package/build/es/themes/globalStyles.js +134 -145
- package/build/es/themes/styled.d.ts +259 -210
- package/build/es/themes/theme.d.ts +37 -30
- package/build/es/themes/themeComponents/buttons.d.ts +1 -6
- package/build/es/themes/themeComponents/buttons.js +1 -6
- package/build/es/themes/themeComponents/fontFamily.d.ts +3 -1
- package/build/es/themes/themeComponents/fontFamily.js +3 -1
- package/build/es/themes/themeComponents/fontSize.d.ts +18 -15
- package/build/es/themes/themeComponents/fontSize.js +20 -14
- package/build/es/themes/themeComponents/lineHeight.d.ts +19 -12
- package/build/es/themes/themeComponents/lineHeight.js +21 -11
- package/package.json +2 -2
- package/build/cjs/components/Accordion/index.d.ts +0 -2
- package/build/es/components/Accordion/index.d.ts +0 -2
|
@@ -1,38 +1,50 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
interface
|
|
2
|
+
export interface Props {
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
5
|
-
|
|
6
|
-
className?: string;
|
|
7
|
-
/**
|
|
8
|
-
* The actual content
|
|
4
|
+
* Content of Accordion
|
|
5
|
+
*
|
|
9
6
|
* @type AccordionItem
|
|
10
7
|
*/
|
|
11
8
|
children: React.ReactNode;
|
|
12
|
-
/** Allow multiple accordion items to be open
|
|
13
|
-
* @default true
|
|
14
|
-
*/
|
|
15
|
-
allowMultiOpen?: boolean;
|
|
16
9
|
/**
|
|
17
|
-
*
|
|
10
|
+
* Allows only one AccordionItem to be opened when set to true
|
|
11
|
+
*
|
|
18
12
|
* @default false
|
|
19
13
|
*/
|
|
20
|
-
|
|
14
|
+
autoCollapsible?: boolean;
|
|
21
15
|
/**
|
|
22
|
-
*
|
|
16
|
+
* Allows to remove item title highlight when it is in expanded state
|
|
17
|
+
* Removes also highlight of CSS :hover and :active states
|
|
18
|
+
*
|
|
23
19
|
* @default true
|
|
24
20
|
*/
|
|
25
21
|
highlightSelected?: boolean;
|
|
26
22
|
/**
|
|
27
|
-
*
|
|
23
|
+
* Allows to expand or collapse the component
|
|
24
|
+
*
|
|
25
|
+
* @default false
|
|
26
|
+
*/
|
|
27
|
+
isExpanded?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Display close button in the item content
|
|
30
|
+
*
|
|
31
|
+
* @default false
|
|
32
|
+
*/
|
|
33
|
+
hasCloseButton?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Label to show for the open icon for accessibility
|
|
28
36
|
*/
|
|
29
37
|
openLabel?: string;
|
|
30
38
|
/**
|
|
31
39
|
* Label to show for the close button in the content
|
|
32
40
|
*/
|
|
33
41
|
closeLabel?: string;
|
|
42
|
+
/**
|
|
43
|
+
* Allows to pass a custom className
|
|
44
|
+
*/
|
|
45
|
+
className?: string;
|
|
34
46
|
}
|
|
35
47
|
/** @visibleName Accordion */
|
|
36
|
-
declare const Accordion: ({
|
|
48
|
+
declare const Accordion: ({ autoCollapsible, highlightSelected, hasCloseButton, ...props }: Props) => JSX.Element;
|
|
37
49
|
/** @component */
|
|
38
50
|
export default Accordion;
|
|
@@ -10,26 +10,43 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
10
10
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
11
11
|
|
|
12
12
|
/** @visibleName Accordion */
|
|
13
|
-
const Accordion = ({
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
13
|
+
const Accordion = ({ autoCollapsible = false, highlightSelected = true, hasCloseButton = false, ...props }) => {
|
|
14
|
+
const initialItemList = {};
|
|
15
|
+
const getAccordionItemId = (index, title) => `${title.replace(/\s+/g, '')}-${index}`;
|
|
16
|
+
if (props.isExpanded) {
|
|
17
|
+
React__default['default'].Children.map(props.children, (child, index) => {
|
|
18
|
+
if (React__default['default'].isValidElement(child) && child.type === AccordionItem['default']) {
|
|
19
|
+
initialItemList[getAccordionItemId(index, child.props.title)] = Boolean(props.isExpanded);
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
const [itemList, setItemList] = React.useState(initialItemList);
|
|
24
|
+
const toggleExpanded = (currentItemId) => {
|
|
25
|
+
const currentItemState = itemList[currentItemId];
|
|
26
|
+
setItemList({
|
|
27
|
+
...(autoCollapsible ? {} : itemList),
|
|
28
|
+
[currentItemId]: !currentItemState,
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
const handleClick = (e) => {
|
|
32
|
+
toggleExpanded(e.currentTarget.parentElement.id);
|
|
33
|
+
};
|
|
34
|
+
const handleKeyDown = (e) => {
|
|
35
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
36
|
+
e.preventDefault();
|
|
37
|
+
toggleExpanded(e.currentTarget.parentElement.id);
|
|
18
38
|
}
|
|
19
|
-
setActiveItem(index);
|
|
20
39
|
};
|
|
21
|
-
|
|
22
|
-
const accordionItems = React__default['default'].Children.map(children, (child, index) => {
|
|
40
|
+
const accordionItems = React__default['default'].Children.map(props.children, (child, index) => {
|
|
23
41
|
if (React__default['default'].isValidElement(child) && child.type === AccordionItem['default']) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
onOpen: () => handleItemOpen(index) }, child.props), child.props.children));
|
|
42
|
+
const id = getAccordionItemId(index, child.props.title);
|
|
43
|
+
return (React__default['default'].createElement(AccordionItem['default'], Object.assign({ id: id, key: id, title: child.props.title, isExpanded: itemList[id], hasCloseButton: hasCloseButton, highlightSelected: highlightSelected, openLabel: props.openLabel, closeLabel: props.closeLabel, onClick: handleClick, onKeyDown: handleKeyDown }, child.props), child.props.children));
|
|
27
44
|
}
|
|
28
45
|
});
|
|
29
46
|
if (!accordionItems) {
|
|
30
47
|
return React__default['default'].createElement(React__default['default'].Fragment, null);
|
|
31
48
|
}
|
|
32
|
-
return React__default['default'].createElement("div", { className: className }, accordionItems);
|
|
49
|
+
return React__default['default'].createElement("div", { className: props.className }, accordionItems);
|
|
33
50
|
};
|
|
34
51
|
|
|
35
52
|
exports.default = Accordion;
|
|
@@ -1,45 +1,30 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
* Allows to pass a custom className
|
|
5
|
-
*/
|
|
6
|
-
className?: string;
|
|
7
|
-
/**
|
|
8
|
-
* The actual content
|
|
9
|
-
*/
|
|
10
|
-
children?: React.ReactNode;
|
|
2
|
+
import { Props as AccordionProps } from './Accordion';
|
|
3
|
+
interface Props extends Omit<AccordionProps, 'children' | 'autoCollapsible'> {
|
|
11
4
|
/**
|
|
12
5
|
* Accordion item title
|
|
13
6
|
*/
|
|
14
7
|
title: string;
|
|
15
8
|
/**
|
|
16
|
-
*
|
|
17
|
-
* @default false
|
|
9
|
+
* Unique ID for the component
|
|
18
10
|
*/
|
|
19
|
-
|
|
11
|
+
id?: string;
|
|
20
12
|
/**
|
|
21
|
-
*
|
|
22
|
-
* @default true
|
|
13
|
+
* Content of Accordion Item
|
|
23
14
|
*/
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Label to show for the open icon for accessibility
|
|
27
|
-
*/
|
|
28
|
-
openLabel?: string;
|
|
29
|
-
/**
|
|
30
|
-
* Label to show for the close button in the content
|
|
31
|
-
*/
|
|
32
|
-
closeLabel?: string;
|
|
15
|
+
children?: React.ReactNode;
|
|
33
16
|
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
17
|
+
* On component title and close button mouse click callback
|
|
18
|
+
* Use `e.currentTarget.parentElement` to get AccordionItem element
|
|
36
19
|
*/
|
|
37
|
-
|
|
20
|
+
onClick?: (e: React.MouseEvent<HTMLElement>) => void;
|
|
38
21
|
/**
|
|
39
|
-
*
|
|
22
|
+
* On component title and close button keyboard key down callback
|
|
23
|
+
* Use `e.currentTarget.parentElement` to get AccordionItem element
|
|
40
24
|
*/
|
|
41
|
-
|
|
25
|
+
onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
|
42
26
|
}
|
|
43
|
-
|
|
27
|
+
/** @visibleName Accordion Item */
|
|
28
|
+
declare const AccordionItem: ({ hasCloseButton, highlightSelected, ...props }: Props) => JSX.Element;
|
|
44
29
|
/** @component */
|
|
45
30
|
export default AccordionItem;
|
|
@@ -13,88 +13,65 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
13
13
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
14
14
|
var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
const AccordionItemContainer = styled__default['default'].div `
|
|
17
|
+
margin: ${p => `0 ${styledUtils.getDividedSize(p.theme.base.baseHeight, 2.5)}}`};
|
|
18
|
+
border-bottom: 1px solid
|
|
19
|
+
${p => (p.isExpanded && p.highlightSelected ? p.theme.color.hotPink : p.theme.color.gray15)};
|
|
20
|
+
`;
|
|
17
21
|
const AccordionItemTitle = styled__default['default'].div `
|
|
18
|
-
font-size: ${p => p.theme.fontSize.
|
|
22
|
+
font-size: ${p => p.theme.fontSize.default};
|
|
19
23
|
font-weight: ${p => p.theme.fontWeight.bold};
|
|
20
24
|
display: flex;
|
|
21
25
|
justify-content: space-between;
|
|
22
26
|
flex-direction: row;
|
|
23
27
|
cursor: pointer;
|
|
28
|
+
padding: ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 1.6)}
|
|
29
|
+
${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 2)};
|
|
24
30
|
color: ${p => p.isExpanded && p.highlightSelected ? p.theme.color.hotPink : p.theme.color.text};
|
|
25
|
-
padding: ${p => `${styledUtils.getMultipliedSize(p.theme.base.baseHeight, 1.6)} ${styledUtils.getMultipliedSize(p.theme.base.baseHeight, 2)}`};
|
|
26
31
|
transition: color 0.2s;
|
|
27
32
|
${p => p.highlightSelected &&
|
|
28
33
|
styled.css `
|
|
29
34
|
&:hover,
|
|
30
|
-
&:active
|
|
31
|
-
&:focus {
|
|
35
|
+
&:active {
|
|
32
36
|
color: ${p.theme.color.hotPink};
|
|
33
37
|
text-decoration: none;
|
|
34
38
|
}
|
|
35
39
|
`}
|
|
36
40
|
`;
|
|
37
|
-
const
|
|
38
|
-
margin: ${p => `0 ${styledUtils.getDividedSize(p.theme.base.baseHeight, 2.5)}}`};
|
|
39
|
-
border-bottom: 1px solid
|
|
40
|
-
${p => (p.isExpanded && p.highlightSelected ? p.theme.color.hotPink : p.theme.color.gray15)};
|
|
41
|
-
`;
|
|
42
|
-
const AccordionItemContent = styled__default['default'].div `
|
|
41
|
+
const AccordionItemContentWrapper = styled__default['default'].div `
|
|
43
42
|
overflow: hidden;
|
|
44
43
|
color: ${p => p.theme.color.slateGray};
|
|
45
44
|
transition: all 0.2s ease;
|
|
46
45
|
height: ${p => (p.isExpanded ? p.maxHeight / 16 + 1.25 : 0)}rem;
|
|
46
|
+
padding: 0 ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 2)};
|
|
47
47
|
visibility: ${p => (p.isExpanded ? 'visible' : 'hidden')};
|
|
48
48
|
`;
|
|
49
|
-
const
|
|
50
|
-
padding: ${p =>
|
|
49
|
+
const AccordionItemContent = styled__default['default'].div `
|
|
50
|
+
padding-bottom: ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 1.6)};
|
|
51
51
|
`;
|
|
52
|
-
const
|
|
52
|
+
const AccordionItemCloseButton = styled__default['default'].div `
|
|
53
53
|
display: flex;
|
|
54
|
-
flex: 1;
|
|
55
54
|
justify-content: flex-end;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
line-height: ${p => p.theme.lineHeight.default};
|
|
56
|
+
margin-bottom: ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 1.6)};
|
|
57
|
+
padding: 0 ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 2)};
|
|
59
58
|
gap: ${p => styledUtils.getMultipliedSize(p.theme.base.baseHeight, 1)};
|
|
60
59
|
color: ${p => p.theme.color.text};
|
|
61
60
|
cursor: pointer;
|
|
62
61
|
`;
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
setExpanded(!isExpanded);
|
|
67
|
-
};
|
|
68
|
-
// get height when element dimensions change
|
|
62
|
+
/** @visibleName Accordion Item */
|
|
63
|
+
const AccordionItem = ({ hasCloseButton = false, highlightSelected = true, ...props }) => {
|
|
64
|
+
// Get height when element dimensions change
|
|
69
65
|
const { height: contentHeight, ref: contentRef } = useElementDimensions['default']();
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}, [isExpanded]);
|
|
80
|
-
const handleKeyDown = (e) => {
|
|
81
|
-
const key = e.key;
|
|
82
|
-
if (key === 'Enter' || key === ' ') {
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
setExpanded(!isExpanded);
|
|
85
|
-
}
|
|
86
|
-
};
|
|
87
|
-
return (React__default['default'].createElement(AccordionItemContainer, { "aria-expanded": isExpanded, className: props.className, isExpanded: isExpanded, highlightSelected: highlightSelected },
|
|
88
|
-
React__default['default'].createElement(AccordionItemTitle, { tabIndex: 0, onKeyDown: handleKeyDown, isExpanded: isExpanded, highlightSelected: highlightSelected, onClick: toggleExpanded, role: "button" },
|
|
89
|
-
React__default['default'].createElement("span", null, title),
|
|
90
|
-
isExpanded ? (React__default['default'].createElement(Icon['default'], { name: "hlChevronUp", size: "1.5rem", right: true, "aria-label": closeLabel })) : (React__default['default'].createElement(Icon['default'], { name: "hlChevronDown", size: "1.5rem", right: true, "aria-label": openLabel }))),
|
|
91
|
-
React__default['default'].createElement(AccordionItemContent, { maxHeight: contentHeight, isExpanded: isExpanded },
|
|
92
|
-
React__default['default'].createElement(AccordionItemContentInner, { ref: contentRef },
|
|
93
|
-
children,
|
|
94
|
-
hasCloseButton && (React__default['default'].createElement(CloseAccordionItemWrapper, null,
|
|
95
|
-
React__default['default'].createElement(CloseAccordionItem, { onClick: toggleExpanded, "aria-label": closeLabel, tabIndex: 0, onKeyDown: handleKeyDown, role: "button" },
|
|
96
|
-
React__default['default'].createElement("span", null, closeLabel),
|
|
97
|
-
React__default['default'].createElement(Icon['default'], { name: "hlX", size: "1.5rem" }))))))));
|
|
66
|
+
return (React__default['default'].createElement(AccordionItemContainer, { id: props.id, "aria-expanded": Boolean(props.isExpanded), className: props.className, isExpanded: Boolean(props.isExpanded), highlightSelected: highlightSelected },
|
|
67
|
+
React__default['default'].createElement(AccordionItemTitle, { tabIndex: 0, onClick: props.onClick, onKeyDown: props.onKeyDown, isExpanded: Boolean(props.isExpanded), highlightSelected: highlightSelected, role: "button" },
|
|
68
|
+
props.title,
|
|
69
|
+
Boolean(props.isExpanded) ? (React__default['default'].createElement(Icon['default'], { name: "hlChevronUp", size: "1.5rem", right: true, "aria-label": props.closeLabel })) : (React__default['default'].createElement(Icon['default'], { name: "hlChevronDown", size: "1.5rem", right: true, "aria-label": props.openLabel }))),
|
|
70
|
+
React__default['default'].createElement(AccordionItemContentWrapper, { maxHeight: contentHeight, isExpanded: props.isExpanded },
|
|
71
|
+
React__default['default'].createElement(AccordionItemContent, { ref: contentRef }, props.children)),
|
|
72
|
+
hasCloseButton && props.isExpanded && (React__default['default'].createElement(AccordionItemCloseButton, { tabIndex: 0, onClick: props.onClick, onKeyDown: props.onKeyDown, "aria-label": props.closeLabel, role: "button" },
|
|
73
|
+
React__default['default'].createElement("span", null, props.closeLabel),
|
|
74
|
+
React__default['default'].createElement(Icon['default'], { name: "hlX", size: "1.5rem" })))));
|
|
98
75
|
};
|
|
99
76
|
|
|
100
77
|
exports.default = AccordionItem;
|
|
@@ -6,11 +6,10 @@ var React = require('react');
|
|
|
6
6
|
var styled = require('../../themes/styled.js');
|
|
7
7
|
var theme = require('../../themes/theme.js');
|
|
8
8
|
var styledUtils = require('../../utils/styledUtils.js');
|
|
9
|
-
require('../Buttons/
|
|
10
|
-
require('../
|
|
11
|
-
require('../Buttons/ButtonPrimaryStyles.js');
|
|
9
|
+
require('../Buttons/ButtonDefault.js');
|
|
10
|
+
require('../Buttons/ButtonPrimary.js');
|
|
12
11
|
var ButtonSecondary = require('../Buttons/ButtonSecondary.js');
|
|
13
|
-
require('../Buttons/
|
|
12
|
+
require('../Buttons/ButtonTertiary.js');
|
|
14
13
|
require('../Buttons/ButtonRoundStyles.js');
|
|
15
14
|
require('../Buttons/CloseButton.js');
|
|
16
15
|
require('../Buttons/ButtonIconStyles.js');
|
|
@@ -18,12 +18,7 @@ declare const ButtonBasicStyle: import("styled-components").StyledComponent<"but
|
|
|
18
18
|
};
|
|
19
19
|
breakpoints: import("../../themes/themeComponents/breakpoints").ViewBreakpoints;
|
|
20
20
|
button: {
|
|
21
|
-
|
|
22
|
-
buttonPadding: string;
|
|
23
|
-
smallButtonPadding: string;
|
|
24
|
-
buttonLineHeight: string;
|
|
25
|
-
buttonWidth: string;
|
|
26
|
-
buttonSmallWidth: string;
|
|
21
|
+
border: string;
|
|
27
22
|
};
|
|
28
23
|
color: {
|
|
29
24
|
black: string;
|
|
@@ -54,22 +49,27 @@ declare const ButtonBasicStyle: import("styled-components").StyledComponent<"but
|
|
|
54
49
|
gray5: string;
|
|
55
50
|
};
|
|
56
51
|
fontFamily: {
|
|
57
|
-
|
|
52
|
+
default: string;
|
|
53
|
+
heading: string;
|
|
54
|
+
numerals: string;
|
|
58
55
|
};
|
|
59
56
|
fontSize: {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
57
|
+
default: string;
|
|
58
|
+
xl: string;
|
|
59
|
+
l: string;
|
|
60
|
+
s: string;
|
|
61
|
+
xs: string;
|
|
62
|
+
h1XL: string;
|
|
63
|
+
h1L: string;
|
|
64
|
+
h1M: string;
|
|
65
|
+
h1S: string;
|
|
66
|
+
h2M: string;
|
|
67
|
+
h2S: string;
|
|
68
|
+
h3: string;
|
|
69
|
+
h4: string;
|
|
70
|
+
h5: string;
|
|
71
|
+
h1: string;
|
|
72
|
+
h2: string;
|
|
73
73
|
};
|
|
74
74
|
fontWeight: {
|
|
75
75
|
book: number;
|
|
@@ -85,16 +85,23 @@ declare const ButtonBasicStyle: import("styled-components").StyledComponent<"but
|
|
|
85
85
|
gutter: string;
|
|
86
86
|
};
|
|
87
87
|
lineHeight: {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
88
|
+
default: string;
|
|
89
|
+
xl: string;
|
|
90
|
+
s: string;
|
|
91
|
+
xs: string;
|
|
92
|
+
xxs: string;
|
|
93
|
+
auto: string;
|
|
94
|
+
h1XL: string;
|
|
95
|
+
h1L: string;
|
|
96
|
+
h1M: string;
|
|
97
|
+
h1S: string;
|
|
98
|
+
h2M: string;
|
|
99
|
+
h2S: string;
|
|
100
|
+
h3: string;
|
|
101
|
+
h4: string;
|
|
102
|
+
h5: string;
|
|
103
|
+
h1: string;
|
|
104
|
+
h2: string;
|
|
98
105
|
};
|
|
99
106
|
media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
|
|
100
107
|
}, ButtonProps, never>;
|
|
@@ -3,30 +3,28 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var styled = require('../../themes/styled.js');
|
|
6
|
+
var styledUtils = require('../../utils/styledUtils.js');
|
|
6
7
|
|
|
7
8
|
const ButtonBasicStyle = styled['default'].button `
|
|
8
9
|
position: relative;
|
|
9
|
-
padding: ${props => props
|
|
10
|
-
|
|
11
|
-
: props.theme.button.buttonPadding};
|
|
10
|
+
padding: ${props => `${styledUtils.getMultipliedSize(props.theme.base.baseWidth, 0.8)}
|
|
11
|
+
${styledUtils.getMultipliedSize(props.theme.base.baseWidth, 1)}`};
|
|
12
12
|
text-decoration: none;
|
|
13
13
|
display: inline-block;
|
|
14
14
|
border-style: solid;
|
|
15
|
-
border-width: ${props => props.theme.button.
|
|
15
|
+
border-width: ${props => props.theme.button.border};
|
|
16
16
|
border-color: ${props => props && props.darkBg ? props.theme.color.white : props.theme.color.black};
|
|
17
17
|
box-sizing: border-box;
|
|
18
18
|
background-color: transparent;
|
|
19
19
|
color: ${props => (props && props.darkBg ? props.theme.color.white : props.theme.color.black)};
|
|
20
|
-
font-family: ${props => props.theme.fontFamily.
|
|
20
|
+
font-family: ${props => props.theme.fontFamily.default};
|
|
21
21
|
font-weight: ${props => props.theme.fontWeight.bold};
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
font-size: ${props => props && props.small ? props.theme.fontSize.s : props.theme.fontSize.default};
|
|
23
|
+
line-height: ${props => props && props.small ? props.theme.lineHeight.s : props.theme.lineHeight.default};
|
|
24
24
|
outline: none;
|
|
25
25
|
text-align: center;
|
|
26
26
|
vertical-align: middle;
|
|
27
|
-
min-width: ${props => props && props.small
|
|
28
|
-
? props.theme.button.buttonSmallWidth
|
|
29
|
-
: props.theme.button.buttonWidth};
|
|
27
|
+
min-width: ${props => styledUtils.getMultipliedSize(props.theme.base.baseWidth, props && props.small ? 10.5 : 12.5)};
|
|
30
28
|
width: ${props => (props && props.fullWidth ? '100%' : 'auto')};
|
|
31
29
|
cursor: pointer;
|
|
32
30
|
max-width: 100%;
|
|
@@ -36,7 +34,7 @@ const ButtonBasicStyle = styled['default'].button `
|
|
|
36
34
|
outline: none;
|
|
37
35
|
color: ${props => props && props.darkBg ? props.theme.color.white : props.theme.color.black};
|
|
38
36
|
span {
|
|
39
|
-
border-bottom: ${props => `${props.theme.button.
|
|
37
|
+
border-bottom: ${props => `${props.theme.button.border} solid`};
|
|
40
38
|
}
|
|
41
39
|
}
|
|
42
40
|
&:hover {
|
|
@@ -66,9 +64,7 @@ const ButtonBasicStyle = styled['default'].button `
|
|
|
66
64
|
|
|
67
65
|
span {
|
|
68
66
|
border-bottom: 0;
|
|
69
|
-
font-size: ${props => props && props.small
|
|
70
|
-
? props.theme.fontSize.smallFontSize
|
|
71
|
-
: props.theme.fontSize.defaultFontSize};
|
|
67
|
+
font-size: ${props => props && props.small ? props.theme.fontSize.s : props.theme.fontSize.default};
|
|
72
68
|
}
|
|
73
69
|
`;
|
|
74
70
|
|
|
@@ -3,14 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var
|
|
6
|
+
var styled = require('../../themes/styled.js');
|
|
7
7
|
var PixelLoader = require('../PixelLoader/PixelLoader.js');
|
|
8
|
+
var ButtonBasicStyles = require('./ButtonBasicStyles.js');
|
|
8
9
|
|
|
9
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
10
11
|
|
|
11
12
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
12
13
|
|
|
13
14
|
const noop = () => { }; // tslint:disable-line
|
|
15
|
+
const StyledPixelLoader = styled['default'](PixelLoader.PixelLoader) `
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
`;
|
|
14
18
|
/** @visibleName Buttons */
|
|
15
19
|
const Button = (props) => {
|
|
16
20
|
const { children, className, fullWidth, small, loading = false, darkBg, onClick, onMouseDown, disabled = false, 'data-testid': dataTestId, 'data-no-close': dataNoClose, 'data-track-value': dataTrackValue, type, } = props;
|
|
@@ -20,7 +24,7 @@ const Button = (props) => {
|
|
|
20
24
|
// https://github.com/styled-components/styled-components/pull/2093
|
|
21
25
|
loading: loading ? loading.toString() : undefined, darkBg: darkBg, disabled: disabled, onClick: !disabled || !loading ? onClick : noop, onMouseDown: (!disabled || !loading) && onMouseDown ? onMouseDown : noop, className: className, "data-testid": dataTestId, "data-no-close": dataNoClose, "data-track-value": dataTrackValue, type: type },
|
|
22
26
|
!loading && (React__default['default'].createElement("span", { "data-testid": dataTestId && `${dataTestId}-text`, "data-no-close": dataNoClose }, children)),
|
|
23
|
-
loading && React__default['default'].createElement(
|
|
27
|
+
loading && React__default['default'].createElement(StyledPixelLoader, null)));
|
|
24
28
|
};
|
|
25
29
|
|
|
26
30
|
exports.Button = Button;
|
|
@@ -11,12 +11,7 @@ declare const ButtonIconPrimaryStyles: import("styled-components").StyledCompone
|
|
|
11
11
|
};
|
|
12
12
|
breakpoints: import("../../themes/themeComponents/breakpoints").ViewBreakpoints;
|
|
13
13
|
button: {
|
|
14
|
-
|
|
15
|
-
buttonPadding: string;
|
|
16
|
-
smallButtonPadding: string;
|
|
17
|
-
buttonLineHeight: string;
|
|
18
|
-
buttonWidth: string;
|
|
19
|
-
buttonSmallWidth: string;
|
|
14
|
+
border: string;
|
|
20
15
|
};
|
|
21
16
|
color: {
|
|
22
17
|
black: string;
|
|
@@ -47,22 +42,27 @@ declare const ButtonIconPrimaryStyles: import("styled-components").StyledCompone
|
|
|
47
42
|
gray5: string;
|
|
48
43
|
};
|
|
49
44
|
fontFamily: {
|
|
50
|
-
|
|
45
|
+
default: string;
|
|
46
|
+
heading: string;
|
|
47
|
+
numerals: string;
|
|
51
48
|
};
|
|
52
49
|
fontSize: {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
50
|
+
default: string;
|
|
51
|
+
xl: string;
|
|
52
|
+
l: string;
|
|
53
|
+
s: string;
|
|
54
|
+
xs: string;
|
|
55
|
+
h1XL: string;
|
|
56
|
+
h1L: string;
|
|
57
|
+
h1M: string;
|
|
58
|
+
h1S: string;
|
|
59
|
+
h2M: string;
|
|
60
|
+
h2S: string;
|
|
61
|
+
h3: string;
|
|
62
|
+
h4: string;
|
|
63
|
+
h5: string;
|
|
64
|
+
h1: string;
|
|
65
|
+
h2: string;
|
|
66
66
|
};
|
|
67
67
|
fontWeight: {
|
|
68
68
|
book: number;
|
|
@@ -78,16 +78,23 @@ declare const ButtonIconPrimaryStyles: import("styled-components").StyledCompone
|
|
|
78
78
|
gutter: string;
|
|
79
79
|
};
|
|
80
80
|
lineHeight: {
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
default: string;
|
|
82
|
+
xl: string;
|
|
83
|
+
s: string;
|
|
84
|
+
xs: string;
|
|
85
|
+
xxs: string;
|
|
86
|
+
auto: string;
|
|
87
|
+
h1XL: string;
|
|
88
|
+
h1L: string;
|
|
89
|
+
h1M: string;
|
|
90
|
+
h1S: string;
|
|
91
|
+
h2M: string;
|
|
92
|
+
h2S: string;
|
|
93
|
+
h3: string;
|
|
94
|
+
h4: string;
|
|
95
|
+
h5: string;
|
|
96
|
+
h1: string;
|
|
97
|
+
h2: string;
|
|
91
98
|
};
|
|
92
99
|
media: Record<string | number, (l: TemplateStringsArray, ...p: any[]) => string>;
|
|
93
100
|
}, import("./ButtonBasicStyles").ButtonProps & {
|