@laerdal/life-react-components 1.1.2-dev.8 → 1.2.1-dev.2

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 (241) hide show
  1. package/dist/esm/Breadcrumb/Breadcrumb.js +96 -49
  2. package/dist/esm/Breadcrumb/Breadcrumb.js.map +1 -1
  3. package/dist/esm/Button/DualFunctionButton.js +0 -3
  4. package/dist/esm/Button/DualFunctionButton.js.map +1 -1
  5. package/dist/esm/Button/Iconbutton.js +6 -2
  6. package/dist/esm/Button/Iconbutton.js.map +1 -1
  7. package/dist/esm/Button/index.js +0 -1
  8. package/dist/esm/Button/index.js.map +1 -1
  9. package/dist/esm/Chips/ChoiceChips.js +1 -2
  10. package/dist/esm/Chips/ChoiceChips.js.map +1 -1
  11. package/dist/esm/Dropdown/BasicDropdown.js +11 -3
  12. package/dist/esm/Dropdown/BasicDropdown.js.map +1 -1
  13. package/dist/esm/Dropdown/CommonStyling.js +15 -13
  14. package/dist/esm/Dropdown/CommonStyling.js.map +1 -1
  15. package/dist/esm/Dropdown/DropdownButton.js +20 -8
  16. package/dist/esm/Dropdown/DropdownButton.js.map +1 -1
  17. package/dist/esm/Dropdown/DropdownContent.js +117 -31
  18. package/dist/esm/Dropdown/DropdownContent.js.map +1 -1
  19. package/dist/esm/GlobalNavigationBar/RightSideNav.js +4 -0
  20. package/dist/esm/GlobalNavigationBar/RightSideNav.js.map +1 -1
  21. package/dist/esm/List/ListRow.js +204 -90
  22. package/dist/esm/List/ListRow.js.map +1 -1
  23. package/dist/esm/List/__tests__/ListRow.tests.js +7 -43
  24. package/dist/esm/List/__tests__/ListRow.tests.js.map +1 -1
  25. package/dist/esm/List/index.js +1 -2
  26. package/dist/esm/List/index.js.map +1 -1
  27. package/dist/esm/Modals/ModalContainer.js +1 -0
  28. package/dist/esm/Modals/ModalContainer.js.map +1 -1
  29. package/dist/esm/Modals/ModalDialog.js +12 -3
  30. package/dist/esm/Modals/ModalDialog.js.map +1 -1
  31. package/dist/esm/Modals/ModalNote.js +56 -0
  32. package/dist/esm/Modals/ModalNote.js.map +1 -0
  33. package/dist/esm/Modals/ModalStyles.js +48 -0
  34. package/dist/esm/Modals/ModalStyles.js.map +1 -1
  35. package/dist/esm/NotificationDot/NotificationDot.js +41 -0
  36. package/dist/esm/NotificationDot/NotificationDot.js.map +1 -0
  37. package/dist/esm/NotificationDot/index.js +2 -0
  38. package/dist/esm/NotificationDot/index.js.map +1 -0
  39. package/dist/esm/Tabs/TabLink.js +25 -20
  40. package/dist/esm/Tabs/TabLink.js.map +1 -1
  41. package/dist/esm/Tabs/VerticalTabs.js +4 -1
  42. package/dist/esm/Tabs/VerticalTabs.js.map +1 -1
  43. package/dist/esm/Toggles/ToggleSwitch.js +14 -9
  44. package/dist/esm/Toggles/ToggleSwitch.js.map +1 -1
  45. package/dist/esm/Toggles/TogglerStyles.js +101 -74
  46. package/dist/esm/Toggles/TogglerStyles.js.map +1 -1
  47. package/dist/esm/Toggles/TogglerTypes.js +0 -4
  48. package/dist/esm/Toggles/TogglerTypes.js.map +1 -1
  49. package/dist/esm/Tooltips/TooltipStyles.js +77 -0
  50. package/dist/esm/Tooltips/TooltipStyles.js.map +1 -0
  51. package/dist/esm/Tooltips/TooltipTypes.js +6 -0
  52. package/dist/esm/Tooltips/TooltipTypes.js.map +1 -0
  53. package/dist/esm/Tooltips/TooltipWrapper.js +24 -0
  54. package/dist/esm/Tooltips/TooltipWrapper.js.map +1 -0
  55. package/dist/esm/Tooltips/index.js +4 -0
  56. package/dist/esm/Tooltips/index.js.map +1 -0
  57. package/dist/esm/icons/contenticons/ContentIcons.js +454 -322
  58. package/dist/esm/icons/contenticons/ContentIcons.js.map +1 -1
  59. package/dist/esm/icons/index.js +55 -24
  60. package/dist/esm/icons/index.js.map +1 -1
  61. package/dist/esm/icons/systemicons/SystemIcons.js +652 -488
  62. package/dist/esm/icons/systemicons/SystemIcons.js.map +1 -1
  63. package/dist/esm/index.js +1 -0
  64. package/dist/esm/index.js.map +1 -1
  65. package/dist/esm/types.js +1 -0
  66. package/dist/esm/types.js.map +1 -1
  67. package/dist/js/Breadcrumb/Breadcrumb.d.ts +5 -2
  68. package/dist/js/Breadcrumb/Breadcrumb.js +94 -36
  69. package/dist/js/Breadcrumb/Breadcrumb.js.map +1 -1
  70. package/dist/js/Button/DualFunctionButton.d.ts +0 -1
  71. package/dist/js/Button/DualFunctionButton.js +0 -3
  72. package/dist/js/Button/DualFunctionButton.js.map +1 -1
  73. package/dist/js/Button/Iconbutton.js +2 -2
  74. package/dist/js/Button/Iconbutton.js.map +1 -1
  75. package/dist/js/Button/index.d.ts +0 -1
  76. package/dist/js/Button/index.js +0 -8
  77. package/dist/js/Button/index.js.map +1 -1
  78. package/dist/js/Chips/ChipTypes.d.ts +1 -0
  79. package/dist/js/Chips/ChoiceChips.js +1 -2
  80. package/dist/js/Chips/ChoiceChips.js.map +1 -1
  81. package/dist/js/Dropdown/BasicDropdown.d.ts +3 -2
  82. package/dist/js/Dropdown/BasicDropdown.js +18 -3
  83. package/dist/js/Dropdown/BasicDropdown.js.map +1 -1
  84. package/dist/js/Dropdown/CommonStyling.d.ts +1 -0
  85. package/dist/js/Dropdown/CommonStyling.js +12 -12
  86. package/dist/js/Dropdown/CommonStyling.js.map +1 -1
  87. package/dist/js/Dropdown/DropdownButton.d.ts +1 -1
  88. package/dist/js/Dropdown/DropdownButton.js +19 -9
  89. package/dist/js/Dropdown/DropdownButton.js.map +1 -1
  90. package/dist/js/Dropdown/DropdownButtonTypes.d.ts +1 -0
  91. package/dist/js/Dropdown/DropdownContent.d.ts +4 -1
  92. package/dist/js/Dropdown/DropdownContent.js +117 -38
  93. package/dist/js/Dropdown/DropdownContent.js.map +1 -1
  94. package/dist/js/GlobalNavigationBar/RightSideNav.js +1 -1
  95. package/dist/js/GlobalNavigationBar/RightSideNav.js.map +1 -1
  96. package/dist/js/List/ListRow.d.ts +12 -5
  97. package/dist/js/List/ListRow.js +77 -55
  98. package/dist/js/List/ListRow.js.map +1 -1
  99. package/dist/js/List/__tests__/ListRow.tests.js +8 -53
  100. package/dist/js/List/__tests__/ListRow.tests.js.map +1 -1
  101. package/dist/js/List/index.d.ts +1 -2
  102. package/dist/js/List/index.js +0 -8
  103. package/dist/js/List/index.js.map +1 -1
  104. package/dist/js/Modals/ModalContainer.js +1 -1
  105. package/dist/js/Modals/ModalContainer.js.map +1 -1
  106. package/dist/js/Modals/ModalDialog.d.ts +2 -0
  107. package/dist/js/Modals/ModalDialog.js +13 -3
  108. package/dist/js/Modals/ModalDialog.js.map +1 -1
  109. package/dist/js/Modals/ModalNote.d.ts +9 -0
  110. package/dist/js/Modals/ModalNote.js +79 -0
  111. package/dist/js/Modals/ModalNote.js.map +1 -0
  112. package/dist/js/Modals/ModalStyles.d.ts +6 -0
  113. package/dist/js/Modals/ModalStyles.js +58 -4
  114. package/dist/js/Modals/ModalStyles.js.map +1 -1
  115. package/dist/js/NotificationDot/NotificationDot.d.ts +8 -0
  116. package/dist/js/NotificationDot/NotificationDot.js +70 -0
  117. package/dist/js/NotificationDot/NotificationDot.js.map +1 -0
  118. package/dist/js/NotificationDot/index.d.ts +1 -0
  119. package/dist/js/NotificationDot/index.js +16 -0
  120. package/dist/js/NotificationDot/index.js.map +1 -0
  121. package/dist/js/Tabs/TabLink.d.ts +3 -1
  122. package/dist/js/Tabs/TabLink.js +26 -11
  123. package/dist/js/Tabs/TabLink.js.map +1 -1
  124. package/dist/js/Tabs/VerticalTabs.d.ts +1 -0
  125. package/dist/js/Tabs/VerticalTabs.js +4 -1
  126. package/dist/js/Tabs/VerticalTabs.js.map +1 -1
  127. package/dist/js/Toggles/ToggleSwitch.d.ts +1 -1
  128. package/dist/js/Toggles/ToggleSwitch.js +16 -8
  129. package/dist/js/Toggles/ToggleSwitch.js.map +1 -1
  130. package/dist/js/Toggles/TogglerStyles.d.ts +3 -0
  131. package/dist/js/Toggles/TogglerStyles.js +16 -6
  132. package/dist/js/Toggles/TogglerStyles.js.map +1 -1
  133. package/dist/js/Toggles/TogglerTypes.d.ts +2 -0
  134. package/dist/js/Toggles/TogglerTypes.js +0 -5
  135. package/dist/js/Toggles/TogglerTypes.js.map +1 -1
  136. package/dist/js/Tooltips/TooltipStyles.d.ts +10 -0
  137. package/dist/js/Tooltips/TooltipStyles.js +86 -0
  138. package/dist/js/Tooltips/TooltipStyles.js.map +1 -0
  139. package/dist/js/Tooltips/TooltipTypes.d.ts +14 -0
  140. package/dist/js/Tooltips/TooltipTypes.js +11 -0
  141. package/dist/js/Tooltips/TooltipTypes.js.map +1 -0
  142. package/dist/js/Tooltips/TooltipWrapper.d.ts +3 -0
  143. package/dist/js/Tooltips/TooltipWrapper.js +43 -0
  144. package/dist/js/Tooltips/TooltipWrapper.js.map +1 -0
  145. package/dist/js/Tooltips/index.d.ts +3 -0
  146. package/dist/js/Tooltips/index.js +30 -0
  147. package/dist/js/Tooltips/index.js.map +1 -0
  148. package/dist/js/icons/contenticons/ContentIcons.js +1513 -1381
  149. package/dist/js/icons/contenticons/ContentIcons.js.map +1 -1
  150. package/dist/js/icons/index.d.ts +2 -0
  151. package/dist/js/icons/index.js +68 -25
  152. package/dist/js/icons/index.js.map +1 -1
  153. package/dist/js/icons/systemicons/SystemIcons.js +652 -488
  154. package/dist/js/icons/systemicons/SystemIcons.js.map +1 -1
  155. package/dist/js/index.d.ts +1 -0
  156. package/dist/js/index.js +13 -0
  157. package/dist/js/index.js.map +1 -1
  158. package/dist/js/types.d.ts +1 -0
  159. package/dist/js/types.js +1 -0
  160. package/dist/js/types.js.map +1 -1
  161. package/dist/umd/Breadcrumb/Breadcrumb.js +97 -51
  162. package/dist/umd/Breadcrumb/Breadcrumb.js.map +1 -1
  163. package/dist/umd/Button/DualFunctionButton.js +10 -15
  164. package/dist/umd/Button/DualFunctionButton.js.map +1 -1
  165. package/dist/umd/Button/Iconbutton.js +6 -2
  166. package/dist/umd/Button/Iconbutton.js.map +1 -1
  167. package/dist/umd/Button/index.js +4 -10
  168. package/dist/umd/Button/index.js.map +1 -1
  169. package/dist/umd/Chips/ChoiceChips.js +1 -2
  170. package/dist/umd/Chips/ChoiceChips.js.map +1 -1
  171. package/dist/umd/Dropdown/BasicDropdown.js +11 -3
  172. package/dist/umd/Dropdown/BasicDropdown.js.map +1 -1
  173. package/dist/umd/Dropdown/CommonStyling.js +18 -14
  174. package/dist/umd/Dropdown/CommonStyling.js.map +1 -1
  175. package/dist/umd/Dropdown/DropdownButton.js +20 -8
  176. package/dist/umd/Dropdown/DropdownButton.js.map +1 -1
  177. package/dist/umd/Dropdown/DropdownContent.js +119 -34
  178. package/dist/umd/Dropdown/DropdownContent.js.map +1 -1
  179. package/dist/umd/GlobalNavigationBar/RightSideNav.js +4 -0
  180. package/dist/umd/GlobalNavigationBar/RightSideNav.js.map +1 -1
  181. package/dist/umd/List/ListRow.js +218 -92
  182. package/dist/umd/List/ListRow.js.map +1 -1
  183. package/dist/umd/List/__tests__/ListRow.tests.js +9 -46
  184. package/dist/umd/List/__tests__/ListRow.tests.js.map +1 -1
  185. package/dist/umd/List/index.js +5 -8
  186. package/dist/umd/List/index.js.map +1 -1
  187. package/dist/umd/Modals/ModalContainer.js +1 -0
  188. package/dist/umd/Modals/ModalContainer.js.map +1 -1
  189. package/dist/umd/Modals/ModalDialog.js +15 -7
  190. package/dist/umd/Modals/ModalDialog.js.map +1 -1
  191. package/dist/umd/Modals/ModalNote.js +133 -0
  192. package/dist/umd/Modals/ModalNote.js.map +1 -0
  193. package/dist/umd/Modals/ModalStyles.js +54 -5
  194. package/dist/umd/Modals/ModalStyles.js.map +1 -1
  195. package/dist/umd/NotificationDot/NotificationDot.js +119 -0
  196. package/dist/umd/NotificationDot/NotificationDot.js.map +1 -0
  197. package/dist/umd/NotificationDot/index.js +32 -0
  198. package/dist/umd/NotificationDot/index.js.map +1 -0
  199. package/dist/umd/Tabs/TabLink.js +28 -24
  200. package/dist/umd/Tabs/TabLink.js.map +1 -1
  201. package/dist/umd/Tabs/VerticalTabs.js +4 -1
  202. package/dist/umd/Tabs/VerticalTabs.js.map +1 -1
  203. package/dist/umd/Toggles/ToggleSwitch.js +16 -12
  204. package/dist/umd/Toggles/ToggleSwitch.js.map +1 -1
  205. package/dist/umd/Toggles/TogglerStyles.js +100 -73
  206. package/dist/umd/Toggles/TogglerStyles.js.map +1 -1
  207. package/dist/umd/Toggles/TogglerTypes.js +0 -5
  208. package/dist/umd/Toggles/TogglerTypes.js.map +1 -1
  209. package/dist/umd/Tooltips/TooltipStyles.js +101 -0
  210. package/dist/umd/Tooltips/TooltipStyles.js.map +1 -0
  211. package/dist/umd/Tooltips/TooltipTypes.js +25 -0
  212. package/dist/umd/Tooltips/TooltipTypes.js.map +1 -0
  213. package/dist/umd/Tooltips/TooltipWrapper.js +92 -0
  214. package/dist/umd/Tooltips/TooltipWrapper.js.map +1 -0
  215. package/dist/umd/Tooltips/index.js +33 -0
  216. package/dist/umd/Tooltips/index.js.map +1 -0
  217. package/dist/umd/icons/contenticons/ContentIcons.js +604 -471
  218. package/dist/umd/icons/contenticons/ContentIcons.js.map +1 -1
  219. package/dist/umd/icons/index.js +62 -29
  220. package/dist/umd/icons/index.js.map +1 -1
  221. package/dist/umd/icons/systemicons/SystemIcons.js +652 -488
  222. package/dist/umd/icons/systemicons/SystemIcons.js.map +1 -1
  223. package/dist/umd/index.js +13 -4
  224. package/dist/umd/index.js.map +1 -1
  225. package/dist/umd/types.js +1 -0
  226. package/dist/umd/types.js.map +1 -1
  227. package/package.json +1 -1
  228. package/dist/esm/Button/Anchor.js +0 -76
  229. package/dist/esm/Button/Anchor.js.map +0 -1
  230. package/dist/esm/List/ListRowDropdown.js +0 -105
  231. package/dist/esm/List/ListRowDropdown.js.map +0 -1
  232. package/dist/js/Button/Anchor.d.ts +0 -7
  233. package/dist/js/Button/Anchor.js +0 -66
  234. package/dist/js/Button/Anchor.js.map +0 -1
  235. package/dist/js/List/ListRowDropdown.d.ts +0 -8
  236. package/dist/js/List/ListRowDropdown.js +0 -110
  237. package/dist/js/List/ListRowDropdown.js.map +0 -1
  238. package/dist/umd/Button/Anchor.js +0 -201
  239. package/dist/umd/Button/Anchor.js.map +0 -1
  240. package/dist/umd/List/ListRowDropdown.js +0 -182
  241. package/dist/umd/List/ListRowDropdown.js.map +0 -1
