@zohodesk/components 1.2.4 → 1.2.6

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 (202) hide show
  1. package/README.md +8 -0
  2. package/coverage/Button/Button.js.html +1 -1
  3. package/coverage/Button/css/Button.module.css.html +1 -1
  4. package/coverage/Button/css/cssJSLogic.js.html +1 -1
  5. package/coverage/Button/css/index.html +1 -1
  6. package/coverage/Button/index.html +1 -1
  7. package/coverage/Button/props/defaultProps.js.html +1 -1
  8. package/coverage/Button/props/index.html +1 -1
  9. package/coverage/Button/props/propTypes.js.html +1 -1
  10. package/coverage/Buttongroup/Buttongroup.js.html +1 -1
  11. package/coverage/Buttongroup/Buttongroup.module.css.html +1 -1
  12. package/coverage/Buttongroup/index.html +1 -1
  13. package/coverage/Buttongroup/props/defaultProps.js.html +1 -1
  14. package/coverage/Buttongroup/props/index.html +1 -1
  15. package/coverage/Buttongroup/props/propTypes.js.html +1 -1
  16. package/coverage/index.html +1 -1
  17. package/coverage/utils/dummyFunction.js.html +1 -1
  18. package/coverage/utils/index.html +1 -1
  19. package/es/AppContainer/AppContainer.js +3 -0
  20. package/es/v1/Accordion/Accordion.js +65 -0
  21. package/es/v1/Accordion/AccordionItem.js +57 -0
  22. package/es/v1/Accordion/index.js +2 -0
  23. package/es/v1/Animation/Animation.js +127 -0
  24. package/es/v1/AppContainer/AppContainer.js +137 -0
  25. package/es/v1/Avatar/Avatar.js +189 -0
  26. package/es/v1/AvatarTeam/AvatarTeam.js +70 -0
  27. package/es/v1/Button/Button.js +68 -0
  28. package/es/v1/Buttongroup/Buttongroup.js +31 -0
  29. package/es/v1/Card/Card.js +271 -0
  30. package/es/v1/CheckBox/CheckBox.js +155 -0
  31. package/es/v1/DateTime/CalendarView.js +218 -0
  32. package/es/v1/DateTime/DateTime.js +783 -0
  33. package/es/v1/DateTime/DateTimePopupFooter.js +47 -0
  34. package/es/v1/DateTime/DateTimePopupHeader.js +105 -0
  35. package/es/v1/DateTime/DateWidget.js +1098 -0
  36. package/es/v1/DateTime/DaysRow.js +31 -0
  37. package/es/v1/DateTime/Time.js +166 -0
  38. package/es/v1/DateTime/YearView.js +264 -0
  39. package/es/v1/DateTime/index.js +1 -0
  40. package/es/v1/DropBox/DropBox.js +91 -0
  41. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  42. package/es/v1/DropDown/DropDown.js +73 -0
  43. package/es/v1/DropDown/DropDownHeading.js +44 -0
  44. package/es/v1/DropDown/DropDownItem.js +76 -0
  45. package/es/v1/DropDown/DropDownSearch.js +63 -0
  46. package/es/v1/DropDown/DropDownSeparator.js +15 -0
  47. package/es/v1/Heading/Heading.js +32 -0
  48. package/es/v1/Label/Label.js +40 -0
  49. package/es/v1/Layout/Box.js +115 -0
  50. package/es/v1/Layout/Container.js +132 -0
  51. package/es/v1/Layout/index.js +2 -0
  52. package/es/v1/ListItem/ListContainer.js +102 -0
  53. package/es/v1/ListItem/ListItem.js +124 -0
  54. package/es/v1/ListItem/ListItemWithAvatar.js +145 -0
  55. package/es/v1/ListItem/ListItemWithCheckBox.js +104 -0
  56. package/es/v1/ListItem/ListItemWithIcon.js +127 -0
  57. package/es/v1/ListItem/ListItemWithRadio.js +105 -0
  58. package/es/v1/ListItem/index.js +6 -0
  59. package/es/v1/Modal/Modal.js +154 -0
  60. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +1079 -0
  61. package/es/v1/MultiSelect/AdvancedMultiSelect.js +568 -0
  62. package/es/v1/MultiSelect/EmptyState.js +64 -0
  63. package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +50 -0
  64. package/es/v1/MultiSelect/MultiSelect.js +1120 -0
  65. package/es/v1/MultiSelect/MultiSelectHeader.js +32 -0
  66. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +216 -0
  67. package/es/v1/MultiSelect/SelectedOptions.js +82 -0
  68. package/es/v1/MultiSelect/Suggestions.js +142 -0
  69. package/es/v1/MultiSelect/index.js +4 -0
  70. package/es/v1/PopOver/PopOver.js +211 -0
  71. package/es/v1/Popup/Popup.js +645 -0
  72. package/es/v1/Radio/Radio.js +115 -0
  73. package/es/v1/Responsive/CustomResponsive.js +195 -0
  74. package/es/v1/Responsive/RefWrapper.js +39 -0
  75. package/es/v1/Responsive/ResizeComponent.js +197 -0
  76. package/es/v1/Responsive/ResizeObserver.js +140 -0
  77. package/es/v1/Responsive/Responsive.js +194 -0
  78. package/es/v1/Responsive/index.js +9 -0
  79. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +58 -0
  80. package/es/v1/Ribbon/Ribbon.js +33 -0
  81. package/es/v1/RippleEffect/RippleEffect.js +24 -0
  82. package/es/v1/Select/GroupSelect.js +803 -0
  83. package/es/v1/Select/Select.js +969 -0
  84. package/es/v1/Select/SelectWithAvatar.js +344 -0
  85. package/es/v1/Select/SelectWithIcon.js +535 -0
  86. package/es/v1/Select/index.js +4 -0
  87. package/es/v1/Stencils/Stencils.js +26 -0
  88. package/es/v1/Switch/Switch.js +94 -0
  89. package/es/v1/Tab/Tab.js +108 -0
  90. package/es/v1/Tab/TabContent.js +30 -0
  91. package/es/v1/Tab/TabContentWrapper.js +29 -0
  92. package/es/v1/Tab/TabWrapper.js +57 -0
  93. package/es/v1/Tab/Tabs.js +612 -0
  94. package/es/v1/Tab/index.js +5 -0
  95. package/es/v1/Tag/Tag.js +134 -0
  96. package/es/v1/TextBox/TextBox.js +154 -0
  97. package/es/v1/TextBoxIcon/TextBoxIcon.js +158 -0
  98. package/es/v1/Textarea/Textarea.js +102 -0
  99. package/es/v1/Tooltip/Tooltip.js +518 -0
  100. package/es/v1/Typography/Typography.js +38 -0
  101. package/es/v1/Typography/css/Typography.module.css +376 -0
  102. package/es/v1/Typography/css/cssJSLogic.js +46 -0
  103. package/es/v1/Typography/css/letterSpacingMap.js +12 -0
  104. package/es/v1/Typography/props/defaultProps.js +8 -0
  105. package/es/v1/Typography/props/propTypes.js +24 -0
  106. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +69 -0
  107. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +100 -0
  108. package/es/v1/semantic/Button/Button.js +53 -0
  109. package/es/v1/semantic/index.js +1 -0
  110. package/lib/AppContainer/AppContainer.js +5 -0
  111. package/lib/v1/Accordion/Accordion.js +96 -0
  112. package/lib/v1/Accordion/AccordionItem.js +68 -0
  113. package/lib/v1/Accordion/index.js +23 -0
  114. package/lib/v1/Animation/Animation.js +143 -0
  115. package/lib/v1/AppContainer/AppContainer.js +209 -0
  116. package/lib/v1/Avatar/Avatar.js +246 -0
  117. package/lib/v1/AvatarTeam/AvatarTeam.js +81 -0
  118. package/lib/v1/Button/Button.js +82 -0
  119. package/lib/v1/Buttongroup/Buttongroup.js +44 -0
  120. package/lib/v1/Card/Card.js +365 -0
  121. package/lib/v1/CheckBox/CheckBox.js +166 -0
  122. package/lib/v1/DateTime/CalendarView.js +285 -0
  123. package/lib/v1/DateTime/DateTime.js +872 -0
  124. package/lib/v1/DateTime/DateTimePopupFooter.js +96 -0
  125. package/lib/v1/DateTime/DateTimePopupHeader.js +166 -0
  126. package/lib/v1/DateTime/DateWidget.js +1125 -0
  127. package/lib/v1/DateTime/DaysRow.js +80 -0
  128. package/lib/v1/DateTime/Time.js +254 -0
  129. package/lib/v1/DateTime/YearView.js +325 -0
  130. package/lib/v1/DateTime/index.js +15 -0
  131. package/lib/v1/DropBox/DropBox.js +119 -0
  132. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  133. package/lib/v1/DropDown/DropDown.js +170 -0
  134. package/lib/v1/DropDown/DropDownHeading.js +93 -0
  135. package/lib/v1/DropDown/DropDownItem.js +127 -0
  136. package/lib/v1/DropDown/DropDownSearch.js +113 -0
  137. package/lib/v1/DropDown/DropDownSeparator.js +64 -0
  138. package/lib/v1/Heading/Heading.js +49 -0
  139. package/lib/v1/Label/Label.js +51 -0
  140. package/lib/v1/Layout/Box.js +128 -0
  141. package/lib/v1/Layout/Container.js +145 -0
  142. package/lib/v1/Layout/index.js +23 -0
  143. package/lib/v1/ListItem/ListContainer.js +120 -0
  144. package/lib/v1/ListItem/ListItem.js +138 -0
  145. package/lib/v1/ListItem/ListItemWithAvatar.js +162 -0
  146. package/lib/v1/ListItem/ListItemWithCheckBox.js +125 -0
  147. package/lib/v1/ListItem/ListItemWithIcon.js +143 -0
  148. package/lib/v1/ListItem/ListItemWithRadio.js +126 -0
  149. package/lib/v1/ListItem/index.js +55 -0
  150. package/lib/v1/Modal/Modal.js +212 -0
  151. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +1167 -0
  152. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +634 -0
  153. package/lib/v1/MultiSelect/EmptyState.js +112 -0
  154. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +62 -0
  155. package/lib/v1/MultiSelect/MultiSelect.js +1201 -0
  156. package/lib/v1/MultiSelect/MultiSelectHeader.js +78 -0
  157. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +270 -0
  158. package/lib/v1/MultiSelect/SelectedOptions.js +126 -0
  159. package/lib/v1/MultiSelect/Suggestions.js +195 -0
  160. package/lib/v1/MultiSelect/index.js +39 -0
  161. package/lib/v1/PopOver/PopOver.js +293 -0
  162. package/lib/v1/Popup/Popup.js +715 -0
  163. package/lib/v1/Radio/Radio.js +126 -0
  164. package/lib/v1/Responsive/CustomResponsive.js +242 -0
  165. package/lib/v1/Responsive/RefWrapper.js +57 -0
  166. package/lib/v1/Responsive/ResizeComponent.js +268 -0
  167. package/lib/v1/Responsive/ResizeObserver.js +168 -0
  168. package/lib/v1/Responsive/Responsive.js +274 -0
  169. package/lib/v1/Responsive/index.js +55 -0
  170. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +79 -0
  171. package/lib/v1/Ribbon/Ribbon.js +44 -0
  172. package/lib/v1/RippleEffect/RippleEffect.js +39 -0
  173. package/lib/v1/Select/GroupSelect.js +877 -0
  174. package/lib/v1/Select/Select.js +1013 -0
  175. package/lib/v1/Select/SelectWithAvatar.js +394 -0
  176. package/lib/v1/Select/SelectWithIcon.js +597 -0
  177. package/lib/v1/Select/index.js +39 -0
  178. package/lib/v1/Stencils/Stencils.js +43 -0
  179. package/lib/v1/Switch/Switch.js +108 -0
  180. package/lib/v1/Tab/Tab.js +132 -0
  181. package/lib/v1/Tab/TabContent.js +42 -0
  182. package/lib/v1/Tab/TabContentWrapper.js +42 -0
  183. package/lib/v1/Tab/TabWrapper.js +89 -0
  184. package/lib/v1/Tab/Tabs.js +680 -0
  185. package/lib/v1/Tab/index.js +47 -0
  186. package/lib/v1/Tag/Tag.js +154 -0
  187. package/lib/v1/TextBox/TextBox.js +168 -0
  188. package/lib/v1/TextBoxIcon/TextBoxIcon.js +196 -0
  189. package/lib/v1/Textarea/Textarea.js +118 -0
  190. package/lib/v1/Tooltip/Tooltip.js +586 -0
  191. package/lib/v1/Typography/Typography.js +56 -0
  192. package/lib/v1/Typography/css/Typography.module.css +376 -0
  193. package/lib/v1/Typography/css/cssJSLogic.js +41 -0
  194. package/lib/v1/Typography/css/letterSpacingMap.js +20 -0
  195. package/lib/v1/Typography/props/defaultProps.js +15 -0
  196. package/lib/v1/Typography/props/propTypes.js +35 -0
  197. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +90 -0
  198. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +126 -0
  199. package/lib/v1/semantic/Button/Button.js +63 -0
  200. package/lib/v1/semantic/index.js +15 -0
  201. package/package.json +1 -1
  202. package/result.json +1 -1
