@elliemae/ds-modal 2.3.0-next.3 → 3.0.0-alpha.0

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 (126) hide show
  1. package/dist/cjs/DSModal.js +88 -0
  2. package/dist/cjs/DSModal.js.map +7 -0
  3. package/dist/cjs/constants.js +73 -0
  4. package/dist/cjs/constants.js.map +7 -0
  5. package/dist/cjs/index.js +43 -0
  6. package/dist/cjs/index.js.map +7 -0
  7. package/dist/cjs/v1/DSModal.js +177 -0
  8. package/dist/cjs/v1/DSModal.js.map +7 -0
  9. package/dist/cjs/v1/DSModalType.js +45 -0
  10. package/dist/cjs/v1/DSModalType.js.map +7 -0
  11. package/dist/cjs/v1/DSModalWrapper.js +129 -0
  12. package/dist/cjs/v1/DSModalWrapper.js.map +7 -0
  13. package/dist/cjs/v1/ModalFeedBack/ModalFeedBack.js +103 -0
  14. package/dist/cjs/v1/ModalFeedBack/ModalFeedBack.js.map +7 -0
  15. package/dist/cjs/v2/DSModal.js +160 -0
  16. package/dist/cjs/v2/DSModal.js.map +7 -0
  17. package/dist/cjs/v2/blocks.js +71 -0
  18. package/dist/cjs/v2/blocks.js.map +7 -0
  19. package/dist/cjs/v2/components/DecisionHeader.js +48 -0
  20. package/dist/cjs/v2/components/DecisionHeader.js.map +7 -0
  21. package/dist/cjs/v2/components/FeedbackIcon.js +73 -0
  22. package/dist/cjs/v2/components/FeedbackIcon.js.map +7 -0
  23. package/dist/cjs/v2/components/Footer.js +69 -0
  24. package/dist/cjs/v2/components/Footer.js.map +7 -0
  25. package/dist/cjs/v2/components/FormHeader.js +54 -0
  26. package/dist/cjs/v2/components/FormHeader.js.map +7 -0
  27. package/dist/cjs/v2/components/ModalContent.js +96 -0
  28. package/dist/cjs/v2/components/ModalContent.js.map +7 -0
  29. package/dist/cjs/v2/components/SelectionHeader.js +51 -0
  30. package/dist/cjs/v2/components/SelectionHeader.js.map +7 -0
  31. package/dist/cjs/v2/components/Title.js +41 -0
  32. package/dist/cjs/v2/components/Title.js.map +7 -0
  33. package/dist/cjs/v2/helpers.js +54 -0
  34. package/dist/cjs/v2/helpers.js.map +7 -0
  35. package/dist/esm/DSModal.js +59 -0
  36. package/dist/esm/DSModal.js.map +7 -0
  37. package/dist/esm/constants.js +44 -0
  38. package/dist/esm/constants.js.map +7 -0
  39. package/dist/esm/index.js +14 -0
  40. package/dist/esm/index.js.map +7 -0
  41. package/dist/esm/v1/DSModal.js +148 -0
  42. package/dist/esm/v1/DSModal.js.map +7 -0
  43. package/dist/esm/v1/DSModalType.js +16 -0
  44. package/dist/esm/v1/DSModalType.js.map +7 -0
  45. package/dist/esm/v1/DSModalWrapper.js +100 -0
  46. package/dist/esm/v1/DSModalWrapper.js.map +7 -0
  47. package/dist/esm/v1/ModalFeedBack/ModalFeedBack.js +74 -0
  48. package/dist/esm/v1/ModalFeedBack/ModalFeedBack.js.map +7 -0
  49. package/dist/esm/v2/DSModal.js +131 -0
  50. package/dist/esm/v2/DSModal.js.map +7 -0
  51. package/dist/esm/v2/blocks.js +42 -0
  52. package/dist/esm/v2/blocks.js.map +7 -0
  53. package/dist/esm/v2/components/DecisionHeader.js +19 -0
  54. package/dist/esm/v2/components/DecisionHeader.js.map +7 -0
  55. package/dist/esm/v2/components/FeedbackIcon.js +44 -0
  56. package/dist/esm/v2/components/FeedbackIcon.js.map +7 -0
  57. package/dist/esm/v2/components/Footer.js +40 -0
  58. package/dist/esm/v2/components/Footer.js.map +7 -0
  59. package/dist/esm/v2/components/FormHeader.js +25 -0
  60. package/dist/esm/v2/components/FormHeader.js.map +7 -0
  61. package/dist/esm/v2/components/ModalContent.js +73 -0
  62. package/dist/esm/v2/components/ModalContent.js.map +7 -0
  63. package/dist/esm/v2/components/SelectionHeader.js +22 -0
  64. package/dist/esm/v2/components/SelectionHeader.js.map +7 -0
  65. package/dist/esm/v2/components/Title.js +12 -0
  66. package/dist/esm/v2/components/Title.js.map +7 -0
  67. package/dist/esm/v2/helpers.js +25 -0
  68. package/dist/esm/v2/helpers.js.map +7 -0
  69. package/{types → dist/types}/DSModal.d.ts +1 -1
  70. package/{types → dist/types}/constants.d.ts +0 -0
  71. package/dist/types/index.d.ts +3 -0
  72. package/{types → dist/types}/v1/DSModal.d.ts +0 -0
  73. package/{types → dist/types}/v1/DSModalType.d.ts +0 -0
  74. package/{types → dist/types}/v1/ModalFeedBack/ModalFeedBack.d.ts +0 -0
  75. package/{types → dist/types}/v2/DSModal.d.ts +0 -0
  76. package/{types → dist/types}/v2/blocks.d.ts +0 -0
  77. package/{types → dist/types}/v2/components/DecisionHeader.d.ts +0 -0
  78. package/{types → dist/types}/v2/components/FeedbackIcon.d.ts +0 -0
  79. package/{types → dist/types}/v2/components/Footer.d.ts +0 -0
  80. package/{types → dist/types}/v2/components/FormHeader.d.ts +0 -0
  81. package/{types → dist/types}/v2/components/ModalContent.d.ts +0 -0
  82. package/{types → dist/types}/v2/components/SelectionHeader.d.ts +0 -0
  83. package/{types → dist/types}/v2/components/Title.d.ts +0 -0
  84. package/{types → dist/types}/v2/components/tests/DecisionHeader.test.d.ts +0 -0
  85. package/{types → dist/types}/v2/components/tests/FeedbackIcon.test.d.ts +0 -0
  86. package/{types → dist/types}/v2/components/tests/Footer.test.d.ts +0 -0
  87. package/{types → dist/types}/v2/components/tests/FormHeader.test.d.ts +0 -0
  88. package/{types → dist/types}/v2/components/tests/SelectionHeader.test.d.ts +0 -0
  89. package/{types → dist/types}/v2/helpers.d.ts +0 -0
  90. package/{types → dist/types}/v2/tests/DSModal.test.d.ts +0 -0
  91. package/package.json +63 -55
  92. package/cjs/DSModal.js +0 -186
  93. package/cjs/constants.js +0 -34
  94. package/cjs/index.js +0 -18
  95. package/cjs/v1/DSModal.js +0 -148
  96. package/cjs/v1/DSModalType.js +0 -7
  97. package/cjs/v1/DSModalWrapper.js +0 -166
  98. package/cjs/v1/ModalFeedBack/ModalFeedBack.js +0 -98
  99. package/cjs/v2/DSModal.js +0 -203
  100. package/cjs/v2/blocks.js +0 -88
  101. package/cjs/v2/components/DecisionHeader.js +0 -38
  102. package/cjs/v2/components/FeedbackIcon.js +0 -64
  103. package/cjs/v2/components/Footer.js +0 -66
  104. package/cjs/v2/components/FormHeader.js +0 -47
  105. package/cjs/v2/components/ModalContent.js +0 -112
  106. package/cjs/v2/components/SelectionHeader.js +0 -49
  107. package/cjs/v2/components/Title.js +0 -26
  108. package/cjs/v2/helpers.js +0 -45
  109. package/esm/DSModal.js +0 -175
  110. package/esm/constants.js +0 -26
  111. package/esm/index.js +0 -4
  112. package/esm/v1/DSModal.js +0 -139
  113. package/esm/v1/DSModalType.js +0 -3
  114. package/esm/v1/DSModalWrapper.js +0 -160
  115. package/esm/v1/ModalFeedBack/ModalFeedBack.js +0 -92
  116. package/esm/v2/DSModal.js +0 -192
  117. package/esm/v2/blocks.js +0 -77
  118. package/esm/v2/components/DecisionHeader.js +0 -28
  119. package/esm/v2/components/FeedbackIcon.js +0 -55
  120. package/esm/v2/components/Footer.js +0 -55
  121. package/esm/v2/components/FormHeader.js +0 -37
  122. package/esm/v2/components/ModalContent.js +0 -103
  123. package/esm/v2/components/SelectionHeader.js +0 -39
  124. package/esm/v2/components/Title.js +0 -17
  125. package/esm/v2/helpers.js +0 -37
  126. package/types/index.d.ts +0 -4
