@zohodesk/dot 1.0.0-temp-175.1 → 1.0.0-temp-175.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/coverage/ExternalLink/ExternalLink.js.html +1 -1
  3. package/coverage/ExternalLink/ExternalLink.module.css.html +1 -1
  4. package/coverage/ExternalLink/index.html +1 -1
  5. package/coverage/ExternalLink/props/defaultProps.js.html +1 -1
  6. package/coverage/ExternalLink/props/index.html +1 -1
  7. package/coverage/ExternalLink/props/propTypes.js.html +1 -1
  8. package/coverage/IconButton/IconButton.js.html +1 -1
  9. package/coverage/IconButton/IconButton.module.css.html +1 -1
  10. package/coverage/IconButton/index.html +1 -1
  11. package/coverage/IconButton/props/defaultProps.js.html +1 -1
  12. package/coverage/IconButton/props/index.html +1 -1
  13. package/coverage/IconButton/props/propTypes.js.html +1 -1
  14. package/coverage/Image/Image.js.html +1 -1
  15. package/coverage/Image/Image.module.css.html +1 -1
  16. package/coverage/Image/index.html +1 -1
  17. package/coverage/Image/props/defaultProps.js.html +1 -1
  18. package/coverage/Image/props/index.html +1 -1
  19. package/coverage/Image/props/propTypes.js.html +1 -1
  20. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.js.html +1 -1
  21. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.module.css.html +1 -1
  22. package/coverage/avatar/AvatarWithTeam/index.html +1 -1
  23. package/coverage/avatar/AvatarWithTeam/props/defaultProps.js.html +1 -1
  24. package/coverage/avatar/AvatarWithTeam/props/index.html +1 -1
  25. package/coverage/avatar/AvatarWithTeam/props/propTypes.js.html +1 -1
  26. package/coverage/index.html +1 -1
  27. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +12 -41
  28. package/es/form/fields/TagsMultiSelect/props/defaultProps.js +1 -2
  29. package/es/form/fields/TagsMultiSelect/props/propTypes.js +1 -10
  30. package/es/version2/GlobalNotification/GlobalNotification.js +53 -26
  31. package/es/version2/GlobalNotification/GlobalNotification.module.css +58 -11
  32. package/es/version2/GlobalNotification/props/propTypes.js +11 -4
  33. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +12 -44
  34. package/lib/form/fields/TagsMultiSelect/props/defaultProps.js +1 -2
  35. package/lib/form/fields/TagsMultiSelect/props/propTypes.js +1 -10
  36. package/lib/version2/GlobalNotification/GlobalNotification.js +52 -29
  37. package/lib/version2/GlobalNotification/GlobalNotification.module.css +58 -11
  38. package/lib/version2/GlobalNotification/props/propTypes.js +11 -4
  39. package/package.json +1 -1
  40. package/result.json +1 -1
@@ -214,7 +214,7 @@ ExternalLink.propTypes = propTypes;
214
214
  <div class='footer quiet pad2 space-top1 center small'>
215
215
  Code coverage generated by
216
216
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
217
- at 2024-01-18T04:32:09.374Z
217
+ at 2024-01-19T07:17:39.773Z
218
218
  </div>
219
219
  <script src="../prettify.js"></script>
220
220
  <script>
@@ -79,7 +79,7 @@
79
79
  <div class='footer quiet pad2 space-top1 center small'>
80
80
  Code coverage generated by
81
81
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82
- at 2024-01-18T04:32:09.374Z
82
+ at 2024-01-19T07:17:39.773Z
83
83
  </div>
84
84
  <script src="../prettify.js"></script>
85
85
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
88
- at 2024-01-18T04:32:09.374Z
88
+ at 2024-01-19T07:17:39.773Z
89
89
  </div>
90
90
  <script src="../../prettify.js"></script>
