@zohodesk/components 1.0.0-test-252 → 1.0.0

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 (601) hide show
  1. package/README.md +161 -1
  2. package/assets/Appearance/dark/mode/darkMode.module.css +181 -179
  3. package/assets/Appearance/dark/themes/blue/blueDarkCTAModifyCategory.module.css +452 -0
  4. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +31 -31
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +3 -0
  6. package/assets/Appearance/dark/themes/green/greenDarkCTAModifyCategory.module.css +452 -0
  7. package/assets/Appearance/dark/themes/green/greenDarkCTATheme.module.css +30 -30
  8. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +3 -0
  9. package/assets/Appearance/dark/themes/orange/orangeDarkCTAModifyCategory.module.css +452 -0
  10. package/assets/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +3 -0
  12. package/assets/Appearance/dark/themes/red/redDarkCTAModifyCategory.module.css +452 -0
  13. package/assets/Appearance/dark/themes/red/redDarkCTATheme.module.css +30 -30
  14. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +3 -0
  15. package/assets/Appearance/dark/themes/yellow/yellowDarkCTAModifyCategory.module.css +452 -0
  16. package/assets/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +30 -30
  17. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +3 -0
  18. package/assets/Appearance/default/mode/defaultMode.module.css +177 -175
  19. package/assets/Appearance/default/themes/blue/blueDefaultCTAModifyCategory.module.css +452 -0
  20. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +31 -31
  21. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +3 -0
  22. package/assets/Appearance/default/themes/green/greenDefaultCTAModifyCategory.module.css +452 -0
  23. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +30 -30
  24. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +3 -0
  25. package/assets/Appearance/default/themes/orange/orangeDefaultCTAModifyCategory.module.css +452 -0
  26. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +30 -30
  27. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -0
  28. package/assets/Appearance/default/themes/red/redDefaultCTAModifyCategory.module.css +452 -0
  29. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +30 -30
  30. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -0
  31. package/assets/Appearance/default/themes/yellow/yellowDefaultCTAModifyCategory.module.css +452 -0
  32. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +30 -30
  33. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -0
  34. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +182 -180
  35. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTAModifyCategory.module.css +452 -0
  36. package/assets/Appearance/pureDark/themes/blue/bluePureDarkCTATheme.module.css +31 -31
  37. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +3 -0
  38. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTAModifyCategory.module.css +452 -0
  39. package/assets/Appearance/pureDark/themes/green/greenPureDarkCTATheme.module.css +30 -30
  40. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +3 -0
  41. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTAModifyCategory.module.css +452 -0
  42. package/assets/Appearance/pureDark/themes/orange/orangePureDarkCTATheme.module.css +30 -30
  43. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +3 -0
  44. package/assets/Appearance/pureDark/themes/red/redPureDarkCTAModifyCategory.module.css +452 -0
  45. package/assets/Appearance/pureDark/themes/red/redPureDarkCTATheme.module.css +30 -30
  46. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +3 -0
  47. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTAModifyCategory.module.css +452 -0
  48. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkCTATheme.module.css +30 -30
  49. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +3 -0
  50. package/assets/Contrast/darkContrastLightness.module.css +39 -0
  51. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  52. package/assets/Contrast/pureDarkContrastLightness.module.css +39 -0
  53. package/css_error.log +1 -0
  54. package/es/Accordion/Accordion.js +19 -9
  55. package/es/Accordion/AccordionItem.js +13 -8
  56. package/es/Accordion/props/defaultProps.js +6 -2
  57. package/es/Accordion/props/propTypes.js +3 -0
  58. package/es/Animation/Animation.js +10 -9
  59. package/es/AppContainer/AppContainer.js +38 -15
  60. package/es/AppContainer/AppContainer.module.css +2 -2
  61. package/es/AppContainer/props/defaultProps.js +3 -1
  62. package/es/AppContainer/props/propTypes.js +2 -0
  63. package/es/Avatar/Avatar.js +48 -25
  64. package/es/Avatar/Avatar.module.css +59 -18
  65. package/es/Avatar/props/defaultProps.js +4 -1
  66. package/es/Avatar/props/propTypes.js +5 -2
  67. package/es/AvatarTeam/AvatarTeam.js +21 -11
  68. package/es/AvatarTeam/AvatarTeam.module.css +49 -21
  69. package/es/AvatarTeam/props/defaultProps.js +5 -1
  70. package/es/AvatarTeam/props/propTypes.js +5 -1
  71. package/es/Button/Button.js +55 -51
  72. package/{lib/Button → es/Button/css}/Button.module.css +62 -58
  73. package/es/Button/css/cssJSLogic.js +53 -0
  74. package/es/Button/index.js +2 -0
  75. package/es/Button/props/defaultProps.js +3 -1
  76. package/es/Button/props/propTypes.js +6 -2
  77. package/es/Buttongroup/Buttongroup.js +24 -16
  78. package/es/Buttongroup/Buttongroup.module.css +45 -28
  79. package/es/Buttongroup/props/defaultProps.js +3 -1
  80. package/es/Buttongroup/props/propTypes.js +3 -1
  81. package/es/Card/Card.js +48 -26
  82. package/es/Card/props/defaultProps.js +12 -2
  83. package/es/Card/props/propTypes.js +2 -2
  84. package/es/CheckBox/CheckBox.js +13 -9
  85. package/es/CheckBox/CheckBox.module.css +16 -16
  86. package/es/CheckBox/props/propTypes.js +1 -0
  87. package/es/DateTime/CalendarView.js +46 -19
  88. package/es/DateTime/DateTime.js +139 -77
  89. package/es/DateTime/DateTime.module.css +51 -48
  90. package/es/DateTime/DateTimePopupFooter.js +4 -2
  91. package/es/DateTime/DateTimePopupHeader.js +30 -11
  92. package/es/DateTime/DateWidget.js +122 -51
  93. package/es/DateTime/DateWidget.module.css +5 -5
  94. package/es/DateTime/DaysRow.js +6 -3
  95. package/es/DateTime/Time.js +10 -2
  96. package/es/DateTime/YearView.js +41 -9
  97. package/es/DateTime/YearView.module.css +33 -15
  98. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  99. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  100. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  101. package/es/DateTime/common.js +3 -0
  102. package/es/DateTime/constants.js +1 -0
  103. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  104. package/es/DateTime/dateFormatUtils/dateFormats.js +42 -0
  105. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  106. package/es/DateTime/dateFormatUtils/index.js +59 -2
  107. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  108. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  109. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  110. package/es/DateTime/index.js +1 -1
  111. package/es/DateTime/objectUtils.js +14 -20
  112. package/es/DateTime/props/defaultProps.js +2 -1
  113. package/es/DateTime/props/propTypes.js +5 -2
  114. package/es/DateTime/typeChecker.js +3 -0
  115. package/es/DateTime/validator.js +58 -6
  116. package/es/DropBox/DropBox.js +82 -218
  117. package/es/DropBox/DropBoxElement/DropBoxElement.js +132 -0
  118. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  119. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +91 -0
  120. package/es/DropBox/DropBoxElement/props/defaultProps.js +18 -0
  121. package/es/DropBox/DropBoxElement/props/propTypes.js +45 -0
  122. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +54 -0
  123. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  124. package/es/DropBox/css/DropBox.module.css +59 -0
  125. package/es/DropBox/css/cssJSLogic.js +14 -0
  126. package/es/DropBox/props/defaultProps.js +9 -15
  127. package/es/DropBox/props/propTypes.js +9 -41
  128. package/es/DropDown/DropDown.js +16 -9
  129. package/es/DropDown/DropDown.module.css +2 -2
  130. package/es/DropDown/DropDownHeading.js +18 -11
  131. package/es/DropDown/DropDownHeading.module.css +3 -3
  132. package/es/DropDown/DropDownItem.js +8 -1
  133. package/es/DropDown/DropDownItem.module.css +9 -9
  134. package/es/DropDown/DropDownSearch.js +4 -0
  135. package/es/DropDown/DropDownSeparator.js +1 -0
  136. package/es/DropDown/DropDownSeparator.module.css +2 -2
  137. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  138. package/es/DropDown/index.js +7 -0
  139. package/es/DropDown/props/defaultProps.js +3 -1
  140. package/es/DropDown/props/propTypes.js +2 -1
  141. package/es/Heading/Heading.js +8 -7
  142. package/es/Heading/Heading.module.css +2 -2
  143. package/es/Label/Label.js +14 -9
  144. package/es/Label/Label.module.css +1 -1
  145. package/es/Label/props/defaultProps.js +2 -1
  146. package/es/Label/props/propTypes.js +1 -0
  147. package/es/Layout/Box.js +19 -4
  148. package/es/Layout/Container.js +18 -5
  149. package/es/Layout/Layout.module.css +15 -15
  150. package/es/Layout/index.js +9 -10
  151. package/es/Layout/props/defaultProps.js +6 -2
  152. package/es/Layout/props/propTypes.js +7 -3
  153. package/es/Layout/utils.js +5 -1
  154. package/es/ListItem/ListContainer.js +21 -9
  155. package/es/ListItem/ListItem.js +30 -14
  156. package/es/ListItem/ListItem.module.css +37 -30
  157. package/es/ListItem/ListItemWithAvatar.js +30 -15
  158. package/es/ListItem/ListItemWithCheckBox.js +22 -10
  159. package/es/ListItem/ListItemWithIcon.js +29 -14
  160. package/es/ListItem/ListItemWithRadio.js +22 -10
  161. package/es/ListItem/index.js +6 -0
  162. package/es/ListItem/props/defaultProps.js +18 -6
  163. package/es/ListItem/props/propTypes.js +13 -1
  164. package/es/Modal/Modal.js +35 -17
  165. package/es/MultiSelect/AdvancedGroupMultiSelect.js +100 -20
  166. package/es/MultiSelect/AdvancedMultiSelect.js +45 -19
  167. package/es/MultiSelect/EmptyState.js +6 -0
  168. package/es/MultiSelect/MultiSelect.js +129 -46
  169. package/es/MultiSelect/MultiSelect.module.css +32 -31
  170. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  171. package/es/MultiSelect/MultiSelectWithAvatar.js +43 -19
  172. package/es/MultiSelect/SelectedOptions.js +6 -3
  173. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  174. package/es/MultiSelect/Suggestions.js +13 -6
  175. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  176. package/es/MultiSelect/index.js +4 -0
  177. package/es/MultiSelect/props/defaultProps.js +11 -4
  178. package/es/MultiSelect/props/propTypes.js +17 -5
  179. package/es/PopOver/PopOver.js +25 -9
  180. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  181. package/es/PopOver/index.js +3 -0
  182. package/es/Popup/Popup.js +80 -31
  183. package/es/Popup/__tests__/Popup.spec.js +17 -5
  184. package/es/Popup/viewPort.js +16 -4
  185. package/es/Provider/AvatarSize.js +1 -0
  186. package/es/Provider/IdProvider.js +16 -10
  187. package/es/Provider/LibraryContext.js +6 -4
  188. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  189. package/es/Provider/ZindexProvider.js +9 -2
  190. package/es/Provider/index.js +4 -0
  191. package/es/Radio/Radio.js +9 -7
  192. package/es/Radio/Radio.module.css +3 -3
  193. package/es/Responsive/CustomResponsive.js +37 -21
  194. package/es/Responsive/RefWrapper.js +6 -7
  195. package/es/Responsive/ResizeComponent.js +35 -25
  196. package/es/Responsive/ResizeObserver.js +26 -6
  197. package/es/Responsive/Responsive.js +34 -20
  198. package/es/Responsive/index.js +9 -8
  199. package/es/Responsive/sizeObservers.js +28 -7
  200. package/es/Responsive/utils/index.js +7 -5
  201. package/es/Responsive/utils/shallowCompare.js +7 -2
  202. package/es/Responsive/windowResizeObserver.js +7 -0
  203. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  204. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  205. package/es/Ribbon/Ribbon.js +21 -15
  206. package/es/Ribbon/Ribbon.module.css +133 -55
  207. package/es/Ribbon/props/defaultProps.js +2 -1
  208. package/es/Ribbon/props/propTypes.js +2 -1
  209. package/es/RippleEffect/RippleEffect.js +6 -7
  210. package/es/Select/GroupSelect.js +71 -23
  211. package/es/Select/Select.js +115 -50
  212. package/es/Select/Select.module.css +23 -23
  213. package/es/Select/SelectWithAvatar.js +31 -12
  214. package/es/Select/SelectWithIcon.js +60 -14
  215. package/es/Select/__tests__/Select.spec.js +6 -8
  216. package/es/Select/index.js +4 -0
  217. package/es/Select/props/defaultProps.js +6 -1
  218. package/es/Select/props/propTypes.js +10 -4
  219. package/es/Stencils/Stencils.js +10 -9
  220. package/es/Stencils/Stencils.module.css +2 -2
  221. package/es/Switch/Switch.js +14 -8
  222. package/es/Switch/Switch.module.css +49 -32
  223. package/es/Switch/props/defaultProps.js +2 -1
  224. package/es/Switch/props/propTypes.js +1 -0
  225. package/es/Tab/Tab.js +14 -11
  226. package/es/Tab/Tab.module.css +14 -15
  227. package/es/Tab/TabContent.js +6 -3
  228. package/es/Tab/TabContentWrapper.js +6 -2
  229. package/es/Tab/TabWrapper.js +9 -4
  230. package/es/Tab/Tabs.js +85 -21
  231. package/es/Tab/Tabs.module.css +36 -40
  232. package/es/Tab/__tests__/Tab.spec.js +4 -12
  233. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  234. package/es/Tab/props/defaultProps.js +10 -5
  235. package/es/Tab/props/propTypes.js +10 -5
  236. package/es/Tag/Tag.js +16 -10
  237. package/es/Tag/Tag.module.css +10 -10
  238. package/es/Tag/props/defaultProps.js +2 -1
  239. package/es/Tag/props/propTypes.js +2 -1
  240. package/es/TextBox/TextBox.js +26 -10
  241. package/es/TextBox/TextBox.module.css +6 -5
  242. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  243. package/es/TextBox/props/defaultProps.js +2 -1
  244. package/es/TextBox/props/propTypes.js +2 -1
  245. package/es/TextBoxIcon/TextBoxIcon.js +39 -13
  246. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -6
  247. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  248. package/es/TextBoxIcon/props/defaultProps.js +2 -1
  249. package/es/TextBoxIcon/props/propTypes.js +1 -0
  250. package/es/Textarea/Textarea.js +23 -10
  251. package/es/Textarea/Textarea.module.css +6 -6
  252. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  253. package/es/Textarea/props/defaultProps.js +2 -1
  254. package/es/Textarea/props/propTypes.js +1 -0
  255. package/es/Tooltip/Tooltip.js +67 -21
  256. package/es/Tooltip/Tooltip.module.css +40 -8
  257. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  258. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +7 -6
  259. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +11 -8
  260. package/es/VelocityAnimation/index.js +2 -0
  261. package/es/common/a11y.module.css +4 -0
  262. package/es/common/animation.module.css +8 -8
  263. package/es/common/avatarsizes.module.css +6 -2
  264. package/es/common/basicReset.module.css +3 -3
  265. package/es/common/boxShadow.module.css +34 -0
  266. package/es/common/common.module.css +24 -24
  267. package/es/common/customscroll.module.css +4 -2
  268. package/es/common/reset.module.css +1 -0
  269. package/es/css.js +2 -1
  270. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  271. package/es/deprecated/PortalLayer/PortalLayer.js +30 -24
  272. package/es/index.js +30 -146
  273. package/es/semantic/Button/Button.js +9 -7
  274. package/es/semantic/Button/semanticButton.module.css +1 -1
  275. package/es/semantic/index.js +1 -0
  276. package/es/utils/Common.js +74 -7
  277. package/es/utils/ContextOptimizer.js +4 -5
  278. package/es/utils/__tests__/debounce.spec.js +2 -2
  279. package/es/utils/constructFullName.js +2 -0
  280. package/es/utils/css/compileClassNames.js +28 -0
  281. package/es/utils/css/mergeStyle.js +57 -0
  282. package/es/utils/css/utils.js +24 -0
  283. package/es/utils/datetime/GMTZones.js +48 -0
  284. package/es/utils/datetime/common.js +31 -7
  285. package/es/utils/debounce.js +5 -1
  286. package/es/utils/dropDownUtils.js +71 -13
  287. package/es/utils/getInitial.js +4 -0
  288. package/es/utils/index.js +3 -0
  289. package/es/utils/shallowEqual.js +6 -0
  290. package/install.md +10 -0
  291. package/lib/Accordion/Accordion.js +50 -18
  292. package/lib/Accordion/AccordionItem.js +47 -20
  293. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  294. package/lib/Accordion/index.js +3 -0
  295. package/lib/Accordion/props/defaultProps.js +6 -2
  296. package/lib/Accordion/props/propTypes.js +6 -0
  297. package/lib/Animation/Animation.js +44 -21
  298. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  299. package/lib/Animation/props/propTypes.js +3 -0
  300. package/lib/AppContainer/AppContainer.js +75 -27
  301. package/lib/AppContainer/AppContainer.module.css +2 -2
  302. package/lib/AppContainer/props/defaultProps.js +3 -1
  303. package/lib/AppContainer/props/propTypes.js +5 -0
  304. package/lib/Avatar/Avatar.js +97 -44
  305. package/lib/Avatar/Avatar.module.css +59 -18
  306. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  307. package/lib/Avatar/props/defaultProps.js +4 -1
  308. package/lib/Avatar/props/propTypes.js +8 -2
  309. package/lib/AvatarTeam/AvatarTeam.js +64 -30
  310. package/lib/AvatarTeam/AvatarTeam.module.css +49 -21
  311. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  312. package/lib/AvatarTeam/props/defaultProps.js +5 -1
  313. package/lib/AvatarTeam/props/propTypes.js +8 -1
  314. package/lib/Button/Button.js +64 -74
  315. package/{es/Button → lib/Button/css}/Button.module.css +62 -58
  316. package/lib/Button/css/cssJSLogic.js +41 -0
  317. package/lib/Button/index.js +23 -0
  318. package/lib/Button/props/defaultProps.js +5 -1
  319. package/lib/Button/props/propTypes.js +11 -3
  320. package/lib/Buttongroup/Buttongroup.js +49 -19
  321. package/lib/Buttongroup/Buttongroup.module.css +45 -28
  322. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  323. package/lib/Buttongroup/props/defaultProps.js +3 -1
  324. package/lib/Buttongroup/props/propTypes.js +6 -1
  325. package/lib/Card/Card.js +119 -55
  326. package/lib/Card/__tests__/Card.spec.js +10 -1
  327. package/lib/Card/index.js +4 -0
  328. package/lib/Card/props/defaultProps.js +16 -4
  329. package/lib/Card/props/propTypes.js +5 -2
  330. package/lib/CheckBox/CheckBox.js +76 -48
  331. package/lib/CheckBox/CheckBox.module.css +16 -16
  332. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  333. package/lib/CheckBox/props/propTypes.js +4 -0
  334. package/lib/DateTime/CalendarView.js +95 -38
  335. package/lib/DateTime/DateTime.js +309 -216
  336. package/lib/DateTime/DateTime.module.css +51 -48
  337. package/lib/DateTime/DateTimePopupFooter.js +30 -5
  338. package/lib/DateTime/DateTimePopupHeader.js +69 -23
  339. package/lib/DateTime/DateWidget.js +370 -260
  340. package/lib/DateTime/DateWidget.module.css +5 -5
  341. package/lib/DateTime/DaysRow.js +28 -3
  342. package/lib/DateTime/Time.js +72 -29
  343. package/lib/DateTime/YearView.js +89 -30
  344. package/lib/DateTime/YearView.module.css +33 -15
  345. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  346. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  347. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  348. package/lib/DateTime/common.js +6 -0
  349. package/lib/DateTime/constants.js +1 -0
  350. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  351. package/lib/DateTime/dateFormatUtils/dateFormats.js +50 -0
  352. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  353. package/lib/DateTime/dateFormatUtils/index.js +99 -13
  354. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  355. package/lib/DateTime/dateFormatUtils/timeChange.js +52 -20
  356. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  357. package/lib/DateTime/index.js +3 -1
  358. package/lib/DateTime/objectUtils.js +24 -20
  359. package/lib/DateTime/props/defaultProps.js +2 -1
  360. package/lib/DateTime/props/propTypes.js +21 -2
  361. package/lib/DateTime/typeChecker.js +4 -0
  362. package/lib/DateTime/validator.js +69 -6
  363. package/lib/DropBox/DropBox.js +102 -249
  364. package/lib/DropBox/DropBoxElement/DropBoxElement.js +145 -0
  365. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +435 -0
  366. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +81 -0
  367. package/lib/DropBox/DropBoxElement/props/defaultProps.js +25 -0
  368. package/lib/DropBox/DropBoxElement/props/propTypes.js +56 -0
  369. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +60 -0
  370. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  371. package/lib/DropBox/css/DropBox.module.css +59 -0
  372. package/lib/DropBox/css/cssJSLogic.js +20 -0
  373. package/lib/DropBox/props/defaultProps.js +20 -17
  374. package/lib/DropBox/props/propTypes.js +22 -43
  375. package/lib/DropDown/DropDown.js +58 -10
  376. package/lib/DropDown/DropDown.module.css +2 -2
  377. package/lib/DropDown/DropDownHeading.js +47 -18
  378. package/lib/DropDown/DropDownHeading.module.css +3 -3
  379. package/lib/DropDown/DropDownItem.js +43 -18
  380. package/lib/DropDown/DropDownItem.module.css +9 -9
  381. package/lib/DropDown/DropDownSearch.js +39 -14
  382. package/lib/DropDown/DropDownSeparator.js +23 -1
  383. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  384. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  385. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  386. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  387. package/lib/DropDown/index.js +65 -0
  388. package/lib/DropDown/props/defaultProps.js +3 -1
  389. package/lib/DropDown/props/propTypes.js +7 -1
  390. package/lib/Heading/Heading.js +42 -16
  391. package/lib/Heading/Heading.module.css +2 -2
  392. package/lib/Heading/props/propTypes.js +3 -0
  393. package/lib/Label/Label.js +47 -19
  394. package/lib/Label/Label.module.css +1 -1
  395. package/lib/Label/__tests__/Label.spec.js +14 -1
  396. package/lib/Label/props/defaultProps.js +2 -1
  397. package/lib/Label/props/propTypes.js +4 -0
  398. package/lib/Layout/Box.js +41 -16
  399. package/lib/Layout/Container.js +39 -15
  400. package/lib/Layout/Layout.module.css +15 -15
  401. package/lib/Layout/__tests__/Box.spec.js +65 -49
  402. package/lib/Layout/__tests__/Container.spec.js +67 -50
  403. package/lib/Layout/index.js +4 -11
  404. package/lib/Layout/props/defaultProps.js +6 -2
  405. package/lib/Layout/props/propTypes.js +10 -3
  406. package/lib/Layout/utils.js +15 -1
  407. package/lib/ListItem/ListContainer.js +61 -34
  408. package/lib/ListItem/ListItem.js +92 -50
  409. package/lib/ListItem/ListItem.module.css +37 -30
  410. package/lib/ListItem/ListItemWithAvatar.js +98 -54
  411. package/lib/ListItem/ListItemWithCheckBox.js +82 -41
  412. package/lib/ListItem/ListItemWithIcon.js +92 -50
  413. package/lib/ListItem/ListItemWithRadio.js +83 -42
  414. package/lib/ListItem/index.js +55 -0
  415. package/lib/ListItem/props/defaultProps.js +18 -6
  416. package/lib/ListItem/props/propTypes.js +18 -3
  417. package/lib/Modal/Modal.js +51 -13
  418. package/lib/Modal/props/propTypes.js +3 -0
  419. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -167
  420. package/lib/MultiSelect/AdvancedMultiSelect.js +212 -130
  421. package/lib/MultiSelect/EmptyState.js +48 -21
  422. package/lib/MultiSelect/MultiSelect.js +341 -205
  423. package/lib/MultiSelect/MultiSelect.module.css +32 -31
  424. package/lib/MultiSelect/MultiSelectHeader.js +29 -5
  425. package/lib/MultiSelect/MultiSelectWithAvatar.js +126 -65
  426. package/lib/MultiSelect/SelectedOptions.js +42 -14
  427. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  428. package/lib/MultiSelect/Suggestions.js +66 -29
  429. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  430. package/lib/MultiSelect/index.js +39 -0
  431. package/lib/MultiSelect/props/defaultProps.js +13 -4
  432. package/lib/MultiSelect/props/propTypes.js +20 -5
  433. package/lib/PopOver/PopOver.js +101 -53
  434. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  435. package/lib/PopOver/index.js +31 -0
  436. package/lib/PopOver/props/propTypes.js +3 -0
  437. package/lib/Popup/Popup.js +158 -83
  438. package/lib/Popup/__tests__/Popup.spec.js +42 -5
  439. package/lib/Popup/viewPort.js +28 -14
  440. package/lib/Provider/AvatarSize.js +5 -0
  441. package/lib/Provider/Config.js +2 -0
  442. package/lib/Provider/CssProvider.js +4 -0
  443. package/lib/Provider/IdProvider.js +23 -12
  444. package/lib/Provider/LibraryContext.js +32 -10
  445. package/lib/Provider/LibraryContextInit.js +4 -0
  446. package/lib/Provider/NumberGenerator/NumberGenerator.js +43 -14
  447. package/lib/Provider/ZindexProvider.js +15 -3
  448. package/lib/Provider/index.js +81 -0
  449. package/lib/Radio/Radio.js +65 -40
  450. package/lib/Radio/Radio.module.css +3 -3
  451. package/lib/Radio/__tests__/Radiospec.js +9 -5
  452. package/lib/Radio/props/propTypes.js +3 -0
  453. package/lib/Responsive/CustomResponsive.js +76 -26
  454. package/lib/Responsive/RefWrapper.js +15 -7
  455. package/lib/Responsive/ResizeComponent.js +58 -27
  456. package/lib/Responsive/ResizeObserver.js +23 -6
  457. package/lib/Responsive/Responsive.js +76 -24
  458. package/lib/Responsive/index.js +49 -22
  459. package/lib/Responsive/props/propTypes.js +3 -0
  460. package/lib/Responsive/sizeObservers.js +51 -13
  461. package/lib/Responsive/utils/index.js +11 -3
  462. package/lib/Responsive/utils/shallowCompare.js +11 -2
  463. package/lib/Responsive/windowResizeObserver.js +8 -0
  464. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +44 -14
  465. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  466. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  467. package/lib/Ribbon/Ribbon.js +48 -21
  468. package/lib/Ribbon/Ribbon.module.css +133 -55
  469. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  470. package/lib/Ribbon/props/defaultProps.js +2 -1
  471. package/lib/Ribbon/props/propTypes.js +5 -1
  472. package/lib/RippleEffect/RippleEffect.js +23 -14
  473. package/lib/RippleEffect/props/propTypes.js +3 -0
  474. package/lib/Select/GroupSelect.js +240 -137
  475. package/lib/Select/Select.js +320 -220
  476. package/lib/Select/Select.module.css +23 -23
  477. package/lib/Select/SelectWithAvatar.js +112 -59
  478. package/lib/Select/SelectWithIcon.js +145 -82
  479. package/lib/Select/__tests__/Select.spec.js +131 -89
  480. package/lib/Select/index.js +39 -0
  481. package/lib/Select/props/defaultProps.js +10 -2
  482. package/lib/Select/props/propTypes.js +13 -4
  483. package/lib/Stencils/Stencils.js +35 -13
  484. package/lib/Stencils/Stencils.module.css +2 -2
  485. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  486. package/lib/Stencils/props/propTypes.js +3 -0
  487. package/lib/Switch/Switch.js +64 -35
  488. package/lib/Switch/Switch.module.css +49 -32
  489. package/lib/Switch/props/defaultProps.js +2 -1
  490. package/lib/Switch/props/propTypes.js +4 -0
  491. package/lib/Tab/Tab.js +49 -33
  492. package/lib/Tab/Tab.module.css +14 -15
  493. package/lib/Tab/TabContent.js +15 -6
  494. package/lib/Tab/TabContentWrapper.js +15 -6
  495. package/lib/Tab/TabWrapper.js +37 -17
  496. package/lib/Tab/Tabs.js +193 -94
  497. package/lib/Tab/Tabs.module.css +36 -40
  498. package/lib/Tab/__tests__/Tab.spec.js +74 -70
  499. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  500. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  501. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  502. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  503. package/lib/Tab/index.js +6 -0
  504. package/lib/Tab/props/defaultProps.js +10 -5
  505. package/lib/Tab/props/propTypes.js +13 -5
  506. package/lib/Tag/Tag.js +82 -48
  507. package/lib/Tag/Tag.module.css +10 -10
  508. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  509. package/lib/Tag/props/defaultProps.js +2 -1
  510. package/lib/Tag/props/propTypes.js +5 -1
  511. package/lib/TextBox/TextBox.js +93 -61
  512. package/lib/TextBox/TextBox.module.css +6 -5
  513. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  514. package/lib/TextBox/props/defaultProps.js +2 -1
  515. package/lib/TextBox/props/propTypes.js +6 -1
  516. package/lib/TextBoxIcon/TextBoxIcon.js +108 -60
  517. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -6
  518. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  519. package/lib/TextBoxIcon/props/defaultProps.js +2 -1
  520. package/lib/TextBoxIcon/props/propTypes.js +4 -0
  521. package/lib/Textarea/Textarea.js +63 -32
  522. package/lib/Textarea/Textarea.module.css +6 -6
  523. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  524. package/lib/Textarea/props/defaultProps.js +2 -1
  525. package/lib/Textarea/props/propTypes.js +4 -0
  526. package/lib/Tooltip/Tooltip.js +102 -35
  527. package/lib/Tooltip/Tooltip.module.css +40 -8
  528. package/lib/Tooltip/__tests__/Tooltip.spec.js +23 -0
  529. package/lib/Tooltip/props/propTypes.js +3 -0
  530. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +43 -17
  531. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  532. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +55 -24
  533. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  534. package/lib/VelocityAnimation/index.js +23 -0
  535. package/lib/common/a11y.module.css +4 -0
  536. package/lib/common/animation.module.css +8 -8
  537. package/lib/common/avatarsizes.module.css +6 -2
  538. package/lib/common/basicReset.module.css +3 -3
  539. package/lib/common/boxShadow.module.css +34 -0
  540. package/lib/common/common.module.css +24 -24
  541. package/lib/common/customscroll.module.css +4 -2
  542. package/lib/common/reset.module.css +1 -0
  543. package/lib/css.js +42 -1
  544. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  545. package/lib/deprecated/PortalLayer/PortalLayer.js +50 -24
  546. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  547. package/lib/index.js +214 -210
  548. package/lib/semantic/Button/Button.js +47 -24
  549. package/lib/semantic/Button/props/propTypes.js +3 -0
  550. package/lib/semantic/Button/semanticButton.module.css +1 -1
  551. package/lib/semantic/index.js +15 -0
  552. package/lib/utils/Common.js +136 -17
  553. package/lib/utils/ContextOptimizer.js +16 -10
  554. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  555. package/lib/utils/__tests__/debounce.spec.js +3 -2
  556. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  557. package/lib/utils/constructFullName.js +11 -2
  558. package/lib/utils/css/compileClassNames.js +37 -0
  559. package/lib/utils/css/mergeStyle.js +69 -0
  560. package/lib/utils/css/utils.js +41 -0
  561. package/lib/utils/datetime/GMTZones.js +55 -0
  562. package/lib/utils/datetime/common.js +52 -7
  563. package/lib/utils/debounce.js +6 -1
  564. package/lib/utils/dropDownUtils.js +177 -56
  565. package/lib/utils/dummyFunction.js +2 -0
  566. package/lib/utils/getHTMLFontSize.js +1 -0
  567. package/lib/utils/getInitial.js +6 -0
  568. package/lib/utils/index.js +121 -0
  569. package/lib/utils/scrollTo.js +2 -0
  570. package/lib/utils/shallowEqual.js +8 -0
  571. package/package.json +61 -26
  572. package/postPublish.js +8 -0
  573. package/prePublish.js +70 -0
  574. package/docs/external/active-line.js +0 -72
  575. package/docs/external/autorefresh.js +0 -47
  576. package/docs/external/codemirror.js +0 -9681
  577. package/docs/external/css/hopscotch.css +0 -576
  578. package/docs/external/css/styleGuide.css +0 -1100
  579. package/docs/external/css.js +0 -466
  580. package/docs/external/designTokens.js +0 -1
  581. package/docs/external/foldcode.js +0 -152
  582. package/docs/external/format.js +0 -129
  583. package/docs/external/htmlmixed.js +0 -84
  584. package/docs/external/images/bottom.png +0 -0
  585. package/docs/external/images/bottombg.jpg +0 -0
  586. package/docs/external/images/desk.png +0 -0
  587. package/docs/external/images/desklogo.png +0 -0
  588. package/docs/external/images/menu.png +0 -0
  589. package/docs/external/index.html +0 -127
  590. package/docs/external/javascript.js +0 -422
  591. package/docs/external/jsx.js +0 -148
  592. package/docs/external/matchbrackets.js +0 -145
  593. package/docs/external/xml.js +0 -322
  594. package/docs/package.json +0 -41
  595. package/docs/src/index.js +0 -1311
  596. package/es/Button/__tests__/Button.spec.js +0 -190
  597. package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  598. package/es/DropBox/DropBox.module.css +0 -406
  599. package/lib/Button/__tests__/Button.spec.js +0 -193
  600. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  601. package/lib/DropBox/DropBox.module.css +0 -406
