@zohodesk/dot 1.4.5 → 1.4.6

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 (35) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +4 -0
  3. package/coverage/ExternalLink/ExternalLink.js.html +1 -1
  4. package/coverage/ExternalLink/ExternalLink.module.css.html +1 -1
  5. package/coverage/ExternalLink/index.html +1 -1
  6. package/coverage/ExternalLink/props/defaultProps.js.html +1 -1
  7. package/coverage/ExternalLink/props/index.html +1 -1
  8. package/coverage/ExternalLink/props/propTypes.js.html +1 -1
  9. package/coverage/IconButton/IconButton.js.html +1 -1
  10. package/coverage/IconButton/IconButton.module.css.html +1 -1
  11. package/coverage/IconButton/index.html +1 -1
  12. package/coverage/IconButton/props/defaultProps.js.html +1 -1
  13. package/coverage/IconButton/props/index.html +1 -1
  14. package/coverage/IconButton/props/propTypes.js.html +1 -1
  15. package/coverage/Image/Image.js.html +1 -1
  16. package/coverage/Image/Image.module.css.html +1 -1
  17. package/coverage/Image/index.html +1 -1
  18. package/coverage/Image/props/defaultProps.js.html +1 -1
  19. package/coverage/Image/props/index.html +1 -1
  20. package/coverage/Image/props/propTypes.js.html +1 -1
  21. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.js.html +1 -1
  22. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.module.css.html +1 -1
  23. package/coverage/avatar/AvatarWithTeam/index.html +1 -1
  24. package/coverage/avatar/AvatarWithTeam/props/defaultProps.js.html +1 -1
  25. package/coverage/avatar/AvatarWithTeam/props/index.html +1 -1
  26. package/coverage/avatar/AvatarWithTeam/props/propTypes.js.html +1 -1
  27. package/coverage/index.html +1 -1
  28. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +41 -12
  29. package/es/form/fields/TagsMultiSelect/props/defaultProps.js +4 -1
  30. package/es/form/fields/TagsMultiSelect/props/propTypes.js +10 -1
  31. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +44 -12
  32. package/lib/form/fields/TagsMultiSelect/props/defaultProps.js +4 -1
  33. package/lib/form/fields/TagsMultiSelect/props/propTypes.js +10 -1
  34. package/package.json +1 -1
  35. package/result.json +1 -1
package/README.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  In this Library, we Provide Some Basic Components to Build Your Application
4
4
 
5
+ # 1.4.6
6
+
7
+ - **TagsMultiSelect** - handleSelectAll, needSelectAll, selectAllText, customClass, customProps props supported
8
+
5
9
  # 1.4.5
6
10
 
7
11
  - **Lookup** - isFlexWrapper default prop value changed - isFlexWrapper prop renamed to isMinHeight
@@ -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-22T10:27:15.404Z
217
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
82
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
88
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
112
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
454
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
142
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
124
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
175
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
172
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
106
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
85
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
115
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
436
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
121
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
100
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
119
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
151
+ at 2024-02-01T09:03:57.975Z
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-22T10:27:15.404Z
209
+ at 2024-02-01T09:03:57.975Z
210
210
  </div>
211
211
  <script src="prettify.js"></script>
212
212
  <script>
@@ -1,3 +1,5 @@
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
+
1
3
  import React from 'react';
2
4
  import { defaultProps } from './props/defaultProps';
3
5
  import { propTypes } from './props/propTypes';
@@ -13,6 +15,7 @@ import ResponsiveDropBox from '@zohodesk/components/lib/ResponsiveDropBox/Respon
13
15
  import { ResponsiveReceiver } from '@zohodesk/components/lib/Responsive/CustomResponsive';
14
16
  import { stopBubbling } from '../../../utils/General';
15
17
  import { scrollTo, findScrollEnd } from '@zohodesk/components/lib/utils/Common.js';