@@ -13,17 +13,19 @@ var React = _interopRequireWildcard(require("react"));
13
13
 
14
14
  var _styledComponents = _interopRequireDefault(require("styled-components"));
15
15
 
16
- var _Button = require("../Button");
16
+ var _styles = require("../styles");
17
17
 
18
- var _SystemIcons = require("../icons/systemicons/SystemIcons");
18
+ var _typography = require("../styles/typography");
19
19
 
20
- var _styles = require("../styles");
20
+ var _Tooltips = require("../Tooltips");
21
21
 
22
- var _ListRowDropdown = _interopRequireDefault(require("./ListRowDropdown"));
22
+ var _Dropdown = require("../Dropdown");
23
23
 
24
- var _typography = require("../styles/typography");
24
+ var _icons = require("../icons");
25
+
26
+ var _types = require("../types");
25
27
 
26
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
28
+ var _templateObject;
27
29
 
28
30
  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); }
29
31
 
@@ -31,6 +33,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
31
33
 
32
34
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
35
 
36
+ 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); }
37
+
34
38
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
35
39
 
36
40
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -45,70 +49,88 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
49
 
46
50
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
47
51
 
48
- var EditRow = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n justify-content: space-between;\n padding: 8px 12px;\n align-items: center;\n\n &:nth-child(even) {\n background-color: ", ";\n }\n\n .user-actions {\n display: flex;\n position: relative;\n align-items: center;\n }\n\n .somePaddingForAlignment {\n padding: 0 3px 0 0;\n }\n\n &.active {\n background-color: ", ";\n }\n"])), function (props) {
49
- return props.disableDifferentBackgroundforEvenNumbers ? 'inherit' : _styles.COLORS.neutral_20;
50
- }, _styles.COLORS.neutral_100);
51
-
52
- var LeftSection = _styledComponents.default.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ", "\n\n svg {\n margin-right: 12px;\n }\n"])), (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Regular, 'inherit'));
53
-
54
- var MainInfo = _styledComponents.default.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin: auto 1em auto 0;\n display: flex;\n flex-direction: column;\n"])));
55
-
56
- var ButtonWrapper = _styledComponents.default.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n outline: none;\n"])));
57
-
58
- var UserDropdownButton = (0, _styledComponents.default)(_Button.Button)(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n text-decoration: none;\n outline: none;\n div {\n outline: none;\n }\n &:focus > div {\n box-shadow: 0px 0px 8px #2e7fa1, 0px 4px 12px rgba(46, 127, 161, 0.25);\n border-radius: 4px;\n outline: none;\n background: ", ";\n }\n"])), _styles.COLORS.white);
59
- var StyledMoreVertical = (0, _styledComponents.default)(_SystemIcons.MoreVertical)(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n padding: 8px 8px;\n outline: none;\n &:hover {\n background: ", ";\n border-radius: 4px;\n }\n &:active {\n background: ", ";\n border-radius: 4px;\n }\n"])), _styles.COLORS.primary_20, _styles.COLORS.primary_100);
52
+ var Row = _styledComponents.default.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-bottom: 1px solid ", ";\n box-sizing: border-box;\n position: relative;\n\n color: ", ";\n background-color: ", ";\n\n\n cursor: default;\n\n &.interactive {\n cursor: pointer;\n }\n\n &.interactive.disabled {\n cursor: not-allowed;\n }\n\n &.interactive:hover:not(.in-action):not(.disabled) {\n background-color: ", ";\n color: ", ";\n }\n\n &.interactive:active:not(.in-action):not(.disabled) {\n background-color: ", ";\n color: ", ";\n box-shadow: none;\n }\n\n &.interactive:focus {\n outline: none;\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;\n z-index: 1;\n }\n\n &.disabled {\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\n color: ", ";\n }\n }\n\n\n &.small {\n min-height: 48px;\n padding: 0 8px;\n\n .list-item-icon {\n margin-right: 8px;\n }\n\n .list-item-main-text {\n ", "\n }\n\n .list-item-actions {\n margin-right: -8px;\n }\n }\n\n &.medium {\n min-height: 56px;\n padding: 0 12px;\n\n .list-item-icon {\n margin-right: 12px;\n }\n\n .list-item-main-text {\n ", "\n }\n\n .list-item-actions {\n margin-right: -12px;\n }\n }\n\n &.large {\n min-height: 64px;\n padding: 0 16px;\n\n .list-item-icon {\n margin-right: 16px;\n }\n\n .list-item-main-text {\n ", "\n }\n\n .list-item-actions {\n margin-right: -16px;\n }\n }\n\n &.overlay {\n padding: 0 4px;\n\n .list-item-actions {\n margin-right: -4px;\n }\n }\n\n .list-item-icon {\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n }\n\n .list-item-content {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .list-item-main-text {\n }\n\n .list-item-secondary-text {\n ", "\n }\n\n .list-item-note {\n color: ", ";\n word-break: initial;\n ", "\n }\n\n .list-item-note.with-tooltip {\n cursor: pointer;\n\n > div {\n text-decoration-line: underline;\n text-decoration-style: dashed;\n text-underline-offset: 1px;\n text-decoration-thickness: 1px;\n }\n }\n\n .list-item-actions {\n color: ", ";\n display: flex;\n align-items: center;\n\n button div {\n background-color: transparent;\n }\n }\n"])), _styles.COLORS.neutral_100, _styles.COLORS.neutral_600, _styles.COLORS.white, _styles.COLORS.primary_20, _styles.COLORS.primary_700, _styles.COLORS.primary_100, _styles.COLORS.primary_800, _styles.COLORS.neutral_300, (0, _typography.ComponentSStyling)(_styles.ComponentTextStyle.Regular, null), (0, _typography.ComponentMStyling)(_styles.ComponentTextStyle.Regular, null), (0, _typography.ComponentLStyling)(_styles.ComponentTextStyle.Regular, null), (0, _typography.ComponentXXSStyling)(_styles.ComponentTextStyle.Regular, null), _styles.COLORS.neutral_600, (0, _typography.ComponentXSStyling)(_styles.ComponentTextStyle.Regular, null), _styles.COLORS.neutral_600);
60
53
 
61
54
  var ListRow = function ListRow(_ref) {
62
55
  var key = _ref.key,
63
- Icon = _ref.Icon,
64
- mainInfo = _ref.mainInfo,
65
- dropdownOptions = _ref.dropdownOptions,
66
- disableDifferentBackgroundforEvenNumbers = _ref.disableDifferentBackgroundforEvenNumbers;
67
- var color = _styles.COLORS.black;
56
+ _ref$size = _ref.size,
57
+ size = _ref$size === void 0 ? _types.Size.Medium : _ref$size,
58
+ _ref$variant = _ref.variant,
59
+ variant = _ref$variant === void 0 ? 'normal' : _ref$variant,
60
+ icon = _ref.icon,
61
+ mainText = _ref.mainText,
62
+ secondaryText = _ref.secondaryText,
63
+ dropdown = _ref.dropdown,
64
+ note = _ref.note,
65
+ noteTooltip = _ref.noteTooltip,
66
+ _ref$disabled = _ref.disabled,
67
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
68
+ action = _ref.action;
68
69
 
69
70
  var _React$useState = React.useState(false),
70
71
  _React$useState2 = _slicedToArray(_React$useState, 2),
71
- dropdownActive = _React$useState2[0],
72
- setDropdownActive = _React$useState2[1];
72
+ inAction = _React$useState2[0],
73
+ setInAction = _React$useState2[1];
74
+
75
+ var handleKeyPress = function handleKeyPress(e) {
76
+ if (e.key === 'Enter') {
77
+ action && action();
78
+ }
79
+ };
73
80
 
74
- return /*#__PURE__*/React.createElement(EditRow, {
81
+ var rowClassName = (inAction ? 'in-action ' : '').concat(disabled ? 'disabled ' : '').concat(!!action ? 'interactive ' : '').concat('list-item-row ').concat("".concat(variant, " ")).concat("".concat(size));
82
+ return /*#__PURE__*/React.createElement(Row, {
75
83
  key: key,
76
- disableDifferentBackgroundforEvenNumbers: disableDifferentBackgroundforEvenNumbers
77
- }, /*#__PURE__*/React.createElement(LeftSection, {
78
- color: color,
79
- "data-hj-suppress": true
80
- }, Icon && /*#__PURE__*/React.createElement(Icon, {
81
- size: "22px",
82
- color: color,
83
- className: "somePaddingForAlignment"
84
- }), /*#__PURE__*/React.createElement(MainInfo, {
84
+ tabIndex: !!action && !disabled ? 0 : undefined,
85
+ className: rowClassName,
86
+ onKeyPress: function onKeyPress(e) {
87
+ return !disabled && handleKeyPress(e);
88
+ },
89
+ onClick: function onClick(e) {
90
+ !disabled && action && action();
91
+ },
85
92
  "data-hj-suppress": true
86
- }, mainInfo)), /*#__PURE__*/React.createElement(ButtonWrapper, {
87
- className: "user-actions"
88
- }, /*#__PURE__*/React.createElement(UserDropdownButton, {
89
- variant: "tertiary",
90
- onClick: function onClick() {
91
- setDropdownActive(true);
92
- }
93
+ }, !!icon && /*#__PURE__*/React.createElement("div", {
94
+ className: 'list-item-icon'
95
+ }, icon), /*#__PURE__*/React.createElement("div", {
96
+ className: 'list-item-content'
93
97
  }, /*#__PURE__*/React.createElement("div", {
94
- tabIndex: -1
95
- }, /*#__PURE__*/React.createElement(StyledMoreVertical, {
96
- size: "22px",
97
- color: _styles.COLORS.neutral_500
98
- }))), dropdownActive && /*#__PURE__*/React.createElement(_ListRowDropdown.default, {
99
- closeDropdown: function closeDropdown() {
100
- return setDropdownActive(false);
98
+ className: 'list-item-main-text'
99
+ }, mainText), !!secondaryText && /*#__PURE__*/React.createElement("div", {
100
+ className: 'list-item-secondary-text'
101
+ }, secondaryText)), !!note && /*#__PURE__*/React.createElement(React.Fragment, null, !!noteTooltip && /*#__PURE__*/React.createElement("div", {
102
+ className: 'list-item-note with-tooltip'
103
+ }, /*#__PURE__*/React.createElement(_Tooltips.TooltipWrapper, {
104
+ label: noteTooltip,
105
+ size: size === _types.Size.Large ? _types.Size.Medium : size === _types.Size.Small ? _types.Size.XSmall : _types.Size.Small,
106
+ position: 'top',
107
+ withArrow: true
108
+ }, note)), !noteTooltip && /*#__PURE__*/React.createElement("div", {
109
+ className: 'list-item-note'
110
+ }, note)), !!dropdown && /*#__PURE__*/React.createElement("div", {
111
+ className: 'list-item-actions',
112
+ onMouseEnter: function onMouseEnter() {
113
+ return setInAction(!(dropdown !== null && dropdown !== void 0 && dropdown.disabled));
101
114
  },
102
- options: dropdownOptions
103
- })));
115
+ onMouseLeave: function onMouseLeave() {
116
+ return setInAction(false);
117
+ }
118
+ }, /*#__PURE__*/React.createElement(_Dropdown.DropdownButton, _extends({}, dropdown, {
119
+ disabled: disabled || dropdown.disabled,
120
+ icon: variant === 'overlay' ? /*#__PURE__*/React.createElement(_icons.SystemIcons.ArrowDropDown, null) : /*#__PURE__*/React.createElement(_icons.SystemIcons.MoreVertical, null)
121
+ }))));
104
122
  };
105
123
 
106
124
  ListRow.propTypes = {
107
125
  key: _propTypes.default.string,
108
- Icon: _propTypes.default.any,
109
- mainInfo: _propTypes.default.any.isRequired,
110
- dropdownOptions: _propTypes.default.array.isRequired,
111
- disableDifferentBackgroundforEvenNumbers: _propTypes.default.bool
126
+ variant: _propTypes.default.oneOf(['normal', 'overlay']),
127
+ icon: _propTypes.default.node,
128
+ mainText: _propTypes.default.string.isRequired,
129
+ secondaryText: _propTypes.default.string,
130
+ note: _propTypes.default.string,
131
+ noteTooltip: _propTypes.default.string,
132
+ disabled: _propTypes.default.bool,
133
+ action: _propTypes.default.func
112
134
  };
113
135
  var _default = ListRow;
114
136
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/List/ListRow.tsx"],"names":["EditRow","styled","div","props","disableDifferentBackgroundforEvenNumbers","COLORS","neutral_20","neutral_100","LeftSection","ComponentTextStyle","Regular","MainInfo","ButtonWrapper","UserDropdownButton","Button","white","StyledMoreVertical","MoreVertical","primary_20","primary_100","ListRow","key","Icon","mainInfo","dropdownOptions","color","black","React","useState","dropdownActive","setDropdownActive","neutral_500"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAGA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,OAAO,GAAGC,0BAAOC,GAAV,ubAOW,UAAAC,KAAK;AAAA,SAAKA,KAAK,CAACC,wCAAN,GAAiD,SAAjD,GAA6DC,eAAOC,UAAzE;AAAA,CAPhB,EAqBWD,eAAOE,WArBlB,CAAb;;AAyBA,IAAMC,WAAW,GAAGP,0BAAOC,GAAV,+LAKb,mCAAkBO,2BAAmBC,OAArC,EAA8C,SAA9C,CALa,CAAjB;;AAYA,IAAMC,QAAQ,GAAGV,0BAAOC,GAAV,kJAAd;;AAMA,IAAMU,aAAa,GAAGX,0BAAOC,GAAV,2FAAnB;;AAIA,IAAMW,kBAAkB,GAAG,+BAAOC,cAAP,CAAH,mVAWNT,eAAOU,KAXD,CAAxB;AAeA,IAAMC,kBAAkB,GAAG,+BAAOC,yBAAP,CAAH,sPAINZ,eAAOa,UAJD,EAQNb,eAAOc,WARD,CAAxB;;AAqBA,IAAMC,OAAuC,GAAG,SAA1CA,OAA0C,OAA+F;AAAA,MAA5FC,GAA4F,QAA5FA,GAA4F;AAAA,MAAvFC,IAAuF,QAAvFA,IAAuF;AAAA,MAAjFC,QAAiF,QAAjFA,QAAiF;AAAA,MAAvEC,eAAuE,QAAvEA,eAAuE;AAAA,MAAtDpB,wCAAsD,QAAtDA,wCAAsD;AAC7I,MAAMqB,KAAK,GAAGpB,eAAOqB,KAArB;;AACA,wBAA4CC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAA5C;AAAA;AAAA,MAAOC,cAAP;AAAA,MAAuBC,iBAAvB;;AAEA,sBACE,oBAAC,OAAD;AAAS,IAAA,GAAG,EAAET,GAAd;AAAmB,IAAA,wCAAwC,EAAEjB;AAA7D,kBACE,oBAAC,WAAD;AAAa,IAAA,KAAK,EAAEqB,KAApB;AAA2B;AAA3B,KACGH,IAAI,iBAAI,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,KAAK,EAAEG,KAAzB;AAAgC,IAAA,SAAS,EAAC;AAA1C,IADX,eAEE,oBAAC,QAAD;AAAU;AAAV,KAA4BF,QAA5B,CAFF,CADF,eAME,oBAAC,aAAD;AAAe,IAAA,SAAS,EAAC;AAAzB,kBACE,oBAAC,kBAAD;AACE,IAAA,OAAO,EAAC,UADV;AAEE,IAAA,OAAO,EAAE,mBAAM;AACbO,MAAAA,iBAAiB,CAAC,IAAD,CAAjB;AACD;AAJH,kBAKE;AAAK,IAAA,QAAQ,EAAE,CAAC;AAAhB,kBACE,oBAAC,kBAAD;AAAoB,IAAA,IAAI,EAAC,MAAzB;AAAgC,IAAA,KAAK,EAAEzB,eAAO0B;AAA9C,IADF,CALF,CADF,EAUGF,cAAc,iBAAI,oBAAC,wBAAD;AAAiB,IAAA,aAAa,EAAE;AAAA,aAAMC,iBAAiB,CAAC,KAAD,CAAvB;AAAA,KAAhC;AAAgE,IAAA,OAAO,EAAEN;AAAzE,IAVrB,CANF,CADF;AAqBD,CAzBD;;;AAPEH,EAAAA,G;AACAC,EAAAA,I;AACAC,EAAAA,Q;AACAC,EAAAA,e;AACApB,EAAAA,wC;;eA8BagB,O","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {Button} from '../Button';\nimport {MoreVertical} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentTextStyle} from '../styles';\nimport {ListRowDropdownOption} from '../types';\n\nimport ListRowDropdown from './ListRowDropdown';\nimport {ComponentSStyling} from '../styles/typography';\n\nconst EditRow = styled.div<{ disableDifferentBackgroundforEvenNumbers?: boolean }>`\n display: flex;\n justify-content: space-between;\n padding: 8px 12px;\n align-items: center;\n\n &:nth-child(even) {\n background-color: ${props => (props.disableDifferentBackgroundforEvenNumbers ? 'inherit' : COLORS.neutral_20)};\n }\n\n .user-actions {\n display: flex;\n position: relative;\n align-items: center;\n }\n\n .somePaddingForAlignment {\n padding: 0 3px 0 0;\n }\n\n &.active {\n background-color: ${COLORS.neutral_100};\n }\n`;\n\nconst LeftSection = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n\n ${ComponentSStyling(ComponentTextStyle.Regular, 'inherit')}\n\n svg {\n margin-right: 12px;\n }\n`;\n\nconst MainInfo = styled.div`\n margin: auto 1em auto 0;\n display: flex;\n flex-direction: column;\n`;\n\nconst ButtonWrapper = styled.div`\n outline: none;\n`;\n\nconst UserDropdownButton = styled(Button)`\n display: flex;\n text-decoration: none;\n outline: none;\n div {\n outline: none;\n }\n &:focus > div {\n box-shadow: 0px 0px 8px #2e7fa1, 0px 4px 12px rgba(46, 127, 161, 0.25);\n border-radius: 4px;\n outline: none;\n background: ${COLORS.white};\n }\n`;\n\nconst StyledMoreVertical = styled(MoreVertical)`\n padding: 8px 8px;\n outline: none;\n &:hover {\n background: ${COLORS.primary_20};\n border-radius: 4px;\n }\n &:active {\n background: ${COLORS.primary_100};\n border-radius: 4px;\n }\n`;\n\ntype Props = {\n key?: string;\n Icon?: any;\n mainInfo: any;\n dropdownOptions: ListRowDropdownOption[];\n disableDifferentBackgroundforEvenNumbers?: boolean;\n};\n\nconst ListRow: React.FunctionComponent<Props> = ({ key, Icon, mainInfo, dropdownOptions, disableDifferentBackgroundforEvenNumbers }: Props) => {\n const color = COLORS.black;\n const [dropdownActive, setDropdownActive] = React.useState<Boolean>(false);\n\n return (\n <EditRow key={key} disableDifferentBackgroundforEvenNumbers={disableDifferentBackgroundforEvenNumbers}>\n <LeftSection color={color} data-hj-suppress>\n {Icon && <Icon size=\"22px\" color={color} className=\"somePaddingForAlignment\" />}\n <MainInfo data-hj-suppress>{mainInfo}</MainInfo>\n </LeftSection>\n\n <ButtonWrapper className=\"user-actions\">\n <UserDropdownButton\n variant=\"tertiary\"\n onClick={() => {\n setDropdownActive(true);\n }}>\n <div tabIndex={-1}>\n <StyledMoreVertical size=\"22px\" color={COLORS.neutral_500} />\n </div>\n </UserDropdownButton>\n {dropdownActive && <ListRowDropdown closeDropdown={() => setDropdownActive(false)} options={dropdownOptions} />}\n </ButtonWrapper>\n </EditRow>\n );\n};\n\nexport default ListRow;\n"],"file":"ListRow.js"}
1
+ {"version":3,"sources":["../../../src/List/ListRow.tsx"],"names":["Row","styled","div","COLORS","neutral_100","neutral_600","white","primary_20","primary_700","primary_100","primary_800","neutral_300","ComponentTextStyle","Regular","ListRow","key","size","Size","Medium","variant","icon","mainText","secondaryText","dropdown","note","noteTooltip","disabled","action","React","useState","inAction","setInAction","handleKeyPress","e","rowClassName","concat","undefined","Large","Small","XSmall"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport styled from 'styled-components';\nimport {COLORS, ComponentTextStyle} from '../styles';\n\nimport {\n ComponentLStyling,\n ComponentMStyling,\n ComponentSStyling,\n ComponentXSStyling,\n ComponentXXSStyling\n} from '../styles/typography';\nimport {DropdownButtonProps} from '../Dropdown/DropdownButtonTypes';\nimport {TooltipWrapper} from '../Tooltips';\nimport {DropdownButton} from '../Dropdown';\nimport {SystemIcons} from '../icons';\nimport {Size} from '../types';\n\nconst Row = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: center;\n border-bottom: 1px solid ${COLORS.neutral_100};\n box-sizing: border-box;\n position: relative;\n\n color: ${COLORS.neutral_600};\n background-color: ${COLORS.white};\n\n\n cursor: default;\n\n &.interactive {\n cursor: pointer;\n }\n\n &.interactive.disabled {\n cursor: not-allowed;\n }\n\n &.interactive:hover:not(.in-action):not(.disabled) {\n background-color: ${COLORS.primary_20};\n color: ${COLORS.primary_700};\n }\n\n &.interactive:active:not(.in-action):not(.disabled) {\n background-color: ${COLORS.primary_100};\n color: ${COLORS.primary_800};\n box-shadow: none;\n }\n\n &.interactive:focus {\n outline: none;\n box-shadow: 0 4px 12px rgba(46, 127, 161, 0.25), 0 0 8px #2E7FA1;\n z-index: 1;\n }\n\n &.disabled {\n .list-item-icon, .list-item-content, .list-item-note, .list-item-actions {\n color: ${COLORS.neutral_300};\n }\n }\n\n\n &.small {\n min-height: 48px;\n padding: 0 8px;\n\n .list-item-icon {\n margin-right: 8px;\n }\n\n .list-item-main-text {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n\n .list-item-actions {\n margin-right: -8px;\n }\n }\n\n &.medium {\n min-height: 56px;\n padding: 0 12px;\n\n .list-item-icon {\n margin-right: 12px;\n }\n\n .list-item-main-text {\n ${ComponentMStyling(ComponentTextStyle.Regular, null)}\n }\n\n .list-item-actions {\n margin-right: -12px;\n }\n }\n\n &.large {\n min-height: 64px;\n padding: 0 16px;\n\n .list-item-icon {\n margin-right: 16px;\n }\n\n .list-item-main-text {\n ${ComponentLStyling(ComponentTextStyle.Regular, null)}\n }\n\n .list-item-actions {\n margin-right: -16px;\n }\n }\n\n &.overlay {\n padding: 0 4px;\n\n .list-item-actions {\n margin-right: -4px;\n }\n }\n\n .list-item-icon {\n width: 24px;\n height: 24px;\n\n svg {\n width: 24px;\n height: 24px;\n }\n }\n\n .list-item-content {\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n }\n\n .list-item-main-text {\n }\n\n .list-item-secondary-text {\n ${ComponentXXSStyling(ComponentTextStyle.Regular, null)}\n }\n\n .list-item-note {\n color: ${COLORS.neutral_600};\n word-break: initial;\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n }\n\n .list-item-note.with-tooltip {\n cursor: pointer;\n\n > div {\n text-decoration-line: underline;\n text-decoration-style: dashed;\n text-underline-offset: 1px;\n text-decoration-thickness: 1px;\n }\n }\n\n .list-item-actions {\n color: ${COLORS.neutral_600};\n display: flex;\n align-items: center;\n\n button div {\n background-color: transparent;\n }\n }\n`;\n\n\ntype Props = {\n key?: string;\n size?: Size;\n variant?: 'normal' | 'overlay';\n icon?: React.ReactNode;\n mainText: string;\n secondaryText?: string;\n dropdown?: Pick<DropdownButtonProps, 'items' | 'onClick' | 'disabled' | 'width'>;\n note?: string;\n noteTooltip?: string;\n disabled?: boolean;\n action?: () => void;\n};\n\nconst ListRow: React.FunctionComponent<Props> = ({\n key,\n size = Size.Medium,\n variant = 'normal',\n icon,\n mainText,\n secondaryText,\n dropdown,\n note,\n noteTooltip,\n disabled = false,\n action\n }: Props) => {\n\n const [inAction, setInAction] = React.useState<Boolean>(false);\n\n const handleKeyPress = (e: any) => {\n if (e.key === 'Enter') {\n action && action()\n }\n }\n\n const rowClassName = (inAction ? 'in-action ' : '')\n .concat(disabled ? 'disabled ' : '')\n .concat(!!action ? 'interactive ' : '')\n .concat('list-item-row ')\n .concat(`${variant} `)\n .concat(`${size}`);\n\n return (\n <Row key={key}\n tabIndex={!!action && !disabled ? 0 : undefined}\n className={rowClassName}\n onKeyPress={(e) => !disabled && handleKeyPress(e)}\n onClick={e => {\n !disabled && action && action();\n }}\n data-hj-suppress>\n {\n !!icon &&\n <div className={'list-item-icon'}>{icon}</div>\n }\n <div className={'list-item-content'}>\n <div className={'list-item-main-text'}>{mainText}</div>\n {!!secondaryText && <div className={'list-item-secondary-text'}>{secondaryText}</div>}\n </div>\n {\n !!note &&\n <>\n {\n !!noteTooltip &&\n <div className={'list-item-note with-tooltip'}>\n <TooltipWrapper label={noteTooltip}\n size={size === Size.Large ? Size.Medium : size === Size.Small ? Size.XSmall : Size.Small}\n position={'top'}\n withArrow={true}>\n {note}\n </TooltipWrapper>\n </div>\n }\n {\n !noteTooltip &&\n <div className={'list-item-note'}>\n {note}\n </div>\n }\n </>\n }\n {\n !!dropdown &&\n <div className={'list-item-actions'}\n onMouseEnter={() => setInAction(!dropdown?.disabled)}\n onMouseLeave={() => setInAction(false)}>\n <DropdownButton {...dropdown}\n disabled={disabled || dropdown.disabled}\n icon={variant === 'overlay'\n ? <SystemIcons.ArrowDropDown/>\n : <SystemIcons.MoreVertical/>}\n />\n </div>\n }\n </Row>\n );\n};\n\nexport default ListRow;\n\n"],"file":"ListRow.js"}
@@ -6,7 +6,9 @@ var _react2 = require("@testing-library/react");
6
6
 
7
7
  var _index = require("../index");
8
8
 
9
- var _SystemIcons = require("../../icons/systemicons/SystemIcons");
9
+ var _types = require("../../types");
10
+
11
+ var _icons = require("../../icons");
10
12
 
11
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
14
 
@@ -23,18 +25,11 @@ describe('<ListRow />', function () {
23
25
  switch (_context.prev = _context.next) {
24
26
  case 0:
25
27
  _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.ListRow, {
26
- Icon: _SystemIcons.Institute,
27
- mainInfo: /*#__PURE__*/_react.default.createElement("div", null, "Laerdal Medical AS"),
28
- dropdownOptions: [{
29
- label: 'Option 1',
30
- action: function action() {},
31
- key: 'Test1'
32
- }, {
33
- label: 'Option 2',
34
- action: function action() {},
35
- key: 'Test2'
36
- }]
37
- }, "Menu 1")), getByText = _render.getByText;
28
+ icon: /*#__PURE__*/_react.default.createElement(_icons.SystemIcons.Institute, null),
29
+ mainText: 'Laerdal Medical AS',
30
+ size: _types.Size.Small,
31
+ disabled: false
32
+ })), getByText = _render.getByText;
38
33
  expect(getByText('Laerdal Medical AS')).toBeDefined();
39
34
 
40
35
  case 2:
@@ -44,45 +39,5 @@ describe('<ListRow />', function () {
44
39
  }
45
40
  }, _callee);
46
41
  })));
