@zohodesk/components 1.0.0-alpha-249 → 1.0.0-alpha-252

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 (673) hide show
  1. package/README.md +23 -0
  2. package/assets/Appearance/dark/mode/darkMode.module.css +2 -1
  3. package/assets/Appearance/default/mode/defaultMode.module.css +2 -1
  4. package/assets/Appearance/pureDark/mode/pureDarkMode.module.css +2 -1
  5. package/es/Accordion/Accordion.js +0 -7
  6. package/es/Accordion/AccordionItem.js +0 -4
  7. package/es/Accordion/docs/Accordion__Demo.docs.js +0 -2
  8. package/es/Animation/Animation.js +0 -3
  9. package/es/Animation/docs/Animation__default.docs.js +0 -2
  10. package/es/Animation/docs/Animation__fadeIn.docs.js +0 -2
  11. package/es/Animation/docs/Animation__scaleIn.docs.js +0 -2
  12. package/es/Animation/docs/Animation__skewIn.docs.js +0 -2
  13. package/es/Animation/docs/Animation__slideDown.docs.js +0 -2
  14. package/es/Animation/docs/Animation__slideLeft.docs.js +0 -2
  15. package/es/Animation/docs/Animation__zoomIn.docs.js +0 -2
  16. package/es/AppContainer/AppContainer.js +3 -14
  17. package/es/AppContainer/docs/AppContainer__default.docs.js +0 -2
  18. package/es/Avatar/Avatar.js +36 -42
  19. package/es/Avatar/Avatar.module.css +29 -9
  20. package/es/Avatar/docs/Avatar__custom.docs.js +1 -3
  21. package/es/Avatar/docs/Avatar__default.docs.js +1 -3
  22. package/es/Avatar/docs/Avatar__palette.docs.js +1 -3
  23. package/es/Avatar/docs/Avatar__text.docs.js +1 -3
  24. package/es/Avatar/props/defaultProps.js +2 -1
  25. package/es/Avatar/props/propTypes.js +2 -1
  26. package/es/AvatarTeam/AvatarTeam.js +1 -4
  27. package/es/AvatarTeam/AvatarTeam.module.css +21 -7
  28. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -2
  29. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -2
  30. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -2
  31. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -2
  32. package/es/Button/Button.js +0 -4
  33. package/es/Button/Button.module.css +97 -24
  34. package/es/Button/docs/Button__custom.docs.js +11 -13
  35. package/es/Button/docs/Button__default.docs.js +11 -13
  36. package/es/Buttongroup/Buttongroup.js +0 -3
  37. package/es/Buttongroup/Buttongroup.module.css +37 -8
  38. package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -2
  39. package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -2
  40. package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -2
  41. package/es/Card/Card.js +7 -22
  42. package/es/Card/docs/Card__Custom.docs.js +0 -2
  43. package/es/Card/docs/Card__Default.docs.js +0 -2
  44. package/es/Card/docs/Card__Scroll.docs.js +0 -3
  45. package/es/CheckBox/CheckBox.js +1 -6
  46. package/es/CheckBox/CheckBox.module.css +17 -11
  47. package/es/CheckBox/docs/CheckBox__custom.docs.js +12 -16
  48. package/es/CheckBox/docs/CheckBox__default.docs.js +12 -16
  49. package/es/DateTime/CalendarView.js +26 -34
  50. package/es/DateTime/DateTime.js +22 -77
  51. package/es/DateTime/DateTime.module.css +87 -15
  52. package/es/DateTime/DateTimePopupFooter.js +2 -4
  53. package/es/DateTime/DateTimePopupHeader.js +2 -8
  54. package/es/DateTime/DateWidget.js +34 -101
  55. package/es/DateTime/DateWidget.module.css +9 -5
  56. package/es/DateTime/DaysRow.js +2 -4
  57. package/es/DateTime/Time.js +2 -10
  58. package/es/DateTime/YearView.js +4 -28
  59. package/es/DateTime/YearView.module.css +17 -7
  60. package/es/DateTime/__tests__/CalendarView.spec.js +0 -1
  61. package/es/DateTime/__tests__/DateTime.spec.js +0 -1
  62. package/es/DateTime/__tests__/DateWidget.spec.js +3 -2
  63. package/es/DateTime/common.js +0 -3
  64. package/es/DateTime/constants.js +0 -1
  65. package/es/DateTime/dateFormatUtils/dateFormat.js +30 -63
  66. package/es/DateTime/dateFormatUtils/dayChange.js +4 -13
  67. package/es/DateTime/dateFormatUtils/index.js +2 -28
  68. package/es/DateTime/dateFormatUtils/monthChange.js +0 -8
  69. package/es/DateTime/dateFormatUtils/timeChange.js +6 -22
  70. package/es/DateTime/dateFormatUtils/yearChange.js +2 -11
  71. package/es/DateTime/docs/DateTime__default.docs.js +6 -9
  72. package/es/DateTime/docs/DateWidget__default.docs.js +0 -5
  73. package/es/DateTime/objectUtils.js +20 -14
  74. package/es/DateTime/props/propTypes.js +4 -2
  75. package/es/DateTime/typeChecker.js +0 -3
  76. package/es/DateTime/validator.js +6 -58
  77. package/es/DropBox/DropBox.js +6 -29
  78. package/es/DropBox/DropBox.module.css +47 -11
  79. package/es/DropBox/docs/DropBox__custom.docs.js +25 -27
  80. package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -7
  81. package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -7
  82. package/es/DropBox/docs/DropBox__position.docs.js +35 -37
  83. package/es/DropBox/docs/DropBox__size.docs.js +28 -30
  84. package/es/DropDown/DropDown.js +1 -9
  85. package/es/DropDown/DropDownHeading.js +2 -4
  86. package/es/DropDown/DropDownHeading.module.css +7 -3
  87. package/es/DropDown/DropDownItem.js +0 -6
  88. package/es/DropDown/DropDownItem.module.css +32 -6
  89. package/es/DropDown/DropDownSearch.js +0 -4
  90. package/es/DropDown/DropDownSeparator.js +0 -1
  91. package/es/DropDown/__tests__/DropDown.spec.js +2 -1
  92. package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -2
  93. package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -2
  94. package/es/Heading/Heading.js +34 -0
  95. package/es/Heading/Heading.module.css +5 -0
  96. package/es/Heading/docs/Heading__default.docs.js +19 -0
  97. package/es/Heading/props/defaultProps.js +5 -0
  98. package/es/Heading/props/propTypes.js +11 -0
  99. package/es/Label/Label.js +0 -2
  100. package/es/Label/docs/Label__clipped.docs.js +0 -2
  101. package/es/Label/docs/Label__custom.docs.js +0 -2
  102. package/es/Label/docs/Label__palette.docs.js +0 -2
  103. package/es/Label/docs/Label__size.docs.js +0 -2
  104. package/es/Label/docs/Label__type.docs.js +0 -2
  105. package/es/Layout/Box.js +0 -13
  106. package/es/Layout/Container.js +1 -12
  107. package/es/Layout/docs/Layout__Hidden.docs.js +0 -1
  108. package/es/Layout/docs/Layout__default.docs.js +0 -1
  109. package/es/Layout/docs/Layout__four_Column.docs.js +0 -1
  110. package/es/Layout/docs/Layout__three_Column.docs.js +0 -1
  111. package/es/Layout/docs/Layout__two_Column.docs.js +0 -1
  112. package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -2
  113. package/es/ListItem/ListContainer.js +1 -9
  114. package/es/ListItem/ListItem.js +1 -10
  115. package/es/ListItem/ListItem.module.css +57 -25
  116. package/es/ListItem/ListItemWithAvatar.js +2 -10
  117. package/es/ListItem/ListItemWithCheckBox.js +1 -8
  118. package/es/ListItem/ListItemWithIcon.js +1 -9
  119. package/es/ListItem/ListItemWithRadio.js +1 -8
  120. package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -2
  121. package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -2
  122. package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -2
  123. package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -2
  124. package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -2
  125. package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -2
  126. package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -2
  127. package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -2
  128. package/es/ListItem/docs/ListItem__custom.docs.js +0 -2
  129. package/es/ListItem/docs/ListItem__default.docs.js +0 -2
  130. package/es/Modal/Modal.js +9 -29
  131. package/es/Modal/__docs__/Modal__default.docs.js +1 -5
  132. package/es/MultiSelect/AdvancedGroupMultiSelect.js +11 -90
  133. package/es/MultiSelect/AdvancedMultiSelect.js +22 -40
  134. package/es/MultiSelect/EmptyState.js +0 -2
  135. package/es/MultiSelect/MultiSelect.js +49 -112
  136. package/es/MultiSelect/MultiSelect.module.css +28 -11
  137. package/es/MultiSelect/MultiSelectHeader.js +0 -3
  138. package/es/MultiSelect/MultiSelectWithAvatar.js +16 -17
  139. package/es/MultiSelect/SelectedOptions.js +4 -7
  140. package/es/MultiSelect/SelectedOptions.module.css +8 -2
  141. package/es/MultiSelect/Suggestions.js +4 -8
  142. package/es/MultiSelect/__tests__/MultiSelect.spec.js +6 -4
  143. package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -7
  144. package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +1 -7
  145. package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +1 -5
  146. package/es/MultiSelect/docs/MultiSelect__default.docs.js +1 -6
  147. package/es/MultiSelect/props/defaultProps.js +8 -4
  148. package/es/MultiSelect/props/propTypes.js +8 -6
  149. package/es/PopOver/PopOver.js +0 -18
  150. package/es/PopOver/PopOver.module.css +1 -1
  151. package/es/PopOver/__tests__/PopOver.spec.js +1 -2
  152. package/es/PopOver/docs/PopOver__default.docs.js +0 -2
  153. package/es/Popup/Popup.js +25 -78
  154. package/es/Popup/__tests__/Popup.spec.js +5 -17
  155. package/es/Popup/viewPort.js +4 -16
  156. package/es/Provider/IdProvider.js +2 -9
  157. package/es/Provider/LibraryContext.js +4 -6
  158. package/es/Provider/NumberGenerator/NumberGenerator.js +7 -21
  159. package/es/Provider/ZindexProvider.js +2 -9
  160. package/es/Provider/docs/Provider_Id__Class.docs.js +3 -4
  161. package/es/Provider/docs/Provider_Id__Function.docs.js +0 -1
  162. package/es/Provider/docs/Provider_Zindex__Class.docs.js +3 -4
  163. package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -1
  164. package/es/Provider.js +3 -7
  165. package/es/Radio/Radio.js +0 -4
  166. package/es/Radio/Radio.module.css +10 -4
  167. package/es/Radio/docs/Radio__custom.docs.js +12 -16
  168. package/es/Radio/docs/Radio__default.docs.js +12 -16
  169. package/es/Responsive/CustomResponsive.js +18 -28
  170. package/es/Responsive/RefWrapper.js +7 -6
  171. package/es/Responsive/ResizeComponent.js +25 -35
  172. package/es/Responsive/ResizeObserver.js +6 -26
  173. package/es/Responsive/Responsive.js +20 -35
  174. package/es/Responsive/docs/Responsive__Custom.docs.js +22 -14
  175. package/es/Responsive/docs/Responsive__default.docs.js +1 -3
  176. package/es/Responsive/docs/style.module.css +17 -8
  177. package/es/Responsive/sizeObservers.js +7 -28
  178. package/es/Responsive/utils/index.js +5 -7
  179. package/es/Responsive/utils/shallowCompare.js +2 -7
  180. package/es/Responsive/windowResizeObserver.js +0 -7
  181. package/es/ResponsiveDropBox/ResponsiveDropBox.js +1 -5
  182. package/es/Ribbon/Ribbon.js +0 -3
  183. package/es/Ribbon/Ribbon.module.css +93 -28
  184. package/es/Ribbon/docs/Ribbon__custom.docs.js +13 -14
  185. package/es/Ribbon/docs/Ribbon__default.docs.js +13 -14
  186. package/es/RippleEffect/RippleEffect.js +0 -1
  187. package/es/RippleEffect/RippleEffect.module.css +9 -27
  188. package/es/RippleEffect/docs/RippleEffect__default.docs.js +12 -14
  189. package/es/Select/GroupSelect.js +28 -67
  190. package/es/Select/Select.js +48 -98
  191. package/es/Select/Select.module.css +15 -2
  192. package/es/Select/SelectWithAvatar.js +15 -24
  193. package/es/Select/SelectWithIcon.js +73 -54
  194. package/es/Select/__tests__/Select.spec.js +8 -6
  195. package/es/Select/docs/GroupSelect__default.docs.js +1 -6
  196. package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -4
  197. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -4
  198. package/es/Select/docs/Select__default.docs.js +0 -5
  199. package/es/Select/props/defaultProps.js +8 -4
  200. package/es/Select/props/propTypes.js +8 -5
  201. package/es/Stencils/Stencils.js +0 -3
  202. package/es/Stencils/Stencils.module.css +21 -3
  203. package/es/Stencils/docs/Stencils__custom.docs.js +0 -2
  204. package/es/Stencils/docs/Stencils__default.docs.js +0 -2
  205. package/es/Switch/Switch.js +1 -6
  206. package/es/Switch/Switch.module.css +6 -7
  207. package/es/Switch/docs/Switch__custom.docs.js +12 -14
  208. package/es/Switch/docs/Switch__default.docs.js +12 -14
  209. package/es/Tab/Tab.js +2 -5
  210. package/es/Tab/Tab.module.css +16 -7
  211. package/es/Tab/TabContent.js +0 -1
  212. package/es/Tab/TabContentWrapper.js +0 -2
  213. package/es/Tab/TabWrapper.js +3 -6
  214. package/es/Tab/Tabs.js +8 -55
  215. package/es/Tab/Tabs.module.css +42 -8
  216. package/es/Tab/__tests__/Tab.spec.js +2 -1
  217. package/es/Tab/__tests__/TabWrapper.spec.js +0 -1
  218. package/es/Tab/docs/Tab__default.docs.js +0 -5
  219. package/es/Tab/docs/tabdocs.module.css +1 -1
  220. package/es/Tag/Tag.js +1 -6
  221. package/es/Tag/Tag.module.css +36 -14
  222. package/es/Tag/docs/Tag__custom.docs.js +11 -13
  223. package/es/Tag/docs/Tag__default.docs.js +11 -13
  224. package/es/TextBox/TextBox.js +1 -16
  225. package/es/TextBox/TextBox.module.css +7 -11
  226. package/es/TextBox/__tests__/TextBox.spec.js +4 -1
  227. package/es/TextBox/docs/TextBox__custom.docs.js +0 -2
  228. package/es/TextBox/docs/TextBox__default.docs.js +0 -2
  229. package/es/TextBox/docs/TextBox__size.docs.js +0 -2
  230. package/es/TextBox/docs/TextBox__variant.docs.js +0 -2
  231. package/es/TextBoxIcon/TextBoxIcon.js +1 -8
  232. package/es/TextBoxIcon/TextBoxIcon.module.css +12 -5
  233. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +7 -2
  234. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -2
  235. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -2
  236. package/es/Textarea/Textarea.js +1 -13
  237. package/es/Textarea/Textarea.module.css +6 -7
  238. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  239. package/es/Textarea/docs/Textarea__animated.docs.js +0 -2
  240. package/es/Textarea/docs/Textarea__custom.docs.js +0 -2
  241. package/es/Textarea/docs/Textarea__default.docs.js +0 -2
  242. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -2
  243. package/es/Tooltip/Tooltip.js +11 -58
  244. package/es/Tooltip/Tooltip.module.css +9 -8
  245. package/es/Tooltip/__tests__/Tooltip.spec.js +0 -5
  246. package/es/Tooltip/docs/Tooltip__default.docs.js +63 -67
  247. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -3
  248. package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -5
  249. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -8
  250. package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +17 -28
  251. package/es/common/animation.module.css +219 -21
  252. package/es/common/basicReset.module.css +2 -12
  253. package/es/common/common.module.css +64 -18
  254. package/es/common/customscroll.module.css +17 -21
  255. package/es/common/docStyle.module.css +79 -32
  256. package/es/common/transition.module.css +50 -10
  257. package/es/deprecated/AdvancedMultiSelect.module.css +22 -8
  258. package/es/deprecated/PortalLayer/PortalLayer.js +17 -25
  259. package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -7
  260. package/es/index.js +5 -2
  261. package/es/semantic/Button/Button.js +0 -3
  262. package/es/semantic/Button/docs/Button__default.docs.js +0 -3
  263. package/es/semantic/Button/semanticButton.module.css +3 -3
  264. package/es/utils/Common.js +23 -47
  265. package/es/utils/ContextOptimizer.js +5 -4
  266. package/es/utils/__tests__/debounce.spec.js +2 -2
  267. package/es/utils/constructFullName.js +0 -2
  268. package/es/utils/datetime/common.js +5 -16
  269. package/es/utils/debounce.js +1 -5
  270. package/es/utils/dropDownUtils.js +11 -67
  271. package/es/utils/getInitial.js +0 -4
  272. package/es/utils/shallowEqual.js +0 -6
  273. package/lib/Accordion/Accordion.js +102 -0
  274. package/lib/Accordion/AccordionItem.js +84 -0
  275. package/lib/Accordion/__tests__/Accordion.spec.js +82 -0
  276. package/lib/Accordion/docs/Accordion__Demo.docs.js +104 -0
  277. package/lib/Accordion/index.js +20 -0
  278. package/lib/Accordion/props/defaultProps.js +16 -0
  279. package/lib/Accordion/props/propTypes.js +39 -0
  280. package/lib/Animation/Animation.js +161 -0
  281. package/lib/Animation/__tests__/Animation.spec.js +19 -0
  282. package/lib/Animation/docs/Animation__default.docs.js +61 -0
  283. package/lib/Animation/docs/Animation__fadeIn.docs.js +61 -0
  284. package/lib/Animation/docs/Animation__scaleIn.docs.js +61 -0
  285. package/lib/Animation/docs/Animation__skewIn.docs.js +61 -0
  286. package/lib/Animation/docs/Animation__slideDown.docs.js +61 -0
  287. package/lib/Animation/docs/Animation__slideLeft.docs.js +61 -0
  288. package/lib/Animation/docs/Animation__zoomIn.docs.js +61 -0
  289. package/lib/Animation/props/defaultProps.js +14 -0
  290. package/lib/Animation/props/propTypes.js +20 -0
  291. package/lib/AppContainer/AppContainer.js +156 -0
  292. package/lib/AppContainer/AppContainer.module.css +18 -0
  293. package/lib/AppContainer/docs/AppContainer__default.docs.js +47 -0
  294. package/lib/AppContainer/props/defaultProps.js +15 -0
  295. package/lib/AppContainer/props/propTypes.js +23 -0
  296. package/lib/Avatar/Avatar.js +199 -0
  297. package/lib/Avatar/Avatar.module.css +135 -0
  298. package/lib/Avatar/__tests__/Avatar.spec.js +164 -0
  299. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -0
  300. package/lib/Avatar/docs/Avatar__custom.docs.js +62 -0
  301. package/lib/Avatar/docs/Avatar__default.docs.js +60 -0
  302. package/lib/Avatar/docs/Avatar__palette.docs.js +82 -0
  303. package/lib/Avatar/docs/Avatar__text.docs.js +61 -0
  304. package/lib/Avatar/props/defaultProps.js +21 -0
  305. package/lib/Avatar/props/propTypes.js +31 -0
  306. package/lib/AvatarTeam/AvatarTeam.js +99 -0
  307. package/lib/AvatarTeam/AvatarTeam.module.css +161 -0
  308. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +79 -0
  309. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -0
  310. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +100 -0
  311. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +58 -0
  312. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +77 -0
  313. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +76 -0
  314. package/lib/AvatarTeam/props/defaultProps.js +20 -0
  315. package/lib/AvatarTeam/props/propTypes.js +31 -0
  316. package/lib/Button/Button.js +90 -0
  317. package/lib/Button/Button.module.css +522 -0
  318. package/lib/Button/__tests__/Button.spec.js +193 -0
  319. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -0
  320. package/lib/Button/docs/Button__custom.docs.js +800 -0
  321. package/lib/Button/docs/Button__default.docs.js +565 -0
  322. package/lib/Button/props/defaultProps.js +22 -0
  323. package/lib/Button/props/propTypes.js +30 -0
  324. package/lib/Buttongroup/Buttongroup.js +69 -0
  325. package/lib/Buttongroup/Buttongroup.module.css +89 -0
  326. package/lib/Buttongroup/__test__/Buttongroup.spec.js +76 -0
  327. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -0
  328. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +64 -0
  329. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +60 -0
  330. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +71 -0
  331. package/lib/Buttongroup/props/defaultProps.js +11 -0
  332. package/lib/Buttongroup/props/propTypes.js +15 -0
  333. package/lib/Card/Card.js +301 -0
  334. package/lib/Card/Card.module.css +20 -0
  335. package/lib/Card/__tests__/Card.spec.js +47 -0
  336. package/lib/Card/docs/Card__Custom.docs.js +63 -0
  337. package/lib/Card/docs/Card__Default.docs.js +66 -0
  338. package/lib/Card/docs/Card__Scroll.docs.js +87 -0
  339. package/lib/Card/index.js +33 -0
  340. package/lib/Card/props/defaultProps.js +23 -0
  341. package/lib/Card/props/propTypes.js +54 -0
  342. package/lib/CheckBox/CheckBox.js +183 -0
  343. package/lib/CheckBox/CheckBox.module.css +157 -0
  344. package/lib/CheckBox/__tests__/CheckBox.spec.js +15 -0
  345. package/lib/CheckBox/docs/CheckBox__custom.docs.js +323 -0
  346. package/lib/CheckBox/docs/CheckBox__default.docs.js +249 -0
  347. package/lib/CheckBox/props/defaultProps.js +25 -0
  348. package/lib/CheckBox/props/propTypes.js +49 -0
  349. package/lib/DateTime/CalendarView.js +227 -0
  350. package/lib/DateTime/DateTime.js +779 -0
  351. package/lib/DateTime/DateTime.module.css +233 -0
  352. package/lib/DateTime/DateTimePopupFooter.js +65 -0
  353. package/lib/DateTime/DateTimePopupHeader.js +117 -0
  354. package/lib/DateTime/DateWidget.js +1015 -0
  355. package/lib/DateTime/DateWidget.module.css +38 -0
  356. package/lib/DateTime/DaysRow.js +52 -0
  357. package/lib/DateTime/Time.js +205 -0
  358. package/lib/DateTime/YearView.js +267 -0
  359. package/lib/DateTime/YearView.module.css +81 -0
  360. package/lib/DateTime/__tests__/CalendarView.spec.js +37 -0
  361. package/lib/DateTime/__tests__/DateTime.spec.js +113 -0
  362. package/lib/DateTime/__tests__/DateWidget.spec.js +79 -0
  363. package/lib/DateTime/common.js +30 -0
  364. package/lib/DateTime/constants.js +76 -0
  365. package/lib/DateTime/dateFormatUtils/dateFormat.js +551 -0
  366. package/lib/DateTime/dateFormatUtils/dayChange.js +74 -0
  367. package/lib/DateTime/dateFormatUtils/index.js +225 -0
  368. package/lib/DateTime/dateFormatUtils/monthChange.js +84 -0
  369. package/lib/DateTime/dateFormatUtils/timeChange.js +208 -0
  370. package/lib/DateTime/dateFormatUtils/yearChange.js +108 -0
  371. package/lib/DateTime/docs/DateTime__default.docs.js +119 -0
  372. package/lib/DateTime/docs/DateWidget__default.docs.js +212 -0
  373. package/lib/DateTime/docs/timezonedata.json +1 -0
  374. package/lib/DateTime/index.js +13 -0
  375. package/lib/DateTime/objectUtils.js +72 -0
  376. package/lib/DateTime/props/defaultProps.js +61 -0
  377. package/lib/DateTime/props/propTypes.js +144 -0
  378. package/lib/DateTime/typeChecker.js +22 -0
  379. package/lib/DateTime/validator.js +290 -0
  380. package/lib/DropBox/DropBox.js +266 -0
  381. package/lib/DropBox/DropBox.module.css +406 -0
  382. package/lib/DropBox/DropBoxPositionMapping.json +145 -0
  383. package/lib/DropBox/__tests__/DropBox.spec.js +83 -0
  384. package/lib/DropBox/docs/DropBox__custom.docs.js +97 -0
  385. package/lib/DropBox/docs/DropBox__customOrder.docs.js +114 -0
  386. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +113 -0
  387. package/lib/DropBox/docs/DropBox__position.docs.js +118 -0
  388. package/lib/DropBox/docs/DropBox__size.docs.js +92 -0
  389. package/lib/DropBox/props/defaultProps.js +27 -0
  390. package/lib/DropBox/props/propTypes.js +55 -0
  391. package/lib/DropDown/DropDown.js +127 -0
  392. package/lib/DropDown/DropDown.module.css +5 -0
  393. package/lib/DropDown/DropDownHeading.js +64 -0
  394. package/lib/DropDown/DropDownHeading.module.css +53 -0
  395. package/lib/DropDown/DropDownItem.js +102 -0
  396. package/lib/DropDown/DropDownItem.module.css +94 -0
  397. package/lib/DropDown/DropDownSearch.js +88 -0
  398. package/lib/DropDown/DropDownSearch.module.css +14 -0
  399. package/lib/DropDown/DropDownSeparator.js +42 -0
  400. package/lib/DropDown/DropDownSeparator.module.css +7 -0
  401. package/lib/DropDown/__tests__/DropDown.spec.js +44 -0
  402. package/lib/DropDown/__tests__/DropDownItem.spec.js +46 -0
  403. package/lib/DropDown/__tests__/DropDownSearch.spec.js +14 -0
  404. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +50 -0
  405. package/lib/DropDown/docs/DropDownHeading__default.docs.js +48 -0
  406. package/lib/DropDown/props/defaultProps.js +28 -0
  407. package/lib/DropDown/props/propTypes.js +89 -0
  408. package/lib/Heading/Heading.js +64 -0
  409. package/lib/Heading/Heading.module.css +5 -0
  410. package/lib/Heading/docs/Heading__default.docs.js +50 -0
  411. package/lib/Heading/props/defaultProps.js +12 -0
  412. package/lib/Heading/props/propTypes.js +19 -0
  413. package/lib/Label/Label.js +65 -0
  414. package/lib/Label/Label.module.css +52 -0
  415. package/lib/Label/LabelColors.module.css +21 -0
  416. package/lib/Label/__tests__/Label.spec.js +124 -0
  417. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -0
  418. package/lib/Label/docs/Label__clipped.docs.js +56 -0
  419. package/lib/Label/docs/Label__custom.docs.js +59 -0
  420. package/lib/Label/docs/Label__palette.docs.js +71 -0
  421. package/lib/Label/docs/Label__size.docs.js +58 -0
  422. package/lib/Label/docs/Label__type.docs.js +66 -0
  423. package/lib/Label/props/defaultProps.js +17 -0
  424. package/lib/Label/props/propTypes.js +22 -0
  425. package/lib/Layout/Box.js +104 -0
  426. package/lib/Layout/Container.js +122 -0
  427. package/lib/Layout/Layout.module.css +336 -0
  428. package/lib/Layout/__tests__/Box.spec.js +105 -0
  429. package/lib/Layout/__tests__/Container.spec.js +110 -0
  430. package/lib/Layout/docs/Layout__Hidden.docs.js +105 -0
  431. package/lib/Layout/docs/Layout__default.docs.js +77 -0
  432. package/lib/Layout/docs/Layout__four_Column.docs.js +107 -0
  433. package/lib/Layout/docs/Layout__three_Column.docs.js +104 -0
  434. package/lib/Layout/docs/Layout__two_Column.docs.js +97 -0
  435. package/lib/Layout/index.js +30 -0
  436. package/lib/Layout/props/defaultProps.js +20 -0
  437. package/lib/Layout/props/propTypes.js +51 -0
  438. package/lib/Layout/utils.js +45 -0
  439. package/lib/LightNightMode/Colors.json +497 -0
  440. package/lib/LightNightMode/docs/AlternativeColors.docs.js +128 -0
  441. package/lib/ListItem/ListContainer.js +93 -0
  442. package/lib/ListItem/ListItem.js +153 -0
  443. package/lib/ListItem/ListItem.module.css +209 -0
  444. package/lib/ListItem/ListItemWithAvatar.js +175 -0
  445. package/lib/ListItem/ListItemWithCheckBox.js +141 -0
  446. package/lib/ListItem/ListItemWithIcon.js +158 -0
  447. package/lib/ListItem/ListItemWithRadio.js +143 -0
  448. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +182 -0
  449. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +139 -0
  450. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +118 -0
  451. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +92 -0
  452. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +95 -0
  453. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +89 -0
  454. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +118 -0
  455. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +92 -0
  456. package/lib/ListItem/docs/ListItem__custom.docs.js +141 -0
  457. package/lib/ListItem/docs/ListItem__default.docs.js +109 -0
  458. package/lib/ListItem/props/defaultProps.js +97 -0
  459. package/lib/ListItem/props/propTypes.js +176 -0
  460. package/lib/Modal/Modal.js +174 -0
  461. package/lib/Modal/__docs__/Modal__default.docs.js +65 -0
  462. package/lib/Modal/props/defaultProps.js +10 -0
  463. package/lib/Modal/props/propTypes.js +14 -0
  464. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1032 -0
  465. package/lib/MultiSelect/AdvancedMultiSelect.js +552 -0
  466. package/lib/MultiSelect/EmptyState.js +85 -0
  467. package/lib/MultiSelect/MultiSelect.js +1044 -0
  468. package/lib/MultiSelect/MultiSelect.module.css +206 -0
  469. package/lib/MultiSelect/MultiSelectHeader.js +55 -0
  470. package/lib/MultiSelect/MultiSelectWithAvatar.js +304 -0
  471. package/lib/MultiSelect/SelectedOptions.js +97 -0
  472. package/lib/MultiSelect/SelectedOptions.module.css +15 -0
  473. package/lib/MultiSelect/Suggestions.js +158 -0
  474. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +159 -0
  475. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +154 -0
  476. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +140 -0
  477. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +165 -0
  478. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +186 -0
  479. package/lib/MultiSelect/props/defaultProps.js +158 -0
  480. package/lib/MultiSelect/props/propTypes.js +377 -0
  481. package/lib/PopOver/PopOver.js +252 -0
  482. package/lib/PopOver/PopOver.module.css +8 -0
  483. package/lib/PopOver/__tests__/PopOver.spec.js +17 -0
  484. package/lib/PopOver/docs/PopOver__default.docs.js +61 -0
  485. package/lib/PopOver/props/defaultProps.js +15 -0
  486. package/lib/PopOver/props/propTypes.js +63 -0
  487. package/lib/Popup/Popup.js +640 -0
  488. package/lib/Popup/PositionMapping.json +74 -0
  489. package/lib/Popup/__tests__/Popup.spec.js +155 -0
  490. package/lib/Popup/viewPort.js +354 -0
  491. package/lib/Provider/AvatarSize.js +19 -0
  492. package/lib/Provider/Config.js +25 -0
  493. package/lib/Provider/CssProvider.js +23 -0
  494. package/lib/Provider/IdProvider.js +68 -0
  495. package/lib/Provider/LibraryContext.js +54 -0
  496. package/lib/Provider/LibraryContextInit.js +11 -0
  497. package/lib/Provider/NumberGenerator/NumberGenerator.js +145 -0
  498. package/lib/Provider/ZindexProvider.js +57 -0
  499. package/lib/Provider/docs/Provider_Id__Class.docs.js +56 -0
  500. package/lib/Provider/docs/Provider_Id__Function.docs.js +24 -0
  501. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +59 -0
  502. package/lib/Provider/docs/Provider_Zindex__Function.docs.js +29 -0
  503. package/lib/Provider.js +116 -0
  504. package/lib/Radio/Radio.js +146 -0
  505. package/lib/Radio/Radio.module.css +112 -0
  506. package/lib/Radio/__tests__/Radiospec.js +25 -0
  507. package/lib/Radio/docs/Radio__custom.docs.js +273 -0
  508. package/lib/Radio/docs/Radio__default.docs.js +197 -0
  509. package/lib/Radio/props/defaultProps.js +21 -0
  510. package/lib/Radio/props/propTypes.js +40 -0
  511. package/lib/Responsive/CustomResponsive.js +192 -0
  512. package/lib/Responsive/RefWrapper.js +47 -0
  513. package/lib/Responsive/ResizeComponent.js +237 -0
  514. package/lib/Responsive/ResizeObserver.js +151 -0
  515. package/lib/Responsive/Responsive.js +222 -0
  516. package/lib/Responsive/docs/Responsive__Custom.docs.js +247 -0
  517. package/lib/Responsive/docs/Responsive__default.docs.js +118 -0
  518. package/lib/Responsive/docs/style.module.css +56 -0
  519. package/lib/Responsive/index.js +28 -0
  520. package/lib/Responsive/props/defaultProps.js +23 -0
  521. package/lib/Responsive/props/propTypes.js +36 -0
  522. package/lib/Responsive/sizeObservers.js +176 -0
  523. package/lib/Responsive/utils/index.js +62 -0
  524. package/lib/Responsive/utils/shallowCompare.js +29 -0
  525. package/lib/Responsive/windowResizeObserver.js +55 -0
  526. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +94 -0
  527. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +6 -0
  528. package/lib/ResponsiveDropBox/props/defaultProps.js +11 -0
  529. package/lib/ResponsiveDropBox/props/propTypes.js +15 -0
  530. package/lib/Ribbon/Ribbon.js +71 -0
  531. package/lib/Ribbon/Ribbon.module.css +377 -0
  532. package/lib/Ribbon/__tests__/Ribbon.spec.js +171 -0
  533. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -0
  534. package/lib/Ribbon/docs/Ribbon__custom.docs.js +414 -0
  535. package/lib/Ribbon/docs/Ribbon__default.docs.js +370 -0
  536. package/lib/Ribbon/props/defaultProps.js +15 -0
  537. package/lib/Ribbon/props/propTypes.js +18 -0
  538. package/lib/RippleEffect/RippleEffect.js +35 -0
  539. package/lib/RippleEffect/RippleEffect.module.css +92 -0
  540. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +462 -0
  541. package/lib/RippleEffect/props/defaultProps.js +16 -0
  542. package/lib/RippleEffect/props/propTypes.js +19 -0
  543. package/lib/Select/GroupSelect.js +771 -0
  544. package/lib/Select/Select.js +910 -0
  545. package/lib/Select/Select.module.css +109 -0
  546. package/lib/Select/SelectWithAvatar.js +340 -0
  547. package/lib/Select/SelectWithIcon.js +530 -0
  548. package/lib/Select/__tests__/Select.spec.js +341 -0
  549. package/lib/Select/docs/GroupSelect__default.docs.js +173 -0
  550. package/lib/Select/docs/SelectWithAvatar__default.docs.js +124 -0
  551. package/lib/Select/docs/SelectWithIcon__default.docs.js +165 -0
  552. package/lib/Select/docs/Select__default.docs.js +313 -0
  553. package/lib/Select/props/defaultProps.js +112 -0
  554. package/lib/Select/props/propTypes.js +280 -0
  555. package/lib/Stencils/Stencils.js +57 -0
  556. package/lib/Stencils/Stencils.module.css +96 -0
  557. package/lib/Stencils/__tests__/Stencils.spec.js +72 -0
  558. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -0
  559. package/lib/Stencils/docs/Stencils__custom.docs.js +72 -0
  560. package/lib/Stencils/docs/Stencils__default.docs.js +77 -0
  561. package/lib/Stencils/props/defaultProps.js +13 -0
  562. package/lib/Stencils/props/propTypes.js +15 -0
  563. package/lib/Switch/Switch.js +123 -0
  564. package/lib/Switch/Switch.module.css +111 -0
  565. package/lib/Switch/docs/Switch__custom.docs.js +180 -0
  566. package/lib/Switch/docs/Switch__default.docs.js +134 -0
  567. package/lib/Switch/props/defaultProps.js +17 -0
  568. package/lib/Switch/props/propTypes.js +35 -0
  569. package/lib/Tab/Tab.js +116 -0
  570. package/lib/Tab/Tab.module.css +101 -0
  571. package/lib/Tab/TabContent.js +33 -0
  572. package/lib/Tab/TabContent.module.css +4 -0
  573. package/lib/Tab/TabContentWrapper.js +33 -0
  574. package/lib/Tab/TabWrapper.js +69 -0
  575. package/lib/Tab/Tabs.js +581 -0
  576. package/lib/Tab/Tabs.module.css +141 -0
  577. package/lib/Tab/__tests__/Tab.spec.js +119 -0
  578. package/lib/Tab/__tests__/TabContent.spec.js +18 -0
  579. package/lib/Tab/__tests__/TabContentWrapper.spec.js +51 -0
  580. package/lib/Tab/__tests__/TabWrapper.spec.js +88 -0
  581. package/lib/Tab/__tests__/Tabs.spec.js +109 -0
  582. package/lib/Tab/docs/Tab__default.docs.js +283 -0
  583. package/lib/Tab/docs/tabdocs.module.css +29 -0
  584. package/lib/Tab/index.js +41 -0
  585. package/lib/Tab/props/defaultProps.js +50 -0
  586. package/lib/Tab/props/propTypes.js +114 -0
  587. package/lib/Tag/Tag.js +177 -0
  588. package/lib/Tag/Tag.module.css +255 -0
  589. package/lib/Tag/__tests__/Tag.spec.js +29 -0
  590. package/lib/Tag/docs/Tag__custom.docs.js +397 -0
  591. package/lib/Tag/docs/Tag__default.docs.js +352 -0
  592. package/lib/Tag/props/defaultProps.js +20 -0
  593. package/lib/Tag/props/propTypes.js +42 -0
  594. package/lib/TextBox/TextBox.js +193 -0
  595. package/lib/TextBox/TextBox.module.css +157 -0
  596. package/lib/TextBox/__tests__/TextBox.spec.js +195 -0
  597. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -0
  598. package/lib/TextBox/docs/TextBox__custom.docs.js +72 -0
  599. package/lib/TextBox/docs/TextBox__default.docs.js +69 -0
  600. package/lib/TextBox/docs/TextBox__size.docs.js +67 -0
  601. package/lib/TextBox/docs/TextBox__variant.docs.js +67 -0
  602. package/lib/TextBox/props/defaultProps.js +26 -0
  603. package/lib/TextBox/props/propTypes.js +57 -0
  604. package/lib/TextBoxIcon/TextBoxIcon.js +187 -0
  605. package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -0
  606. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +219 -0
  607. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -0
  608. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +118 -0
  609. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +90 -0
  610. package/lib/TextBoxIcon/props/defaultProps.js +28 -0
  611. package/lib/TextBoxIcon/props/propTypes.js +57 -0
  612. package/lib/Textarea/Textarea.js +130 -0
  613. package/lib/Textarea/Textarea.module.css +139 -0
  614. package/lib/Textarea/__tests__/Textarea.spec.js +174 -0
  615. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -0
  616. package/lib/Textarea/docs/Textarea__animated.docs.js +70 -0
  617. package/lib/Textarea/docs/Textarea__custom.docs.js +111 -0
  618. package/lib/Textarea/docs/Textarea__default.docs.js +105 -0
  619. package/lib/Textarea/docs/Textarea__disabled.docs.js +58 -0
  620. package/lib/Textarea/props/defaultProps.js +23 -0
  621. package/lib/Textarea/props/propTypes.js +39 -0
  622. package/lib/Tooltip/Tooltip.js +516 -0
  623. package/lib/Tooltip/Tooltip.module.css +109 -0
  624. package/lib/Tooltip/__tests__/Tooltip.spec.js +75 -0
  625. package/lib/Tooltip/docs/Tooltip__default.docs.js +402 -0
  626. package/lib/Tooltip/props/defaultProps.js +11 -0
  627. package/lib/Tooltip/props/propTypes.js +16 -0
  628. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +100 -0
  629. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +123 -0
  630. package/lib/VelocityAnimation/VelocityAnimation/props/defaultProps.js +14 -0
  631. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +20 -0
  632. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +131 -0
  633. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +174 -0
  634. package/lib/VelocityAnimation/VelocityAnimationGroup/props/defaultProps.js +22 -0
  635. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +27 -0
  636. package/lib/common/animation.module.css +624 -0
  637. package/lib/common/avatarsizes.module.css +45 -0
  638. package/lib/common/basic.module.css +33 -0
  639. package/lib/common/basicReset.module.css +40 -0
  640. package/lib/common/common.module.css +525 -0
  641. package/lib/common/customscroll.module.css +89 -0
  642. package/lib/common/docStyle.module.css +766 -0
  643. package/lib/common/reset.module.css +12 -0
  644. package/lib/common/transition.module.css +146 -0
  645. package/lib/css.js +42 -0
  646. package/lib/deprecated/AdvancedMultiSelect.module.css +127 -0
  647. package/lib/deprecated/PortalLayer/PortalLayer.js +126 -0
  648. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +111 -0
  649. package/lib/deprecated/PortalLayer/props/defaultProps.js +12 -0
  650. package/lib/deprecated/PortalLayer/props/propTypes.js +19 -0
  651. package/lib/deprecated/advancedMultiSelectVariableJson.js +82 -0
  652. package/lib/index.js +1245 -0
  653. package/lib/semantic/Button/Button.js +81 -0
  654. package/lib/semantic/Button/docs/Button__default.docs.js +43 -0
  655. package/lib/semantic/Button/props/defaultProps.js +19 -0
  656. package/lib/semantic/Button/props/propTypes.js +34 -0
  657. package/lib/semantic/Button/semanticButton.module.css +9 -0
  658. package/lib/utils/Common.js +391 -0
  659. package/lib/utils/ContextOptimizer.js +43 -0
  660. package/lib/utils/__tests__/constructFullName.spec.js +11 -0
  661. package/lib/utils/__tests__/debounce.spec.js +39 -0
  662. package/lib/utils/__tests__/getInitial.spec.js +25 -0
  663. package/lib/utils/constant.js +10 -0
  664. package/lib/utils/constructFullName.js +25 -0
  665. package/lib/utils/datetime/common.js +206 -0
  666. package/lib/utils/debounce.js +25 -0
  667. package/lib/utils/dropDownUtils.js +491 -0
  668. package/lib/utils/dummyFunction.js +8 -0
  669. package/lib/utils/getHTMLFontSize.js +10 -0
  670. package/lib/utils/getInitial.js +27 -0
  671. package/lib/utils/scrollTo.js +20 -0
  672. package/lib/utils/shallowEqual.js +33 -0
  673. package/package.json +1 -1
