@zohodesk/components 1.2.23 → 1.2.24

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 (627) 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 +7 -89
  5. package/es/Animation/utils.js +83 -0
  6. package/es/AppContainer/AppContainer.js +14 -3
  7. package/es/AppContainer/AppContainer.module.css +2 -2
  8. package/es/Avatar/Avatar.js +23 -11
  9. package/es/Avatar/Avatar.module.css +18 -18
  10. package/es/AvatarTeam/AvatarTeam.js +3 -3
  11. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  12. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
  13. package/es/Button/Button.js +4 -3
  14. package/es/Button/css/Button.module.css +70 -70
  15. package/es/Buttongroup/Buttongroup.js +3 -3
  16. package/es/Buttongroup/Buttongroup.module.css +13 -15
  17. package/es/Card/Card.js +21 -10
  18. package/es/CheckBox/CheckBox.js +5 -3
  19. package/es/CheckBox/CheckBox.module.css +15 -15
  20. package/es/DateTime/CalendarView.js +32 -20
  21. package/es/DateTime/DateTime.js +69 -6
  22. package/es/DateTime/DateTime.module.css +40 -40
  23. package/es/DateTime/DateTimePopupFooter.js +4 -1
  24. package/es/DateTime/DateTimePopupHeader.js +8 -2
  25. package/es/DateTime/DateWidget.js +98 -35
  26. package/es/DateTime/DateWidget.module.css +5 -5
  27. package/es/DateTime/DaysRow.js +4 -1
  28. package/es/DateTime/Time.js +10 -1
  29. package/es/DateTime/YearView.js +28 -4
  30. package/es/DateTime/YearView.module.css +15 -15
  31. package/es/DateTime/common.js +3 -0
  32. package/es/DateTime/constants.js +1 -0
  33. package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
  34. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  35. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  36. package/es/DateTime/dateFormatUtils/index.js +31 -1
  37. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  38. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  39. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  40. package/es/DateTime/objectUtils.js +14 -20
  41. package/es/DateTime/typeChecker.js +3 -0
  42. package/es/DateTime/validator.js +58 -6
  43. package/es/DropBox/DropBox.js +6 -2
  44. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  45. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  46. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  47. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  48. package/es/DropBox/css/DropBox.module.css +6 -6
  49. package/es/DropBox/props/defaultProps.js +1 -2
  50. package/es/DropBox/props/propTypes.js +1 -2
  51. package/es/DropDown/DropDown.js +7 -1
  52. package/es/DropDown/DropDown.module.css +2 -2
  53. package/es/DropDown/DropDownHeading.js +4 -5
  54. package/es/DropDown/DropDownHeading.module.css +6 -6
  55. package/es/DropDown/DropDownItem.js +6 -0
  56. package/es/DropDown/DropDownItem.module.css +12 -12
  57. package/es/DropDown/DropDownSearch.js +4 -0
  58. package/es/DropDown/DropDownSearch.module.css +3 -3
  59. package/es/DropDown/DropDownSeparator.js +1 -0
  60. package/es/DropDown/DropDownSeparator.module.css +2 -2
  61. package/es/DropDown/props/propTypes.js +1 -2
  62. package/es/Heading/Heading.js +2 -3
  63. package/es/Heading/Heading.module.css +2 -2
  64. package/es/Label/Label.js +2 -3
  65. package/es/Label/Label.module.css +5 -5
  66. package/es/Label/__tests__/Label.spec.js +1 -2
  67. package/es/Layout/Box.js +15 -2
  68. package/es/Layout/Container.js +14 -3
  69. package/es/Layout/Layout.module.css +15 -15
  70. package/es/Layout/index.js +1 -2
  71. package/es/Layout/utils.js +1 -0
  72. package/es/ListItem/ListContainer.js +8 -3
  73. package/es/ListItem/ListItem.js +9 -3
  74. package/es/ListItem/ListItem.module.css +27 -38
  75. package/es/ListItem/ListItemWithAvatar.js +9 -3
  76. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  77. package/es/ListItem/ListItemWithIcon.js +8 -3
  78. package/es/ListItem/ListItemWithRadio.js +7 -3
  79. package/es/Modal/Modal.js +28 -11
  80. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  81. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  82. package/es/MultiSelect/EmptyState.js +2 -0
  83. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  84. package/es/MultiSelect/MultiSelect.js +99 -30
  85. package/es/MultiSelect/MultiSelect.module.css +31 -31
  86. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  87. package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
  88. package/es/MultiSelect/SelectedOptions.js +6 -3
  89. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  90. package/es/MultiSelect/Suggestions.js +7 -3
  91. package/es/MultiSelect/props/propTypes.js +2 -2
  92. package/es/PopOver/PopOver.js +16 -0
  93. package/es/Popup/Popup.js +77 -24
  94. package/es/Popup/viewPort.js +16 -4
  95. package/es/Provider/IdProvider.js +10 -5
  96. package/es/Provider/LibraryContext.js +6 -4
  97. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  98. package/es/Provider/ZindexProvider.js +9 -2
  99. package/es/Radio/Radio.js +3 -0
  100. package/es/Radio/Radio.module.css +9 -9
  101. package/es/Responsive/CustomResponsive.js +30 -18
  102. package/es/Responsive/RefWrapper.js +6 -7
  103. package/es/Responsive/ResizeComponent.js +35 -25
  104. package/es/Responsive/ResizeObserver.js +26 -6
  105. package/es/Responsive/Responsive.js +34 -20
  106. package/es/Responsive/index.js +1 -3
  107. package/es/Responsive/sizeObservers.js +28 -7
  108. package/es/Responsive/utils/index.js +7 -5
  109. package/es/Responsive/utils/shallowCompare.js +7 -2
  110. package/es/Responsive/windowResizeObserver.js +7 -0
  111. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  112. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  113. package/es/ResponsiveDropBox/props/propTypes.js +1 -2
  114. package/es/Ribbon/Ribbon.js +3 -2
  115. package/es/Ribbon/Ribbon.module.css +45 -48
  116. package/es/RippleEffect/RippleEffect.js +1 -3
  117. package/es/Select/GroupSelect.js +58 -14
  118. package/es/Select/Select.js +79 -33
  119. package/es/Select/Select.module.css +23 -23
  120. package/es/Select/SelectWithAvatar.js +17 -4
  121. package/es/Select/SelectWithIcon.js +46 -5
  122. package/es/Select/props/propTypes.js +2 -2
  123. package/es/Stencils/Stencils.js +3 -3
  124. package/es/Stencils/Stencils.module.css +11 -11
  125. package/es/Switch/Switch.js +5 -3
  126. package/es/Switch/Switch.module.css +23 -23
  127. package/es/Tab/Tab.js +4 -4
  128. package/es/Tab/Tab.module.css +14 -14
  129. package/es/Tab/TabContent.js +1 -0
  130. package/es/Tab/TabContentWrapper.js +3 -0
  131. package/es/Tab/TabWrapper.js +5 -2
  132. package/es/Tab/Tabs.js +54 -7
  133. package/es/Tab/Tabs.module.css +22 -22
  134. package/es/Tag/Tag.js +6 -3
  135. package/es/Tag/Tag.module.css +24 -25
  136. package/es/TextBox/TextBox.js +16 -3
  137. package/es/TextBox/TextBox.module.css +9 -9
  138. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  139. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  140. package/es/TextBoxIcon/props/propTypes.js +1 -2
  141. package/es/Textarea/Textarea.js +12 -3
  142. package/es/Textarea/Textarea.module.css +21 -21
  143. package/es/Tooltip/Tooltip.js +58 -14
  144. package/es/Tooltip/Tooltip.module.css +5 -5
  145. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  146. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  147. package/es/common/animation.module.css +8 -8
  148. package/es/common/avatarsizes.module.css +16 -16
  149. package/es/common/basicReset.module.css +3 -3
  150. package/es/common/common.module.css +24 -24
  151. package/es/common/customscroll.module.css +2 -2
  152. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  153. package/es/semantic/Button/Button.js +3 -2
  154. package/es/semantic/Button/semanticButton.module.css +1 -1
  155. package/es/utils/Common.js +54 -9
  156. package/es/utils/ContextOptimizer.js +4 -5
  157. package/es/utils/constructFullName.js +2 -0
  158. package/es/utils/datetime/common.js +16 -5
  159. package/es/utils/debounce.js +5 -1
  160. package/es/utils/dropDownUtils.js +68 -11
  161. package/es/utils/getInitial.js +4 -0
  162. package/es/utils/shallowEqual.js +6 -0
  163. package/es/v1/Accordion/Accordion.js +4 -3
  164. package/es/v1/Accordion/AccordionItem.js +4 -2
  165. package/es/v1/Animation/Animation.js +5 -89
  166. package/es/v1/Animation/utils.js +83 -0
  167. package/es/v1/AppContainer/AppContainer.js +9 -3
  168. package/es/v1/Avatar/Avatar.js +18 -6
  169. package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
  170. package/es/v1/Button/Button.js +3 -3
  171. package/es/v1/Card/Card.js +16 -8
  172. package/es/v1/CheckBox/CheckBox.js +6 -3
  173. package/es/v1/DateTime/CalendarView.js +32 -20
  174. package/es/v1/DateTime/DateTime.js +69 -6
  175. package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
  176. package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
  177. package/es/v1/DateTime/DateWidget.js +98 -35
  178. package/es/v1/DateTime/DaysRow.js +4 -1
  179. package/es/v1/DateTime/Time.js +10 -1
  180. package/es/v1/DateTime/YearView.js +28 -4
  181. package/es/v1/DropBox/DropBox.js +6 -2
  182. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  183. package/es/v1/DropBox/props/defaultProps.js +1 -2
  184. package/es/v1/DropBox/props/propTypes.js +1 -2
  185. package/es/v1/DropDown/DropDown.js +3 -0
  186. package/es/v1/DropDown/DropDownHeading.js +2 -2
  187. package/es/v1/DropDown/DropDownItem.js +5 -0
  188. package/es/v1/DropDown/DropDownSearch.js +3 -2
  189. package/es/v1/DropDown/props/propTypes.js +1 -2
  190. package/es/v1/Heading/Heading.js +1 -3
  191. package/es/v1/Layout/Box.js +15 -2
  192. package/es/v1/Layout/Container.js +14 -3
  193. package/es/v1/ListItem/ListContainer.js +8 -3
  194. package/es/v1/ListItem/ListItem.js +10 -3
  195. package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
  196. package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
  197. package/es/v1/ListItem/ListItemWithIcon.js +9 -3
  198. package/es/v1/ListItem/ListItemWithRadio.js +8 -3
  199. package/es/v1/Modal/Modal.js +17 -1
  200. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
  201. package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
  202. package/es/v1/MultiSelect/EmptyState.js +2 -0
  203. package/es/v1/MultiSelect/MultiSelect.js +100 -31
  204. package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
  205. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
  206. package/es/v1/MultiSelect/SelectedOptions.js +6 -3
  207. package/es/v1/MultiSelect/Suggestions.js +7 -3
  208. package/es/v1/MultiSelect/props/propTypes.js +2 -2
  209. package/es/v1/PopOver/PopOver.js +11 -0
  210. package/es/v1/Popup/Popup.js +77 -24
  211. package/es/v1/Provider/IdProvider.js +10 -5
  212. package/es/v1/Provider/LibraryContext.js +6 -4
  213. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
  214. package/es/v1/Provider/ZindexProvider.js +9 -2
  215. package/es/v1/Radio/Radio.js +5 -2
  216. package/es/v1/Responsive/CustomResponsive.js +30 -18
  217. package/es/v1/Responsive/RefWrapper.js +6 -7
  218. package/es/v1/Responsive/ResizeComponent.js +35 -25
  219. package/es/v1/Responsive/ResizeObserver.js +26 -6
  220. package/es/v1/Responsive/Responsive.js +34 -20
  221. package/es/v1/Responsive/index.js +1 -3
  222. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
  223. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
  224. package/es/v1/Select/GroupSelect.js +58 -14
  225. package/es/v1/Select/Select.js +81 -37
  226. package/es/v1/Select/SelectWithAvatar.js +17 -4
  227. package/es/v1/Select/SelectWithIcon.js +46 -5
  228. package/es/v1/Select/props/propTypes.js +2 -2
  229. package/es/v1/Stencils/Stencils.js +2 -0
  230. package/es/v1/Switch/Switch.js +6 -3
  231. package/es/v1/Tab/Tab.js +3 -3
  232. package/es/v1/Tab/TabContent.js +1 -0
  233. package/es/v1/Tab/TabContentWrapper.js +3 -0
  234. package/es/v1/Tab/TabWrapper.js +5 -2
  235. package/es/v1/Tab/Tabs.js +54 -9
  236. package/es/v1/Tab/v1Tab.module.css +14 -14
  237. package/es/v1/Tab/v1Tabs.module.css +22 -22
  238. package/es/v1/Tag/Tag.js +5 -1
  239. package/es/v1/TextBox/TextBox.js +14 -0
  240. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
  241. package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
  242. package/es/v1/Textarea/Textarea.js +10 -3
  243. package/es/v1/Tooltip/Tooltip.js +58 -14
  244. package/es/v1/Typography/Typography.js +2 -0
  245. package/es/v1/Typography/css/Typography.module.css +31 -31
  246. package/es/v1/Typography/css/cssJSLogic.js +3 -0
  247. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
  248. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
  249. package/es/v1/semantic/Button/Button.js +1 -2
  250. package/lib/Accordion/Accordion.js +42 -18
  251. package/lib/Accordion/AccordionItem.js +40 -18
  252. package/lib/Accordion/index.js +3 -0
  253. package/lib/Accordion/props/propTypes.js +3 -0
  254. package/lib/Animation/Animation.js +42 -104
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/Animation/utils.js +94 -0
  257. package/lib/AppContainer/AppContainer.js +58 -20
  258. package/lib/AppContainer/AppContainer.module.css +2 -2
  259. package/lib/AppContainer/props/propTypes.js +3 -0
  260. package/lib/Avatar/Avatar.js +78 -38
  261. package/lib/Avatar/Avatar.module.css +18 -18
  262. package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
  263. package/lib/Avatar/props/propTypes.js +3 -0
  264. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  265. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  266. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
  267. package/lib/AvatarTeam/props/propTypes.js +3 -0
  268. package/lib/Button/Button.js +33 -22
  269. package/lib/Button/__tests__/Button.spec.js +65 -48
  270. package/lib/Button/css/Button.module.css +70 -70
  271. package/lib/Button/css/cssJSLogic.js +18 -17
  272. package/lib/Button/index.js +3 -0
  273. package/lib/Button/props/defaultProps.js +2 -0
  274. package/lib/Button/props/propTypes.js +3 -0
  275. package/lib/Buttongroup/Buttongroup.js +32 -12
  276. package/lib/Buttongroup/Buttongroup.module.css +13 -15
  277. package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
  278. package/lib/Buttongroup/props/propTypes.js +3 -0
  279. package/lib/Card/Card.js +102 -46
  280. package/lib/Card/index.js +4 -0
  281. package/lib/Card/props/propTypes.js +3 -0
  282. package/lib/CheckBox/CheckBox.js +71 -47
  283. package/lib/CheckBox/CheckBox.module.css +15 -15
  284. package/lib/CheckBox/props/propTypes.js +3 -0
  285. package/lib/DateTime/CalendarView.js +82 -42
  286. package/lib/DateTime/DateTime.js +244 -156
  287. package/lib/DateTime/DateTime.module.css +40 -40
  288. package/lib/DateTime/DateTimePopupFooter.js +33 -8
  289. package/lib/DateTime/DateTimePopupHeader.js +49 -17
  290. package/lib/DateTime/DateWidget.js +350 -249
  291. package/lib/DateTime/DateWidget.module.css +5 -5
  292. package/lib/DateTime/DaysRow.js +28 -5
  293. package/lib/DateTime/Time.js +75 -32
  294. package/lib/DateTime/YearView.js +76 -27
  295. package/lib/DateTime/YearView.module.css +15 -15
  296. package/lib/DateTime/common.js +6 -0
  297. package/lib/DateTime/constants.js +1 -0
  298. package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
  299. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  300. package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
  301. package/lib/DateTime/dateFormatUtils/index.js +73 -16
  302. package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
  303. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  304. package/lib/DateTime/dateFormatUtils/yearChange.js +23 -11
  305. package/lib/DateTime/index.js +2 -0
  306. package/lib/DateTime/objectUtils.js +24 -20
  307. package/lib/DateTime/props/propTypes.js +11 -1
  308. package/lib/DateTime/typeChecker.js +4 -0
  309. package/lib/DateTime/validator.js +73 -10
  310. package/lib/DropBox/DropBox.js +45 -21
  311. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  312. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  313. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  314. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  315. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  316. package/lib/DropBox/css/DropBox.module.css +6 -6
  317. package/lib/DropBox/css/cssJSLogic.js +3 -1
  318. package/lib/DropBox/props/defaultProps.js +8 -4
  319. package/lib/DropBox/props/propTypes.js +10 -4
  320. package/lib/DropDown/DropDown.js +51 -5
  321. package/lib/DropDown/DropDown.module.css +2 -2
  322. package/lib/DropDown/DropDownHeading.js +39 -20
  323. package/lib/DropDown/DropDownHeading.module.css +6 -6
  324. package/lib/DropDown/DropDownItem.js +42 -20
  325. package/lib/DropDown/DropDownItem.module.css +12 -12
  326. package/lib/DropDown/DropDownSearch.js +40 -17
  327. package/lib/DropDown/DropDownSearch.module.css +3 -3
  328. package/lib/DropDown/DropDownSeparator.js +24 -4
  329. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  330. package/lib/DropDown/index.js +9 -0
  331. package/lib/DropDown/props/propTypes.js +10 -4
  332. package/lib/Heading/Heading.js +37 -15
  333. package/lib/Heading/Heading.module.css +2 -2
  334. package/lib/Heading/props/propTypes.js +3 -0
  335. package/lib/Label/Label.js +41 -21
  336. package/lib/Label/Label.module.css +5 -5
  337. package/lib/Label/__tests__/Label.spec.js +48 -34
  338. package/lib/Label/props/propTypes.js +3 -0
  339. package/lib/Layout/Box.js +35 -15
  340. package/lib/Layout/Container.js +33 -14
  341. package/lib/Layout/Layout.module.css +15 -15
  342. package/lib/Layout/index.js +3 -0
  343. package/lib/Layout/props/propTypes.js +3 -0
  344. package/lib/Layout/utils.js +11 -0
  345. package/lib/ListItem/ListContainer.js +55 -30
  346. package/lib/ListItem/ListItem.js +74 -45
  347. package/lib/ListItem/ListItem.module.css +27 -38
  348. package/lib/ListItem/ListItemWithAvatar.js +80 -48
  349. package/lib/ListItem/ListItemWithCheckBox.js +70 -40
  350. package/lib/ListItem/ListItemWithIcon.js +73 -44
  351. package/lib/ListItem/ListItemWithRadio.js +71 -42
  352. package/lib/ListItem/index.js +7 -0
  353. package/lib/ListItem/props/propTypes.js +6 -4
  354. package/lib/Modal/Modal.js +45 -10
  355. package/lib/Modal/props/propTypes.js +3 -0
  356. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +293 -166
  357. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  358. package/lib/MultiSelect/EmptyState.js +45 -24
  359. package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  360. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  361. package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  362. package/lib/MultiSelect/MultiSelect.js +333 -214
  363. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  364. package/lib/MultiSelect/MultiSelectHeader.js +29 -7
  365. package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
  366. package/lib/MultiSelect/SelectedOptions.js +43 -17
  367. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  368. package/lib/MultiSelect/Suggestions.js +64 -32
  369. package/lib/MultiSelect/index.js +5 -0
  370. package/lib/MultiSelect/props/defaultProps.js +2 -0
  371. package/lib/MultiSelect/props/propTypes.js +14 -4
  372. package/lib/PopOver/PopOver.js +94 -47
  373. package/lib/PopOver/index.js +4 -0
  374. package/lib/PopOver/props/propTypes.js +3 -0
  375. package/lib/Popup/Popup.js +158 -81
  376. package/lib/Popup/viewPort.js +28 -14
  377. package/lib/Provider/AvatarSize.js +4 -0
  378. package/lib/Provider/Config.js +2 -0
  379. package/lib/Provider/CssProvider.js +4 -0
  380. package/lib/Provider/IdProvider.js +17 -6
  381. package/lib/Provider/LibraryContext.js +35 -15
  382. package/lib/Provider/LibraryContextInit.js +4 -0
  383. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  384. package/lib/Provider/ZindexProvider.js +15 -3
  385. package/lib/Provider/index.js +5 -0
  386. package/lib/Radio/Radio.js +60 -36
  387. package/lib/Radio/Radio.module.css +9 -9
  388. package/lib/Radio/__tests__/Radio.spec.js +134 -103
  389. package/lib/Radio/props/propTypes.js +3 -0
  390. package/lib/Responsive/CustomResponsive.js +73 -29
  391. package/lib/Responsive/RefWrapper.js +17 -11
  392. package/lib/Responsive/ResizeComponent.js +62 -36
  393. package/lib/Responsive/ResizeObserver.js +24 -10
  394. package/lib/Responsive/Responsive.js +80 -30
  395. package/lib/Responsive/index.js +4 -0
  396. package/lib/Responsive/props/propTypes.js +3 -0
  397. package/lib/Responsive/sizeObservers.js +53 -17
  398. package/lib/Responsive/utils/index.js +11 -3
  399. package/lib/Responsive/utils/shallowCompare.js +11 -2
  400. package/lib/Responsive/windowResizeObserver.js +8 -0
  401. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  402. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  403. package/lib/ResponsiveDropBox/props/propTypes.js +9 -4
  404. package/lib/Ribbon/Ribbon.js +33 -13
  405. package/lib/Ribbon/Ribbon.module.css +45 -48
  406. package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
  407. package/lib/Ribbon/props/propTypes.js +3 -0
  408. package/lib/RippleEffect/RippleEffect.js +18 -10
  409. package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
  410. package/lib/RippleEffect/props/propTypes.js +3 -0
  411. package/lib/Select/GroupSelect.js +229 -130
  412. package/lib/Select/Select.js +295 -211
  413. package/lib/Select/Select.module.css +23 -23
  414. package/lib/Select/SelectWithAvatar.js +102 -56
  415. package/lib/Select/SelectWithIcon.js +131 -76
  416. package/lib/Select/index.js +5 -0
  417. package/lib/Select/props/defaultProps.js +5 -4
  418. package/lib/Select/props/propTypes.js +10 -4
  419. package/lib/Stencils/Stencils.js +29 -10
  420. package/lib/Stencils/Stencils.module.css +11 -11
  421. package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
  422. package/lib/Stencils/props/propTypes.js +3 -0
  423. package/lib/Switch/Switch.js +57 -34
  424. package/lib/Switch/Switch.module.css +23 -23
  425. package/lib/Switch/__tests__/Switch.spec.js +91 -72
  426. package/lib/Switch/props/propTypes.js +3 -0
  427. package/lib/Tab/Tab.js +40 -27
  428. package/lib/Tab/Tab.module.css +14 -14
  429. package/lib/Tab/TabContent.js +12 -5
  430. package/lib/Tab/TabContentWrapper.js +16 -8
  431. package/lib/Tab/TabWrapper.js +37 -19
  432. package/lib/Tab/Tabs.js +171 -91
  433. package/lib/Tab/Tabs.module.css +22 -22
  434. package/lib/Tab/index.js +6 -0
  435. package/lib/Tab/props/propTypes.js +3 -0
  436. package/lib/Tag/Tag.js +72 -43
  437. package/lib/Tag/Tag.module.css +24 -25
  438. package/lib/Tag/props/propTypes.js +3 -0
  439. package/lib/TextBox/TextBox.js +86 -60
  440. package/lib/TextBox/TextBox.module.css +9 -9
  441. package/lib/TextBox/props/propTypes.js +6 -4
  442. package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
  443. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  444. package/lib/TextBoxIcon/props/propTypes.js +9 -4
  445. package/lib/Textarea/Textarea.js +54 -29
  446. package/lib/Textarea/Textarea.module.css +21 -21
  447. package/lib/Textarea/props/propTypes.js +3 -0
  448. package/lib/Tooltip/Tooltip.js +94 -31
  449. package/lib/Tooltip/Tooltip.module.css +5 -5
  450. package/lib/Tooltip/props/propTypes.js +3 -0
  451. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  452. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  453. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  454. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  455. package/lib/VelocityAnimation/index.js +3 -0
  456. package/lib/common/animation.module.css +8 -8
  457. package/lib/common/avatarsizes.module.css +16 -16
  458. package/lib/common/basicReset.module.css +3 -3
  459. package/lib/common/common.module.css +24 -24
  460. package/lib/common/customscroll.module.css +2 -2
  461. package/lib/css.js +40 -0
  462. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  463. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  464. package/lib/index.js +58 -0
  465. package/lib/semantic/Button/Button.js +42 -22
  466. package/lib/semantic/Button/props/propTypes.js +3 -0
  467. package/lib/semantic/Button/semanticButton.module.css +1 -1
  468. package/lib/semantic/index.js +2 -0
  469. package/lib/utils/Common.js +111 -18
  470. package/lib/utils/ContextOptimizer.js +16 -10
  471. package/lib/utils/constructFullName.js +13 -4
  472. package/lib/utils/datetime/common.js +34 -5
  473. package/lib/utils/debounce.js +6 -1
  474. package/lib/utils/dropDownUtils.js +175 -59
  475. package/lib/utils/dummyFunction.js +2 -0
  476. package/lib/utils/getHTMLFontSize.js +1 -0
  477. package/lib/utils/getInitial.js +6 -0
  478. package/lib/utils/index.js +1 -0
  479. package/lib/utils/scrollTo.js +2 -0
  480. package/lib/utils/shallowEqual.js +8 -0
  481. package/lib/v1/Accordion/Accordion.js +38 -19
  482. package/lib/v1/Accordion/AccordionItem.js +23 -13
  483. package/lib/v1/Accordion/index.js +3 -0
  484. package/lib/v1/Accordion/props/propTypes.js +3 -0
  485. package/lib/v1/Animation/Animation.js +24 -100
  486. package/lib/v1/Animation/props/propTypes.js +3 -0
  487. package/lib/v1/Animation/utils.js +94 -0
  488. package/lib/v1/AppContainer/AppContainer.js +46 -17
  489. package/lib/v1/AppContainer/props/propTypes.js +3 -0
  490. package/lib/v1/Avatar/Avatar.js +68 -32
  491. package/lib/v1/Avatar/props/propTypes.js +3 -0
  492. package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
  493. package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
  494. package/lib/v1/Button/Button.js +32 -22
  495. package/lib/v1/Button/props/defaultProps.js +2 -0
  496. package/lib/v1/Button/props/propTypes.js +3 -0
  497. package/lib/v1/Buttongroup/Buttongroup.js +13 -5
  498. package/lib/v1/Buttongroup/props/propTypes.js +3 -0
  499. package/lib/v1/Card/Card.js +78 -44
  500. package/lib/v1/Card/index.js +4 -0
  501. package/lib/v1/Card/props/propTypes.js +3 -0
  502. package/lib/v1/CheckBox/CheckBox.js +52 -41
  503. package/lib/v1/CheckBox/props/propTypes.js +3 -0
  504. package/lib/v1/DateTime/CalendarView.js +89 -48
  505. package/lib/v1/DateTime/DateTime.js +246 -158
  506. package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
  507. package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
  508. package/lib/v1/DateTime/DateWidget.js +352 -251
  509. package/lib/v1/DateTime/DaysRow.js +28 -5
  510. package/lib/v1/DateTime/Time.js +75 -32
  511. package/lib/v1/DateTime/YearView.js +76 -27
  512. package/lib/v1/DateTime/index.js +2 -0
  513. package/lib/v1/DateTime/props/propTypes.js +11 -1
  514. package/lib/v1/DropBox/DropBox.js +45 -21
  515. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  516. package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
  517. package/lib/v1/DropBox/props/defaultProps.js +8 -4
  518. package/lib/v1/DropBox/props/propTypes.js +10 -4
  519. package/lib/v1/DropDown/DropDown.js +23 -3
  520. package/lib/v1/DropDown/DropDownHeading.js +20 -13
  521. package/lib/v1/DropDown/DropDownItem.js +26 -11
  522. package/lib/v1/DropDown/DropDownSearch.js +28 -16
  523. package/lib/v1/DropDown/DropDownSeparator.js +7 -1
  524. package/lib/v1/DropDown/props/propTypes.js +10 -4
  525. package/lib/v1/Heading/Heading.js +19 -14
  526. package/lib/v1/Heading/props/propTypes.js +3 -0
  527. package/lib/v1/Label/Label.js +22 -14
  528. package/lib/v1/Label/props/propTypes.js +3 -0
  529. package/lib/v1/Layout/Box.js +35 -15
  530. package/lib/v1/Layout/Container.js +33 -14
  531. package/lib/v1/Layout/index.js +3 -0
  532. package/lib/v1/Layout/props/propTypes.js +3 -0
  533. package/lib/v1/ListItem/ListContainer.js +55 -30
  534. package/lib/v1/ListItem/ListItem.js +53 -38
  535. package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
  536. package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
  537. package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
  538. package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
  539. package/lib/v1/ListItem/index.js +7 -0
  540. package/lib/v1/ListItem/props/propTypes.js +6 -4
  541. package/lib/v1/Modal/Modal.js +46 -9
  542. package/lib/v1/Modal/props/propTypes.js +3 -0
  543. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
  544. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
  545. package/lib/v1/MultiSelect/EmptyState.js +45 -24
  546. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  547. package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  548. package/lib/v1/MultiSelect/MultiSelect.js +335 -216
  549. package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
  550. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
  551. package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
  552. package/lib/v1/MultiSelect/Suggestions.js +64 -32
  553. package/lib/v1/MultiSelect/index.js +5 -0
  554. package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
  555. package/lib/v1/MultiSelect/props/propTypes.js +14 -4
  556. package/lib/v1/PopOver/PopOver.js +71 -40
  557. package/lib/v1/PopOver/props/propTypes.js +3 -0
  558. package/lib/v1/Popup/Popup.js +158 -81
  559. package/lib/v1/Provider/AvatarSize.js +4 -0
  560. package/lib/v1/Provider/Config.js +2 -0
  561. package/lib/v1/Provider/CssProvider.js +4 -0
  562. package/lib/v1/Provider/IdProvider.js +17 -6
  563. package/lib/v1/Provider/LibraryContext.js +35 -15
  564. package/lib/v1/Provider/LibraryContextInit.js +4 -0
  565. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
  566. package/lib/v1/Provider/ZindexProvider.js +15 -3
  567. package/lib/v1/Provider/index.js +5 -0
  568. package/lib/v1/Radio/Radio.js +42 -32
  569. package/lib/v1/Radio/props/propTypes.js +3 -0
  570. package/lib/v1/Responsive/CustomResponsive.js +73 -29
  571. package/lib/v1/Responsive/RefWrapper.js +17 -11
  572. package/lib/v1/Responsive/ResizeComponent.js +62 -36
  573. package/lib/v1/Responsive/ResizeObserver.js +24 -10
  574. package/lib/v1/Responsive/Responsive.js +80 -30
  575. package/lib/v1/Responsive/index.js +4 -0
  576. package/lib/v1/Responsive/props/propTypes.js +3 -0
  577. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
  578. package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
  579. package/lib/v1/Ribbon/Ribbon.js +14 -7
  580. package/lib/v1/Ribbon/props/propTypes.js +3 -0
  581. package/lib/v1/RippleEffect/RippleEffect.js +17 -7
  582. package/lib/v1/RippleEffect/props/propTypes.js +3 -0
  583. package/lib/v1/Select/GroupSelect.js +229 -130
  584. package/lib/v1/Select/Select.js +297 -214
  585. package/lib/v1/Select/SelectWithAvatar.js +102 -56
  586. package/lib/v1/Select/SelectWithIcon.js +131 -76
  587. package/lib/v1/Select/index.js +5 -0
  588. package/lib/v1/Select/props/defaultProps.js +5 -4
  589. package/lib/v1/Select/props/propTypes.js +10 -4
  590. package/lib/v1/Stencils/Stencils.js +13 -3
  591. package/lib/v1/Stencils/props/propTypes.js +3 -0
  592. package/lib/v1/Switch/Switch.js +38 -25
  593. package/lib/v1/Switch/props/propTypes.js +3 -0
  594. package/lib/v1/Tab/Tab.js +40 -27
  595. package/lib/v1/Tab/TabContent.js +12 -5
  596. package/lib/v1/Tab/TabContentWrapper.js +16 -8
  597. package/lib/v1/Tab/TabWrapper.js +37 -19
  598. package/lib/v1/Tab/Tabs.js +170 -83
  599. package/lib/v1/Tab/index.js +6 -0
  600. package/lib/v1/Tab/props/propTypes.js +3 -0
  601. package/lib/v1/Tab/v1Tab.module.css +14 -14
  602. package/lib/v1/Tab/v1Tabs.module.css +22 -22
  603. package/lib/v1/Tag/Tag.js +50 -32
  604. package/lib/v1/Tag/props/propTypes.js +3 -0
  605. package/lib/v1/TextBox/TextBox.js +70 -47
  606. package/lib/v1/TextBox/props/propTypes.js +6 -4
  607. package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
  608. package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
  609. package/lib/v1/Textarea/Textarea.js +45 -28
  610. package/lib/v1/Textarea/props/propTypes.js +3 -0
  611. package/lib/v1/Tooltip/Tooltip.js +94 -31
  612. package/lib/v1/Tooltip/props/propTypes.js +3 -0
  613. package/lib/v1/Typography/Typography.js +26 -15
  614. package/lib/v1/Typography/css/Typography.module.css +31 -31
  615. package/lib/v1/Typography/css/cssJSLogic.js +25 -20
  616. package/lib/v1/Typography/props/propTypes.js +3 -0
  617. package/lib/v1/Typography/utils/index.js +1 -0
  618. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
  619. package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  620. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
  621. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  622. package/lib/v1/semantic/Button/Button.js +24 -18
  623. package/lib/v1/semantic/Button/props/propTypes.js +3 -0
  624. package/lib/v1/semantic/index.js +2 -0
  625. package/package.json +2 -2
  626. package/result.json +1 -1
  627. package/.DS_Store +0 -0