package/README.md CHANGED
@@ -32,6 +32,14 @@ In this Package, we Provide Some Basic Components to Build Web App
32
32
  - TextBoxIcon
33
33
  - Tooltip
34
34
 
35
+ # 1.2.6
36
+
37
+ - **AppContiner** - Memory Leak issue solved
38
+
39
+ # 1.2.5
40
+
41
+ - v1 folder remove entry from npmignore
42
+
35
43
  # 1.2.4
36
44
 
37
45
  - **Typography** new component added
@@ -298,7 +298,7 @@ Button.propTypes = propTypes;
298
298
  <div class='footer quiet pad2 space-top1 center small'>
299
299
  Code coverage generated by
300
300
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
301
- at 2023-08-28T16:23:55.587Z
301
+ at 2023-08-30T13:10:52.438Z
302
302
  </div>
303
303
  <script src="../prettify.js"></script>
304
304
  <script>
@@ -1426,7 +1426,7 @@
1426
1426
  <div class='footer quiet pad2 space-top1 center small'>
1427
1427
  Code coverage generated by
1428
1428
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1429
- at 2023-08-28T16:23:55.587Z
1429
+ at 2023-08-30T13:10:52.438Z
1430
1430
  </div>
1431
1431
  <script src="../../prettify.js"></script>
