@laerdal/life-react-components 1.2.1-dev.7.full → 1.2.2-dev.10

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.
Files changed (50) hide show
  1. package/dist/esm/Button/Iconbutton.js +11 -4
  2. package/dist/esm/Button/Iconbutton.js.map +1 -1
  3. package/dist/esm/InputFields/Checkbox.js +0 -1
  4. package/dist/esm/InputFields/Checkbox.js.map +1 -1
  5. package/dist/esm/InputFields/SearchBar.js +28 -31
  6. package/dist/esm/InputFields/SearchBar.js.map +1 -1
  7. package/dist/esm/NotificationDot/NotificationDot.js +1 -1
  8. package/dist/esm/NotificationDot/NotificationDot.js.map +1 -1
  9. package/dist/esm/NotificationDot/__tests__/NotificationDot.test.js +40 -0
  10. package/dist/esm/NotificationDot/__tests__/NotificationDot.test.js.map +1 -0
  11. package/dist/esm/Paginator/Paginator.js +56 -48
  12. package/dist/esm/Paginator/Paginator.js.map +1 -1
  13. package/dist/esm/Paginator/__tests__/Paginator.test.js +4 -4
  14. package/dist/esm/Paginator/__tests__/Paginator.test.js.map +1 -1
  15. package/dist/esm/Toasters/Toast.js +5 -1
  16. package/dist/esm/Toasters/Toast.js.map +1 -1
  17. package/dist/js/Button/Iconbutton.d.ts +2 -1
  18. package/dist/js/Button/Iconbutton.js +22 -11
  19. package/dist/js/Button/Iconbutton.js.map +1 -1
  20. package/dist/js/InputFields/Checkbox.js +0 -1
  21. package/dist/js/InputFields/Checkbox.js.map +1 -1
  22. package/dist/js/InputFields/SearchBar.js +28 -34
  23. package/dist/js/InputFields/SearchBar.js.map +1 -1
  24. package/dist/js/NotificationDot/NotificationDot.js +1 -1
  25. package/dist/js/NotificationDot/NotificationDot.js.map +1 -1
  26. package/dist/js/NotificationDot/__tests__/NotificationDot.test.js +86 -0
  27. package/dist/js/NotificationDot/__tests__/NotificationDot.test.js.map +1 -0
  28. package/dist/js/Paginator/Paginator.js +37 -38
  29. package/dist/js/Paginator/Paginator.js.map +1 -1
  30. package/dist/js/Paginator/__tests__/Paginator.test.js +6 -6
  31. package/dist/js/Paginator/__tests__/Paginator.test.js.map +1 -1
  32. package/dist/js/Toasters/Toast.js +8 -4
  33. package/dist/js/Toasters/Toast.js.map +1 -1
  34. package/dist/umd/Button/Iconbutton.js +22 -61
  35. package/dist/umd/Button/Iconbutton.js.map +1 -1
  36. package/dist/umd/InputFields/Checkbox.js +0 -1
  37. package/dist/umd/InputFields/Checkbox.js.map +1 -1
  38. package/dist/umd/InputFields/SearchBar.js +33 -34
  39. package/dist/umd/InputFields/SearchBar.js.map +1 -1
  40. package/dist/umd/NotificationDot/NotificationDot.js +1 -1
  41. package/dist/umd/NotificationDot/NotificationDot.js.map +1 -1
  42. package/dist/umd/NotificationDot/__tests__/NotificationDot.test.js +61 -0
  43. package/dist/umd/NotificationDot/__tests__/NotificationDot.test.js.map +1 -0
  44. package/dist/umd/Paginator/Paginator.js +57 -51
  45. package/dist/umd/Paginator/Paginator.js.map +1 -1
  46. package/dist/umd/Paginator/__tests__/Paginator.test.js +4 -4
  47. package/dist/umd/Paginator/__tests__/Paginator.test.js.map +1 -1
  48. package/dist/umd/Toasters/Toast.js +5 -1
  49. package/dist/umd/Toasters/Toast.js.map +1 -1
  50. package/package.json +10 -19
