@zohodesk/components 1.0.0-temp-231 → 1.0.0-temp-232

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 (66) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +11 -0
  3. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +2 -2
  4. package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +3 -0
  5. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +1 -1
  6. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +1 -1
  7. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +1 -1
  8. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +1 -1
  9. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +1 -1
  10. package/assets/Appearance/light/mode/Component_LightMode.module.css +2 -2
  11. package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +3 -0
  12. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +1 -1
  13. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +1 -1
  14. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +1 -1
  15. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +1 -1
  16. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +1 -1
  17. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +2 -2
  18. package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +3 -0
  19. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +1 -1
  20. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +1 -1
  21. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +1 -1
  22. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +1 -1
  23. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +1 -1
  24. package/es/MultiSelect/AdvancedGroupMultiSelect.js +16 -8
  25. package/es/MultiSelect/AdvancedMultiSelect.js +13 -6
  26. package/es/MultiSelect/EmptyState.js +2 -1
  27. package/es/MultiSelect/MultiSelect.js +26 -15
  28. package/es/MultiSelect/MultiSelectWithAvatar.js +9 -2
  29. package/es/MultiSelect/SelectedOptions.js +4 -2
  30. package/es/MultiSelect/Suggestions.js +10 -2
  31. package/es/MultiSelect/__tests__/MultiSelect.spec.js +25 -0
  32. package/es/MultiSelect/__tests__/Suggestions.spec.js +58 -0
  33. package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +253 -0
  34. package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +343 -0
  35. package/es/MultiSelect/constants.js +6 -0
  36. package/es/MultiSelect/props/propTypes.js +15 -55
  37. package/es/Select/SelectWithIcon.js +1 -1
  38. package/es/utils/Common.js +1 -1
  39. package/es/utils/dropDownUtils.js +25 -6
  40. package/es/v1/Label/Label.js +82 -33
  41. package/es/v1/Label/css/Label_v1.module.css +47 -0
  42. package/es/v1/Label/css/cssJSLogic.js +29 -0
  43. package/es/v1/Label/props/defaultProps.js +8 -10
  44. package/es/v1/Label/props/propTypes.js +22 -14
  45. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +94 -83
  46. package/lib/MultiSelect/AdvancedMultiSelect.js +16 -7
  47. package/lib/MultiSelect/EmptyState.js +3 -1
  48. package/lib/MultiSelect/MultiSelect.js +28 -15
  49. package/lib/MultiSelect/MultiSelectWithAvatar.js +11 -3
  50. package/lib/MultiSelect/SelectedOptions.js +4 -2
  51. package/lib/MultiSelect/Suggestions.js +10 -2
  52. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +25 -0
  53. package/lib/MultiSelect/__tests__/Suggestions.spec.js +58 -0
  54. package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +253 -0
  55. package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +343 -0
  56. package/lib/MultiSelect/constants.js +13 -0
  57. package/lib/MultiSelect/props/propTypes.js +14 -55
  58. package/lib/Select/SelectWithIcon.js +1 -1
  59. package/lib/utils/Common.js +1 -1
  60. package/lib/utils/dropDownUtils.js +24 -3
  61. package/lib/v1/Label/Label.js +90 -35
  62. package/lib/v1/Label/css/Label_v1.module.css +47 -0
  63. package/lib/v1/Label/css/cssJSLogic.js +31 -0
  64. package/lib/v1/Label/props/defaultProps.js +10 -12
  65. package/lib/v1/Label/props/propTypes.js +24 -16
  66. package/package.json +8 -12
