@zohodesk/components 1.2.23 → 1.2.25

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 (635) hide show
  1. package/.cli/propValidation_report.html +1 -1
  2. package/README.md +8 -0
  3. package/es/Accordion/Accordion.js +7 -3
  4. package/es/Accordion/AccordionItem.js +4 -2
  5. package/es/Animation/Animation.js +7 -89
  6. package/es/Animation/utils.js +83 -0
  7. package/es/AppContainer/AppContainer.js +14 -3
  8. package/es/AppContainer/AppContainer.module.css +2 -2
  9. package/es/Avatar/Avatar.js +23 -11
  10. package/es/Avatar/Avatar.module.css +18 -18
  11. package/es/AvatarTeam/AvatarTeam.js +3 -3
  12. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  13. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
  14. package/es/Button/Button.js +4 -3
  15. package/es/Button/css/Button.module.css +70 -70
  16. package/es/Buttongroup/Buttongroup.js +3 -3
  17. package/es/Buttongroup/Buttongroup.module.css +13 -15
  18. package/es/Card/Card.js +21 -10
  19. package/es/CheckBox/CheckBox.js +5 -3
  20. package/es/CheckBox/CheckBox.module.css +15 -15
  21. package/es/DateTime/CalendarView.js +32 -20
  22. package/es/DateTime/DateTime.js +69 -6
  23. package/es/DateTime/DateTime.module.css +40 -40
  24. package/es/DateTime/DateTimePopupFooter.js +4 -1
  25. package/es/DateTime/DateTimePopupHeader.js +8 -2
  26. package/es/DateTime/DateWidget.js +98 -35
  27. package/es/DateTime/DateWidget.module.css +5 -5
  28. package/es/DateTime/DaysRow.js +4 -1
  29. package/es/DateTime/Time.js +10 -1
  30. package/es/DateTime/YearView.js +28 -4
  31. package/es/DateTime/YearView.module.css +15 -15
  32. package/es/DateTime/common.js +3 -0
  33. package/es/DateTime/constants.js +1 -0
  34. package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
  35. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  36. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  37. package/es/DateTime/dateFormatUtils/index.js +31 -1
  38. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  39. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  40. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  41. package/es/DateTime/objectUtils.js +14 -20
  42. package/es/DateTime/typeChecker.js +3 -0
  43. package/es/DateTime/validator.js +58 -6
  44. package/es/DropBox/DropBox.js +6 -2
  45. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  46. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  47. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  48. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  49. package/es/DropBox/css/DropBox.module.css +6 -6
  50. package/es/DropBox/props/defaultProps.js +1 -2
  51. package/es/DropBox/props/propTypes.js +1 -2
  52. package/es/DropDown/DropDown.js +7 -1
  53. package/es/DropDown/DropDown.module.css +2 -2
  54. package/es/DropDown/DropDownHeading.js +4 -5
  55. package/es/DropDown/DropDownHeading.module.css +6 -6
  56. package/es/DropDown/DropDownItem.js +6 -0
  57. package/es/DropDown/DropDownItem.module.css +12 -12
  58. package/es/DropDown/DropDownSearch.js +4 -0
  59. package/es/DropDown/DropDownSearch.module.css +3 -3
  60. package/es/DropDown/DropDownSeparator.js +1 -0
  61. package/es/DropDown/DropDownSeparator.module.css +2 -2
  62. package/es/DropDown/props/propTypes.js +1 -2
  63. package/es/Heading/Heading.js +2 -3
  64. package/es/Heading/Heading.module.css +2 -2
  65. package/es/Label/Label.js +2 -3
  66. package/es/Label/Label.module.css +5 -5
  67. package/es/Label/__tests__/Label.spec.js +1 -2
  68. package/es/Layout/Box.js +15 -2
  69. package/es/Layout/Container.js +14 -3
  70. package/es/Layout/Layout.module.css +15 -15
  71. package/es/Layout/index.js +1 -2
  72. package/es/Layout/utils.js +1 -0
  73. package/es/ListItem/ListContainer.js +8 -3
  74. package/es/ListItem/ListItem.js +9 -3
  75. package/es/ListItem/ListItem.module.css +27 -38
  76. package/es/ListItem/ListItemWithAvatar.js +9 -3
  77. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  78. package/es/ListItem/ListItemWithIcon.js +8 -3
  79. package/es/ListItem/ListItemWithRadio.js +7 -3
  80. package/es/Modal/Modal.js +28 -11
  81. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  82. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  83. package/es/MultiSelect/EmptyState.js +2 -0
  84. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  85. package/es/MultiSelect/MultiSelect.js +99 -30
  86. package/es/MultiSelect/MultiSelect.module.css +31 -31
  87. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  88. package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
  89. package/es/MultiSelect/SelectedOptions.js +6 -3
  90. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  91. package/es/MultiSelect/Suggestions.js +7 -3
  92. package/es/MultiSelect/props/propTypes.js +2 -2
  93. package/es/PopOver/PopOver.js +16 -0
  94. package/es/Popup/Popup.js +77 -24
  95. package/es/Popup/viewPort.js +16 -4
  96. package/es/Provider/IdProvider.js +10 -5
  97. package/es/Provider/LibraryContext.js +6 -4
  98. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  99. package/es/Provider/ZindexProvider.js +9 -2
  100. package/es/Radio/Radio.js +3 -0
  101. package/es/Radio/Radio.module.css +9 -9
  102. package/es/Responsive/CustomResponsive.js +30 -18
  103. package/es/Responsive/RefWrapper.js +6 -7
  104. package/es/Responsive/ResizeComponent.js +35 -25
  105. package/es/Responsive/ResizeObserver.js +26 -6
  106. package/es/Responsive/Responsive.js +34 -20
  107. package/es/Responsive/index.js +1 -3
  108. package/es/Responsive/sizeObservers.js +28 -7
  109. package/es/Responsive/utils/index.js +7 -5
  110. package/es/Responsive/utils/shallowCompare.js +7 -2
  111. package/es/Responsive/windowResizeObserver.js +7 -0
  112. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  113. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  114. package/es/ResponsiveDropBox/props/propTypes.js +1 -2
  115. package/es/Ribbon/Ribbon.js +3 -2
  116. package/es/Ribbon/Ribbon.module.css +45 -48
  117. package/es/RippleEffect/RippleEffect.js +4 -5
  118. package/es/RippleEffect/props/defaultProps.js +1 -0
  119. package/es/RippleEffect/props/propTypes.js +1 -0
  120. package/es/Select/GroupSelect.js +58 -14
  121. package/es/Select/Select.js +79 -33
  122. package/es/Select/Select.module.css +23 -23
  123. package/es/Select/SelectWithAvatar.js +17 -4
  124. package/es/Select/SelectWithIcon.js +46 -5
  125. package/es/Select/props/propTypes.js +2 -2
  126. package/es/Stencils/Stencils.js +3 -3
  127. package/es/Stencils/Stencils.module.css +11 -11
  128. package/es/Switch/Switch.js +5 -3
  129. package/es/Switch/Switch.module.css +23 -23
  130. package/es/Tab/Tab.js +4 -4
  131. package/es/Tab/Tab.module.css +14 -14
  132. package/es/Tab/TabContent.js +1 -0
  133. package/es/Tab/TabContentWrapper.js +3 -0
  134. package/es/Tab/TabWrapper.js +5 -2
  135. package/es/Tab/Tabs.js +54 -7
  136. package/es/Tab/Tabs.module.css +22 -22
  137. package/es/Tag/Tag.js +6 -3
  138. package/es/Tag/Tag.module.css +24 -25
  139. package/es/TextBox/TextBox.js +16 -3
  140. package/es/TextBox/TextBox.module.css +9 -9
  141. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  142. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  143. package/es/TextBoxIcon/props/propTypes.js +1 -2
  144. package/es/Textarea/Textarea.js +12 -3
  145. package/es/Textarea/Textarea.module.css +21 -21
  146. package/es/Tooltip/Tooltip.js +58 -14
  147. package/es/Tooltip/Tooltip.module.css +5 -5
  148. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  149. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  150. package/es/common/animation.module.css +8 -8
  151. package/es/common/avatarsizes.module.css +16 -16
  152. package/es/common/basicReset.module.css +3 -3
  153. package/es/common/common.module.css +24 -24
  154. package/es/common/customscroll.module.css +2 -2
  155. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  156. package/es/semantic/Button/Button.js +3 -2
  157. package/es/semantic/Button/semanticButton.module.css +1 -1
  158. package/es/utils/Common.js +54 -9
  159. package/es/utils/ContextOptimizer.js +4 -5
  160. package/es/utils/constructFullName.js +2 -0
  161. package/es/utils/datetime/common.js +16 -5
  162. package/es/utils/debounce.js +5 -1
  163. package/es/utils/dropDownUtils.js +68 -11
  164. package/es/utils/getInitial.js +4 -0
  165. package/es/utils/shallowEqual.js +6 -0
  166. package/es/v1/Accordion/Accordion.js +4 -3
  167. package/es/v1/Accordion/AccordionItem.js +4 -2
  168. package/es/v1/Animation/Animation.js +5 -89
  169. package/es/v1/Animation/utils.js +83 -0
  170. package/es/v1/AppContainer/AppContainer.js +9 -3
  171. package/es/v1/Avatar/Avatar.js +18 -6
  172. package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
  173. package/es/v1/Button/Button.js +3 -3
  174. package/es/v1/Card/Card.js +16 -8
  175. package/es/v1/CheckBox/CheckBox.js +6 -3
  176. package/es/v1/DateTime/CalendarView.js +32 -20
  177. package/es/v1/DateTime/DateTime.js +69 -6
  178. package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
  179. package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
  180. package/es/v1/DateTime/DateWidget.js +98 -35
  181. package/es/v1/DateTime/DaysRow.js +4 -1
  182. package/es/v1/DateTime/Time.js +10 -1
  183. package/es/v1/DateTime/YearView.js +28 -4
  184. package/es/v1/DropBox/DropBox.js +6 -2
  185. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  186. package/es/v1/DropBox/props/defaultProps.js +1 -2
  187. package/es/v1/DropBox/props/propTypes.js +1 -2
  188. package/es/v1/DropDown/DropDown.js +3 -0
  189. package/es/v1/DropDown/DropDownHeading.js +2 -2
  190. package/es/v1/DropDown/DropDownItem.js +5 -0
  191. package/es/v1/DropDown/DropDownSearch.js +3 -2
  192. package/es/v1/DropDown/props/propTypes.js +1 -2
  193. package/es/v1/Heading/Heading.js +1 -3
  194. package/es/v1/Layout/Box.js +15 -2
  195. package/es/v1/Layout/Container.js +14 -3
  196. package/es/v1/ListItem/ListContainer.js +8 -3
  197. package/es/v1/ListItem/ListItem.js +10 -3
  198. package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
  199. package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
  200. package/es/v1/ListItem/ListItemWithIcon.js +9 -3
  201. package/es/v1/ListItem/ListItemWithRadio.js +8 -3
  202. package/es/v1/Modal/Modal.js +17 -1
  203. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
  204. package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
  205. package/es/v1/MultiSelect/EmptyState.js +2 -0
  206. package/es/v1/MultiSelect/MultiSelect.js +100 -31
  207. package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
  208. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
  209. package/es/v1/MultiSelect/SelectedOptions.js +6 -3
  210. package/es/v1/MultiSelect/Suggestions.js +7 -3
  211. package/es/v1/MultiSelect/props/propTypes.js +2 -2
  212. package/es/v1/PopOver/PopOver.js +11 -0
  213. package/es/v1/Popup/Popup.js +77 -24
  214. package/es/v1/Provider/IdProvider.js +10 -5
  215. package/es/v1/Provider/LibraryContext.js +6 -4
  216. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
  217. package/es/v1/Provider/ZindexProvider.js +9 -2
  218. package/es/v1/Radio/Radio.js +5 -2
  219. package/es/v1/Responsive/CustomResponsive.js +30 -18
  220. package/es/v1/Responsive/RefWrapper.js +6 -7
  221. package/es/v1/Responsive/ResizeComponent.js +35 -25
  222. package/es/v1/Responsive/ResizeObserver.js +26 -6
  223. package/es/v1/Responsive/Responsive.js +34 -20
  224. package/es/v1/Responsive/index.js +1 -3
  225. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
  226. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
  227. package/es/v1/RippleEffect/RippleEffect.js +3 -2
  228. package/es/v1/RippleEffect/props/defaultProps.js +1 -0
  229. package/es/v1/RippleEffect/props/propTypes.js +1 -0
  230. package/es/v1/Select/GroupSelect.js +58 -14
  231. package/es/v1/Select/Select.js +81 -37
  232. package/es/v1/Select/SelectWithAvatar.js +17 -4
  233. package/es/v1/Select/SelectWithIcon.js +46 -5
  234. package/es/v1/Select/props/propTypes.js +2 -2
  235. package/es/v1/Stencils/Stencils.js +2 -0
  236. package/es/v1/Switch/Switch.js +6 -3
  237. package/es/v1/Tab/Tab.js +3 -3
  238. package/es/v1/Tab/TabContent.js +1 -0
  239. package/es/v1/Tab/TabContentWrapper.js +3 -0
  240. package/es/v1/Tab/TabWrapper.js +5 -2
  241. package/es/v1/Tab/Tabs.js +54 -9
  242. package/es/v1/Tab/v1Tab.module.css +14 -14
  243. package/es/v1/Tab/v1Tabs.module.css +22 -22
  244. package/es/v1/Tag/Tag.js +5 -1
  245. package/es/v1/TextBox/TextBox.js +14 -0
  246. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
  247. package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
  248. package/es/v1/Textarea/Textarea.js +10 -3
  249. package/es/v1/Tooltip/Tooltip.js +58 -14
  250. package/es/v1/Typography/Typography.js +2 -0
  251. package/es/v1/Typography/css/Typography.module.css +31 -31
  252. package/es/v1/Typography/css/cssJSLogic.js +3 -0
  253. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
  254. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
  255. package/es/v1/semantic/Button/Button.js +1 -2
  256. package/lib/Accordion/Accordion.js +42 -18
  257. package/lib/Accordion/AccordionItem.js +40 -18
  258. package/lib/Accordion/index.js +3 -0
  259. package/lib/Accordion/props/propTypes.js +3 -0
  260. package/lib/Animation/Animation.js +42 -104
  261. package/lib/Animation/props/propTypes.js +3 -0
  262. package/lib/Animation/utils.js +94 -0
  263. package/lib/AppContainer/AppContainer.js +58 -20
  264. package/lib/AppContainer/AppContainer.module.css +2 -2
  265. package/lib/AppContainer/props/propTypes.js +3 -0
  266. package/lib/Avatar/Avatar.js +78 -38
  267. package/lib/Avatar/Avatar.module.css +18 -18
  268. package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
  269. package/lib/Avatar/props/propTypes.js +3 -0
  270. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  271. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  272. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
  273. package/lib/AvatarTeam/props/propTypes.js +3 -0
  274. package/lib/Button/Button.js +33 -22
  275. package/lib/Button/__tests__/Button.spec.js +65 -48
  276. package/lib/Button/css/Button.module.css +70 -70
  277. package/lib/Button/css/cssJSLogic.js +18 -17
  278. package/lib/Button/index.js +3 -0
  279. package/lib/Button/props/defaultProps.js +2 -0
  280. package/lib/Button/props/propTypes.js +3 -0
  281. package/lib/Buttongroup/Buttongroup.js +32 -12
  282. package/lib/Buttongroup/Buttongroup.module.css +13 -15
  283. package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
  284. package/lib/Buttongroup/props/propTypes.js +3 -0
  285. package/lib/Card/Card.js +102 -46
  286. package/lib/Card/index.js +4 -0
  287. package/lib/Card/props/propTypes.js +3 -0
  288. package/lib/CheckBox/CheckBox.js +71 -47
  289. package/lib/CheckBox/CheckBox.module.css +15 -15
  290. package/lib/CheckBox/props/propTypes.js +3 -0
  291. package/lib/DateTime/CalendarView.js +82 -42
  292. package/lib/DateTime/DateTime.js +244 -156
  293. package/lib/DateTime/DateTime.module.css +40 -40
  294. package/lib/DateTime/DateTimePopupFooter.js +33 -8
  295. package/lib/DateTime/DateTimePopupHeader.js +49 -17
  296. package/lib/DateTime/DateWidget.js +350 -249
  297. package/lib/DateTime/DateWidget.module.css +5 -5
  298. package/lib/DateTime/DaysRow.js +28 -5
  299. package/lib/DateTime/Time.js +75 -32
  300. package/lib/DateTime/YearView.js +76 -27
  301. package/lib/DateTime/YearView.module.css +15 -15
  302. package/lib/DateTime/common.js +6 -0
  303. package/lib/DateTime/constants.js +1 -0
  304. package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
  305. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  306. package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
  307. package/lib/DateTime/dateFormatUtils/index.js +73 -16
  308. package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
  309. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  310. package/lib/DateTime/dateFormatUtils/yearChange.js +23 -11
  311. package/lib/DateTime/index.js +2 -0
  312. package/lib/DateTime/objectUtils.js +24 -20
  313. package/lib/DateTime/props/propTypes.js +11 -1
  314. package/lib/DateTime/typeChecker.js +4 -0
  315. package/lib/DateTime/validator.js +73 -10
  316. package/lib/DropBox/DropBox.js +45 -21
  317. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  318. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  319. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  320. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  321. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  322. package/lib/DropBox/css/DropBox.module.css +6 -6
  323. package/lib/DropBox/css/cssJSLogic.js +3 -1
  324. package/lib/DropBox/props/defaultProps.js +8 -4
  325. package/lib/DropBox/props/propTypes.js +10 -4
  326. package/lib/DropDown/DropDown.js +51 -5
  327. package/lib/DropDown/DropDown.module.css +2 -2
  328. package/lib/DropDown/DropDownHeading.js +39 -20
  329. package/lib/DropDown/DropDownHeading.module.css +6 -6
  330. package/lib/DropDown/DropDownItem.js +42 -20
  331. package/lib/DropDown/DropDownItem.module.css +12 -12
  332. package/lib/DropDown/DropDownSearch.js +40 -17
  333. package/lib/DropDown/DropDownSearch.module.css +3 -3
  334. package/lib/DropDown/DropDownSeparator.js +24 -4
  335. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  336. package/lib/DropDown/index.js +9 -0
  337. package/lib/DropDown/props/propTypes.js +10 -4
  338. package/lib/Heading/Heading.js +37 -15
  339. package/lib/Heading/Heading.module.css +2 -2
  340. package/lib/Heading/props/propTypes.js +3 -0
  341. package/lib/Label/Label.js +41 -21
  342. package/lib/Label/Label.module.css +5 -5
  343. package/lib/Label/__tests__/Label.spec.js +48 -34
  344. package/lib/Label/props/propTypes.js +3 -0
  345. package/lib/Layout/Box.js +35 -15
  346. package/lib/Layout/Container.js +33 -14
  347. package/lib/Layout/Layout.module.css +15 -15
  348. package/lib/Layout/index.js +3 -0
  349. package/lib/Layout/props/propTypes.js +3 -0
  350. package/lib/Layout/utils.js +11 -0
  351. package/lib/ListItem/ListContainer.js +55 -30
  352. package/lib/ListItem/ListItem.js +74 -45
  353. package/lib/ListItem/ListItem.module.css +27 -38
  354. package/lib/ListItem/ListItemWithAvatar.js +80 -48
  355. package/lib/ListItem/ListItemWithCheckBox.js +70 -40
  356. package/lib/ListItem/ListItemWithIcon.js +73 -44
  357. package/lib/ListItem/ListItemWithRadio.js +71 -42
  358. package/lib/ListItem/index.js +7 -0
  359. package/lib/ListItem/props/propTypes.js +6 -4
  360. package/lib/Modal/Modal.js +45 -10
  361. package/lib/Modal/props/propTypes.js +3 -0
  362. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +293 -166
  363. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  364. package/lib/MultiSelect/EmptyState.js +45 -24
  365. package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  366. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  367. package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  368. package/lib/MultiSelect/MultiSelect.js +333 -214
  369. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  370. package/lib/MultiSelect/MultiSelectHeader.js +29 -7
  371. package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
  372. package/lib/MultiSelect/SelectedOptions.js +43 -17
  373. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  374. package/lib/MultiSelect/Suggestions.js +64 -32
  375. package/lib/MultiSelect/index.js +5 -0
  376. package/lib/MultiSelect/props/defaultProps.js +2 -0
  377. package/lib/MultiSelect/props/propTypes.js +14 -4
  378. package/lib/PopOver/PopOver.js +94 -47
  379. package/lib/PopOver/index.js +4 -0
  380. package/lib/PopOver/props/propTypes.js +3 -0
  381. package/lib/Popup/Popup.js +158 -81
  382. package/lib/Popup/viewPort.js +28 -14
  383. package/lib/Provider/AvatarSize.js +4 -0
  384. package/lib/Provider/Config.js +2 -0
  385. package/lib/Provider/CssProvider.js +4 -0
  386. package/lib/Provider/IdProvider.js +17 -6
  387. package/lib/Provider/LibraryContext.js +35 -15
  388. package/lib/Provider/LibraryContextInit.js +4 -0
  389. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  390. package/lib/Provider/ZindexProvider.js +15 -3
  391. package/lib/Provider/index.js +5 -0
  392. package/lib/Radio/Radio.js +60 -36
  393. package/lib/Radio/Radio.module.css +9 -9
  394. package/lib/Radio/__tests__/Radio.spec.js +134 -103
  395. package/lib/Radio/props/propTypes.js +3 -0
  396. package/lib/Responsive/CustomResponsive.js +73 -29
  397. package/lib/Responsive/RefWrapper.js +17 -11
  398. package/lib/Responsive/ResizeComponent.js +62 -36
  399. package/lib/Responsive/ResizeObserver.js +24 -10
  400. package/lib/Responsive/Responsive.js +80 -30
  401. package/lib/Responsive/index.js +4 -0
  402. package/lib/Responsive/props/propTypes.js +3 -0
  403. package/lib/Responsive/sizeObservers.js +53 -17
  404. package/lib/Responsive/utils/index.js +11 -3
  405. package/lib/Responsive/utils/shallowCompare.js +11 -2
  406. package/lib/Responsive/windowResizeObserver.js +8 -0
  407. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  408. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  409. package/lib/ResponsiveDropBox/props/propTypes.js +9 -4
  410. package/lib/Ribbon/Ribbon.js +33 -13
  411. package/lib/Ribbon/Ribbon.module.css +45 -48
  412. package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
  413. package/lib/Ribbon/props/propTypes.js +3 -0
  414. package/lib/RippleEffect/RippleEffect.js +22 -13
  415. package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
  416. package/lib/RippleEffect/props/defaultProps.js +1 -0
  417. package/lib/RippleEffect/props/propTypes.js +4 -0
  418. package/lib/Select/GroupSelect.js +229 -130
  419. package/lib/Select/Select.js +295 -211
  420. package/lib/Select/Select.module.css +23 -23
  421. package/lib/Select/SelectWithAvatar.js +102 -56
  422. package/lib/Select/SelectWithIcon.js +131 -76
  423. package/lib/Select/index.js +5 -0
  424. package/lib/Select/props/defaultProps.js +5 -4
  425. package/lib/Select/props/propTypes.js +10 -4
  426. package/lib/Stencils/Stencils.js +29 -10
  427. package/lib/Stencils/Stencils.module.css +11 -11
  428. package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
  429. package/lib/Stencils/props/propTypes.js +3 -0
  430. package/lib/Switch/Switch.js +57 -34
  431. package/lib/Switch/Switch.module.css +23 -23
  432. package/lib/Switch/__tests__/Switch.spec.js +91 -72
  433. package/lib/Switch/props/propTypes.js +3 -0
  434. package/lib/Tab/Tab.js +40 -27
  435. package/lib/Tab/Tab.module.css +14 -14
  436. package/lib/Tab/TabContent.js +12 -5
  437. package/lib/Tab/TabContentWrapper.js +16 -8
  438. package/lib/Tab/TabWrapper.js +37 -19
  439. package/lib/Tab/Tabs.js +171 -91
  440. package/lib/Tab/Tabs.module.css +22 -22
  441. package/lib/Tab/index.js +6 -0
  442. package/lib/Tab/props/propTypes.js +3 -0
  443. package/lib/Tag/Tag.js +72 -43
  444. package/lib/Tag/Tag.module.css +24 -25
  445. package/lib/Tag/props/propTypes.js +3 -0
  446. package/lib/TextBox/TextBox.js +86 -60
  447. package/lib/TextBox/TextBox.module.css +9 -9
  448. package/lib/TextBox/props/propTypes.js +6 -4
  449. package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
  450. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  451. package/lib/TextBoxIcon/props/propTypes.js +9 -4
  452. package/lib/Textarea/Textarea.js +54 -29
  453. package/lib/Textarea/Textarea.module.css +21 -21
  454. package/lib/Textarea/props/propTypes.js +3 -0
  455. package/lib/Tooltip/Tooltip.js +94 -31
  456. package/lib/Tooltip/Tooltip.module.css +5 -5
  457. package/lib/Tooltip/props/propTypes.js +3 -0
  458. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  459. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  460. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  461. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  462. package/lib/VelocityAnimation/index.js +3 -0
  463. package/lib/common/animation.module.css +8 -8
  464. package/lib/common/avatarsizes.module.css +16 -16
  465. package/lib/common/basicReset.module.css +3 -3
  466. package/lib/common/common.module.css +24 -24
  467. package/lib/common/customscroll.module.css +2 -2
  468. package/lib/css.js +40 -0
  469. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  470. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  471. package/lib/index.js +58 -0
  472. package/lib/semantic/Button/Button.js +42 -22
  473. package/lib/semantic/Button/props/propTypes.js +3 -0
  474. package/lib/semantic/Button/semanticButton.module.css +1 -1
  475. package/lib/semantic/index.js +2 -0
  476. package/lib/utils/Common.js +111 -18
  477. package/lib/utils/ContextOptimizer.js +16 -10
  478. package/lib/utils/constructFullName.js +13 -4
  479. package/lib/utils/datetime/common.js +34 -5
  480. package/lib/utils/debounce.js +6 -1
  481. package/lib/utils/dropDownUtils.js +175 -59
  482. package/lib/utils/dummyFunction.js +2 -0
  483. package/lib/utils/getHTMLFontSize.js +1 -0
  484. package/lib/utils/getInitial.js +6 -0
  485. package/lib/utils/index.js +1 -0
  486. package/lib/utils/scrollTo.js +2 -0
  487. package/lib/utils/shallowEqual.js +8 -0
  488. package/lib/v1/Accordion/Accordion.js +38 -19
  489. package/lib/v1/Accordion/AccordionItem.js +23 -13
  490. package/lib/v1/Accordion/index.js +3 -0
  491. package/lib/v1/Accordion/props/propTypes.js +3 -0
  492. package/lib/v1/Animation/Animation.js +24 -100
  493. package/lib/v1/Animation/props/propTypes.js +3 -0
  494. package/lib/v1/Animation/utils.js +94 -0
  495. package/lib/v1/AppContainer/AppContainer.js +46 -17
  496. package/lib/v1/AppContainer/props/propTypes.js +3 -0
  497. package/lib/v1/Avatar/Avatar.js +68 -32
  498. package/lib/v1/Avatar/props/propTypes.js +3 -0
  499. package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
  500. package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
  501. package/lib/v1/Button/Button.js +32 -22
  502. package/lib/v1/Button/props/defaultProps.js +2 -0
  503. package/lib/v1/Button/props/propTypes.js +3 -0
  504. package/lib/v1/Buttongroup/Buttongroup.js +13 -5
  505. package/lib/v1/Buttongroup/props/propTypes.js +3 -0
  506. package/lib/v1/Card/Card.js +78 -44
  507. package/lib/v1/Card/index.js +4 -0
  508. package/lib/v1/Card/props/propTypes.js +3 -0
  509. package/lib/v1/CheckBox/CheckBox.js +52 -41
  510. package/lib/v1/CheckBox/props/propTypes.js +3 -0
  511. package/lib/v1/DateTime/CalendarView.js +89 -48
  512. package/lib/v1/DateTime/DateTime.js +246 -158
  513. package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
  514. package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
  515. package/lib/v1/DateTime/DateWidget.js +352 -251
  516. package/lib/v1/DateTime/DaysRow.js +28 -5
  517. package/lib/v1/DateTime/Time.js +75 -32
  518. package/lib/v1/DateTime/YearView.js +76 -27
  519. package/lib/v1/DateTime/index.js +2 -0
  520. package/lib/v1/DateTime/props/propTypes.js +11 -1
  521. package/lib/v1/DropBox/DropBox.js +45 -21
  522. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  523. package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
  524. package/lib/v1/DropBox/props/defaultProps.js +8 -4
  525. package/lib/v1/DropBox/props/propTypes.js +10 -4
  526. package/lib/v1/DropDown/DropDown.js +23 -3
  527. package/lib/v1/DropDown/DropDownHeading.js +20 -13
  528. package/lib/v1/DropDown/DropDownItem.js +26 -11
  529. package/lib/v1/DropDown/DropDownSearch.js +28 -16
  530. package/lib/v1/DropDown/DropDownSeparator.js +7 -1
  531. package/lib/v1/DropDown/props/propTypes.js +10 -4
  532. package/lib/v1/Heading/Heading.js +19 -14
  533. package/lib/v1/Heading/props/propTypes.js +3 -0
  534. package/lib/v1/Label/Label.js +22 -14
  535. package/lib/v1/Label/props/propTypes.js +3 -0
  536. package/lib/v1/Layout/Box.js +35 -15
  537. package/lib/v1/Layout/Container.js +33 -14
  538. package/lib/v1/Layout/index.js +3 -0
  539. package/lib/v1/Layout/props/propTypes.js +3 -0
  540. package/lib/v1/ListItem/ListContainer.js +55 -30
  541. package/lib/v1/ListItem/ListItem.js +53 -38
  542. package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
  543. package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
  544. package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
  545. package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
  546. package/lib/v1/ListItem/index.js +7 -0
  547. package/lib/v1/ListItem/props/propTypes.js +6 -4
  548. package/lib/v1/Modal/Modal.js +46 -9
  549. package/lib/v1/Modal/props/propTypes.js +3 -0
  550. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
  551. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
  552. package/lib/v1/MultiSelect/EmptyState.js +45 -24
  553. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  554. package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  555. package/lib/v1/MultiSelect/MultiSelect.js +335 -216
  556. package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
  557. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
  558. package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
  559. package/lib/v1/MultiSelect/Suggestions.js +64 -32
  560. package/lib/v1/MultiSelect/index.js +5 -0
  561. package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
  562. package/lib/v1/MultiSelect/props/propTypes.js +14 -4
  563. package/lib/v1/PopOver/PopOver.js +71 -40
  564. package/lib/v1/PopOver/props/propTypes.js +3 -0
  565. package/lib/v1/Popup/Popup.js +158 -81
  566. package/lib/v1/Provider/AvatarSize.js +4 -0
  567. package/lib/v1/Provider/Config.js +2 -0
  568. package/lib/v1/Provider/CssProvider.js +4 -0
  569. package/lib/v1/Provider/IdProvider.js +17 -6
  570. package/lib/v1/Provider/LibraryContext.js +35 -15
  571. package/lib/v1/Provider/LibraryContextInit.js +4 -0
  572. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
  573. package/lib/v1/Provider/ZindexProvider.js +15 -3
  574. package/lib/v1/Provider/index.js +5 -0
  575. package/lib/v1/Radio/Radio.js +42 -32
  576. package/lib/v1/Radio/props/propTypes.js +3 -0
  577. package/lib/v1/Responsive/CustomResponsive.js +73 -29
  578. package/lib/v1/Responsive/RefWrapper.js +17 -11
  579. package/lib/v1/Responsive/ResizeComponent.js +62 -36
  580. package/lib/v1/Responsive/ResizeObserver.js +24 -10
  581. package/lib/v1/Responsive/Responsive.js +80 -30
  582. package/lib/v1/Responsive/index.js +4 -0
  583. package/lib/v1/Responsive/props/propTypes.js +3 -0
  584. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
  585. package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
  586. package/lib/v1/Ribbon/Ribbon.js +14 -7
  587. package/lib/v1/Ribbon/props/propTypes.js +3 -0
  588. package/lib/v1/RippleEffect/RippleEffect.js +21 -10
  589. package/lib/v1/RippleEffect/props/defaultProps.js +1 -0
  590. package/lib/v1/RippleEffect/props/propTypes.js +4 -0
  591. package/lib/v1/Select/GroupSelect.js +229 -130
  592. package/lib/v1/Select/Select.js +297 -214
  593. package/lib/v1/Select/SelectWithAvatar.js +102 -56
  594. package/lib/v1/Select/SelectWithIcon.js +131 -76
  595. package/lib/v1/Select/index.js +5 -0
  596. package/lib/v1/Select/props/defaultProps.js +5 -4
  597. package/lib/v1/Select/props/propTypes.js +10 -4
  598. package/lib/v1/Stencils/Stencils.js +13 -3
  599. package/lib/v1/Stencils/props/propTypes.js +3 -0
  600. package/lib/v1/Switch/Switch.js +38 -25
  601. package/lib/v1/Switch/props/propTypes.js +3 -0
  602. package/lib/v1/Tab/Tab.js +40 -27
  603. package/lib/v1/Tab/TabContent.js +12 -5
  604. package/lib/v1/Tab/TabContentWrapper.js +16 -8
  605. package/lib/v1/Tab/TabWrapper.js +37 -19
  606. package/lib/v1/Tab/Tabs.js +170 -83
  607. package/lib/v1/Tab/index.js +6 -0
  608. package/lib/v1/Tab/props/propTypes.js +3 -0
  609. package/lib/v1/Tab/v1Tab.module.css +14 -14
  610. package/lib/v1/Tab/v1Tabs.module.css +22 -22
  611. package/lib/v1/Tag/Tag.js +50 -32
  612. package/lib/v1/Tag/props/propTypes.js +3 -0
  613. package/lib/v1/TextBox/TextBox.js +70 -47
  614. package/lib/v1/TextBox/props/propTypes.js +6 -4
  615. package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
  616. package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
  617. package/lib/v1/Textarea/Textarea.js +45 -28
  618. package/lib/v1/Textarea/props/propTypes.js +3 -0
  619. package/lib/v1/Tooltip/Tooltip.js +94 -31
  620. package/lib/v1/Tooltip/props/propTypes.js +3 -0
  621. package/lib/v1/Typography/Typography.js +26 -15
  622. package/lib/v1/Typography/css/Typography.module.css +31 -31
  623. package/lib/v1/Typography/css/cssJSLogic.js +25 -20
  624. package/lib/v1/Typography/props/propTypes.js +3 -0
  625. package/lib/v1/Typography/utils/index.js +1 -0
  626. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
  627. package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  628. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
  629. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  630. package/lib/v1/semantic/Button/Button.js +24 -18
  631. package/lib/v1/semantic/Button/props/propTypes.js +3 -0
  632. package/lib/v1/semantic/index.js +2 -0
  633. package/package.json +2 -2
  634. package/result.json +1 -1
  635. package/.DS_Store +0 -0
