@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
@@ -2,16 +2,16 @@
2
2
 
3
3
  /** * Libraries ** */
4
4
  import datetime from '@zohodesk/datetimejs';
5
-
6
5
  /** * Methods ** */
6
+
7
7
  import { getDayEnd, convertYearToTwoDigit, addZero, getMonthDetails, getYearDetails, getDayDetails, getHourDetails, getMinuteDetails, getNoonDetails, getIsCurrentYear, removeYearPattern } from './index';
8
8
  import { getIsEmptyValue } from '../../utils/Common';
9
9
  import { formatDate } from '../../utils/datetime/common';
10
-
11
10
  /** * Constants ** */
12
- import { defaultFormat, supportedPatterns,
13
- // patternChangeStr,
11
+
12
+ import { defaultFormat, supportedPatterns, // patternChangeStr,
14
13
  patternSplitStr, INCONSTANT, flags } from '../constants';
14
+
15
15
  function getDateFormatString() {
16
16
  let dateFormatArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
17
17
  let datePatternArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
@@ -21,19 +21,23 @@ function getDateFormatString() {
21
21
  return res;
22
22
  }, '');
23
23
  }
24
+
24
25
  function getIsValidPattern() {
25
26
  let dateFormatArr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
26
27
  let datePatternArr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
28
+
27
29
  const isValueInArray = function () {
28
30
  let possibleFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
29
31
  return possibleFormat.some(str => dateFormatArr.indexOf(str) >= 0);
30
32
  };
33
+
31
34
  const haveDay = isValueInArray(flags.day);
32
35
  const haveMonth = isValueInArray(flags.month);
33
36
  const haveYear = isValueInArray(flags.year);
34
37
  const isValidPattern = datePatternArr.length && datePatternArr.length <= 2 && datePatternArr.every(patternStr => supportedPatterns.indexOf(patternStr) >= 0);
35
38
  return haveDay && haveMonth && (haveYear || !haveYear) && isValidPattern;
36
39
  }
40
+
37
41
  export function getDateFormatDetails() {
38
42
  let dateFormat = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
39
43
  let {
@@ -55,17 +59,20 @@ export function getDateFormatDetails() {
55
59
  isDateTime
56
60
  });
57
61
  const isHideYear = isHideCurrentYear ? isCurrentYear : false;
62
+
58
63
  function getDateFormat(dateFormat) {
59
64
  const token = /D{1,4}|M{1,4}|YY(?:YY)?|([HhmsA])\1?|[LloSZWN]|\[[^\]]*\]|'[^']*'/gi;
60
65
  dateFormatArr = [];
61
66
  patternArr = [];
62
67
  const newDateFormat = dateFormat.replace(token, match => {
63
68
  const dateFormatArrLen = dateFormatArr.length;
69
+
64
70
  if (match in flags) {
65
71
  dateFormatArr.push(match);
66
72
  const {
67
73
  type
68
74
  } = flags[match];
75
+
69
76
  if (type === 'day') {
70
77
  dayInfo = Object.assign({}, flags[match], {
71
78
  index: dateFormatArrLen
@@ -79,28 +86,35 @@ export function getDateFormatDetails() {
79
86
  index: dateFormatArrLen
80
87
  });
81
88
  }
89
+
82
90
  return patternSplitStr;
83
91
  }
92
+
84
93
  return match.slice(1, match.length - 1);
85
94
  });
86
95
  patternArr = newDateFormat.split(patternSplitStr).reduce((res, patternStr) => {
87
96
  if (patternStr) {
88
97
  res.push(patternStr);
89
98
  }
99
+
90
100
  return res;
91
101
  }, []);
92
102
  }
103
+
93
104
  getDateFormat(dateFormat);
94
105
  const isValidPattern = getIsValidPattern(dateFormatArr, patternArr);
106
+
95
107
  if (!isValidPattern) {
96
108
  getDateFormat(defaultFormat);
97
109
  }
110
+
98
111
  if (isHideYear) {
99
112
  ({
100
113
  dateFormatArr,
101
114
  patternArr
102
115
  } = removeYearPattern(dateFormatArr, patternArr));
103
116
  }
117
+
104
118
  return {
105
119
  dateFormat: getDateFormatString(dateFormatArr, patternArr),
106
120
  dateFormatArr,
@@ -111,6 +125,7 @@ export function getDateFormatDetails() {
111
125
  isValidPattern
112
126
  };
113
127
  }
