@zohodesk/components 1.0.0-temp-163 → 1.0.0-temp-165

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 (446) hide show
  1. package/README.md +25 -0
  2. package/es/Accordion/Accordion.js +8 -3
  3. package/es/Accordion/AccordionItem.js +5 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +27 -10
  6. package/es/AppContainer/AppContainer.module.css +2 -2
  7. package/es/AppContainer/props/defaultProps.js +2 -1
  8. package/es/AppContainer/props/propTypes.js +1 -0
  9. package/es/Avatar/Avatar.js +26 -11
  10. package/es/Avatar/Avatar.module.css +18 -18
  11. package/es/AvatarTeam/AvatarTeam.js +4 -3
  12. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  13. package/es/Button/Button.js +5 -3
  14. package/es/Button/css/Button.module.css +70 -70
  15. package/es/Buttongroup/Buttongroup.js +4 -3
  16. package/es/Buttongroup/Buttongroup.module.css +14 -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 +33 -20
  21. package/es/DateTime/DateTime.js +78 -11
  22. package/es/DateTime/DateTime.module.css +39 -39
  23. package/es/DateTime/DateTimePopupFooter.js +4 -2
  24. package/es/DateTime/DateTimePopupHeader.js +8 -2
  25. package/es/DateTime/DateWidget.js +100 -35
  26. package/es/DateTime/DateWidget.module.css +5 -5
  27. package/es/DateTime/DaysRow.js +4 -2
  28. package/es/DateTime/Time.js +10 -2
  29. package/es/DateTime/YearView.js +28 -4
  30. package/es/DateTime/YearView.module.css +15 -15
  31. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  32. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  33. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  34. package/es/DateTime/common.js +3 -0
  35. package/es/DateTime/constants.js +1 -0
  36. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  37. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  38. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  39. package/es/DateTime/dateFormatUtils/index.js +32 -2
  40. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  41. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  42. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  43. package/es/DateTime/objectUtils.js +14 -20
  44. package/es/DateTime/props/defaultProps.js +2 -1
  45. package/es/DateTime/typeChecker.js +3 -0
  46. package/es/DateTime/validator.js +58 -6
  47. package/es/DropBox/DropBox.js +9 -5
  48. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  49. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  50. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  51. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  52. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  53. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  54. package/es/DropBox/css/DropBox.module.css +6 -6
  55. package/es/DropBox/props/defaultProps.js +1 -2
  56. package/es/DropBox/props/propTypes.js +1 -2
  57. package/es/DropDown/DropDown.js +10 -5
  58. package/es/DropDown/DropDown.module.css +2 -2
  59. package/es/DropDown/DropDownHeading.js +5 -5
  60. package/es/DropDown/DropDownHeading.module.css +6 -6
  61. package/es/DropDown/DropDownItem.js +8 -1
  62. package/es/DropDown/DropDownItem.module.css +12 -12
  63. package/es/DropDown/DropDownSearch.js +4 -0
  64. package/es/DropDown/DropDownSearch.module.css +3 -3
  65. package/es/DropDown/DropDownSeparator.js +1 -0
  66. package/es/DropDown/DropDownSeparator.module.css +2 -2
  67. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  68. package/es/Heading/Heading.js +3 -3
  69. package/es/Heading/Heading.module.css +2 -2
  70. package/es/Label/Label.js +10 -5
  71. package/es/Label/Label.module.css +5 -5
  72. package/es/Label/props/propTypes.js +4 -1
  73. package/es/Layout/Box.js +17 -3
  74. package/es/Layout/Container.js +16 -4
  75. package/es/Layout/Layout.module.css +15 -15
  76. package/es/Layout/index.js +1 -2
  77. package/es/Layout/props/defaultProps.js +2 -0
  78. package/es/Layout/props/propTypes.js +2 -0
  79. package/es/Layout/utils.js +5 -1
  80. package/es/ListItem/ListContainer.js +8 -3
  81. package/es/ListItem/ListItem.js +9 -3
  82. package/es/ListItem/ListItem.module.css +38 -38
  83. package/es/ListItem/ListItemWithAvatar.js +9 -3
  84. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  85. package/es/ListItem/ListItemWithIcon.js +8 -3
  86. package/es/ListItem/ListItemWithRadio.js +7 -3
  87. package/es/Modal/Modal.js +28 -11
  88. package/es/MultiSelect/AdvancedGroupMultiSelect.js +90 -13
  89. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  90. package/es/MultiSelect/EmptyState.js +6 -0
  91. package/es/MultiSelect/MultiSelect.js +100 -32
  92. package/es/MultiSelect/MultiSelect.module.css +31 -31
  93. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  94. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  95. package/es/MultiSelect/SelectedOptions.js +6 -3
  96. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  97. package/es/MultiSelect/Suggestions.js +7 -3
  98. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  99. package/es/MultiSelect/props/propTypes.js +2 -0
  100. package/es/PopOver/PopOver.js +18 -2
  101. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  102. package/es/Popup/Popup.js +77 -27
  103. package/es/Popup/__tests__/Popup.spec.js +17 -5
  104. package/es/Popup/viewPort.js +16 -4
  105. package/es/Provider/IdProvider.js +10 -5
  106. package/es/Provider/LibraryContext.js +6 -4
  107. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  108. package/es/Provider/ZindexProvider.js +9 -2
  109. package/es/Radio/Radio.js +4 -2
  110. package/es/Radio/Radio.module.css +9 -9
  111. package/es/Responsive/CustomResponsive.js +30 -18
  112. package/es/Responsive/RefWrapper.js +6 -7
  113. package/es/Responsive/ResizeComponent.js +37 -39
  114. package/es/Responsive/ResizeObserver.js +26 -6
  115. package/es/Responsive/Responsive.js +34 -20
  116. package/es/Responsive/index.js +1 -3
  117. package/es/Responsive/sizeObservers.js +28 -7
  118. package/es/Responsive/utils/index.js +7 -5
  119. package/es/Responsive/utils/shallowCompare.js +7 -2
  120. package/es/Responsive/windowResizeObserver.js +7 -0
  121. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  122. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  123. package/es/Ribbon/Ribbon.js +4 -2
  124. package/es/Ribbon/Ribbon.module.css +46 -48
  125. package/es/RippleEffect/RippleEffect.js +1 -3
  126. package/es/Select/GroupSelect.js +59 -14
  127. package/es/Select/Select.js +81 -34
  128. package/es/Select/Select.module.css +23 -23
  129. package/es/Select/SelectWithAvatar.js +19 -4
  130. package/es/Select/SelectWithIcon.js +48 -6
  131. package/es/Select/__tests__/Select.spec.js +6 -8
  132. package/es/Select/props/propTypes.js +1 -0
  133. package/es/Stencils/Stencils.js +3 -3
  134. package/es/Stencils/Stencils.module.css +11 -11
  135. package/es/Switch/Switch.js +6 -3
  136. package/es/Switch/Switch.module.css +23 -23
  137. package/es/Tab/Tab.js +4 -4
  138. package/es/Tab/Tab.module.css +14 -14
  139. package/es/Tab/TabContent.js +1 -0
  140. package/es/Tab/TabContentWrapper.js +2 -0
  141. package/es/Tab/TabWrapper.js +5 -2
  142. package/es/Tab/Tabs.js +63 -28
  143. package/es/Tab/Tabs.module.css +24 -42
  144. package/es/Tab/__tests__/Tab.spec.js +1 -3
  145. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  146. package/es/Tag/Tag.js +7 -3
  147. package/es/Tag/Tag.module.css +25 -25
  148. package/es/TextBox/TextBox.js +16 -3
  149. package/es/TextBox/TextBox.module.css +9 -9
  150. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  151. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  152. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  153. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  154. package/es/Textarea/Textarea.js +13 -3
  155. package/es/Textarea/Textarea.module.css +21 -21
  156. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  157. package/es/Tooltip/Tooltip.js +60 -15
  158. package/es/Tooltip/Tooltip.module.css +5 -5
  159. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  160. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  161. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  162. package/es/common/animation.module.css +8 -8
  163. package/es/common/avatarsizes.module.css +16 -16
  164. package/es/common/basicReset.module.css +3 -3
  165. package/es/common/common.module.css +24 -24
  166. package/es/common/customscroll.module.css +2 -2
  167. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  168. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  169. package/es/semantic/Button/Button.js +4 -2
  170. package/es/semantic/Button/semanticButton.module.css +1 -1
  171. package/es/utils/Common.js +58 -9
  172. package/es/utils/ContextOptimizer.js +4 -5
  173. package/es/utils/__tests__/debounce.spec.js +2 -2
  174. package/es/utils/constructFullName.js +2 -0
  175. package/es/utils/css/compileClassNames.js +5 -0
  176. package/es/utils/css/mergeStyle.js +7 -6
  177. package/es/utils/css/utils.js +1 -0
  178. package/es/utils/datetime/GMTZones.js +48 -0
  179. package/es/utils/datetime/common.js +31 -7
  180. package/es/utils/debounce.js +5 -1
  181. package/es/utils/dropDownUtils.js +68 -11
  182. package/es/utils/getInitial.js +4 -0
  183. package/es/utils/shallowEqual.js +6 -0
  184. package/lib/Accordion/Accordion.js +43 -18
  185. package/lib/Accordion/AccordionItem.js +41 -18
  186. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  187. package/lib/Accordion/index.js +3 -0
  188. package/lib/Accordion/props/propTypes.js +3 -0
  189. package/lib/Animation/Animation.js +38 -18
  190. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  191. package/lib/Animation/props/propTypes.js +3 -0
  192. package/lib/AppContainer/AppContainer.js +66 -26
  193. package/lib/AppContainer/AppContainer.module.css +2 -2
  194. package/lib/AppContainer/props/defaultProps.js +2 -1
  195. package/lib/AppContainer/props/propTypes.js +4 -0
  196. package/lib/Avatar/Avatar.js +81 -38
  197. package/lib/Avatar/Avatar.module.css +18 -18
  198. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  199. package/lib/Avatar/props/propTypes.js +3 -0
  200. package/lib/AvatarTeam/AvatarTeam.js +53 -30
  201. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  202. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  203. package/lib/AvatarTeam/props/propTypes.js +3 -0
  204. package/lib/Button/Button.js +32 -20
  205. package/lib/Button/css/Button.module.css +70 -70
  206. package/lib/Button/css/cssJSLogic.js +18 -17
  207. package/lib/Button/index.js +3 -0
  208. package/lib/Button/props/defaultProps.js +2 -0
  209. package/lib/Button/props/propTypes.js +3 -0
  210. package/lib/Buttongroup/Buttongroup.js +33 -12
  211. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  212. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  213. package/lib/Buttongroup/props/propTypes.js +3 -0
  214. package/lib/Card/Card.js +102 -46
  215. package/lib/Card/__tests__/Card.spec.js +10 -1
  216. package/lib/Card/index.js +4 -0
  217. package/lib/Card/props/propTypes.js +3 -0
  218. package/lib/CheckBox/CheckBox.js +71 -47
  219. package/lib/CheckBox/CheckBox.module.css +15 -15
  220. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  221. package/lib/CheckBox/props/propTypes.js +3 -0
  222. package/lib/DateTime/CalendarView.js +83 -42
  223. package/lib/DateTime/DateTime.js +249 -159
  224. package/lib/DateTime/DateTime.module.css +39 -39
  225. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  226. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  227. package/lib/DateTime/DateWidget.js +354 -250
  228. package/lib/DateTime/DateWidget.module.css +5 -5
  229. package/lib/DateTime/DaysRow.js +27 -5
  230. package/lib/DateTime/Time.js +73 -32
  231. package/lib/DateTime/YearView.js +77 -28
  232. package/lib/DateTime/YearView.module.css +15 -15
  233. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  234. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  235. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  236. package/lib/DateTime/common.js +6 -0
  237. package/lib/DateTime/constants.js +1 -0
  238. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  239. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  240. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  241. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  242. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  243. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  244. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  245. package/lib/DateTime/index.js +2 -0
  246. package/lib/DateTime/objectUtils.js +24 -20
  247. package/lib/DateTime/props/defaultProps.js +2 -1
  248. package/lib/DateTime/props/propTypes.js +11 -1
  249. package/lib/DateTime/typeChecker.js +4 -0
  250. package/lib/DateTime/validator.js +73 -10
  251. package/lib/DropBox/DropBox.js +36 -12
  252. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  253. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  254. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  255. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  256. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  257. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  258. package/lib/DropBox/css/DropBox.module.css +6 -6
  259. package/lib/DropBox/css/cssJSLogic.js +3 -1
  260. package/lib/DropBox/props/defaultProps.js +8 -4
  261. package/lib/DropBox/props/propTypes.js +10 -4
  262. package/lib/DropDown/DropDown.js +54 -9
  263. package/lib/DropDown/DropDown.module.css +2 -2
  264. package/lib/DropDown/DropDownHeading.js +40 -20
  265. package/lib/DropDown/DropDownHeading.module.css +6 -6
  266. package/lib/DropDown/DropDownItem.js +44 -21
  267. package/lib/DropDown/DropDownItem.module.css +12 -12
  268. package/lib/DropDown/DropDownSearch.js +40 -17
  269. package/lib/DropDown/DropDownSearch.module.css +3 -3
  270. package/lib/DropDown/DropDownSeparator.js +24 -4
  271. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  272. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  273. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  274. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  275. package/lib/DropDown/index.js +9 -0
  276. package/lib/DropDown/props/propTypes.js +6 -4
  277. package/lib/Heading/Heading.js +39 -16
  278. package/lib/Heading/Heading.module.css +2 -2
  279. package/lib/Heading/props/propTypes.js +3 -0
  280. package/lib/Label/Label.js +45 -20
  281. package/lib/Label/Label.module.css +5 -5
  282. package/lib/Label/__tests__/Label.spec.js +14 -1
  283. package/lib/Label/props/propTypes.js +7 -1
  284. package/lib/Layout/Box.js +39 -15
  285. package/lib/Layout/Container.js +37 -14
  286. package/lib/Layout/Layout.module.css +15 -15
  287. package/lib/Layout/__tests__/Box.spec.js +65 -49
  288. package/lib/Layout/__tests__/Container.spec.js +67 -50
  289. package/lib/Layout/index.js +3 -0
  290. package/lib/Layout/props/defaultProps.js +2 -0
  291. package/lib/Layout/props/propTypes.js +5 -0
  292. package/lib/Layout/utils.js +15 -1
  293. package/lib/ListItem/ListContainer.js +48 -27
  294. package/lib/ListItem/ListItem.js +69 -45
  295. package/lib/ListItem/ListItem.module.css +38 -38
  296. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  297. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  298. package/lib/ListItem/ListItemWithIcon.js +68 -44
  299. package/lib/ListItem/ListItemWithRadio.js +65 -41
  300. package/lib/ListItem/index.js +7 -0
  301. package/lib/ListItem/props/propTypes.js +6 -4
  302. package/lib/Modal/Modal.js +45 -10
  303. package/lib/Modal/props/propTypes.js +3 -0
  304. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -166
  305. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  306. package/lib/MultiSelect/EmptyState.js +49 -24
  307. package/lib/MultiSelect/MultiSelect.js +324 -206
  308. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  309. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  310. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  311. package/lib/MultiSelect/SelectedOptions.js +43 -17
  312. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  313. package/lib/MultiSelect/Suggestions.js +64 -32
  314. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  315. package/lib/MultiSelect/index.js +5 -0
  316. package/lib/MultiSelect/props/defaultProps.js +2 -0
  317. package/lib/MultiSelect/props/propTypes.js +5 -0
  318. package/lib/PopOver/PopOver.js +95 -49
  319. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  320. package/lib/PopOver/index.js +4 -0
  321. package/lib/PopOver/props/propTypes.js +3 -0
  322. package/lib/Popup/Popup.js +158 -84
  323. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  324. package/lib/Popup/viewPort.js +28 -14
  325. package/lib/Provider/AvatarSize.js +4 -0
  326. package/lib/Provider/Config.js +2 -0
  327. package/lib/Provider/CssProvider.js +4 -0
  328. package/lib/Provider/IdProvider.js +17 -6
  329. package/lib/Provider/LibraryContext.js +35 -15
  330. package/lib/Provider/LibraryContextInit.js +4 -0
  331. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  332. package/lib/Provider/ZindexProvider.js +15 -3
  333. package/lib/Provider/index.js +5 -0
  334. package/lib/Radio/Radio.js +61 -38
  335. package/lib/Radio/Radio.module.css +9 -9
  336. package/lib/Radio/__tests__/Radiospec.js +9 -5
  337. package/lib/Radio/props/propTypes.js +3 -0
  338. package/lib/Responsive/CustomResponsive.js +73 -29
  339. package/lib/Responsive/RefWrapper.js +17 -11
  340. package/lib/Responsive/ResizeComponent.js +63 -49
  341. package/lib/Responsive/ResizeObserver.js +24 -10
  342. package/lib/Responsive/Responsive.js +80 -30
  343. package/lib/Responsive/index.js +4 -0
  344. package/lib/Responsive/props/propTypes.js +3 -0
  345. package/lib/Responsive/sizeObservers.js +53 -17
  346. package/lib/Responsive/utils/index.js +11 -3
  347. package/lib/Responsive/utils/shallowCompare.js +11 -2
  348. package/lib/Responsive/windowResizeObserver.js +8 -0
  349. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  350. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  351. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  352. package/lib/Ribbon/Ribbon.js +34 -13
  353. package/lib/Ribbon/Ribbon.module.css +46 -48
  354. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  355. package/lib/Ribbon/props/propTypes.js +3 -0
  356. package/lib/RippleEffect/RippleEffect.js +18 -10
  357. package/lib/RippleEffect/props/propTypes.js +3 -0
  358. package/lib/Select/GroupSelect.js +230 -130
  359. package/lib/Select/Select.js +292 -210
  360. package/lib/Select/Select.module.css +23 -23
  361. package/lib/Select/SelectWithAvatar.js +104 -56
  362. package/lib/Select/SelectWithIcon.js +134 -77
  363. package/lib/Select/__tests__/Select.spec.js +133 -91
  364. package/lib/Select/index.js +5 -0
  365. package/lib/Select/props/defaultProps.js +5 -4
  366. package/lib/Select/props/propTypes.js +4 -0
  367. package/lib/Stencils/Stencils.js +29 -10
  368. package/lib/Stencils/Stencils.module.css +11 -11
  369. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  370. package/lib/Stencils/props/propTypes.js +3 -0
  371. package/lib/Switch/Switch.js +58 -34
  372. package/lib/Switch/Switch.module.css +23 -23
  373. package/lib/Switch/props/propTypes.js +3 -0
  374. package/lib/Tab/Tab.js +40 -27
  375. package/lib/Tab/Tab.module.css +14 -14
  376. package/lib/Tab/TabContent.js +12 -5
  377. package/lib/Tab/TabContentWrapper.js +13 -6
  378. package/lib/Tab/TabWrapper.js +37 -19
  379. package/lib/Tab/Tabs.js +191 -121
  380. package/lib/Tab/Tabs.module.css +24 -42
  381. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  382. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  383. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  384. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  385. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  386. package/lib/Tab/index.js +6 -0
  387. package/lib/Tab/props/propTypes.js +3 -0
  388. package/lib/Tag/Tag.js +73 -43
  389. package/lib/Tag/Tag.module.css +25 -25
  390. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  391. package/lib/Tag/props/propTypes.js +3 -0
  392. package/lib/TextBox/TextBox.js +86 -59
  393. package/lib/TextBox/TextBox.module.css +9 -9
  394. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  395. package/lib/TextBox/props/propTypes.js +6 -4
  396. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  397. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  398. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  399. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  400. package/lib/Textarea/Textarea.js +55 -29
  401. package/lib/Textarea/Textarea.module.css +21 -21
  402. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  403. package/lib/Textarea/props/propTypes.js +3 -0
  404. package/lib/Tooltip/Tooltip.js +96 -32
  405. package/lib/Tooltip/Tooltip.module.css +5 -5
  406. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  407. package/lib/Tooltip/props/propTypes.js +3 -0
  408. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  409. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  410. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  411. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  412. package/lib/VelocityAnimation/index.js +3 -0
  413. package/lib/common/animation.module.css +8 -8
  414. package/lib/common/avatarsizes.module.css +16 -16
  415. package/lib/common/basicReset.module.css +3 -3
  416. package/lib/common/common.module.css +24 -24
  417. package/lib/common/customscroll.module.css +2 -2
  418. package/lib/css.js +40 -0
  419. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  420. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  421. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  422. package/lib/index.js +57 -0
  423. package/lib/semantic/Button/Button.js +43 -22
  424. package/lib/semantic/Button/props/propTypes.js +3 -0
  425. package/lib/semantic/Button/semanticButton.module.css +1 -1
  426. package/lib/semantic/index.js +2 -0
  427. package/lib/utils/Common.js +117 -19
  428. package/lib/utils/ContextOptimizer.js +16 -10
  429. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  430. package/lib/utils/__tests__/debounce.spec.js +3 -2
  431. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  432. package/lib/utils/constructFullName.js +13 -4
  433. package/lib/utils/css/compileClassNames.js +6 -0
  434. package/lib/utils/css/mergeStyle.js +10 -7
  435. package/lib/utils/css/utils.js +8 -0
  436. package/lib/utils/datetime/GMTZones.js +55 -0
  437. package/lib/utils/datetime/common.js +52 -7
  438. package/lib/utils/debounce.js +6 -1
  439. package/lib/utils/dropDownUtils.js +175 -59
  440. package/lib/utils/dummyFunction.js +2 -0
  441. package/lib/utils/getHTMLFontSize.js +1 -0
  442. package/lib/utils/getInitial.js +6 -0
  443. package/lib/utils/index.js +4 -0
  444. package/lib/utils/scrollTo.js +2 -0
  445. package/lib/utils/shallowEqual.js +8 -0
  446. package/package.json +15 -24