@@ -4,30 +4,33 @@ const mutationObserverOptions = {
4
4
  // childList: true,
5
5
  attributes: true
6
6
  };
7
+
7
8
  function getSize(element) {
8
9
  let {
9
10
  offsetHeight,
10
11
  offsetWidth
11
- } = element;
12
- // const { height, width } = element.getBoundingClientRect();
12
+ } = element; // const { height, width } = element.getBoundingClientRect();
13
+
13
14
  return {
14
15
  height: offsetHeight,
15
16
  width: offsetWidth
16
17
  };
17
18
  }
19
+
18
20
  function dispatch() {
19
21
  let resizeResponsive = new Event('resizeResponsive');
20
22
  window.dispatchEvent(resizeResponsive);
21
23
  }
24
+
22
25
  if (!hasResizeObserver) {
23
26
  let interval = null;
24
27
  window.addEventListener('resize', () => {
25
28
  clearTimeout(interval);
26
29
  interval = setTimeout(dispatch, 100);
27
30
  });
28
- }
31
+ } // NOTE: this is not full polyfill , we just wrote what types of changes wlli
32
+
29
33
 
30
- // NOTE: this is not full polyfill , we just wrote what types of changes wlli
31
34
  export default class ResizeObserverPolyfill {
32
35
  constructor(onResize) {
33
36
  // method finding
@@ -42,57 +45,70 @@ export default class ResizeObserverPolyfill {
42
45
  height: 0,
43
46
  width: 0
44
47
  };
48
+
45
49
  if (hasResizeObserver) {
46
50
  this.resizeObserverInstance = new window.ResizeObserver(this.resizeHandlerDispatch);
47
51
  } else {
48
52
  this.mutationObserverInstance = new window.MutationObserver(this.resizeHandlerDispatch);
49
53
  }
50
54
  }
55
+
51
56
  replaceResizeHandler(onResize) {
52
57
  this.onResize = onResize;
53
58
  }
59
+
54
60
  resizeHandler() {
55
61
  if (!this.targetNode) {
56
62
  return;
57
63
  }
58
- const currentSize = getSize(this.targetNode);
59
- // if (this.size && shallowCompare(currentSize, this.size)) {
64
+
65
+ const currentSize = getSize(this.targetNode); // if (this.size && shallowCompare(currentSize, this.size)) {
66
+
60
67
  if (this.size && currentSize.height === this.size.height && currentSize.width === this.size.width) {
61
68
  return;
62
69
  }
70
+
63
71
  this.size = currentSize;
64
72
  this.onResize(this.size, this.targetNode);
65
73
  return true;
66
74
  }
75
+
67
76
  resizeHandlerDispatch() {
68
77
  if (!this.resizeHandler() || hasResizeObserver) {
69
78
  return;
70
79
  }
80
+
71
81
  dispatch();
72
82
  }
83
+
73
84
  debounce() {
74
85
  clearTimeout(this.interval);
75
86
  this.interval = setTimeout(this.resizeHandler, 100);
76
87
  }
88
+
77
89
  transitionEndHandler(event) {
78
90
  if (event.propertyName.indexOf('color') === -1) {
79
91
  this.resizeHandlerDispatch();
80
92
  }
81
93
  }
94
+
82
95
  addEventListeners(targetNode) {
83
96
  targetNode.addEventListener('transitionend', this.transitionEndHandler);
84
97
  window.addEventListener('resizeResponsive', this.debounce);
85
98
  targetNode.addEventListener('animationend', this.resizeHandlerDispatch);
86
99
  targetNode.addEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
87
100
  }
101
+
88
102
  removeEventListeners(targetNode) {
89
103
  targetNode.removeEventListener('transitionend', this.transitionEndHandler);
90
104
  window.removeEventListener('resizeResponsive', this.debounce);
91
105
  targetNode.removeEventListener('animationend', this.resizeHandlerDispatch);
92
106
  targetNode.removeEventListener('webkitAnimationEnd', this.resizeHandlerDispatch);
93
107
  }
108
+
94
109
  observe(targetNode) {
95
110
  this.targetNode = targetNode;
111
+
96
112
  if (hasResizeObserver) {
97
113
  this.resizeObserverInstance.observe(targetNode);
98
114
  } else {
@@ -100,14 +116,17 @@ export default class ResizeObserverPolyfill {
100
116
  this.mutationObserverInstance.observe(targetNode, mutationObserverOptions);
101
117
  }
102
118
  }
119
+
103
120
  replaceObservationElement(targetNode) {
104
121
  if (this.targetNode === targetNode) {
105
122
  return;
106
123
  }
124
+
107
125
  this.targetNode && this.disconnect();
108
126
  targetNode && this.observe(targetNode);
109
127
  targetNode && this.resizeHandlerDispatch();
110
128
  }
129
+
111
130
  disconnect() {
112
131
  this.targetNode && this.removeEventListeners(this.targetNode);
113
132
  hasResizeObserver ? this.resizeObserverInstance.disconnect() : this.mutationObserverInstance.disconnect();
@@ -117,4 +136,5 @@ export default class ResizeObserverPolyfill {
117
136
  width: 0
118
137
  };
119
138
  }
139
+
120
140
  }
@@ -1,42 +1,41 @@
1
- import React, { useContext, useEffect, useState, useMemo } from 'react';
2
- // import React, { useState, useMemo, useCallback, useContext } from 'react';
1
+ import React, { useContext, useEffect, useState, useMemo } from 'react'; // import React, { useState, useMemo, useCallback, useContext } from 'react';
2
+
3
3
  import { ResponsiveSender_defaultProps, ResponsiveReceiver_defaultProps } from './props/defaultProps';
4
4
  import { ResponsiveSender_propTypes, ResponsiveReceiver_propTypes } from './props/propTypes';
5
5
  import ResizeObserver from './ResizeObserver';
6
6
  import DOMRefWrapper from './RefWrapper';
7
7
  import { windowResizeObserver } from './windowResizeObserver';
8
- import { getBreakPointValue, defaultMatcher } from './utils/';
9
-
10
- // const sortedBreackPointKey = [ 'MOBILE_XS', 'MOBILE_S', 'MOBILE_M', 'MOBILE', 'TABLET_S', 'TABLET_M', 'TABLET', 'LAPTOP_S', 'LAPTOP_M', 'LAPTOP', 'MONITOR_M', 'MONITOR'];
8
+ import { getBreakPointValue, defaultMatcher } from './utils/'; // const sortedBreackPointKey = [ 'MOBILE_XS', 'MOBILE_S', 'MOBILE_M', 'MOBILE', 'TABLET_S', 'TABLET_M', 'TABLET', 'LAPTOP_S', 'LAPTOP_M', 'LAPTOP', 'MONITOR_M', 'MONITOR'];
11
9
 
12
10
  export const ResponsiveContext = /*#__PURE__*/React.createContext({});
13
11
  const defaultResponsiveId = 'parentReceiver';
14
12
  export class ResponsiveSender extends React.Component {
15
13
  constructor(props) {
16
- super(props);
14
+ super(props); // method binding
17
15
 
18
- // method binding
19
16
  this.onResize = this.onResize.bind(this);
20
17
  this.containerRef = this.containerRef.bind(this);
21
18
  this.getWidth = this.getWidth.bind(this);
22
19
  this.state = {
23
20
  breakPoint: null,
24
21
  getWidth: this.getWidth
25
- };
22
+ }; // variables
26
23
 
27
- // variables
28
24
  this.observer = new ResizeObserver(this.onResize);
29
25
  this.size = null;
30
26
  }
27
+
31
28
  getWidth() {
32
29
  if (!this.size) {
33
30
  return 0;
34
31
  }
32
+
35
33
  const {
36
34
  width
37
35
  } = this.size;
38
36
  return width;
39
37
  }
38
+
40
39
  onResize(size) {
41
40
  // const { matcher } = this.props;
42
41
  const {
@@ -44,21 +43,25 @@ export class ResponsiveSender extends React.Component {
44
43
  } = this.state;
45
44
  const newBreakPoint = defaultMatcher(size);
46
45
  this.size = size;
46
+
47
47
  if (breakPoint !== newBreakPoint) {
48
48
  this.setState({
49
49
  breakPoint: newBreakPoint
50
50
  });
51
51
  }
52
52
  }
53
+
53
54
  containerRef(node) {
54
55
  this.observer.replaceObservationElement(node);
55
56
  }
57
+
56
58
  isChanged(data, key) {
57
59
  this.memo = this.memo || {};
58
60
  const changed = this.memo[key] !== data;
59
61
  this.memo[key] = data;
60
62
  return changed;
61
63
  }
64
+
62
65
  render() {
63
66
  const parentContext = this.context;
64
67
  const {
@@ -68,9 +71,10 @@ export class ResponsiveSender extends React.Component {
68
71
  } = this.props;
69
72
  let {
70
73
  childContext
71
- } = this;
72
- // NOTE: this method called here ,Because of we must update local memo.
74
+ } = this; // NOTE: this method called here ,Because of we must update local memo.
75
+
73
76
  const isStateChanged = this.isChanged(this.state, 'state');
77
+
74
78
  if (this.isChanged(this.context, 'context') || isStateChanged) {
75
79
  childContext = Object.assign({}, parentContext);
76
80
  childContext[responsiveId] = this.state;
@@ -85,9 +89,9 @@ export class ResponsiveSender extends React.Component {
85
89
  ref: this.containerRef
86
90
  }, children));
87
91
  }
92
+
88
93
  }