@@ -2,34 +2,40 @@
2
2
  import React from 'react';
3
3
  import { YearView_propTypes } from './props/propTypes';
4
4
  import { YearView_defaultProps } from './props/defaultProps';
5
-
6
5
  /**** Components ****/
6
+
7
7
  import { Virtualizer } from '@zohodesk/virtualizer';
8
8
  import { Container, Box } from '../Layout';
9
9
  import { Icon } from '@zohodesk/icons';
10
10
  import Heading from '../Heading/Heading';
11
11
  /**** CSS ****/
12
- import style from './YearView.module.css';
13
12
 
13
+ import style from './YearView.module.css';
14
14
  /**** Methods ****/
15
+
15
16
  import { getYearDetails } from './dateFormatUtils';
16
17
  const monthNamesData = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
18
+
17
19
  function getYears() {
18
20
  const years = [];
19
21
  const {
20
22
  startPoint,
21
23
  endPoint
22
24
  } = getYearDetails();
25
+
23
26
  for (let i = startPoint; i <= endPoint; i++) {
24
27
  years.push(i);
25
28
  }
29
+
26
30
  return years;
27
31
  }
32
+
28
33
  class Year extends React.PureComponent {
29
34
  constructor(props) {
30
35
  super(props);
31
36
  this.handleClick = this.handleClick.bind(this);
32
37
  }
38
+
33
39
  handleClick() {
34
40
  const {
35
41
  year,
@@ -37,6 +43,7 @@ class Year extends React.PureComponent {
37
43
  } = this.props;
38
44
  onClick && onClick(year);
39
45
  }
46
+
40
47
  render() {
41
48
  const {
42
49
  year,
@@ -66,12 +73,15 @@ class Year extends React.PureComponent {
66
73
  iconClass: isOpen ? `${style.arrow} ${style.arrowActive}` : style.arrow
67
74
  })));
68
75
  }