@@ -5,27 +5,15 @@
5
5
  import React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import ResizeObserver from './ResizeObserver';
8
- import { getElementSpace } from '../utils/Common';
8
+ import { getElementSpace, debounce } from '../utils/Common';
9
9
  export default class ResizeComponent extends React.Component {
10
10
  constructor(props) {
11
11
  super(props);
12
12
  this.noSpaceForChildren = false;
13
13
  this.childrenCurrentList = [];
14
- const debounce = function (cb) {
15
- let timer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
16
- let timeoutId = null;
17
- return () => {
18
- if (timeoutId) {
19
- clearTimeout(timeoutId);
20
- }
21
- timeoutId = setTimeout(() => {
22
- cb();
23
- }, timer);
24
- };
25
- };
26
- this.widthCheck = debounce(this.widthCheck.bind(this), 500); // this.widthCheck = this.widthCheck.bind(this);
27
-
28
- this.onResize = debounce(this.onResize.bind(this), 500);
14
+ this.widthCheck = debounce(this.widthCheck.bind(this), 10); // this.widthCheck = this.widthCheck.bind(this);
15
+
16
+ this.onResize = this.onResize.bind(this);
29
17
  this.onResizeMutation = this.onResizeMutation.bind(this);
30
18
  this.tabsObserver = new ResizeObserver(this.onResize);
31
19
  this.tabObserver = new MutationObserver(this.onResizeMutation);
@@ -33,6 +21,7 @@ export default class ResizeComponent extends React.Component {
33
21
  this.constructChildren = this.constructChildren.bind(this);
34
22
  this.querySelector = this.querySelector.bind(this);
35
23
  }
24
+
36
25
  querySelector() {
37
26
  if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
38
27
  return this.props.wrapperDivRef.current.querySelectorAll('[data-responsive="true"]');
@@ -40,11 +29,13 @@ export default class ResizeComponent extends React.Component {
40
29
  return [];
41
30
  }
42
31
  }
32
+
43
33
  onResizeMutation(mutations) {
44
34
  // console.log(mutations);
45
35
  let {
46
36
  childrenList
47
37
  } = this.props;
38
+
48
39
  for (const mutation of mutations) {
49
40
  if (mutation.type === 'childList') {
50
41
  if (mutation.addedNodes.length) {
@@ -55,24 +46,19 @@ export default class ResizeComponent extends React.Component {
55
46
  newAdded = true;
56
47
  }
57
48
  });
49
+
58
50
  if (newAdded) {
59
51
  //console.log('A child node has been added ', mutation);
60
-
61
52
  this.onResize();
62
53
  }
63
- } else if (mutation.removedNodes.length) {
64
- // ?? removed nodes ku check pannanum ah ??
54
+ } else if (mutation.removedNodes.length) {// ?? removed nodes ku check pannanum ah ??
65
55
  // console.log('A child node has been removed ', mutation);
66
56
  }
67
- } else if (mutation.type === 'attributes') {
68
- //console.log('The ' + mutation.attributeName + ' attribute was modified.', mutation);
69
- } else if (mutation.type === 'characterData') {
70
- // To Call While Changing InnerText, Remove Below line If Required. But It might affect Performance.
57
+ } else if (mutation.type === 'attributes') {//console.log('The ' + mutation.attributeName + ' attribute was modified.', mutation);
58
+ } else if (mutation.type === 'characterData') {// To Call While Changing InnerText, Remove Below line If Required. But It might affect Performance.
71
59
  // this.onResize();
72
60
  }
73
- }
74
-
75
- // mutations.forEach(mutation => {
61
+ } // mutations.forEach(mutation => {
76
62
  // if (mutation.target === foo &&