47
- it('When menu is clicked, it opens', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
48
- var _render2, getByRole, getByText;
49
-
50
- return regeneratorRuntime.wrap(function _callee2$(_context2) {
51
- while (1) {
52
- switch (_context2.prev = _context2.next) {
53
- case 0:
54
- _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_index.ListRow, {
55
- Icon: _SystemIcons.Institute,
56
- mainInfo: /*#__PURE__*/_react.default.createElement("div", null, "Laerdal Medical AS"),
57
- dropdownOptions: [{
58
- label: 'Option 1',
59
- action: function action() {},
60
- key: 'Test1'
61
- }, {
62
- label: 'Option 2',
63
- action: function action() {},
64
- key: 'Test2'
65
- }]
66
- }, "Menu 1")), getByRole = _render2.getByRole, getByText = _render2.getByText; //expect(getByText('Option 1')).not.toBeDefined();
67
-
68
- getByRole('button').click();
69
- expect(getByText('Option 1')).toBeDefined();
70
-
71
- case 3:
72
- case "end":
73
- return _context2.stop();
74
- }
75
- }
76
- }, _callee2);
77
- })));
78
- /*it('Renders with required input if specified', async () => {
79
- const { getByPlaceholderText } = render(<DropdownFilter id="Dropdown" list={list} placeholder="Placeholder" required />);
80
- expect(getByPlaceholderText('Placeholder').required).toBe(true);
81
- });
82
- it('Renders with inital value if specified', async () => {
83
- const initialValue = 'Contact';
84
- const { getByPlaceholderText } = render(<DropdownFilter id="Dropdown" list={list} placeholder="Placeholder" initalValue={initialValue} />);
85
- expect(getByPlaceholderText('Placeholder').value).toBe(initialValue);
86
- });*/
87
42
  });
