@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
package/es/v1/Tab/Tabs.js CHANGED
@@ -1,4 +1,5 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React, { useState, useRef, useEffect, useCallback } from 'react';
3
4
  import useEffectCallOnlyAfterState from '@zohodesk/hooks/es/utils/useEffectCallOnlyAfterState';
4
5
  import Tab from './Tab';
@@ -14,6 +15,7 @@ import Popup from '../Popup/Popup';
14
15
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
15
16
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
16
17
  import btnstyle from '../../semantic/Button/semanticButton.module.css';
18
+
17
19
  const Tabs = props => {
18
20
  const [totalDimension, setTotalDimension] = useState(null);
19
21
  const [tabDimensions, setTabDimensions] = useState({});
@@ -51,14 +53,18 @@ const Tabs = props => {
51
53
  dataSelectorId,
52
54
  selectedTab
53
55
  } = props;
56
+
54
57
  function onTabResize(size, target) {
55
58
  let newDim = Object.assign({}, tabDimensions);
56
59
  let elemDim = getTotalDimension(target, align);
60
+
57
61
  if (elemDim !== 0) {
58
62
  newDim[target.dataset.key] = elemDim;
59
63
  }
64
+
60
65
  setTabDimensions(newDim);
61
66
  }
67
+
62
68
  useEffect(() => {
63
69
  let totalDimension = getTotalDimensionLocal();
64
70
  let tabDimensions = getTabDimensions();
@@ -77,15 +83,18 @@ const Tabs = props => {
77
83
  setTabDimensions(tabDimensions);
78
84
  setRenderVirtualTabs(false);
79
85
  setTabKeys(tabKeys);
86
+
80
87
  if (highlight.current) {
81
88
  highlightInitialDimension.current = getHighlightDim();
82
89
  moveHighlight();
83
90
  }
91
+
84
92
  return () => {
85
93
  if (tabsObserver.current) {
86
94
  tabsObserver.current.disconnect();
87
95
  tabsObserver.current = null;
88
96
  }
97
+
89
98
  if (tabObserver.current) {
90
99
  Object.keys(tabObserver.current).forEach(observer => {
91
100
  tabObserver.current[observer] && tabObserver.current[observer].disconnect();
@@ -94,8 +103,10 @@ const Tabs = props => {
94
103
  }
95
104
  };
96
105
  }, []);
106
+
97
107
  function setMaxDim() {
98
108
  let totalDimension = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
109
+
99
110
  // let actual = Object.keys(tabDimensions).reduce(
100
111
  // (sum, tab) => sum + (tabDimensions[tab] || 0),
101
112
  // 0
@@ -105,16 +116,17 @@ const Tabs = props => {
105
116
  align === 'vertical' ? tabElement.current[selectedTab].style.maxWidth = newDim : tabElement.current[selectedTab].style.maxHeight = newDim;
106
117
  }
107
118
  }
119
+
108
120
  function getHighlightDim() {
109
121
  return align === 'vertical' ? highlight.current.offsetLeft : highlight.current.offsetTop;
110
122
  }
123
+
111
124
  useEffectCallOnlyAfterState(() => {
112
125
  if (children) {
113
126
  /**
114
127
  * To recalculate the dimensions of tabs we are checking the children length.
115
128
  * and also checking the tab id and their order.
116
129
  */
117
-
118
130
  let newTabKeys = [];
119
131
  React.Children.toArray(children).forEach(child => {
120
132
  if (child && child.props.id && child.type === childType) {
@@ -122,6 +134,7 @@ const Tabs = props => {
122
134
  }
123
135
  });
124
136
  let isSameTabKeys = newTabKeys.every((current, index) => tabKeys[index] === current);
137
+
125
138
  if (newTabKeys.length !== tabKeys.length || !isSameTabKeys) {
126
139
  setRenderVirtualTabs(true);
127
140
  setTabKeys(newTabKeys);
@@ -131,6 +144,7 @@ const Tabs = props => {
131
144
  setRenderVirtualTabs(false);
132
145
  });
133
146
  }
147
+
134
148
  if (newTabKeys.length === 1) {
135
149
  moveHighlight();
136
150
  }
@@ -138,16 +152,21 @@ const Tabs = props => {
138
152
  });
139
153
  useEffectCallOnlyAfterState(() => {
140
154
  tabsObserver.current && tabsObserver.current.replaceResizeHandler(onResize);
155
+
141
156
  if (children) {
142
157
  moveHighlight();
143
158
  }
144
159
  }, [selectedTab]);
160
+
145
161
  function moveHighlight() {
146
162
  let node = highlight.current;
163
+
147
164
  if (isAnimate && needTabBorder && node) {
148
165
  let tabActive = tabElement.current[selectedTab];
166
+
149
167
  if (tabActive) {
150
168
  let position, dimension;
169
+
151
170
  if (align === 'vertical') {
152
171
  position = tabActive.offsetLeft;
153
172
  dimension = tabActive.offsetWidth;
@@ -162,25 +181,30 @@ const Tabs = props => {
162
181
  }
163
182
  }
164
183
  }
184
+
165
185
  const getHighlightRef = useCallback(ele => {
166
186
  highlight.current = ele;
167
187
  }, []);
168
188
  const getTabsRef = useCallback(ele => {
169
189
  tabsEle.current = ele;
190
+
170
191
  if (ele) {
171
192
  tabsObserver.current.observe(ele);
172
193
  } else {
173
194
  tabsObserver.current && tabsObserver.current.disconnect();
174
195
  }
175
196
  }, []);
197
+
176
198
  function onSizeChange() {
177
199
  let totalDimension = getTotalDimensionLocal();
178
200
  setTotalDimension(totalDimension);
201
+
179
202
  if (highlight.current) {
180
203
  highlightInitialDimension.current = getHighlightDim();
181
204
  moveHighlight();
182
205
  }
183
206
  }
207
+
184
208
  function onResize(timer) {
185
209
  if (tabsEle.current && isResponsive) {
186
210
  if (!timer) {
@@ -192,10 +216,12 @@ const Tabs = props => {
192
216
  }
193
217
  }
194
218
  }
219
+
195
220
  function getTotalDimensionLocal() {
196
221
  let totalDimension = tabsEle.current && getTotalDimension(tabsEle.current, align);
197
222
  return totalDimension;
198
223
  }
224
+
199
225
  function getTabDimensions() {
200
226
  let tabDimensions = {};
201
227
  React.Children.forEach(children, child => /*#__PURE__*/React.isValidElement(child) && child.type === childType && tabElement.current[child.props.id] && Object.assign(tabDimensions, {
@@ -203,10 +229,12 @@ const Tabs = props => {
203
229
  }));
204
230
  return tabDimensions;
205
231
  }
232
+
206
233
  function responsiveTab(totalDimension, tabDimensions) {
207
234
  let mainTabs = [],
208
- moreTabs = [],
209
- otherTabs = [];
235
+ moreTabs = [],
236
+ otherTabs = [];
237
+
210
238
  if (totalDimension && isResponsive) {
211
239
  let selectedTabDimension = tabDimensions[selectedTab] || 0;
212
240
  let remainingDimension = totalDimension - selectedTabDimension;
@@ -217,6 +245,7 @@ const Tabs = props => {
217
245
  const elemDimension = tabDimensions[child.props.id];
218
246
  let isMaxCountExceeded = maxTabsTobeVisible <= 0 ? true : false;
219
247
  let isMinCountNotExceeded = minTabsToBeVisible < minTabsCount ? true : false;
248
+
220
249
  if (child.props.id === selectedTab) {
221
250
  mainTabs.push(child);
222
251
  } else if (isMinCountNotExceeded) {
@@ -235,6 +264,7 @@ const Tabs = props => {
235
264
  otherTabs.push(child);
236
265
  }
237
266
  });
267
+
238
268
  if (selectedTabDimension > totalDimension) {
239
269
  /* let { align } = this.props;
240
270
  let newDim = `${remConvert(totalDimension)}rem`;
@@ -258,18 +288,22 @@ const Tabs = props => {
258
288
  } else {
259
289
  moreTabs = children;
260
290
  }
291
+
261
292
  return {
262
293
  mainTabs,
263
294
  moreTabs,
264
295
  otherTabs
265
296
  };
266
297
  }
298
+
267
299
  function getTabRef(refName, ele, isVirtual) {
268
300
  if (ele) {
269
301
  tabElement.current[refName] = ele;
270
- }
271
- // tabElement.current[refName] = ele
302
+ } // tabElement.current[refName] = ele
303
+
304
+
272
305
  let key = isVirtual ? `virtual_${refName}` : refName;
306
+
273
307
  if (ele) {
274
308
  tabObserver.current[key] = new ResizeObserver(onTabResize);
275
309
  tabObserver.current[key].observe(ele);
@@ -279,24 +313,29 @@ const Tabs = props => {
279
313
  }
280
314
  }
281
315
  }
316
+
282
317
  function moreTabSelect(tab, value, index, e) {
283
318
  if (e && e.target && e.target.parentElement.tagName === 'A' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {
284
319
  cancelBubblingEffect(e);
285
320
  return;
286
321
  }
322
+
287
323
  e.preventDefault();
288
324
  onSelect(tab);
289
325
  }
326
+
290
327
  function onScrollLocal(e) {
291
328
  e.persist();
292
329
  onScroll && throttle(onScroll, 100, e);
293
330
  }
331
+
294
332
  function togglePopupLocal(e) {
295
333
  removeClose && removeClose(e);
296
334
  let popupPosition = align === 'vertical' ? 'bottomLeft' : 'rightTop';
297
335
  boxPosition = boxPosition ? boxPosition : popupPosition;
298
336
  togglePopup(e, boxPosition);
299
337
  }
338
+
300
339
  function responsiveFunc(_ref) {
301
340
  let {
302
341
  mediaQueryOR
@@ -307,6 +346,7 @@ const Tabs = props => {
307
346
  }])
308
347
  };
309
348
  }
349
+
310
350
  function renderTabs(mainTabs, moreTabs, isVirtual) {
311
351
  let {
312
352
  moreButtonClass,
@@ -342,19 +382,22 @@ const Tabs = props => {
342
382
  if (!child) {
343
383
  return null;
344
384
  }
385
+
345
386
  let MainTab = child.type;
346
387
  let classProps = {};
388
+
347
389
  if (itemActiveClass) {
348
390
  classProps.activeClass = itemActiveClass;
349
391
  }
392
+
350
393
  if (itemClass) {
351
394
  classProps.className = itemClass;
352
395
  }
396
+
353
397
  return /*#__PURE__*/React.isValidElement(child) && /*#__PURE__*/React.createElement(MainTab, _extends({}, child.props, {
354
398
  key: child.props.id,
355
399
  getTabRef: getTabRef,
356
- onSelect: onSelect
357
- // recalculateDimension={tabElement.current[recalculateDimension]}
400
+ onSelect: onSelect // recalculateDimension={tabElement.current[recalculateDimension]}
358
401
  ,
359
402
  isActive: child.props.id === selectedTab,
360
403
  type: type,
@@ -412,6 +455,7 @@ const Tabs = props => {
412
455
  if (!child) {
413
456
  return null;
414
457
  }
458
+
415
459
  let {
416
460
  text,
417
461
  id,
@@ -440,6 +484,7 @@ const Tabs = props => {
440
484
  })));
441
485
  })) : null);
442
486
  }
487
+
443
488
  let {
444
489
  mainTabs,
445
490
  moreTabs,
@@ -470,9 +515,9 @@ const Tabs = props => {
470
515
  "data-test-id": dataId
471
516
  })));
472
517
  };
518
+
473
519
  Tabs.propTypes = Tabs_propTypes;
474
- Tabs.defaultProps = {
475
- ...Tabs_defaultProps,
520
+ Tabs.defaultProps = { ...Tabs_defaultProps,
476
521
  childType: Tab
477
522
  };
478
523
  export default Popup(Tabs);
@@ -5,15 +5,15 @@
5
5
  cursor: pointer;
6
6
  }
7
7
  .vertical {
8
- height: 100%;
8
+ height: 100% ;
9
9
  }
10
10
  .horizontal {
11
- width: 100%;
12
- max-width: 100%;
11
+ width: 100% ;
12
+ max-width: 100% ;
13
13
  }
14
14
  .textContainer,
15
15
  .tabText {
16
- max-width: inherit;
16
+ max-width: inherit ;
17
17
  }
18
18
  .tabText {
19
19
  composes: dotted from '../../common/common.module.css';
@@ -31,9 +31,9 @@
31
31
  transition: all var(--zd_transition2);
32
32
  }
33
33
  .alpha {
34
- font-size: 11px;
34
+ font-size: var(--zd_font_size11) ;
35
35
  line-height: 3;
36
- padding: 0 18px;
36
+ padding: 0 var(--zd_size18) ;
37
37
  }
38
38
  .tabAlpha {
39
39
  composes: alpha;
@@ -54,16 +54,16 @@
54
54
  border-color: var(--zdt_tab_delta_active_border);
55
55
  }
56
56
  .beta {
57
- font-size: 14px;
57
+ font-size: var(--zd_font_size14) ;
58
58
  line-height: 4.2857;
59
59
  text-transform: capitalize;
60
- padding: 0 4px;
60
+ padding: 0 var(--zd_size4) ;
61
61
  }
62
62
  [dir=ltr] .beta {
63
- margin-right: 40px;
63
+ margin-right: var(--zd_size40) ;
64
64
  }
65
65
  [dir=rtl] .beta {
66
- margin-left: 40px;
66
+ margin-left: var(--zd_size40) ;
67
67
  }
68
68
  .tabBeta {
69
69
  composes: beta;
@@ -77,15 +77,15 @@
77
77
  color: var(--zdt_tab_alpha_hover_text);
78
78
  }
79
79
  .delta {
80
- font-size: 11px;
80
+ font-size: var(--zd_font_size11) ;
81
81
  line-height: 3;
82
- padding: 0 4px;
82
+ padding: 0 var(--zd_size4) ;
83
83
  }
84
84
  [dir=ltr] .delta {
85
- margin-right: 10px;
85
+ margin-right: var(--zd_size10) ;
86
86
  }
87
87
  [dir=rtl] .delta {
88
- margin-left: 10px;
88
+ margin-left: var(--zd_size10) ;
89
89
  }
90
90
  .tabDelta {
91
91
  composes: delta;
@@ -5,16 +5,16 @@
5
5
  }
6
6
 
7
7
  .alpha {
8
- height: 35px;
8
+ height: var(--zd_size35) ;
9
9
  background-color: var(--zdt_tabs_alpha_bg);
10
10
  }
11
11
 
12
12
  [dir=ltr] .alpha_padding {
13
- padding-left: 15px;
13
+ padding-left: var(--zd_size15) ;
14
14
  }
15
15
 
16
16
  [dir=rtl] .alpha_padding {
17
- padding-right: 15px;
17
+ padding-right: var(--zd_size15) ;
18
18
  }
19
19
 
20
20
  .alpha_border {
@@ -27,50 +27,50 @@
27
27
  content: '';
28
28
  position: absolute;
29
29
  z-index: -2;
30
- width: 76%;
31
- bottom: 0;
32
- height: 10px;
30
+ width: 76% ;
31
+ bottom: 0 ;
32
+ height: var(--zd_size10) ;
33
33
  border-radius: 100px / 5px;
34
34
  box-shadow: var(--zd_bs_tabs_shadow);
35
35
  }
36
36
 
37
37
  [dir=ltr] .alpha::after {
38
- left: 12%;
38
+ left: 12% ;
39
39
  }
40
40
 
41
41
  [dir=rtl] .alpha::after {
42
- right: 12%;
42
+ right: 12% ;
43
43
  }
44
44
 
45
45
  .alpha:before {
46
46
  content: '';
47
47
  position: absolute;
48
48
  z-index: -1;
49
- width: 100%;
50
- height: 100%;
51
- top: 0;
49
+ width: 100% ;
50
+ height: 100% ;
51
+ top: 0 ;
52
52
  background: inherit;
53
53
  }
54
54
 
55
55
  [dir=ltr] .alpha:before {
56
- left: 0;
56
+ left: 0 ;
57
57
  }
58
58
 
59
59
  [dir=rtl] .alpha:before {
60
- right: 0;
60
+ right: 0 ;
61
61
  }
62
62
 
63
63
  .beta {
64
- height: 61px;
64
+ height: var(--zd_size61) ;
65
65
  background-color: var(--zdt_tabs_alpha_bg);
66
66
  }
67
67
 
68
68
  [dir=ltr] .beta_padding {
69
- padding-left: 13px;
69
+ padding-left: var(--zd_size13) ;
70
70
  }
71
71
 
72
72
  [dir=rtl] .beta_padding {
73
- padding-right: 13px;
73
+ padding-right: var(--zd_size13) ;
74
74
  }
75
75
 
76
76
  .beta_border {
@@ -78,16 +78,16 @@
78
78
  }
79
79
 
80
80
  .delta {
81
- height: 35px;
81
+ height: var(--zd_size35) ;
82
82
  background-color: var(--zdt_tabs_alpha_bg);
83
83
  }
84
84
 
85
85
  [dir=ltr] .delta_padding {
86
- padding-left: 10px;
86
+ padding-left: var(--zd_size10) ;
87
87
  }
88
88
 
89
89
  [dir=rtl] .delta_padding {
90
- padding-right: 10px;
90
+ padding-right: var(--zd_size10) ;
91
91
  }
92
92
 
93
93
  .delta_border {
@@ -99,12 +99,12 @@
99
99
  }
100
100
 
101
101
  .maxWidth {
102
- max-width: 100%;
102
+ max-width: 100% ;
103
103
  }
104
104
 
105
105
  .highlight {
106
106
  position: absolute;
107
- bottom: 0;
107
+ bottom: 0 ;
108
108
  border-bottom: 1px solid var(--zdt_tabs_highlight_border);
109
109
  }
110
110
 
@@ -118,7 +118,7 @@
118
118
  }
119
119
 
120
120
  .menuBox {
121
- max-height: 220px;
121
+ max-height: var(--zd_size220) ;
122
122
  }
123
123
  .bottomRightToLeft,
124
124
  .topRightToLeft,
package/es/v1/Tag/Tag.js CHANGED
@@ -7,7 +7,6 @@ import { Container } from '../Layout';
7
7
  import Button from '../semantic/Button/Button';
8
8
  import { useUniqueId } from '../../Provider/IdProvider';
9
9
  import style from '../../Tag/Tag.module.css';
10
-
11
10
  /*
12
11
  * eslint css-modules/no-unused-class: [2, { markAsUsed: ['small', 'medium',
13
12
  * 'closedanger', 'closeprimary', 'default', 'danger', 'secondary',
@@ -47,24 +46,28 @@ function Tag(props) {
47
46
  isReadOnly,
48
47
  id
49
48
  } = props;
49
+
50
50
  const handleSelect = e => {
51
51
  e && e.preventDefault();
52
52
  e.stopPropagation && e.stopPropagation();
53
53
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
54
54
  onSelectTag && onSelectTag(id, e);
55
55
  };
56
+
56
57
  const handleRemove = e => {
57
58
  e && e.preventDefault();
58
59
  e.stopPropagation && e.stopPropagation();
59
60
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
60
61
  onRemove && onRemove(id);
61
62
  };
63
+
62
64
  const getRef = el => {
63
65
  let {
64
66
  getRef
65
67
  } = props;
66
68
  getRef && getRef(el, id);
67
69
  };
70
+
68
71
  let {
69
72
  customTag = '',
70
73
  customTagClose = '',
@@ -125,6 +128,7 @@ function Tag(props) {
125
128
  size: "8"
126
129
  }))));
127
130
  }
131
+
128
132
  Tag.defaultProps = defaultProps;
129
133
  Tag.propTypes = propTypes;
130
134
  const MemoizedTag = /*#__PURE__*/memo(Tag);
@@ -1,8 +1,10 @@
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, { memo, useRef, useCallback } from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
5
6
  import style from '../../TextBox/TextBox.module.css';
7
+
6
8
  function TextBox(props) {
7
9
  let {
8
10
  type,
@@ -59,28 +61,36 @@ function TextBox(props) {
59
61
  } = a11y;
60
62
  let inputEle = useRef();
61
63
  let options = useRef({});
64
+
62
65
  if (isReadOnly) {
63
66
  options.current.readOnly = true;
64
67
  }
68
+
65
69
  if (isDisabled) {
66
70
  options.current.disabled = true;
67
71
  }
72
+
68
73
  if (autofocus) {
69
74
  options.current.autoFocus = true;
70
75
  }
76
+
71
77
  if (!autoComplete) {
72
78
  options.current.autoComplete = 'off';
73
79
  }
80
+
74
81
  const handleFocus = () => {
75
82
  onFocus && onFocus(id, value, name);
76
83
  };
84
+
77
85
  const handleBlur = () => {
78
86
  onBlur && onBlur(id, value, name);
79
87
  };
88
+
80
89
  const handleRef = useCallback(ref => {
81
90
  inputEle.current = ref;
82
91
  inputRef && inputRef(ref);
83
92
  }, []);
93
+
84
94
  const setFocus = () => {
85
95
  if (inputEle.current) {
86
96
  inputEle.current.focus({
@@ -88,6 +98,7 @@ function TextBox(props) {
88
98
  });
89
99
  }
90
100
  };
101
+
91
102
  const handleChange = e => {
92
103
  e.preventDefault();
93
104
  let {
@@ -95,9 +106,11 @@ function TextBox(props) {
95
106
  } = e.target;
96
107
  onChange && !isReadOnly && onChange(value, e);
97
108
  };
109
+
98
110
  const handlePreventTextBoxScroll = () => {
99
111
  this.inputEle.scrollLeft = 0;
100
112
  };
113
+
101
114
  let classList = needAppearance ? `${style.container} ${style[size]} ${style[variant]} ${needBorder ? style.border : ''} ${isDisabled && !needEffect || isReadOnly && !needEffect ? '' : style.effect} ${isFocus ? style.focus : ''}` : `${style.basic}`;
102
115
  value = value === null || value === undefined ? '' : value;
103
116
  return /*#__PURE__*/React.createElement("input", _extends({
@@ -137,6 +150,7 @@ function TextBox(props) {
137
150
  onMouseDown: onMouseDown
138
151
  }, options.current, customProps));
139
152
  }
153
+
140
154
  TextBox.defaultProps = defaultProps;
141
155
  TextBox.propTypes = propTypes;
142
156
  const MemoizedTextBox = /*#__PURE__*/memo(TextBox);
@@ -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, { useState, useRef, useCallback } from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
@@ -69,22 +70,26 @@ export default function TextBoxIcon(props) {
69
70
  inputEle.current = ele;
70
71
  inputRef && inputRef(ele);
71
72
  }, []);
73
+
72
74
  const handleClear = () => {
73
75
  onClear && onClear();
74
76
  inputEle.current && inputEle.current.focus({
75
77
  preventScroll: true
76
78
  });
77
79
  };
80
+
78
81
  const handleFocus = e => {
79
82
  if (!needReadOnlyStyle || !isReadOnly && needReadOnlyStyle) {
80
83
  setActive(true);
81
84
  onFocus && onFocus(e);
82
85
  }
83
86
  };
87
+
84
88
  const handleBlur = e => {
85
89
  setActive(false);
86
90
  onBlur && onBlur(e);
87
91
  };
92
+
88
93
  return /*#__PURE__*/React.createElement(Container, {
89
94
  alignBox: "row",
90
95
  isCover: false,
@@ -145,8 +150,7 @@ export default function TextBoxIcon(props) {
145
150
  }));
146
151
  }
147
152
  TextBoxIcon.defaultProps = defaultProps;
148
- TextBoxIcon.propTypes = propTypes;
149
- // if (__DOCS__) {
153
+ TextBoxIcon.propTypes = propTypes; // if (__DOCS__) {
150
154
  // TextBoxIcon.docs = {
151
155
  // componentGroup: 'Form Elements',
152
156
  // folderName: 'Style Guide',
@@ -1,7 +1,6 @@
1
1
  import PropTypes from 'prop-types';
2
2
  import { propTypes as TextBox_propTypes } from '../../TextBox/props/propTypes';
3
- export const propTypes = {
4
- ...TextBox_propTypes,
3
+ export const propTypes = { ...TextBox_propTypes,
5
4
  borderColor: PropTypes.oneOf(['transparent', 'default', 'error']),
6
5
  children: PropTypes.node,
7
6
  dataId: PropTypes.string,