@@ -56,11 +56,13 @@ var MultiSelect_propTypes = {
56
56
  getRef: _propTypes["default"].func,
57
57
  getTargetRef: _propTypes["default"].func,
58
58
  i18nKeys: _propTypes["default"].shape({
59
+ searchText: _propTypes["default"].string,
59
60
  clearText: _propTypes["default"].string,
60
61
  loadingText: _propTypes["default"].string,
61
62
  emptyText: _propTypes["default"].string,
62
63
  noMoreText: _propTypes["default"].string,
63
- searchEmptyText: _propTypes["default"].string
64
+ searchEmptyText: _propTypes["default"].string,
65
+ limitReachedMessage: _propTypes["default"].string
64
66
  }),
65
67
  a11y: _propTypes["default"].shape({
66
68
  clearLabel: _propTypes["default"].string
@@ -135,7 +137,8 @@ var MultiSelect_propTypes = {
135
137
  isFocus: _propTypes["default"].bool,
136
138
  allowValueFallback: _propTypes["default"].bool,
137
139
  renderCustomClearComponent: _propTypes["default"].func,
138
- renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node])
140
+ renderCustomToggleIndicator: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node]),
141
+ limit: _propTypes["default"].number
139
142
  };
140
143
  exports.MultiSelect_propTypes = MultiSelect_propTypes;
141
144
  var MultiSelectHeader_propTypes = {
@@ -176,7 +179,8 @@ var SelectedOptions_propTypes = {
176
179
  })),
177
180
  size: _propTypes["default"].oneOf(['medium', 'xmedium']),
178
181
  palette: _propTypes["default"].string,
179
- dataId: _propTypes["default"].string
182
+ dataId: _propTypes["default"].string,
183
+ limit: _propTypes["default"].number
180
184
  };
181
185
  exports.SelectedOptions_propTypes = SelectedOptions_propTypes;
182
186
  var Suggestions_propTypes = {
@@ -207,7 +211,9 @@ var Suggestions_propTypes = {
207
211
  logo: _propTypes["default"].string,
208
212
  optionType: _propTypes["default"].string,
209
213
  listItemProps: _propTypes["default"].object
210
- }))
214
+ })),
215
+ limit: _propTypes["default"].number,
216
+ limitReachedMessage: _propTypes["default"].string
211
217
  };
212
218
  exports.Suggestions_propTypes = Suggestions_propTypes;
213
219
  var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
@@ -226,7 +232,8 @@ var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
226
232
  loadingText: _propTypes["default"].string,
227
233
  emptyText: _propTypes["default"].string,
228
234
  noMoreText: _propTypes["default"].string,
229
- searchEmptyText: _propTypes["default"].string
235
+ searchEmptyText: _propTypes["default"].string,
236
+ limitReachedMessage: _propTypes["default"].string
230
237
  }),
231
238
  a11y: _propTypes["default"].shape({
232
239
  clearLabel: _propTypes["default"].string
@@ -278,7 +285,7 @@ var AdvancedGroupMultiSelect_propTypes = (_AdvancedGroupMultiSe = {
278
285
  needToCloseOnSelect: _propTypes["default"].func,
279
286
  searchStr: _propTypes["default"].string,
280
287
  children: _propTypes["default"].node
281
- }, _defineProperty(_AdvancedGroupMultiSe, "dataSelectorId", _propTypes["default"].string), _defineProperty(_AdvancedGroupMultiSe, "isFocus", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "allowValueFallback", _propTypes["default"].bool), _AdvancedGroupMultiSe);
288
+ }, _defineProperty(_AdvancedGroupMultiSe, "dataSelectorId", _propTypes["default"].string), _defineProperty(_AdvancedGroupMultiSe, "isFocus", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "allowValueFallback", _propTypes["default"].bool), _defineProperty(_AdvancedGroupMultiSe, "limit", _propTypes["default"].number), _AdvancedGroupMultiSe);
282
289
  exports.AdvancedGroupMultiSelect_propTypes = AdvancedGroupMultiSelect_propTypes;
283
290
 
284
291
  var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_propTypes), {}, {
@@ -293,70 +300,22 @@ var AdvancedMultiSelect_propTypes = _objectSpread(_objectSpread({}, MultiSelect_
293
300
  selectedOptions: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])).isRequired,
294
301
  selectedOptionsLimit: _propTypes["default"].number,