@@ -1,9 +1,7 @@
1
- import "core-js/modules/es.array.includes";
2
1
  import React, { Component } from 'react';
3
2
  import { SelectWithIcon_defaultProps } from './props/defaultProps';
4
3
  import { SelectWithIcon_propTypes } from './props/propTypes';
5
4
  /**** Components ****/
6
-
7
5
  import Popup from '../Popup/Popup';
8
6
  import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
9
7
  import Icon from '@zohodesk/icons/lib/Icon';
@@ -14,21 +12,21 @@ import { Container, Box } from '../Layout';
14
12
  import { getUniqueId } from '../Provider/IdProvider';
15
13
  import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
16
14
  import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
15
+ import Loader from '@zohodesk/svg/lib/Loader/Loader';
17
16
  /**** Methods ****/
18
-
19
- import { scrollTo } from '../utils/Common.js';
17
+ import { scrollTo, findScrollEnd } from '../utils/Common.js';
20
18
  /**** CSS ****/
21
-
22
19
  import style from './Select.module.css';
23
-
24
20
  class SelectWithIcon extends Component {
25
21
  constructor(props) {
26
22
  super(props);
27
23
  this.state = {
28
24
  searchValue: '',
29
25
  selectedIndex: 0,
30
- options: props.options
26
+ options: props.options,
27
+ isFetchingOptions: false
31
28
  };
29
+ this._isMounted = false;
32
30
  this.onSearchClear = this.onSearchClear.bind(this);
33
31
  this.onSearch = this.onSearch.bind(this);
34
32
  this.togglePopup = this.togglePopup.bind(this);
@@ -41,36 +39,37 @@ class SelectWithIcon extends Component {
41
39
  this.inputRef = this.inputRef.bind(this);
42
40
  this.handleScroll = this.handleScroll.bind(this);
43
41
  this.getNextAriaId = getUniqueId(this);
42
+ this.handleGetNextOptions = this.handleGetNextOptions.bind(this);
43
+ this.handleFetchOptions = this.handleFetchOptions.bind(this);
44
+ }
45
+ componentDidMount() {
46
+ this._isMounted = true;
47
+ }
48
+ componentWillUnmount() {
49
+ this._isMounted = false;
44
50
  }
45
-
46
51
  inputRef(el) {
47
52
  this.input = el;
48
53
  }
49
-
50
54
  itemRef(ele, index, id) {
51
55
  this[`suggestion_${id}`] = ele;
52
56
  }
53
-
54
57
  searchInputRef(el) {
55
58
  this.searchInput = el;
56
59
  }
57
-
58
60
  scrollContentRef(el) {
59
61
  let {
60
62
  isPopupOpen
61
63
  } = this.props;
62
-
63
64
  if (isPopupOpen) {
64
65
  this.optionsContainer = el;
65
66
  }
66
67
  }
67
-
68
68
  handleMouseEnter(id, value, index, e) {
69
69
  this.setState({
70
70
  selectedIndex: index
71
71
  });
72
72
  }
73
-
74
73
  handleKeyDown(e) {
75
74
  let {
76
75
  keyCode
@@ -80,19 +79,15 @@ class SelectWithIcon extends Component {
80
79
  options
81
80
  } = this.state;
82
81
  let {
83
- isNextOptions,
84
- getNextOptions,
85
82
  idKey,
86
83
  valueKey,
87
84
  isPopupOpen,
88
85
  selectedId
89
86
  } = this.props;
90
-
91
87
  if (isPopupOpen && (keyCode === 38 || keyCode === 40) && e.preventDefault) {
92
88
  e.preventDefault(); //prevent body scroll
93
89
  } else if (!isPopupOpen && (keyCode === 40 || keyCode === 13)) {
94
90
  e.preventDefault(); //prevent body scroll
95
-
96
91
  this.togglePopup(e);
97
92
  options.map((list, index) => {
98
93
  if (list.id === selectedId) {
@@ -102,7 +97,6 @@ class SelectWithIcon extends Component {
102
97
  }
103
98
  });
104
99
  }
105
-
106
100
  if (isPopupOpen) {
107
101
  switch (keyCode) {
108
102
  case 40:
@@ -112,16 +106,13 @@ class SelectWithIcon extends Component {
112
106
  });
113
107
  } else {
114
108
  if (selectedIndex === options.length - 3) {
115
- isNextOptions && getNextOptions && getNextOptions();
109
+ this.handleGetNextOptions();
116
110
  }
117
-
118
111
  this.setState({
119
112
  selectedIndex: selectedIndex + 1
120
113
  });
121
114
  }
122
-
123
115
  break;
124
-
125
116
  case 38:
126
117
  if (selectedIndex === 0) {
127
118
  this.setState({
@@ -132,9 +123,7 @@ class SelectWithIcon extends Component {
132
123
  selectedIndex: selectedIndex - 1
133
124
  });
134
125
  }
135
-
136
126
  break;
137
-
138
127
  case 13:
139
128
  let option = options[selectedIndex];
140
129
  this.handleChange && this.handleChange(option[idKey], option[valueKey], selectedIndex, e);
@@ -142,7 +131,6 @@ class SelectWithIcon extends Component {
142
131
  }
143
132
  }
144
133
  }
145
-
146
134
  componentDidUpdate(prevProps) {
147
135
  let {
148
136
  idKey,
@@ -153,7 +141,6 @@ class SelectWithIcon extends Component {
153
141
  selectedIndex,
154
142
  options
155
143
  } = this.state;
156
-
157
144
  if (prevProps.isPopupOpen != isPopupOpen) {
158
145
  setTimeout(() => {
159
146
  isPopupOpen ? needSearch ? this.searchInput.focus({
@@ -165,39 +152,32 @@ class SelectWithIcon extends Component {
165
152
  });
166
153
  }, 10);
167
154
  }
168
-
169
155
  let option = options[selectedIndex];
170
156
  let id = option && option[idKey] || {};
171
157
  let selSuggestion = this[`suggestion_${id}`];
172
-
173
158
  if (isPopupOpen) {
174
159
  this.optionsContainer && scrollTo(this.optionsContainer, selSuggestion);
175
160
  }
176
161
  }
177
-
178
162
  searchList(searchValue) {
179
163
  let datas = [];
180
164
  let {
181
165
  options,
182
166
  valueKey
183
167
  } = this.props;
184
-
185
168
  if (options.length) {
186
169
  datas = options.filter(obj => obj[valueKey].toLowerCase().includes(searchValue.toLowerCase()));
187
170
  }
188
-
189
171
  return datas;
190
172
  }
191
-
192
173
  onSearchClear() {
193
- let options = this.searchList(''); // this.searchInput.focus({preventScroll:false});
194
-
174
+ let options = this.searchList('');
175
+ // this.searchInput.focus({preventScroll:false});
195
176
  this.setState({
196
177
  searchValue: '',
197
178
  options
198
179
  });
199
180
  }
200
-
201
181
  onSearch(searchValue) {
202
182
  let options = this.searchList(searchValue);
203
183
  this.setState({
@@ -206,7 +186,6 @@ class SelectWithIcon extends Component {
206
186
  options
207
187
  });
208
188
  }
209
-
210
189
  togglePopup(e) {
211
190
  let {
212
191
  togglePopup,
@@ -215,7 +194,6 @@ class SelectWithIcon extends Component {
215
194
  } = this.props;
216
195
  !isReadOnly && togglePopup(e, boxPosition);
217
196
  }
218
-
219
197
  handleChange(id, value, index, e) {
220
198
  let {
221
199
  onChange,
@@ -224,18 +202,57 @@ class SelectWithIcon extends Component {
224
202
  !isReadOnly && onChange && onChange(id, value, index, e);
225
203
  this.togglePopup(e);
226
204
  }
227
-
228
205
  handleScroll(e) {
229
- const {
206
+ let ele = e.target;
207
+ let isScrollReachedBottom = findScrollEnd(ele);
208
+ isScrollReachedBottom && this.handleGetNextOptions();
209
+ }
210
+ UNSAFE_componentWillReceiveProps(nextProps) {
211
+ if (nextProps.options.length != this.props.options.length) {
212
+ this.setState({
213
+ options: nextProps.options
214
+ });
215
+ }
216
+ }
217
+ handleGetNextOptions() {
218
+ let {
230
219
  isNextOptions,
231
220
  getNextOptions
232
221
  } = this.props;
233
-
234
- if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1) {
235
- isNextOptions && getNextOptions && getNextOptions(e);
222
+ let {
223
+ searchValue
224
+ } = this.state;
225
+ isNextOptions && getNextOptions && this.handleFetchOptions(getNextOptions, searchValue);
226
+ }
227
+ handleFetchOptions(APICall) {
228
+ let searchValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
229
+ let {
230
+ isFetchingOptions = false
231
+ } = this.state;
232
+ let {
233
+ _isMounted
234
+ } = this;
235
+ if (!isFetchingOptions && APICall) {
236
+ this.setState({
237
+ isFetchingOptions: true
238
+ });
239
+ try {
240
+ return APICall(searchValue).then(() => {
241
+ _isMounted && this.setState({
242
+ isFetchingOptions: false
243
+ });
244
+ }, () => {
245
+ _isMounted && this.setState({
246
+ isFetchingOptions: false
247
+ });
248
+ });
249
+ } catch (e) {
250
+ _isMounted && this.setState({
251
+ isFetchingOptions: false
252
+ });
253
+ }
236
254
  }
237
255
  }
238
-
239
256
  responsiveFunc(_ref) {
240
257
  let {
241
258
  mediaQueryOR
@@ -246,7 +263,6 @@ class SelectWithIcon extends Component {
246
263
  }])
247
264
  };
248
265
  }
249
-
250
266
  render() {
251
267
  let {
252
268
  animationStyle,
@@ -282,13 +298,13 @@ class SelectWithIcon extends Component {
282
298
  boxSize,
283
299
  dropBoxSize,
284
300
  emptyMessage,
285
- isFetchingOptions,
286
301
  needIcon,
287
302
  iconName,
288
303
  iconSize,
289
304
  iconClass,
290
305
  i18nKeys,
291
- htmlId
306
+ htmlId,
307
+ isLoading
292
308
  } = this.props;
293
309
  i18nKeys = Object.assign({}, i18nKeys, {
294
310
  emptyText: i18nKeys.emptyText || emptyMessage,
@@ -297,7 +313,8 @@ class SelectWithIcon extends Component {
297
313
  let {
298
314
  searchValue,
299
315
  selectedIndex,
300
- options
316
+ options,
317
+ isFetchingOptions
301
318
  } = this.state;
302
319
  let setAriaId = this.getNextAriaId();
303
320
  let ariaErrorId = this.getNextAriaId();
@@ -380,7 +397,10 @@ class SelectWithIcon extends Component {
380
397
  isPadding: false,
381
398
  isResponsivePadding: true,
382
399
  alignBox: "row"
383
- }, /*#__PURE__*/React.createElement(Box, {
400
+ }, isLoading ? /*#__PURE__*/React.createElement(Container, {
401
+ align: "both",
402
+ className: style.loader
403
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(Box, {
384
404
  flexible: true
385
405
  }, /*#__PURE__*/React.createElement(Card, {
386
406
  onScroll: this.handleScroll,
@@ -446,20 +466,19 @@ class SelectWithIcon extends Component {
446
466
  dataId: dataId,
447
467
  i18nKeys: i18nKeys,
448
468
  htmlId: ariaErrorId
449
- })))));
469
+ }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
470
+ isCover: false,
471
+ align: "both"
472
+ }, /*#__PURE__*/React.createElement(Loader, null))))));
450
473
  }) : null);
451
474
  }
452
-
453
475
  }
454
-
455
476
  SelectWithIcon.propTypes = SelectWithIcon_propTypes;
456
477
  SelectWithIcon.defaultProps = SelectWithIcon_defaultProps;
457
-
458
478
  if (false) {
459
479
  SelectWithIcon.docs = {
460
480
  componentGroup: 'Form Elements',
461
481
  folderName: 'Style Guide'
462
482
  };
463
483
  }
464
-
465
484
  export default Popup(SelectWithIcon);
@@ -1,9 +1,8 @@
1
1
  /* eslint-disable no-undef */
2
-
3
2
  /**** Libraries ****/
4
3
  import expect from 'expect';
5
- /**** Components ****/
6
4
 
5
+ /**** Components ****/
7
6
  import Select from '../Select';
8
7
  import ListItem from '../../ListItem/ListItem';
9
8
  describe('Select component conditions', () => {
@@ -189,8 +188,9 @@ describe('Select component conditions', () => {
189
188
  target: {
190
189
  value: 'value changed'
191
190
  }
192
- }); //
191
+ });
193
192
 
193
+ //
194
194
  setTimeout(() => {
195
195
  expect(props.onSearch).toHaveBeenCalled();
196
196
  expect(props.onSearch.mock.calls[0][0]).toEqual('value changed');
@@ -202,8 +202,10 @@ describe('Select component conditions', () => {
202
202
  expect(loadingEleArr.length).toBe(0);
203
203
  cb();
204
204
  });
205
- }, searchDebounceTime); //
205
+ }, searchDebounceTime);
206
+ //
206
207
  });