76
+
69
77
  }
78
+
70
79
  class Month extends React.PureComponent {
71
80
  constructor(props) {
72
81
  super(props);
73
82
  this.handleClick = this.handleClick.bind(this);
74
83
  }
84
+
75
85
  handleClick() {
76
86
  const {
77
87
  month,
@@ -81,6 +91,7 @@ class Month extends React.PureComponent {
81
91
  monthIndex = monthIndex === -1 ? 0 : monthIndex;
82
92
  onClick && onClick(monthIndex);
83
93
  }
94
+
84
95
  render() {
85
96
  const {
86
97
  month,
@@ -96,7 +107,9 @@ class Month extends React.PureComponent {
96
107
  "aria-label": month
97
108
  }, displayText);
98
109
  }
110
+
99
111
  }
112
+
100
113
  export default class YearView extends React.PureComponent {
101
114
  constructor(props) {
102
115
  super(props);
@@ -111,10 +124,12 @@ export default class YearView extends React.PureComponent {
111
124
  localYear: ''
112
125
  };
113
126
  }
127
+
114
128
  componentDidMount() {
115
129
  this.handleScrollToYear(this.props);
116
130
  this.handleUpdateLocalYear(this.props);
117
131
  }
132
+
118
133
  componentDidUpdate(prevProps) {
119
134
  let {
120
135
  viewedYear
@@ -124,11 +139,13 @@ export default class YearView extends React.PureComponent {
124
139
  viewedYear: oldViewedYear
125
140
  } = prevProps;
126
141
  oldViewedYear = parseInt(oldViewedYear) || 0;
142
+
127
143
  if (viewedYear !== oldViewedYear) {
128
144
  this.handleScrollToYear(this.props);
129
145
  this.handleUpdateLocalYear(this.props);
130
146
  }
131
147
  }
148
+
132
149
  handleUpdateLocalYear(props) {
133
150
  let {
134
151
  viewedYear
@@ -140,6 +157,7 @@ export default class YearView extends React.PureComponent {
140
157
  });
141
158
  }, 150);
142
159
  }
160
+
143
161
  handleScrollToYear(props) {
144
162
  const {
145
163
  years = [],
@@ -154,24 +172,28 @@ export default class YearView extends React.PureComponent {
154
172
  duration: 0
155
173
  });
156
174
  }
175
+
157
176
  getPublicMethods(methods) {
158
177
  const {
159
178
  scrollToIndex
160
179
  } = methods;
161
180
  this.scrollToIndex = scrollToIndex;
162
181
  }
182
+
163
183
  handleMonthClick(month) {
164
184
  const {
165
185
  onSelectMonth
166
186
  } = this.props;
167
187
  onSelectMonth && onSelectMonth(month);
168
188
  }
189
+
169
190
  handleYearClick(year) {
170
191
  const {
171
192
  onSelectYear
172
193
  } = this.props;
173
194
  onSelectYear && onSelectYear(year);
174
195
  }
196
+
175
197
  renderListItem(_ref) {
176
198
  let {
177
199
  index,
@@ -217,11 +239,12 @@ export default class YearView extends React.PureComponent {
217
239
  month: month,
218
240
  onClick: this.handleMonthClick,
219
241
  isActive: monthIndex === viewedMonth,
220
- displayText: monthNamesShort[index]
221
- // hoverText={monthNames[index]}
242
+ displayText: monthNamesShort[index] // hoverText={monthNames[index]}
243
+
222
244
  });
223
245
  }))) : null);
