@zohodesk/components 1.0.0-alpha-267 → 1.0.0-alpha-269

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 (433) hide show
  1. package/README.md +8 -0
  2. package/assets/Contrast/darkContrastLightness.module.css +1 -1
  3. package/assets/Contrast/defaultContrastLightness.module.css +1 -1
  4. package/assets/Contrast/pureDarkContrastLightness.module.css +1 -1
  5. package/es/Accordion/Accordion.js +7 -3
  6. package/es/Accordion/AccordionItem.js +4 -2
  7. package/es/Animation/Animation.js +3 -3
  8. package/es/AppContainer/AppContainer.js +13 -5
  9. package/es/AppContainer/AppContainer.module.css +2 -2
  10. package/es/Avatar/Avatar.js +23 -11
  11. package/es/Avatar/Avatar.module.css +10 -10
  12. package/es/AvatarTeam/AvatarTeam.js +3 -3
  13. package/es/AvatarTeam/AvatarTeam.module.css +22 -21
  14. package/es/Button/Button.js +4 -3
  15. package/es/Button/css/Button.module.css +51 -50
  16. package/es/Buttongroup/Buttongroup.js +3 -3
  17. package/es/Buttongroup/Buttongroup.module.css +13 -14
  18. package/es/Card/Card.js +21 -10
  19. package/es/CheckBox/CheckBox.js +5 -3
  20. package/es/CheckBox/CheckBox.module.css +16 -16
  21. package/es/DateTime/CalendarView.js +32 -20
  22. package/es/DateTime/DateTime.js +68 -7
  23. package/es/DateTime/DateTime.module.css +39 -39
  24. package/es/DateTime/DateTimePopupFooter.js +4 -2
  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 -2
  29. package/es/DateTime/Time.js +10 -2
  30. package/es/DateTime/YearView.js +28 -4
  31. package/es/DateTime/YearView.module.css +15 -15
  32. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  33. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  34. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  35. package/es/DateTime/common.js +3 -0
  36. package/es/DateTime/constants.js +1 -0
  37. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  38. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  39. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  40. package/es/DateTime/dateFormatUtils/index.js +32 -2
  41. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  42. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  43. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  44. package/es/DateTime/objectUtils.js +14 -20
  45. package/es/DateTime/typeChecker.js +3 -0
  46. package/es/DateTime/validator.js +58 -6
  47. package/es/DropBox/DropBox.js +6 -2
  48. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  49. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
  50. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  51. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  52. package/es/DropBox/css/DropBox.module.css +6 -6
  53. package/es/DropBox/props/defaultProps.js +1 -2
  54. package/es/DropBox/props/propTypes.js +1 -2
  55. package/es/DropDown/DropDown.js +8 -4
  56. package/es/DropDown/DropDown.module.css +2 -2
  57. package/es/DropDown/DropDownHeading.js +4 -5
  58. package/es/DropDown/DropDownHeading.module.css +3 -3
  59. package/es/DropDown/DropDownItem.js +6 -0
  60. package/es/DropDown/DropDownItem.module.css +9 -9
  61. package/es/DropDown/DropDownSearch.js +4 -0
  62. package/es/DropDown/DropDownSeparator.js +1 -0
  63. package/es/DropDown/DropDownSeparator.module.css +2 -2
  64. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  65. package/es/Heading/Heading.js +2 -3
  66. package/es/Heading/Heading.module.css +2 -2
  67. package/es/Label/Label.js +2 -3
  68. package/es/Label/Label.module.css +1 -1
  69. package/es/Layout/Box.js +13 -0
  70. package/es/Layout/Container.js +12 -1
  71. package/es/Layout/Layout.module.css +15 -15
  72. package/es/Layout/index.js +1 -2
  73. package/es/ListItem/ListContainer.js +8 -3
  74. package/es/ListItem/ListItem.js +9 -3
  75. package/es/ListItem/ListItem.module.css +26 -26
  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/MultiSelect.js +99 -32
  85. package/es/MultiSelect/MultiSelect.module.css +32 -31
  86. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  87. package/es/MultiSelect/MultiSelectWithAvatar.js +12 -6
  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/__tests__/MultiSelect.spec.js +4 -6
  92. package/es/MultiSelect/props/propTypes.js +2 -0
  93. package/es/PopOver/PopOver.js +18 -2
  94. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  95. package/es/Popup/Popup.js +77 -24
  96. package/es/Popup/__tests__/Popup.spec.js +17 -5
  97. package/es/Popup/viewPort.js +16 -4
  98. package/es/Provider/IdProvider.js +10 -5
  99. package/es/Provider/LibraryContext.js +6 -4
  100. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  101. package/es/Provider/ZindexProvider.js +9 -2
  102. package/es/Radio/Radio.js +4 -2
  103. package/es/Radio/Radio.module.css +3 -3
  104. package/es/Responsive/CustomResponsive.js +30 -18
  105. package/es/Responsive/RefWrapper.js +6 -7
  106. package/es/Responsive/ResizeComponent.js +35 -25
  107. package/es/Responsive/ResizeObserver.js +26 -6
  108. package/es/Responsive/Responsive.js +34 -20
  109. package/es/Responsive/index.js +1 -3
  110. package/es/Responsive/sizeObservers.js +28 -7
  111. package/es/Responsive/utils/index.js +7 -5
  112. package/es/Responsive/utils/shallowCompare.js +7 -2
  113. package/es/Responsive/windowResizeObserver.js +7 -0
  114. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  115. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  116. package/es/Ribbon/Ribbon.js +3 -2
  117. package/es/Ribbon/Ribbon.module.css +42 -42
  118. package/es/RippleEffect/RippleEffect.js +1 -3
  119. package/es/Select/GroupSelect.js +58 -14
  120. package/es/Select/Select.js +79 -33
  121. package/es/Select/Select.module.css +23 -23
  122. package/es/Select/SelectWithAvatar.js +17 -4
  123. package/es/Select/SelectWithIcon.js +46 -5
  124. package/es/Select/__tests__/Select.spec.js +6 -8
  125. package/es/Select/props/propTypes.js +1 -0
  126. package/es/Stencils/Stencils.js +3 -3
  127. package/es/Stencils/Stencils.module.css +2 -2
  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 +2 -0
  134. package/es/Tab/TabWrapper.js +5 -2
  135. package/es/Tab/Tabs.js +54 -7
  136. package/es/Tab/Tabs.module.css +23 -23
  137. package/es/Tab/__tests__/Tab.spec.js +1 -3
  138. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  139. package/es/Tag/Tag.js +6 -3
  140. package/es/Tag/Tag.module.css +10 -10
  141. package/es/TextBox/TextBox.js +15 -3
  142. package/es/TextBox/TextBox.module.css +6 -5
  143. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  144. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  145. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
  146. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  147. package/es/Textarea/Textarea.js +12 -3
  148. package/es/Textarea/Textarea.module.css +6 -6
  149. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  150. package/es/Tooltip/Tooltip.js +58 -14
  151. package/es/Tooltip/Tooltip.module.css +12 -5
  152. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  153. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  154. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  155. package/es/common/animation.module.css +8 -8
  156. package/es/common/basicReset.module.css +3 -3
  157. package/es/common/common.module.css +24 -24
  158. package/es/common/customscroll.module.css +4 -2
  159. package/es/common/reset.module.css +1 -0
  160. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  161. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  162. package/es/semantic/Button/Button.js +3 -2
  163. package/es/semantic/Button/semanticButton.module.css +1 -1
  164. package/es/utils/Common.js +54 -9
  165. package/es/utils/ContextOptimizer.js +4 -5
  166. package/es/utils/__tests__/debounce.spec.js +2 -2
  167. package/es/utils/constructFullName.js +2 -0
  168. package/es/utils/css/compileClassNames.js +5 -0
  169. package/es/utils/css/mergeStyle.js +7 -6
  170. package/es/utils/css/utils.js +1 -0
  171. package/es/utils/datetime/common.js +16 -5
  172. package/es/utils/debounce.js +5 -1
  173. package/es/utils/dropDownUtils.js +68 -11
  174. package/es/utils/getInitial.js +4 -0
  175. package/es/utils/shallowEqual.js +6 -0
  176. package/lib/Accordion/Accordion.js +42 -18
  177. package/lib/Accordion/AccordionItem.js +40 -18
  178. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  179. package/lib/Accordion/index.js +3 -0
  180. package/lib/Accordion/props/propTypes.js +3 -0
  181. package/lib/Animation/Animation.js +38 -18
  182. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  183. package/lib/Animation/props/propTypes.js +3 -0
  184. package/lib/AppContainer/AppContainer.js +56 -21
  185. package/lib/AppContainer/AppContainer.module.css +2 -2
  186. package/lib/AppContainer/props/propTypes.js +3 -0
  187. package/lib/Avatar/Avatar.js +78 -38
  188. package/lib/Avatar/Avatar.module.css +10 -10
  189. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  190. package/lib/Avatar/props/propTypes.js +3 -0
  191. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  192. package/lib/AvatarTeam/AvatarTeam.module.css +22 -21
  193. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  194. package/lib/AvatarTeam/props/propTypes.js +3 -0
  195. package/lib/Button/Button.js +31 -20
  196. package/lib/Button/css/Button.module.css +51 -50
  197. package/lib/Button/css/cssJSLogic.js +18 -17
  198. package/lib/Button/index.js +3 -0
  199. package/lib/Button/props/defaultProps.js +2 -0
  200. package/lib/Button/props/propTypes.js +3 -0
  201. package/lib/Buttongroup/Buttongroup.js +32 -12
  202. package/lib/Buttongroup/Buttongroup.module.css +13 -14
  203. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  204. package/lib/Buttongroup/props/propTypes.js +3 -0
  205. package/lib/Card/Card.js +102 -46
  206. package/lib/Card/__tests__/Card.spec.js +10 -1
  207. package/lib/Card/index.js +4 -0
  208. package/lib/Card/props/propTypes.js +3 -0
  209. package/lib/CheckBox/CheckBox.js +71 -47
  210. package/lib/CheckBox/CheckBox.module.css +16 -16
  211. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  212. package/lib/CheckBox/props/propTypes.js +3 -0
  213. package/lib/DateTime/CalendarView.js +82 -42
  214. package/lib/DateTime/DateTime.js +240 -156
  215. package/lib/DateTime/DateTime.module.css +39 -39
  216. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  217. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  218. package/lib/DateTime/DateWidget.js +352 -250
  219. package/lib/DateTime/DateWidget.module.css +5 -5
  220. package/lib/DateTime/DaysRow.js +27 -5
  221. package/lib/DateTime/Time.js +73 -32
  222. package/lib/DateTime/YearView.js +77 -28
  223. package/lib/DateTime/YearView.module.css +15 -15
  224. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  225. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  226. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  227. package/lib/DateTime/common.js +6 -0
  228. package/lib/DateTime/constants.js +1 -0
  229. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  230. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  231. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  232. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  233. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  234. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  235. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  236. package/lib/DateTime/index.js +2 -0
  237. package/lib/DateTime/objectUtils.js +24 -20
  238. package/lib/DateTime/props/propTypes.js +11 -1
  239. package/lib/DateTime/typeChecker.js +4 -0
  240. package/lib/DateTime/validator.js +73 -10
  241. package/lib/DropBox/DropBox.js +34 -10
  242. package/lib/DropBox/DropBoxElement/DropBoxElement.js +58 -37
  243. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +74 -73
  244. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +41 -33
  245. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  246. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  247. package/lib/DropBox/__tests__/DropBox.spec.js +6 -2
  248. package/lib/DropBox/css/DropBox.module.css +6 -6
  249. package/lib/DropBox/css/cssJSLogic.js +3 -1
  250. package/lib/DropBox/props/defaultProps.js +8 -4
  251. package/lib/DropBox/props/propTypes.js +10 -4
  252. package/lib/DropDown/DropDown.js +52 -8
  253. package/lib/DropDown/DropDown.module.css +2 -2
  254. package/lib/DropDown/DropDownHeading.js +39 -20
  255. package/lib/DropDown/DropDownHeading.module.css +3 -3
  256. package/lib/DropDown/DropDownItem.js +42 -20
  257. package/lib/DropDown/DropDownItem.module.css +9 -9
  258. package/lib/DropDown/DropDownSearch.js +40 -17
  259. package/lib/DropDown/DropDownSeparator.js +24 -4
  260. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  261. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  262. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  263. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  264. package/lib/DropDown/index.js +9 -0
  265. package/lib/DropDown/props/propTypes.js +6 -4
  266. package/lib/Heading/Heading.js +37 -15
  267. package/lib/Heading/Heading.module.css +2 -2
  268. package/lib/Heading/props/propTypes.js +3 -0
  269. package/lib/Label/Label.js +39 -19
  270. package/lib/Label/Label.module.css +1 -1
  271. package/lib/Label/__tests__/Label.spec.js +14 -1
  272. package/lib/Label/props/propTypes.js +3 -0
  273. package/lib/Layout/Box.js +31 -11
  274. package/lib/Layout/Container.js +29 -10
  275. package/lib/Layout/Layout.module.css +15 -15
  276. package/lib/Layout/__tests__/Box.spec.js +65 -49
  277. package/lib/Layout/__tests__/Container.spec.js +67 -50
  278. package/lib/Layout/index.js +3 -0
  279. package/lib/Layout/props/propTypes.js +3 -0
  280. package/lib/Layout/utils.js +10 -0
  281. package/lib/ListItem/ListContainer.js +48 -27
  282. package/lib/ListItem/ListItem.js +69 -45
  283. package/lib/ListItem/ListItem.module.css +26 -26
  284. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  285. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  286. package/lib/ListItem/ListItemWithIcon.js +68 -44
  287. package/lib/ListItem/ListItemWithRadio.js +65 -41
  288. package/lib/ListItem/index.js +7 -0
  289. package/lib/ListItem/props/propTypes.js +6 -4
  290. package/lib/Modal/Modal.js +45 -10
  291. package/lib/Modal/props/propTypes.js +3 -0
  292. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +294 -166
  293. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  294. package/lib/MultiSelect/EmptyState.js +45 -24
  295. package/lib/MultiSelect/MultiSelect.js +323 -206
  296. package/lib/MultiSelect/MultiSelect.module.css +32 -31
  297. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  298. package/lib/MultiSelect/MultiSelectWithAvatar.js +105 -63
  299. package/lib/MultiSelect/SelectedOptions.js +43 -17
  300. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  301. package/lib/MultiSelect/Suggestions.js +64 -32
  302. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  303. package/lib/MultiSelect/index.js +5 -0
  304. package/lib/MultiSelect/props/defaultProps.js +2 -0
  305. package/lib/MultiSelect/props/propTypes.js +5 -0
  306. package/lib/PopOver/PopOver.js +95 -49
  307. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  308. package/lib/PopOver/index.js +4 -0
  309. package/lib/PopOver/props/propTypes.js +3 -0
  310. package/lib/Popup/Popup.js +158 -81
  311. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  312. package/lib/Popup/viewPort.js +28 -14
  313. package/lib/Provider/AvatarSize.js +4 -0
  314. package/lib/Provider/Config.js +2 -0
  315. package/lib/Provider/CssProvider.js +4 -0
  316. package/lib/Provider/IdProvider.js +17 -6
  317. package/lib/Provider/LibraryContext.js +35 -15
  318. package/lib/Provider/LibraryContextInit.js +4 -0
  319. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  320. package/lib/Provider/ZindexProvider.js +15 -3
  321. package/lib/Provider/index.js +5 -0
  322. package/lib/Radio/Radio.js +61 -38
  323. package/lib/Radio/Radio.module.css +3 -3
  324. package/lib/Radio/__tests__/Radiospec.js +9 -5
  325. package/lib/Radio/props/propTypes.js +3 -0
  326. package/lib/Responsive/CustomResponsive.js +73 -29
  327. package/lib/Responsive/RefWrapper.js +17 -11
  328. package/lib/Responsive/ResizeComponent.js +62 -36
  329. package/lib/Responsive/ResizeObserver.js +24 -10
  330. package/lib/Responsive/Responsive.js +80 -30
  331. package/lib/Responsive/index.js +4 -0
  332. package/lib/Responsive/props/propTypes.js +3 -0
  333. package/lib/Responsive/sizeObservers.js +53 -17
  334. package/lib/Responsive/utils/index.js +11 -3
  335. package/lib/Responsive/utils/shallowCompare.js +11 -2
  336. package/lib/Responsive/windowResizeObserver.js +8 -0
  337. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  338. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  339. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  340. package/lib/Ribbon/Ribbon.js +33 -13
  341. package/lib/Ribbon/Ribbon.module.css +42 -42
  342. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  343. package/lib/Ribbon/props/propTypes.js +3 -0
  344. package/lib/RippleEffect/RippleEffect.js +18 -10
  345. package/lib/RippleEffect/props/propTypes.js +3 -0
  346. package/lib/Select/GroupSelect.js +229 -130
  347. package/lib/Select/Select.js +290 -209
  348. package/lib/Select/Select.module.css +23 -23
  349. package/lib/Select/SelectWithAvatar.js +102 -56
  350. package/lib/Select/SelectWithIcon.js +132 -76
  351. package/lib/Select/__tests__/Select.spec.js +133 -91
  352. package/lib/Select/index.js +5 -0
  353. package/lib/Select/props/defaultProps.js +5 -4
  354. package/lib/Select/props/propTypes.js +4 -0
  355. package/lib/Stencils/Stencils.js +29 -10
  356. package/lib/Stencils/Stencils.module.css +2 -2
  357. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  358. package/lib/Stencils/props/propTypes.js +3 -0
  359. package/lib/Switch/Switch.js +57 -34
  360. package/lib/Switch/Switch.module.css +23 -23
  361. package/lib/Switch/props/propTypes.js +3 -0
  362. package/lib/Tab/Tab.js +40 -27
  363. package/lib/Tab/Tab.module.css +14 -14
  364. package/lib/Tab/TabContent.js +12 -5
  365. package/lib/Tab/TabContentWrapper.js +13 -6
  366. package/lib/Tab/TabWrapper.js +37 -19
  367. package/lib/Tab/Tabs.js +171 -91
  368. package/lib/Tab/Tabs.module.css +23 -23
  369. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  370. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  371. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  372. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  373. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  374. package/lib/Tab/index.js +6 -0
  375. package/lib/Tab/props/propTypes.js +3 -0
  376. package/lib/Tag/Tag.js +72 -43
  377. package/lib/Tag/Tag.module.css +10 -10
  378. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  379. package/lib/Tag/props/propTypes.js +3 -0
  380. package/lib/TextBox/TextBox.js +85 -59
  381. package/lib/TextBox/TextBox.module.css +6 -5
  382. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  383. package/lib/TextBox/props/propTypes.js +6 -4
  384. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  385. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
  386. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  387. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  388. package/lib/Textarea/Textarea.js +54 -29
  389. package/lib/Textarea/Textarea.module.css +6 -6
  390. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  391. package/lib/Textarea/props/propTypes.js +3 -0
  392. package/lib/Tooltip/Tooltip.js +94 -31
  393. package/lib/Tooltip/Tooltip.module.css +12 -5
  394. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  395. package/lib/Tooltip/props/propTypes.js +3 -0
  396. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  397. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  398. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  399. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  400. package/lib/VelocityAnimation/index.js +3 -0
  401. package/lib/common/animation.module.css +8 -8
  402. package/lib/common/basicReset.module.css +3 -3
  403. package/lib/common/common.module.css +24 -24
  404. package/lib/common/customscroll.module.css +4 -2
  405. package/lib/common/reset.module.css +1 -0
  406. package/lib/css.js +40 -0
  407. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  408. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  409. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  410. package/lib/index.js +57 -0
  411. package/lib/semantic/Button/Button.js +42 -22
  412. package/lib/semantic/Button/props/propTypes.js +3 -0
  413. package/lib/semantic/Button/semanticButton.module.css +1 -1
  414. package/lib/semantic/index.js +2 -0
  415. package/lib/utils/Common.js +108 -18
  416. package/lib/utils/ContextOptimizer.js +16 -10
  417. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  418. package/lib/utils/__tests__/debounce.spec.js +3 -2
  419. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  420. package/lib/utils/constructFullName.js +13 -4
  421. package/lib/utils/css/compileClassNames.js +6 -0
  422. package/lib/utils/css/mergeStyle.js +10 -7
  423. package/lib/utils/css/utils.js +8 -0
  424. package/lib/utils/datetime/common.js +32 -5
  425. package/lib/utils/debounce.js +6 -1
  426. package/lib/utils/dropDownUtils.js +175 -59
  427. package/lib/utils/dummyFunction.js +2 -0
  428. package/lib/utils/getHTMLFontSize.js +1 -0
  429. package/lib/utils/getInitial.js +6 -0
  430. package/lib/utils/index.js +4 -0
  431. package/lib/utils/scrollTo.js +2 -0
  432. package/lib/utils/shallowEqual.js +8 -0
  433. package/package.json +19 -12
