@zohodesk/components 1.2.10 → 1.2.12

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 (75) hide show
  1. package/.cli/PropLessFiles.html +1 -1
  2. package/.cli/PropValidationExcludeFilesArray.js +7 -10
  3. package/.cli/propValidation_report.html +1 -1
  4. package/README.md +10 -0
  5. package/coverage/Button/Button.js.html +1 -1
  6. package/coverage/Button/css/Button.module.css.html +1 -1
  7. package/coverage/Button/css/cssJSLogic.js.html +1 -1
  8. package/coverage/Button/css/index.html +1 -1
  9. package/coverage/Button/index.html +1 -1
  10. package/coverage/Button/props/defaultProps.js.html +1 -1
  11. package/coverage/Button/props/index.html +1 -1
  12. package/coverage/Button/props/propTypes.js.html +1 -1
  13. package/coverage/Buttongroup/Buttongroup.js.html +1 -1
  14. package/coverage/Buttongroup/Buttongroup.module.css.html +1 -1
  15. package/coverage/Buttongroup/index.html +1 -1
  16. package/coverage/Buttongroup/props/defaultProps.js.html +1 -1
  17. package/coverage/Buttongroup/props/index.html +1 -1
  18. package/coverage/Buttongroup/props/propTypes.js.html +1 -1
  19. package/coverage/coverage-final.json +10 -10
  20. package/coverage/coverage-summary.json +10 -10
  21. package/coverage/index.html +1 -1
  22. package/coverage/utils/dummyFunction.js.html +1 -1
  23. package/coverage/utils/index.html +1 -1
  24. package/es/MultiSelect/props/propTypes.js +140 -138
  25. package/es/Select/props/propTypes.js +3 -1
  26. package/es/v1/Accordion/Accordion.js +3 -2
  27. package/es/v1/AppContainer/AppContainer.js +75 -92
  28. package/es/v1/Avatar/Avatar.js +84 -134
  29. package/es/v1/Card/Card.js +143 -177
  30. package/es/v1/Card/index.js +4 -0
  31. package/es/v1/DropDown/DropDown.js +31 -52
  32. package/es/v1/DropDown/DropDownHeading.js +29 -37
  33. package/es/v1/DropDown/DropDownItem.js +38 -58
  34. package/es/v1/DropDown/DropDownSearch.js +41 -49
  35. package/es/v1/DropDown/DropDownSeparator.js +7 -10
  36. package/es/v1/MultiSelect/MultiSelect.js +1 -0
  37. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +1 -0
  38. package/es/v1/PopOver/PopOver.js +125 -160
  39. package/es/v1/Popup/Popup.js +1 -1
  40. package/es/v1/Provider/AvatarSize.js +13 -0
  41. package/es/v1/Provider/Config.js +18 -0
  42. package/es/v1/Provider/CssProvider.js +16 -0
  43. package/es/v1/Provider/IdProvider.js +66 -0
  44. package/es/v1/Provider/LibraryContext.js +37 -0
  45. package/es/v1/Provider/LibraryContextInit.js +3 -0
  46. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +136 -0
  47. package/es/v1/Provider/ZindexProvider.js +57 -0
  48. package/es/v1/Provider/index.js +4 -0
  49. package/lib/MultiSelect/props/propTypes.js +146 -141
  50. package/lib/Select/props/propTypes.js +12 -2
  51. package/lib/v1/Accordion/Accordion.js +3 -1
  52. package/lib/v1/AppContainer/AppContainer.js +87 -138
  53. package/lib/v1/Avatar/Avatar.js +130 -186
  54. package/lib/v1/Card/Card.js +190 -286
  55. package/lib/v1/Card/index.js +37 -0
  56. package/lib/v1/DropDown/DropDown.js +34 -130
  57. package/lib/v1/DropDown/DropDownHeading.js +29 -75
  58. package/lib/v1/DropDown/DropDownItem.js +50 -102
  59. package/lib/v1/DropDown/DropDownSearch.js +50 -89
  60. package/lib/v1/DropDown/DropDownSeparator.js +8 -48
  61. package/lib/v1/MultiSelect/MultiSelect.js +3 -1
  62. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +3 -1
  63. package/lib/v1/PopOver/PopOver.js +160 -256
  64. package/lib/v1/Popup/Popup.js +1 -1
  65. package/lib/v1/Provider/AvatarSize.js +24 -0
  66. package/lib/v1/Provider/Config.js +27 -0
  67. package/lib/v1/Provider/CssProvider.js +27 -0
  68. package/lib/v1/Provider/IdProvider.js +79 -0
  69. package/lib/v1/Provider/LibraryContext.js +76 -0
  70. package/lib/v1/Provider/LibraryContextInit.js +15 -0
  71. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +174 -0
  72. package/lib/v1/Provider/ZindexProvider.js +69 -0
  73. package/lib/v1/Provider/index.js +81 -0
  74. package/package.json +7 -7
  75. package/result.json +1 -1