88
43
  //# sourceMappingURL=ListRow.tests.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/List/__tests__/ListRow.tests.tsx"],"names":["describe","it","Institute","label","action","key","getByText","expect","toBeDefined","getByRole","click"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEAA,QAAQ,CAAC,aAAD,EAAgB,YAAM;AAC5BC,EAAAA,EAAE,CAAC,SAAD,uEAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACU,kCACpB,6BAAC,cAAD;AACE,cAAA,IAAI,EAAEC,sBADR;AAEE,cAAA,QAAQ,eAAE,+DAFZ;AAGE,cAAA,eAAe,EAAE,CACf;AAAEC,gBAAAA,KAAK,EAAE,UAAT;AAAqBC,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CAArC;AAAuCC,gBAAAA,GAAG,EAAE;AAA5C,eADe,EAEf;AAAEF,gBAAAA,KAAK,EAAE,UAAT;AAAqBC,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CAArC;AAAuCC,gBAAAA,GAAG,EAAE;AAA5C,eAFe;AAHnB,wBADoB,CADV,EACJC,SADI,WACJA,SADI;AAYZC,YAAAA,MAAM,CAACD,SAAS,CAAC,oBAAD,CAAV,CAAN,CAAwCE,WAAxC;;AAZY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAZ,GAAF;AAeAP,EAAAA,EAAE,CAAC,gCAAD,uEAAmC;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,uBACF,kCAC/B,6BAAC,cAAD;AACE,cAAA,IAAI,EAAEC,sBADR;AAEE,cAAA,QAAQ,eAAE,+DAFZ;AAGE,cAAA,eAAe,EAAE,CACf;AAAEC,gBAAAA,KAAK,EAAE,UAAT;AAAqBC,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CAArC;AAAuCC,gBAAAA,GAAG,EAAE;AAA5C,eADe,EAEf;AAAEF,gBAAAA,KAAK,EAAE,UAAT;AAAqBC,gBAAAA,MAAM,EAAE,kBAAM,CAAE,CAArC;AAAuCC,gBAAAA,GAAG,EAAE;AAA5C,eAFe;AAHnB,wBAD+B,CADE,EAC3BI,SAD2B,YAC3BA,SAD2B,EAChBH,SADgB,YAChBA,SADgB,EAanC;;AACAG,YAAAA,SAAS,CAAC,QAAD,CAAT,CAAoBC,KAApB;AACAH,YAAAA,MAAM,CAACD,SAAS,CAAC,UAAD,CAAV,CAAN,CAA8BE,WAA9B;;AAfmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAnC,GAAF;AAkBA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEC,CA5CO,CAAR","sourcesContent":["import React from 'react';\nimport { render } from '@testing-library/react';\nimport { ListRow } from '../index';\nimport { Institute } from '../../icons/systemicons/SystemIcons';\n\ndescribe('<ListRow />', () => {\n it('Renders', async () => {\n const { getByText } = render(\n <ListRow\n Icon={Institute}\n mainInfo={<div>Laerdal Medical AS</div>}\n dropdownOptions={[\n { label: 'Option 1', action: () => {}, key: 'Test1' },\n { label: 'Option 2', action: () => {}, key: 'Test2' },\n ]}>\n Menu 1\n </ListRow>,\n );\n expect(getByText('Laerdal Medical AS')).toBeDefined();\n });\n\n it('When menu is clicked, it opens', async () => {\n const { getByRole, getByText } = render(\n <ListRow\n Icon={Institute}\n mainInfo={<div>Laerdal Medical AS</div>}\n dropdownOptions={[\n { label: 'Option 1', action: () => {}, key: 'Test1' },\n { label: 'Option 2', action: () => {}, key: 'Test2' },\n ]}>\n Menu 1\n </ListRow>,\n );\n\n //expect(getByText('Option 1')).not.toBeDefined();\n getByRole('button').click();\n expect(getByText('Option 1')).toBeDefined();\n });\n\n /*it('Renders with required input if specified', async () => {\n const { getByPlaceholderText } = render(<DropdownFilter id=\"Dropdown\" list={list} placeholder=\"Placeholder\" required />);\n expect(getByPlaceholderText('Placeholder').required).toBe(true);\n });\n\n it('Renders with inital value if specified', async () => {\n const initialValue = 'Contact';\n const { getByPlaceholderText } = render(<DropdownFilter id=\"Dropdown\" list={list} placeholder=\"Placeholder\" initalValue={initialValue} />);\n expect(getByPlaceholderText('Placeholder').value).toBe(initialValue);\n });*/\n});\n"],"file":"ListRow.tests.js"}
