@zohodesk/components 1.0.0-alpha-271 → 1.0.0-alpha-272

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 (352) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +13 -5
  6. package/es/Avatar/Avatar.js +23 -11
  7. package/es/AvatarTeam/AvatarTeam.js +3 -3
  8. package/es/Button/Button.js +4 -3
  9. package/es/Buttongroup/Buttongroup.js +3 -3
  10. package/es/Card/Card.js +21 -10
  11. package/es/CheckBox/CheckBox.js +5 -3
  12. package/es/DateTime/CalendarView.js +32 -20
  13. package/es/DateTime/DateTime.js +75 -10
  14. package/es/DateTime/DateTimePopupFooter.js +4 -2
  15. package/es/DateTime/DateTimePopupHeader.js +8 -2
  16. package/es/DateTime/DateWidget.js +98 -35
  17. package/es/DateTime/DaysRow.js +4 -2
  18. package/es/DateTime/Time.js +10 -2
  19. package/es/DateTime/YearView.js +28 -4
  20. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  21. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  22. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  23. package/es/DateTime/common.js +3 -0
  24. package/es/DateTime/constants.js +1 -0
  25. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  26. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  27. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  28. package/es/DateTime/dateFormatUtils/index.js +32 -2
  29. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  30. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  31. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  32. package/es/DateTime/objectUtils.js +14 -20
  33. package/es/DateTime/props/defaultProps.js +2 -1
  34. package/es/DateTime/typeChecker.js +3 -0
  35. package/es/DateTime/validator.js +58 -6
  36. package/es/DropBox/DropBox.js +6 -2
  37. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  38. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  39. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  40. package/es/DropBox/props/defaultProps.js +1 -2
  41. package/es/DropBox/props/propTypes.js +1 -2
  42. package/es/DropDown/DropDown.js +8 -4
  43. package/es/DropDown/DropDownHeading.js +4 -5
  44. package/es/DropDown/DropDownItem.js +6 -0
  45. package/es/DropDown/DropDownSearch.js +4 -0
  46. package/es/DropDown/DropDownSeparator.js +1 -0
  47. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  48. package/es/Heading/Heading.js +2 -3
  49. package/es/Label/Label.js +2 -3
  50. package/es/Layout/Box.js +13 -0
  51. package/es/Layout/Container.js +12 -1
  52. package/es/Layout/index.js +1 -2
  53. package/es/ListItem/ListContainer.js +8 -3
  54. package/es/ListItem/ListItem.js +9 -3
  55. package/es/ListItem/ListItemWithAvatar.js +9 -3
  56. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  57. package/es/ListItem/ListItemWithIcon.js +8 -3
  58. package/es/ListItem/ListItemWithRadio.js +7 -3
  59. package/es/Modal/Modal.js +28 -11
  60. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  61. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  62. package/es/MultiSelect/EmptyState.js +2 -0
  63. package/es/MultiSelect/MultiSelect.js +99 -32
  64. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  65. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  66. package/es/MultiSelect/SelectedOptions.js +6 -3
  67. package/es/MultiSelect/Suggestions.js +7 -3
  68. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  69. package/es/MultiSelect/props/propTypes.js +2 -0
  70. package/es/PopOver/PopOver.js +18 -2
  71. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  72. package/es/Popup/Popup.js +77 -24
  73. package/es/Popup/__tests__/Popup.spec.js +17 -5
  74. package/es/Popup/viewPort.js +16 -4
  75. package/es/Provider/IdProvider.js +10 -5
  76. package/es/Provider/LibraryContext.js +6 -4
  77. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  78. package/es/Provider/ZindexProvider.js +9 -2
  79. package/es/Radio/Radio.js +4 -2
  80. package/es/Responsive/CustomResponsive.js +30 -18
  81. package/es/Responsive/RefWrapper.js +6 -7
  82. package/es/Responsive/ResizeComponent.js +35 -25
  83. package/es/Responsive/ResizeObserver.js +26 -6
  84. package/es/Responsive/Responsive.js +34 -20
  85. package/es/Responsive/index.js +1 -3
  86. package/es/Responsive/sizeObservers.js +28 -7
  87. package/es/Responsive/utils/index.js +7 -5
  88. package/es/Responsive/utils/shallowCompare.js +7 -2
  89. package/es/Responsive/windowResizeObserver.js +7 -0
  90. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  91. package/es/Ribbon/Ribbon.js +3 -2
  92. package/es/RippleEffect/RippleEffect.js +1 -3
  93. package/es/Select/GroupSelect.js +58 -14
  94. package/es/Select/Select.js +79 -33
  95. package/es/Select/SelectWithAvatar.js +17 -4
  96. package/es/Select/SelectWithIcon.js +46 -5
  97. package/es/Select/__tests__/Select.spec.js +6 -8
  98. package/es/Select/props/propTypes.js +1 -0
  99. package/es/Stencils/Stencils.js +3 -3
  100. package/es/Switch/Switch.js +5 -3
  101. package/es/Tab/Tab.js +4 -4
  102. package/es/Tab/TabContent.js +1 -0
  103. package/es/Tab/TabContentWrapper.js +2 -0
  104. package/es/Tab/TabWrapper.js +5 -2
  105. package/es/Tab/Tabs.js +54 -7
  106. package/es/Tab/__tests__/Tab.spec.js +1 -3
  107. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  108. package/es/Tag/Tag.js +6 -3
  109. package/es/TextBox/TextBox.js +15 -3
  110. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  111. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  112. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  113. package/es/Textarea/Textarea.js +12 -3
  114. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  115. package/es/Tooltip/Tooltip.js +58 -14
  116. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  117. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  118. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  119. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  120. package/es/semantic/Button/Button.js +3 -2
  121. package/es/utils/Common.js +54 -9
  122. package/es/utils/ContextOptimizer.js +4 -5
  123. package/es/utils/__tests__/debounce.spec.js +2 -2
  124. package/es/utils/constructFullName.js +2 -0
  125. package/es/utils/css/compileClassNames.js +5 -0
  126. package/es/utils/css/mergeStyle.js +7 -6
  127. package/es/utils/css/utils.js +1 -0
  128. package/es/utils/datetime/GMTZones.js +48 -0
  129. package/es/utils/datetime/common.js +31 -7
  130. package/es/utils/debounce.js +5 -1
  131. package/es/utils/dropDownUtils.js +68 -11
  132. package/es/utils/getInitial.js +4 -0
  133. package/es/utils/shallowEqual.js +6 -0
  134. package/lib/Accordion/Accordion.js +42 -18
  135. package/lib/Accordion/AccordionItem.js +40 -18
  136. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  137. package/lib/Accordion/index.js +3 -0
  138. package/lib/Accordion/props/propTypes.js +3 -0
  139. package/lib/Animation/Animation.js +38 -18
  140. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  141. package/lib/Animation/props/propTypes.js +3 -0
  142. package/lib/AppContainer/AppContainer.js +56 -21
  143. package/lib/AppContainer/props/propTypes.js +3 -0
  144. package/lib/Avatar/Avatar.js +78 -38
  145. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  146. package/lib/Avatar/props/propTypes.js +3 -0
  147. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  148. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  149. package/lib/AvatarTeam/props/propTypes.js +3 -0
  150. package/lib/Button/Button.js +31 -20
  151. package/lib/Button/css/cssJSLogic.js +18 -17
  152. package/lib/Button/index.js +3 -0
  153. package/lib/Button/props/defaultProps.js +2 -0
  154. package/lib/Button/props/propTypes.js +3 -0
  155. package/lib/Buttongroup/Buttongroup.js +32 -12
  156. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  157. package/lib/Buttongroup/props/propTypes.js +3 -0
  158. package/lib/Card/Card.js +102 -46
  159. package/lib/Card/__tests__/Card.spec.js +10 -1
  160. package/lib/Card/index.js +4 -0
  161. package/lib/Card/props/propTypes.js +3 -0
  162. package/lib/CheckBox/CheckBox.js +71 -47
  163. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  164. package/lib/CheckBox/props/propTypes.js +3 -0
  165. package/lib/DateTime/CalendarView.js +82 -42
  166. package/lib/DateTime/DateTime.js +246 -158
  167. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  168. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  169. package/lib/DateTime/DateWidget.js +352 -250
  170. package/lib/DateTime/DaysRow.js +27 -5
  171. package/lib/DateTime/Time.js +73 -32
  172. package/lib/DateTime/YearView.js +77 -28
  173. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  174. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  175. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  176. package/lib/DateTime/common.js +6 -0
  177. package/lib/DateTime/constants.js +1 -0
  178. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  179. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  180. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  181. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  182. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  183. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  184. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  185. package/lib/DateTime/index.js +2 -0
  186. package/lib/DateTime/objectUtils.js +24 -20
  187. package/lib/DateTime/props/defaultProps.js +2 -1
  188. package/lib/DateTime/props/propTypes.js +11 -1
  189. package/lib/DateTime/typeChecker.js +4 -0
  190. package/lib/DateTime/validator.js +73 -10
  191. package/lib/DropBox/DropBox.js +34 -10
  192. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  193. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  194. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  195. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  196. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  197. package/lib/DropBox/css/cssJSLogic.js +3 -1
  198. package/lib/DropBox/props/defaultProps.js +8 -4
  199. package/lib/DropBox/props/propTypes.js +10 -4
  200. package/lib/DropDown/DropDown.js +52 -8
  201. package/lib/DropDown/DropDownHeading.js +39 -20
  202. package/lib/DropDown/DropDownItem.js +42 -20
  203. package/lib/DropDown/DropDownSearch.js +40 -17
  204. package/lib/DropDown/DropDownSeparator.js +24 -4
  205. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  206. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  207. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  208. package/lib/DropDown/index.js +9 -0
  209. package/lib/DropDown/props/propTypes.js +6 -4
  210. package/lib/Heading/Heading.js +37 -15
  211. package/lib/Heading/props/propTypes.js +3 -0
  212. package/lib/Label/Label.js +39 -19
  213. package/lib/Label/__tests__/Label.spec.js +14 -1
  214. package/lib/Label/props/propTypes.js +3 -0
  215. package/lib/Layout/Box.js +31 -11
  216. package/lib/Layout/Container.js +29 -10
  217. package/lib/Layout/__tests__/Box.spec.js +65 -49
  218. package/lib/Layout/__tests__/Container.spec.js +67 -50
  219. package/lib/Layout/index.js +3 -0
  220. package/lib/Layout/props/propTypes.js +3 -0
  221. package/lib/Layout/utils.js +10 -0
  222. package/lib/ListItem/ListContainer.js +48 -27
  223. package/lib/ListItem/ListItem.js +69 -45
  224. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  225. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  226. package/lib/ListItem/ListItemWithIcon.js +68 -44
  227. package/lib/ListItem/ListItemWithRadio.js +65 -41
  228. package/lib/ListItem/index.js +7 -0
  229. package/lib/ListItem/props/propTypes.js +6 -4
  230. package/lib/Modal/Modal.js +45 -10
  231. package/lib/Modal/props/propTypes.js +3 -0
  232. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
  233. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  234. package/lib/MultiSelect/EmptyState.js +45 -24
  235. package/lib/MultiSelect/MultiSelect.js +323 -206
  236. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  237. package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
  238. package/lib/MultiSelect/SelectedOptions.js +43 -17
  239. package/lib/MultiSelect/Suggestions.js +64 -32
  240. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  241. package/lib/MultiSelect/index.js +5 -0
  242. package/lib/MultiSelect/props/defaultProps.js +2 -0
  243. package/lib/MultiSelect/props/propTypes.js +5 -0
  244. package/lib/PopOver/PopOver.js +95 -49
  245. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  246. package/lib/PopOver/index.js +4 -0
  247. package/lib/PopOver/props/propTypes.js +3 -0
  248. package/lib/Popup/Popup.js +158 -81
  249. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  250. package/lib/Popup/viewPort.js +28 -14
  251. package/lib/Provider/AvatarSize.js +4 -0
  252. package/lib/Provider/Config.js +2 -0
  253. package/lib/Provider/CssProvider.js +4 -0
  254. package/lib/Provider/IdProvider.js +17 -6
  255. package/lib/Provider/LibraryContext.js +35 -15
  256. package/lib/Provider/LibraryContextInit.js +4 -0
  257. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  258. package/lib/Provider/ZindexProvider.js +15 -3
  259. package/lib/Provider/index.js +5 -0
  260. package/lib/Radio/Radio.js +61 -38
  261. package/lib/Radio/__tests__/Radiospec.js +9 -5
  262. package/lib/Radio/props/propTypes.js +3 -0
  263. package/lib/Responsive/CustomResponsive.js +73 -29
  264. package/lib/Responsive/RefWrapper.js +17 -11
  265. package/lib/Responsive/ResizeComponent.js +62 -36
  266. package/lib/Responsive/ResizeObserver.js +24 -10
  267. package/lib/Responsive/Responsive.js +80 -30
  268. package/lib/Responsive/index.js +4 -0
  269. package/lib/Responsive/props/propTypes.js +3 -0
  270. package/lib/Responsive/sizeObservers.js +53 -17
  271. package/lib/Responsive/utils/index.js +11 -3
  272. package/lib/Responsive/utils/shallowCompare.js +11 -2
  273. package/lib/Responsive/windowResizeObserver.js +8 -0
  274. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  275. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  276. package/lib/Ribbon/Ribbon.js +33 -13
  277. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  278. package/lib/Ribbon/props/propTypes.js +3 -0
  279. package/lib/RippleEffect/RippleEffect.js +18 -10
  280. package/lib/RippleEffect/props/propTypes.js +3 -0
  281. package/lib/Select/GroupSelect.js +229 -130
  282. package/lib/Select/Select.js +290 -209
  283. package/lib/Select/SelectWithAvatar.js +102 -56
  284. package/lib/Select/SelectWithIcon.js +132 -76
  285. package/lib/Select/__tests__/Select.spec.js +133 -91
  286. package/lib/Select/index.js +5 -0
  287. package/lib/Select/props/defaultProps.js +5 -4
  288. package/lib/Select/props/propTypes.js +4 -0
  289. package/lib/Stencils/Stencils.js +29 -10
  290. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  291. package/lib/Stencils/props/propTypes.js +3 -0
  292. package/lib/Switch/Switch.js +57 -34
  293. package/lib/Switch/props/propTypes.js +3 -0
  294. package/lib/Tab/Tab.js +40 -27
  295. package/lib/Tab/TabContent.js +12 -5
  296. package/lib/Tab/TabContentWrapper.js +13 -6
  297. package/lib/Tab/TabWrapper.js +37 -19
  298. package/lib/Tab/Tabs.js +171 -91
  299. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  300. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  301. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  302. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  303. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  304. package/lib/Tab/index.js +6 -0
  305. package/lib/Tab/props/propTypes.js +3 -0
  306. package/lib/Tag/Tag.js +72 -43
  307. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  308. package/lib/Tag/props/propTypes.js +3 -0
  309. package/lib/TextBox/TextBox.js +85 -59
  310. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  311. package/lib/TextBox/props/propTypes.js +6 -4
  312. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  313. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  314. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  315. package/lib/Textarea/Textarea.js +54 -29
  316. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  317. package/lib/Textarea/props/propTypes.js +3 -0
  318. package/lib/Tooltip/Tooltip.js +94 -31
  319. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  320. package/lib/Tooltip/props/propTypes.js +3 -0
  321. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  322. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  323. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  324. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  325. package/lib/VelocityAnimation/index.js +3 -0
  326. package/lib/css.js +40 -0
  327. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  328. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  329. package/lib/index.js +57 -0
  330. package/lib/semantic/Button/Button.js +42 -22
  331. package/lib/semantic/Button/props/propTypes.js +3 -0
  332. package/lib/semantic/index.js +2 -0
  333. package/lib/utils/Common.js +110 -18
  334. package/lib/utils/ContextOptimizer.js +16 -10
  335. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  336. package/lib/utils/__tests__/debounce.spec.js +3 -2
  337. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  338. package/lib/utils/constructFullName.js +13 -4
  339. package/lib/utils/css/compileClassNames.js +6 -0
  340. package/lib/utils/css/mergeStyle.js +10 -7
  341. package/lib/utils/css/utils.js +8 -0
  342. package/lib/utils/datetime/GMTZones.js +55 -0
  343. package/lib/utils/datetime/common.js +52 -7
  344. package/lib/utils/debounce.js +6 -1
  345. package/lib/utils/dropDownUtils.js +175 -59
  346. package/lib/utils/dummyFunction.js +2 -0
  347. package/lib/utils/getHTMLFontSize.js +1 -0
  348. package/lib/utils/getInitial.js +6 -0
  349. package/lib/utils/index.js +4 -0
  350. package/lib/utils/scrollTo.js +2 -0
  351. package/lib/utils/shallowEqual.js +8 -0
  352. package/package.json +1 -1