@@ -1,55 +1,96 @@
1
1
  "use strict";
2
2
 
3
3
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _propTypes = require("./props/propTypes");
13
+
10
14
  var _defaultProps = require("./props/defaultProps");
15
+
11
16
  var _datetimejs = _interopRequireDefault(require("@zohodesk/datetimejs"));
17
+
12
18
  var _CalendarView = _interopRequireDefault(require("./CalendarView"));
19
+
13
20
  var _YearView = _interopRequireDefault(require("./YearView"));
21
+
14
22
  var _DateTimePopupHeader = _interopRequireDefault(require("./DateTimePopupHeader"));
23
+
15
24
  var _DateTimePopupFooter = _interopRequireDefault(require("./DateTimePopupFooter"));
25
+
16
26
  var _Time = _interopRequireDefault(require("./Time"));
27
+
17
28
  var _DateTimeModule = _interopRequireDefault(require("./DateTime.module.css"));
29
+
18
30
  var _common = require("../utils/datetime/common");
31
+
19
32
  var _Common = require("../utils/Common");
33
+
20
34
  var _constants = require("./constants");
35
+
21
36
  var _ResponsiveDropBox = _interopRequireDefault(require("../ResponsiveDropBox/ResponsiveDropBox"));
22
- var _CustomResponsive = require("../Responsive/CustomResponsive");
37
+
23
38
  var _Layout = require("../Layout");