295
302
  getSelectedOptionDetails: _propTypes["default"].func,
296
- emptyMessage: _propTypes["default"].string.isRequired,
297
- isDisabled: _propTypes["default"].bool,
298
- isReadOnly: _propTypes["default"].bool,
299
- needLocalSearch: _propTypes["default"].bool,
300
- needSelectAll: _propTypes["default"].bool,
301
- onChange: _propTypes["default"].func.isRequired,
302
- searchEmptyMessage: _propTypes["default"].string,
303
- placeHolder: _propTypes["default"].string,
304
- selectAllText: _propTypes["default"].string,
305
- textField: _propTypes["default"].string,
306
- valueField: _propTypes["default"].string,
307
303
  imageField: _propTypes["default"].string,
308
304
  iconName: _propTypes["default"].string,
309
305
  prefixText: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
310
306
  //For grouping multiSelect
311
307
  optionType: _propTypes["default"].oneOf(['default', 'avatar', 'icon']),
312
- needEffect: _propTypes["default"].bool,
313
308
  secondaryField: _propTypes["default"].string,
314
- animationStyle: _propTypes["default"].string,
315
- defaultDropBoxPosition: _propTypes["default"].oneOf(['bottom', 'top', 'left', 'right']),
316
- dropBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
317
- isAnimate: _propTypes["default"].bool,
318
- size: _propTypes["default"].oneOf(['medium', 'xmedium']),
319
- textBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'xmedium']),
320
- title: _propTypes["default"].string,
321
- variant: _propTypes["default"].string,
322
309
  dataIdClearIcon: _propTypes["default"].string,
323
310
  dataIdLoading: _propTypes["default"].string,
324
311
  dataIdMultiSelectComp: _propTypes["default"].string,
325
312
  dataIdSelectAllEle: _propTypes["default"].string,
326
-
327
- /**** Popup Props ****/
328
- isPopupOpen: _propTypes["default"].bool,
329
- isPopupReady: _propTypes["default"].bool,
330
- togglePopup: _propTypes["default"].func,
331
- getContainerRef: _propTypes["default"].func,
332
- position: _propTypes["default"].string,
333
- removeClose: _propTypes["default"].func,
334
313
  listItemSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
335
- needBorder: _propTypes["default"].bool,
336
- htmlId: _propTypes["default"].string,
337
- i18nKeys: _propTypes["default"].shape({
338
- clearText: _propTypes["default"].string,
339
- loadingText: _propTypes["default"].string,
340
- emptyText: _propTypes["default"].string,
341
- noMoreText: _propTypes["default"].string,
342
- searchEmptyText: _propTypes["default"].string
343
- }),
344
- a11y: _propTypes["default"].shape({
345
- clearLabel: _propTypes["default"].string
346
- }),
347
- borderColor: _propTypes["default"].oneOf(['transparent', 'default', 'dark']),
348
- isBoxPaddingNeed: _propTypes["default"].bool,
349
- isSearchClearOnSelect: _propTypes["default"].bool,
350
- disabledOptions: _propTypes["default"].arrayOf(_propTypes["default"].string),
351
- getFooter: _propTypes["default"].func,
352
314
  customProps: _propTypes["default"].shape({
353
315
  SuggestionsProps: _propTypes["default"].object,
354
316
  DropBoxProps: _propTypes["default"].object
355
317
  }),
356
- isLoading: _propTypes["default"].bool,
357
- dataSelectorId: _propTypes["default"].string,
358
- customClass: _propTypes["default"].object,
359
- isFocus: _propTypes["default"].bool
318
+ customClass: _propTypes["default"].object
360
319
  });
361
320
 
362
321
  exports.AdvancedMultiSelect_propTypes = AdvancedMultiSelect_propTypes;
