@zohodesk/components 1.0.0-temp-155 → 1.0.0-temp-156

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 (431) hide show
  1. package/es/Accordion/Accordion.js +7 -3
  2. package/es/Accordion/AccordionItem.js +4 -2
  3. package/es/Animation/Animation.js +3 -3
  4. package/es/AppContainer/AppContainer.js +13 -5
  5. package/es/AppContainer/AppContainer.module.css +2 -2
  6. package/es/Avatar/Avatar.js +23 -11
  7. package/es/Avatar/Avatar.module.css +18 -18
  8. package/es/AvatarTeam/AvatarTeam.js +3 -3
  9. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  10. package/es/Button/Button.js +4 -3
  11. package/es/Button/css/Button.module.css +70 -70
  12. package/es/Buttongroup/Buttongroup.js +3 -3
  13. package/es/Buttongroup/Buttongroup.module.css +14 -15
  14. package/es/Card/Card.js +21 -10
  15. package/es/CheckBox/CheckBox.js +5 -3
  16. package/es/CheckBox/CheckBox.module.css +15 -15
  17. package/es/DateTime/CalendarView.js +32 -20
  18. package/es/DateTime/DateTime.js +67 -6
  19. package/es/DateTime/DateTime.module.css +39 -39
  20. package/es/DateTime/DateTimePopupFooter.js +4 -2
  21. package/es/DateTime/DateTimePopupHeader.js +8 -2
  22. package/es/DateTime/DateWidget.js +98 -35
  23. package/es/DateTime/DateWidget.module.css +5 -5
  24. package/es/DateTime/DaysRow.js +4 -2
  25. package/es/DateTime/Time.js +10 -2
  26. package/es/DateTime/YearView.js +28 -4
  27. package/es/DateTime/YearView.module.css +15 -15
  28. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  29. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  30. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  31. package/es/DateTime/common.js +3 -0
  32. package/es/DateTime/constants.js +1 -0
  33. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -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 +32 -2
  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 +76 -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 +8 -4
  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/__tests__/DropDown.spec.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/Layout/Box.js +13 -0
  67. package/es/Layout/Container.js +12 -1
  68. package/es/Layout/Layout.module.css +15 -15
  69. package/es/Layout/index.js +1 -2
  70. package/es/ListItem/ListContainer.js +8 -3
  71. package/es/ListItem/ListItem.js +9 -3
  72. package/es/ListItem/ListItem.module.css +38 -38
  73. package/es/ListItem/ListItemWithAvatar.js +9 -3
  74. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  75. package/es/ListItem/ListItemWithIcon.js +8 -3
  76. package/es/ListItem/ListItemWithRadio.js +7 -3
  77. package/es/Modal/Modal.js +28 -11
  78. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  79. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  80. package/es/MultiSelect/EmptyState.js +2 -0
  81. package/es/MultiSelect/MultiSelect.js +99 -32
  82. package/es/MultiSelect/MultiSelect.module.css +31 -31
  83. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  84. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  85. package/es/MultiSelect/SelectedOptions.js +6 -3
  86. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  87. package/es/MultiSelect/Suggestions.js +7 -3
  88. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  89. package/es/MultiSelect/props/propTypes.js +2 -0
  90. package/es/PopOver/PopOver.js +18 -2
  91. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  92. package/es/Popup/Popup.js +77 -24
  93. package/es/Popup/__tests__/Popup.spec.js +17 -5
  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 +4 -2
  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/Ribbon/Ribbon.js +3 -2
  114. package/es/Ribbon/Ribbon.module.css +46 -48
  115. package/es/RippleEffect/RippleEffect.js +1 -3
  116. package/es/Select/GroupSelect.js +58 -14
  117. package/es/Select/Select.js +79 -33
  118. package/es/Select/Select.module.css +23 -23
  119. package/es/Select/SelectWithAvatar.js +17 -4
  120. package/es/Select/SelectWithIcon.js +46 -5
  121. package/es/Select/__tests__/Select.spec.js +6 -8
  122. package/es/Select/props/propTypes.js +1 -0
  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 +2 -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/Tab/__tests__/Tab.spec.js +1 -3
  135. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  136. package/es/Tag/Tag.js +6 -3
  137. package/es/Tag/Tag.module.css +25 -25
  138. package/es/TextBox/TextBox.js +15 -3
  139. package/es/TextBox/TextBox.module.css +9 -9
  140. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  141. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  142. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  143. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  144. package/es/Textarea/Textarea.js +12 -3
  145. package/es/Textarea/Textarea.module.css +21 -21
  146. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  147. package/es/Tooltip/Tooltip.js +58 -14
  148. package/es/Tooltip/Tooltip.module.css +5 -5
  149. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  150. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  151. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  152. package/es/common/animation.module.css +8 -8
  153. package/es/common/avatarsizes.module.css +16 -16
  154. package/es/common/basicReset.module.css +3 -3
  155. package/es/common/common.module.css +24 -24
  156. package/es/common/customscroll.module.css +2 -2
  157. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  158. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  159. package/es/semantic/Button/Button.js +3 -2
  160. package/es/semantic/Button/semanticButton.module.css +1 -1
  161. package/es/utils/Common.js +54 -9
  162. package/es/utils/ContextOptimizer.js +4 -5
  163. package/es/utils/__tests__/debounce.spec.js +2 -2
  164. package/es/utils/constructFullName.js +2 -0
  165. package/es/utils/css/compileClassNames.js +5 -0
  166. package/es/utils/css/mergeStyle.js +7 -6
  167. package/es/utils/css/utils.js +1 -0
  168. package/es/utils/datetime/common.js +16 -5
  169. package/es/utils/debounce.js +5 -1
  170. package/es/utils/dropDownUtils.js +68 -11
  171. package/es/utils/getInitial.js +4 -0
  172. package/es/utils/shallowEqual.js +6 -0
  173. package/lib/Accordion/Accordion.js +42 -18
  174. package/lib/Accordion/AccordionItem.js +40 -18
  175. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  176. package/lib/Accordion/index.js +3 -0
  177. package/lib/Accordion/props/propTypes.js +3 -0
  178. package/lib/Animation/Animation.js +38 -18
  179. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  180. package/lib/Animation/props/propTypes.js +3 -0
  181. package/lib/AppContainer/AppContainer.js +56 -21
  182. package/lib/AppContainer/AppContainer.module.css +2 -2
  183. package/lib/AppContainer/props/propTypes.js +3 -0
  184. package/lib/Avatar/Avatar.js +78 -38
  185. package/lib/Avatar/Avatar.module.css +18 -18
  186. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  187. package/lib/Avatar/props/propTypes.js +3 -0
  188. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  189. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  190. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  191. package/lib/AvatarTeam/props/propTypes.js +3 -0
  192. package/lib/Button/Button.js +31 -20
  193. package/lib/Button/css/Button.module.css +70 -70
  194. package/lib/Button/css/cssJSLogic.js +18 -17
  195. package/lib/Button/index.js +3 -0
  196. package/lib/Button/props/defaultProps.js +2 -0
  197. package/lib/Button/props/propTypes.js +3 -0
  198. package/lib/Buttongroup/Buttongroup.js +32 -12
  199. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  200. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  201. package/lib/Buttongroup/props/propTypes.js +3 -0
  202. package/lib/Card/Card.js +102 -46
  203. package/lib/Card/__tests__/Card.spec.js +10 -1
  204. package/lib/Card/index.js +4 -0
  205. package/lib/Card/props/propTypes.js +3 -0
  206. package/lib/CheckBox/CheckBox.js +71 -47
  207. package/lib/CheckBox/CheckBox.module.css +15 -15
  208. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  209. package/lib/CheckBox/props/propTypes.js +3 -0
  210. package/lib/DateTime/CalendarView.js +82 -42
  211. package/lib/DateTime/DateTime.js +240 -156
  212. package/lib/DateTime/DateTime.module.css +39 -39
  213. package/lib/DateTime/DateTimePopupFooter.js +32 -9
  214. package/lib/DateTime/DateTimePopupHeader.js +49 -18
  215. package/lib/DateTime/DateWidget.js +353 -251
  216. package/lib/DateTime/DateWidget.module.css +5 -5
  217. package/lib/DateTime/DaysRow.js +28 -6
  218. package/lib/DateTime/Time.js +74 -33
  219. package/lib/DateTime/YearView.js +78 -29
  220. package/lib/DateTime/YearView.module.css +15 -15
  221. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  222. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  223. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  224. package/lib/DateTime/common.js +6 -0
  225. package/lib/DateTime/constants.js +1 -0
  226. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  227. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  228. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  229. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  230. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  231. package/lib/DateTime/dateFormatUtils/timeChange.js +55 -23
  232. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  233. package/lib/DateTime/index.js +2 -0
  234. package/lib/DateTime/objectUtils.js +24 -20
  235. package/lib/DateTime/props/propTypes.js +11 -1
  236. package/lib/DateTime/typeChecker.js +4 -0
  237. package/lib/DateTime/validator.js +73 -10
  238. package/lib/DropBox/DropBox.js +34 -10
  239. package/lib/DropBox/DropBoxElement/DropBoxElement.js +58 -37
  240. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +76 -76
  241. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
  242. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  243. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  244. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  245. package/lib/DropBox/css/DropBox.module.css +6 -6
  246. package/lib/DropBox/css/cssJSLogic.js +3 -1
  247. package/lib/DropBox/props/defaultProps.js +8 -4
  248. package/lib/DropBox/props/propTypes.js +10 -4
  249. package/lib/DropDown/DropDown.js +52 -8
  250. package/lib/DropDown/DropDown.module.css +2 -2
  251. package/lib/DropDown/DropDownHeading.js +39 -20
  252. package/lib/DropDown/DropDownHeading.module.css +6 -6
  253. package/lib/DropDown/DropDownItem.js +42 -20
  254. package/lib/DropDown/DropDownItem.module.css +12 -12
  255. package/lib/DropDown/DropDownSearch.js +40 -17
  256. package/lib/DropDown/DropDownSearch.module.css +3 -3
  257. package/lib/DropDown/DropDownSeparator.js +24 -4
  258. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  259. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  260. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  261. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  262. package/lib/DropDown/index.js +9 -0
  263. package/lib/DropDown/props/propTypes.js +6 -4
  264. package/lib/Heading/Heading.js +37 -15
  265. package/lib/Heading/Heading.module.css +2 -2
  266. package/lib/Heading/props/propTypes.js +3 -0
  267. package/lib/Label/Label.js +40 -22
  268. package/lib/Label/Label.module.css +5 -5
  269. package/lib/Label/__tests__/Label.spec.js +14 -1
  270. package/lib/Label/props/propTypes.js +3 -0
  271. package/lib/Layout/Box.js +31 -11
  272. package/lib/Layout/Container.js +29 -10
  273. package/lib/Layout/Layout.module.css +15 -15
  274. package/lib/Layout/__tests__/Box.spec.js +65 -49
  275. package/lib/Layout/__tests__/Container.spec.js +67 -50
  276. package/lib/Layout/index.js +3 -0
  277. package/lib/Layout/props/propTypes.js +3 -0
  278. package/lib/Layout/utils.js +10 -0
  279. package/lib/ListItem/ListContainer.js +49 -28
  280. package/lib/ListItem/ListItem.js +70 -46
  281. package/lib/ListItem/ListItem.module.css +38 -38
  282. package/lib/ListItem/ListItemWithAvatar.js +76 -49
  283. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  284. package/lib/ListItem/ListItemWithIcon.js +69 -45
  285. package/lib/ListItem/ListItemWithRadio.js +65 -41
  286. package/lib/ListItem/index.js +7 -0
  287. package/lib/ListItem/props/propTypes.js +6 -4
  288. package/lib/Modal/Modal.js +46 -11
  289. package/lib/Modal/props/propTypes.js +3 -0
  290. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -167
  291. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  292. package/lib/MultiSelect/EmptyState.js +46 -25
  293. package/lib/MultiSelect/MultiSelect.js +324 -206
  294. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  295. package/lib/MultiSelect/MultiSelectHeader.js +31 -9
  296. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -64
  297. package/lib/MultiSelect/SelectedOptions.js +44 -18
  298. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  299. package/lib/MultiSelect/Suggestions.js +65 -33
  300. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  301. package/lib/MultiSelect/index.js +5 -0
  302. package/lib/MultiSelect/props/defaultProps.js +2 -0
  303. package/lib/MultiSelect/props/propTypes.js +5 -0
  304. package/lib/PopOver/PopOver.js +95 -49
  305. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  306. package/lib/PopOver/index.js +4 -0
  307. package/lib/PopOver/props/propTypes.js +3 -0
  308. package/lib/Popup/Popup.js +159 -82
  309. package/lib/Popup/__tests__/Popup.spec.js +44 -9
  310. package/lib/Popup/viewPort.js +28 -14
  311. package/lib/Provider/AvatarSize.js +4 -0
  312. package/lib/Provider/Config.js +2 -0
  313. package/lib/Provider/CssProvider.js +4 -0
  314. package/lib/Provider/IdProvider.js +17 -6
  315. package/lib/Provider/LibraryContext.js +35 -15
  316. package/lib/Provider/LibraryContextInit.js +4 -0
  317. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  318. package/lib/Provider/ZindexProvider.js +15 -3
  319. package/lib/Provider/index.js +5 -0
  320. package/lib/Radio/Radio.js +62 -39
  321. package/lib/Radio/Radio.module.css +9 -9
  322. package/lib/Radio/__tests__/Radiospec.js +9 -5
  323. package/lib/Radio/props/propTypes.js +3 -0
  324. package/lib/Responsive/CustomResponsive.js +73 -28
  325. package/lib/Responsive/RefWrapper.js +17 -11
  326. package/lib/Responsive/ResizeComponent.js +63 -39
  327. package/lib/Responsive/ResizeObserver.js +24 -10
  328. package/lib/Responsive/Responsive.js +81 -31
  329. package/lib/Responsive/index.js +4 -0
  330. package/lib/Responsive/props/propTypes.js +3 -0
  331. package/lib/Responsive/sizeObservers.js +53 -17
  332. package/lib/Responsive/utils/index.js +11 -3
  333. package/lib/Responsive/utils/shallowCompare.js +11 -2
  334. package/lib/Responsive/windowResizeObserver.js +8 -0
  335. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  336. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  337. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  338. package/lib/Ribbon/Ribbon.js +34 -14
  339. package/lib/Ribbon/Ribbon.module.css +46 -48
  340. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  341. package/lib/Ribbon/props/propTypes.js +3 -0
  342. package/lib/RippleEffect/RippleEffect.js +18 -10
  343. package/lib/RippleEffect/props/propTypes.js +3 -0
  344. package/lib/Select/GroupSelect.js +230 -131
  345. package/lib/Select/Select.js +291 -209
  346. package/lib/Select/Select.module.css +23 -23
  347. package/lib/Select/SelectWithAvatar.js +103 -57
  348. package/lib/Select/SelectWithIcon.js +133 -77
  349. package/lib/Select/__tests__/Select.spec.js +134 -92
  350. package/lib/Select/index.js +5 -0
  351. package/lib/Select/props/defaultProps.js +5 -4
  352. package/lib/Select/props/propTypes.js +4 -0
  353. package/lib/Stencils/Stencils.js +30 -11
  354. package/lib/Stencils/Stencils.module.css +11 -11
  355. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  356. package/lib/Stencils/props/propTypes.js +3 -0
  357. package/lib/Switch/Switch.js +57 -34
  358. package/lib/Switch/Switch.module.css +23 -23
  359. package/lib/Switch/props/propTypes.js +3 -0
  360. package/lib/Tab/Tab.js +41 -28
  361. package/lib/Tab/Tab.module.css +14 -14
  362. package/lib/Tab/TabContent.js +12 -5
  363. package/lib/Tab/TabContentWrapper.js +13 -6
  364. package/lib/Tab/TabWrapper.js +37 -19
  365. package/lib/Tab/Tabs.js +172 -98
  366. package/lib/Tab/Tabs.module.css +22 -22
  367. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  368. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  369. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  370. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  371. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  372. package/lib/Tab/index.js +6 -0
  373. package/lib/Tab/props/propTypes.js +3 -0
  374. package/lib/Tag/Tag.js +72 -43
  375. package/lib/Tag/Tag.module.css +25 -25
  376. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  377. package/lib/Tag/props/propTypes.js +3 -0
  378. package/lib/TextBox/TextBox.js +86 -60
  379. package/lib/TextBox/TextBox.module.css +9 -9
  380. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  381. package/lib/TextBox/props/propTypes.js +6 -4
  382. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  383. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  384. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -4
  385. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  386. package/lib/Textarea/Textarea.js +55 -30
  387. package/lib/Textarea/Textarea.module.css +21 -21
  388. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  389. package/lib/Textarea/props/propTypes.js +3 -0
  390. package/lib/Tooltip/Tooltip.js +94 -31
  391. package/lib/Tooltip/Tooltip.module.css +5 -5
  392. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  393. package/lib/Tooltip/props/propTypes.js +3 -0
  394. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  395. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  396. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  397. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  398. package/lib/VelocityAnimation/index.js +3 -0
  399. package/lib/common/animation.module.css +8 -8
  400. package/lib/common/avatarsizes.module.css +16 -16
  401. package/lib/common/basicReset.module.css +3 -3
  402. package/lib/common/common.module.css +24 -24
  403. package/lib/common/customscroll.module.css +2 -2
  404. package/lib/css.js +40 -0
  405. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  406. package/lib/deprecated/PortalLayer/PortalLayer.js +47 -24
  407. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  408. package/lib/index.js +57 -0
  409. package/lib/semantic/Button/Button.js +42 -22
  410. package/lib/semantic/Button/props/propTypes.js +3 -0
  411. package/lib/semantic/Button/semanticButton.module.css +1 -1
  412. package/lib/semantic/index.js +2 -0
  413. package/lib/utils/Common.js +108 -18
  414. package/lib/utils/ContextOptimizer.js +16 -10
  415. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  416. package/lib/utils/__tests__/debounce.spec.js +3 -2
  417. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  418. package/lib/utils/constructFullName.js +13 -4
  419. package/lib/utils/css/compileClassNames.js +6 -0
  420. package/lib/utils/css/mergeStyle.js +10 -7
  421. package/lib/utils/css/utils.js +8 -0
  422. package/lib/utils/datetime/common.js +32 -5
  423. package/lib/utils/debounce.js +6 -1
  424. package/lib/utils/dropDownUtils.js +176 -60
  425. package/lib/utils/dummyFunction.js +2 -0
  426. package/lib/utils/getHTMLFontSize.js +1 -0
  427. package/lib/utils/getInitial.js +6 -0
  428. package/lib/utils/index.js +4 -0
  429. package/lib/utils/scrollTo.js +2 -0
  430. package/lib/utils/shallowEqual.js +8 -0
  431. package/package.json +1 -1