@@ -3,71 +3,50 @@ import { DropDown_propTypes, DropDownTarget_propTypes, DropDownContainer_propTyp
3
3
  import { DropDownItemContainer_defaultProps } from '../../DropDown/props/defaultProps';
4
4
  import style from '../../DropDown/DropDown.module.css';
5
5
  import PopOver, { PopOverTarget, PopOverContainer } from '../PopOver/PopOver';
6
- export default class DropDown extends React.Component {
7
- render() {
8
- let {
9
- children
10
- } = this.props;
11
- return /*#__PURE__*/React.createElement(PopOver, this.props, /*#__PURE__*/React.createElement(PopOverTarget, null, children[0]), /*#__PURE__*/React.createElement(PopOverContainer, null, children[1]));
12
- }
13
-
6
+ export default function DropDown(props) {
7
+ let {
8
+ children
9
+ } = props;
10
+ return /*#__PURE__*/React.createElement(PopOver, props, /*#__PURE__*/React.createElement(PopOverTarget, null, children[0]), /*#__PURE__*/React.createElement(PopOverContainer, null, children[1]));
14
11
  }
15
12
  DropDown.propTypes = DropDown_propTypes;
16
- export class DropDownTarget extends React.Component {
17
- render() {
18
- let {
19
- children
20
- } = this.props;
21
- return /*#__PURE__*/React.createElement("div", null, children);
22
- }
23
-
13
+ export function DropDownTarget(props) {
14
+ let {
15
+ children
16
+ } = props;
17
+ return /*#__PURE__*/React.createElement("div", null, children);
24
18
  }
25
19
  DropDownTarget.propTypes = DropDownTarget_propTypes;
26
- export class DropDownContainer extends React.Component {
27
- render() {
28
- let {
29
- children
30
- } = this.props;
31
- return /*#__PURE__*/React.createElement("div", null, " ", children, " ");
32
- }
33
-
20
+ export function DropDownContainer(props) {
21
+ let {
22
+ children
23
+ } = props;
24
+ return /*#__PURE__*/React.createElement("div", null, " ", children, " ");
34
25
  }
35
26
  DropDownContainer.propTypes = DropDownContainer_propTypes;
36
- export class DropDownItemContainer extends React.Component {
37
- constructor(props) {
38
- super(props);
39
- this.getRef = this.getRef.bind(this);
40
- this.onScroll = this.onScroll.bind(this);
41
- }
27
+ export function DropDownItemContainer(props) {
28
+ let {
29
+ children,
30
+ dataId,
31
+ getRef,
32
+ onScroll
33
+ } = props;
42
34
 
43
- onScroll(e) {
44
- let {
45
- onScroll
46
- } = this.props;
35
+ function handleScroll(e) {
47
36
  onScroll && onScroll(e);
48
37
  }
49
38
 
50
- getRef(ele) {
51
- let {
52
- getRef
53
- } = this.props;
39
+ function getReference(ele) {
54
40
  getRef && getRef(ele);
55
41
  }
56
42
 
57
- render() {
58
- let {
59
- children,
60
- dataId
61
- } = this.props;
62
- return /*#__PURE__*/React.createElement("div", {
63
- className: style.listGroup,
64
- onScroll: this.onScroll,
65
- ref: this.getRef,
66
- "data-id": dataId,
67
- "data-test-id": dataId
68
- }, children);
69
- }
70
-
43
+ return /*#__PURE__*/React.createElement("div", {
44
+ className: style.listGroup,
45
+ onScroll: handleScroll,
46
+ ref: getReference,
47
+ "data-id": dataId,
48
+ "data-test-id": dataId
49
+ }, children);
71
50
  }
72
51
  DropDownItemContainer.propTypes = DropDownItemContainer_propTypes;
73
52
  DropDownItemContainer.defaultProps = DropDownItemContainer_defaultProps;
@@ -2,43 +2,35 @@ import React from 'react';
2
2
  import { DropDownHeading_propTypes } from '../../DropDown/props/propTypes';
3
3
  import { DropDownHeading_defaultProps } from '../../DropDown/props/defaultProps';
4
4
  import style from '../../DropDown/DropDownHeading.module.css';
5
- export default class DropDownHeading extends React.Component {
6
- render() {
7
- let {
8
- text,
9
- title = text,
10
- children,
11
- customClass,
12
- palette,
13
- htmlId,
14
- a11y,
15
- dataId,
16
- dataSelectorId
17
- } = this.props;
18
- let {
19
- role,
20
- ariaLabelledby,
21
- ariaLabel
22
- } = a11y;
23
- return /*#__PURE__*/React.createElement("div", {
24
- className: `${style[palette]} ${customClass}`,
25
- "data-title": title,
26
- role: role,
27
- "aria-labelledby": ariaLabelledby,
28
- "aria-label": ariaLabel,
29
- id: htmlId,
30
- "data-id": dataId,
31
- "data-test-id": dataId,
32
- "data-selector-id": dataSelectorId // tabindex='0'
33
-
34
- }, text, children);
35
- }
5
+ export default function DropDownHeading(props) {
6
+ let {
7
+ text,
8
+ title = text,
9
+ children,
10
+ customClass,
11
+ palette,
12
+ htmlId,
13
+ a11y,
14
+ dataId,
15
+ dataSelectorId
16
+ } = props;
17
+ let {
18
+ role,
19
+ ariaLabelledby,
20
+ ariaLabel
21
+ } = a11y;
22
+ return /*#__PURE__*/React.createElement("div", {
23
+ className: `${style[palette]} ${customClass}`,
24
+ "data-title": title,
25
+ role: role,
26
+ "aria-labelledby": ariaLabelledby,
27
+ "aria-label": ariaLabel,
28
+ id: htmlId,
29
+ "data-id": dataId,
30
+ "data-test-id": dataId,
31
+ "data-selector-id": dataSelectorId // tabindex='0'
36
32
 
33
+ }, text, children);
37
34
  }
38
35
  DropDownHeading.propTypes = DropDownHeading_propTypes;
39
- DropDownHeading.defaultProps = DropDownHeading_defaultProps; // if (__DOCS__) {
40
- // DropDownHeading.docs = {
41
- // componentGroup: 'Form Elements',
42
- // folderName: 'Style Guide'
43
- // };
44
- // }
36
+ DropDownHeading.defaultProps = DropDownHeading_defaultProps;
@@ -1,76 +1,56 @@
1
- import React from 'react';
1
+ import React, { useRef } from 'react';
2
2
  import { DropDownItem_propTypes } from '../../DropDown/props/propTypes';
3
3
  import { DropDownItem_defaultProps } from '../../DropDown/props/defaultProps';
4
4
  import style from '../../DropDown/DropDownItem.module.css';
5
- export default class DropDownItem extends React.Component {
6
- constructor(props) {
7
- super(props);
8
- this.onClick = this.onClick.bind(this);
9
- this.getRef = this.getRef.bind(this);
10
- this.getSelectedElement = this.getSelectedElement.bind(this);
11
- this.onHover = this.onHover.bind(this);
12
- }
5
+ export default function DropDownItem(props) {
6
+ let {
7
+ value,
8
+ active,
9
+ children,
10
+ hightlight,
11
+ dataId,
12
+ customClass = '',
13
+ index,
14
+ getRef,
15
+ onClick,
16
+ id,
17
+ onHover
18
+ } = props;
19
+ const eleRef = useRef(null);
13
20
 
14
- getRef(ele) {
15
- this.ele = ele;
16
- let {
17
- index,
18
- getRef
19
- } = this.props;
21
+ function getReference(ele) {
22
+ eleRef.current = ele;
20
23
  getRef && getRef(ele, index);
21
24
  }
22
25
 
23
- getSelectedElement() {
24
- return this.ele ? this.ele : null;
26
+ function getSelectedElement() {
27
+ return eleRef.current ? eleRef.current : null;
25
28
  }
26
29
 
27
- onClick(e) {
28
- let {
29
- onClick,
30
- id,
31
- value,
32
- index
33
- } = this.props;
30
+ function handleClick(e) {
34
31
  onClick && onClick(id, value, index, e);
35
32
  }
36
33
 
37
- onHover(e) {
38
- let {
39
- onHover,
40
- id,
41
- value,
42
- index
43
- } = this.props;
34
+ function handleHover(e) {
44
35
  onHover && onHover(id, value, index, e);
45
36
  }
46
37
 
47
- render() {
48
- let {
49
- value,
50
- active,
51
- children,
52
- hightlight,
53
- dataId,
54
- customClass = ''
55
- } = this.props;
56
- return /*#__PURE__*/React.createElement("div", {
57
- className: `${style.list} ${customClass} ${active ? style.listActive : hightlight ? style.listHover : ''} ${children && children[1] ? style.padding : ''}`,
58
- onClick: this.onClick,
59
- onMouseOver: this.onHover,
60
- ref: this.getRef,
61
- "data-id": dataId,
62
- "data-test-id": dataId
63
- }, children && children[0] ? /*#__PURE__*/React.createElement("span", {
64
- className: style.children
65
- }, " ", children[0], " ") : children !== undefined ? /*#__PURE__*/React.createElement("span", {
66
- className: style.children
67
- }, " ", children, " ") : null, value ? /*#__PURE__*/React.createElement("span", {
68
- className: style.value
69
- }, value) : '', children && children[1] ? /*#__PURE__*/React.createElement("span", {
70
- className: style.user
71
- }, " ", children[1], " ") : '');
72
- }
73
-
38
+ return /*#__PURE__*/React.createElement("div", {
39
+ className: `${style.list} ${customClass} ${active ? style.listActive : hightlight ? style.listHover : ''} ${children && children[1] ? style.padding : ''}`,
40
+ onClick: handleClick,
41
+ onMouseOver: handleHover,
42
+ ref: getReference,
43
+ "data-id": dataId,
44
+ "data-test-id": dataId
45
+ }, children && children[0] ? /*#__PURE__*/React.createElement("span", {
46
+ className: style.children
47
+ }, " ", children[0], " ") : children !== undefined ? /*#__PURE__*/React.createElement("span", {
48
+ className: style.children
49
+ }, " ", children, " ") : null, value ? /*#__PURE__*/React.createElement("span", {
50
+ className: style.value
51
+ }, value) : '', children && children[1] ? /*#__PURE__*/React.createElement("span", {
52
+ className: style.user
53
+ }, " ", children[1], " ") : '');
74
54
  }
75
55
  DropDownItem.propTypes = DropDownItem_propTypes;
76
56
  DropDownItem.defaultProps = DropDownItem_defaultProps;
@@ -1,63 +1,55 @@
1
- import React from 'react';
1
+ import React, { useEffect, useRef } from 'react';
2
2
  import { DropDownSearch_propTypes } from '../../DropDown/props/propTypes';
3
3
  import { DropDownSearch_defaultProps } from '../../DropDown/props/defaultProps';
4
4
  import TextBox from '../TextBox/TextBox';
5
5
  import style from '../../DropDown/DropDownSearch.module.css';
6
- export default class DropDownSearch extends React.Component {
7
- constructor(props) {
8
- super(props);
9
- this.getRef = this.getRef.bind(this);
10
- }
6
+ export default function DropDownSearch(props) {
7
+ let {
8
+ name,
9
+ id,
10
+ maxLength,
11
+ onKeyDown,
12
+ onChange,
13
+ value,
14
+ onBlur,
15
+ size,
16
+ textBoxSize,
17
+ placeHolder,
18
+ customClass,
19
+ getRef
20
+ } = props;
21
+ let {
22
+ searchClass = '',
23
+ customTextBox = ''
24
+ } = customClass;
25
+ const inputRef = useRef(null); // eslint-disable-next-line func-call-spacing
11
26
 
12
- componentDidMount() {
13
- this.input && this.input.focus({
27
+ useEffect(() => {
28
+ inputRef.current && input.current.focus({
14
29
  preventScroll: true
15
30
  });
16
- }
31
+ }, []);
17
32
 
18
- getRef(ele) {
19
- let {
20
- getRef
21
- } = this.props;
22
- this.input = ele;
33
+ function getReference(ele) {
34
+ inputRef.current = ele;
23
35
  getRef && getRef(ele);
24
36
  }
25
37
 
26
- render() {
27
- let {
28
- name,
29
- id,
30
- maxLength,
31
- onKeyDown,
32
- onChange,
33
- value,
34
- onBlur,
35
- size,
36
- textBoxSize,
37
- placeHolder,
38
- customClass
39
- } = this.props;
40
- let {
41
- searchClass = '',
42
- customTextBox = ''
43
- } = customClass;
44
- return /*#__PURE__*/React.createElement("div", {
45
- className: `${style.search} ${style[`${size}Search`]} ${searchClass}`
46
- }, /*#__PURE__*/React.createElement(TextBox, {
47
- id: id,
48
- inputRef: this.getRef,
49
- maxLength: maxLength,
50
- name: name,
51
- onBlur: onBlur,
52
- onChange: onChange,
53
- onKeyDown: onKeyDown,
54
- size: textBoxSize,
55
- value: value,
56
- placeHolder: placeHolder,
57
- customClass: customTextBox
58
- }));
59
- }
60
-
38
+ return /*#__PURE__*/React.createElement("div", {
39
+ className: `${style.search} ${style[`${size}Search`]} ${searchClass}`
40
+ }, /*#__PURE__*/React.createElement(TextBox, {
41
+ id: id,
42
+ inputRef: getReference,
43
+ maxLength: maxLength,
44
+ name: name,
45
+ onBlur: onBlur,
46
+ onChange: onChange,
47
+ onKeyDown: onKeyDown,
48
+ size: textBoxSize,
49
+ value: value,
50
+ placeHolder: placeHolder,
51
+ customClass: customTextBox
52
+ }));
61
53
  }
62
54
  DropDownSearch.defaultProps = DropDownSearch_defaultProps;
63
55
  DropDownSearch.propTypes = DropDownSearch_propTypes;
@@ -1,15 +1,12 @@
1
1
  import React from 'react';
2
2
  import { DropDownSeparator_propTypes } from '../../DropDown/props/propTypes';
3
3
  import style from '../../DropDown/DropDownSeparator.module.css';
4
- export default class DropDownSeparator extends React.Component {
5
- render() {
6
- let {
7
- customClass = ''
8
- } = this.props;
9
- return /*#__PURE__*/React.createElement("div", {
10
- className: `${style.separator} ${customClass}`
11
- });
12
- }
13
-
4
+ export default function DropDownSeparator(props) {
5
+ let {
6
+ customClass = ''
7
+ } = props;
8
+ return /*#__PURE__*/React.createElement("div", {
9
+ className: `${style.separator} ${customClass}`
10
+ });
14
11
  }
15
12
  DropDownSeparator.propTypes = DropDownSeparator_propTypes;
@@ -2,6 +2,7 @@
2
2
  import React from 'react';
3
3
  import { MultiSelect_propTypes } from '../../MultiSelect/props/propTypes';
4
4
  import { MultiSelect_defaultProps } from '../../MultiSelect/props/defaultProps';
5
+ import { defaultProps as MobileHeader_defaultProps } from '../../MultiSelect/MobileHeader/props/defaultProps';
5
6
  /**** Components ****/
6
7
 
7
8
  import Popup from '../Popup/Popup';
@@ -4,6 +4,7 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
4
4
  import React from 'react';
5
5
  import { MultiSelectWithAvatar_propTypes } from '../../MultiSelect/props/propTypes';
6
6
  import { MultiSelectWithAvatar_defaultProps } from '../../MultiSelect/props/defaultProps';
7
+ import { defaultProps as MobileHeader_defaultProps } from '../../MultiSelect/MobileHeader/props/defaultProps';
7
8
  /**** Components ****/
8
9
 
9
10
  import { MultiSelectComponent } from './MultiSelect';