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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/README.md +1237 -1212
  2. package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
  3. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
  4. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
  6. package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
  7. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
  8. package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
  9. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
  10. package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
  11. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
  12. package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
  13. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
  14. package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
  15. package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
  16. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
  17. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
  18. package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
  19. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
  20. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
  21. package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
  22. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
  23. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
  24. package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
  25. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
  26. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
  27. package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
  28. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
  29. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
  30. package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
  31. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
  32. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
  33. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
  34. package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
  35. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
  36. package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
  37. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
  38. package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
  39. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
  40. package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
  41. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
  42. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  43. package/es/Accordion/Accordion.js +8 -3
  44. package/es/Accordion/AccordionItem.js +5 -2
  45. package/es/Animation/Animation.js +3 -3
  46. package/es/AppContainer/AppContainer.js +27 -10
  47. package/es/AppContainer/AppContainer.module.css +18 -18
  48. package/es/AppContainer/props/defaultProps.js +2 -1
  49. package/es/AppContainer/props/propTypes.js +1 -0
  50. package/es/Avatar/Avatar.js +35 -20
  51. package/es/Avatar/Avatar.module.css +175 -175
  52. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  53. package/es/AvatarTeam/AvatarTeam.js +11 -10
  54. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  55. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  56. package/es/Button/Button.js +9 -7
  57. package/es/Button/css/Button.module.css +525 -525
  58. package/es/Buttongroup/Buttongroup.js +5 -4
  59. package/es/Buttongroup/Buttongroup.module.css +105 -106
  60. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  61. package/es/Card/Card.js +25 -14
  62. package/es/Card/Card.module.css +20 -20
  63. package/es/CheckBox/CheckBox.js +5 -3
  64. package/es/CheckBox/CheckBox.module.css +157 -157
  65. package/es/DateTime/CalendarView.js +33 -20
  66. package/es/DateTime/DateTime.js +78 -11
  67. package/es/DateTime/DateTime.module.css +235 -235
  68. package/es/DateTime/DateTimePopupFooter.js +4 -2
  69. package/es/DateTime/DateTimePopupHeader.js +8 -2
  70. package/es/DateTime/DateWidget.js +100 -35
  71. package/es/DateTime/DateWidget.module.css +38 -38
  72. package/es/DateTime/DaysRow.js +4 -2
  73. package/es/DateTime/Time.js +10 -2
  74. package/es/DateTime/YearView.js +28 -4
  75. package/es/DateTime/YearView.module.css +98 -98
  76. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  77. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  78. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  79. package/es/DateTime/common.js +3 -0
  80. package/es/DateTime/constants.js +1 -0
  81. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  82. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  83. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  84. package/es/DateTime/dateFormatUtils/index.js +32 -2
  85. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  86. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  87. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  88. package/es/DateTime/index.js +0 -0
  89. package/es/DateTime/objectUtils.js +14 -20
  90. package/es/DateTime/props/defaultProps.js +2 -1
  91. package/es/DateTime/typeChecker.js +3 -0
  92. package/es/DateTime/validator.js +58 -6
  93. package/es/DropBox/DropBox.js +9 -5
  94. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  95. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  96. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  97. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  98. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  99. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  100. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  101. package/es/DropBox/css/DropBox.module.css +58 -58
  102. package/es/DropBox/props/defaultProps.js +1 -2
  103. package/es/DropBox/props/propTypes.js +1 -2
  104. package/es/DropDown/DropDown.js +10 -5
  105. package/es/DropDown/DropDown.module.css +5 -5
  106. package/es/DropDown/DropDownHeading.js +5 -5
  107. package/es/DropDown/DropDownHeading.module.css +53 -53
  108. package/es/DropDown/DropDownItem.js +8 -1
  109. package/es/DropDown/DropDownItem.module.css +94 -94
  110. package/es/DropDown/DropDownSearch.js +4 -0
  111. package/es/DropDown/DropDownSearch.module.css +14 -14
  112. package/es/DropDown/DropDownSeparator.js +1 -0
  113. package/es/DropDown/DropDownSeparator.module.css +7 -7
  114. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  115. package/es/Heading/Heading.js +3 -3
  116. package/es/Heading/Heading.module.css +4 -4
  117. package/es/Label/Label.js +12 -7
  118. package/es/Label/Label.module.css +52 -52
  119. package/es/Label/LabelColors.module.css +20 -20
  120. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  121. package/es/Label/props/propTypes.js +4 -1
  122. package/es/Layout/Box.js +17 -3
  123. package/es/Layout/Container.js +16 -4
  124. package/es/Layout/Layout.module.css +335 -335
  125. package/es/Layout/index.js +1 -2
  126. package/es/Layout/props/defaultProps.js +2 -0
  127. package/es/Layout/props/propTypes.js +2 -0
  128. package/es/Layout/utils.js +5 -1
  129. package/es/ListItem/ListContainer.js +8 -3
  130. package/es/ListItem/ListItem.js +9 -3
  131. package/es/ListItem/ListItem.module.css +216 -216
  132. package/es/ListItem/ListItemWithAvatar.js +9 -3
  133. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  134. package/es/ListItem/ListItemWithIcon.js +8 -3
  135. package/es/ListItem/ListItemWithRadio.js +7 -3
  136. package/es/Modal/Modal.js +28 -11
  137. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -18
  138. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  139. package/es/MultiSelect/EmptyState.js +6 -0
  140. package/es/MultiSelect/MultiSelect.js +105 -37
  141. package/es/MultiSelect/MultiSelect.module.css +206 -206
  142. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  143. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  144. package/es/MultiSelect/SelectedOptions.js +6 -3
  145. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  146. package/es/MultiSelect/Suggestions.js +7 -3
  147. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  148. package/es/MultiSelect/props/propTypes.js +2 -0
  149. package/es/PopOver/PopOver.js +18 -2
  150. package/es/PopOver/PopOver.module.css +8 -8
  151. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  152. package/es/Popup/Popup.js +77 -27
  153. package/es/Popup/PositionMapping.json +73 -73
  154. package/es/Popup/__tests__/Popup.spec.js +17 -5
  155. package/es/Popup/viewPort.js +16 -4
  156. package/es/Provider/IdProvider.js +10 -5
  157. package/es/Provider/LibraryContext.js +6 -4
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  159. package/es/Provider/ZindexProvider.js +9 -2
  160. package/es/Radio/Radio.js +4 -2
  161. package/es/Radio/Radio.module.css +112 -112
  162. package/es/Responsive/CustomResponsive.js +30 -18
  163. package/es/Responsive/RefWrapper.js +6 -7
  164. package/es/Responsive/ResizeComponent.js +35 -25
  165. package/es/Responsive/ResizeObserver.js +26 -6
  166. package/es/Responsive/Responsive.js +34 -20
  167. package/es/Responsive/index.js +1 -3
  168. package/es/Responsive/sizeObservers.js +28 -7
  169. package/es/Responsive/utils/index.js +7 -5
  170. package/es/Responsive/utils/shallowCompare.js +7 -2
  171. package/es/Responsive/windowResizeObserver.js +7 -0
  172. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  173. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  174. package/es/Ribbon/Ribbon.js +4 -2
  175. package/es/Ribbon/Ribbon.module.css +454 -456
  176. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  177. package/es/RippleEffect/RippleEffect.js +1 -3
  178. package/es/RippleEffect/RippleEffect.module.css +92 -92
  179. package/es/Select/GroupSelect.js +59 -14
  180. package/es/Select/Select.js +81 -34
  181. package/es/Select/Select.module.css +108 -108
  182. package/es/Select/SelectWithAvatar.js +19 -4
  183. package/es/Select/SelectWithIcon.js +48 -6
  184. package/es/Select/__tests__/Select.spec.js +6 -8
  185. package/es/Select/props/propTypes.js +1 -0
  186. package/es/Stencils/Stencils.js +3 -3
  187. package/es/Stencils/Stencils.module.css +96 -96
  188. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  189. package/es/Switch/Switch.js +6 -3
  190. package/es/Switch/Switch.module.css +127 -127
  191. package/es/Tab/Tab.js +4 -4
  192. package/es/Tab/Tab.module.css +100 -100
  193. package/es/Tab/TabContent.js +1 -0
  194. package/es/Tab/TabContent.module.css +4 -4
  195. package/es/Tab/TabContentWrapper.js +2 -0
  196. package/es/Tab/TabWrapper.js +5 -2
  197. package/es/Tab/Tabs.js +73 -25
  198. package/es/Tab/Tabs.module.css +136 -154
  199. package/es/Tab/__tests__/Tab.spec.js +1 -3
  200. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  201. package/es/Tag/Tag.js +15 -11
  202. package/es/Tag/Tag.module.css +254 -254
  203. package/es/TextBox/TextBox.js +16 -3
  204. package/es/TextBox/TextBox.module.css +158 -158
  205. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  206. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  207. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  208. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  209. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  210. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  211. package/es/Textarea/Textarea.js +13 -3
  212. package/es/Textarea/Textarea.module.css +139 -139
  213. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  214. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  215. package/es/Tooltip/Tooltip.js +60 -15
  216. package/es/Tooltip/Tooltip.module.css +140 -140
  217. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  218. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  219. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  220. package/es/common/a11y.module.css +3 -3
  221. package/es/common/animation.module.css +624 -624
  222. package/es/common/avatarsizes.module.css +48 -48
  223. package/es/common/basic.module.css +33 -33
  224. package/es/common/basicReset.module.css +40 -40
  225. package/es/common/boxShadow.module.css +33 -33
  226. package/es/common/common.module.css +524 -524
  227. package/es/common/customscroll.module.css +91 -91
  228. package/es/common/reset.module.css +13 -13
  229. package/es/common/transition.module.css +146 -146
  230. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  231. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  232. package/es/semantic/Button/Button.js +4 -2
  233. package/es/semantic/Button/semanticButton.module.css +9 -9
  234. package/es/utils/Common.js +58 -9
  235. package/es/utils/ContextOptimizer.js +4 -5
  236. package/es/utils/__tests__/debounce.spec.js +2 -2
  237. package/es/utils/constructFullName.js +2 -0
  238. package/es/utils/css/compileClassNames.js +5 -0
  239. package/es/utils/css/mergeStyle.js +7 -6
  240. package/es/utils/css/utils.js +1 -0
  241. package/es/utils/datetime/GMTZones.js +48 -0
  242. package/es/utils/datetime/common.js +31 -7
  243. package/es/utils/debounce.js +5 -1
  244. package/es/utils/dropDownUtils.js +68 -11
  245. package/es/utils/getInitial.js +4 -0
  246. package/es/utils/shallowEqual.js +6 -0
  247. package/install.md +10 -10
  248. package/lib/Accordion/Accordion.js +43 -18
  249. package/lib/Accordion/AccordionItem.js +41 -18
  250. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  251. package/lib/Accordion/index.js +3 -0
  252. package/lib/Accordion/props/propTypes.js +3 -0
  253. package/lib/Animation/Animation.js +38 -18
  254. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/AppContainer/AppContainer.js +66 -26
  257. package/lib/AppContainer/AppContainer.module.css +18 -18
  258. package/lib/AppContainer/props/defaultProps.js +2 -1
  259. package/lib/AppContainer/props/propTypes.js +4 -0
  260. package/lib/Avatar/Avatar.js +90 -47
  261. package/lib/Avatar/Avatar.module.css +175 -175
  262. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  263. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  264. package/lib/Avatar/props/propTypes.js +3 -0
  265. package/lib/AvatarTeam/AvatarTeam.js +60 -37
  266. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  267. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  268. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  269. package/lib/AvatarTeam/props/propTypes.js +3 -0
  270. package/lib/Button/Button.js +36 -24
  271. package/lib/Button/css/Button.module.css +525 -525
  272. package/lib/Button/css/cssJSLogic.js +18 -17
  273. package/lib/Button/index.js +3 -0
  274. package/lib/Button/props/defaultProps.js +2 -0
  275. package/lib/Button/props/propTypes.js +3 -0
  276. package/lib/Buttongroup/Buttongroup.js +34 -13
  277. package/lib/Buttongroup/Buttongroup.module.css +105 -106
  278. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  279. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  280. package/lib/Buttongroup/props/propTypes.js +3 -0
  281. package/lib/Card/Card.js +106 -50
  282. package/lib/Card/Card.module.css +20 -20
  283. package/lib/Card/__tests__/Card.spec.js +10 -1
  284. package/lib/Card/index.js +4 -0
  285. package/lib/Card/props/propTypes.js +3 -0
  286. package/lib/CheckBox/CheckBox.js +71 -47
  287. package/lib/CheckBox/CheckBox.module.css +157 -157
  288. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  289. package/lib/CheckBox/props/propTypes.js +3 -0
  290. package/lib/DateTime/CalendarView.js +83 -42
  291. package/lib/DateTime/DateTime.js +249 -159
  292. package/lib/DateTime/DateTime.module.css +235 -235
  293. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  294. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  295. package/lib/DateTime/DateWidget.js +354 -250
  296. package/lib/DateTime/DateWidget.module.css +38 -38
  297. package/lib/DateTime/DaysRow.js +27 -5
  298. package/lib/DateTime/Time.js +73 -32
  299. package/lib/DateTime/YearView.js +77 -28
  300. package/lib/DateTime/YearView.module.css +98 -98
  301. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  302. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  303. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  304. package/lib/DateTime/common.js +6 -0
  305. package/lib/DateTime/constants.js +1 -0
  306. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  307. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  308. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  309. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  310. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  311. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  312. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  313. package/lib/DateTime/index.js +2 -0
  314. package/lib/DateTime/objectUtils.js +24 -20
  315. package/lib/DateTime/props/defaultProps.js +2 -1
  316. package/lib/DateTime/props/propTypes.js +11 -1
  317. package/lib/DateTime/typeChecker.js +4 -0
  318. package/lib/DateTime/validator.js +73 -10
  319. package/lib/DropBox/DropBox.js +36 -12
  320. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  321. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  322. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  323. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  324. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  325. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  326. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  327. package/lib/DropBox/css/DropBox.module.css +58 -58
  328. package/lib/DropBox/css/cssJSLogic.js +3 -1
  329. package/lib/DropBox/props/defaultProps.js +8 -4
  330. package/lib/DropBox/props/propTypes.js +10 -4
  331. package/lib/DropDown/DropDown.js +54 -9
  332. package/lib/DropDown/DropDown.module.css +5 -5
  333. package/lib/DropDown/DropDownHeading.js +40 -20
  334. package/lib/DropDown/DropDownHeading.module.css +53 -53
  335. package/lib/DropDown/DropDownItem.js +44 -21
  336. package/lib/DropDown/DropDownItem.module.css +94 -94
  337. package/lib/DropDown/DropDownSearch.js +40 -17
  338. package/lib/DropDown/DropDownSearch.module.css +14 -14
  339. package/lib/DropDown/DropDownSeparator.js +24 -4
  340. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  341. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  342. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  343. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  344. package/lib/DropDown/index.js +9 -0
  345. package/lib/DropDown/props/propTypes.js +6 -4
  346. package/lib/Heading/Heading.js +39 -16
  347. package/lib/Heading/Heading.module.css +4 -4
  348. package/lib/Heading/props/propTypes.js +3 -0
  349. package/lib/Label/Label.js +45 -20
  350. package/lib/Label/Label.module.css +52 -52
  351. package/lib/Label/LabelColors.module.css +20 -20
  352. package/lib/Label/__tests__/Label.spec.js +14 -1
  353. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  354. package/lib/Label/props/propTypes.js +7 -1
  355. package/lib/Layout/Box.js +39 -15
  356. package/lib/Layout/Container.js +37 -14
  357. package/lib/Layout/Layout.module.css +335 -335
  358. package/lib/Layout/__tests__/Box.spec.js +65 -49
  359. package/lib/Layout/__tests__/Container.spec.js +67 -50
  360. package/lib/Layout/index.js +3 -0
  361. package/lib/Layout/props/defaultProps.js +2 -0
  362. package/lib/Layout/props/propTypes.js +5 -0
  363. package/lib/Layout/utils.js +15 -1
  364. package/lib/ListItem/ListContainer.js +48 -27
  365. package/lib/ListItem/ListItem.js +69 -45
  366. package/lib/ListItem/ListItem.module.css +216 -216
  367. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  368. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  369. package/lib/ListItem/ListItemWithIcon.js +68 -44
  370. package/lib/ListItem/ListItemWithRadio.js +65 -41
  371. package/lib/ListItem/index.js +7 -0
  372. package/lib/ListItem/props/propTypes.js +6 -4
  373. package/lib/Modal/Modal.js +45 -10
  374. package/lib/Modal/props/propTypes.js +3 -0
  375. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -171
  376. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  377. package/lib/MultiSelect/EmptyState.js +49 -24
  378. package/lib/MultiSelect/MultiSelect.js +329 -211
  379. package/lib/MultiSelect/MultiSelect.module.css +206 -206
  380. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  381. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  382. package/lib/MultiSelect/SelectedOptions.js +43 -17
  383. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  384. package/lib/MultiSelect/Suggestions.js +64 -32
  385. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  386. package/lib/MultiSelect/index.js +5 -0
  387. package/lib/MultiSelect/props/defaultProps.js +2 -0
  388. package/lib/MultiSelect/props/propTypes.js +5 -0
  389. package/lib/PopOver/PopOver.js +95 -49
  390. package/lib/PopOver/PopOver.module.css +8 -8
  391. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  392. package/lib/PopOver/index.js +4 -0
  393. package/lib/PopOver/props/propTypes.js +3 -0
  394. package/lib/Popup/Popup.js +158 -84
  395. package/lib/Popup/PositionMapping.json +73 -73
  396. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  397. package/lib/Popup/viewPort.js +28 -14
  398. package/lib/Provider/AvatarSize.js +4 -0
  399. package/lib/Provider/Config.js +2 -0
  400. package/lib/Provider/CssProvider.js +4 -0
  401. package/lib/Provider/IdProvider.js +17 -6
  402. package/lib/Provider/LibraryContext.js +35 -15
  403. package/lib/Provider/LibraryContextInit.js +4 -0
  404. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  405. package/lib/Provider/ZindexProvider.js +15 -3
  406. package/lib/Provider/index.js +5 -0
  407. package/lib/Radio/Radio.js +61 -38
  408. package/lib/Radio/Radio.module.css +112 -112
  409. package/lib/Radio/__tests__/Radiospec.js +9 -5
  410. package/lib/Radio/props/propTypes.js +3 -0
  411. package/lib/Responsive/CustomResponsive.js +73 -29
  412. package/lib/Responsive/RefWrapper.js +17 -11
  413. package/lib/Responsive/ResizeComponent.js +62 -36
  414. package/lib/Responsive/ResizeObserver.js +24 -10
  415. package/lib/Responsive/Responsive.js +80 -30
  416. package/lib/Responsive/index.js +4 -0
  417. package/lib/Responsive/props/propTypes.js +3 -0
  418. package/lib/Responsive/sizeObservers.js +53 -17
  419. package/lib/Responsive/utils/index.js +11 -3
  420. package/lib/Responsive/utils/shallowCompare.js +11 -2
  421. package/lib/Responsive/windowResizeObserver.js +8 -0
  422. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  423. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  424. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  425. package/lib/Ribbon/Ribbon.js +34 -13
  426. package/lib/Ribbon/Ribbon.module.css +454 -456
  427. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  428. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  429. package/lib/Ribbon/props/propTypes.js +3 -0
  430. package/lib/RippleEffect/RippleEffect.js +18 -10
  431. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  432. package/lib/RippleEffect/props/propTypes.js +3 -0
  433. package/lib/Select/GroupSelect.js +230 -130
  434. package/lib/Select/Select.js +292 -210
  435. package/lib/Select/Select.module.css +108 -108
  436. package/lib/Select/SelectWithAvatar.js +104 -56
  437. package/lib/Select/SelectWithIcon.js +134 -77
  438. package/lib/Select/__tests__/Select.spec.js +133 -91
  439. package/lib/Select/index.js +5 -0
  440. package/lib/Select/props/defaultProps.js +5 -4
  441. package/lib/Select/props/propTypes.js +4 -0
  442. package/lib/Stencils/Stencils.js +29 -10
  443. package/lib/Stencils/Stencils.module.css +96 -96
  444. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  445. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  446. package/lib/Stencils/props/propTypes.js +3 -0
  447. package/lib/Switch/Switch.js +58 -34
  448. package/lib/Switch/Switch.module.css +127 -127
  449. package/lib/Switch/props/propTypes.js +3 -0
  450. package/lib/Tab/Tab.js +40 -27
  451. package/lib/Tab/Tab.module.css +100 -100
  452. package/lib/Tab/TabContent.js +12 -5
  453. package/lib/Tab/TabContent.module.css +4 -4
  454. package/lib/Tab/TabContentWrapper.js +13 -6
  455. package/lib/Tab/TabWrapper.js +37 -19
  456. package/lib/Tab/Tabs.js +184 -103
  457. package/lib/Tab/Tabs.module.css +136 -154
  458. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  459. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  460. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  461. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  462. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  463. package/lib/Tab/index.js +6 -0
  464. package/lib/Tab/props/propTypes.js +3 -0
  465. package/lib/Tag/Tag.js +81 -51
  466. package/lib/Tag/Tag.module.css +254 -254
  467. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  468. package/lib/Tag/props/propTypes.js +3 -0
  469. package/lib/TextBox/TextBox.js +86 -59
  470. package/lib/TextBox/TextBox.module.css +158 -158
  471. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  472. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  473. package/lib/TextBox/props/propTypes.js +6 -4
  474. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  475. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  476. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  477. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  478. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  479. package/lib/Textarea/Textarea.js +55 -29
  480. package/lib/Textarea/Textarea.module.css +139 -139
  481. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  482. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  483. package/lib/Textarea/props/propTypes.js +3 -0
  484. package/lib/Tooltip/Tooltip.js +96 -32
  485. package/lib/Tooltip/Tooltip.module.css +140 -140
  486. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  487. package/lib/Tooltip/props/propTypes.js +3 -0
  488. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  489. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  490. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  491. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  492. package/lib/VelocityAnimation/index.js +3 -0
  493. package/lib/common/a11y.module.css +3 -3
  494. package/lib/common/animation.module.css +624 -624
  495. package/lib/common/avatarsizes.module.css +48 -48
  496. package/lib/common/basic.module.css +33 -33
  497. package/lib/common/basicReset.module.css +40 -40
  498. package/lib/common/boxShadow.module.css +33 -33
  499. package/lib/common/common.module.css +524 -524
  500. package/lib/common/customscroll.module.css +91 -91
  501. package/lib/common/reset.module.css +13 -13
  502. package/lib/common/transition.module.css +146 -146
  503. package/lib/css.js +40 -0
  504. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  505. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  506. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  507. package/lib/index.js +57 -0
  508. package/lib/semantic/Button/Button.js +43 -22
  509. package/lib/semantic/Button/props/propTypes.js +3 -0
  510. package/lib/semantic/Button/semanticButton.module.css +9 -9
  511. package/lib/semantic/index.js +2 -0
  512. package/lib/utils/Common.js +117 -19
  513. package/lib/utils/ContextOptimizer.js +16 -10
  514. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  515. package/lib/utils/__tests__/debounce.spec.js +3 -2
  516. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  517. package/lib/utils/constructFullName.js +13 -4
  518. package/lib/utils/css/compileClassNames.js +6 -0
  519. package/lib/utils/css/mergeStyle.js +10 -7
  520. package/lib/utils/css/utils.js +8 -0
  521. package/lib/utils/datetime/GMTZones.js +55 -0
  522. package/lib/utils/datetime/common.js +52 -7
  523. package/lib/utils/debounce.js +6 -1
  524. package/lib/utils/dropDownUtils.js +175 -59
  525. package/lib/utils/dummyFunction.js +2 -0
  526. package/lib/utils/getHTMLFontSize.js +1 -0
  527. package/lib/utils/getInitial.js +6 -0
  528. package/lib/utils/index.js +4 -0
  529. package/lib/utils/scrollTo.js +2 -0
  530. package/lib/utils/shallowEqual.js +8 -0
  531. package/package.json +113 -123
  532. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
  533. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
  534. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
  535. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
  536. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
  537. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
  538. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
  539. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
  540. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
  541. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
  542. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
  543. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
  544. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
  545. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
  546. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
  547. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
  548. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
  549. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
  550. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
  551. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
  552. package/assets/Contrast/lightContrastLightness.module.css +0 -39
  553. /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
  554. /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
  555. /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
  556. /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
  557. /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
  558. /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
  559. /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
  560. /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
