@zohodesk/components 1.2.23 → 1.2.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +7 -89
  5. package/es/Animation/utils.js +83 -0
  6. package/es/AppContainer/AppContainer.js +14 -3
  7. package/es/AppContainer/AppContainer.module.css +2 -2
  8. package/es/Avatar/Avatar.js +23 -11
  9. package/es/Avatar/Avatar.module.css +18 -18
  10. package/es/AvatarTeam/AvatarTeam.js +3 -3
  11. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  12. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
  13. package/es/Button/Button.js +4 -3
  14. package/es/Button/css/Button.module.css +70 -70
  15. package/es/Buttongroup/Buttongroup.js +3 -3
  16. package/es/Buttongroup/Buttongroup.module.css +13 -15
  17. package/es/Card/Card.js +21 -10
  18. package/es/CheckBox/CheckBox.js +5 -3
  19. package/es/CheckBox/CheckBox.module.css +15 -15
  20. package/es/DateTime/CalendarView.js +32 -20
  21. package/es/DateTime/DateTime.js +69 -6
  22. package/es/DateTime/DateTime.module.css +40 -40
  23. package/es/DateTime/DateTimePopupFooter.js +4 -1
  24. package/es/DateTime/DateTimePopupHeader.js +8 -2
  25. package/es/DateTime/DateWidget.js +98 -35
  26. package/es/DateTime/DateWidget.module.css +5 -5
  27. package/es/DateTime/DaysRow.js +4 -1
  28. package/es/DateTime/Time.js +10 -1
  29. package/es/DateTime/YearView.js +28 -4
  30. package/es/DateTime/YearView.module.css +15 -15
  31. package/es/DateTime/common.js +3 -0
  32. package/es/DateTime/constants.js +1 -0
  33. package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
  34. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  35. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  36. package/es/DateTime/dateFormatUtils/index.js +31 -1
  37. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  38. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  39. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  40. package/es/DateTime/objectUtils.js +14 -20
  41. package/es/DateTime/typeChecker.js +3 -0
  42. package/es/DateTime/validator.js +58 -6
  43. package/es/DropBox/DropBox.js +6 -2
  44. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  45. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  46. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  47. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  48. package/es/DropBox/css/DropBox.module.css +6 -6
  49. package/es/DropBox/props/defaultProps.js +1 -2
  50. package/es/DropBox/props/propTypes.js +1 -2
  51. package/es/DropDown/DropDown.js +7 -1
  52. package/es/DropDown/DropDown.module.css +2 -2
  53. package/es/DropDown/DropDownHeading.js +4 -5
  54. package/es/DropDown/DropDownHeading.module.css +6 -6
  55. package/es/DropDown/DropDownItem.js +6 -0
  56. package/es/DropDown/DropDownItem.module.css +12 -12
  57. package/es/DropDown/DropDownSearch.js +4 -0
  58. package/es/DropDown/DropDownSearch.module.css +3 -3
  59. package/es/DropDown/DropDownSeparator.js +1 -0
  60. package/es/DropDown/DropDownSeparator.module.css +2 -2
  61. package/es/DropDown/props/propTypes.js +1 -2
  62. package/es/Heading/Heading.js +2 -3
  63. package/es/Heading/Heading.module.css +2 -2
  64. package/es/Label/Label.js +2 -3
  65. package/es/Label/Label.module.css +5 -5
  66. package/es/Label/__tests__/Label.spec.js +1 -2
  67. package/es/Layout/Box.js +15 -2
  68. package/es/Layout/Container.js +14 -3
  69. package/es/Layout/Layout.module.css +15 -15
  70. package/es/Layout/index.js +1 -2
  71. package/es/Layout/utils.js +1 -0
  72. package/es/ListItem/ListContainer.js +8 -3
  73. package/es/ListItem/ListItem.js +9 -3
  74. package/es/ListItem/ListItem.module.css +27 -38
  75. package/es/ListItem/ListItemWithAvatar.js +9 -3
  76. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  77. package/es/ListItem/ListItemWithIcon.js +8 -3
  78. package/es/ListItem/ListItemWithRadio.js +7 -3
  79. package/es/Modal/Modal.js +28 -11
  80. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  81. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  82. package/es/MultiSelect/EmptyState.js +2 -0
  83. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  84. package/es/MultiSelect/MultiSelect.js +99 -30
  85. package/es/MultiSelect/MultiSelect.module.css +31 -31
  86. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  87. package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
  88. package/es/MultiSelect/SelectedOptions.js +6 -3
  89. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  90. package/es/MultiSelect/Suggestions.js +7 -3
  91. package/es/MultiSelect/props/propTypes.js +2 -2
  92. package/es/PopOver/PopOver.js +16 -0
  93. package/es/Popup/Popup.js +77 -24
  94. package/es/Popup/viewPort.js +16 -4
  95. package/es/Provider/IdProvider.js +10 -5
  96. package/es/Provider/LibraryContext.js +6 -4
  97. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  98. package/es/Provider/ZindexProvider.js +9 -2
  99. package/es/Radio/Radio.js +3 -0
  100. package/es/Radio/Radio.module.css +9 -9
  101. package/es/Responsive/CustomResponsive.js +30 -18
  102. package/es/Responsive/RefWrapper.js +6 -7
  103. package/es/Responsive/ResizeComponent.js +35 -25
  104. package/es/Responsive/ResizeObserver.js +26 -6
  105. package/es/Responsive/Responsive.js +34 -20
  106. package/es/Responsive/index.js +1 -3
  107. package/es/Responsive/sizeObservers.js +28 -7
  108. package/es/Responsive/utils/index.js +7 -5
  109. package/es/Responsive/utils/shallowCompare.js +7 -2
  110. package/es/Responsive/windowResizeObserver.js +7 -0
  111. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  112. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  113. package/es/ResponsiveDropBox/props/propTypes.js +1 -2
  114. package/es/Ribbon/Ribbon.js +3 -2
  115. package/es/Ribbon/Ribbon.module.css +45 -48
  116. package/es/RippleEffect/RippleEffect.js +1 -3
  117. package/es/Select/GroupSelect.js +58 -14
  118. package/es/Select/Select.js +79 -33
  119. package/es/Select/Select.module.css +23 -23
  120. package/es/Select/SelectWithAvatar.js +17 -4
  121. package/es/Select/SelectWithIcon.js +46 -5
  122. package/es/Select/props/propTypes.js +2 -2
  123. package/es/Stencils/Stencils.js +3 -3
  124. package/es/Stencils/Stencils.module.css +11 -11
  125. package/es/Switch/Switch.js +5 -3
  126. package/es/Switch/Switch.module.css +23 -23
  127. package/es/Tab/Tab.js +4 -4
  128. package/es/Tab/Tab.module.css +14 -14
  129. package/es/Tab/TabContent.js +1 -0
  130. package/es/Tab/TabContentWrapper.js +3 -0
  131. package/es/Tab/TabWrapper.js +5 -2
  132. package/es/Tab/Tabs.js +54 -7
  133. package/es/Tab/Tabs.module.css +22 -22
  134. package/es/Tag/Tag.js +6 -3
  135. package/es/Tag/Tag.module.css +24 -25
  136. package/es/TextBox/TextBox.js +16 -3
  137. package/es/TextBox/TextBox.module.css +9 -9
  138. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  139. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  140. package/es/TextBoxIcon/props/propTypes.js +1 -2
  141. package/es/Textarea/Textarea.js +12 -3
  142. package/es/Textarea/Textarea.module.css +21 -21
  143. package/es/Tooltip/Tooltip.js +58 -14
  144. package/es/Tooltip/Tooltip.module.css +5 -5
  145. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  146. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  147. package/es/common/animation.module.css +8 -8
  148. package/es/common/avatarsizes.module.css +16 -16
  149. package/es/common/basicReset.module.css +3 -3
  150. package/es/common/common.module.css +24 -24
  151. package/es/common/customscroll.module.css +2 -2
  152. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  153. package/es/semantic/Button/Button.js +3 -2
  154. package/es/semantic/Button/semanticButton.module.css +1 -1
  155. package/es/utils/Common.js +54 -9
  156. package/es/utils/ContextOptimizer.js +4 -5
  157. package/es/utils/constructFullName.js +2 -0
  158. package/es/utils/datetime/common.js +16 -5
  159. package/es/utils/debounce.js +5 -1
  160. package/es/utils/dropDownUtils.js +68 -11
  161. package/es/utils/getInitial.js +4 -0
  162. package/es/utils/shallowEqual.js +6 -0
  163. package/es/v1/Accordion/Accordion.js +4 -3
  164. package/es/v1/Accordion/AccordionItem.js +4 -2
  165. package/es/v1/Animation/Animation.js +5 -89
  166. package/es/v1/Animation/utils.js +83 -0
  167. package/es/v1/AppContainer/AppContainer.js +9 -3
  168. package/es/v1/Avatar/Avatar.js +18 -6
  169. package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
  170. package/es/v1/Button/Button.js +3 -3
  171. package/es/v1/Card/Card.js +16 -8
  172. package/es/v1/CheckBox/CheckBox.js +6 -3
  173. package/es/v1/DateTime/CalendarView.js +32 -20
  174. package/es/v1/DateTime/DateTime.js +69 -6
  175. package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
  176. package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
  177. package/es/v1/DateTime/DateWidget.js +98 -35
  178. package/es/v1/DateTime/DaysRow.js +4 -1
  179. package/es/v1/DateTime/Time.js +10 -1
  180. package/es/v1/DateTime/YearView.js +28 -4
  181. package/es/v1/DropBox/DropBox.js +6 -2
  182. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  183. package/es/v1/DropBox/props/defaultProps.js +1 -2
  184. package/es/v1/DropBox/props/propTypes.js +1 -2
  185. package/es/v1/DropDown/DropDown.js +3 -0
  186. package/es/v1/DropDown/DropDownHeading.js +2 -2
  187. package/es/v1/DropDown/DropDownItem.js +5 -0
  188. package/es/v1/DropDown/DropDownSearch.js +3 -2
  189. package/es/v1/DropDown/props/propTypes.js +1 -2
  190. package/es/v1/Heading/Heading.js +1 -3
  191. package/es/v1/Layout/Box.js +15 -2
  192. package/es/v1/Layout/Container.js +14 -3
  193. package/es/v1/ListItem/ListContainer.js +8 -3
  194. package/es/v1/ListItem/ListItem.js +10 -3
  195. package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
  196. package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
  197. package/es/v1/ListItem/ListItemWithIcon.js +9 -3
  198. package/es/v1/ListItem/ListItemWithRadio.js +8 -3
  199. package/es/v1/Modal/Modal.js +17 -1
  200. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
  201. package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
  202. package/es/v1/MultiSelect/EmptyState.js +2 -0
  203. package/es/v1/MultiSelect/MultiSelect.js +100 -31
  204. package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
  205. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
  206. package/es/v1/MultiSelect/SelectedOptions.js +6 -3
  207. package/es/v1/MultiSelect/Suggestions.js +7 -3
  208. package/es/v1/MultiSelect/props/propTypes.js +2 -2
  209. package/es/v1/PopOver/PopOver.js +11 -0
  210. package/es/v1/Popup/Popup.js +77 -24
  211. package/es/v1/Provider/IdProvider.js +10 -5
  212. package/es/v1/Provider/LibraryContext.js +6 -4
  213. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
  214. package/es/v1/Provider/ZindexProvider.js +9 -2
  215. package/es/v1/Radio/Radio.js +5 -2
  216. package/es/v1/Responsive/CustomResponsive.js +30 -18
  217. package/es/v1/Responsive/RefWrapper.js +6 -7
  218. package/es/v1/Responsive/ResizeComponent.js +35 -25
  219. package/es/v1/Responsive/ResizeObserver.js +26 -6
  220. package/es/v1/Responsive/Responsive.js +34 -20
  221. package/es/v1/Responsive/index.js +1 -3
  222. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
  223. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
  224. package/es/v1/Select/GroupSelect.js +58 -14
  225. package/es/v1/Select/Select.js +81 -37
  226. package/es/v1/Select/SelectWithAvatar.js +17 -4
  227. package/es/v1/Select/SelectWithIcon.js +46 -5
  228. package/es/v1/Select/props/propTypes.js +2 -2
  229. package/es/v1/Stencils/Stencils.js +2 -0
  230. package/es/v1/Switch/Switch.js +6 -3
  231. package/es/v1/Tab/Tab.js +3 -3
  232. package/es/v1/Tab/TabContent.js +1 -0
  233. package/es/v1/Tab/TabContentWrapper.js +3 -0
  234. package/es/v1/Tab/TabWrapper.js +5 -2
  235. package/es/v1/Tab/Tabs.js +54 -9
  236. package/es/v1/Tab/v1Tab.module.css +14 -14
  237. package/es/v1/Tab/v1Tabs.module.css +22 -22
  238. package/es/v1/Tag/Tag.js +5 -1
  239. package/es/v1/TextBox/TextBox.js +14 -0
  240. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
  241. package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
  242. package/es/v1/Textarea/Textarea.js +10 -3
  243. package/es/v1/Tooltip/Tooltip.js +58 -14
  244. package/es/v1/Typography/Typography.js +2 -0
  245. package/es/v1/Typography/css/Typography.module.css +31 -31
  246. package/es/v1/Typography/css/cssJSLogic.js +3 -0
  247. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
  248. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
  249. package/es/v1/semantic/Button/Button.js +1 -2
  250. package/lib/Accordion/Accordion.js +42 -18
  251. package/lib/Accordion/AccordionItem.js +40 -18
  252. package/lib/Accordion/index.js +3 -0
  253. package/lib/Accordion/props/propTypes.js +3 -0
  254. package/lib/Animation/Animation.js +42 -104
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/Animation/utils.js +94 -0
  257. package/lib/AppContainer/AppContainer.js +58 -20
  258. package/lib/AppContainer/AppContainer.module.css +2 -2
  259. package/lib/AppContainer/props/propTypes.js +3 -0
  260. package/lib/Avatar/Avatar.js +78 -38
  261. package/lib/Avatar/Avatar.module.css +18 -18
  262. package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
  263. package/lib/Avatar/props/propTypes.js +3 -0
  264. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  265. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  266. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
  267. package/lib/AvatarTeam/props/propTypes.js +3 -0
  268. package/lib/Button/Button.js +33 -22
  269. package/lib/Button/__tests__/Button.spec.js +65 -48
  270. package/lib/Button/css/Button.module.css +70 -70
  271. package/lib/Button/css/cssJSLogic.js +18 -17
  272. package/lib/Button/index.js +3 -0
  273. package/lib/Button/props/defaultProps.js +2 -0
  274. package/lib/Button/props/propTypes.js +3 -0
  275. package/lib/Buttongroup/Buttongroup.js +32 -12
  276. package/lib/Buttongroup/Buttongroup.module.css +13 -15
  277. package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
  278. package/lib/Buttongroup/props/propTypes.js +3 -0
  279. package/lib/Card/Card.js +102 -46
  280. package/lib/Card/index.js +4 -0
  281. package/lib/Card/props/propTypes.js +3 -0
  282. package/lib/CheckBox/CheckBox.js +71 -47
  283. package/lib/CheckBox/CheckBox.module.css +15 -15
  284. package/lib/CheckBox/props/propTypes.js +3 -0
  285. package/lib/DateTime/CalendarView.js +82 -42
  286. package/lib/DateTime/DateTime.js +244 -156
  287. package/lib/DateTime/DateTime.module.css +40 -40
  288. package/lib/DateTime/DateTimePopupFooter.js +33 -8
  289. package/lib/DateTime/DateTimePopupHeader.js +49 -17
  290. package/lib/DateTime/DateWidget.js +350 -249
  291. package/lib/DateTime/DateWidget.module.css +5 -5
  292. package/lib/DateTime/DaysRow.js +28 -5
  293. package/lib/DateTime/Time.js +75 -32
  294. package/lib/DateTime/YearView.js +76 -27
  295. package/lib/DateTime/YearView.module.css +15 -15
  296. package/lib/DateTime/common.js +6 -0
  297. package/lib/DateTime/constants.js +1 -0
  298. package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
  299. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  300. package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
  301. package/lib/DateTime/dateFormatUtils/index.js +73 -16
  302. package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
  303. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  304. package/lib/DateTime/dateFormatUtils/yearChange.js +23 -11
  305. package/lib/DateTime/index.js +2 -0
  306. package/lib/DateTime/objectUtils.js +24 -20
  307. package/lib/DateTime/props/propTypes.js +11 -1
  308. package/lib/DateTime/typeChecker.js +4 -0
  309. package/lib/DateTime/validator.js +73 -10
  310. package/lib/DropBox/DropBox.js +45 -21
  311. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  312. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  313. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  314. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  315. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  316. package/lib/DropBox/css/DropBox.module.css +6 -6
  317. package/lib/DropBox/css/cssJSLogic.js +3 -1
  318. package/lib/DropBox/props/defaultProps.js +8 -4
  319. package/lib/DropBox/props/propTypes.js +10 -4
  320. package/lib/DropDown/DropDown.js +51 -5
  321. package/lib/DropDown/DropDown.module.css +2 -2
  322. package/lib/DropDown/DropDownHeading.js +39 -20
  323. package/lib/DropDown/DropDownHeading.module.css +6 -6
  324. package/lib/DropDown/DropDownItem.js +42 -20
  325. package/lib/DropDown/DropDownItem.module.css +12 -12
  326. package/lib/DropDown/DropDownSearch.js +40 -17
  327. package/lib/DropDown/DropDownSearch.module.css +3 -3
  328. package/lib/DropDown/DropDownSeparator.js +24 -4
  329. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  330. package/lib/DropDown/index.js +9 -0
  331. package/lib/DropDown/props/propTypes.js +10 -4
  332. package/lib/Heading/Heading.js +37 -15
  333. package/lib/Heading/Heading.module.css +2 -2
  334. package/lib/Heading/props/propTypes.js +3 -0
  335. package/lib/Label/Label.js +41 -21
  336. package/lib/Label/Label.module.css +5 -5
  337. package/lib/Label/__tests__/Label.spec.js +48 -34
  338. package/lib/Label/props/propTypes.js +3 -0
  339. package/lib/Layout/Box.js +35 -15
  340. package/lib/Layout/Container.js +33 -14
  341. package/lib/Layout/Layout.module.css +15 -15
  342. package/lib/Layout/index.js +3 -0
  343. package/lib/Layout/props/propTypes.js +3 -0
  344. package/lib/Layout/utils.js +11 -0
  345. package/lib/ListItem/ListContainer.js +55 -30
  346. package/lib/ListItem/ListItem.js +74 -45
  347. package/lib/ListItem/ListItem.module.css +27 -38
  348. package/lib/ListItem/ListItemWithAvatar.js +80 -48
  349. package/lib/ListItem/ListItemWithCheckBox.js +70 -40
  350. package/lib/ListItem/ListItemWithIcon.js +73 -44
  351. package/lib/ListItem/ListItemWithRadio.js +71 -42
  352. package/lib/ListItem/index.js +7 -0
  353. package/lib/ListItem/props/propTypes.js +6 -4
  354. package/lib/Modal/Modal.js +45 -10
  355. package/lib/Modal/props/propTypes.js +3 -0
  356. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +293 -166
  357. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  358. package/lib/MultiSelect/EmptyState.js +45 -24
  359. package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  360. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  361. package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  362. package/lib/MultiSelect/MultiSelect.js +333 -214
  363. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  364. package/lib/MultiSelect/MultiSelectHeader.js +29 -7
  365. package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
  366. package/lib/MultiSelect/SelectedOptions.js +43 -17
  367. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  368. package/lib/MultiSelect/Suggestions.js +64 -32
  369. package/lib/MultiSelect/index.js +5 -0
  370. package/lib/MultiSelect/props/defaultProps.js +2 -0
  371. package/lib/MultiSelect/props/propTypes.js +14 -4
  372. package/lib/PopOver/PopOver.js +94 -47
  373. package/lib/PopOver/index.js +4 -0
  374. package/lib/PopOver/props/propTypes.js +3 -0
  375. package/lib/Popup/Popup.js +158 -81
  376. package/lib/Popup/viewPort.js +28 -14
  377. package/lib/Provider/AvatarSize.js +4 -0
  378. package/lib/Provider/Config.js +2 -0
  379. package/lib/Provider/CssProvider.js +4 -0
  380. package/lib/Provider/IdProvider.js +17 -6
  381. package/lib/Provider/LibraryContext.js +35 -15
  382. package/lib/Provider/LibraryContextInit.js +4 -0
  383. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  384. package/lib/Provider/ZindexProvider.js +15 -3
  385. package/lib/Provider/index.js +5 -0
  386. package/lib/Radio/Radio.js +60 -36
  387. package/lib/Radio/Radio.module.css +9 -9
  388. package/lib/Radio/__tests__/Radio.spec.js +134 -103
  389. package/lib/Radio/props/propTypes.js +3 -0
  390. package/lib/Responsive/CustomResponsive.js +73 -29
  391. package/lib/Responsive/RefWrapper.js +17 -11
  392. package/lib/Responsive/ResizeComponent.js +62 -36
  393. package/lib/Responsive/ResizeObserver.js +24 -10
  394. package/lib/Responsive/Responsive.js +80 -30
  395. package/lib/Responsive/index.js +4 -0
  396. package/lib/Responsive/props/propTypes.js +3 -0
  397. package/lib/Responsive/sizeObservers.js +53 -17
  398. package/lib/Responsive/utils/index.js +11 -3
  399. package/lib/Responsive/utils/shallowCompare.js +11 -2
  400. package/lib/Responsive/windowResizeObserver.js +8 -0
  401. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  402. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  403. package/lib/ResponsiveDropBox/props/propTypes.js +9 -4
  404. package/lib/Ribbon/Ribbon.js +33 -13
  405. package/lib/Ribbon/Ribbon.module.css +45 -48
  406. package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
  407. package/lib/Ribbon/props/propTypes.js +3 -0
  408. package/lib/RippleEffect/RippleEffect.js +18 -10
  409. package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
  410. package/lib/RippleEffect/props/propTypes.js +3 -0
  411. package/lib/Select/GroupSelect.js +229 -130
  412. package/lib/Select/Select.js +295 -211
  413. package/lib/Select/Select.module.css +23 -23
  414. package/lib/Select/SelectWithAvatar.js +102 -56
  415. package/lib/Select/SelectWithIcon.js +131 -76
  416. package/lib/Select/index.js +5 -0
  417. package/lib/Select/props/defaultProps.js +5 -4
  418. package/lib/Select/props/propTypes.js +10 -4
  419. package/lib/Stencils/Stencils.js +29 -10
  420. package/lib/Stencils/Stencils.module.css +11 -11
  421. package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
  422. package/lib/Stencils/props/propTypes.js +3 -0
  423. package/lib/Switch/Switch.js +57 -34
  424. package/lib/Switch/Switch.module.css +23 -23
  425. package/lib/Switch/__tests__/Switch.spec.js +91 -72
  426. package/lib/Switch/props/propTypes.js +3 -0
  427. package/lib/Tab/Tab.js +40 -27
  428. package/lib/Tab/Tab.module.css +14 -14
  429. package/lib/Tab/TabContent.js +12 -5
  430. package/lib/Tab/TabContentWrapper.js +16 -8
  431. package/lib/Tab/TabWrapper.js +37 -19
  432. package/lib/Tab/Tabs.js +171 -91
  433. package/lib/Tab/Tabs.module.css +22 -22
  434. package/lib/Tab/index.js +6 -0
  435. package/lib/Tab/props/propTypes.js +3 -0
  436. package/lib/Tag/Tag.js +72 -43
  437. package/lib/Tag/Tag.module.css +24 -25
  438. package/lib/Tag/props/propTypes.js +3 -0
  439. package/lib/TextBox/TextBox.js +86 -60
  440. package/lib/TextBox/TextBox.module.css +9 -9
  441. package/lib/TextBox/props/propTypes.js +6 -4
  442. package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
  443. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  444. package/lib/TextBoxIcon/props/propTypes.js +9 -4
  445. package/lib/Textarea/Textarea.js +54 -29
  446. package/lib/Textarea/Textarea.module.css +21 -21
  447. package/lib/Textarea/props/propTypes.js +3 -0
  448. package/lib/Tooltip/Tooltip.js +94 -31
  449. package/lib/Tooltip/Tooltip.module.css +5 -5
  450. package/lib/Tooltip/props/propTypes.js +3 -0
  451. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  452. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  453. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  454. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  455. package/lib/VelocityAnimation/index.js +3 -0
  456. package/lib/common/animation.module.css +8 -8
  457. package/lib/common/avatarsizes.module.css +16 -16
  458. package/lib/common/basicReset.module.css +3 -3
  459. package/lib/common/common.module.css +24 -24
  460. package/lib/common/customscroll.module.css +2 -2
  461. package/lib/css.js +40 -0
  462. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  463. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  464. package/lib/index.js +58 -0
  465. package/lib/semantic/Button/Button.js +42 -22
  466. package/lib/semantic/Button/props/propTypes.js +3 -0
  467. package/lib/semantic/Button/semanticButton.module.css +1 -1
  468. package/lib/semantic/index.js +2 -0
  469. package/lib/utils/Common.js +111 -18
  470. package/lib/utils/ContextOptimizer.js +16 -10
  471. package/lib/utils/constructFullName.js +13 -4
  472. package/lib/utils/datetime/common.js +34 -5
  473. package/lib/utils/debounce.js +6 -1
  474. package/lib/utils/dropDownUtils.js +175 -59
  475. package/lib/utils/dummyFunction.js +2 -0
  476. package/lib/utils/getHTMLFontSize.js +1 -0
  477. package/lib/utils/getInitial.js +6 -0
  478. package/lib/utils/index.js +1 -0
  479. package/lib/utils/scrollTo.js +2 -0
  480. package/lib/utils/shallowEqual.js +8 -0
  481. package/lib/v1/Accordion/Accordion.js +38 -19
  482. package/lib/v1/Accordion/AccordionItem.js +23 -13
  483. package/lib/v1/Accordion/index.js +3 -0
  484. package/lib/v1/Accordion/props/propTypes.js +3 -0
  485. package/lib/v1/Animation/Animation.js +24 -100
  486. package/lib/v1/Animation/props/propTypes.js +3 -0
  487. package/lib/v1/Animation/utils.js +94 -0
  488. package/lib/v1/AppContainer/AppContainer.js +46 -17
  489. package/lib/v1/AppContainer/props/propTypes.js +3 -0
  490. package/lib/v1/Avatar/Avatar.js +68 -32
  491. package/lib/v1/Avatar/props/propTypes.js +3 -0
  492. package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
  493. package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
  494. package/lib/v1/Button/Button.js +32 -22
  495. package/lib/v1/Button/props/defaultProps.js +2 -0
  496. package/lib/v1/Button/props/propTypes.js +3 -0
  497. package/lib/v1/Buttongroup/Buttongroup.js +13 -5
  498. package/lib/v1/Buttongroup/props/propTypes.js +3 -0
  499. package/lib/v1/Card/Card.js +78 -44
  500. package/lib/v1/Card/index.js +4 -0
  501. package/lib/v1/Card/props/propTypes.js +3 -0
  502. package/lib/v1/CheckBox/CheckBox.js +52 -41
  503. package/lib/v1/CheckBox/props/propTypes.js +3 -0
  504. package/lib/v1/DateTime/CalendarView.js +89 -48
  505. package/lib/v1/DateTime/DateTime.js +246 -158
  506. package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
  507. package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
  508. package/lib/v1/DateTime/DateWidget.js +352 -251
  509. package/lib/v1/DateTime/DaysRow.js +28 -5
  510. package/lib/v1/DateTime/Time.js +75 -32
  511. package/lib/v1/DateTime/YearView.js +76 -27
  512. package/lib/v1/DateTime/index.js +2 -0
  513. package/lib/v1/DateTime/props/propTypes.js +11 -1
  514. package/lib/v1/DropBox/DropBox.js +45 -21
  515. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  516. package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
  517. package/lib/v1/DropBox/props/defaultProps.js +8 -4
  518. package/lib/v1/DropBox/props/propTypes.js +10 -4
  519. package/lib/v1/DropDown/DropDown.js +23 -3
  520. package/lib/v1/DropDown/DropDownHeading.js +20 -13
  521. package/lib/v1/DropDown/DropDownItem.js +26 -11
  522. package/lib/v1/DropDown/DropDownSearch.js +28 -16
  523. package/lib/v1/DropDown/DropDownSeparator.js +7 -1
  524. package/lib/v1/DropDown/props/propTypes.js +10 -4
  525. package/lib/v1/Heading/Heading.js +19 -14
  526. package/lib/v1/Heading/props/propTypes.js +3 -0
  527. package/lib/v1/Label/Label.js +22 -14
  528. package/lib/v1/Label/props/propTypes.js +3 -0
  529. package/lib/v1/Layout/Box.js +35 -15
  530. package/lib/v1/Layout/Container.js +33 -14
  531. package/lib/v1/Layout/index.js +3 -0
  532. package/lib/v1/Layout/props/propTypes.js +3 -0
  533. package/lib/v1/ListItem/ListContainer.js +55 -30
  534. package/lib/v1/ListItem/ListItem.js +53 -38
  535. package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
  536. package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
  537. package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
  538. package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
  539. package/lib/v1/ListItem/index.js +7 -0
  540. package/lib/v1/ListItem/props/propTypes.js +6 -4
  541. package/lib/v1/Modal/Modal.js +46 -9
  542. package/lib/v1/Modal/props/propTypes.js +3 -0
  543. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
  544. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
  545. package/lib/v1/MultiSelect/EmptyState.js +45 -24
  546. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  547. package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  548. package/lib/v1/MultiSelect/MultiSelect.js +335 -216
  549. package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
  550. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
  551. package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
  552. package/lib/v1/MultiSelect/Suggestions.js +64 -32
  553. package/lib/v1/MultiSelect/index.js +5 -0
  554. package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
  555. package/lib/v1/MultiSelect/props/propTypes.js +14 -4
  556. package/lib/v1/PopOver/PopOver.js +71 -40
  557. package/lib/v1/PopOver/props/propTypes.js +3 -0
  558. package/lib/v1/Popup/Popup.js +158 -81
  559. package/lib/v1/Provider/AvatarSize.js +4 -0
  560. package/lib/v1/Provider/Config.js +2 -0
  561. package/lib/v1/Provider/CssProvider.js +4 -0
  562. package/lib/v1/Provider/IdProvider.js +17 -6
  563. package/lib/v1/Provider/LibraryContext.js +35 -15
  564. package/lib/v1/Provider/LibraryContextInit.js +4 -0
  565. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
  566. package/lib/v1/Provider/ZindexProvider.js +15 -3
  567. package/lib/v1/Provider/index.js +5 -0
  568. package/lib/v1/Radio/Radio.js +42 -32
  569. package/lib/v1/Radio/props/propTypes.js +3 -0
  570. package/lib/v1/Responsive/CustomResponsive.js +73 -29
  571. package/lib/v1/Responsive/RefWrapper.js +17 -11
  572. package/lib/v1/Responsive/ResizeComponent.js +62 -36
  573. package/lib/v1/Responsive/ResizeObserver.js +24 -10
  574. package/lib/v1/Responsive/Responsive.js +80 -30
  575. package/lib/v1/Responsive/index.js +4 -0
  576. package/lib/v1/Responsive/props/propTypes.js +3 -0
  577. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
  578. package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
  579. package/lib/v1/Ribbon/Ribbon.js +14 -7
  580. package/lib/v1/Ribbon/props/propTypes.js +3 -0
  581. package/lib/v1/RippleEffect/RippleEffect.js +17 -7
  582. package/lib/v1/RippleEffect/props/propTypes.js +3 -0
  583. package/lib/v1/Select/GroupSelect.js +229 -130
  584. package/lib/v1/Select/Select.js +297 -214
  585. package/lib/v1/Select/SelectWithAvatar.js +102 -56
  586. package/lib/v1/Select/SelectWithIcon.js +131 -76
  587. package/lib/v1/Select/index.js +5 -0
  588. package/lib/v1/Select/props/defaultProps.js +5 -4
  589. package/lib/v1/Select/props/propTypes.js +10 -4
  590. package/lib/v1/Stencils/Stencils.js +13 -3
  591. package/lib/v1/Stencils/props/propTypes.js +3 -0
  592. package/lib/v1/Switch/Switch.js +38 -25
  593. package/lib/v1/Switch/props/propTypes.js +3 -0
  594. package/lib/v1/Tab/Tab.js +40 -27
  595. package/lib/v1/Tab/TabContent.js +12 -5
  596. package/lib/v1/Tab/TabContentWrapper.js +16 -8
  597. package/lib/v1/Tab/TabWrapper.js +37 -19
  598. package/lib/v1/Tab/Tabs.js +170 -83
  599. package/lib/v1/Tab/index.js +6 -0
  600. package/lib/v1/Tab/props/propTypes.js +3 -0
  601. package/lib/v1/Tab/v1Tab.module.css +14 -14
  602. package/lib/v1/Tab/v1Tabs.module.css +22 -22
  603. package/lib/v1/Tag/Tag.js +50 -32
  604. package/lib/v1/Tag/props/propTypes.js +3 -0
  605. package/lib/v1/TextBox/TextBox.js +70 -47
  606. package/lib/v1/TextBox/props/propTypes.js +6 -4
  607. package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
  608. package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
  609. package/lib/v1/Textarea/Textarea.js +45 -28
  610. package/lib/v1/Textarea/props/propTypes.js +3 -0
  611. package/lib/v1/Tooltip/Tooltip.js +94 -31
  612. package/lib/v1/Tooltip/props/propTypes.js +3 -0
  613. package/lib/v1/Typography/Typography.js +26 -15
  614. package/lib/v1/Typography/css/Typography.module.css +31 -31
  615. package/lib/v1/Typography/css/cssJSLogic.js +25 -20
  616. package/lib/v1/Typography/props/propTypes.js +3 -0
  617. package/lib/v1/Typography/utils/index.js +1 -0
  618. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
  619. package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  620. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
  621. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  622. package/lib/v1/semantic/Button/Button.js +24 -18
  623. package/lib/v1/semantic/Button/props/propTypes.js +3 -0
  624. package/lib/v1/semantic/index.js +2 -0
  625. package/package.json +2 -2
  626. package/result.json +1 -1
  627. package/.DS_Store +0 -0
