@laerdal/life-react-components 1.2.2-dev.15 → 1.2.2-dev.15.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.
Files changed (69) hide show
  1. package/dist/esm/Accordion/AccordionItem.js +46 -0
  2. package/dist/esm/Accordion/AccordionItem.js.map +1 -0
  3. package/dist/esm/Accordion/AccordionMenu.js +35 -0
  4. package/dist/esm/Accordion/AccordionMenu.js.map +1 -0
  5. package/dist/esm/Accordion/__tests__/AccordionMenu.test.js +53 -0
  6. package/dist/esm/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  7. package/dist/esm/Accordion/index.js +4 -0
  8. package/dist/esm/Accordion/index.js.map +1 -0
  9. package/dist/esm/Accordion/styles.js +59 -0
  10. package/dist/esm/Accordion/styles.js.map +1 -0
  11. package/dist/esm/HyperLink/HyperLink.js +12 -23
  12. package/dist/esm/HyperLink/HyperLink.js.map +1 -1
  13. package/dist/esm/Modals/ModalDialog.js +14 -53
  14. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  15. package/dist/esm/Modals/ModalStyles.js +1 -14
  16. package/dist/esm/Modals/ModalStyles.js.map +1 -1
  17. package/dist/esm/index.js +1 -0
  18. package/dist/esm/index.js.map +1 -1
  19. package/dist/js/Accordion/AccordionItem.d.ts +9 -0
  20. package/dist/js/Accordion/AccordionItem.js +58 -0
  21. package/dist/js/Accordion/AccordionItem.js.map +1 -0
  22. package/dist/js/Accordion/AccordionMenu.d.ts +15 -0
  23. package/dist/js/Accordion/AccordionMenu.js +55 -0
  24. package/dist/js/Accordion/AccordionMenu.js.map +1 -0
  25. package/dist/js/Accordion/__tests__/AccordionMenu.test.js +101 -0
  26. package/dist/js/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  27. package/dist/js/Accordion/index.d.ts +3 -0
  28. package/dist/js/Accordion/index.js +30 -0
  29. package/dist/js/Accordion/index.js.map +1 -0
  30. package/dist/js/Accordion/styles.d.ts +10 -0
  31. package/dist/js/Accordion/styles.js +50 -0
  32. package/dist/js/Accordion/styles.js.map +1 -0
  33. package/dist/js/HyperLink/HyperLink.d.ts +2 -2
  34. package/dist/js/HyperLink/HyperLink.js +4 -14
  35. package/dist/js/HyperLink/HyperLink.js.map +1 -1
  36. package/dist/js/Modals/ModalDialog.d.ts +6 -2
  37. package/dist/js/Modals/ModalDialog.js +16 -54
  38. package/dist/js/Modals/ModalDialog.js.map +1 -1
  39. package/dist/js/Modals/ModalStyles.js +3 -7
  40. package/dist/js/Modals/ModalStyles.js.map +1 -1
  41. package/dist/js/index.d.ts +1 -0
  42. package/dist/js/index.js +13 -0
  43. package/dist/js/index.js.map +1 -1
  44. package/dist/umd/Accordion/AccordionItem.js +70 -0
  45. package/dist/umd/Accordion/AccordionItem.js.map +1 -0
  46. package/dist/umd/Accordion/AccordionMenu.js +112 -0
  47. package/dist/umd/Accordion/AccordionMenu.js.map +1 -0
  48. package/dist/umd/Accordion/__tests__/AccordionMenu.test.js +74 -0
  49. package/dist/umd/Accordion/__tests__/AccordionMenu.test.js.map +1 -0
  50. package/dist/umd/Accordion/index.js +44 -0
  51. package/dist/umd/Accordion/index.js.map +1 -0
  52. package/dist/umd/Accordion/styles.js +85 -0
  53. package/dist/umd/Accordion/styles.js.map +1 -0
  54. package/dist/umd/HyperLink/HyperLink.js +12 -71
  55. package/dist/umd/HyperLink/HyperLink.js.map +1 -1
  56. package/dist/umd/Modals/ModalDialog.js +18 -56
  57. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  58. package/dist/umd/Modals/ModalStyles.js +1 -14
  59. package/dist/umd/Modals/ModalStyles.js.map +1 -1
  60. package/dist/umd/index.js +13 -4
  61. package/dist/umd/index.js.map +1 -1
  62. package/package.json +1 -1
  63. package/dist/esm/Modals/ModalTypes.js +0 -2
  64. package/dist/esm/Modals/ModalTypes.js.map +0 -1
  65. package/dist/js/Modals/ModalTypes.d.ts +0 -18
  66. package/dist/js/Modals/ModalTypes.js +0 -6
  67. package/dist/js/Modals/ModalTypes.js.map +0 -1
  68. package/dist/umd/Modals/ModalTypes.js +0 -20
  69. package/dist/umd/Modals/ModalTypes.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _ = require("..");