package/lib/Tab/Tabs.js CHANGED
@@ -1,53 +1,80 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _Tab = _interopRequireDefault(require("./Tab"));
13
+
10
14
  var _defaultProps = require("./props/defaultProps");
15
+
11
16
  var _propTypes = require("./props/propTypes");
17
+
12
18
  var _Common = require("../utils/Common");
19
+
13
20
  var _Layout = require("../Layout");
21
+
14
22
  var _ResizeObserver = _interopRequireDefault(require("../Responsive/ResizeObserver"));
23
+
15
24
  var _ListItem = _interopRequireDefault(require("../ListItem/ListItem"));
25
+
16
26
  var _icons = require("@zohodesk/icons");
27
+
17
28
  var _TabsModule = _interopRequireDefault(require("./Tabs.module.css"));
29
+
18
30
  var _Popup = _interopRequireDefault(require("../Popup/Popup"));
31
+
19
32
  var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
33
+
20
34
  var _CustomResponsive = require("../Responsive/CustomResponsive");
35
+
21
36
  var _semanticButtonModule = _interopRequireDefault(require("../semantic/Button/semanticButton.module.css"));
37
+
22
38
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
39
+
23
40
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
+
24
42
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
+
25
44
  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); }
26
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
45
+
46
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
47
+
27
48
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
28
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
49
+
50
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
51
+
29
52
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
30
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
31
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
53
+
32
54
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
55
+
33
56
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
57
+
34
58
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
59
+
35
60
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
61
+
36
62
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
63
+
37
64
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
38
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); } /* eslint-disable react/forbid-component-props */ /* eslint css-modules/no-unused-class: [2, {
39
- markAsUsed: [
40
- 'hidden','alpha','gamma','beta','delta','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
41
- 'alpha_padding','alpha_border','gamma_padding','gamma_border','beta_padding','beta_border','delta_padding','delta_border','textContainer','disabled','alphaActive_border','gammaActive_border','betaActive_border','deltaActive_border'
42
- ]
43
- }]
44
- */
65
+
66
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
67
+
45
68
  var Tabs = /*#__PURE__*/function (_React$Component) {
46
69
  _inherits(Tabs, _React$Component);
70
+
47
71
  var _super = _createSuper(Tabs);
72
+
48
73
  function Tabs(props) {
49
74
  var _this;
75
+
50
76
  _classCallCheck(this, Tabs);
77
+
51
78
  _this = _super.call(this, props);
52
79
  _this.state = {
53
80
  totalDimension: null,
@@ -56,11 +83,14 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
56
83
  renderVirtualTabs: true,
57
84
  tabKeys: []
58
85
  };
86
+
59
87
  _Common.bind.apply(_assertThisInitialized(_this), ['moreTabSelect', 'onResize', 'onTabResize', 'getHighlightRef', 'getTabsRef', 'getTabRef', 'getHighlightDim', 'onSizeChange', 'onScroll', 'togglePopup', 'setMaxDim']);
88
+
60
89
  _this.tabsObserver = new _ResizeObserver["default"](_this.onResize);
61
90
  _this.tabObserver = {};
62
91
  return _this;
63
92
  }
93
+
64
94
  _createClass(Tabs, [{
65
95
  key: "onTabResize",
66
96
  value: function onTabResize(size, target) {
@@ -68,9 +98,11 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
68
98
  var tabDimensions = this.state.tabDimensions;
69
99
  var newDim = Object.assign({}, tabDimensions);
70
100
  var elemDim = (0, _Common.getTotalDimension)(target, align);
101
+
71
102
  if (elemDim !== 0) {
72
103
  newDim[target.dataset.key] = elemDim;
73
104
  }
105
+
74
106
  this.setState({
75
107
  tabDimensions: newDim
76
108
  });
@@ -79,13 +111,15 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
79
111
  key: "componentDidMount",
80
112
  value: function componentDidMount() {
81
113
  var _this2 = this;
114
+
82
115
  var _this$props = this.props,
83
- children = _this$props.children,
84
- childType = _this$props.childType;
116
+ children = _this$props.children,
117
+ childType = _this$props.childType;
85
118
  var totalDimension = this.getTotalDimension();
86
119
  var tabDimensions = this.getTabDimensions();
87
120
  var tabKeys = [];
88
121
  var restrictedKeys = ['state', 'props', 'refs', 'context'];
122
+
89
123
  _react["default"].Children.toArray(children).forEach(function (child) {
90
124
  if (child && child.props.id && child.type === childType) {
91
125
  if (restrictedKeys.includes(child.props.id)) {
@@ -95,6 +129,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
95
129
  }
96
130
  }
97
131
  });
132
+
98
133
  this.setState({
99
134
  totalDimension: totalDimension,
100
135
  tabDimensions: tabDimensions,
@@ -111,10 +146,12 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
111
146
  key: "componentWillUnmount",
112
147
  value: function componentWillUnmount() {
113
148
  var _this3 = this;
149
+
114
150
  if (this.tabsObserver) {
115
151
  this.tabsObserver.disconnect();
116
152
  this.tabsObserver = null;
117
153
  }
154
+
118
155
  if (this.tabObserver) {
119
156
  Object.keys(this.tabObserver).forEach(function (observer) {
120
157
  _this3.tabObserver[observer] && _this3.tabObserver[observer].disconnect();
@@ -126,11 +163,11 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
126
163
  key: "setMaxDim",
127
164
  value: function setMaxDim() {
128
165
  var totalDimension = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
129
- var selectedTab = this.props.selectedTab;
130
- // let actual = Object.keys(tabDimensions).reduce(
166
+ var selectedTab = this.props.selectedTab; // let actual = Object.keys(tabDimensions).reduce(
131
167
  // (sum, tab) => sum + (tabDimensions[tab] || 0),
132
168
  // 0
133
169
  // );
170
+
134
171
  if (totalDimension && this[selectedTab]) {
135
172
  var align = this.props.align;
136
173
  var newDim = "".concat((0, _Common.remConvert)(totalDimension), "rem");
@@ -147,29 +184,33 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
147
184
  key: "componentDidUpdate",
148
185
  value: function componentDidUpdate(prevProps) {
149
186
  var _this4 = this;
187
+
150
188
  var _this$props2 = this.props,
151
- children = _this$props2.children,
152
- selectedTab = _this$props2.selectedTab,
153
- childType = _this$props2.childType;
189
+ children = _this$props2.children,
190
+ selectedTab = _this$props2.selectedTab,
191
+ childType = _this$props2.childType;
154
192
  var _this$state = this.state,
155
- tabDimensions = _this$state.tabDimensions,
156
- totalDimension = _this$state.totalDimension,
157
- tabKeys = _this$state.tabKeys;
193
+ tabDimensions = _this$state.tabDimensions,
194
+ totalDimension = _this$state.totalDimension,
195
+ tabKeys = _this$state.tabKeys;
196
+
158
197
  if (prevProps.children && children) {
159
198
  /**
160
199
  * To recalculate the dimensions of tabs we are checking the children length.
161
200
  * and also checking the tab id and their order.
162
201
  */
163
-
164
202
  var newTabKeys = [];
203
+
165
204
  _react["default"].Children.toArray(children).forEach(function (child) {
166
205
  if (child && child.props.id && child.type === childType) {
167
206
  newTabKeys.push(child.props.id);
168
207
  }
169
208
  });
209
+
170
210
  var isSameTabKeys = newTabKeys.every(function (current, index) {
171
211
  return tabKeys[index] === current;
172
212
  });
213
+
173
214
  if (newTabKeys.length !== tabKeys.length || !isSameTabKeys) {
174
215
  this.setState({
175
216
  renderVirtualTabs: true,
@@ -177,6 +218,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
177
218
  }, function () {
178
219
  totalDimension = _this4.getTotalDimension();
179
220
  tabDimensions = _this4.getTabDimensions();
221
+
180
222
  _this4.setState({
181
223
  tabDimensions: tabDimensions,
182
224
  totalDimension: totalDimension,
@@ -184,6 +226,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
184
226
  });
185
227
  });
186
228
  }
229
+
187
230
  if (prevProps.selectedTab !== selectedTab || newTabKeys.length === 1) {
188
231
  this.moveHighlight();
189
232
  }
@@ -193,16 +236,19 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
193
236
  key: "moveHighlight",
194
237
  value: function moveHighlight() {
195
238
  var _this$props3 = this.props,
196
- isAnimate = _this$props3.isAnimate,
197
- needTabBorder = _this$props3.needTabBorder,
198
- selectedTab = _this$props3.selectedTab,
199
- align = _this$props3.align;
239
+ isAnimate = _this$props3.isAnimate,
240
+ needTabBorder = _this$props3.needTabBorder,
241
+ selectedTab = _this$props3.selectedTab,
242
+ align = _this$props3.align;
200
243
  var highlightInitialDimension = this.state.highlightInitialDimension;
201
244
  var node = this.highlight;
245
+
202
246
  if (isAnimate && needTabBorder && node) {
203
247
  var tabActive = this[selectedTab];
248
+
204
249
  if (tabActive) {
205
250
  var position, dimension;
251
+
206
252
  if (align === 'vertical') {
207
253
  position = tabActive.offsetLeft;
208
254
  dimension = tabActive.offsetWidth;
@@ -226,6 +272,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
226
272
  key: "getTabsRef",
227
273
  value: function getTabsRef(ele) {
228
274
  this.tabsEle = ele;
275
+
229
276
  if (ele) {
230
277
  this.tabsObserver.observe(ele);
231
278
  } else {
@@ -236,6 +283,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
236
283
  key: "onSizeChange",
237
284
  value: function onSizeChange() {
238
285
  var _this5 = this;
286
+
239
287
  var totalDimension = this.getTotalDimension();
240
288
  this.setState({
241
289
  totalDimension: totalDimension
@@ -250,7 +298,9 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
250
298
  key: "onResize",
251
299
  value: function onResize(timer) {
252
300
  var _this6 = this;
301
+
253
302
  var isResponsive = this.props.isResponsive;
303
+
254
304
  if (this.tabsEle && isResponsive) {
255
305
  if (!timer) {
256
306
  this.onSizeChange();
@@ -272,40 +322,46 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
272
322
  key: "getTabDimensions",
273
323
  value: function getTabDimensions() {
274
324
  var _this7 = this;
325
+
275
326
  var _this$props4 = this.props,
276
- children = _this$props4.children,
277
- align = _this$props4.align,
278
- childType = _this$props4.childType;
327
+ children = _this$props4.children,
328
+ align = _this$props4.align,
329
+ childType = _this$props4.childType;
279
330
  var tabDimensions = {};
331
+
280
332
  _react["default"].Children.forEach(children, function (child) {
281
333
  return /*#__PURE__*/_react["default"].isValidElement(child) && child.type === childType && _this7[child.props.id] && Object.assign(tabDimensions, _defineProperty({}, child.props.id, _this7[child.props.id] && (0, _Common.getTotalDimension)(_this7[child.props.id], align)));
282
334
  });
335
+
283
336
  return tabDimensions;
284
337
  }
285
338
  }, {
286
339
  key: "responsiveTab",
287
340
  value: function responsiveTab(totalDimension, tabDimensions) {
288
341
  var _this$props5 = this.props,
289
- children = _this$props5.children,
290
- maxTabsCount = _this$props5.maxTabsCount,
291
- minTabsCount = _this$props5.minTabsCount,
292
- isResponsive = _this$props5.isResponsive;
342
+ children = _this$props5.children,
343
+ maxTabsCount = _this$props5.maxTabsCount,
344
+ minTabsCount = _this$props5.minTabsCount,
345
+ isResponsive = _this$props5.isResponsive;
293
346
  var mainTabs = [],
294
- moreTabs = [],
295
- otherTabs = [];
347
+ moreTabs = [],
348
+ otherTabs = [];
349
+
296
350
  if (totalDimension && isResponsive) {
297
351
  var _this$props6 = this.props,
298
- childType = _this$props6.childType,
299
- selectedTab = _this$props6.selectedTab;
352
+ childType = _this$props6.childType,
353
+ selectedTab = _this$props6.selectedTab;
300
354
  var selectedTabDimension = tabDimensions[selectedTab] || 0;
301
355
  var remainingDimension = totalDimension - selectedTabDimension;
302
356
  var maxTabsTobeVisible = maxTabsCount - 1;
303
357
  var minTabsToBeVisible = 1;
358
+
304
359
  _react["default"].Children.forEach(children, function (child) {
305
360
  if (child && child.type === childType && child.props.id) {
306
361
  var elemDimension = tabDimensions[child.props.id];
307
362
  var isMaxCountExceeded = maxTabsTobeVisible <= 0 ? true : false;
308
363
  var isMinCountNotExceeded = minTabsToBeVisible < minTabsCount ? true : false;
364
+
309
365
  if (child.props.id === selectedTab) {
310
366
  mainTabs.push(child);
311
367
  } else if (isMinCountNotExceeded) {
@@ -324,6 +380,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
324
380
  otherTabs.push(child);
325
381
  }
326
382
  });
383
+
327
384
  if (selectedTabDimension > totalDimension) {
328
385
  /* let { align } = this.props;
329
386
  let newDim = `${remConvert(totalDimension)}rem`;
@@ -338,6 +395,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
338
395
  }
339
396
  } else if (!isResponsive) {
340
397
  var _childType = this.props.childType;
398
+
341
399
  _react["default"].Children.forEach(children, function (child) {
342
400
  if (child && child.type === _childType && child.props.id) {
343
401
  mainTabs.push(child);
@@ -348,6 +406,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
348
406
  } else {
349
407
  moreTabs = children;
350
408
  }
409
+
351
410
  return {
352
411
  mainTabs: mainTabs,
353
412
  moreTabs: moreTabs,
@@ -359,6 +418,7 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
359
418
  value: function getTabRef(refName, ele, isVirtual) {
360
419
  this[refName] = ele;
361
420
  var key = isVirtual ? "virtual_".concat(refName) : refName;
421
+
362
422
  if (ele) {
363
423
  this.tabObserver[key] = new _ResizeObserver["default"](this.onTabResize);
364
424
  this.tabObserver[key].observe(ele);
@@ -372,10 +432,12 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
372
432
  key: "moreTabSelect",
373
433
  value: function moreTabSelect(tab, value, index, e) {
374
434
  var onSelect = this.props.onSelect;
435
+
375
436
  if (e && e.target && e.target.parentElement.tagName === 'A' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {
376
437
  (0, _Common.cancelBubblingEffect)(e);
377
438
  return;
378
439
  }
440
+
379
441
  e.preventDefault();
380
442
  onSelect(tab);
381
443
  }
@@ -390,10 +452,10 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
390
452
  key: "togglePopup",
391
453
  value: function togglePopup(e) {
392
454
  var _this$props7 = this.props,
393
- boxPosition = _this$props7.boxPosition,
394
- togglePopup = _this$props7.togglePopup,
395
- align = _this$props7.align,
396
- removeClose = _this$props7.removeClose;
455
+ boxPosition = _this$props7.boxPosition,
456
+ togglePopup = _this$props7.togglePopup,
457
+ align = _this$props7.align,
458
+ removeClose = _this$props7.removeClose;
397
459
  removeClose && removeClose(e);
398
460
  var popupPosition = align === 'vertical' ? 'bottomLeft' : 'rightTop';
399
461
  boxPosition = boxPosition ? boxPosition : popupPosition;
@@ -413,51 +475,56 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
413
475
  key: "renderTabs",
414
476
  value: function renderTabs(mainTabs, moreTabs, isVirtual) {
415
477
  var _this8 = this;
478
+
416
479
  var _this$props8 = this.props,
417
- selectedTab = _this$props8.selectedTab,
418
- moreButtonClass = _this$props8.moreButtonClass,
419
- moreButtonActiveClass = _this$props8.moreButtonActiveClass,
420
- moreBoxClass = _this$props8.moreBoxClass,
421
- menuItemClass = _this$props8.menuItemClass,
422
- itemClass = _this$props8.itemClass,
423
- itemActiveClass = _this$props8.itemActiveClass,
424
- iconName = _this$props8.iconName,
425
- isPopupReady = _this$props8.isPopupReady,
426
- isPopupOpen = _this$props8.isPopupOpen,
427
- getContainerRef = _this$props8.getContainerRef,
428
- showTitleInMoreOptions = _this$props8.showTitleInMoreOptions,
429
- onSelect = _this$props8.onSelect,
430
- moreContainerClass = _this$props8.moreContainerClass,
431
- align = _this$props8.align,
432
- type = _this$props8.type,
433
- isAnimate = _this$props8.isAnimate,
434
- needTabBorder = _this$props8.needTabBorder,
435
- needAppearance = _this$props8.needAppearance,
436
- iconSize = _this$props8.iconSize,
437
- getTargetRef = _this$props8.getTargetRef,
438
- position = _this$props8.position,
439
- customProps = _this$props8.customProps,
440
- getCustomDropBoxHeaderPlaceHolder = _this$props8.getCustomDropBoxHeaderPlaceHolder,
441
- dataSelectorId = _this$props8.dataSelectorId;
480
+ selectedTab = _this$props8.selectedTab,
481
+ moreButtonClass = _this$props8.moreButtonClass,
482
+ moreButtonActiveClass = _this$props8.moreButtonActiveClass,
483
+ moreBoxClass = _this$props8.moreBoxClass,
484
+ menuItemClass = _this$props8.menuItemClass,
485
+ itemClass = _this$props8.itemClass,
486
+ itemActiveClass = _this$props8.itemActiveClass,
487
+ iconName = _this$props8.iconName,
488
+ isPopupReady = _this$props8.isPopupReady,
489
+ isPopupOpen = _this$props8.isPopupOpen,
490
+ getContainerRef = _this$props8.getContainerRef,
491
+ showTitleInMoreOptions = _this$props8.showTitleInMoreOptions,
492
+ onSelect = _this$props8.onSelect,
493
+ moreContainerClass = _this$props8.moreContainerClass,
494
+ align = _this$props8.align,
495
+ type = _this$props8.type,
496
+ isAnimate = _this$props8.isAnimate,
497
+ needTabBorder = _this$props8.needTabBorder,
498
+ needAppearance = _this$props8.needAppearance,
499
+ iconSize = _this$props8.iconSize,
500
+ getTargetRef = _this$props8.getTargetRef,
501
+ position = _this$props8.position,
502
+ customProps = _this$props8.customProps,
503
+ getCustomDropBoxHeaderPlaceHolder = _this$props8.getCustomDropBoxHeaderPlaceHolder,
504
+ dataSelectorId = _this$props8.dataSelectorId;
442
505
  var _customProps$DropBoxP = customProps.DropBoxProps,
443
- DropBoxProps = _customProps$DropBoxP === void 0 ? {} : _customProps$DropBoxP,
444
- _customProps$ListItem = customProps.ListItemProps,
445
- ListItemProps = _customProps$ListItem === void 0 ? {} : _customProps$ListItem,
446
- _customProps$MoreButt = customProps.MoreButtonProps,
447
- MoreButtonProps = _customProps$MoreButt === void 0 ? {} : _customProps$MoreButt;
506
+ DropBoxProps = _customProps$DropBoxP === void 0 ? {} : _customProps$DropBoxP,
507
+ _customProps$ListItem = customProps.ListItemProps,
508
+ ListItemProps = _customProps$ListItem === void 0 ? {} : _customProps$ListItem,
509
+ _customProps$MoreButt = customProps.MoreButtonProps,
510
+ MoreButtonProps = _customProps$MoreButt === void 0 ? {} : _customProps$MoreButt;
448
511
  var popupClass = align === 'vertical' ? _TabsModule["default"][position] ? _TabsModule["default"][position] : '' : '';
449
512
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(mainTabs, function (child) {
450
513
  if (!child) {
451
514
  return null;
452
515
  }
516
+
453
517
  var MainTab = child.type;
454
518
  var classProps = {};
519
+
455
520
  if (itemActiveClass) {
456
521
  classProps.activeClass = itemActiveClass;
457
522
  }
523
+
458
524
  if (itemClass) {
459
525
  classProps.className = itemClass;
460
526
  }
527
+
461
528
  return /*#__PURE__*/_react["default"].isValidElement(child) && /*#__PURE__*/_react["default"].createElement(MainTab, _extends({}, child.props, {
462
529
  key: child.props.id,
463
530
  getTabRef: _this8.getTabRef,
@@ -517,14 +584,15 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
517
584
  if (!child) {
518
585
  return null;
519
586
  }
587
+
520
588
  var _child$props = child.props,
521
- text = _child$props.text,
522
- id = _child$props.id,
523
- title = _child$props.title,
524
- isLink = _child$props.isLink,
525
- href = _child$props.href,
526
- children = _child$props.children,
527
- dataId = _child$props.dataId;
589
+ text = _child$props.text,
590
+ id = _child$props.id,
591
+ title = _child$props.title,
592
+ isLink = _child$props.isLink,
593
+ href = _child$props.href,
594
+ children = _child$props.children,
595
+ dataId = _child$props.dataId;
528
596
  var value = text ? text : showTitleInMoreOptions ? title : null;
529
597
  return /*#__PURE__*/_react["default"].isValidElement(child) && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], _extends({
530
598
  key: id,
@@ -548,28 +616,30 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
548
616
  key: "render",
549
617
  value: function render() {
550
618
  var _this$props9 = this.props,
551
- style = _this$props9.style,
552
- className = _this$props9.className,
553
- dataId = _this$props9.dataId,
554
- highlightClass = _this$props9.highlightClass,
555
- type = _this$props9.type,
556
- isAnimate = _this$props9.isAnimate,
557
- needTabBorder = _this$props9.needTabBorder,
558
- needBorder = _this$props9.needBorder,
559
- needPadding = _this$props9.needPadding,
560
- align = _this$props9.align,
561
- needAppearance = _this$props9.needAppearance,
562
- children = _this$props9.children,
563
- containerClass = _this$props9.containerClass,
564
- dataSelectorId = _this$props9.dataSelectorId;
619
+ style = _this$props9.style,
620
+ className = _this$props9.className,
621
+ dataId = _this$props9.dataId,
622
+ highlightClass = _this$props9.highlightClass,
623
+ type = _this$props9.type,
624
+ isAnimate = _this$props9.isAnimate,
625
+ needTabBorder = _this$props9.needTabBorder,
626
+ needBorder = _this$props9.needBorder,
627
+ needPadding = _this$props9.needPadding,
628
+ align = _this$props9.align,
629
+ needAppearance = _this$props9.needAppearance,
630
+ children = _this$props9.children,
631
+ containerClass = _this$props9.containerClass,
632
+ dataSelectorId = _this$props9.dataSelectorId;
565
633
  var _this$state2 = this.state,
566
- totalDimension = _this$state2.totalDimension,
567
- tabDimensions = _this$state2.tabDimensions,
568
- renderVirtualTabs = _this$state2.renderVirtualTabs;
634
+ totalDimension = _this$state2.totalDimension,
635
+ tabDimensions = _this$state2.tabDimensions,
636
+ renderVirtualTabs = _this$state2.renderVirtualTabs;
637
+
569
638
  var _this$responsiveTab = this.responsiveTab(totalDimension, tabDimensions),
570
- mainTabs = _this$responsiveTab.mainTabs,
571
- moreTabs = _this$responsiveTab.moreTabs,
572
- otherTabs = _this$responsiveTab.otherTabs;
639
+ mainTabs = _this$responsiveTab.mainTabs,
640
+ moreTabs = _this$responsiveTab.moreTabs,
641
+ otherTabs = _this$responsiveTab.otherTabs;
642
+
573
643
  var appearanceClass = (0, _Common.cs)([_TabsModule["default"][type], needBorder && _TabsModule["default"]["".concat(type, "_border")], needPadding && _TabsModule["default"]["".concat(type, "_padding")]]);
574
644
  var tabsClass = (0, _Common.cs)([_TabsModule["default"].tab, className, needAppearance && appearanceClass]);
575
645
  var hlClass = (0, _Common.cs)([_TabsModule["default"].highlight, highlightClass, isAnimate && _TabsModule["default"].lineAnimate]);
@@ -595,11 +665,15 @@ var Tabs = /*#__PURE__*/function (_React$Component) {
595
665
  })));
596
666
  }
597
667
  }]);
668
+
598
669
  return Tabs;
599
670
  }(_react["default"].Component);
671
+
600
672
  Tabs.propTypes = _propTypes.Tabs_propTypes;
601
673
  Tabs.defaultProps = _objectSpread(_objectSpread({}, _defaultProps.Tabs_defaultProps), {}, {
602
674
  childType: _Tab["default"]
603
675
  });
676
+
604
677
  var _default = (0, _Popup["default"])(Tabs);
678
+
605
679
  exports["default"] = _default;