224
246
  }
247
+
225
248
  render() {
226
249
  const {
227
250
  years = []
@@ -235,6 +258,7 @@ export default class YearView extends React.PureComponent {
235
258
  dataId: "yearList"
236
259
  });
237
260
  }
261
+
238
262
  }
239
263
  YearView.propTypes = YearView_propTypes;
240
264
  YearView.defaultProps = YearView_defaultProps;
@@ -1,19 +1,19 @@
1
1
  [dir=ltr] .boxPadding {
2
- padding-right: 19px;
3
- padding-left: 19px;
2
+ padding-right: var(--zd_size19) ;
3
+ padding-left: var(--zd_size19) ;
4
4
  }[dir=rtl] .boxPadding {
5
- padding-left: 19px;
6
- padding-right: 19px;
5
+ padding-left: var(--zd_size19) ;
6
+ padding-right: var(--zd_size19) ;
7
7
  }
8
8
 
9
9
  .month {
10
10
  width: 30.333%;
11
- font-size: 12px;
11
+ font-size: var(--zd_font_size12) ;
12
12
  line-height: 2.1667;
13
- height: 26px;
13
+ height: var(--zd_size26) ;
14
14
  color: var(--zdt_yearview_month_text);
15
15
  text-align: center;
16
- margin: 0 0 1px;
16
+ margin: 0 0 var(--zd_size1) ;
17
17
  cursor: pointer;
18
18
  background-color: var(--zdt_yearview_month_bg);
19
19
  border-radius: 20px;
@@ -37,7 +37,7 @@
37
37
  }
