@zohodesk/components 1.2.23 → 1.2.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (627) hide show
  1. package/README.md +4 -0
  2. package/es/Accordion/Accordion.js +7 -3
  3. package/es/Accordion/AccordionItem.js +4 -2
  4. package/es/Animation/Animation.js +7 -89
  5. package/es/Animation/utils.js +83 -0
  6. package/es/AppContainer/AppContainer.js +14 -3
  7. package/es/AppContainer/AppContainer.module.css +2 -2
  8. package/es/Avatar/Avatar.js +23 -11
  9. package/es/Avatar/Avatar.module.css +18 -18
  10. package/es/AvatarTeam/AvatarTeam.js +3 -3
  11. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  12. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -2
  13. package/es/Button/Button.js +4 -3
  14. package/es/Button/css/Button.module.css +70 -70
  15. package/es/Buttongroup/Buttongroup.js +3 -3
  16. package/es/Buttongroup/Buttongroup.module.css +13 -15
  17. package/es/Card/Card.js +21 -10
  18. package/es/CheckBox/CheckBox.js +5 -3
  19. package/es/CheckBox/CheckBox.module.css +15 -15
  20. package/es/DateTime/CalendarView.js +32 -20
  21. package/es/DateTime/DateTime.js +69 -6
  22. package/es/DateTime/DateTime.module.css +40 -40
  23. package/es/DateTime/DateTimePopupFooter.js +4 -1
  24. package/es/DateTime/DateTimePopupHeader.js +8 -2
  25. package/es/DateTime/DateWidget.js +98 -35
  26. package/es/DateTime/DateWidget.module.css +5 -5
  27. package/es/DateTime/DaysRow.js +4 -1
  28. package/es/DateTime/Time.js +10 -1
  29. package/es/DateTime/YearView.js +28 -4
  30. package/es/DateTime/YearView.module.css +15 -15
  31. package/es/DateTime/common.js +3 -0
  32. package/es/DateTime/constants.js +1 -0
  33. package/es/DateTime/dateFormatUtils/dateFormat.js +65 -30
  34. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  35. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  36. package/es/DateTime/dateFormatUtils/index.js +31 -1
  37. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  38. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  39. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  40. package/es/DateTime/objectUtils.js +14 -20
  41. package/es/DateTime/typeChecker.js +3 -0
  42. package/es/DateTime/validator.js +58 -6
  43. package/es/DropBox/DropBox.js +6 -2
  44. package/es/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  45. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  46. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +5 -3
  47. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  48. package/es/DropBox/css/DropBox.module.css +6 -6
  49. package/es/DropBox/props/defaultProps.js +1 -2
  50. package/es/DropBox/props/propTypes.js +1 -2
  51. package/es/DropDown/DropDown.js +7 -1
  52. package/es/DropDown/DropDown.module.css +2 -2
  53. package/es/DropDown/DropDownHeading.js +4 -5
  54. package/es/DropDown/DropDownHeading.module.css +6 -6
  55. package/es/DropDown/DropDownItem.js +6 -0
  56. package/es/DropDown/DropDownItem.module.css +12 -12
  57. package/es/DropDown/DropDownSearch.js +4 -0
  58. package/es/DropDown/DropDownSearch.module.css +3 -3
  59. package/es/DropDown/DropDownSeparator.js +1 -0
  60. package/es/DropDown/DropDownSeparator.module.css +2 -2
  61. package/es/DropDown/props/propTypes.js +1 -2
  62. package/es/Heading/Heading.js +2 -3
  63. package/es/Heading/Heading.module.css +2 -2
  64. package/es/Label/Label.js +2 -3
  65. package/es/Label/Label.module.css +5 -5
  66. package/es/Label/__tests__/Label.spec.js +1 -2
  67. package/es/Layout/Box.js +15 -2
  68. package/es/Layout/Container.js +14 -3
  69. package/es/Layout/Layout.module.css +15 -15
  70. package/es/Layout/index.js +1 -2
  71. package/es/Layout/utils.js +1 -0
  72. package/es/ListItem/ListContainer.js +8 -3
  73. package/es/ListItem/ListItem.js +9 -3
  74. package/es/ListItem/ListItem.module.css +27 -38
  75. package/es/ListItem/ListItemWithAvatar.js +9 -3
  76. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  77. package/es/ListItem/ListItemWithIcon.js +8 -3
  78. package/es/ListItem/ListItemWithRadio.js +7 -3
  79. package/es/Modal/Modal.js +28 -11
  80. package/es/MultiSelect/AdvancedGroupMultiSelect.js +89 -13
  81. package/es/MultiSelect/AdvancedMultiSelect.js +32 -9
  82. package/es/MultiSelect/EmptyState.js +2 -0
  83. package/es/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  84. package/es/MultiSelect/MultiSelect.js +99 -30
  85. package/es/MultiSelect/MultiSelect.module.css +31 -31
  86. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  87. package/es/MultiSelect/MultiSelectWithAvatar.js +10 -3
  88. package/es/MultiSelect/SelectedOptions.js +6 -3
  89. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  90. package/es/MultiSelect/Suggestions.js +7 -3
  91. package/es/MultiSelect/props/propTypes.js +2 -2
  92. package/es/PopOver/PopOver.js +16 -0
  93. package/es/Popup/Popup.js +77 -24
  94. package/es/Popup/viewPort.js +16 -4
  95. package/es/Provider/IdProvider.js +10 -5
  96. package/es/Provider/LibraryContext.js +6 -4
  97. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  98. package/es/Provider/ZindexProvider.js +9 -2
  99. package/es/Radio/Radio.js +3 -0
  100. package/es/Radio/Radio.module.css +9 -9
  101. package/es/Responsive/CustomResponsive.js +30 -18
  102. package/es/Responsive/RefWrapper.js +6 -7
  103. package/es/Responsive/ResizeComponent.js +35 -25
  104. package/es/Responsive/ResizeObserver.js +26 -6
  105. package/es/Responsive/Responsive.js +34 -20
  106. package/es/Responsive/index.js +1 -3
  107. package/es/Responsive/sizeObservers.js +28 -7
  108. package/es/Responsive/utils/index.js +7 -5
  109. package/es/Responsive/utils/shallowCompare.js +7 -2
  110. package/es/Responsive/windowResizeObserver.js +7 -0
  111. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  112. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  113. package/es/ResponsiveDropBox/props/propTypes.js +1 -2
  114. package/es/Ribbon/Ribbon.js +3 -2
  115. package/es/Ribbon/Ribbon.module.css +45 -48
  116. package/es/RippleEffect/RippleEffect.js +1 -3
  117. package/es/Select/GroupSelect.js +58 -14
  118. package/es/Select/Select.js +79 -33
  119. package/es/Select/Select.module.css +23 -23
  120. package/es/Select/SelectWithAvatar.js +17 -4
  121. package/es/Select/SelectWithIcon.js +46 -5
  122. package/es/Select/props/propTypes.js +2 -2
  123. package/es/Stencils/Stencils.js +3 -3
  124. package/es/Stencils/Stencils.module.css +11 -11
  125. package/es/Switch/Switch.js +5 -3
  126. package/es/Switch/Switch.module.css +23 -23
  127. package/es/Tab/Tab.js +4 -4
  128. package/es/Tab/Tab.module.css +14 -14
  129. package/es/Tab/TabContent.js +1 -0
  130. package/es/Tab/TabContentWrapper.js +3 -0
  131. package/es/Tab/TabWrapper.js +5 -2
  132. package/es/Tab/Tabs.js +54 -7
  133. package/es/Tab/Tabs.module.css +22 -22
  134. package/es/Tag/Tag.js +6 -3
  135. package/es/Tag/Tag.module.css +24 -25
  136. package/es/TextBox/TextBox.js +16 -3
  137. package/es/TextBox/TextBox.module.css +9 -9
  138. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  139. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  140. package/es/TextBoxIcon/props/propTypes.js +1 -2
  141. package/es/Textarea/Textarea.js +12 -3
  142. package/es/Textarea/Textarea.module.css +21 -21
  143. package/es/Tooltip/Tooltip.js +58 -14
  144. package/es/Tooltip/Tooltip.module.css +5 -5
  145. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  146. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  147. package/es/common/animation.module.css +8 -8
  148. package/es/common/avatarsizes.module.css +16 -16
  149. package/es/common/basicReset.module.css +3 -3
  150. package/es/common/common.module.css +24 -24
  151. package/es/common/customscroll.module.css +2 -2
  152. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  153. package/es/semantic/Button/Button.js +3 -2
  154. package/es/semantic/Button/semanticButton.module.css +1 -1
  155. package/es/utils/Common.js +54 -9
  156. package/es/utils/ContextOptimizer.js +4 -5
  157. package/es/utils/constructFullName.js +2 -0
  158. package/es/utils/datetime/common.js +16 -5
  159. package/es/utils/debounce.js +5 -1
  160. package/es/utils/dropDownUtils.js +68 -11
  161. package/es/utils/getInitial.js +4 -0
  162. package/es/utils/shallowEqual.js +6 -0
  163. package/es/v1/Accordion/Accordion.js +4 -3
  164. package/es/v1/Accordion/AccordionItem.js +4 -2
  165. package/es/v1/Animation/Animation.js +5 -89
  166. package/es/v1/Animation/utils.js +83 -0
  167. package/es/v1/AppContainer/AppContainer.js +9 -3
  168. package/es/v1/Avatar/Avatar.js +18 -6
  169. package/es/v1/AvatarTeam/AvatarTeam.js +1 -0
  170. package/es/v1/Button/Button.js +3 -3
  171. package/es/v1/Card/Card.js +16 -8
  172. package/es/v1/CheckBox/CheckBox.js +6 -3
  173. package/es/v1/DateTime/CalendarView.js +32 -20
  174. package/es/v1/DateTime/DateTime.js +69 -6
  175. package/es/v1/DateTime/DateTimePopupFooter.js +4 -1
  176. package/es/v1/DateTime/DateTimePopupHeader.js +8 -2
  177. package/es/v1/DateTime/DateWidget.js +98 -35
  178. package/es/v1/DateTime/DaysRow.js +4 -1
  179. package/es/v1/DateTime/Time.js +10 -1
  180. package/es/v1/DateTime/YearView.js +28 -4
  181. package/es/v1/DropBox/DropBox.js +6 -2
  182. package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +7 -0
  183. package/es/v1/DropBox/props/defaultProps.js +1 -2
  184. package/es/v1/DropBox/props/propTypes.js +1 -2
  185. package/es/v1/DropDown/DropDown.js +3 -0
  186. package/es/v1/DropDown/DropDownHeading.js +2 -2
  187. package/es/v1/DropDown/DropDownItem.js +5 -0
  188. package/es/v1/DropDown/DropDownSearch.js +3 -2
  189. package/es/v1/DropDown/props/propTypes.js +1 -2
  190. package/es/v1/Heading/Heading.js +1 -3
  191. package/es/v1/Layout/Box.js +15 -2
  192. package/es/v1/Layout/Container.js +14 -3
  193. package/es/v1/ListItem/ListContainer.js +8 -3
  194. package/es/v1/ListItem/ListItem.js +10 -3
  195. package/es/v1/ListItem/ListItemWithAvatar.js +9 -1
  196. package/es/v1/ListItem/ListItemWithCheckBox.js +8 -2
  197. package/es/v1/ListItem/ListItemWithIcon.js +9 -3
  198. package/es/v1/ListItem/ListItemWithRadio.js +8 -3
  199. package/es/v1/Modal/Modal.js +17 -1
  200. package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +90 -15
  201. package/es/v1/MultiSelect/AdvancedMultiSelect.js +32 -9
  202. package/es/v1/MultiSelect/EmptyState.js +2 -0
  203. package/es/v1/MultiSelect/MultiSelect.js +100 -31
  204. package/es/v1/MultiSelect/MultiSelectHeader.js +3 -0
  205. package/es/v1/MultiSelect/MultiSelectWithAvatar.js +11 -3
  206. package/es/v1/MultiSelect/SelectedOptions.js +6 -3
  207. package/es/v1/MultiSelect/Suggestions.js +7 -3
  208. package/es/v1/MultiSelect/props/propTypes.js +2 -2
  209. package/es/v1/PopOver/PopOver.js +11 -0
  210. package/es/v1/Popup/Popup.js +77 -24
  211. package/es/v1/Provider/IdProvider.js +10 -5
  212. package/es/v1/Provider/LibraryContext.js +6 -4
  213. package/es/v1/Provider/NumberGenerator/NumberGenerator.js +21 -7
  214. package/es/v1/Provider/ZindexProvider.js +9 -2
  215. package/es/v1/Radio/Radio.js +5 -2
  216. package/es/v1/Responsive/CustomResponsive.js +30 -18
  217. package/es/v1/Responsive/RefWrapper.js +6 -7
  218. package/es/v1/Responsive/ResizeComponent.js +35 -25
  219. package/es/v1/Responsive/ResizeObserver.js +26 -6
  220. package/es/v1/Responsive/Responsive.js +34 -20
  221. package/es/v1/Responsive/index.js +1 -3
  222. package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +1 -0
  223. package/es/v1/ResponsiveDropBox/props/propTypes.js +1 -2
  224. package/es/v1/Select/GroupSelect.js +58 -14
  225. package/es/v1/Select/Select.js +81 -37
  226. package/es/v1/Select/SelectWithAvatar.js +17 -4
  227. package/es/v1/Select/SelectWithIcon.js +46 -5
  228. package/es/v1/Select/props/propTypes.js +2 -2
  229. package/es/v1/Stencils/Stencils.js +2 -0
  230. package/es/v1/Switch/Switch.js +6 -3
  231. package/es/v1/Tab/Tab.js +3 -3
  232. package/es/v1/Tab/TabContent.js +1 -0
  233. package/es/v1/Tab/TabContentWrapper.js +3 -0
  234. package/es/v1/Tab/TabWrapper.js +5 -2
  235. package/es/v1/Tab/Tabs.js +54 -9
  236. package/es/v1/Tab/v1Tab.module.css +14 -14
  237. package/es/v1/Tab/v1Tabs.module.css +22 -22
  238. package/es/v1/Tag/Tag.js +5 -1
  239. package/es/v1/TextBox/TextBox.js +14 -0
  240. package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -2
  241. package/es/v1/TextBoxIcon/props/propTypes.js +1 -2
  242. package/es/v1/Textarea/Textarea.js +10 -3
  243. package/es/v1/Tooltip/Tooltip.js +58 -14
  244. package/es/v1/Typography/Typography.js +2 -0
  245. package/es/v1/Typography/css/Typography.module.css +31 -31
  246. package/es/v1/Typography/css/cssJSLogic.js +3 -0
  247. package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -2
  248. package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +5 -4
  249. package/es/v1/semantic/Button/Button.js +1 -2
  250. package/lib/Accordion/Accordion.js +42 -18
  251. package/lib/Accordion/AccordionItem.js +40 -18
  252. package/lib/Accordion/index.js +3 -0
  253. package/lib/Accordion/props/propTypes.js +3 -0
  254. package/lib/Animation/Animation.js +42 -104
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/Animation/utils.js +94 -0
  257. package/lib/AppContainer/AppContainer.js +58 -20
  258. package/lib/AppContainer/AppContainer.module.css +2 -2
  259. package/lib/AppContainer/props/propTypes.js +3 -0
  260. package/lib/Avatar/Avatar.js +78 -38
  261. package/lib/Avatar/Avatar.module.css +18 -18
  262. package/lib/Avatar/__tests__/Avatar.spec.js +95 -71
  263. package/lib/Avatar/props/propTypes.js +3 -0
  264. package/lib/AvatarTeam/AvatarTeam.js +52 -30
  265. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  266. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +77 -61
  267. package/lib/AvatarTeam/props/propTypes.js +3 -0
  268. package/lib/Button/Button.js +33 -22
  269. package/lib/Button/__tests__/Button.spec.js +65 -48
  270. package/lib/Button/css/Button.module.css +70 -70
  271. package/lib/Button/css/cssJSLogic.js +18 -17
  272. package/lib/Button/index.js +3 -0
  273. package/lib/Button/props/defaultProps.js +2 -0
  274. package/lib/Button/props/propTypes.js +3 -0
  275. package/lib/Buttongroup/Buttongroup.js +32 -12
  276. package/lib/Buttongroup/Buttongroup.module.css +13 -15
  277. package/lib/Buttongroup/__tests__/Buttongroup.spec.js +18 -10
  278. package/lib/Buttongroup/props/propTypes.js +3 -0
  279. package/lib/Card/Card.js +102 -46
  280. package/lib/Card/index.js +4 -0
  281. package/lib/Card/props/propTypes.js +3 -0
  282. package/lib/CheckBox/CheckBox.js +71 -47
  283. package/lib/CheckBox/CheckBox.module.css +15 -15
  284. package/lib/CheckBox/props/propTypes.js +3 -0
  285. package/lib/DateTime/CalendarView.js +82 -42
  286. package/lib/DateTime/DateTime.js +244 -156
  287. package/lib/DateTime/DateTime.module.css +40 -40
  288. package/lib/DateTime/DateTimePopupFooter.js +33 -8
  289. package/lib/DateTime/DateTimePopupHeader.js +49 -17
  290. package/lib/DateTime/DateWidget.js +350 -249
  291. package/lib/DateTime/DateWidget.module.css +5 -5
  292. package/lib/DateTime/DaysRow.js +28 -5
  293. package/lib/DateTime/Time.js +75 -32
  294. package/lib/DateTime/YearView.js +76 -27
  295. package/lib/DateTime/YearView.module.css +15 -15
  296. package/lib/DateTime/common.js +6 -0
  297. package/lib/DateTime/constants.js +1 -0
  298. package/lib/DateTime/dateFormatUtils/dateFormat.js +187 -122
  299. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  300. package/lib/DateTime/dateFormatUtils/dayChange.js +15 -7
  301. package/lib/DateTime/dateFormatUtils/index.js +73 -16
  302. package/lib/DateTime/dateFormatUtils/monthChange.js +20 -9
  303. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  304. package/lib/DateTime/dateFormatUtils/yearChange.js +23 -11
  305. package/lib/DateTime/index.js +2 -0
  306. package/lib/DateTime/objectUtils.js +24 -20
  307. package/lib/DateTime/props/propTypes.js +11 -1
  308. package/lib/DateTime/typeChecker.js +4 -0
  309. package/lib/DateTime/validator.js +73 -10
  310. package/lib/DropBox/DropBox.js +45 -21
  311. package/lib/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  312. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +73 -76
  313. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +42 -34
  314. package/lib/DropBox/DropBoxElement/props/propTypes.js +3 -0
  315. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  316. package/lib/DropBox/css/DropBox.module.css +6 -6
  317. package/lib/DropBox/css/cssJSLogic.js +3 -1
  318. package/lib/DropBox/props/defaultProps.js +8 -4
  319. package/lib/DropBox/props/propTypes.js +10 -4
  320. package/lib/DropDown/DropDown.js +51 -5
  321. package/lib/DropDown/DropDown.module.css +2 -2
  322. package/lib/DropDown/DropDownHeading.js +39 -20
  323. package/lib/DropDown/DropDownHeading.module.css +6 -6
  324. package/lib/DropDown/DropDownItem.js +42 -20
  325. package/lib/DropDown/DropDownItem.module.css +12 -12
  326. package/lib/DropDown/DropDownSearch.js +40 -17
  327. package/lib/DropDown/DropDownSearch.module.css +3 -3
  328. package/lib/DropDown/DropDownSeparator.js +24 -4
  329. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  330. package/lib/DropDown/index.js +9 -0
  331. package/lib/DropDown/props/propTypes.js +10 -4
  332. package/lib/Heading/Heading.js +37 -15
  333. package/lib/Heading/Heading.module.css +2 -2
  334. package/lib/Heading/props/propTypes.js +3 -0
  335. package/lib/Label/Label.js +41 -21
  336. package/lib/Label/Label.module.css +5 -5
  337. package/lib/Label/__tests__/Label.spec.js +48 -34
  338. package/lib/Label/props/propTypes.js +3 -0
  339. package/lib/Layout/Box.js +35 -15
  340. package/lib/Layout/Container.js +33 -14
  341. package/lib/Layout/Layout.module.css +15 -15
  342. package/lib/Layout/index.js +3 -0
  343. package/lib/Layout/props/propTypes.js +3 -0
  344. package/lib/Layout/utils.js +11 -0
  345. package/lib/ListItem/ListContainer.js +55 -30
  346. package/lib/ListItem/ListItem.js +74 -45
  347. package/lib/ListItem/ListItem.module.css +27 -38
  348. package/lib/ListItem/ListItemWithAvatar.js +80 -48
  349. package/lib/ListItem/ListItemWithCheckBox.js +70 -40
  350. package/lib/ListItem/ListItemWithIcon.js +73 -44
  351. package/lib/ListItem/ListItemWithRadio.js +71 -42
  352. package/lib/ListItem/index.js +7 -0
  353. package/lib/ListItem/props/propTypes.js +6 -4
  354. package/lib/Modal/Modal.js +45 -10
  355. package/lib/Modal/props/propTypes.js +3 -0
  356. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +293 -166
  357. package/lib/MultiSelect/AdvancedMultiSelect.js +202 -125
  358. package/lib/MultiSelect/EmptyState.js +45 -24
  359. package/lib/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  360. package/lib/MultiSelect/MobileHeader/MobileHeader.module.css +5 -5
  361. package/lib/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  362. package/lib/MultiSelect/MultiSelect.js +333 -214
  363. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  364. package/lib/MultiSelect/MultiSelectHeader.js +29 -7
  365. package/lib/MultiSelect/MultiSelectWithAvatar.js +85 -43
  366. package/lib/MultiSelect/SelectedOptions.js +43 -17
  367. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  368. package/lib/MultiSelect/Suggestions.js +64 -32
  369. package/lib/MultiSelect/index.js +5 -0
  370. package/lib/MultiSelect/props/defaultProps.js +2 -0
  371. package/lib/MultiSelect/props/propTypes.js +14 -4
  372. package/lib/PopOver/PopOver.js +94 -47
  373. package/lib/PopOver/index.js +4 -0
  374. package/lib/PopOver/props/propTypes.js +3 -0
  375. package/lib/Popup/Popup.js +158 -81
  376. package/lib/Popup/viewPort.js +28 -14
  377. package/lib/Provider/AvatarSize.js +4 -0
  378. package/lib/Provider/Config.js +2 -0
  379. package/lib/Provider/CssProvider.js +4 -0
  380. package/lib/Provider/IdProvider.js +17 -6
  381. package/lib/Provider/LibraryContext.js +35 -15
  382. package/lib/Provider/LibraryContextInit.js +4 -0
  383. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  384. package/lib/Provider/ZindexProvider.js +15 -3
  385. package/lib/Provider/index.js +5 -0
  386. package/lib/Radio/Radio.js +60 -36
  387. package/lib/Radio/Radio.module.css +9 -9
  388. package/lib/Radio/__tests__/Radio.spec.js +134 -103
  389. package/lib/Radio/props/propTypes.js +3 -0
  390. package/lib/Responsive/CustomResponsive.js +73 -29
  391. package/lib/Responsive/RefWrapper.js +17 -11
  392. package/lib/Responsive/ResizeComponent.js +62 -36
  393. package/lib/Responsive/ResizeObserver.js +24 -10
  394. package/lib/Responsive/Responsive.js +80 -30
  395. package/lib/Responsive/index.js +4 -0
  396. package/lib/Responsive/props/propTypes.js +3 -0
  397. package/lib/Responsive/sizeObservers.js +53 -17
  398. package/lib/Responsive/utils/index.js +11 -3
  399. package/lib/Responsive/utils/shallowCompare.js +11 -2
  400. package/lib/Responsive/windowResizeObserver.js +8 -0
  401. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  402. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  403. package/lib/ResponsiveDropBox/props/propTypes.js +9 -4
  404. package/lib/Ribbon/Ribbon.js +33 -13
  405. package/lib/Ribbon/Ribbon.module.css +45 -48
  406. package/lib/Ribbon/__tests__/Ribbon.spec.js +24 -14
  407. package/lib/Ribbon/props/propTypes.js +3 -0
  408. package/lib/RippleEffect/RippleEffect.js +18 -10
  409. package/lib/RippleEffect/__tests__/RippleEffect.spec.js +34 -22
  410. package/lib/RippleEffect/props/propTypes.js +3 -0
  411. package/lib/Select/GroupSelect.js +229 -130
  412. package/lib/Select/Select.js +295 -211
  413. package/lib/Select/Select.module.css +23 -23
  414. package/lib/Select/SelectWithAvatar.js +102 -56
  415. package/lib/Select/SelectWithIcon.js +131 -76
  416. package/lib/Select/index.js +5 -0
  417. package/lib/Select/props/defaultProps.js +5 -4
  418. package/lib/Select/props/propTypes.js +10 -4
  419. package/lib/Stencils/Stencils.js +29 -10
  420. package/lib/Stencils/Stencils.module.css +11 -11
  421. package/lib/Stencils/__tests__/Stencils.spec.js +22 -13
  422. package/lib/Stencils/props/propTypes.js +3 -0
  423. package/lib/Switch/Switch.js +57 -34
  424. package/lib/Switch/Switch.module.css +23 -23
  425. package/lib/Switch/__tests__/Switch.spec.js +91 -72
  426. package/lib/Switch/props/propTypes.js +3 -0
  427. package/lib/Tab/Tab.js +40 -27
  428. package/lib/Tab/Tab.module.css +14 -14
  429. package/lib/Tab/TabContent.js +12 -5
  430. package/lib/Tab/TabContentWrapper.js +16 -8
  431. package/lib/Tab/TabWrapper.js +37 -19
  432. package/lib/Tab/Tabs.js +171 -91
  433. package/lib/Tab/Tabs.module.css +22 -22
  434. package/lib/Tab/index.js +6 -0
  435. package/lib/Tab/props/propTypes.js +3 -0
  436. package/lib/Tag/Tag.js +72 -43
  437. package/lib/Tag/Tag.module.css +24 -25
  438. package/lib/Tag/props/propTypes.js +3 -0
  439. package/lib/TextBox/TextBox.js +86 -60
  440. package/lib/TextBox/TextBox.module.css +9 -9
  441. package/lib/TextBox/props/propTypes.js +6 -4
  442. package/lib/TextBoxIcon/TextBoxIcon.js +80 -53
  443. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  444. package/lib/TextBoxIcon/props/propTypes.js +9 -4
  445. package/lib/Textarea/Textarea.js +54 -29
  446. package/lib/Textarea/Textarea.module.css +21 -21
  447. package/lib/Textarea/props/propTypes.js +3 -0
  448. package/lib/Tooltip/Tooltip.js +94 -31
  449. package/lib/Tooltip/Tooltip.module.css +5 -5
  450. package/lib/Tooltip/props/propTypes.js +3 -0
  451. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  452. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  453. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  454. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  455. package/lib/VelocityAnimation/index.js +3 -0
  456. package/lib/common/animation.module.css +8 -8
  457. package/lib/common/avatarsizes.module.css +16 -16
  458. package/lib/common/basicReset.module.css +3 -3
  459. package/lib/common/common.module.css +24 -24
  460. package/lib/common/customscroll.module.css +2 -2
  461. package/lib/css.js +40 -0
  462. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  463. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  464. package/lib/index.js +58 -0
  465. package/lib/semantic/Button/Button.js +42 -22
  466. package/lib/semantic/Button/props/propTypes.js +3 -0
  467. package/lib/semantic/Button/semanticButton.module.css +1 -1
  468. package/lib/semantic/index.js +2 -0
  469. package/lib/utils/Common.js +111 -18
  470. package/lib/utils/ContextOptimizer.js +16 -10
  471. package/lib/utils/constructFullName.js +13 -4
  472. package/lib/utils/datetime/common.js +34 -5
  473. package/lib/utils/debounce.js +6 -1
  474. package/lib/utils/dropDownUtils.js +175 -59
  475. package/lib/utils/dummyFunction.js +2 -0
  476. package/lib/utils/getHTMLFontSize.js +1 -0
  477. package/lib/utils/getInitial.js +6 -0
  478. package/lib/utils/index.js +1 -0
  479. package/lib/utils/scrollTo.js +2 -0
  480. package/lib/utils/shallowEqual.js +8 -0
  481. package/lib/v1/Accordion/Accordion.js +38 -19
  482. package/lib/v1/Accordion/AccordionItem.js +23 -13
  483. package/lib/v1/Accordion/index.js +3 -0
  484. package/lib/v1/Accordion/props/propTypes.js +3 -0
  485. package/lib/v1/Animation/Animation.js +24 -100
  486. package/lib/v1/Animation/props/propTypes.js +3 -0
  487. package/lib/v1/Animation/utils.js +94 -0
  488. package/lib/v1/AppContainer/AppContainer.js +46 -17
  489. package/lib/v1/AppContainer/props/propTypes.js +3 -0
  490. package/lib/v1/Avatar/Avatar.js +68 -32
  491. package/lib/v1/Avatar/props/propTypes.js +3 -0
  492. package/lib/v1/AvatarTeam/AvatarTeam.js +32 -24
  493. package/lib/v1/AvatarTeam/props/propTypes.js +3 -0
  494. package/lib/v1/Button/Button.js +32 -22
  495. package/lib/v1/Button/props/defaultProps.js +2 -0
  496. package/lib/v1/Button/props/propTypes.js +3 -0
  497. package/lib/v1/Buttongroup/Buttongroup.js +13 -5
  498. package/lib/v1/Buttongroup/props/propTypes.js +3 -0
  499. package/lib/v1/Card/Card.js +78 -44
  500. package/lib/v1/Card/index.js +4 -0
  501. package/lib/v1/Card/props/propTypes.js +3 -0
  502. package/lib/v1/CheckBox/CheckBox.js +52 -41
  503. package/lib/v1/CheckBox/props/propTypes.js +3 -0
  504. package/lib/v1/DateTime/CalendarView.js +89 -48
  505. package/lib/v1/DateTime/DateTime.js +246 -158
  506. package/lib/v1/DateTime/DateTimePopupFooter.js +33 -8
  507. package/lib/v1/DateTime/DateTimePopupHeader.js +49 -17
  508. package/lib/v1/DateTime/DateWidget.js +352 -251
  509. package/lib/v1/DateTime/DaysRow.js +28 -5
  510. package/lib/v1/DateTime/Time.js +75 -32
  511. package/lib/v1/DateTime/YearView.js +76 -27
  512. package/lib/v1/DateTime/index.js +2 -0
  513. package/lib/v1/DateTime/props/propTypes.js +11 -1
  514. package/lib/v1/DropBox/DropBox.js +45 -21
  515. package/lib/v1/DropBox/DropBoxElement/DropBoxElement.js +59 -38
  516. package/lib/v1/DropBox/DropBoxElement/props/propTypes.js +3 -0
  517. package/lib/v1/DropBox/props/defaultProps.js +8 -4
  518. package/lib/v1/DropBox/props/propTypes.js +10 -4
  519. package/lib/v1/DropDown/DropDown.js +23 -3
  520. package/lib/v1/DropDown/DropDownHeading.js +20 -13
  521. package/lib/v1/DropDown/DropDownItem.js +26 -11
  522. package/lib/v1/DropDown/DropDownSearch.js +28 -16
  523. package/lib/v1/DropDown/DropDownSeparator.js +7 -1
  524. package/lib/v1/DropDown/props/propTypes.js +10 -4
  525. package/lib/v1/Heading/Heading.js +19 -14
  526. package/lib/v1/Heading/props/propTypes.js +3 -0
  527. package/lib/v1/Label/Label.js +22 -14
  528. package/lib/v1/Label/props/propTypes.js +3 -0
  529. package/lib/v1/Layout/Box.js +35 -15
  530. package/lib/v1/Layout/Container.js +33 -14
  531. package/lib/v1/Layout/index.js +3 -0
  532. package/lib/v1/Layout/props/propTypes.js +3 -0
  533. package/lib/v1/ListItem/ListContainer.js +55 -30
  534. package/lib/v1/ListItem/ListItem.js +53 -38
  535. package/lib/v1/ListItem/ListItemWithAvatar.js +62 -39
  536. package/lib/v1/ListItem/ListItemWithCheckBox.js +49 -34
  537. package/lib/v1/ListItem/ListItemWithIcon.js +52 -37
  538. package/lib/v1/ListItem/ListItemWithRadio.js +49 -35
  539. package/lib/v1/ListItem/index.js +7 -0
  540. package/lib/v1/ListItem/props/propTypes.js +6 -4
  541. package/lib/v1/Modal/Modal.js +46 -9
  542. package/lib/v1/Modal/props/propTypes.js +3 -0
  543. package/lib/v1/MultiSelect/AdvancedGroupMultiSelect.js +294 -168
  544. package/lib/v1/MultiSelect/AdvancedMultiSelect.js +202 -125
  545. package/lib/v1/MultiSelect/EmptyState.js +45 -24
  546. package/lib/v1/MultiSelect/MobileHeader/MobileHeader.js +14 -5
  547. package/lib/v1/MultiSelect/MobileHeader/props/propTypes.js +3 -0
  548. package/lib/v1/MultiSelect/MultiSelect.js +335 -216
  549. package/lib/v1/MultiSelect/MultiSelectHeader.js +29 -7
  550. package/lib/v1/MultiSelect/MultiSelectWithAvatar.js +86 -43
  551. package/lib/v1/MultiSelect/SelectedOptions.js +43 -17
  552. package/lib/v1/MultiSelect/Suggestions.js +64 -32
  553. package/lib/v1/MultiSelect/index.js +5 -0
  554. package/lib/v1/MultiSelect/props/defaultProps.js +2 -0
  555. package/lib/v1/MultiSelect/props/propTypes.js +14 -4
  556. package/lib/v1/PopOver/PopOver.js +71 -40
  557. package/lib/v1/PopOver/props/propTypes.js +3 -0
  558. package/lib/v1/Popup/Popup.js +158 -81
  559. package/lib/v1/Provider/AvatarSize.js +4 -0
  560. package/lib/v1/Provider/Config.js +2 -0
  561. package/lib/v1/Provider/CssProvider.js +4 -0
  562. package/lib/v1/Provider/IdProvider.js +17 -6
  563. package/lib/v1/Provider/LibraryContext.js +35 -15
  564. package/lib/v1/Provider/LibraryContextInit.js +4 -0
  565. package/lib/v1/Provider/NumberGenerator/NumberGenerator.js +44 -15
  566. package/lib/v1/Provider/ZindexProvider.js +15 -3
  567. package/lib/v1/Provider/index.js +5 -0
  568. package/lib/v1/Radio/Radio.js +42 -32
  569. package/lib/v1/Radio/props/propTypes.js +3 -0
  570. package/lib/v1/Responsive/CustomResponsive.js +73 -29
  571. package/lib/v1/Responsive/RefWrapper.js +17 -11
  572. package/lib/v1/Responsive/ResizeComponent.js +62 -36
  573. package/lib/v1/Responsive/ResizeObserver.js +24 -10
  574. package/lib/v1/Responsive/Responsive.js +80 -30
  575. package/lib/v1/Responsive/index.js +4 -0
  576. package/lib/v1/Responsive/props/propTypes.js +3 -0
  577. package/lib/v1/ResponsiveDropBox/ResponsiveDropBox.js +27 -13
  578. package/lib/v1/ResponsiveDropBox/props/propTypes.js +9 -4
  579. package/lib/v1/Ribbon/Ribbon.js +14 -7
  580. package/lib/v1/Ribbon/props/propTypes.js +3 -0
  581. package/lib/v1/RippleEffect/RippleEffect.js +17 -7
  582. package/lib/v1/RippleEffect/props/propTypes.js +3 -0
  583. package/lib/v1/Select/GroupSelect.js +229 -130
  584. package/lib/v1/Select/Select.js +297 -214
  585. package/lib/v1/Select/SelectWithAvatar.js +102 -56
  586. package/lib/v1/Select/SelectWithIcon.js +131 -76
  587. package/lib/v1/Select/index.js +5 -0
  588. package/lib/v1/Select/props/defaultProps.js +5 -4
  589. package/lib/v1/Select/props/propTypes.js +10 -4
  590. package/lib/v1/Stencils/Stencils.js +13 -3
  591. package/lib/v1/Stencils/props/propTypes.js +3 -0
  592. package/lib/v1/Switch/Switch.js +38 -25
  593. package/lib/v1/Switch/props/propTypes.js +3 -0
  594. package/lib/v1/Tab/Tab.js +40 -27
  595. package/lib/v1/Tab/TabContent.js +12 -5
  596. package/lib/v1/Tab/TabContentWrapper.js +16 -8
  597. package/lib/v1/Tab/TabWrapper.js +37 -19
  598. package/lib/v1/Tab/Tabs.js +170 -83
  599. package/lib/v1/Tab/index.js +6 -0
  600. package/lib/v1/Tab/props/propTypes.js +3 -0
  601. package/lib/v1/Tab/v1Tab.module.css +14 -14
  602. package/lib/v1/Tab/v1Tabs.module.css +22 -22
  603. package/lib/v1/Tag/Tag.js +50 -32
  604. package/lib/v1/Tag/props/propTypes.js +3 -0
  605. package/lib/v1/TextBox/TextBox.js +70 -47
  606. package/lib/v1/TextBox/props/propTypes.js +6 -4
  607. package/lib/v1/TextBoxIcon/TextBoxIcon.js +80 -55
  608. package/lib/v1/TextBoxIcon/props/propTypes.js +9 -4
  609. package/lib/v1/Textarea/Textarea.js +45 -28
  610. package/lib/v1/Textarea/props/propTypes.js +3 -0
  611. package/lib/v1/Tooltip/Tooltip.js +94 -31
  612. package/lib/v1/Tooltip/props/propTypes.js +3 -0
  613. package/lib/v1/Typography/Typography.js +26 -15
  614. package/lib/v1/Typography/css/Typography.module.css +31 -31
  615. package/lib/v1/Typography/css/cssJSLogic.js +25 -20
  616. package/lib/v1/Typography/props/propTypes.js +3 -0
  617. package/lib/v1/Typography/utils/index.js +1 -0
  618. package/lib/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +25 -12
  619. package/lib/v1/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  620. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +38 -22
  621. package/lib/v1/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  622. package/lib/v1/semantic/Button/Button.js +24 -18
  623. package/lib/v1/semantic/Button/props/propTypes.js +3 -0
  624. package/lib/v1/semantic/index.js +2 -0
  625. package/package.json +2 -2
  626. package/result.json +1 -1
  627. package/.DS_Store +0 -0
