@zohodesk/dot 1.0.0-temp-198.3.3 → 1.0.0-temp-199

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 (120) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +39 -0
  3. package/assets/Appearance/dark/mode/Dot_DarkMode.module.css +1 -0
  4. package/assets/Appearance/light/mode/Dot_LightMode.module.css +1 -0
  5. package/assets/Appearance/pureDark/mode/Dot_PureDarkMode.module.css +1 -0
  6. package/es/ActionButton/ActionButton.module.css +192 -192
  7. package/es/AlphabeticList/AlphabeticList.module.css +57 -57
  8. package/es/AttachmentViewer/AttachmentImage.js +68 -32
  9. package/es/AttachmentViewer/AttachmentViewer.js +120 -41
  10. package/es/AttachmentViewer/AttachmentViewer.module.css +364 -352
  11. package/es/AttachmentViewer/__tests__/AttachmentImage.spec.js +63 -13
  12. package/es/AttachmentViewer/__tests__/__snapshots__/AttachmentImage.spec.js.snap +9 -5
  13. package/es/AttachmentViewer/__tests__/__snapshots__/AttachmentViewer.spec.js.snap +16 -117
  14. package/es/AttachmentViewer/props/defaultProps.js +5 -1
  15. package/es/AttachmentViewer/props/propTypes.js +7 -3
  16. package/es/AttachmentViewer/utils.js +49 -0
  17. package/es/ChannelIcon/ChannelIcon.module.css +225 -225
  18. package/es/FormAction/FormAction.module.css +100 -100
  19. package/es/IconButton/IconButton.module.css +22 -22
  20. package/es/Image/Image.js +6 -2
  21. package/es/Image/props/propTypes.js +3 -1
  22. package/es/TagWithIcon/TagWithIcon.module.css +66 -66
  23. package/es/avatar/AvatarIcon/AvatarIcon.module.css +58 -58
  24. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +92 -92
  25. package/es/form/fields/CurrencyField/CurrencyField.js +2 -1
  26. package/es/form/fields/TextEditor/TextEditor.js +64 -64
  27. package/es/form/fields/TextEditor/TextEditor.module.css +73 -61
  28. package/es/form/fields/TextEditor/__tests__/__snapshots__/TextEditor.spec.js.snap +1 -1
  29. package/es/form/fields/TextEditor/props/defaultProps.js +4 -1
  30. package/es/form/fields/TextEditor/props/propTypes.js +10 -3
  31. package/es/form/fields/ValidationMessage/ValidationMessage.module.css +27 -27
  32. package/es/layout/SubtabLayout/SubtabLayout.module.css +164 -164
  33. package/es/list/Comment/Comment.module.css +29 -29
  34. package/es/list/Dot/Dot.module.css +15 -15
  35. package/es/list/ListLayout/ListLayout.module.css +79 -79
  36. package/es/list/Subject/Subject.module.css +34 -34
  37. package/es/list/Thread/Thread.module.css +42 -42
  38. package/es/list/status/StatusDropdown/StatusDropdown.js +8 -2
  39. package/es/list/status/StatusDropdown/__tests__/StatusDropdown.spec.js +16 -0
  40. package/es/list/status/StatusDropdown/__tests__/__snapshots__/StatusDropdown.spec.js.snap +14 -0
  41. package/es/list/status/StatusDropdown/props/propTypes.js +2 -0
  42. package/es/lookup/header/Search/LookupSearch.module.css +26 -26
  43. package/es/lookup/header/Search/Search.js +55 -38
  44. package/es/lookup/header/Search/props/defaultProps.js +2 -1
  45. package/es/lookup/header/Search/props/propTypes.js +5 -1
  46. package/es/utils/editorUtils.js +6 -6
  47. package/es/v1/AttachmentViewer/AttachmentImage.js +44 -23
  48. package/es/v1/AttachmentViewer/AttachmentViewer.js +120 -41
  49. package/es/v1/AttachmentViewer/props/propTypes.js +7 -3
  50. package/es/v1/Image/Image.js +6 -2
  51. package/es/v1/Image/props/propTypes.js +3 -1
  52. package/es/v1/form/fields/CurrencyField/CurrencyField.js +2 -1
  53. package/es/v1/form/fields/TextEditor/TextEditor.js +63 -64
  54. package/es/v1/form/fields/TextEditor/props/defaultProps.js +4 -1
  55. package/es/v1/form/fields/TextEditor/props/propTypes.js +10 -3
  56. package/es/v1/list/status/StatusDropdown/StatusDropdown.js +8 -2
  57. package/es/v1/list/status/StatusDropdown/props/propTypes.js +2 -0
  58. package/es/v1/utils/editorUtils.js +6 -6
  59. package/es/version2/GlobalNotification/GlobalNotification.module.css +177 -177
  60. package/es/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +87 -87
  61. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +132 -132
  62. package/lib/ActionButton/ActionButton.module.css +192 -192
  63. package/lib/AlphabeticList/AlphabeticList.module.css +57 -57
  64. package/lib/AttachmentViewer/AttachmentImage.js +74 -36
  65. package/lib/AttachmentViewer/AttachmentViewer.js +151 -70
  66. package/lib/AttachmentViewer/AttachmentViewer.module.css +364 -352
  67. package/lib/AttachmentViewer/__tests__/AttachmentImage.spec.js +64 -13
  68. package/lib/AttachmentViewer/__tests__/__snapshots__/AttachmentImage.spec.js.snap +9 -5
  69. package/lib/AttachmentViewer/__tests__/__snapshots__/AttachmentViewer.spec.js.snap +16 -117
  70. package/lib/AttachmentViewer/props/defaultProps.js +5 -1
  71. package/lib/AttachmentViewer/props/propTypes.js +7 -3
  72. package/lib/AttachmentViewer/utils.js +60 -1
  73. package/lib/ChannelIcon/ChannelIcon.module.css +225 -225
  74. package/lib/FormAction/FormAction.module.css +100 -100
  75. package/lib/IconButton/IconButton.module.css +22 -22
  76. package/lib/Image/Image.js +6 -2
  77. package/lib/Image/props/propTypes.js +3 -1
  78. package/lib/TagWithIcon/TagWithIcon.module.css +66 -66
  79. package/lib/avatar/AvatarIcon/AvatarIcon.module.css +58 -58
  80. package/lib/emptystate/CommonEmptyState/CommonEmptyState.module.css +92 -92
  81. package/lib/form/fields/CurrencyField/CurrencyField.js +2 -1
  82. package/lib/form/fields/TextEditor/TextEditor.js +74 -74
  83. package/lib/form/fields/TextEditor/TextEditor.module.css +73 -61
  84. package/lib/form/fields/TextEditor/__tests__/__snapshots__/TextEditor.spec.js.snap +1 -1
  85. package/lib/form/fields/TextEditor/props/defaultProps.js +4 -1
  86. package/lib/form/fields/TextEditor/props/propTypes.js +10 -3
  87. package/lib/form/fields/ValidationMessage/ValidationMessage.module.css +27 -27
  88. package/lib/layout/SubtabLayout/SubtabLayout.module.css +164 -164
  89. package/lib/list/Comment/Comment.module.css +29 -29
  90. package/lib/list/Dot/Dot.module.css +15 -15
  91. package/lib/list/ListLayout/ListLayout.module.css +79 -79
  92. package/lib/list/Subject/Subject.module.css +34 -34
  93. package/lib/list/Thread/Thread.module.css +42 -42
  94. package/lib/list/status/StatusDropdown/StatusDropdown.js +8 -2
  95. package/lib/list/status/StatusDropdown/__tests__/StatusDropdown.spec.js +14 -0
  96. package/lib/list/status/StatusDropdown/__tests__/__snapshots__/StatusDropdown.spec.js.snap +14 -0
  97. package/lib/list/status/StatusDropdown/props/propTypes.js +1 -1
  98. package/lib/lookup/header/Search/LookupSearch.module.css +26 -26
  99. package/lib/lookup/header/Search/Search.js +73 -64
  100. package/lib/lookup/header/Search/props/defaultProps.js +2 -1
  101. package/lib/lookup/header/Search/props/propTypes.js +9 -3
  102. package/lib/utils/editorUtils.js +6 -5
  103. package/lib/v1/AttachmentViewer/AttachmentImage.js +52 -24
  104. package/lib/v1/AttachmentViewer/AttachmentViewer.js +151 -70
  105. package/lib/v1/AttachmentViewer/props/propTypes.js +7 -3
  106. package/lib/v1/Image/Image.js +6 -2
  107. package/lib/v1/Image/props/propTypes.js +3 -1
  108. package/lib/v1/form/fields/CurrencyField/CurrencyField.js +2 -1
  109. package/lib/v1/form/fields/TextEditor/TextEditor.js +73 -74
  110. package/lib/v1/form/fields/TextEditor/props/defaultProps.js +4 -1
  111. package/lib/v1/form/fields/TextEditor/props/propTypes.js +10 -3
  112. package/lib/v1/list/status/StatusDropdown/StatusDropdown.js +8 -2
  113. package/lib/v1/list/status/StatusDropdown/props/propTypes.js +1 -1
  114. package/lib/v1/utils/editorUtils.js +6 -5
  115. package/lib/version2/GlobalNotification/GlobalNotification.module.css +177 -177
  116. package/lib/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +87 -87
  117. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +132 -132
  118. package/package.json +6 -6
  119. package/result.json +1 -1
  120. package/unittest/index.html +6 -2