91
91
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -109,7 +109,7 @@ export const propTypes = {
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2024-01-18T04:32:09.374Z
112
+ at 2024-01-19T07:17:39.773Z
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -451,7 +451,7 @@ IconButton.defaultProps = defaultProps;
451
451
  <div class='footer quiet pad2 space-top1 center small'>
452
452
  Code coverage generated by
453
453
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
454
- at 2024-01-18T04:32:09.374Z
454
+ at 2024-01-19T07:17:39.773Z
455
455
  </div>
456
456
  <script src="../prettify.js"></script>
457
457
  <script>
@@ -139,7 +139,7 @@
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2024-01-18T04:32:09.374Z
142
+ at 2024-01-19T07:17:39.773Z
143
143
  </div>
144
144
  <script src="../prettify.js"></script>
145
145
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -121,7 +121,7 @@
121
121
  <div class='footer quiet pad2 space-top1 center small'>
122
122
  Code coverage generated by
123
123
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
124
- at 2024-01-18T04:32:09.374Z
124
+ at 2024-01-19T07:17:39.773Z
125
125
  </div>
126
126
  <script src="../../prettify.js"></script>
127
127
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -172,7 +172,7 @@ export const propTypes = {
172
172
  <div class='footer quiet pad2 space-top1 center small'>
173
173
  Code coverage generated by
174
174
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
175
- at 2024-01-18T04:32:09.374Z
175
+ at 2024-01-19T07:17:39.773Z
176
176
  </div>
177
177
  <script src="../../prettify.js"></script>
178
178
  <script>
@@ -169,7 +169,7 @@ Image.defaultProps = defaultProps;
169
169
  <div class='footer quiet pad2 space-top1 center small'>
170
170
  Code coverage generated by
171
171
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
172
- at 2024-01-18T04:32:09.374Z
172
+ at 2024-01-19T07:17:39.773Z
173
173
  </div>
174
174
  <script src="../prettify.js"></script>
175
175
  <script>
@@ -103,7 +103,7 @@
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2024-01-18T04:32:09.374Z
106
+ at 2024-01-19T07:17:39.773Z
107
107
  </div>
108
108
  <script src="../prettify.js"></script>
109
109
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -82,7 +82,7 @@
82
82
  <div class='footer quiet pad2 space-top1 center small'>
83
83
  Code coverage generated by
84
84
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85
- at 2024-01-18T04:32:09.374Z
85
+ at 2024-01-19T07:17:39.773Z
86
86
  </div>
87
87
  <script src="../../prettify.js"></script>
88
88
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -112,7 +112,7 @@ export const propTypes = {
112
112
  <div class='footer quiet pad2 space-top1 center small'>
113
113
  Code coverage generated by
114
114
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at 2024-01-18T04:32:09.374Z
115
+ at 2024-01-19T07:17:39.773Z
116
116
  </div>
117
117
  <script src="../../prettify.js"></script>
118
118
  <script>
@@ -433,7 +433,7 @@ AvatarWithTeam.propTypes = propTypes;
433
433
  <div class='footer quiet pad2 space-top1 center small'>
434
434
  Code coverage generated by
435
435
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
436
- at 2024-01-18T04:32:09.374Z
436
+ at 2024-01-19T07:17:39.773Z
437
437
  </div>
438
438
  <script src="../../prettify.js"></script>
439
439
  <script>
@@ -118,7 +118,7 @@
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2024-01-18T04:32:09.374Z
121
+ at 2024-01-19T07:17:39.773Z
122
122
  </div>
123
123
  <script src="../../prettify.js"></script>
124
124
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -97,7 +97,7 @@
97
97
  <div class='footer quiet pad2 space-top1 center small'>
98
98
  Code coverage generated by
99
99
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100
- at 2024-01-18T04:32:09.374Z
100
+ at 2024-01-19T07:17:39.773Z
101
101
  </div>
102
102
  <script src="../../../prettify.js"></script>
103
103
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2024-01-18T04:32:09.374Z
119
+ at 2024-01-19T07:17:39.773Z
120
120
  </div>
121
121
  <script src="../../../prettify.js"></script>
122
122
  <script>
@@ -148,7 +148,7 @@ export const propTypes = {
148
148
  <div class='footer quiet pad2 space-top1 center small'>
149
149
  Code coverage generated by
150
150
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
151
- at 2024-01-18T04:32:09.374Z
151
+ at 2024-01-19T07:17:39.773Z
152
152
  </div>
153
153
  <script src="../../../prettify.js"></script>
154
154
  <script>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2024-01-18T04:32:09.374Z
209
+ at 2024-01-19T07:17:39.773Z
210
210
  </div>
211
211
  <script src="prettify.js"></script>
212
212
  <script>
@@ -1,5 +1,3 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
-
3
1
  import React from 'react';
4
2
  import { defaultProps } from './props/defaultProps';
5
3
  import { propTypes } from './props/propTypes';
@@ -15,7 +13,6 @@ import ResponsiveDropBox from '@zohodesk/components/lib/ResponsiveDropBox/Respon
15
13
  import { ResponsiveReceiver } from '@zohodesk/components/lib/Responsive/CustomResponsive';
16
14
  import { stopBubbling } from '../../../utils/General';
17
15
  import { scrollTo, findScrollEnd } from '@zohodesk/components/lib/utils/Common.js';
18
- import MultiSelectHeader from '@zohodesk/components/lib/MultiSelect/MultiSelectHeader';
19
16
  import style from './TagsMultiSelect.module.css';
20
17
  export default class TagsMultiSelect extends React.Component {
21
18
  constructor(props) {
@@ -143,27 +140,12 @@ export default class TagsMultiSelect extends React.Component {
143
140
  boxSize,
144
141
  onSelectTag,
145
142
  clickableTag,
146
- dataSelectorId,
147
- handleSelectAll,
148
- selectAllText,
149
- needSelectAll,
150
- customClass,
151
- customProps
143
+ dataSelectorId
152
144
  } = this.props;
153
145
  let {
154
146
  showAll
155
147
  } = this.state;
156
148
  let chipLimit = !isPopupReady ? showAll ? tagsList.length : chipNeedToShow : tagsList.length;
157
- let {
158
- tagCustomClass = '',
159
- listItemClass = '',
160
- textBoxIconWrapper = ''
161
- } = customClass;
162
- const {
163
- TextBoxIconProps = {},
164
- tagWrapperProps = {},
165
- tagProps = {}
166
- } = customProps;
167
149
  return /*#__PURE__*/React.createElement("div", {
168
150
  className: ` ${!isReadOnly ? ` ${needBorder ? style.hasBorder : ''}
169
151
  ${needBorder ? style[`borderColor_${borderColor}`] : style.borderColor_transparent} ${isPopupReady && needBorder ? style.active : ''}` : ''} ${className}`,
@@ -175,7 +157,7 @@ export default class TagsMultiSelect extends React.Component {
175
157
  alignBox: "row",
176
158
  align: "vertical",
177
159
  isCover: false,
178
- className: `${style.tagDiv} ${textBoxIconWrapper}`,
160
+ className: style.tagDiv,
179
161
  wrap: "wrap",
180
162
  eleRef: getTargetRef,
181
163
  scroll: "vertical"
@@ -183,23 +165,20 @@ export default class TagsMultiSelect extends React.Component {
183
165
  let {
184
166
  name,
185
167
  tagType,
186
- id,
187
- boxCustomProps,
188
- tagCustomProps
168
+ id
189
169
  } = tag;
190
- return index < chipLimit ? /*#__PURE__*/React.createElement(Box, _extends({
170
+ return index < chipLimit ? /*#__PURE__*/React.createElement(Box, {
191
171
  className: style.tag,
192
172
  key: index
193
- }, boxCustomProps, tagWrapperProps), /*#__PURE__*/React.createElement(Tag, _extends({
173
+ }, /*#__PURE__*/React.createElement(Tag, {
194
174
  id: id,
195
175
  text: name,
196
176
  onRemove: isReadOnly ? null : deleteTag.bind(this, name),
197
177
  closeTitle: i18nKeys.deleteText,
198
178
  palette: clickableTag ? 'defaultLink' : tagType === 'SYSTEM' ? 'primary' : 'default',
199
179
  isReadOnly: isReadOnly,
200
- onSelectTag: onSelectTag ? onSelectTag : undefined,
201
- customClass: tagCustomClass
202
- }, tagCustomProps, tagProps))) : null;
180
+ onSelectTag: onSelectTag ? onSelectTag : undefined
181
+ })) : null;
203
182
  }), tagsList.length > chipNeedToShow && !isPopupReady ? /*#__PURE__*/React.createElement(Box, {
204
183
  className: style.moreLess,
205
184
  dataId: `${dataId}_tagsMore`,
@@ -211,7 +190,7 @@ export default class TagsMultiSelect extends React.Component {
211
190
  className: style.inputWrapper
212
191
  }, /*#__PURE__*/React.createElement("span", {
213
192
  className: style.custmSpan
214
- }, name), /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
193
+ }, name), /*#__PURE__*/React.createElement(TextBoxIcon, {
215
194
  htmlId: htmlId,
216
195
  dataId: `${dataId}_tagInp`,
217
196
  value: name,
@@ -228,7 +207,7 @@ export default class TagsMultiSelect extends React.Component {
228
207
  },
229
208
  size: "xsmall",
230
209
  inputRef: this.textInputRef
231
- }, TextBoxIconProps), getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
210
+ }, getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
232
211
  query: this.responsiveFunc,
233
212
  responsiveId: "Helmet"
234
213
  }, _ref2 => {
@@ -252,12 +231,7 @@ export default class TagsMultiSelect extends React.Component {
252
231
  alignBox: "row"
253
232
  }, /*#__PURE__*/React.createElement(Box, {
254
233
  flexible: true
255
- }, needSelectAll ? /*#__PURE__*/React.createElement(MultiSelectHeader, {
256
- onSelect: handleSelectAll,
257
- selectAllText: selectAllText,
258
- suggestions: searchList,
259
- dataId: `${dataId}_selectAll`
260
- }) : null, isTagListLoading ? /*#__PURE__*/React.createElement(Container, {
234
+ }, isTagListLoading ? /*#__PURE__*/React.createElement(Container, {
261
235
  align: "both",
262
236
  className: `${tabletMode ? '' : style.viewpopNew}`
263
237
  }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, {
@@ -271,8 +245,7 @@ export default class TagsMultiSelect extends React.Component {
271
245
  }, searchList.map((item, index) => {
272
246
  let {
273
247
  name,
274
- isNew,
275
- listItemProps
248
+ isNew
276
249
  } = item;
277
250
  return /*#__PURE__*/React.createElement(React.Fragment, null, searchList.length > 1 && isNew ? /*#__PURE__*/React.createElement(DropDownSeparator, null) : null, /*#__PURE__*/React.createElement(ListItem, {
278
251
  key: index,
@@ -284,9 +257,7 @@ export default class TagsMultiSelect extends React.Component {
284
257
  needTick: true,
285
258
  highlight: selectSearchIndex === index,
286
259
  getRef: this.getSelectedItemRef,
287
- isDisabled: listDisabled,
288
- customProps: listItemProps,
289
- customClass: listItemClass
260
+ isDisabled: listDisabled
290
261
  }, isNew ? /*#__PURE__*/React.createElement(Container, {
291
262
  alignBox: "row",
292
263
  align: "vertical"
@@ -7,6 +7,5 @@ export const defaultProps = {
7
7
  dataId: '',
8
8
  boxSize: 'default',
9
9
  clickableTag: false,
10
- dataSelectorId: 'tagsMultiSelectField',
11
- customClass: {}
10
+ dataSelectorId: 'tagsMultiSelectField'
12
11
  };
@@ -40,14 +40,5 @@ export const propTypes = {
40
40
  boxSize: PropTypes.string,
41
41
  onSelectTag: PropTypes.func,
42
42
  clickableTag: PropTypes.bool,
43
- dataSelectorId: PropTypes.string,
44
- handleSelectAll: PropTypes.func,
45
- selectAllText: PropTypes.string,
46
- needSelectAll: PropTypes.bool,
47
- customClass: PropTypes.object,
48
- customProps: PropTypes.shape({
49
- TextBoxIconProps: PropTypes.object,
50
- tagWrapperProps: PropTypes.object,
51
- tagProps: PropTypes.object
52
- })
43
+ dataSelectorId: PropTypes.string
53
44
  };
@@ -8,43 +8,51 @@ import AlertIcons from '../alertIcons/AlertIcons';
8
8
  import AlertClose from '../AlertClose/AlertClose';
9
9
  import style from './GlobalNotification.module.css';
10
10
  import { Container, Box } from '@zohodesk/components/lib/Layout';
11
+ import { cancelBubblingEffect } from '@zohodesk/components/es/utils/Common';
11
12
  export default class GlobalNotification extends React.Component {
12
13
  constructor(props) {
13
14
  super(props);
15
+ this.hideMessageTimer = null;
14
16
  this.state = {
15
- hideMessage: false
17
+ shadowClose: true
16
18
  };
19
+ this.onClose = this.onClose.bind(this);
17
20
  }
18
21
 
19
- UNSAFE_componentWillReceiveProps(nextProps) {
22
+ componentDidMount() {
20
23
  let {
21
- showMessage,
22
24
  hideMessage,
23
- type
25
+ hideTime,
26
+ id,
27
+ needAutoClose
24
28
  } = this.props;
25
29
 
26
- if (showMessage !== nextProps.showMessage || type !== nextProps.type) {
27
- if (!['danger', 'error', 'warning'].includes(nextProps.type)) {
28
- setTimeout(() => {
29
- hideMessage();
30
- }, 3000);
31
- }
30
+ if (needAutoClose) {
31
+ this.hideMessageTimer = setTimeout(() => {
32
+ hideMessage(id);
33
+ }, hideTime);
32
34
  }
33
35
  }
34
36
 
35
- componentDidMount() {
36
- let {
37
- type,
38
- hideMessage
39
- } = this.props;
40
-
41
- if (!['danger', 'error', 'warning'].includes(type)) {
42
- setTimeout(() => {
43
- hideMessage();
44
- }, 3000);
37
+ componentWillUnmount() {
38
+ if (this.hideMessageTimer) {
39
+ clearTimeout(this.hideMessageTimer);
45
40
  }
46
41
  }
47
42
 
43
+ onClose(e) {
44
+ const {
45
+ onClose,
46
+ hideMessage,
47
+ id
48
+ } = this.props;
49
+ this.setState({
50
+ shadowClose: false
51
+ });
52
+ hideMessage && hideMessage(id);
53
+ onClose && onClose(e);
54
+ }
55
+
48
56
  render() {
49
57
  let {
50
58
  type,
@@ -53,8 +61,15 @@ export default class GlobalNotification extends React.Component {
53
61
  onClick,
54
62
  i18nKeys = {},
55
63
  customProps,
56
- dataSelectorId
64
+ dataSelectorId,
65
+ id,
66
+ isCollapseView,
67
+ shadowCount,
68
+ eleRef
57
69
  } = this.props;
70
+ let {
71
+ shadowClose
72
+ } = this.state;
58
73
  let {
59
74
  closeTitle = 'Close'
60
75
  } = i18nKeys;
@@ -65,7 +80,12 @@ export default class GlobalNotification extends React.Component {
65
80
  onClick: onClick,
66
81
  closeTitle: closeTitle,
67
82
  customProps: customProps,
68
- dataSelectorId: dataSelectorId
83
+ dataSelectorId: dataSelectorId,
84
+ id: id,
85
+ shadowCount: shadowCount,
86
+ onClose: this.onClose,
87
+ needShadow: shadowClose && isCollapseView,
88
+ eleRef: eleRef
69
89
  });
70
90
  }
71
91
 
@@ -81,10 +101,9 @@ GlobalNotification.defaultProps = defaultProps; // if (__DOCS__) {
81
101
  export function GlobalNotificationUI(props) {
82
102
  function onClose(e) {
83
103
  let {
84
- hideMessage,
85
104
  onClose
86
105
  } = props;
87
- hideMessage && hideMessage(e);
106
+ cancelBubblingEffect(e);
88
107
  onClose && onClose(e);
89
108
  }
90
109
 
@@ -94,13 +113,21 @@ export function GlobalNotificationUI(props) {
94
113
  onClick,
95
114
  closeTitle = '',
96
115
  customProps = {},
97
- dataSelectorId
116
+ dataSelectorId,
117
+ shadowCount,
118
+ needShadow,
119
+ eleRef
98
120
  } = props;
99
121
  let {
100
122
  ExtraProps = {}
101
123
  } = customProps;
102
124
  return /*#__PURE__*/React.createElement("div", _extends({
103
- className: `${style.message} ${type ? style[type] : ''}`,
125
+ ref: eleRef,
126
+ className: ` ${style.message}
127
+ ${needShadow ? `${shadowCount > 1 ? style.stackShadowOne : ''}
128
+ ${shadowCount > 2 ? style.stackShadowTwo : ''}` : ''}
129
+ ${type ? style[type] : ''}
130
+ `,
104
131
  "data-id": `show_${type}_message`,
105
132
  "data-test-id": `show_${type}_message`,
106
133
  tabIndex: 0,
@@ -8,22 +8,66 @@
8
8
 
9
9
  .message {
10
10
  composes: varClass;
11
- position: absolute;
11
+ /* position: relative; */
12
12
  top: 0 ;
13
- z-index: 1000;
13
+ z-index: 1;
14
+ justify-self: center;
15
+ /* overflow: hidden; */
14
16
  /*Hook for editor alert*/
15
- pointer-events: none;
17
+ /* right: 0;
16
18
  text-align: center;
19
+ left: 0;
20
+ pointer-events: none; */
21
+ }
22
+
23
+ .stackShadowOne::after,
24
+ .stackShadowTwo::before {
25
+ content: '';
26
+ position: absolute;
27
+ /* css:theme-validation:ignore */
28
+ height: var(--zd_size20) ;
29
+ }
30
+
31
+ .stackShadowOne::after, .stackShadowTwo::before {
32
+ background-color: var(--globalnotification_bg_color);
33
+ border-radius: 0 0 6px 6px;
34
+ box-shadow: 0px 4px 4px 0px var(--zdt_message_default_box_shadow);
17
35
  }
18
36
 
19
- [dir=ltr] .message {
20
- right: 0 ;
21
- left: 0 ;
37
+ [dir=ltr] .stackShadowOne::after, [dir=ltr] .stackShadowTwo::before {
38
+ left: 50% ;
39
+ right: 50% ;
40
+ transform: translate(-50%);
41
+ animation: behindInfo 0.8s forwards;
22
42
  }
23
43
 
24
- [dir=rtl] .message {
25
- left: 0 ;
26
- right: 0 ;
44
+ [dir=rtl] .stackShadowOne::after, [dir=rtl] .stackShadowTwo::before {
45
+ right: 50% ;
46
+ left: 50% ;
47
+ transform: translate(50%);
48
+ animation: behindInfo 0.8s forwards;
49
+ }
50
+
51
+ .stackShadowTwo::before {
52
+ width: 90% ;
53
+ bottom: calc( var(--zd_size10) * -1 ) ;
54
+ }
55
+
56
+ .stackShadowOne::after {
57
+ width: 95% ;
58
+ bottom: calc( var(--zd_size5) * -1 ) ;
59
+ }
60
+
61
+ @keyframes behindInfo {
62
+
63
+ 0%,
64
+ 40% {
65
+ opacity: 0;
66
+ }
67
+
68
+ 100% {
69
+ opacity: 1;
70
+ }
27
71
  }
28
72
 
29
73
  .container {
@@ -33,9 +77,10 @@
33
77
  /* css:theme-validation:ignore */
34
78
  /* css:theme-validation:ignore */
35
79
  color: var(--globalnotification_text_color);
36
- max-width: var(--zd_size490) ;
80
+ width: var(--zd_size420) ;
81
+ z-index: 1;
37
82
  composes: wbreak from '~@zohodesk/components/lib/common/common.module.css';
38
- box-shadow: var(--zd_bs_globalnotification_container);
83
+ box-shadow: 0px 4px 4px 0px var(--zdt_message_default_box_shadow);
39
84
  border-radius: 0 0 var(--zd_size10) var(--zd_size10);
40
85
  background-color: var(--globalnotification_bg_color);
41
86
  border-style: solid;
@@ -103,6 +148,8 @@
103
148
  font-family: var(--zd_semibold);
104
149
  composes: ftsmooth from '~@zohodesk/components/lib/common/common.module.css';
105
150
  line-height: 1.4286;
151
+ composes: oflow from '~@zohodesk/components/lib/common/common.module.css';
152
+ text-overflow: ellipsis;
106
153
  }
107
154
 
108
155
  [dir=ltr] .text {