18
+ import MultiSelectHeader from '@zohodesk/components/lib/MultiSelect/MultiSelectHeader';
16
19
  import style from './TagsMultiSelect.module.css';
17
20
  export default class TagsMultiSelect extends React.Component {
18
21
  constructor(props) {
@@ -140,12 +143,27 @@ export default class TagsMultiSelect extends React.Component {
140
143
  boxSize,
141
144
  onSelectTag,
142
145
  clickableTag,
143
- dataSelectorId
146
+ dataSelectorId,
147
+ handleSelectAll,
148
+ selectAllText,
149
+ needSelectAll,
150
+ customClass,
151
+ customProps
144
152
  } = this.props;
145
153
  let {
146
154
  showAll
147
155
  } = this.state;
148
156
  let chipLimit = !isPopupReady ? showAll ? tagsList.length : chipNeedToShow : tagsList.length;
157
+ let {
158
+ tagCustomClass = '',
159
+ listItemClass = '',
160
+ textBoxIconWrapperClass = ''
161
+ } = customClass;
162
+ const {
163
+ TextBoxIconProps = {},
164
+ TagWrapperProps = {},
165
+ TagProps = {}
166
+ } = customProps;
149
167
  return /*#__PURE__*/React.createElement("div", {
150
168
  className: ` ${!isReadOnly ? ` ${needBorder ? style.hasBorder : ''}
151
169
  ${needBorder ? style[`borderColor_${borderColor}`] : style.borderColor_transparent} ${isPopupReady && needBorder ? style.active : ''}` : ''} ${className}`,
@@ -157,7 +175,7 @@ export default class TagsMultiSelect extends React.Component {
157
175
  alignBox: "row",
158
176
  align: "vertical",
159
177
  isCover: false,
160
- className: style.tagDiv,
178
+ className: `${style.tagDiv} ${textBoxIconWrapperClass}`,
161
179
  wrap: "wrap",
162
180
  eleRef: getTargetRef,
163
181
  scroll: "vertical"
@@ -165,20 +183,23 @@ export default class TagsMultiSelect extends React.Component {
165
183
  let {
166
184
  name,
167
185
  tagType,
168
- id
186
+ id,
187
+ boxCustomProps,
188
+ tagCustomProps
169
189
  } = tag;
170
- return index < chipLimit ? /*#__PURE__*/React.createElement(Box, {
190
+ return index < chipLimit ? /*#__PURE__*/React.createElement(Box, _extends({
171
191
  className: style.tag,
172
192
  key: index
173
- }, /*#__PURE__*/React.createElement(Tag, {
193
+ }, boxCustomProps, TagWrapperProps), /*#__PURE__*/React.createElement(Tag, _extends({
174
194
  id: id,
175
195
  text: name,
176
196
  onRemove: isReadOnly ? null : deleteTag.bind(this, name),
177
197
  closeTitle: i18nKeys.deleteText,
178
198
  palette: clickableTag ? 'defaultLink' : tagType === 'SYSTEM' ? 'primary' : 'default',
179
199
  isReadOnly: isReadOnly,
180
- onSelectTag: onSelectTag ? onSelectTag : undefined
181
- })) : null;
200
+ onSelectTag: onSelectTag ? onSelectTag : undefined,
201
+ customClass: tagCustomClass
202
+ }, tagCustomProps, TagProps))) : null;
182
203
  }), tagsList.length > chipNeedToShow && !isPopupReady ? /*#__PURE__*/React.createElement(Box, {
183
204
  className: style.moreLess,
184
205
  dataId: `${dataId}_tagsMore`,
@@ -190,7 +211,7 @@ export default class TagsMultiSelect extends React.Component {
190
211
  className: style.inputWrapper
191
212
  }, /*#__PURE__*/React.createElement("span", {
192
213
  className: style.custmSpan
193
- }, name), /*#__PURE__*/React.createElement(TextBoxIcon, {
214
+ }, name), /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
194
215
  htmlId: htmlId,
195
216
  dataId: `${dataId}_tagInp`,
196
217
  value: name,
@@ -207,7 +228,7 @@ export default class TagsMultiSelect extends React.Component {
207
228
  },
208
229
  size: "xsmall",
209
230
  inputRef: this.textInputRef
210
- }, getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
231
+ }, TextBoxIconProps), getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
211
232
  query: this.responsiveFunc,
212
233
  responsiveId: "Helmet"
213
234
  }, _ref2 => {
@@ -231,7 +252,12 @@ export default class TagsMultiSelect extends React.Component {
231
252
  alignBox: "row"
232
253
  }, /*#__PURE__*/React.createElement(Box, {
233
254
  flexible: true
234
- }, isTagListLoading ? /*#__PURE__*/React.createElement(Container, {
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, {
235
261
  align: "both",
236
262
  className: `${tabletMode ? '' : style.viewpopNew}`
237
263
  }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, {
@@ -245,7 +271,8 @@ export default class TagsMultiSelect extends React.Component {
245
271
  }, searchList.map((item, index) => {
246
272
  let {
247
273
  name,
248
- isNew
274
+ isNew,
275
+ listItemProps
249
276
  } = item;
250
277
  return /*#__PURE__*/React.createElement(React.Fragment, null, searchList.length > 1 && isNew ? /*#__PURE__*/React.createElement(DropDownSeparator, null) : null, /*#__PURE__*/React.createElement(ListItem, {
251
278
  key: index,
@@ -257,7 +284,9 @@ export default class TagsMultiSelect extends React.Component {
257
284
  needTick: true,
258
285
  highlight: selectSearchIndex === index,
259
286
  getRef: this.getSelectedItemRef,
260
- isDisabled: listDisabled
287
+ isDisabled: listDisabled,
288
+ customProps: listItemProps,
289
+ customClass: listItemClass
261
290
  }, isNew ? /*#__PURE__*/React.createElement(Container, {
262
291
  alignBox: "row",
263
292
  align: "vertical"
@@ -7,5 +7,8 @@ export const defaultProps = {
7
7
  dataId: '',
8
8
  boxSize: 'default',
9
9
  clickableTag: false,
10
- dataSelectorId: 'tagsMultiSelectField'
10
+ dataSelectorId: 'tagsMultiSelectField',
11
+ needSelectAll: false,
12
+ customClass: {},
13
+ customProps: {}
11
14
  };
@@ -40,5 +40,14 @@ export const propTypes = {
40
40
  boxSize: PropTypes.string,
41
41
  onSelectTag: PropTypes.func,
42
42
  clickableTag: PropTypes.bool,
43
- dataSelectorId: PropTypes.string
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
+ })
44
53
  };
@@ -37,10 +37,14 @@ var _General = require("../../../utils/General");
37
37
 
38
38
  var _Common = require("@zohodesk/components/lib/utils/Common.js");
39
39
 
40
+ var _MultiSelectHeader = _interopRequireDefault(require("@zohodesk/components/lib/MultiSelect/MultiSelectHeader"));
41
+
40
42
  var _TagsMultiSelectModule = _interopRequireDefault(require("./TagsMultiSelect.module.css"));
41
43
 
42
44
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43
45
 
46
+ 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); }
47
+
44
48
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
45
49
 
46
50
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
@@ -200,9 +204,26 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
200
204
  boxSize = _this$props3.boxSize,
201
205
  onSelectTag = _this$props3.onSelectTag,
202
206
  clickableTag = _this$props3.clickableTag,
203
- dataSelectorId = _this$props3.dataSelectorId;
207
+ dataSelectorId = _this$props3.dataSelectorId,
208
+ handleSelectAll = _this$props3.handleSelectAll,
209
+ selectAllText = _this$props3.selectAllText,
210
+ needSelectAll = _this$props3.needSelectAll,
211
+ customClass = _this$props3.customClass,
212
+ customProps = _this$props3.customProps;
204
213
  var showAll = this.state.showAll;
205
214
  var chipLimit = !isPopupReady ? showAll ? tagsList.length : chipNeedToShow : tagsList.length;
215
+ var _customClass$tagCusto = customClass.tagCustomClass,
216
+ tagCustomClass = _customClass$tagCusto === void 0 ? '' : _customClass$tagCusto,
217
+ _customClass$listItem = customClass.listItemClass,
218
+ listItemClass = _customClass$listItem === void 0 ? '' : _customClass$listItem,
219
+ _customClass$textBoxI = customClass.textBoxIconWrapperClass,
220
+ textBoxIconWrapperClass = _customClass$textBoxI === void 0 ? '' : _customClass$textBoxI;
221
+ var _customProps$TextBoxI = customProps.TextBoxIconProps,
222
+ TextBoxIconProps = _customProps$TextBoxI === void 0 ? {} : _customProps$TextBoxI,
223
+ _customProps$TagWrapp = customProps.TagWrapperProps,
224
+ TagWrapperProps = _customProps$TagWrapp === void 0 ? {} : _customProps$TagWrapp,
225
+ _customProps$TagProps = customProps.TagProps,
226
+ TagProps = _customProps$TagProps === void 0 ? {} : _customProps$TagProps;
206
227
  return /*#__PURE__*/_react["default"].createElement("div", {
207
228
  className: " ".concat(!isReadOnly ? " ".concat(needBorder ? _TagsMultiSelectModule["default"].hasBorder : '', "\n ").concat(needBorder ? _TagsMultiSelectModule["default"]["borderColor_".concat(borderColor)] : _TagsMultiSelectModule["default"].borderColor_transparent, " ").concat(isPopupReady && needBorder ? _TagsMultiSelectModule["default"].active : '') : '', " ").concat(className),
208
229
  onClick: _General.stopBubbling,
@@ -213,26 +234,29 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
213
234
  alignBox: "row",
214
235
  align: "vertical",
215
236
  isCover: false,
216
- className: _TagsMultiSelectModule["default"].tagDiv,
237
+ className: "".concat(_TagsMultiSelectModule["default"].tagDiv, " ").concat(textBoxIconWrapperClass),
217
238
  wrap: "wrap",
218
239
  eleRef: getTargetRef,
219
240
  scroll: "vertical"
220
241
  }, tagsList.length ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, tagsList.map(function (tag, index) {
221
242
  var name = tag.name,
222
243
  tagType = tag.tagType,
223
- id = tag.id;
224
- return index < chipLimit ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
244
+ id = tag.id,
245
+ boxCustomProps = tag.boxCustomProps,
246
+ tagCustomProps = tag.tagCustomProps;
247
+ return index < chipLimit ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, _extends({
225
248
  className: _TagsMultiSelectModule["default"].tag,
226
249
  key: index
227
- }, /*#__PURE__*/_react["default"].createElement(_Tag["default"], {
250
+ }, boxCustomProps, TagWrapperProps), /*#__PURE__*/_react["default"].createElement(_Tag["default"], _extends({
228
251
  id: id,
229
252
  text: name,
230
253
  onRemove: isReadOnly ? null : deleteTag.bind(_this3, name),
231
254
  closeTitle: i18nKeys.deleteText,
232
255
  palette: clickableTag ? 'defaultLink' : tagType === 'SYSTEM' ? 'primary' : 'default',
233
256
  isReadOnly: isReadOnly,
234
- onSelectTag: onSelectTag ? onSelectTag : undefined
235
- })) : null;
257
+ onSelectTag: onSelectTag ? onSelectTag : undefined,
258
+ customClass: tagCustomClass
259
+ }, tagCustomProps, TagProps))) : null;
236
260
  }), tagsList.length > chipNeedToShow && !isPopupReady ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
237
261
  className: _TagsMultiSelectModule["default"].moreLess,
238
262
  dataId: "".concat(dataId, "_tagsMore"),
@@ -244,7 +268,7 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
244
268
  className: _TagsMultiSelectModule["default"].inputWrapper
245
269
  }, /*#__PURE__*/_react["default"].createElement("span", {
246
270
  className: _TagsMultiSelectModule["default"].custmSpan
247
- }, name), /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
271
+ }, name), /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], _extends({
248
272
  htmlId: htmlId,
249
273
  dataId: "".concat(dataId, "_tagInp"),
250
274
  value: name,
@@ -261,7 +285,7 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
261
285
  },
262
286
  size: "xsmall",
263
287
  inputRef: this.textInputRef
264
- }, getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
288
+ }, TextBoxIconProps), getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
265
289
  query: this.responsiveFunc,
266
290
  responsiveId: "Helmet"
267
291
  }, function (_ref2) {
@@ -283,7 +307,12 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
283
307
  alignBox: "row"
284
308
  }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
285
309
  flexible: true
286
- }, isTagListLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
310
+ }, needSelectAll ? /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
311
+ onSelect: handleSelectAll,
312
+ selectAllText: selectAllText,
313
+ suggestions: searchList,
314
+ dataId: "".concat(dataId, "_selectAll")
315
+ }) : null, isTagListLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
287
316
  align: "both",