package/es/Layout/Box.js CHANGED
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { BoxProps as propTypes } from './props/propTypes';
3
3
  import { BoxDefaultProps as defaultProps } from './props/defaultProps';
4
4
  /* eslint css-modules/no-unused-class: 0 */
5
+
5
6
  import { createProps, getClass, setProps } from './utils';
6
7
  import style from './Layout.module.css';
7
8
  /* eslint-disable react/no-unused-prop-types*/
@@ -21,34 +22,42 @@ function getBoxClassNames(props) {
21
22
  preventParentScroll
22
23
  } = props;
23
24
  const modificators = [className];
25
+
24
26
  if (flexible && !adjust) {
25
27
  modificators.push(getClass(style, 'grow'));
26
28
  modificators.push(getClass(style, 'basis'));
27
29
  } else if (flexible && adjust) {
28
30
  modificators.push(getClass(style, 'grow'));
29
31
  }
32
+
30
33
  if (isFirst) {
31
34
  modificators.push(getClass(style, 'first'));
32
35
  }
36
+
33
37
  if (isLast) {
34
38
  modificators.push(getClass(style, 'last'));
35
39
  }
40
+
36
41
  if (adjust) {
37
42
  modificators.push(getClass(style, 'basisAuto'));
38
43
  }
44
+
39
45
  if (shrink) {
40
46
  modificators.push(getClass(style, 'shrinkOn'));
41
47
  } else {
42
48
  modificators.push(getClass(style, 'shrinkOff'));
43
49
  }
