@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,4 +1,5 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
@@ -30,22 +31,27 @@ export default class AppContainer extends React.Component {
30
31
  getTooltipContainer: () => this.containerElement
31
32
  });
32
33
  }
34
+
33
35
  mouseOverDispatch(e) {
34
36
  if (this.tooltipRef) {
35
37
  this.tooltipRef.handleOver(e, this.containerElement);
36
38
  }
37
39
  }
40
+
38
41
  removeTimeout() {
39
42
  if (this.timer) {
40
43
  this.timer = clearTimeout(this.timer);
41
44
  }
42
45
  }
46
+
43
47
  handleOver(e) {
44
48
  if (this.timer) {
45
49
  this.timer = clearTimeout(this.timer);
46
50
  }
51
+
47
52
  this.timer = setTimeout(() => this.mouseOverDispatch(e), this.tooltipDebounce);
48
53
  }
54
+
49
55
  getContainerRef(ref) {
50
56
  let {
51
57
  eleRef
@@ -53,23 +59,35 @@ export default class AppContainer extends React.Component {
53
59
  this.containerElement = ref;
54
60
  eleRef && eleRef(ref);
55
61
  }
62
+
56
63
  setTooltipRef(ref) {
57
64
  this.tooltipRef = ref;
58
65
  }
66
+
59
67
  componentDidMount() {
60
- if (this.containerElement) {
68
+ let {
69
+ needTooltip
70
+ } = this.props;
71
+
72
+ if (this.containerElement && needTooltip) {
61
73
  this.containerElement.addEventListener('mouseover', this.handleOver, false);
62
74
  this.containerElement.addEventListener('mouseout', this.removeTimeout, false);
63
75
  this.tooltipRef.observeElement();
64
76
  }
65
77
  }
78
+
66
79
  componentWillUnmount() {
67
- if (this.containerElement) {
80
+ let {
81
+ needTooltip
82
+ } = this.props;
83
+
84
+ if (this.containerElement && needTooltip) {
68
85
  this.containerElement.removeEventListener('mouseover', this.handleOver, false);
69
86
  this.containerElement.addEventListener('mouseout', this.removeTimeout, false);
70
87
  this.tooltipRef.unObserveElement();
71
88
  }
72
89
  }
90
+
73
91
  render() {
74
92
  let {
75
93
  className,
@@ -79,6 +97,7 @@ export default class AppContainer extends React.Component {
79
97
  dataSelectorId,
80
98
  tooltipClass,
81
99
  tooltipParentClass,
100
+ needTooltip,
82
101
  customProps
83
102
  } = this.props;
84
103
  let {
@@ -87,29 +106,27 @@ export default class AppContainer extends React.Component {
87
106
  ExtraProps = {}
88
107
  } = customProps;
89
108
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, _extends({
90
- className: `${style.container} ${className}`
91
- //onMouseOver={this.handleOver}
92
- ,
109
+ className: `${style.container} ${className}`,
93
110
  dataId: dataId,
94
111
  dataSelectorId: dataSelectorId,
95
112
  tagName: tagName,
96
113
  eleRef: this.getContainerRef
97
114
  }, ContainerProps, ExtraProps), /*#__PURE__*/React.createElement(Box, {
98
115
  flexible: true
99
- }, children)), /*#__PURE__*/React.createElement("div", _extends({}, ExtraProps, {
116
+ }, children)), needTooltip ? /*#__PURE__*/React.createElement("div", _extends({}, ExtraProps, {
100
117
  className: `${style.container} ${style.tooltip} ${tooltipParentClass}`,
101
118
  "data-id": `${dataId}_tooltip`,
119
+ "data-test-id": `${dataId}_tooltip`,
102
120
  "data-selector-id": `${dataSelectorId}_tooltip`
103
121
  }), /*#__PURE__*/React.createElement(Tooltip, _extends({
104
122
  ref: this.setTooltipRef,
105
123
  customClass: tooltipClass
106
- }, TooltipProps))));
124
+ }, TooltipProps))) : null);
107
125
  }
126
+
108
127
  }
109
128
  AppContainer.propTypes = propTypes;