288
317
  className: "".concat(tabletMode ? '' : _TagsMultiSelectModule["default"].viewpopNew)
289
318
  }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
@@ -296,7 +325,8 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
296
325
  shrink: true
297
326
  }, searchList.map(function (item, index) {
298
327
  var name = item.name,
299
- isNew = item.isNew;
328
+ isNew = item.isNew,
329
+ listItemProps = item.listItemProps;
300
330
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, searchList.length > 1 && isNew ? /*#__PURE__*/_react["default"].createElement(_DropDownSeparator["default"], null) : null, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
301
331
  key: index,
302
332
  index: index,
@@ -307,7 +337,9 @@ var TagsMultiSelect = /*#__PURE__*/function (_React$Component) {
307
337
  needTick: true,
308
338
  highlight: selectSearchIndex === index,
309
339
  getRef: _this3.getSelectedItemRef,
310
- isDisabled: listDisabled
340
+ isDisabled: listDisabled,
341
+ customProps: listItemProps,
342
+ customClass: listItemClass
311
343
  }, isNew ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
312
344
  alignBox: "row",
313
345
  align: "vertical"
@@ -13,6 +13,9 @@ var defaultProps = {
13
13
  dataId: '',
14
14
  boxSize: 'default',
15
15
  clickableTag: false,
16
- dataSelectorId: 'tagsMultiSelectField'
16
+ dataSelectorId: 'tagsMultiSelectField',
17
+ needSelectAll: false,
18
+ customClass: {},
19
+ customProps: {}
17
20
  };
18
21
  exports.defaultProps = defaultProps;
@@ -50,6 +50,15 @@ var propTypes = {
50
50
  boxSize: _propTypes["default"].string,
51
51
  onSelectTag: _propTypes["default"].func,
52
52
  clickableTag: _propTypes["default"].bool,
53
- dataSelectorId: _propTypes["default"].string
53
+ dataSelectorId: _propTypes["default"].string,
54
+ handleSelectAll: _propTypes["default"].func,
55
+ selectAllText: _propTypes["default"].string,
56
+ needSelectAll: _propTypes["default"].bool,
57
+ customClass: _propTypes["default"].object,
58
+ customProps: _propTypes["default"].shape({
59
+ TextBoxIconProps: _propTypes["default"].object,
60
+ TagWrapperProps: _propTypes["default"].object,
61
+ TagProps: _propTypes["default"].object
62
+ })
54
63
  };
55
64
  exports.propTypes = propTypes;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/dot",
3
- "version": "1.4.5",
3
+ "version": "1.4.6",
4
4
  "main": "lib/index",
5
5
  "module": "es/index.js",
6
6
  "private": false,