128
+
114
129
  function getDisplayFormatValue(dateVal, formatVal) {
115
130
  let {
116
131
  i18nShortMonths = [],
@@ -120,18 +135,22 @@ function getDisplayFormatValue(dateVal, formatVal) {
120
135
  length,
121
136
  type
122
137
  } = flags[formatVal] || {};
138
+
123
139
  if (length === INCONSTANT) {
124
140
  if (dateVal && formatVal === 'MMM' && i18nShortMonths.length) {
125
141
  return i18nShortMonths[dateVal - 1];
126
142
  } else if (dateVal && formatVal === 'MMMM' && i18nMonths.length) {
127
143
  return i18nMonths[dateVal - 1];
128
144
  }
145
+
129
146
  return addZero(dateVal, formatVal.length ? formatVal.length : 1);
130
147
  } else if (type === 'year' && length === 2) {
131
148
  return addZero(convertYearToTwoDigit(dateVal), length);
132
149
  }
150
+
133
151
  return addZero(dateVal, length);
134
152
  }
153
+
135
154
  function concatDate(values, dateFormatArr, patternArr, fillPlaceHolder) {
136
155
  let {
137
156
  i18nShortMonths,
@@ -152,6 +171,7 @@ function concatDate(values, dateFormatArr, patternArr, fillPlaceHolder) {
152
171
  }, '');
153
172
  return dateString;
154
173
  }
174
+
155
175
  export function getDateTimeString() {
156
176
  let values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
157
177
  let dateFormatDetails = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -184,11 +204,13 @@ export function getDateTimeString() {
184
204
  i18nMonths
185
205
  });
186
206
  let timeString = '';
207
+
187
208
  if (isDateTime) {
188
209
  hour = !getIsEmptyValue(hour) ? addZero(hour, 2) : is24Hour ? 'HH' : 'hh';
189
210
  minute = !getIsEmptyValue(minute) ? addZero(minute, 2) : 'mm';
190
211
  timeString = ` ${hour}:${minute} ${is24Hour ? '' : `${noon || '--'}`}`;
191
212
  }
213
+
192
214
  return `${dateString}${timeString}`;
193
215
  }
194
216
  export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
@@ -203,6 +225,7 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
203
225
  minute,
204
226
  noon
205
227
  } = localValues;
228
+
206
229
  if (value) {
207
230
  const dateObj = isDateTime ? datetime.toDate(datetime.tz.utcToTz(value, timeZone)) : value ? datetime.toDate(value) : new Date();
208
231
  const selectedDay = dateObj.getDate();
@@ -211,13 +234,16 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
211
234
  const newDay = day ? day : selectedDay;
212
235
  const newMonth = month ? month : selectedMonth + 1;
213
236
  const newYear = year ? year : selectedYear;
237
+
214
238
  if (isDateTime) {
215
239
  let selectedHour = dateObj.getHours();
216
240
  const selectedMinute = dateObj.getMinutes();
217
241
  const selectedNoon = selectedHour < 12 ? 'AM' : 'PM';
242
+
218
243
  if (!is24Hour) {
219
244
  selectedHour = selectedHour === 0 ? 12 : selectedHour > 12 ? selectedHour - 12 : selectedHour;
220
245
  }
246
+
221
247
  const newHour = hour ? hour : selectedHour;
222
248
  const newMinute = minute ? minute : selectedMinute;
223
249
  const newNoon = noon ? noon : selectedNoon;
@@ -230,12 +256,14 @@ export function getDateDetails(value, localValues, isDateTime, timeZone, _ref) {
230
256
  noon: newNoon
231
257
  };
232
258
  }
259
+
233
260
  return {
234
261
  day: newDay,
235
262
  month: newMonth,
236
263
  year: newYear
237
264
  };
238
265
  }
266
+
239
267
  return localValues;
240
268
  }
241
269
  export function getIsValidDate(values, isDateTime, _ref2) {
@@ -259,6 +287,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
259
287
  const value = parseInt(val);
260
288
  return getIsEmptyValue(value);
261
289
  }
290
+
262
291
  return getIsEmptyValue(val);
263
292
  });
264
293
  const haveAllValues = valuesArr.every((val, index) => {
@@ -274,8 +303,10 @@ export function getIsValidDate(values, isDateTime, _ref2) {
274
303
  } else if (val) {
275
304
  return true;
276
305
  }
306
+
277
307
  return false;
278
308
  });