package/cjs/DSModal.js DELETED
@@ -1,186 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
11
- var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
12
- require('react');
13
- var PropTypes = require('prop-types');
14
- var constants = require('./constants.js');
15
- var DSModal$2 = require('./v1/DSModal.js');
16
- var DSModal$1 = require('./v2/DSModal.js');
17
- var propTypes = require('@elliemae/ds-shared/prop-types');
18
- var jsxRuntime = require('react/jsx-runtime');
19
- var ModalContent = require('./v2/components/ModalContent.js');
20
-
21
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
22
-
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_objectWithoutProperties);
25
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
26
-
27
- const _excluded = ["version"];
28
-
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
-
33
- const DSModal = _ref => {
34
- let {
35
- version = 1
36
- } = _ref,
37
- rest = _objectWithoutProperties__default["default"](_ref, _excluded);
38
-
39
- if (version === 2) return /*#__PURE__*/jsxRuntime.jsx(DSModal$1["default"], _objectSpread({}, rest));
40
- return /*#__PURE__*/jsxRuntime.jsx(DSModal$2, _objectSpread({}, rest));
41
- };
42
-
43
- DSModal$2.propTypes = {
44
- version: PropTypes__default["default"].oneOf([1, 2]),
45
- className: PropTypes__default["default"].string,
46
-
47
- /**
48
- * Add an additional css class to the footer
49
- */
50
- additionalFooterCssClass: PropTypes__default["default"].string,
51
-
52
- /**
53
- * Set style for the modal
54
- */
55
- style: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
56
-
57
- /**
58
- * Select size for the close icon
59
- */
60
- iconCloseSize: PropTypes__default["default"].oneOf(propTypes.iconSizes),
61
-
62
- /**
63
- * ['default', 'alert', 'confirm', 'notification', 'warning', 'error', 'success', 'help', 'info']
64
- */
65
- modalType: PropTypes__default["default"].oneOf(constants.modalTypes),
66
-
67
- /**
68
- * Show the header or not
69
- */
70
- showHeader: PropTypes__default["default"].bool,
71
-
72
- /**
73
- * Show the footer or not
74
- */
75
- showFooter: PropTypes__default["default"].bool,
76
-
77
- /**
78
- * Main content of the modal
79
- */
80
- children: PropTypes__default["default"].element.isRequired,
81
-
82
- /**
83
- * Content is centered or not
84
- */
85
- centered: PropTypes__default["default"].bool,
86
-
87
- /**
88
- * Text to be added in the confirm button
89
- */
90
- confirmLabel: PropTypes__default["default"].string,
91
-
92
- /**
93
- * Text to be added in the modal title
94
- */
95
- modalTitle: PropTypes__default["default"].string,
96
-
97
- /**
98
- * Text to be added in the modal title
99
- */
100
- size: PropTypes__default["default"].oneOf(propTypes.sizes),
101
-
102
- /**
103
- * Modal is open or not
104
- */
105
- isOpen: PropTypes__default["default"].bool,
106
-
107
- /**
108
- * Allows a function to be triggered once the modal is closed
109
- */
110
- onClose: PropTypes__default["default"].func,
111
-
112
- /**
113
- * Allows a function to be triggered once the modal is opened
114
- */
115
- onAfterOpen: PropTypes__default["default"].func,
116
-
117
- /**
118
- * Allows a function to be triggered once the modal open is confirmed
119
- */
120
- onConfirm: PropTypes__default["default"].func,
121
-
122
- /**
123
- * Allows a function to be triggered once the modal open is rejected
124
- */
125
- onReject: PropTypes__default["default"].func,
126
-
127
- /**
128
- * Text to be added in the reject button
129
- */
130
- rejectLabel: PropTypes__default["default"].string,
131
-
132
- /**
133
- * If modal should close on overlay click
134
- */
135
- shouldCloseOnOverlayClick: PropTypes__default["default"].bool,
136
-
137
- /**
138
- * Modal has error or not
139
- */
140
- hasError: PropTypes__default["default"].bool,
141
-
142
- /**
143
- * Modal has warning or not
144
- */
145
- hasWarning: PropTypes__default["default"].bool,
146
-
147
- /**
148
- * Modal has success or not
149
- */
150
- hasSuccess: PropTypes__default["default"].bool,
151
-
152
- /**
153
- * Modal has info or not
154
- */
155
- hasInfo: PropTypes__default["default"].bool,
156
-
157
- /**
158
- * Modal has help or not
159
- */
160
- hasHelp: PropTypes__default["default"].bool,
161
- actionsRef: PropTypes__default["default"].func,
162
- appElement: PropTypes__default["default"].string,
163
-
164
- /**
165
- * Customized props for the confirm button
166
- */
167
- overridePropsConfirmButton: PropTypes__default["default"].objectOf(PropTypes__default["default"].shape({})),
168
-
169
- /**
170
- * Customized props for the reject button
171
- */
172
- overridePropsRejectButton: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
173
-
174
- /**
175
- * Show confirm button
176
- */
177
- showConfirmButton: PropTypes__default["default"].bool,
178
-
179
- /**
180
- * Show confirm button
181
- */
182
- customCloseComponent: PropTypes__default["default"].element
183
- };
184
-
185
- exports.DSModalContent = ModalContent.DSModalContent;
186
- exports["default"] = DSModal;
package/cjs/constants.js DELETED
@@ -1,34 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const MODAL_TYPE = {
6
- DEFAULT: 'default',
7
- ALERT: 'alert',
8
- CONFIRM: 'confirm',
9
- NOTIFICATION: 'notification',
10
- WARNING: 'warning',
11
- ERROR: 'error',
12
- SUCCESS: 'success',
13
- HELP: 'help',
14
- INFO: 'info'
15
- };
16
- const modalTypes = [MODAL_TYPE.DEFAULT, MODAL_TYPE.ALERT, MODAL_TYPE.CONFIRM, MODAL_TYPE.NOTIFICATION, MODAL_TYPE.WARNING, MODAL_TYPE.ERROR, MODAL_TYPE.SUCCESS, MODAL_TYPE.HELP, MODAL_TYPE.INFO];
17
- const MODAL_TYPE_V2 = {
18
- INFORMATION: 'information',
19
- DECISION: 'decision',
20
- SELECTION: 'selection',
21
- FORM: 'form'
22
- };
23
- const MODAL_SUB_TYPE_V2 = {
24
- SUCCESS: 'success',
25
- WARNING: 'warning',
26
- ERROR: 'error',
27
- INFORMATION: 'information'
28
- };
29
-
30
- exports.MODAL_SUB_TYPE_V2 = MODAL_SUB_TYPE_V2;
31
- exports.MODAL_TYPE = MODAL_TYPE;
32
- exports.MODAL_TYPE_V2 = MODAL_TYPE_V2;
33
- exports["default"] = MODAL_TYPE;
34
- exports.modalTypes = modalTypes;
package/cjs/index.js DELETED
@@ -1,18 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- var DSModal$1 = require('./DSModal.js');
6
- var constants = require('./constants.js');
7
- var DSModal = require('./v2/DSModal.js');
8
- var ModalContent = require('./v2/components/ModalContent.js');
9
-
10
-
11
-
12
- exports["default"] = DSModal$1["default"];
13
- exports.MODAL_SUB_TYPE_V2 = constants.MODAL_SUB_TYPE_V2;
14
- exports.MODAL_TYPE = constants.MODAL_TYPE;
15
- exports.MODAL_TYPE_V2 = constants.MODAL_TYPE_V2;
16
- exports.modalTypes = constants.modalTypes;
17
- exports.DSModalWithSchema = DSModal.DSModalWithSchema;
18
- exports.DSModalContent = ModalContent.DSModalContent;
package/cjs/v1/DSModal.js DELETED
@@ -1,148 +0,0 @@
1
- 'use strict';
2
-
3
- require('core-js/modules/esnext.async-iterator.filter.js');
4
- require('core-js/modules/esnext.iterator.constructor.js');
5
- require('core-js/modules/esnext.iterator.filter.js');
6
- require('core-js/modules/esnext.async-iterator.for-each.js');
7
- require('core-js/modules/esnext.iterator.for-each.js');
8
- var _jsx = require('@babel/runtime/helpers/jsx');
9
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
10
- require('react');
11
- var ReactModal = require('react-modal');
12
- var dsClassnames = require('@elliemae/ds-classnames');
13
- var dsIcon = require('@elliemae/ds-icon');
14
- var dsIcons = require('@elliemae/ds-icons');
15
- var DSButton = require('@elliemae/ds-button');
16
- var constants = require('../constants.js');
17
- var ModalFeedBack = require('./ModalFeedBack/ModalFeedBack.js');
18
- var jsxRuntime = require('react/jsx-runtime');
19
-
20
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
21
-
22
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
23
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
24
- var ReactModal__default = /*#__PURE__*/_interopDefaultLegacy(ReactModal);
25
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
26
-
27
- var _Close;
28
-
29
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
30
-
31
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
32
-
33
- const DSModal = _ref => {
34
- let {
35
- containerProps = {},
36
- className = '',
37
- dataTestId = 'ds-modal',
38
- additionalFooterCssClass = '',
39
- style = {},
40
- iconCloseSize = dsIcon.DSIconSizes.S,
41
- modalType = constants.MODAL_TYPE.DEFAULT,
42
- showHeader = true,
43
- showFooter = true,
44
- children,
45
- centered = true,
46
- confirmLabel = 'Accept',
47
- modalTitle = '',
48
- size = 'medium',
49
- isOpen = false,
50
- onClose = () => null,
51
- onAfterOpen = () => null,
52
- onConfirm = () => null,
53
- onReject = () => null,
54
- rejectLabel = 'Cancel',
55
- shouldCloseOnOverlayClick = false,
56
- hasError = false,
57
- hasWarning = false,
58
- hasSuccess = false,
59
- hasInfo = false,
60
- hasHelp = false,
61
- actionsRef = () => null,
62
- appElement = '#root',
63
- overridePropsConfirmButton = {},
64
- overridePropsRejectButton = {},
65
- zIndex = 10
66
- } = _ref;
67
- // http://reactcommunity.org/react-modal/accessibility/ https://github.com/reactjs/react-modal#examples
68
- typeof document !== 'undefined' && document && ReactModal__default["default"].setAppElement && ReactModal__default["default"].setAppElement(appElement); // eslint-disable-line
69
-
70
- const {
71
- cssClassName,
72
- classNameElement,
73
- classNameBlock,
74
- classNameModifier,
75
- classNameBlockModifier
76
- } = dsClassnames.convertPropToCssClassName('modal', className, {
77
- hasError,
78
- hasWarning,
79
- hasSuccess,
80
- modalType,
81
- size
82
- });
83
- const {
84
- WARNING,
85
- ERROR,
86
- SUCCESS,
87
- HELP,
88
- INFO
89
- } = constants.MODAL_TYPE;
90
- const isAFeedbackType = [WARNING, ERROR, SUCCESS, HELP, INFO].indexOf(modalType) > -1;
91
- const showFeedBack = isAFeedbackType || hasError || hasWarning || hasSuccess || hasInfo || hasHelp;
92
- return /*#__PURE__*/_jsx__default["default"](ReactModal__default["default"], {
93
- testId: dataTestId,
94
- className: cssClassName,
95
- contentLabel: modalTitle,
96
- isOpen: isOpen,
97
- onAfterOpen: onAfterOpen,
98
- onRequestClose: onClose,
99
- overlayClassName: "".concat(classNameBlock('overlay'), " ").concat(classNameModifier(centered && 'center')),
100
- shouldCloseOnOverlayClick: shouldCloseOnOverlayClick,
101
- style: {
102
- content: _objectSpread({}, style),
103
- overlay: {
104
- zIndex
105
- }
106
- }
107
- }, void 0, /*#__PURE__*/jsxRuntime.jsxs("div", _objectSpread(_objectSpread({}, containerProps), {}, {
108
- children: [showHeader && /*#__PURE__*/_jsx__default["default"]("div", {
109
- className: classNameBlock('modal-header')
110
- }, void 0, /*#__PURE__*/_jsx__default["default"]("div", {
111
- className: classNameElement('title', 'modal-header')
112
- }, void 0, modalTitle), /*#__PURE__*/_jsx__default["default"]("div", {
113
- className: classNameElement('icon', 'modal-header')
114
- }, void 0, /*#__PURE__*/_jsx__default["default"](DSButton__default["default"], {
115
- buttonType: "link",
116
- icon: _Close || (_Close = /*#__PURE__*/_jsx__default["default"](dsIcons.Close, {})),
117
- onClick: onClose,
118
- size: iconCloseSize
119
- }))), /*#__PURE__*/_jsx__default["default"]("div", {
120
- className: classNameElement('body')
121
- }, void 0, showFeedBack && /*#__PURE__*/_jsx__default["default"](ModalFeedBack, {
122
- hasError: hasError,
123
- hasHelp: hasHelp,
124
- hasInfo: hasInfo,
125
- hasSuccess: hasSuccess,
126
- hasWarning: hasWarning,
127
- modalType: modalType
128
- }), children), showFooter && !isAFeedbackType && /*#__PURE__*/_jsx__default["default"]("div", {
129
- className: "".concat(classNameBlock('modal-footer'), " ").concat(additionalFooterCssClass ? classNameBlockModifier(additionalFooterCssClass, 'modal-footer') : '')
130
- }, void 0, /*#__PURE__*/jsxRuntime.jsxs("div", {
131
- ref: actionsRef,
132
- className: classNameBlock('modal-footer-actions'),
133
- children: [modalType === constants.MODAL_TYPE.CONFIRM && /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread({
134
- buttonType: "secondary",
135
- className: "".concat(classNameElement('button-action'), " ").concat(classNameModifier('reject', 'button-action'), " "),
136
- labelText: rejectLabel,
137
- onClick: onReject
138
- }, overridePropsRejectButton)), /*#__PURE__*/jsxRuntime.jsx(DSButton__default["default"], _objectSpread({
139
- buttonType: "primary",
140
- className: "".concat(classNameElement('button-action'), " ").concat(classNameModifier('confirm', 'button-action'), " "),
141
- labelText: confirmLabel,
142
- onClick: onConfirm
143
- }, overridePropsConfirmButton))]
144
- }))]
145
- })));
146
- };
147
-
148
- module.exports = DSModal;
@@ -1,7 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const modalTypes = [MODAL_TYPE.DEFAULT, MODAL_TYPE.ALERT, MODAL_TYPE.CONFIRM, MODAL_TYPE.NOTIFICATION, MODAL_TYPE.WARNING, MODAL_TYPE.ERROR, MODAL_TYPE.SUCCESS, MODAL_TYPE.HELP, MODAL_TYPE.INFO];
6
-
7
- exports.modalTypes = modalTypes;
@@ -1,166 +0,0 @@
1
- 'use strict';
2
-
3
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
- require('core-js/modules/web.dom-collections.iterator.js');
5
- require('core-js/modules/esnext.async-iterator.filter.js');
6
- require('core-js/modules/esnext.iterator.constructor.js');
7
- require('core-js/modules/esnext.iterator.filter.js');
8
- require('core-js/modules/esnext.async-iterator.for-each.js');
9
- require('core-js/modules/esnext.iterator.for-each.js');
10
- var react = require('react');
11
- var constants = require('../constants.js');
12
-
13
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
-
15
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
-
17
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
18
-
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
- var DSModalWrapper = (WrappedComponent => {
21
- class DSModalWrapper extends react.Component {
22
- constructor() {
23
- super(...arguments);
24
- this.state = {
25
- childready: false,
26
- additionalFooterCssClass: 'loading',
27
- container: null,
28
- actions: null,
29
- height: '100%'
30
- };
31
-
32
- this.onHeaderHeight = e => {
33
- this.heightHeaderFlag = true;
34
- this.heightHeader = e.height || 0;
35
- };
36
-
37
- this.onFooterHeight = e => {
38
- this.heightFooterFlag = true;
39
- this.heightFooter = e.height || 0;
40
- };
41
-
42
- this.onResize = _ref => {
43
- let {
44
- bounds
45
- } = _ref;
46
-
47
- if (this.heightFooterFlag && this.heightHeaderFlag) {
48
- return this.setState({
49
- height: bounds.height - this.heightFooter - this.heightHeader
50
- });
51
- }
52
-
53
- return setTimeout(this.onResize({
54
- bounds
55
- }), 0);
56
- };
57
-
58
- this.handleContainer = node => {
59
- if (node) this.setState({
60
- container: node
61
- });
62
- this.handleResize();
63
- };
64
-
65
- this.handleActions = node => {
66
- if (node) this.setState({
67
- actions: node
68
- });
69
- this.handleResize();
70
- };
71
- }
72
-
73
- componentDidMount() {
74
- window.addEventListener('resize', this.handleResize);
75
- }
76
-
77
- componentWillUnmount() {
78
- window.removeEventListener('resize', this.handleResize);
79
- }
80
-
81
- /**
82
- * Change button width to 100% if the
83
- * combined width of the button (or button group) exceed 50% of the container width.
84
- */
85
- handleResize() {
86
- if (!this.state) return null;
87
- const {
88
- container,
89
- actions,
90
- childready
91
- } = this.state;
92
- if (!childready) return null;
93
- this.setState({
94
- additionalFooterCssClass: null
95
- }); // !important reset to default state to recalculate
96
-
97
- const {
98
- clientWidth: containerWidth
99
- } = container;
100
- const {
101
- clientWidth: actionsWidth
102
- } = actions; // Change button width to 100% if the combined width of the button (or button group) exceed 50% of the container width.
103
-
104
- if (containerWidth && actionsWidth && actionsWidth / containerWidth * 100 > 50) {
105
- return this.setState({
106
- additionalFooterCssClass: 'fluid-actions'
107
- });
108
- }
109
-
110
- return this.setState({
111
- additionalFooterCssClass: null
112
- });
113
- }
114
-
115
- verifyNodes() {
116
- const {
117
- modalType
118
- } = this.props;
119
-
120
- if (modalType !== constants.MODAL_TYPE.DEFAULT) {
121
- const nodesInterval = setInterval(() => {
122
- // !important it checks when nodes are availables
123
- const {
124
- container,
125
- actions
126
- } = this.state;
127
- if (!container || !actions) return null;
128
- clearInterval(nodesInterval);
129
- this.setState({
130
- childready: true
131
- });
132
- return this.handleResize();
133
- }, 100);
134
- }
135
- }
136
-
137
- render() {
138
- const {
139
- props,
140
- state
141
- } = this;
142
- const {
143
- additionalFooterCssClass,
144
- height
145
- } = state;
146
- return /*#__PURE__*/react.createElement(WrappedComponent, _objectSpread(_objectSpread({}, props), {}, {
147
- height,
148
- onResize: this.onResize,
149
- onFooterHeight: this.onFooterHeight,
150
- onHeaderHeight: this.onHeaderHeight,
151
- containerRef: this.handleContainer,
152
- actionsRef: this.handleActions,
153
- additionalFooterCssClass,
154
- onAfterOpen: () => {
155
- if (props.onAfterOpen) props.onAfterOpen();
156
- this.verifyNodes();
157
- }
158
- }));
159
- }
160
-
161
- }
162
-
163
- return DSModalWrapper;
164
- });
165
-
166
- module.exports = DSModalWrapper;
@@ -1,98 +0,0 @@
1
- 'use strict';
2
-
3
- var _jsx = require('@babel/runtime/helpers/jsx');
4
- require('react');
5
- var dsIcons = require('@elliemae/ds-icons');
6
- var dsClassnames = require('@elliemae/ds-classnames');
7
- var constants = require('../../constants.js');
8
-
9
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
-
11
- var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
12
-
13
- var _WarningCircle, _CheckmarkCircle, _HelpCircle, _InfoCircle, _InfoCircle2;
14
- const feedbackIconSize = 'xxl';
15
- const {
16
- WARNING,
17
- ERROR,
18
- SUCCESS,
19
- HELP,
20
- INFO
21
- } = constants.MODAL_TYPE;
22
-
23
- const getModalType = (modalType, _ref) => {
24
- let {
25
- hasError,
26
- hasWarning,
27
- hasSuccess,
28
- hasInfo,
29
- hasHelp
30
- } = _ref;
31
- if ([WARNING, ERROR, SUCCESS, HELP, INFO].indexOf(modalType) > -1) return modalType;
32
- if (hasError) return ERROR;
33
- if (hasWarning) return WARNING;
34
- if (hasSuccess) return SUCCESS;
35
- if (hasHelp) return HELP;
36
- if (hasInfo) return INFO;
37
- return INFO;
38
- };
39
-
40
- const getIconType = modalType => {
41
- switch (modalType) {
42
- case WARNING:
43
- case ERROR:
44
- return _WarningCircle || (_WarningCircle = /*#__PURE__*/_jsx__default["default"](dsIcons.WarningCircle, {
45
- size: feedbackIconSize
46
- }));
47
-
48
- case SUCCESS:
49
- return _CheckmarkCircle || (_CheckmarkCircle = /*#__PURE__*/_jsx__default["default"](dsIcons.CheckmarkCircle, {
50
- size: feedbackIconSize
51
- }));
52
-
53
- case HELP:
54
- return _HelpCircle || (_HelpCircle = /*#__PURE__*/_jsx__default["default"](dsIcons.HelpCircle, {
55
- size: feedbackIconSize
56
- }));
57
-
58
- case INFO:
59
- return _InfoCircle || (_InfoCircle = /*#__PURE__*/_jsx__default["default"](dsIcons.InfoCircle, {
60
- size: feedbackIconSize
61
- }));
62
-
63
- default:
64
- return _InfoCircle2 || (_InfoCircle2 = /*#__PURE__*/_jsx__default["default"](dsIcons.InfoCircle, {
65
- size: feedbackIconSize
66
- }));
67
- }
68
- };
69
-
70
- const ModalFeedBack = _ref2 => {
71
- let {
72
- className = '',
73
- modalType = null,
74
- hasError = false,
75
- hasWarning = false,
76
- hasSuccess = false,
77
- hasInfo = false,
78
- hasHelp = false
79
- } = _ref2;
80
- const type = getModalType(modalType, {
81
- hasError,
82
- hasWarning,
83
- hasSuccess,
84
- hasInfo,
85
- hasHelp
86
- });
87
- const {
88
- cssClassName
89
- } = dsClassnames.convertPropToCssClassName('modal-feedback', className, {
90
- modalType: type
91
- });
92
- const feedbackIcon = getIconType(type);
93
- return /*#__PURE__*/_jsx__default["default"]("div", {
94
- className: cssClassName
95
- }, void 0, feedbackIcon);
96
- };
97
-
98
- module.exports = ModalFeedBack;