@zohodesk/components 1.0.0-alpha-235 → 1.0.0-alpha-238

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 (83) hide show
  1. package/README.md +18 -0
  2. package/assets/Appearance/dark/mode/darkMode.module.css +1 -1
  3. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +1 -1
  4. package/assets/Appearance/default/mode/defaultMode.module.css +1 -1
  5. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +1 -1
  6. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +358 -0
  7. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +34 -0
  8. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +42 -0
  9. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +34 -0
  10. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +42 -0
  11. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +34 -0
  12. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +42 -0
  13. package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +34 -0
  14. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +42 -0
  15. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +34 -0
  16. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +42 -0
  17. package/es/AppContainer/AppContainer.js +6 -1
  18. package/es/Avatar/Avatar.module.css +11 -9
  19. package/es/AvatarTeam/AvatarTeam.module.css +21 -7
  20. package/es/Button/Button.module.css +97 -24
  21. package/es/Buttongroup/Buttongroup.module.css +37 -8
  22. package/es/CheckBox/CheckBox.js +2 -1
  23. package/es/CheckBox/CheckBox.module.css +17 -11
  24. package/es/DateTime/DateTime.module.css +39 -12
  25. package/es/DateTime/DateWidget.module.css +9 -5
  26. package/es/DateTime/YearView.module.css +16 -6
  27. package/es/DropBox/DropBox.module.css +47 -11
  28. package/es/DropDown/DropDownHeading.module.css +7 -3
  29. package/es/DropDown/DropDownItem.module.css +32 -6
  30. package/es/ListItem/ListItem.module.css +58 -26
  31. package/es/MultiSelect/AdvancedGroupMultiSelect.js +6 -3
  32. package/es/MultiSelect/AdvancedMultiSelect.module.css +22 -8
  33. package/es/MultiSelect/MultiSelect.js +6 -2
  34. package/es/MultiSelect/MultiSelect.module.css +27 -10
  35. package/es/MultiSelect/SelectedOptions.module.css +8 -2
  36. package/es/PopOver/PopOver.module.css +1 -1
  37. package/es/Provider/Config.js +2 -2
  38. package/es/Provider.js +72 -35
  39. package/es/Radio/Radio.module.css +10 -4
  40. package/es/Responsive/Responsive.js +1 -0
  41. package/es/Ribbon/Ribbon.module.css +93 -28
  42. package/es/RippleEffect/RippleEffect.module.css +15 -44
  43. package/es/Select/Select.js +8 -4
  44. package/es/Select/Select.module.css +12 -2
  45. package/es/Select/SelectWithIcon.js +1 -0
  46. package/es/Stencils/Stencils.module.css +21 -3
  47. package/es/Switch/Switch.module.css +6 -7
  48. package/es/Tab/Tab.module.css +16 -7
  49. package/es/Tab/Tabs.module.css +41 -8
  50. package/es/Tag/Tag.module.css +36 -14
  51. package/es/TextBox/TextBox.module.css +7 -11
  52. package/es/TextBoxIcon/TextBoxIcon.module.css +12 -5
  53. package/es/Textarea/Textarea.module.css +6 -7
  54. package/es/Tooltip/Tooltip.js +40 -2
  55. package/es/Tooltip/Tooltip.module.css +9 -8
  56. package/es/beta/FocusRing/FocusRing.module.css +51 -26
  57. package/es/common/animation.module.css +219 -21
  58. package/es/common/basicReset.module.css +2 -12
  59. package/es/common/common.module.css +62 -18
  60. package/es/common/customscroll.module.css +17 -21
  61. package/es/common/docStyle.module.css +83 -32
  62. package/es/common/transition.module.css +50 -10
  63. package/es/semantic/Button/semanticButton.module.css +3 -3
  64. package/lib/AppContainer/AppContainer.js +8 -1
  65. package/lib/CheckBox/CheckBox.js +2 -1
  66. package/lib/DropBox/DropBox.js +1 -1
  67. package/lib/ListItem/ListContainer.js +7 -4
  68. package/lib/ListItem/ListItem.js +1 -1
  69. package/lib/ListItem/ListItem.module.css +6 -11
  70. package/lib/ListItem/ListItemWithAvatar.js +1 -1
  71. package/lib/ListItem/ListItemWithCheckBox.js +1 -1
  72. package/lib/ListItem/ListItemWithIcon.js +1 -1
  73. package/lib/ListItem/ListItemWithRadio.js +1 -1
  74. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +7 -3
  75. package/lib/MultiSelect/MultiSelect.js +7 -6
  76. package/lib/Provider/Config.js +3 -1
  77. package/lib/Provider.js +88 -37
  78. package/lib/Select/GroupSelect.js +1 -1
  79. package/lib/Select/Select.js +9 -4
  80. package/lib/Tooltip/Tooltip.js +60 -8
  81. package/lib/Tooltip/Tooltip.module.css +6 -1
  82. package/lib/common/docStyle.module.css +6 -2
  83. package/package.json +7 -6
