@zohodesk/components 1.0.0-temp-164 → 1.0.0-temp-165

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 (560) hide show
  1. package/README.md +1237 -1212
  2. package/assets/Appearance/dark/mode/{Component_DarkMode.module.css → darkMode.module.css} +4 -4
  3. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkModifyCategory.module.css → blueDarkCTAModifyCategory.module.css} +1 -1
  4. package/assets/Appearance/dark/themes/blue/{blue_CTA_DarkTheme.module.css → blueDarkCTATheme.module.css} +2 -3
  5. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +45 -0
  6. package/assets/Appearance/dark/themes/green/{green_CTA_DarkTheme.module.css → greenDarkCTATheme.module.css} +1 -2
  7. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +45 -0
  8. package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkTheme.module.css → orangeDarkCTATheme.module.css} +1 -2
  9. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +45 -0
  10. package/assets/Appearance/dark/themes/red/{red_CTA_DarkTheme.module.css → redDarkCTATheme.module.css} +1 -2
  11. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +45 -0
  12. package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkTheme.module.css → yellowDarkCTATheme.module.css} +1 -2
  13. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +45 -0
  14. package/assets/Appearance/{light/mode/Component_LightMode.module.css → default/mode/defaultMode.module.css} +155 -155
  15. package/assets/Appearance/{light/themes/blue/blue_CTA_LightModifyCategory.module.css → default/themes/blue/blueDefaultCTAModifyCategory.module.css} +451 -451
  16. package/assets/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +34 -0
  17. package/assets/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +45 -0
  18. package/assets/Appearance/{light/themes/green/green_CTA_LightModifyCategory.module.css → default/themes/green/greenDefaultCTAModifyCategory.module.css} +451 -451
  19. package/assets/Appearance/default/themes/green/greenDefaultCTATheme.module.css +34 -0
  20. package/assets/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +45 -0
  21. package/assets/Appearance/{light/themes/orange/orange_CTA_LightModifyCategory.module.css → default/themes/orange/orangeDefaultCTAModifyCategory.module.css} +451 -451
  22. package/assets/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +34 -0
  23. package/assets/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +45 -0
  24. package/assets/Appearance/{light/themes/red/red_CTA_LightModifyCategory.module.css → default/themes/red/redDefaultCTAModifyCategory.module.css} +451 -451
  25. package/assets/Appearance/default/themes/red/redDefaultCTATheme.module.css +34 -0
  26. package/assets/Appearance/default/themes/red/redDefaultComponentTheme.module.css +45 -0
  27. package/assets/Appearance/{light/themes/yellow/yellow_CTA_LightModifyCategory.module.css → default/themes/yellow/yellowDefaultCTAModifyCategory.module.css} +451 -451
  28. package/assets/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +34 -0
  29. package/assets/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +45 -0
  30. package/assets/Appearance/pureDark/mode/{Component_PureDarkMode.module.css → pureDarkMode.module.css} +3 -3
  31. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkModifyCategory.module.css → bluePureDarkCTAModifyCategory.module.css} +1 -1
  32. package/assets/Appearance/pureDark/themes/blue/{blue_CTA_PureDarkTheme.module.css → bluePureDarkCTATheme.module.css} +2 -3
  33. package/assets/Appearance/pureDark/themes/blue/bluePureDarkComponentTheme.module.css +45 -0
  34. package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkTheme.module.css → greenPureDarkCTATheme.module.css} +1 -2
  35. package/assets/Appearance/pureDark/themes/green/greenPureDarkComponentTheme.module.css +45 -0
  36. package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkTheme.module.css → orangePureDarkCTATheme.module.css} +1 -2
  37. package/assets/Appearance/pureDark/themes/orange/orangePureDarkComponentTheme.module.css +45 -0
  38. package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkTheme.module.css → redPureDarkCTATheme.module.css} +1 -2
  39. package/assets/Appearance/pureDark/themes/red/redPureDarkComponentTheme.module.css +45 -0
  40. package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkTheme.module.css → yellowPureDarkCTATheme.module.css} +1 -2
  41. package/assets/Appearance/pureDark/themes/yellow/yellowPureDarkComponentTheme.module.css +45 -0
  42. package/assets/Contrast/defaultContrastLightness.module.css +39 -0
  43. package/es/Accordion/Accordion.js +8 -3
  44. package/es/Accordion/AccordionItem.js +5 -2
  45. package/es/Animation/Animation.js +3 -3
  46. package/es/AppContainer/AppContainer.js +27 -10
  47. package/es/AppContainer/AppContainer.module.css +18 -18
  48. package/es/AppContainer/props/defaultProps.js +2 -1
  49. package/es/AppContainer/props/propTypes.js +1 -0
  50. package/es/Avatar/Avatar.js +35 -20
  51. package/es/Avatar/Avatar.module.css +175 -175
  52. package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  53. package/es/AvatarTeam/AvatarTeam.js +11 -10
  54. package/es/AvatarTeam/AvatarTeam.module.css +189 -189
  55. package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  56. package/es/Button/Button.js +9 -7
  57. package/es/Button/css/Button.module.css +525 -525
  58. package/es/Buttongroup/Buttongroup.js +5 -4
  59. package/es/Buttongroup/Buttongroup.module.css +105 -106
  60. package/es/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  61. package/es/Card/Card.js +25 -14
  62. package/es/Card/Card.module.css +20 -20
  63. package/es/CheckBox/CheckBox.js +5 -3
  64. package/es/CheckBox/CheckBox.module.css +157 -157
  65. package/es/DateTime/CalendarView.js +33 -20
  66. package/es/DateTime/DateTime.js +78 -11
  67. package/es/DateTime/DateTime.module.css +235 -235
  68. package/es/DateTime/DateTimePopupFooter.js +4 -2
  69. package/es/DateTime/DateTimePopupHeader.js +8 -2
  70. package/es/DateTime/DateWidget.js +100 -35
  71. package/es/DateTime/DateWidget.module.css +38 -38
  72. package/es/DateTime/DaysRow.js +4 -2
  73. package/es/DateTime/Time.js +10 -2
  74. package/es/DateTime/YearView.js +28 -4
  75. package/es/DateTime/YearView.module.css +98 -98
  76. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  77. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  78. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  79. package/es/DateTime/common.js +3 -0
  80. package/es/DateTime/constants.js +1 -0
  81. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  82. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  83. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  84. package/es/DateTime/dateFormatUtils/index.js +32 -2
  85. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  86. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  87. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  88. package/es/DateTime/index.js +0 -0
  89. package/es/DateTime/objectUtils.js +14 -20
  90. package/es/DateTime/props/defaultProps.js +2 -1
  91. package/es/DateTime/typeChecker.js +3 -0
  92. package/es/DateTime/validator.js +58 -6
  93. package/es/DropBox/DropBox.js +9 -5
  94. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  95. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  96. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  97. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  98. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  99. package/es/DropBox/DropBoxPositionMapping.json +144 -144
  100. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  101. package/es/DropBox/css/DropBox.module.css +58 -58
  102. package/es/DropBox/props/defaultProps.js +1 -2
  103. package/es/DropBox/props/propTypes.js +1 -2
  104. package/es/DropDown/DropDown.js +10 -5
  105. package/es/DropDown/DropDown.module.css +5 -5
  106. package/es/DropDown/DropDownHeading.js +5 -5
  107. package/es/DropDown/DropDownHeading.module.css +53 -53
  108. package/es/DropDown/DropDownItem.js +8 -1
  109. package/es/DropDown/DropDownItem.module.css +94 -94
  110. package/es/DropDown/DropDownSearch.js +4 -0
  111. package/es/DropDown/DropDownSearch.module.css +14 -14
  112. package/es/DropDown/DropDownSeparator.js +1 -0
  113. package/es/DropDown/DropDownSeparator.module.css +7 -7
  114. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  115. package/es/Heading/Heading.js +3 -3
  116. package/es/Heading/Heading.module.css +4 -4
  117. package/es/Label/Label.js +12 -7
  118. package/es/Label/Label.module.css +52 -52
  119. package/es/Label/LabelColors.module.css +20 -20
  120. package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  121. package/es/Label/props/propTypes.js +4 -1
  122. package/es/Layout/Box.js +17 -3
  123. package/es/Layout/Container.js +16 -4
  124. package/es/Layout/Layout.module.css +335 -335
  125. package/es/Layout/index.js +1 -2
  126. package/es/Layout/props/defaultProps.js +2 -0
  127. package/es/Layout/props/propTypes.js +2 -0
  128. package/es/Layout/utils.js +5 -1
  129. package/es/ListItem/ListContainer.js +8 -3
  130. package/es/ListItem/ListItem.js +9 -3
  131. package/es/ListItem/ListItem.module.css +216 -216
  132. package/es/ListItem/ListItemWithAvatar.js +9 -3
  133. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  134. package/es/ListItem/ListItemWithIcon.js +8 -3
  135. package/es/ListItem/ListItemWithRadio.js +7 -3
  136. package/es/Modal/Modal.js +28 -11
  137. package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -18
  138. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  139. package/es/MultiSelect/EmptyState.js +6 -0
  140. package/es/MultiSelect/MultiSelect.js +105 -37
  141. package/es/MultiSelect/MultiSelect.module.css +206 -206
  142. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  143. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  144. package/es/MultiSelect/SelectedOptions.js +6 -3
  145. package/es/MultiSelect/SelectedOptions.module.css +15 -15
  146. package/es/MultiSelect/Suggestions.js +7 -3
  147. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  148. package/es/MultiSelect/props/propTypes.js +2 -0
  149. package/es/PopOver/PopOver.js +18 -2
  150. package/es/PopOver/PopOver.module.css +8 -8
  151. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  152. package/es/Popup/Popup.js +77 -27
  153. package/es/Popup/PositionMapping.json +73 -73
  154. package/es/Popup/__tests__/Popup.spec.js +17 -5
  155. package/es/Popup/viewPort.js +16 -4
  156. package/es/Provider/IdProvider.js +10 -5
  157. package/es/Provider/LibraryContext.js +6 -4
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  159. package/es/Provider/ZindexProvider.js +9 -2
  160. package/es/Radio/Radio.js +4 -2
  161. package/es/Radio/Radio.module.css +112 -112
  162. package/es/Responsive/CustomResponsive.js +30 -18
  163. package/es/Responsive/RefWrapper.js +6 -7
  164. package/es/Responsive/ResizeComponent.js +35 -25
  165. package/es/Responsive/ResizeObserver.js +26 -6
  166. package/es/Responsive/Responsive.js +34 -20
  167. package/es/Responsive/index.js +1 -3
  168. package/es/Responsive/sizeObservers.js +28 -7
  169. package/es/Responsive/utils/index.js +7 -5
  170. package/es/Responsive/utils/shallowCompare.js +7 -2
  171. package/es/Responsive/windowResizeObserver.js +7 -0
  172. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  173. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  174. package/es/Ribbon/Ribbon.js +4 -2
  175. package/es/Ribbon/Ribbon.module.css +454 -456
  176. package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  177. package/es/RippleEffect/RippleEffect.js +1 -3
  178. package/es/RippleEffect/RippleEffect.module.css +92 -92
  179. package/es/Select/GroupSelect.js +59 -14
  180. package/es/Select/Select.js +81 -34
  181. package/es/Select/Select.module.css +108 -108
  182. package/es/Select/SelectWithAvatar.js +19 -4
  183. package/es/Select/SelectWithIcon.js +48 -6
  184. package/es/Select/__tests__/Select.spec.js +6 -8
  185. package/es/Select/props/propTypes.js +1 -0
  186. package/es/Stencils/Stencils.js +3 -3
  187. package/es/Stencils/Stencils.module.css +96 -96
  188. package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  189. package/es/Switch/Switch.js +6 -3
  190. package/es/Switch/Switch.module.css +127 -127
  191. package/es/Tab/Tab.js +4 -4
  192. package/es/Tab/Tab.module.css +100 -100
  193. package/es/Tab/TabContent.js +1 -0
  194. package/es/Tab/TabContent.module.css +4 -4
  195. package/es/Tab/TabContentWrapper.js +2 -0
  196. package/es/Tab/TabWrapper.js +5 -2
  197. package/es/Tab/Tabs.js +73 -25
  198. package/es/Tab/Tabs.module.css +136 -154
  199. package/es/Tab/__tests__/Tab.spec.js +1 -3
  200. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  201. package/es/Tag/Tag.js +15 -11
  202. package/es/Tag/Tag.module.css +254 -254
  203. package/es/TextBox/TextBox.js +16 -3
  204. package/es/TextBox/TextBox.module.css +158 -158
  205. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  206. package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  207. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  208. package/es/TextBoxIcon/TextBoxIcon.module.css +79 -79
  209. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  210. package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  211. package/es/Textarea/Textarea.js +13 -3
  212. package/es/Textarea/Textarea.module.css +139 -139
  213. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  214. package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  215. package/es/Tooltip/Tooltip.js +60 -15
  216. package/es/Tooltip/Tooltip.module.css +140 -140
  217. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  218. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  219. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  220. package/es/common/a11y.module.css +3 -3
  221. package/es/common/animation.module.css +624 -624
  222. package/es/common/avatarsizes.module.css +48 -48
  223. package/es/common/basic.module.css +33 -33
  224. package/es/common/basicReset.module.css +40 -40
  225. package/es/common/boxShadow.module.css +33 -33
  226. package/es/common/common.module.css +524 -524
  227. package/es/common/customscroll.module.css +91 -91
  228. package/es/common/reset.module.css +13 -13
  229. package/es/common/transition.module.css +146 -146
  230. package/es/deprecated/AdvancedMultiSelect.module.css +126 -126
  231. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  232. package/es/semantic/Button/Button.js +4 -2
  233. package/es/semantic/Button/semanticButton.module.css +9 -9
  234. package/es/utils/Common.js +58 -9
  235. package/es/utils/ContextOptimizer.js +4 -5
  236. package/es/utils/__tests__/debounce.spec.js +2 -2
  237. package/es/utils/constructFullName.js +2 -0
  238. package/es/utils/css/compileClassNames.js +5 -0
  239. package/es/utils/css/mergeStyle.js +7 -6
  240. package/es/utils/css/utils.js +1 -0
  241. package/es/utils/datetime/GMTZones.js +48 -0
  242. package/es/utils/datetime/common.js +31 -7
  243. package/es/utils/debounce.js +5 -1
  244. package/es/utils/dropDownUtils.js +68 -11
  245. package/es/utils/getInitial.js +4 -0
  246. package/es/utils/shallowEqual.js +6 -0
  247. package/install.md +10 -10
  248. package/lib/Accordion/Accordion.js +43 -18
  249. package/lib/Accordion/AccordionItem.js +41 -18
  250. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  251. package/lib/Accordion/index.js +3 -0
  252. package/lib/Accordion/props/propTypes.js +3 -0
  253. package/lib/Animation/Animation.js +38 -18
  254. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  255. package/lib/Animation/props/propTypes.js +3 -0
  256. package/lib/AppContainer/AppContainer.js +66 -26
  257. package/lib/AppContainer/AppContainer.module.css +18 -18
  258. package/lib/AppContainer/props/defaultProps.js +2 -1
  259. package/lib/AppContainer/props/propTypes.js +4 -0
  260. package/lib/Avatar/Avatar.js +90 -47
  261. package/lib/Avatar/Avatar.module.css +175 -175
  262. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  263. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -288
  264. package/lib/Avatar/props/propTypes.js +3 -0
  265. package/lib/AvatarTeam/AvatarTeam.js +60 -37
  266. package/lib/AvatarTeam/AvatarTeam.module.css +189 -189
  267. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  268. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -226
  269. package/lib/AvatarTeam/props/propTypes.js +3 -0
  270. package/lib/Button/Button.js +36 -24
  271. package/lib/Button/css/Button.module.css +525 -525
  272. package/lib/Button/css/cssJSLogic.js +18 -17
  273. package/lib/Button/index.js +3 -0
  274. package/lib/Button/props/defaultProps.js +2 -0
  275. package/lib/Button/props/propTypes.js +3 -0
  276. package/lib/Buttongroup/Buttongroup.js +34 -13
  277. package/lib/Buttongroup/Buttongroup.module.css +105 -106
  278. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  279. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -146
  280. package/lib/Buttongroup/props/propTypes.js +3 -0
  281. package/lib/Card/Card.js +106 -50
  282. package/lib/Card/Card.module.css +20 -20
  283. package/lib/Card/__tests__/Card.spec.js +10 -1
  284. package/lib/Card/index.js +4 -0
  285. package/lib/Card/props/propTypes.js +3 -0
  286. package/lib/CheckBox/CheckBox.js +71 -47
  287. package/lib/CheckBox/CheckBox.module.css +157 -157
  288. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  289. package/lib/CheckBox/props/propTypes.js +3 -0
  290. package/lib/DateTime/CalendarView.js +83 -42
  291. package/lib/DateTime/DateTime.js +249 -159
  292. package/lib/DateTime/DateTime.module.css +235 -235
  293. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  294. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  295. package/lib/DateTime/DateWidget.js +354 -250
  296. package/lib/DateTime/DateWidget.module.css +38 -38
  297. package/lib/DateTime/DaysRow.js +27 -5
  298. package/lib/DateTime/Time.js +73 -32
  299. package/lib/DateTime/YearView.js +77 -28
  300. package/lib/DateTime/YearView.module.css +98 -98
  301. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  302. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  303. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  304. package/lib/DateTime/common.js +6 -0
  305. package/lib/DateTime/constants.js +1 -0
  306. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  307. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  308. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  309. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  310. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  311. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  312. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  313. package/lib/DateTime/index.js +2 -0
  314. package/lib/DateTime/objectUtils.js +24 -20
  315. package/lib/DateTime/props/defaultProps.js +2 -1
  316. package/lib/DateTime/props/propTypes.js +11 -1
  317. package/lib/DateTime/typeChecker.js +4 -0
  318. package/lib/DateTime/validator.js +73 -10
  319. package/lib/DropBox/DropBox.js +36 -12
  320. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  321. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +434 -428
  322. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  323. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  324. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  325. package/lib/DropBox/DropBoxPositionMapping.json +144 -144
  326. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  327. package/lib/DropBox/css/DropBox.module.css +58 -58
  328. package/lib/DropBox/css/cssJSLogic.js +3 -1
  329. package/lib/DropBox/props/defaultProps.js +8 -4
  330. package/lib/DropBox/props/propTypes.js +10 -4
  331. package/lib/DropDown/DropDown.js +54 -9
  332. package/lib/DropDown/DropDown.module.css +5 -5
  333. package/lib/DropDown/DropDownHeading.js +40 -20
  334. package/lib/DropDown/DropDownHeading.module.css +53 -53
  335. package/lib/DropDown/DropDownItem.js +44 -21
  336. package/lib/DropDown/DropDownItem.module.css +94 -94
  337. package/lib/DropDown/DropDownSearch.js +40 -17
  338. package/lib/DropDown/DropDownSearch.module.css +14 -14
  339. package/lib/DropDown/DropDownSeparator.js +24 -4
  340. package/lib/DropDown/DropDownSeparator.module.css +7 -7
  341. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  342. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  343. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  344. package/lib/DropDown/index.js +9 -0
  345. package/lib/DropDown/props/propTypes.js +6 -4
  346. package/lib/Heading/Heading.js +39 -16
  347. package/lib/Heading/Heading.module.css +4 -4
  348. package/lib/Heading/props/propTypes.js +3 -0
  349. package/lib/Label/Label.js +45 -20
  350. package/lib/Label/Label.module.css +52 -52
  351. package/lib/Label/LabelColors.module.css +20 -20
  352. package/lib/Label/__tests__/Label.spec.js +14 -1
  353. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -101
  354. package/lib/Label/props/propTypes.js +7 -1
  355. package/lib/Layout/Box.js +39 -15
  356. package/lib/Layout/Container.js +37 -14
  357. package/lib/Layout/Layout.module.css +335 -335
  358. package/lib/Layout/__tests__/Box.spec.js +65 -49
  359. package/lib/Layout/__tests__/Container.spec.js +67 -50
  360. package/lib/Layout/index.js +3 -0
  361. package/lib/Layout/props/defaultProps.js +2 -0
  362. package/lib/Layout/props/propTypes.js +5 -0
  363. package/lib/Layout/utils.js +15 -1
  364. package/lib/ListItem/ListContainer.js +48 -27
  365. package/lib/ListItem/ListItem.js +69 -45
  366. package/lib/ListItem/ListItem.module.css +216 -216
  367. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  368. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  369. package/lib/ListItem/ListItemWithIcon.js +68 -44
  370. package/lib/ListItem/ListItemWithRadio.js +65 -41
  371. package/lib/ListItem/index.js +7 -0
  372. package/lib/ListItem/props/propTypes.js +6 -4
  373. package/lib/Modal/Modal.js +45 -10
  374. package/lib/Modal/props/propTypes.js +3 -0
  375. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +300 -171
  376. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  377. package/lib/MultiSelect/EmptyState.js +49 -24
  378. package/lib/MultiSelect/MultiSelect.js +329 -211
  379. package/lib/MultiSelect/MultiSelect.module.css +206 -206
  380. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  381. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  382. package/lib/MultiSelect/SelectedOptions.js +43 -17
  383. package/lib/MultiSelect/SelectedOptions.module.css +15 -15
  384. package/lib/MultiSelect/Suggestions.js +64 -32
  385. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  386. package/lib/MultiSelect/index.js +5 -0
  387. package/lib/MultiSelect/props/defaultProps.js +2 -0
  388. package/lib/MultiSelect/props/propTypes.js +5 -0
  389. package/lib/PopOver/PopOver.js +95 -49
  390. package/lib/PopOver/PopOver.module.css +8 -8
  391. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  392. package/lib/PopOver/index.js +4 -0
  393. package/lib/PopOver/props/propTypes.js +3 -0
  394. package/lib/Popup/Popup.js +158 -84
  395. package/lib/Popup/PositionMapping.json +73 -73
  396. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  397. package/lib/Popup/viewPort.js +28 -14
  398. package/lib/Provider/AvatarSize.js +4 -0
  399. package/lib/Provider/Config.js +2 -0
  400. package/lib/Provider/CssProvider.js +4 -0
  401. package/lib/Provider/IdProvider.js +17 -6
  402. package/lib/Provider/LibraryContext.js +35 -15
  403. package/lib/Provider/LibraryContextInit.js +4 -0
  404. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  405. package/lib/Provider/ZindexProvider.js +15 -3
  406. package/lib/Provider/index.js +5 -0
  407. package/lib/Radio/Radio.js +61 -38
  408. package/lib/Radio/Radio.module.css +112 -112
  409. package/lib/Radio/__tests__/Radiospec.js +9 -5
  410. package/lib/Radio/props/propTypes.js +3 -0
  411. package/lib/Responsive/CustomResponsive.js +73 -29
  412. package/lib/Responsive/RefWrapper.js +17 -11
  413. package/lib/Responsive/ResizeComponent.js +62 -36
  414. package/lib/Responsive/ResizeObserver.js +24 -10
  415. package/lib/Responsive/Responsive.js +80 -30
  416. package/lib/Responsive/index.js +4 -0
  417. package/lib/Responsive/props/propTypes.js +3 -0
  418. package/lib/Responsive/sizeObservers.js +53 -17
  419. package/lib/Responsive/utils/index.js +11 -3
  420. package/lib/Responsive/utils/shallowCompare.js +11 -2
  421. package/lib/Responsive/windowResizeObserver.js +8 -0
  422. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  423. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -6
  424. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  425. package/lib/Ribbon/Ribbon.js +34 -13
  426. package/lib/Ribbon/Ribbon.module.css +454 -456
  427. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  428. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -163
  429. package/lib/Ribbon/props/propTypes.js +3 -0
  430. package/lib/RippleEffect/RippleEffect.js +18 -10
  431. package/lib/RippleEffect/RippleEffect.module.css +92 -92
  432. package/lib/RippleEffect/props/propTypes.js +3 -0
  433. package/lib/Select/GroupSelect.js +230 -130
  434. package/lib/Select/Select.js +292 -210
  435. package/lib/Select/Select.module.css +108 -108
  436. package/lib/Select/SelectWithAvatar.js +104 -56
  437. package/lib/Select/SelectWithIcon.js +134 -77
  438. package/lib/Select/__tests__/Select.spec.js +133 -91
  439. package/lib/Select/index.js +5 -0
  440. package/lib/Select/props/defaultProps.js +5 -4
  441. package/lib/Select/props/propTypes.js +4 -0
  442. package/lib/Stencils/Stencils.js +29 -10
  443. package/lib/Stencils/Stencils.module.css +96 -96
  444. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  445. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -49
  446. package/lib/Stencils/props/propTypes.js +3 -0
  447. package/lib/Switch/Switch.js +58 -34
  448. package/lib/Switch/Switch.module.css +127 -127
  449. package/lib/Switch/props/propTypes.js +3 -0
  450. package/lib/Tab/Tab.js +40 -27
  451. package/lib/Tab/Tab.module.css +100 -100
  452. package/lib/Tab/TabContent.js +12 -5
  453. package/lib/Tab/TabContent.module.css +4 -4
  454. package/lib/Tab/TabContentWrapper.js +13 -6
  455. package/lib/Tab/TabWrapper.js +37 -19
  456. package/lib/Tab/Tabs.js +184 -103
  457. package/lib/Tab/Tabs.module.css +136 -154
  458. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  459. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  460. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  461. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  462. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  463. package/lib/Tab/index.js +6 -0
  464. package/lib/Tab/props/propTypes.js +3 -0
  465. package/lib/Tag/Tag.js +81 -51
  466. package/lib/Tag/Tag.module.css +254 -254
  467. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  468. package/lib/Tag/props/propTypes.js +3 -0
  469. package/lib/TextBox/TextBox.js +86 -59
  470. package/lib/TextBox/TextBox.module.css +158 -158
  471. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  472. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -127
  473. package/lib/TextBox/props/propTypes.js +6 -4
  474. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  475. package/lib/TextBoxIcon/TextBoxIcon.module.css +79 -79
  476. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  477. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -334
  478. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  479. package/lib/Textarea/Textarea.js +55 -29
  480. package/lib/Textarea/Textarea.module.css +139 -139
  481. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  482. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -97
  483. package/lib/Textarea/props/propTypes.js +3 -0
  484. package/lib/Tooltip/Tooltip.js +96 -32
  485. package/lib/Tooltip/Tooltip.module.css +140 -140
  486. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  487. package/lib/Tooltip/props/propTypes.js +3 -0
  488. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  489. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  490. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  491. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  492. package/lib/VelocityAnimation/index.js +3 -0
  493. package/lib/common/a11y.module.css +3 -3
  494. package/lib/common/animation.module.css +624 -624
  495. package/lib/common/avatarsizes.module.css +48 -48
  496. package/lib/common/basic.module.css +33 -33
  497. package/lib/common/basicReset.module.css +40 -40
  498. package/lib/common/boxShadow.module.css +33 -33
  499. package/lib/common/common.module.css +524 -524
  500. package/lib/common/customscroll.module.css +91 -91
  501. package/lib/common/reset.module.css +13 -13
  502. package/lib/common/transition.module.css +146 -146
  503. package/lib/css.js +40 -0
  504. package/lib/deprecated/AdvancedMultiSelect.module.css +126 -126
  505. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  506. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  507. package/lib/index.js +57 -0
  508. package/lib/semantic/Button/Button.js +43 -22
  509. package/lib/semantic/Button/props/propTypes.js +3 -0
  510. package/lib/semantic/Button/semanticButton.module.css +9 -9
  511. package/lib/semantic/index.js +2 -0
  512. package/lib/utils/Common.js +117 -19
  513. package/lib/utils/ContextOptimizer.js +16 -10
  514. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  515. package/lib/utils/__tests__/debounce.spec.js +3 -2
  516. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  517. package/lib/utils/constructFullName.js +13 -4
  518. package/lib/utils/css/compileClassNames.js +6 -0
  519. package/lib/utils/css/mergeStyle.js +10 -7
  520. package/lib/utils/css/utils.js +8 -0
  521. package/lib/utils/datetime/GMTZones.js +55 -0
  522. package/lib/utils/datetime/common.js +52 -7
  523. package/lib/utils/debounce.js +6 -1
  524. package/lib/utils/dropDownUtils.js +175 -59
  525. package/lib/utils/dummyFunction.js +2 -0
  526. package/lib/utils/getHTMLFontSize.js +1 -0
  527. package/lib/utils/getInitial.js +6 -0
  528. package/lib/utils/index.js +4 -0
  529. package/lib/utils/scrollTo.js +2 -0
  530. package/lib/utils/shallowEqual.js +8 -0
  531. package/package.json +113 -123
  532. package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +0 -45
  533. package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +0 -45
  534. package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +0 -45
  535. package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +0 -45
  536. package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +0 -45
  537. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +0 -35
  538. package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +0 -45
  539. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +0 -35
  540. package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +0 -45
  541. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +0 -35
  542. package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +0 -45
  543. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +0 -35
  544. package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +0 -45
  545. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +0 -35
  546. package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +0 -45
  547. package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +0 -45
  548. package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +0 -45
  549. package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +0 -45
  550. package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +0 -45
  551. package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +0 -45
  552. package/assets/Contrast/lightContrastLightness.module.css +0 -39
  553. /package/assets/Appearance/dark/themes/green/{green_CTA_DarkModifyCategory.module.css → greenDarkCTAModifyCategory.module.css} +0 -0
  554. /package/assets/Appearance/dark/themes/orange/{orange_CTA_DarkModifyCategory.module.css → orangeDarkCTAModifyCategory.module.css} +0 -0
  555. /package/assets/Appearance/dark/themes/red/{red_CTA_DarkModifyCategory.module.css → redDarkCTAModifyCategory.module.css} +0 -0
  556. /package/assets/Appearance/dark/themes/yellow/{yellow_CTA_DarkModifyCategory.module.css → yellowDarkCTAModifyCategory.module.css} +0 -0
  557. /package/assets/Appearance/pureDark/themes/green/{green_CTA_PureDarkModifyCategory.module.css → greenPureDarkCTAModifyCategory.module.css} +0 -0
  558. /package/assets/Appearance/pureDark/themes/orange/{orange_CTA_PureDarkModifyCategory.module.css → orangePureDarkCTAModifyCategory.module.css} +0 -0
  559. /package/assets/Appearance/pureDark/themes/red/{red_CTA_PureDarkModifyCategory.module.css → redPureDarkCTAModifyCategory.module.css} +0 -0
  560. /package/assets/Appearance/pureDark/themes/yellow/{yellow_CTA_PureDarkModifyCategory.module.css → yellowPureDarkCTAModifyCategory.module.css} +0 -0