@@ -1,35 +1,35 @@
1
- .varClass {
2
- --subject_text: var(--zdt_subject_text);
3
- }
4
-
5
- .subject {
6
- composes: varClass;
7
- /* css:theme-validation:ignore */
8
- color: var(--subject_text);
9
- display: block;
10
- }
11
-
12
- .dotted {
13
- composes: dotted from '~@zohodesk/components/lib/common/common.module.css';
14
- }
15
-
16
- .font_regular {
17
- font-family: var(--zd_regular);
18
- }
19
-
20
- .font_semibold {
21
- font-family: var(--zd_semibold);
22
- }
23
-
24
- .font_bold {
25
- font-family: var(--zd_bold);
26
- }
27
-
28
- .font_semibold,
29
- .font_bold {
30
- composes: ftsmooth from '~@zohodesk/components/lib/common/common.module.css';
31
- }
32
-
33
- .cursorPointer {
34
- cursor: pointer;
1
+ .varClass {
2
+ --subject_text: var(--zdt_subject_text);
3
+ }
4
+
5
+ .subject {
6
+ composes: varClass;
7
+ /* css:theme-validation:ignore */
8
+ color: var(--subject_text);
9
+ display: block;
10
+ }
11
+
12
+ .dotted {
13
+ composes: dotted from '~@zohodesk/components/lib/common/common.module.css';
14
+ }
15
+
16
+ .font_regular {
17
+ font-family: var(--zd_regular);
18
+ }
19
+
20
+ .font_semibold {
21
+ font-family: var(--zd_semibold);
22
+ }
23
+
24
+ .font_bold {
25
+ font-family: var(--zd_bold);
26
+ }
27
+
28
+ .font_semibold,
29
+ .font_bold {
30
+ composes: ftsmooth from '~@zohodesk/components/lib/common/common.module.css';
31
+ }
32
+
33
+ .cursorPointer {
34
+ cursor: pointer;
35
35
  }
@@ -1,43 +1,43 @@
1
- .varClass {
2
- --icon_color: var(--zdt_thread_iconText);
3
- }
4
- .container {
5
- composes: varClass;
6
- position: relative;
7
- color: var(--icon_color);
8
- cursor: pointer;
9
- }
10
- .container:hover {
11
- --icon_color: var(--zdt_thread_hover_iconText);
12
- }
13
- .count {
14
- font-size: var(--zd_font_size9) ;
15
- }
16
- .align_left .count {
17
- position: absolute;
18
- line-height: normal;
19
- top: var(--zd_size3) ;
20
- }
21
- [dir=ltr] .align_left .count {
22
- text-align: left;
23
- left: var(--zd_size8) ;
24
- }
25
- [dir=rtl] .align_left .count {
26
- text-align: right;
27
- right: var(--zd_size8) ;
28
- }
29
- .align_right {
30
- composes: dInflex alignFend from '~@zohodesk/components/lib/common/common.module.css';
31
- }
32
- .align_right .count {
33
- position: relative;
34
- bottom: var(--zd_size2) ;
35
- }
36
- [dir=ltr] .align_right .count {
37
- right: var(--zd_size5) ;
38
- float: right;
39
- }
40
- [dir=rtl] .align_right .count {
41
- left: var(--zd_size5) ;
42
- float: left;
1
+ .varClass {
2
+ --icon_color: var(--zdt_thread_iconText);
3
+ }
4
+ .container {
5
+ composes: varClass;
6
+ position: relative;
7
+ color: var(--icon_color);
8
+ cursor: pointer;
9
+ }
10
+ .container:hover {
11
+ --icon_color: var(--zdt_thread_hover_iconText);
12
+ }
13
+ .count {
14
+ font-size: var(--zd_font_size9) ;
15
+ }
16
+ .align_left .count {
17
+ position: absolute;
18
+ line-height: normal;
19
+ top: var(--zd_size3) ;
20
+ }
21
+ [dir=ltr] .align_left .count {
22
+ text-align: left;
23
+ left: var(--zd_size8) ;
24
+ }
25
+ [dir=rtl] .align_left .count {
26
+ text-align: right;
27
+ right: var(--zd_size8) ;
28
+ }
29
+ .align_right {
30
+ composes: dInflex alignFend from '~@zohodesk/components/lib/common/common.module.css';
31
+ }
32
+ .align_right .count {
33
+ position: relative;
34
+ bottom: var(--zd_size2) ;
35
+ }
36
+ [dir=ltr] .align_right .count {
37
+ right: var(--zd_size5) ;
38
+ float: right;
39
+ }
40
+ [dir=rtl] .align_right .count {
41
+ left: var(--zd_size5) ;
42
+ float: left;
43
43
  }
@@ -244,6 +244,8 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
244
244
  isRestrictScroll = _this$props4.isRestrictScroll,
245
245
  positionsOffset = _this$props4.positionsOffset,
246
246
  targetOffset = _this$props4.targetOffset,
247
+ renderTargetElement = _this$props4.renderTargetElement,
248
+ renderFooterElement = _this$props4.renderFooterElement,
247
249
  _this$props4$a11y = _this$props4.a11y,
248
250
  a11y = _this$props4$a11y === void 0 ? {} : _this$props4$a11y;
249
251
  var _a11y$tabIndex = a11y.tabIndex,
@@ -258,7 +260,11 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
258
260
  className: _StatusDropdownModule["default"].posRel,
259
261
  onMouseEnter: showOnHover && !isDisabled && !isReadOnly && isEditable ? this.handleTogglePopup : undefined,
260
262
  onMouseLeave: showOnHover && !isDisabled && !isReadOnly && isEditable ? this.handleTogglePopup : undefined
261
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
263
+ }, renderTargetElement ? renderTargetElement({
264
+ handleTogglePopup: this.handleTogglePopup,
265
+ isPopupOpen: isPopupOpen,
266
+ getTargetRef: getTargetRef
267
+ }) : /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
262
268
  tagName: "button",
263
269
  alignBox: "row",
264
270
  className: "".concat(_StatusDropdownModule["default"].container, " ").concat(containerClass, " ").concat(_semanticButtonModule["default"].buttonReset),
@@ -396,7 +402,7 @@ var StatusDropdown = /*#__PURE__*/function (_React$Component) {
396
402
  getEmptyState: _this2.emptySearchSVG
397
403
  }) : /*#__PURE__*/_react["default"].createElement("div", {
398
404
  className: _StatusDropdownModule["default"].loader
399
- }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)))));
405
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))), renderFooterElement ? renderFooterElement : null));
400
406
  }) : null);