@@ -16,7 +16,6 @@
16
16
  // 15.A: represent the AM or PM
17
17
  // 16.Z: represent the timezone (Asia/Kolkata)
18
18
  // 17. (O) : Offset Of the timezone (GMT+00:00)
19
-
20
19
  export const dateSymbols = {
21
20
  d: 'date',
22
21
  dd: 'date',
@@ -7,11 +7,12 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
7
7
  which
8
8
  } = event;
9
9
  const {
10
- day = '' /*month = '', year = ''*/
10
+ day = ''
11
+ /*month = '', year = ''*/
12
+
11
13
  } = values;
12
14
  let isChanged = false;
13
- let newDay = Number.parseInt(day) || 0;
14
- // const newMonth = Number.parseInt(month) || 0;
15
+ let newDay = Number.parseInt(day) || 0; // const newMonth = Number.parseInt(month) || 0;
15
16
  // const newYear = Number.parseInt(year) || 0;
16
17
 
17
18
  const {
@@ -21,8 +22,11 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
21
22
  const isNewType = getIsNewValueType(focusOrders, keyActions);
22
23
  const {
23
24
  startPoint,
24
- endPoint /*getDayEnd(newMonth, newYear);*/
25
+ endPoint
26
+ /*getDayEnd(newMonth, newYear);*/
27
+
25
28
  } = getDayDetails();
29
+
26
30
  if (keyCode === 38) {
27
31
  //up arrow
28
32
  if (newDay === endPoint || !newDay) {
@@ -45,15 +49,19 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
45
49
  const keyString = getKeyValue(event);
46
50
  let newValue = isNewType ? keyString : day.toString() + keyString;
47
51
  newValue = Number.parseInt(newValue);
52
+
48
53
  if (isNewType) {
49
54
  isChanged = true;
55
+
50
56
  if (newValue * 10 > endPoint) {
51
57
  newFocusOrder += 1;
52
58
  }
59
+
53
60
  newDay = newValue;
54
61
  } else {
55
62
  isChanged = true;
56
63
  newFocusOrder += 1;
64
+
57
65
  if (newValue > endPoint) {
58
66
  newDay = endPoint;
59
67
  } else if (!newValue) {
@@ -66,6 +74,7 @@ export function getChangedDay(values, event, focusOrders, keyActions) {
66
74
  isChanged = true;
67
75
  newDay = '';
68
76
  }
77
+
69
78
  return {
70
79
  day: newDay,
71
80
  isChanged,
@@ -2,8 +2,8 @@
2
2
 
3
3
  /** * Methods ** */
4
4
  import { getMonthEnd } from '../../utils/datetime/common';
5
-
6
5
  /** * Constants ** */
6
+
7
7
  import { flags, INVALID_DATE } from '../constants';
8
8
  import { getDateText } from './dateFormat';
9
9
  export function convertYearToTwoDigit(year) {
@@ -13,6 +13,7 @@ export function addZero() {
13
13
  let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
14
14
  let length = arguments.length > 1 ? arguments[1] : undefined;
15
15
  let newValue = value.toString();
16
+
16
17
  for (let i = 0; i < length; i++) {
17
18
  if (newValue.length < length) {
18
19
  newValue = `0${newValue}`;
@@ -20,16 +21,19 @@ export function addZero() {
20
21
  break;
21
22
  }
22
23
  }
24
+
23
25
  return newValue;
24
26
  }
25
27
  export function getDayEnd(month, year) {
26
28
  month -= 1;
27
29
  const monthend = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
30
+
28
31
  if (month && year) {
29
32
  return getMonthEnd(month, year);
30
33
  } else if (month) {
31
34
  return monthend[month];
32
35
  }
36
+
33
37
  return 31;
34
38
  }
35
39
  export function getIsNumberTyped(event) {
@@ -39,15 +43,18 @@ export function getIsNumberTyped(event) {
39
43
  metaKey,
40
44
  shiftKey
41
45
  } = event;
46
+
42
47
  if ((keyCode >= 48 && keyCode <= 57 || keyCode >= 96 && keyCode <= 105) && !ctrlKey && !metaKey && !shiftKey) {
43
48
  return true;
44
49
  }
50
+
45
51
  return false;
46
52
  }
47
53
  export function getIsDeleteTyped(keyCode) {
48
54
  if (keyCode === 8) {
49
55
  return true;
50
56
  }
57
+
51
58
  return false;
52
59
  }
53
60
  export function getIsNewValueType(focusOrders, keyActions) {
@@ -76,6 +83,7 @@ export function getMonthDetails() {
76
83
  export function getYearDetails(yearLength) {
77
84
  const dateObj = new Date();
78
85
  const year = dateObj.getFullYear();
86
+
79
87
  if (yearLength === 2) {
80
88
  return {
81
89
  startPoint: 0,
@@ -83,6 +91,7 @@ export function getYearDetails(yearLength) {
83
91
  currentYear: year
84
92
  };
85
93
  }
94
+
86
95
  return {
87
96
  startPoint: 1850,
88
97
  endPoint: 9999,
@@ -96,9 +105,11 @@ export function convertTwoDigitToYear() {
96
105
  let year = dateObj.getFullYear();
97
106
  const digitValueStr = addZero(digitValue.toString(), 2);
98
107
  year = selectedYear ? selectedYear : year;
108
+
99
109
  if (digitValueStr && digitValueStr.length <= 2) {
100
110
  return parseInt(year.toString().slice(0, 2) + digitValueStr);
101
111
  }
112
+
102
113
  return digitValue;
103
114
  }
104
115
  export function getHourDetails(is24Hour) {
@@ -113,10 +124,12 @@ export function getHourSuggestions(is24Hour) {
113
124
  endPoint
114
125
  } = getHourDetails(is24Hour);
115
126
  const hourArr = [];
127
+
116
128
  for (let hour = startPoint; hour <= endPoint; hour++) {
117
129
  const htxt = addZeroIfNeeded(hour);
118
130
  hourArr.push(htxt);
119
131
  }
132
+
120
133
  return hourArr;
121
134
  }
122
135
  export function getMinuteDetails() {
@@ -131,10 +144,12 @@ export function getMinuteSuggestions() {
131
144
  endPoint
132
145
  } = getMinuteDetails();
133
146
  const minArr = [];
147
+
134
148
  for (let minute = startPoint; minute <= endPoint; minute++) {
135
149
  const mtxt = addZeroIfNeeded(minute);
136
150
  minArr.push(mtxt);
137
151
  }
152
+
138
153
  return minArr;
139
154
  }
140
155
  export function addZeroIfNeeded(value) {
@@ -144,12 +159,14 @@ export function getIsNoonValueTyped(event) {
144
159
  const {
145
160
  keyCode
146
161
  } = event;
162
+
147
163
  if (keyCode === 65 || keyCode === 77 || keyCode === 80) {
148
164
  //A -65
149
165
  //M -77
150
166
  //P -80
151
167
  return true;
152
168
  }
169
+
153
170
  return false;
154
171
  }
155
172
  export function getNoonDetails() {
@@ -157,32 +174,42 @@ export function getNoonDetails() {
157
174
  allowedValues: ['AM', 'PM']
158
175
  };
159
176
  }
177
+
160
178
  function getIsArrowTyped(keyCode) {
161
179
  const arrowKeycodes = [37, 38, 39, 40];
180
+
162
181
  if (arrowKeycodes.indexOf(keyCode) >= 0) {
163
182
  return true;
164
183
  }
184
+
165
185
  return false;
166
186
  }
187
+
167
188
  export function getIsSupportedKey(event) {
168
189
  const {
169
190
  keyCode
170
191
  } = event;
192
+
171
193
  if (getIsArrowTyped(keyCode) || getIsDeleteTyped(keyCode) || getIsNumberTyped(event) || getIsNoonValueTyped(event)) {
172
194
  return true;
173
195
  }
196
+
174
197
  return false;
175
198
  }
176
199
  export function arrayIsNotEqual(a, b) {
177
200
  return a.some((val, index) => val !== b[index]);
178
201
  }
202
+
179
203
  function getIsEmptyValue(value, startPoint, endPoint) {
180
204
  const newValue = parseInt(value) || 0;
205
+
181
206
  if (newValue >= startPoint && newValue <= endPoint) {
182
207
  return false;
183
208
  }
209
+
184
210
  return true;
185
211
  }
212
+
186
213
  export function getIsEmptyHour(value, is24Hour) {
187
214
  const {
188
215
  startPoint,
@@ -204,6 +231,7 @@ export function getIsCurrentYear(_ref) {
204
231
  timeZone
205
232
  } = _ref;
206
233
  let isCurrentYear = false;
234
+
207
235
  if (value && value !== INVALID_DATE) {
208
236
  const dateObj = getDateText(value, isDateTime, timeZone);
209
237
  const currentDateObj = new Date();
@@ -211,6 +239,7 @@ export function getIsCurrentYear(_ref) {
211
239
  const selectedYear = dateObj.getFullYear();
212
240
  isCurrentYear = currentYear === selectedYear;
213
241
  }
242
+
214
243
  return {
215
244
  isCurrentYear
216
245
  };
@@ -223,6 +252,7 @@ export function removeYearPattern(dateFormatArr, patternArr) {
223
252
  const {
224
253
  type
225
254
  } = flags[val];
255
+
226
256
  if (type === 'year') {
227
257
  yearIndex = index;
228
258
  } else {
@@ -24,6 +24,7 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
24
24
  startPoint,
25
25
  endPoint
26
26
  } = getMonthDetails();
27
+
27
28
  if (keyCode === 38) {
28
29
  //up arrow
29
30
  if (newMonth === endPoint || !newMonth) {
@@ -46,15 +47,19 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
46
47
  const keyString = getKeyValue(event);
47
48
  let newValue = isNewType ? keyString : month.toString() + keyString;
48
49
  newValue = Number.parseInt(newValue);
50
+
49
51
  if (isNewType) {
50
52
  isChanged = true;
53
+
51
54
  if (newValue * 10 > endPoint) {
52
55
  newFocusOrder += 1;
53
56
  }
57
+
54
58
  newMonth = newValue;
55
59
  } else {
56
60
  isChanged = true;
57
61
  newFocusOrder += 1;
62
+
58
63
  if (newValue > endPoint) {
59
64
  newMonth = endPoint;
60
65
  } else if (!newValue) {
@@ -67,12 +72,15 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
67
72
  isChanged = true;
68
73
  newMonth = '';
69
74
  }
75
+
70
76
  const dayEnd = getDayEnd(newMonth, newYear);
71
77
  let dayChanged = false;
78
+
72
79
  if (newDay && newDay > dayEnd) {
73
80
  dayChanged = true;
74
81
  newDay = dayEnd;
75
82
  }
83
+
76
84
  return {
77
85
  day: dayChanged ? newDay : day,
78
86
  month: newMonth,
@@ -23,6 +23,7 @@ export function getChangedHour(values, event, focusOrders, keyActions) {
23
23
  startPoint,
24
24
  endPoint
25
25
  } = getHourDetails(is24Hour);
26
+
26
27
  if (keyCode === 38) {
27
28
  //up arrow
28
29
  if (newHour === endPoint || getIsEmptyHour(newHour, is24Hour)) {
@@ -45,15 +46,19 @@ export function getChangedHour(values, event, focusOrders, keyActions) {
45
46
  const keyString = getKeyValue(event);
46
47
  let newValue = isNewType ? keyString : hour.toString() + keyString;
47
48
  newValue = Number.parseInt(newValue);
49
+
48
50
  if (isNewType) {
49
51
  isChanged = true;
52
+
50
53
  if (newValue * 10 > endPoint) {
51
54
  newFocusOrder += 1;
52
55
  }
56
+
53
57
  newHour = newValue;
54
58
  } else {
55
59
  isChanged = true;
56
60
  newFocusOrder += 1;
61
+
57
62
  if (newValue > endPoint) {
58
63
  newHour = endPoint;
59
64
  } else if (!newValue) {
@@ -66,6 +71,7 @@ export function getChangedHour(values, event, focusOrders, keyActions) {
66
71
  isChanged = true;
67
72
  newHour = '';
68
73
  }
74
+
69
75
  return {
70
76
  hour: newHour,
71
77
  isChanged,
@@ -92,6 +98,7 @@ export function getChangedMinute(values, event, focusOrders, keyActions) {
92
98
  startPoint,
93
99
  endPoint
94
100
  } = getMinuteDetails();
101
+
95
102
  if (keyCode === 38) {
96
103
  //up arrow
97
104
  if (newMinute === endPoint || isEmptyMinute) {
@@ -114,15 +121,19 @@ export function getChangedMinute(values, event, focusOrders, keyActions) {
114
121
  const keyString = getKeyValue(event);
115
122
  let newValue = isNewType ? keyString : minute.toString() + keyString;
116
123
  newValue = Number.parseInt(newValue);
124
+
117
125
  if (isNewType) {
118
126
  isChanged = true;
127
+
119
128
  if (newValue * 10 > endPoint) {
120
129
  newFocusOrder += 1;
121
130
  }
131
+
122
132
  newMinute = newValue;
123
133
  } else {
124
134
  isChanged = true;
125
135
  newFocusOrder += 1;
136
+
126
137
  if (newValue > endPoint) {
127
138
  newMinute = endPoint;
128
139
  } else {
@@ -133,13 +144,16 @@ export function getChangedMinute(values, event, focusOrders, keyActions) {
133
144
  isChanged = true;
134
145
  newMinute = '';
135
146
  }
147
+
136
148
  return {
137
149
  minute: newMinute,
138
150
  isChanged,
139
151
  focusOrder: newFocusOrder
140
152
  };
141
153
  }
142
- export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
154
+ export function getChangedNoon(values, event, focusOrders
155
+ /*keyActions*/
156
+ ) {
143
157
  const {
144
158
  keyCode,
145
159
  which
@@ -152,9 +166,7 @@ export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
152
166
  const {
153
167
  focusOrder
154
168
  } = focusOrders;
155
- const newFocusOrder = focusOrder;
156
-
157
- // const isNewType = getIsNewValueType(focusOrders, keyActions);
169
+ const newFocusOrder = focusOrder; // const isNewType = getIsNewValueType(focusOrders, keyActions);
158
170
 
159
171
  const {
160
172
  allowedValues
@@ -162,6 +174,7 @@ export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
162
174
  const [startPoint] = allowedValues;
163
175
  const endPoint = allowedValues[allowedValues.length - 1];
164
176
  const currentNoonIndex = allowedValues.indexOf(newNoon);
177
+
165
178
  if (keyCode === 38) {
166
179
  //up arrow
167
180
  if (newNoon === endPoint || !newNoon) {
@@ -181,11 +194,11 @@ export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
181
194
  newNoon = allowedValues[currentNoonIndex - 1];
182
195
  }
183
196
  } else if (getIsNoonValueTyped(event)) {
184
- const keyString = getKeyValue(event).toUpperCase();
197
+ const keyString = getKeyValue(event).toUpperCase(); // let newValue = isNewType ? keyString : noon.toString() + keyString;
185
198
 
186
- // let newValue = isNewType ? keyString : noon.toString() + keyString;
187
199
  const newValue = keyString;
188
200
  const needChangeNoon = newNoon.indexOf(newValue) === -1 ? true : false;
201
+
189
202
  if (needChangeNoon) {
190
203
  let newValueIndex = currentNoonIndex;
191
204
  allowedValues.some((val, index) => {
@@ -193,8 +206,10 @@ export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
193
206
  newValueIndex = index;
194
207
  return true;
195
208
  }
209
+
196
210
  return false;
197
211
  });
212
+
198
213
  if (currentNoonIndex !== newValueIndex) {
199
214
  isChanged = true;
200
215
  newNoon = allowedValues[newValueIndex];
@@ -204,6 +219,7 @@ export function getChangedNoon(values, event, focusOrders /*keyActions*/) {
204
219
  isChanged = true;
205
220
  newNoon = '';
206
221
  }
222
+
207
223
  return {
208
224
  noon: newNoon,
209
225
  isChanged,
@@ -16,16 +16,17 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
16
16
  day = '',
17
17
  month = ''
18
18
  } = values;
19
- let isChanged = false;
19
+ let isChanged = false; //Year Two Digit case
20
20
 
21
- //Year Two Digit case
22
21
  const {
23
22
  length: yearLength
24
23
  } = yearInfo;
25
24
  const oldYear = year; // For get Centuries
25
+
26
26
  if (yearLength === 2) {
27
27
  year = convertYearToTwoDigit(year).toString();
28
28
  }
29
+
29
30
  let newDay = Number.parseInt(day) || 0;
30
31
  const newMonth = Number.parseInt(month) || 0;
31
32
  let newYear = Number.parseInt(year) || 0;
@@ -39,6 +40,7 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
39
40
  endPoint,
40
41
  currentYear
41
42
  } = getYearDetails(yearLength);
43
+
42
44
  if (keyCode === 38) {
43
45
  //up arrow
44
46
  if (newYear === endPoint) {
@@ -68,14 +70,17 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
68
70
  let newValue = isNewType ? keyString : year.toString() + keyString;
69
71
  const newValueString = newValue || '';
70
72
  newValue = Number.parseInt(newValue);
73
+
71
74
  if (isNewType) {
72
75
  isChanged = true;
73
76
  newYear = newValue;
74
77
  } else {
75
78
  isChanged = true;
79
+
76
80
  if (newValue * 10 > endPoint) {
77
81
  newFocusOrder += 1;
78
82
  }
83
+
79
84
  if (newValue > endPoint) {
80
85
  // newYear = endPoint;
81
86
  newYear = currentYear;
@@ -94,15 +99,19 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
94
99
  isChanged = true;
95
100
  newYear = '';
96
101
  }
102
+
97
103
  if (yearLength === 2) {
98
104
  newYear = convertTwoDigitToYear(newYear, oldYear);
99
105
  }
106
+
100
107
  const dayEnd = getDayEnd(newMonth, newYear);
101
108
  let dayChanged = false;
109
+
102
110
  if (newDay && newDay > dayEnd) {
103
111
  dayChanged = true;
104
112
  newDay = dayEnd;
105
113
  }
114
+
106
115
  return {
107
116
  day: dayChanged ? newDay : day,
108
117
  year: newYear,
@@ -4,56 +4,50 @@ export const clone = (a, b, c, d, e, f) => {
4
4
  };
5
5
  export const extract = (obj, keys, target) => {
6
6
  target = target || {};
7
+
7
8
  for (var i in obj) {
8
9
  if (keys.indexOf(i) < 0) continue;
9
10
  if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
10
11
  target[i] = obj[i];
11
12
  }
13
+
12
14
  return target;
13
15
  };
14
16
  export const omit = (obj, keys, target) => {
15
17
  target = target || {};
18
+
16
19
  for (var i in obj) {
17
20
  if (keys.indexOf(i) >= 0) continue;
18
21
  if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;
19
22
  target[i] = obj[i];
20
23
  }
24
+
21
25
  return target;
22
26
  };
23
27
  export const equals = (x, y) => {
24
- if (x === y) return true;
25
- // if both x and y are null or undefined and exactly the same
28
+ if (x === y) return true; // if both x and y are null or undefined and exactly the same
26
29
 
27
- if (x == null && y != null || x != null && y == null) return false;
28
- //break if not same null or undefined
30
+ if (x == null && y != null || x != null && y == null) return false; //break if not same null or undefined
29
31
 
30
- if (!(x instanceof Object) || !(y instanceof Object)) return false;
31
- // if they are not strictly equal, they both need to be Objects
32
+ if (!(x instanceof Object) || !(y instanceof Object)) return false; // if they are not strictly equal, they both need to be Objects
32
33
 
33
- if (x.constructor !== y.constructor) return false;
34
- // they must have the exact same prototype chain, the closest we can do is
34
+ if (x.constructor !== y.constructor) return false; // they must have the exact same prototype chain, the closest we can do is
35
35
  // test there constructor.
36
36
 
37
37
  for (var p in x) {
38
- if (!x.hasOwnProperty(p)) continue;
39
- // other properties were tested using x.constructor === y.constructor
38
+ if (!x.hasOwnProperty(p)) continue; // other properties were tested using x.constructor === y.constructor
40
39
 
41
- if (!y.hasOwnProperty(p)) return false;
42
- // allows to compare x[ p ] and y[ p ] when set to undefined
40
+ if (!y.hasOwnProperty(p)) return false; // allows to compare x[ p ] and y[ p ] when set to undefined
43
41
 
44
- if (x[p] === y[p]) continue;
45
- // if they have the same strict value or identity then they are equal
42
+ if (x[p] === y[p]) continue; // if they have the same strict value or identity then they are equal
46
43
 
47
- if (typeof x[p] !== 'object') return false;
48
- // Numbers, Strings, Functions, Booleans must be strictly equal
44
+ if (typeof x[p] !== 'object') return false; // Numbers, Strings, Functions, Booleans must be strictly equal
49
45
 
50
- if (!equals(x[p], y[p])) return false;
51
- // Objects and Arrays must be tested recursively
46
+ if (!equals(x[p], y[p])) return false; // Objects and Arrays must be tested recursively
52
47
  }
53
48
 
54
49
  for (p in y) {
55
- if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false;
56
- // allows x[ p ] to be set to undefined
50
+ if (y.hasOwnProperty(p) && !x.hasOwnProperty(p)) return false; // allows x[ p ] to be set to undefined
57
51
  }
58
52
 
59
53
  return true;
@@ -1,8 +1,10 @@
1
1
  const exports = {};
2
2
  let types = 'Array Object String Date RegExp Function Boolean Number Null Undefined'.split(' ');
3
+
3
4
  let type = function () {
4
5
  return Object.prototype.toString.call(this).slice(8, -1);
5
6
  };
7
+
6
8
  for (let i = types.length; i--;) {
7
9
  /*eslint-disable */
8
10
  exports['is' + types[i]] = function (self) {
@@ -13,4 +15,5 @@ for (let i = types.length; i--;) {
13
15
  }
14
16
  /*eslint-enable */
15
17
 
18
+
16
19
  export default exports;