@zohodesk/components 1.0.0-temp-199.5 → 1.0.0-temp-215

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 (112) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +19 -0
  3. package/es/CheckBox/CheckBox.js +6 -5
  4. package/es/CheckBox/CheckBox.module.css +5 -2
  5. package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +64 -64
  6. package/es/DateTime/DateTime.js +8 -4
  7. package/es/DateTime/DateWidget.js +8 -1
  8. package/es/DateTime/props/propTypes.js +5 -0
  9. package/es/DropBox/DropBoxElement/DropBoxElement.js +1 -0
  10. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +53 -48
  11. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +4 -4
  12. package/es/ListItem/ListItem.js +2 -2
  13. package/es/ListItem/ListItem.module.css +18 -85
  14. package/es/ListItem/ListItemWithAvatar.js +3 -3
  15. package/es/ListItem/ListItemWithIcon.js +2 -2
  16. package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2 -2
  17. package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +1 -1
  18. package/es/MultiSelect/AdvancedGroupMultiSelect.js +4 -7
  19. package/es/MultiSelect/AdvancedMultiSelect.js +5 -4
  20. package/es/MultiSelect/MultiSelect.js +6 -9
  21. package/es/MultiSelect/Suggestions.js +4 -8
  22. package/es/MultiSelect/props/defaultProps.js +4 -6
  23. package/es/MultiSelect/props/propTypes.js +7 -7
  24. package/es/Popup/Popup.js +173 -35
  25. package/es/Popup/intersectionObserver.js +33 -23
  26. package/es/Popup/props/propTypes.js +1 -1
  27. package/es/Radio/Radio.js +9 -7
  28. package/es/Radio/Radio.module.css +1 -1
  29. package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +77 -77
  30. package/es/Select/GroupSelect.js +9 -7
  31. package/es/Select/SelectWithAvatar.js +2 -7
  32. package/es/Select/SelectWithIcon.js +2 -4
  33. package/es/Select/props/defaultProps.js +1 -2
  34. package/es/Select/props/propTypes.js +5 -3
  35. package/es/Textarea/Textarea.js +4 -2
  36. package/es/Textarea/Textarea.module.css +1 -1
  37. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +41 -41
  38. package/es/Textarea/props/propTypes.js +2 -1
  39. package/es/Typography/Typography.js +38 -0
  40. package/es/Typography/css/Typography.module.css +489 -0
  41. package/es/Typography/css/cssJSLogic.js +56 -0
  42. package/es/Typography/props/defaultProps.js +8 -0
  43. package/es/Typography/props/propTypes.js +27 -0
  44. package/es/Typography/utils/index.js +50 -0
  45. package/es/index.js +1 -1
  46. package/es/v1/MultiSelect/AdvancedMultiSelect.js +1 -2
  47. package/es/v1/MultiSelect/MultiSelect.js +2 -7
  48. package/es/v1/MultiSelect/Suggestions.js +4 -8
  49. package/es/v1/MultiSelect/props/defaultProps.js +2 -4
  50. package/es/v1/MultiSelect/props/propTypes.js +2 -6
  51. package/es/v1/Select/GroupSelect.js +2 -7
  52. package/es/v1/Select/SelectWithAvatar.js +2 -7
  53. package/es/v1/Select/props/defaultProps.js +2 -4
  54. package/es/v1/Select/props/propTypes.js +2 -6
  55. package/es/v1/Typography/Typography.js +1 -1
  56. package/lib/CheckBox/CheckBox.js +5 -4
  57. package/lib/CheckBox/CheckBox.module.css +5 -2
  58. package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +64 -64
  59. package/lib/DateTime/DateTime.js +11 -5
  60. package/lib/DateTime/DateWidget.js +8 -1
  61. package/lib/DateTime/props/propTypes.js +5 -0
  62. package/lib/DropBox/DropBoxElement/DropBoxElement.js +1 -0
  63. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +53 -48
  64. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +2 -2
  65. package/lib/ListItem/ListItem.js +2 -2
  66. package/lib/ListItem/ListItem.module.css +18 -85
  67. package/lib/ListItem/ListItemWithAvatar.js +3 -3
  68. package/lib/ListItem/ListItemWithIcon.js +2 -2
  69. package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +2 -2
  70. package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +1 -1
  71. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +5 -7
  72. package/lib/MultiSelect/AdvancedMultiSelect.js +5 -5
  73. package/lib/MultiSelect/MultiSelect.js +7 -8
  74. package/lib/MultiSelect/Suggestions.js +4 -8
  75. package/lib/MultiSelect/props/defaultProps.js +4 -6
  76. package/lib/MultiSelect/props/propTypes.js +7 -7
  77. package/lib/Popup/Popup.js +212 -74
  78. package/lib/Popup/intersectionObserver.js +35 -25
  79. package/lib/Popup/props/propTypes.js +1 -1
  80. package/lib/Radio/Radio.js +10 -7
  81. package/lib/Radio/Radio.module.css +1 -1
  82. package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +77 -77
  83. package/lib/Select/GroupSelect.js +10 -8
  84. package/lib/Select/SelectWithAvatar.js +3 -8
  85. package/lib/Select/SelectWithIcon.js +3 -5
  86. package/lib/Select/props/defaultProps.js +1 -2
  87. package/lib/Select/props/propTypes.js +5 -3
  88. package/lib/Textarea/Textarea.js +4 -2
  89. package/lib/Textarea/Textarea.module.css +1 -1
  90. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +41 -41
  91. package/lib/Textarea/props/propTypes.js +2 -1
  92. package/lib/Typography/Typography.js +56 -0
  93. package/lib/Typography/css/Typography.module.css +489 -0
  94. package/lib/Typography/css/cssJSLogic.js +48 -0
  95. package/lib/Typography/props/defaultProps.js +15 -0
  96. package/lib/Typography/props/propTypes.js +38 -0
  97. package/lib/Typography/utils/index.js +59 -0
  98. package/lib/index.js +1 -1
  99. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +1 -3
  100. package/lib/v1/MultiSelect/MultiSelect.js +3 -8
  101. package/lib/v1/MultiSelect/Suggestions.js +4 -8
  102. package/lib/v1/MultiSelect/props/defaultProps.js +2 -4
  103. package/lib/v1/MultiSelect/props/propTypes.js +2 -6
  104. package/lib/v1/Select/GroupSelect.js +3 -8
  105. package/lib/v1/Select/SelectWithAvatar.js +3 -8
  106. package/lib/v1/Select/props/defaultProps.js +2 -4
  107. package/lib/v1/Select/props/propTypes.js +2 -6
  108. package/lib/v1/Typography/Typography.js +2 -2
  109. package/package.json +4 -4
  110. package/result.json +1 -1
  111. /package/es/v1/Typography/css/{Typography.module.css → v1_Typography.module.css} +0 -0
  112. /package/lib/v1/Typography/css/{Typography.module.css → v1_Typography.module.css} +0 -0