@@ -261,7 +261,7 @@ var SelectWithIcon = /*#__PURE__*/function (_Component) {
261
261
 
262
262
  if (options.length) {
263
263
  datas = options.filter(function (obj) {
264
- return obj[valueKey].toLowerCase().includes(searchValue.toLowerCase());
264
+ return obj[valueKey].toLowerCase().includes(searchValue.toLowerCase().trim());
265
265
  });
266
266
  }
267
267
 
@@ -475,7 +475,7 @@ function getElementSpace(elementRef) {
475
475
 
476
476
  function getSearchString() {
477
477
  var charachers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
478
- return (charachers || '').toString().toLowerCase(); //.replace(/\s+/g, '');
478
+ return (charachers || '').toString().toLowerCase().trim(); //.replace(/\s+/g, '');
479
479
  }
480
480
 
481
481
  function findScrollEnd(element) {
@@ -52,6 +52,10 @@ var getOptionsOrder = function getOptionsOrder(props) {
52
52
  return props.optionsOrder || dummyArray;
53
53
  };
54
54
 
55
+ var getLimit = function getLimit(props) {
56
+ return props.limit || 0;
57
+ };
58
+
55
59
  var getSelectedOptionsSel = function getSelectedOptionsSel(props) {
56
60
  return props.selectedOptions || dummyArray;
57
61
  };
@@ -339,7 +343,7 @@ var makeFormatOptions = function makeFormatOptions() {
339
343
  exports.makeFormatOptions = makeFormatOptions;
340
344
 
341
345
  var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptions() {
342
- return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback) {
346
+ return (0, _reselect.createSelector)([getSelectedOptionsSel, getNormalizedFormatOptions, getSelectedOptionsLength, getAllowValueFallback, getLimit], function (selectedOptions, normalizedFormatOptions, selectedOptionsLength, allowValueFallback, limit) {
343
347
  var output = [];
344
348
  var revampSelectedOptions = [];
345
349
  var normalizedSelectedOptions = {};
@@ -367,6 +371,12 @@ var makeGetMultiSelectSelectedOptions = function makeGetMultiSelectSelectedOptio
367
371
  }
368
372
  }
369
373
 
374
+ if (limit && limit > 0) {
375
+ output = output.slice(0, limit);
376
+ revampSelectedOptions = revampSelectedOptions.slice(0, limit);
377
+ normalizedSelectedOptions = Object.fromEntries(Object.entries(normalizedSelectedOptions).slice(0, limit));
378
+ }
379
+
370
380
  return {
371
381
  formatSelectedOptions: output,
372
382
  normalizedSelectedOptions: normalizedSelectedOptions,
@@ -593,7 +603,8 @@ var filterSelectedOptions = function filterSelectedOptions() {
593
603
  _ref4$propSelectedOpt = _ref4.propSelectedOptions,
594
604
  propSelectedOptions = _ref4$propSelectedOpt === void 0 ? dummyArray : _ref4$propSelectedOpt,
595
605
  _ref4$disabledOptions = _ref4.disabledOptions,
596
- disabledOptions = _ref4$disabledOptions === void 0 ? dummyArray : _ref4$disabledOptions;
606
+ disabledOptions = _ref4$disabledOptions === void 0 ? dummyArray : _ref4$disabledOptions,
607
+ limit = _ref4.limit;
597
608
 
598
609
  // eslint-disable-next-line no-param-reassign
599
610
  selectedOptions = selectedOptions || dummyArray; // eslint-disable-next-line no-param-reassign
@@ -617,8 +628,18 @@ var filterSelectedOptions = function filterSelectedOptions() {
617
628
 
618
629
  return true;
619
630
  });
631
+ var totalSelectedOptions = [].concat(_toConsumableArray(oldValidSelectedOptions), _toConsumableArray(newlyAddedOptions));
632
+
633
+ if (limit && limit > 0) {
634
+ if (totalSelectedOptions.length > limit) {
635
+ return {
636
+ newSelectedOptions: totalSelectedOptions.slice(0, limit)
637
+ };
638
+ }
639
+ }
640
+
620
641
  return {
621
- newSelectedOptions: [].concat(_toConsumableArray(oldValidSelectedOptions), _toConsumableArray(newlyAddedOptions))
642
+ newSelectedOptions: totalSelectedOptions
622
643
  };
623
644
  };
624
645
 
@@ -1,51 +1,106 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports["default"] = Label;
8
+ exports["default"] = void 0;
7
9
 
8
- var _react = _interopRequireDefault(require("react"));
10
+ var _react = _interopRequireWildcard(require("react"));
9
11
 
10
- var _defaultProps = require("./props/defaultProps");
12
+ var _defaultProps = _interopRequireDefault(require("./props/defaultProps"));
11
13
 
12
14
  var _propTypes = require("./props/propTypes");
13
15
 
14
- var _LabelModule = _interopRequireDefault(require("../../Label/Label.module.css"));
16
+ var _cssJSLogic2 = _interopRequireDefault(require("./css/cssJSLogic"));
17
+
18
+ var _utils = require("@zohodesk/utils");
19
+
20
+ var _ComponentRegistry = require("@zohodesk/dotkit/es/react/ComponentRegistry");
21
+
22
+ var _Flex = _interopRequireDefault(require("@zohodesk/layout/es/Flex/Flex"));
15
23
 
16
- var _LabelColorsModule = _interopRequireDefault(require("../../Label/LabelColors.module.css"));
24
+ var _Typography = _interopRequireDefault(require("../../Typography/Typography"));
25
+
26
+ var _Label_v1Module = _interopRequireDefault(require("./css/Label_v1.module.css"));
17
27
 
18
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
29
 
20
- function Label(props) {
21
- var text = props.text,
22
- type = props.type,
23
- palette = props.palette,
24
- size = props.size,
25
- clipped = props.clipped,
26
- htmlFor = props.htmlFor,
27
- title = props.title,
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
+
34
+ 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); }
35
+
36
+ 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; }
37
+
38
+ 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(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; }
39
+
40
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+
42
+ var Label = function Label(props) {
43
+ var htmlFor = props.htmlFor,
28
44
  onClick = props.onClick,
29
- dataId = props.dataId,
30
- dataSelectorId = props.dataSelectorId,
31
- variant = props.variant,
32
- customClass = props.customClass,
33
- id = props.id,
34
- _props$a11y = props.a11y,
35
- a11y = _props$a11y === void 0 ? {} : _props$a11y;
36
- var tabIndex = a11y.tabIndex;
37
- return /*#__PURE__*/_react["default"].createElement("label", {
38
- className: "".concat(_LabelModule["default"].label, " ").concat(_LabelModule["default"][type], " ").concat(_LabelModule["default"][size], " ").concat(_LabelColorsModule["default"][palette], " ").concat(_LabelModule["default"]["font_".concat(variant)], "\n ").concat(clipped ? _LabelModule["default"].dotted : '', " ").concat(onClick ? _LabelModule["default"].pointer : _LabelModule["default"].cursor, " ").concat(customClass, " "),
39
- htmlFor: htmlFor,
40
- "data-title": title,
41
- "data-id": dataId,
42
- "data-test-id": dataId,
43
- "data-selector-id": dataSelectorId,
44
- onClick: onClick,
45
- id: id,
46
- tabIndex: tabIndex
47
- }, text);
48
- }
49
-
50
- Label.defaultProps = _defaultProps.defaultProps;
45
+ text = props.text,
46
+ customId = props.customId,
47
+ testId = props.testId,
48
+ customStyle = props.customStyle,
49
+ tagAttributes = props.tagAttributes,
50
+ a11yAttributes = props.a11yAttributes,
51
+ customProps = props.customProps,
52
+ isRequired = props.isRequired,
53
+ isInlineField = props.isInlineField,
54
+ requiredType = props.requiredType,
55
+ shouldHighlightRequired = props.shouldHighlightRequired;
56
+ var tagAttributes_container = tagAttributes.container,
57
+ tagAttributes_label = tagAttributes.label;
58
+ var a11yAttributes_container = a11yAttributes.container,
59
+ a11yAttributes_label = a11yAttributes.label;
60
+ var customProps_container = customProps.container,
61
+ customProps_label = customProps.label;
62
+ var style = (0, _utils.mergeStyle)(_Label_v1Module["default"], customStyle);
63
+
64
+ var _cssJSLogic = (0, _cssJSLogic2["default"])({
65
+ props: _objectSpread(_objectSpread({}, props), {}, {
66
+ requiredType: requiredType,
67
+ shouldHighlightRequired: shouldHighlightRequired,
68
+ isRequired: isRequired,
69
+ isInlineField: isInlineField
70
+ }),
71
+ style: style
72
+ }),
73
+ labelClass = _cssJSLogic.labelClass,
74
+ requiredClass = _cssJSLogic.requiredClass;
75
+
76
+ return /*#__PURE__*/_react["default"].createElement(_Flex["default"], _extends({
77
+ $ui_displayMode: "inline",
78
+ $ui_alignItems: "center",
79
+ $tagAttributes_container: _objectSpread({
80
+ 'data-selector-id': customId
81
+ }, tagAttributes_container),
82
+ $a11yAttributes_container: a11yAttributes_container,
83
+ testId: testId,
84
+ customId: customId
85
+ }, customProps_container), /*#__PURE__*/_react["default"].createElement(_Typography["default"], _extends({
86
+ $ui_tagName: "label",
87
+ $ui_className: labelClass,
88
+ $i18n_dataTitle: text,
89
+ $tagAttributes_text: _objectSpread({
90
+ htmlFor: htmlFor,
91
+ onClick: onClick
92
+ }, tagAttributes_label),
93
+ $a11yAttributes_text: a11yAttributes_label
94
+ }, customProps_label), text), isRequired && requiredType === 'text' ? /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
95
+ $ui_tagName: "span",
96
+ $ui_className: requiredClass
97
+ }, "(Required)") : '');
98
+ };
99
+
100
+ var _default = (0, _ComponentRegistry.withComponentRegistrar)(Label, {
101
+ name: 'ZDC_Label'
102
+ });
103
+
104
+ exports["default"] = _default;
105
+ Label.defaultProps = _defaultProps["default"];
51
106
  Label.propTypes = _propTypes.propTypes;