@@ -1,6 +1,6 @@
1
1
  /* eslint css-modules/no-unused-class: [0, { markAsUsed: ['datesStr', 'dateContainer', 'dateRow', 'today', 'emptySpan', 'dropDown'] }] */
2
- /* eslint-disable react/forbid-component-props */
3
2
 
3
+ /* eslint-disable react/forbid-component-props */
4
4
  import React from 'react';
5
5
  import { DateTime_propTypes } from './props/propTypes';
6
6
  import { DateTime_defaultProps } from './props/defaultProps';
@@ -18,11 +18,13 @@ import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
18
18
  import { Box } from '../Layout';
19
19
  import { getHourSuggestions, getMinuteSuggestions, addZeroIfNeeded } from './dateFormatUtils';
20
20
  import { getDateText } from './dateFormatUtils/dateFormat';
21
+
21
22
  function title(date, year, month) {
22
23
  let monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
23
24
  const HeadingText = `${monthNames[month] || ''} ${year}`;
24
25
  return HeadingText;
25
26
  }
27
+
26
28
  export default class DateTime extends React.PureComponent {
27
29
  constructor(props) {
28
30
  super(props);
@@ -48,6 +50,7 @@ export default class DateTime extends React.PureComponent {
48
50
  const {
49
51
  ampmText = ampmTextDefault
50
52
  } = props.i18nKeys;
53
+
51
54
  this.ampmSuggestions = (() => {
52
55
  const ampmSuggestions = [];
53
56
  ampmText.forEach((text, index) => {
@@ -65,24 +68,29 @@ export default class DateTime extends React.PureComponent {
65
68
  });
66
69
  return ampmSuggestions;
67
70
  })();
71
+
68
72
  const initalStateObj = this.getStateFromProps(props);
69
73
  this.state = Object.assign({}, initalStateObj, {
70
74
  isYearView: false,
71
75
  isMonthOpen: false
72
76
  });
73
77
  }
78
+
74
79
  componentDidMount() {
75
80
  this.handleExposeMethods(true);
76
81
  }
82
+
77
83
  componentDidUpdate(prevProps) {
78
84
  const {
79
85
  value,
80
86
  isActive,
81
87
  is24Hour
82
88
  } = this.props;
89
+
83
90
  if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
84
91
  this.setState(this.getStateFromProps(this.props));
85
92
  }
93
+
86
94
  if (prevProps.isActive !== isActive && !isActive) {
87
95
  this.setState({
88
96
  isYearView: false,
@@ -90,9 +98,11 @@ export default class DateTime extends React.PureComponent {
90
98
  });
91
99
  }
92
100
  }
101
+
93
102
  componentWillUnmount() {
94
103
  this.handleExposeMethods(false);
95
104
  }
105
+
96
106
  getStateFromProps(props) {
97
107
  let date, month, year, hours, mins, amPm;
98
108
  let {
@@ -103,17 +113,20 @@ export default class DateTime extends React.PureComponent {
103
113
  isDateTimeField,
104
114
  is24Hour
105
115
  } = props; //defaultTime --> 12:00:PM
116
+
106
117
  defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
107
118
  let defaultHour, defaultMin, defaultAmPm;
108
119
  let todayObj = new Date();
109
120
  let todayDate = todayObj.getDate();
110
121
  let todayMonth = todayObj.getMonth();
111
122
  let todayYear = todayObj.getFullYear();
123
+
112
124
  if (!value) {
113
125
  [defaultHour, defaultMin, defaultAmPm] = defaultTime ? defaultTime.split(':') : [];
114
126
  defaultHour = parseInt(defaultHour);
115
127
  defaultMin = parseInt(defaultMin);
116
128
  }
129
+
117
130
  const dateObj = getDateText(value, isDateTimeField, timeZone);
118
131
  date = dateObj.getDate();
119
132
  month = dateObj.getMonth();
@@ -135,8 +148,10 @@ export default class DateTime extends React.PureComponent {
135
148
  todayYear
136
149
  };
137
150
  }
151
+
138
152
  getHours(hoursParam, is24Hour) {
139
153
  let hours = hoursParam;
154
+
140
155
  if (!is24Hour) {
141
156
  if (hours === 0) {
142
157
  hours = 12;
@@ -144,9 +159,11 @@ export default class DateTime extends React.PureComponent {
144
159
  hours -= 12;
145
160
  }
146
161
  }
162
+
147
163
  hours = addZeroIfNeeded(hours);
148
164
  return hours;
149
165
  }
166
+
150
167
  handleGetSelectedDate() {
151
168
  let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
152
169
  const {
@@ -166,29 +183,35 @@ export default class DateTime extends React.PureComponent {
166
183
  mins,
167
184
  amPm
168
185
  } = selectedInfo;
186
+
169
187
  if (!is24Hour) {
170
188
  if (parseInt(hours) === 12) {
171
189
  hours = amPm === 'AM' ? 0 : 12;
172
190
  }
191
+
173
192
  if (amPm === 'PM') {
174
193
  if (hours < 12) {
175
194
  hours = parseInt(hours) + 12;
176
195
  }
177
196
  }
178
197
  }
198
+
179
199
  let minInMillis = min ? datetime.millis(min) : null,
180
- maxInMillis = max ? datetime.millis(max) : null,
181
- selectedInMillis,
182
- selectedValue = '',
183
- formattedValue;
200
+ maxInMillis = max ? datetime.millis(max) : null,
201
+ selectedInMillis,
202
+ selectedValue = '',
203
+ formattedValue;
184
204
  let currentDate = new Date();
185
205
  let sec = currentDate.getSeconds();
186
206
  let milliSec = currentDate.getMilliseconds();
207
+
187
208
  if (isDateTimeField || customDateFormat) {
188
209
  const dateArgs = [year, month, date, hours, mins];
210
+
189
211
  if (customDateFormat) {
190
212
  dateArgs.push(sec, milliSec);
191
213
  }
214
+
192
215
  selectedInMillis = timeZone ? datetime.tz.tzToUtc(Date.UTC(...dateArgs), timeZone) : Date.UTC(...dateArgs);
193
216
  selectedValue = datetime.ISO(selectedInMillis);
194
217
  formattedValue = formatDate(new Date(...dateArgs), customDateFormat == null ? is24Hour ? `${dateFormat} HH:mm:ss` : `${dateFormat} hh:mm:ss A` : `${customDateFormat}`);
@@ -197,8 +220,10 @@ export default class DateTime extends React.PureComponent {
197
220
  selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
198
221
  formattedValue = formatDate(new Date(year, month, date), dateFormat);
199
222
  }
223
+
200
224
  let isError = false;
201
225
  let errorType = '';
226
+
202
227
  if (minInMillis && minInMillis > selectedInMillis) {
203
228
  isError = true;
204
229
  errorType = 'MIN';
@@ -206,6 +231,7 @@ export default class DateTime extends React.PureComponent {
206
231
  isError = true;
207
232
  errorType = 'MAX';
208
233
  }
234
+
209
235
  return {
210
236
  isError,
211
237
  errorType,
@@ -213,6 +239,7 @@ export default class DateTime extends React.PureComponent {
213
239
  formattedValue
214
240
  };
215
241
  }
242
+
216
243
  handleSelect(e) {
217
244
  e && e.preventDefault();
218
245
  const {
@@ -242,6 +269,7 @@ export default class DateTime extends React.PureComponent {
242
269
  mins,
243
270
  amPm
244
271
  });
272
+
245
273
  if (isError) {
246
274
  if (errorType === 'MIN') {
247
275
  onError && onError(minErrorText, true);
@@ -252,6 +280,7 @@ export default class DateTime extends React.PureComponent {
252
280
  onSelect(selectedValue, formattedValue, e);
253
281
  }
254
282
  }
283
+
255
284
  handleChange() {
256
285
  let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
257
286
  const {
@@ -284,6 +313,7 @@ export default class DateTime extends React.PureComponent {
284
313
  mins: getIsEmptyValue(mins) ? oldMins : mins,
285
314
  amPm: getIsEmptyValue(amPm) ? oldAMPM : amPm
286
315
  };
316
+
287
317
  if (onChange) {
288
318
  const {
289
319
  isError,
@@ -291,6 +321,7 @@ export default class DateTime extends React.PureComponent {
291
321
  selectedValue,
292
322
  formattedValue
293
323
  } = this.handleGetSelectedDate(newSelectedInfo);
324
+
294
325
  if (isError) {
295
326
  if (errorType === 'MIN') {
296
327
  onError && onError(minErrorText, true);
@@ -305,17 +336,20 @@ export default class DateTime extends React.PureComponent {
305
336
  this.setState(newSelectedInfo);
306
337
  }
307
338
  }
339
+
308
340
  handleClear(e) {
309
341
  const {
310
342
  onSelect,
311
343
  onClear
312
344
  } = this.props;
345
+
313
346
  if (onClear) {
314
347
  onClear(e);
315
348
  } else {
316
349
  onSelect('', '', e);
317
350
  }
318
351
  }
352
+
319
353
  dateSelect(date, month, year, e) {
320
354
  this.handleChange({
321
355
  date,
@@ -347,6 +381,7 @@ export default class DateTime extends React.PureComponent {
347
381
  mins,
348
382
  amPm
349
383
  });
384
+
350
385
  if (isError) {
351
386
  if (errorType === 'MIN') {
352
387
  onError && onError(minErrorText, true);
@@ -357,26 +392,31 @@ export default class DateTime extends React.PureComponent {
357
392
  onDateSelect && onDateSelect(selectedValue, formattedValue, e);
358
393
  }
359
394
  }
395
+
360
396
  hoursSelect(hours) {
361
397
  this.handleChange({
362
398
  hours
363
399
  });
364
400
  }
401
+
365
402
  minutesSelect(mins) {
366
403
  this.handleChange({
367
404
  mins
368
405
  });
369
406
  }
407
+
370
408
  amPmSelect(amPm) {
371
409
  this.handleChange({
372
410
  amPm
373
411
  });
374
412
  }
375
-
376
413
  /*global closeGroupPopups*/
414
+
415
+
377
416
  closePopup() {
378
417
  closeGroupPopups('calender');
379
418
  }
419
+
380
420
  handleCalendarNavigation(type, selectedInfo) {
381
421
  const {
382
422
  year: stateYear,
@@ -386,10 +426,12 @@ export default class DateTime extends React.PureComponent {
386
426
  let date = stateDate;
387
427
  let month = stateMonth;
388
428
  const year = stateYear;
429
+
389
430
  const getDate = (month, year) => {
390
431
  const monthEnd = getMonthEnd(month, year);
391
432
  return monthEnd >= parseInt(date) ? date : monthEnd;
392
433
  };
434
+
393
435
  const modifyCalendarRecursion = recursionType => {
394
436
  if (recursionType === 'nextYear') {
395
437
  //Click next year icon
@@ -413,6 +455,7 @@ export default class DateTime extends React.PureComponent {
413
455
  month = 0;
414
456
  return modifyCalendarRecursion('nextYear');
415
457
  }
458
+
416
459
  const newMonth = month + 1;
417
460
  return {
418
461
  date: getDate(newMonth, year),
@@ -425,6 +468,7 @@ export default class DateTime extends React.PureComponent {
425
468
  month = 11;
426
469
  return modifyCalendarRecursion('previousYear');
427
470
  }
471
+
428
472
  const newMonth = month - 1;
429
473
  return {
430
474
  date: getDate(newMonth, year),
@@ -433,10 +477,12 @@ export default class DateTime extends React.PureComponent {
433
477
  };
434
478
  } else if (recursionType === 'nextDate') {
435
479
  const monthEnd = getMonthEnd(month, year);
480
+
436
481
  if (date === monthEnd) {
437
482
  date = 1;
438
483
  return modifyCalendarRecursion('nextMonth');
439
484
  }
485
+
440
486
  const newDate = parseInt(date) + 1;
441
487
  return {
442
488
  date: newDate,
@@ -448,6 +494,7 @@ export default class DateTime extends React.PureComponent {
448
494
  date = month === 0 ? getMonthEnd(11, year - 1) : getMonthEnd(month - 1, year);
449
495
  return modifyCalendarRecursion('previousMonth');
450
496
  }
497
+
451
498
  const newDate = parseInt(date) - 1;
452
499
  return {
453
500
  date: newDate,
@@ -456,8 +503,10 @@ export default class DateTime extends React.PureComponent {
456
503
  };
457
504
  }
458
505
  };
506
+
459
507
  return modifyCalendarRecursion(type);
460
508
  }
509
+
461
510
  modifyCalendar(type) {
462
511
  const {
463
512
  year,
@@ -470,9 +519,11 @@ export default class DateTime extends React.PureComponent {
470
519
  date
471
520
  }));
472
521
  }
522
+
473
523
  handleDateReset() {
474
524
  this.setState(this.getStateFromProps(this.props));
475
525
  }
526
+
476
527
  handleGetStateValues() {
477
528
  const {
478
529
  isActive
@@ -487,17 +538,20 @@ export default class DateTime extends React.PureComponent {
487
538
  isMonthOpen
488
539
  };
489
540
  }
541
+
490
542
  handleYearViewToggle(isYearOpen, isMonthOpen) {
491
543
  this.setState({
492
544
  isYearView: isYearOpen,
493
545
  isMonthOpen
494
546
  });
495
547
  }
548
+
496
549
  handleExposeMethods(isMount) {
497
550
  const {
498
551
  getMethods
499
552
  } = this.props;
500
553
  let methods = {};
554
+
501
555
  if (isMount) {
502
556
  methods = {
503
557
  resetLocalDate: this.handleDateReset,
@@ -511,8 +565,10 @@ export default class DateTime extends React.PureComponent {
511
565
  toggleYearView: null
512
566
  };
513
567
  }
568
+
514
569
  getMethods && getMethods(methods);
515
570
  }
571
+
516
572
  handleOpenYearView() {
517
573
  const {
518
574
  isYearView,
@@ -523,12 +579,14 @@ export default class DateTime extends React.PureComponent {
523
579
  isMonthOpen: !isMonthOpen
524
580
  });
525
581
  }
582
+
526
583
  handleSelectYear(year) {
527
584
  this.setState({
528
585
  year,
529
586
  isMonthOpen: true
530
587
  });
531
588
  }
589
+
532
590
  handleSelectMonth(month) {
533
591
  const {
534
592
  date,
@@ -536,14 +594,17 @@ export default class DateTime extends React.PureComponent {
536
594
  } = this.state;
537
595
  const monthEnd = getMonthEnd(month, year);
538
596
  let newDate = date;
597
+
539
598
  if (date > monthEnd) {
540
599
  newDate = monthEnd;
541
600
  }
601
+
542
602
  this.setState({
543
603
  month,
544
604
  date: newDate
545
605
  });
546
606
  }
607
+
547
608
  handleSelectMonthViaYearView(month) {
548
609
  this.handleSelectMonth(month);
549
610
  this.setState({
@@ -551,6 +612,7 @@ export default class DateTime extends React.PureComponent {
551
612
  isMonthOpen: false
552
613
  });
553
614
  }
615
+
554
616
  render() {
555
617
  const {
556
618
  date,
@@ -688,6 +750,7 @@ export default class DateTime extends React.PureComponent {
688
750
  portalId: dropBoxPortalId
689
751
  }, /*#__PURE__*/React.createElement(Box, null, childEle)) : null;
690
752
  }
753
+
691
754
  }
692
755
  DateTime.propTypes = DateTime_propTypes;
693
756
  DateTime.defaultProps = DateTime_defaultProps;
@@ -3,24 +3,24 @@
3
3
  }
4
4
 
5
5
  [dir=ltr] .boxPadding {
6
- padding-right: 19px;
7
- padding-left: 19px;
6
+ padding-right: var(--zd_size19) ;
7
+ padding-left: var(--zd_size19) ;
8
8
  }
9
9
 
10
10
  [dir=rtl] .boxPadding {
11
- padding-left: 19px;
12
- padding-right: 19px;
11
+ padding-left: var(--zd_size19) ;
12
+ padding-right: var(--zd_size19) ;
13
13
  }
14
14
 
15
15
  .container {
16
- font-size: 16px;
16
+ font-size: var(--zd_font_size16) ;
17
17
  composes: offSelection from '../common/common.module.css';
18
18
  border-radius: 3px;
19
19
  background-color: var(--zdt_datetime_default_bg);
20
20
  }
21
21
 
22
22
  .header {
23
- min-height: 36px;
23
+ min-height: var(--zd_size36) ;
24
24
  composes: boxPadding;
25
25
  text-align: center;
26
26
  background-color: var(--zdt_datetime_header_bg);
@@ -33,19 +33,19 @@
33
33
  }
34
34
 
35
35
  .grid {
36
- width: 28px;
37
- height: 28px;
36
+ width: var(--zd_size28) ;
37
+ height: var(--zd_size28) ;
38
38
  line-height: 1.3846;
39
39
  /* css:theme-validation:ignore */
40
40
  text-align: center;
41
- padding: 4px 0;
41
+ padding: var(--zd_size4) 0 ;
42
42
  border-radius: 50%;
43
43
  border: 1px solid transparent;
44
44
  }
45
45
 
46
46
  .thArrow,
47
47
  .datesStr {
48
- font-size: 13px;
48
+ font-size: var(--zd_font_size13) ;
49
49
  color: var(--zdt_datetime_datestr_text);
50
50
  }
51
51
 
@@ -63,15 +63,15 @@
63
63
  }
64
64
 
65
65
  [dir=ltr] .navigation {
66
- margin-left: 2px;
66
+ margin-left: var(--zd_size2) ;
67
67
  }
68
68
 
69
69
  [dir=rtl] .navigation {
70
- margin-right: 2px;
70
+ margin-right: var(--zd_size2) ;
71
71
  }
72
72
 
73
73
  .thMonYear {
74
- font-size: 13px;
74
+ font-size: var(--zd_font_size13) ;
75
75
  line-height: 1.8462;
76
76
  color: var(--zdt_datetime_datestr_text);
77
77
  composes: semibold;
@@ -79,8 +79,8 @@
79
79
  }
80
80
 
81
81
  .dateContainer {
82
- margin: 0 19px 0 19px;
83
- padding: 6px 0 10px 0;
82
+ margin: 0 var(--zd_size19) 0 var(--zd_size19) ;
83
+ padding: var(--zd_size6) 0 var(--zd_size10) 0 ;
84
84
  }
85
85
 
86
86
  .separator {
@@ -88,29 +88,29 @@
88
88
  }
89
89
 
90
90
  .days {
91
- min-height: 36px;
91
+ min-height: var(--zd_size36) ;
92
92
  composes: boxPadding;
93
93
  composes: alignBetween from '../common/common.module.css';
94
- padding-top: 7px;
94
+ padding-top: var(--zd_size7) ;
95
95
  }
96
96
 
97
97
  .daysStr {
98
98
  composes: dotted from '../common/common.module.css';
99
- font-size: 10px;
99
+ font-size: var(--zd_font_size10) ;
100
100
  color: var(--zdt_datetime_daystr_text);
101
101
  text-transform: uppercase;
102
102
  composes: semibold;
103
- width: 31px;
103
+ width: var(--zd_size31) ;
104
104
  }
105
105
 
106
106
  .dateRow {
107
- height: 28px;
107
+ height: var(--zd_size28) ;
108
108
  composes: alignBetween from '../common/common.module.css';
109
- margin: 1px 0 5px;
109
+ margin: var(--zd_size1) 0 var(--zd_size5) ;
110
110
  }
111
111
 
112
112
  .dateRow:last-child {
113
- margin-bottom: 0;
113
+ margin-bottom: 0 ;
114
114
  }
115
115
 
116
116
  .sunday,
@@ -163,24 +163,24 @@ cursor: no-drop;
163
163
 
164
164
 
165
165
  .timesection {
166
- padding-top: 5px;
167
- padding-bottom: 10px;
166
+ padding-top: var(--zd_size5) ;
167
+ padding-bottom: var(--zd_size10) ;
168
168
  }
169
169
 
170
170
  .dropDownContainer {
171
- padding: 0 5px;
171
+ padding: 0 var(--zd_size5) ;
172
172
  }
173
173
 
174
174
  .dropDown {
175
- width: 60px;
175
+ width: var(--zd_size60) ;
176
176
  display: inline-block;
177
177
  position: relative;
178
- margin: 0 4px;
178
+ margin: 0 var(--zd_size4) ;
179
179
  }
180
180
 
181
181
  .footer {
182
- margin-top: 10px;
183
- padding-bottom: 12px;
182
+ margin-top: var(--zd_size10) ;
183
+ padding-bottom: var(--zd_size12) ;
184
184
  }
185
185
 
186
186
  .timesection,
@@ -190,7 +190,7 @@ cursor: no-drop;
190
190
 
191
191
  .space {
192
192
  display: inline-block;
193
- width: 15px;
193
+ width: var(--zd_size15) ;
194
194
  }
195
195
 
196
196
  .downArrow {
@@ -198,11 +198,11 @@ cursor: no-drop;
198
198
  }
199
199
 
200
200
  [dir=ltr] .downArrow {
201
- margin-left: 2px;
201
+ margin-left: var(--zd_size2) ;
202
202
  }
203
203
 
204
204
  [dir=rtl] .downArrow {
205
- margin-right: 2px;
205
+ margin-right: var(--zd_size2) ;
206
206
  }
207
207
 
208
208
  .dateText {
@@ -215,27 +215,27 @@ cursor: no-drop;
215
215
 
216
216
  .text {
217
217
  composes: boxPadding;
218
- font-size: 11px;
218
+ font-size: var(--zd_font_size11) ;
219
219
  text-transform: uppercase;
220
220
  color: var(--zdt_datetime_text);
221
221
  composes: semibold;
222
222
  display: block;
223
- margin-top: 14px;
223
+ margin-top: var(--zd_size14) ;
224
224
  }
225
225
 
226
226
  .yearContainer {
227
227
  position: absolute;
228
- top: 0;
229
- width: 100%;
230
- height: 100%;
228
+ top: 0 ;
229
+ width: 100% ;
230
+ height: 100% ;
231
231
  }
232
232
 
233
233
  [dir=ltr] .yearContainer {
234
- left: 0;
234
+ left: 0 ;
235
235
  }
236
236
 
237
237
  [dir=rtl] .yearContainer {
238
- right: 0;
238
+ right: 0 ;
239
239
  }
240
240
 
241
241
  .subContainer {
@@ -243,7 +243,7 @@ cursor: no-drop;
243
243
  }
244
244
 
245
245
  .dropBox {
246
- width: 100%;
246
+ width: 100% ;
247
247
  border-radius: 3px;
248
248
  box-shadow: var(--zd_bs_dropbox_bottom);
249
249
  background-color: var(--zdt_dropbox_default_bg);
@@ -1,13 +1,15 @@
1
1
  /* eslint-disable react/forbid-component-props */
2
+
2
3
  /** ** Libraries *** */
3
4
  import React, { PureComponent } from 'react';
4
5
  import { DateTimePopupFooter_propTypes } from './props/propTypes';
5
6
  import { DateTimePopupFooter_defaultProps } from './props/defaultProps';
6
7
  /** ** Components *** */
8
+
7
9
  import { Container } from '../Layout';
8
10
  import Button from '../Button/Button';
9
-
10
11
  /** ** CSS *** */
12
+
11
13
  import style from './DateTime.module.css';
12
14
  export default class DateTimePopupFooter extends PureComponent {
13
15
  render() {
@@ -39,6 +41,7 @@ export default class DateTimePopupFooter extends PureComponent {
39
41
  dataId: `${dataId}_clearBtn`
40
42
  }));
41
43
  }
44
+
42
45
  }
43
46
  DateTimePopupFooter.propTypes = DateTimePopupFooter_propTypes;
44
47
  DateTimePopupFooter.defaultProps = DateTimePopupFooter_defaultProps;
@@ -3,19 +3,21 @@
3
3
  /** ** Libraries *** */
4
4
  import React, { PureComponent } from 'react';
5
5
  import { DateTimePopupHeader_propTypes } from './props/propTypes';
6
-
7
6
  /** ** Components *** */
7
+
8
8
  import { Container, Box } from '../Layout';
9
9
  import { Icon } from '@zohodesk/icons';
10
10
  import Heading from '../Heading/Heading';
11
-
12
11
  /** ** CSS *** */
12
+
13
13
  import style from './DateTime.module.css';
14
+
14
15
  class Span extends React.PureComponent {
15
16
  constructor(props) {
16
17
  super(props);
17
18
  this.modifyCalendarChild = this.modifyCalendarChild.bind(this);
18
19
  }
20
+
19
21
  modifyCalendarChild() {
20
22
  const {
21
23
  modifyCalendar,
@@ -23,6 +25,7 @@ class Span extends React.PureComponent {
23
25
  } = this.props;
24
26
  modifyCalendar(type);
25
27
  }
28
+
26
29
  render() {
27
30
  const {
28
31
  dataTitle,
@@ -40,7 +43,9 @@ class Span extends React.PureComponent {
40
43
  tabindex: "0"
41
44
  }, children);
42
45
  }
46
+
43
47
  }
48
+
44
49
  export default class DateTimePopupHeader extends PureComponent {
45
50
  render() {
46
51
  const {
@@ -95,5 +100,6 @@ export default class DateTimePopupHeader extends PureComponent {
95
100
  isBold: true
96
101
  }))) : null);
97
102
  }
103
+
98
104
  }
99
105
  DateTimePopupHeader.propTypes = DateTimePopupHeader_propTypes;