@@ -23,6 +23,7 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
23
23
  startPoint,
24
24
  endPoint
25
25
  } = getMonthDetails();
26
+
26
27
  if (keyCode === 38) {
27
28
  //up arrow
28
29
  if (newMonth === endPoint || !newMonth) {
@@ -45,15 +46,19 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
45
46
  const keyString = String.fromCharCode(which);
46
47
  let newValue = isNewType ? keyString : month.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
  newMonth = newValue;
54
58
  } else {
55
59
  isChanged = true;
56
60
  newFocusOrder += 1;
61
+
57
62
  if (newValue > endPoint) {
58
63
  newMonth = endPoint;
59
64
  } else if (!newValue) {
@@ -66,12 +71,15 @@ export function getChangedMonth(values, event, focusOrders, keyActions) {
66
71
  isChanged = true;
67
72
  newMonth = '';
68
73
  }
74
+
69
75
  const dayEnd = getDayEnd(newMonth, newYear);
70
76
  let dayChanged = false;
77
+
71
78
  if (newDay && newDay > dayEnd) {
72
79
  dayChanged = true;
73
80
  newDay = dayEnd;
74
81
  }
82
+
75
83
  return {
76
84
  day: dayChanged ? newDay : day,
77
85
  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 = String.fromCharCode(which);
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 = String.fromCharCode(which);
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 = String.fromCharCode(which);
197
+ const keyString = String.fromCharCode(which); // 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,
@@ -15,16 +15,17 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
15
15
  day = '',
16
16
  month = ''
17
17
  } = values;
18
- let isChanged = false;
18
+ let isChanged = false; //Year Two Digit case
19
19
 
20
- //Year Two Digit case
21
20
  const {
22
21
  length: yearLength
23
22
  } = yearInfo;
24
23
  const oldYear = year; // For get Centuries
24
+
25
25
  if (yearLength === 2) {
26
26
  year = convertYearToTwoDigit(year).toString();
27
27
  }
28
+
28
29
  let newDay = Number.parseInt(day) || 0;
29
30
  const newMonth = Number.parseInt(month) || 0;
30
31
  let newYear = Number.parseInt(year) || 0;
@@ -38,6 +39,7 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
38
39
  endPoint,
39
40
  currentYear
40
41
  } = getYearDetails(yearLength);
42
+
41
43
  if (keyCode === 38) {
42
44
  //up arrow
43
45
  if (newYear === endPoint) {
@@ -67,14 +69,17 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
67
69
  let newValue = isNewType ? keyString : year.toString() + keyString;
68
70
  const newValueString = newValue || '';
69
71
  newValue = Number.parseInt(newValue);
72
+
70
73
  if (isNewType) {
71
74
  isChanged = true;
72
75
  newYear = newValue;
73
76
  } else {
74
77
  isChanged = true;
78
+
75
79
  if (newValue * 10 > endPoint) {
76
80
  newFocusOrder += 1;
77
81
  }
82
+
78
83
  if (newValue > endPoint) {
79
84
  // newYear = endPoint;
80
85
  newYear = currentYear;
@@ -93,15 +98,19 @@ export function getChangedYear(values, event, focusOrders, keyActions, _ref) {
93
98
  isChanged = true;
94
99
  newYear = '';
95
100
  }
101
+
96
102
  if (yearLength === 2) {
97
103
  newYear = convertTwoDigitToYear(newYear, oldYear);
98
104
  }
105
+
99
106
  const dayEnd = getDayEnd(newMonth, newYear);
100
107
  let dayChanged = false;
108
+
101
109
  if (newDay && newDay > dayEnd) {
102
110
  dayChanged = true;
103
111
  newDay = dayEnd;
104
112
  }
113
+
105
114
  return {
106
115
  day: dayChanged ? newDay : day,
107
116
  year: newYear,
File without changes
@@ -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;
@@ -19,7 +19,8 @@ export const DateTime_defaultProps = {
19
19
  isPadding: false,
20
20
  i18nKeys: {},
21
21
  is24Hour: false,
22
- isDefaultPosition: false
22
+ isDefaultPosition: false,
23
+ customDateFormat: null
23
24
  };
24
25
  export const DateWidget_defaultProps = {
25
26
  borderColor: 'default',
@@ -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;
@@ -11,17 +11,21 @@ const validator = {
11
11
  let newValidationRules = validationRules ? validationRules : {};
12
12
  let checkPropsRules = defaultCheckPropsRules;
13
13
  let checkPropsOrder = [];
14
+
14
15
  for (let i = 0; i < checkPropsRules.length; i++) {
15
16
  let prop = checkPropsRules[i];
17
+
16
18
  if (Object.prototype.hasOwnProperty.call(currentProps, prop)) {
17
19
  if (newValidationRulesOrder.indexOf(prop) === -1) {
18
20
  checkPropsOrder.push(prop);
19
21
  }
22
+
20
23
  if (!Object.prototype.hasOwnProperty.call(newValidationRules, prop)) {
21
24
  newValidationRules[prop] = currentProps[prop];
22
25
  }
23
26
  }
24
27
  }
28
+
25
29
  newValidationRulesOrder = !Object.prototype.hasOwnProperty.call(newValidation, 'rulesOrder') ? checkPropsOrder.concat(newValidationRulesOrder) : validationRulesOrder;
26
30
  let isRulesFound = Object.keys(newValidationRules).length;
27
31
  newValidationRules = isRulesFound ? validator.composeRulesForValidation(newType, defaultValidateRules, newValidationRules) : newValidationRules;
@@ -47,22 +51,28 @@ const validator = {
47
51
  onFailValidation
48
52
  } = validationObj;
49
53
  let skipIfEmptyField = null;
54
+
50
55
  if (validationRules.required === false && (fieldType !== 'radio' || fieldType !== 'checkbox')) {
51
56
  skipIfEmptyField = val => {
52
57
  if (fieldType === 'onegroup' || fieldType === 'multigroup') {
53
58
  return !val || !(val.length > 0);
54
59
  }
60
+
55
61
  let value = (val || '').trim();
56
62
  return value.length < 1;
57
63
  };
58
64
  }
65
+
59
66
  if (skipIfEmptyField === null || skipIfEmptyField(text) === false) {
60
67
  for (let i = 0, len = validationRulesOrder.length; i < len; i++) {
61
68
  let rule = validationRulesOrder[i];
69
+
62
70
  if (!validationRules[rule] || !typeChecker.isFunction(validationRules[rule])) {
63
71
  continue;
64
72
  }
73
+
65
74
  let isInValid = validationRules[rule](text, inputTag);
75
+
66
76
  if (isInValid) {
67
77
  let message = validationMessages[rule] && typeChecker.isFunction(validationMessages[rule]) ? validationMessages[rule](text, inputTag) : validationMessages[rule];
68
78
  onFailValidation && onFailValidation(rule, message, inputTag);
@@ -70,52 +80,66 @@ const validator = {
70
80
  }
71
81
  }
72
82
  }
83
+
73
84
  onPassValidation && onPassValidation(text, inputTag);
74
85
  },
75
86
  composeRulesForValidation: (type, defaultValidateRules, newValidationRules) => {
76
87
  let defaultPatterns = validator.regexs;
88
+
77
89
  for (let i = 0, len = defaultValidateRules.length; i < len; i++) {
78
90
  let rule = defaultValidateRules[i];
79
91
  let ruleInfo = newValidationRules[rule] || '';
92
+
80
93
  if (ruleInfo && !typeChecker.isFunction(ruleInfo)) {
81
94
  if (rule === 'required' && ruleInfo === true) {
82
95
  newValidationRules[rule] = (val, el) => {
83
96
  if (el.willValidate && el.validity.valueMissing) {
84
97
  return true;
85
98
  }
99
+
86
100
  if (type === 'radio' || type === 'checkbox') {
87
101
  return el.checked === false;
88
102
  }
103
+
89
104
  if (type === 'onegroup' || type === 'multigroup') {
90
105
  return !val || val.length < 1;
91
106
  }
107
+
92
108
  let value = (val || '').replace(/\s{2,}/g, ' ').trim();
93
109
  return value.length < 1;
94
110
  };
95
111
  } else if (rule === 'maxLength' && !Number.isNaN(ruleInfo) && Number.isFinite(ruleInfo)) {
96
112
  let maxLength = Number(ruleInfo);
113
+
97
114
  newValidationRules[rule] = (val, el) => {
98
115
  if (el.willValidate && el.validity.tooLong) {
99
116
  return true;
100
117
  }
118
+
101
119
  let value = val || '';
120
+
102
121
  if (type !== 'multigroup') {
103
122
  value = val.trim();
104
123
  }
124
+
105
125
  return !(value.length <= maxLength);
106
126
  };
107
127
  } else if (rule === 'minLength' && !Number.isNaN(ruleInfo) && Number.isFinite(ruleInfo)) {
108
128
  let minLength = Number(ruleInfo);
129
+
109
130
  newValidationRules[rule] = val => {
110
131
  let value = val || '';
132
+
111
133
  if (type !== 'multigroup') {
112
134
  value = val.trim();
113
135
  }
136
+
114
137
  return !(value.length >= minLength);
115
138
  };
116
139
  } else if (rule === 'rangeLength' && /^([-+\d]+)*([,]{1,1}([-+\d]+))$/.test(ruleInfo) === true) {
117
140
  let rangeLength = ruleInfo;
118
141
  rangeLength = rangeLength.split(',').map(a => Number(a));
142
+
119
143
  newValidationRules[rule] = val => {
120
144
  let value = (val || '').trim();
121
145
  return !(value.length >= rangeLength[0] && value.length <= rangeLength[1]);
@@ -123,119 +147,146 @@ const validator = {
123
147
  } else if (rule === 'step' && ruleInfo) {
124
148
  let step = Number(ruleInfo);
125
149
  let stepTypes = ['number', 'range', 'date', 'datetime', 'datetime-local', 'month', 'time', 'week'];
150
+
126
151
  newValidationRules[rule] = (val, el) => {
127
152
  if (stepTypes.indexOf(type) !== -1) {
128
153
  if (el.willValidate && el.validity.stepMismatch) {
129
154
  return true;
130
155
  }
156
+
131
157
  return false;
132
158
  }
159
+
133
160
  let value = (val || '').trim();
134
161
  value = Number(value);
162
+
135
163
  if (Number.isNaN(value) || !Number.isFinite(value) || Number.isNaN(step) || !Number.isFinite(step)) {
136
164
  return true;
137
165
  }
166
+
138
167
  return !(value % step === 0);
139
168
  };
140
169
  } else if (rule === 'max') {
141
170
  let max = Number(ruleInfo);
142
171
  let maxTypes = ['number', 'range', 'date', 'datetime', 'datetime-local', 'month', 'time', 'week'];
172
+
143
173
  newValidationRules[rule] = (val, el) => {
144
174
  if (maxTypes.indexOf(type) !== -1) {
145
175
  if (el.willValidate && el.validity.rangeOverflow) {
146
176
  return true;
147
177
  }
178
+
148
179
  return false;
149
180
  }
181
+
150
182
  let value = (val || '').trim();
151
183
  value = Number(value);
184
+
152
185
  if (Number.isNaN(value) || !Number.isFinite(value) || Number.isNaN(max) || !Number.isFinite(max)) {
153
186
  return true;
154
187
  }
188
+
155
189
  return !(value <= max);
156
190
  };
157
191
  } else if (rule === 'min') {
158
192
  let min = Number(ruleInfo);
159
193
  let minTypes = ['number', 'range', 'date', 'datetime', 'datetime-local', 'month', 'time', 'week'];
194
+
160
195
  newValidationRules[rule] = (val, el) => {
161
196
  if (minTypes.indexOf(type) !== -1) {
162
197
  if (el.willValidate && el.validity.rangeUnderflow) {
163
198
  return true;
164
199
  }
200
+
165
201
  return false;
166
202
  }
203
+
167
204
  let value = (val || '').trim();
168
205
  value = Number(value);
206
+
169
207
  if (Number.isNaN(value) || !Number.isFinite(value) || Number.isNaN(min) || !Number.isFinite(min)) {
170
208
  return true;
171
209
  }
210
+
172
211
  return !(value >= min);
173
212
  };
174
213
  } else if (rule === 'range' && /^([-+\d]+)*([,]{1,1}([-+\d]+))$/.test(ruleInfo) === true) {
175
214
  let ranges;
176
215
  ranges = ranges.split(',').map(a => Number(a));
216
+
177
217
  newValidationRules[rule] = val => {
178
218
  let value = (val || '').trim();
179
219
  value = Number(value);
220
+
180
221
  if (Number.isNaN(value) || !Number.isFinite(value)) {
181
222
  return true;
182
223
  }
224
+
183
225
  return !(value >= ranges[0] && value <= ranges[1]);
184
226
  };
185
227
  } else if ((rule === 'digits' || rule === 'integer' || rule === 'double') && ruleInfo === true) {
186
228
  newValidationRules[rule] = val => {
187
229
  let value = (val || '').trim();
188
230
  value = Number(value);
231
+
189
232
  if (Number.isNaN(value) || !Number.isFinite(value)) {
190
233
  return true;
191
234
  }
235
+
192
236
  let condition = true;
237
+
193
238
  if (rule === 'integer') {
194
239
  condition = Number.isSafeInteger(value);
195
240
  }
241
+
196
242
  if (rule === 'double') {
197
243
  condition = -Number.MAX_VALUE <= value && Number.MAX_VALUE >= value;
198
244
  }
245
+
199
246
  return !defaultPatterns[rule].test(value) && condition;
200
247
  };
201
248
  } else if ((rule === 'timezonedate' || rule === 'datetimezone' || rule === 'date' || rule === 'datetime') && ruleInfo === true) {
202
249
  newValidationRules[rule] = val => {
203
250
  let value = (val || '').trim();
251
+
204
252
  if (!defaultPatterns[rule].test(value)) {
205
253
  return true;
206
254
  }
255
+
207
256
  if (rule === 'datetime') {
208
257
  let index = 0;
209
- value = value.split('T')[index];
210
- //let timings = value[1].replace("Z","").split(":")
258
+ value = value.split('T')[index]; //let timings = value[1].replace("Z","").split(":")
211
259
  //let
212
260
  //if( !defaultPatterns[rule].test(value); )
213
261
  }
214
262
 
215
263
  value = value.replace('/', '-');
216
264
  value = value.replace(':', '-');
217
- let values = value.split('-');
265
+ let values = value.split('-'); // Extract the string into month, date and year
218
266
 
219
- // Extract the string into month, date and year
220
267
  let yy = parseInt(values[0]);
221
268
  let mm = parseInt(values[1]);
222
- let dd = parseInt(values[2]);
269
+ let dd = parseInt(values[2]); // Create list of days of a month [assume there is no leap year by default]
223
270
 
224
- // Create list of days of a month [assume there is no leap year by default]
225
271
  let ListofDays = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
272
+
226
273
  if (mm === 1 || mm > 2) {
227
274
  if (dd > ListofDays[mm - 1]) {
228
275
  return true;
229
276
  }
230
277
  }
278
+
231
279
  if (mm === 2) {
232
280
  let lyear = false;
281
+
233
282
  if (!(yy % 4) && yy % 100 || !(yy % 400)) {
234
283
  lyear = true;
235
284
  }
285
+
236
286
  if (lyear === false && dd >= 29) {
237
287
  return true;
238
288
  }
289
+
239
290
  if (lyear === true && dd > 29) {
240
291
  return true;
241
292
  }
@@ -254,6 +305,7 @@ const validator = {
254
305
  }
255
306
  }
256
307
  }
308
+
257
309
  return newValidationRules;
258
310
  },
259
311
  regexs: {
@@ -1,4 +1,5 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React, { useRef, Fragment, useContext } from 'react';
3
4
  import FocusScope from '@zohodesk/a11y/es/FocusScope/FocusScope';
4
5
  import Modal from '../Modal/Modal';
@@ -8,7 +9,7 @@ import cssJSLogic from './css/cssJSLogic';
8
9
  import DropBoxElement from './DropBoxElement/DropBoxElement';
9
10
  import { DropBoxDefaultProps } from './props/defaultProps';
10
11
  import { DropBoxPropTypes } from './props/propTypes';
11
- import { cancelBubblingEffect } from './../utils/Common';
12
+ import { stopPropagation } from './../utils/Common';
12
13
  import style from './css/DropBox.module.css';
13
14
  export default function DropBox(props) {
14
15
  const focusRef = useRef(null);
@@ -26,14 +27,17 @@ export default function DropBox(props) {
26
27
  direction
27
28
  } = DropBoxContext || {};
28
29
  let windowWidth,
29
- mobileWidth = getLibraryConfig('mobileWidth'),
30
- isModel = false;
30
+ mobileWidth = getLibraryConfig('mobileWidth'),
31
+ isModel = false;
32
+
31
33
  if (needResponsive) {
32
34
  windowWidth = window.innerWidth;
35
+
33
36
  if (windowWidth <= mobileWidth) {
34
37
  isModel = true;
35
38
  }
36
39
  }
40
+
37
41
  const {
38
42
  zIndexStyle
39
43
  } = cssJSLogic(props);
@@ -62,13 +66,13 @@ export default function DropBox(props) {
62
66
  }, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
63
67
  className: `${style.freezeLayer} ${style.freeze}`,
64
68
  style: zIndexStyle,
65
- onClick: cancelBubblingEffect
69
+ onClick: stopPropagation
66
70
  }), dropBoxEle)) : !isAbsolutePositioningNeeded && isActive ? /*#__PURE__*/React.createElement(Modal, {
67
71
  portalId: portalId
68
72
  }, /*#__PURE__*/React.createElement(React.Fragment, null, isRestrictScroll ? /*#__PURE__*/React.createElement("div", {
69
73
  className: style.freezeLayer,
70
74
  style: zIndexStyle,
71
- onClick: cancelBubblingEffect
75
+ onClick: stopPropagation
72
76
  }) : null, dropBoxEle)) : dropBoxEle;
73
77
  }
74
78
  DropBox.propTypes = DropBoxPropTypes;