@@ -1,8 +1,10 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React, { useState, useCallback } from 'react';
3
4
  import { TabWrapper_defaultProps } from './props/defaultProps';
4
5
  import { TabWrapper_propTypes } from './props/propTypes';
5
6
  import { Container } from '../Layout';
7
+
6
8
  function TabWrapper(_ref) {
7
9
  let {
8
10
  defaultTab,
@@ -24,6 +26,7 @@ function TabWrapper(_ref) {
24
26
  if (!hookToDisableInternalState) {
25
27
  setSelected(id);
26
28
  }
29
+
27
30
  onSelect && onSelect(id);
28
31
  }, [hookToDisableInternalState, onSelect]);
29
32
  return /*#__PURE__*/React.createElement(Container, {
@@ -33,8 +36,7 @@ function TabWrapper(_ref) {
33
36
  }, React.Children.map(children, child => {
34
37
  let TabsChild = child.type;
35
38
  let selectedTab = hookToDisableInternalState ? defaultTab : selectedTabInternal;
36
- return /*#__PURE__*/React.createElement(TabsChild
37
- // eslint-disable-next-line react/no-array-index-key
39
+ return /*#__PURE__*/React.createElement(TabsChild // eslint-disable-next-line react/no-array-index-key
38
40
  , _extends({}, child.props, {
39
41
  selectedTab: selectedTab,
40
42
  onSelect: setSelectedTab,
@@ -49,6 +51,7 @@ function TabWrapper(_ref) {
49
51
  }));
50
52
  }));
51
53
  }
54
+
52
55
  TabWrapper.propTypes = TabWrapper_propTypes;
53
56
  TabWrapper.defaultProps = TabWrapper_defaultProps;
54
57
  export default TabWrapper;
package/es/Tab/Tabs.js CHANGED
@@ -1,11 +1,13 @@
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 */
3
- /* eslint css-modules/no-unused-class: [2, {
4
- markAsUsed: [
5
- 'hidden','alpha','gamma','beta','delta','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
6
- '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'
7
- ]
8
- }]
4
+
5
+ /* eslint css-modules/no-unused-class: [2, {
6
+ markAsUsed: [
7
+ 'hidden','alpha','gamma','beta','delta','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
8
+ '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'
9
+ ]
10
+ }]
9
11
  */
10
12
  import React from 'react';
11
13
  import Tab from './Tab';
@@ -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
- /**
132
- * To recalculate the dimensions of tabs we are checking the children length.
133
- * and also checking the tab id and their order.
144
+ /**
145
+ * To recalculate the dimensions of tabs we are checking the children length.
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,15 +314,16 @@ class Tabs extends React.Component {
285
314
  otherTabs.push(child);
286
315
  }
287
316
  });
317
+
288
318
  if (selectedTabDimension > totalDimension) {
289
- /* let { align } = this.props;
290
- let newDim = `${remConvert(totalDimension)}rem`;
291
- let newTabs;
292
- if (align === 'vertical') {
293
- newTabs = mainTabs.map(tab => React.cloneElement(tab, { style: { maxWidth: newDim } }));
294
- } else {
295
- newTabs = mainTabs.map(tab => React.cloneElement(tab, { style: { maxHeight: newDim } }));
296
- }
319
+ /* let { align } = this.props;
320
+ let newDim = `${remConvert(totalDimension)}rem`;
321
+ let newTabs;
322
+ if (align === 'vertical') {
323
+ newTabs = mainTabs.map(tab => React.cloneElement(tab, { style: { maxWidth: newDim } }));
324
+ } else {
325
+ newTabs = mainTabs.map(tab => React.cloneElement(tab, { style: { maxHeight: newDim } }));
326
+ }
297
327
  mainTabs = newTabs; */
298
328
  this.setMaxDim(totalDimension);
299
329
  }
@@ -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,
@@ -552,13 +598,15 @@ class Tabs extends React.Component {
552
598
  }, this.renderTabs(mainTabs, moreTabs, false))), otherTabs.length ? /*#__PURE__*/React.createElement(Box, null, otherTabs) : null, isAnimate && needTabBorder && needAppearance && /*#__PURE__*/React.createElement("div", {
553
599
  className: hlClass,
554
600
  ref: this.getHighlightRef,
555
- "data-id": dataId
601
+ "data-id": dataId,
602
+ "data-test-id": dataId
556
603
  })));