89
- ResponsiveSender.defaultProps = {
90
- ...ResponsiveSender_defaultProps,
94
+ ResponsiveSender.defaultProps = { ...ResponsiveSender_defaultProps,
91
95
  responsiveId: defaultResponsiveId
92
96
  };
93
97
  ResponsiveSender.contextType = ResponsiveContext;
@@ -97,17 +101,20 @@ export function useResponsiveReceiver() {
97
101
  const [_, forceUpdate] = useState();
98
102
  let totalContextData = useContext(ResponsiveContext);
99
103
  let contextData = totalContextData[responsiveId] || totalContextData[defaultResponsiveId]; // NOTE: this for fallback of if responsive receiver id wrong
104
+
100
105
  let data = contextData;
101
106
  useEffect(() => {
102
107
  !contextData && windowResizeObserver.observe(forceUpdate);
103
108
  return () => !contextData && windowResizeObserver.unobserve(forceUpdate);
104
109
  }, [!!contextData]);
110
+
105
111
  if (!contextData) {
106
112
  data = {
107
113
  breakPoint: windowResizeObserver.getBreackPoint(),
108
114
  getWidth: () => windowResizeObserver.getSize().width
109
115
  };
110
116
  }
117
+
111
118
  const {
112
119
  breakPoint,
113
120
  getWidth
@@ -117,37 +124,45 @@ export function useResponsiveReceiver() {
117
124
  return {
118
125
  breakPoint,
119
126
  isTouchDevice,
127
+
120
128
  deviceBetween(breakPoint1, breakPoint2) {
121
129
  const width = getWidth();
130
+
122
131
  if (!width) {
123
132
  return false;
124
- }
125
- // const smallBreakPointIndex = sortedBreackPointKey.indexOf(breakPoint1);
133
+ } // const smallBreakPointIndex = sortedBreackPointKey.indexOf(breakPoint1);
126
134
  // const value1 = smallBreakPointIndex < 1 ? 0 : getBreakPointValue(sortedBreackPointKey[smallBreakPointIndex-1]);
135
+
136
+
127
137
  const value1 = getBreakPointValue(breakPoint1);
128
138
  const value2 = getBreakPointValue(breakPoint2);
139
+
129
140
  if (value1 > value2) {
130
141
  return this.deviceBetween(breakPoint2, breakPoint1);
131
142
  }
143
+
132
144
  return value1 <= width && value2 >= width || breakPoint1 === breakPoint || breakPoint2 === breakPoint;
133
145
  },
146
+
134
147
  deviceOnly() {
135
148
  let breakPoints = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
136
149
  return breakPoints.includes(breakPoint);
137
150
  },
151
+
138
152
  deviceUpto(breakPoint) {
139
153
  const width = getWidth();
154
+
140
155
  if (!width) {
141
156
  return false;
142
157
  }
158
+
143
159
  return width <= getBreakPointValue(breakPoint);
144
160
  }
161
+
145
162
  };
146
163
  }, [breakPoint, getWidth]);
147
164
  return childArg;
148
- }
149
-
150
- // function ResponsiveReceiverFunc({ children, hiddenSizes }, ref) {
165
+ } // function ResponsiveReceiverFunc({ children, hiddenSizes }, ref) {
151
166
  // const { breakPoint, methods } = useResponsiveReceiver();