401
407
  }
402
408
  }]);
@@ -13,6 +13,20 @@ describe('StatusDropdown', function () {
13
13
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusDropdown["default"], null)),
14
14
  asFragment = _render.asFragment;
15
15
 
16
+ expect(asFragment()).toMatchSnapshot();
17
+ }), test('rendering target element', function () {
18
+ var renderTargetElement = function renderTargetElement(_ref) {
19
+ var isPopupOpen = _ref.isPopupOpen;
20
+ return /*#__PURE__*/_react["default"].createElement("div", {
21
+ className: isPopupOpen ? 'popupOpened' : 'popupClosed'
22
+ }, "Target Element");
23
+ };
24
+
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_StatusDropdown["default"], {
26
+ renderTargetElement: renderTargetElement
27
+ })),
28
+ asFragment = _render2.asFragment;
29
+
16
30
  expect(asFragment()).toMatchSnapshot();
17
31
  });
18
32
  });
@@ -1,5 +1,19 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
+ exports[`StatusDropdown rendering target element 1`] = `
4
+ <DocumentFragment>
5
+ <div
6
+ class="posRel"
7
+ >
8
+ <div
9
+ class="popupClosed"
10
+ >
11
+ Target Element
12
+ </div>
13
+ </div>
14
+ </DocumentFragment>
15
+ `;
16
+
3
17
  exports[`StatusDropdown rendering the defult props 1`] = `
4
18
  <DocumentFragment>
5
19
  <div
@@ -30,5 +30,5 @@ var propTypes = (_propTypes = {
30
30
  idName: _propTypes2["default"].string,
31
31
  isArrow: _propTypes2["default"].bool,
32
32
  isDataLoaded: _propTypes2["default"].bool
33
- }, _defineProperty(_propTypes, "isDataLoaded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isDisabled", _propTypes2["default"].bool), _defineProperty(_propTypes, "isEditable", _propTypes2["default"].bool), _defineProperty(_propTypes, "isFetchingOptions", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupActive", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupOpen", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupReady", _propTypes2["default"].bool), _defineProperty(_propTypes, "isReadOnly", _propTypes2["default"].bool), _defineProperty(_propTypes, "isSearch", _propTypes2["default"].bool), _defineProperty(_propTypes, "keyName", _propTypes2["default"].string), _defineProperty(_propTypes, "left", _propTypes2["default"].number), _defineProperty(_propTypes, "needExternalPopupState", _propTypes2["default"].bool), _defineProperty(_propTypes, "needResponsive", _propTypes2["default"].bool), _defineProperty(_propTypes, "needTick", _propTypes2["default"].bool), _defineProperty(_propTypes, "onClick", _propTypes2["default"].func), _defineProperty(_propTypes, "onTogglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "options", _propTypes2["default"].array.isRequired), _defineProperty(_propTypes, "placeHolderText", _propTypes2["default"].string), _defineProperty(_propTypes, "position", _propTypes2["default"].string), _defineProperty(_propTypes, "removeClose", _propTypes2["default"].func), _defineProperty(_propTypes, "right", _propTypes2["default"].number), _defineProperty(_propTypes, "searchBoxSize", _propTypes2["default"].oneOf(['small', 'medium', 'xmedium'])), _defineProperty(_propTypes, "searchEmptyHint", _propTypes2["default"].string), _defineProperty(_propTypes, "searchErrorText", _propTypes2["default"].string), _defineProperty(_propTypes, "showIconOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "showOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "statusColor", _propTypes2["default"].string), _defineProperty(_propTypes, "targetAlign", _propTypes2["default"].oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around'])), _defineProperty(_propTypes, "title", _propTypes2["default"].string), _defineProperty(_propTypes, "togglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "value", _propTypes2["default"].node), _defineProperty(_propTypes, "needMultiLineText", _propTypes2["default"].bool), _defineProperty(_propTypes, "onSelectLabel", _propTypes2["default"].func), _defineProperty(_propTypes, "top", _propTypes2["default"].number), _defineProperty(_propTypes, "a11y", _propTypes2["default"].object), _defineProperty(_propTypes, "isAbsolutePositioningNeeded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isRestrictScroll", _propTypes2["default"].bool), _defineProperty(_propTypes, "positionsOffset", _propTypes2["default"].object), _defineProperty(_propTypes, "targetOffset", _propTypes2["default"].object), _propTypes);
33
+ }, _defineProperty(_propTypes, "isDataLoaded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isDisabled", _propTypes2["default"].bool), _defineProperty(_propTypes, "isEditable", _propTypes2["default"].bool), _defineProperty(_propTypes, "isFetchingOptions", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupActive", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupOpen", _propTypes2["default"].bool), _defineProperty(_propTypes, "isPopupReady", _propTypes2["default"].bool), _defineProperty(_propTypes, "isReadOnly", _propTypes2["default"].bool), _defineProperty(_propTypes, "isSearch", _propTypes2["default"].bool), _defineProperty(_propTypes, "keyName", _propTypes2["default"].string), _defineProperty(_propTypes, "left", _propTypes2["default"].number), _defineProperty(_propTypes, "needExternalPopupState", _propTypes2["default"].bool), _defineProperty(_propTypes, "needResponsive", _propTypes2["default"].bool), _defineProperty(_propTypes, "needTick", _propTypes2["default"].bool), _defineProperty(_propTypes, "onClick", _propTypes2["default"].func), _defineProperty(_propTypes, "onTogglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "options", _propTypes2["default"].array.isRequired), _defineProperty(_propTypes, "placeHolderText", _propTypes2["default"].string), _defineProperty(_propTypes, "position", _propTypes2["default"].string), _defineProperty(_propTypes, "removeClose", _propTypes2["default"].func), _defineProperty(_propTypes, "right", _propTypes2["default"].number), _defineProperty(_propTypes, "searchBoxSize", _propTypes2["default"].oneOf(['small', 'medium', 'xmedium'])), _defineProperty(_propTypes, "searchEmptyHint", _propTypes2["default"].string), _defineProperty(_propTypes, "searchErrorText", _propTypes2["default"].string), _defineProperty(_propTypes, "showIconOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "showOnHover", _propTypes2["default"].bool), _defineProperty(_propTypes, "statusColor", _propTypes2["default"].string), _defineProperty(_propTypes, "targetAlign", _propTypes2["default"].oneOf(['vertical', 'horizontal', 'both', 'top', 'right', 'bottom', 'left', 'between', 'around'])), _defineProperty(_propTypes, "title", _propTypes2["default"].string), _defineProperty(_propTypes, "togglePopup", _propTypes2["default"].func), _defineProperty(_propTypes, "value", _propTypes2["default"].node), _defineProperty(_propTypes, "needMultiLineText", _propTypes2["default"].bool), _defineProperty(_propTypes, "onSelectLabel", _propTypes2["default"].func), _defineProperty(_propTypes, "top", _propTypes2["default"].number), _defineProperty(_propTypes, "a11y", _propTypes2["default"].object), _defineProperty(_propTypes, "isAbsolutePositioningNeeded", _propTypes2["default"].bool), _defineProperty(_propTypes, "isRestrictScroll", _propTypes2["default"].bool), _defineProperty(_propTypes, "positionsOffset", _propTypes2["default"].object), _defineProperty(_propTypes, "renderTargetElement", _propTypes2["default"].func), _defineProperty(_propTypes, "renderFooterElement", _propTypes2["default"].node), _defineProperty(_propTypes, "targetOffset", _propTypes2["default"].object), _propTypes);
34
34
  exports.propTypes = propTypes;
@@ -1,20 +1,25 @@
1
- .searchStyle,
2
- .boxStyle {
1
+ .wrapper {
3
2
  transition: var(--zd_transition1);
4
- width: var(--zd_size96) ;
3
+ width: var(--zd_size160) ;
5
4
  height: var(--zd_size28) ;
6
5
  position: relative;
7
- }.searchStyle, .boxStyle {
8
- background: none;
9
6
  }
10
- .boxStyle {
11
- width: var(--zd_size160) ;
7
+ .boxType {
8
+ border: 1px solid transparent;
12
9
  border-radius: 4px;
13
- border: 1px solid var(--zdt_lookupsearch_boxstyle_border);
14
10
  }
15
- .searchStyle:hover, .boxStyle:hover {
11
+ .borderType {
12
+ border-bottom: 1px solid transparent;
13
+ }
14
+ .boxType, .borderType {
15
+ border-color: var(--zdt_lookupsearch_boxstyle_border);
16
+ }
17
+ .boxType:hover, .borderType:hover {
16
18
  border-color: var(--zdt_lookupsearch_boxstyle_hover_border);
17
19
  }
20
+ .boxType.active, .borderType.active {
21
+ border-color: var(--zdt_lookupsearch_boxstyle_activer_border);
22
+ }
18
23
  .focusWidth {
19
24
  width: var(--zd_size220) ;
20
25
  }
@@ -22,36 +27,31 @@
22
27
  position: relative;
23
28
  height: var(--zd_size28) ;
24
29
  cursor: pointer;
30
+ padding: 0 var(--zd_size9) ;
25
31
  }
26
32
  .drpSearchBox::after {
27
33
  content: '';
28
34
  position: absolute;
29
- top: var(--zd_size8) ;
30
- bottom: var(--zd_size8) ;
35
+ top: var(--zd_size4) ;
36
+ bottom: var(--zd_size4) ;
31
37
  }
32
38
  [dir=ltr] .drpSearchBox::after {
33
- right: calc( var(--zd_size1) * -1 ) ;
39
+ right: var(--zd_size6) ;
34
40
  border-right: 1px solid var(--zdt_lookupsearch_boxstyle_border);
35
41
  }
36
42
  [dir=rtl] .drpSearchBox::after {
37
- left: calc( var(--zd_size1) * -1 ) ;
43
+ left: var(--zd_size6) ;
38
44
  border-left: 1px solid var(--zdt_lookupsearch_boxstyle_border);
39
45
  }
40
- .inputBox, .drpSearchBox {
41
- padding: 0 var(--zd_size9) ;
42
- }
43
- [dir=ltr] .searchIconBox {
44
- padding: var(--zd_size4) 0 var(--zd_size4) var(--zd_size9) ;
46
+ [dir=ltr] .searchIcon {
47
+ padding-right: var(--zd_size8) ;
45
48
  }
46
- [dir=rtl] .searchIconBox {
47
- padding: var(--zd_size4) var(--zd_size9) var(--zd_size4) 0 ;
49
+ [dir=rtl] .searchIcon {
50
+ padding-left: var(--zd_size8) ;
48
51
  }
49
52
  .active, .boxStyle.active, .lineActive.drpSearchBox::after {
50
53
  border-color: var(--zdt_lookupsearch_boxstyle_activer_border);
51
54
  }
52
- [dir=ltr] .iconArrow {
53
- margin-left: var(--zd_size5) ;
54
- }
55
- [dir=rtl] .iconArrow {
56
- margin-right: var(--zd_size5) ;
57
- }
55
+ .iconArrow {
56
+ margin: 0 var(--zd_size6) ;
57
+ }
@@ -17,6 +17,8 @@ var _TextBoxIcon = _interopRequireDefault(require("@zohodesk/components/lib/Text
17
17
 
18
18
  var _Layout = require("@zohodesk/components/lib/Layout");
19
19
 
20
+ var _utils = require("@zohodesk/utils");
21
+
20
22
  var _icons = require("@zohodesk/icons");
21
23
 
22
24
  var _ToggleDropDown = _interopRequireDefault(require("../../../dropdown/ToggleDropDown/ToggleDropDown"));
@@ -66,33 +68,17 @@ var Search = /*#__PURE__*/function (_Component) {
66
68
  _classCallCheck(this, Search);
67
69
 
68
70
  _this = _super.call(this, props);
69
- _this.handleDropDownOpen = _this.handleDropDownOpen.bind(_assertThisInitialized(_this));
70
- _this.handleDropDownClose = _this.handleDropDownClose.bind(_assertThisInitialized(_this));
71
71
  _this.handleTextBoxFocus = _this.handleTextBoxFocus.bind(_assertThisInitialized(_this));
72
72
  _this.handleTextBoxBlur = _this.handleTextBoxBlur.bind(_assertThisInitialized(_this));
73
73
  _this.handleGetTextBoxRef = _this.handleGetTextBoxRef.bind(_assertThisInitialized(_this));
74
+ _this.handleRenderChildren = _this.handleRenderChildren.bind(_assertThisInitialized(_this));
74
75
  _this.state = {
75
- isFocus: false,
76
- isDropDownOpen: false
76
+ isFocus: false
77
77
  };
78
78
  return _this;
79
79
  }
80
80
 
81
81
  _createClass(Search, [{
82
- key: "handleDropDownOpen",
83
- value: function handleDropDownOpen() {
84
- this.setState({
85
- isDropDownOpen: true
86
- });
87
- }
88
- }, {
89
- key: "handleDropDownClose",
90
- value: function handleDropDownClose() {
91
- this.setState({
92
- isDropDownOpen: false
93
- });
94
- }
95
- }, {
96
82
  key: "handleTextBoxFocus",
97
83
  value: function handleTextBoxFocus(e) {
98
84
  var onFocus = this.props.onFocus;
@@ -118,21 +104,41 @@ var Search = /*#__PURE__*/function (_Component) {
118
104
  getRef && getRef(el);
119
105
  }
120
106
  }, {
121
- key: "render",
122
- value: function render() {
107
+ key: "handleRenderChildren",
108
+ value: function handleRenderChildren(_ref) {
109
+ var isActive = _ref.isActive;
123
110
  var _this$props = this.props,
124
- options = _this$props.options,
125
- onSelect = _this$props.onSelect,
126
111
  value = _this$props.value,
127
- selectedId = _this$props.selectedId;
128
- var _this$state = this.state,
129
- isFocus = _this$state.isFocus,
130
- isDropDownOpen = _this$state.isDropDownOpen;
112
+ selectedId = _this$props.selectedId,
113
+ renderChildren = _this$props.renderChildren;
114
+
115
+ if (renderChildren) {
116
+ return renderChildren({
117
+ isActive: isActive,
118
+ value: value,
119
+ selectedId: selectedId
120
+ });
121
+ }
122
+
123
+ return null;
124
+ }
125
+ }, {
126
+ key: "render",
127
+ value: function render() {
128
+ var _this$props2 = this.props,
129
+ options = _this$props2.options,
130
+ onSelect = _this$props2.onSelect,
131
+ value = _this$props2.value,
132
+ selectedId = _this$props2.selectedId,
133
+ renderChildren = _this$props2.renderChildren;
134
+ var isFocus = this.state.isFocus;
131
135
  var searchUIExtraProps = {
132
- isFocus: isFocus || isDropDownOpen,
136
+ isFocus: isFocus,
133
137
  onFocus: this.handleTextBoxFocus,
134
138
  onBlur: this.handleTextBoxBlur,
135
- getRef: this.handleGetTextBoxRef
139
+ getRef: this.handleGetTextBoxRef,
140
+ value: value,
141
+ renderChildren: renderChildren ? this.handleRenderChildren : null
136
142
  };
137
143
  return options ? /*#__PURE__*/_react["default"].createElement(_ToggleDropDown["default"], {
138
144
  value: value,
@@ -141,9 +147,7 @@ var Search = /*#__PURE__*/function (_Component) {
141
147
  needTick: true,
142
148
  isArrow: false,
143
149
  isToggleStateNeeded: true,
144
- selectedId: selectedId,
145
- onDropDownOpen: this.handleDropDownOpen,
146
- onDropDownClose: this.handleDropDownClose
150
+ selectedId: selectedId
147
151
  }, /*#__PURE__*/_react["default"].createElement(SearchUI, _extends({}, this.props, searchUIExtraProps))) : /*#__PURE__*/_react["default"].createElement(SearchUI, _extends({}, this.props, searchUIExtraProps));
148
152
  }
149
153
  }]);
@@ -182,10 +186,10 @@ var SearchUI = /*#__PURE__*/function (_Component2) {
182
186
  key: "handleKeyDown",
183
187
  value: function handleKeyDown(e) {
184
188
  var keyCode = e.keyCode;
185
- var _this$props2 = this.props,
186
- onSearch = _this$props2.onSearch,
187
- needOnTypeSearch = _this$props2.needOnTypeSearch,
188
- onKeyDown = _this$props2.onKeyDown;
189
+ var _this$props3 = this.props,
190
+ onSearch = _this$props3.onSearch,
191
+ needOnTypeSearch = _this$props3.needOnTypeSearch,
192
+ onKeyDown = _this$props3.onKeyDown;
189
193
  onKeyDown && onKeyDown(e);
190
194
 
191
195
  if (keyCode === 13) {
@@ -195,9 +199,9 @@ var SearchUI = /*#__PURE__*/function (_Component2) {
195
199
  }, {
196
200
  key: "handleChange",
197
201
  value: function handleChange(value) {
198
- var _this$props3 = this.props,
199
- onChange = _this$props3.onChange,
200
- needOnTypeSearch = _this$props3.needOnTypeSearch;
202
+ var _this$props4 = this.props,
203
+ onChange = _this$props4.onChange,
204
+ needOnTypeSearch = _this$props4.needOnTypeSearch;
201
205
  onChange && onChange(value);
202
206
  needOnTypeSearch && this.handleSearch();
203
207
  }
@@ -212,26 +216,34 @@ var SearchUI = /*#__PURE__*/function (_Component2) {
212
216
  }, {
213
217
  key: "render",
214
218
  value: function render() {
215
- var _this$props4 = this.props,
216
- dataId = _this$props4.dataId,
217
- searchStr = _this$props4.searchStr,
218
- placeHolder = _this$props4.placeHolder,
219
- getRef = _this$props4.getRef,
220
- title = _this$props4.title,
221
- isBoxed = _this$props4.isBoxed,
222
- isSearchIconNeed = _this$props4.isSearchIconNeed,
223
- options = _this$props4.options,
224
- activeClass = _this$props4.activeClass,
225
- isFocus = _this$props4.isFocus,
226
- onFocus = _this$props4.onFocus,
227
- onBlur = _this$props4.onBlur;
219
+ var _this$props5 = this.props,
220
+ dataId = _this$props5.dataId,
221
+ searchStr = _this$props5.searchStr,
222
+ placeHolder = _this$props5.placeHolder,
223
+ getRef = _this$props5.getRef,
224
+ title = _this$props5.title,
225
+ isBoxed = _this$props5.isBoxed,
226
+ isSearchIconNeed = _this$props5.isSearchIconNeed,
227
+ options = _this$props5.options,
228
+ activeClass = _this$props5.activeClass,
229
+ isFocus = _this$props5.isFocus,
230
+ onFocus = _this$props5.onFocus,
231
+ onBlur = _this$props5.onBlur,
232
+ renderChildren = _this$props5.renderChildren,
233
+ isActive = _this$props5.isActive,
234
+ customStyle = _this$props5.customStyle;
235
+ var isInActiveState = isFocus || isActive;
236
+ var isFocusWidth = isFocus || searchStr || isActive;
237
+ var style = (0, _utils.mergeStyle)(_LookupSearchModule["default"], customStyle);
228
238
  return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
229
239
  isCover: false,
230
240
  alignBox: "row",
231
241
  align: "vertical",
232
- className: "".concat(_LookupSearchModule["default"].searchStyle, " ").concat(isBoxed ? _LookupSearchModule["default"].boxStyle : '', " ").concat(isFocus ? "".concat(_LookupSearchModule["default"].active, " ").concat(activeClass ? activeClass : '', " ") : '', " ").concat(searchStr || isFocus ? _LookupSearchModule["default"].focusWidth : '')
233
- }, options && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
234
- className: "".concat(_LookupSearchModule["default"].drpSearchBox, " ").concat(isFocus ? _LookupSearchModule["default"].lineActive : ''),
242
+ className: "\n ".concat(style.wrapper, " ").concat(isBoxed ? style.boxType : style.borderType, " \n ").concat(isInActiveState ? "".concat(style.active, " ").concat(activeClass || '') : '', "\n ").concat(isFocusWidth ? style.focusWidth : '', "\n ")
243
+ }, renderChildren && options ? renderChildren({
244
+ isActive: isActive
245
+ }) : options ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
246
+ className: "".concat(style.drpSearchBox, " ").concat(isInActiveState ? style.lineActive : ''),
235
247
  isCover: false,
236
248
  align: "vertical",
237
249
  alignBox: "row",
@@ -242,18 +254,14 @@ var SearchUI = /*#__PURE__*/function (_Component2) {
242
254
  }), /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
243
255
  name: "ZD-down",
244
256
  size: "7",
245
- iconClass: _LookupSearchModule["default"].iconArrow
246
- })), isSearchIconNeed && /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
247
- className: _LookupSearchModule["default"].searchIconBox
248
- }, /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
257
+ iconClass: style.iconArrow
258
+ })) : isSearchIconNeed ? /*#__PURE__*/_react["default"].createElement(_icons.Icon, {
249
259
  name: "ZD-search",
250
- size: "11"
251
- })), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
260
+ size: "11",
261
+ iconClass: style.searchIcon
262
+ }) : null, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
252
263
  flexible: true
253
264
  }, /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
254
- customClass: {
255
- customTextBox: "".concat(isBoxed ? _LookupSearchModule["default"].inputBox : '')
256
- },
257
265
  customProps: {
258
266
  TextBoxProps: {
259
267
  'data-a11y-autofocus': true
@@ -271,7 +279,8 @@ var SearchUI = /*#__PURE__*/function (_Component2) {
271
279
  size: "small",
272
280
  inputRef: getRef,
273
281
  onClear: this.handleClear,
274
- onClearMouseDown: _Common.cancelBubblingEffect
282
+ onClearMouseDown: _Common.cancelBubblingEffect,
283
+ needBorder: false
275
284
  })));
276
285
  }
277
286
  }]);
@@ -7,6 +7,7 @@ exports.SearchUI_defaultProps = void 0;
7
7
  var SearchUI_defaultProps = {
8
8
  activeClass: '',
9
9
  isBoxed: false,
10
- isSearchIconNeed: false
10
+ isSearchIconNeed: false,
11
+ isActive: false
11
12
  };
12
13
  exports.SearchUI_defaultProps = SearchUI_defaultProps;
@@ -7,8 +7,12 @@ exports.Search_propTypes = exports.SearchUI_propTypes = void 0;
7
7
 
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
 
10
+ var _SearchUI_propTypes;
11
+
10
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
11
13
 
14
+ 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; }
15
+
12
16
  var Search_propTypes = {
13
17
  getRef: _propTypes["default"].func,
14
18
  onBlur: _propTypes["default"].func,
@@ -19,7 +23,7 @@ var Search_propTypes = {
19
23
  value: _propTypes["default"].string
20
24
  };
21
25
  exports.Search_propTypes = Search_propTypes;
22
- var SearchUI_propTypes = {
26
+ var SearchUI_propTypes = (_SearchUI_propTypes = {
23
27
  activeClass: _propTypes["default"].string,
24
28
  dataId: _propTypes["default"].string,
25
29
  getRef: _propTypes["default"].func,
@@ -35,6 +39,8 @@ var SearchUI_propTypes = {
35
39
  options: _propTypes["default"].array,
36
40
  placeHolder: _propTypes["default"].string,
37
41
  searchStr: _propTypes["default"].string,
38
- title: _propTypes["default"].string
39
- };
42
+ title: _propTypes["default"].string,
43
+ renderChildren: _propTypes["default"].func,
44
+ isActive: _propTypes["default"].bool
45
+ }, _defineProperty(_SearchUI_propTypes, "renderChildren", _propTypes["default"].func), _defineProperty(_SearchUI_propTypes, "customStyle", _propTypes["default"].object), _SearchUI_propTypes);
40
46
  exports.SearchUI_propTypes = SearchUI_propTypes;
@@ -15,8 +15,8 @@ exports.isImageFormat = isImageFormat;
15
15
  exports.loadResource = loadResource;
16
16
  exports.triggerKeyup = triggerKeyup;
17
17
  exports.validateEditorContentOnInsertHtml = validateEditorContentOnInsertHtml;
18
- var ATTACHMENT_FILE_NAME_SIZE_LIMIT = 200; // editorUtils
19
18
 
19
+ // editorUtils
20
20
  function editorContentValidate(editorObj) {
21
21
  var content = editorObj && editorObj.getContent && editorObj.getContent() || '';
22
22
 
@@ -67,13 +67,14 @@ function encodeForHtml(str) {
67
67
  } // attachment
68
68
 
69
69
 
70
- function isFileNameSizeInvalid(fileName) {
71
- return fileName.length > ATTACHMENT_FILE_NAME_SIZE_LIMIT;
70
+ function isFileNameSizeInvalid(fileName, fileNameMaxCharacters) {
71
+ return fileName.length > fileNameMaxCharacters;
72
72
  }
73
73
 
74
- function isImageFormat(fileName) {
74
+ function isImageFormat(fileName, allowedFileExtensions) {
75
75
  var extension = getExtensionFromFileName(fileName);
76
- return /jpeg|jpg|png|gif|bmp|ico/i.test(extension);
76
+ var isValidExtension = allowedFileExtensions.includes(extension);
77
+ return isValidExtension;
77
78
  }
78
79
 
79
80
  function getExtensionFromFileName(fileName) {