1
+ {"version":3,"sources":["../../../../src/List/__tests__/ListRow.tests.tsx"],"names":["describe","it","Size","Small","getByText","expect","toBeDefined"],"mappings":";;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEAA,QAAQ,CAAC,aAAD,EAAgB,YAAM;AAC5BC,EAAAA,EAAE,CAAC,SAAD,uEAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA,sBACQ,kCAClB,6BAAC,cAAD;AACE,cAAA,IAAI,eAAE,6BAAC,kBAAD,CAAa,SAAb,OADR;AAEE,cAAA,QAAQ,EAAE,oBAFZ;AAGE,cAAA,IAAI,EAAEC,YAAKC,KAHb;AAIE,cAAA,QAAQ,EAAE;AAJZ,cADkB,CADR,EACLC,SADK,WACLA,SADK;AAQZC,YAAAA,MAAM,CAACD,SAAS,CAAC,oBAAD,CAAV,CAAN,CAAwCE,WAAxC;;AARY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAAZ,GAAF;AAUD,CAXO,CAAR","sourcesContent":["import React from 'react';\nimport {render} from '@testing-library/react';\nimport {ListRow} from '../index';\nimport {Size} from '../../types';\nimport {SystemIcons} from '../../icons';\n\ndescribe('<ListRow />', () => {\n it('Renders', async () => {\n const {getByText} = render(\n <ListRow\n icon={<SystemIcons.Institute/>}\n mainText={'Laerdal Medical AS'}\n size={Size.Small}\n disabled={false}/>,\n );\n expect(getByText('Laerdal Medical AS')).toBeDefined();\n });\n});\n"],"file":"ListRow.tests.js"}
@@ -1,3 +1,2 @@
1
1
  import ListRow from './ListRow';
2
- import ListRowDropdown from './ListRowDropdown';
3
- export { ListRow, ListRowDropdown };
2
+ export { ListRow };
@@ -9,16 +9,8 @@ Object.defineProperty(exports, "ListRow", {
9
9
  return _ListRow.default;
10
10
  }
11
11
  });
12
- Object.defineProperty(exports, "ListRowDropdown", {
13
- enumerable: true,
14
- get: function get() {
15
- return _ListRowDropdown.default;
16
- }
17
- });
18
12
 
19
13
  var _ListRow = _interopRequireDefault(require("./ListRow"));
20
14
 
21
- var _ListRowDropdown = _interopRequireDefault(require("./ListRowDropdown"));
22
-
23
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
24
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/List/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["import ListRow from './ListRow';\nimport ListRowDropdown from './ListRowDropdown';\n\nexport { ListRow, ListRowDropdown };\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/List/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["import ListRow from './ListRow';\n\nexport {ListRow};\n"],"file":"index.js"}
@@ -64,7 +64,7 @@ var ModalContainerStyles = {
64
64
  }
65
65
  }; //override modal classes to define the animations