110
- AppContainer.defaultProps = defaultProps;
111
-
112
- // if (__DOCS__) {
129
+ AppContainer.defaultProps = defaultProps; // if (__DOCS__) {
113
130
  // AppContainer.docs = {
114
131
  // componentGroup: 'Template',
115
132
  // folderName: 'Style Guide'
@@ -1,18 +1,18 @@
1
- .container,
2
- .container *,
3
- .container ::after,
4
- .container ::before {
5
- outline: 0;
6
- box-sizing: border-box;
7
- -webkit-box-sizing: border-box;
8
- -moz-box-sizing: border-box;
9
- -ms-box-sizing: border-box;
10
- }
11
- .container {
12
- font-family: var(--zd_regular);
13
- }
14
- .tooltip {
15
- height: 0;
16
- font-size: 0;
17
- /* contain:strict */
18
- }
1
+ .container,
2
+ .container *,
3
+ .container ::after,
4
+ .container ::before {
5
+ outline: 0;
6
+ box-sizing: border-box;
7
+ -webkit-box-sizing: border-box;
8
+ -moz-box-sizing: border-box;
9
+ -ms-box-sizing: border-box;
10
+ }
11
+ .container {
12
+ font-family: var(--zd_regular);
13
+ }
14
+ .tooltip {
15
+ height: 0 ;
16
+ font-size: 0 ;
17
+ /* contain:strict */
18
+ }
@@ -5,5 +5,6 @@ export const defaultProps = {
5
5
  tooltipClass: '',
6
6
  tooltipParentClass: '',
7
7
  customProps: {},
8
- dataSelectorId: 'appContainer'
8
+ dataSelectorId: 'appContainer',
9
+ needTooltip: true
9
10
  };