@@ -1,16 +1,16 @@
1
1
  (function (global, factory) {
2
2
  if (typeof define === "function" && define.amd) {
3
- define(["exports", "prop-types", "react", "styled-components", "react-router-dom", "../styles", "../icons/systemicons/SystemIcons", "../styles/typography"], factory);
3
+ define(["exports", "prop-types", "react", "styled-components", "react-router-dom", "../styles", "../icons/systemicons/SystemIcons", "../styles/typography", "react-router", "../Button"], factory);
4
4
  } else if (typeof exports !== "undefined") {
5
- factory(exports, require("prop-types"), require("react"), require("styled-components"), require("react-router-dom"), require("../styles"), require("../icons/systemicons/SystemIcons"), require("../styles/typography"));
5
+ factory(exports, require("prop-types"), require("react"), require("styled-components"), require("react-router-dom"), require("../styles"), require("../icons/systemicons/SystemIcons"), require("../styles/typography"), require("react-router"), require("../Button"));
6
6
  } else {
7
7
  var mod = {
8
8
  exports: {}
9
9
  };
10
- factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.reactRouterDom, global.styles, global.SystemIcons, global.typography);
10
+ factory(mod.exports, global.propTypes, global.react, global.styledComponents, global.reactRouterDom, global.styles, global.SystemIcons, global.typography, global.reactRouter, global.Button);
11
11
  global.undefined = mod.exports;
12
12
  }
13
- })(this, function (exports, _propTypes, _react, _styledComponents, _reactRouterDom, _styles, _SystemIcons, _typography) {
13
+ })(this, function (exports, _propTypes, _react, _styledComponents, _reactRouterDom, _styles, _SystemIcons, _typography, _reactRouter, _Button) {
14
14
  "use strict";
15
15
 
16
16
  Object.defineProperty(exports, "__esModule", {
@@ -96,7 +96,7 @@
96
96
  `;
97
97
  const Item = _styledComponents2.default.li`
98
98
  width: 48px;
99
- height: 45px;
99
+ height: 48px;
100
100
  display: flex;
101
101
  align-items: center;
102
102
  justify-content: center;
@@ -108,7 +108,6 @@
108
108
  width: 100%;
109
109
  height: 100%;
110
110
  text-decoration: none;
111
- border-bottom: 3px solid transparent;
112
111
 
113
112
  ${(0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600)}
114
113
 
@@ -116,9 +115,9 @@
116
115
  &:focus-within {
117
116
  box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;
118
117
  outline-width: 0;
118
+ z-index: 1;
119
119
  }
120
120
  }
121
-
122
121
  & > a:hover {
123
122
  color: ${_styles.COLORS.primary_800};
124
123
  background-color: ${_styles.COLORS.primary_20};
@@ -129,7 +128,6 @@
129
128
  background-color: ${_styles.COLORS.primary_100};
130
129
  box-shadow: none;
131
130
  }
132
-
133
131
  & > a.active {
134
132
  color: ${_styles.COLORS.neutral_800};
135
133
  background-color: ${_styles.COLORS.neutral_20};
@@ -146,22 +144,36 @@
146
144
  }
147
145
  `;
148
146
  const Dots = (0, _styledComponents2.default)(Item)`
149
- padding-top: 1%;
150
147
  cursor: not-allowed;
148
+ &:after{
149
+ ${(0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600)}
150
+ content: '...';
151
+ }
151
152
  `;
152
153
  const ItemContent = (0, _styledComponents2.default)('div')`
153
- width: 100%;
154
154
  text-align:center;
155
- display: table-cell;
156
- vertical-align:middle;
157
- `;
158
- const ItemSelected = (0, _styledComponents2.default)('div')`
155
+ display: flex;
159
156
  justify-content: center;
160
- margin: 0 20%;
161
- border-radius: 4px;
162
- text-align: center;
163
- height: 4px;
164
- background-color: ${_styles.COLORS.primary_500}
157
+ align-items: center;
158
+ position: relative;
159
+ width: 100%;
160
+ height: 100%;
161
+
162
+ &.active:after{
163
+ content: '';
164
+ position: absolute;
165
+ bottom: 4px;
166
+ width: 32px;
167
+ border-radius: 4px;
168
+ height: 4px;
169
+ background-color: ${_styles.COLORS.primary_500}
170
+ }
171
+ &.active:hover:after{
172
+ background-color: ${_styles.COLORS.primary_700}
173
+ }
174
+ &.active:active:after{
175
+ background-color: ${_styles.COLORS.primary_800}
176
+ }
165
177
  `;
166
178
 
167
179
  const Step = ({
@@ -170,30 +182,22 @@
170
182
  disabled = false,
171
183
  page,
172
184
  onPageChange,
173
- testId
185
+ id
174
186
  }) => {
175
- if (disabled) return /*#__PURE__*/React.createElement(Item, {
176
- style: {
177
- cursor: 'not-allowed'
178
- },
179
- "data-testid": `${testId}_Disabled`
180
- }, up ? /*#__PURE__*/React.createElement(_SystemIcons.ChevronRight, {
181
- size: "20",
182
- color: _styles.COLORS.neutral_300
183
- }) : /*#__PURE__*/React.createElement(_SystemIcons.ChevronLeft, {
184
- size: "20",
185
- color: _styles.COLORS.neutral_300
186
- }));
187
- return /*#__PURE__*/React.createElement(Item, {
188
- "data-testid": `${testId}_Enabled`
189
- }, /*#__PURE__*/React.createElement(_reactRouterDom.NavLink, {
190
- to: target,
191
- onClick: () => {
192
- if (onPageChange) onPageChange(page);
193
- }
194
- }, up ? /*#__PURE__*/React.createElement(_SystemIcons.ChevronRight, {
195
- size: "20"
196
- }) : /*#__PURE__*/React.createElement(_SystemIcons.ChevronLeft, null)));
187
+ const history = (0, _reactRouter.useHistory)();
188
+
189
+ const handleButtonClick = () => {
190
+ history.push(target);
191
+ onPageChange && onPageChange(page);
192
+ };
193
+
194
+ return /*#__PURE__*/React.createElement(_Button.IconButton, {
195
+ id: id,
196
+ action: event => handleButtonClick(),
197
+ variant: 'secondary',
198
+ shape: 'circular',
199
+ disabled: disabled
200
+ }, up ? /*#__PURE__*/React.createElement(_SystemIcons.ChevronRight, null) : /*#__PURE__*/React.createElement(_SystemIcons.ChevronLeft, null));
197
201
  };
198
202
 
199
203
  const Paginator = ({
@@ -233,29 +237,31 @@
233
237
  onPageChange: () => {
234
238
  if (onPageChange) onPageChange(currentPage - 1);
235
239
  },
236
- testId: "Test-StepLeft"
240
+ id: "paginator-left"
237
241
  }), pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/React.createElement(Item, null, /*#__PURE__*/React.createElement(_reactRouterDom.NavLink, {
238
242
  to: `${baseUrl}/1`,
239
243
  onClick: () => {
240
244
  if (onPageChange) onPageChange(1);
241
245
  }
242
- }, /*#__PURE__*/React.createElement(ItemContent, null, /*#__PURE__*/React.createElement("span", null, "1"), currentPage === 1 && /*#__PURE__*/React.createElement(ItemSelected, null)))), currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/React.createElement(Dots, null, /*#__PURE__*/React.createElement(_SystemIcons.MoreHorizontal, {
243
- color: _styles.COLORS.neutral_600
244
- })), pages.map(page => /*#__PURE__*/React.createElement(Item, {
246
+ }, /*#__PURE__*/React.createElement(ItemContent, {
247
+ className: currentPage === 1 ? 'active' : ''
248
+ }, /*#__PURE__*/React.createElement("span", null, "1")))), currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && /*#__PURE__*/React.createElement(Dots, null), pages.map(page => /*#__PURE__*/React.createElement(Item, {
245
249
  key: page
246
250
  }, /*#__PURE__*/React.createElement(_reactRouterDom.NavLink, {
247
251
  to: `${baseUrl}/${page}`,
248
252
  onClick: () => {
249
253
  if (onPageChange) onPageChange(page);
250
254
  }
251
- }, /*#__PURE__*/React.createElement(ItemContent, null, /*#__PURE__*/React.createElement("span", null, page), currentPage === page && /*#__PURE__*/React.createElement(ItemSelected, null))))), pageCount > 5 && currentPage <= pageCount - 3 && /*#__PURE__*/React.createElement(Dots, null, /*#__PURE__*/React.createElement(_SystemIcons.MoreHorizontal, {
252
- color: _styles.COLORS.neutral_600
253
- })), pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && /*#__PURE__*/React.createElement(Item, null, /*#__PURE__*/React.createElement(_reactRouterDom.NavLink, {
255
+ }, /*#__PURE__*/React.createElement(ItemContent, {
256
+ className: currentPage === page ? 'active' : ''
257
+ }, /*#__PURE__*/React.createElement("span", null, page))))), pageCount > 5 && currentPage <= pageCount - 3 && /*#__PURE__*/React.createElement(Dots, null), pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && /*#__PURE__*/React.createElement(Item, null, /*#__PURE__*/React.createElement(_reactRouterDom.NavLink, {
254
258
  to: `${baseUrl}/${pageCount}`,
255
259
  onClick: () => {
256
260
  if (onPageChange) onPageChange(pageCount);
257
261
  }
258
- }, /*#__PURE__*/React.createElement(ItemContent, null, /*#__PURE__*/React.createElement("span", null, pageCount), currentPage === pageCount && /*#__PURE__*/React.createElement(ItemSelected, null)))), /*#__PURE__*/React.createElement(Step, {
262
+ }, /*#__PURE__*/React.createElement(ItemContent, {
263
+ className: currentPage === pageCount ? 'active' : ''
264
+ }, /*#__PURE__*/React.createElement("span", null, pageCount)))), /*#__PURE__*/React.createElement(Step, {
259
265
  up: true,
260
266
  target: `${baseUrl}/${currentPage + 1}`,
261
267
  page: currentPage + 1,
@@ -263,7 +269,7 @@
263
269
  onPageChange: () => {
264
270
  if (onPageChange) onPageChange(currentPage + 1);
265
271
  },
266
- testId: "Test-StepRight"
272
+ id: "paginator-right"
267
273
  })));
268
274
  };
269
275
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Paginator/Paginator.tsx"],"names":["Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","ComponentMStyling","ComponentTextStyle","COLORS","primary_800","primary_20","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","ItemSelected","primary_500","pageCount","currentPage","baseUrl","onPageChange","Step","up","target","disabled","testId","cursor","neutral_300","Paginator","pages","from","to","i","item","neutral_600","page"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronLeft, ChevronRight, MoreHorizontal} from '../icons/systemicons/SystemIcons';\nimport {ComponentMStyling} from '../styles/typography';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 45px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n border-bottom: 3px solid transparent;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline-width: 0;\n }\n }\n\n & > a:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n box-shadow: none;\n }\n & > a:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n }\n\n & > a.active {\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n box-shadow: none;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n padding-top: 1%;\n cursor: not-allowed;\n`;\n\nconst ItemContent = styled('div')`\n width: 100%;\n text-align:center;\n display: table-cell;\n vertical-align:middle;\n`\nconst ItemSelected = styled('div')`\n justify-content: center;\n margin: 0 20%;\n border-radius: 4px;\n text-align: center;\n height: 4px;\n background-color: ${COLORS.primary_500}\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n testId,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n testId?: string;\n}) => {\n if (disabled)\n return (\n <Item style={{ cursor: 'not-allowed' }} data-testid={`${testId}_Disabled`}>\n {up ? <ChevronRight size=\"20\" color={COLORS.neutral_300} /> : <ChevronLeft size=\"20\" color={COLORS.neutral_300} />}\n </Item>\n );\n return (\n <Item data-testid={`${testId}_Enabled`}>\n <NavLink\n to={target}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n {up ? <ChevronRight size=\"20\" /> : <ChevronLeft />}\n </NavLink>\n </Item>\n );\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step\n up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n testId=\"Test-StepLeft\"\n />\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent>\n <span>1</span>\n {currentPage === 1 && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent>\n <span>{page}</span>\n {currentPage === page && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots>\n <MoreHorizontal color={COLORS.neutral_600} />\n </Dots>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent>\n <span>{pageCount}</span>\n {currentPage === pageCount && <ItemSelected />}\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step\n up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n testId=\"Test-StepRight\"\n />\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"file":"Paginator.js"}
1
+ {"version":3,"sources":["../../../src/Paginator/Paginator.tsx"],"names":["Container","styled","nav","BREAKPOINTS","MEDIUM","Items","ul","Item","li","ComponentMStyling","ComponentTextStyle","COLORS","primary_800","primary_20","primary_700","primary_100","neutral_800","neutral_20","Dots","ItemContent","primary_500","pageCount","currentPage","baseUrl","onPageChange","Step","up","target","disabled","id","history","handleButtonClick","event","Paginator","pages","from","to","i","item","page"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {NavLink} from 'react-router-dom';\nimport {BREAKPOINTS, COLORS, ComponentTextStyle} from '../styles';\nimport {ChevronLeft, ChevronRight} from '../icons/systemicons/SystemIcons';\nimport {ComponentMStyling} from '../styles/typography';\nimport {useHistory} from 'react-router';\nimport {IconButton} from '../Button';\n\nconst Container = styled.nav`\n margin: 20px 0;\n display: flex;\n justify-content: center;\n\n ${BREAKPOINTS.MEDIUM} {\n width: 75%;\n }\n`;\n\nconst Items = styled.ul`\n margin: 0;\n padding: 0;\n list-style: none;\n display: flex;\n`;\n\nconst Item = styled.li`\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n\n & > * {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n text-decoration: none;\n\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n\n &:focus,\n &:focus-within {\n box-shadow: 0px 4px 12px rgba(46, 127, 161, 0.25), 0px 0px 8px #2e7fa1;\n outline-width: 0;\n z-index: 1;\n }\n }\n & > a:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n box-shadow: none;\n }\n & > a:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n box-shadow: none;\n }\n & > a.active {\n color: ${COLORS.neutral_800};\n background-color: ${COLORS.neutral_20};\n cursor: default;\n box-shadow: none;\n &:hover {\n color: ${COLORS.primary_800};\n background-color: ${COLORS.primary_20};\n }\n &:active {\n color: ${COLORS.primary_700};\n background-color: ${COLORS.primary_100};\n }\n }\n`;\n\nconst Dots = styled(Item)`\n cursor: not-allowed;\n &:after{\n ${ComponentMStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n content: '...';\n }\n`;\n\nconst ItemContent = styled('div')`\n text-align:center;\n display: flex;\n justify-content: center;\n align-items: center;\n position: relative;\n width: 100%;\n height: 100%;\n \n &.active:after{\n content: '';\n position: absolute;\n bottom: 4px;\n width: 32px;\n border-radius: 4px;\n height: 4px;\n background-color: ${COLORS.primary_500}\n }\n &.active:hover:after{\n background-color: ${COLORS.primary_700}\n }\n &.active:active:after{\n background-color: ${COLORS.primary_800}\n }\n`\n\ntype PaginatorProps = {\n pageCount: number;\n currentPage: number;\n baseUrl: string;\n onPageChange?: (page: number) => void;\n};\n\nconst Step = ({\n up = true,\n target = '',\n disabled = false,\n page,\n onPageChange,\n id,\n}: {\n up: boolean;\n target: string;\n disabled: boolean;\n page: number;\n onPageChange?: (page: number) => void;\n id?: string;\n}) => {\n const history = useHistory();\n\n const handleButtonClick = () => {\n history.push(target);\n onPageChange && onPageChange(page);\n }\n\n return (\n <IconButton id={id}\n action={event => handleButtonClick()}\n variant={'secondary'}\n shape={'circular'}\n disabled={disabled}>\n {up ? <ChevronRight/> : <ChevronLeft/>}\n </IconButton>\n )\n};\n\nconst Paginator = ({ pageCount = 1, currentPage = 1, baseUrl = '', onPageChange }: PaginatorProps) => {\n const pages = [];\n let from = 2;\n let to = 4;\n if (pageCount === 0) return null;\n\n if (pageCount > 1) {\n if (currentPage >= 4 && currentPage <= pageCount - 2) {\n from = currentPage - 1;\n to = currentPage + 1;\n } else if (pageCount - 2 > 1 && currentPage > pageCount - 2) {\n from = pageCount - 3;\n to = pageCount - 1;\n }\n if (to > pageCount) {\n to = pageCount;\n }\n for (let i = from; i <= to; i += 1) {\n pages.push(i);\n }\n }\n\n return (\n <Container>\n <Items>\n <Step up={false}\n target={`${baseUrl}/${currentPage - 1}`}\n page={currentPage - 1}\n disabled={currentPage === 1}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage - 1);\n }}\n id=\"paginator-left\"/>\n {pages.findIndex(item => item === 1) === -1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/1`}\n onClick={() => {\n if (onPageChange) onPageChange(1);\n }}>\n <ItemContent className={currentPage === 1 ? 'active' : ''}>\n <span>1</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n {currentPage >= 4 && pageCount > 5 && pageCount && pages.findIndex(item => item === 1) === -1 && (\n <Dots/>\n )}\n {pages.map(page => (\n <Item key={page}>\n <NavLink\n to={`${baseUrl}/${page}`}\n onClick={() => {\n if (onPageChange) onPageChange(page);\n }}>\n <ItemContent className={currentPage === page ? 'active' : ''}>\n <span>{page}</span>\n </ItemContent>\n </NavLink>\n </Item>\n ))}\n {pageCount > 5 && currentPage <= pageCount - 3 && (\n <Dots/>\n )}\n {pages.findIndex(item => item === pageCount) === -1 && pageCount !== 1 && (\n <Item>\n <NavLink\n to={`${baseUrl}/${pageCount}`}\n onClick={() => {\n if (onPageChange) onPageChange(pageCount);\n }}>\n <ItemContent className={currentPage === pageCount ? 'active' : ''}>\n <span>{pageCount}</span>\n </ItemContent>\n </NavLink>\n </Item>\n )}\n <Step up\n target={`${baseUrl}/${currentPage + 1}`}\n page={currentPage + 1}\n disabled={currentPage === pageCount}\n onPageChange={() => {\n if (onPageChange) onPageChange(currentPage + 1);\n }}\n id=\"paginator-right\"/>\n </Items>\n </Container>\n );\n};\n\nexport default Paginator;\n"],"file":"Paginator.js"}
@@ -86,7 +86,7 @@
86
86
  history.push(route);
87
87
  const {
88
88
  queryByText,
89
- getByTestId
89
+ container
90
90
  } = (0, _react3.render)( /*#__PURE__*/_react2.default.createElement(_reactRouter.Router, {
91
91
  history: history
92
92
  }, /*#__PURE__*/_react2.default.createElement(_index.Paginator, {
@@ -96,11 +96,11 @@
96
96
  onPageChange: () => {}
97
97
  })));
98
98
  expect(queryByText('1')).toBeDefined();
99
- expect(getByTestId('Test-StepLeft_Disabled')).toBeDefined();
100
- expect(getByTestId('Test-StepRight_Enabled')).toBeDefined();
99
+ expect(container.querySelector('#paginator-left')).toBeDefined();
100
+ expect(container.querySelector('#paginator-right')).toBeDefined();
101
101
  expect(queryByText('6')).toBeDefined(); // Click on stepper to the right. Expect to be taken from 1 to 2
102
102
 
103
- getByTestId('Test-StepRight_Enabled').children[0].click();
103
+ container.querySelector('#paginator-right')?.click();
104
104
  expect(history.location.pathname).toBe('/2'); // Click directly on 6. Expect to be taken to /6
105
105
 
106
106
  queryByText('6')?.click();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/Paginator/__tests__/Paginator.test.tsx"],"names":["jest","useLocation","pathname","describe","it","history","route","getByTestId","render","expect","queryByText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOAA,EAAAA,IAAI,CAAJA,IAAAA,CAAAA,kBAAAA,EAA8B,MAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EACzBA,IAAI,CAAJA,aAAAA,CADyB,kBACzBA,CADyB,CAAA,EAAA,EAAA,EAAA;AAE5BC,IAAAA,WAAW,EAAE,OAAO;AAClBC,MAAAA,QAAQ,EAAE;AADQ,KAAP;AAFe,GAAA,CAA9BF;AAOAG,EAAAA,QAAQ,CAAA,eAAA,EAAkB,MAAM;AAC9BC,IAAAA,EAAE,CAAA,mBAAA,EAAsB,YAAY;AAClC,YAAMC,OAAO,GAAb,mCAAA;AACA,YAAMC,KAAK,GAAX,IAAA;AACAD,MAAAA,OAAO,CAAPA,IAAAA,CAAAA,KAAAA;AACA,YAAM;AAAA,QAAA,WAAA;AAAeE,QAAAA;AAAf,UAA+BC,qBAAM,aACzC,gBAAA,aAAA,CAAA,mBAAA,EAAA;AAAQ,QAAA,OAAO,EAAEH;AAAjB,OAAA,EAAA,aACE,gBAAA,aAAA,CAAA,gBAAA,EAAA;AAAW,QAAA,SAAS,EAApB,CAAA;AAAyB,QAAA,WAAW,EAApC,CAAA;AAAyC,QAAA,OAAO,EAAhD,EAAA;AAAoD,QAAA,YAAY,EAAE,MAAM,CAAE;AAA1E,OAAA,CADF,CADmCG,CAArC;AAKAC,MAAAA,MAAM,CAACC,WAAW,CAAlBD,GAAkB,CAAZ,CAANA,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACF,WAAW,CAAlBE,wBAAkB,CAAZ,CAANA,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACF,WAAW,CAAlBE,wBAAkB,CAAZ,CAANA,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACC,WAAW,CAAlBD,GAAkB,CAAZ,CAANA,CAZkC,WAYlCA,GAZkC,CAclC;;AACCF,MAAAA,WAAW,CAAXA,wBAAW,CAAXA,CAAAA,QAAAA,CAAD,CAACA,EAAD,KAACA;AACDE,MAAAA,MAAM,CAACJ,OAAO,CAAPA,QAAAA,CAAPI,QAAM,CAANA,CAAAA,IAAAA,CAhBkC,IAgBlCA,EAhBkC,CAkBlC;;AACAC,MAAAA,WAAW,CAAXA,GAAW,CAAXA,EAAAA,KAAAA;AACAD,MAAAA,MAAM,CAACJ,OAAO,CAAPA,QAAAA,CAAPI,QAAM,CAANA,CAAAA,IAAAA,CAAAA,IAAAA;AApBFL,KAAE,CAAFA;AADFD,GAAQ,CAARA","sourcesContent":["import React, { useState } from 'react';\nimport { render } from '@testing-library/react';\nimport { Paginator } from '../index';\nimport { Router } from 'react-router';\nimport { createMemoryHistory } from 'history';\nimport 'jest-styled-components';\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useLocation: () => ({\n pathname: 'localhost:3000/test',\n }),\n}));\n\ndescribe('<Paginator />', () => {\n it('Renders Paginator', async () => {\n const history = createMemoryHistory();\n const route = '/1';\n history.push(route);\n const { queryByText, getByTestId } = render(\n <Router history={history}>\n <Paginator pageCount={6} currentPage={1} baseUrl=\"\" onPageChange={() => {}} />\n </Router>,\n );\n expect(queryByText('1')).toBeDefined();\n expect(getByTestId('Test-StepLeft_Disabled')).toBeDefined();\n expect(getByTestId('Test-StepRight_Enabled')).toBeDefined();\n expect(queryByText('6')).toBeDefined();\n\n // Click on stepper to the right. Expect to be taken from 1 to 2\n (getByTestId('Test-StepRight_Enabled').children[0] as HTMLElement).click();\n expect(history.location.pathname).toBe('/2');\n\n // Click directly on 6. Expect to be taken to /6\n queryByText('6')?.click();\n expect(history.location.pathname).toBe('/6');\n });\n});\n"],"file":"Paginator.test.js"}
1
+ {"version":3,"sources":["../../../../src/Paginator/__tests__/Paginator.test.tsx"],"names":["jest","useLocation","pathname","describe","it","history","route","container","render","expect","queryByText"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOAA,EAAAA,IAAI,CAAJA,IAAAA,CAAAA,kBAAAA,EAA8B,MAAA,aAAA,CAAA,aAAA,CAAA,EAAA,EACzBA,IAAI,CAAJA,aAAAA,CADyB,kBACzBA,CADyB,CAAA,EAAA,EAAA,EAAA;AAE5BC,IAAAA,WAAW,EAAE,OAAO;AAClBC,MAAAA,QAAQ,EAAE;AADQ,KAAP;AAFe,GAAA,CAA9BF;AAOAG,EAAAA,QAAQ,CAAA,eAAA,EAAkB,MAAM;AAC9BC,IAAAA,EAAE,CAAA,mBAAA,EAAsB,YAAY;AAClC,YAAMC,OAAO,GAAb,mCAAA;AACA,YAAMC,KAAK,GAAX,IAAA;AACAD,MAAAA,OAAO,CAAPA,IAAAA,CAAAA,KAAAA;AACA,YAAM;AAAA,QAAA,WAAA;AAAeE,QAAAA;AAAf,UAA6BC,qBAAM,aACvC,gBAAA,aAAA,CAAA,mBAAA,EAAA;AAAQ,QAAA,OAAO,EAAEH;AAAjB,OAAA,EAAA,aACE,gBAAA,aAAA,CAAA,gBAAA,EAAA;AAAW,QAAA,SAAS,EAApB,CAAA;AAAyB,QAAA,WAAW,EAApC,CAAA;AAAyC,QAAA,OAAO,EAAhD,EAAA;AAAoD,QAAA,YAAY,EAAE,MAAM,CAAE;AAA1E,OAAA,CADF,CADiCG,CAAnC;AAMAC,MAAAA,MAAM,CAACC,WAAW,CAAlBD,GAAkB,CAAZ,CAANA,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACF,SAAS,CAATA,aAAAA,CAAPE,iBAAOF,CAAD,CAANE,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACF,SAAS,CAATA,aAAAA,CAAPE,kBAAOF,CAAD,CAANE,CAAAA,WAAAA;AACAA,MAAAA,MAAM,CAACC,WAAW,CAAlBD,GAAkB,CAAZ,CAANA,CAbkC,WAalCA,GAbkC,CAelC;;AACCF,MAAAA,SAAS,CAATA,aAAAA,CAAD,kBAACA,GAAD,KAACA;AACDE,MAAAA,MAAM,CAACJ,OAAO,CAAPA,QAAAA,CAAPI,QAAM,CAANA,CAAAA,IAAAA,CAjBkC,IAiBlCA,EAjBkC,CAmBlC;;AACAC,MAAAA,WAAW,CAAXA,GAAW,CAAXA,EAAAA,KAAAA;AACAD,MAAAA,MAAM,CAACJ,OAAO,CAAPA,QAAAA,CAAPI,QAAM,CAANA,CAAAA,IAAAA,CAAAA,IAAAA;AArBFL,KAAE,CAAFA;AADFD,GAAQ,CAARA","sourcesContent":["import React, { useState } from 'react';\nimport { render } from '@testing-library/react';\nimport { Paginator } from '../index';\nimport { Router } from 'react-router';\nimport { createMemoryHistory } from 'history';\nimport 'jest-styled-components';\n\njest.mock('react-router-dom', () => ({\n ...jest.requireActual('react-router-dom'),\n useLocation: () => ({\n pathname: 'localhost:3000/test',\n }),\n}));\n\ndescribe('<Paginator />', () => {\n it('Renders Paginator', async () => {\n const history = createMemoryHistory();\n const route = '/1';\n history.push(route);\n const { queryByText, container } = render(\n <Router history={history}>\n <Paginator pageCount={6} currentPage={1} baseUrl=\"\" onPageChange={() => {}} />\n </Router>,\n );\n\n expect(queryByText('1')).toBeDefined();\n expect(container.querySelector('#paginator-left')).toBeDefined();\n expect(container.querySelector('#paginator-right')).toBeDefined();\n expect(queryByText('6')).toBeDefined();\n\n // Click on stepper to the right. Expect to be taken from 1 to 2\n (container.querySelector('#paginator-right') as HTMLElement)?.click();\n expect(history.location.pathname).toBe('/2');\n\n // Click directly on 6. Expect to be taken to /6\n queryByText('6')?.click();\n expect(history.location.pathname).toBe('/6');\n });\n});\n"],"file":"Paginator.test.js"}
@@ -359,7 +359,11 @@
359
359
  }
360
360
 
361
361
  const theme = _types.ToastColor[opts.color ?? _types.ToastColor.BLACK];
362
- setTimeout(() => elementRef?.current?.focus());
362
+
363
+ if (!shouldRemove) {
364
+ setTimeout(() => elementRef?.current?.focus());
365
+ }
366
+
363
367
  return /*#__PURE__*/React.createElement(Container, {
364
368
  "data-testid": testId,
365
369
  animation: prop,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Toasters/Toast.tsx"],"names":["LoaderAnimationKeyframes","keyframes","Loader","styled","div","props","duration","ToastColor","COLORS","neutral_200","neutral_800","neutral_400","white","accent1_200","accent1_600","correct_200","correct_500","warning_200","warning_500","critical_200","critical_500","Container","BOXSHADOWS","BOXSHADOW_L2","bezier","transform","ComponentSStyling","ComponentTextStyle","HyperLinkInvertedStyling","black","HyperLinkDefaultStyling","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","autoClose","delay","showCloseButton","action","label","handler","icon","remove","content","options","testId","DEFAULT_OPTIONS","color","position","ToastPosition","enterFrom","ToastEntryDirection","TOP","Toast","removeRef","React","elementRef","width","height","opts","id","setTimeout","setShouldRemove","clearTimeout","setDimensions","clientWidth","animation","animations","shouldRemove","direction","fromY","dimensions","toY","fromX","toX","prop","theme","Size","ToastActionType","event","enter","fromHeight","toHeight","fromWidth","toWidth","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n background-color: transparent;\n border: none;\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n & > button:focus:not(:disabled):not(:active):not(:hover) div svg path {\n fill: ${COLORS.white};\n }\n\n & div svg path {\n fill: ${COLORS.white};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n & div svg path {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n setTimeout(() => elementRef?.current?.focus());\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.js"}
1
+ {"version":3,"sources":["../../../src/Toasters/Toast.tsx"],"names":["LoaderAnimationKeyframes","keyframes","Loader","styled","div","props","duration","ToastColor","COLORS","neutral_200","neutral_800","neutral_400","white","accent1_200","accent1_600","correct_200","correct_500","warning_200","warning_500","critical_200","critical_500","Container","BOXSHADOWS","BOXSHADOW_L2","bezier","transform","ComponentSStyling","ComponentTextStyle","HyperLinkInvertedStyling","black","HyperLinkDefaultStyling","ActionButtons","CloseButton","neutral_600","TextContainer","span","IconContainer","autoClose","delay","showCloseButton","action","label","handler","icon","remove","content","options","testId","DEFAULT_OPTIONS","color","position","ToastPosition","enterFrom","ToastEntryDirection","TOP","Toast","removeRef","React","elementRef","width","height","opts","id","setTimeout","setShouldRemove","clearTimeout","setDimensions","clientWidth","animation","animations","shouldRemove","direction","fromY","dimensions","toY","fromX","toX","prop","theme","Size","ToastActionType","event","enter","fromHeight","toHeight","fromWidth","toWidth","leave"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { ToastActionType, ToastColor, ToastEntryDirection, ToastPosition } from '../types';\nimport { BOXSHADOWS, COLORS, TYPOGRAPHY } from '../styles';\nimport { Close } from '../icons/systemicons/SystemIcons';\nimport { Size } from '../types' \nimport { Button, IconButton } from '../Button';\nimport { ComponentSStyling, ComponentTextStyle } from '../styles/typography';\nimport {HyperLinkDefaultStyling, HyperLinkInvertedStyling} from '../HyperLink';\n\nconst LoaderAnimationKeyframes = keyframes`\n 0% {\n background-position: right;\n }\n 100% {\n background-position: left;\n }\n`;\n\nconst Loader = styled.div<{ duration: number }>`\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 4px;\n border-bottom-left-radius: 8px;\n border-bottom-right-radius: 8px;\n\n animation: ${LoaderAnimationKeyframes} ${(props) => props.duration}ms cubic-bezier(0.18, 0.39, 0.35, 1);\n\n &.${ToastColor[ToastColor.BLACK]} {\n background: linear-gradient(to right, ${COLORS.neutral_200} 50%, ${COLORS.neutral_800} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background: linear-gradient(to right, ${COLORS.neutral_400} 50%, ${COLORS.white} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background: linear-gradient(to right, ${COLORS.accent1_200} 50%, ${COLORS.accent1_600} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background: linear-gradient(to right, ${COLORS.correct_200} 50%, ${COLORS.correct_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background: linear-gradient(to right, ${COLORS.warning_200} 50%, ${COLORS.warning_500} 50%) left;\n background-size: 200% 100%;\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background: linear-gradient(to right, ${COLORS.critical_200} 50%, ${COLORS.critical_500} 50%) left;\n background-size: 200% 100%;\n }\n`;\n\nconst Container = styled.div<{ animation: { duration: string; bezier: string; transform: string; keyframes: any }; withLoader: boolean; withClose: boolean }>`\n box-shadow: ${BOXSHADOWS.BOXSHADOW_L2};\n border-radius: 4px;\n\n animation: ${(props) => props.animation.keyframes} ${(props) => props.animation.duration} ${(props) => props.animation.bezier};\n transform: ${(props) => props.animation.transform};\n\n transition: all 300ms cubic-bezier(0.64, 0.04, 0.35, 1);\n\n padding: 0 ${(props) => (props.withClose ? '0' : '16px')} ${(props) => (props.withLoader ? '4px' : '0')} 16px;\n\n margin-bottom: 8px;\n display: flex;\n align-items: center;\n gap: 16px;\n justify-content: left;\n\n position: relative;\n\n width: max-content;\n min-height: 48px;\n box-sizing: border-box;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, COLORS.white)}\n\n & a {\n display: inline;\n ${HyperLinkInvertedStyling}\n }\n\n &.${ToastColor[ToastColor.BLACK]} {\n background-color: ${COLORS.neutral_800};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n background-color: ${COLORS.white};\n color: ${COLORS.black};\n\n & a {\n ${HyperLinkDefaultStyling}\n }\n }\n\n &.${ToastColor[ToastColor.BLUE]} {\n background-color: ${COLORS.accent1_600};\n }\n\n &.${ToastColor[ToastColor.GREEN]} {\n background-color: ${COLORS.correct_500};\n }\n\n &.${ToastColor[ToastColor.ORANGE]} {\n background-color: ${COLORS.warning_500};\n }\n\n &.${ToastColor[ToastColor.RED]} {\n background-color: ${COLORS.critical_500};\n }\n`;\n\nconst ActionButtons = styled.div`\n display: flex;\n flex-direction: row;\n gap: 8px;\n align-items: center;\n\n & .action {\n height: unset;\n }\n`;\n\nconst CloseButton = styled.div`\n & > button {\n background-color: transparent;\n border: none;\n margin-left: 16px;\n\n & svg {\n padding: 0;\n }\n }\n\n & > button:focus:not(:disabled):not(:active):not(:hover) div svg path {\n fill: ${COLORS.white};\n }\n\n & div svg path {\n fill: ${COLORS.white};\n }\n\n &.${ToastColor[ToastColor.WHITE]} {\n & div svg path {\n fill: ${COLORS.neutral_600};\n }\n }\n`;\n\nconst TextContainer = styled.span`\n font-feature-settings: 'liga' off;\n width: 240px;\n display: flex;\n padding: 16px 0;\n`;\n\nconst IconContainer = styled.span`\n margin-right: -8px;\n`;\n\nexport type ToastOptions = {\n color?: ToastColor;\n autoClose?: boolean;\n delay?: number;\n showCloseButton?: boolean;\n action?: {\n label: string;\n handler: () => void;\n type?: ToastActionType;\n }[];\n position: ToastPosition;\n enterFrom?: ToastEntryDirection;\n icon?: React.ReactNode;\n};\n\ntype Props = {\n remove?: any;\n content: any;\n options?: ToastOptions;\n testId?: string;\n};\n\nconst DEFAULT_OPTIONS: ToastOptions = {\n color: ToastColor.BLACK,\n autoClose: true,\n delay: 5000,\n showCloseButton: false,\n position: ToastPosition.TOPLEFT,\n enterFrom: ToastEntryDirection.TOP,\n};\n\nconst Toast = ({ content, remove, options = DEFAULT_OPTIONS, testId }: Props) => {\n const removeRef = React.useRef();\n removeRef.current = remove;\n\n const elementRef = React.useRef<any>(null);\n\n const [shouldRemove, setShouldRemove] = React.useState(false);\n const [dimensions, setDimensions] = React.useState<{ width: number; height: number }>({ width: 0, height: 0 });\n\n const opts = { ...DEFAULT_OPTIONS, ...options };\n\n React.useEffect(() => {\n if (opts?.autoClose) {\n // @ts-ignore\n const id = setTimeout(() => setShouldRemove(true), opts.delay);\n return () => clearTimeout(id);\n }\n return undefined;\n }, []);\n\n React.useEffect(() => {\n if (shouldRemove) {\n // @ts-ignore\n const id = setTimeout(() => removeRef.current(), 200);\n return () => clearTimeout(id);\n }\n }, [shouldRemove]);\n\n React.useEffect(() => {\n setDimensions({ height: elementRef.current?.clientHeight, width: elementRef.current?.clientWidth });\n }, []);\n\n const animation = animations[shouldRemove ? 'leave' : 'enter'];\n const direction = animation[opts.enterFrom ?? ToastEntryDirection.TOP];\n\n const fromY = dimensions.height * direction.fromHeight;\n const toY = dimensions.height * direction.toHeight;\n const fromX = dimensions.width * direction.fromWidth;\n const toX = dimensions.width * direction.toWidth;\n\n let prop = {\n duration: animation.duration,\n bezier: animation.bezier,\n transform: `translateY(${toY}) translateX(${toX})`,\n keyframes: keyframes`\n 0% {\n transform: translateY(${fromY}px) translateX(${fromX}px);\n }\n 100% {\n transform: translateY(${toY}px) translateX(${toX}px);\n }`,\n };\n\n if (!dimensions.height) {\n prop = {\n ...prop,\n ...{\n transform: 'translateY(-1000vh) translateX(-1000vw)',\n keyframes: keyframes``,\n },\n };\n }\n\n const theme = ToastColor[opts.color ?? ToastColor.BLACK];\n\n if (!shouldRemove){\n setTimeout(() => elementRef?.current?.focus());\n }\n\n return (\n <Container data-testid={testId} animation={prop} ref={elementRef} withLoader={!!opts.autoClose} className={theme} withClose={!!opts.showCloseButton} tabIndex={-1}>\n {opts.icon && <IconContainer>{opts.icon}</IconContainer>}\n <TextContainer className={'description'}>{content}</TextContainer>\n {opts.action && (\n <ActionButtons>\n {opts.action.map((action, i) => (\n <Button\n size={Size.Small}\n variant={action.type === ToastActionType.SECONDARY ? 'secondary' : 'primary'}\n colorTheme={opts.color !== ToastColor.WHITE ? 'dark' : 'teal'}\n key={i}\n onClick={() => {\n setShouldRemove(true);\n action.handler();\n }}\n className={'action'}>\n {action.label}\n </Button>\n ))}\n </ActionButtons>\n )}\n {opts.showCloseButton && (\n <CloseButton className={`close-button ${theme}`}>\n <IconButton variant=\"secondary\" shape=\"circular\" useTransparentBackground action={(event) => setShouldRemove(true)}>\n <Close size=\"24px\" color={COLORS.neutral_600} />\n </IconButton>\n </CloseButton>\n )}\n {!!opts.autoClose && <Loader className={`loader ${theme}`} duration={opts.delay ?? 0} />}\n </Container>\n );\n};\n\nexport default Toast;\n\nconst animations = {\n enter: {\n bezier: 'cubic-bezier(0.22, 0.61, 0.35, 1)',\n duration: '300ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: -1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 1,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: -1,\n toWidth: 0,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 1,\n toWidth: 0,\n },\n },\n leave: {\n bezier: 'cubic-bezier(0.5, 0.05, 0.67, 0.19)',\n duration: '205ms',\n [ToastEntryDirection.TOP]: {\n fromHeight: 0,\n toHeight: -1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.BOTTOM]: {\n fromHeight: 0,\n toHeight: 1,\n fromWidth: 0,\n toWidth: 0,\n },\n [ToastEntryDirection.LEFT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: -1,\n },\n [ToastEntryDirection.RIGHT]: {\n fromHeight: 0,\n toHeight: 0,\n fromWidth: 0,\n toWidth: 1,\n },\n },\n};\n"],"file":"Toast.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@laerdal/life-react-components",
3
- "version": "1.2.1-dev.7.full",
3
+ "version": "1.2.2-dev.10",
4
4
  "private": false,
5
5
  "author": "Thomas Kalve <thomas.kalve@laerdal.com>",
6
6
  "contributors": [
@@ -12,23 +12,9 @@
12
12
  "main": "dist/js/index.js",
13
13
  "types": "dist/js/index.d.ts",
14
14
  "dependencies": {
15
- "@babel/plugin-proposal-class-properties": "^7.10.1",
16
- "@babel/plugin-proposal-object-rest-spread": "^7.10.3",
17
- "@babel/plugin-transform-typescript": "^7.10.3",
18
- "@babel/preset-env": "^7.10.3",
19
- "@babel/preset-react": "^7.10.1",
20
- "@testing-library/jest-dom": "^5.14.1",
21
- "@testing-library/react": "^11.2.2",
22
- "@testing-library/user-event": "^7.1.2",
23
- "@types/jest": "^26.0.24",
24
15
  "@types/node": "^12.0.0",
25
16
  "@types/react": "^16.9.0",
26
- "@types/react-dom": "^16.9.0",
27
17
  "animated-scroll-to": "^2.2.0",
28
- "babel-plugin-inline-react-svg": "^2.0.1",
29
- "cross-env": "^7.0.3",
30
- "fs-extra": "^9.0.1",
31
- "glob": "^7.1.6",
32
18
  "moment": "^2.29.1",
33
19
  "react-datepicker": "^3.7.0",
34
20
  "react-modal": "^3.11.2",
@@ -69,6 +55,11 @@
69
55
  },
70
56
  "devDependencies": {
71
57
  "@babel/cli": "^7.10.1",
58
+ "@babel/plugin-proposal-class-properties": "^7.10.1",
59
+ "@babel/plugin-proposal-object-rest-spread": "^7.10.3",
60
+ "@babel/plugin-transform-typescript": "^7.10.3",
61
+ "@babel/preset-env": "^7.10.3",
62
+ "@babel/preset-react": "^7.10.1",
72
63
  "@babel/plugin-proposal-export-default-from": "^7.10.1",
73
64
  "@testing-library/jest-dom": "^5.14.1",
74
65
  "@testing-library/react": "^11.2.2",
@@ -80,7 +71,9 @@
80
71
  "@types/styled-components": "^5.1.0",
81
72
  "babel-plugin-transform-es2015-modules-umd": "^6.24.1",
82
73
  "babel-plugin-typescript-to-proptypes": "^1.3.2",
74
+ "babel-plugin-inline-react-svg": "^2.0.1",
83
75
  "concurrently": "^5.2.0",
76
+ "cross-env": "^7.0.3",
84
77
  "jest": "^26.6.3",
85
78
  "jest-styled-components": "^7.0.5",
86
79
  "jest-svg-transformer": "^1.0.0",
@@ -91,10 +84,8 @@
91
84
  "ts-jest": "^26.5.6"
92
85
  },
93
86
  "peerDependencies": {
94
- "react": "^16.13.1",
95
- "react-dom": "^16.13.1",
96
- "react-router": "^5.2.0",
97
- "react-router-dom": "^5.2.0"
87
+ "react": "^16 || ^17",
88
+ "react-router-dom": "^5"
98
89
  },
99
90
  "keywords": [],
100
91
  "license": "UNLICENSED",