208
+
207
209
  it('Should call onChange, When select list item', () => {
208
210
  let defaultProps = {
209
211
  options: [{
@@ -299,11 +301,11 @@ describe('Select component conditions', () => {
299
301
  };
300
302
  let {
301
303
  renderedDOM
302
- } = setup(Select, defaultProps); // let liteItemArr = TestUtils.scryRenderedComponentsWithTestid(
304
+ } = setup(Select, defaultProps);
305
+ // let liteItemArr = TestUtils.scryRenderedComponentsWithTestid(
303
306
  // renderedDOM,
304
307
  // 'listItem'
305
308
  // );
306
-
307
309
  let liteItemArr = TestUtils.scryRenderedComponentsWithType(renderedDOM, ListItem);
308
310
  expect(liteItemArr.length).toBe(3);
309
311
  });
@@ -1,7 +1,7 @@
1
1
  /**** Libraries ****/
2
2
  import React, { Component } from 'react';
3
- /**** Components ****/
4
3
 
4
+ /**** Components ****/
5
5
  import GroupSelect from '../GroupSelect';
6
6
  let groupedOptions = [{
7
7
  id: 'tickets',
@@ -100,17 +100,14 @@ export default class GroupSelect__default extends Component {
100
100
  this.handleChange = this.handleChange.bind(this);
101
101
  this.groupFooter = this.groupFooter.bind(this);
102
102
  }
103
-
104
103
  handleChange(selectedOption) {
105
104
  this.setState({
106
105
  selectedOption
107
106
  });
108
107
  }
109
-
110
108
  groupFooter() {
111
109
  return /*#__PURE__*/React.createElement("div", null, "Footer");
112
110
  }
113
-
114
111
  render() {
115
112
  let {
116
113
  selectedOption
@@ -138,9 +135,7 @@ export default class GroupSelect__default extends Component {
138
135
  getFooter: this.groupFooter
139
136
  }, "Children"));
140
137
  }
141
-
142
138
  }
143
-
144
139
  if (false) {
145
140
  GroupSelect__default.docs = {
146
141
  componentGroup: 'Form Elements',
@@ -40,13 +40,11 @@ export default class SelectWithAvatar__default extends Component {
40
40
  };
41
41
  this.handleChange = this.handleChange.bind(this);
42
42
  }
43
-
44
43
  handleChange(value) {
45
44
  this.setState({
46
45
  value
47
46
  });
48
47
  }
49
-
50
48
  render() {
51
49
  let {
52
50
  value
@@ -86,9 +84,7 @@ export default class SelectWithAvatar__default extends Component {
86
84
  isDisabled: true
87
85
  })));
88
86
  }
89
-
90
87
  }
91
-
92
88
  if (false) {
93
89
  SelectWithAvatar__default.docs = {
94
90
  componentGroup: 'Form Elements',
@@ -52,7 +52,6 @@ export default class SelectWithIcon__default extends Component {
52
52
  };
53
53
  this.handleChange = this.handleChange.bind(this);
54
54
  }
55
-
56
55
  handleChange(selectedId, selectedValue, index, e) {
57
56
  this.setState({
58
57
  selectedValue,
@@ -61,7 +60,6 @@ export default class SelectWithIcon__default extends Component {
61
60
  selectedIconSize: this.options[index].iconSize
62
61
  });
63
62
  }
64
-
65
63
  render() {
66
64
  let {
67
65
  selectedValue,
@@ -127,9 +125,7 @@ export default class SelectWithIcon__default extends Component {
127
125
  iconName: selectedIcon
128
126
  })));
129
127
  }
130
-
131
128
  }