152
167
  // console.log(hiddenSizes);
153
168
  // return hiddenSizes.indexOf(breakPoint) === -1 ? (
@@ -173,8 +188,7 @@ export function ResponsiveReceiver(_ref) {
173
188
  ref: eleRef
174
189
  }, child) : child : null;
175
190
  }
176
- ResponsiveReceiver.defaultProps = {
177
- ...ResponsiveReceiver_defaultProps,
191
+ ResponsiveReceiver.defaultProps = { ...ResponsiveReceiver_defaultProps,
178
192
  responsiveId: defaultResponsiveId
179
193
  };
180
194
  ResponsiveReceiver.propTypes = ResponsiveReceiver_propTypes;
@@ -1,8 +1,6 @@
1
1
  export { ResponsiveSender as CustomResponsiveSender, ResponsiveReceiver as CustomResponsiveReceiver, useResponsiveReceiver as useCustomResponsiveReceiver } from './CustomResponsive';
2
2
  export { ResponsiveSender, ResponsiveReceiver, useResponsiveReceiver } from './Responsive';
3
- export { default as ResizeComponent } from './ResizeComponent';
4
-
5
- // let Responsive = {
3
+ export { default as ResizeComponent } from './ResizeComponent'; // let Responsive = {
6
4
  // docs: {
7
5
  // componentGroup: 'Layout',
8
6
  // folderName: 'Style Guide'
@@ -4,34 +4,39 @@ const breakPointKeys = {
4
4
  minWidth: true,
5
5
  maxWidth: true
6
6
  };
7
+
7
8
  function isValideBreakPoint(breakPoint) {
8
9
  return Object.keys(breakPoint).every(key => breakPointKeys[key]);
9
10
  }
11
+
10
12
  function rangeCheck(minValue, maxValue, screenValue) {
11
13
  if (minValue === undefined) {
12
14
  if (maxValue === undefined) {
13
15
  return undefined;
14
16
  }
17
+
15
18
  return maxValue >= screenValue;
16
19
  }
20
+
17
21
  if (maxValue === undefined) {
18
22
  return minValue <= screenValue;
19
23
  }
24
+
20
25
  return minValue <= screenValue && maxValue >= screenValue;
21
26
  }
27
+
22
28
  function isTouchDeviceFunc() {
23
29
  // return window.matchMedia("(pointer: coarse)").matches
24
30
  return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;
25
- }
26
-
27
- // export const isTouchDevice =
31
+ } // export const isTouchDevice =
28
32
  // 'ontouchstart' in window && navigator.userAgent.match(/mobi/i) ? true : false;
