@zohodesk/components 1.0.0-temp-157 → 1.0.0-temp-158

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 (423) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +3 -3
  5. package/es/AppContainer/AppContainer.js +13 -5
  6. package/es/Avatar/Avatar.js +23 -11
  7. package/es/Avatar/Avatar.module.css +8 -8
  8. package/es/AvatarTeam/AvatarTeam.js +3 -3
  9. package/es/AvatarTeam/AvatarTeam.module.css +33 -32
  10. package/es/Button/Button.js +4 -3
  11. package/es/Button/css/Button.module.css +49 -48
  12. package/es/Buttongroup/Buttongroup.js +3 -3
  13. package/es/Buttongroup/Buttongroup.module.css +10 -10
  14. package/es/Card/Card.js +21 -10
  15. package/es/CheckBox/CheckBox.js +5 -3
  16. package/es/CheckBox/CheckBox.module.css +14 -14
  17. package/es/DateTime/CalendarView.js +32 -20
  18. package/es/DateTime/DateTime.js +76 -11
  19. package/es/DateTime/DateTime.module.css +32 -32
  20. package/es/DateTime/DateTimePopupFooter.js +4 -2
  21. package/es/DateTime/DateTimePopupHeader.js +8 -2
  22. package/es/DateTime/DateWidget.js +98 -35
  23. package/es/DateTime/DaysRow.js +4 -2
  24. package/es/DateTime/Time.js +10 -2
  25. package/es/DateTime/YearView.js +28 -4
  26. package/es/DateTime/YearView.module.css +12 -12
  27. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  28. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  29. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  30. package/es/DateTime/common.js +3 -0
  31. package/es/DateTime/constants.js +1 -0
  32. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  33. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  34. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  35. package/es/DateTime/dateFormatUtils/index.js +32 -2
  36. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  37. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  38. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  39. package/es/DateTime/objectUtils.js +14 -20
  40. package/es/DateTime/props/defaultProps.js +2 -1
  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 +42 -41
  46. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  47. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  48. package/es/DropBox/props/defaultProps.js +1 -2
  49. package/es/DropBox/props/propTypes.js +1 -2
  50. package/es/DropDown/DropDown.js +8 -4
  51. package/es/DropDown/DropDown.module.css +2 -2
  52. package/es/DropDown/DropDownHeading.js +4 -5
  53. package/es/DropDown/DropDownHeading.module.css +5 -5
  54. package/es/DropDown/DropDownItem.js +6 -0
  55. package/es/DropDown/DropDownItem.module.css +7 -7
  56. package/es/DropDown/DropDownSearch.js +4 -0
  57. package/es/DropDown/DropDownSearch.module.css +3 -3
  58. package/es/DropDown/DropDownSeparator.js +1 -0
  59. package/es/DropDown/DropDownSeparator.module.css +2 -2
  60. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  61. package/es/Heading/Heading.js +2 -3
  62. package/es/Heading/Heading.module.css +1 -1
  63. package/es/Label/Label.js +4 -10
  64. package/es/Label/Label.module.css +6 -6
  65. package/es/Label/props/propTypes.js +1 -4
  66. package/es/Layout/Box.js +13 -0
  67. package/es/Layout/Container.js +12 -1
  68. package/es/Layout/index.js +1 -2
  69. package/es/ListItem/ListContainer.js +8 -3
  70. package/es/ListItem/ListItem.js +9 -3
  71. package/es/ListItem/ListItem.module.css +37 -37
  72. package/es/ListItem/ListItemWithAvatar.js +9 -3
  73. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  74. package/es/ListItem/ListItemWithIcon.js +8 -3
  75. package/es/ListItem/ListItemWithRadio.js +7 -3
  76. package/es/Modal/Modal.js +28 -11
  77. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  78. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  79. package/es/MultiSelect/EmptyState.js +2 -0
  80. package/es/MultiSelect/MultiSelect.js +99 -32
  81. package/es/MultiSelect/MultiSelect.module.css +25 -24
  82. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  83. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  84. package/es/MultiSelect/SelectedOptions.js +6 -3
  85. package/es/MultiSelect/SelectedOptions.module.css +4 -4
  86. package/es/MultiSelect/Suggestions.js +7 -3
  87. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  88. package/es/MultiSelect/props/propTypes.js +2 -0
  89. package/es/PopOver/PopOver.js +18 -2
  90. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  91. package/es/Popup/Popup.js +77 -24
  92. package/es/Popup/__tests__/Popup.spec.js +17 -5
  93. package/es/Popup/viewPort.js +16 -4
  94. package/es/Provider/IdProvider.js +10 -5
  95. package/es/Provider/LibraryContext.js +6 -4
  96. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  97. package/es/Provider/ZindexProvider.js +9 -2
  98. package/es/Radio/Radio.js +4 -2
  99. package/es/Radio/Radio.module.css +9 -9
  100. package/es/Responsive/CustomResponsive.js +30 -18
  101. package/es/Responsive/RefWrapper.js +6 -7
  102. package/es/Responsive/ResizeComponent.js +35 -25
  103. package/es/Responsive/ResizeObserver.js +26 -6
  104. package/es/Responsive/Responsive.js +34 -20
  105. package/es/Responsive/index.js +1 -3
  106. package/es/Responsive/sizeObservers.js +28 -7
  107. package/es/Responsive/utils/index.js +7 -5
  108. package/es/Responsive/utils/shallowCompare.js +7 -2
  109. package/es/Responsive/windowResizeObserver.js +7 -0
  110. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  111. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  112. package/es/Ribbon/Ribbon.js +3 -2
  113. package/es/Ribbon/Ribbon.module.css +44 -42
  114. package/es/RippleEffect/RippleEffect.js +1 -3
  115. package/es/Select/GroupSelect.js +58 -14
  116. package/es/Select/Select.js +79 -33
  117. package/es/Select/Select.module.css +19 -19
  118. package/es/Select/SelectWithAvatar.js +17 -4
  119. package/es/Select/SelectWithIcon.js +46 -5
  120. package/es/Select/__tests__/Select.spec.js +6 -8
  121. package/es/Select/props/propTypes.js +1 -0
  122. package/es/Stencils/Stencils.js +3 -3
  123. package/es/Stencils/Stencils.module.css +13 -13
  124. package/es/Switch/Switch.js +5 -3
  125. package/es/Switch/Switch.module.css +22 -22
  126. package/es/Tab/Tab.js +4 -4
  127. package/es/Tab/Tab.module.css +10 -10
  128. package/es/Tab/TabContent.js +1 -0
  129. package/es/Tab/TabContentWrapper.js +2 -0
  130. package/es/Tab/TabWrapper.js +5 -2
  131. package/es/Tab/Tabs.js +54 -7
  132. package/es/Tab/Tabs.module.css +12 -12
  133. package/es/Tab/__tests__/Tab.spec.js +1 -3
  134. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  135. package/es/Tag/Tag.js +6 -3
  136. package/es/Tag/Tag.module.css +20 -20
  137. package/es/TextBox/TextBox.js +15 -3
  138. package/es/TextBox/TextBox.module.css +15 -14
  139. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  140. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  141. package/es/TextBoxIcon/TextBoxIcon.module.css +2 -1
  142. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  143. package/es/Textarea/Textarea.js +12 -3
  144. package/es/Textarea/Textarea.module.css +21 -21
  145. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  146. package/es/Tooltip/Tooltip.js +58 -14
  147. package/es/Tooltip/Tooltip.module.css +10 -3
  148. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  149. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  150. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  151. package/es/common/avatarsizes.module.css +16 -16
  152. package/es/common/customscroll.module.css +2 -0
  153. package/es/common/reset.module.css +1 -0
  154. package/es/deprecated/AdvancedMultiSelect.module.css +16 -16
  155. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  156. package/es/semantic/Button/Button.js +3 -2
  157. package/es/utils/Common.js +54 -9
  158. package/es/utils/ContextOptimizer.js +4 -5
  159. package/es/utils/__tests__/debounce.spec.js +2 -2
  160. package/es/utils/constructFullName.js +2 -0
  161. package/es/utils/css/compileClassNames.js +5 -0
  162. package/es/utils/css/mergeStyle.js +7 -6
  163. package/es/utils/css/utils.js +1 -0
  164. package/es/utils/datetime/GMTZones.js +48 -0
  165. package/es/utils/datetime/common.js +31 -7
  166. package/es/utils/debounce.js +5 -1
  167. package/es/utils/dropDownUtils.js +68 -11
  168. package/es/utils/getInitial.js +4 -0
  169. package/es/utils/shallowEqual.js +6 -0
  170. package/lib/Accordion/Accordion.js +42 -18
  171. package/lib/Accordion/AccordionItem.js +40 -18
  172. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  173. package/lib/Accordion/index.js +3 -0
  174. package/lib/Accordion/props/propTypes.js +3 -0
  175. package/lib/Animation/Animation.js +38 -18
  176. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  177. package/lib/Animation/props/propTypes.js +3 -0
  178. package/lib/AppContainer/AppContainer.js +56 -21
  179. package/lib/AppContainer/props/propTypes.js +3 -0
  180. package/lib/Avatar/Avatar.js +78 -38
  181. package/lib/Avatar/Avatar.module.css +8 -8
  182. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  183. package/lib/Avatar/props/propTypes.js +3 -0
  184. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  185. package/lib/AvatarTeam/AvatarTeam.module.css +33 -32
  186. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  187. package/lib/AvatarTeam/props/propTypes.js +3 -0
  188. package/lib/Button/Button.js +31 -20
  189. package/lib/Button/css/Button.module.css +49 -48
  190. package/lib/Button/css/cssJSLogic.js +18 -17
  191. package/lib/Button/index.js +3 -0
  192. package/lib/Button/props/defaultProps.js +2 -0
  193. package/lib/Button/props/propTypes.js +3 -0
  194. package/lib/Buttongroup/Buttongroup.js +32 -12
  195. package/lib/Buttongroup/Buttongroup.module.css +10 -10
  196. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  197. package/lib/Buttongroup/props/propTypes.js +3 -0
  198. package/lib/Card/Card.js +102 -46
  199. package/lib/Card/__tests__/Card.spec.js +10 -1
  200. package/lib/Card/index.js +4 -0
  201. package/lib/Card/props/propTypes.js +3 -0
  202. package/lib/CheckBox/CheckBox.js +71 -47
  203. package/lib/CheckBox/CheckBox.module.css +14 -14
  204. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  205. package/lib/CheckBox/props/propTypes.js +3 -0
  206. package/lib/DateTime/CalendarView.js +82 -42
  207. package/lib/DateTime/DateTime.js +248 -160
  208. package/lib/DateTime/DateTime.module.css +32 -32
  209. package/lib/DateTime/DateTimePopupFooter.js +32 -9
  210. package/lib/DateTime/DateTimePopupHeader.js +49 -18
  211. package/lib/DateTime/DateWidget.js +353 -251
  212. package/lib/DateTime/DaysRow.js +28 -6
  213. package/lib/DateTime/Time.js +74 -33
  214. package/lib/DateTime/YearView.js +78 -29
  215. package/lib/DateTime/YearView.module.css +12 -12
  216. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  217. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  218. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  219. package/lib/DateTime/common.js +6 -0
  220. package/lib/DateTime/constants.js +1 -0
  221. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  222. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  223. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  224. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  225. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  226. package/lib/DateTime/dateFormatUtils/timeChange.js +55 -23
  227. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  228. package/lib/DateTime/index.js +2 -0
  229. package/lib/DateTime/objectUtils.js +24 -20
  230. package/lib/DateTime/props/defaultProps.js +2 -1
  231. package/lib/DateTime/props/propTypes.js +11 -1
  232. package/lib/DateTime/typeChecker.js +4 -0
  233. package/lib/DateTime/validator.js +73 -10
  234. package/lib/DropBox/DropBox.js +34 -10
  235. package/lib/DropBox/DropBoxElement/DropBoxElement.js +58 -37
  236. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +42 -41
  237. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
  238. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  239. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  240. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  241. package/lib/DropBox/css/cssJSLogic.js +3 -1
  242. package/lib/DropBox/props/defaultProps.js +8 -4
  243. package/lib/DropBox/props/propTypes.js +10 -4
  244. package/lib/DropDown/DropDown.js +52 -8
  245. package/lib/DropDown/DropDown.module.css +2 -2
  246. package/lib/DropDown/DropDownHeading.js +39 -20
  247. package/lib/DropDown/DropDownHeading.module.css +5 -5
  248. package/lib/DropDown/DropDownItem.js +42 -20
  249. package/lib/DropDown/DropDownItem.module.css +7 -7
  250. package/lib/DropDown/DropDownSearch.js +40 -17
  251. package/lib/DropDown/DropDownSearch.module.css +3 -3
  252. package/lib/DropDown/DropDownSeparator.js +24 -4
  253. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  254. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  255. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  256. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  257. package/lib/DropDown/index.js +9 -0
  258. package/lib/DropDown/props/propTypes.js +6 -4
  259. package/lib/Heading/Heading.js +37 -15
  260. package/lib/Heading/Heading.module.css +1 -1
  261. package/lib/Heading/props/propTypes.js +3 -0
  262. package/lib/Label/Label.js +41 -27
  263. package/lib/Label/Label.module.css +6 -6
  264. package/lib/Label/__tests__/Label.spec.js +14 -1
  265. package/lib/Label/props/propTypes.js +4 -4
  266. package/lib/Layout/Box.js +31 -11
  267. package/lib/Layout/Container.js +29 -10
  268. package/lib/Layout/__tests__/Box.spec.js +65 -49
  269. package/lib/Layout/__tests__/Container.spec.js +67 -50
  270. package/lib/Layout/index.js +3 -0
  271. package/lib/Layout/props/propTypes.js +3 -0
  272. package/lib/Layout/utils.js +10 -0
  273. package/lib/ListItem/ListContainer.js +49 -28
  274. package/lib/ListItem/ListItem.js +70 -46
  275. package/lib/ListItem/ListItem.module.css +37 -37
  276. package/lib/ListItem/ListItemWithAvatar.js +76 -49
  277. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  278. package/lib/ListItem/ListItemWithIcon.js +69 -45
  279. package/lib/ListItem/ListItemWithRadio.js +65 -41
  280. package/lib/ListItem/index.js +7 -0
  281. package/lib/ListItem/props/propTypes.js +6 -4
  282. package/lib/Modal/Modal.js +46 -11
  283. package/lib/Modal/props/propTypes.js +3 -0
  284. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -167
  285. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  286. package/lib/MultiSelect/EmptyState.js +46 -25
  287. package/lib/MultiSelect/MultiSelect.js +324 -206
  288. package/lib/MultiSelect/MultiSelect.module.css +25 -24
  289. package/lib/MultiSelect/MultiSelectHeader.js +31 -9
  290. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -64
  291. package/lib/MultiSelect/SelectedOptions.js +44 -18
  292. package/lib/MultiSelect/SelectedOptions.module.css +4 -4
  293. package/lib/MultiSelect/Suggestions.js +65 -33
  294. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  295. package/lib/MultiSelect/index.js +5 -0
  296. package/lib/MultiSelect/props/defaultProps.js +2 -0
  297. package/lib/MultiSelect/props/propTypes.js +5 -0
  298. package/lib/PopOver/PopOver.js +95 -49
  299. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  300. package/lib/PopOver/index.js +4 -0
  301. package/lib/PopOver/props/propTypes.js +3 -0
  302. package/lib/Popup/Popup.js +159 -82
  303. package/lib/Popup/__tests__/Popup.spec.js +44 -9
  304. package/lib/Popup/viewPort.js +28 -14
  305. package/lib/Provider/AvatarSize.js +4 -0
  306. package/lib/Provider/Config.js +2 -0
  307. package/lib/Provider/CssProvider.js +4 -0
  308. package/lib/Provider/IdProvider.js +17 -6
  309. package/lib/Provider/LibraryContext.js +35 -15
  310. package/lib/Provider/LibraryContextInit.js +4 -0
  311. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  312. package/lib/Provider/ZindexProvider.js +15 -3
  313. package/lib/Provider/index.js +5 -0
  314. package/lib/Radio/Radio.js +62 -39
  315. package/lib/Radio/Radio.module.css +9 -9
  316. package/lib/Radio/__tests__/Radiospec.js +9 -5
  317. package/lib/Radio/props/propTypes.js +3 -0
  318. package/lib/Responsive/CustomResponsive.js +73 -28
  319. package/lib/Responsive/RefWrapper.js +17 -11
  320. package/lib/Responsive/ResizeComponent.js +63 -39
  321. package/lib/Responsive/ResizeObserver.js +24 -10
  322. package/lib/Responsive/Responsive.js +81 -31
  323. package/lib/Responsive/index.js +4 -0
  324. package/lib/Responsive/props/propTypes.js +3 -0
  325. package/lib/Responsive/sizeObservers.js +53 -17
  326. package/lib/Responsive/utils/index.js +11 -3
  327. package/lib/Responsive/utils/shallowCompare.js +11 -2
  328. package/lib/Responsive/windowResizeObserver.js +8 -0
  329. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  330. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +1 -1
  331. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  332. package/lib/Ribbon/Ribbon.js +34 -14
  333. package/lib/Ribbon/Ribbon.module.css +44 -42
  334. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  335. package/lib/Ribbon/props/propTypes.js +3 -0
  336. package/lib/RippleEffect/RippleEffect.js +18 -10
  337. package/lib/RippleEffect/props/propTypes.js +3 -0
  338. package/lib/Select/GroupSelect.js +230 -131
  339. package/lib/Select/Select.js +291 -209
  340. package/lib/Select/Select.module.css +19 -19
  341. package/lib/Select/SelectWithAvatar.js +103 -57
  342. package/lib/Select/SelectWithIcon.js +133 -77
  343. package/lib/Select/__tests__/Select.spec.js +134 -92
  344. package/lib/Select/index.js +5 -0
  345. package/lib/Select/props/defaultProps.js +5 -4
  346. package/lib/Select/props/propTypes.js +4 -0
  347. package/lib/Stencils/Stencils.js +30 -11
  348. package/lib/Stencils/Stencils.module.css +13 -13
  349. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  350. package/lib/Stencils/props/propTypes.js +3 -0
  351. package/lib/Switch/Switch.js +57 -34
  352. package/lib/Switch/Switch.module.css +22 -22
  353. package/lib/Switch/props/propTypes.js +3 -0
  354. package/lib/Tab/Tab.js +41 -28
  355. package/lib/Tab/Tab.module.css +10 -10
  356. package/lib/Tab/TabContent.js +12 -5
  357. package/lib/Tab/TabContentWrapper.js +13 -6
  358. package/lib/Tab/TabWrapper.js +37 -19
  359. package/lib/Tab/Tabs.js +172 -98
  360. package/lib/Tab/Tabs.module.css +12 -12
  361. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  362. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  363. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  364. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  365. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  366. package/lib/Tab/index.js +6 -0
  367. package/lib/Tab/props/propTypes.js +3 -0
  368. package/lib/Tag/Tag.js +72 -43
  369. package/lib/Tag/Tag.module.css +20 -20
  370. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  371. package/lib/Tag/props/propTypes.js +3 -0
  372. package/lib/TextBox/TextBox.js +86 -60
  373. package/lib/TextBox/TextBox.module.css +15 -14
  374. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  375. package/lib/TextBox/props/propTypes.js +6 -4
  376. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  377. package/lib/TextBoxIcon/TextBoxIcon.module.css +2 -1
  378. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -4
  379. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  380. package/lib/Textarea/Textarea.js +55 -30
  381. package/lib/Textarea/Textarea.module.css +21 -21
  382. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  383. package/lib/Textarea/props/propTypes.js +3 -0
  384. package/lib/Tooltip/Tooltip.js +94 -31
  385. package/lib/Tooltip/Tooltip.module.css +10 -3
  386. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  387. package/lib/Tooltip/props/propTypes.js +3 -0
  388. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  389. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  390. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  391. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  392. package/lib/VelocityAnimation/index.js +3 -0
  393. package/lib/common/avatarsizes.module.css +16 -16
  394. package/lib/common/customscroll.module.css +2 -0
  395. package/lib/common/reset.module.css +1 -0
  396. package/lib/css.js +40 -0
  397. package/lib/deprecated/AdvancedMultiSelect.module.css +16 -16
  398. package/lib/deprecated/PortalLayer/PortalLayer.js +47 -24
  399. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  400. package/lib/index.js +57 -0
  401. package/lib/semantic/Button/Button.js +42 -22
  402. package/lib/semantic/Button/props/propTypes.js +3 -0
  403. package/lib/semantic/index.js +2 -0
  404. package/lib/utils/Common.js +108 -18
  405. package/lib/utils/ContextOptimizer.js +16 -10
  406. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  407. package/lib/utils/__tests__/debounce.spec.js +3 -2
  408. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  409. package/lib/utils/constructFullName.js +13 -4
  410. package/lib/utils/css/compileClassNames.js +6 -0
  411. package/lib/utils/css/mergeStyle.js +10 -7
  412. package/lib/utils/css/utils.js +8 -0
  413. package/lib/utils/datetime/GMTZones.js +55 -0
  414. package/lib/utils/datetime/common.js +52 -7
  415. package/lib/utils/debounce.js +6 -1
  416. package/lib/utils/dropDownUtils.js +176 -60
  417. package/lib/utils/dummyFunction.js +2 -0
  418. package/lib/utils/getHTMLFontSize.js +1 -0
  419. package/lib/utils/getInitial.js +6 -0
  420. package/lib/utils/index.js +4 -0
  421. package/lib/utils/scrollTo.js +2 -0
  422. package/lib/utils/shallowEqual.js +8 -0
  423. package/package.json +20 -13