@@ -41,6 +41,8 @@ var _Common = require("../utils/Common.js");
41
41
 
42
42
  var _dropDownUtils = require("../utils/dropDownUtils");
43
43
 
44
+ var _Config = require("../Provider/Config");
45
+
44
46
  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); }
45
47
 
46
48
  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; }
@@ -512,10 +514,6 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
512
514
  }
513
515
  } else if (keyCode === 27) {// this.handlePopupClose(e);
514
516
  } else if (keyCode === 9) {
515
- var _selectedOption = suggestions[hoverOption] || {};
516
-
517
- var _id = _selectedOption.id;
518
- isPopupOpen && !(0, _Common.getIsEmptyValue)(_id) && this.handleSelectOption(_id, e);
519
517
  this.handlePopupClose(e);
520
518
  }
521
519
  }
@@ -946,7 +944,8 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
946
944
  getFooter = _this$props13.getFooter,
947
945
  needEffect = _this$props13.needEffect,
948
946
  disabledOptions = _this$props13.disabledOptions,
949
- boxSize = _this$props13.boxSize;
947
+ boxSize = _this$props13.boxSize,
948
+ autoComplete = _this$props13.autoComplete;
950
949
  var _i18nKeys = i18nKeys,
951
950
  _i18nKeys$clearText = _i18nKeys.clearText,
952
951
  clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText,
@@ -1035,7 +1034,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1035
1034
  ariaRequired: true,
1036
1035
  ariaDescribedby: ariaErrorId
1037
1036
  },
1038
- autoComplete: false
1037
+ autoComplete: autoComplete
1039
1038
  }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1040
1039
  alignBox: "row",
1041
1040
  align: "vertical"
@@ -1114,6 +1113,7 @@ var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
1114
1113
  exports.MultiSelectComponent = MultiSelectComponent;