39
+
24
40
  var _dateFormatUtils = require("./dateFormatUtils");
41
+
25
42
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
43
+
44
+ function _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }
45
+
26
46
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
47
+
27
48
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
49
+
28
50
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
51
+
29
52
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
+
30
54
  function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
55
+
31
56
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
+
32
58
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
59
+
33
60
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
61
+
34
62
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
63
+
35
64
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
65
+
36
66
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
67
+
37
68
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
69
+
38
70
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
71
+
39
72
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
73
+
40
74
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
75
+
41
76
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
77
+
42
78
  function title(date, year, month) {
43
79
  var monthNames = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
44
80
  var HeadingText = "".concat(monthNames[month] || '', " ").concat(year);
45
81
  return HeadingText;
46
82
  }
83
+
47
84
  var DateTime = /*#__PURE__*/function (_React$PureComponent) {
48
85
  _inherits(DateTime, _React$PureComponent);
86
+
49
87
  var _super = _createSuper(DateTime);
88
+
50
89
  function DateTime(props) {
51
90
  var _this;
91
+
52
92
  _classCallCheck(this, DateTime);
93
+
53
94
  _this = _super.call(this, props);
54
95
  _this.getHours = _this.getHours.bind(_assertThisInitialized(_this));
55
96
  _this.amPmSelect = _this.amPmSelect.bind(_assertThisInitialized(_this));
@@ -70,27 +111,10 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
70
111
  _this.handleSelectMonthViaYearView = _this.handleSelectMonthViaYearView.bind(_assertThisInitialized(_this));
71
112
  _this.handleGetStateValues = _this.handleGetStateValues.bind(_assertThisInitialized(_this));
72
113
  _this.handleYearViewToggle = _this.handleYearViewToggle.bind(_assertThisInitialized(_this));
114
+ _this.getInitialDate = _this.getInitialDate.bind(_assertThisInitialized(_this));
73
115
  var _props$i18nKeys$ampmT = props.i18nKeys.ampmText,
74
- ampmText = _props$i18nKeys$ampmT === void 0 ? _constants.ampmTextDefault : _props$i18nKeys$ampmT;
75
- var _getHourDetails = (0, _dateFormatUtils.getHourDetails)(props.is24Hour),
76
- hourStart = _getHourDetails.startPoint,
77
- hourEnd = _getHourDetails.endPoint;
78
- _this.hourSuggestions = function () {
79
- var hourArr = [];
80
- for (var hour = hourStart; hour <= hourEnd; hour++) {
81
- var htxt = hour < 10 ? "0".concat(hour) : "".concat(hour);
82
- hourArr.push(htxt);
83
- }
84
- return hourArr;
85
- }();
86
- _this.minSuggestions = function () {
87
- var minArr = [];
88
- for (var minute = 0; minute <= 59; minute++) {
89
- var mtxt = minute < 10 ? "0".concat(minute) : "".concat(minute);
90
- minArr.push(mtxt);
91
- }
92
- return minArr;
93
- }();
116
+ ampmText = _props$i18nKeys$ampmT === void 0 ? _constants.ampmTextDefault : _props$i18nKeys$ampmT;
117
+
94
118
  _this.ampmSuggestions = function () {
95
119
  var ampmSuggestions = [];
96
120
  ampmText.forEach(function (text, index) {
@@ -108,13 +132,16 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
108
132
  });
109
133
  return ampmSuggestions;
110
134
  }();
135
+
111
136
  var initalStateObj = _this.getStateFromProps(props);
137
+
112
138
  _this.state = Object.assign({}, initalStateObj, {
113
139
  isYearView: false,
114
140
  isMonthOpen: false
115
141
  });
116
142
  return _this;
117
143
  }
144
+
118
145
  _createClass(DateTime, [{
119
146
  key: "componentDidMount",
120
147
  value: function componentDidMount() {
@@ -124,12 +151,14 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
124
151
  key: "componentDidUpdate",
125
152
  value: function componentDidUpdate(prevProps) {
126
153
  var _this$props = this.props,
127
- value = _this$props.value,
128
- isActive = _this$props.isActive,
129
- is24Hour = _this$props.is24Hour;
154
+ value = _this$props.value,
155
+ isActive = _this$props.isActive,
156
+ is24Hour = _this$props.is24Hour;
157
+
130
158
  if (prevProps.value !== value || is24Hour !== prevProps.is24Hour) {
131
159
  this.setState(this.getStateFromProps(this.props));
132
160
  }
161
+
133
162
  if (prevProps.isActive !== isActive && !isActive) {
134
163
  this.setState({
135
164
  isYearView: false,
@@ -142,38 +171,71 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
142
171
  value: function componentWillUnmount() {
143
172
  this.handleExposeMethods(false);
144
173
  }
174
+ }, {
175
+ key: "getInitialDate",
176
+ value: function getInitialDate(value) {
177
+ var timeZone = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
178
+ var isDateTime = arguments.length > 2 ? arguments[2] : undefined;
179
+ var result = null;
180
+
181
+ if (isDateTime) {
182
+ if (timeZone && value) {
183
+ result = _datetimejs["default"].toDate(_datetimejs["default"].tz.utcToTz(value, timeZone));
184
+ } else {
185
+ value = value ? value.replace('Z', '') : null;
186
+ result = value ? new Date(value) : new Date();
187
+ }
188
+ } else {
189
+ if (value) {
190
+ if (timeZone) {
191
+ result = _datetimejs["default"].toDate(value);
192
+ } else {
193
+ result = new Date(value);
194
+ }
195
+ } else {
196
+ result = new Date();
197
+ }
198
+ }
199
+
200
+ return result;
201
+ }
145
202
  }, {
146
203
  key: "getStateFromProps",
147
204
  value: function getStateFromProps(props) {
148
205
  var date, month, year, hours, mins, amPm;
149
206
  var value = props.value,
150
- timeZone = props.timeZone,
151
- defaultTime = props.defaultTime,
152
- needDefaultTime = props.needDefaultTime,
153
- isDateTimeField = props.isDateTimeField,
154
- is24Hour = props.is24Hour; //defaultTime --> 12:00:PM
207
+ timeZone = props.timeZone,
208
+ defaultTime = props.defaultTime,
209
+ needDefaultTime = props.needDefaultTime,
210
+ isDateTimeField = props.isDateTimeField,
211
+ is24Hour = props.is24Hour; //defaultTime --> 12:00:PM
212
+
155
213
  defaultTime = needDefaultTime ? defaultTime ? defaultTime : '12:00:PM' : '';
156
214
  var defaultHour, defaultMin, defaultAmPm;
157
215
  var todayObj = new Date();
158
216
  var todayDate = todayObj.getDate();
159
217
  var todayMonth = todayObj.getMonth();
160
218
  var todayYear = todayObj.getFullYear();
219
+
161
220
  if (!value) {
162
221
  var _ref = defaultTime ? defaultTime.split(':') : [];
222
+
163
223
  var _ref2 = _slicedToArray(_ref, 3);
224
+
164
225
  defaultHour = _ref2[0];
165
226
  defaultMin = _ref2[1];
166
227
  defaultAmPm = _ref2[2];
167
228
  defaultHour = parseInt(defaultHour);
168
229
  defaultMin = parseInt(defaultMin);
169
230
  }
170
- var dateObj = isDateTimeField ? _datetimejs["default"].toDate(_datetimejs["default"].tz.utcToTz(value, timeZone)) : value ? _datetimejs["default"].toDate(value) : new Date();
231
+
232
+ var dateObj = this.getInitialDate(value, timeZone, isDateTimeField);
171
233
  date = dateObj.getDate();
172
234
  month = dateObj.getMonth();
173
235
  year = dateObj.getFullYear();
174
236
  hours = defaultHour ? defaultHour : dateObj.getHours();
175
237
  mins = !(0, _Common.getIsEmptyValue)(defaultMin) ? defaultMin : dateObj.getMinutes();
176
- mins = mins < 10 ? "0".concat(mins) : mins;
238
+ mins = (0, _dateFormatUtils.addZeroIfNeeded)(mins);
177
239
  amPm = defaultAmPm ? defaultAmPm : hours < 12 ? 'AM' : 'PM';
178
240
  hours = this.getHours(hours, is24Hour);
179
241
  return {
@@ -192,6 +254,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
192
254
  key: "getHours",
193
255
  value: function getHours(hoursParam, is24Hour) {
194
256
  var hours = hoursParam;
257
+
195
258
  if (!is24Hour) {
196
259
  if (hours === 0) {
197
260
  hours = 12;
@@ -199,7 +262,8 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
199
262
  hours -= 12;
200
263
  }
201
264
  }
202
- hours = hours < 10 ? "0".concat(hours) : hours;
265
+
266
+ hours = (0, _dateFormatUtils.addZeroIfNeeded)(hours);
203
267
  return hours;
204
268
  }
205
269
  }, {
@@ -207,44 +271,60 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
207
271
  value: function handleGetSelectedDate() {
208
272
  var selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
209
273
  var _this$props2 = this.props,
210
- min = _this$props2.min,
211
- max = _this$props2.max,
212
- timeZone = _this$props2.timeZone,
213
- isDateTimeField = _this$props2.isDateTimeField,
214
- dateFormat = _this$props2.dateFormat,
215
- is24Hour = _this$props2.is24Hour;
274
+ min = _this$props2.min,
275
+ max = _this$props2.max,
276
+ timeZone = _this$props2.timeZone,
277
+ isDateTimeField = _this$props2.isDateTimeField,
278
+ dateFormat = _this$props2.dateFormat,
279
+ is24Hour = _this$props2.is24Hour,
280
+ customDateFormat = _this$props2.customDateFormat;
216
281
  var year = selectedInfo.year,
217
- month = selectedInfo.month,
218
- date = selectedInfo.date,
219
- hours = selectedInfo.hours,
220
- mins = selectedInfo.mins,
221
- amPm = selectedInfo.amPm;
282
+ month = selectedInfo.month,
283
+ date = selectedInfo.date,
284
+ hours = selectedInfo.hours,
285
+ mins = selectedInfo.mins,
286
+ amPm = selectedInfo.amPm;
287
+
222
288
  if (!is24Hour) {
223
289
  if (parseInt(hours) === 12) {
224
290
  hours = amPm === 'AM' ? 0 : 12;
225
291
  }
292
+
226
293
  if (amPm === 'PM') {
227
294
  if (hours < 12) {
228
295
  hours = parseInt(hours) + 12;
229
296
  }
230
297
  }
231
298
  }
299
+
232
300
  var minInMillis = min ? _datetimejs["default"].millis(min) : null,
233
- maxInMillis = max ? _datetimejs["default"].millis(max) : null,
234
- selectedInMillis,
235
- selectedValue = '',
236
- formattedValue;
237
- if (isDateTimeField) {
238
- selectedInMillis = _datetimejs["default"].tz.tzToUtc(Date.UTC(year, month, date, hours, mins), timeZone);
301
+ maxInMillis = max ? _datetimejs["default"].millis(max) : null,
302
+ selectedInMillis,
303
+ selectedValue = '',
304
+ formattedValue;
305
+ var currentDate = new Date();
306
+ var sec = currentDate.getSeconds();
307
+ var milliSec = currentDate.getMilliseconds();
308
+
309
+ if (isDateTimeField || customDateFormat) {
310
+ var dateArgs = [year, month, date, hours, mins];
311
+
312
+ if (customDateFormat) {
313
+ dateArgs.push(sec, milliSec);
314
+ }
315
+
316
+ selectedInMillis = timeZone ? _datetimejs["default"].tz.tzToUtc(Date.UTC.apply(Date, dateArgs), timeZone) : Date.UTC.apply(Date, dateArgs);
239
317
  selectedValue = _datetimejs["default"].ISO(selectedInMillis);
240
- formattedValue = (0, _common.formatDate)(new Date(year, month, date, hours, mins), is24Hour ? "".concat(dateFormat, " HH:mm") : "".concat(dateFormat, " hh:mm A"));
318
+ formattedValue = (0, _common.formatDate)(_construct(Date, dateArgs), customDateFormat == null ? is24Hour ? "".concat(dateFormat, " HH:mm:ss") : "".concat(dateFormat, " hh:mm:ss A") : "".concat(customDateFormat));
241
319
  } else {
242
320
  selectedInMillis = Date.UTC(year, month, date);
243
321
  selectedValue = (0, _common.formatDate)(new Date(year, month, date), 'YYYY-MM-DD');
244
322
  formattedValue = (0, _common.formatDate)(new Date(year, month, date), dateFormat);
245
323
  }
324
+
246
325
  var isError = false;
247
326
  var errorType = '';
327
+
248
328
  if (minInMillis && minInMillis > selectedInMillis) {
249
329
  isError = true;
250
330
  errorType = 'MIN';
@@ -252,6 +332,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
252
332
  isError = true;
253
333
  errorType = 'MAX';
254
334
  }
335
+
255
336
  return {
256
337
  isError: isError,
257
338
  errorType: errorType,
@@ -264,29 +345,31 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
264
345
  value: function handleSelect(e) {
265
346
  e && e.preventDefault();
266
347
  var _this$props3 = this.props,
267
- onError = _this$props3.onError,
268
- onSelect = _this$props3.onSelect,
269
- minErrorText = _this$props3.minErrorText,
270
- maxErrorText = _this$props3.maxErrorText;
348
+ onError = _this$props3.onError,
349
+ onSelect = _this$props3.onSelect,
350
+ minErrorText = _this$props3.minErrorText,
351
+ maxErrorText = _this$props3.maxErrorText;
271
352
  var _this$state = this.state,
272
- year = _this$state.year,
273
- month = _this$state.month,
274
- date = _this$state.date,
275
- hours = _this$state.hours,
276
- mins = _this$state.mins,
277
- amPm = _this$state.amPm;
353
+ year = _this$state.year,
354
+ month = _this$state.month,
355
+ date = _this$state.date,
356
+ hours = _this$state.hours,
357
+ mins = _this$state.mins,
358
+ amPm = _this$state.amPm;
359
+
278
360
  var _this$handleGetSelect = this.handleGetSelectedDate({
279
- year: year,
280
- month: month,
281
- date: date,
282
- hours: hours,
283
- mins: mins,
284
- amPm: amPm
285
- }),
286
- isError = _this$handleGetSelect.isError,
287
- errorType = _this$handleGetSelect.errorType,
288
- selectedValue = _this$handleGetSelect.selectedValue,
289
- formattedValue = _this$handleGetSelect.formattedValue;
361
+ year: year,
362
+ month: month,
363
+ date: date,
364
+ hours: hours,
365
+ mins: mins,
366
+ amPm: amPm
367
+ }),
368
+ isError = _this$handleGetSelect.isError,
369
+ errorType = _this$handleGetSelect.errorType,
370
+ selectedValue = _this$handleGetSelect.selectedValue,
371
+ formattedValue = _this$handleGetSelect.formattedValue;
372
+
290
373
  if (isError) {
291
374
  if (errorType === 'MIN') {
292
375
  onError && onError(minErrorText, true);
@@ -302,23 +385,23 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
302
385
  value: function handleChange() {
303
386
  var selectedInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
304
387
  var _this$props4 = this.props,
305
- onError = _this$props4.onError,
306
- onChange = _this$props4.onChange,
307
- minErrorText = _this$props4.minErrorText,
308
- maxErrorText = _this$props4.maxErrorText;
388
+ onError = _this$props4.onError,
389
+ onChange = _this$props4.onChange,
390
+ minErrorText = _this$props4.minErrorText,
391
+ maxErrorText = _this$props4.maxErrorText;
309
392
  var _this$state2 = this.state,
310
- oldYear = _this$state2.year,
311
- oldMonth = _this$state2.month,
312
- oldDate = _this$state2.date,
313
- oldHours = _this$state2.hours,
314
- oldMins = _this$state2.mins,
315
- oldAMPM = _this$state2.amPm;
393
+ oldYear = _this$state2.year,
394
+ oldMonth = _this$state2.month,
395
+ oldDate = _this$state2.date,
396
+ oldHours = _this$state2.hours,
397
+ oldMins = _this$state2.mins,
398
+ oldAMPM = _this$state2.amPm;
316
399
  var year = selectedInfo.year,
317
- month = selectedInfo.month,
318
- date = selectedInfo.date,
319
- hours = selectedInfo.hours,
320
- mins = selectedInfo.mins,
321
- amPm = selectedInfo.amPm;
400
+ month = selectedInfo.month,
401
+ date = selectedInfo.date,
402
+ hours = selectedInfo.hours,
403
+ mins = selectedInfo.mins,
404
+ amPm = selectedInfo.amPm;
322
405
  var newSelectedInfo = {
323
406
  year: (0, _Common.getIsEmptyValue)(year) ? oldYear : year,
324
407
  month: (0, _Common.getIsEmptyValue)(month) ? oldMonth : month,
@@ -327,12 +410,14 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
327
410
  mins: (0, _Common.getIsEmptyValue)(mins) ? oldMins : mins,
328
411
  amPm: (0, _Common.getIsEmptyValue)(amPm) ? oldAMPM : amPm
329
412
  };
413
+
330
414
  if (onChange) {
331
415
  var _this$handleGetSelect2 = this.handleGetSelectedDate(newSelectedInfo),
332
- isError = _this$handleGetSelect2.isError,
333
- errorType = _this$handleGetSelect2.errorType,
334
- selectedValue = _this$handleGetSelect2.selectedValue,
335
- formattedValue = _this$handleGetSelect2.formattedValue;
416
+ isError = _this$handleGetSelect2.isError,
417
+ errorType = _this$handleGetSelect2.errorType,
418
+ selectedValue = _this$handleGetSelect2.selectedValue,
419
+ formattedValue = _this$handleGetSelect2.formattedValue;
420
+
336
421
  if (isError) {
337
422
  if (errorType === 'MIN') {
338
423
  onError && onError(minErrorText, true);
@@ -351,8 +436,9 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
351
436
  key: "handleClear",
352
437
  value: function handleClear(e) {
353
438
  var _this$props5 = this.props,
354
- onSelect = _this$props5.onSelect,
355
- onClear = _this$props5.onClear;
439
+ onSelect = _this$props5.onSelect,
440
+ onClear = _this$props5.onClear;
441
+
356
442
  if (onClear) {
357
443
  onClear(e);
358
444
  } else {
@@ -369,26 +455,28 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
369
455
  });
370
456
  e && e.preventDefault();
371
457
  var _this$props6 = this.props,
372
- onError = _this$props6.onError,
373
- onDateSelect = _this$props6.onDateSelect,
374
- minErrorText = _this$props6.minErrorText,
375
- maxErrorText = _this$props6.maxErrorText;
458
+ onError = _this$props6.onError,
459
+ onDateSelect = _this$props6.onDateSelect,
460
+ minErrorText = _this$props6.minErrorText,
461
+ maxErrorText = _this$props6.maxErrorText;
376
462
  var _this$state3 = this.state,
377
- hours = _this$state3.hours,
378
- mins = _this$state3.mins,
379
- amPm = _this$state3.amPm;
463
+ hours = _this$state3.hours,
464
+ mins = _this$state3.mins,
465
+ amPm = _this$state3.amPm;
466
+
380
467
  var _this$handleGetSelect3 = this.handleGetSelectedDate({
381
- year: year,
382
- month: month,
383
- date: date,
384
- hours: hours,
385
- mins: mins,
386
- amPm: amPm
387
- }),
388
- isError = _this$handleGetSelect3.isError,
389
- errorType = _this$handleGetSelect3.errorType,
390
- selectedValue = _this$handleGetSelect3.selectedValue,
391
- formattedValue = _this$handleGetSelect3.formattedValue;
468
+ year: year,
469
+ month: month,
470
+ date: date,
471
+ hours: hours,
472
+ mins: mins,
473
+ amPm: amPm
474
+ }),
475
+ isError = _this$handleGetSelect3.isError,
476
+ errorType = _this$handleGetSelect3.errorType,
477
+ selectedValue = _this$handleGetSelect3.selectedValue,
478
+ formattedValue = _this$handleGetSelect3.formattedValue;
479
+
392
480
  if (isError) {
393
481
  if (errorType === 'MIN') {
394
482
  onError && onError(minErrorText, true);
@@ -420,8 +508,8 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
420
508
  amPm: amPm
421
509
  });
422
510
  }
423
-
424
511
  /*global closeGroupPopups*/
512
+
425
513
  }, {
426
514
  key: "closePopup",
427
515
  value: function closePopup() {
@@ -431,15 +519,17 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
431
519
  key: "handleCalendarNavigation",
432
520
  value: function handleCalendarNavigation(type, selectedInfo) {
433
521
  var stateYear = selectedInfo.year,
434
- stateMonth = selectedInfo.month,
435
- stateDate = selectedInfo.date;
522
+ stateMonth = selectedInfo.month,
523
+ stateDate = selectedInfo.date;
436
524
  var date = stateDate;
437
525
  var month = stateMonth;
438
526
  var year = stateYear;
527
+
439
528
  var getDate = function getDate(month, year) {
440
529
  var monthEnd = (0, _common.getMonthEnd)(month, year);
441
530
  return monthEnd >= parseInt(date) ? date : monthEnd;
442
531
  };
532
+
443
533
  var modifyCalendarRecursion = function modifyCalendarRecursion(recursionType) {
444
534
  if (recursionType === 'nextYear') {
445
535
  //Click next year icon
@@ -452,6 +542,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
452
542
  } else if (recursionType === 'previousYear') {
453
543
  //Click previous year icon
454
544
  var _newYear = year - 1;
545
+
455
546
  return {
456
547
  date: getDate(month, _newYear),
457
548
  month: month,
@@ -463,6 +554,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
463
554
  month = 0;
464
555
  return modifyCalendarRecursion('nextYear');
465
556
  }
557
+
466
558
  var newMonth = month + 1;
467
559
  return {
468
560
  date: getDate(newMonth, year),
@@ -475,7 +567,9 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
475
567
  month = 11;
476
568
  return modifyCalendarRecursion('previousYear');
477
569
  }
570
+
478
571
  var _newMonth = month - 1;
572
+
479
573
  return {
480
574
  date: getDate(_newMonth, year),
481
575
  month: _newMonth,
@@ -483,10 +577,12 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
483
577
  };
484
578
  } else if (recursionType === 'nextDate') {
485
579
  var monthEnd = (0, _common.getMonthEnd)(month, year);
580
+
486
581
  if (date === monthEnd) {
487
582
  date = 1;
488
583
  return modifyCalendarRecursion('nextMonth');
489
584
  }
585
+
490
586
  var newDate = parseInt(date) + 1;
491
587
  return {
492
588
  date: newDate,
@@ -498,7 +594,9 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
498
594
  date = month === 0 ? (0, _common.getMonthEnd)(11, year - 1) : (0, _common.getMonthEnd)(month - 1, year);
499
595
  return modifyCalendarRecursion('previousMonth');
500
596
  }
597
+
501
598
  var _newDate = parseInt(date) - 1;
599
+
502
600
  return {
503
601
  date: _newDate,
504
602
  month: month,
@@ -506,15 +604,16 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
506
604
  };
507
605
  }
508
606
  };
607
+
509
608
  return modifyCalendarRecursion(type);
510
609
  }
511
610
  }, {
512
611
  key: "modifyCalendar",
513
612
  value: function modifyCalendar(type) {
514
613
  var _this$state4 = this.state,
515
- year = _this$state4.year,
516
- month = _this$state4.month,
517
- date = _this$state4.date;
614
+ year = _this$state4.year,
615
+ month = _this$state4.month,
616
+ date = _this$state4.date;
518
617
  return this.handleChange(this.handleCalendarNavigation(type, {
519
618
  year: year,
520
619
  month: month,
@@ -531,8 +630,8 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
531
630
  value: function handleGetStateValues() {
532
631
  var isActive = this.props.isActive;
533
632
  var _this$state5 = this.state,
534
- isYearView = _this$state5.isYearView,
535
- isMonthOpen = _this$state5.isMonthOpen;
633
+ isYearView = _this$state5.isYearView,
634
+ isMonthOpen = _this$state5.isMonthOpen;
536
635
  return {
537
636
  isActive: isActive,
538
637
  isYearView: isYearView,
@@ -552,6 +651,7 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
552
651
  value: function handleExposeMethods(isMount) {
553
652
  var getMethods = this.props.getMethods;
554
653
  var methods = {};
654
+
555
655
  if (isMount) {
556
656
  methods = {
557
657
  resetLocalDate: this.handleDateReset,
@@ -565,14 +665,15 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
565
665
  toggleYearView: null
566
666
  };
567
667
  }
668
+
568
669
  getMethods && getMethods(methods);
569
670
  }
570
671
  }, {
571
672
  key: "handleOpenYearView",
572
673
  value: function handleOpenYearView() {
573
674
  var _this$state6 = this.state,
574
- isYearView = _this$state6.isYearView,
575
- isMonthOpen = _this$state6.isMonthOpen;
675
+ isYearView = _this$state6.isYearView,
676
+ isMonthOpen = _this$state6.isMonthOpen;
576
677
  this.setState({
577
678
  isYearView: !isYearView,
578
679
  isMonthOpen: !isMonthOpen
@@ -590,13 +691,15 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
590
691
  key: "handleSelectMonth",
591
692
  value: function handleSelectMonth(month) {
592
693
  var _this$state7 = this.state,
593
- date = _this$state7.date,
594
- year = _this$state7.year;
694
+ date = _this$state7.date,
695
+ year = _this$state7.year;
595
696
  var monthEnd = (0, _common.getMonthEnd)(month, year);
596
697
  var newDate = date;
698
+
597
699
  if (date > monthEnd) {
598
700
  newDate = monthEnd;
599
701
  }
702
+
600
703
  this.setState({
601
704
  month: month,
602
705
  date: newDate
@@ -611,80 +714,72 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
611
714
  isMonthOpen: false
612
715
  });
613
716
  }
614
- }, {
615
- key: "responsiveFunc",
616
- value: function responsiveFunc(_ref3) {
617
- var mediaQueryOR = _ref3.mediaQueryOR;
618
- return {
619
- tabletMode: mediaQueryOR([{
620
- maxWidth: 700
621
- }])
622
- };
623
- }
624
717
  }, {
625
718
  key: "render",
626
719
  value: function render() {
627
720
  var _this$state8 = this.state,
628
- date = _this$state8.date,
629
- month = _this$state8.month,
630
- year = _this$state8.year,
631
- hours = _this$state8.hours,
632
- mins = _this$state8.mins,
633
- amPm = _this$state8.amPm,
634
- isYearView = _this$state8.isYearView,
635
- isMonthOpen = _this$state8.isMonthOpen,
636
- todayDate = _this$state8.todayDate,
637
- todayMonth = _this$state8.todayMonth,
638
- todayYear = _this$state8.todayYear;
721
+ date = _this$state8.date,
722
+ month = _this$state8.month,
723
+ year = _this$state8.year,
724
+ hours = _this$state8.hours,
725
+ mins = _this$state8.mins,
726
+ amPm = _this$state8.amPm,
727
+ isYearView = _this$state8.isYearView,
728
+ isMonthOpen = _this$state8.isMonthOpen,
729
+ todayDate = _this$state8.todayDate,
730
+ todayMonth = _this$state8.todayMonth,
731
+ todayYear = _this$state8.todayYear;
639
732
  var _this$props7 = this.props,
640
- isDateTimeField = _this$props7.isDateTimeField,
641
- isActive = _this$props7.isActive,
642
- position = _this$props7.position,
643
- isReady = _this$props7.isReady,
644
- getRef = _this$props7.getRef,
645
- onClick = _this$props7.onClick,
646
- dataId = _this$props7.dataId,
647
- needResponsive = _this$props7.needResponsive,
648
- isAbsolute = _this$props7.isAbsolute,
649
- isAnimate = _this$props7.isAnimate,
650
- needAction = _this$props7.needAction,
651
- boxSize = _this$props7.boxSize,
652
- className = _this$props7.className,
653
- innerClass = _this$props7.innerClass,
654
- isPadding = _this$props7.isPadding,
655
- i18nKeys = _this$props7.i18nKeys,
656
- is24Hour = _this$props7.is24Hour,
657
- isDefaultPosition = _this$props7.isDefaultPosition,
658
- positionsOffset = _this$props7.positionsOffset,
659
- targetOffset = _this$props7.targetOffset,
660
- isRestrictScroll = _this$props7.isRestrictScroll,
661
- dropBoxPortalId = _this$props7.dropBoxPortalId;
733
+ isDateTimeField = _this$props7.isDateTimeField,
734
+ isActive = _this$props7.isActive,
735
+ position = _this$props7.position,
736
+ isReady = _this$props7.isReady,
737
+ getRef = _this$props7.getRef,
738
+ onClick = _this$props7.onClick,
739
+ dataId = _this$props7.dataId,
740
+ needResponsive = _this$props7.needResponsive,
741
+ isAbsolute = _this$props7.isAbsolute,
742
+ isAnimate = _this$props7.isAnimate,
743
+ needAction = _this$props7.needAction,
744
+ boxSize = _this$props7.boxSize,
745
+ className = _this$props7.className,
746
+ innerClass = _this$props7.innerClass,
747
+ isPadding = _this$props7.isPadding,
748
+ i18nKeys = _this$props7.i18nKeys,
749
+ is24Hour = _this$props7.is24Hour,
750
+ isDefaultPosition = _this$props7.isDefaultPosition,
751
+ positionsOffset = _this$props7.positionsOffset,
752
+ targetOffset = _this$props7.targetOffset,
753
+ isRestrictScroll = _this$props7.isRestrictScroll,
754
+ dropBoxPortalId = _this$props7.dropBoxPortalId;
662
755
  var _i18nKeys$timeText = i18nKeys.timeText,
663
- timeText = _i18nKeys$timeText === void 0 ? 'Time' : _i18nKeys$timeText,
664
- _i18nKeys$submitText = i18nKeys.submitText,
665
- submitText = _i18nKeys$submitText === void 0 ? 'Set' : _i18nKeys$submitText,
666
- _i18nKeys$cancelText = i18nKeys.cancelText,
667
- cancelText = _i18nKeys$cancelText === void 0 ? 'Clear' : _i18nKeys$cancelText,
668
- _i18nKeys$hourEmptyTe = i18nKeys.hourEmptyText,
669
- hourEmptyText = _i18nKeys$hourEmptyTe === void 0 ? 'No search results' : _i18nKeys$hourEmptyTe,
670
- _i18nKeys$minuteEmpty = i18nKeys.minuteEmptyText,
671
- minuteEmptyText = _i18nKeys$minuteEmpty === void 0 ? 'No search results' : _i18nKeys$minuteEmpty,
672
- _i18nKeys$nextMonthTi = i18nKeys.nextMonthTitleText,
673
- nextMonthTitleText = _i18nKeys$nextMonthTi === void 0 ? 'Next month' : _i18nKeys$nextMonthTi,
674
- _i18nKeys$prevMonthTi = i18nKeys.prevMonthTitleText,
675
- prevMonthTitleText = _i18nKeys$prevMonthTi === void 0 ? 'Prev month' : _i18nKeys$prevMonthTi,
676
- _i18nKeys$monthNames = i18nKeys.monthNames,
677
- monthNames = _i18nKeys$monthNames === void 0 ? _constants.monthNamesDefault : _i18nKeys$monthNames,
678
- _i18nKeys$monthNamesS = i18nKeys.monthNamesShort,
679
- monthNamesShort = _i18nKeys$monthNamesS === void 0 ? _constants.monthNamesShortDefault : _i18nKeys$monthNamesS,
680
- _i18nKeys$dayNames = i18nKeys.dayNames,
681
- dayNames = _i18nKeys$dayNames === void 0 ? _constants.dayNamesDefault : _i18nKeys$dayNames,
682
- _i18nKeys$dayNamesSho = i18nKeys.dayNamesShort,
683
- dayNamesShort = _i18nKeys$dayNamesSho === void 0 ? _constants.dayNamesShortDefault : _i18nKeys$dayNamesSho;
756
+ timeText = _i18nKeys$timeText === void 0 ? 'Time' : _i18nKeys$timeText,
757
+ _i18nKeys$submitText = i18nKeys.submitText,
758
+ submitText = _i18nKeys$submitText === void 0 ? 'Set' : _i18nKeys$submitText,
759
+ _i18nKeys$cancelText = i18nKeys.cancelText,
760
+ cancelText = _i18nKeys$cancelText === void 0 ? 'Clear' : _i18nKeys$cancelText,
761
+ _i18nKeys$hourEmptyTe = i18nKeys.hourEmptyText,
762
+ hourEmptyText = _i18nKeys$hourEmptyTe === void 0 ? 'No search results' : _i18nKeys$hourEmptyTe,
763
+ _i18nKeys$minuteEmpty = i18nKeys.minuteEmptyText,
764
+ minuteEmptyText = _i18nKeys$minuteEmpty === void 0 ? 'No search results' : _i18nKeys$minuteEmpty,
765
+ _i18nKeys$nextMonthTi = i18nKeys.nextMonthTitleText,
766
+ nextMonthTitleText = _i18nKeys$nextMonthTi === void 0 ? 'Next month' : _i18nKeys$nextMonthTi,
767
+ _i18nKeys$prevMonthTi = i18nKeys.prevMonthTitleText,
768
+ prevMonthTitleText = _i18nKeys$prevMonthTi === void 0 ? 'Prev month' : _i18nKeys$prevMonthTi,
769
+ _i18nKeys$monthNames = i18nKeys.monthNames,
770
+ monthNames = _i18nKeys$monthNames === void 0 ? _constants.monthNamesDefault : _i18nKeys$monthNames,
771
+ _i18nKeys$monthNamesS = i18nKeys.monthNamesShort,
772
+ monthNamesShort = _i18nKeys$monthNamesS === void 0 ? _constants.monthNamesShortDefault : _i18nKeys$monthNamesS,
773
+ _i18nKeys$dayNames = i18nKeys.dayNames,
774
+ dayNames = _i18nKeys$dayNames === void 0 ? _constants.dayNamesDefault : _i18nKeys$dayNames,
775
+ _i18nKeys$dayNamesSho = i18nKeys.dayNamesShort,
776
+ dayNamesShort = _i18nKeys$dayNamesSho === void 0 ? _constants.dayNamesShortDefault : _i18nKeys$dayNamesSho;
684
777
  var showmonthtxt = title(date, year, month, monthNames);
778
+
685
779
  var childEle = /*#__PURE__*/_react["default"].createElement("div", {
686
780
  className: "".concat(_DateTimeModule["default"].container, " ").concat(innerClass),
687
781
  "data-id": "".concat(dataId, "_Calendar"),
782
+ "data-test-id": "".concat(dataId, "_Calendar"),
688
783
  onClick: this.closePopup
689
784
  }, /*#__PURE__*/_react["default"].createElement(_DateTimePopupHeader["default"], {
690
785
  onOpenYearView: this.handleOpenYearView,
@@ -710,12 +805,12 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
710
805
  }), isDateTimeField ? /*#__PURE__*/_react["default"].createElement(_Time["default"], {
711
806
  timeText: timeText,
712
807
  dataId: dataId,
713
- hourSuggestions: this.hourSuggestions,
808
+ hourSuggestions: (0, _dateFormatUtils.getHourSuggestions)(is24Hour),
714
809
  onHourSelect: this.hoursSelect,
715
810
  hours: hours,
716
811
  hourEmptyText: hourEmptyText,
717
812
  needResponsive: needResponsive,
718
- minSuggestions: this.minSuggestions,
813
+ minSuggestions: (0, _dateFormatUtils.getMinuteSuggestions)(),
719
814
  onMinutesSelect: this.minutesSelect,
720
815
  mins: mins,
721
816
  minuteEmptyText: minuteEmptyText,
@@ -740,40 +835,38 @@ var DateTime = /*#__PURE__*/function (_React$PureComponent) {
740
835
  monthNamesShort: monthNamesShort,
741
836
  isMonthOpen: isMonthOpen
742
837
  })) : null));
838
+
743
839
  return isDefaultPosition ? /*#__PURE__*/_react["default"].createElement("div", {
744
840
  className: "".concat(_DateTimeModule["default"].dropBox, " ").concat(className),
745
- "data-id": "".concat(dataId, "_dateBoxContainer")
746
- }) : isReady ? /*#__PURE__*/_react["default"].createElement(_CustomResponsive.ResponsiveReceiver, {
747
- query: this.responsiveFunc,
748
- responsiveId: "Helmet"
749
- }, function (_ref4) {
750
- var tabletMode = _ref4.tabletMode;
751
- return /*#__PURE__*/_react["default"].createElement(_ResponsiveDropBox["default"], {
752
- size: boxSize,
753
- boxPosition: position,
754
- isActive: isActive,
755
- isArrow: false,
756
- isAnimate: isAnimate,
757
- animationStyle: "bounce",
758
- getRef: getRef,
759
- onClick: onClick,
760
- dataId: "".concat(dataId, "_dateBoxContainer"),
761
- needResponsive: needResponsive,
762
- isAbsolutePositioningNeeded: isAbsolute,
763
- customClass: {
764
- customDropBoxWrap: className
765
- },
766
- isPadding: isPadding,
767
- positionsOffset: positionsOffset,
768
- targetOffset: targetOffset,
769
- isRestrictScroll: isRestrictScroll,
770
- portalId: dropBoxPortalId
771
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, childEle));
772
- }) : null;
841
+ "data-id": "".concat(dataId, "_dateBoxContainer"),
842
+ "data-test-id": "".concat(dataId, "_dateBoxContainer")
843
+ }, childEle) : isReady ? /*#__PURE__*/_react["default"].createElement(_ResponsiveDropBox["default"], {
844
+ size: boxSize,
845
+ boxPosition: position,
846
+ isActive: isActive,
847
+ isArrow: false,
848
+ isAnimate: isAnimate,
849
+ animationStyle: "bounce",
850
+ getRef: getRef,
851
+ onClick: onClick,
852
+ dataId: "".concat(dataId, "_dateBoxContainer"),
853
+ needResponsive: needResponsive,
854
+ isAbsolutePositioningNeeded: isAbsolute,
855
+ customClass: {
856
+ customDropBoxWrap: className
857
+ },
858
+ isPadding: isPadding,
859
+ positionsOffset: positionsOffset,
860
+ targetOffset: targetOffset,
861
+ isRestrictScroll: isRestrictScroll,
862
+ portalId: dropBoxPortalId
863
+ }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, null, childEle)) : null;
773
864
  }
774
865
  }]);
866
+
775
867
  return DateTime;
776
868
  }(_react["default"].PureComponent);
869
+
777
870
  exports["default"] = DateTime;
778
871
  DateTime.propTypes = _propTypes.DateTime_propTypes;
779
872
  DateTime.defaultProps = _defaultProps.DateTime_defaultProps;