@@ -1,29 +1,35 @@
1
1
  import { useNumberGenerator, getNumberGenerators } from './NumberGenerator/NumberGenerator';
2
2
  import { getLibraryConfig } from './Config';
3
3
  let globalId = getLibraryConfig('idCounter'),
4
- deletedIndexes = [],
5
- globalPrefix;
4
+ deletedIndexes = [],
5
+ globalPrefix;
6
6
  export function setGlobalIdPrefix(value) {
7
7
  globalPrefix = value;
8
8
  }
9
9
  export function removeGlobalIdPrefix() {
10
10
  globalPrefix = undefined;
11
11
  }
12
+
12
13
  function getGlobalIdPrefix() {
13
14
  return globalPrefix;
14
15
  }
16
+
15
17
  function setGlobalId(id) {
16
18
  globalId = id;
17
19
  }
20
+
18
21
  function getGlobalId() {
19
22
  return globalId;
20
23
  }
24
+
21
25
  function setDeletedIndexes(array) {
22
26
  deletedIndexes = array;
23
27
  }
28
+
24
29
  function getDeletedIndexes() {
25
30
  return deletedIndexes;
26
31
  }
32
+
27
33
  function callback(_ref) {
28
34
  let {
29
35
  globalId,
@@ -32,6 +38,7 @@ function callback(_ref) {
32
38
  setGlobalId(globalId);
33
39
  setDeletedIndexes(deletedIndexes);
34
40
  }
41
+
35
42
  export function useUniqueId(prefix) {
36
43
  return useNumberGenerator({
37
44
  getGlobalId,
@@ -50,9 +57,7 @@ export function getUniqueId(Component, prefix) {
50
57
  getDeletedIndexes,
51
58
  callback
52
59
  });
53
- }
54
-
55
- // let Provider = {
60
+ } // let Provider = {
56
61
  // docs: {
57
62
  // componentGroup: 'Provider',
58
63
  // folderName: 'Functions'
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import LibraryContextInit from './LibraryContextInit';
4
4
  import { getLibraryConfig } from './Config';
5
+
5
6
  const LibraryContextProvider = _ref => {
6
7
  let {
7
8
  isReducedMotion = getLibraryConfig('isReducedMotion'),
@@ -12,21 +13,22 @@ const LibraryContextProvider = _ref => {
12
13
  isReducedMotion,
13
14
  direction
14
15
  });
16
+
15
17
  function setGlobalContext(key, data) {
16
18
  if (value[key] != data) {
17
- setValue({
18
- ...value,
19
+ setValue({ ...value,
19
20
  [key]: data
20
21
  });
21
22
  }
22
23
  }
24
+
23
25
  return /*#__PURE__*/React.createElement(LibraryContextInit.Provider, {
24
- value: {
25
- ...value,
26
+ value: { ...value,
26
27
  setGlobalContext
27
28
  }
28
29
  }, children);
29
30
  };
31
+
30
32
  LibraryContextProvider.propTypes = {
31
33
  children: PropTypes.node.isRequired,
32
34
  isReducedMotion: PropTypes.bool,
@@ -5,8 +5,10 @@ export function addGlobalId(globalId) {
5
5
  } else {
6
6
  globalId = `${globalId}1`;
7
7
  }
8
+
8
9
  return globalId;
9
10
  }
11
+
10
12
  function decreaseGlobalId(number, globalId) {
11
13
  if (`${number}` == `${globalId}`) {
12
14
  if (Number.isSafeInteger(Number(globalId)) && Number.isSafeInteger(Number(globalId) - 1)) {
@@ -15,16 +17,19 @@ function decreaseGlobalId(number, globalId) {
15
17
  globalId = `${globalId}`;
16
18
  globalId = globalId.substring(0, globalId.length - 1);
17
19
  }
20
+
18
21
  return {
19
22
  isDeleted: true,
20
23
  globalId
21
24
  };
22
25
  }
26
+
23
27
  return {
24
28
  isDeleted: false,
25
29
  globalId
26
30
  };
27
31
  }
32
+
28
33
  export function decreaseGlobalIds(numbers, deletedIndexes, globalId) {
29
34
  deletedIndexes = [...deletedIndexes];
30
35
  [...numbers].reverse().map(number => {
@@ -32,12 +37,14 @@ export function decreaseGlobalIds(numbers, deletedIndexes, globalId) {
32
37
  globalId = result.globalId;
33
38
  !result.isDeleted && deletedIndexes.push(number);
34
39
  });
40
+
35
41
  for (; deletedIndexes.indexOf(globalId) != -1;) {
36
42
  let presentHighValue = globalId;
37
43
  let result = decreaseGlobalId(globalId, globalId);
38
44
  globalId = result.globalId;
39
45
  deletedIndexes = deletedIndexes.filter(ele => `${ele}` != `${presentHighValue}`);
40
46
  }
47
+
41
48
  return {
42
49
  globalId,
43
50
  deletedIndexes
@@ -52,9 +59,10 @@ export function useNumberGenerator(_ref) {
52
59
  callback
53
60
  } = _ref;
54
61
  let presentValues = useRef([]),
55
- presentIndex = useRef(0);
62
+ presentIndex = useRef(0);
56
63
  prefix = typeof prefix === 'undefined' ? '' : `${prefix}_`;
57
64
  let globalPrefix = typeof getGlobalPrefix() === 'undefined' ? '' : `${getGlobalPrefix()}_`;
65
+
58
66
  function getNextId() {
59
67
  presentIndex.current = presentIndex.current + 1;
60
68
  let currentIndex = presentIndex.current;
@@ -66,6 +74,7 @@ export function useNumberGenerator(_ref) {
66
74
  });
67
75
  return `${globalPrefix}${prefix}${presentValues.current[currentIndex]}`;
68
76
  }
77
+
69
78
  useEffect(() => {
70
79
  presentValues.current = presentValues.current.filter((value, index) => index <= presentIndex.current);
71
80
  });
@@ -85,27 +94,31 @@ export function getNumberGenerators(_ref2) {
85
94
  callback
86
95
  } = _ref2;
87
96
  let presentIndex = 0,
88
- presentValues = [],
89
- {
90
- name
91
- } = Component.props;
97
+ presentValues = [],
98
+ {
99
+ name
100
+ } = Component.props;
92
101
  let didUpdateRef = Component.componentDidUpdate ? Component.componentDidUpdate.bind(Component) : undefined,
93
- renderRef = Component.render.bind(Component),
94
- willUnMountRef = Component.componentWillUnmount ? Component.componentWillUnmount.bind(Component) : undefined;
102
+ renderRef = Component.render.bind(Component),
103
+ willUnMountRef = Component.componentWillUnmount ? Component.componentWillUnmount.bind(Component) : undefined;
95
104
  prefix = typeof prefix !== 'undefined' ? `${prefix}_` : '';
105
+
96
106
  Component.componentDidUpdate = function () {
97
107
  didUpdateRef && didUpdateRef(...arguments);
98
108
  presentValues = presentValues.filter((value, index) => index <= presentIndex);
99
109
  };
110
+
100
111
  Component.componentWillUnmount = function () {
101
112
  callback(decreaseGlobalIds(presentValues, getDeletedIndexes(), getGlobalId()));
102
113
  willUnMountRef && willUnMountRef();
103
114
  didUpdateRef = null, renderRef = null, willUnMountRef = null;
104
115
  };
116
+
105
117
  Component.render = function () {
106
118
  presentIndex = -1;
107
119
  return renderRef();
108
120
  };
121
+
109
122
  function getNextId() {
110
123
  presentIndex += 1;
111
124
  let isValuePresent = typeof presentValues[presentIndex] !== 'undefined';
@@ -118,5 +131,6 @@ export function getNumberGenerators(_ref2) {
118
131
  });
119
132
  return `${globalPrefix}${prefix}${result}`;
120
133
  }
134
+
121
135
  return getNextId;
122
136
  }
@@ -1,26 +1,32 @@
1
1
  import { useNumberGenerator, getNumberGenerators } from './NumberGenerator/NumberGenerator';
2
2
  import { getLibraryConfig } from './Config';
3
3
  let globalId = getLibraryConfig('zindexCounter'),
4
- deletedIndexes = [],
5
- globalPrefix;
4
+ deletedIndexes = [],
5
+ globalPrefix;
6
6
  export function removeGlobalZIndexPrefix() {
7
7
  globalPrefix = undefined;
8
8
  }
9
+
9
10
  function getGlobalZIndexPrefix() {
10
11
  return globalPrefix;
11
12
  }
13
+
12
14
  export function setInitialZIndex(id) {
13
15
  globalId = id;
14
16
  }
17
+
15
18
  function getGlobalId() {
16
19
  return globalId;
17
20
  }
21
+
18
22
  function setDeletedIndexes(array) {
19
23
  deletedIndexes = array;
20
24
  }
25
+
21
26
  function getDeletedIndexes() {
22
27
  return deletedIndexes;
23
28
  }
29
+
24
30
  function callback(_ref) {
25
31
  let {
26
32
  globalId,
@@ -29,6 +35,7 @@ function callback(_ref) {
29
35
  setInitialZIndex(globalId);
30
36
  setDeletedIndexes(deletedIndexes);
31
37
  }
38
+
32
39
  export function useZIndex(prefix) {
33
40
  return useNumberGenerator({
34
41
  getGlobalId,
package/es/Radio/Radio.js CHANGED
@@ -10,6 +10,7 @@ export default class Radio extends React.Component {
10
10
  super(props);
11
11
  this.onChange = this.onChange.bind(this);
12
12
  }
13
+
13
14
  onChange(e) {
14
15
  let {
15
16
  onChange,
@@ -17,6 +18,7 @@ export default class Radio extends React.Component {
17
18
  } = this.props;
18
19
  onChange && onChange(value, e);
19
20
  }
21
+
20
22
  render() {
21
23
  let {
22
24
  id,
@@ -108,10 +110,10 @@ export default class Radio extends React.Component {
108
110
  ${style[`${palette}Label`]} ${accessMode} ${customLabel}`
109
111
  })));
110
112
  }
113
+
111
114
  }
112
115
  Radio.defaultProps = defaultProps;
113
- Radio.propTypes = propTypes;
114
- // if (__DOCS__) {
116
+ Radio.propTypes = propTypes; // if (__DOCS__) {
115
117
  // Radio.docs = {
116
118
  // componentGroup: 'Form Elements',
117
119
  // folderName: 'Style Guide'
@@ -1,16 +1,16 @@
1
1
  .varClass {
2
2
  /* radio default variables */
3
- --radio_width: var(--zd_size16);
4
- --radio_height: var(--zd_size16);
3
+ --radio_width: 16px;
4
+ --radio_height: 16px;
5
5
  --radio_bg_color: none;
6
- --radio_stroke_width: var(--zd_size2);
6
+ --radio_stroke_width: 2px;
7
7
  --radio_stroke_color: var(--zdt_radio_default_stroke);
8
8
  --radio_fill: none;
9
9
  --radio_inner_stroke_width: 0;
10
10
  }[dir=ltr] .varClass {
11
- --radio_label_margin: 0 0 0 var(--zd_size6)/*rtl: 0 var(--zd_size6) 0 0*/;
11
+ --radio_label_margin: 0 0 0 6px/*rtl: 0 6px 0 0*/;
12
12
  }[dir=rtl] .varClass {
13
- --radio_label_margin: 0 var(--zd_size6) 0 0;
13
+ --radio_label_margin: 0 6px 0 0;
14
14
  }
15
15
  .container {
16
16
  composes: varClass;
@@ -38,12 +38,12 @@
38
38
  }
39
39
 
40
40
  .medium {
41
- --radio_width: var(--zd_size16);
42
- --radio_height: var(--zd_size16);
41
+ --radio_width: 16px;
42
+ --radio_height: 16px;
43
43
  }
44
44
  .small {
45
- --radio_width: var(--zd_size13);
46
- --radio_height: var(--zd_size13);
45
+ --radio_width: 13px;
46
+ --radio_height: 13px;
47
47
  }
48
48
  .radioLabel {
49
49
  font-size: 0;
@@ -5,15 +5,12 @@ import ResizeObserver from './ResizeObserver';
5
5
  import DOMRefWrapper from './RefWrapper';
6
6
  import shallowCompare from './utils/shallowCompare';
7
7
  import { isBreackPointMatched, Subscribale, isTouchDevice, windowResizeObserver } from './sizeObservers';
8
- import { ContextOptimizer } from '../utils/ContextOptimizer';
9
-
10
- // const commonBreakPoints = [ 480, 640, 768, 1024, 1440 ];
8
+ import { ContextOptimizer } from '../utils/ContextOptimizer'; // const commonBreakPoints = [ 480, 640, 768, 1024, 1440 ];
11
9
  // const otherBreakPoints = [320, 360, 375, 720, 1280, 1600, 1920];
12
-
13
10
  // defaultResponsiveId means if ResponsiveSender do not recive id This will be id
14
- const defaultResponsiveId = 'parent_sender';
15
11
 
16
- // validSizeResponsiveId means in some parent's height and with is caluclated ( readed )
12
+ const defaultResponsiveId = 'parent_sender'; // validSizeResponsiveId means in some parent's height and with is caluclated ( readed )
13
+
17
14
  const validSizeResponsiveId = 'valid_sender';
18
15
  const ResponsiveContext = /*#__PURE__*/React.createContext({
19
16
  [validSizeResponsiveId]: windowResizeObserver
@@ -25,20 +22,24 @@ export function ResponsiveSender(props) {
25
22
  domRefKey,
26
23
  responsiveId
27
24
  } = props;
25
+
28
26
  function init() {
29
27
  let size = {
30
28
  height: 0,
31
29
  width: 0
32
30
  };
31
+
33
32
  function getSize() {
34
33
  return size;
35
34
  }
35
+
36
36
  const childContext = {
37
37
  resize: new Subscribale(),
38
38
  getSize,
39
39
  // TODO: rename isParentSize ==> isSizeReaded (or) isMySize (or) isOriginalSize
40
40
  isParentSize: false
41
41
  };
42
+
42
43
  function onResize(newSize) {
43
44
  childContext.isParentSize = true;
44
45
  size = newSize;
@@ -46,31 +47,38 @@ export function ResponsiveSender(props) {
46
47
  childContext.resize.dispatch(newSize);
47
48
  });
48
49
  }
50
+
49
51
  const observer = new ResizeObserver(onResize);
52
+
50
53
  function containerRef(node) {
51
54
  observer.replaceObservationElement(node);
52
55
  }
56
+
53
57
  return {
54
58
  containerRef,
55
59
  childContext
56
60
  };
57
61
  }
62
+
58
63
  const {
59
64
  containerRef,
60
65
  childContext
61
66
  } = useMemo(init, []);
67
+
62
68
  function contextSelector(context) {
63
- const totalContext = {
64
- ...context
69
+ const totalContext = { ...context
65
70
  };
66
- totalContext[responsiveId] = childContext;
67
- // NOTE: this for fallback of if responsive receiver id wrong or not avelable Responcive id
71
+ totalContext[responsiveId] = childContext; // NOTE: this for fallback of if responsive receiver id wrong or not avelable Responcive id
72
+
68
73
  totalContext[defaultResponsiveId] = childContext;
74
+
69
75
  if (childContext.isParentSize) {
70
76
  totalContext[validSizeResponsiveId] = childContext;
71
77
  }
78
+
72
79
  return totalContext;
73
80
  }
81
+
74
82
  return /*#__PURE__*/React.createElement(ContextOptimizer, {
75
83
  Context: ResponsiveContext,
76
84
  calculation: contextSelector
@@ -81,8 +89,7 @@ export function ResponsiveSender(props) {
81
89
  ref: containerRef
82
90
  }, children)));
83
91
  }
84
- ResponsiveSender.defaultProps = {
85
- ...CustomResponsiveSender_defaultProps,
92
+ ResponsiveSender.defaultProps = { ...CustomResponsiveSender_defaultProps,
86
93
  responsiveId: defaultResponsiveId
87
94
  };
88
95
  ResponsiveSender.contextType = ResponsiveContext;
@@ -97,6 +104,7 @@ export function useResponsiveReceiver() {
97
104
 
98
105
  const resizeHandlerRef = useRef();
99
106
  const data = useRef();
107
+
100
108
  function updateLatestData() {
101
109
  const size = contextData.isParentSize ? contextData.getSize() : validSizeContextData.getSize();
102
110
  const prevData = data.current;
@@ -104,6 +112,7 @@ export function useResponsiveReceiver() {
104
112
  isTouchDevice,
105
113
  isParentSize: contextData.isParentSize,
106
114
  currentScreenSize: size,
115
+
107
116
  mediaQueryOR(breakPointArray) {
108
117
  return breakPointArray.some(breakPoint => {
109
118
  const {
@@ -113,6 +122,7 @@ export function useResponsiveReceiver() {
113
122
  return isHeight || isWidth;
114
123
  });
115
124
  },
125
+
116
126
  mediaQueryAND(breakPointArray) {
117
127
  return breakPointArray.every(breakPoint => {
118
128
  const {
@@ -122,23 +132,27 @@ export function useResponsiveReceiver() {
122
132
  return (isHeight === undefined ? true : isHeight) && (isWidth === undefined ? true : isWidth);
123
133
  });
124
134
  }
135
+
125
136
  });
126
137
  const isSameValues = shallowCompare(data.current, prevData);
138
+
127
139
  if (isSameValues) {
128
140
  data.current = prevData;
129
141
  }
142
+
130
143
  return isSameValues;
131
144
  }
145
+
132
146
  resizeHandlerRef.current = updateLatestData;
133
147
  useEffect(() => {
134
148
  function handleResize(size) {
135
149
  const isSameValues = resizeHandlerRef.current(size);
136
150
  !isSameValues && forceUpdate({});
137
151
  }
152
+
138
153
  contextData.resize.subscribe(handleResize);
139
154
  return () => contextData.resize.unsubscribe(handleResize);
140
- }, [contextData]);
141
- // const prevContextDataRef = useRef();
155
+ }, [contextData]); // const prevContextDataRef = useRef();
142
156
  // function handleResize(size) {
143
157
  // const prevData = data.current;
144
158
  // resizeHandlerRef.current(size);
@@ -153,11 +167,10 @@ export function useResponsiveReceiver() {
153
167
  // contextData.resize.subscribe(handleResize);
154
168
  // } else {
155
169
  // windowResizeObserver.observe(handleResize);
156
-
157
170
  // }
158
-
159
171
  // }
160
172
  // NOTE: this call for we must give updated value
173
+
161
174
  updateLatestData();
162
175
  return data.current;
163
176
  }
@@ -176,8 +189,7 @@ export function ResponsiveReceiver(_ref) {
176
189
  ref: eleRef
177
190
  }, child) : child;
178
191
  }
179
- ResponsiveReceiver.defaultProps = {
180
- ...CustomResponsiveReceiver_defaultProps,
192
+ ResponsiveReceiver.defaultProps = { ...CustomResponsiveReceiver_defaultProps,
181
193
  responsiveId: defaultResponsiveId
182
194
  };
183
195
  ResponsiveReceiver.propTypes = CustomResponsiveReceiver_propTypes;
@@ -1,5 +1,6 @@
1
1
  import React, { forwardRef, useCallback, Children, cloneElement } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+
3
4
  function setRef(refFunc, value) {
4
5
  if (typeof refFunc === 'function') {
5
6
  refFunc(value);
@@ -7,22 +8,20 @@ function setRef(refFunc, value) {
7
8
  refFunc.current = value;
8
9
  }
9
10
  }
11
+
10
12
  const DOMRefWrapper = /*#__PURE__*/forwardRef((props, refFunc) => {
11
13
  const ele = Children.only(props.children);
12
14
  const {
13
15
  domRefKey = 'eleRef'
14
- } = props;
16
+ } = props; // NOTE: need to check for forward Ref function, Because in Froward Ref case refKey is "ref"
17
+
18
+ const refKey = typeof ele.type !== 'string' ? domRefKey : 'ref'; // const setAttribute = useCallback(node => {
15
19
 
16
- // NOTE: need to check for forward Ref function, Because in Froward Ref case refKey is "ref"
17
- const refKey = typeof ele.type !== 'string' ? domRefKey : 'ref';
18
- // const setAttribute = useCallback(node => {
19
20
  const eleRealRefFunc = ele.props[refKey];
20
21
  const setAttribute = useCallback(ref => {
21
22
  setRef(refFunc, ref);
22
23
  setRef(eleRealRefFunc, ref);
23
- }, [refFunc, eleRealRefFunc]);
24
-
25
- // let refKey = typeof ele.type === 'string' ? 'ref' : 'eleRef';
24
+ }, [refFunc, eleRealRefFunc]); // let refKey = typeof ele.type === 'string' ? 'ref' : 'eleRef';
26
25
 
27
26
  let childProps = {
28
27
  [refKey]: setAttribute