77
63
  // mutation.attributeName === 'style' &&
78
64
  // oldWidth !== foo.style.width) {
@@ -81,6 +67,7 @@ export default class ResizeComponent extends React.Component {
81
67
  // oldWidth = foo.style.width;
82
68
  // }
83
69
  // });
70
+
84
71
  }
85
72
 
86
73
  componentDidMount() {
@@ -95,22 +82,27 @@ export default class ResizeComponent extends React.Component {
95
82
  });
96
83
  }
97
84
  }
85
+
98
86
  componentWillUnmount() {
99
87
  this.reset();
100
88
  }
89
+
101
90
  reset() {
102
91
  this.childrenCurrentList = [];
103
92
  this.tabsObserver.disconnect();
104
93
  this.tabObserver && this.tabObserver.disconnect();
105
94
  }
95
+
106
96
  componentDidUpdate(prevProps) {
107
97
  if (this.childrenCurrentList.length === 0) {
108
98
  this.childrenCurrentList = this.querySelector();
109
99
  this.widthCheck();
110
100
  }
101
+
111
102
  if (this.props.resizeId !== prevProps.resizeId) {
112
103
  // Completely reset the observers and set new observer if id is changed
113
104
  this.reset();
105
+
114
106
  if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
115
107
  this.tabsObserver.observe(this.props.wrapperDivRef.current);
116
108
  this.tabObserver.observe(this.props.wrapperDivRef.current, {
@@ -123,67 +115,73 @@ export default class ResizeComponent extends React.Component {
123
115
  }
124
116
  }
125
117
  }
118
+
126
119
  onResize() {
127
120
  // if (this.childrenCurrentList.length !== 0) {
128
121
  this.childrenCurrentList = [];
129
- this.constructChildren(0, false);
130
- //}
131
- }
132
-
133
- // shouldComponentUpdate() {
122
+ this.constructChildren(0, false); //}
123
+ } // shouldComponentUpdate() {
134
124
  // return this.childrenCurrentList.length === 0
135
125
  // }
136
126
 
127
+
137
128
  widthCheck() {
138
129
  let wrapperDivRef = this.props.wrapperDivRef.current;
139
130
  let moreDivRef = this.props.moreDivRef.current;
131
+
140
132
  if (wrapperDivRef && this.childrenCurrentList.length > 0) {
141
- const childrenWidthList = this.childrenCurrentList;
142
- // this.childrenCurrentList = childrenWidthList;
143
- const moreWidth = getElementSpace(moreDivRef).neededSpace;
144
- //console.log(moreWidth,'moreWidth');
133
+ const childrenWidthList = this.childrenCurrentList; // this.childrenCurrentList = childrenWidthList;
134
+
135
+ const moreWidth = getElementSpace(moreDivRef).neededSpace; //console.log(moreWidth,'moreWidth');
136
+
145
137
  let totalWidth = getElementSpace(wrapperDivRef).availableInsideSpace - moreWidth;
146
138
  let _childrenTotalWidth = 0;
147
139
  let dataCount = 0;
148
140
  this.noSpaceForChildren = false;
141
+
149
142
  if (totalWidth <= moreWidth) {
150
143
  this.noSpaceForChildren = true;
151
144
  } else {
152
145
  for (let i = 0; i < childrenWidthList.length; i++) {
153
146
  let currentWidth = getElementSpace(childrenWidthList[i]).neededSpace;
154
- _childrenTotalWidth += currentWidth;
155
- // console.log(_childrenTotalWidth, currentWidth, totalWidth)
147
+ _childrenTotalWidth += currentWidth; // console.log(_childrenTotalWidth, currentWidth, totalWidth)
148
+
156
149
  if (i === childrenWidthList.length - 1 && moreWidth >= currentWidth) {
157
150
  totalWidth += moreWidth;
158
151
  }
152
+
159
153
  if (totalWidth <= _childrenTotalWidth) {
160
154
  dataCount = i;
161
155
  break;
162
156
  }
163
157
  }
164
158
  }
159
+
165
160
  this.constructChildren(dataCount, true);
166
161
  } else {
167
162
  this.constructChildren(0, false);
168
163
  }
169
164
  }
165
+
170
166
  constructChildren() {
171
167
  let dataCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
172
168
  let responsive = arguments.length > 1 ? arguments[1] : undefined;
173
169
  const {
174
170
  childrenList,
175
171
  getData
176
- } = this.props;
177
- // If the data count is zero we assume that we can render all the items - data count will be zero only when we want to calculate the whole list width
172
+ } = this.props; // If the data count is zero we assume that we can render all the items - data count will be zero only when we want to calculate the whole list width
173
+
178
174
  dataCount = dataCount || childrenList && childrenList.length;
179
175
  getData({
180
176
  responsiveHook: responsive,
181
177
  validListCount: this.noSpaceForChildren ? 0 : dataCount
182
178
  });
183
179
  }
180
+
184
181
  render() {
185
182
  return /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children);
186
183
  }
184
+
187
185
  }
188
186
  ResizeComponent.propTypes = {
189
187
  children: PropTypes.node,
@@ -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
  }