13
+
14
+ var _icons = require("../icons");
15
+
16
+ var _styles = require("./styles");
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ var AccordionItem = function AccordionItem(props) {
21
+ var id = props.id,
22
+ onSelect = props.onSelect,
23
+ isActive = props.isActive,
24
+ title = props.title,
25
+ icon = props.icon,
26
+ disabled = props.disabled,
27
+ isLast = props.isLast;
28
+ return /*#__PURE__*/_react.default.createElement(_styles.AccordionItemContainer, {
29
+ id: id,
30
+ displaySeparator: !isActive && !isLast,
31
+ isDisabled: disabled !== null && disabled !== void 0 ? disabled : false
32
+ }, /*#__PURE__*/_react.default.createElement(_styles.ItemHeaderContainer, {
33
+ tabIndex: !disabled ? 0 : -1,
34
+ onClick: function onClick() {
35
+ if (!disabled) {
36
+ onSelect(id);
37
+ }
38
+ },
39
+ isDisabled: disabled !== null && disabled !== void 0 ? disabled : false
40
+ }, icon && /*#__PURE__*/_react.default.cloneElement(icon, {
41
+ size: '24px'
42
+ }), /*#__PURE__*/_react.default.createElement(_.ComponentM, {
43
+ color: disabled ? _.COLORS.neutral_300 : undefined
44
+ }, title), isActive ? /*#__PURE__*/_react.default.createElement(_icons.SystemIcons.ChevronUp, {
45
+ size: "24px"
46
+ }) : /*#__PURE__*/_react.default.createElement(_icons.SystemIcons.ChevronDown, {
47
+ size: "24px"
48
+ })), isActive && /*#__PURE__*/_react.default.createElement(_styles.ItemBodyContainer, null, /*#__PURE__*/_react.default.createElement(_.ComponentS, null, props.children)));
49
+ };
50
+
51
+ AccordionItem.propTypes = {
52
+ onSelect: _propTypes.default.func.isRequired,
53
+ isActive: _propTypes.default.bool.isRequired,
54
+ isLast: _propTypes.default.bool.isRequired
55
+ };
56
+ var _default = AccordionItem;
57
+ exports.default = _default;
58
+ //# sourceMappingURL=AccordionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Accordion/AccordionItem.tsx"],"names":["AccordionItem","props","id","onSelect","isActive","title","icon","disabled","isLast","React","cloneElement","size","COLORS","neutral_300","undefined","children"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;AAQA,IAAMA,aAA+D,GAAG,SAAlEA,aAAkE,CAACC,KAAD,EAAoC;AAC1G,MAAQC,EAAR,GAAkED,KAAlE,CAAQC,EAAR;AAAA,MAAYC,QAAZ,GAAkEF,KAAlE,CAAYE,QAAZ;AAAA,MAAsBC,QAAtB,GAAkEH,KAAlE,CAAsBG,QAAtB;AAAA,MAAgCC,KAAhC,GAAkEJ,KAAlE,CAAgCI,KAAhC;AAAA,MAAuCC,IAAvC,GAAkEL,KAAlE,CAAuCK,IAAvC;AAAA,MAA6CC,QAA7C,GAAkEN,KAAlE,CAA6CM,QAA7C;AAAA,MAAuDC,MAAvD,GAAkEP,KAAlE,CAAuDO,MAAvD;AACA,sBACE,6BAAC,8BAAD;AAAwB,IAAA,EAAE,EAAEN,EAA5B;AAAgC,IAAA,gBAAgB,EAAE,CAACE,QAAD,IAAa,CAACI,MAAhE;AAAwE,IAAA,UAAU,EAAED,QAAF,aAAEA,QAAF,cAAEA,QAAF,GAAc;AAAhG,kBACE,6BAAC,2BAAD;AACE,IAAA,QAAQ,EAAE,CAACA,QAAD,GAAY,CAAZ,GAAgB,CAAC,CAD7B;AAEE,IAAA,OAAO,EAAE,mBAAM;AACb,UAAI,CAACA,QAAL,EAAe;AACbJ,QAAAA,QAAQ,CAACD,EAAD,CAAR;AACD;AACF,KANH;AAOE,IAAA,UAAU,EAAEK,QAAF,aAAEA,QAAF,cAAEA,QAAF,GAAc;AAP1B,KAQGD,IAAI,iBAAIG,eAAMC,YAAN,CAAmBJ,IAAnB,EAA+C;AAAEK,IAAAA,IAAI,EAAE;AAAR,GAA/C,CARX,eASE,6BAAC,YAAD;AAAY,IAAA,KAAK,EAAEJ,QAAQ,GAAGK,SAAOC,WAAV,GAAwBC;AAAnD,KAA+DT,KAA/D,CATF,EAUGD,QAAQ,gBAAG,6BAAC,kBAAD,CAAa,SAAb;AAAuB,IAAA,IAAI,EAAC;AAA5B,IAAH,gBAA2C,6BAAC,kBAAD,CAAa,WAAb;AAAyB,IAAA,IAAI,EAAC;AAA9B,IAVtD,CADF,EAaGA,QAAQ,iBACP,6BAAC,yBAAD,qBACE,6BAAC,YAAD,QAAaH,KAAK,CAACc,QAAnB,CADF,CAdJ,CADF;AAqBD,CAvBD;;;AALEZ,EAAAA,Q;AACAC,EAAAA,Q;AACAI,EAAAA,M;;eA4BaR,a","sourcesContent":["import React from 'react';\nimport { COLORS, ComponentM, ComponentS } from '..';\nimport { SystemIcons } from '../icons';\nimport { AccordionItemProps } from './AccordionMenu';\nimport { AccordionItemContainer, HeaderIconContainer, ItemBodyContainer, ItemHeaderContainer } from './styles';\n\ninterface AccordionItemPropsInner extends AccordionItemProps {\n onSelect: (id: string) => void;\n isActive: boolean;\n isLast: boolean;\n}\n\nconst AccordionItem: React.FunctionComponent<AccordionItemPropsInner> = (props: AccordionItemPropsInner) => {\n const { id, onSelect, isActive, title, icon, disabled, isLast } = props;\n return (\n <AccordionItemContainer id={id} displaySeparator={!isActive && !isLast} isDisabled={disabled ?? false}>\n <ItemHeaderContainer\n tabIndex={!disabled ? 0 : -1}\n onClick={() => {\n if (!disabled) {\n onSelect(id);\n }\n }}\n isDisabled={disabled ?? false}>\n {icon && React.cloneElement(icon as React.ReactElement, { size: '24px' })}\n <ComponentM color={disabled ? COLORS.neutral_300 : undefined}>{title}</ComponentM>\n {isActive ? <SystemIcons.ChevronUp size=\"24px\" /> : <SystemIcons.ChevronDown size=\"24px\" />}\n </ItemHeaderContainer>\n {isActive && (\n <ItemBodyContainer>\n <ComponentS>{props.children}</ComponentS>\n </ItemBodyContainer>\n )}\n </AccordionItemContainer>\n );\n};\n\nexport default AccordionItem;\n"],"file":"AccordionItem.js"}
@@ -0,0 +1,15 @@
1
+ import * as React from 'react';
2
+ export interface AccordionProps {
3
+ items: AccordionItemProps[];
4
+ selectedItemId?: string;
5
+ onSelect: (id: string) => void;
6
+ }
7
+ export interface AccordionItemProps {
8
+ id: string;
9
+ disabled?: boolean;
10
+ title: string;
11
+ icon?: React.ReactNode;
12
+ children: React.ReactNode;
13
+ }
14
+ declare const AccordionMenu: React.FunctionComponent<AccordionProps>;
15
+ export default AccordionMenu;
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var React = _interopRequireWildcard(require("react"));
13
+
14
+ var _AccordionItem = _interopRequireDefault(require("./AccordionItem"));
15
+
16
+ var _styles = require("./styles");
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
+
24
+ var AccordionMenu = function AccordionMenu(_ref) {
25
+ var items = _ref.items,
26
+ selectedItemId = _ref.selectedItemId,
27
+ onSelect = _ref.onSelect;
28
+ return /*#__PURE__*/React.createElement(_styles.AccordionMenuWrapper, null, items.map(function (item) {
29
+ return /*#__PURE__*/React.createElement(_AccordionItem.default, {
30
+ key: item.id,
31
+ disabled: item.disabled,
32
+ id: item.id,
33
+ title: item.title,
34
+ icon: item.icon,
35
+ isActive: item.id === selectedItemId,
36
+ isLast: items.indexOf(item) === items.length - 1,
37
+ onSelect: onSelect
38
+ }, item.children);
39
+ }));
40
+ };
41
+
42
+ AccordionMenu.propTypes = {
43
+ items: _propTypes.default.arrayOf(_propTypes.default.shape({
44
+ id: _propTypes.default.string.isRequired,
45
+ disabled: _propTypes.default.bool,
46
+ title: _propTypes.default.string.isRequired,
47
+ icon: _propTypes.default.node,
48
+ children: _propTypes.default.node.isRequired
49
+ })).isRequired,
50
+ selectedItemId: _propTypes.default.string,
51
+ onSelect: _propTypes.default.func.isRequired
52
+ };
53
+ var _default = AccordionMenu;
54
+ exports.default = _default;
55
+ //# sourceMappingURL=AccordionMenu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Accordion/AccordionMenu.tsx"],"names":["AccordionMenu","items","selectedItemId","onSelect","map","item","id","disabled","title","icon","indexOf","length","children"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAgBA,IAAMA,aAAsD,GAAG,SAAzDA,aAAyD,OAAyD;AAAA,MAAtDC,KAAsD,QAAtDA,KAAsD;AAAA,MAA/CC,cAA+C,QAA/CA,cAA+C;AAAA,MAA/BC,QAA+B,QAA/BA,QAA+B;AACtH,sBACE,oBAAC,4BAAD,QACGF,KAAK,CAACG,GAAN,CAAU,UAACC,IAAD;AAAA,wBACT,oBAAC,sBAAD;AACE,MAAA,GAAG,EAAEA,IAAI,CAACC,EADZ;AAEE,MAAA,QAAQ,EAAED,IAAI,CAACE,QAFjB;AAGE,MAAA,EAAE,EAAEF,IAAI,CAACC,EAHX;AAIE,MAAA,KAAK,EAAED,IAAI,CAACG,KAJd;AAKE,MAAA,IAAI,EAAEH,IAAI,CAACI,IALb;AAME,MAAA,QAAQ,EAAEJ,IAAI,CAACC,EAAL,KAAYJ,cANxB;AAOE,MAAA,MAAM,EAAED,KAAK,CAACS,OAAN,CAAcL,IAAd,MAAwBJ,KAAK,CAACU,MAAN,GAAe,CAPjD;AAQE,MAAA,QAAQ,EAAER;AARZ,OASGE,IAAI,CAACO,QATR,CADS;AAAA,GAAV,CADH,CADF;AAiBD,CAlBD;;;AAbEX,EAAAA,K;AAMAK,IAAAA,E;AACAC,IAAAA,Q;AACAC,IAAAA,K;AACAC,IAAAA,I;AACAG,IAAAA,Q;;AATAV,EAAAA,c;AACAC,EAAAA,Q;;eA+BaH,a","sourcesContent":["import * as React from 'react';\nimport AccordionItem from './AccordionItem';\nimport { AccordionMenuWrapper } from './styles';\n\nexport interface AccordionProps {\n items: AccordionItemProps[];\n selectedItemId?: string;\n onSelect: (id: string) => void;\n}\n\nexport interface AccordionItemProps {\n id: string;\n disabled?: boolean;\n title: string;\n icon?: React.ReactNode;\n children: React.ReactNode;\n}\n\nconst AccordionMenu: React.FunctionComponent<AccordionProps> = ({ items, selectedItemId, onSelect }: AccordionProps) => {\n return (\n <AccordionMenuWrapper>\n {items.map((item) => (\n <AccordionItem\n key={item.id}\n disabled={item.disabled}\n id={item.id}\n title={item.title}\n icon={item.icon}\n isActive={item.id === selectedItemId}\n isLast={items.indexOf(item) === items.length - 1}\n onSelect={onSelect}>\n {item.children}\n </AccordionItem>\n ))}\n </AccordionMenuWrapper>\n );\n};\n\nexport default AccordionMenu;\n"],"file":"AccordionMenu.js"}
@@ -0,0 +1,101 @@
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 _styles = require("../../styles");
10
+
11
+ var _AccordionMenu = _interopRequireDefault(require("../AccordionMenu"));
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
+ var accordionItems = [{
20
+ id: 'test1_id',
21
+ title: 'Item label with text 1',
22
+ children: /*#__PURE__*/_react.default.createElement("div", null, "content test1")
23
+ }, {
24
+ id: 'test2_id',
25
+ title: 'Item label with text 2',
26
+ children: /*#__PURE__*/_react.default.createElement("div", null, "content test2")
27
+ }];
28
+ describe('<AccordionMenu />', function () {
29
+ it('Check correct text placed on labels', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
30
+ var _render, queryByText;
31
+
32
+ return regeneratorRuntime.wrap(function _callee$(_context) {
33
+ while (1) {
34
+ switch (_context.prev = _context.next) {
35
+ case 0:
36
+ _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_AccordionMenu.default, {
37
+ items: accordionItems,
38
+ onSelect: function onSelect() {}
39
+ })), queryByText = _render.queryByText;
40
+ expect(queryByText('Item label with text 1')).toBeDefined();
41
+ expect(queryByText('Item label with text 2')).toBeDefined();
42
+ expect(queryByText('content test1')).toBeNull();
43
+
44
+ case 4:
45
+ case "end":
46
+ return _context.stop();
47
+ }
48
+ }
49
+ }, _callee);
50
+ })));
51
+ it('Check item label element color and label', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
52
+ var _render2, container, headerItem;
53
+
54
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
55
+ while (1) {
56
+ switch (_context2.prev = _context2.next) {
57
+ case 0:
58
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_AccordionMenu.default, {
59
+ items: accordionItems,
60
+ onSelect: function onSelect() {}
61
+ })), container = _render2.container;
62
+ headerItem = container.querySelector('#test2_id');
63
+ expect(headerItem).toBeDefined();
64
+ expect(headerItem === null || headerItem === void 0 ? void 0 : headerItem.children[0]).toHaveStyleRule('background', _styles.COLORS.neutral_20);
65
+ expect(headerItem === null || headerItem === void 0 ? void 0 : headerItem.textContent).toContain('Item label with text 2');
66
+
67
+ case 5:
68
+ case "end":
69
+ return _context2.stop();
70
+ }
71
+ }
72
+ }, _callee2);
73
+ })));
74
+ it('Check expanded item text', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
75
+ var _headerItem$children$;
76
+
77
+ var _render3, container, headerItem;
78
+
79
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
80
+ while (1) {
81
+ switch (_context3.prev = _context3.next) {
82
+ case 0:
83
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_AccordionMenu.default, {
84
+ items: accordionItems,
85
+ onSelect: function onSelect() {},
86
+ selectedItemId: 'test1_id'
87
+ })), container = _render3.container;
88
+ headerItem = container.querySelector('#test1_id'); //check item expanded
89
+
90
+ expect(headerItem === null || headerItem === void 0 ? void 0 : headerItem.children[1]).toBeDefined();
91
+ expect(headerItem === null || headerItem === void 0 ? void 0 : (_headerItem$children$ = headerItem.children[1]) === null || _headerItem$children$ === void 0 ? void 0 : _headerItem$children$.textContent).toContain('content test1');
92
+
93
+ case 4:
94
+ case "end":
95
+ return _context3.stop();
96
+ }
97
+ }
98
+ }, _callee3);
99
+ })));
100
+ });
101
+ //# sourceMappingURL=AccordionMenu.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/Accordion/__tests__/AccordionMenu.test.tsx"],"names":["accordionItems","id","title","children","describe","it","queryByText","expect","toBeDefined","toBeNull","container","headerItem","querySelector","toHaveStyleRule","COLORS","neutral_20","textContent","toContain"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,cAAc,GAAG,CACrB;AACEC,EAAAA,EAAE,EAAE,UADN;AAEEC,EAAAA,KAAK,EAAE,wBAFT;AAGEC,EAAAA,QAAQ,eAAE;AAHZ,CADqB,EAMrB;AACEF,EAAAA,EAAE,EAAE,UADN;AAEEC,EAAAA,KAAK,EAAE,wBAFT;AAGEC,EAAAA,QAAQ,eAAE;AAHZ,CANqB,CAAvB;AAaAC,QAAQ,CAAC,mBAAD,EAAsB,YAAM;AAClCC,EAAAA,EAAE,CAAC,qCAAD,uEAAwC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBAChB,kCAAO,6BAAC,sBAAD;AAAe,cAAA,KAAK,EAAEL,cAAtB;AAAsC,cAAA,QAAQ,EAAE,oBAAM,CAAE;AAAxD,cAAP,CADgB,EAChCM,WADgC,WAChCA,WADgC;AAExCC,YAAAA,MAAM,CAACD,WAAW,CAAC,wBAAD,CAAZ,CAAN,CAA8CE,WAA9C;AACAD,YAAAA,MAAM,CAACD,WAAW,CAAC,wBAAD,CAAZ,CAAN,CAA8CE,WAA9C;AACAD,YAAAA,MAAM,CAACD,WAAW,CAAC,eAAD,CAAZ,CAAN,CAAqCG,QAArC;;AAJwC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAxC,GAAF;AAOAJ,EAAAA,EAAE,CAAC,0CAAD,uEAA6C;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACvB,kCAAO,6BAAC,sBAAD;AAAe,cAAA,KAAK,EAAEL,cAAtB;AAAsC,cAAA,QAAQ,EAAE,oBAAM,CAAE;AAAxD,cAAP,CADuB,EACrCU,SADqC,YACrCA,SADqC;AAEvCC,YAAAA,UAFuC,GAE1BD,SAAS,CAACE,aAAV,CAAwB,WAAxB,CAF0B;AAG7CL,YAAAA,MAAM,CAACI,UAAD,CAAN,CAAmBH,WAAnB;AACAD,YAAAA,MAAM,CAACI,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAER,QAAZ,CAAqB,CAArB,CAAD,CAAN,CAAgCU,eAAhC,CAAgD,YAAhD,EAA8DC,eAAOC,UAArE;AACAR,YAAAA,MAAM,CAACI,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAEK,WAAb,CAAN,CAAgCC,SAAhC,CAA0C,wBAA1C;;AAL6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA7C,GAAF;AAQAZ,EAAAA,EAAE,CAAC,0BAAD,uEAA6B;AAAA;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACP,kCAAO,6BAAC,sBAAD;AAAe,cAAA,KAAK,EAAEL,cAAtB;AAAsC,cAAA,QAAQ,EAAE,oBAAM,CAAE,CAAxD;AAA0D,cAAA,cAAc,EAAE;AAA1E,cAAP,CADO,EACrBU,SADqB,YACrBA,SADqB;AAEvBC,YAAAA,UAFuB,GAEVD,SAAS,CAACE,aAAV,CAAwB,WAAxB,CAFU,EAG7B;;AACAL,YAAAA,MAAM,CAACI,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAER,QAAZ,CAAqB,CAArB,CAAD,CAAN,CAAgCK,WAAhC;AACAD,YAAAA,MAAM,CAACI,UAAD,aAACA,UAAD,gDAACA,UAAU,CAAER,QAAZ,CAAqB,CAArB,CAAD,0DAAC,sBAAyBa,WAA1B,CAAN,CAA6CC,SAA7C,CAAuD,eAAvD;;AAL6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAA7B,GAAF;AAOD,CAvBO,CAAR","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport 'jest-styled-components';\nimport { COLORS } from '../../styles';\nimport AccordionMenu from '../AccordionMenu';\n\nconst accordionItems = [\n {\n id: 'test1_id',\n title: 'Item label with text 1',\n children: <div>content test1</div>,\n },\n {\n id: 'test2_id',\n title: 'Item label with text 2',\n children: <div>content test2</div>,\n },\n];\n\ndescribe('<AccordionMenu />', () => {\n it('Check correct text placed on labels', async () => {\n const { queryByText } = render(<AccordionMenu items={accordionItems} onSelect={() => {}}></AccordionMenu>);\n expect(queryByText('Item label with text 1')).toBeDefined();\n expect(queryByText('Item label with text 2')).toBeDefined();\n expect(queryByText('content test1')).toBeNull();\n });\n\n it('Check item label element color and label', async () => {\n const { container } = render(<AccordionMenu items={accordionItems} onSelect={() => {}}></AccordionMenu>);\n const headerItem = container.querySelector('#test2_id');\n expect(headerItem).toBeDefined();\n expect(headerItem?.children[0]).toHaveStyleRule('background', COLORS.neutral_20);\n expect(headerItem?.textContent).toContain('Item label with text 2');\n });\n\n it('Check expanded item text', async () => {\n const { container } = render(<AccordionMenu items={accordionItems} onSelect={() => {}} selectedItemId={'test1_id'}></AccordionMenu>);\n const headerItem = container.querySelector('#test1_id');\n //check item expanded\n expect(headerItem?.children[1]).toBeDefined();\n expect(headerItem?.children[1]?.textContent).toContain('content test1');\n });\n});\n"],"file":"AccordionMenu.test.js"}
@@ -0,0 +1,3 @@
1
+ export { default as AccordionMenu } from './AccordionMenu';
2
+ export { default as AccordionMenuItem } from './AccordionMenu';
3
+ export { AccordionMenuWrapper } from './styles';
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "AccordionMenu", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _AccordionMenu.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "AccordionMenuItem", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _AccordionMenu.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "AccordionMenuWrapper", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _styles.AccordionMenuWrapper;
22
+ }
23
+ });
24
+
25
+ var _AccordionMenu = _interopRequireDefault(require("./AccordionMenu"));
26
+
27
+ var _styles = require("./styles");
28
+
29
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Accordion/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA","sourcesContent":["export { default as AccordionMenu } from './AccordionMenu';\nexport { default as AccordionMenuItem } from './AccordionMenu';\nexport { AccordionMenuWrapper } from './styles';\n"],"file":"index.js"}
@@ -0,0 +1,10 @@
1
+ export declare const AccordionMenuWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
2
+ export declare const AccordionItemContainer: import("styled-components").StyledComponent<"div", any, {
3
+ displaySeparator: boolean;
4
+ isDisabled: boolean;
5
+ }, never>;
6
+ export declare const ItemHeaderContainer: import("styled-components").StyledComponent<"div", any, {
7
+ isDisabled: boolean;
8
+ }, never>;
9
+ export declare const HeaderIconContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
10
+ export declare const ItemBodyContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.ItemBodyContainer = exports.HeaderIconContainer = exports.ItemHeaderContainer = exports.AccordionItemContainer = exports.AccordionMenuWrapper = void 0;
9
+
10
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
11
+
12
+ var _styles = require("../styles");
13
+
14
+ var _zIndexes = require("../styles/z-indexes");
15
+
16
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
23
+
24
+ var AccordionMenuWrapper = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n"])));
25
+
26
+ exports.AccordionMenuWrapper = AccordionMenuWrapper;
27
+
28
+ var AccordionItemContainer = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ", ";\n cursor: ", ";\n"])), function (props) {
29
+ return props.displaySeparator ? "1px solid ".concat(_styles.COLORS.neutral_100) : '';
30
+ }, function (props) {
31
+ return props.isDisabled ? 'not-allowed' : 'pointer';
32
+ });
33
+
34
+ exports.AccordionItemContainer = AccordionItemContainer;
35
+ var disabledState = (0, _styledComponents.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n background: ", "!important;\n color: ", ";\n pointer-events: none;\n svg {\n color: ", "!important;\n }\n"])), _styles.COLORS.white, _styles.COLORS.neutral_300, _styles.COLORS.neutral_300);
36
+
37
+ var ItemHeaderContainer = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n background: ", ";\n svg:last-child {\n margin-left: auto;\n }\n :focus {\n outline: none;\n z-index: ", ";\n box-shadow: 0px 4px 12px ", ", 0px 0px 8px ", ";\n }\n\n ", "\n :hover {\n background: ", ";\n }\n :active {\n background: ", ";\n }\n"])), _styles.COLORS.neutral_20, _zIndexes.Z_INDEXES.focus, _styles.COLORS.primary_500, _styles.COLORS.primary_500, function (props) {
38
+ return props.isDisabled ? disabledState : '';
39
+ }, _styles.COLORS.primary_20, _styles.COLORS.primary_100);
40
+
41
+ exports.ItemHeaderContainer = ItemHeaderContainer;
42
+
43
+ var HeaderIconContainer = _styledComponents.default.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n margin-left: auto;\n"])));
44
+
45
+ exports.HeaderIconContainer = HeaderIconContainer;
46
+
47
+ var ItemBodyContainer = _styledComponents.default.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 0px 24px;\n margin: 12px 0;\n background: ", ";\n"])), _styles.COLORS.white);
48
+
49
+ exports.ItemBodyContainer = ItemBodyContainer;
50
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/Accordion/styles.ts"],"names":["AccordionMenuWrapper","styled","div","AccordionItemContainer","props","displaySeparator","COLORS","neutral_100","isDisabled","disabledState","css","white","neutral_300","ItemHeaderContainer","neutral_20","Z_INDEXES","focus","primary_500","primary_20","primary_100","HeaderIconContainer","ItemBodyContainer"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;AAEO,IAAMA,oBAAoB,GAAGC,0BAAOC,GAAV,oKAA1B;;;;AAOA,IAAMC,sBAAsB,GAAGF,0BAAOC,GAAV,2MAKhB,UAACE,KAAD;AAAA,SAAYA,KAAK,CAACC,gBAAN,uBAAsCC,eAAOC,WAA7C,IAA6D,EAAzE;AAAA,CALgB,EAMvB,UAACH,KAAD;AAAA,SAAYA,KAAK,CAACI,UAAN,GAAmB,aAAnB,GAAmC,SAA/C;AAAA,CANuB,CAA5B;;;AASP,IAAMC,aAAa,OAAGC,qBAAH,6LACHJ,eAAOK,KADJ,EAERL,eAAOM,WAFC,EAKNN,eAAOM,WALD,CAAnB;;AASO,IAAMC,mBAAmB,GAAGZ,0BAAOC,GAAV,6dAOhBI,eAAOQ,UAPS,EAajBC,oBAAUC,KAbO,EAcDV,eAAOW,WAdN,EAckCX,eAAOW,WAdzC,EAiB5B,UAACb,KAAD;AAAA,SAAYA,KAAK,CAACI,UAAN,GAAmBC,aAAnB,GAAmC,EAA/C;AAAA,CAjB4B,EAmBdH,eAAOY,UAnBO,EAsBdZ,eAAOa,WAtBO,CAAzB;;;;AA0BA,IAAMC,mBAAmB,GAAGnB,0BAAOC,GAAV,+FAAzB;;;;AAIA,IAAMmB,iBAAiB,GAAGpB,0BAAOC,GAAV,wIAGdI,eAAOK,KAHO,CAAvB","sourcesContent":["import styled, { css } from 'styled-components';\nimport { COLORS } from '../styles';\nimport { Z_INDEXES } from '../styles/z-indexes';\n\nexport const AccordionMenuWrapper = styled.div`\n min-width: 320px;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n`;\n\nexport const AccordionItemContainer = styled.div<{ displaySeparator: boolean; isDisabled: boolean }>`\n width: 100%;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-bottom: ${(props) => (props.displaySeparator ? `1px solid ${COLORS.neutral_100}` : '')};\n cursor: ${(props) => (props.isDisabled ? 'not-allowed' : 'pointer')};\n`;\n\nconst disabledState = css`\n background: ${COLORS.white}!important;\n color: ${COLORS.neutral_300};\n pointer-events: none;\n svg {\n color: ${COLORS.neutral_300}!important;\n }\n`;\n\nexport const ItemHeaderContainer = styled.div<{ isDisabled: boolean }>`\n position: relative;\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 16px 11px 16px;\n cursor: pointer;\n background: ${COLORS.neutral_20};\n svg:last-child {\n margin-left: auto;\n }\n :focus {\n outline: none;\n z-index: ${Z_INDEXES.focus};\n box-shadow: 0px 4px 12px ${COLORS.primary_500}, 0px 0px 8px ${COLORS.primary_500};\n }\n\n ${(props) => (props.isDisabled ? disabledState : '')}\n :hover {\n background: ${COLORS.primary_20};\n }\n :active {\n background: ${COLORS.primary_100};\n }\n`;\n\nexport const HeaderIconContainer = styled.div`\n margin-left: auto;\n`;\n\nexport const ItemBodyContainer = styled.div`\n padding: 0px 24px;\n margin: 12px 0;\n background: ${COLORS.white};\n`;\n"],"file":"styles.js"}
@@ -1,5 +1,5 @@
1
1
  import * as React from 'react';
