@laerdal/life-react-components 1.3.1-dev.4 → 1.3.2-dev.11.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/Button/Iconbutton.js +0 -1
- package/dist/esm/Button/Iconbutton.js.map +1 -1
- package/dist/esm/Dropdown/ChipDropdownInput.js +2 -2
- package/dist/esm/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/esm/Dropdown/CommonStyling.js +4 -0
- package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
- package/dist/esm/Dropdown/DropdownButton.js +5 -2
- package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
- package/dist/esm/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/esm/HyperLink/HyperLink.js +2 -1
- package/dist/esm/HyperLink/HyperLink.js.map +1 -1
- package/dist/esm/InputFields/Checkbox.js +23 -13
- package/dist/esm/InputFields/Checkbox.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/Table/Table.js +113 -181
- package/dist/esm/Table/Table.js.map +1 -1
- package/dist/esm/Table/TableBody.js +135 -0
- package/dist/esm/Table/TableBody.js.map +1 -0
- package/dist/esm/Table/TableFooter.js +60 -0
- package/dist/esm/Table/TableFooter.js.map +1 -0
- package/dist/esm/Table/TableHeaders.js +55 -0
- package/dist/esm/Table/TableHeaders.js.map +1 -0
- package/dist/esm/Table/TableStyles.js +130 -117
- package/dist/esm/Table/TableStyles.js.map +1 -1
- package/dist/esm/Table/__tests__/Table.test.js +0 -21
- package/dist/esm/Table/__tests__/Table.test.js.map +1 -1
- package/dist/esm/Tabs/TabLink.js +1 -0
- package/dist/esm/Tabs/TabLink.js.map +1 -1
- 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 +16 -19
- package/dist/js/Banners/Banner.js.map +1 -1
- package/dist/js/Button/Iconbutton.d.ts +2 -2
- package/dist/js/Button/Iconbutton.js +0 -1
- package/dist/js/Button/Iconbutton.js.map +1 -1
- package/dist/js/Dropdown/ChipDropdownInput.js +3 -1
- package/dist/js/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/js/Dropdown/CommonStyling.js +1 -1
- package/dist/js/Dropdown/CommonStyling.js.map +1 -1
- package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
- package/dist/js/Dropdown/DropdownButton.js +5 -2
- package/dist/js/Dropdown/DropdownButton.js.map +1 -1
- package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
- package/dist/js/Dropdown/DropdownFilter.d.ts +1 -1
- package/dist/js/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/js/HyperLink/HyperLink.d.ts +1 -1
- package/dist/js/HyperLink/HyperLink.js +2 -2
- package/dist/js/HyperLink/HyperLink.js.map +1 -1
- package/dist/js/InputFields/Checkbox.d.ts +3 -2
- package/dist/js/InputFields/Checkbox.js +13 -11
- package/dist/js/InputFields/Checkbox.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/Table/Table.js +143 -209
- package/dist/js/Table/Table.js.map +1 -1
- package/dist/js/Table/TableBody.d.ts +9 -0
- package/dist/js/Table/TableBody.js +167 -0
- package/dist/js/Table/TableBody.js.map +1 -0
- package/dist/js/Table/TableFooter.d.ts +13 -0
- package/dist/js/Table/TableFooter.js +82 -0
- package/dist/js/Table/TableFooter.js.map +1 -0
- package/dist/js/Table/TableHeaders.d.ts +9 -0
- package/dist/js/Table/TableHeaders.js +77 -0
- package/dist/js/Table/TableHeaders.js.map +1 -0
- package/dist/js/Table/TableStyles.d.ts +17 -7
- package/dist/js/Table/TableStyles.js +58 -16
- package/dist/js/Table/TableStyles.js.map +1 -1
- package/dist/js/Table/TableTypes.d.ts +23 -16
- package/dist/js/Table/__tests__/Table.test.js +8 -30
- package/dist/js/Table/__tests__/Table.test.js.map +1 -1
- package/dist/js/Tabs/TabLink.js +1 -1
- package/dist/js/Tabs/TabLink.js.map +1 -1
- 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/Button/Iconbutton.js +0 -1
- package/dist/umd/Button/Iconbutton.js.map +1 -1
- package/dist/umd/Dropdown/ChipDropdownInput.js +2 -2
- package/dist/umd/Dropdown/ChipDropdownInput.js.map +1 -1
- package/dist/umd/Dropdown/CommonStyling.js +4 -0
- package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
- package/dist/umd/Dropdown/DropdownButton.js +5 -2
- package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
- package/dist/umd/Dropdown/DropdownFilter.js.map +1 -1
- package/dist/umd/HyperLink/HyperLink.js +2 -1
- package/dist/umd/HyperLink/HyperLink.js.map +1 -1
- package/dist/umd/InputFields/Checkbox.js +23 -13
- package/dist/umd/InputFields/Checkbox.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/Table/Table.js +139 -188
- package/dist/umd/Table/Table.js.map +1 -1
- package/dist/umd/Table/TableBody.js +270 -0
- package/dist/umd/Table/TableBody.js.map +1 -0
- package/dist/umd/Table/TableFooter.js +82 -0
- package/dist/umd/Table/TableFooter.js.map +1 -0
- package/dist/umd/Table/TableHeaders.js +91 -0
- package/dist/umd/Table/TableHeaders.js.map +1 -0
- package/dist/umd/Table/TableStyles.js +134 -122
- package/dist/umd/Table/TableStyles.js.map +1 -1
- package/dist/umd/Table/__tests__/Table.test.js +0 -21
- package/dist/umd/Table/__tests__/Table.test.js.map +1 -1
- package/dist/umd/Tabs/TabLink.js +1 -0
- package/dist/umd/Tabs/TabLink.js.map +1 -1
- 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/InputFields/Checkbox.tsx"],"names":["StyledCheckBox","styled","div","props","margin","COLORS","black","selected","primary_500","showWarning","warning_400","neutral_600","ComponentTextStyle","Regular","white","primary_20","primary_700","primary_100","primary_800","neutral_300","Checkbox","React","forwardRef","ref","id","select","label","iconPointerEventsTransparent","disabled","size","semiSelected","children","onKeyPress","e","keyCode","handleClick","Size","Medium","toString","toLowerCase","concat","preventDefault"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,cAAc,GAAGC,0BAAOC,GAAV,
|
|
1
|
+
{"version":3,"sources":["../../../src/InputFields/Checkbox.tsx"],"names":["StyledCheckBox","styled","div","props","margin","COLORS","black","selected","primary_500","showWarning","warning_400","neutral_600","ComponentTextStyle","Regular","white","primary_20","primary_700","primary_100","primary_800","neutral_300","Checkbox","React","forwardRef","ref","id","select","label","iconPointerEventsTransparent","disabled","size","semiSelected","children","readonly","onKeyPress","e","keyCode","handleClick","Size","Medium","toString","toLowerCase","concat","preventDefault"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {CheckboxOff, CheckboxOn, CheckboxSemi} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport { Size } from '../types';\nimport {ComponentLStyling, ComponentMStyling, ComponentSStyling} from '../styles/typography';\n\nconst StyledCheckBox = styled.div<{ disabled?: boolean; showWarning?: boolean; selected?: boolean; margin?: string }>`\n display: flex;\n width: 100%;\n min-height: 48px;\n min-width: 48px;\n\n ${props => (props.margin ? `margin: ${props.margin};` : '')}\n cursor: pointer;\n\n color: ${COLORS.black};\n\n .pointerTransparent {\n pointer-events: none;\n }\n\n .checkbox-icon {\n margin: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: 36px;\n min-width: 36px;\n border-radius: 50%;\n\n svg {\n color: ${props => (props.selected ? COLORS.primary_500 : props.showWarning ? COLORS.warning_400 : COLORS.neutral_600)};\n }\n }\n\n .checkbox-label {\n user-select: none;\n cursor: inherit;\n }\n\n &.small {\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 14px;\n }\n }\n\n &.medium {\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &.large {\n ${ComponentLStyling(ComponentTextStyle.Regular, COLORS.black)}\n .checkbox-label {\n padding-top: 12px;\n }\n }\n\n &:not(.disabled):not(.readonly):focus {\n outline: none;\n\n .checkbox-icon {\n background-color: ${COLORS.white};\n box-shadow: 0 0 8px ${COLORS.primary_500}, 0px 4px 12px rgba(46, 127, 161, 0.25);\n\n svg {\n color: ${COLORS.neutral_600};\n }\n }\n }\n\n &:not(.disabled):not(.readonly):hover {\n .checkbox-icon {\n background-color: ${COLORS.primary_20};\n\n svg {\n color: ${COLORS.primary_700};\n }\n }\n }\n\n &:not(.disabled):not(.readonly):active {\n .checkbox-icon {\n background: ${COLORS.primary_100};\n box-shadow: none;\n\n svg {\n color: ${COLORS.primary_800};\n }\n }\n }\n\n &.readonly{\n cursor: inherit;\n .checkbox-icon,\n .checkbox-label {\n pointer-events: none;\n }\n }\n \n &.disabled {\n box-shadow: none;\n cursor: not-allowed;\n\n color: ${COLORS.neutral_300};\n\n .checkbox-icon,\n .checkbox-label {\n pointer-events: none;\n }\n\n .checkbox-icon{\n background-color: ${COLORS.white};\n }\n\n .checkbox-icon svg {\n color: ${COLORS.neutral_300};\n }\n }\n`;\n\ninterface Props {\n id?: string;\n selected: boolean;\n select?: (selected: boolean) => void;\n label?: string;\n showWarning?: boolean;\n disabled?: boolean;\n margin?: string;\n size?: Size;\n iconPointerEventsTransparent?: boolean;\n semiSelected?: boolean;\n readonly?: boolean;\n}\n\nconst Checkbox = React.forwardRef<HTMLDivElement, Props>(({\n id,\n selected,\n select,\n label,\n showWarning,\n iconPointerEventsTransparent,\n disabled,\n margin,\n size,\n semiSelected,\n children,\n readonly\n }, ref) => {\n const onKeyPress = (e: any) => {\n if (e.keyCode === 13 && !disabled && !readonly) {\n select && select(!selected);\n }\n };\n\n const handleClick = () => {\n if (disabled || readonly) {\n return;\n }\n select && select(!selected);\n };\n\n size = size ?? Size.Medium;\n\n return (\n <StyledCheckBox key={id}\n ref={ref}\n disabled={disabled}\n className={size.toString().toLowerCase().concat(disabled ? ' disabled' : '').concat(readonly ? ' readonly' : '')}\n selected={selected}\n tabIndex={disabled || readonly ? -1 : 0}\n showWarning={showWarning}\n margin={margin}\n onClick={handleClick}\n onKeyDown={onKeyPress}\n onMouseDown={e => e.preventDefault()}>\n <div id={id} className={'checkbox-icon'}>\n {\n selected\n ? <CheckboxOn className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : semiSelected\n ? <CheckboxSemi className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n : <CheckboxOff className={iconPointerEventsTransparent ? \"pointerTransparent\" : \"\"} size=\"24px\"/>\n }\n </div>\n {\n label &&\n (\n <label className={'checkbox-label'}\n htmlFor={id}>\n {label}\n </label>\n )\n }\n {\n !label &&\n <label className={'checkbox-label'}\n htmlFor={id}>\n {children}\n </label>\n }\n </StyledCheckBox>\n );\n});\n\nexport default Checkbox;\n"],"file":"Checkbox.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":";;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEAA,QAAQ,CAAC,iBAAD,EAAoB,YAAM;AAChC,MAAIC,WAAJ;AAEAC,EAAAA,UAAU,CAAC,YAAM;AACf;AACAD,IAAAA,WAAW,GAAGE,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAd;AACAH,IAAAA,WAAW,CAACI,EAAZ,GAAiB,MAAjB;AACAF,IAAAA,QAAQ,CAACG,IAAT,CAAcC,WAAd,CAA0BN,WAA1B;AACD,GALS,CAAV;AAOAO,EAAAA,SAAS,CAAC,YAAM;AACdL,IAAAA,QAAQ,CAACG,IAAT,CAAcG,WAAd,CAA0BR,WAA1B;AACD,GAFQ,CAAT;AAIAS,EAAAA,EAAE,CAAC,oDAAD,uEAAuD;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACtB,kCAC/B,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,WAAW,EAAE,KALf;AAME,cAAA,WAAW,EAAE,uBAAM,CAAE,CANvB;AAOE,cAAA,YAAY,EAAE,wBAAM,CAAE;AAPxB,cAD+B,CADsB,EAC/CC,SAD+C,WAC/CA,SAD+C,EACpCC,SADoC,WACpCA,SADoC,EAYvD;;AACAC,YAAAA,MAAM,CAACF,SAAS,CAACG,aAAV,CAAwB,mBAAxB,CAAD,CAAN,CAAqDC,QAArD;;AAbuD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAvD,GAAF;AAgBAP,EAAAA,EAAE,CAAC,mEAAD,uEAAsE;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACrC,kCAC/B,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,WAAW,EAAE,IALf;AAME,cAAA,WAAW,EAAE,uBAAM,CAAE,CANvB;AAOE,cAAA,YAAY,EAAE,wBAAM,CAAE,CAPxB;AAQE,cAAA,OAAO,EAAE,CACP;AACEM,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CADlB;AAEEC,gBAAAA,IAAI,EAAE,OAFR;AAGEC,gBAAAA,OAAO,EAAE;AAHX,eADO,EAMP;AACEF,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CADlB;AAEEC,gBAAAA,IAAI,EAAE;AAFR,eANO;AARX,cAD+B,CADqC,EAC9DN,SAD8D,YAC9DA,SAD8D,EACnDC,SADmD,YACnDA,SADmD,EAuBtE;;AACAC,YAAAA,MAAM,CAACF,SAAS,CAACG,aAAV,CAAwB,mBAAxB,CAAD,CAAN,CAAqDK,WAArD,GAxBsE,CAyBtE;;AACAN,YAAAA,MAAM,CAACD,SAAS,CAAC,QAAD,CAAV,CAAN,CAA4BO,WAA5B;AACAN,YAAAA,MAAM,CAACD,SAAS,CAAC,OAAD,CAAV,CAAN,CAA2BO,WAA3B;AACAN,YAAAA,MAAM,CAACD,SAAS,CAAC,MAAD,CAAV,CAAN,CAA0BO,WAA1B;;AA5BsE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAtE,GAAF;AA+BAX,EAAAA,EAAE,CAAC,gEAAD,uEAAmE;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBAChC,kCACjC,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,WAAW,EAAE,IALf;AAME,cAAA,WAAW,EAAE,uBAAM,CAAE,CANvB;AAOE,cAAA,YAAY,EAAE,wBAAM,CAAE,CAPxB;AAQE,cAAA,OAAO,EAAE,mBARX;AASE,cAAA,gBAAgB,EAAE;AAAEP,gBAAAA,EAAE,EAAE,WAAN;AAAmBiB,gBAAAA,UAAU,EAAE,WAA/B;AAA4CH,gBAAAA,IAAI,EAAE,MAAlD;AAA0DI,gBAAAA,IAAI,EAAE,iBAAhE;AAAmFC,gBAAAA,IAAI,eAAE,2DAAzF;AAAgGJ,gBAAAA,OAAO,EAAE;AAAzG;AATpB,cADiC,CADgC,EAC3DK,WAD2D,YAC3DA,WAD2D,EAC9CX,SAD8C,YAC9CA,SAD8C,EAcnE;;AACAC,YAAAA,MAAM,CAACD,SAAS,CAAC,mBAAD,CAAT,CAA+BY,WAAhC,CAAN,CAAmDL,WAAnD,GAfmE,CAgBnE;;AACAN,YAAAA,MAAM,CAACD,SAAS,CAAC,MAAD,CAAT,CAAkBa,QAAnB,CAAN,CAAmCN,WAAnC;;AAjBmE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAnE,GAAF;AAoBAX,EAAAA,EAAE,CAAC,sCAAD,uEAAyC;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACN,kCACjC,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,WAAW,EAAE,IALf;AAME,cAAA,WAAW,EAAE,uBAAM,CAAE,CANvB;AAOE,cAAA,YAAY,EAAE,wBAAM,CAAE,CAPxB;AAQE,cAAA,gBAAgB,EAAE;AAAEP,gBAAAA,EAAE,EAAE,WAAN;AAAmBiB,gBAAAA,UAAU,EAAE,MAA/B;AAAuCH,gBAAAA,IAAI,EAAE,WAA7C;AAA0DK,gBAAAA,IAAI,eAAE,6BAAC,cAAD,CAAa,WAAb;AAAhE,eARpB;AASE,cAAA,IAAI,EAAE,cATR;AAUE,cAAA,KAAK,EAAE;AAVT,cADiC,CADM,EACjCC,WADiC,YACjCA,WADiC,EACpBX,SADoB,YACpBA,SADoB,EAezC;;AACAC,YAAAA,MAAM,CAACD,SAAS,CAAC,WAAD,CAAT,CAAuBY,WAAxB,CAAN,CAA2CL,WAA3C,GAhByC,CAiBzC;;AACAN,YAAAA,MAAM,0BAACU,WAAW,CAACG,gBAAZ,CAA6B,SAA7B,CAAD,0DAAC,sBAAyCC,MAA1C,CAAN,CAAwDC,OAAxD,CAAgE,CAAhE,EAlByC,CAmBzC;;AACAf,YAAAA,MAAM,CAACD,SAAS,CAAC,cAAD,CAAT,CAA0Ba,QAA3B,CAAN,CAA2CN,WAA3C;;AApByC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAzC,GAAF;AAuBAX,EAAAA,EAAE,CAAC,4CAAD,uEAA+C;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACD,kCAC5C,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,UAAU,EAAE,sBAAM,CAAE,CALtB;AAME,cAAA,WAAW,EAAE,IANf;AAOE,cAAA,WAAW,EAAE,uBAAM,CAAE,CAPvB;AAQE,cAAA,YAAY,EAAE,wBAAM,CAAE;AARxB,cAD4C,CADC,EACvCa,WADuC,YACvCA,WADuC,EAC1BX,SAD0B,YAC1BA,SAD0B,EACfD,SADe,YACfA,SADe,EAa/C;;AACAE,YAAAA,MAAM,2BAACU,WAAW,CAACG,gBAAZ,CAA6B,KAA7B,CAAD,2DAAC,uBAAqCC,MAAtC,CAAN,CAAoDC,OAApD,CAA4D,CAA5D;;AAd+C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA/C,GAAF;AAiBApB,EAAAA,EAAE,CAAC,4BAAD,uEAA+B;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACe,kCAC5C,6BAAC,aAAD;AACE,cAAA,GAAG,EAAC,wBADN;AAEE,cAAA,uBAAuB,EAAE,mCAAM,CAAE,CAFnC;AAGE,cAAA,KAAK,EAAE,QAHT;AAIE,cAAA,IAAI,EAAEC,QAAKC,KAJb;AAKE,cAAA,WAAW,EAAE,IALf;AAME,cAAA,WAAW,EAAE,uBAAM,CAAE,CANvB;AAOE,cAAA,YAAY,EAAE,wBAAM,CAAE;AAPxB,4BAQE,8DARF,CAD4C,CADf,EACvBa,WADuB,YACvBA,WADuB,EACVX,SADU,YACVA,SADU,EACCD,SADD,YACCA,SADD,EAa/B;;AACAE,YAAAA,MAAM,2BAACU,WAAW,CAACG,gBAAZ,CAA6B,SAA7B,CAAD,2DAAC,uBAAyCC,MAA1C,CAAN,CAAwDC,OAAxD,CAAgE,CAAhE,EAd+B,CAe/B;;AACAf,YAAAA,MAAM,2BAACU,WAAW,CAACG,gBAAZ,CAA6B,SAA7B,CAAD,2DAAC,uBAA0C,CAA1C,EAA6CF,WAA9C,CAAN,CAAiEI,OAAjE,CAAyE,kBAAzE;;AAhB+B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA/B,GAAF;AAkBD,CA3IO,CAAR","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"}
|