38
38
 
39
39
  .year {
40
- padding: 7px 0;
40
+ padding: var(--zd_size7) 0 ;
41
41
  cursor: pointer;
42
42
  }
43
43
 
@@ -48,7 +48,7 @@
48
48
 
49
49
  .yearText {
50
50
  color: var(--zdt_yearview_yeartext_text);
51
- font-size: 11px;
51
+ font-size: var(--zd_font_size11) ;
52
52
  }
53
53
 
54
54
  .arrow {
@@ -63,7 +63,7 @@
63
63
  .isActive .yearText {
64
64
  font-family: var(--zd_semibold);
65
65
  color: var(--zdt_yearview_year_hover_text);
66
- font-size: 11px;
66
+ font-size: var(--zd_font_size11) ;
67
67
  }
68
68
 
69
69
  .arrowActive {
@@ -79,7 +79,7 @@
79
79
  }
80
80
 
81
81
  .container {
82
- height: 100%;
82
+ height: 100% ;
83
83
  overflow-y: auto;
84
84
  overflow-x: hidden;
85
85
  composes: boxPadding;
@@ -87,13 +87,13 @@
87
87
  }
88
88
 
89
89
  .yearContainer {
90
- height: 135px;
90
+ height: var(--zd_size135) ;
91
91
  overflow: hidden;
92
92
  transition: height var(--zd_transition1);
93
- padding-bottom: 5px;
93
+ padding-bottom: var(--zd_size5) ;
94
94
  }
95
95
 
96
96
  .toggleYear {
97
- height: 0;
98
- padding: 0;
97
+ height: 0 ;
98
+ padding: 0 ;
99
99
  }
@@ -2,6 +2,7 @@ export function bind() {
2
2
  for (var _len = arguments.length, handlers = new Array(_len), _key = 0; _key < _len; _key++) {
3
3
  handlers[_key] = arguments[_key];
4
4
  }
5
+
5
6
  handlers.forEach(handler => {
6
7
  this[handler] = this[handler].bind(this);
7
8
  });
@@ -12,11 +13,13 @@ export function formatValue() {
12
13
  let textField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'name';
13
14
  return values && values.map(value => {
14
15
  let formattedValue = value;
16
+
15
17
  if (typeof value === 'string' || typeof value === 'number') {
16
18
  formattedValue = {};
17
19
  formattedValue[valueField] = value;
18
20
  formattedValue[textField] = value;
19
21
  }
22
+
20
23
  return formattedValue;
21
24
  }) || [];
22
25
  }
@@ -1,5 +1,6 @@
1
1
  export const defaultFormat = 'dd-MM-yyyy';
2
2
  export const supportedPatterns = ['.', '/', '-', ' ']; // RESTRICTED PATTERNS - ['@']
3
+
3
4
  export const patternChangeStr = '@';
4
5
  export const patternSplitStr = '@';
5
6
  export const INCONSTANT = 'INCONSTANT';
@@ -2,16 +2,16 @@
2
2
 
3
3
  /** * Libraries ** */
4
4
  import datetime from '@zohodesk/datetimejs';
5
-
6
5
  /** * Methods ** */
6
+
7
7
  import { getDayEnd, convertYearToTwoDigit, addZero, getMonthDetails, getYearDetails, getDayDetails, getHourDetails, getMinuteDetails, getNoonDetails, getIsCurrentYear, removeYearPattern } from './index';
8
8
  import { getIsEmptyValue } from '../../utils/Common';
9
9
  import { formatDate } from '../../utils/datetime/common';
10
-
11
10
  /** * Constants ** */
12
- import { defaultFormat, supportedPatterns,
13
- // patternChangeStr,
11
+
12
+ import { defaultFormat, supportedPatterns, // patternChangeStr,
14
13
  patternSplitStr, INCONSTANT, flags } from '../constants';
14
+
15
15
  function getDateFormatString() {
16
16
  let dateFormatArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
17
17
  let datePatternArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -21,19 +21,23 @@ function getDateFormatString() {
21
21
  return res;
22
22
  }, '');
23
23
  }
24
+
24
25
  function getIsValidPattern() {
25
26
  let dateFormatArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26
27
  let datePatternArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
28
+
27
29
  const isValueInArray = function () {
28
30
  let possibleFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
29
31
  return possibleFormat.some(str => dateFormatArr.indexOf(str) >= 0);
30
32
  };
33
+
31
34
  const haveDay = isValueInArray(flags.day);
32
35
  const haveMonth = isValueInArray(flags.month);
33
36
  const haveYear = isValueInArray(flags.year);
34
37
  const isValidPattern = datePatternArr.length && datePatternArr.length <= 2 && datePatternArr.every(patternStr => supportedPatterns.indexOf(patternStr) >= 0);
35
38
  return haveDay && haveMonth && (haveYear || !haveYear) && isValidPattern;
36
39
  }
40
+
37
41
  export function getDateFormatDetails() {
38
42
  let dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
39
43
  let {
@@ -55,17 +59,20 @@ export function getDateFormatDetails() {
55
59
  isDateTime
56
60
  });
57
61
  const isHideYear = isHideCurrentYear ? isCurrentYear : false;
62
+
58
63
  function getDateFormat(dateFormat) {
59
64
  const token = /D{1,4}|M{1,4}|YY(?:YY)?|([HhmsA])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/gi;
60
65
  dateFormatArr = [];
61
66
  patternArr = [];
62
67
  const newDateFormat = dateFormat.replace(token, match => {
63
68
  const dateFormatArrLen = dateFormatArr.length;
69
+
64
70
  if (match in flags) {
65
71
  dateFormatArr.push(match);
66
72
  const {
67
73
  type
68
74
  } = flags[match];
75
+
69
76
  if (type === 'day') {
70
77
  dayInfo = Object.assign({}, flags[match], {
71
78
  index: dateFormatArrLen
@@ -79,28 +86,35 @@ export function getDateFormatDetails() {
79
86
  index: dateFormatArrLen
80
87
  });
81
88
  }
89
+
82
90
  return patternSplitStr;
83
91
  }
92
+
84
93
  return match.slice(1, match.length - 1);
85
94
  });
86
95
  patternArr = newDateFormat.split(patternSplitStr).reduce((res, patternStr) => {
87
96
  if (patternStr) {
88
97
  res.push(patternStr);
89
98
  }
99
+
90
100
  return res;
91
101
  }, []);
92
102
  }
103
+
93
104
  getDateFormat(dateFormat);
94
105
  const isValidPattern = getIsValidPattern(dateFormatArr, patternArr);
106
+
95
107
  if (!isValidPattern) {
96
108
  getDateFormat(defaultFormat);
97
109
  }
110
+
98
111
  if (isHideYear) {
99
112
  ({
100
113
  dateFormatArr,
101
114
  patternArr
102
115
  } = removeYearPattern(dateFormatArr, patternArr));
103
116
  }
117
+
104
118
  return {
105
119
  dateFormat: getDateFormatString(dateFormatArr, patternArr),
106
120
  dateFormatArr,
@@ -111,6 +125,7 @@ export function getDateFormatDetails() {
111
125
  isValidPattern
112
126
  };
113
127
  }
128
+
114
129
  function getDisplayFormatValue(dateVal, formatVal) {
115
130
  let {
116
131
  i18nShortMonths = [],
@@ -120,18 +135,22 @@ function getDisplayFormatValue(dateVal, formatVal) {
120
135
  length,
121
136
  type
122
137
  } = flags[formatVal] || {};
138
+
123
139
  if (length === INCONSTANT) {
124
140
  if (dateVal && formatVal === 'MMM' && i18nShortMonths.length) {
125
141
  return i18nShortMonths[dateVal - 1];
126
142
  } else if (dateVal && formatVal === 'MMMM' && i18nMonths.length) {
127
143
  return i18nMonths[dateVal - 1];
128
144
  }
145
+
129
146
  return addZero(dateVal, formatVal.length ? formatVal.length : 1);
130
147
  } else if (type === 'year' && length === 2) {
131
148
  return addZero(convertYearToTwoDigit(dateVal), length);
132
149
  }
150
+
133
151
  return addZero(dateVal, length);
134
152
  }
153
+
135
154
  function concatDate(values, dateFormatArr, patternArr, fillPlaceHolder) {
136
155
  let {
137
156
  i18nShortMonths,
@@ -152,6 +171,7 @@ function concatDate(values, dateFormatArr, patternArr, fillPlaceHolder) {
152
171
  }, '');
153
172
  return dateString;
154
173
  }
174
+
155
175
  export function getDateTimeString() {
156
176
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
157
177
  let dateFormatDetails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -184,17 +204,20 @@ export function getDateTimeString() {
184
204
  i18nMonths
185
205
  });
186
206
  let timeString = '';
207
+
187
208
  if (isDateTime) {
188
209
  hour = !getIsEmptyValue(hour) ? addZero(hour, 2) : is24Hour ? 'HH' : 'hh';
189
210
  minute = !getIsEmptyValue(minute) ? addZero(minute, 2) : 'mm';
190
211
  timeString = ` ${hour}:${minute} ${is24Hour ? '' : `${noon || '--'}`}`;
191
212
  }
213
+
192
214
  return `${dateString}${timeString}`;
193
215
  }
194
216
  export function getDateText(value, isDateTime, timeZone) {
195
217
  if (value && !timeZone) {
196
218
  value = value.replace('Z', '');
197
219
  }
220
+
198
221
  return value ? isDateTime ? timeZone ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : new Date(value) : timeZone ? datetime.toDate(value) : new Date(value) : new Date();
199
222
  }
200
223
  export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
@@ -209,6 +232,7 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
209
232
  minute,
210
233
  noon
211
234
  } = localValues;
235
+
212
236
  if (value) {
213
237
  const dateObj = getDateText(value, isDateTime, timeZone);
214
238
  const selectedDay = dateObj.getDate();
@@ -217,13 +241,16 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
217
241
  const newDay = day ? day : selectedDay;
218
242
  const newMonth = month ? month : selectedMonth + 1;
219
243
  const newYear = year ? year : selectedYear;
244
+
220
245
  if (isDateTime) {
221
246
  let selectedHour = dateObj.getHours();
222
247
  const selectedMinute = dateObj.getMinutes();
223
248
  const selectedNoon = selectedHour < 12 ? 'AM' : 'PM';
249
+
224
250
  if (!is24Hour) {
225
251
  selectedHour = selectedHour === 0 ? 12 : selectedHour > 12 ? selectedHour - 12 : selectedHour;
226
252
  }
253
+
227
254
  const newHour = hour ? hour : selectedHour;
228
255
  const newMinute = minute ? minute : selectedMinute;
229
256
  const newNoon = noon ? noon : selectedNoon;
@@ -236,12 +263,14 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
236
263
  noon: newNoon
237
264
  };
238
265
  }
266
+
239
267
  return {
240
268
  day: newDay,
241
269
  month: newMonth,
242
270
  year: newYear
243
271
  };
244
272
  }
273
+
245
274
  return localValues;
246
275
  }
247
276
  export function getIsValidDate(values, isDateTime, _ref2) {
@@ -265,6 +294,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
265
294
  const value = parseInt(val);
266
295
  return getIsEmptyValue(value);
267
296
  }
297
+
268
298
  return getIsEmptyValue(val);
269
299
  });
