@laerdal/life-react-components 1.3.1-dev.3 → 1.3.2-dev.1.full
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/esm/AuthPage/AuthPage.js +1 -1
- package/dist/esm/AuthPage/AuthPage.js.map +1 -1
- package/dist/esm/AuthPage/Information.js +1 -1
- package/dist/esm/AuthPage/Information.js.map +1 -1
- package/dist/esm/Banners/Banner.js +16 -16
- package/dist/esm/Banners/Banner.js.map +1 -1
- package/dist/esm/Modals/__tests__/Modal.test.js +154 -0
- package/dist/esm/Modals/__tests__/Modal.test.js.map +1 -0
- package/dist/esm/styles/typography.js +66 -66
- package/dist/esm/styles/typography.js.map +1 -1
- package/dist/js/AuthPage/AuthPage.js +1 -1
- package/dist/js/AuthPage/AuthPage.js.map +1 -1
- package/dist/js/AuthPage/Information.d.ts +1 -1
- package/dist/js/AuthPage/Information.js +1 -1
- package/dist/js/AuthPage/Information.js.map +1 -1
- package/dist/js/Banners/Banner.js +19 -16
- package/dist/js/Banners/Banner.js.map +1 -1
- package/dist/js/Modals/__tests__/Modal.test.js +231 -0
- package/dist/js/Modals/__tests__/Modal.test.js.map +1 -0
- package/dist/js/styles/typography.d.ts +6 -6
- package/dist/js/styles/typography.js +66 -66
- package/dist/js/styles/typography.js.map +1 -1
- package/dist/umd/AuthPage/AuthPage.js +1 -1
- package/dist/umd/AuthPage/AuthPage.js.map +1 -1
- package/dist/umd/AuthPage/Information.js +1 -1
- package/dist/umd/AuthPage/Information.js.map +1 -1
- package/dist/umd/Banners/Banner.js +16 -16
- package/dist/umd/Banners/Banner.js.map +1 -1
- package/dist/umd/Modals/__tests__/Modal.test.js +173 -0
- package/dist/umd/Modals/__tests__/Modal.test.js.map +1 -0
- package/dist/umd/styles/typography.js +66 -66
- package/dist/umd/styles/typography.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/Banners/Banner.tsx"],"names":["BannerContainer","styled","div","props","$type","COLORS","correct_100","black","bottom","BREAKPOINTS","MEDIUM","LARGE","link","BannerCenter","ComponentTextStyle","Regular","$color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","type","children","testId","linkText","onClose","icon","noIcon","React","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_20","Math","floor","random","white","warning_500","critical_100","critical_700","critical_20","critical_500","correct_700","correct_20","correct_500","primary_100","primary_700","primary_20","primary_500","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport { BREAKPOINTS, COLORS, ComponentTextStyle } from '../styles';\nimport { Close, Help, TechnicalWarning, ThumbsUp, Tip } from '../icons/systemicons/SystemIcons';\nimport { IconButton } from '../Button';\nimport { getButtonStyle } from './styles';\nimport { Size } from '../types';\nimport { ComponentMStyling, ComponentResponsive } from '../styles/typography';\nimport { HyperLink } from '../HyperLink';\n\n/**\n * Styles for <Banner />\n */\ntype StyleBannerProps = BannerProps & { $type: string };\n\nconst BannerContainer = styled.div<StyleBannerProps>`\n background: ${(props: StyleBannerProps) => (props.$type ? props.$type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: StyleBannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ${(props: BannerProps) => props.link} !important;\n }\n`;\n\nconst BannerCenter = styled.div<{ $color: string }>`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.$color)}\n\n display: flex;\n width: 100%;\n margin: 0 0 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 16px 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 40px 0 56px;\n }\n &.small {\n margin: 0 0 0 16px;\n }\n &.medium {\n margin: 0 16px 0 32px;\n }\n &.large {\n margin: 0 40px 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ $type?: string }>`\n display: contents;\n ${(props) => (props.$type ? getButtonStyle(props.$type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n const formatTypeToLowerCase = type?.toLowerCase();\n switch (formatTypeToLowerCase) {\n case 'warning':\n return (\n <BannerContainer data-testid={testId} $type={COLORS.warning_100} link={COLORS.warning_700} hover={COLORS.warning_20} bottom={bottom}>\n <BannerCenter $color={COLORS.warning_700} className={size}>\n {icon ? icon : noIcon ? null : <Help color={COLORS.warning_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.warning_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.warning_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n case 'critical':\n return (\n <BannerContainer data-testid={testId} $type={COLORS.critical_100} link={COLORS.critical_700} hover={COLORS.critical_20} bottom={bottom} className={size}>\n <BannerCenter $color={COLORS.critical_700} className={size}>\n {icon ? icon : noIcon ? null : <TechnicalWarning color={COLORS.critical_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.critical_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.critical_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n case 'positive':\n return (\n <BannerContainer data-testid={testId} $type={COLORS.correct_100} link={COLORS.correct_700} hover={COLORS.correct_20} bottom={bottom} className={size}>\n <BannerCenter $color={COLORS.correct_700} className={size}>\n {icon ? icon : noIcon ? null : <ThumbsUp color={COLORS.correct_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.correct_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.correct_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n default:\n return (\n <BannerContainer data-testid={testId} $type={COLORS.primary_100} link={COLORS.primary_700} hover={COLORS.primary_20} bottom={bottom} className={size}>\n <BannerCenter $color={COLORS.primary_700} className={size}>\n {icon ? icon : noIcon ? null : <Tip color={COLORS.primary_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.primary_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer $type=\"neutral\">\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.primary_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n }\n};\n\nexport default Banner;\n"],"file":"Banner.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/Banners/Banner.tsx"],"names":["BannerContainer","styled","div","props","type","COLORS","correct_100","black","bottom","BREAKPOINTS","MEDIUM","LARGE","link","BannerCenter","ComponentTextStyle","Regular","color","ButtonWrapper","ButtonContainer","BannerContentWrapper","Banner","size","children","testId","linkText","onClose","icon","noIcon","React","useState","window","innerWidth","width","setWidth","useEffect","handleResize","addEventListener","formatTypeToLowerCase","toLowerCase","warning_100","warning_700","warning_20","Math","floor","random","white","warning_500","critical_100","critical_700","critical_20","critical_500","correct_700","correct_20","correct_500","primary_100","primary_700","primary_20","primary_500","hover"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\n\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {Close, Help, TechnicalWarning, ThumbsUp, Tip} from '../icons/systemicons/SystemIcons';\nimport {IconButton} from '../Button';\nimport {getButtonStyle} from './styles';\nimport {Size} from '../types';\nimport {ComponentMStyling, ComponentResponsive} from '../styles/typography';\nimport {HyperLink} from '../HyperLink';\n\n/**\n * Styles for <Banner />\n */\nconst BannerContainer = styled.div<BannerProps>`\n background: ${(props: BannerProps) => (props.type ? props.type : COLORS.correct_100)};\n min-height: 48px;\n display: flex;\n color: ${COLORS.black};\n margin-top: ${(props: BannerProps) => (props.bottom ? 'auto' : '0')};\n\n button:last-child {\n line-height: 0;\n margin: 0 0 0 8px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 0 0 16px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 0 0 32px;\n }\n &.small {\n margin: 0 0 0 8px;\n }\n &.medium {\n margin: 0 0 0 16px;\n }\n &.large {\n margin: 0 0 0 32px;\n }\n }\n\n a {\n color: ${(props: BannerProps) => props.link} !important;\n }\n`;\n\nconst BannerCenter = styled.div`\n ${(props) => ComponentMStyling(ComponentTextStyle.Regular, props.color)}\n \n display: flex;\n width: 100%;\n margin: 0 0 0 16px;\n ${BREAKPOINTS.MEDIUM} {\n margin: 0 16px 0 32px;\n }\n ${BREAKPOINTS.LARGE} {\n margin: 0 40px 0 56px;\n }\n &.small {\n margin: 0 0 0 16px;\n }\n &.medium {\n margin: 0 16px 0 32px;\n }\n &.large {\n margin: 0 40px 0 56px;\n }\n\n > svg {\n flex-shrink: 0;\n margin: 12px 0;\n }\n`;\n\nconst ButtonWrapper = styled.div`\n margin: 0 0 0 auto;\n`;\n\nconst ButtonContainer = styled.div<{ type?: string }>`\n display: contents;\n ${(props) => (props.type ? getButtonStyle(props.type) : null)};\n`;\n\nconst BannerContentWrapper = styled.div`\n display: flex;\n align-items: center;\n margin: 12px 0;\n &:not(:first-child) {\n margin-left: 8px;\n }\n`;\n\ntype BannerProps = {\n size?: Size.Small | Size.Medium | Size.Large;\n type?: string;\n link?: string;\n linkText?: string;\n hover?: string;\n bottom?: boolean;\n testId?: string;\n icon?: React.ReactNode;\n onClose?: () => void;\n noIcon?: boolean;\n};\n\nconst Banner: React.FunctionComponent<BannerProps> = ({ size, type, children, bottom, testId, linkText, link, onClose, icon, noIcon }) => {\n const [width, setWidth] = React.useState<number>(window.innerWidth);\n React.useEffect(() => {\n function handleResize() {\n setWidth(window.innerWidth);\n }\n window.addEventListener('resize', handleResize);\n });\n\n const formatTypeToLowerCase = type?.toLowerCase();\n switch (formatTypeToLowerCase) {\n case 'warning':\n return (\n <BannerContainer data-testid={testId} type={COLORS.warning_100} link={COLORS.warning_700} hover={COLORS.warning_20} bottom={bottom}>\n <BannerCenter color={COLORS.warning_700} className={size}>\n {icon ? icon : noIcon ? null : <Help color={COLORS.warning_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.warning_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.warning_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n case 'critical':\n return (\n <BannerContainer data-testid={testId} type={COLORS.critical_100} link={COLORS.critical_700} hover={COLORS.critical_20} bottom={bottom} className={size}>\n <BannerCenter color={COLORS.critical_700} className={size}>\n {icon ? icon : noIcon ? null : <TechnicalWarning color={COLORS.critical_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.critical_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.critical_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n case 'positive':\n return (\n <BannerContainer data-testid={testId} type={COLORS.correct_100} link={COLORS.correct_700} hover={COLORS.correct_20} bottom={bottom} className={size}>\n <BannerCenter color={COLORS.correct_700} className={size}>\n {icon ? icon : noIcon ? null : <ThumbsUp color={COLORS.correct_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.correct_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer type={formatTypeToLowerCase}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.correct_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n default:\n return (\n <BannerContainer data-testid={testId} type={COLORS.primary_100} link={COLORS.primary_700} hover={COLORS.primary_20} bottom={bottom} className={size}>\n <BannerCenter color={COLORS.primary_700} className={size}>\n {icon ? icon : noIcon ? null : <Tip color={COLORS.primary_700} size=\"24px\" />}\n <BannerContentWrapper>\n <ComponentResponsive size={size} width={width} color={COLORS.primary_700}>\n {children} \n {link && linkText && (\n <HyperLink id={`${Math.floor(Math.random() * 999999999999)}_BannerLink`} href={link} variant=\"default\">\n {linkText}\n </HyperLink>\n )}\n </ComponentResponsive>\n </BannerContentWrapper>\n {onClose && (\n <ButtonWrapper>\n <ButtonContainer type=\"neutral\">\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground tabbedHereBackgroundColor={COLORS.white} action={() => onClose()}>\n <Close color={COLORS.primary_500} size=\"24px\" />\n </IconButton>\n </ButtonContainer>\n </ButtonWrapper>\n )}\n </BannerCenter>\n </BannerContainer>\n );\n }\n};\n\nexport default Banner;\n"],"file":"Banner.js"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
|
|
7
|
+
require("jest-styled-components");
|
|
8
|
+
|
|
9
|
+
var _ = require("..");
|
|
10
|
+
|
|
11
|
+
var _2 = require("../..");
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
14
|
+
|
|
15
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
16
|
+
|
|
17
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
18
|
+
|
|
19
|
+
describe('<ModalDialog />', function () {
|
|
20
|
+
var mountingDiv;
|
|
21
|
+
beforeEach(function () {
|
|
22
|
+
//being rendered as a React.Portal we need to have the 'root' div defined
|
|
23
|
+
mountingDiv = document.createElement('div');
|
|
24
|
+
mountingDiv.id = 'root';
|
|
25
|
+
document.body.appendChild(mountingDiv);
|
|
26
|
+
});
|
|
27
|
+
afterEach(function () {
|
|
28
|
+
document.body.removeChild(mountingDiv);
|
|
29
|
+
});
|
|
30
|
+
it('Check modal not rendered when isModalOpen is false', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
31
|
+
var _render, container, getByText;
|
|
32
|
+
|
|
33
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
34
|
+
while (1) {
|
|
35
|
+
switch (_context.prev = _context.next) {
|
|
36
|
+
case 0:
|
|
37
|
+
_render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
38
|
+
key: "smallModalWithoutImage",
|
|
39
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
40
|
+
title: 'Header',
|
|
41
|
+
size: _2.Size.Small,
|
|
42
|
+
isModalOpen: false,
|
|
43
|
+
closeAction: function closeAction() {},
|
|
44
|
+
submitAction: function submitAction() {}
|
|
45
|
+
})), container = _render.container, getByText = _render.getByText; //check modal portal not exists when modal not opened
|
|
46
|
+
|
|
47
|
+
expect(container.querySelector('.ReactModalPortal')).toBeNull();
|
|
48
|
+
|
|
49
|
+
case 2:
|
|
50
|
+
case "end":
|
|
51
|
+
return _context.stop();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}, _callee);
|
|
55
|
+
})));
|
|
56
|
+
it('Check modal visible, title and footer buttons displayed correctly', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
57
|
+
var _render2, container, getByText;
|
|
58
|
+
|
|
59
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
60
|
+
while (1) {
|
|
61
|
+
switch (_context2.prev = _context2.next) {
|
|
62
|
+
case 0:
|
|
63
|
+
_render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
64
|
+
key: "smallModalWithoutImage",
|
|
65
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
66
|
+
title: 'Header',
|
|
67
|
+
size: _2.Size.Small,
|
|
68
|
+
isModalOpen: true,
|
|
69
|
+
closeAction: function closeAction() {},
|
|
70
|
+
submitAction: function submitAction() {},
|
|
71
|
+
buttons: [{
|
|
72
|
+
action: function action() {},
|
|
73
|
+
text: 'Close',
|
|
74
|
+
variant: 'tertiary'
|
|
75
|
+
}, {
|
|
76
|
+
action: function action() {},
|
|
77
|
+
text: 'Save'
|
|
78
|
+
}]
|
|
79
|
+
})), container = _render2.container, getByText = _render2.getByText; //check modal portal defined
|
|
80
|
+
|
|
81
|
+
expect(container.querySelector('.ReactModalPortal')).toBeDefined(); //Check header and footer buttons
|
|
82
|
+
|
|
83
|
+
expect(getByText('Header')).toBeDefined();
|
|
84
|
+
expect(getByText('Close')).toBeDefined();
|
|
85
|
+
expect(getByText('Save')).toBeDefined();
|
|
86
|
+
|
|
87
|
+
case 5:
|
|
88
|
+
case "end":
|
|
89
|
+
return _context2.stop();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}, _callee2);
|
|
93
|
+
})));
|
|
94
|
+
it('Check tooltip, and link displayed without right footer buttons', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
95
|
+
var _render3, baseElement, getByText;
|
|
96
|
+
|
|
97
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
98
|
+
while (1) {
|
|
99
|
+
switch (_context3.prev = _context3.next) {
|
|
100
|
+
case 0:
|
|
101
|
+
_render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
102
|
+
key: "smallModalWithoutImage",
|
|
103
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
104
|
+
title: 'Header',
|
|
105
|
+
size: _2.Size.Small,
|
|
106
|
+
isModalOpen: true,
|
|
107
|
+
closeAction: function closeAction() {},
|
|
108
|
+
submitAction: function submitAction() {},
|
|
109
|
+
tooltip: 'some test tooltip',
|
|
110
|
+
leftFooterAction: {
|
|
111
|
+
id: 'test-link',
|
|
112
|
+
actionType: 'hyperlink',
|
|
113
|
+
text: 'Link',
|
|
114
|
+
href: 'http://test.com',
|
|
115
|
+
icon: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null),
|
|
116
|
+
variant: 'default'
|
|
117
|
+
}
|
|
118
|
+
})), baseElement = _render3.baseElement, getByText = _render3.getByText; //check tooltip displayed
|
|
119
|
+
|
|
120
|
+
expect(getByText('some test tooltip').textContent).toBeDefined(); //check footer link displayed
|
|
121
|
+
|
|
122
|
+
expect(getByText('Link').children).toBeDefined();
|
|
123
|
+
|
|
124
|
+
case 3:
|
|
125
|
+
case "end":
|
|
126
|
+
return _context3.stop();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}, _callee3);
|
|
130
|
+
})));
|
|
131
|
+
it('Check note and footer note displayed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
|
|
132
|
+
var _baseElement$querySel;
|
|
133
|
+
|
|
134
|
+
var _render4, baseElement, getByText;
|
|
135
|
+
|
|
136
|
+
return regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
137
|
+
while (1) {
|
|
138
|
+
switch (_context4.prev = _context4.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
_render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
141
|
+
key: "smallModalWithoutImage",
|
|
142
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
143
|
+
title: 'Header',
|
|
144
|
+
size: _2.Size.Small,
|
|
145
|
+
isModalOpen: true,
|
|
146
|
+
closeAction: function closeAction() {},
|
|
147
|
+
submitAction: function submitAction() {},
|
|
148
|
+
leftFooterAction: {
|
|
149
|
+
id: 'test-note',
|
|
150
|
+
actionType: 'note',
|
|
151
|
+
text: 'Test note',
|
|
152
|
+
icon: /*#__PURE__*/_react.default.createElement(_2.SystemIcons.Information, null)
|
|
153
|
+
},
|
|
154
|
+
note: 'Message text',
|
|
155
|
+
state: 'critical'
|
|
156
|
+
})), baseElement = _render4.baseElement, getByText = _render4.getByText; //check footer note text displayed
|
|
157
|
+
|
|
158
|
+
expect(getByText('Test note').textContent).toBeDefined(); //check note section added
|
|
159
|
+
|
|
160
|
+
expect((_baseElement$querySel = baseElement.querySelectorAll('section')) === null || _baseElement$querySel === void 0 ? void 0 : _baseElement$querySel.length).toEqual(4); //check note message displayed
|
|
161
|
+
|
|
162
|
+
expect(getByText('Message text').children).toBeDefined();
|
|
163
|
+
|
|
164
|
+
case 4:
|
|
165
|
+
case "end":
|
|
166
|
+
return _context4.stop();
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}, _callee4);
|
|
170
|
+
})));
|
|
171
|
+
it('Check back button and close icon displayed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee5() {
|
|
172
|
+
var _baseElement$querySel2;
|
|
173
|
+
|
|
174
|
+
var _render5, baseElement, getByText, container;
|
|
175
|
+
|
|
176
|
+
return regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
177
|
+
while (1) {
|
|
178
|
+
switch (_context5.prev = _context5.next) {
|
|
179
|
+
case 0:
|
|
180
|
+
_render5 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
181
|
+
key: "smallModalWithoutImage",
|
|
182
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
183
|
+
title: 'Header',
|
|
184
|
+
size: _2.Size.Small,
|
|
185
|
+
backButton: function backButton() {},
|
|
186
|
+
isModalOpen: true,
|
|
187
|
+
closeAction: function closeAction() {},
|
|
188
|
+
submitAction: function submitAction() {}
|
|
189
|
+
})), baseElement = _render5.baseElement, getByText = _render5.getByText, container = _render5.container; //only 2 svg elements should be found in the header of the modal
|
|
190
|
+
|
|
191
|
+
expect((_baseElement$querySel2 = baseElement.querySelectorAll('svg')) === null || _baseElement$querySel2 === void 0 ? void 0 : _baseElement$querySel2.length).toEqual(2);
|
|
192
|
+
|
|
193
|
+
case 2:
|
|
194
|
+
case "end":
|
|
195
|
+
return _context5.stop();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}, _callee5);
|
|
199
|
+
})));
|
|
200
|
+
it('Check modal body displayed', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee6() {
|
|
201
|
+
var _baseElement$querySel3, _baseElement$querySel4;
|
|
202
|
+
|
|
203
|
+
var _render6, baseElement, getByText, container;
|
|
204
|
+
|
|
205
|
+
return regeneratorRuntime.wrap(function _callee6$(_context6) {
|
|
206
|
+
while (1) {
|
|
207
|
+
switch (_context6.prev = _context6.next) {
|
|
208
|
+
case 0:
|
|
209
|
+
_render6 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_.ModalDialog, {
|
|
210
|
+
key: "smallModalWithoutImage",
|
|
211
|
+
closeModalAndClearInput: function closeModalAndClearInput() {},
|
|
212
|
+
title: 'Header',
|
|
213
|
+
size: _2.Size.Small,
|
|
214
|
+
isModalOpen: true,
|
|
215
|
+
closeAction: function closeAction() {},
|
|
216
|
+
submitAction: function submitAction() {}
|
|
217
|
+
}, /*#__PURE__*/_react.default.createElement("span", null, "Inner modal text"))), baseElement = _render6.baseElement, getByText = _render6.getByText, container = _render6.container; //Check all dialog sections are displayed
|
|
218
|
+
|
|
219
|
+
expect((_baseElement$querySel3 = baseElement.querySelectorAll('section')) === null || _baseElement$querySel3 === void 0 ? void 0 : _baseElement$querySel3.length).toEqual(3); //Check that the second section (modal body) has the correct text
|
|
220
|
+
|
|
221
|
+
expect((_baseElement$querySel4 = baseElement.querySelectorAll('section')) === null || _baseElement$querySel4 === void 0 ? void 0 : _baseElement$querySel4[1].textContent).toEqual('Inner modal text');
|
|
222
|
+
|
|
223
|
+
case 3:
|
|
224
|
+
case "end":
|
|
225
|
+
return _context6.stop();
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}, _callee6);
|
|
229
|
+
})));
|
|
230
|
+
});
|
|
231
|
+
//# sourceMappingURL=Modal.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/Modals/__tests__/Modal.test.tsx"],"names":["describe","mountingDiv","beforeEach","document","createElement","id","body","appendChild","afterEach","removeChild","it","Size","Small","container","getByText","expect","querySelector","toBeNull","action","text","variant","toBeDefined","actionType","href","icon","baseElement","textContent","children","querySelectorAll","length","toEqual"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport 'jest-styled-components';\nimport { ModalDialog } from '..';\nimport { COLORS, Size, SystemIcons } from '../..';\n\ndescribe('<ModalDialog />', () => {\n let mountingDiv: HTMLElement;\n\n beforeEach(() => {\n //being rendered as a React.Portal we need to have the 'root' div defined\n mountingDiv = document.createElement('div');\n mountingDiv.id = 'root';\n document.body.appendChild(mountingDiv);\n });\n\n afterEach(() => {\n document.body.removeChild(mountingDiv);\n });\n\n it('Check modal not rendered when isModalOpen is false', async () => {\n const { container, getByText } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n isModalOpen={false}\n closeAction={() => {}}\n submitAction={() => {}}\n />,\n );\n //check modal portal not exists when modal not opened\n expect(container.querySelector('.ReactModalPortal')).toBeNull();\n });\n\n it('Check modal visible, title and footer buttons displayed correctly', async () => {\n const { container, getByText } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n isModalOpen={true}\n closeAction={() => {}}\n submitAction={() => {}}\n buttons={[\n {\n action: () => {},\n text: 'Close',\n variant: 'tertiary',\n },\n {\n action: () => {},\n text: 'Save',\n },\n ]}\n />,\n );\n //check modal portal defined\n expect(container.querySelector('.ReactModalPortal')).toBeDefined();\n //Check header and footer buttons\n expect(getByText('Header')).toBeDefined();\n expect(getByText('Close')).toBeDefined();\n expect(getByText('Save')).toBeDefined();\n });\n\n it('Check tooltip, and link displayed without right footer buttons', async () => {\n const { baseElement, getByText } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n isModalOpen={true}\n closeAction={() => {}}\n submitAction={() => {}}\n tooltip={'some test tooltip'}\n leftFooterAction={{ id: 'test-link', actionType: 'hyperlink', text: 'Link', href: 'http://test.com', icon: <></>, variant: 'default' }}\n />,\n );\n //check tooltip displayed\n expect(getByText('some test tooltip').textContent).toBeDefined();\n //check footer link displayed\n expect(getByText('Link').children).toBeDefined();\n });\n\n it('Check note and footer note displayed', async () => {\n const { baseElement, getByText } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n isModalOpen={true}\n closeAction={() => {}}\n submitAction={() => {}}\n leftFooterAction={{ id: 'test-note', actionType: 'note', text: 'Test note', icon: <SystemIcons.Information /> }}\n note={'Message text'}\n state={'critical'}\n />,\n );\n //check footer note text displayed\n expect(getByText('Test note').textContent).toBeDefined();\n //check note section added\n expect(baseElement.querySelectorAll('section')?.length).toEqual(4);\n //check note message displayed\n expect(getByText('Message text').children).toBeDefined();\n });\n\n it('Check back button and close icon displayed', async () => {\n const { baseElement, getByText, container } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n backButton={() => {}}\n isModalOpen={true}\n closeAction={() => {}}\n submitAction={() => {}}\n />,\n );\n //only 2 svg elements should be found in the header of the modal\n expect(baseElement.querySelectorAll('svg')?.length).toEqual(2);\n });\n\n it('Check modal body displayed', async () => {\n const { baseElement, getByText, container } = render(\n <ModalDialog\n key=\"smallModalWithoutImage\"\n closeModalAndClearInput={() => {}}\n title={'Header'}\n size={Size.Small}\n isModalOpen={true}\n closeAction={() => {}}\n submitAction={() => {}}>\n <span>Inner modal text</span>\n </ModalDialog>,\n );\n //Check all dialog sections are displayed\n expect(baseElement.querySelectorAll('section')?.length).toEqual(3);\n //Check that the second section (modal body) has the correct text\n expect(baseElement.querySelectorAll('section')?.[1].textContent).toEqual('Inner modal text');\n });\n});\n"],"file":"Modal.test.js"}
|
|
@@ -5,19 +5,19 @@ declare const TYPOGRAPHY: {
|
|
|
5
5
|
fontFamily: string;
|
|
6
6
|
};
|
|
7
7
|
interface ITypographyBase {
|
|
8
|
-
|
|
8
|
+
color?: string;
|
|
9
9
|
lineHeight: number;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
fontSize: number;
|
|
11
|
+
fontWeight: number;
|
|
12
|
+
fontStyle?: string;
|
|
13
13
|
textTransform?: Property.TextTransform;
|
|
14
14
|
textDecorationLine?: Property.TextDecorationLine;
|
|
15
15
|
}
|
|
16
16
|
interface IHeadline {
|
|
17
|
-
|
|
17
|
+
color?: string;
|
|
18
18
|
}
|
|
19
19
|
interface IHeadlineBase {
|
|
20
|
-
|
|
20
|
+
color?: string;
|
|
21
21
|
lineHeight: number;
|
|
22
22
|
fontSize: number;
|
|
23
23
|
}
|
|
@@ -32,22 +32,22 @@ var TYPOGRAPHY = {
|
|
|
32
32
|
};
|
|
33
33
|
exports.TYPOGRAPHY = TYPOGRAPHY;
|
|
34
34
|
var TypographyBase = (0, _styledComponents.default)('div')(function (_ref) {
|
|
35
|
-
var
|
|
35
|
+
var color = _ref.color,
|
|
36
36
|
lineHeight = _ref.lineHeight,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
fontSize = _ref.fontSize,
|
|
38
|
+
fontWeight = _ref.fontWeight,
|
|
39
|
+
fontStyle = _ref.fontStyle,
|
|
40
40
|
textTransform = _ref.textTransform,
|
|
41
41
|
textDecorationLine = _ref.textDecorationLine;
|
|
42
42
|
return {
|
|
43
43
|
fontFamily: TYPOGRAPHY.fontFamily,
|
|
44
|
-
fontSize:
|
|
45
|
-
fontWeight:
|
|
44
|
+
fontSize: fontSize,
|
|
45
|
+
fontWeight: fontWeight,
|
|
46
46
|
lineHeight: lineHeight + 'px',
|
|
47
47
|
textTransform: textTransform ? textTransform : 'none',
|
|
48
48
|
textDecorationLine: textDecorationLine ? textDecorationLine : 'none',
|
|
49
|
-
fontStyle:
|
|
50
|
-
color:
|
|
49
|
+
fontStyle: fontStyle ? fontStyle : 'normal',
|
|
50
|
+
color: color ? color : _.COLORS.black
|
|
51
51
|
};
|
|
52
52
|
});
|
|
53
53
|
|
|
@@ -56,14 +56,14 @@ var HeadlineBaseStyling = function HeadlineBaseStyling(fontSize, lineHeight, col
|
|
|
56
56
|
};
|
|
57
57
|
|
|
58
58
|
var HeadlineBase = (0, _styledComponents.default)(TypographyBase)(function (_ref2) {
|
|
59
|
-
var
|
|
59
|
+
var color = _ref2.color,
|
|
60
60
|
lineHeight = _ref2.lineHeight,
|
|
61
61
|
fontSize = _ref2.fontSize;
|
|
62
62
|
return {
|
|
63
63
|
fontSize: fontSize,
|
|
64
64
|
fontWeight: 700,
|
|
65
65
|
lineHeight: lineHeight,
|
|
66
|
-
color:
|
|
66
|
+
color: color
|
|
67
67
|
};
|
|
68
68
|
});
|
|
69
69
|
|
|
@@ -73,11 +73,11 @@ var HeadlineXLStyling = function HeadlineXLStyling(color) {
|
|
|
73
73
|
|
|
74
74
|
exports.HeadlineXLStyling = HeadlineXLStyling;
|
|
75
75
|
var HeadlineXL = (0, _styledComponents.default)(HeadlineBase)(function (_ref3) {
|
|
76
|
-
var
|
|
76
|
+
var color = _ref3.color;
|
|
77
77
|
return {
|
|
78
78
|
fontSize: '48px',
|
|
79
79
|
lineHeight: '64px',
|
|
80
|
-
color:
|
|
80
|
+
color: color
|
|
81
81
|
};
|
|
82
82
|
});
|
|
83
83
|
exports.HeadlineXL = HeadlineXL;
|
|
@@ -88,11 +88,11 @@ var HeadlineLStyling = function HeadlineLStyling(color) {
|
|
|
88
88
|
|
|
89
89
|
exports.HeadlineLStyling = HeadlineLStyling;
|
|
90
90
|
var HeadlineL = (0, _styledComponents.default)(HeadlineBase)(function (_ref4) {
|
|
91
|
-
var
|
|
91
|
+
var color = _ref4.color;
|
|
92
92
|
return {
|
|
93
93
|
fontSize: '40px',
|
|
94
94
|
lineHeight: '52px',
|
|
95
|
-
color:
|
|
95
|
+
color: color
|
|
96
96
|
};
|
|
97
97
|
});
|
|
98
98
|
exports.HeadlineL = HeadlineL;
|
|
@@ -103,11 +103,11 @@ var HeadlineMStyling = function HeadlineMStyling(color) {
|
|
|
103
103
|
|
|
104
104
|
exports.HeadlineMStyling = HeadlineMStyling;
|
|
105
105
|
var HeadlineM = (0, _styledComponents.default)(HeadlineBase)(function (_ref5) {
|
|
106
|
-
var
|
|
106
|
+
var color = _ref5.color;
|
|
107
107
|
return {
|
|
108
108
|
fontSize: '32px',
|
|
109
109
|
lineHeight: '40px',
|
|
110
|
-
color:
|
|
110
|
+
color: color
|
|
111
111
|
};
|
|
112
112
|
});
|
|
113
113
|
exports.HeadlineM = HeadlineM;
|
|
@@ -118,11 +118,11 @@ var HeadlineSStyling = function HeadlineSStyling(color) {
|
|
|
118
118
|
|
|
119
119
|
exports.HeadlineSStyling = HeadlineSStyling;
|
|
120
120
|
var HeadlineS = (0, _styledComponents.default)(HeadlineBase)(function (_ref6) {
|
|
121
|
-
var
|
|
121
|
+
var color = _ref6.color;
|
|
122
122
|
return {
|
|
123
123
|
fontSize: '28px',
|
|
124
124
|
lineHeight: '36px',
|
|
125
|
-
color:
|
|
125
|
+
color: color
|
|
126
126
|
};
|
|
127
127
|
});
|
|
128
128
|
exports.HeadlineS = HeadlineS;
|
|
@@ -133,11 +133,11 @@ var HeadlineXSStyling = function HeadlineXSStyling(color) {
|
|
|
133
133
|
|
|
134
134
|
exports.HeadlineXSStyling = HeadlineXSStyling;
|
|
135
135
|
var HeadlineXS = (0, _styledComponents.default)(HeadlineBase)(function (_ref7) {
|
|
136
|
-
var
|
|
136
|
+
var color = _ref7.color;
|
|
137
137
|
return {
|
|
138
138
|
fontSize: '24px',
|
|
139
139
|
lineHeight: '32px',
|
|
140
|
-
color:
|
|
140
|
+
color: color
|
|
141
141
|
};
|
|
142
142
|
});
|
|
143
143
|
exports.HeadlineXS = HeadlineXS;
|
|
@@ -148,11 +148,11 @@ var HeadlineXXSStyling = function HeadlineXXSStyling(color) {
|
|
|
148
148
|
|
|
149
149
|
exports.HeadlineXXSStyling = HeadlineXXSStyling;
|
|
150
150
|
var HeadlineXXS = (0, _styledComponents.default)(HeadlineBase)(function (_ref8) {
|
|
151
|
-
var
|
|
151
|
+
var color = _ref8.color;
|
|
152
152
|
return {
|
|
153
153
|
fontSize: '20px',
|
|
154
154
|
lineHeight: '24px',
|
|
155
|
-
color:
|
|
155
|
+
color: color
|
|
156
156
|
};
|
|
157
157
|
});
|
|
158
158
|
exports.HeadlineXXS = HeadlineXXS;
|
|
@@ -208,11 +208,11 @@ var ParagraphXL = function ParagraphXL(_ref9) {
|
|
|
208
208
|
var fontStyle = paragraphFontStyle(textStyle);
|
|
209
209
|
var textDecorationLine = paragraphTextDecorationLine(textStyle);
|
|
210
210
|
return /*#__PURE__*/_react.default.createElement(ParagraphBase, {
|
|
211
|
-
|
|
211
|
+
color: color,
|
|
212
212
|
lineHeight: 36,
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
213
|
+
fontSize: 24,
|
|
214
|
+
fontWeight: fontWeight,
|
|
215
|
+
fontStyle: fontStyle,
|
|
216
216
|
textDecorationLine: textDecorationLine,
|
|
217
217
|
marginBetweenParagraphs: "18px"
|
|
218
218
|
}, children);
|
|
@@ -238,11 +238,11 @@ var ParagraphL = function ParagraphL(_ref10) {
|
|
|
238
238
|
var fontStyle = paragraphFontStyle(textStyle);
|
|
239
239
|
var textDecorationLine = paragraphTextDecorationLine(textStyle);
|
|
240
240
|
return /*#__PURE__*/_react.default.createElement(ParagraphBase, {
|
|
241
|
-
|
|
241
|
+
color: color,
|
|
242
242
|
lineHeight: 32,
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
243
|
+
fontSize: 20,
|
|
244
|
+
fontWeight: fontWeight,
|
|
245
|
+
fontStyle: fontStyle,
|
|
246
246
|
textDecorationLine: textDecorationLine,
|
|
247
247
|
marginBetweenParagraphs: "16px"
|
|
248
248
|
}, children);
|
|
@@ -268,11 +268,11 @@ var ParagraphM = function ParagraphM(_ref11) {
|
|
|
268
268
|
var fontStyle = paragraphFontStyle(textStyle);
|
|
269
269
|
var textDecorationLine = paragraphTextDecorationLine(textStyle);
|
|
270
270
|
return /*#__PURE__*/_react.default.createElement(ParagraphBase, {
|
|
271
|
-
|
|
271
|
+
color: color,
|
|
272
272
|
lineHeight: 28,
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
273
|
+
fontSize: 18,
|
|
274
|
+
fontWeight: fontWeight,
|
|
275
|
+
fontStyle: fontStyle,
|
|
276
276
|
textDecorationLine: textDecorationLine,
|
|
277
277
|
marginBetweenParagraphs: "14px"
|
|
278
278
|
}, children);
|
|
@@ -298,11 +298,11 @@ var ParagraphS = function ParagraphS(_ref12) {
|
|
|
298
298
|
var fontStyle = paragraphFontStyle(textStyle);
|
|
299
299
|
var textDecorationLine = paragraphTextDecorationLine(textStyle);
|
|
300
300
|
return /*#__PURE__*/_react.default.createElement(ParagraphBase, {
|
|
301
|
-
|
|
301
|
+
color: color,
|
|
302
302
|
lineHeight: 24,
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
303
|
+
fontSize: 16,
|
|
304
|
+
fontWeight: fontWeight,
|
|
305
|
+
fontStyle: fontStyle,
|
|
306
306
|
textDecorationLine: textDecorationLine,
|
|
307
307
|
marginBetweenParagraphs: "12px"
|
|
308
308
|
}, children);
|
|
@@ -328,11 +328,11 @@ var ParagraphXS = function ParagraphXS(_ref13) {
|
|
|
328
328
|
var fontStyle = paragraphFontStyle(textStyle);
|
|
329
329
|
var textDecorationLine = paragraphTextDecorationLine(textStyle);
|
|
330
330
|
return /*#__PURE__*/_react.default.createElement(ParagraphBase, {
|
|
331
|
-
|
|
331
|
+
color: color,
|
|
332
332
|
lineHeight: 20,
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
333
|
+
fontSize: 14,
|
|
334
|
+
fontWeight: fontWeight,
|
|
335
|
+
fontStyle: fontStyle,
|
|
336
336
|
textDecorationLine: textDecorationLine,
|
|
337
337
|
marginBetweenParagraphs: "10px"
|
|
338
338
|
}, children);
|
|
@@ -392,11 +392,11 @@ var ComponentXL = function ComponentXL(_ref14) {
|
|
|
392
392
|
var fontStyle = componentFontStyle(textStyle);
|
|
393
393
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
394
394
|
className: className,
|
|
395
|
-
|
|
395
|
+
color: color,
|
|
396
396
|
lineHeight: 28,
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
397
|
+
fontSize: 24,
|
|
398
|
+
fontWeight: fontWeight,
|
|
399
|
+
fontStyle: fontStyle
|
|
400
400
|
}, children);
|
|
401
401
|
};
|
|
402
402
|
|
|
@@ -422,11 +422,11 @@ var ComponentL = function ComponentL(_ref15) {
|
|
|
422
422
|
var fontStyle = componentFontStyle(textStyle);
|
|
423
423
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
424
424
|
className: className,
|
|
425
|
-
|
|
425
|
+
color: color,
|
|
426
426
|
lineHeight: 24,
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
427
|
+
fontSize: 20,
|
|
428
|
+
fontWeight: fontWeight,
|
|
429
|
+
fontStyle: fontStyle
|
|
430
430
|
}, children);
|
|
431
431
|
};
|
|
432
432
|
|
|
@@ -452,11 +452,11 @@ var ComponentM = function ComponentM(_ref16) {
|
|
|
452
452
|
var fontStyle = componentFontStyle(textStyle);
|
|
453
453
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
454
454
|
className: className,
|
|
455
|
-
|
|
455
|
+
color: color,
|
|
456
456
|
lineHeight: 24,
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
457
|
+
fontSize: 18,
|
|
458
|
+
fontWeight: fontWeight,
|
|
459
|
+
fontStyle: fontStyle
|
|
460
460
|
}, children);
|
|
461
461
|
};
|
|
462
462
|
|
|
@@ -482,11 +482,11 @@ var ComponentS = function ComponentS(_ref17) {
|
|
|
482
482
|
var fontStyle = componentFontStyle(textStyle);
|
|
483
483
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
484
484
|
className: className,
|
|
485
|
-
|
|
485
|
+
color: color,
|
|
486
486
|
lineHeight: 20,
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
487
|
+
fontSize: 16,
|
|
488
|
+
fontWeight: fontWeight,
|
|
489
|
+
fontStyle: fontStyle
|
|
490
490
|
}, children);
|
|
491
491
|
};
|
|
492
492
|
|
|
@@ -513,11 +513,11 @@ var ComponentXS = function ComponentXS(_ref18) {
|
|
|
513
513
|
var textTransform = componentTextTransformation(textStyle);
|
|
514
514
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
515
515
|
className: className,
|
|
516
|
-
|
|
516
|
+
color: color,
|
|
517
517
|
lineHeight: 16,
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
518
|
+
fontSize: 14,
|
|
519
|
+
fontWeight: fontWeight,
|
|
520
|
+
fontStyle: fontStyle,
|
|
521
521
|
textTransform: textTransform
|
|
522
522
|
}, children);
|
|
523
523
|
};
|
|
@@ -545,11 +545,11 @@ var ComponentXXS = function ComponentXXS(_ref19) {
|
|
|
545
545
|
var textTransform = componentTextTransformation(textStyle);
|
|
546
546
|
return /*#__PURE__*/_react.default.createElement(TypographyBase, {
|
|
547
547
|
className: className,
|
|
548
|
-
|
|
548
|
+
color: color,
|
|
549
549
|
lineHeight: 16,
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
550
|
+
fontSize: 12,
|
|
551
|
+
fontWeight: fontWeight,
|
|
552
|
+
fontStyle: fontStyle,
|
|
553
553
|
textTransform: textTransform
|
|
554
554
|
}, children);
|
|
555
555
|
};
|