@qoretechnologies/reqore 0.30.6 → 0.30.8

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 (215) hide show
  1. package/CODE_OF_CONDUCT.md +104 -104
  2. package/CONTRIBUTING.MD +78 -78
  3. package/LICENSE +1 -1
  4. package/README.md +1 -1
  5. package/SECURITY.md +5 -5
  6. package/__tests__/collection.test.tsx +1 -1
  7. package/__tests__/{control_group.text.tsx → control_group.test.tsx} +4 -2
  8. package/__tests__/modal.test.tsx +74 -2
  9. package/__tests__/panel.test.tsx +96 -24
  10. package/__tests__/popover.test.tsx +24 -2
  11. package/__tests__/tabs.test.tsx +75 -0
  12. package/dist/components/Button/index.d.ts +6 -1
  13. package/dist/components/Button/index.d.ts.map +1 -1
  14. package/dist/components/Button/index.js +30 -20
  15. package/dist/components/Button/index.js.map +1 -1
  16. package/dist/components/Checkbox/index.d.ts.map +1 -1
  17. package/dist/components/Checkbox/index.js +6 -3
  18. package/dist/components/Checkbox/index.js.map +1 -1
  19. package/dist/components/Collection/index.d.ts +7 -2
  20. package/dist/components/Collection/index.d.ts.map +1 -1
  21. package/dist/components/Collection/index.js +57 -53
  22. package/dist/components/Collection/index.js.map +1 -1
  23. package/dist/components/Collection/item.d.ts +5 -5
  24. package/dist/components/Collection/item.d.ts.map +1 -1
  25. package/dist/components/Collection/item.js +15 -4
  26. package/dist/components/Collection/item.js.map +1 -1
  27. package/dist/components/Columns/column.d.ts.map +1 -1
  28. package/dist/components/Columns/column.js +1 -1
  29. package/dist/components/Columns/column.js.map +1 -1
  30. package/dist/components/ControlGroup/index.d.ts +21 -4
  31. package/dist/components/ControlGroup/index.d.ts.map +1 -1
  32. package/dist/components/ControlGroup/index.js +250 -55
  33. package/dist/components/ControlGroup/index.js.map +1 -1
  34. package/dist/components/Drawer/index.d.ts +2 -2
  35. package/dist/components/Drawer/index.d.ts.map +1 -1
  36. package/dist/components/Drawer/index.js +27 -16
  37. package/dist/components/Drawer/index.js.map +1 -1
  38. package/dist/components/Dropdown/index.d.ts +1 -0
  39. package/dist/components/Dropdown/index.d.ts.map +1 -1
  40. package/dist/components/Dropdown/index.js +2 -2
  41. package/dist/components/Dropdown/index.js.map +1 -1
  42. package/dist/components/Effect/index.d.ts +1 -1
  43. package/dist/components/Effect/index.d.ts.map +1 -1
  44. package/dist/components/Effect/index.js +7 -6
  45. package/dist/components/Effect/index.js.map +1 -1
  46. package/dist/components/Icon/index.d.ts +5 -6
  47. package/dist/components/Icon/index.d.ts.map +1 -1
  48. package/dist/components/Icon/index.js +14 -7
  49. package/dist/components/Icon/index.js.map +1 -1
  50. package/dist/components/Input/index.d.ts +2 -0
  51. package/dist/components/Input/index.d.ts.map +1 -1
  52. package/dist/components/Input/index.js +10 -4
  53. package/dist/components/Input/index.js.map +1 -1
  54. package/dist/components/InternalPopover/index.d.ts.map +1 -1
  55. package/dist/components/InternalPopover/index.js +12 -10
  56. package/dist/components/InternalPopover/index.js.map +1 -1
  57. package/dist/components/Menu/index.d.ts.map +1 -1
  58. package/dist/components/Menu/index.js +1 -1
  59. package/dist/components/Menu/index.js.map +1 -1
  60. package/dist/components/Message/index.d.ts +2 -0
  61. package/dist/components/Message/index.d.ts.map +1 -1
  62. package/dist/components/Message/index.js +2 -2
  63. package/dist/components/Message/index.js.map +1 -1
  64. package/dist/components/MultiSelect/index.d.ts +1 -1
  65. package/dist/components/MultiSelect/index.d.ts.map +1 -1
  66. package/dist/components/MultiSelect/index.js +10 -10
  67. package/dist/components/MultiSelect/index.js.map +1 -1
  68. package/dist/components/Panel/index.d.ts +13 -6
  69. package/dist/components/Panel/index.d.ts.map +1 -1
  70. package/dist/components/Panel/index.js +78 -44
  71. package/dist/components/Panel/index.js.map +1 -1
  72. package/dist/components/Popover/index.d.ts +1 -2
  73. package/dist/components/Popover/index.d.ts.map +1 -1
  74. package/dist/components/Popover/index.js +2 -2
  75. package/dist/components/Popover/index.js.map +1 -1
  76. package/dist/components/Spacer/index.d.ts +2 -0
  77. package/dist/components/Spacer/index.d.ts.map +1 -1
  78. package/dist/components/Spacer/index.js +29 -7
  79. package/dist/components/Spacer/index.js.map +1 -1
  80. package/dist/components/Table/header.js +2 -2
  81. package/dist/components/Table/header.js.map +1 -1
  82. package/dist/components/Table/headerCell.js +2 -2
  83. package/dist/components/Table/headerCell.js.map +1 -1
  84. package/dist/components/Table/helpers.d.ts +3 -2
  85. package/dist/components/Table/helpers.d.ts.map +1 -1
  86. package/dist/components/Table/helpers.js +6 -3
  87. package/dist/components/Table/helpers.js.map +1 -1
  88. package/dist/components/Table/index.d.ts +1 -0
  89. package/dist/components/Table/index.d.ts.map +1 -1
  90. package/dist/components/Table/index.js.map +1 -1
  91. package/dist/components/Table/row.d.ts +0 -5
  92. package/dist/components/Table/row.d.ts.map +1 -1
  93. package/dist/components/Table/row.js +3 -7
  94. package/dist/components/Table/row.js.map +1 -1
  95. package/dist/components/Tabs/content.d.ts +3 -1
  96. package/dist/components/Tabs/content.d.ts.map +1 -1
  97. package/dist/components/Tabs/content.js +8 -3
  98. package/dist/components/Tabs/content.js.map +1 -1
  99. package/dist/components/Tabs/index.d.ts +4 -1
  100. package/dist/components/Tabs/index.d.ts.map +1 -1
  101. package/dist/components/Tabs/index.js +12 -4
  102. package/dist/components/Tabs/index.js.map +1 -1
  103. package/dist/components/Tabs/item.d.ts +1 -0
  104. package/dist/components/Tabs/item.d.ts.map +1 -1
  105. package/dist/components/Tabs/item.js +7 -7
  106. package/dist/components/Tabs/item.js.map +1 -1
  107. package/dist/components/Tabs/list.d.ts +1 -1
  108. package/dist/components/Tabs/list.d.ts.map +1 -1
  109. package/dist/components/Tabs/list.js +7 -6
  110. package/dist/components/Tabs/list.js.map +1 -1
  111. package/dist/components/Tag/group.d.ts +2 -2
  112. package/dist/components/Tag/group.d.ts.map +1 -1
  113. package/dist/components/Tag/group.js +7 -8
  114. package/dist/components/Tag/group.js.map +1 -1
  115. package/dist/components/Tag/index.d.ts +6 -2
  116. package/dist/components/Tag/index.d.ts.map +1 -1
  117. package/dist/components/Tag/index.js +24 -12
  118. package/dist/components/Tag/index.js.map +1 -1
  119. package/dist/components/Tree/index.js +1 -1
  120. package/dist/components/Tree/index.js.map +1 -1
  121. package/dist/constants/animations.js +1 -1
  122. package/dist/constants/sizes.js +10 -10
  123. package/dist/constants/sizes.js.map +1 -1
  124. package/dist/containers/PopoverProvider.d.ts.map +1 -1
  125. package/dist/containers/PopoverProvider.js +10 -8
  126. package/dist/containers/PopoverProvider.js.map +1 -1
  127. package/dist/containers/ReqoreProvider.d.ts.map +1 -1
  128. package/dist/containers/ReqoreProvider.js +4 -2
  129. package/dist/containers/ReqoreProvider.js.map +1 -1
  130. package/dist/containers/UIProvider.d.ts +7 -0
  131. package/dist/containers/UIProvider.d.ts.map +1 -1
  132. package/dist/containers/UIProvider.js.map +1 -1
  133. package/dist/context/ReqoreContext.d.ts +2 -0
  134. package/dist/context/ReqoreContext.d.ts.map +1 -1
  135. package/dist/context/ReqoreContext.js.map +1 -1
  136. package/dist/helpers/colors.d.ts +1 -1
  137. package/dist/helpers/colors.d.ts.map +1 -1
  138. package/dist/helpers/colors.js +6 -2
  139. package/dist/helpers/colors.js.map +1 -1
  140. package/dist/helpers/utils.d.ts +3 -0
  141. package/dist/helpers/utils.d.ts.map +1 -1
  142. package/dist/helpers/utils.js +16 -1
  143. package/dist/helpers/utils.js.map +1 -1
  144. package/dist/hooks/useLatestZIndex.js +2 -2
  145. package/dist/hooks/useLatestZIndex.js.map +1 -1
  146. package/dist/hooks/usePopover.d.ts +1 -0
  147. package/dist/hooks/usePopover.d.ts.map +1 -1
  148. package/dist/hooks/usePopover.js +8 -6
  149. package/dist/hooks/usePopover.js.map +1 -1
  150. package/dist/styles.d.ts +1 -0
  151. package/dist/styles.d.ts.map +1 -1
  152. package/dist/styles.js +6 -5
  153. package/dist/styles.js.map +1 -1
  154. package/dist/types/global.d.ts +26 -0
  155. package/dist/types/global.d.ts.map +1 -1
  156. package/package.json +1 -1
  157. package/src/components/Button/index.tsx +79 -34
  158. package/src/components/Checkbox/index.tsx +3 -2
  159. package/src/components/Collection/index.tsx +93 -60
  160. package/src/components/Collection/item.tsx +29 -9
  161. package/src/components/Columns/column.tsx +1 -0
  162. package/src/components/ControlGroup/index.tsx +449 -104
  163. package/src/components/Drawer/index.tsx +28 -27
  164. package/src/components/Dropdown/index.tsx +3 -1
  165. package/src/components/Effect/index.tsx +22 -14
  166. package/src/components/Icon/index.tsx +81 -62
  167. package/src/components/Input/index.tsx +8 -3
  168. package/src/components/InternalPopover/index.tsx +131 -126
  169. package/src/components/Menu/index.tsx +7 -1
  170. package/src/components/Message/index.tsx +9 -1
  171. package/src/components/MultiSelect/index.tsx +180 -188
  172. package/src/components/Panel/index.tsx +227 -100
  173. package/src/components/Popover/index.tsx +1 -3
  174. package/src/components/Spacer/index.tsx +63 -14
  175. package/src/components/Table/header.tsx +2 -2
  176. package/src/components/Table/headerCell.tsx +2 -2
  177. package/src/components/Table/helpers.ts +12 -6
  178. package/src/components/Table/index.tsx +1 -0
  179. package/src/components/Table/row.tsx +2 -7
  180. package/src/components/Tabs/content.tsx +11 -3
  181. package/src/components/Tabs/index.tsx +14 -3
  182. package/src/components/Tabs/item.tsx +28 -5
  183. package/src/components/Tabs/list.tsx +7 -3
  184. package/src/components/Tag/group.tsx +6 -12
  185. package/src/components/Tag/index.tsx +69 -35
  186. package/src/components/Tree/index.tsx +1 -1
  187. package/src/constants/animations.ts +1 -1
  188. package/src/constants/sizes.ts +10 -10
  189. package/src/containers/PopoverProvider.tsx +11 -8
  190. package/src/containers/ReqoreProvider.tsx +40 -35
  191. package/src/containers/UIProvider.tsx +7 -0
  192. package/src/context/ReqoreContext.tsx +2 -0
  193. package/src/helpers/colors.ts +8 -2
  194. package/src/helpers/utils.ts +18 -0
  195. package/src/hooks/useLatestZIndex.ts +2 -2
  196. package/src/hooks/usePopover.tsx +9 -6
  197. package/src/mock/collectionData.tsx +33 -2
  198. package/src/stories/Button/Button.stories.tsx +72 -7
  199. package/src/stories/Checkbox/Checkbox.stories.tsx +6 -3
  200. package/src/stories/Collection/Collection.stories.tsx +18 -2
  201. package/src/stories/ControlGroup/ControlGroup.stories.tsx +282 -33
  202. package/src/stories/Drawer/Drawer.stories.tsx +70 -3
  203. package/src/stories/Dropdown/Dropdown.stories.tsx +13 -3
  204. package/src/stories/Icon/Icon.stories.tsx +1 -0
  205. package/src/stories/Input/Input.stories.tsx +5 -3
  206. package/src/stories/Menu/Menu.stories.tsx +2 -0
  207. package/src/stories/Message/Message.stories.tsx +7 -0
  208. package/src/stories/Panel/Panel.stories.tsx +147 -13
  209. package/src/stories/Popover/Popover.stories.tsx +88 -82
  210. package/src/stories/Tabs/Tabs.stories.tsx +33 -15
  211. package/src/stories/Tag/Tag.stories.tsx +23 -3
  212. package/src/stories/TextArea/TextArea.stories.tsx +3 -3
  213. package/src/styles.ts +6 -0
  214. package/src/types/global.ts +28 -0
  215. package/tests.json +1 -1