2
- export interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
2
+ interface Props extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
3
3
  id: string;
4
4
  variant: 'default' | 'inverted';
5
5
  href: string;
@@ -8,5 +8,5 @@ export interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorEle
8
8
  children?: any;
9
9
  className?: string;
10
10
  }
11
- declare const HyperLink: React.FunctionComponent<HyperlinkProps>;
11
+ declare const HyperLink: React.FunctionComponent<Props>;
12
12
  export default HyperLink;
@@ -15,8 +15,6 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
16
  var _styling = require("./styling");
17
17
 
18
- var _excluded = ["id", "className", "variant", "href", "margin", "children", "target"];
19
-
20
18
  var _templateObject;
21
19
 
22
20
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -25,12 +23,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
25
23
 
26
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
25
 
28
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
-
30
- function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31
-
32
- function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
33
-
34
26
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
35
27
 
36
28
  var StyledLink = _styledComponents.default.a(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n ", "\n"])), function (props) {
@@ -46,18 +38,16 @@ var HyperLink = function HyperLink(_ref) {
46
38
  href = _ref.href,
47
39
  margin = _ref.margin,
48
40
  children = _ref.children,
49
- target = _ref.target,
50
- props = _objectWithoutProperties(_ref, _excluded);
51
-
52
- return /*#__PURE__*/React.createElement(StyledLink, _extends({
41
+ target = _ref.target;
42
+ return /*#__PURE__*/React.createElement(StyledLink, {
53
43
  id: id,
54
44
  className: className,
55
45
  variant: variant,
56
46
  href: href,
57
- target: target || '_blank',
47
+ target: target || "_blank",
58
48
  rel: "noopener noreferrer",
59
49
  margin: margin
60
- }, props), children);
50
+ }, children);
61
51
  };
62
52
 
63
53
  HyperLink.propTypes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/HyperLink/HyperLink.tsx"],"names":["StyledLink","styled","a","props","variant","invertedStyle","defaultStyle","margin","HyperLink","id","className","href","children","target","disabled"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAGC,0BAAOC,CAAV,wFAIZ,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,OAAN,KAAkB,UAAlB,GAA+BC,sBAA/B,GAA+CC,qBAA3D;AAAA,CAJY,EAKZ,UAACH,KAAD;AAAA,SAAYA,KAAK,CAACI,MAAN,qBAA0BJ,KAAK,CAACI,MAAhC,SAA4C,EAAxD;AAAA,CALY,CAAhB;;AAkBA,IAAMC,SAAkD,GAAG,SAArDA,SAAqD,OAA0F;AAAA,MAAvFC,EAAuF,QAAvFA,EAAuF;AAAA,MAAnFC,SAAmF,QAAnFA,SAAmF;AAAA,MAAxEN,OAAwE,QAAxEA,OAAwE;AAAA,MAA/DO,IAA+D,QAA/DA,IAA+D;AAAA,MAAzDJ,MAAyD,QAAzDA,MAAyD;AAAA,MAAjDK,QAAiD,QAAjDA,QAAiD;AAAA,MAAvCC,MAAuC,QAAvCA,MAAuC;AAAA,MAA5BV,KAA4B;;AACnJ,sBACE,oBAAC,UAAD;AAAY,IAAA,EAAE,EAAEM,EAAhB;AAAoB,IAAA,SAAS,EAAEC,SAA/B;AAA0C,IAAA,OAAO,EAAEN,OAAnD;AAA4D,IAAA,IAAI,EAAEO,IAAlE;AAAwE,IAAA,MAAM,EAAEE,MAAM,IAAI,QAA1F;AAAoG,IAAA,GAAG,EAAC,qBAAxG;AAA8H,IAAA,MAAM,EAAEN;AAAtI,KAAkJJ,KAAlJ,GACGS,QADH,CADF;AAKD,CAND;;;AATEH,EAAAA,E;AACAL,EAAAA,O,4BAAS,S,EAAY,U;AACrBO,EAAAA,I;AACAG,EAAAA,Q;AACAP,EAAAA,M;AACAK,EAAAA,Q;AACAF,EAAAA,S;;eAWaF,S","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { defaultStyle, invertedStyle } from './styling';\n\nconst StyledLink = styled.a<{\n variant: 'default' | 'inverted';\n margin?: string;\n}>`\n ${(props) => (props.variant === 'inverted' ? invertedStyle : defaultStyle)}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\nexport interface HyperlinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {\n id: string;\n variant: 'default' | 'inverted';\n href: string;\n disabled?: boolean;\n margin?: string;\n children?: any;\n className?: string;\n}\n\nconst HyperLink: React.FunctionComponent<HyperlinkProps> = ({ id, className, variant, href, margin, children, target, ...props }: HyperlinkProps) => {\n return (\n <StyledLink id={id} className={className} variant={variant} href={href} target={target || '_blank'} rel=\"noopener noreferrer\" margin={margin} {...props}>\n {children}\n </StyledLink>\n );\n};\n\nexport default HyperLink;\n"],"file":"HyperLink.js"}