50
+
44
51
  if (hidden) {
45
52
  hidden.forEach(key => {
46
53
  modificators.push(getClass(style, `hidden-screen-${key}`));
47
54
  });
48
55
  }
56
+
49
57
  if (column) {
50
58
  modificators.push(getClass(style, `col-${column}`));
51
59
  }
60
+
52
61
  if (align) {
53
62
  let alignClassMapping = {
54
63
  start: 'selfStart',
@@ -58,6 +67,7 @@ function getBoxClassNames(props) {
58
67
  let alignClass = alignClassMapping[align];
59
68
  modificators.push(getClass(style, alignClass));
60
69
  }
70
+
61
71
  if (scroll) {
62
72
  let scrollClassMapping = {
63
73
  horizontal: 'scrollx',
@@ -68,6 +78,7 @@ function getBoxClassNames(props) {
68
78
  let scrollClass = scrollClassMapping[scroll];
69
79
  modificators.push(getClass(style, scrollClass));
70
80
  }
81
+
71
82
  if (preventParentScroll) {
72
83
  let ParentScrollClassMapping = {
73
84
  horizontal: 'preventScrollBubbleX',
@@ -77,8 +88,10 @@ function getBoxClassNames(props) {
77
88
  let parentScrollClass = ParentScrollClassMapping[preventParentScroll];
78
89
  modificators.push(getClass(style, parentScrollClass));
79
90
  }
91
+
80
92
  return modificators;
81
93
  }
94
+
82
95
  export function getBoxProps(props) {
83
96
  return createProps(propTypes, props, getBoxClassNames(props));
84
97
  }
@@ -2,9 +2,9 @@ import React from 'react';
2
2
  import { ContainerProps as propTypes } from './props/propTypes';
3
3
  import { ContainerDefaultProps as defaultProps } from './props/defaultProps';
4
4
  /* eslint css-modules/no-unused-class: 0 */
5
+
5
6
  import { createProps, getClass, setProps } from './utils';
6
7
  import style from './Layout.module.css';
7
-
8
8
  /* eslint-disable react/no-unused-prop-types*/
9
9
 
10
10
  function getContainerClassNames(props) {
@@ -21,19 +21,23 @@ function getContainerClassNames(props) {
21
21
  preventParentScroll
22
22
  } = props;
23
23
  const modificators = [className];
24
+
24
25
  if (hidden) {
25
26
  hidden.forEach(key => {
26
27
  modificators.push(getClass(style, `hidden-screen-${key}`));
27
28
  });
28
29
  }
30
+
29
31
  if (isInline) {
30
32
  modificators.push(getClass(style, 'inflex'));
31
33
  } else {
32
34
  modificators.push(getClass(style, 'flex'));
33
35
  }
36
+
34
37
  if (isCover) {
35
38
  modificators.push(getClass(style, 'cover'));
36
39
  }
40
+
37
41
  let alignBoxClassMapping = {
38
42
  row: 'rowdir',
39
43
  column: 'coldir',
@@ -42,6 +46,7 @@ function getContainerClassNames(props) {
42
46
  };
43
47
  let alignClass = alignBoxClassMapping[alignBox];
44
48
  modificators.push(getClass(style, alignClass));
49
+
45
50
  if (alignContent) {
46
51
  let alignContentClassMapping = {
47
52
  start: 'alignStart',
@@ -53,6 +58,7 @@ function getContainerClassNames(props) {
53
58
  let alignContentClass = alignContentClassMapping[alignContent];
54
59
  modificators.push(getClass(style, alignContentClass));
55
60
  }
61
+
56
62
  if (wrap) {
57
63
  let wrapClassMapping = {
58
64
  wrap: 'wrap',
@@ -61,6 +67,7 @@ function getContainerClassNames(props) {
61
67
  let wrapClass = wrapClassMapping[wrap];
62
68
  modificators.push(getClass(style, wrapClass));
63
69
  }
70
+
64
71
  if (align) {
65
72
  let alignClassMapping = {
66
73
  horizontal: 'hCenter',
@@ -77,6 +84,7 @@ function getContainerClassNames(props) {
77
84
  let alignClass = alignClassMapping[align];
78
85
  modificators.push(getClass(style, alignClass));
79
86
  }
87
+
80
88
  if (scroll) {
81
89
  let scrollClassMapping = {
82
90
  horizontal: 'scrollx',
@@ -87,6 +95,7 @@ function getContainerClassNames(props) {
87
95
  let scrollClass = scrollClassMapping[scroll];
88
96
  modificators.push(getClass(style, scrollClass));
89
97
  }
98
+
90
99
  if (preventParentScroll) {
91
100
  let ParentScrollClassMapping = {
92
101
  horizontal: 'preventScrollBubbleX',
@@ -96,8 +105,10 @@ function getContainerClassNames(props) {
96
105
  let parentScrollClass = ParentScrollClassMapping[preventParentScroll];
97
106
  modificators.push(getClass(style, parentScrollClass));
98
107
  }
108
+
99
109
  return modificators;
100
110
  }
111
+
101
112
  export function getContainerProps(props) {
102
113
  return createProps(propTypes, props, getContainerClassNames(props));
103
114
  }
@@ -1,6 +1,5 @@
1
1
  export { default as Container } from './Container';
2
- export { default as Box } from './Box';
3
- // let Layout = {
2
+ export { default as Box } from './Box'; // let Layout = {
4
3
  // docs: {
5
4
  // componentGroup: 'Layout',
6
5
  // folderName: 'Style Guide',
@@ -1,4 +1,5 @@
1
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
+
2
3
  /**** Libraries ****/
3
4
  import React, { useCallback } from 'react';
4
5
  import { Container } from '../Layout';
@@ -7,6 +8,7 @@ import style from './ListItem.module.css';
7
8
  import { ListContainerDefaultProps } from './props/defaultProps';
8
9
  import { ListContainer_Props } from './props/propTypes';
9
10
  import { useResponsiveReceiver } from '../Responsive/CustomResponsive';
11
+
10
12
  const ListContainer = props => {
11
13
  const {
12
14
  size,
@@ -55,16 +57,20 @@ const ListContainer = props => {
55
57
  ariaLabel
56
58
  } = a11y;
57
59
  const options = {};
60
+
58
61
  if (isLink) {
59
62
  options.href = href;
60
63
  options.target = `_${target}`;
61
64
  }
65
+
62
66
  if (active) {
63
67
  options['data-selected'] = active;
64
68
  }
69
+
65
70
  if (!isDisabled && !isLink) {
66
71
  options.tabindex = '0';
67
72
  }
73
+
68
74
  return /*#__PURE__*/React.createElement(Container, _extends({
69
75
  role: role,
70
76
  "data-a11y-inside-focus": true,
@@ -84,11 +90,10 @@ const ListContainer = props => {
84
90
  "data-title": isDisabled ? disableTitle : title
85
91
  }, options, customProps), children);
86
92
  };
93
+
87
94
  ListContainer.defaultProps = ListContainerDefaultProps;
88
95
  ListContainer.propTypes = ListContainer_Props;
89
- export default ListContainer;
90
-
91
- // if (__DOCS__) {
96
+ export default ListContainer; // if (__DOCS__) {
92
97
  // ListContainer.docs = {
93
98
  // componentGroup: 'Molecule',
94
99
  // folderName: 'Style Guide'
@@ -1,4 +1,5 @@
1
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
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import { Box } from '../Layout';
@@ -6,8 +7,10 @@ import ListContainer from './ListContainer';
6
7
  import { ListItemDefaultProps } from './props/defaultProps';
7
8
  import { ListItem_Props } from './props/propTypes';
8
9
  /**** Components ****/
10
+
9
11
  import { Icon } from '@zohodesk/icons';
10
12
  /**** CSS ****/
13
+
11
14
  import style from './ListItem.module.css';
12
15
  export default class ListItem extends React.Component {
13
16
  constructor(props) {
@@ -16,6 +19,7 @@ export default class ListItem extends React.Component {
16
19
  this.getRef = this.getRef.bind(this);
17
20
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
18
21
  }
22
+
19
23
  getRef(ele) {
20
24
  this.ele = ele;
21
25
  let {
@@ -25,6 +29,7 @@ export default class ListItem extends React.Component {
25
29
  } = this.props;
26
30
  getRef && getRef(ele, index, id);
27
31
  }
32
+
28
33
  handleClick(e) {
29
34
  let {
30
35
  onClick,
@@ -34,6 +39,7 @@ export default class ListItem extends React.Component {
34
39
  } = this.props;
35
40
  onClick && onClick(id, value, index, e);
36
41
  }
42
+
37
43
  handleMouseEnter(e) {
38
44
  let {
39
45
  onMouseEnter,
@@ -43,6 +49,7 @@ export default class ListItem extends React.Component {
43
49
  } = this.props;
44
50
  onMouseEnter && onMouseEnter(id, value, index, e);
45
51
  }
52
+
46
53
  render() {
47
54
  let {
48
55
  size,
@@ -120,11 +127,10 @@ export default class ListItem extends React.Component {
120
127
  size: "8"
121
128
  })) : null);
122
129
  }
130
+
123
131
  }
124
132
  ListItem.defaultProps = ListItemDefaultProps;
125
- ListItem.propTypes = ListItem_Props;
126
-
127
- // if (__DOCS__) {
133
+ ListItem.propTypes = ListItem_Props; // if (__DOCS__) {
128
134
  // ListItem.docs = {
129
135
  // componentGroup: 'Molecule',
130
136
  // folderName: 'Style Guide'
@@ -1,16 +1,18 @@
1
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
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import { Box } from '../Layout';
5
6
  import ListContainer from './ListContainer';
6
7
  import { ListItemWithAvatarDefaultProps } from './props/defaultProps';
7
8
  import { ListItemWithAvatar_Props } from './props/propTypes';
8
-
9
9
  /**** Components ****/
10
+
10
11
  import Avatar from '../Avatar/Avatar';
11
12
  import AvatarTeam from '../AvatarTeam/AvatarTeam';
12
13
  import { Icon } from '@zohodesk/icons';
13
14
  /**** CSS ****/
15
+
14
16
  import style from './ListItem.module.css';
15
17
  export default class ListItemWithAvatar extends React.PureComponent {
16
18
  constructor(props) {
@@ -19,6 +21,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
19
21
  this.getRef = this.getRef.bind(this);
20
22
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
21
23
  }
24
+
22
25
  getRef(ele) {
23
26
  this.ele = ele;
24
27
  let {
@@ -28,6 +31,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
28
31
  } = this.props;
29
32
  getRef && getRef(ele, index, id);
30
33
  }
34
+
31
35
  handleClick(e) {
32
36
  let {
33
37
  onClick,
@@ -37,6 +41,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
37
41
  } = this.props;
38
42
  onClick && onClick(id, value, index, e);
39
43
  }
44
+
40
45
  handleMouseEnter(e) {
41
46
  let {
42
47
  onMouseEnter,
@@ -46,6 +51,7 @@ export default class ListItemWithAvatar extends React.PureComponent {
46
51
  } = this.props;
47
52
  onMouseEnter && onMouseEnter(id, value, index, e);
48
53
  }
54
+
49
55
  render() {
50
56
  let {
51
57
  size,
@@ -142,10 +148,10 @@ export default class ListItemWithAvatar extends React.PureComponent {
142
148
  size: "8"
143
149
  })) : null);
144
150
  }
151
+
145
152
  }
146
153
  ListItemWithAvatar.defaultProps = ListItemWithAvatarDefaultProps;
147
- ListItemWithAvatar.propTypes = ListItemWithAvatar_Props;
148
- // if (__DOCS__) {
154
+ ListItemWithAvatar.propTypes = ListItemWithAvatar_Props; // if (__DOCS__) {
149
155
  // ListItemWithAvatar.docs = {
150
156
  // componentGroup: 'Molecule',
151
157
  // folderName: 'Style Guide'
@@ -1,4 +1,5 @@
1
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
+
2
3
  import React from 'react';
3
4
  import ListContainer from './ListContainer';
4
5
  import { ListItemWithCheckBoxDefaultProps } from './props/defaultProps';
@@ -13,6 +14,7 @@ export default class ListItemWithCheckBox extends React.Component {
13
14
  this.getRef = this.getRef.bind(this);
14
15
  this.onHover = this.onHover.bind(this);
15
16
  }
17
+
16
18
  getRef(ele) {
17
19
  this.ele = ele;
18
20
  let {
@@ -21,6 +23,7 @@ export default class ListItemWithCheckBox extends React.Component {
21
23
  } = this.props;
22
24
  getRef && getRef(ele, index);
23
25
  }
26
+
24
27
  onClick(e) {
25
28
  let {
26
29
  onClick,
@@ -30,6 +33,7 @@ export default class ListItemWithCheckBox extends React.Component {
30
33
  } = this.props;
31
34
  onClick && onClick(id, value, index, e);
32
35
  }
36
+
33
37
  onHover(e) {
34
38
  let {
35
39
  onHover,
@@ -39,6 +43,7 @@ export default class ListItemWithCheckBox extends React.Component {
39
43
  } = this.props;
40
44
  onHover && onHover(id, value, index, e);
41
45
  }
46
+
42
47
  render() {
43
48
  let {
44
49
  size,
@@ -102,10 +107,10 @@ export default class ListItemWithCheckBox extends React.Component {
102
107
  className: needMultiLineText ? style.multiLineValue : style.value
103
108
  }, value));
104
109
  }
110
+
105
111
  }
106
112
  ListItemWithCheckBox.defaultProps = ListItemWithCheckBoxDefaultProps;
107
- ListItemWithCheckBox.propTypes = ListItemWithCheckBox_Props;
108
- // if (__DOCS__) {
113
+ ListItemWithCheckBox.propTypes = ListItemWithCheckBox_Props; // if (__DOCS__) {
109
114
  // ListItemWithCheckBox.docs = {
110
115
  // componentGroup: 'Molecule',
111
116
  // folderName: 'Style Guide'
@@ -1,4 +1,5 @@
1
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
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import { Box } from '../Layout';
@@ -7,6 +8,7 @@ import ListContainer from './ListContainer';
7
8
  import { ListItemWithIconDefaultProps } from './props/defaultProps';
8
9
  import { ListItemWithIcon_Props } from './props/propTypes';
9
10
  /**** CSS ****/
11
+
10
12
  import style from './ListItem.module.css';
11
13
  export default class ListItemWithIcon extends React.Component {
12
14
  constructor(props) {
@@ -15,6 +17,7 @@ export default class ListItemWithIcon extends React.Component {
15
17
  this.getRef = this.getRef.bind(this);
16
18
  this.handleMouseEnter = this.handleMouseEnter.bind(this);
17
19
  }
20
+
18
21
  getRef(ele) {
19
22
  this.ele = ele;
20
23
  let {
@@ -24,6 +27,7 @@ export default class ListItemWithIcon extends React.Component {
24
27
  } = this.props;
25
28
  getRef && getRef(ele, index, id);
26
29
  }
30
+
27
31
  handleClick(e) {
28
32
  let {
29
33
  onClick,
@@ -33,6 +37,7 @@ export default class ListItemWithIcon extends React.Component {
33
37
  } = this.props;
34
38
  onClick && onClick(id, value, index, e);
35
39
  }
40
+
36
41
  handleMouseEnter(e) {
37
42
  let {
38
43
  onMouseEnter,
@@ -42,6 +47,7 @@ export default class ListItemWithIcon extends React.Component {
42
47
  } = this.props;
43
48
  onMouseEnter && onMouseEnter(id, value, index, e);
44
49
  }
50
+
45
51
  render() {
46
52
  let {
47
53
  size,
@@ -124,11 +130,10 @@ export default class ListItemWithIcon extends React.Component {
124
130
  size: "8"
125
131
  })) : null);
126
132
  }
133
+
127
134
  }
128
135
  ListItemWithIcon.defaultProps = ListItemWithIconDefaultProps;
129
- ListItemWithIcon.propTypes = ListItemWithIcon_Props;
130
-
131
- // if (__DOCS__) {
136
+ ListItemWithIcon.propTypes = ListItemWithIcon_Props; // if (__DOCS__) {
132
137
  // ListItemWithIcon.docs = {
133
138
  // componentGroup: 'Molecule',
134
139
  // folderName: 'Style Guide'
@@ -1,4 +1,5 @@
1
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
+
2
3
  import React from 'react';
3
4
  import Radio from '../Radio/Radio';
4
5
  import { Box } from '../Layout';
@@ -13,6 +14,7 @@ export default class ListItemWithRadio extends React.Component {
13
14
  this.getRef = this.getRef.bind(this);
14
15
  this.onHover = this.onHover.bind(this);
15
16
  }
17
+
16
18
  getRef(ele) {
17
19
  this.ele = ele;
18
20
  let {
@@ -21,6 +23,7 @@ export default class ListItemWithRadio extends React.Component {
21
23
  } = this.props;
22
24
  getRef && getRef(ele, index);
23
25
  }
26
+
24
27
  onClick(e) {
25
28
  let {
26
29
  onClick,
@@ -30,6 +33,7 @@ export default class ListItemWithRadio extends React.Component {
30
33
  } = this.props;
31
34
  onClick && onClick(id, value, index, e);
32
35
  }
36
+
33
37
  onHover(e) {
34
38
  let {
35
39
  onHover,
@@ -39,6 +43,7 @@ export default class ListItemWithRadio extends React.Component {
39
43
  } = this.props;
40
44
  onHover && onHover(id, value, index, e);
41
45
  }
46
+
42
47
  render() {
43
48
  let {
44
49
  size,
@@ -104,11 +109,10 @@ export default class ListItemWithRadio extends React.Component {
104
109
  className: needMultiLineText ? style.multiLineValue : style.value
105
110
  }, value));
106
111
  }
112
+
107
113
  }
108
114
  ListItemWithRadio.defaultProps = ListItemWithRadioDefaultProps;
109
- ListItemWithRadio.propTypes = ListItemWithRadio_Props;
110
-
111
- // if (__DOCS__) {
115
+ ListItemWithRadio.propTypes = ListItemWithRadio_Props; // if (__DOCS__) {
112
116
  // ListItemWithRadio.docs = {
113
117
  // componentGroup: 'Molecule',
114
118
  // folderName: 'Style Guide'
package/es/Modal/Modal.js CHANGED
@@ -1,4 +1,5 @@
1
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
+
2
3
  /**** Libraries ****/
3
4
  import React from 'react';
4
5
  import ReactDOM from 'react-dom';
@@ -20,19 +21,21 @@ export default class Modal extends React.Component {
20
21
  };
21
22
  this.portalId = props.portalId;
22
23
  this.setRef = this.setRef.bind(this);
23
- this.ref = null;
24
- // this.portalDiv = document.createDocumentFragment();
24
+ this.ref = null; // this.portalDiv = document.createDocumentFragment();
25
25
  }
26
26
 
27
27
  setRef(ele) {
28
28
  this.ref = ele;
29
+
29
30
  if (this.isZIndexAppendNeeded) {
30
31
  this.ref.style.zIndex = this.zIndex;
31
32
  this.isZIndexAppendNeeded = false;
32
33
  }
33
34
  }
35
+
34
36
  getPortalDiv() {
35
37
  this.modalRoot = this.props.portalId ? document.querySelector(`[data-portal=${this.props.portalId}]`) : '';
38
+
36
39
  if (!this.modalRoot) {
37
40
  this.portalId = this.handleAddPortalId();
38
41
  this.newModalRoot = document.createElement('div');
@@ -41,8 +44,10 @@ export default class Modal extends React.Component {
41
44
  this.containerDiv && this.containerDiv.appendChild(this.newModalRoot);
42
45
  this.modalRoot = this.newModalRoot;
43
46
  }
47
+
44
48
  return this.modalRoot;
45
49
  }
50
+
46
51
  componentDidMount() {
47
52
  this.containerDiv = document.getElementsByTagName('desk')[0] ? document.getElementsByTagName('desk')[0] : document.getElementsByTagName('body')[0];
48
53
  this.portalDiv = this.getPortalDiv();
@@ -52,16 +57,19 @@ export default class Modal extends React.Component {
52
57
  this.handleInsertPortalDiv();
53
58
  });
54
59
  }
60
+
55
61
  componentWillUnmount() {
56
62
  //this.modalRoot && this.modalRoot.removeChild(this.portalDiv);
57
63
  if (this.newModalRoot) {
58
64
  this.containerDiv && this.containerDiv.removeChild(this.newModalRoot);
59
65
  this.handleRemovePortalId();
60
66
  }
67
+
61
68
  if (this.zIndex && portalChildrenTopIndexValues === this.zIndex) {
62
69
  portalChildrenTopIndexValues -= 1;
63
70
  }
64
71
  }
72
+
65
73
  componentDidUpdate(prevProps) {
66
74
  if (prevProps.isActive != this.props.isActive) {
67
75
  if (this.props.isActive) {
@@ -71,18 +79,22 @@ export default class Modal extends React.Component {
71
79
  }
72
80
  }
73
81
  }
82
+
74
83
  handleInsertPortalDiv() {
75
84
  let {
76
85
  autoZIndexNeeded
77
86
  } = this.props;
87
+
78
88
  if (autoZIndexNeeded) {
79
89
  let {
80
90
  isActive
81
91
  } = this.props;
92
+
82
93
  if (isActive) {
83
94
  let newHighValue = Number(portalChildrenTopIndexValues || 10) + 1;
84
95
  portalChildrenTopIndexValues = newHighValue;
85
96
  this.zIndex = newHighValue;
97
+
86
98
  if (this.ref) {
87
99
  this.ref.style.zIndex = newHighValue;
88
100
  } else {
@@ -91,6 +103,7 @@ export default class Modal extends React.Component {
91
103
  }
92
104
  }
93
105
  }
106
+
94
107
  handleAddPortalId() {
95
108
  let createdPortalIdsLen = createdPortalIds.length;
96
109
  let newPortalId = createdPortalIdsLen ? createdPortalIds[createdPortalIdsLen - 1] + 1 : 1;
@@ -99,35 +112,39 @@ export default class Modal extends React.Component {
99
112
  this.isCustomPortalId = true;
100
113
  return `${newPortalPrefix}${newPortalId}`;
101
114
  }
115
+
102
116
  handleRemovePortalId() {
103
117
  if (this.isCustomPortalId) {
104
118
  createdPortalIds = createdPortalIds.filter(id => id !== this.portalId);
105
119
  }
106
120
  }
121
+
107
122
  render() {
108
123
  let {
109
- children
110
- } = this.props,
111
- {
112
- isMounted
113
- } = this.state;
124
+ children
125
+ } = this.props,
126
+ {
127
+ isMounted
128
+ } = this.state;
114
129
  let Element = children.type,
115
- elementProps = children.props;
130
+ elementProps = children.props;
131
+
116
132
  if (isMounted) {
117
133
  if (Element) {
118
134
  return /*#__PURE__*/ReactDOM.createPortal( /*#__PURE__*/React.createElement(Element, _extends({
119
135
  ref: this.setRef
120
136
  }, elementProps)), this.portalDiv);
121
137
  }
138
+
122
139
  return null;
123
140
  }
141
+
124
142
  return null;
125
143
  }
144
+
126
145
  }
127
146
  Modal.defaultProps = defaultProps;
128
- Modal.propTypes = propTypes;
129
-
130
- // if (__DOCS__) {
147
+ Modal.propTypes = propTypes; // if (__DOCS__) {
131
148
  // Modal.docs = {
132
149
  // componentGroup: 'Atom',
133
150
  // folderName: 'Style Guide',