@@ -0,0 +1,47 @@
1
+ .label {
2
+ font-size: var(--zd_font_size14) ;
3
+ color: var(--zdt_v1_label_text);
4
+ cursor: pointer;
5
+ }
6
+
7
+ .dotted {
8
+ composes: dotted from '../../../common/common.module.css';
9
+ }
10
+
11
+ .required {
12
+ color: var(--zdt_v1_label_mandatory_text);
13
+ }
14
+
15
+ .asterisk:after {
16
+ content: "*";
17
+ color: var(--zdt_v1_label_mandatory_text);
18
+ }
19
+
20
+ [dir=ltr] .asterisk:after {
21
+ padding-left: var(--zd_size2) ;
22
+ }
23
+
24
+ [dir=rtl] .asterisk:after {
25
+ padding-right: var(--zd_size2) ;
26
+ }
27
+
28
+ .requiredTxt {
29
+ color: var(--zdt_v1_label_mandatory_text);
30
+ font-size: var(--zd_font_size14) ;
31
+ }
32
+
33
+ [dir=ltr] .requiredTxt {
34
+ margin-left: var(--zd_size5) ;
35
+ }
36
+
37
+ [dir=rtl] .requiredTxt {
38
+ margin-right: var(--zd_size5) ;
39
+ }
40
+
41
+ [dir=ltr] .inlineField {
42
+ margin-left: var(--zd_size5) ;
43
+ }
44
+
45
+ [dir=rtl] .inlineField {
46
+ margin-right: var(--zd_size5) ;
47
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = cssJSLogic;
7
+
8
+ var _compileClassNames3 = _interopRequireDefault(require("@zohodesk/utils/es/compileClassNames"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
+
12
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
+
14
+ function cssJSLogic(_ref) {
15
+ var _compileClassNames;
16
+
17
+ var props = _ref.props,
18
+ style = _ref.style;
19
+ var clipped = props.clipped,
20
+ requiredType = props.requiredType,
21
+ shouldHighlightRequired = props.shouldHighlightRequired,
22
+ isRequired = props.isRequired,
23
+ isInlineField = props.isInlineField; // const shouldHighlightMandatory = localStorage?.getItem('mandatoryAppearance') === 'true';
24
+
25
+ var labelClass = (0, _compileClassNames3["default"])((_compileClassNames = {}, _defineProperty(_compileClassNames, style.label, true), _defineProperty(_compileClassNames, style.dotted, clipped), _defineProperty(_compileClassNames, style.asterisk, isRequired && requiredType === 'asterisk'), _defineProperty(_compileClassNames, style.required, isRequired && shouldHighlightRequired), _defineProperty(_compileClassNames, style.inlineField, isInlineField), _compileClassNames));
26
+ var requiredClass = (0, _compileClassNames3["default"])(_defineProperty({}, style.requiredTxt, true));
27
+ return {
28
+ labelClass: labelClass,
29
+ requiredClass: requiredClass
30
+ };
31
+ }
@@ -3,16 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.defaultProps = void 0;
7
- var defaultProps = {
8
- clipped: false,
9
- dataId: 'label',
10
- palette: 'default',
11
- size: 'medium',
12
- text: 'Label',
13
- type: 'title',
14
- variant: 'default',
15
- customClass: '',
16
- dataSelectorId: 'label'
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ customProps: {},
9
+ tagAttributes: {},
10
+ a11yAttributes: {},
11
+ customStyle: {},
12
+ shouldHighlightRequired: false,
13
+ isInlineField: false // clipped: true
14
+
17
15
  };
18
- exports.defaultProps = defaultProps;
16
+ exports["default"] = _default;
@@ -3,28 +3,36 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.propTypes = void 0;
6
+ exports["default"] = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
11
 
12
- var propTypes = {
13
- clipped: _propTypes["default"].bool,
14
- dataId: _propTypes["default"].string,
15
- dataSelectorId: _propTypes["default"].string,
12
+ var _default = {
16
13
  htmlFor: _propTypes["default"].string,
17
- onClick: _propTypes["default"].func,
18
- palette: _propTypes["default"].oneOf(['default', 'primary', 'secondary', 'danger', 'mandatory', 'disable', 'dark']),
19
- size: _propTypes["default"].oneOf(['xsmall', 'small', 'medium', 'large']),
20
14
  text: _propTypes["default"].string,
21
- title: _propTypes["default"].string,
22
- type: _propTypes["default"].oneOf(['title', 'subtitle']),
23
- variant: _propTypes["default"].oneOf(['primary', 'default']),
24
- customClass: _propTypes["default"].string,
25
- a11y: _propTypes["default"].shape({
26
- tabIndex: _propTypes["default"].string
15
+ onClick: _propTypes["default"].func,
16
+ // tabIndex: PropTypes.number,
17
+ a11yAttributes: _propTypes["default"].shape({
18
+ container: _propTypes["default"].object,
19
+ label: _propTypes["default"].object
20
+ }),
21
+ tagAttributes: _propTypes["default"].shape({
22
+ container: _propTypes["default"].object,
23
+ label: _propTypes["default"].object
24
+ }),
25
+ customProps: _propTypes["default"].shape({
26
+ container: _propTypes["default"].object,
27
+ label: _propTypes["default"].object
27
28
  }),
28
- id: _propTypes["default"].string
29
+ customId: _propTypes["default"].string,
30
+ testId: _propTypes["default"].string,
31
+ customStyle: _propTypes["default"].object,
32
+ requiredType: _propTypes["default"].oneOf(['asterisk', 'text']),
33
+ shouldHighlightRequired: _propTypes["default"].bool,
34
+ // clipped: PropTypes.bool,
35
+ isRequired: _propTypes["default"].bool,
36
+ isInlineField: _propTypes["default"].bool
29
37
  };
30
- exports.propTypes = propTypes;
38
+ exports["default"] = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-temp-231",
3
+ "version": "1.0.0-temp-232",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -48,7 +48,7 @@
48
48
  "snap-update": "npm run test-clean && npm run test -- -u",
49
49
  "sstest": "npm run init && react-cli sstest",
50
50
  "build:external": "npm run clean && npm run init && npm run docsjs:build && npm run build:externalDocCopy && react-cli build:component:umd && npm run externalDocHTMLChange",
51
- "download": "react-cli clean ./node_modules ./package-lock.json && npm install --legacy-peer-deps && cd ../ && npm run download",
51
+ "download": "react-cli clean ./node_modules ./package-lock.json && npm install && cd ../ && npm run download",
52
52
  "expublish": "npm publish --tag experimental-version",
53
53
  "css:lineheight:validate": "node ./node_modules/@zohodesk-private/node-plugins/es/lineheight_automation/lineHeightErrorCheck.js ./src/",
54
54
  "cssVariableConvert": "react-cli variableConverter ./lib ./lib && react-cli variableConverter ./es ./es",
@@ -77,21 +77,21 @@
77
77
  "@zohodesk-private/css-variable-migrator": "1.0.9",
78
78
  "@zohodesk-private/node-plugins": "1.1.13",
79
79
  "@zohodesk-private/react-prop-validator": "1.2.3",
80
- "@zohodesk/a11y": "2.3.6",
80
+ "@zohodesk/a11y": "2.3.7",
81
81
  "@zohodesk/docstool": "1.0.0-alpha-2",
82
82
  "@zohodesk/dotkit": "1.0.3",
83
83
  "@zohodesk/hooks": "2.0.5",
84
84
  "@zohodesk/icons": "1.1.0",
85
85
  "@zohodesk/layout": "3.1.0",
86
- "@zohodesk/svg": "1.2.1",
86
+ "@zohodesk/svg": "1.2.2",
87
87
  "@zohodesk/utils": "1.3.14",
88
88
  "@zohodesk/variables": "1.1.0",
89
89
  "@zohodesk/virtualizer": "1.0.3",
90
90
  "react-sortable-hoc": "^0.8.3",
91
- "velocity-react": "1.4.3"
91
+ "velocity-react": "1.4.3",
92
+ "@zohodesk/react-cli": "1.1.27"
92
93
  },
93
94
  "dependencies": {
94
- "@zohodesk/react-cli": "^1.1.27",
95
95
  "hoist-non-react-statics": "3.0.1",
96
96
  "react-transition-group": "2.5.0",
97
97
  "reselect": "4.0.0",
@@ -100,18 +100,14 @@
100
100
  "peerDependencies": {
101
101
  "@zohodesk/icons": "1.1.0",
102
102
  "@zohodesk/variables": "1.1.0",
103
- "@zohodesk/svg": "1.2.1",
103
+ "@zohodesk/svg": "1.2.2",
104
104
  "@zohodesk/virtualizer": "1.0.3",
105
105
  "velocity-react": "1.4.3",
106
106
  "react-sortable-hoc": "^0.8.3",
107
107
  "@zohodesk/hooks": "2.0.5",
108
108
  "@zohodesk/utils": "1.3.14",
109
- "@zohodesk/a11y": "2.3.6",
109
+ "@zohodesk/a11y": "2.3.7",
110
110
  "@zohodesk/layout": "3.1.0",
111
111
  "@zohodesk/dotkit": "1.0.3"
112
- },
113
- "volta": {
114
- "node": "16.16.0",
115
- "npm": "6.14.18"
116
112
  }
117
113
  }