@laerdal/life-react-components 1.6.1-dev.1 → 1.7.0-dev.2.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 (132) hide show
  1. package/dist/Banners/Banner.cjs +21 -5
  2. package/dist/Banners/Banner.cjs.map +1 -1
  3. package/dist/Banners/Banner.js +20 -5
  4. package/dist/Banners/Banner.js.map +1 -1
  5. package/dist/Button/Iconbutton.cjs +4 -1
  6. package/dist/Button/Iconbutton.cjs.map +1 -1
  7. package/dist/Button/Iconbutton.d.ts +2 -0
  8. package/dist/Button/Iconbutton.js +4 -1
  9. package/dist/Button/Iconbutton.js.map +1 -1
  10. package/dist/Card/CardTopSection.cjs +2 -2
  11. package/dist/Card/CardTopSection.cjs.map +1 -1
  12. package/dist/Card/CardTopSection.js +2 -2
  13. package/dist/Card/CardTopSection.js.map +1 -1
  14. package/dist/Chips/ActionChip.cjs +21 -28
  15. package/dist/Chips/ActionChip.cjs.map +1 -1
  16. package/dist/Chips/ActionChip.js +23 -30
  17. package/dist/Chips/ActionChip.js.map +1 -1
  18. package/dist/Chips/ChipInput.cjs.map +1 -1
  19. package/dist/Chips/ChipInput.js.map +1 -1
  20. package/dist/Chips/ChipStyles.cjs +13 -15
  21. package/dist/Chips/ChipStyles.cjs.map +1 -1
  22. package/dist/Chips/ChipStyles.d.ts +2 -6
  23. package/dist/Chips/ChipStyles.js +6 -12
  24. package/dist/Chips/ChipStyles.js.map +1 -1
  25. package/dist/Chips/ChipTypes.d.ts +7 -9
  26. package/dist/Chips/ChoiceChips.cjs +13 -7
  27. package/dist/Chips/ChoiceChips.cjs.map +1 -1
  28. package/dist/Chips/ChoiceChips.js +13 -8
  29. package/dist/Chips/ChoiceChips.js.map +1 -1
  30. package/dist/Chips/FilterChip.cjs +21 -28
  31. package/dist/Chips/FilterChip.cjs.map +1 -1
  32. package/dist/Chips/FilterChip.js +24 -31
  33. package/dist/Chips/FilterChip.js.map +1 -1
  34. package/dist/Chips/InputChip.cjs +44 -44
  35. package/dist/Chips/InputChip.cjs.map +1 -1
  36. package/dist/Chips/InputChip.js +46 -45
  37. package/dist/Chips/InputChip.js.map +1 -1
  38. package/dist/Dropdown/ChipDropdownInput.cjs +1 -1
  39. package/dist/Dropdown/ChipDropdownInput.cjs.map +1 -1
  40. package/dist/Dropdown/ChipDropdownInput.js +1 -1
  41. package/dist/Dropdown/ChipDropdownInput.js.map +1 -1
  42. package/dist/Dropdown/DropdownContent.cjs +2 -2
  43. package/dist/Dropdown/DropdownContent.cjs.map +1 -1
  44. package/dist/Dropdown/DropdownContent.js +3 -3
  45. package/dist/Dropdown/DropdownContent.js.map +1 -1
  46. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs +3 -1
  47. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.cjs.map +1 -1
  48. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js +2 -1
  49. package/dist/GlobalNavigationBar/UserMenu/MobileUserMenu.js.map +1 -1
  50. package/dist/HyperLink/HyperLink.cjs +3 -1
  51. package/dist/HyperLink/HyperLink.cjs.map +1 -1
  52. package/dist/HyperLink/HyperLink.d.ts +4 -0
  53. package/dist/HyperLink/HyperLink.js +1 -1
  54. package/dist/HyperLink/HyperLink.js.map +1 -1
  55. package/dist/HyperLink/styling.cjs +1 -1
  56. package/dist/HyperLink/styling.cjs.map +1 -1
  57. package/dist/HyperLink/styling.js +1 -1
  58. package/dist/HyperLink/styling.js.map +1 -1
  59. package/dist/Image/ImageWithFallbacks.cjs +122 -0
  60. package/dist/Image/ImageWithFallbacks.cjs.map +1 -0
  61. package/dist/Image/ImageWithFallbacks.d.ts +21 -0
  62. package/dist/Image/ImageWithFallbacks.js +109 -0
  63. package/dist/Image/ImageWithFallbacks.js.map +1 -0
  64. package/dist/Image/index.cjs +16 -0
  65. package/dist/Image/index.cjs.map +1 -0
  66. package/dist/Image/index.d.ts +2 -0
  67. package/dist/Image/index.js +3 -0
  68. package/dist/Image/index.js.map +1 -0
  69. package/dist/InputFields/DatepickerField.cjs +56 -18
  70. package/dist/InputFields/DatepickerField.cjs.map +1 -1
  71. package/dist/InputFields/DatepickerField.js +54 -17
  72. package/dist/InputFields/DatepickerField.js.map +1 -1
  73. package/dist/InputFields/styling.cjs +2 -2
  74. package/dist/InputFields/styling.cjs.map +1 -1
  75. package/dist/InputFields/styling.js +2 -2
  76. package/dist/InputFields/styling.js.map +1 -1
  77. package/dist/Modals/ModalContainer.cjs +3 -2
  78. package/dist/Modals/ModalContainer.cjs.map +1 -1
  79. package/dist/Modals/ModalContainer.js +3 -2
  80. package/dist/Modals/ModalContainer.js.map +1 -1
  81. package/dist/Modals/ModalContent.cjs +235 -0
  82. package/dist/Modals/ModalContent.cjs.map +1 -0
  83. package/dist/Modals/ModalContent.d.ts +18 -0
  84. package/dist/Modals/ModalContent.js +204 -0
  85. package/dist/Modals/ModalContent.js.map +1 -0
  86. package/dist/Modals/ModalDialog.cjs +68 -26
  87. package/dist/Modals/ModalDialog.cjs.map +1 -1
  88. package/dist/Modals/ModalDialog.d.ts +6 -1
  89. package/dist/Modals/ModalDialog.js +70 -27
  90. package/dist/Modals/ModalDialog.js.map +1 -1
  91. package/dist/Modals/ModalStyles.cjs +14 -8
  92. package/dist/Modals/ModalStyles.cjs.map +1 -1
  93. package/dist/Modals/ModalStyles.d.ts +2 -0
  94. package/dist/Modals/ModalStyles.js +12 -7
  95. package/dist/Modals/ModalStyles.js.map +1 -1
  96. package/dist/Modals/ModalTypes.d.ts +5 -0
  97. package/dist/Modals/index.cjs +8 -0
  98. package/dist/Modals/index.cjs.map +1 -1
  99. package/dist/Modals/index.d.ts +3 -2
  100. package/dist/Modals/index.js +2 -1
  101. package/dist/Modals/index.js.map +1 -1
  102. package/dist/SkipToContent/SkipToContent.cjs +2 -2
  103. package/dist/SkipToContent/SkipToContent.cjs.map +1 -1
  104. package/dist/SkipToContent/SkipToContent.js +2 -2
  105. package/dist/SkipToContent/SkipToContent.js.map +1 -1
  106. package/dist/Switcher/MobileSwitcherMenu.cjs +3 -1
  107. package/dist/Switcher/MobileSwitcherMenu.cjs.map +1 -1
  108. package/dist/Switcher/MobileSwitcherMenu.js +2 -1
  109. package/dist/Switcher/MobileSwitcherMenu.js.map +1 -1
  110. package/dist/common/HoverWithin.cjs +63 -0
  111. package/dist/common/HoverWithin.cjs.map +1 -0
  112. package/dist/common/HoverWithin.d.ts +2 -0
  113. package/dist/common/HoverWithin.js +51 -0
  114. package/dist/common/HoverWithin.js.map +1 -0
  115. package/dist/common/index.cjs +8 -0
  116. package/dist/common/index.cjs.map +1 -1
  117. package/dist/common/index.d.ts +1 -0
  118. package/dist/common/index.js +1 -0
  119. package/dist/common/index.js.map +1 -1
  120. package/dist/index.cjs +14 -0
  121. package/dist/index.cjs.map +1 -1
  122. package/dist/index.d.ts +1 -0
  123. package/dist/index.js +1 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/styles/index.cjs +7 -1
  126. package/dist/styles/index.cjs.map +1 -1
  127. package/dist/styles/index.d.ts +2 -1
  128. package/dist/styles/index.js +5 -1
  129. package/dist/styles/index.js.map +1 -1
  130. package/dist/types.cjs.map +1 -1
  131. package/dist/types.js.map +1 -1
  132. package/package.json +1 -1
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
13
+
14
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
+
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+
18
+ var _react = _interopRequireDefault(require("react"));
19
+
20
+ var _types = require("../types");
21
+
22
+ var _index = require("./index");
23
+
24
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
25
+
26
+ var _styles = require("../styles");
27
+
28
+ var _Tooltips = require("../Tooltips");
29
+
30
+ var _Button = require("../Button");
31
+
32
+ var _SystemIcons = require("../icons/systemicons/SystemIcons");
33
+
34
+ var _HyperLink = require("../HyperLink");
35
+
36
+ var _jsxRuntime = require("react/jsx-runtime");
37
+
38
+ var _excluded = ["icon"],
39
+ _excluded2 = ["text", "variant", "action"],
40
+ _excluded3 = ["text", "variant", "action"],
41
+ _excluded4 = ["action", "text"];
42
+
43
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
44
+
45
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
46
+
47
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
48
+
49
+ var HeaderText = _styledComponents.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n padding: 12px 0 12px 12px;\n gap: 4px\n"])));
50
+
51
+ var HeaderTitle = _styledComponents.default.div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.black));
52
+
53
+ var HeaderNote = _styledComponents.default.div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), (0, _styles.ComponentXXSStyling)(_styles.ComponentTextStyle.Regular, _styles.COLORS.neutral_600));
54
+
55
+ var HeaderActions = _styledComponents.default.div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n"])));
56
+
57
+ var Header = _styledComponents.default.div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n padding: 4px;\n\n ", " {\n height: max-content;\n }\n"])), _Tooltips.TooltipContainer);
58
+
59
+ var Content = _styledComponents.default.div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-right: 8px;\n padding: 0 8px 0 16px;\n overflow: auto;\n\n ", "\n"])), (0, _styles.scrollBarStyling)(_types.Size.Small));
60
+
61
+ var FooterLeftContainer = _styledComponents.default.div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n align-items: center;\n"])));
62
+
63
+ var FooterLeftNote = _styledComponents.default.div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n\n ", "\n"])), (0, _styles.ComponentXXSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.neutral_600));
64
+
65
+ var FooterLeftLink = _styledComponents.default.div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n a {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n }\n"])), (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, _styles.COLORS.primary_500));
66
+
67
+ var FooterRightContainer = _styledComponents.default.div(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n gap: 8px;\n margin-left: auto;\n"])));
68
+
69
+ var Footer = _styledComponents.default.div(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n padding: 8px 16px;\n"])));
70
+
71
+ var Wrapper = _styledComponents.default.div(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n width: max-content;\n\n max-height: calc(100vh - 32px);\n max-width: calc(100vw - 32px);\n\n &.medium {\n max-height: calc(100vh - 64px);\n max-width: calc(100vw - 64px);\n\n ", " {\n padding: 12px 12px 4px 12px;\n\n ", " {\n padding: 12px 0 12px 12px;\n gap: 4px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n ", " {\n padding: 0 16px 0 24px;\n }\n\n ", " {\n padding: 12px 24px 20px 24px;\n\n ", " {\n ", "\n gap: 6px;\n }\n\n ", " {\n a {\n gap: 6px;\n }\n\n ", "\n }\n\n ", " {\n gap: 8px;\n }\n }\n }\n\n &.large {\n max-height: calc(100vh - 112px);\n max-width: calc(100vw - 112px);\n\n ", " {\n padding: 20px 20px 4px 20px;\n\n ", " {\n padding: 10px 0 10px 12px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n ", " {\n padding: 0 24px 0 32px;\n }\n\n ", " {\n padding: 16px 32px 32px 32px;\n\n ", " {\n ", "\n gap: 8px;\n }\n\n ", " {\n a {\n gap: 8px;\n }\n\n ", "\n }\n\n ", " {\n gap: 16px;\n }\n }\n }\n"])), Header, HeaderText, HeaderTitle, (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, null), HeaderNote, (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Regular, null), Content, Footer, FooterLeftNote, (0, _styles.ComponentXSStyling)(_styles.ComponentTextStyle.Bold, null), FooterLeftLink, (0, _styles.ComponentMStyling)(_styles.ComponentTextStyle.Bold, null), FooterRightContainer, Header, HeaderText, HeaderTitle, (0, _styles.ComponentXLStyling)(_styles.ComponentTextStyle.Bold, null), HeaderNote, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Regular, null), Content, Footer, FooterLeftNote, (0, _styles.ComponentSStyling)(_styles.ComponentTextStyle.Bold, null), FooterLeftLink, (0, _styles.ComponentLStyling)(_styles.ComponentTextStyle.Bold, null), FooterRightContainer);
72
+
73
+ var ModalContent = function ModalContent(props) {
74
+ var _props$size, _props$footerActions;
75
+
76
+ var tooltip = function tooltip() {
77
+ return !!props.tooltip && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltips.TooltipWrapper, {
78
+ delay: "0s",
79
+ size: _types.Size.XSmall,
80
+ align: "center",
81
+ position: "bottom",
82
+ withArrow: false,
83
+ label: props.tooltip,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
85
+ variant: "secondary",
86
+ shape: "circular",
87
+ style: {
88
+ cursor: 'help'
89
+ },
90
+ action: function action() {},
91
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Help, {
92
+ size: "24px",
93
+ color: _styles.COLORS.neutral_600
94
+ })
95
+ })
96
+ });
97
+ };
98
+
99
+ var headerActions = function headerActions() {
100
+ var _props$headerActions;
101
+
102
+ return (_props$headerActions = props.headerActions) === null || _props$headerActions === void 0 ? void 0 : _props$headerActions.map(function (action, index) {
103
+ var icon = action.icon,
104
+ rest = (0, _objectWithoutProperties2.default)(action, _excluded);
105
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, _objectSpread(_objectSpread({}, rest), {}, {
106
+ children: icon
107
+ }), action.id || index);
108
+ });
109
+ };
110
+
111
+ var getLeftActionIconElement = function getLeftActionIconElement() {
112
+ var _props$leftFooterActi, _props$leftFooterActi2;
113
+
114
+ return !!((_props$leftFooterActi = props.leftFooterAction) !== null && _props$leftFooterActi !== void 0 && _props$leftFooterActi.icon) && /*#__PURE__*/_react.default.cloneElement((_props$leftFooterActi2 = props.leftFooterAction) === null || _props$leftFooterActi2 === void 0 ? void 0 : _props$leftFooterActi2.icon, {
115
+ size: props.size === _types.Size.Small ? '20px' : props.size === _types.Size.Large ? '28px' : '24px'
116
+ });
117
+ };
118
+
119
+ var leftFooterAction = function leftFooterAction() {
120
+ if (!props.leftFooterAction) return null;
121
+
122
+ switch (props.leftFooterAction.actionType) {
123
+ case 'button':
124
+ {
125
+ var _ref = props.leftFooterAction,
126
+ text = _ref.text,
127
+ variant = _ref.variant,
128
+ action = _ref.action,
129
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded2);
130
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({}, rest), {}, {
131
+ size: props.size,
132
+ onClick: action,
133
+ variant: variant !== null && variant !== void 0 ? variant : 'secondary',
134
+ children: text
135
+ }));
136
+ }
137
+
138
+ case 'hyperlink':
139
+ {
140
+ var _ref2 = props.leftFooterAction,
141
+ _text = _ref2.text,
142
+ _variant = _ref2.variant,
143
+ _action = _ref2.action,
144
+ _rest = (0, _objectWithoutProperties2.default)(_ref2, _excluded3);
145
+
146
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLeftLink, {
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_HyperLink.HyperLink, _objectSpread(_objectSpread({}, _rest), {}, {
148
+ variant: _variant !== null && _variant !== void 0 ? _variant : 'default',
149
+ onClick: function onClick(e) {
150
+ if (_action) {
151
+ e.preventDefault();
152
+
153
+ _action(e);
154
+ }
155
+ },
156
+ children: [getLeftActionIconElement(), _text]
157
+ }))
158
+ });
159
+ }
160
+
161
+ case 'note':
162
+ {
163
+ var _text2 = props.leftFooterAction.text;
164
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(FooterLeftNote, {
165
+ children: [getLeftActionIconElement(), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
166
+ children: _text2
167
+ })]
168
+ });
169
+ }
170
+ }
171
+ };
172
+
173
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.ModalContainer, {
174
+ showModal: props.isModalOpen,
175
+ closeModal: props.closeAction,
176
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(Wrapper, {
177
+ className: (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : _types.Size.Medium,
178
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(Header, {
179
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderText, {
180
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderTitle, {
181
+ children: props.title
182
+ }), !!props.note && /*#__PURE__*/(0, _jsxRuntime.jsx)(HeaderNote, {
183
+ children: props.note
184
+ })]
185
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderActions, {
186
+ children: [tooltip(), headerActions(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.IconButton, {
187
+ id: 'content-modal-close-button',
188
+ variant: "secondary",
189
+ shape: "circular",
190
+ action: props.closeAction,
191
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SystemIcons.Close, {
192
+ size: "24px",
193
+ color: _styles.COLORS.neutral_600
194
+ })
195
+ })]
196
+ })]
197
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Content, {
198
+ children: props.children
199
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(Footer, {
200
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(FooterLeftContainer, {
201
+ children: leftFooterAction()
202
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(FooterRightContainer, {
203
+ children: (_props$footerActions = props.footerActions) === null || _props$footerActions === void 0 ? void 0 : _props$footerActions.map(function (item, index) {
204
+ var action = item.action,
205
+ text = item.text,
206
+ rest = (0, _objectWithoutProperties2.default)(item, _excluded4);
207
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.Button, _objectSpread(_objectSpread({}, rest), {}, {
208
+ onClick: action,
209
+ size: props.size,
210
+ onKeyDown: function onKeyDown(a) {
211
+ return (a.key === 'Enter' || a.key === ' ') && action(a);
212
+ },
213
+ children: text
214
+ }), rest.id || index);
215
+ })
216
+ })]
217
+ })]
218
+ })
219
+ });
220
+ };
221
+
222
+ ModalContent.propTypes = {
223
+ isModalOpen: _propTypes.default.bool.isRequired,
224
+ closeAction: _propTypes.default.func.isRequired,
225
+ title: _propTypes.default.string.isRequired,
226
+ note: _propTypes.default.string,
227
+ headerActions: _propTypes.default.array,
228
+ footerActions: _propTypes.default.array,
229
+ tooltip: _propTypes.default.string,
230
+ yOffset: _propTypes.default.number,
231
+ zIndex: _propTypes.default.number
232
+ };
233
+ var _default = ModalContent;
234
+ exports.default = _default;
235
+ //# sourceMappingURL=ModalContent.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Modals/ModalContent.tsx"],"names":["HeaderText","styled","div","HeaderTitle","ComponentTextStyle","Bold","COLORS","black","HeaderNote","Regular","neutral_600","HeaderActions","Header","TooltipContainer","Content","Size","Small","FooterLeftContainer","FooterLeftNote","FooterLeftLink","primary_500","FooterRightContainer","Footer","Wrapper","ModalContent","props","tooltip","XSmall","cursor","headerActions","map","action","index","icon","rest","id","getLeftActionIconElement","leftFooterAction","React","cloneElement","size","Large","actionType","text","variant","e","preventDefault","isModalOpen","closeAction","Medium","title","note","children","footerActions","item","a","key","yOffset","zIndex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport {ButtonAction, IconButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink} from './ModalTypes';\nimport {ModalContainer} from './index';\nimport styled from 'styled-components';\nimport {\n COLORS,\n ComponentLStyling,\n ComponentMStyling, ComponentSStyling,\n ComponentTextStyle, ComponentXLStyling,\n ComponentXSStyling,\n ComponentXXSStyling,\n scrollBarStyling\n} from '../styles';\nimport {TooltipContainer, TooltipWrapper} from '../Tooltips';\nimport {Button, IconButton} from '../Button';\nimport {Close, Help} from '../icons/systemicons/SystemIcons';\nimport {HyperLink} from '../HyperLink';\n\nconst HeaderText = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n padding: 12px 0 12px 12px;\n gap: 4px\n`;\nconst HeaderTitle = styled.div`\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.black)}\n`;\nconst HeaderNote = styled.div`\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nconst HeaderActions = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n padding: 4px;\n\n ${TooltipContainer} {\n height: max-content;\n }\n`;\n\nconst Content = styled.div`\n margin-right: 8px;\n padding: 0 8px 0 16px;\n overflow: auto;\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst FooterLeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst FooterLeftNote = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n\n ${ComponentXXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n`;\n\nconst FooterLeftLink = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.primary_500)}\n a {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n }\n`;\n\nconst FooterRightContainer = styled.div`\n gap: 8px;\n margin-left: auto;\n`\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: row;\n padding: 8px 16px;\n`;\n\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: max-content;\n\n max-height: calc(100vh - 32px);\n max-width: calc(100vw - 32px);\n\n &.medium {\n max-height: calc(100vh - 64px);\n max-width: calc(100vw - 64px);\n\n ${Header} {\n padding: 12px 12px 4px 12px;\n\n ${HeaderText} {\n padding: 12px 0 12px 12px;\n gap: 4px;\n\n ${HeaderTitle} {\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${HeaderNote} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n ${Content} {\n padding: 0 16px 0 24px;\n }\n\n ${Footer} {\n padding: 12px 24px 20px 24px;\n\n ${FooterLeftNote} {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n gap: 6px;\n }\n\n ${FooterLeftLink} {\n a {\n gap: 6px;\n }\n\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${FooterRightContainer} {\n gap: 8px;\n }\n }\n }\n\n &.large {\n max-height: calc(100vh - 112px);\n max-width: calc(100vw - 112px);\n\n ${Header} {\n padding: 20px 20px 4px 20px;\n\n ${HeaderText} {\n padding: 10px 0 10px 12px;\n gap: 8px;\n\n ${HeaderTitle} {\n ${ComponentXLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${HeaderNote} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n ${Content} {\n padding: 0 24px 0 32px;\n }\n\n ${Footer} {\n padding: 16px 32px 32px 32px;\n\n ${FooterLeftNote} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n gap: 8px;\n }\n\n ${FooterLeftLink} {\n a {\n gap: 8px;\n }\n\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${FooterRightContainer} {\n gap: 16px;\n }\n }\n }\n`;\n\n\ninterface ModalContentProps {\n size?: Size.Small | Size.Medium | Size.Large;\n isModalOpen: boolean;\n closeAction: () => void;\n title: string;\n note?: string;\n headerActions?: IconButtonAction[];\n footerActions?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n yOffset?: number;\n zIndex?: number;\n}\n\nconst ModalContent: React.FC<ModalContentProps> = (props) => {\n\n const tooltip = () =>\n !!props.tooltip &&\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"bottom\" withArrow={false}\n label={props.tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" style={{cursor: 'help'}} action={() => {\n }}>\n <Help size=\"24px\" color={COLORS.neutral_600}/>\n </IconButton>\n </TooltipWrapper>;\n\n const headerActions = () => props.headerActions?.map((action, index) => {\n const {icon, ...rest} = action;\n return <IconButton key={action.id || index}\n {...rest}>\n {icon}\n </IconButton>\n }\n );\n\n const getLeftActionIconElement = () =>\n !!props.leftFooterAction?.icon &&\n React.cloneElement(props.leftFooterAction?.icon as React.ReactElement, {\n size:\n props.size === Size.Small\n ? '20px'\n : props.size === Size.Large\n ? '28px'\n : '24px'\n });\n\n const leftFooterAction = () => {\n if (!props.leftFooterAction) return null;\n\n switch (props.leftFooterAction.actionType) {\n case 'button': {\n const {text, variant, action, ...rest} = props.leftFooterAction as LeftFooterButton;\n return (\n <Button{...rest}\n size={props.size}\n onClick={action}\n variant={variant ?? 'secondary'}>\n {text}\n </Button>\n );\n }\n case 'hyperlink': {\n const {text, variant, action, ...rest} = props.leftFooterAction as LeftFooterHyperlink;\n return (\n <FooterLeftLink>\n <HyperLink {...rest}\n variant={variant ?? 'default'}\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {getLeftActionIconElement()}\n {text}\n </HyperLink>\n </FooterLeftLink>\n );\n\n }\n case 'note': {\n const {text} = props.leftFooterAction;\n return (\n <FooterLeftNote>\n {getLeftActionIconElement()}\n <span>{text}</span>\n </FooterLeftNote>\n );\n }\n }\n };\n\n\n return (\n <ModalContainer showModal={props.isModalOpen} closeModal={props.closeAction}>\n <Wrapper className={props.size ?? Size.Medium}>\n <Header>\n <HeaderText>\n <HeaderTitle>{props.title}</HeaderTitle>\n {!!props.note && <HeaderNote>{props.note}</HeaderNote>}\n </HeaderText>\n <HeaderActions>\n {tooltip()}\n {headerActions()}\n <IconButton id={'content-modal-close-button'} variant=\"secondary\" shape=\"circular\"\n action={props.closeAction}>\n <Close size=\"24px\" color={COLORS.neutral_600}/>\n </IconButton>\n </HeaderActions>\n </Header>\n <Content>\n {props.children}\n </Content>\n <Footer>\n <FooterLeftContainer>\n {leftFooterAction()}\n </FooterLeftContainer>\n <FooterRightContainer>\n {props.footerActions?.map((item, index) => {\n const {action, text, ...rest} = item;\n return <Button key={rest.id || index}\n {...rest}\n onClick={action}\n size={props.size}\n onKeyDown={a => (a.key === 'Enter' || a.key === ' ') && action!(a)}>\n {text}\n </Button>\n }\n )}\n </FooterRightContainer>\n </Footer>\n </Wrapper>\n </ModalContainer>\n );\n};\n\nexport default ModalContent;\n"],"file":"ModalContent.cjs"}
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import { Size } from '../types';
3
+ import { ButtonAction, IconButtonAction, LeftFooterAction } from './ModalTypes';
4
+ interface ModalContentProps {
5
+ size?: Size.Small | Size.Medium | Size.Large;
6
+ isModalOpen: boolean;
7
+ closeAction: () => void;
8
+ title: string;
9
+ note?: string;
10
+ headerActions?: IconButtonAction[];
11
+ footerActions?: ButtonAction[];
12
+ leftFooterAction?: LeftFooterAction;
13
+ tooltip?: string;
14
+ yOffset?: number;
15
+ zIndex?: number;
16
+ }
17
+ declare const ModalContent: React.FC<ModalContentProps>;
18
+ export default ModalContent;
@@ -0,0 +1,204 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/esm/taggedTemplateLiteral";
4
+ import _pt from "prop-types";
5
+ var _excluded = ["icon"],
6
+ _excluded2 = ["text", "variant", "action"],
7
+ _excluded3 = ["text", "variant", "action"],
8
+ _excluded4 = ["action", "text"];
9
+
10
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
11
+
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
13
+
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
+
16
+ import React from 'react';
17
+ import { Size } from '../types';
18
+ import { ModalContainer } from './index';
19
+ import styled from 'styled-components';
20
+ import { COLORS, ComponentLStyling, ComponentMStyling, ComponentSStyling, ComponentTextStyle, ComponentXLStyling, ComponentXSStyling, ComponentXXSStyling, scrollBarStyling } from '../styles';
21
+ import { TooltipContainer, TooltipWrapper } from '../Tooltips';
22
+ import { Button, IconButton } from '../Button';
23
+ import { Close, Help } from '../icons/systemicons/SystemIcons';
24
+ import { HyperLink } from '../HyperLink';
25
+ import { jsx as _jsx } from "react/jsx-runtime";
26
+ import { jsxs as _jsxs } from "react/jsx-runtime";
27
+ var HeaderText = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n padding: 12px 0 12px 12px;\n gap: 4px\n"])));
28
+ var HeaderTitle = styled.div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n"])), ComponentMStyling(ComponentTextStyle.Bold, COLORS.black));
29
+ var HeaderNote = styled.div(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n ", "\n"])), ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600));
30
+ var HeaderActions = styled.div(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n"])));
31
+ var Header = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n padding: 4px;\n\n ", " {\n height: max-content;\n }\n"])), TooltipContainer);
32
+ var Content = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n margin-right: 8px;\n padding: 0 8px 0 16px;\n overflow: auto;\n\n ", "\n"])), scrollBarStyling(Size.Small));
33
+ var FooterLeftContainer = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n align-items: center;\n"])));
34
+ var FooterLeftNote = styled.div(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n\n ", "\n"])), ComponentXXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600));
35
+ var FooterLeftLink = styled.div(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral(["\n ", "\n a {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n }\n"])), ComponentSStyling(ComponentTextStyle.Bold, COLORS.primary_500));
36
+ var FooterRightContainer = styled.div(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral(["\n gap: 8px;\n margin-left: auto;\n"])));
37
+ var Footer = styled.div(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n padding: 8px 16px;\n"])));
38
+ var Wrapper = styled.div(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n width: max-content;\n\n max-height: calc(100vh - 32px);\n max-width: calc(100vw - 32px);\n\n &.medium {\n max-height: calc(100vh - 64px);\n max-width: calc(100vw - 64px);\n\n ", " {\n padding: 12px 12px 4px 12px;\n\n ", " {\n padding: 12px 0 12px 12px;\n gap: 4px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n ", " {\n padding: 0 16px 0 24px;\n }\n\n ", " {\n padding: 12px 24px 20px 24px;\n\n ", " {\n ", "\n gap: 6px;\n }\n\n ", " {\n a {\n gap: 6px;\n }\n\n ", "\n }\n\n ", " {\n gap: 8px;\n }\n }\n }\n\n &.large {\n max-height: calc(100vh - 112px);\n max-width: calc(100vw - 112px);\n\n ", " {\n padding: 20px 20px 4px 20px;\n\n ", " {\n padding: 10px 0 10px 12px;\n gap: 8px;\n\n ", " {\n ", "\n }\n\n ", " {\n ", "\n }\n }\n }\n\n ", " {\n padding: 0 24px 0 32px;\n }\n\n ", " {\n padding: 16px 32px 32px 32px;\n\n ", " {\n ", "\n gap: 8px;\n }\n\n ", " {\n a {\n gap: 8px;\n }\n\n ", "\n }\n\n ", " {\n gap: 16px;\n }\n }\n }\n"])), Header, HeaderText, HeaderTitle, ComponentLStyling(ComponentTextStyle.Bold, null), HeaderNote, ComponentXSStyling(ComponentTextStyle.Regular, null), Content, Footer, FooterLeftNote, ComponentXSStyling(ComponentTextStyle.Bold, null), FooterLeftLink, ComponentMStyling(ComponentTextStyle.Bold, null), FooterRightContainer, Header, HeaderText, HeaderTitle, ComponentXLStyling(ComponentTextStyle.Bold, null), HeaderNote, ComponentSStyling(ComponentTextStyle.Regular, null), Content, Footer, FooterLeftNote, ComponentSStyling(ComponentTextStyle.Bold, null), FooterLeftLink, ComponentLStyling(ComponentTextStyle.Bold, null), FooterRightContainer);
39
+
40
+ var ModalContent = function ModalContent(props) {
41
+ var _props$size, _props$footerActions;
42
+
43
+ var tooltip = function tooltip() {
44
+ return !!props.tooltip && /*#__PURE__*/_jsx(TooltipWrapper, {
45
+ delay: "0s",
46
+ size: Size.XSmall,
47
+ align: "center",
48
+ position: "bottom",
49
+ withArrow: false,
50
+ label: props.tooltip,
51
+ children: /*#__PURE__*/_jsx(IconButton, {
52
+ variant: "secondary",
53
+ shape: "circular",
54
+ style: {
55
+ cursor: 'help'
56
+ },
57
+ action: function action() {},
58
+ children: /*#__PURE__*/_jsx(Help, {
59
+ size: "24px",
60
+ color: COLORS.neutral_600
61
+ })
62
+ })
63
+ });
64
+ };
65
+
66
+ var headerActions = function headerActions() {
67
+ var _props$headerActions;
68
+
69
+ return (_props$headerActions = props.headerActions) === null || _props$headerActions === void 0 ? void 0 : _props$headerActions.map(function (action, index) {
70
+ var icon = action.icon,
71
+ rest = _objectWithoutProperties(action, _excluded);
72
+
73
+ return /*#__PURE__*/_jsx(IconButton, _objectSpread(_objectSpread({}, rest), {}, {
74
+ children: icon
75
+ }), action.id || index);
76
+ });
77
+ };
78
+
79
+ var getLeftActionIconElement = function getLeftActionIconElement() {
80
+ var _props$leftFooterActi, _props$leftFooterActi2;
81
+
82
+ return !!((_props$leftFooterActi = props.leftFooterAction) !== null && _props$leftFooterActi !== void 0 && _props$leftFooterActi.icon) && /*#__PURE__*/React.cloneElement((_props$leftFooterActi2 = props.leftFooterAction) === null || _props$leftFooterActi2 === void 0 ? void 0 : _props$leftFooterActi2.icon, {
83
+ size: props.size === Size.Small ? '20px' : props.size === Size.Large ? '28px' : '24px'
84
+ });
85
+ };
86
+
87
+ var leftFooterAction = function leftFooterAction() {
88
+ if (!props.leftFooterAction) return null;
89
+
90
+ switch (props.leftFooterAction.actionType) {
91
+ case 'button':
92
+ {
93
+ var _ref = props.leftFooterAction,
94
+ text = _ref.text,
95
+ variant = _ref.variant,
96
+ action = _ref.action,
97
+ rest = _objectWithoutProperties(_ref, _excluded2);
98
+
99
+ return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({}, rest), {}, {
100
+ size: props.size,
101
+ onClick: action,
102
+ variant: variant !== null && variant !== void 0 ? variant : 'secondary',
103
+ children: text
104
+ }));
105
+ }
106
+
107
+ case 'hyperlink':
108
+ {
109
+ var _ref2 = props.leftFooterAction,
110
+ _text = _ref2.text,
111
+ _variant = _ref2.variant,
112
+ _action = _ref2.action,
113
+ _rest = _objectWithoutProperties(_ref2, _excluded3);
114
+
115
+ return /*#__PURE__*/_jsx(FooterLeftLink, {
116
+ children: /*#__PURE__*/_jsxs(HyperLink, _objectSpread(_objectSpread({}, _rest), {}, {
117
+ variant: _variant !== null && _variant !== void 0 ? _variant : 'default',
118
+ onClick: function onClick(e) {
119
+ if (_action) {
120
+ e.preventDefault();
121
+
122
+ _action(e);
123
+ }
124
+ },
125
+ children: [getLeftActionIconElement(), _text]
126
+ }))
127
+ });
128
+ }
129
+
130
+ case 'note':
131
+ {
132
+ var _text2 = props.leftFooterAction.text;
133
+ return /*#__PURE__*/_jsxs(FooterLeftNote, {
134
+ children: [getLeftActionIconElement(), /*#__PURE__*/_jsx("span", {
135
+ children: _text2
136
+ })]
137
+ });
138
+ }
139
+ }
140
+ };
141
+
142
+ return /*#__PURE__*/_jsx(ModalContainer, {
143
+ showModal: props.isModalOpen,
144
+ closeModal: props.closeAction,
145
+ children: /*#__PURE__*/_jsxs(Wrapper, {
146
+ className: (_props$size = props.size) !== null && _props$size !== void 0 ? _props$size : Size.Medium,
147
+ children: [/*#__PURE__*/_jsxs(Header, {
148
+ children: [/*#__PURE__*/_jsxs(HeaderText, {
149
+ children: [/*#__PURE__*/_jsx(HeaderTitle, {
150
+ children: props.title
151
+ }), !!props.note && /*#__PURE__*/_jsx(HeaderNote, {
152
+ children: props.note
153
+ })]
154
+ }), /*#__PURE__*/_jsxs(HeaderActions, {
155
+ children: [tooltip(), headerActions(), /*#__PURE__*/_jsx(IconButton, {
156
+ id: 'content-modal-close-button',
157
+ variant: "secondary",
158
+ shape: "circular",
159
+ action: props.closeAction,
160
+ children: /*#__PURE__*/_jsx(Close, {
161
+ size: "24px",
162
+ color: COLORS.neutral_600
163
+ })
164
+ })]
165
+ })]
166
+ }), /*#__PURE__*/_jsx(Content, {
167
+ children: props.children
168
+ }), /*#__PURE__*/_jsxs(Footer, {
169
+ children: [/*#__PURE__*/_jsx(FooterLeftContainer, {
170
+ children: leftFooterAction()
171
+ }), /*#__PURE__*/_jsx(FooterRightContainer, {
172
+ children: (_props$footerActions = props.footerActions) === null || _props$footerActions === void 0 ? void 0 : _props$footerActions.map(function (item, index) {
173
+ var action = item.action,
174
+ text = item.text,
175
+ rest = _objectWithoutProperties(item, _excluded4);
176
+
177
+ return /*#__PURE__*/_jsx(Button, _objectSpread(_objectSpread({}, rest), {}, {
178
+ onClick: action,
179
+ size: props.size,
180
+ onKeyDown: function onKeyDown(a) {
181
+ return (a.key === 'Enter' || a.key === ' ') && action(a);
182
+ },
183
+ children: text
184
+ }), rest.id || index);
185
+ })
186
+ })]
187
+ })]
188
+ })
189
+ });
190
+ };
191
+
192
+ ModalContent.propTypes = {
193
+ isModalOpen: _pt.bool.isRequired,
194
+ closeAction: _pt.func.isRequired,
195
+ title: _pt.string.isRequired,
196
+ note: _pt.string,
197
+ headerActions: _pt.array,
198
+ footerActions: _pt.array,
199
+ tooltip: _pt.string,
200
+ yOffset: _pt.number,
201
+ zIndex: _pt.number
202
+ };
203
+ export default ModalContent;
204
+ //# sourceMappingURL=ModalContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Modals/ModalContent.tsx"],"names":["React","Size","ModalContainer","styled","COLORS","ComponentLStyling","ComponentMStyling","ComponentSStyling","ComponentTextStyle","ComponentXLStyling","ComponentXSStyling","ComponentXXSStyling","scrollBarStyling","TooltipContainer","TooltipWrapper","Button","IconButton","Close","Help","HyperLink","HeaderText","div","HeaderTitle","Bold","black","HeaderNote","Regular","neutral_600","HeaderActions","Header","Content","Small","FooterLeftContainer","FooterLeftNote","FooterLeftLink","primary_500","FooterRightContainer","Footer","Wrapper","ModalContent","props","tooltip","XSmall","cursor","headerActions","map","action","index","icon","rest","id","getLeftActionIconElement","leftFooterAction","cloneElement","size","Large","actionType","text","variant","e","preventDefault","isModalOpen","closeAction","Medium","title","note","children","footerActions","item","a","key","yOffset","zIndex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport {Size} from '../types';\nimport {ButtonAction, IconButtonAction, LeftFooterAction, LeftFooterButton, LeftFooterHyperlink} from './ModalTypes';\nimport {ModalContainer} from './index';\nimport styled from 'styled-components';\nimport {\n COLORS,\n ComponentLStyling,\n ComponentMStyling, ComponentSStyling,\n ComponentTextStyle, ComponentXLStyling,\n ComponentXSStyling,\n ComponentXXSStyling,\n scrollBarStyling\n} from '../styles';\nimport {TooltipContainer, TooltipWrapper} from '../Tooltips';\nimport {Button, IconButton} from '../Button';\nimport {Close, Help} from '../icons/systemicons/SystemIcons';\nimport {HyperLink} from '../HyperLink';\n\nconst HeaderText = styled.div`\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n padding: 12px 0 12px 12px;\n gap: 4px\n`;\nconst HeaderTitle = styled.div`\n ${ComponentMStyling(ComponentTextStyle.Bold, COLORS.black)}\n`;\nconst HeaderNote = styled.div`\n ${ComponentXXSStyling(ComponentTextStyle.Regular, COLORS.neutral_600)}\n`;\n\nconst HeaderActions = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst Header = styled.div`\n display: flex;\n flex-direction: row;\n padding: 4px;\n\n ${TooltipContainer} {\n height: max-content;\n }\n`;\n\nconst Content = styled.div`\n margin-right: 8px;\n padding: 0 8px 0 16px;\n overflow: auto;\n\n ${scrollBarStyling(Size.Small)}\n`;\n\nconst FooterLeftContainer = styled.div`\n display: flex;\n align-items: center;\n`;\n\nconst FooterLeftNote = styled.div`\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n\n ${ComponentXXSStyling(ComponentTextStyle.Bold, COLORS.neutral_600)}\n`;\n\nconst FooterLeftLink = styled.div`\n ${ComponentSStyling(ComponentTextStyle.Bold, COLORS.primary_500)}\n a {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: 4px;\n }\n`;\n\nconst FooterRightContainer = styled.div`\n gap: 8px;\n margin-left: auto;\n`\n\nconst Footer = styled.div`\n display: flex;\n flex-direction: row;\n padding: 8px 16px;\n`;\n\n\nconst Wrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: max-content;\n\n max-height: calc(100vh - 32px);\n max-width: calc(100vw - 32px);\n\n &.medium {\n max-height: calc(100vh - 64px);\n max-width: calc(100vw - 64px);\n\n ${Header} {\n padding: 12px 12px 4px 12px;\n\n ${HeaderText} {\n padding: 12px 0 12px 12px;\n gap: 4px;\n\n ${HeaderTitle} {\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${HeaderNote} {\n ${ComponentXSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n ${Content} {\n padding: 0 16px 0 24px;\n }\n\n ${Footer} {\n padding: 12px 24px 20px 24px;\n\n ${FooterLeftNote} {\n ${ComponentXSStyling(ComponentTextStyle.Bold, null)}\n gap: 6px;\n }\n\n ${FooterLeftLink} {\n a {\n gap: 6px;\n }\n\n ${ComponentMStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${FooterRightContainer} {\n gap: 8px;\n }\n }\n }\n\n &.large {\n max-height: calc(100vh - 112px);\n max-width: calc(100vw - 112px);\n\n ${Header} {\n padding: 20px 20px 4px 20px;\n\n ${HeaderText} {\n padding: 10px 0 10px 12px;\n gap: 8px;\n\n ${HeaderTitle} {\n ${ComponentXLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${HeaderNote} {\n ${ComponentSStyling(ComponentTextStyle.Regular, null)}\n }\n }\n }\n\n ${Content} {\n padding: 0 24px 0 32px;\n }\n\n ${Footer} {\n padding: 16px 32px 32px 32px;\n\n ${FooterLeftNote} {\n ${ComponentSStyling(ComponentTextStyle.Bold, null)}\n gap: 8px;\n }\n\n ${FooterLeftLink} {\n a {\n gap: 8px;\n }\n\n ${ComponentLStyling(ComponentTextStyle.Bold, null)}\n }\n\n ${FooterRightContainer} {\n gap: 16px;\n }\n }\n }\n`;\n\n\ninterface ModalContentProps {\n size?: Size.Small | Size.Medium | Size.Large;\n isModalOpen: boolean;\n closeAction: () => void;\n title: string;\n note?: string;\n headerActions?: IconButtonAction[];\n footerActions?: ButtonAction[];\n leftFooterAction?: LeftFooterAction;\n tooltip?: string;\n yOffset?: number;\n zIndex?: number;\n}\n\nconst ModalContent: React.FC<ModalContentProps> = (props) => {\n\n const tooltip = () =>\n !!props.tooltip &&\n <TooltipWrapper delay=\"0s\" size={Size.XSmall} align=\"center\" position=\"bottom\" withArrow={false}\n label={props.tooltip}>\n <IconButton variant=\"secondary\" shape=\"circular\" style={{cursor: 'help'}} action={() => {\n }}>\n <Help size=\"24px\" color={COLORS.neutral_600}/>\n </IconButton>\n </TooltipWrapper>;\n\n const headerActions = () => props.headerActions?.map((action, index) => {\n const {icon, ...rest} = action;\n return <IconButton key={action.id || index}\n {...rest}>\n {icon}\n </IconButton>\n }\n );\n\n const getLeftActionIconElement = () =>\n !!props.leftFooterAction?.icon &&\n React.cloneElement(props.leftFooterAction?.icon as React.ReactElement, {\n size:\n props.size === Size.Small\n ? '20px'\n : props.size === Size.Large\n ? '28px'\n : '24px'\n });\n\n const leftFooterAction = () => {\n if (!props.leftFooterAction) return null;\n\n switch (props.leftFooterAction.actionType) {\n case 'button': {\n const {text, variant, action, ...rest} = props.leftFooterAction as LeftFooterButton;\n return (\n <Button{...rest}\n size={props.size}\n onClick={action}\n variant={variant ?? 'secondary'}>\n {text}\n </Button>\n );\n }\n case 'hyperlink': {\n const {text, variant, action, ...rest} = props.leftFooterAction as LeftFooterHyperlink;\n return (\n <FooterLeftLink>\n <HyperLink {...rest}\n variant={variant ?? 'default'}\n onClick={(e) => {\n if (action) {\n e.preventDefault();\n action(e);\n }\n }}>\n {getLeftActionIconElement()}\n {text}\n </HyperLink>\n </FooterLeftLink>\n );\n\n }\n case 'note': {\n const {text} = props.leftFooterAction;\n return (\n <FooterLeftNote>\n {getLeftActionIconElement()}\n <span>{text}</span>\n </FooterLeftNote>\n );\n }\n }\n };\n\n\n return (\n <ModalContainer showModal={props.isModalOpen} closeModal={props.closeAction}>\n <Wrapper className={props.size ?? Size.Medium}>\n <Header>\n <HeaderText>\n <HeaderTitle>{props.title}</HeaderTitle>\n {!!props.note && <HeaderNote>{props.note}</HeaderNote>}\n </HeaderText>\n <HeaderActions>\n {tooltip()}\n {headerActions()}\n <IconButton id={'content-modal-close-button'} variant=\"secondary\" shape=\"circular\"\n action={props.closeAction}>\n <Close size=\"24px\" color={COLORS.neutral_600}/>\n </IconButton>\n </HeaderActions>\n </Header>\n <Content>\n {props.children}\n </Content>\n <Footer>\n <FooterLeftContainer>\n {leftFooterAction()}\n </FooterLeftContainer>\n <FooterRightContainer>\n {props.footerActions?.map((item, index) => {\n const {action, text, ...rest} = item;\n return <Button key={rest.id || index}\n {...rest}\n onClick={action}\n size={props.size}\n onKeyDown={a => (a.key === 'Enter' || a.key === ' ') && action!(a)}>\n {text}\n </Button>\n }\n )}\n </FooterRightContainer>\n </Footer>\n </Wrapper>\n </ModalContainer>\n );\n};\n\nexport default ModalContent;\n"],"file":"ModalContent.js"}