@@ -1,6 +1,6 @@
1
- import { isString } from 'lodash';
1
+ import { cloneDeep, isString } from 'lodash';
2
2
  import { rgba } from 'polished';
3
- import React, { MutableRefObject, useContext, useEffect, useRef, useState } from 'react';
3
+ import React, { MutableRefObject, memo, useContext, useEffect, useRef, useState } from 'react';
4
4
  import { usePopper } from 'react-popper';
5
5
  import styled, { css } from 'styled-components';
6
6
  import { RADIUS_FROM_SIZE } from '../../constants/sizes';
@@ -62,8 +62,8 @@ const StyledPopoverWrapper = styled.div<{ theme: IReqoreTheme }>`
62
62
  max-height: ${({ maxHeight = '80vh' }) => maxHeight};
63
63
  z-index: 999999;
64
64
  border-radius: ${RADIUS_FROM_SIZE.normal}px;
65
- border: ${({ flat, isString, ...rest }: any) =>
66
- !flat && !isString ? `1px solid ${getPopoverArrowColor({ ...rest, flat })}` : undefined};
65
+ border: ${({ flat, noWrapper, ...rest }: any) =>
66
+ !flat && noWrapper ? `1px solid ${getPopoverArrowColor({ ...rest, flat })}` : undefined};
67
67
 
68
68
  ${({ transparent }) =>
69
69
  !transparent &&
@@ -129,7 +129,7 @@ const StyledPopoverWrapper = styled.div<{ theme: IReqoreTheme }>`
129
129
  }