557
604
  }
605
+
558
606
  }
607
+
559
608
  Tabs.propTypes = Tabs_propTypes;
560
- Tabs.defaultProps = {
561
- ...Tabs_defaultProps,
609
+ Tabs.defaultProps = { ...Tabs_defaultProps,
562
610
  childType: Tab
563
611
  };
564
612
  export default Popup(Tabs);
@@ -1,155 +1,137 @@
1
- .tab {
2
- position: relative;
3
- z-index: 1;
4
- --tab_position_gap: 22px;
5
- }
6
-
7
- .alpha {
8
- height: 35px;
9
- background-color: var(--zdt_tabs_alpha_bg);
10
- }
11
-
12
- [dir=ltr] .alpha_padding {
13
- padding-left: 15px;
14
- }
15
-
16
- [dir=rtl] .alpha_padding {
17
- padding-right: 15px;
18
- }
19
-
20
- .alpha_border {
21
- border-width: 0 0 1px 0;
22
- border-color: var(--zdt_tabs_alpha_border);
23
- border-style: solid;
24
- }
25
-
26
- .alpha::after {
27
- content: '';
28
- position: absolute;
29
- z-index: -2;
30
- width: 76%;
31
- bottom: 0;
32
- height: 10px;
33
- border-radius: 100px / 5px;
34
- box-shadow: var(--zd_bs_tabs_shadow);
35
- }
36
-
37
- [dir=ltr] .alpha::after {
38
- left: 12%;
39
- }
40
-
41
- [dir=rtl] .alpha::after {
42
- right: 12%;
43
- }
44
-
45
- .alpha:before {
46
- content: '';
47
- position: absolute;
48
- z-index: -1;
49
- width: 100%;
50
- height: 100%;
51
- top: 0;
52
- background: inherit;
53
- }
54
-
55
- [dir=ltr] .alpha:before {
56
- left: 0;
57
- }
58
-
59
- [dir=rtl] .alpha:before {
60
- right: 0;
61
- }
62
-
63
- .beta {
64
- height: 61px;
65
- background-color: var(--zdt_tabs_alpha_bg);
66
- }
67
-
68
- [dir=ltr] .beta_padding {
69
- padding-left: 13px;
70
- }
71
-
72
- [dir=rtl] .beta_padding {
73
- padding-right: 13px;
74
- }
75
-
76
- .beta_border {
77
- border-bottom: 1px solid var(--zdt_tabs_alpha_border);
78
- }
79
-
80
- .delta {
81
- height: 35px;
82
- background-color: var(--zdt_tabs_alpha_bg);
83
- }
84
-
85
- [dir=ltr] .delta_padding {
86
- padding-left: 10px;
87
- }
88
-
89
- [dir=rtl] .delta_padding {
90
- padding-right: 10px;
91
- }
92
-
93
- .delta_border {
94
- border-bottom: 1px dotted var(--zdt_tabs_alpha_border);
95
- }
96
-
97
- .delta .highlight {
98
- border-color: var(--zdt_tabs_delta_border);
99
- }
100
-
101
- .maxWidth {
102
- max-width: 100%;
103
- }
104
-
105
- .highlight {
106
- position: absolute;
107
- bottom: 0;
108
- border-bottom: 1px solid var(--zdt_tabs_highlight_border);
109
- }
110
-
111
- .lineAnimate {
112
- transition: transform var(--zd_transition3) linear;
113
- }
114
-
115
- .menu {
116
- position: relative;
117
- cursor: pointer;
118
- }
119
-
120
- .menuBox {
121
- max-height: 220px;
122
- }
123
-
124
-
125
- .bottomRightToLeft,
126
- .topRightToLeft,
127
- .bottomCenterToLeft {
128
- }
129
-
130
-
131
- [dir=ltr] .bottomRightToLeft, [dir=ltr] .topRightToLeft, [dir=ltr] .bottomCenterToLeft {
132
- right: calc(var(--tab_position_gap) * -1);
133
- }
134
-
135
-
136
- [dir=rtl] .bottomRightToLeft, [dir=rtl] .topRightToLeft, [dir=rtl] .bottomCenterToLeft {
137
- left: calc(var(--tab_position_gap) * -1);
138
- }
139
-
140
- .bottomLeftToRight,
141
- .topLeftToRight,
142
- .bottomCenterToRight {
143
- }
144
-
145
- [dir=ltr] .bottomLeftToRight, [dir=ltr] .topLeftToRight, [dir=ltr] .bottomCenterToRight {
146
- left: calc(var(--tab_position_gap) * -1);
147
- }
148
-
149
- [dir=rtl] .bottomLeftToRight, [dir=rtl] .topLeftToRight, [dir=rtl] .bottomCenterToRight {
150
- right: calc(var(--tab_position_gap) * -1);
151
- }
152
-
153
- .hidden {
154
- visibility: hidden;
1
+ .tab {
2
+ position: relative;
3
+ z-index: 1;
4
+ --tab_position_gap: 22px;
5
+ }
6
+
7
+ .alpha {
8
+ height: var(--zd_size35) ;
9
+ background-color: var(--zdt_tabs_alpha_bg);
10
+ }
11
+
12
+ [dir=ltr] .alpha_padding {
13
+ padding-left: var(--zd_size15) ;
14
+ }
15
+
16
+ [dir=rtl] .alpha_padding {
17
+ padding-right: var(--zd_size15) ;
18
+ }
19
+
20
+ .alpha_border {
21
+ border-width: 0 0 1px 0;
22
+ border-color: var(--zdt_tabs_alpha_border);
23
+ border-style: solid;
24
+ }
25
+
26
+ .alpha::after {
27
+ content: '';
28
+ position: absolute;
29
+ z-index: -2;
30
+ width: 76% ;
31
+ bottom: 0 ;
32
+ height: var(--zd_size10) ;
33
+ border-radius: 100px / 5px;
34
+ box-shadow: var(--zd_bs_tabs_shadow);
35
+ }
36
+
37
+ [dir=ltr] .alpha::after {
38
+ left: 12% ;
39
+ }
40
+
41
+ [dir=rtl] .alpha::after {
42
+ right: 12% ;
43
+ }
44
+
45
+ .alpha:before {
46
+ content: '';
47
+ position: absolute;
48
+ z-index: -1;
49
+ width: 100% ;
50
+ height: 100% ;
51
+ top: 0 ;
52
+ background: inherit;
53
+ }
54
+
55
+ [dir=ltr] .alpha:before {
56
+ left: 0 ;
57
+ }
58
+
59
+ [dir=rtl] .alpha:before {
60
+ right: 0 ;
61
+ }
62
+
63
+ .beta {
64
+ height: var(--zd_size61) ;
65
+ background-color: var(--zdt_tabs_alpha_bg);
66
+ }
67
+
68
+ [dir=ltr] .beta_padding {
69
+ padding-left: var(--zd_size13) ;
70
+ }
71
+
72
+ [dir=rtl] .beta_padding {
73
+ padding-right: var(--zd_size13) ;
74
+ }
75
+
76
+ .beta_border {
77
+ border-bottom: 1px solid var(--zdt_tabs_alpha_border);
78
+ }
79
+
80
+ .delta {
81
+ height: var(--zd_size35) ;
82
+ background-color: var(--zdt_tabs_alpha_bg);
83
+ }
84
+
85
+ [dir=ltr] .delta_padding {
86
+ padding-left: var(--zd_size10) ;
87
+ }
88
+
89
+ [dir=rtl] .delta_padding {
90
+ padding-right: var(--zd_size10) ;
91
+ }
92
+
93
+ .delta_border {
94
+ border-bottom: 1px dotted var(--zdt_tabs_alpha_border);
95
+ }
96
+
97
+ .delta .highlight {
98
+ border-color: var(--zdt_tabs_delta_border);
99
+ }
100
+
101
+ .maxWidth {
102
+ max-width: 100% ;
103
+ }
104
+
105
+ .highlight {
106
+ position: absolute;
107
+ bottom: 0 ;
108
+ border-bottom: 1px solid var(--zdt_tabs_highlight_border);
109
+ }
110
+
111
+ .lineAnimate {
112
+ transition: transform var(--zd_transition3) linear;
113
+ }
114
+
115
+ .menu {
116
+ position: relative;
117
+ cursor: pointer;
118
+ }
119
+
120
+ .menuBox {
121
+ max-height: var(--zd_size220) ;
122
+ }
123
+ .bottomRightToLeft,
124
+ .topRightToLeft,
125
+ .bottomCenterToLeft {
126
+ right: calc(var(--tab_position_gap) * -1);
127
+ }
128
+
129
+ .bottomLeftToRight,
130
+ .topLeftToRight,
131
+ .bottomCenterToRight {
132
+ left: calc(var(--tab_position_gap) * -1);
133
+ }
134
+
135
+ .hidden {
136
+ visibility: hidden;
155
137
  }