@@ -5,19 +5,21 @@ import { Container, Box } from '../Layout';
5
5
  import style from './DateTime.module.css';
6
6
  import { getMonthEnd } from '../utils/datetime/common';
7
7
  import DaysRow from './DaysRow';
8
-
9
8
  /* eslint css-modules/no-unused-class: [0, { markAsUsed: ['container', 'header', 'thArrowConatainer', 'thArrow', 'thMonYear', 'days', 'daysStr', 'timesection', 'timeStr', 'dropDownContainer', 'dropDown', 'footer', 'space'] }] */
9
+
10
10
  export default class CalendarView extends React.PureComponent {
11
11
  constructor(props) {
12
12
  super(props);
13
13
  this.handleSelect = this.handleSelect.bind(this);
14
14
  }
15
+
15
16
  handleSelect(day, month, year, e) {
16
17
  const {
17
18
  onSelect
18
19
  } = this.props;
19
20
  onSelect(day, month, year, e);
20
21
  }
22
+
21
23
  render() {
22
24
  const {
23
25
  date,
@@ -37,9 +39,7 @@ export default class CalendarView extends React.PureComponent {
37
39
  const userSeeMonth = userSeeDate.getMonth();
38
40
  const monthEnd = getMonthEnd(month, year);
39
41
  const lastMonth = 11;
40
- const firstMonth = 0;
41
-
42
- // let noOfRow = 5;
42
+ const firstMonth = 0; // let noOfRow = 5;
43
43
  // if (
44
44
  // (monthEnd === 31 && userSeeDay >= 6) ||
45
45
  // (monthEnd === 30 && userSeeDay === 7)
@@ -53,16 +53,21 @@ export default class CalendarView extends React.PureComponent {
53
53
  let incremleti = 1;
54
54
  let isSelectedDay = false;
55
55
  let isToday = false;
56
+
56
57
  const rows = (() => {
57
58
  const rowArr = [];
59
+
58
60
  for (let j = 1; j <= 6; j++) {
59
61
  const dayArr = [];
60
62
  let output = null;
63
+
61
64
  for (let i = 1; i < 8; i++) {
62
65
  let tdclass = `${style.datesStr} ${style.grid}`;
66
+
63
67
  if (i === 1) {
64
68
  tdclass += ` ${style.sunday}`;
65
69
  }
70
+
66
71
  if (incremleti >= userSeeDay && incremday <= monthEnd) {
67
72
  if (parseInt(date) === incremday && parseInt(month) === userSeeMonth && parseInt(year) === userSeeYear) {
68
73
  isSelectedDay = true;
@@ -73,6 +78,7 @@ export default class CalendarView extends React.PureComponent {
73
78
  isSelectedDay = false;
74
79
  isToday = false;
75
80
  }
81
+
76
82
  output = /*#__PURE__*/React.createElement(Span, {
77
83
  i: i,
78
84
  isActive: isSelectedDay,
@@ -88,54 +94,51 @@ export default class CalendarView extends React.PureComponent {
88
94
  } else if (incremleti < userSeeDay) {
89
95
  let prevMonth = userSeeMonth - 1;
90
96
  let prevYear = userSeeYear;
97
+
91
98
  if (userSeeMonth === firstMonth) {
92
99
  prevMonth = lastMonth;
93
100
  prevYear = userSeeYear - 1;
94
101
  }
102
+
95
103
  const prevMonthEnd = getMonthEnd(prevMonth, prevYear);
96
- const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti;
104
+ const prevDate = prevMonthEnd - (userSeeDay - 1) + incremleti; // isSelectedDay =
97
105
 
98
- // isSelectedDay =
99
- prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false;
100
- // isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
106
+ prevDate === parseInt(date) && parseInt(month) === prevMonth && parseInt(year) === prevYear ? true : false; // isToday = prevDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
101
107
 
102
108
  output = /*#__PURE__*/React.createElement(Span, {
103
- i: i
104
- //isActive={isSelectedDay}
109
+ i: i //isActive={isSelectedDay}
105
110
  ,
106
111
  tdclass: `${tdclass} ${style.invalidDate}`,
107
112
  handleSelect: this.handleSelect,
108
113
  incremday: prevDate,
109
114
  userSeeMonth: prevMonth,
110
115
  userSeeYear: prevYear,
111
- dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
112
- // isToday={isToday}
116
+ dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` // isToday={isToday}
117
+
113
118
  });
114
119
  } else if (incremleti > monthEnd) {
115
120
  let nextMonth = userSeeMonth + 1;
116
121
  let nextYear = userSeeYear;
122
+
117
123
  if (userSeeMonth === lastMonth) {
118
124
  nextMonth = firstMonth;
119
125
  nextYear = userSeeYear + 1;
120
126
  }
121
- const nextDate = incremleti - (userSeeDay - 1) - monthEnd;
122
127
 
123
- // isSelectedDay =
124
- nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false;
128
+ const nextDate = incremleti - (userSeeDay - 1) - monthEnd; // isSelectedDay =
125
129
 
126
- // isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
130
+ nextDate === parseInt(date) && parseInt(month) === nextMonth && parseInt(year) === nextYear ? true : false; // isToday = nextDate === incremday && todayMonth === userSeeMonth && todayYear === userSeeYear ? true : false;
127
131
 
128
132
  output = /*#__PURE__*/React.createElement(Span, {
129
- i: i
130
- // isActive={isSelectedDay}
133
+ i: i // isActive={isSelectedDay}
131
134
  ,
132
135
  tdclass: `${tdclass} ${style.invalidDate}`,
133
136
  handleSelect: this.handleSelect,
134
137
  incremday: nextDate,
135
138
  userSeeMonth: nextMonth,
136
139
  userSeeYear: nextYear,
137
- dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate`
138
- //isToday={isToday}
140
+ dataId: isSelectedDay ? `${dataId}_dateSelected` : `${dataId}_invalidDate` //isToday={isToday}
141
+
139
142
  });
140
143
  } else {
141
144
  output = /*#__PURE__*/React.createElement(Box, {
@@ -143,10 +146,13 @@ export default class CalendarView extends React.PureComponent {
143
146
  className: `${style.grid}`
144
147
  });
145
148
  }
149
+
146
150
  incremleti++;
147
151
  dayArr.push(output);
148
152
  }
149
153
  /* eslint-disable react/forbid-component-props */
154
+
155
+
150
156
  rowArr.push( /*#__PURE__*/React.createElement(Container, {
151
157
  key: j,
152
158
  alignBox: "row",
@@ -155,8 +161,10 @@ export default class CalendarView extends React.PureComponent {
155
161
  className: style.dateRow
156
162
  }, dayArr));
157
163
  }
164
+
158
165
  return rowArr;
159
166
  })();
167
+
160
168
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DaysRow, {
161
169
  dayNames: dayNames,
162
170
  dayNamesShort: dayNamesShort,
@@ -166,6 +174,7 @@ export default class CalendarView extends React.PureComponent {
166
174
  className: `${style.dateContainer} ${needBorder ? style.separator : ''}`
167
175
  }, rows));
168
176
  }
177
+
169
178
  }
170
179
  CalendarView.propTypes = CalendarView_propTypes;
171
180
  CalendarView.defaultProps = CalendarView_defaultProps;
@@ -174,6 +183,7 @@ export class Span extends React.PureComponent {
174
183
  super(props);
175
184
  this.handleSelectChild = this.handleSelectChild.bind(this);
176
185
  }
186
+
177
187
  handleSelectChild(e) {
178
188
  const {
179
189
  handleSelect,
@@ -183,6 +193,7 @@ export class Span extends React.PureComponent {
183
193
  } = this.props;
184
194
  handleSelect(incremday, userSeeMonth, userSeeYear, e);
185
195
  }
196
+
186
197
  render() {
187
198
  const {
188
199
  tdclass,
@@ -200,6 +211,7 @@ export class Span extends React.PureComponent {
200
211
  "aria-label": incremday
201
212
  }, incremday);
202
213
  }
214
+
203
215
  }
204
216
  Span.propTypes = Span_propTypes;
205
217
  Span.defaultProps = Span_defaultProps;
@@ -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';
@@ -17,11 +17,13 @@ import { monthNamesDefault, monthNamesShortDefault, dayNamesDefault, dayNamesSho
17
17
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
18
18
  import { Box } from '../Layout';
19
19
  import { getHourSuggestions, getMinuteSuggestions, addZeroIfNeeded } from './dateFormatUtils';
20
+
20
21
  function title(date, year, month) {
21
22
  let monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
22
23
  const HeadingText = `${monthNames[month] || ''} ${year}`;
23
24
  return HeadingText;
24
25
  }
26
+
25
27
  export default class DateTime extends React.PureComponent {
26
28
  constructor(props) {
27
29
  super(props);
@@ -47,6 +49,7 @@ export default class DateTime extends React.PureComponent {
47
49
  const {
48
50
  ampmText = ampmTextDefault
49
51
  } = props.i18nKeys;
52
+
50
53
  this.ampmSuggestions = (() => {
51
54
  const ampmSuggestions = [];
52
55
  ampmText.forEach((text, index) => {
@@ -64,24 +67,29 @@ export default class DateTime extends React.PureComponent {
64
67
  });
65
68
  return ampmSuggestions;
66
69
  })();
70
+
67
71
  const initalStateObj = this.getStateFromProps(props);
68
72
  this.state = Object.assign({}, initalStateObj, {
69
73
  isYearView: false,
70
74
  isMonthOpen: false
71
75
  });
72
76
  }
77
+
73
78
  componentDidMount() {
74
79
  this.handleExposeMethods(true);
75
80
  }
81
+
76
82
  componentDidUpdate(prevProps) {
77
83
  const {
78
84
  value,
79
85
  isActive,
80
86
  is24Hour
81
87
  } = this.props;
88
+
82
89
  if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
83
90
  this.setState(this.getStateFromProps(this.props));
84
91
  }
92
+
85
93
  if (prevProps.isActive !== isActive && !isActive) {
86
94
  this.setState({
87
95
  isYearView: false,
@@ -89,9 +97,11 @@ export default class DateTime extends React.PureComponent {
89
97
  });
90
98
  }
91
99
  }
100
+
92
101
  componentWillUnmount() {
93
102
  this.handleExposeMethods(false);
94
103
  }
104
+
95
105
  getStateFromProps(props) {
96
106
  let date, month, year, hours, mins, amPm;
97
107
  let {
@@ -102,17 +112,20 @@ export default class DateTime extends React.PureComponent {
102
112
  isDateTimeField,
103
113
  is24Hour
104
114
  } = props; //defaultTime --> 12:00:PM
115
+
105
116
  defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
106
117
  let defaultHour, defaultMin, defaultAmPm;
107
118
  let todayObj = new Date();
108
119
  let todayDate = todayObj.getDate();
109
120
  let todayMonth = todayObj.getMonth();
110
121
  let todayYear = todayObj.getFullYear();
122
+
111
123
  if (!value) {
112
124
  [defaultHour, defaultMin, defaultAmPm] = defaultTime ? defaultTime.split(':') : [];
113
125
  defaultHour = parseInt(defaultHour);
114
126
  defaultMin = parseInt(defaultMin);
115
127
  }
128
+
116
129
  const dateObj = isDateTimeField ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : value ? datetime.toDate(value) : todayObj;
117
130
  date = dateObj.getDate();
118
131
  month = dateObj.getMonth();
@@ -134,8 +147,10 @@ export default class DateTime extends React.PureComponent {
134
147
  todayYear
135
148
  };
136
149
  }
150
+
137
151
  getHours(hoursParam, is24Hour) {
138
152
  let hours = hoursParam;
153
+
139
154
  if (!is24Hour) {
140
155
  if (hours === 0) {
141
156
  hours = 12;
@@ -143,9 +158,11 @@ export default class DateTime extends React.PureComponent {
143
158
  hours -= 12;
144
159
  }
145
160
  }
161
+
146
162
  hours = addZeroIfNeeded(hours);
147
163
  return hours;
148
164
  }
165
+
149
166
  handleGetSelectedDate() {
150
167
  let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
151
168
  const {
@@ -164,21 +181,25 @@ export default class DateTime extends React.PureComponent {
164
181
  mins,
165
182
  amPm
166
183
  } = selectedInfo;
184
+
167
185
  if (!is24Hour) {
168
186
  if (parseInt(hours) === 12) {
169
187
  hours = amPm === 'AM' ? 0 : 12;
170
188
  }
189
+
171
190
  if (amPm === 'PM') {
172
191
  if (hours < 12) {
173
192
  hours = parseInt(hours) + 12;
174
193
  }
175
194
  }
176
195
  }
196
+
177
197
  let minInMillis = min ? datetime.millis(min) : null,
178
- maxInMillis = max ? datetime.millis(max) : null,
179
- selectedInMillis,
180
- selectedValue = '',
181
- formattedValue;
198
+ maxInMillis = max ? datetime.millis(max) : null,
199
+ selectedInMillis,
200
+ selectedValue = '',
201
+ formattedValue;
202
+
182
203
  if (isDateTimeField) {
183
204
  selectedInMillis = datetime.tz.tzToUtc(Date.UTC(year, month, date, hours, mins), timeZone);
184
205
  selectedValue = datetime.ISO(selectedInMillis);
@@ -188,8 +209,10 @@ export default class DateTime extends React.PureComponent {
188
209
  selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
189
210
  formattedValue = formatDate(new Date(year, month, date), dateFormat);
190
211
  }
212
+
191
213
  let isError = false;
192
214
  let errorType = '';
215
+
193
216
  if (minInMillis && minInMillis > selectedInMillis) {
194
217
  isError = true;
195
218
  errorType = 'MIN';
@@ -197,6 +220,7 @@ export default class DateTime extends React.PureComponent {
197
220
  isError = true;
198
221
  errorType = 'MAX';
199
222
  }
223
+
200
224
  return {
201
225
  isError,
202
226
  errorType,
@@ -204,6 +228,7 @@ export default class DateTime extends React.PureComponent {
204
228
  formattedValue
205
229
  };
206
230
  }
231
+
207
232
  handleSelect(e) {
208
233
  e && e.preventDefault();
209
234
  const {
@@ -233,6 +258,7 @@ export default class DateTime extends React.PureComponent {
233
258
  mins,
234
259
  amPm
235
260
  });
261
+
236
262
  if (isError) {
237
263
  if (errorType === 'MIN') {
238
264
  onError && onError(minErrorText, true);
@@ -243,6 +269,7 @@ export default class DateTime extends React.PureComponent {
243
269
  onSelect(selectedValue, formattedValue, e);
244
270
  }
245
271
  }
272
+
246
273
  handleChange() {
247
274
  let selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
248
275
  const {
@@ -275,6 +302,7 @@ export default class DateTime extends React.PureComponent {
275
302
  mins: getIsEmptyValue(mins) ? oldMins : mins,
276
303
  amPm: getIsEmptyValue(amPm) ? oldAMPM : amPm
277
304
  };
305
+
278
306
  if (onChange) {
279
307
  const {
280
308
  isError,
@@ -282,6 +310,7 @@ export default class DateTime extends React.PureComponent {
282
310
  selectedValue,
283
311
  formattedValue
284
312
  } = this.handleGetSelectedDate(newSelectedInfo);
313
+
285
314
  if (isError) {
286
315
  if (errorType === 'MIN') {
287
316
  onError && onError(minErrorText, true);
@@ -296,17 +325,20 @@ export default class DateTime extends React.PureComponent {
296
325
  this.setState(newSelectedInfo);
297
326
  }
298
327
  }
328
+
299
329
  handleClear(e) {
300
330
  const {
301
331
  onSelect,
302
332
  onClear
303
333
  } = this.props;
334
+
304
335
  if (onClear) {
305
336
  onClear(e);
306
337
  } else {
307
338
  onSelect('', '', e);
308
339
  }
309
340
  }
341
+
310
342
  dateSelect(date, month, year, e) {
311
343
  this.handleChange({
312
344
  date,
@@ -338,6 +370,7 @@ export default class DateTime extends React.PureComponent {
338
370
  mins,
339
371
  amPm
340
372
  });
373
+
341
374
  if (isError) {
342
375
  if (errorType === 'MIN') {
343
376
  onError && onError(minErrorText, true);
@@ -348,26 +381,31 @@ export default class DateTime extends React.PureComponent {
348
381
  onDateSelect && onDateSelect(selectedValue, formattedValue, e);
349
382
  }
350
383
  }
384
+
351
385
  hoursSelect(hours) {
352
386
  this.handleChange({
353
387
  hours
354
388
  });
355
389
  }
390
+
356
391
  minutesSelect(mins) {
357
392
  this.handleChange({
358
393
  mins
359
394
  });
360
395
  }
396
+
361
397
  amPmSelect(amPm) {
362
398
  this.handleChange({
363
399
  amPm
364
400
  });
365
401
  }
366
-
367
402
  /*global closeGroupPopups*/
403
+
404
+
368
405
  closePopup() {
369
406
  closeGroupPopups('calender');
370
407
  }
408
+
371
409
  handleCalendarNavigation(type, selectedInfo) {
372
410
  const {
373
411
  year: stateYear,
@@ -377,10 +415,12 @@ export default class DateTime extends React.PureComponent {
377
415
  let date = stateDate;
378
416
  let month = stateMonth;
379
417
  const year = stateYear;
418
+
380
419
  const getDate = (month, year) => {
381
420
  const monthEnd = getMonthEnd(month, year);
382
421
  return monthEnd >= parseInt(date) ? date : monthEnd;
383
422
  };
423
+
384
424
  const modifyCalendarRecursion = recursionType => {
385
425
  if (recursionType === 'nextYear') {
386
426
  //Click next year icon
@@ -404,6 +444,7 @@ export default class DateTime extends React.PureComponent {
404
444
  month = 0;
405
445
  return modifyCalendarRecursion('nextYear');
406
446
  }
447
+
407
448
  const newMonth = month + 1;
408
449
  return {
409
450
  date: getDate(newMonth, year),
@@ -416,6 +457,7 @@ export default class DateTime extends React.PureComponent {
416
457
  month = 11;
417
458
  return modifyCalendarRecursion('previousYear');
418
459
  }
460
+
419
461
  const newMonth = month - 1;
420
462
  return {
421
463
  date: getDate(newMonth, year),
@@ -424,10 +466,12 @@ export default class DateTime extends React.PureComponent {
424
466
  };
425
467
  } else if (recursionType === 'nextDate') {
426
468
  const monthEnd = getMonthEnd(month, year);
469
+
427
470
  if (date === monthEnd) {
428
471
  date = 1;
429
472
  return modifyCalendarRecursion('nextMonth');
430
473
  }
474
+
431
475
  const newDate = parseInt(date) + 1;
432
476
  return {
433
477
  date: newDate,
@@ -439,6 +483,7 @@ export default class DateTime extends React.PureComponent {
439
483
  date = month === 0 ? getMonthEnd(11, year - 1) : getMonthEnd(month - 1, year);
440
484
  return modifyCalendarRecursion('previousMonth');
441
485
  }
486
+
442
487
  const newDate = parseInt(date) - 1;
443
488
  return {
444
489
  date: newDate,
@@ -447,8 +492,10 @@ export default class DateTime extends React.PureComponent {
447
492
  };
448
493
  }
449
494
  };
495
+
450
496
  return modifyCalendarRecursion(type);
451
497
  }
498
+
452
499
  modifyCalendar(type) {
453
500
  const {
454
501
  year,
@@ -461,9 +508,11 @@ export default class DateTime extends React.PureComponent {
461
508
  date
462
509
  }));
463
510
  }
511
+
464
512
  handleDateReset() {
465
513
  this.setState(this.getStateFromProps(this.props));
466
514
  }
515
+
467
516
  handleGetStateValues() {
468
517
  const {
469
518
  isActive
@@ -478,17 +527,20 @@ export default class DateTime extends React.PureComponent {
478
527
  isMonthOpen
479
528
  };
480
529
  }
530
+
481
531
  handleYearViewToggle(isYearOpen, isMonthOpen) {
482
532
  this.setState({
483
533
  isYearView: isYearOpen,
484
534
  isMonthOpen
485
535
  });
486
536
  }
537
+
487
538
  handleExposeMethods(isMount) {
488
539
  const {
489
540
  getMethods
490
541
  } = this.props;
491
542
  let methods = {};
543
+
492
544
  if (isMount) {
493
545
  methods = {
494
546
  resetLocalDate: this.handleDateReset,
@@ -502,8 +554,10 @@ export default class DateTime extends React.PureComponent {
502
554
  toggleYearView: null
503
555
  };
504
556
  }
557
+
505
558
  getMethods && getMethods(methods);
506
559
  }
560
+
507
561
  handleOpenYearView() {
508
562
  const {
509
563
  isYearView,
@@ -514,12 +568,14 @@ export default class DateTime extends React.PureComponent {
514
568
  isMonthOpen: !isMonthOpen
515
569
  });
516
570
  }
571
+
517
572
  handleSelectYear(year) {
518
573
  this.setState({
519
574
  year,
520
575
  isMonthOpen: true
521
576
  });
522
577
  }
578
+
523
579
  handleSelectMonth(month) {
524
580
  const {
525
581
  date,
@@ -527,14 +583,17 @@ export default class DateTime extends React.PureComponent {
527
583
  } = this.state;
528
584
  const monthEnd = getMonthEnd(month, year);
529
585
  let newDate = date;
586
+
530
587
  if (date > monthEnd) {
531
588
  newDate = monthEnd;
532
589
  }
590
+
533
591
  this.setState({
534
592
  month,
535
593
  date: newDate
536
594
  });
537
595
  }
596
+
538
597
  handleSelectMonthViaYearView(month) {
539
598
  this.handleSelectMonth(month);
540
599
  this.setState({
@@ -542,6 +601,7 @@ export default class DateTime extends React.PureComponent {
542
601
  isMonthOpen: false
543
602
  });
544
603
  }
604
+
545
605
  render() {
546
606
  const {
547
607
  date,
@@ -622,7 +682,7 @@ export default class DateTime extends React.PureComponent {
622
682
  }), isDateTimeField ? /*#__PURE__*/React.createElement(Time, {
623
683
  timeText: timeText,
624
684
  dataId: dataId,
625
- hourSuggestions: getHourSuggestions(),
685
+ hourSuggestions: getHourSuggestions(is24Hour),
626
686
  onHourSelect: this.hoursSelect,
627
687
  hours: hours,
628
688
  hourEmptyText: hourEmptyText,
@@ -677,6 +737,7 @@ export default class DateTime extends React.PureComponent {
677
737
  portalId: dropBoxPortalId
678
738
  }, /*#__PURE__*/React.createElement(Box, null, childEle)) : null;
679
739
  }
740
+
680
741
  }
681
742
  DateTime.propTypes = DateTime_propTypes;
682
743
  DateTime.defaultProps = DateTime_defaultProps;