66
66
 
67
- var modalTransitions = "\n.ReactModal__Overlay {\n opacity: 0;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n";
67
+ var modalTransitions = "\n.ReactModal__Overlay {\n opacity: 0;\n z-index: 100;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n";
68
68
 
69
69
  var ModalContainer = /*#__PURE__*/function (_React$Component) {
70
70
  _inherits(ModalContainer, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Modals/ModalContainer.tsx"],"names":["ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","ModalContainer","modalHeight","modalWidth","modalOverflow","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","id","showModal","closeModal","children","padding","minWidth","maxWidth","sizes","GetSize","GetOverflow","stylesConfiguration","Object","assign","styles","getElementById","React","Component"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport ReactModal from 'react-modal';\nimport { BOXSHADOWS } from '../styles';\n\nconst ModalContainerStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n width: '640px',\n height: '320px',\n borderRadius: '8px',\n boxSizing: 'border-box' as any,\n margin: 0,\n overflow: 'auto',\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\n },\n};\n\n//override modal classes to define the animations\nconst modalTransitions = `\n.ReactModal__Overlay {\n opacity: 0;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n`;\n\ntype ModalContainerProps = {\n id?: string;\n showModal: boolean;\n closeModal: () => void;\n children: any;\n modalHeight?: any;\n modalWidth?: any;\n modalOverflow?: string;\n padding?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\ntype ModalContainerState = {};\n\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\n componentDidMount() {\n if (ReactModal.defaultStyles.overlay) {\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\n }\n\n //append style node to override modal transition classes\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.setAttribute('modal-custom-styling', 'active');\n head.appendChild(style);\n style.appendChild(document.createTextNode(modalTransitions));\n }\n }\n\n GetSize = (modalHeight: string = 'auto', modalWidth: string = 'auto') => ({ height: modalHeight, width: modalWidth });\n GetOverflow = (modalOverflow: string = 'visible') => modalOverflow;\n render() {\n const { id, showModal, closeModal, children, modalHeight, modalWidth, modalOverflow, padding, minWidth = '', maxWidth = '' } = this.props;\n const sizes = this.GetSize(modalHeight, modalWidth);\n const { height, width } = sizes;\n const overflow = this.GetOverflow(modalOverflow);\n const stylesConfiguration = Object.assign({ ...ModalContainerStyles.content }, { height, width, padding, overflow, minWidth, maxWidth });\n const styles = { content: stylesConfiguration };\n\n return (\n <ReactModal id={id} isOpen={showModal} closeTimeoutMS={120} onRequestClose={() => closeModal()} style={styles} appElement={document.getElementById('root') || ''}>\n {children}\n </ReactModal>\n );\n }\n}\n\nexport default ModalContainer;\n"],"file":"ModalContainer.js"}
1
+ {"version":3,"sources":["../../../src/Modals/ModalContainer.tsx"],"names":["ModalContainerStyles","content","top","left","right","bottom","marginRight","width","height","borderRadius","boxSizing","margin","overflow","boxShadow","BOXSHADOWS","BOXSHADOW_L3","modalTransitions","ModalContainer","modalHeight","modalWidth","modalOverflow","ReactModal","defaultStyles","overlay","backgroundColor","document","querySelector","head","getElementsByTagName","style","createElement","setAttribute","appendChild","createTextNode","props","id","showModal","closeModal","children","padding","minWidth","maxWidth","sizes","GetSize","GetOverflow","stylesConfiguration","Object","assign","styles","getElementById","React","Component"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport ReactModal from 'react-modal';\nimport { BOXSHADOWS } from '../styles';\n\nconst ModalContainerStyles = {\n content: {\n top: '50%',\n left: '50%',\n right: 'auto',\n bottom: 'auto',\n marginRight: '-50%',\n width: '640px',\n height: '320px',\n borderRadius: '8px',\n boxSizing: 'border-box' as any,\n margin: 0,\n overflow: 'auto',\n boxShadow: BOXSHADOWS.BOXSHADOW_L3,\n },\n};\n\n//override modal classes to define the animations\nconst modalTransitions = `\n.ReactModal__Overlay {\n opacity: 0;\n z-index: 100;\n}\n\n.ReactModal__Overlay--after-open {\n opacity: 1;\n transition: opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Content{\n opacity:0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n}\n\n.ReactModal__Content--after-open{\n opacity: 1;\n transform: translate(-50%, -50%) scale(1.0, 1.0);\n transition: transform 150ms ease-in-out, opacity 150ms cubic-bezier(0.22, 0.61, 0.35, 1);\n}\n\n.ReactModal__Overlay--before-close {\n opacity: 0;\n transition: opacity 120ms linear;\n}\n\n.ReactModal__Content--before-close{\n opacity: 0;\n transform: translate(-50%, -50%) scale(1.1, 1.1);\n transition: transform 120ms ease-in-out, opacity 120ms cubic-bezier(0.55, 0.05, 0.67, 0.19);\n}\n`;\n\ntype ModalContainerProps = {\n id?: string;\n showModal: boolean;\n closeModal: () => void;\n children: any;\n modalHeight?: any;\n modalWidth?: any;\n modalOverflow?: string;\n padding?: string;\n minWidth?: string;\n maxWidth?: string;\n};\n\ntype ModalContainerState = {};\n\nclass ModalContainer extends React.Component<ModalContainerProps, ModalContainerState> {\n componentDidMount() {\n if (ReactModal.defaultStyles.overlay) {\n ReactModal.defaultStyles.overlay.backgroundColor = 'rgba(0,0,0,0.5)';\n }\n\n //append style node to override modal transition classes\n if (!document.querySelector('[modal-custom-styling=\"active\"]')) {\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n style.setAttribute('modal-custom-styling', 'active');\n head.appendChild(style);\n style.appendChild(document.createTextNode(modalTransitions));\n }\n }\n\n GetSize = (modalHeight: string = 'auto', modalWidth: string = 'auto') => ({ height: modalHeight, width: modalWidth });\n GetOverflow = (modalOverflow: string = 'visible') => modalOverflow;\n render() {\n const { id, showModal, closeModal, children, modalHeight, modalWidth, modalOverflow, padding, minWidth = '', maxWidth = '' } = this.props;\n const sizes = this.GetSize(modalHeight, modalWidth);\n const { height, width } = sizes;\n const overflow = this.GetOverflow(modalOverflow);\n const stylesConfiguration = Object.assign({ ...ModalContainerStyles.content }, { height, width, padding, overflow, minWidth, maxWidth });\n const styles = { content: stylesConfiguration };\n\n return (\n <ReactModal id={id} isOpen={showModal} closeTimeoutMS={120} onRequestClose={() => closeModal()} style={styles} appElement={document.getElementById('root') || ''}>\n {children}\n </ReactModal>\n );\n }\n}\n\nexport default ModalContainer;\n"],"file":"ModalContainer.js"}
@@ -17,6 +17,8 @@ interface NewModalProps {
17
17
  backButton?: () => void;
18
18
  closeAction: () => void;
19
19
  submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;
20
+ note?: string;
21
+ state?: string;
20
22
  }
21
23
  export declare const ModalDialog: React.FunctionComponent<NewModalProps>;
22
24
  export default ModalDialog;
@@ -23,6 +23,8 @@ var _ModalContainer = _interopRequireDefault(require("./ModalContainer"));
23
23
 
24
24
  var _ModalStyles = require("./ModalStyles");
25
25
 
26
+ var _ModalNote = require("./ModalNote");
27
+
26
28
  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); }
27
29
 
28
30
  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; }