@@ -22,41 +22,51 @@ var observerCallbacks = null;
22
22
  var intersectionObserver = null;
23
23
 
24
24
  function handleObserverCallbacks(entries) {
25
- entries.map(function (entry, i) {
25
+ entries.forEach(function (entry) {
26
26
  var oldCallbacks = observerCallbacks.get(entry.target);
27
- oldCallbacks.length && oldCallbacks.forEach(function (callback) {
28
- callback && callback(entry);
29
- });
27
+
28
+ if (Array.isArray(oldCallbacks) && oldCallbacks.length) {
29
+ oldCallbacks.forEach(function (callback) {
30
+ callback && callback(entry);
31
+ });
32
+ }
30
33
  });
31
34
  }
32
35
 
33
36
  function addIntersectionObserver(element, callback, options) {
34
- if (intersectionObserver === null && observerCallbacks === null) {
35
- intersectionObserver = new IntersectionObserver(function (entries) {
36
- handleObserverCallbacks(entries);
37
- }, options);
38
- observerCallbacks = new Map();
39
- }
37
+ if (!!element && typeof callback == 'function') {
38
+ if (intersectionObserver === null && observerCallbacks === null) {
39
+ intersectionObserver = new IntersectionObserver(function (entries) {
40
+ handleObserverCallbacks(entries);
41
+ }, options);
42
+ observerCallbacks = new Map();
43
+ }
40
44
 
41
- intersectionObserver.observe(element);
42
- var oldCallbacks = observerCallbacks.get(element) || [];
43
- observerCallbacks.set(element, [].concat(_toConsumableArray(oldCallbacks), [callback]));
45
+ intersectionObserver.observe(element);
46
+ var oldCallbacks = observerCallbacks.get(element) || [];
47
+ observerCallbacks.set(element, [].concat(_toConsumableArray(oldCallbacks), [callback]));
48
+ }
44
49
  }
45
50
 
46
51
  function removeIntersectionObserver(element, callback) {
47
- var oldCallbacks = observerCallbacks ? observerCallbacks.get(element) : [];
48
- oldCallbacks = oldCallbacks.filter(function (handler) {
49
- return handler !== callback;
50
- });
52
+ if (!!element && typeof callback == 'function') {
53
+ var oldCallbacks = observerCallbacks ? observerCallbacks.get(element) : null;
51
54
 
52
- if (intersectionObserver && oldCallbacks.length === 0) {
53
- observerCallbacks["delete"](element);
54
- intersectionObserver.unobserve(element);
55
- }
55
+ if (Array.isArray(oldCallbacks)) {
56
+ var callbacks = oldCallbacks.filter(function (handler) {
57
+ return handler !== callback;
58
+ });
59
+
60
+ if (intersectionObserver && callbacks.length === 0) {
61
+ observerCallbacks["delete"](element);
62
+ intersectionObserver.unobserve(element);
63
+ }
64
+ }
56
65
 
57
- if (intersectionObserver && observerCallbacks && observerCallbacks.size === 0) {
58
- intersectionObserver.disconnect();
59
- intersectionObserver = null;
60
- observerCallbacks = null;
66
+ if (intersectionObserver && observerCallbacks && observerCallbacks.size === 0) {
67
+ intersectionObserver.disconnect();
68
+ intersectionObserver = null;
69
+ observerCallbacks = null;
70
+ }
61
71
  }
62
72
  }
@@ -24,7 +24,7 @@ var PopupPropTypes = {
24
24
  isArrow: _propTypes["default"].bool,
25
25
  isPopupOpen: _propTypes["default"].bool,
26
26
  closeOnScroll: _propTypes["default"].bool,
27
- isOutsideScrollBlocked: _propTypes["default"].bool,
27
+ fixedPopupScrollBehavior: _propTypes["default"].oneOf(['scroll', 'block', 'none']),
28
28
  needResizeHandling: _propTypes["default"].bool,
29
29
  isAbsolutePositioningNeeded: _propTypes["default"].bool,
30
30
  scrollDebounceTime: _propTypes["default"].number,
@@ -17,6 +17,8 @@ var _Label = _interopRequireDefault(require("../Label/Label"));
17
17
 
18
18
  var _Layout = require("../Layout");
19
19
 
20
+ var _CssProvider = _interopRequireDefault(require("../Provider/CssProvider"));
21
+
20
22
  var _RadioModule = _interopRequireDefault(require("./Radio.module.css"));
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -106,8 +108,9 @@ var Radio = /*#__PURE__*/function (_React$Component) {
106
108
  customRadio = _customClass$customRa2 === void 0 ? '' : _customClass$customRa2,
107
109
  _customClass$customLa = customClass.customLabel,
108
110
  customLabel = _customClass$customLa === void 0 ? '' : _customClass$customLa;
109
- var accessMode = isReadOnly ? _RadioModule["default"].readonly : disabled ? _RadioModule["default"].disabled : _RadioModule["default"].pointer;
111
+ var accessMode = isReadOnly ? _RadioModule["default"].readonly : disabled ? (0, _CssProvider["default"])('isDisabled') : _RadioModule["default"].pointer;
110
112
  var toolTip = disabled ? disabledTitle : title ? title : null;
113
+ var isEditable = !(isReadOnly || disabled);
111
114
  var ariaHidden = a11y.ariaHidden,
112
115
  _a11y$role = a11y.role,
113
116
  role = _a11y$role === void 0 ? 'radio' : _a11y$role,
@@ -117,7 +120,7 @@ var Radio = /*#__PURE__*/function (_React$Component) {
117
120
  ariaLabel = a11y.ariaLabel,
118
121
  ariaLabelledby = a11y.ariaLabelledby,
119
122
  _a11y$ariaReadonly = a11y.ariaReadonly,
120
- ariaReadonly = _a11y$ariaReadonly === void 0 ? isReadOnly || disabled ? true : false : _a11y$ariaReadonly;
123
+ ariaReadonly = _a11y$ariaReadonly === void 0 ? !isEditable ? true : false : _a11y$ariaReadonly;
121
124
  var _customProps$Containe = customProps.ContainerProps,
122
125
  ContainerProps = _customProps$Containe === void 0 ? {} : _customProps$Containe,
123
126
  _customProps$LabelPro = customProps.LabelProps,
@@ -128,11 +131,11 @@ var Radio = /*#__PURE__*/function (_React$Component) {
128
131
  isInline: text ? false : true,
129
132
  alignBox: "row",
130
133
  align: "both",
131
- className: "".concat(_RadioModule["default"].container, " ").concat(active && !disabled ? _RadioModule["default"].active : '', " ").concat(accessMode, " ").concat(isReadOnly || disabled ? '' : _RadioModule["default"].hoverEfffect, " ").concat(checked ? _RadioModule["default"].checked : '', " ").concat(customRadioWrap),
134
+ className: "".concat(_RadioModule["default"].container, " ").concat(active && !disabled ? _RadioModule["default"].active : '', " ").concat(accessMode, " ").concat(!isEditable ? '' : _RadioModule["default"].hoverEfffect, " ").concat(checked ? _RadioModule["default"].checked : '', " ").concat(customRadioWrap),
132
135
  "data-title": toolTip,
133
136
  onClick: !isReadOnly && !disabled ? this.onChange : '',
134
137
  "aria-checked": ariaChecked,
135
- tabindex: isReadOnly || disabled || ariaHidden ? '-1' : tabIndex || '0',
138
+ tabindex: !isEditable || ariaHidden ? '-1' : tabIndex || '0',
136
139
  eleRef: this.handleGetRef,
137
140
  role: role,
138
141
  "aria-Hidden": ariaHidden,
@@ -140,7 +143,7 @@ var Radio = /*#__PURE__*/function (_React$Component) {
140
143
  "aria-labelledby": ariaLabelledby,
141
144
  "aria-readonly": ariaReadonly
142
145
  }, ContainerProps), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
143
- className: "".concat(_RadioModule["default"].radio, " ").concat(checked ? "".concat(_RadioModule["default"]["rdBox".concat(palette)]) : '', " \n ").concat(isReadOnly || disabled ? '' : "".concat(_RadioModule["default"]["hover".concat(palette)]), " ").concat(_RadioModule["default"][size], " ").concat(isFilled ? _RadioModule["default"].filled : '', " ").concat(_RadioModule["default"]["centerPath".concat(palette)], " ").concat(customRadio)
146
+ className: "".concat(_RadioModule["default"].radio, " ").concat(checked ? "".concat(_RadioModule["default"]["rdBox".concat(palette)]) : '', " \n ").concat(!isEditable ? '' : "".concat(_RadioModule["default"]["hover".concat(palette)]), " ").concat(_RadioModule["default"][size], " ").concat(isFilled ? _RadioModule["default"].filled : '', " ").concat(_RadioModule["default"]["centerPath".concat(palette)], " ").concat(customRadio, " ").concat(!isEditable ? "".concat(_RadioModule["default"].disabled) : '')
144
147
  }, /*#__PURE__*/_react["default"].createElement("input", {
145
148
  type: "hidden",
146
149
  id: id,
@@ -163,7 +166,7 @@ var Radio = /*#__PURE__*/function (_React$Component) {
163
166
  className: "".concat(_RadioModule["default"].centerPath)
164
167
  }) : null))), text && /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
165
168
  flexible: true,
166
- className: _RadioModule["default"].text
169
+ className: "".concat(_RadioModule["default"].text, " ").concat(disabled ? "".concat(_RadioModule["default"].disabled) : '')
167
170
  }, /*#__PURE__*/_react["default"].createElement(_Label["default"], _extends({
168
171
  text: text,
169
172
  palette: labelPalette,
@@ -173,7 +176,7 @@ var Radio = /*#__PURE__*/function (_React$Component) {
173
176
  dataId: "".concat(text, "_label"),
174
177
  variant: variant,
175
178
  title: toolTip ? toolTip : text,
176
- customClass: "".concat(checked && active ? "".concat(_RadioModule["default"]["".concat(palette, "checkedActive")]) : '', " \n ").concat(_RadioModule["default"]["".concat(palette, "Label")], " ").concat(accessMode, " ").concat(customLabel)
179
+ customClass: "".concat(checked && active ? "".concat(_RadioModule["default"]["".concat(palette, "checkedActive")]) : '', " \n ").concat(_RadioModule["default"]["".concat(palette, "Label")], " ").concat(isEditable ? _RadioModule["default"].pointer : '', " ").concat(isReadOnly ? _RadioModule["default"].readonly : '', " ").concat(customLabel)
177
180
  }, LabelProps))), children, renderRightPlaceholderNode ? renderRightPlaceholderNode : null);
178
181
  }
179
182
  }]);
@@ -19,7 +19,7 @@
19
19
  cursor: pointer;
20
20
  }
21
21
  .readonly, .disabled {
22
- cursor: not-allowed;
22
+ cursor: default;
23
23
  }
24
24
  .disabled {
25
25
  opacity: 0.7