1432
1432
  <script>
@@ -199,7 +199,7 @@ export default function cssJSLogic({ props, style }) {
199
199
  <div class='footer quiet pad2 space-top1 center small'>
200
200
  Code coverage generated by
201
201
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
202
- at 2023-08-28T16:23:55.587Z
202
+ at 2023-08-30T13:10:52.438Z
203
203
  </div>
204
204
  <script src="../../prettify.js"></script>
205
205
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2023-08-28T16:23:55.587Z
119
+ at 2023-08-30T13:10:52.438Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2023-08-28T16:23:55.587Z
104
+ at 2023-08-30T13:10:52.438Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -127,7 +127,7 @@ export const defaultProps = {
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2023-08-28T16:23:55.587Z
130
+ at 2023-08-30T13:10:52.438Z
131
131
  </div>
132
132
  <script src="../../prettify.js"></script>
133
133
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2023-08-28T16:23:55.587Z
119
+ at 2023-08-30T13:10:52.438Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -193,7 +193,7 @@ export default propTypes;
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at 2023-08-28T16:23:55.587Z
196
+ at 2023-08-30T13:10:52.438Z
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -205,7 +205,7 @@ Buttongroup.propTypes = propTypes;
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2023-08-28T16:23:55.587Z
208
+ at 2023-08-30T13:10:52.438Z
209
209
  </div>
210
210
  <script src="../prettify.js"></script>
211
211
  <script>
@@ -283,7 +283,7 @@
283
283
  <div class='footer quiet pad2 space-top1 center small'>
284
284
  Code coverage generated by
285
285
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2023-08-28T16:23:55.587Z
286
+ at 2023-08-30T13:10:52.438Z
287
287
  </div>
288
288
  <script src="../prettify.js"></script>
289
289
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2023-08-28T16:23:55.587Z
119
+ at 2023-08-30T13:10:52.438Z
120
120
  </div>
121
121
  <script src="../prettify.js"></script>
122
122
  <script>
@@ -88,7 +88,7 @@
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
91
- at 2023-08-28T16:23:55.587Z
91
+ at 2023-08-30T13:10:52.438Z
92
92
  </div>
93
93
  <script src="../../prettify.js"></script>
94
94
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2023-08-28T16:23:55.587Z
119
+ at 2023-08-30T13:10:52.438Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -100,7 +100,7 @@ export const propTypes = {
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
103
- at 2023-08-28T16:23:55.587Z
103
+ at 2023-08-30T13:10:52.438Z
104
104
  </div>
105
105
  <script src="../../prettify.js"></script>
106
106
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2023-08-28T16:23:55.587Z
179
+ at 2023-08-30T13:10:52.438Z
180
180
  </div>
181
181
  <script src="prettify.js"></script>
182
182
  <script>
@@ -73,7 +73,7 @@
73
73
  <div class='footer quiet pad2 space-top1 center small'>
74
74
  Code coverage generated by
75
75
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
76
- at 2023-08-28T16:23:55.587Z
76
+ at 2023-08-30T13:10:52.438Z
77
77
  </div>
78
78
  <script src="../prettify.js"></script>
79
79
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2023-08-28T16:23:55.587Z
104
+ at 2023-08-30T13:10:52.438Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -85,6 +85,9 @@ export default class AppContainer extends React.Component {
85
85
  this.containerElement.removeEventListener('mouseover', this.handleOver, false);
86
86
  this.containerElement.addEventListener('mouseout', this.removeTimeout, false);
87
87
  this.tooltipRef.unObserveElement();
88
+ setLibraryConfig({
89
+ getTooltipContainer: () => null
90
+ });
88
91
  }
89
92
  }
90
93
 
@@ -0,0 +1,65 @@
1
+ import React, { useState, useEffect } from 'react';
2
+ import { Accordion_defaultProps } from '../../Accordion/props/defaultProps';
3
+ import { Accordion_propTypes } from '../../Accordion/props/propTypes';
4
+ export default function Accordion(props) {
5
+ const {
6
+ className,
7
+ height,
8
+ unMount,
9
+ disableInternalState,
10
+ selectedItem: propSelectedItem,
11
+ a11y,
12
+ dataId,
13
+ dataSelectorId,
14
+ onSelect,
15
+ children
16
+ } = props;
17
+ const {
18
+ role,
19
+ ariaExpanded,
20
+ ariaHaspopup
21
+ } = a11y;
22
+ const [selectedItem, setSelectedItem] = useState(propSelectedItem);
23
+
24
+ function selectMenu(selectedItem) {
25
+ if (onSelect) {
26
+ onSelect(selectedItem);
27
+ }
28
+
29
+ !disableInternalState && setSelectedItem(selectedItem);
30
+ }
31
+
32
+ useEffect(() => {
33
+ if (!disableInternalState) {
34
+ setSelectedItem(propSelectedItem);
35
+ }
36
+ }, [propSelectedItem]);
37
+ let renderChildren = React.Children.map(children, child => {
38
+ if (child) {
39
+ return /*#__PURE__*/React.cloneElement(child, {
40
+ selectedItem: disableInternalState ? propSelectedItem : selectedItem,
41
+ selectMenu: selectMenu,
42
+ unMount: unMount
43
+ });
44
+ }
45
+ });
46
+ return /*#__PURE__*/React.createElement("div", {
47
+ className: className ? className : '',
48
+ style: {
49
+ height
50
+ },
51
+ role: role,
52
+ "aria-expanded": ariaExpanded,
53
+ "aria-haspopup": ariaHaspopup,
54
+ "data-id": dataId,
55
+ "data-test-id": dataId,
56
+ "data-selector-id": dataSelectorId
57
+ }, renderChildren);
58
+ }
59
+ Accordion.propTypes = Accordion_propTypes;
60
+ Accordion.defaultProps = Accordion_defaultProps; // if (__DOCS__) {
61
+ // Accordion.docs = {
62
+ // componentGroup: 'Animation',
63
+ // folderName: 'Style Guide'
64
+ // };
65
+ // }
@@ -0,0 +1,57 @@
1
+ import React from 'react';
2
+ import { AccordionItem_defaultProps } from '../../Accordion/props/defaultProps';
3
+ import { AccordionItem_propTypes } from '../../Accordion/props/propTypes';
4
+ import VelocityAnimation from '../VelocityAnimation/VelocityAnimation/VelocityAnimation';
5
+ import VelocityAnimationGroup from '../VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup';
6
+ export default function AccordionItem(props) {
7
+ let {
8
+ id,
9
+ selectMenu,
10
+ className,
11
+ children,
12
+ dataId,
13
+ dataSelectorId,
14
+ unMount,
15
+ unMountItem,
16
+ a11y,
17
+ innerClass,
18
+ equalityCheck,
19
+ selectedItem
20
+ } = props;
21
+ unMountItem = unMountItem !== undefined ? unMountItem : unMount;
22
+ let {
23
+ role
24
+ } = a11y;
25
+
26
+ function equalityChecking() {
27
+ return equalityCheck ? equalityCheck(id, selectedItem) : selectedItem == id;
28
+ }
29
+
30
+ function handleSelectMenu() {
31
+ selectMenu(id);
32
+ }
33
+
34
+ return /*#__PURE__*/React.createElement("div", {
35
+ className: className ? className : '',
36
+ "data-id": dataId,
37
+ "data-test-id": dataId,
38
+ role: role,
39
+ "data-selector-id": dataSelectorId
40
+ }, /*#__PURE__*/React.createElement("div", {
41
+ className: innerClass ? innerClass : '',
42
+ onClick: handleSelectMenu
43
+ }, children[0]), unMountItem ? /*#__PURE__*/React.createElement(VelocityAnimationGroup, {
44
+ name: "slideDown",
45
+ isActive: equalityChecking()
46
+ }, children[1]) : /*#__PURE__*/React.createElement(VelocityAnimation, {
47
+ name: "slideDown",
48
+ isActive: equalityChecking()
49
+ }, children[1]));
50
+ }
51
+ AccordionItem.propTypes = AccordionItem_propTypes;
52
+ AccordionItem.defaultProps = AccordionItem_defaultProps; // if (__DOCS__) {
53
+ // AccordionItem.docs = {
54
+ // componentGroup: 'Animation',
55
+ // folderName: 'Style Guide'
56
+ // };
57
+ // }
@@ -0,0 +1,2 @@
1
+ export { default as Accordion } from './Accordion';
2
+ export { default as AccordionItem } from './AccordionItem';
@@ -0,0 +1,127 @@
1
+ import React from 'react';
2
+ import { defaultProps } from '../../Animation/props/defaultProps';
3
+ import { propTypes } from '../../Animation/props/propTypes';
4
+ import { CSSTransition } from 'react-transition-group';
5
+ import style from '../../common/transition.module.css';
6
+ export default function Animation(props) {
7
+ let {
8
+ name,
9
+ enterDuration,
10
+ exitDuration,
11
+ children,
12
+ isActive,
13
+ unmountOnExit,
14
+ onEntered = () => {},
15
+ onExit = () => {},
16
+ delayClassName = null
17
+ } = props;
18
+ const animation = {
19
+ zoomIn: {
20
+ enter: style.zoomInEnter,
21
+ enterActive: style.zoomInEnterActive,
22
+ enterDone: style.zoomInEnterActive,
23
+ exit: style.zoomInLeave,
24
+ exitActive: style.zoomInLeaveActive,
25
+ exitDone: style.zoomInLeaveActive,
26
+ appear: style.zoomInEnter,
27
+ appearActive: style.zoomInEnterActive
28
+ },
29
+ scaleIn: {
30
+ enter: style.scaleInEnter,
31
+ enterActive: style.scaleInEnterActive,
32
+ enterDone: style.scaleInEnterActive,
33
+ exit: style.scaleInLeave,
34
+ exitActive: style.scaleInLeaveActive,
35
+ exitDone: style.scaleInLeaveActive,
36
+ appear: style.scaleInEnter,
37
+ appearActive: style.scaleInEnterActive
38
+ },
39
+ fadeIn: {
40
+ enter: style.fadeInEnter,
41
+ enterActive: style.fadeInEnterActive,
42
+ enterDone: style.fadeInEnterActive,
43
+ exit: style.fadeInLeave,
44
+ exitActive: style.fadeInLeaveActive,
45
+ exitDone: style.fadeInLeaveActive,
46
+ appear: style.fadeInEnter,
47
+ appearActive: style.fadeInEnterActive
48
+ },
49
+ slideLeft: {
50
+ enter: style.slideLeftEnter,
51
+ enterActive: style.slideLeftEnterActive,
52
+ enterDone: style.slideLeftEnterActive,
53
+ exit: style.slideLeftLeave,
54
+ exitActive: style.slideLeftLeaveActive,
55
+ exitDone: style.slideLeftLeaveActive,
56
+ appear: style.slideLeftEnter,
57
+ appearActive: style.slideLeftEnterActive
58
+ },
59
+ slideDown: {
60
+ enter: style.slideDownEnter,
61
+ enterActive: style.slideDownEnterActive,
62
+ enterDone: style.slideDownEnterActive,
63
+ exit: style.slideDownLeave,
64
+ exitActive: style.slideDownLeaveActive,
65
+ exitDone: style.slideDownLeaveActive,
66
+ appear: style.slideDownEnter,
67
+ appearActive: style.slideDownEnterActive
68
+ },
69
+ skewIn: {
70
+ enter: style.skewInEnter,
71
+ enterActive: style.skewInEnterActive,
72
+ enterDone: style.skewInEnterActive,
73
+ exit: style.skewInLeave,
74
+ exitActive: style.skewInLeaveActive,
75
+ exitDone: style.skewInLeaveActive,
76
+ appear: style.skewInEnter,
77
+ appearActive: style.skewInEnterActive
78
+ },
79
+ none: {
80
+ enter: style.noneEnter,
81
+ enterActive: style.noneEnterActive,
82
+ enterDone: style.noneEnterActive,
83
+ exit: style.noneLeave,
84
+ exitActive: style.noneLeaveActive,
85
+ exitDone: style.noneLeaveActive,
86
+ appear: style.noneEnter,
87
+ appearActive: style.noneEnterActive
88
+ },
89
+ default: {
90
+ enter: style.defaultEnter,
91
+ enterActive: style.defaultEnterActive,
92
+ enterDone: style.defaultEnterActive,
93
+ exit: style.defaultLeave,
94
+ exitActive: style.defaultLeaveActive,
95
+ exitDone: style.defaultLeaveActive,
96
+ appear: style.defaultEnter,
97
+ appearActive: style.defaultEnterActive
98
+ }
99
+ };
100
+ let newClassNames = delayClassName ? Object.assign({}, animation[name], {
101
+ exit: `${delayClassName} ${animation[name].exit}`
102
+ }) : animation[name];
103
+ return /*#__PURE__*/React.createElement(CSSTransition, {
104
+ classNames: newClassNames && newClassNames,
105
+ in: isActive,
106
+ appear: true,
107
+ enter: true,
108
+ exit: true,
109
+ mountOnEnter: false,
110
+ unmountOnExit: unmountOnExit,
111
+ timeout: {
112
+ enter: enterDuration,
113
+ exit: exitDuration
114
+ },
115
+ onEntered: onEntered,
116
+ onExit: onExit
117
+ }, /*#__PURE__*/React.createElement(React.Fragment, null, children));
118
+ }
119
+ Animation.propTypes = propTypes;
120
+ Animation.defaultProps = defaultProps; // if (__DOCS__) {
121
+ // Animation.docs = {
122
+ // componentGroup: 'Animation',
123
+ // folderName: 'Style Guide',
124
+ // external: true,
125
+ // description: ' '
126
+ // };
127
+ // }
@@ -0,0 +1,137 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React from 'react';
4
+ import { defaultProps } from '../../AppContainer/props/defaultProps';
5
+ import { propTypes } from '../../AppContainer/props/propTypes';
6
+ import { Container, Box } from '../Layout';
7
+ import Tooltip from '../Tooltip/Tooltip';
8
+ import '../../common/basic.module.css';
9
+ import '@zohodesk/variables/assets/colorVariables.module.css';
10
+ import '@zohodesk/variables/assets/dotVariables.module.css';
11
+ import '@zohodesk/variables/assets/sizeVariables.module.css';
12
+ import '@zohodesk/variables/assets/fontsizeVariables.module.css';
13
+ import '@zohodesk/variables/lib/fontFamilyVariables.module.css';
14
+ import '@zohodesk/variables/assets/transitionVariables.module.css';
15
+ import '@zohodesk/variables/assets/no_transitionVariables.module.css';
16
+ import '../../common/a11y.module.css';
17
+ import '../../common/boxShadow.module.css';
18
+ import style from '../../AppContainer/AppContainer.module.css';
19
+ import { getLibraryConfig, setLibraryConfig } from '../../Provider/Config';
20
+ export default class AppContainer extends React.Component {
21
+ constructor(props) {
22
+ super(props);
23
+ this.setTooltipRef = this.setTooltipRef.bind(this);
24
+ this.handleOver = this.handleOver.bind(this);
25
+ this.mouseOverDispatch = this.mouseOverDispatch.bind(this);
26
+ this.removeTimeout = this.removeTimeout.bind(this);
27
+ this.getContainerRef = this.getContainerRef.bind(this);
28
+ this.timer = null;
29
+ this.tooltipDebounce = getLibraryConfig('tooltipDebounce');
30
+ setLibraryConfig({
31
+ getTooltipContainer: () => this.containerElement
32
+ });
33
+ }
34
+
35
+ mouseOverDispatch(e) {
36
+ if (this.tooltipRef) {
37
+ this.tooltipRef.handleOver(e, this.containerElement);
38
+ }
39
+ }
40
+
41
+ removeTimeout() {
42
+ if (this.timer) {
43
+ this.timer = clearTimeout(this.timer);
44
+ }
45
+ }
46
+
47
+ handleOver(e) {
48
+ if (this.timer) {
49
+ this.timer = clearTimeout(this.timer);
50
+ }
51
+
52
+ this.timer = setTimeout(() => this.mouseOverDispatch(e), this.tooltipDebounce);
53
+ }
54
+
55
+ getContainerRef(ref) {
56
+ let {
57
+ eleRef
58
+ } = this.props;
59
+ this.containerElement = ref;
60
+ eleRef && eleRef(ref);
61
+ }
62
+
63
+ setTooltipRef(ref) {
64
+ this.tooltipRef = ref;
65
+ }
66
+
67
+ componentDidMount() {
68
+ let {
69
+ needTooltip
70
+ } = this.props;
71
+
72
+ if (this.containerElement && needTooltip) {
73
+ this.containerElement.addEventListener('mouseover', this.handleOver, false);
74
+ this.containerElement.addEventListener('mouseout', this.removeTimeout, false);
75
+ this.tooltipRef.observeElement();
76
+ }
77
+ }
78
+
79
+ componentWillUnmount() {
80
+ let {
81
+ needTooltip
82
+ } = this.props;
83
+
84
+ if (this.containerElement && needTooltip) {
85
+ this.containerElement.removeEventListener('mouseover', this.handleOver, false);
86
+ this.containerElement.addEventListener('mouseout', this.removeTimeout, false);
87
+ this.tooltipRef.unObserveElement();
88
+ setLibraryConfig({
89
+ getTooltipContainer: () => null
90
+ });
91
+ }
92
+ }
93
+
94
+ render() {
95
+ let {
96
+ className,
97
+ children,
98
+ tagName,
99
+ dataId,
100
+ dataSelectorId,
101
+ tooltipClass,
102
+ tooltipParentClass,
103
+ needTooltip,
104
+ customProps
105
+ } = this.props;
106
+ let {
107
+ ContainerProps = {},
108
+ TooltipProps = {},
109
+ ExtraProps = {}
110
+ } = customProps;
111
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, _extends({
112
+ className: `${style.container} ${className}`,
113
+ dataId: dataId,
114
+ dataSelectorId: dataSelectorId,
115
+ tagName: tagName,
116
+ eleRef: this.getContainerRef
117
+ }, ContainerProps, ExtraProps), /*#__PURE__*/React.createElement(Box, {
118
+ flexible: true
119
+ }, children)), needTooltip ? /*#__PURE__*/React.createElement("div", _extends({}, ExtraProps, {
120
+ className: `${style.container} ${style.tooltip} ${tooltipParentClass}`,
121
+ "data-id": `${dataId}_tooltip`,
122
+ "data-test-id": `${dataId}_tooltip`,
123
+ "data-selector-id": `${dataSelectorId}_tooltip`
124
+ }), /*#__PURE__*/React.createElement(Tooltip, _extends({
125
+ ref: this.setTooltipRef,
126
+ customClass: tooltipClass
127
+ }, TooltipProps))) : null);
128
+ }
129
+
130
+ }
131
+ AppContainer.propTypes = propTypes;
132
+ AppContainer.defaultProps = defaultProps; // if (__DOCS__) {
133
+ // AppContainer.docs = {
134
+ // componentGroup: 'Template',
135
+ // folderName: 'Style Guide'
136
+ // };
137
+ // }