132
-
133
129
  if (false) {
134
130
  SelectWithIcon__default.docs = {
135
131
  componentGroup: 'Form Elements',
@@ -80,18 +80,15 @@ export default class Select__default extends React.Component {
80
80
  this.handleChange = this.handleChange.bind(this);
81
81
  this.customChildren = this.customChildren.bind(this);
82
82
  }
83
-
84
83
  handleChange(value) {
85
84
  this.setState({
86
85
  value
87
86
  });
88
87
  }
89
-
90
88
  customChildren() {
91
89
  let serach = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
92
90
  return /*#__PURE__*/React.createElement("div", null, serach.searchString, "Custom Children");
93
91
  }
94
-
95
92
  render() {
96
93
  let {
97
94
  value
@@ -275,9 +272,7 @@ export default class Select__default extends React.Component {
275
272
  size: "18"
276
273
  })))));
277
274
  }
278
-
279
275
  }
280
-
281
276
  if (false) {
282
277
  Select__default.docs = {
283
278
  componentGroup: 'Form Elements',
@@ -30,7 +30,8 @@ export const Select_defaultProps = {
30
30
  isSearchClearOnClose: true,
31
31
  i18nKeys: {},
32
32
  iconOnHover: false,
33
- customProps: {}
33
+ customProps: {},
34
+ isLoading: false
34
35
  };
35
36
  export const GroupSelect_defaultProps = {
36
37
  animationStyle: 'bounce',
@@ -61,7 +62,8 @@ export const GroupSelect_defaultProps = {
61
62
  needLocalSearch: true,
62
63
  isSearchClearOnClose: true,
63
64
  i18nKeys: {},
64
- iconOnHover: false
65
+ iconOnHover: false,
66
+ isLoading: false
65
67
  };
66
68
  export const SelectWithAvatar_defaultProps = {
67
69
  animationStyle: 'bounce',
@@ -83,7 +85,8 @@ export const SelectWithAvatar_defaultProps = {
83
85
  borderColor: 'default',
84
86
  isSearchClearOnClose: true,
85
87
  i18nKeys: {},
86
- needEffect: true
88
+ needEffect: true,
89
+ isLoading: false
87
90
  };
88
91
  export const SelectWithIcon_defaultProps = {
89
92
  isReadOnly: false,
@@ -106,5 +109,6 @@ export const SelectWithIcon_defaultProps = {
106
109
  dropBoxSize: 'small',
107
110
  needIcon: true,
108
111
  iconSize: '14',
109
- i18nKeys: {}
112
+ i18nKeys: {},
113
+ isLoading: false
110
114
  };
@@ -83,7 +83,8 @@ export const Select_propTypes = {
83
83
  DropdownSearchTextBoxProps: PropTypes.object,
84
84
  listItemProps: PropTypes.object,
85
85
  SuggestionsProps: PropTypes.object
86
- })
86
+ }),
87
+ isLoading: PropTypes.bool
87
88
  };
88
89
  export const GroupSelect_propTypes = {
89
90
  groupedOptions: PropTypes.arrayOf(PropTypes.shape({
@@ -145,7 +146,6 @@ export const GroupSelect_propTypes = {
145
146
  getFooter: PropTypes.func,
146
147
  htmlId: PropTypes.string,
147
148
  iconOnHover: PropTypes.bool,
148
-
149
149
  /**** Popup Props ****/
150
150
  isPopupOpen: PropTypes.bool,
151
151
  isPopupReady: PropTypes.bool,
@@ -160,7 +160,8 @@ export const GroupSelect_propTypes = {
160
160
  emptyText: PropTypes.string,
161
161
  noMoreText: PropTypes.string,
162
162
  searchEmptyText: PropTypes.string
163
- })
163
+ }),
164
+ isLoading: PropTypes.bool
164
165
  };
165
166
  export const SelectWithAvatar_propTypes = {
166
167
  animationStyle: PropTypes.string,
@@ -217,7 +218,8 @@ export const SelectWithAvatar_propTypes = {
217
218
  togglePopup: PropTypes.func,
218
219
  valueField: PropTypes.string,
219
220
  htmlId: PropTypes.string,
220
- needEffect: PropTypes.bool
221
+ needEffect: PropTypes.bool,
222
+ isLoading: PropTypes.bool
221
223
  };
222
224
  export const SelectWithIcon_propTypes = {
223
225
  animationStyle: PropTypes.oneOf(['default', 'bounce']),
@@ -262,5 +264,6 @@ export const SelectWithIcon_propTypes = {
262
264
  textBoxVariant: PropTypes.oneOf(['primary', 'secondary', 'default']),
263
265
  togglePopup: PropTypes.func,
264
266
  valueKey: PropTypes.string,
265
- htmlId: PropTypes.string
267
+ htmlId: PropTypes.string,
268
+ isLoading: PropTypes.bool
266
269
  };
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  import { defaultProps } from './props/defaultProps';
3
3
  import { propTypes } from './props/propTypes';
4
4
  /* eslint css-modules/no-unused-class: [2, { markAsUsed: [primary, secondary, small, default, medium, large, clarge, cmedium, cdefault, csmall] }] */
5
-
6
5
  import style from './Stencils.module.css';
7
6
  export default class Stencils extends React.PureComponent {
8
7
  render() {
@@ -18,11 +17,9 @@ export default class Stencils extends React.PureComponent {
18
17
  className: `${style.container} ${shape} ${size} ${style[palette]} ${customClass}`
19
18
  });
20
19
  }
21
-
22
20
  }
23
21
  Stencils.propTypes = propTypes;
24
22
  Stencils.defaultProps = defaultProps;
25
-
26
23
  if (false) {
27
24
  Stencils.docs = {
28
25
  componentGroup: 'Atom',
@@ -11,14 +11,23 @@
11
11
  border-radius: var(--stencil_border_radius);
12
12
  }
13
13
  .stencil {
14
- animation-name: placeHolderShimmer;
14
+ background-size: 800px 1px;
15
+ }
16
+ [dir=ltr] .stencil {
17
+ animation-name: placeHolderShimmer-ltr ;
18
+ animation-fill-mode: forwards;
19
+ animation-iteration-count: infinite;
20
+ animation-duration: var(--zd_transition10);
21
+ animation-timing-function: linear;
22
+ }
23
+ [dir=rtl] .stencil {
24
+ animation-name: placeHolderShimmer-rtl ;
15
25
  animation-fill-mode: forwards;
16
26
  animation-iteration-count: infinite;
17
27
  animation-duration: var(--zd_transition10);
18
28
  animation-timing-function: linear;
19
- background-size: 800px 1px;
20
29
  }
21
- @keyframes placeHolderShimmer {
30
+ @keyframes placeHolderShimmer-ltr {
22
31
  0% {
23
32
  background-position: calc(var(--zd_size468) * -1) 0;
24
33
  }
@@ -27,6 +36,15 @@
27
36
  background-position: var(--zd_size468) 0;
28
37
  }
29
38
  }
39
+ @keyframes placeHolderShimmer-rtl {
40
+ 0% {
41
+ background-position: calc(100% - (var(--zd_size468) * -1)) 0;
42
+ }
43
+
44
+ 100% {
45
+ background-position: var(--zd_size468) 100%;
46
+ }
47
+ }
30
48
 
31
49
  .rectangular {
32
50
  composes: stencil;
@@ -32,9 +32,7 @@ export default class Stencils__custom extends React.Component {
32
32
  size: "small"
33
33
  }))));
34
34
  }
35
-
36
35
  }
37
-
38
36
  if (false) {
39
37
  Stencils__custom.docs = {
40
38
  componentGroup: 'Atom',
@@ -37,9 +37,7 @@ export default class Stencils__default extends React.Component {
37
37
  size: "large"
38
38
  }))));
39
39
  }
40
-
41
40
  }
42
-
43
41
  if (false) {
44
42
  Stencils__default.docs = {
45
43
  componentGroup: 'Atom',