@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/Tab/Tabs.js CHANGED
@@ -1,5 +1,7 @@
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
  /* eslint-disable react/forbid-component-props */
4
+
3
5
  /* eslint css-modules/no-unused-class: [2, {
4
6
  markAsUsed: [
5
7
  'hidden','alpha','gamma','beta','delta','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
@@ -21,6 +23,7 @@ import Popup from '../Popup/Popup';
21
23
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
22
24
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
23
25
  import btnstyle from '../semantic/Button/semanticButton.module.css';
26
+
24
27
  class Tabs extends React.Component {
25
28
  constructor(props) {
26
29
  super(props);
@@ -35,6 +38,7 @@ class Tabs extends React.Component {
35
38
  this.tabsObserver = new ResizeObserver(this.onResize);
36
39
  this.tabObserver = {};
37
40
  }
41
+
38
42
  onTabResize(size, target) {
39
43
  let {
40
44
  align
@@ -44,13 +48,16 @@ class Tabs extends React.Component {
44
48
  } = this.state;
45
49
  let newDim = Object.assign({}, tabDimensions);
46
50
  let elemDim = getTotalDimension(target, align);
51
+
47
52
  if (elemDim !== 0) {
48
53
  newDim[target.dataset.key] = elemDim;
49
54
  }
55
+
50
56
  this.setState({
51
57
  tabDimensions: newDim
52
58
  });
53
59
  }
60
+
54
61
  componentDidMount() {
55
62
  let {
56
63
  children,
@@ -81,11 +88,13 @@ class Tabs extends React.Component {
81
88
  this.moveHighlight();
82
89
  });
83
90
  }
91
+
84
92
  componentWillUnmount() {
85
93
  if (this.tabsObserver) {
86
94
  this.tabsObserver.disconnect();
87
95
  this.tabsObserver = null;
88
96
  }
97
+
89
98
  if (this.tabObserver) {
90
99
  Object.keys(this.tabObserver).forEach(observer => {
91
100
  this.tabObserver[observer] && this.tabObserver[observer].disconnect();
@@ -93,15 +102,16 @@ class Tabs extends React.Component {
93
102
  this.tabObserver = null;
94
103
  }
95
104
  }
105
+
96
106
  setMaxDim() {
97
107
  let totalDimension = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
98
108
  let {
99
109
  selectedTab
100
- } = this.props;
101
- // let actual = Object.keys(tabDimensions).reduce(
110
+ } = this.props; // let actual = Object.keys(tabDimensions).reduce(
102
111
  // (sum, tab) => sum + (tabDimensions[tab] || 0),
103
112
  // 0
104
113
  // );
114
+
105
115
  if (totalDimension && this[selectedTab]) {
106
116
  let {
107
117
  align
@@ -110,12 +120,14 @@ class Tabs extends React.Component {
110
120
  align === 'vertical' ? this[selectedTab].style.maxWidth = newDim : this[selectedTab].style.maxHeight = newDim;
111
121
  }
112
122
  }
123
+
113
124
  getHighlightDim() {
114
125
  let {
115
126
  align
116
127
  } = this.props;
117
128
  return align === 'vertical' ? this.highlight.offsetLeft : this.highlight.offsetTop;
118
129
  }
130
+
119
131
  componentDidUpdate(prevProps) {
120
132
  let {
121
133
  children,
@@ -127,12 +139,12 @@ class Tabs extends React.Component {
127
139
  totalDimension,
128
140
  tabKeys
129
141
  } = this.state;
142
+
130
143
  if (prevProps.children && children) {
131
144
  /**
132
145
  * To recalculate the dimensions of tabs we are checking the children length.
133
146
  * and also checking the tab id and their order.
134
147
  */
135
-
136
148
  let newTabKeys = [];