130
130
  `;
131
131
 
132
- const StyledPopoverContent = styled.div<{ isString?: boolean }>`
132
+ const StyledPopoverContent = styled.div`
133
133
  width: 100%;
134
134
  height: 100%;
135
135
  z-index: 20;
@@ -139,133 +139,138 @@ const StyledPopoverContent = styled.div<{ isString?: boolean }>`
139
139
 
140
140
  export interface IReqoreInternalPopoverProps extends IPopoverData {}
141
141
 
142
- const InternalPopover: React.FC<IReqoreInternalPopoverProps> = ({
143
- targetElement,
144
- content,
145
- id,
146
- placement,
147
- noArrow,
148
- useTargetWidth,
149
- transparent,
150
- maxWidth,
151
- maxHeight,
152
- blur,
153
- intent,
154
- title,
155
- icon,
156
- minimal,
157
- flat = true,
158
- effect,
159
- }) => {
160
- const { removePopover, updatePopover, uiScale } = useContext(PopoverContext);
161
- const [popperElement, setPopperElement] = useState(null);
162
- const [arrowElement, setArrowElement] = useState(null);
163
- const popperRef: MutableRefObject<any> = useRef(null);
164
- const { styles, attributes } = usePopper(targetElement, popperElement, {
142
+ const InternalPopover: React.FC<IReqoreInternalPopoverProps> = memo(
143
+ ({
144
+ targetElement,
145
+ content,
146
+ id,
165
147
  placement,
166
- modifiers: [
167
- {
168
- name: 'offset',
169
- options: {
170
- offset: [0, noArrow ? 5 : 10],
148
+ noArrow,
149
+ noWrapper,
150
+ useTargetWidth,
151
+ transparent,
152
+ maxWidth,
153
+ maxHeight,
154
+ blur,
155
+ intent,
156
+ title,
157
+ icon,
158
+ minimal,
159
+ flat = true,
160
+ effect,
161
+ }) => {
162
+ const { removePopover, updatePopover, uiScale } = useContext(PopoverContext);
163
+ const [popperElement, setPopperElement] = useState(null);
164
+ const [arrowElement, setArrowElement] = useState(null);
165
+ const popperRef: MutableRefObject<any> = useRef(null);
166
+ const { styles, attributes } = usePopper(targetElement, popperElement, {
167
+ placement,
168
+ modifiers: [
169
+ {
170
+ name: 'offset',
171
+ options: {
172
+ offset: [0, noArrow ? 5 : 10],
173
+ },
171
174
  },
172
- },
173
- {
174
- name: 'arrow',
175
- options: {
176
- element: arrowElement,
175
+ {
176
+ name: 'arrow',
177
+ options: {
178
+ element: arrowElement,
179
+ },
177
180
  },
178
- },
179
- {
180
- name: 'hide',
181
- enabled: true,
182
- },
183
- ],
184
- });
185
-
186
- useEffect(() => {
187
- if (popperRef.current) {
188
- updatePopover?.(id, { popperRef });
189
- }
190
- }, [popperRef]);
181
+ {
182
+ name: 'hide',
183
+ enabled: true,
184
+ },
185
+ ],
186
+ });
191
187
 
192
- useEffect(() => {
193
- if (attributes.popper?.['data-popper-reference-hidden']) {
194
- removePopover?.(id);
195
- }
196
- }, [attributes.popper]);
188
+ useEffect(() => {
189
+ if (popperRef.current) {
190
+ updatePopover?.(id, { popperRef: cloneDeep(popperRef) });
191
+ }
192
+ }, [popperRef]);
197
193
 
198
- /* Getting the x and y values from the transform property of the popper element. */
199
- const translateValues = styles.popper.transform
200
- ?.replace('translate3d(', '')
201
- .replace('translate(', '')
202
- .replace(')', '')
203
- .split(',')
204
- .map((axis) => {
205
- if (uiScale || uiScale === 0) {
206
- return parseInt(axis, 10) < 0 ? parseInt(axis, 10) * uiScale : parseInt(axis, 10) / uiScale;
194
+ useEffect(() => {
195
+ if (attributes.popper?.['data-popper-reference-hidden']) {
196
+ removePopover?.(id);
207
197
  }
208
- return parseInt(axis, 10);
209
- });
198
+ }, [attributes.popper]);
210
199
 
211
- return (
212
- <ReqoreThemeProvider>
213
- {blur > 0 ? <StyledBackdrop zIndex={999998} blur={blur} closable /> : null}
214
- <StyledPopoverWrapper
215
- maxWidth={maxWidth}
216
- maxHeight={maxHeight}
217
- transparent={transparent}
218
- effect={effect}
219
- isOpaque={!transparent && !minimal}
220
- intent={intent}
221
- flat={flat}
222
- isString={isString(content)}
223
- dim={flat && !transparent && !effect && minimal}
224
- className='reqore-popover-content'
225
- ref={(el) => {
226
- setPopperElement(el);
227
- popperRef.current = el;
228
- }}
229
- style={{
230
- ...styles.popper,
231
- transform: `translate(${translateValues?.[0] || 0}px, ${translateValues?.[1] || 0}px)`,
232
- width: useTargetWidth && (targetElement?.getBoundingClientRect()?.width || undefined),
233
- }}
234
- {...attributes.popper}
235
- >
236
- {!noArrow && !transparent ? (
237
- <StyledPopoverArrow ref={setArrowElement} style={styles.arrow} data-popper-arrow />
238
- ) : null}
239
- <StyledPopoverContent isString={isString(content)}>
240
- {isString(content) ? (
241
- <ReqoreMessage
242
- opaque={!transparent && !minimal}
243
- className='reqore-popover-text'
244
- intent={intent}
245
- title={title}
246
- icon={icon}
247
- minimal={transparent}
248
- flat={flat || transparent}
249
- effect={effect}
250
- >
251
- {content}
252
- </ReqoreMessage>
253
- ) : (
254
- <>
255
- {React.Children.map(content, (child) =>
256
- child
257
- ? React.cloneElement(child, {
258
- _insidePopover: true,
259
- _popoverId: id,
260
- })
261
- : null
262
- )}
263
- </>
264
- )}
265
- </StyledPopoverContent>
266
- </StyledPopoverWrapper>
267
- </ReqoreThemeProvider>
268
- );
269
- };
200
+ /* Getting the x and y values from the transform property of the popper element. */
201
+ const translateValues = styles.popper.transform
202
+ ?.replace('translate3d(', '')
203
+ .replace('translate(', '')
204
+ .replace(')', '')
205
+ .split(',')
206
+ .map((axis) => {
207
+ if (uiScale || uiScale === 0) {
208
+ return parseInt(axis, 10) < 0
209
+ ? parseInt(axis, 10) * uiScale
210
+ : parseInt(axis, 10) / uiScale;
211
+ }
212
+ return parseInt(axis, 10);
213
+ });
214
+
215
+ return (
216
+ <ReqoreThemeProvider>
217
+ {blur > 0 ? <StyledBackdrop zIndex={999998} blur={blur} closable /> : null}
218
+ <StyledPopoverWrapper
219
+ maxWidth={maxWidth}
220
+ maxHeight={maxHeight}
221
+ transparent={transparent}
222
+ effect={effect}
223
+ isOpaque={!transparent && !minimal}
224
+ intent={intent}
225
+ flat={flat}
226
+ noWrapper={noWrapper}
227
+ dim={flat && !transparent && !effect && minimal}
228
+ className='reqore-popover-content'
229
+ ref={(el) => {
230
+ setPopperElement(el);
231
+ popperRef.current = el;
232
+ }}
233
+ style={{
234
+ ...styles.popper,
235
+ transform: `translate(${translateValues?.[0] || 0}px, ${translateValues?.[1] || 0}px)`,
236
+ width: useTargetWidth && (targetElement?.getBoundingClientRect()?.width || undefined),
237
+ }}
238
+ {...attributes.popper}
239
+ >
240
+ {!noArrow && !transparent ? (
241
+ <StyledPopoverArrow ref={setArrowElement} style={styles.arrow} data-popper-arrow />
242
+ ) : null}
243
+ <StyledPopoverContent>
244
+ {!noWrapper || isString(content) ? (
245
+ <ReqoreMessage
246
+ opaque={!transparent && !minimal}
247
+ className='reqore-popover-text'
248
+ intent={intent}
249
+ title={title}
250
+ icon={icon}
251
+ minimal={transparent}
252
+ flat={flat || transparent}
253
+ effect={effect}
254
+ >
255
+ {content}
256
+ </ReqoreMessage>
257
+ ) : (
258
+ <>
259
+ {React.Children.map(content, (child) =>
260
+ child
261
+ ? React.cloneElement(child, {
262
+ _insidePopover: true,
263
+ _popoverId: id,
264
+ })
265
+ : null
266
+ )}
267
+ </>
268
+ )}
269
+ </StyledPopoverContent>
270
+ </StyledPopoverWrapper>
271
+ </ReqoreThemeProvider>
272
+ );
273
+ }
274
+ );
270
275
 
271
276
  export default InternalPopover;
@@ -74,7 +74,13 @@ const ReqoreMenu = forwardRef<HTMLDivElement, IReqoreMenuProps>(
74
74
 
75
75
  return (
76
76
  <ReqoreThemeProvider theme={theme}>
77
- <StyledReqoreMenu {...rest} position={position} ref={ref} theme={theme}>
77
+ <StyledReqoreMenu
78
+ {...rest}
79
+ position={position}
80
+ ref={ref}
81
+ theme={theme}
82
+ className={`${rest.className || ''} reqore-menu`}
83
+ >
78
84
  {React.Children.map(children, (child) => {
79
85
  return child
80
86
  ? // @ts-ignore
@@ -14,6 +14,7 @@ import {
14
14
  IWithReqoreSize,
15
15
  } from '../../types/global';
16
16
  import { IReqoreIconName } from '../../types/icons';
17
+ import { TReqoreEffectColor } from '../Effect';
17
18
  import { ReqoreHeading } from '../Header';
18
19
  import ReqoreIcon from '../Icon';
19
20
  import {
@@ -35,6 +36,7 @@ export interface IReqoreMessageProps
35
36
  title?: string;
36
37
  children: any;
37
38
  icon?: IReqoreIconName;
39
+ iconColor?: TReqoreEffectColor;
38
40
  onClose?: () => any;
39
41
  onClick?: () => any;
40
42
  duration?: number;
@@ -64,6 +66,7 @@ const ReqoreMessage = forwardRef<HTMLDivElement, IReqoreMessageProps>(
64
66
  minimal,
65
67
  size = 'normal',
66
68
  customTheme,
69
+ iconColor,
67
70
  ...rest
68
71
  },
69
72
  ref: any
@@ -128,7 +131,12 @@ const ReqoreMessage = forwardRef<HTMLDivElement, IReqoreMessageProps>(
128
131
  >
129
132
  {leftIcon ? (
130
133
  <StyledIconWrapper intent={intent} size={size} theme={theme}>
131
- <ReqoreIcon icon={leftIcon} margin={flat && minimal ? 'right' : 'both'} size={size} />
134
+ <ReqoreIcon
135
+ icon={leftIcon}
136
+ margin={flat && minimal ? 'right' : 'both'}
137
+ size={size}
138
+ color={iconColor}
139
+ />
132
140
  </StyledIconWrapper>
133
141
  ) : null}
134
142
  <StyledNotificationContentWrapper size={size} theme={theme}>