309
+
279
310
  if (haveAllValues) {
280
311
  const dayEnd = getDayEnd(month, year);
281
312
  const {
@@ -300,6 +331,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
300
331
  const {
301
332
  allowedValues: noonAllowedValues
302
333
  } = getNoonDetails();
334
+
303
335
  if (dayEnd < day || dayStart > day) {
304
336
  isError = true;
305
337
  message = 'Wrong Day';
@@ -323,6 +355,7 @@ export function getIsValidDate(values, isDateTime, _ref2) {
323
355
  isError = true;
324
356
  message = 'Empty value';
325
357
  }
358
+
326
359
  return {
327
360
  isError,
328
361
  message,
@@ -347,21 +380,25 @@ export function getSelectedDate(values, props) {
347
380
  isDateTime,
348
381
  is24Hour
349
382
  } = props;
383
+
350
384
  if (!is24Hour) {
351
385
  if (parseInt(hour) === 12) {
352
386
  hour = noon === 'AM' ? 0 : 12;
353
387
  }
388
+
354
389
  if (noon === 'PM') {
355
390
  if (hour < 12) {
356
391
  hour = parseInt(hour) + 12;
357
392
  }
358
393
  }
359
394
  }
395
+
360
396
  month = parseInt(month) - 1;
361
397
  const minInMillis = min ? datetime.millis(min) : null,
362
- maxInMillis = max ? datetime.millis(max) : null;
398
+ maxInMillis = max ? datetime.millis(max) : null;
363
399
  let selectedInMillis,
364
- selectedValue = '';
400
+ selectedValue = '';
401
+
365
402
  if (isDateTime) {
366
403
  selectedInMillis = datetime.tz.tzToUtc(Date.UTC(year, month, date, hour, mins), timeZone);
367
404
  selectedValue = datetime.ISO(selectedInMillis);
@@ -369,8 +406,10 @@ export function getSelectedDate(values, props) {
369
406
  selectedInMillis = Date.UTC(year, month, date);
370
407
  selectedValue = formatDate(new Date(year, month, date), 'YYYY-MM-DD');
371
408
  }
409
+
372
410
  let isError = false;
373
411
  let errorType = '';
412
+
374
413
  if (minInMillis && minInMillis > selectedInMillis) {
375
414
  isError = true;
376
415
  errorType = 'MIN';
@@ -378,12 +417,14 @@ export function getSelectedDate(values, props) {
378
417
  isError = true;
379
418
  errorType = 'MAX';
380
419
  }
420
+
381
421
  return {
382
422
  isError,
383
423
  errorType,
384
424
  selectedValue: selectedValue
385
425
  };
386
426
  }
427
+
387
428
  function getDateFormatLength(type, length) {
388
429
  let formatVal = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
389
430
  let {
@@ -412,16 +453,20 @@ function getDateFormatLength(type, length) {
412
453
  }, isDateTime, timeZone, {
413
454
  is24Hour
414
455
  });
456
+
415
457
  if (length === INCONSTANT) {
416
458
  if (selectedMonth && formatVal === 'MMM' && i18nShortMonths.length) {
417
459
  return i18nShortMonths[selectedMonth - 1].length;
418
460
  } else if (selectedMonth && formatVal === 'MMMM' && i18nMonths.length) {
419
461
  return i18nMonths[selectedMonth - 1].length;
420
462
  }
463
+
421
464
  return formatVal.length ? formatVal.length : 1;
422
465
  }
466
+
423
467
  return length;
424
468
  }
469
+
425
470
  export function getDateFormatSelection(dateFormatDetails, isDateTime) {
426
471
  let {
427
472
  i18nShortMonths,
@@ -444,20 +489,24 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
444
489
  const clickIndex = {};
445
490
  const order = [];
446
491
  let tempLength = 0;
492
+
447
493
  function addResult(type, length) {
448
494
  const startIndex = tempLength;
449
495
  const endIndex = tempLength + length;
450
496
  const orderLen = order.length;
451
497
  focusedIndex[`${startIndex}_${endIndex}`] = orderLen;
498
+
452
499
  for (let i = startIndex; i <= endIndex; i++) {
453
500
  clickIndex[i] = orderLen;
454
501
  }
502
+
455
503
  order.push({
456
504
  type,
457
505
  index: [startIndex, endIndex]
458
506
  });
459
507
  tempLength += length;
460
508
  }
509
+
461
510
  dateFormatArr.forEach((formatVal, index) => {
462
511
  const {
463
512
  type,
@@ -481,38 +530,32 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
481
530
  addResult(type, validLength);
482
531
  tempLength += patternVal.length;
483
532
  });
533
+
484
534
  if (isDateTime) {
485
535
  //For space between date and time
486
- tempLength += 1;
536
+ tempLength += 1; //hour
487
537
 
488
- //hour
489
- addResult('hour', 2);
538
+ addResult('hour', 2); //For :
490
539
 
491
- //For :
492
- tempLength += 1;
540
+ tempLength += 1; //minute
493
541
 
494
- //minute
495
- addResult('minute', 2);
542
+ addResult('minute', 2); //For space between time and noon
496
543
 
497
- //For space between time and noon
498
- tempLength += 1;
544
+ tempLength += 1; //noon
499
545
 
500
- //noon
501
546
  if (!is24Hour) {
502
547
  addResult('noon', 2);
503
548
  }
504
549
  }
550
+
505
551
  return {
506
552
  focusedIndex,
507
553
  clickIndex,
508
554
  order
509
555
  };
510
- }
511
-
512
- // export function getDateValues(date = '', dateFormatDetails = {}) {
556
+ } // export function getDateValues(date = '', dateFormatDetails = {}) {
513
557
  // const { dateFormatArr, patternArr, dayInfo, monthInfo, yearInfo } =
514
558
  // dateFormatDetails;
515
-
516
559
  // const newDate = date.split('').reduce((res, str) => {
517
560
  // if (patternArr.indexOf(str) >= 0) {
518
561
  // res += patternChangeStr;
@@ -521,21 +564,16 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
521
564
  // }
522
565
  // return res;
523
566
  // }, '');
524
-
525
567
  // const dateArr = newDate.split(patternChangeStr);
526
-
527
568
  // const { index: dayIndex, length: dayLength } = dayInfo;
528
569
  // let day = dateArr[dayIndex];
529
570
  // day = addZero(day, dayLength);
530
-
531
571
  // const { index: monthIndex, length: monthLength } = monthInfo;
532
572
  // let month = dateArr[monthIndex];
533
573
  // month = addZero(month, monthLength);
534
-
535
574
  // const { index: yearIndex, length: yearLength } = yearInfo;
536
575
  // let year = dateArr[yearIndex];
537
576
  // year = addZero(year, yearLength);
538
-
539
577
  // return {
540
578
  // day,
541
579
  // month,
@@ -543,21 +581,16 @@ export function getDateFormatSelection(dateFormatDetails, isDateTime) {
543
581
  // dateString: concatDate({ day, month, year }, dateFormatArr, patternArr)
544
582
  // };
545
583
  // }
546
-
547
584
  // export function getDateTimeValues(value = '', dateFormatDetails = {}) {
548
585
  // const [date, time = '', noon = ''] = value.split(' ');
549
-
550
586
  // let [hour = '', minute = ''] = time.split(':');
551
587
  // hour = addZero(hour, 2);
552
588
  // minute = addZero(minute, 2);
553
-
554
589
  // const { day, month, year, dateString } = getDateValues(
555
590
  // date,
556
591
  // dateFormatDetails
557
592
  // );
558
-
559
593
  // const timeString = `${hour}:${minute}`;
560
-
561
594
  // return {
562
595
  // day,
563
596
  // month,
@@ -0,0 +1,42 @@
1
+ // Date Pattern Letters And its Meanings :-
2
+ // 1. d/D: day without 0 prefix on single digit.
3
+ // 2. dd/DD: day with 0 prefix if single digit.
4
+ // 3. M: Month without 0 prefix on single digit.
5
+ // 4. MM: Month with 0 prefix if single digit.
6
+ // 5. yy/YY: Last two digit of year.
7
+ // 6. yyyy/YYYY: represents full year.
8
+ // 7. HH: 24 hour based hour. ie. 13:00. **H** will display hour without prefix 0 if single digit
9
+ // 8. hh: 12 hour based hour. ie. 01:00. **h** will display hour without prefix 0 if single digit
10
+ // 9. m: minute without 0 prefix on single digit.
11
+ // 10.mm: minute with 0 prefix if single digit.
12
+ // 11.s: second without 0 prefix on single digit.
13
+ // 12.ss: second with 0 prefix if single digit.
14
+ // 13.S: milliseconds with 0 prefix if single digit.
15
+ // 14.a: represent the AM or PM
16
+ // 15.A: represent the AM or PM
17
+ // 16.Z: represent the timezone (Asia/Kolkata)
18
+ // 17. (O) : Offset Of the timezone (GMT+00:00)
19
+ export const dateSymbols = {
20
+ d: 'date',
21
+ dd: 'date',
22
+ DD: 'date',
23
+ M: 'month',
24
+ MM: 'month',
25
+ yy: 'year',
26
+ YY: 'year',
27
+ YYYY: 'year',
28
+ yyyy: 'year',
29
+ h: 'hour',
30
+ hh: 'hour',
31
+ H: 'hour',
32
+ HH: 'hour',
33
+ m: 'minute',
34
+ mm: 'minute',
35
+ s: 'second',
36
+ ss: 'second',
37
+ S: 'millisecond',
38
+ a: 'AMPM',
39
+ Z: 'timezone',
40
+ O: 'offset'
41
+ };
42
+ export const dataFormatList = ['yyyy/MM/dd', 'yyyy-MM-dd', 'yyyy.MM.dd', 'yyyy MM dd', 'MM/dd/yyyy', 'MM-dd-yyyy', 'MM.dd.yyyy', 'MM dd yyyy', 'dd/MM/yyyy', 'dd-MM-yyyy', 'dd.MM.yyyy', 'dd MM yyyy', 'yyyy/MMM/dd', 'yyyy-MMM-dd', 'yyyy.MMM.dd', 'yyyy MMM dd', 'MMM/dd/yyyy', 'MMM-dd-yyyy', 'MMM.dd.yyyy', 'MMM dd yyyy', 'dd/MMM/yyyy', 'dd-MMM-yyyy', 'dd.MMM.yyyy', 'dd MMM yyyy', 'dd/MMMM/yyyy', 'dd-MMMM-yyyy', 'dd-MMMM-yyyy', 'dd MMMM yyyy', 'MMMM/dd/yyyy', 'MMMM-dd-yyyy', 'MMMM.dd.yyyy', 'MMMM dd yyyy', 'yyyy/MMMM/dd', 'yyyy-MMMM-dd', 'yyyy.MMMM.dd', 'yyyy MMMM dd', 'dd/MM/YY', 'dd-MM-YY', 'dd.MM.YY', 'dd MM YY', 'MM/dd/YY', 'MM-dd-YY', 'MM.dd.YY', 'MM dd YY', 'YY/MM/dd', 'YY-MM-dd', 'YY.MM.dd', 'YY MM dd', 'dd/MMM/YY', 'dd-MMM-YY', 'dd.MMM.YY', 'dd MMM YY', 'MMM/dd/YY', 'MMM-dd-YY', 'MMM.dd.YY', 'MMM dd YY', 'YY/MMM/dd', 'YY-MMM-dd', 'YY.MMM.dd', 'YY MMM dd', 'dd/MMMM/YY', 'dd-MMMM-YY', 'dd.MMMM.YY', 'dd MMMM YY', 'MMMM/dd/YY', 'MMMM-dd-YY', 'MMMM.dd.YY', 'MMMM dd YY', 'YY/MMMM/dd', 'YY-MMMM-dd', 'YY.MMMM.dd', 'YY MMMM dd'];
@@ -6,11 +6,12 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
6
6
  which
7
7
  } = event;
8
8
  const {
9
- day = '' /*month = '', year = ''*/
9
+ day = ''
10
+ /*month = '', year = ''*/
11
+
10
12
  } = values;
11
13
  let isChanged = false;
12
- let newDay = Number.parseInt(day) || 0;
13
- // const newMonth = Number.parseInt(month) || 0;
14
+ let newDay = Number.parseInt(day) || 0; // const newMonth = Number.parseInt(month) || 0;
14
15
  // const newYear = Number.parseInt(year) || 0;
15
16
 
16
17
  const {
@@ -20,8 +21,11 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
20
21
  const isNewType = getIsNewValueType(focusOrders, keyActions);
21
22
  const {
22
23
  startPoint,
23
- endPoint /*getDayEnd(newMonth, newYear);*/
24
+ endPoint
25
+ /*getDayEnd(newMonth, newYear);*/
26
+
24
27
  } = getDayDetails();
28
+
25
29
  if (keyCode === 38) {
26
30
  //up arrow
27
31
  if (newDay === endPoint || !newDay) {
@@ -44,15 +48,19 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
44
48
  const keyString = String.fromCharCode(which);
45
49
  let newValue = isNewType ? keyString : day.toString() + keyString;
46
50
  newValue = Number.parseInt(newValue);
51
+
47
52
  if (isNewType) {
48
53
  isChanged = true;
54
+
49
55
  if (newValue * 10 > endPoint) {
50
56
  newFocusOrder += 1;
51
57
  }
58
+
52
59
  newDay = newValue;
53
60
  } else {
54
61
  isChanged = true;
55
62
  newFocusOrder += 1;
63
+
56
64
  if (newValue > endPoint) {
57
65
  newDay = endPoint;
58
66
  } else if (!newValue) {
@@ -65,6 +73,7 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
65
73
  isChanged = true;
66
74
  newDay = '';
67
75
  }
76
+
68
77
  return {
69
78
  day: newDay,
70
79
  isChanged,