@@ -52,7 +54,9 @@ var ModalDialog = function ModalDialog(_ref) {
52
54
  closeAction = _ref.closeAction,
53
55
  submitAction = _ref.submitAction,
54
56
  tooltip = _ref.tooltip,
55
- children = _ref.children;
57
+ children = _ref.children,
58
+ note = _ref.note,
59
+ state = _ref.state;
56
60
 
57
61
  var _React$useState = React.useState(false),
58
62
  _React$useState2 = _slicedToArray(_React$useState, 2),
@@ -230,7 +234,11 @@ var ModalDialog = function ModalDialog(_ref) {
230
234
  color: _styles.COLORS.neutral_600
231
235
  })), tooltipOpen && /*#__PURE__*/React.createElement("span", null, tooltip)), !topImage && ModalCloseButton(closeAction)), /*#__PURE__*/React.createElement(_ModalStyles.ModalBody, {
232
236
  size: size
233
- }, children), /*#__PURE__*/React.createElement(_ModalStyles.ModalFooter, {
237
+ }, children), note && /*#__PURE__*/React.createElement(_ModalNote.ModalNote, {
238
+ note: note,
239
+ state: state,
240
+ size: size
241
+ }), /*#__PURE__*/React.createElement(_ModalStyles.ModalFooter, {
234
242
  size: size
235
243
  }, buttons === null || buttons === void 0 ? void 0 : buttons.map(function (b, i) {
236
244
  return /*#__PURE__*/React.createElement(_Button.Button, {
@@ -264,7 +272,9 @@ ModalDialog.propTypes = {
264
272
  tooltip: _propTypes.default.string,
265
273
  backButton: _propTypes.default.func,
266
274
  closeAction: _propTypes.default.func.isRequired,
267
- submitAction: _propTypes.default.func.isRequired
275
+ submitAction: _propTypes.default.func.isRequired,
276
+ note: _propTypes.default.string,
277
+ state: _propTypes.default.string
268
278
  };
269
279
  var _default = ModalDialog;
270
280
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/Modals/ModalDialog.tsx"],"names":["ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","buttons","backButton","closeAction","submitAction","tooltip","children","React","useState","tooltipOpen","setTooltipOpen","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","ModalTitle","ComponentTextStyle","Bold","ModalCloseButton","onClick","COLORS","black","ModalBackButton","reverse","lastLeftButton","find","a","position","neutral_600","map","b","i","id","disabled","loading","action","type","variant","order","marginRight","undefined","text"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport {Button, IconButton} from '../Button';\nimport {ButtonProps} from '../Button/Button';\nimport {ArrowLineLeft, Close, Help} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL} from '../styles';\nimport {Size} from '../types'\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n ModalBody,\n ModalFooter,\n ModalTitleSection,\n StyledModalHeader\n} from './ModalStyles';\n\ninterface ButtonAction extends Pick<ButtonProps, 'variant' | 'id' | 'loading' | 'disabled' | 'icon' | 'type'> {\n action?: (() => void) | ((e: any) => void);\n text: string;\n position?: 'left' | 'right';\n}\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n closeModalAndClearInput: any;\n title?: string;\n topImage?: any;\n buttons?: ButtonAction[];\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n buttons,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children\n}) => {\n const [tooltipOpen, setTooltipOpen] = React.useState<boolean>(false);\n\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const ModalTitle = (title: string, size?: Size) => {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n buttons?.reverse();\n const lastLeftButton = buttons?.find(a => a.position === 'left');\n buttons?.reverse();\n\n return (\n <ModalContainer showModal={isModalOpen} closeModal={closeModalAndClearInput} minWidth={getMinWidth()} maxWidth={getMaxWidth()} modalHeight=\"auto\" padding={getPadding()}>\n <Column>\n <form onSubmit={submitAction}>\n {topImage && (\n <StyledModalHeader size={size} height={getImageHeight()} marginBottom={getMarginBottom()}>\n <img src={topImage} alt=\"Modal top\" />\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n {!topImage && ModalBackButton()}\n {title && ModalTitle(title, size)}\n {tooltip && (\n <div id=\"tooltip\">\n <div onMouseOver={() => setTooltipOpen(true)} onMouseOut={() => setTooltipOpen(false)}>\n <Help size=\"24px\" color={COLORS.neutral_600} />\n </div>\n {tooltipOpen && <span>{tooltip}</span>}\n </div>\n )}\n {!topImage && ModalCloseButton(closeAction)}\n </ModalTitleSection>\n\n <ModalBody size={size}>{children}</ModalBody>\n\n <ModalFooter size={size}>\n {buttons?.map((b, i) => (\n <Button key={b.id || i}\n id={b.id}\n disabled={b.disabled}\n loading={b.loading}\n size={size}\n onClick={b.action}\n type={b.type}\n variant={b.variant}\n style={\n b.position === 'left'\n ? {\n order: -1,\n marginRight: b === lastLeftButton ? 'auto' : undefined\n }\n : undefined\n }>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"file":"ModalDialog.js"}
1
+ {"version":3,"sources":["../../../src/Modals/ModalDialog.tsx"],"names":["ModalDialog","size","isModalOpen","closeModalAndClearInput","title","topImage","buttons","backButton","closeAction","submitAction","tooltip","children","note","state","React","useState","tooltipOpen","setTooltipOpen","getMinWidth","Size","Small","Large","Medium","getMaxWidth","getImageHeight","getMarginBottom","getPadding","ModalTitle","ComponentTextStyle","Bold","ModalCloseButton","onClick","COLORS","black","ModalBackButton","reverse","lastLeftButton","find","a","position","neutral_600","map","b","i","id","disabled","loading","action","type","variant","order","marginRight","undefined","text"],"mappings":";;;;;;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAUA;;;;;;;;;;;;;;;;;;;;AAuBO,IAAMA,WAAmD,GAAG,SAAtDA,WAAsD,OAc7D;AAAA,MAbJC,IAaI,QAbJA,IAaI;AAAA,MAZJC,WAYI,QAZJA,WAYI;AAAA,MAXJC,uBAWI,QAXJA,uBAWI;AAAA,MAVJC,KAUI,QAVJA,KAUI;AAAA,MATJC,QASI,QATJA,QASI;AAAA,MARJC,OAQI,QARJA,OAQI;AAAA,MAPJC,UAOI,QAPJA,UAOI;AAAA,MANJC,WAMI,QANJA,WAMI;AAAA,MALJC,YAKI,QALJA,YAKI;AAAA,MAJJC,OAII,QAJJA,OAII;AAAA,MAHJC,QAGI,QAHJA,QAGI;AAAA,MAFJC,IAEI,QAFJA,IAEI;AAAA,MADJC,KACI,QADJA,KACI;;AACJ,wBAAsCC,KAAK,CAACC,QAAN,CAAwB,KAAxB,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,YAAQjB,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,eAAO,OAAP;;AACF,WAAKD,YAAKE,KAAV;AACE,eAAO,OAAP;;AACF,WAAKF,YAAKG,MAAV;AACA;AACE,eAAO,OAAP;AAPJ;AASD,GAVD;;AAYA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxB,YAAQtB,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,eAAO,OAAP;;AACF,WAAKD,YAAKE,KAAV;AACE,eAAO,OAAP;;AACF,WAAKF,YAAKG,MAAV;AACA;AACE,eAAO,OAAP;AAPJ;AASD,GAVD;;AAYA,MAAME,cAAc,GAAG,SAAjBA,cAAiB,GAAM;AAC3B,YAAQvB,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,eAAO,GAAP;;AACF,WAAKD,YAAKG,MAAV;AACE,eAAO,GAAP;;AACF,WAAKH,YAAKE,KAAV;AACE,eAAO,GAAP;;AACF;AACE,eAAO,GAAP;AARJ;AAUD,GAXD;;AAaA,MAAMI,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,YAAQxB,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,eAAO,MAAP;;AACF,WAAKD,YAAKG,MAAV;AACE,eAAO,MAAP;;AACF,WAAKH,YAAKE,KAAV;AACE,eAAO,MAAP;;AACF;AACE,eAAO,MAAP;AARJ;AAUD,GAXD;;AAaA,MAAMK,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvB,YAAQzB,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,eAAO,eAAP;;AACF,WAAKD,YAAKG,MAAV;AACE,eAAO,gBAAP;;AACF,WAAKH,YAAKE,KAAV;AACE,eAAO,MAAP;;AACF;AACE,eAAO,gBAAP;AARJ;AAUD,GAXD;;AAaA,MAAMM,UAAU,GAAG,SAAbA,UAAa,CAACvB,KAAD,EAAgBH,IAAhB,EAAgC;AACjD,YAAQA,IAAR;AACE,WAAKkB,YAAKC,KAAV;AACE,4BAAO,oBAAC,kBAAD;AAAY,UAAA,SAAS,EAAEQ,2BAAmBC;AAA1C,WAAiDzB,KAAjD,CAAP;;AACF,WAAKe,YAAKG,MAAV;AACE,4BAAO,oBAAC,kBAAD;AAAY,UAAA,SAAS,EAAEM,2BAAmBC;AAA1C,WAAiDzB,KAAjD,CAAP;;AACF,WAAKe,YAAKE,KAAV;AACE,4BAAO,oBAAC,mBAAD;AAAa,UAAA,SAAS,EAAEO,2BAAmBC;AAA3C,WAAkDzB,KAAlD,CAAP;;AACF;AACE,4BAAO,oBAAC,kBAAD;AAAY,UAAA,SAAS,EAAEwB,2BAAmBC;AAA1C,WAAiDzB,KAAjD,CAAP;AARJ;AAUD,GAXD;;AAaA,MAAM0B,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,OAAD,EAAkB;AACzC,wBACE,oBAAC,+BAAD;AAAoB,MAAA,QAAQ,EAAE,CAAC,CAAC1B,QAAhC;AAA0C,MAAA,IAAI,EAAEJ;AAAhD,oBACE,oBAAC,kBAAD;AAAY,MAAA,OAAO,EAAC,WAApB;AAAgC,MAAA,KAAK,EAAC,UAAtC;AAAiD,MAAA,MAAM,EAAE;AAAA,eAAM8B,OAAO,EAAb;AAAA,OAAzD;AAA0E,MAAA,YAAY,EAAE;AAAxF,oBACE,oBAAC,kBAAD;AAAO,MAAA,IAAI,EAAC,MAAZ;AAAmB,MAAA,KAAK,EAAEC,eAAOC;AAAjC,MADF,CADF,CADF;AAOD,GARD;;AAUA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAI3B,UAAJ,EAAgB;AACd,0BACE,oBAAC,8BAAD;AAAmB,QAAA,QAAQ,EAAE,CAAC,CAACF,QAA/B;AAAyC,QAAA,IAAI,EAAEJ;AAA/C,sBACE,oBAAC,kBAAD;AAAY,QAAA,OAAO,EAAC,WAApB;AAAgC,QAAA,KAAK,EAAC,UAAtC;AAAiD,QAAA,MAAM,EAAE;AAAA,iBAAMM,UAAU,EAAhB;AAAA,SAAzD;AAA6E,QAAA,YAAY,EAAE;AAA3F,sBACE,oBAAC,0BAAD;AAAe,QAAA,IAAI,EAAC,MAApB;AAA2B,QAAA,KAAK,EAAEyB,eAAOC;AAAzC,QADF,CADF,CADF;AAOD;AACF,GAVD;;AAYA3B,EAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAE6B,OAAT;AACA,MAAMC,cAAc,GAAG9B,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAE+B,IAAT,CAAc,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,QAAF,KAAe,MAAnB;AAAA,GAAf,CAAvB;AACAjC,EAAAA,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAE6B,OAAT;AAEA,sBACE,oBAAC,uBAAD;AAAgB,IAAA,SAAS,EAAEjC,WAA3B;AAAwC,IAAA,UAAU,EAAEC,uBAApD;AAA6E,IAAA,QAAQ,EAAEe,WAAW,EAAlG;AAAsG,IAAA,QAAQ,EAAEK,WAAW,EAA3H;AAA+H,IAAA,WAAW,EAAC,MAA3I;AAAkJ,IAAA,OAAO,EAAEG,UAAU;AAArK,kBACE,oBAAC,mBAAD,qBACE;AAAM,IAAA,QAAQ,EAAEjB;AAAhB,KACGJ,QAAQ,iBACP,oBAAC,8BAAD;AAAmB,IAAA,IAAI,EAAEJ,IAAzB;AAA+B,IAAA,MAAM,EAAEuB,cAAc,EAArD;AAAyD,IAAA,YAAY,EAAEC,eAAe;AAAtF,kBACE;AAAK,IAAA,GAAG,EAAEpB,QAAV;AAAoB,IAAA,GAAG,EAAC;AAAxB,IADF,EAEG6B,eAAe,EAFlB,EAGGJ,gBAAgB,CAACtB,WAAD,CAHnB,CAFJ,eAQE,oBAAC,8BAAD,QACG,CAACH,QAAD,IAAa6B,eAAe,EAD/B,EAEG9B,KAAK,IAAIuB,UAAU,CAACvB,KAAD,EAAQH,IAAR,CAFtB,EAGGS,OAAO,iBACN;AAAK,IAAA,EAAE,EAAC;AAAR,kBACE;AAAK,IAAA,WAAW,EAAE;AAAA,aAAMO,cAAc,CAAC,IAAD,CAApB;AAAA,KAAlB;AAA8C,IAAA,UAAU,EAAE;AAAA,aAAMA,cAAc,CAAC,KAAD,CAApB;AAAA;AAA1D,kBACE,oBAAC,iBAAD;AAAM,IAAA,IAAI,EAAC,MAAX;AAAkB,IAAA,KAAK,EAAEe,eAAOQ;AAAhC,IADF,CADF,EAIGxB,WAAW,iBAAI,kCAAON,OAAP,CAJlB,CAJJ,EAWG,CAACL,QAAD,IAAayB,gBAAgB,CAACtB,WAAD,CAXhC,CARF,eAsBE,oBAAC,sBAAD;AAAW,IAAA,IAAI,EAAEP;AAAjB,KAAwBU,QAAxB,CAtBF,EAwBIC,IAAI,iBAAI,oBAAC,oBAAD;AAAW,IAAA,IAAI,EAAEA,IAAjB;AAAuB,IAAA,KAAK,EAAEC,KAA9B;AAAqC,IAAA,IAAI,EAAEZ;AAA3C,IAxBZ,eA0BE,oBAAC,wBAAD;AAAa,IAAA,IAAI,EAAEA;AAAnB,KACKK,OADL,aACKA,OADL,uBACKA,OAAO,CAAEmC,GAAT,CAAa,UAACC,CAAD,EAAIC,CAAJ;AAAA,wBACV,oBAAC,cAAD;AAAQ,MAAA,GAAG,EAAED,CAAC,CAACE,EAAF,IAAQD,CAArB;AACQ,MAAA,EAAE,EAAED,CAAC,CAACE,EADd;AAEQ,MAAA,QAAQ,EAAEF,CAAC,CAACG,QAFpB;AAGQ,MAAA,OAAO,EAAEH,CAAC,CAACI,OAHnB;AAIQ,MAAA,IAAI,EAAE7C,IAJd;AAKQ,MAAA,OAAO,EAAEyC,CAAC,CAACK,MALnB;AAMQ,MAAA,IAAI,EAAEL,CAAC,CAACM,IANhB;AAOQ,MAAA,OAAO,EAAEN,CAAC,CAACO,OAPnB;AAQQ,MAAA,KAAK,EACHP,CAAC,CAACH,QAAF,KAAe,MAAf,GACI;AACAW,QAAAA,KAAK,EAAE,CAAC,CADR;AAEAC,QAAAA,WAAW,EAAET,CAAC,KAAKN,cAAN,GAAuB,MAAvB,GAAgCgB;AAF7C,OADJ,GAKIA;AAdd,OAgBGV,CAAC,CAACW,IAhBL,CADU;AAAA,GAAb,CADL,CA1BF,CADF,CADF,CADF;AAuDD,CA9KM;;;;AAbLnD,EAAAA,W;AACAC,EAAAA,uB;AACAC,EAAAA,K;AACAC,EAAAA,Q;AACAC,EAAAA,O;AAXAyC,IAAAA,M;AACAM,IAAAA,I;AACAd,IAAAA,Q,4BAAW,M,EAAS,O;;AAUpB7B,EAAAA,O;AACAH,EAAAA,U;AACAC,EAAAA,W;AACAC,EAAAA,Y;AACAG,EAAAA,I;AACAC,EAAAA,K;;eAmLab,W","sourcesContent":["import * as React from 'react';\nimport { SystemIcon, SystemIcons } from '..';\nimport {Button, IconButton} from '../Button';\nimport {ButtonProps} from '../Button/Button';\nimport {ArrowLineLeft, Close, Help} from '../icons/systemicons/SystemIcons';\nimport {COLORS, ComponentL, ComponentM, ComponentTextStyle, ComponentXL} from '../styles';\nimport {Size} from '../types'\nimport ModalContainer from './ModalContainer';\nimport {\n BackButtonWrapper,\n CloseButtonWrapper,\n Column,\n ModalBody,\n ModalFooter,\n ModalTitleSection,\n StyledModalHeader\n} from './ModalStyles';\n\nimport {ModalNote} from './ModalNote';\n\ninterface ButtonAction extends Pick<ButtonProps, 'variant' | 'id' | 'loading' | 'disabled' | 'icon' | 'type'> {\n action?: (() => void) | ((e: any) => void);\n text: string;\n position?: 'left' | 'right';\n}\n\ninterface NewModalProps {\n size?: Size;\n isModalOpen: boolean;\n closeModalAndClearInput: any;\n title?: string;\n topImage?: any;\n buttons?: ButtonAction[];\n tooltip?: string;\n backButton?: () => void;\n closeAction: () => void;\n submitAction: (event?: React.FormEvent<HTMLFormElement> | undefined) => void;\n note?: string;\n state?: string;\n}\n\nexport const ModalDialog: React.FunctionComponent<NewModalProps> = ({\n size,\n isModalOpen,\n closeModalAndClearInput,\n title,\n topImage,\n buttons,\n backButton,\n closeAction,\n submitAction,\n tooltip,\n children,\n note,\n state\n}) => {\n const [tooltipOpen, setTooltipOpen] = React.useState<boolean>(false);\n\n const getMinWidth = () => {\n switch (size) {\n case Size.Small:\n return '320px';\n case Size.Large:\n return '640px';\n case Size.Medium:\n default:\n return '480px';\n }\n };\n\n const getMaxWidth = () => {\n switch (size) {\n case Size.Small:\n return '480px';\n case Size.Large:\n return '720px';\n case Size.Medium:\n default:\n return '640px';\n }\n };\n\n const getImageHeight = () => {\n switch (size) {\n case Size.Small:\n return 160;\n case Size.Medium:\n return 200;\n case Size.Large:\n return 240;\n default:\n return 200;\n }\n };\n\n const getMarginBottom = () => {\n switch (size) {\n case Size.Small:\n return '16px';\n case Size.Medium:\n return '24px';\n case Size.Large:\n return '32px';\n default:\n return '24px';\n }\n };\n\n const getPadding = () => {\n switch (size) {\n case Size.Small:\n return '16px 16px 8px';\n case Size.Medium:\n return '24px 24px 20px';\n case Size.Large:\n return '32px';\n default:\n return '24px 24px 16px';\n }\n };\n\n const ModalTitle = (title: string, size?: Size) => {\n switch (size) {\n case Size.Small:\n return <ComponentM textStyle={ComponentTextStyle.Bold}>{title}</ComponentM>;\n case Size.Medium:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n case Size.Large:\n return <ComponentXL textStyle={ComponentTextStyle.Bold}>{title}</ComponentXL>;\n default:\n return <ComponentL textStyle={ComponentTextStyle.Bold}>{title}</ComponentL>;\n }\n };\n\n const ModalCloseButton = (onClick: any) => {\n return (\n <CloseButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => onClick()} borderRadius={48}>\n <Close size=\"24px\" color={COLORS.black} />\n </IconButton>\n </CloseButtonWrapper>\n );\n };\n\n const ModalBackButton = () => {\n if (backButton) {\n return (\n <BackButtonWrapper hasImage={!!topImage} size={size}>\n <IconButton variant=\"secondary\" shape=\"circular\" action={() => backButton()} borderRadius={48}>\n <ArrowLineLeft size=\"24px\" color={COLORS.black} />\n </IconButton>\n </BackButtonWrapper>\n );\n }\n };\n\n buttons?.reverse();\n const lastLeftButton = buttons?.find(a => a.position === 'left');\n buttons?.reverse();\n\n return (\n <ModalContainer showModal={isModalOpen} closeModal={closeModalAndClearInput} minWidth={getMinWidth()} maxWidth={getMaxWidth()} modalHeight=\"auto\" padding={getPadding()}>\n <Column>\n <form onSubmit={submitAction}>\n {topImage && (\n <StyledModalHeader size={size} height={getImageHeight()} marginBottom={getMarginBottom()}>\n <img src={topImage} alt=\"Modal top\" />\n {ModalBackButton()}\n {ModalCloseButton(closeAction)}\n </StyledModalHeader>\n )}\n <ModalTitleSection>\n {!topImage && ModalBackButton()}\n {title && ModalTitle(title, size)}\n {tooltip && (\n <div id=\"tooltip\">\n <div onMouseOver={() => setTooltipOpen(true)} onMouseOut={() => setTooltipOpen(false)}>\n <Help size=\"24px\" color={COLORS.neutral_600} />\n </div>\n {tooltipOpen && <span>{tooltip}</span>}\n </div>\n )}\n {!topImage && ModalCloseButton(closeAction)}\n </ModalTitleSection>\n\n <ModalBody size={size}>{children}</ModalBody>\n\n { note && <ModalNote note={note} state={state} size={size}/> }\n\n <ModalFooter size={size}>\n {buttons?.map((b, i) => (\n <Button key={b.id || i}\n id={b.id}\n disabled={b.disabled}\n loading={b.loading}\n size={size}\n onClick={b.action}\n type={b.type}\n variant={b.variant}\n style={\n b.position === 'left'\n ? {\n order: -1,\n marginRight: b === lastLeftButton ? 'auto' : undefined\n }\n : undefined\n }>\n {b.text}\n </Button>\n ))}\n </ModalFooter>\n </form>\n </Column>\n </ModalContainer>\n );\n};\n\nexport default ModalDialog;\n"],"file":"ModalDialog.js"}
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ interface NoteProps {
3
+ note: string;
4
+ icon?: React.ReactNode;
5
+ state?: string;
6
+ size?: string;
7
+ }
8
+ export declare const ModalNote: React.FunctionComponent<NoteProps>;
9
+ export default ModalNote;
@@ -0,0 +1,79 @@
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 = exports.ModalNote = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var React = _interopRequireWildcard(require("react"));
13
+
14
+ var _ = require("..");
15
+
16
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
17
+
18
+ var _ModalStyles = require("./ModalStyles");
19
+
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); }
21
+
22
+ 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; }
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ var ModalNote = function ModalNote(_ref) {
27
+ var note = _ref.note,
28
+ icon = _ref.icon,
29
+ size = _ref.size,
30
+ _ref$state = _ref.state,
31
+ state = _ref$state === void 0 ? 'neutral' : _ref$state;
32
+ var stateVal = state.toLowerCase();
33
+
34
+ switch (stateVal) {
35
+ case 'positive':
36
+ return /*#__PURE__*/React.createElement(_ModalStyles.ModalNoteSection, {
37
+ state: stateVal,
38
+ size: size
39
+ }, icon ? icon : /*#__PURE__*/React.createElement(_SystemIcons.CheckComplete, {
40
+ color: _.COLORS.correct_500
41
+ }), /*#__PURE__*/React.createElement("span", null, note));
42
+
43
+ case 'warning':
44
+ return /*#__PURE__*/React.createElement(_ModalStyles.ModalNoteSection, {
45
+ state: stateVal,
46
+ size: size
47
+ }, icon ? icon : /*#__PURE__*/React.createElement(_SystemIcons.TechnicalWarning, {
48
+ color: _.COLORS.warning_500
49
+ }), /*#__PURE__*/React.createElement("span", null, note));
50
+
51
+ case 'critical':
52
+ return /*#__PURE__*/React.createElement(_ModalStyles.ModalNoteSection, {
53
+ state: stateVal,
54
+ size: size
55
+ }, icon ? icon : /*#__PURE__*/React.createElement(_SystemIcons.TechnicalWarning, {
56
+ color: _.COLORS.warning_500
57
+ }), /*#__PURE__*/React.createElement("span", null, note));
58
+
59
+ default:
60
+ return /*#__PURE__*/React.createElement(_ModalStyles.ModalNoteSection, {
61
+ state: stateVal,
62
+ size: size
63
+ }, icon ? icon : /*#__PURE__*/React.createElement(_SystemIcons.Information, {
64
+ color: _.COLORS.primary_500,
65
+ className: size
66
+ }), /*#__PURE__*/React.createElement("span", null, note));
67
+ }
68
+ };
69
+
70
+ exports.ModalNote = ModalNote;
71
+ ModalNote.propTypes = {
72
+ note: _propTypes.default.string.isRequired,
73
+ icon: _propTypes.default.node,
74
+ state: _propTypes.default.string,
75
+ size: _propTypes.default.string
76
+ };
77
+ var _default = ModalNote;
78
+ exports.default = _default;
79
+ //# sourceMappingURL=ModalNote.js.map