137
149
  React.Children.toArray(children).forEach(child => {
138
150
  if (child && child.props.id && child.type === childType) {
@@ -140,6 +152,7 @@ class Tabs extends React.Component {
140
152
  }
141
153
  });
142
154
  let isSameTabKeys = newTabKeys.every((current, index) => tabKeys[index] === current);
155
+
143
156
  if (newTabKeys.length !== tabKeys.length || !isSameTabKeys) {
144
157
  this.setState({
145
158
  renderVirtualTabs: true,
@@ -154,11 +167,13 @@ class Tabs extends React.Component {
154
167
  });
155
168
  });
156
169
  }
170
+
157
171
  if (prevProps.selectedTab !== selectedTab || newTabKeys.length === 1) {
158
172
  this.moveHighlight();
159
173
  }
160
174
  }
161
175
  }
176
+
162
177
  moveHighlight() {
163
178
  let {
164
179
  isAnimate,
@@ -170,10 +185,13 @@ class Tabs extends React.Component {
170
185
  highlightInitialDimension
171
186
  } = this.state;
172
187
  let node = this.highlight;
188
+
173
189
  if (isAnimate && needTabBorder && node) {
174
190
  let tabActive = this[selectedTab];
191
+
175
192
  if (tabActive) {
176
193
  let position, dimension;
194
+
177
195
  if (align === 'vertical') {
178
196
  position = tabActive.offsetLeft;
179
197
  dimension = tabActive.offsetWidth;
@@ -188,17 +206,21 @@ class Tabs extends React.Component {
188
206
  }
189
207
  }
190
208
  }
209
+
191
210
  getHighlightRef(ele) {
192
211
  this.highlight = ele;
193
212
  }
213
+
194
214
  getTabsRef(ele) {
195
215
  this.tabsEle = ele;
216
+
196
217
  if (ele) {
197
218
  this.tabsObserver.observe(ele);
198
219
  } else {
199
220
  this.tabsObserver && this.tabsObserver.disconnect();
200
221
  }
201
222
  }
223
+
202
224
  onSizeChange() {
203
225
  let totalDimension = this.getTotalDimension();
204
226
  this.setState({
@@ -210,10 +232,12 @@ class Tabs extends React.Component {
210
232
  this.moveHighlight();
211
233
  });
212
234
  }
235
+
213
236
  onResize(timer) {
214
237
  let {
215
238
  isResponsive
216
239
  } = this.props;
240
+
217
241
  if (this.tabsEle && isResponsive) {
218
242
  if (!timer) {
219
243
  this.onSizeChange();
@@ -224,6 +248,7 @@ class Tabs extends React.Component {
224
248
  }
225
249
  }
226
250
  }
251
+
227
252
  getTotalDimension() {
228
253
  let {
229
254
  align
@@ -231,6 +256,7 @@ class Tabs extends React.Component {
231
256
  let totalDimension = this.tabsEle && getTotalDimension(this.tabsEle, align);
232
257
  return totalDimension;
233
258
  }
259
+
234
260
  getTabDimensions() {
235
261
  let {
236
262
  children,
@@ -243,6 +269,7 @@ class Tabs extends React.Component {
243
269
  }));
244
270
  return tabDimensions;
245
271
  }
272
+
246
273
  responsiveTab(totalDimension, tabDimensions) {
247
274
  let {
248
275
  children,
@@ -251,8 +278,9 @@ class Tabs extends React.Component {
251
278
  isResponsive
252
279
  } = this.props;
253
280
  let mainTabs = [],
254
- moreTabs = [],
255
- otherTabs = [];
281
+ moreTabs = [],
282
+ otherTabs = [];
283
+
256
284
  if (totalDimension && isResponsive) {
257
285
  let {
258
286
  childType,
@@ -267,6 +295,7 @@ class Tabs extends React.Component {
267
295
  const elemDimension = tabDimensions[child.props.id];
268
296
  let isMaxCountExceeded = maxTabsTobeVisible <= 0 ? true : false;
269
297
  let isMinCountNotExceeded = minTabsToBeVisible < minTabsCount ? true : false;
298
+
270
299
  if (child.props.id === selectedTab) {
271
300
  mainTabs.push(child);
272
301
  } else if (isMinCountNotExceeded) {
@@ -285,6 +314,7 @@ class Tabs extends React.Component {
285
314
  otherTabs.push(child);
286
315
  }
287
316
  });
317
+
288
318
  if (selectedTabDimension > totalDimension) {
289
319
  /* let { align } = this.props;
290
320
  let newDim = `${remConvert(totalDimension)}rem`;
@@ -311,15 +341,18 @@ class Tabs extends React.Component {
311
341
  } else {
312
342
  moreTabs = children;
313
343
  }
344
+
314
345
  return {
315
346
  mainTabs,
316
347
  moreTabs,
317
348
  otherTabs
318
349
  };
319
350
  }
351
+
320
352
  getTabRef(refName, ele, isVirtual) {
321
353
  this[refName] = ele;
322
354
  let key = isVirtual ? `virtual_${refName}` : refName;
355
+
323
356
  if (ele) {
324
357
  this.tabObserver[key] = new ResizeObserver(this.onTabResize);
325
358
  this.tabObserver[key].observe(ele);
@@ -329,17 +362,21 @@ class Tabs extends React.Component {
329
362
  }
330
363
  }
331
364
  }
365
+
332
366
  moreTabSelect(tab, value, index, e) {
333
367
  let {
334
368
  onSelect
335
369
  } = this.props;
370
+
336
371
  if (e && e.target && e.target.parentElement.tagName === 'A' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {
337
372
  cancelBubblingEffect(e);
338
373
  return;
339
374
  }
375
+
340
376
  e.preventDefault();
341
377
  onSelect(tab);
342
378
  }
379
+
343
380
  onScroll(e) {
344
381
  e.persist();
345
382
  let {
@@ -347,6 +384,7 @@ class Tabs extends React.Component {
347
384
  } = this.props;
348
385
  onScroll && throttle(onScroll, 100, e);
349
386
  }
387
+
350
388
  togglePopup(e) {
351
389
  let {
352
390
  boxPosition,
@@ -359,6 +397,7 @@ class Tabs extends React.Component {
359
397
  boxPosition = boxPosition ? boxPosition : popupPosition;
360
398
  togglePopup(e, boxPosition);
361
399
  }
400
+
362
401
  responsiveFunc(_ref) {
363
402
  let {
364
403
  mediaQueryOR
@@ -369,6 +408,7 @@ class Tabs extends React.Component {
369
408
  }])
370
409
  };
371
410
  }
411
+
372
412
  renderTabs(mainTabs, moreTabs, isVirtual) {
373
413
  let {
374
414
  selectedTab,
@@ -407,14 +447,18 @@ class Tabs extends React.Component {
407
447
  if (!child) {
408
448
  return null;
409
449
  }
450
+
410
451
  let MainTab = child.type;
411
452
  let classProps = {};
453
+
412
454
  if (itemActiveClass) {
413
455
  classProps.activeClass = itemActiveClass;
414
456
  }
457
+
415
458
  if (itemClass) {
416
459
  classProps.className = itemClass;
417
460
  }
461
+
418
462
  return /*#__PURE__*/React.isValidElement(child) && /*#__PURE__*/React.createElement(MainTab, _extends({}, child.props, {
419
463
  key: child.props.id,
420
464
  getTabRef: this.getTabRef,
@@ -476,6 +520,7 @@ class Tabs extends React.Component {
476
520
  if (!child) {
477
521
  return null;
478
522
  }
523
+
479
524
  let {
480
525
  text,
481
526
  id,
@@ -504,6 +549,7 @@ class Tabs extends React.Component {
504
549
  })));
505
550
  })) : null);
506
551
  }
552
+
507
553
  render() {
508
554
  let {
509
555
  style,
@@ -556,10 +602,11 @@ class Tabs extends React.Component {
556
602
  "data-test-id": dataId
557
603
  })));
558
604
  }
605
+
559
606
  }
607
+
560
608
  Tabs.propTypes = Tabs_propTypes;
561
- Tabs.defaultProps = {
562
- ...Tabs_defaultProps,
609
+ Tabs.defaultProps = { ...Tabs_defaultProps,
563
610
  childType: Tab
564
611
  };
565
612
  export default Popup(Tabs);
@@ -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/Tag/Tag.js CHANGED
@@ -7,7 +7,6 @@ import { Container } from '../Layout';
7
7
  import Button from '../semantic/Button/Button';
8
8
  import { getUniqueId } from '../Provider/IdProvider';
9
9
  import style from './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',
@@ -28,6 +27,7 @@ export default class Tag extends PureComponent {
28
27
  this.getRef = this.getRef.bind(this);
29
28
  this.getNextAriaId = getUniqueId(this);
30
29
  }
30
+
31
31
  handleSelect(e) {
32
32
  let {
33
33
  id,
@@ -38,6 +38,7 @@ export default class Tag extends PureComponent {
38
38
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
39
39
  onSelectTag && onSelectTag(id, e);
40
40
  }
41
+
41
42
  handleRemove(e) {
42
43
  let {
43
44
  onRemove,
@@ -48,6 +49,7 @@ export default class Tag extends PureComponent {
48
49
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
49
50
  onRemove && onRemove(id);
50
51
  }
52
+
51
53
  getRef(el) {
52
54
  let {
53
55
  getRef,
@@ -55,6 +57,7 @@ export default class Tag extends PureComponent {
55
57
  } = this.props;
56
58
  getRef && getRef(el, id);
57
59
  }
60
+
58
61
  render() {
59
62
  let {
60
63
  imageURL,
@@ -140,10 +143,10 @@ export default class Tag extends PureComponent {
140
143
  size: "8"
141
144
  }))));
142
145
  }
146
+
143
147
  }
144
148
  Tag.defaultProps = defaultProps;
145
- Tag.propTypes = propTypes;
146
- // if (__DOCS__) {
149
+ Tag.propTypes = propTypes; // if (__DOCS__) {
147
150
  // Tag.docs = {
148
151
  // componentGroup: 'Molecule',
149
152
  // folderName: 'Style Guide'
@@ -1,7 +1,7 @@
1
1
  .varClass {
2
2
  /* tag default variables */
3
3
  --tag_text_color: var(--zdt_tag_default_text);
4
- --tag_font_size: 13px;
4
+ --tag_font_size: var(--zd_font_size13);
5
5
  --tag_letter_spacing: normal;
6
6
  --tag_bg_color: var(--zdt_tag_default_bg);
7
7
  --tag_border_radius: 25px;
@@ -9,8 +9,8 @@
9
9
  --tag_border_width: 0;
10
10
  --tag_border_style: dashed;
11
11
  --tag_border_color: var(--zdt_tag_default_border);
12
- --tag_padding: 2px;
13
- --tag_inner_text_padding: 0 6px;
12
+ --tag_padding: var(--zd_size2);
13
+ --tag_inner_text_padding: 0 var(--zd_size6);
14
14
  --tag_cursor: default;
15
15
 
16
16
  /* tag close icon default variables */
@@ -22,13 +22,12 @@
22
22
  --tag_icon_bg_color: var(--zdt_tag_icon_bg);
23
23
  }[dir=ltr] .varClass {
24
24
  --tag_closeicon_border_radius: 0 12px 12px 0 /*rtl: 12px 0 0 12px*/;
25
- --tag_closeicon_padding: 0 7px 0 6px
26
- /*rtl: 0 6px 0 7px*/;
27
- --tag_icon_margin: 0 0 0 5px /*rtl: 0 5px 0 0*/;
25
+ --tag_closeicon_padding: 0 var(--zd_size7) 0 var(--zd_size6);
26
+ --tag_icon_margin: 0 0 0 var(--zd_size5);
28
27
  }[dir=rtl] .varClass {
29
28
  --tag_closeicon_border_radius: 12px 0 0 12px;
30
- --tag_closeicon_padding: 0 6px 0 7px;
31
- --tag_icon_margin: 0 5px 0 0;
29
+ --tag_closeicon_padding: 0 var(--zd_size6) 0 var(--zd_size7);
30
+ --tag_icon_margin: 0 var(--zd_size5) 0 0;
32
31
  }
33
32
  .container {
34
33
  composes: varClass;
@@ -42,7 +41,7 @@
42
41
  letter-spacing: var(--tag_letter_spacing);
43
42
  height: var(--tag_height);
44
43
  /* css:theme-validation:ignore */
45
- max-width: 100%;
44
+ max-width: 100% ;
46
45
  background-color: var(--tag_bg_color);
47
46
  border-radius: var(--tag_border_radius);
48
47
  border-width: var(--tag_border_width);
@@ -79,35 +78,35 @@
79
78
  padding: var(--tag_inner_text_padding);
80
79
  }
81
80
  .small {
82
- --tag_height: 20px;
83
- --tag_padding: 1px;
84
- --tag_inner_text_padding: 0 7px;
81
+ --tag_height: var(--zd_size20);
82
+ --tag_padding: var(--zd_size1);
83
+ --tag_inner_text_padding: 0 var(--zd_size7);
85
84
  }
86
85
  [dir=ltr] .small .avatar {
87
86
  transform: scale(0.8) translateX(-2px);
88
- margin-right: -8px;
87
+ margin-right: calc( var(--zd_size8) * -1 ) ;
89
88
  }
90
89
  [dir=rtl] .small .avatar {
91
90
  transform: scale(0.8) translateX(2px);
92
- margin-left: -8px;
91
+ margin-left: calc( var(--zd_size8) * -1 ) ;
93
92
  }
94
93
  .smalltext {
95
- --tag_font_size: 12px;
94
+ --tag_font_size: var(--zd_font_size12);
96
95
  }
97
96
  .activesmallEffect {
98
- --tag_inner_text_padding: 0 25px 0 7px;
97
+ --tag_inner_text_padding: 0 var(--zd_size25) 0 var(--zd_size7);
99
98
  }
100
99
 
101
100
  .medium {
102
- --tag_height: 26px;
103
- --tag_padding: 2px;
104
- --tag_inner_text_padding: 0 6px;
101
+ --tag_height: var(--zd_size26);
102
+ --tag_padding: var(--zd_size2);
103
+ --tag_inner_text_padding: 0 var(--zd_size6);
105
104
  }
106
105
  .mediumtext {
107
- --tag_font_size: 13px;
106
+ --tag_font_size: var(--zd_font_size13);
108
107
  }
109
108
  .activemediumEffect {
110
- --tag_inner_text_padding: 0 25px 0 6px;
109
+ --tag_inner_text_padding: 0 var(--zd_size25) 0 var(--zd_size6);
111
110
  }
112
111
 
113
112
  .selected .close {
@@ -130,8 +129,8 @@
130
129
  color: var(--tag_closeicon_color);
131
130
  display: none;
132
131
  position: absolute;
133
- top: 0;
134
- bottom: 0;
132
+ top: 0 ;
133
+ bottom: 0 ;
135
134
  /* css:theme-validation:ignore */
136
135
  padding: var(--tag_closeicon_padding);
137
136
  cursor: var(--tag_closeicon_cursor);
@@ -139,10 +138,10 @@
139
138
  background: var(--tag_closeicon_bg_color);
140
139
  }
141
140
  [dir=ltr] .close {
142
- right: 0;
141
+ right: 0 ;
143
142
  }
144
143
  [dir=rtl] .close {
145
- left: 0;
144
+ left: 0 ;
146
145
  }
147
146
  [dir=ltr] .lgRadiusClose {
148
147
  --tag_closeicon_border_radius: 0 12px 12px 0 /*rtl: 12px 0 0 12px*/;