1
+ {"version":3,"sources":["../../../src/HyperLink/HyperLink.tsx"],"names":["StyledLink","styled","a","props","variant","invertedStyle","defaultStyle","margin","HyperLink","id","className","href","children","target","disabled"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;;;;;;;AAEA,IAAMA,UAAU,GAAGC,0BAAOC,CAAV,wFAIZ,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,OAAN,KAAkB,UAAlB,GAA+BC,sBAA/B,GAA+CC,qBAA3D;AAAA,CAJY,EAKZ,UAACH,KAAD;AAAA,SAAYA,KAAK,CAACI,MAAN,qBAA0BJ,KAAK,CAACI,MAAhC,SAA4C,EAAxD;AAAA,CALY,CAAhB;;AAkBA,IAAMC,SAAyC,GAAG,SAA5CA,SAA4C,OAAuE;AAAA,MAApEC,EAAoE,QAApEA,EAAoE;AAAA,MAAhEC,SAAgE,QAAhEA,SAAgE;AAAA,MAArDN,OAAqD,QAArDA,OAAqD;AAAA,MAA5CO,IAA4C,QAA5CA,IAA4C;AAAA,MAAtCJ,MAAsC,QAAtCA,MAAsC;AAAA,MAA9BK,QAA8B,QAA9BA,QAA8B;AAAA,MAApBC,MAAoB,QAApBA,MAAoB;AACvH,sBACE,oBAAC,UAAD;AAAY,IAAA,EAAE,EAAEJ,EAAhB;AAAoB,IAAA,SAAS,EAAEC,SAA/B;AAA0C,IAAA,OAAO,EAAEN,OAAnD;AAA4D,IAAA,IAAI,EAAEO,IAAlE;AAAwE,IAAA,MAAM,EAAEE,MAAM,IAAI,QAA1F;AAAoG,IAAA,GAAG,EAAC,qBAAxG;AAA8H,IAAA,MAAM,EAAEN;AAAtI,KACGK,QADH,CADF;AAKD,CAND;;;AATEH,EAAAA,E;AACAL,EAAAA,O,4BAAS,S,EAAY,U;AACrBO,EAAAA,I;AACAG,EAAAA,Q;AACAP,EAAAA,M;AACAK,EAAAA,Q;AACAF,EAAAA,S;;eAWaF,S","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport { defaultStyle, invertedStyle } from './styling';\n\nconst StyledLink = styled.a<{\n variant: 'default' | 'inverted';\n margin?: string;\n}>`\n ${(props) => (props.variant === 'inverted' ? invertedStyle : defaultStyle)}\n ${(props) => (props.margin ? `margin: ${props.margin};` : '')}\n`;\n\ninterface Props extends React.AnchorHTMLAttributes<HTMLAnchorElement>{\n id: string;\n variant: 'default' | 'inverted';\n href: string;\n disabled?: boolean;\n margin?: string;\n children?: any;\n className?: string;\n}\n\nconst HyperLink: React.FunctionComponent<Props> = ({ id, className, variant, href, margin, children, target }: Props) => {\n return (\n <StyledLink id={id} className={className} variant={variant} href={href} target={target || \"_blank\"} rel=\"noopener noreferrer\" margin={margin}>\n {children}\n </StyledLink>\n );\n};\n\nexport default HyperLink;\n"],"file":"HyperLink.js"}
@@ -1,6 +1,11 @@
1
1
  import * as React from 'react';
2
+ import { ButtonProps } from '../Button/Button';
2
3
  import { Size } from '../types';
3
- import { ButtonAction, LeftFooterAction } from './ModalTypes';
4
+ interface ButtonAction extends Pick<ButtonProps, 'variant' | 'id' | 'loading' | 'disabled' | 'icon' | 'type'> {
5
+ action?: (() => void) | ((e: any) => void);
6
+ text: string;
7
+ position?: 'left' | 'right';
8
+ }
4
9
  interface NewModalProps {
5
10
  size?: Size;
6
11
  isModalOpen: boolean;
@@ -8,7 +13,6 @@ interface NewModalProps {
8
13
  title?: string;
9
14
  topImage?: any;
10
15
  buttons?: ButtonAction[];
11
- leftFooterAction?: LeftFooterAction;
12
16
  tooltip?: string;
13
17
  backButton?: () => void;
14
18
  closeAction: () => void;
@@ -11,8 +11,6 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
11
11
 
12
12
  var React = _interopRequireWildcard(require("react"));
13
13
 
14
- var _ = require("..");
15
-
16
14
  var _Button = require("../Button");
17
15
 
18
16
  var _SystemIcons = require("../icons/systemicons/SystemIcons");
@@ -52,7 +50,6 @@ var ModalDialog = function ModalDialog(_ref) {
52
50
  title = _ref.title,
53
51
  topImage = _ref.topImage,
54
52
  buttons = _ref.buttons,
55
- leftFooterAction = _ref.leftFooterAction,
56
53
  backButton = _ref.backButton,
57
54
  closeAction = _ref.closeAction,
58
55
  submitAction = _ref.submitAction,
@@ -202,54 +199,11 @@ var ModalDialog = function ModalDialog(_ref) {
202
199
  }
203
200
  };
204
201
 
205
- var getLeftActionIconElement = function getLeftActionIconElement(icon) {
206
- return /*#__PURE__*/React.cloneElement(icon, {
207
- size: size === _types.Size.Small ? '20px' : size === _types.Size.Large ? '28px' : '24px'
208
- });
209
- };
210
-
211
- var LeftFooterAction = function LeftFooterAction(leftFooterAction) {
212
- var _variant;
213
-
214
- var text = leftFooterAction.text,
215
- actionType = leftFooterAction.actionType,
216
- disabled = leftFooterAction.disabled,
217
- icon = leftFooterAction.icon,
218
- action = leftFooterAction.action;
219
-
220
- switch (actionType) {
221
- case 'button':
222
- return /*#__PURE__*/React.createElement(_Button.Button, {
223
- id: 'left-action-button',
224
- type: leftFooterAction === null || leftFooterAction === void 0 ? void 0 : leftFooterAction.type,
225
- disabled: disabled,
226
- loading: leftFooterAction === null || leftFooterAction === void 0 ? void 0 : leftFooterAction.loading,
227
- icon: icon,
228
- size: size,
229
- onClick: action,
230
- variant: (_variant = leftFooterAction === null || leftFooterAction === void 0 ? void 0 : leftFooterAction.variant) !== null && _variant !== void 0 ? _variant : 'secondary',
231
- style: {
232
- order: -1,
233
- marginRight: 'auto'
234
- }
235
- }, text);
236
-
237
- case 'hyperlink':
238
- return /*#__PURE__*/React.createElement(_.HyperLink, {
239
- id: "left-action-hyperlink",
240
- className: "footer-action",
241
- href: leftFooterAction.href,
242
- disabled: disabled,
243
- variant: "default"
244
- }, icon && getLeftActionIconElement(icon), text);
245
-
246
- case 'note':
247
- return /*#__PURE__*/React.createElement("div", {
248
- className: "footer-action note"
249
- }, icon && getLeftActionIconElement(icon), /*#__PURE__*/React.createElement("span", null, text));
250
- }
251
- };
252
-
202
+ buttons === null || buttons === void 0 ? void 0 : buttons.reverse();
203
+ var lastLeftButton = buttons === null || buttons === void 0 ? void 0 : buttons.find(function (a) {
204
+ return a.position === 'left';
205
+ });
206
+ buttons === null || buttons === void 0 ? void 0 : buttons.reverse();
253
207
  return /*#__PURE__*/React.createElement(_ModalContainer.default, {
254
208
  showModal: isModalOpen,
255
209
  closeModal: closeModalAndClearInput,
@@ -295,9 +249,13 @@ var ModalDialog = function ModalDialog(_ref) {
295
249
  size: size,
296
250
  onClick: b.action,
297
251
  type: b.type,
298
- variant: b.variant
252
+ variant: b.variant,
253
+ style: b.position === 'left' ? {
254
+ order: -1,
255
+ marginRight: b === lastLeftButton ? 'auto' : undefined
256
+ } : undefined
299
257
  }, b.text);
300
- }), leftFooterAction && LeftFooterAction(leftFooterAction)))));
258
+ })))));
301
259
  };
302
260
 
303
261
  exports.ModalDialog = ModalDialog;
@@ -306,7 +264,11 @@ ModalDialog.propTypes = {
306
264
  closeModalAndClearInput: _propTypes.default.any.isRequired,
307
265
  title: _propTypes.default.string,
308
266
  topImage: _propTypes.default.any,
309
- buttons: _propTypes.default.array,
267
+ buttons: _propTypes.default.arrayOf(_propTypes.default.shape({
268
+ action: _propTypes.default.oneOfType([_propTypes.default.func, _propTypes.default.func]),
269
+ text: _propTypes.default.string.isRequired,
270
+ position: _propTypes.default.oneOf(['left', 'right'])
271
+ })),
310
272
  tooltip: _propTypes.default.string,
311
273
  backButton: _propTypes.default.func,
312
274
  closeAction: _propTypes.default.func.isRequired,