1115
1114
  MultiSelectComponent.propTypes = {
1116
1115
  animationStyle: _propTypes["default"].string,
1116
+ autoComplete: _propTypes["default"].bool,
1117
1117
  borderColor: _propTypes["default"].oneOf(['transparent', 'default', 'dark']),
1118
1118
  closePopupOnly: _propTypes["default"].func,
1119
1119
  dataId: _propTypes["default"].string,
@@ -1193,6 +1193,7 @@ MultiSelectComponent.propTypes = {
1193
1193
  };
1194
1194
  MultiSelectComponent.defaultProps = {
1195
1195
  animationStyle: 'bounce',
1196
+ autoComplete: (0, _Config.getLibraryConfig)('autoComplete'),
1196
1197
  dataId: 'multiSelect',
1197
1198
  dropBoxSize: 'small',
1198
1199
  isAnimate: true,
@@ -13,7 +13,9 @@ var id = {
13
13
  scrollFetchLimit: 80,
14
14
  isReducedMotion: false,
15
15
  direction: 'ltr',
16
- tooltipDebounce: 175
16
+ tooltipDebounce: 175,
17
+ getTooltipContainer: function getTooltipContainer() {},
18
+ autoComplete: false
17
19
  };
18
20
 
19
21
  function getLibraryConfig(key) {
package/lib/Provider.js CHANGED
@@ -13,8 +13,6 @@ var _AppContainer = _interopRequireDefault(require("./AppContainer/AppContainer"
13
13
 
14
14
  var _Layout = require("./Layout");
15
15
 
16
- var _Switch = _interopRequireDefault(require("./Switch/Switch"));
17
-
18
16
  require("../assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css");
19
17
 
20
18
  require("../assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css");
@@ -59,6 +57,28 @@ require("../assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module
59
57
 
60
58
  require("../assets/Appearance/dark/mode/darkMode.module.css");
61
59
 
60
+ require("../assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css");
61
+
62
+ require("../assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css");
63
+
64
+ require("../assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css");
65
+
66
+ require("../assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css");
67
+
68
+ require("../assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css");
69
+
70
+ require("../assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css");
71
+
72
+ require("../assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css");
73
+
74
+ require("../assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css");
75
+
76
+ require("../assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css");
77
+
78
+ require("../assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css");
79
+
80
+ require("../assets/Appearance/pureDark/mode/pureDarkMode.module.css");
81
+
62
82
  var _LibraryContextInit = _interopRequireDefault(require("./Provider/LibraryContextInit"));
63
83
 
64
84
  var _IdProvider = require("./Provider/IdProvider");
@@ -101,25 +121,16 @@ var Provider = /*#__PURE__*/function (_React$Component) {
101
121
  appearanceName: 'default',
102
122
  themeName: 'blue'
103
123
  };
104
- _this.switchMode = _this.switchMode.bind(_assertThisInitialized(_this));
105
124
  _this.setTheme = _this.setTheme.bind(_assertThisInitialized(_this));
106
125
  return _this;
107
126
  }
108
127
 
109
128
  _createClass(Provider, [{
110
- key: "switchMode",
111
- value: function switchMode() {
112
- var appearanceName = this.state.appearanceName;
113
-
114
- if (appearanceName == 'default') {
115
- this.setState({
116
- appearanceName: 'dark'
117
- });
118
- } else {
119
- this.setState({
120
- appearanceName: 'default'
121
- });
122
- }
129
+ key: "setAppearance",
130
+ value: function setAppearance(mode) {
131
+ this.setState({
132
+ appearanceName: mode
133
+ });
123
134
  }
124
135
  }, {
125
136
  key: "setTheme",
@@ -158,6 +169,29 @@ var Provider = /*#__PURE__*/function (_React$Component) {
158
169
  var yellow = {
159
170
  backgroundColor: '#e8b923'
160
171
  };
172
+ var light = {
173
+ backgroundColor: '#fff'
174
+ };
175
+ var night = {
176
+ backgroundColor: '#232b38'
177
+ };
178
+ var dark = {
179
+ backgroundColor: '#212121'
180
+ };
181
+ var fixedPosition = {
182
+ position: 'fixed',
183
+ bottom: '0',
184
+ backgroundColor: '#272727',
185
+ padding: '10px',
186
+ borderRadius: '15px 15px 0 0',
187
+ minWidth: '100px',
188
+ textAlign: 'center',
189
+ boxShadow: '0 0 3px #000',
190
+ fontSize: '12px',
191
+ zIndex: '3',
192
+ display: 'flex',
193
+ alignItems: 'center'
194
+ };
161
195
  return /*#__PURE__*/_react["default"].createElement(_LibraryContextInit["default"].Provider, {
162
196
  value: {
163
197
  isReducedMotion: false,
@@ -173,29 +207,46 @@ var Provider = /*#__PURE__*/function (_React$Component) {
173
207
  }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
174
208
  scroll: "vertical"
175
209
  }, this.props.children), /*#__PURE__*/_react["default"].createElement("div", {
210
+ style: Object.assign({}, fixedPosition, {
211
+ left: '20%',
212
+ transform: 'translate(-20%)'
213
+ })
214
+ }, /*#__PURE__*/_react["default"].createElement("div", {
215
+ style: {
216
+ color: '#fff'
217
+ }
218
+ }, "Appearance:"), /*#__PURE__*/_react["default"].createElement("div", {
219
+ style: {
220
+ display: 'flex'
221
+ }
222
+ }, /*#__PURE__*/_react["default"].createElement("span", {
223
+ title: "Light Mode",
224
+ style: Object.assign({}, themeClass, light),
225
+ onClick: function onClick() {
226
+ return _this2.setAppearance('default');
227
+ }
228
+ }), /*#__PURE__*/_react["default"].createElement("span", {
229
+ title: "Night Mode",
230
+ style: Object.assign({}, themeClass, night),
231
+ onClick: function onClick() {
232
+ return _this2.setAppearance('dark');
233
+ }
234
+ }), /*#__PURE__*/_react["default"].createElement("span", {
235
+ title: "Dark Mode",
236
+ style: Object.assign({}, themeClass, dark),
237
+ onClick: function onClick() {
238
+ return _this2.setAppearance('pureDark');
239
+ }
240
+ }))), /*#__PURE__*/_react["default"].createElement("div", {
241
+ style: Object.assign({}, fixedPosition, {
242
+ left: '80%',
243
+ transform: 'translate(-80%)'
244
+ })
245
+ }, /*#__PURE__*/_react["default"].createElement("div", {
176
246
  style: {
177
- position: 'fixed',
178
- bottom: '0',
179
- backgroundColor: '#272727',
180
- padding: '10px',
181
- borderRadius: '15px 15px 0 0',
182
- minWidth: '100px',
183
- textAlign: 'center',
184
- left: '50%',
185
- transform: 'translate(-50%)',
186
- boxShadow: '0 0 3px #000',
187
- fontSize: '12px',
188
- zIndex: '3',
189
- display: 'flex',
190
- alignItems: 'center'
247
+ color: '#fff'
191
248
  }
192
- }, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Switch["default"], {
193
- id: "switchMode",
194
- text: "Light/Night Mode",
195
- labelSize: "small",
196
- onChange: this.switchMode,
197
- checked: appearanceName == 'dark'
198
- })), /*#__PURE__*/_react["default"].createElement("div", {
249
+ }, "Themes:"), /*#__PURE__*/_react["default"].createElement("div", {
199
250
  style: {
200
251
  display: 'flex'
201
252
  }
@@ -192,7 +192,7 @@ var GroupSelectComponent = /*#__PURE__*/function (_PureComponent) {
192
192
  }
193
193
 
194
194
  if (selectedOption !== prevProps.selectedOption) {
195
- var _this$handleGetSelect2 = this.handleGetSelectedId(this.props, allOptionIds),
195
+ var _this$handleGetSelect2 = this.handleGetSelectedId(this.props, newOptionIds),
196
196
  _selectedId = _this$handleGetSelect2.selectedId,
197
197
  _hoverIndex = _this$handleGetSelect2.hoverIndex;
198
198
 
@@ -37,6 +37,8 @@ var _Common = require("../utils/Common.js");
37
37
 
38
38
  var _SelectModule = _interopRequireDefault(require("./Select.module.css"));
39
39
 
40
+ var _Config = require("../Provider/Config");
41
+
40
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
41
43
 
42
44
  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); }
@@ -751,7 +753,8 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
751
753
  htmlId = _this$props11.htmlId,
752
754
  children = _this$props11.children,
753
755
  iconOnHover = _this$props11.iconOnHover,
754
- customProps = _this$props11.customProps;
756
+ customProps = _this$props11.customProps,
757
+ autoComplete = _this$props11.autoComplete;
755
758
  var _i18nKeys = i18nKeys,
756
759
  TextBoxIcon_i18n = _i18nKeys.TextBoxIcon_i18n,
757
760
  _i18nKeys$TextBox_all = _i18nKeys.TextBox_ally_label,
@@ -818,7 +821,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
818
821
  borderColor: borderColor,
819
822
  htmlId: htmlId,
820
823
  isFocus: isPopupReady,
821
- autoComplete: false,
824
+ autoComplete: autoComplete,
822
825
  customProps: {
823
826
  TextBoxProps: TextBoxProps
824
827
  }
@@ -865,7 +868,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
865
868
  onKeyPress: this.handleValueInputChange,
866
869
  borderColor: borderColor,
867
870
  htmlId: htmlId,
868
- autoComplete: false,
871
+ autoComplete: autoComplete,
869
872
  isFocus: isPopupReady,
870
873
  customProps: TextBoxProps
871
874
  })), !isReadOnly && !isDisabled && isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_DropBox["default"], {
@@ -900,7 +903,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
900
903
  onClear: this.handleClearSearch,
901
904
  dataId: "".concat(dataId, "_search"),
902
905
  i18nKeys: TextBoxIcon_i18n,
903
- autoComplete: false,
906
+ autoComplete: autoComplete,
904
907
  customProps: {
905
908
  TextBoxProps: DropdownSearchTextBoxProps
906
909
  }
@@ -944,6 +947,7 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
944
947
  exports.SelectComponent = SelectComponent;
945
948
  SelectComponent.propTypes = {
946
949
  animationStyle: _propTypes["default"].string,
950
+ autoComplete: _propTypes["default"].bool,
947
951
  autoSelectDebouneTime: _propTypes["default"].number,
948
952
  autoSelectOnType: _propTypes["default"].bool,
949
953
  borderColor: _propTypes["default"].oneOf(['transparent', 'default']),
@@ -1029,6 +1033,7 @@ SelectComponent.propTypes = {
1029
1033
  };
1030
1034
  SelectComponent.defaultProps = {
1031
1035
  animationStyle: 'bounce',
1036
+ autoComplete: (0, _Config.getLibraryConfig)('autoComplete'),
1032
1037
  autoSelectOnType: true,
1033
1038
  dataId: 'selectComponent',
1034
1039
  dropBoxSize: 'small',
@@ -11,8 +11,12 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var _propTypes = _interopRequireDefault(require("prop-types"));
13
13
 
14
+ var _Config = require("../Provider/Config");
15
+
14
16
  var _TooltipModule = _interopRequireDefault(require("./Tooltip.module.css"));
15
17
 
18
+ var _ResizeObserver = _interopRequireDefault(require("../Responsive/ResizeObserver"));
19
+
16
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
17
21
 
18
22
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -60,10 +64,53 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
60
64
  _this.getDirection = document.getElementsByTagName('html')[0];
61
65
  _this.leftRightScreenEdge = _this.leftRightScreenEdge.bind(_assertThisInitialized(_this));
62
66
  _this.topBottomScreenEdge = _this.topBottomScreenEdge.bind(_assertThisInitialized(_this));
67
+ _this.observer = new _ResizeObserver["default"](_this.onResize);
68
+ _this.isResized = true;
69
+ _this.tooltipContainerClientRect = {};
70
+ _this.tooltipContainerEl = {};
63
71
  return _this;
64
72
  }
65
73
 
66
74
  _createClass(Tooltip, [{
75
+ key: "onResize",
76
+ value: function onResize(sizeOfObservedEl, observedEl) {
77
+ this.isResized = true;
78
+ }
79
+ }, {
80
+ key: "observeElement",
81
+ value: function observeElement() {
82
+ this.tooltipContainerEl = this.getToolTipContainerEl();
83
+ this.observer.observe(this.tooltipContainerEl);
84
+ }
85
+ }, {
86
+ key: "unObserveElement",
87
+ value: function unObserveElement() {
88
+ this.observer.unobserve(this.tooltipContainerEl);
89
+ }
90
+ }, {
91
+ key: "getClientRectOfContEl",
92
+ value: function getClientRectOfContEl(el) {
93
+ if (this.isResized) {
94
+ return this.setClientRectOfContEl(el);
95
+ }
96
+
97
+ return this.tooltipContainerClientRect;
98
+ }
99
+ }, {
100
+ key: "setClientRectOfContEl",
101
+ value: function setClientRectOfContEl(containerEl) {
102
+ this.isResized = false;
103
+ this.tooltipContainerClientRect = containerEl.getBoundingClientRect();
104
+ return this.tooltipContainerClientRect;
105
+ }
106
+ }, {
107
+ key: "getToolTipContainerEl",
108
+ value: function getToolTipContainerEl() {
109
+ var getTooltipContainer = (0, _Config.getLibraryConfig)('getTooltipContainer');
110
+ var tooltipContainer = typeof getTooltipContainer === 'function' ? getTooltipContainer() : null;
111
+ return tooltipContainer ? tooltipContainer : document.body;
112
+ }
113
+ }, {
67
114
  key: "getToolTipDOM",
68
115
  value: function getToolTipDOM(el) {
69
116
  this.toolTip = el;
@@ -137,9 +184,10 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
137
184
  }
138
185
  }, {
139
186
  key: "handleOver",
140
- value: function handleOver(e) {
187
+ value: function handleOver(e, targetElement) {
141
188
  var _this2 = this;
142
189
 
190
+ var containerElement = this.tooltipContainerEl;
143
191
  var element = e.target;
144
192
  var titleDiv = element.hasAttribute('data-title') || element.hasAttribute('title') ? element : element.closest('[data-title]') || element.closest('[title]');
145
193
 
@@ -195,12 +243,14 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
195
243
 
196
244
  var isHtml = titleDiv.getAttribute('data-ishtml');
197
245
  var dataTooltipnoArrow = titleDiv.getAttribute('data-tooltip-noarrow') === 'true' ? true : false;
246
+ var dataTooltipWrap = titleDiv.getAttribute('data-title-wrap') === 'true' ? true : false;
198
247
  var clientRect = titleDiv.getBoundingClientRect();
199
- var boxLayout = document.body.getBoundingClientRect();
248
+ var boxLayout = this.getClientRectOfContEl(containerElement);
200
249
  this.setState({
201
250
  title: title,
202
251
  isHtml: isHtml,
203
- dataTooltipnoArrow: dataTooltipnoArrow
252
+ dataTooltipnoArrow: dataTooltipnoArrow,
253
+ dataTooltipWrap: dataTooltipWrap
204
254
  }, function () {
205
255
  var tooltip = _this2.toolTip;
206
256
 
@@ -226,8 +276,8 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
226
276
  var tooltipLeft;
227
277
  /* offset width, height of body */
228
278
 
229
- var bodyWidth = document.body.offsetWidth;
230
- var bodyHeight = document.body.offsetHeight;
279
+ var bodyWidth = containerElement.offsetWidth;
280
+ var bodyHeight = containerElement.offsetHeight;
231
281
  var isArrowHorizontal = false;
232
282
  var isArrowDown = false;
233
283
  var isArrowRight = false;
@@ -480,12 +530,14 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
480
530
  isArrowHorizontal = _this$state.isArrowHorizontal,
481
531
  width = _this$state.width,
482
532
  isHtml = _this$state.isHtml,
483
- dataTooltipnoArrow = _this$state.dataTooltipnoArrow;
533
+ dataTooltipnoArrow = _this$state.dataTooltipnoArrow,
534
+ dataTooltipWrap = _this$state.dataTooltipWrap;
484
535
  var _this$props = this.props,
485
536
  dataId = _this$props.dataId,
486
537
  customClass = _this$props.customClass;
487
538
  var arrowStyle = isArrowHorizontal ? isArrowRight ? _TooltipModule["default"].arrowRight : _TooltipModule["default"].arrowLeft : isArrowDown ? _TooltipModule["default"].arrowDown : _TooltipModule["default"].arrowUp;
488
539
  title = title ? title.trim() : null;
540
+ var tooltipCss = "".concat(_TooltipModule["default"].tooltipcont, " ").concat(dataTooltipWrap ? _TooltipModule["default"].tooltipWrapCont : _TooltipModule["default"].tooltipNormalCont);
489
541
  return title ? /*#__PURE__*/_react["default"].createElement("div", {
490
542
  className: "".concat(customClass, " ").concat(_TooltipModule["default"].tooltiptext),
491
543
  style: {
@@ -502,12 +554,12 @@ var Tooltip = /*#__PURE__*/function (_React$Component) {
502
554
  top: arrowTop
503
555
  }
504
556
  }) : null, isHtml ? /*#__PURE__*/_react["default"].createElement("div", {
505
- className: _TooltipModule["default"].tooltipcont,
557
+ className: tooltipCss,
506
558
  dangerouslySetInnerHTML: {
507
559
  __html: title
508
560
  }
509
561
  }) : /*#__PURE__*/_react["default"].createElement("div", {
510
- className: _TooltipModule["default"].tooltipcont
562
+ className: tooltipCss
511
563
  }, title)) : null;
512
564
  }
513
565
  }]);
@@ -17,7 +17,6 @@
17
17
  max-width: 420px;
18
18
  line-height: var(--zd_size20);
19
19
  min-height: var(--zd_size24);
20
- white-space: normal;
21
20
  overflow: hidden;
22
21
  background-color: var(--zdt_tooltip_default_bg);
23
22
  padding: 0 var(--zd_size10);
@@ -25,6 +24,12 @@
25
24
  border-color: transparent;
26
25
  border-radius: var(--zd_size4);
27
26
  }
27
+ .tooltipWrapCont {
28
+ white-space: pre-wrap;
29
+ }
30
+ .tooltipNormalCont {
31
+ white-space: normal;
32
+ }
28
33
  .tooltiparrow {
29
34
  content: '';
30
35
  position: absolute;
@@ -260,8 +260,12 @@
260
260
  background: #fff;
261
261
  }
262
262
  [data-mode='dark'] {
263
- color: #E2E4E6;
264
- background: #232B38;
263
+ color: #e2e4e6;
264
+ background: #232b38;
265
+ }
266
+ [data-mode='pureDark'] {
267
+ color: #e2e4e6;
268
+ background: #212121;
265
269
  }
266
270
 
267
271
  .baseHue {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-alpha-235",
3
+ "version": "1.0.0-alpha-238",
4
4
  "main": "lib/index.js",
5
5
  "module": "es/index.js",
6
6
  "jsnext:main": "es/index.js",
@@ -31,16 +31,17 @@
31
31
  "test": "react-cli test",
32
32
  "sstest": "npm run init && react-cli sstest",
33
33
  "build:external": "npm run clean && npm run init && npm run docsjs:build && npm run build:externalDocCopy && react-cli build:component:umd && npm run externalDocHTMLChange",
34
- "download": "rm package-lock.json && rm -rf node_modules/ && npm install"
34
+ "download": "rm package-lock.json && rm -rf node_modules/ && npm install",
35
+ "expublish": "npm publish --tag experimental-version"
35
36
  },
36
37
  "devDependencies": {
37
38
  "@zohodesk/docstool": "1.0.0-alpha-2",
38
39
  "@zohodesk/variables": "1.0.0-beta.29",
39
- "@zohodesk/icons": "1.0.0-beta.98",
40
+ "@zohodesk/icons": "1.0.0-beta.105",
40
41
  "@zohodesk/virtualizer": "1.0.3",
41
42
  "velocity-react": "1.4.3",
42
43
  "react-sortable-hoc": "^0.8.3",
43
- "@zohodesk/svg": "1.0.0-beta.42"
44
+ "@zohodesk/svg": "1.0.0-beta.47"
44
45
  },
45
46
  "dependencies": {
46
47
  "hoist-non-react-statics": "3.0.1",
@@ -49,9 +50,9 @@
49
50
  "selectn": "1.1.2"
50
51
  },
51
52
  "peerDependencies": {
52
- "@zohodesk/icons": "1.0.0-beta.98",
53
+ "@zohodesk/icons": "1.0.0-beta.105",
53
54
  "@zohodesk/variables": "1.0.0-beta.29",
54
- "@zohodesk/svg": "1.0.0-beta.42",
55
+ "@zohodesk/svg": "1.0.0-beta.47",
55
56
  "@zohodesk/virtualizer": "1.0.3",
56
57
  "velocity-react": "1.4.3",
57
58
  "react-sortable-hoc": "^0.8.3"