33
+
34
+
29
35
  export const isTouchDevice = isTouchDeviceFunc();
30
36
  export function isBreackPointMatched(object, screen) {
31
37
  if (!isValideBreakPoint(object)) {
32
38
  // eslint-disable-next-line no-console
33
- console.error('only minHeight,maxHeight,minWidth,maxWidth these keys are allowed, your object', JSON.stringify(object));
34
- // return;
39
+ console.error('only minHeight,maxHeight,minWidth,maxWidth these keys are allowed, your object', JSON.stringify(object)); // return;
35
40
  }
36
41
 
37
42
  const {
@@ -55,46 +60,59 @@ export class Subscribale {
55
60
  constructor() {
56
61
  this.subscribers = [];
57
62
  }
63
+
58
64
  connect() {}
65
+
59
66
  disconnect() {}
67
+
60
68
  subscribe(func) {
61
69
  this.subscribers.length && this.connect();
62
70
  this.subscribers.push(func);
63
71
  }
72
+
64
73
  unsubscribe(func) {
65
74
  this.subscribers = this.subscribers.filter(s => s !== func);
66
75
  this.subscribers.length && this.disconnect();
67
76
  }
77
+
68
78
  dispatch() {
69
79
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
70
80
  args[_key] = arguments[_key];
71
81
  }
82
+
72
83
  this.subscribers.forEach(subscriber => {
73
84
  subscriber(...args);
74
85
  });
75
86
  }
87
+
76
88
  }
89
+
77
90
  class InitSubscribale extends Subscribale {
78
91
  // must be OverWrite
79
- connect() {}
92
+ connect() {} // must be OverWrite
93
+
80
94
 
81
- // must be OverWrite
82
95
  disconnect() {}
96
+
83
97
  subscribe(func) {
84
98
  !this.subscribers.length && this.connect();
85
99
  super.subscribe(func);
86
100
  }
101
+
87
102
  unsubscribe(func) {
88
103
  super.unsubscribe(func);
89
104
  !this.subscribers.length && this.disconnect();
90
105
  }
106
+
91
107
  }
108
+
92
109
  export const windowResizeObserver = (() => {
93
110
  const subscribaleInstance = new InitSubscribale();
94
111
  let size = {
95
112
  heigth: window.innerHeight,
96
113
  width: window.innerWidth
97
114
  };
115
+
98
116
  function handleResize() {
99
117
  const newSize = {
100
118
  height: window.innerHeight,
@@ -103,13 +121,16 @@ export const windowResizeObserver = (() => {
103
121
  size = newSize;
104
122
  subscribaleInstance.dispatch(newSize);
105
123
  }
124
+
106
125
  function addResizeListener() {
107
126
  window.addEventListener('resize', handleResize);
108
127
  handleResize();
109
128
  }
129
+
110
130
  function removeResizeListener() {
111
131
  window.removeEventListener('resize', handleResize);
112
132
  }
133
+
113
134
  subscribaleInstance.connect = addResizeListener;
114
135
  subscribaleInstance.disconnect = removeResizeListener;
115
136
  return {
@@ -11,7 +11,6 @@ export const breakPoints = {
11
11
  //1024
12
12
  LAPTOP: 90,
13
13
  //1440
14
-
15
14
  // other break points
16
15
  MOBILE_XS: 20,
17
16
  //320
@@ -26,25 +25,28 @@ export const breakPoints = {
26
25
  MONITOR_M: 100,
27
26
  //1600
28
27
  MONITOR: 120 //1920
29
- };
30
28
 
29
+ };
31
30
  export function getBreakPointValue(breakPoint) {
32
- return breakPoints[breakPoint] * getHTMLFontSize();
33
- // return breakPoints[breakPoint] * 16;
31
+ return breakPoints[breakPoint] * getHTMLFontSize(); // return breakPoints[breakPoint] * 16;
34
32
  }
35
-
36
33
  export const sortedBreackPointKey = Object.keys(breakPoints).sort((a, b) => breakPoints[a] - breakPoints[b]);
37
34
  export function defaultMatcher(size) {
38
35
  let currentSize = '';
36
+
39
37
  if (!size) {
40
38
  return currentSize;
41
39
  }
40
+
42
41
  let key;
42
+
43
43
  for (let i = 0; i < sortedBreackPointKey.length; i++) {
44
44
  key = sortedBreackPointKey[i];
45
+
45
46
  if (getBreakPointValue(key) >= size.width) {
46
47
  break;
47
48
  }
48
49
  }
50
+
49
51
  return key;
50
52
  }
@@ -1,6 +1,7 @@
1
1
  function isSame(a, b) {
2
2
  return a === b;
3
3
  }
4
+
4
5
  const {
5
6
  hasOwnProperty
6
7
  } = Object.prototype;
@@ -8,16 +9,20 @@ export default function shallowCompare(objA, objB) {
8
9
  if (objA && objB && typeof objA === 'object' && typeof objB === 'object') {
9
10
  const keysA = Object.keys(objA);
10
11
  const keysB = Object.keys(objB);
12
+
11
13
  if (keysA.length !== keysB.length) {
12
14
  return false;
13
- }
14
- // Test for A's keys different from B.
15
+ } // Test for A's keys different from B.
16
+
17
+
15
18
  for (let key of keysA) {
16
19
  if (!hasOwnProperty.call(objB, key) || !isSame(objA[key], objB[key])) {
17
20
  return false;
18
21
  }
19
22
  }
23
+
20
24
  return true;
21
25
  }
26
+
22
27
  return isSame(objA, objB);
23
28
  }
@@ -6,6 +6,7 @@ export const windowResizeObserver = (() => {
6
6
  width: 0
7
7
  };
8
8
  let breackPoint = null;
9
+
9
10
  function handleResize() {
10
11
  const newSize = {
11
12
  height: window.innerHeight,
@@ -13,26 +14,32 @@ export const windowResizeObserver = (() => {
13
14
  };
14
15
  size = newSize;
15
16
  const newBreackPoint = defaultMatcher(size);
17
+
16
18
  if (newBreackPoint !== breackPoint) {
17
19
  breackPoint = newBreackPoint;
18
20
  listeners.forEach(listener => listener(newBreackPoint));
19
21
  }
20
22
  }
23
+
21
24
  function addResizeListener() {
22
25
  window.addEventListener('resize', handleResize);
23
26
  handleResize();
24
27
  }
28
+
25
29
  function removeResizeListener() {
26
30
  window.removeEventListener('resize', handleResize);
27
31
  }
32
+
28
33
  return {
29
34
  observe: function (listener) {
30
35
  listeners.push(listener);
31
36
  listener.length === 1 && addResizeListener();
32
37
  },
38
+
33
39
  getBreackPoint() {
34
40
  return breackPoint;
35
41
  },
42
+
36
43
  getSize: function () {
37
44
  return size;
38
45
  },
@@ -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, { Component } from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
@@ -11,6 +12,7 @@ export default class ResponsiveDropBox extends Component {
11
12
  super(props);
12
13
  this.responsiveFunc = this.responsiveFunc.bind(this);
13
14
  }
15
+
14
16
  responsiveFunc(_ref) {
15
17
  let {
16
18
  mediaQueryOR
@@ -21,6 +23,7 @@ export default class ResponsiveDropBox extends Component {
21
23
  }])
22
24
  };
23
25
  }
26
+
24
27
  render() {
25
28
  const {
26
29
  children,
@@ -58,6 +61,7 @@ export default class ResponsiveDropBox extends Component {
58
61
  }, children);
59
62
  }));
60
63
  }
64
+
61
65
  }
62
66
  ResponsiveDropBox.propTypes = propTypes;
63
67
  ResponsiveDropBox.defaultProps = defaultProps;
@@ -1,6 +1,6 @@
1
1
  .dropBoxContainer {
2
- max-height: 70vh;
2
+ max-height: 70vh ;
3
3
  }
4
4
  .boxPadding{
5
- padding-bottom: 10px;
5
+ padding-bottom: var(--zd_size10) ;
6
6
  }
@@ -1,7 +1,6 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import { DropBoxPropTypes } from './../../DropBox/props/propTypes';
3
- export const propTypes = {
4
- ...DropBoxPropTypes,
3
+ export const propTypes = { ...DropBoxPropTypes,
5
4
  children: PropTypes.element,
6
5
  customClass: PropTypes.object,
7
6
  isResponsivePadding: PropTypes.bool,
@@ -2,6 +2,7 @@ import React from 'react';
2
2
  import { defaultProps } from './props/defaultProps';
3
3
  import { propTypes } from './props/propTypes';
4
4
  /* eslint css-modules/no-unused-class: [2, { markAsUsed: [default, flag, plain, ribbon, box, stamp, sticker, small, medium, large, xlarge, palette_default, palette_danger, palette_primary, palette_secondary, palette_info, palette_dark, plain_default, plain_danger, plain_primary, plain_secondary, plain_info, plain_dark, tag] }] */
5
+
5
6
  import style from './Ribbon.module.css';
6
7
  export default class Ribbon extends React.Component {
7
8
  render() {
@@ -31,10 +32,10 @@ export default class Ribbon extends React.Component {
31
32
  className: style.before
32
33
  }) : null);
33
34
  }
35
+
34
36
  }
35
37
  Ribbon.propTypes = propTypes;
36
- Ribbon.defaultProps = defaultProps;
37
- // if (__DOCS__) {
38
+ Ribbon.defaultProps = defaultProps; // if (__DOCS__) {
38
39
  // Ribbon.docs = {
39
40
  // componentGroup: 'Atom',
40
41
  // folderName: 'Style Guide',