@@ -6,6 +6,7 @@ export const propTypes = {
6
6
  eleRef: PropTypes.func,
7
7
  tagName: PropTypes.string,
8
8
  className: PropTypes.string,
9
+ needTooltip: PropTypes.bool,
9
10
  tooltipClass: PropTypes.string,
10
11
  tooltipParentClass: PropTypes.string,
11
12
  customProps: PropTypes.shape({
@@ -1,22 +1,24 @@
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 from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
5
6
  import { getInitial } from '../utils/getInitial';
6
7
  import AvatarSize from '../Provider/AvatarSize';
7
8
  import style from './Avatar.module.css';
8
- /*
9
- 1. need to change name into firstName lastName
10
- 2. pattern support via context as well as props
11
- 3. prop high priority to arrange firstName lastName
12
- 4. team pass name as lastName and pass pattern via prop
9
+ /*
10
+ 1. need to change name into firstName lastName
11
+ 2. pattern support via context as well as props
12
+ 3. prop high priority to arrange firstName lastName
13
+ 4. team pass name as lastName and pass pattern via prop
13
14
  */
14
15
 
15
- /*
16
- eslint css-modules/no-unused-class: [2, { markAsUsed: ['circle', 'square',
17
- 'small','medium','xmedium',"xsmall", "large", "xlarge", "primary", "secondary",
18
- "info","default"] }]
16
+ /*
17
+ eslint css-modules/no-unused-class: [2, { markAsUsed: ['circle', 'square',
18
+ 'small','medium','xmedium',"xsmall", "large", "xlarge", "primary", "secondary",
19
+ "info","default"] }]
19
20
  */
21
+
20
22
  export default class Avatar extends React.Component {
21
23
  constructor(props) {
22
24
  super(props);
@@ -27,6 +29,7 @@ export default class Avatar extends React.Component {
27
29
  this.putValidImageURLJSON = this.putValidImageURLJSON.bind(this);
28
30
  this.getInitialByFullName = this.getInitialByFullName.bind(this);
29
31
  }
32
+
30
33
  componentDidUpdate(prevProps, prevState) {
31
34
  let {
32
35
  src
@@ -34,12 +37,14 @@ export default class Avatar extends React.Component {
34
37
  let {
35
38
  isLoaded
36
39
  } = this.state;
40
+
37
41
  if (prevProps.src !== src) {
38
42
  this.setState({
39
43
  isLoaded: !isLoaded
40
44
  });
41
45
  }
42
46
  }
47
+
43
48
  putInvalidImageURLJSON() {
44
49
  const {
45
50
  src,
@@ -49,23 +54,25 @@ export default class Avatar extends React.Component {
49
54
  isLoaded
50
55
  } = this.state;
51
56
  let _validImgArr = [...Avatar.validImageURLs];
52
- let _invalidImgArr = [...Avatar.invalidImageURLs];
53
-
54
- // if (alternateSrc) {
57
+ let _invalidImgArr = [...Avatar.invalidImageURLs]; // if (alternateSrc) {
55
58
  // _validImgArr.push(alternateSrc);
56
59
  // }
57
60
 
58
61
  const validIndex = _validImgArr.indexOf(src);
62
+
59
63
  if (validIndex !== -1) {
60
64
  _validImgArr.splice(validIndex, 1);
61
65
  }
66
+
62
67
  _invalidImgArr.push(src);
68
+
63
69
  Avatar.invalidImageURLs = _invalidImgArr;
64
70
  Avatar.validImageURLs = _validImgArr;
65
71
  this.setState({
66
72
  isLoaded: !isLoaded
67
73
  });
68
74
  }
75
+
69
76
  putValidImageURLJSON() {
70
77
  const {
71
78
  src
@@ -75,28 +82,32 @@ export default class Avatar extends React.Component {
75
82
  } = this.state;
76
83
  const validImgArr = Avatar.validImageURLs;
77
84
  const invalidImgArr = Avatar.invalidImageURLs;
85
+
78
86
  if (src && validImgArr.indexOf(src) === -1 && invalidImgArr.indexOf(src) === -1) {
79
87
  let _validImgArr = [...validImgArr];
88
+
80
89
  _validImgArr.push(src);
90
+
81
91
  Avatar.validImageURLs = _validImgArr;
82
92
  this.setState({
83
93
  isLoaded: !isLoaded
84
94
  });
85
95
  }
86
96
  }
87
-
88
97
  /* this will cause error if user name already have some space need to move firstName lastName user preference pattern*/
98
+
99
+
89
100
  getInitialByFullName() {
90
101
  let fullName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
91
102
  fullName = (fullName || '').trim();
92
103
  let nameList = fullName.split(' ');
104
+
93
105
  if (nameList.length === 1) {
94
106
  return getInitial('', nameList[0]);
95
107
  }
96
- return getInitial(nameList[0], nameList[1]);
97
- }
98
108
 
99
- // componentDidMount() {
109
+ return getInitial(nameList[0], nameList[1]);
110
+ } // componentDidMount() {
100
111
  // const { src } = this.props;
101
112
  // const validImgArr = Avatar.validImageURLs;
102
113
  // if (validImgArr.indexOf(src) === -1) {
@@ -105,6 +116,7 @@ export default class Avatar extends React.Component {
105
116
  // }
106
117
  // }
107
118
 
119
+
108
120
  render() {
109
121
  let {
110
122
  src,
@@ -135,8 +147,8 @@ export default class Avatar extends React.Component {
135
147
  let textStyle = textPalette ? style[textPalette] : palette === 'secondary' ? style.white : style.black;
136
148
  let shapeStyle = shape === 'circle' ? 'circle' : `square_${size}`;
137
149
  initial = initial || this.getInitialByFullName(name);
138
- let isInvalidImageList = Avatar.invalidImageURLs.indexOf(src) !== -1;
139
- //let isValidImageList = Avatar.validImageURLs.indexOf(src) !== -1;
150
+ let isInvalidImageList = Avatar.invalidImageURLs.indexOf(src) !== -1; //let isValidImageList = Avatar.validImageURLs.indexOf(src) !== -1;
151
+
140
152
  let showAvatar = src && !isInvalidImageList;
141
153
  let showInitial = !showAvatar || showAvatar && isInvalidImageList;
142
154
  const showAlternateAvatar = alternateSrc ? showInitial : false;
@@ -148,15 +160,18 @@ export default class Avatar extends React.Component {
148
160
  className: `${style.avatar} ${style[size]} ${AvatarSize(size)} ${style[shapeStyle]} ${style[palette]} ${textStyle} ${borderStyle} ${customClass ? customClass : ''}`,
149
161
  "data-title": needTitle ? title ? title : name : null,
150
162
  "data-id": dataId,
163
+ "data-test-id": dataId,
151
164
  onClick: onClick,
152
165
  "data-selector-id": dataSelectorId
153
166
  }, AvatarProps), showInitial && !showAlternateAvatar && /*#__PURE__*/React.createElement("span", {
154
167
  className: `${style.initial}`,
155
168
  "data-id": `${dataId}_AvatarInitial`,
169
+ "data-test-id": `${dataId}_AvatarInitial`,
156
170
  "data-selector-id": `${dataSelectorId}_AvatarInitial`
157
171
  }, initial), (showAvatar || showAlternateAvatar) && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("img", {
158
172
  className: `${style.image} ${isAnimate ? style.animate : ''} ${needInnerBorder ? style.innerBorder : ''}`,
159
173
  "data-id": `${dataId}_AvatarImg`,
174
+ "data-test-id": `${dataId}_AvatarImg`,
160
175
  "data-selector-id": `${dataSelectorId}_AvatarImg`,
161
176
  name: name,
162
177
  onError: this.putInvalidImageURLJSON,
@@ -167,12 +182,12 @@ export default class Avatar extends React.Component {
167
182
  className: `${style.shadow} ${textStyle} `
168
183
  })));
169
184
  }
185
+
170
186
  }
171
187
  Avatar.defaultProps = defaultProps;
172
188
  Avatar.propTypes = propTypes;
173
189
  Avatar.invalidImageURLs = [];
174
- Avatar.validImageURLs = [];
175
- // if (__DOCS__) {
190
+ Avatar.validImageURLs = []; // if (__DOCS__) {
176
191
  // Avatar.docs = {
177
192
  // componentGroup: 'Avatar Group',
178
193
  // folderName: 'Style Guide'
@@ -1,176 +1,176 @@
1
- .varClass {
2
- /* avatar default variables */
3
- --avatar_text_color: var(--zdt_avatar_default_text);
4
- --avatar_font_size: 14px;
5
- --avatar_bg_color: var(--zdt_avatar_default_bg);
6
- --avatar_border_radius: 50%;
7
- --avatar_border_width: 0;
8
- --avatar_border_style: solid;
9
- --avatar_border_color: var(--zdt_avatar_default_border);
10
- --avatar_border_hoverColor: var(--zdt_avatar_default_borderHover);
11
- --avatar_boxshadow: var(--zdt_avatar_default_boxshadow);
12
- --avatar_text_transform: uppercase;
13
- }
14
-
15
- .avatar {
16
- composes: varClass;
17
- position: relative;
18
- composes: dInflex alignVertical alignHorizontal from '../common/common.module.css';
19
- vertical-align: middle;
20
- font-size: var(--avatar_font_size);
21
- color: var(--avatar_text_color);
22
- border-width: var(--avatar_border_width);
23
- border-style: var(--avatar_border_style);
24
- }
25
-
26
- .border {
27
- border-color: var(--avatar_border_color);
28
- }
29
-
30
- .borderOnHover:hover, .borderOnActive {
31
- border-color: var(--avatar_border_hoverColor);
32
- }
33
-
34
- .avatar, .primary {
35
- background-color: var(--avatar_bg_color);
36
- }
37
-
38
- .shadow {
39
- position: absolute;
40
- height: 100%;
41
- width: 100%;
42
- top: 0;
43
- pointer-events: none;
44
- border-radius: var(--avatar_border_radius);
45
- }
46
-
47
- [dir=ltr] .shadow {
48
- left: 0;
49
- }
50
-
51
- [dir=rtl] .shadow {
52
- right: 0;
53
- }
54
-
55
- .shadow.black {
56
- box-shadow: var(--zd_bs_avatar_black);
57
- }
58
-
59
- .shadow.white {
60
- box-shadow: var(--zd_bs_avatar_white);
61
- }
62
-
63
- .avatar, .circle {
64
- border-radius: var(--avatar_border_radius);
65
- }
66
-
67
- .border {
68
- --avatar_border_width: 1px;
69
- }
70
-
71
- .image {
72
- width: 100%;
73
- height: 100%;
74
- position: absolute;
75
- top: 0;
76
- z-index: 0;
77
- border-radius: var(--avatar_border_radius);
78
- }
79
-
80
- [dir=ltr] .image {
81
- left: 0;
82
- }
83
-
84
- [dir=rtl] .image {
85
- right: 0;
86
- }
87
-
88
- .animate {
89
- composes: fadeIn modeForward from './../common/animation.module.css';
90
- }
91
-
92
- [dir=ltr] .animate {
93
- animation-duration: var(--zd_transition2);
94
- }
95
-
96
- [dir=rtl] .animate {
97
- animation-duration: var(--zd_transition2);
98
- }
99
-
100
- .innerBorder {
101
- border: 1px solid var(--zdt_avatarteam_innerCircle);
102
- }
103
-
104
- .square_small {
105
- --avatar_border_radius: 4px;
106
- }
107
-
108
- .square_xsmall {
109
- --avatar_border_radius: 6px;
110
- }
111
-
112
- .square_medium,
113
- .square_xmedium {
114
- --avatar_border_radius: 8px;
115
- }
116
-
117
- .square_large,
118
- .square_xlarge {
119
- --avatar_border_radius: 10px;
120
- }
121
-
122
- .none {
123
- display: none;
124
- }
125
-
126
- .default {
127
- --avatar_border_width: 0;
128
- }
129
-
130
- .secondary {
131
- --avatar_bg_color: var(--zdt_avatar_secondary_bg);
132
- }
133
-
134
- .info {
135
- --avatar_bg_color: var(--zdt_avatar_info_bg);
136
- }
137
-
138
- .initial {
139
- text-transform: var(--avatar_text_transform);
140
- display: inline-block;
141
- }
142
-
143
- .xxsmall {
144
- --avatar_font_size: 8px;
145
- }
146
-
147
- .small {
148
- --avatar_font_size: 9px;
149
- }
150
-
151
- .xsmall {
152
- --avatar_font_size: 12px;
153
- }
154
-
155
- .medium {
156
- --avatar_font_size: 14px;
157
- }
158
-
159
- .xmedium {
160
- --avatar_font_size: 14px;
161
- }
162
-
163
- .large {
164
- --avatar_font_size: 18px;
165
- }
166
-
167
- .xlarge {
168
- --avatar_font_size: 28px;
169
- }
170
-
171
- .white {
172
- --avatar_text_color: var(--zdt_avatar_white_text);
173
- --avatar_border_color: var(--zdt_avatar_white_border);
174
- --avatar_border_hoverColor: var(--zdt_avatar_white_borderHover);
175
- --avatar_boxshadow: var(--zdt_avatar_white_boxshadow);
1
+ .varClass {
2
+ /* avatar default variables */
3
+ --avatar_text_color: var(--zdt_avatar_default_text);
4
+ --avatar_font_size: var(--zd_font_size14);
5
+ --avatar_bg_color: var(--zdt_avatar_default_bg);
6
+ --avatar_border_radius: 50%;
7
+ --avatar_border_width: 0;
8
+ --avatar_border_style: solid;
9
+ --avatar_border_color: var(--zdt_avatar_default_border);
10
+ --avatar_border_hoverColor: var(--zdt_avatar_default_borderHover);
11
+ --avatar_boxshadow: var(--zdt_avatar_default_boxshadow);
12
+ --avatar_text_transform: uppercase;
13
+ }
14
+
15
+ .avatar {
16
+ composes: varClass;
17
+ position: relative;
18
+ composes: dInflex alignVertical alignHorizontal from '../common/common.module.css';
19
+ vertical-align: middle;
20
+ font-size: var(--avatar_font_size);
21
+ color: var(--avatar_text_color);
22
+ border-width: var(--avatar_border_width);
23
+ border-style: var(--avatar_border_style);
24
+ }
25
+
26
+ .border {
27
+ border-color: var(--avatar_border_color);
28
+ }
29
+
30
+ .borderOnHover:hover, .borderOnActive {
31
+ border-color: var(--avatar_border_hoverColor);
32
+ }
33
+
34
+ .avatar, .primary {
35
+ background-color: var(--avatar_bg_color);
36
+ }
37
+
38
+ .shadow {
39
+ position: absolute;
40
+ height: 100% ;
41
+ width: 100% ;
42
+ top: 0 ;
43
+ pointer-events: none;
44
+ border-radius: var(--avatar_border_radius);
45
+ }
46
+
47
+ [dir=ltr] .shadow {
48
+ left: 0 ;
49
+ }
50
+
51
+ [dir=rtl] .shadow {
52
+ right: 0 ;
53
+ }
54
+
55
+ .shadow.black {
56
+ box-shadow: var(--zd_bs_avatar_black);
57
+ }
58
+
59
+ .shadow.white {
60
+ box-shadow: var(--zd_bs_avatar_white);
61
+ }
62
+
63
+ .avatar, .circle {
64
+ border-radius: var(--avatar_border_radius);
65
+ }
66
+
67
+ .border {
68
+ --avatar_border_width: 1px;
69
+ }
70
+
71
+ .image {
72
+ width: 100% ;
73
+ height: 100% ;
74
+ position: absolute;
75
+ top: 0 ;
76
+ z-index: 0;
77
+ border-radius: var(--avatar_border_radius);
78
+ }
79
+
80
+ [dir=ltr] .image {
81
+ left: 0 ;
82
+ }
83
+
84
+ [dir=rtl] .image {
85
+ right: 0 ;
86
+ }
87
+
88
+ .animate {
89
+ composes: fadeIn modeForward from './../common/animation.module.css';
90
+ }
91
+
92
+ [dir=ltr] .animate {
93
+ animation-duration: var(--zd_transition2);
94
+ }
95
+
96
+ [dir=rtl] .animate {
97
+ animation-duration: var(--zd_transition2);
98
+ }
99
+
100
+ .innerBorder {
101
+ border: 1px solid var(--zdt_avatarteam_innerCircle);
102
+ }
103
+
104
+ .square_small {
105
+ --avatar_border_radius: 4px;
106
+ }
107
+
108
+ .square_xsmall {
109
+ --avatar_border_radius: 6px;
110
+ }
111
+
112
+ .square_medium,
113
+ .square_xmedium {
114
+ --avatar_border_radius: 8px;
115
+ }
116
+
117
+ .square_large,
118
+ .square_xlarge {
119
+ --avatar_border_radius: 10px;
120
+ }
121
+
122
+ .none {
123
+ display: none;
124
+ }
125
+
126
+ .default {
127
+ --avatar_border_width: 0;
128
+ }
129
+
130
+ .secondary {
131
+ --avatar_bg_color: var(--zdt_avatar_secondary_bg);
132
+ }
133
+
134
+ .info {
135
+ --avatar_bg_color: var(--zdt_avatar_info_bg);
136
+ }
137
+
138
+ .initial {
139
+ text-transform: var(--avatar_text_transform);
140
+ display: inline-block;
141
+ }
142
+
143
+ .xxsmall {
144
+ --avatar_font_size: var(--zd_font_size8);
145
+ }
146
+
147
+ .small {
148
+ --avatar_font_size: var(--zd_font_size9);
149
+ }
150
+
151
+ .xsmall {
152
+ --avatar_font_size: var(--zd_font_size12);
153
+ }
154
+
155
+ .medium {
156
+ --avatar_font_size: var(--zd_font_size14);
157
+ }
158
+
159
+ .xmedium {
160
+ --avatar_font_size: var(--zd_font_size14);
161
+ }
162
+
163
+ .large {
164
+ --avatar_font_size: var(--zd_font_size18);
165
+ }
166
+
167
+ .xlarge {
168
+ --avatar_font_size: var(--zd_font_size28);
169
+ }
170
+
171
+ .white {
172
+ --avatar_text_color: var(--zdt_avatar_white_text);
173
+ --avatar_border_color: var(--zdt_avatar_white_border);
174
+ --avatar_border_hoverColor: var(--zdt_avatar_white_borderHover);
175
+ --avatar_boxshadow: var(--zdt_avatar_white_boxshadow);
176
176
  }