@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
@@ -1,29 +1,35 @@
1
1
  import { useNumberGenerator, getNumberGenerators } from './NumberGenerator/NumberGenerator';
2
2
  import { getLibraryConfig } from './Config';
3
3
  let globalId = getLibraryConfig('idCounter'),
4
- deletedIndexes = [],
5
- globalPrefix;
4
+ deletedIndexes = [],
5
+ globalPrefix;
6
6
  export function setGlobalIdPrefix(value) {
7
7
  globalPrefix = value;
8
8
  }
9
9
  export function removeGlobalIdPrefix() {
10
10
  globalPrefix = undefined;
11
11
  }
12
+
12
13
  function getGlobalIdPrefix() {
13
14
  return globalPrefix;
14
15
  }
16
+
15
17
  function setGlobalId(id) {
16
18
  globalId = id;
17
19
  }
20
+
18
21
  function getGlobalId() {
19
22
  return globalId;
20
23
  }
24
+
21
25
  function setDeletedIndexes(array) {
22
26
  deletedIndexes = array;
23
27
  }
28
+
24
29
  function getDeletedIndexes() {
25
30
  return deletedIndexes;
26
31
  }
32
+
27
33
  function callback(_ref) {
28
34
  let {
29
35
  globalId,
@@ -32,6 +38,7 @@ function callback(_ref) {
32
38
  setGlobalId(globalId);
33
39
  setDeletedIndexes(deletedIndexes);
34
40
  }
41
+
35
42
  export function useUniqueId(prefix) {
36
43
  return useNumberGenerator({
37
44
  getGlobalId,
@@ -50,9 +57,7 @@ export function getUniqueId(Component, prefix) {
50
57
  getDeletedIndexes,
51
58
  callback
52
59
  });
53
- }
54
-
55
- // let Provider = {
60
+ } // let Provider = {
56
61
  // docs: {
57
62
  // componentGroup: 'Provider',
58
63
  // folderName: 'Functions'
@@ -2,6 +2,7 @@ import React, { useState, useEffect } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import LibraryContextInit from './LibraryContextInit';
4
4
  import { getLibraryConfig } from './Config';
5
+
5
6
  const LibraryContextProvider = _ref => {
6
7
  let {
7
8
  isReducedMotion = getLibraryConfig('isReducedMotion'),
@@ -12,21 +13,22 @@ const LibraryContextProvider = _ref => {
12
13
  isReducedMotion,
13
14
  direction
14
15
  });
16
+
15
17
  function setGlobalContext(key, data) {
16
18
  if (value[key] != data) {
17
- setValue({
18
- ...value,
19
+ setValue({ ...value,
19
20
  [key]: data
20
21
  });
21
22
  }
22
23
  }
24
+
23
25
  return /*#__PURE__*/React.createElement(LibraryContextInit.Provider, {
24
- value: {
25
- ...value,
26
+ value: { ...value,
26
27
  setGlobalContext
27
28
  }
28
29
  }, children);
29
30
  };
31
+
30
32
  LibraryContextProvider.propTypes = {
31
33
  children: PropTypes.node.isRequired,
32
34
  isReducedMotion: PropTypes.bool,
@@ -5,8 +5,10 @@ export function addGlobalId(globalId) {
5
5
  } else {
6
6
  globalId = `${globalId}1`;
7
7
  }
8
+
8
9
  return globalId;
9
10
  }
11
+
10
12
  function decreaseGlobalId(number, globalId) {
11
13
  if (`${number}` == `${globalId}`) {
12
14
  if (Number.isSafeInteger(Number(globalId)) && Number.isSafeInteger(Number(globalId) - 1)) {
@@ -15,16 +17,19 @@ function decreaseGlobalId(number, globalId) {
15
17
  globalId = `${globalId}`;
16
18
  globalId = globalId.substring(0, globalId.length - 1);
17
19
  }
20
+
18
21
  return {
19
22
  isDeleted: true,
20
23
  globalId
21
24
  };
22
25
  }
26
+
23
27
  return {
24
28
  isDeleted: false,
25
29
  globalId
26
30
  };
27
31
  }
32
+
28
33
  export function decreaseGlobalIds(numbers, deletedIndexes, globalId) {
29
34
  deletedIndexes = [...deletedIndexes];
30
35
  [...numbers].reverse().map(number => {
@@ -32,12 +37,14 @@ export function decreaseGlobalIds(numbers, deletedIndexes, globalId) {
32
37
  globalId = result.globalId;
33
38
  !result.isDeleted && deletedIndexes.push(number);
34
39
  });
40
+
35
41
  for (; deletedIndexes.indexOf(globalId) != -1;) {
36
42
  let presentHighValue = globalId;
37
43
  let result = decreaseGlobalId(globalId, globalId);
38
44
  globalId = result.globalId;
39
45
  deletedIndexes = deletedIndexes.filter(ele => `${ele}` != `${presentHighValue}`);
40
46
  }
47
+
41
48
  return {
42
49
  globalId,
43
50
  deletedIndexes
@@ -52,9 +59,10 @@ export function useNumberGenerator(_ref) {
52
59
  callback
53
60
  } = _ref;
54
61
  let presentValues = useRef([]),
55
- presentIndex = useRef(0);
62
+ presentIndex = useRef(0);
56
63
  prefix = typeof prefix === 'undefined' ? '' : `${prefix}_`;
57
64
  let globalPrefix = typeof getGlobalPrefix() === 'undefined' ? '' : `${getGlobalPrefix()}_`;
65
+
58
66
  function getNextId() {
59
67
  presentIndex.current = presentIndex.current + 1;
60
68
  let currentIndex = presentIndex.current;
@@ -66,6 +74,7 @@ export function useNumberGenerator(_ref) {
66
74
  });
67
75
  return `${globalPrefix}${prefix}${presentValues.current[currentIndex]}`;
68
76
  }
77
+
69
78
  useEffect(() => {
70
79
  presentValues.current = presentValues.current.filter((value, index) => index <= presentIndex.current);
71
80
  });
@@ -85,27 +94,31 @@ export function getNumberGenerators(_ref2) {
85
94
  callback
86
95
  } = _ref2;
87
96
  let presentIndex = 0,
88
- presentValues = [],
89
- {
90
- name
91
- } = Component.props;
97
+ presentValues = [],
98
+ {
99
+ name
100
+ } = Component.props;
92
101
  let didUpdateRef = Component.componentDidUpdate ? Component.componentDidUpdate.bind(Component) : undefined,
93
- renderRef = Component.render.bind(Component),
94
- willUnMountRef = Component.componentWillUnmount ? Component.componentWillUnmount.bind(Component) : undefined;
102
+ renderRef = Component.render.bind(Component),
103
+ willUnMountRef = Component.componentWillUnmount ? Component.componentWillUnmount.bind(Component) : undefined;
95
104
  prefix = typeof prefix !== 'undefined' ? `${prefix}_` : '';
105
+
96
106
  Component.componentDidUpdate = function () {
97
107
  didUpdateRef && didUpdateRef(...arguments);
98
108
  presentValues = presentValues.filter((value, index) => index <= presentIndex);
99
109
  };
110
+
100
111
  Component.componentWillUnmount = function () {
101
112
  callback(decreaseGlobalIds(presentValues, getDeletedIndexes(), getGlobalId()));
102
113
  willUnMountRef && willUnMountRef();
103
114
  didUpdateRef = null, renderRef = null, willUnMountRef = null;
104
115
  };
116
+
105
117
  Component.render = function () {
106
118
  presentIndex = -1;
107
119
  return renderRef();
108
120
  };
121
+
109
122
  function getNextId() {
110
123
  presentIndex += 1;
111
124
  let isValuePresent = typeof presentValues[presentIndex] !== 'undefined';
@@ -118,5 +131,6 @@ export function getNumberGenerators(_ref2) {
118
131
  });
119
132
  return `${globalPrefix}${prefix}${result}`;
120
133
  }
134
+
121
135
  return getNextId;
122
136
  }
@@ -1,26 +1,32 @@
1
1
  import { useNumberGenerator, getNumberGenerators } from './NumberGenerator/NumberGenerator';
2
2
  import { getLibraryConfig } from './Config';
3
3
  let globalId = getLibraryConfig('zindexCounter'),
4
- deletedIndexes = [],
5
- globalPrefix;
4
+ deletedIndexes = [],
5
+ globalPrefix;
6
6
  export function removeGlobalZIndexPrefix() {
7
7
  globalPrefix = undefined;
8
8
  }
9
+
9
10
  function getGlobalZIndexPrefix() {
10
11
  return globalPrefix;
11
12
  }
13
+
12
14
  export function setInitialZIndex(id) {
13
15
  globalId = id;
14
16
  }
17
+
15
18
  function getGlobalId() {
16
19
  return globalId;
17
20
  }
21
+
18
22
  function setDeletedIndexes(array) {
19
23
  deletedIndexes = array;
20
24
  }
25
+
21
26
  function getDeletedIndexes() {
22
27
  return deletedIndexes;
23
28
  }
29
+
24
30
  function callback(_ref) {
25
31
  let {
26
32
  globalId,
@@ -29,6 +35,7 @@ function callback(_ref) {
29
35
  setInitialZIndex(globalId);
30
36
  setDeletedIndexes(deletedIndexes);
31
37
  }
38
+
32
39
  export function useZIndex(prefix) {
33
40
  return useNumberGenerator({
34
41
  getGlobalId,
@@ -4,6 +4,7 @@ import { propTypes } from './props/propTypes';
4
4
  import Label from '../Label/Label';
5
5
  import { Container, Box } from '../Layout';
6
6
  import style from '../../Radio/Radio.module.css';
7
+
7
8
  const Radio = props => {
8
9
  let {
9
10
  id,
@@ -40,12 +41,14 @@ const Radio = props => {
40
41
  ariaLabelledby,
41
42
  ariaReadonly = isReadOnly || disabled ? true : false
42
43
  } = a11y;
44
+
43
45
  function onChange(e) {
44
46
  const {
45
47
  onChange
46
48
  } = props;
47
49
  onChange && onChange(value, e);
48
50
  }
51
+
49
52
  return /*#__PURE__*/React.createElement(Container, {
50
53
  dataId: value ? value.toLowerCase() : 'RadioComp',
51
54
  isCover: false,
@@ -101,10 +104,10 @@ const Radio = props => {
101
104
  ${style[`${palette}Label`]} ${accessMode} ${customLabel}`
102
105
  })));
103
106
  };
107
+
104
108
  export default Radio;
105
109
  Radio.defaultProps = defaultProps;
106
- Radio.propTypes = propTypes;
107
- // if (__DOCS__) {
110
+ Radio.propTypes = propTypes; // if (__DOCS__) {
108
111
  // Radio.docs = {
109
112
  // componentGroup: 'Form Elements',
110
113
  // folderName: 'Style Guide'
@@ -5,15 +5,12 @@ import ResizeObserver from './ResizeObserver';
5
5
  import DOMRefWrapper from './RefWrapper';
6
6
  import shallowCompare from '../../Responsive/utils/shallowCompare';
7
7
  import { isBreackPointMatched, Subscribale, isTouchDevice, windowResizeObserver } from '../../Responsive/sizeObservers';
8
- import { ContextOptimizer } from '../../utils/ContextOptimizer';
9
-
10
- // const commonBreakPoints = [ 480, 640, 768, 1024, 1440 ];
8
+ import { ContextOptimizer } from '../../utils/ContextOptimizer'; // const commonBreakPoints = [ 480, 640, 768, 1024, 1440 ];
11
9
  // const otherBreakPoints = [320, 360, 375, 720, 1280, 1600, 1920];
12
-
13
10
  // defaultResponsiveId means if ResponsiveSender do not recive id This will be id
14
- const defaultResponsiveId = 'parent_sender';
15
11
 
16
- // validSizeResponsiveId means in some parent's height and with is caluclated ( readed )
12
+ const defaultResponsiveId = 'parent_sender'; // validSizeResponsiveId means in some parent's height and with is caluclated ( readed )
13
+
17
14
  const validSizeResponsiveId = 'valid_sender';
18
15
  const ResponsiveContext = /*#__PURE__*/React.createContext({
19
16
  [validSizeResponsiveId]: windowResizeObserver
@@ -25,20 +22,24 @@ export function ResponsiveSender(props) {
25
22
  domRefKey,
26
23
  responsiveId
27
24
  } = props;
25
+
28
26
  function init() {
29
27
  let size = {
30
28
  height: 0,
31
29
  width: 0
32
30
  };
31
+
33
32
  function getSize() {
34
33
  return size;
35
34
  }
35
+
36
36
  const childContext = {
37
37
  resize: new Subscribale(),
38
38
  getSize,
39
39
  // TODO: rename isParentSize ==> isSizeReaded (or) isMySize (or) isOriginalSize
40
40
  isParentSize: false
41
41
  };
42
+
42
43
  function onResize(newSize) {
43
44
  childContext.isParentSize = true;
44
45
  size = newSize;
@@ -46,31 +47,38 @@ export function ResponsiveSender(props) {
46
47
  childContext.resize.dispatch(newSize);
47
48
  });
48
49
  }
50
+
49
51
  const observer = new ResizeObserver(onResize);
52
+
50
53
  function containerRef(node) {
51
54
  observer.replaceObservationElement(node);
52
55
  }
56
+
53
57
  return {
54
58
  containerRef,
55
59
  childContext
56
60
  };
57
61
  }
62
+
58
63
  const {
59
64
  containerRef,
60
65
  childContext
61
66
  } = useMemo(init, []);
67
+
62
68
  function contextSelector(context) {
63
- const totalContext = {
64
- ...context
69
+ const totalContext = { ...context
65
70
  };
66
- totalContext[responsiveId] = childContext;
67
- // NOTE: this for fallback of if responsive receiver id wrong or not avelable Responcive id
71
+ totalContext[responsiveId] = childContext; // NOTE: this for fallback of if responsive receiver id wrong or not avelable Responcive id
72
+
68
73
  totalContext[defaultResponsiveId] = childContext;
74
+
69
75
  if (childContext.isParentSize) {
70
76
  totalContext[validSizeResponsiveId] = childContext;
71
77
  }
78
+
72
79
  return totalContext;
73
80
  }
81
+
74
82
  return /*#__PURE__*/React.createElement(ContextOptimizer, {
75
83
  Context: ResponsiveContext,
76
84
  calculation: contextSelector
@@ -81,8 +89,7 @@ export function ResponsiveSender(props) {
81
89
  ref: containerRef
82
90
  }, children)));
83
91
  }
84
- ResponsiveSender.defaultProps = {
85
- ...CustomResponsiveSender_defaultProps,
92
+ ResponsiveSender.defaultProps = { ...CustomResponsiveSender_defaultProps,
86
93
  responsiveId: defaultResponsiveId
87
94
  };
88
95
  ResponsiveSender.contextType = ResponsiveContext;
@@ -97,6 +104,7 @@ export function useResponsiveReceiver() {
97
104
 
98
105
  const resizeHandlerRef = useRef();
99
106
  const data = useRef();
107
+
100
108
  function updateLatestData() {
101
109
  const size = contextData.isParentSize ? contextData.getSize() : validSizeContextData.getSize();
102
110
  const prevData = data.current;
@@ -104,6 +112,7 @@ export function useResponsiveReceiver() {
104
112
  isTouchDevice,
105
113
  isParentSize: contextData.isParentSize,
106
114
  currentScreenSize: size,
115
+
107
116
  mediaQueryOR(breakPointArray) {
108
117
  return breakPointArray.some(breakPoint => {
109
118
  const {
@@ -113,6 +122,7 @@ export function useResponsiveReceiver() {
113
122
  return isHeight || isWidth;
114
123
  });
115
124
  },
125
+
116
126
  mediaQueryAND(breakPointArray) {
117
127
  return breakPointArray.every(breakPoint => {
118
128
  const {
@@ -122,23 +132,27 @@ export function useResponsiveReceiver() {
122
132
  return (isHeight === undefined ? true : isHeight) && (isWidth === undefined ? true : isWidth);
123
133
  });
124
134
  }
135
+
125
136
  });
126
137
  const isSameValues = shallowCompare(data.current, prevData);
138
+
127
139
  if (isSameValues) {
128
140
  data.current = prevData;
129
141
  }
142
+
130
143
  return isSameValues;
131
144
  }
145
+
132
146
  resizeHandlerRef.current = updateLatestData;
133
147
  useEffect(() => {
134
148
  function handleResize(size) {
135
149
  const isSameValues = resizeHandlerRef.current(size);
136
150
  !isSameValues && forceUpdate({});
137
151
  }
152
+
138
153
  contextData.resize.subscribe(handleResize);
139
154
  return () => contextData.resize.unsubscribe(handleResize);
140
- }, [contextData]);
141
- // const prevContextDataRef = useRef();
155
+ }, [contextData]); // const prevContextDataRef = useRef();
142
156
  // function handleResize(size) {
143
157
  // const prevData = data.current;
144
158
  // resizeHandlerRef.current(size);
@@ -153,11 +167,10 @@ export function useResponsiveReceiver() {
153
167
  // contextData.resize.subscribe(handleResize);
154
168
  // } else {
155
169
  // windowResizeObserver.observe(handleResize);
156
-
157
170
  // }
158
-
159
171
  // }
160
172
  // NOTE: this call for we must give updated value
173
+
161
174
  updateLatestData();
162
175
  return data.current;
163
176
  }
@@ -176,8 +189,7 @@ export function ResponsiveReceiver(_ref) {
176
189
  ref: eleRef
177
190
  }, child) : child;
178
191
  }
179
- ResponsiveReceiver.defaultProps = {
180
- ...CustomResponsiveReceiver_defaultProps,
192
+ ResponsiveReceiver.defaultProps = { ...CustomResponsiveReceiver_defaultProps,
181
193
  responsiveId: defaultResponsiveId
182
194
  };
183
195
  ResponsiveReceiver.propTypes = CustomResponsiveReceiver_propTypes;
@@ -1,5 +1,6 @@
1
1
  import React, { forwardRef, useCallback, Children, cloneElement } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+
3
4
  function setRef(refFunc, value) {
4
5
  if (typeof refFunc === 'function') {
5
6
  refFunc(value);
@@ -7,22 +8,20 @@ function setRef(refFunc, value) {
7
8
  refFunc.current = value;
8
9
  }
9
10
  }
11
+
10
12
  const DOMRefWrapper = /*#__PURE__*/forwardRef((props, refFunc) => {
11
13
  const ele = Children.only(props.children);
12
14
  const {
13
15
  domRefKey = 'eleRef'
14
- } = props;
16
+ } = props; // NOTE: need to check for forward Ref function, Because in Froward Ref case refKey is "ref"
17
+
18
+ const refKey = typeof ele.type !== 'string' ? domRefKey : 'ref'; // const setAttribute = useCallback(node => {
15
19
 
16
- // NOTE: need to check for forward Ref function, Because in Froward Ref case refKey is "ref"
17
- const refKey = typeof ele.type !== 'string' ? domRefKey : 'ref';
18
- // const setAttribute = useCallback(node => {
19
20
  const eleRealRefFunc = ele.props[refKey];
20
21
  const setAttribute = useCallback(ref => {
21
22
  setRef(refFunc, ref);
22
23
  setRef(eleRealRefFunc, ref);
23
- }, [refFunc, eleRealRefFunc]);
24
-
25
- // let refKey = typeof ele.type === 'string' ? 'ref' : 'eleRef';
24
+ }, [refFunc, eleRealRefFunc]); // let refKey = typeof ele.type === 'string' ? 'ref' : 'eleRef';
26
25
 
27
26
  let childProps = {
28
27
  [refKey]: setAttribute
@@ -11,8 +11,8 @@ export default class ResizeComponent extends React.Component {
11
11
  super(props);
12
12
  this.noSpaceForChildren = false;
13
13
  this.childrenCurrentList = [];
14
- this.widthCheck = debounce(this.widthCheck.bind(this), 10);
15
- // this.widthCheck = this.widthCheck.bind(this);
14
+ this.widthCheck = debounce(this.widthCheck.bind(this), 10); // this.widthCheck = this.widthCheck.bind(this);
15
+
16
16
  this.onResize = this.onResize.bind(this);
17
17
  this.onResizeMutation = this.onResizeMutation.bind(this);
18
18
  this.tabsObserver = new ResizeObserver(this.onResize);
@@ -21,6 +21,7 @@ export default class ResizeComponent extends React.Component {
21
21
  this.constructChildren = this.constructChildren.bind(this);
22
22
  this.querySelector = this.querySelector.bind(this);
23
23
  }
24
+
24
25
  querySelector() {
25
26
  if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
26
27
  return this.props.wrapperDivRef.current.querySelectorAll('[data-responsive="true"]');
@@ -28,11 +29,13 @@ export default class ResizeComponent extends React.Component {
28
29
  return [];
29
30
  }
30
31
  }
32
+
31
33
  onResizeMutation(mutations) {
32
34
  // console.log(mutations);
33
35
  let {
34
36
  childrenList
35
37
  } = this.props;
38
+
36
39
  for (const mutation of mutations) {
37
40
  if (mutation.type === 'childList') {
38
41
  if (mutation.addedNodes.length) {
@@ -43,24 +46,19 @@ export default class ResizeComponent extends React.Component {
43
46
  newAdded = true;
44
47
  }
45
48
  });
49
+
46
50
  if (newAdded) {
47
51
  //console.log('A child node has been added ', mutation);
48
-
49
52
  this.onResize();
50
53
  }
51
- } else if (mutation.removedNodes.length) {
52
- // ?? removed nodes ku check pannanum ah ??
54
+ } else if (mutation.removedNodes.length) {// ?? removed nodes ku check pannanum ah ??
53
55
  // console.log('A child node has been removed ', mutation);
54
56
  }
55
- } else if (mutation.type === 'attributes') {
56
- //console.log('The ' + mutation.attributeName + ' attribute was modified.', mutation);
57
- } else if (mutation.type === 'characterData') {
58
- // To Call While Changing InnerText, Remove Below line If Required. But It might affect Performance.
57
+ } else if (mutation.type === 'attributes') {//console.log('The ' + mutation.attributeName + ' attribute was modified.', mutation);
58
+ } else if (mutation.type === 'characterData') {// To Call While Changing InnerText, Remove Below line If Required. But It might affect Performance.
59
59
  // this.onResize();
60
60
  }
61
- }
62
-
63
- // mutations.forEach(mutation => {
61
+ } // mutations.forEach(mutation => {
64
62
  // if (mutation.target === foo &&
65
63
  // mutation.attributeName === 'style' &&
66
64
  // oldWidth !== foo.style.width) {
@@ -69,6 +67,7 @@ export default class ResizeComponent extends React.Component {
69
67
  // oldWidth = foo.style.width;
70
68
  // }
71
69
  // });
70
+
72
71
  }
73
72
 
74
73
  componentDidMount() {
@@ -83,22 +82,27 @@ export default class ResizeComponent extends React.Component {
83
82
  });
84
83
  }
85
84
  }
85
+
86
86
  componentWillUnmount() {
87
87
  this.reset();
88
88
  }
89
+
89
90
  reset() {
90
91
  this.childrenCurrentList = [];
91
92
  this.tabsObserver.disconnect();
92
93
  this.tabObserver && this.tabObserver.disconnect();
93
94
  }
95
+
94
96
  componentDidUpdate(prevProps) {
95
97
  if (this.childrenCurrentList.length === 0) {
96
98
  this.childrenCurrentList = this.querySelector();
97
99
  this.widthCheck();
98
100
  }
101
+
99
102
  if (this.props.resizeId !== prevProps.resizeId) {
100
103
  // Completely reset the observers and set new observer if id is changed
101
104
  this.reset();
105
+
102
106
  if (this.props.wrapperDivRef && this.props.wrapperDivRef.current) {
103
107
  this.tabsObserver.observe(this.props.wrapperDivRef.current);
104
108
  this.tabObserver.observe(this.props.wrapperDivRef.current, {
@@ -111,67 +115,73 @@ export default class ResizeComponent extends React.Component {
111
115
  }
112
116
  }
113
117
  }
118
+
114
119
  onResize() {
115
120
  // if (this.childrenCurrentList.length !== 0) {
116
121
  this.childrenCurrentList = [];
117
- this.constructChildren(0, false);
118
- //}
119
- }
120
-
121
- // shouldComponentUpdate() {
122
+ this.constructChildren(0, false); //}
123
+ } // shouldComponentUpdate() {
122
124
  // return this.childrenCurrentList.length === 0
123
125
  // }
124
126
 
127
+
125
128
  widthCheck() {
126
129
  let wrapperDivRef = this.props.wrapperDivRef.current;
127
130
  let moreDivRef = this.props.moreDivRef.current;
131
+
128
132
  if (wrapperDivRef && this.childrenCurrentList.length > 0) {
129
- const childrenWidthList = this.childrenCurrentList;
130
- // this.childrenCurrentList = childrenWidthList;
131
- const moreWidth = getElementSpace(moreDivRef).neededSpace;
132
- //console.log(moreWidth,'moreWidth');
133
+ const childrenWidthList = this.childrenCurrentList; // this.childrenCurrentList = childrenWidthList;
134
+
135
+ const moreWidth = getElementSpace(moreDivRef).neededSpace; //console.log(moreWidth,'moreWidth');
136
+
133
137
  let totalWidth = getElementSpace(wrapperDivRef).availableInsideSpace - moreWidth;
134
138
  let _childrenTotalWidth = 0;
135
139
  let dataCount = 0;
136
140
  this.noSpaceForChildren = false;
141
+
137
142
  if (totalWidth <= moreWidth) {
138
143
  this.noSpaceForChildren = true;
139
144
  } else {
140
145
  for (let i = 0; i < childrenWidthList.length; i++) {
141
146
  let currentWidth = getElementSpace(childrenWidthList[i]).neededSpace;
142
- _childrenTotalWidth += currentWidth;
143
- // console.log(_childrenTotalWidth, currentWidth, totalWidth)
147
+ _childrenTotalWidth += currentWidth; // console.log(_childrenTotalWidth, currentWidth, totalWidth)
148
+
144
149
  if (i === childrenWidthList.length - 1 && moreWidth >= currentWidth) {
145
150
  totalWidth += moreWidth;
146
151
  }
152
+
147
153
  if (totalWidth <= _childrenTotalWidth) {
148
154
  dataCount = i;
149
155
  break;
150
156
  }
151
157
  }
152
158
  }
159
+
153
160
  this.constructChildren(dataCount, true);
154
161
  } else {
155
162
  this.constructChildren(0, false);
156
163
  }
157
164
  }
165
+
158
166
  constructChildren() {
159
167
  let dataCount = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
160
168
  let responsive = arguments.length > 1 ? arguments[1] : undefined;
161
169
  const {
162
170
  childrenList,
163
171
  getData
164
- } = this.props;
165
- // If the data count is zero we assume that we can render all the items - data count will be zero only when we want to calculate the whole list width
172
+ } = this.props; // If the data count is zero we assume that we can render all the items - data count will be zero only when we want to calculate the whole list width
173
+
166
174
  dataCount = dataCount || childrenList && childrenList.length;
167
175
  getData({
168
176
  responsiveHook: responsive,
169
177
  validListCount: this.noSpaceForChildren ? 0 : dataCount
170
178
  });
171
179
  }
180
+
172
181
  render() {
173
182
  return /*#__PURE__*/React.createElement(React.Fragment, null, this.props.children);
174
183
  }
184
+
175
185
  }
176
186
  ResizeComponent.propTypes = {
177
187
  children: PropTypes.node,