270
300
  const haveAllValues = valuesArr.every((val, index) => {
@@ -280,8 +310,10 @@ export function getIsValidDate(values, isDateTime, _ref2) {
280
310
  } else if (val) {
281
311
  return true;
282
312
  }
313
+
283
314
  return false;
284
315
  });
316
+
285
317
  if (haveAllValues) {
286
318
  const dayEnd = getDayEnd(month, year);
287
319
  const {
@@ -306,6 +338,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
306
338
  const {
307
339
  allowedValues: noonAllowedValues
308
340
  } = getNoonDetails();
341
+
309
342
  if (dayEnd < day || dayStart > day) {
310
343
  isError = true;
311
344
  message = 'Wrong Day';
@@ -329,6 +362,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
329
362
  isError = true;
330
363
  message = 'Empty value';
331
364
  }
365
+
332
366
  return {
333
367
  isError,
334
368
  message,
@@ -353,34 +387,41 @@ export function getSelectedDate(values, props) {
353
387
  isDateTime,
354
388
  is24Hour
355
389
  } = props;
390
+
356
391
  if (!is24Hour) {
357
392
  if (parseInt(hour) === 12) {
358
393
  hour = noon === 'AM' ? 0 : 12;
359
394
  }
395
+
360
396
  if (noon === 'PM') {
361
397
  if (hour < 12) {
362
398
  hour = parseInt(hour) + 12;
363
399
  }
364
400
  }
365
401
  }
402
+
366
403
  month = parseInt(month) - 1;
367
404
  const minInMillis = min ? datetime.millis(min) : null,
368
- maxInMillis = max ? datetime.millis(max) : null;
405
+ maxInMillis = max ? datetime.millis(max) : null;
369
406
  let selectedInMillis,
370
- selectedValue = '';
407
+ selectedValue = '';
408
+
371
409
  if (isDateTime) {
372
410
  if (timeZone) {
373
411
  selectedInMillis = datetime.tz.tzToUtc(Date.UTC(year, month, date, hour, mins), timeZone);
374
412
  } else {
375
413
  selectedInMillis = Date.UTC(year, month, date, hour, mins);
376
414
  }
415
+
377
416
  selectedValue = datetime.ISO(selectedInMillis);
378
417
  } else {
379
418
  selectedInMillis = Date.UTC(year, month, date);
380
419
  selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
381
420
  }
421
+
382
422
  let isError = false;
383
423
  let errorType = '';
424
+
384
425
  if (minInMillis && minInMillis > selectedInMillis) {
385
426
  isError = true;
386
427
  errorType = 'MIN';
@@ -388,12 +429,14 @@ export function getSelectedDate(values, props) {
388
429
  isError = true;
389
430
  errorType = 'MAX';
390
431
  }
432
+
391
433
  return {
392
434
  isError,
393
435
  errorType,
394
436
  selectedValue: selectedValue
395
437
  };
396
438
  }
439
+
397
440
  function getDateFormatLength(type, length) {
398
441
  let formatVal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
399
442
  let {
@@ -422,16 +465,20 @@ function getDateFormatLength(type, length) {
422
465
  }, isDateTime, timeZone, {
423
466
  is24Hour
424
467
  });
468
+
425
469
  if (length === INCONSTANT) {
426
470
  if (selectedMonth && formatVal === 'MMM' && i18nShortMonths.length) {
427
471
  return i18nShortMonths[selectedMonth - 1].length;
428
472
  } else if (selectedMonth && formatVal === 'MMMM' && i18nMonths.length) {
429
473
  return i18nMonths[selectedMonth - 1].length;
430
474
  }
475
+
431
476
  return formatVal.length ? formatVal.length : 1;
432
477
  }
478
+
433
479
  return length;
434
480
  }
481
+
435
482
  export function getDateFormatSelection(dateFormatDetails, isDateTime) {
436
483
  let {
437
484
  i18nShortMonths,
@@ -454,20 +501,24 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
454
501
  const clickIndex = {};
455
502
  const order = [];
456
503
  let tempLength = 0;
504
+
457
505
  function addResult(type, length) {
458
506
  const startIndex = tempLength;
459
507
  const endIndex = tempLength + length;
460
508
  const orderLen = order.length;
461
509
  focusedIndex[`${startIndex}_${endIndex}`] = orderLen;
510
+
462
511
  for (let i = startIndex; i <= endIndex; i++) {
463
512
  clickIndex[i] = orderLen;
464
513
  }
514
+
465
515
  order.push({
466
516
  type,
467
517
  index: [startIndex, endIndex]
468
518
  });
469
519
  tempLength += length;
470
520
  }
521
+
471
522
  dateFormatArr.forEach((formatVal, index) => {
472
523
  const {
473
524
  type,
@@ -491,38 +542,32 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
491
542
  addResult(type, validLength);
492
543
  tempLength += patternVal.length;
493
544
  });
545
+
494
546
  if (isDateTime) {
495
547
  //For space between date and time
496
- tempLength += 1;
548
+ tempLength += 1; //hour
497
549
 
498
- //hour
499
- addResult('hour', 2);
550
+ addResult('hour', 2); //For :
500
551
 
501
- //For :
502
- tempLength += 1;
552
+ tempLength += 1; //minute
503
553
 
504
- //minute
505
- addResult('minute', 2);
554
+ addResult('minute', 2); //For space between time and noon
506
555
 
507
- //For space between time and noon
508
- tempLength += 1;
556
+ tempLength += 1; //noon
509
557
 
510
- //noon
511
558
  if (!is24Hour) {
512
559
  addResult('noon', 2);
513
560
  }
514
561
  }
562
+
515
563
  return {
516
564
  focusedIndex,
517
565
  clickIndex,
518
566
  order
519
567
  };
520
- }
521
-
522
- // export function getDateValues(date = '', dateFormatDetails = {}) {
568
+ } // export function getDateValues(date = '', dateFormatDetails = {}) {
523
569
  // const { dateFormatArr, patternArr, dayInfo, monthInfo, yearInfo } =
524
570
  // dateFormatDetails;
525
-
526
571
  // const newDate = date.split('').reduce((res, str) => {
527
572
  // if (patternArr.indexOf(str) >= 0) {
528
573
  // res += patternChangeStr;
@@ -531,21 +576,16 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
531
576
  // }
532
577
  // return res;
533
578
  // }, '');
534
-
535
579
  // const dateArr = newDate.split(patternChangeStr);
536
-
537
580
  // const { index: dayIndex, length: dayLength } = dayInfo;
538
581
  // let day = dateArr[dayIndex];
539
582
  // day = addZero(day, dayLength);
540
-
541
583
  // const { index: monthIndex, length: monthLength } = monthInfo;
542
584
  // let month = dateArr[monthIndex];
543
585
  // month = addZero(month, monthLength);
544
-
545
586
  // const { index: yearIndex, length: yearLength } = yearInfo;
546
587
  // let year = dateArr[yearIndex];
547
588
  // year = addZero(year, yearLength);
548
-
549
589
  // return {
550
590
  // day,
551
591
  // month,
@@ -553,21 +593,16 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
553
593
  // dateString: concatDate({ day, month, year }, dateFormatArr, patternArr)
554
594
  // };
555
595
  // }
556
-
557
596
  // export function getDateTimeValues(value = '', dateFormatDetails = {}) {
558
597
  // const [date, time = '', noon = ''] = value.split(' ');
559
-
560
598
  // let [hour = '', minute = ''] = time.split(':');
561
599
  // hour = addZero(hour, 2);
562
600
  // minute = addZero(minute, 2);
563
-
564
601
  // const { day, month, year, dateString } = getDateValues(
565
602
  // date,
566
603
  // dateFormatDetails
567
604
  // );
568
-
569
605
  // const timeString = `${hour}:${minute}`;
570
-
571
606
  // return {
572
607
  // day,
573
608
  // month,