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

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 (478) hide show
  1. package/README.md +34 -0
  2. package/assets/Appearance/dark/mode/Component_DarkMode.module.css +151 -151
  3. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkModifyCategory.module.css +450 -450
  4. package/assets/Appearance/dark/themes/blue/blue_CTA_DarkTheme.module.css +30 -30
  5. package/assets/Appearance/dark/themes/green/green_CTA_DarkModifyCategory.module.css +450 -450
  6. package/assets/Appearance/dark/themes/green/green_CTA_DarkTheme.module.css +30 -30
  7. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkModifyCategory.module.css +450 -450
  8. package/assets/Appearance/dark/themes/orange/orange_CTA_DarkTheme.module.css +30 -30
  9. package/assets/Appearance/dark/themes/red/red_CTA_DarkModifyCategory.module.css +450 -450
  10. package/assets/Appearance/dark/themes/red/red_CTA_DarkTheme.module.css +30 -30
  11. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkModifyCategory.module.css +450 -450
  12. package/assets/Appearance/dark/themes/yellow/yellow_CTA_DarkTheme.module.css +30 -30
  13. package/assets/Appearance/light/mode/Component_LightMode.module.css +148 -148
  14. package/assets/Appearance/light/themes/blue/blue_CTA_LightModifyCategory.module.css +450 -450
  15. package/assets/Appearance/light/themes/blue/blue_CTA_LightTheme.module.css +30 -30
  16. package/assets/Appearance/light/themes/green/green_CTA_LightModifyCategory.module.css +450 -450
  17. package/assets/Appearance/light/themes/green/green_CTA_LightTheme.module.css +30 -30
  18. package/assets/Appearance/light/themes/orange/orange_CTA_LightModifyCategory.module.css +450 -450
  19. package/assets/Appearance/light/themes/orange/orange_CTA_LightTheme.module.css +30 -30
  20. package/assets/Appearance/light/themes/red/red_CTA_LightModifyCategory.module.css +450 -450
  21. package/assets/Appearance/light/themes/red/red_CTA_LightTheme.module.css +30 -30
  22. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightModifyCategory.module.css +450 -450
  23. package/assets/Appearance/light/themes/yellow/yellow_CTA_LightTheme.module.css +30 -30
  24. package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +153 -153
  25. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkModifyCategory.module.css +450 -450
  26. package/assets/Appearance/pureDark/themes/blue/blue_CTA_PureDarkTheme.module.css +30 -30
  27. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkModifyCategory.module.css +450 -450
  28. package/assets/Appearance/pureDark/themes/green/green_CTA_PureDarkTheme.module.css +30 -30
  29. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkModifyCategory.module.css +450 -450
  30. package/assets/Appearance/pureDark/themes/orange/orange_CTA_PureDarkTheme.module.css +30 -30
  31. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkModifyCategory.module.css +450 -450
  32. package/assets/Appearance/pureDark/themes/red/red_CTA_PureDarkTheme.module.css +30 -30
  33. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkModifyCategory.module.css +450 -450
  34. package/assets/Appearance/pureDark/themes/yellow/yellow_CTA_PureDarkTheme.module.css +30 -30
  35. package/es/Accordion/Accordion.js +8 -3
  36. package/es/Accordion/AccordionItem.js +5 -2
  37. package/es/Animation/Animation.js +3 -3
  38. package/es/AppContainer/AppContainer.js +27 -10
  39. package/es/AppContainer/AppContainer.module.css +2 -2
  40. package/es/AppContainer/props/defaultProps.js +2 -1
  41. package/es/AppContainer/props/propTypes.js +1 -0
  42. package/es/Avatar/Avatar.js +26 -11
  43. package/es/Avatar/Avatar.module.css +18 -18
  44. package/es/AvatarTeam/AvatarTeam.js +4 -3
  45. package/es/AvatarTeam/AvatarTeam.module.css +35 -35
  46. package/es/Button/Button.js +5 -3
  47. package/es/Button/css/Button.module.css +70 -70
  48. package/es/Buttongroup/Buttongroup.js +4 -3
  49. package/es/Buttongroup/Buttongroup.module.css +14 -15
  50. package/es/Card/Card.js +21 -10
  51. package/es/CheckBox/CheckBox.js +5 -3
  52. package/es/CheckBox/CheckBox.module.css +15 -15
  53. package/es/DateTime/CalendarView.js +33 -20
  54. package/es/DateTime/DateTime.js +113 -12
  55. package/es/DateTime/DateTime.module.css +39 -39
  56. package/es/DateTime/DateTimePopupFooter.js +4 -2
  57. package/es/DateTime/DateTimePopupHeader.js +8 -2
  58. package/es/DateTime/DateWidget.js +100 -35
  59. package/es/DateTime/DateWidget.module.css +5 -5
  60. package/es/DateTime/DaysRow.js +4 -2
  61. package/es/DateTime/Time.js +10 -2
  62. package/es/DateTime/YearView.js +28 -4
  63. package/es/DateTime/YearView.module.css +15 -15
  64. package/es/DateTime/__tests__/CalendarView.spec.js +1 -0
  65. package/es/DateTime/__tests__/DateTime.spec.js +1 -0
  66. package/es/DateTime/__tests__/DateWidget.spec.js +2 -3
  67. package/es/DateTime/common.js +3 -0
  68. package/es/DateTime/constants.js +1 -0
  69. package/es/DateTime/dateFormatUtils/dateFormat.js +63 -30
  70. package/es/DateTime/dateFormatUtils/dateFormats.js +0 -1
  71. package/es/DateTime/dateFormatUtils/dayChange.js +13 -4
  72. package/es/DateTime/dateFormatUtils/index.js +32 -2
  73. package/es/DateTime/dateFormatUtils/monthChange.js +8 -0
  74. package/es/DateTime/dateFormatUtils/timeChange.js +22 -6
  75. package/es/DateTime/dateFormatUtils/yearChange.js +11 -2
  76. package/es/DateTime/objectUtils.js +14 -20
  77. package/es/DateTime/props/defaultProps.js +2 -1
  78. package/es/DateTime/typeChecker.js +3 -0
  79. package/es/DateTime/validator.js +58 -6
  80. package/es/DropBox/DropBox.js +9 -5
  81. package/es/DropBox/DropBoxElement/DropBoxElement.js +18 -6
  82. package/es/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  83. package/es/DropBox/DropBoxElement/css/cssJSLogic.js +6 -4
  84. package/es/DropBox/DropBoxElement/props/propTypes.js +1 -1
  85. package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +3 -0
  86. package/es/DropBox/__tests__/DropBox.spec.js +2 -2
  87. package/es/DropBox/css/DropBox.module.css +6 -6
  88. package/es/DropBox/props/defaultProps.js +1 -2
  89. package/es/DropBox/props/propTypes.js +1 -2
  90. package/es/DropDown/DropDown.js +10 -5
  91. package/es/DropDown/DropDown.module.css +2 -2
  92. package/es/DropDown/DropDownHeading.js +5 -5
  93. package/es/DropDown/DropDownHeading.module.css +6 -6
  94. package/es/DropDown/DropDownItem.js +8 -1
  95. package/es/DropDown/DropDownItem.module.css +12 -12
  96. package/es/DropDown/DropDownSearch.js +4 -0
  97. package/es/DropDown/DropDownSearch.module.css +3 -3
  98. package/es/DropDown/DropDownSeparator.js +1 -0
  99. package/es/DropDown/DropDownSeparator.module.css +2 -2
  100. package/es/DropDown/__tests__/DropDown.spec.js +1 -2
  101. package/es/Heading/Heading.js +3 -3
  102. package/es/Heading/Heading.module.css +2 -2
  103. package/es/Label/Label.js +3 -3
  104. package/es/Label/Label.module.css +5 -5
  105. package/es/Layout/Box.js +17 -3
  106. package/es/Layout/Container.js +16 -4
  107. package/es/Layout/Layout.module.css +15 -15
  108. package/es/Layout/index.js +1 -2
  109. package/es/Layout/props/defaultProps.js +2 -0
  110. package/es/Layout/props/propTypes.js +2 -0
  111. package/es/Layout/utils.js +5 -1
  112. package/es/ListItem/ListContainer.js +8 -3
  113. package/es/ListItem/ListItem.js +9 -3
  114. package/es/ListItem/ListItem.module.css +38 -38
  115. package/es/ListItem/ListItemWithAvatar.js +9 -3
  116. package/es/ListItem/ListItemWithCheckBox.js +7 -2
  117. package/es/ListItem/ListItemWithIcon.js +8 -3
  118. package/es/ListItem/ListItemWithRadio.js +7 -3
  119. package/es/Modal/Modal.js +28 -11
  120. package/es/MultiSelect/AdvancedGroupMultiSelect.js +90 -13
  121. package/es/MultiSelect/AdvancedMultiSelect.js +33 -9
  122. package/es/MultiSelect/EmptyState.js +6 -0
  123. package/es/MultiSelect/MultiSelect.js +100 -32
  124. package/es/MultiSelect/MultiSelect.module.css +31 -31
  125. package/es/MultiSelect/MultiSelectHeader.js +3 -0
  126. package/es/MultiSelect/MultiSelectWithAvatar.js +13 -6
  127. package/es/MultiSelect/SelectedOptions.js +6 -3
  128. package/es/MultiSelect/SelectedOptions.module.css +5 -5
  129. package/es/MultiSelect/Suggestions.js +7 -3
  130. package/es/MultiSelect/__tests__/MultiSelect.spec.js +4 -6
  131. package/es/MultiSelect/props/propTypes.js +2 -0
  132. package/es/PopOver/PopOver.js +18 -2
  133. package/es/PopOver/__tests__/PopOver.spec.js +2 -1
  134. package/es/Popup/Popup.js +77 -27
  135. package/es/Popup/__tests__/Popup.spec.js +17 -5
  136. package/es/Popup/viewPort.js +16 -4
  137. package/es/Provider/IdProvider.js +10 -5
  138. package/es/Provider/LibraryContext.js +6 -4
  139. package/es/Provider/NumberGenerator/NumberGenerator.js +21 -7
  140. package/es/Provider/ZindexProvider.js +9 -2
  141. package/es/Radio/Radio.js +4 -2
  142. package/es/Radio/Radio.module.css +9 -9
  143. package/es/Responsive/CustomResponsive.js +30 -18
  144. package/es/Responsive/RefWrapper.js +6 -7
  145. package/es/Responsive/ResizeComponent.js +35 -25
  146. package/es/Responsive/ResizeObserver.js +26 -6
  147. package/es/Responsive/Responsive.js +34 -20
  148. package/es/Responsive/index.js +1 -3
  149. package/es/Responsive/sizeObservers.js +28 -7
  150. package/es/Responsive/utils/index.js +7 -5
  151. package/es/Responsive/utils/shallowCompare.js +7 -2
  152. package/es/Responsive/windowResizeObserver.js +7 -0
  153. package/es/ResponsiveDropBox/ResponsiveDropBox.js +4 -0
  154. package/es/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  155. package/es/Ribbon/Ribbon.js +4 -2
  156. package/es/Ribbon/Ribbon.module.css +46 -48
  157. package/es/RippleEffect/RippleEffect.js +1 -3
  158. package/es/Select/GroupSelect.js +59 -14
  159. package/es/Select/Select.js +81 -34
  160. package/es/Select/Select.module.css +23 -23
  161. package/es/Select/SelectWithAvatar.js +19 -4
  162. package/es/Select/SelectWithIcon.js +48 -6
  163. package/es/Select/__tests__/Select.spec.js +6 -8
  164. package/es/Select/props/propTypes.js +1 -0
  165. package/es/Stencils/Stencils.js +3 -3
  166. package/es/Stencils/Stencils.module.css +11 -11
  167. package/es/Switch/Switch.js +6 -3
  168. package/es/Switch/Switch.module.css +23 -23
  169. package/es/Tab/Tab.js +4 -4
  170. package/es/Tab/Tab.module.css +14 -14
  171. package/es/Tab/TabContent.js +1 -0
  172. package/es/Tab/TabContentWrapper.js +2 -0
  173. package/es/Tab/TabWrapper.js +5 -2
  174. package/es/Tab/Tabs.js +56 -8
  175. package/es/Tab/Tabs.module.css +24 -42
  176. package/es/Tab/__tests__/Tab.spec.js +1 -3
  177. package/es/Tab/__tests__/TabWrapper.spec.js +1 -0
  178. package/es/Tag/Tag.js +7 -3
  179. package/es/Tag/Tag.module.css +25 -25
  180. package/es/TextBox/TextBox.js +16 -3
  181. package/es/TextBox/TextBox.module.css +9 -9
  182. package/es/TextBox/__tests__/TextBox.spec.js +1 -4
  183. package/es/TextBoxIcon/TextBoxIcon.js +9 -2
  184. package/es/TextBoxIcon/TextBoxIcon.module.css +7 -7
  185. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +2 -7
  186. package/es/Textarea/Textarea.js +13 -3
  187. package/es/Textarea/Textarea.module.css +21 -21
  188. package/es/Textarea/__tests__/Textarea.spec.js +2 -2
  189. package/es/Tooltip/Tooltip.js +60 -15
  190. package/es/Tooltip/Tooltip.module.css +5 -5
  191. package/es/Tooltip/__tests__/Tooltip.spec.js +5 -0
  192. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -2
  193. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +7 -5
  194. package/es/common/animation.module.css +8 -8
  195. package/es/common/avatarsizes.module.css +16 -16
  196. package/es/common/basicReset.module.css +3 -3
  197. package/es/common/common.module.css +24 -24
  198. package/es/common/customscroll.module.css +2 -2
  199. package/es/deprecated/AdvancedMultiSelect.module.css +18 -18
  200. package/es/deprecated/PortalLayer/PortalLayer.js +25 -20
  201. package/es/semantic/Button/Button.js +4 -2
  202. package/es/semantic/Button/semanticButton.module.css +1 -1
  203. package/es/utils/Common.js +58 -9
  204. package/es/utils/ContextOptimizer.js +4 -5
  205. package/es/utils/__tests__/debounce.spec.js +2 -2
  206. package/es/utils/constructFullName.js +2 -0
  207. package/es/utils/css/compileClassNames.js +5 -0
  208. package/es/utils/css/mergeStyle.js +7 -6
  209. package/es/utils/css/utils.js +1 -0
  210. package/es/utils/datetime/GMTZones.js +48 -0
  211. package/es/utils/datetime/common.js +31 -7
  212. package/es/utils/debounce.js +5 -1
  213. package/es/utils/dropDownUtils.js +68 -11
  214. package/es/utils/getInitial.js +4 -0
  215. package/es/utils/shallowEqual.js +6 -0
  216. package/lib/Accordion/Accordion.js +43 -18
  217. package/lib/Accordion/AccordionItem.js +41 -18
  218. package/lib/Accordion/__tests__/Accordion.spec.js +3 -0
  219. package/lib/Accordion/index.js +3 -0
  220. package/lib/Accordion/props/propTypes.js +3 -0
  221. package/lib/Animation/Animation.js +38 -18
  222. package/lib/Animation/__tests__/Animation.spec.js +11 -7
  223. package/lib/Animation/props/propTypes.js +3 -0
  224. package/lib/AppContainer/AppContainer.js +66 -26
  225. package/lib/AppContainer/AppContainer.module.css +2 -2
  226. package/lib/AppContainer/props/defaultProps.js +2 -1
  227. package/lib/AppContainer/props/propTypes.js +4 -0
  228. package/lib/Avatar/Avatar.js +81 -38
  229. package/lib/Avatar/Avatar.module.css +18 -18
  230. package/lib/Avatar/__tests__/Avatar.spec.js +44 -0
  231. package/lib/Avatar/props/propTypes.js +3 -0
  232. package/lib/AvatarTeam/AvatarTeam.js +53 -30
  233. package/lib/AvatarTeam/AvatarTeam.module.css +35 -35
  234. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +13 -0
  235. package/lib/AvatarTeam/props/propTypes.js +3 -0
  236. package/lib/Button/Button.js +32 -20
  237. package/lib/Button/css/Button.module.css +70 -70
  238. package/lib/Button/css/cssJSLogic.js +18 -17
  239. package/lib/Button/index.js +3 -0
  240. package/lib/Button/props/defaultProps.js +2 -0
  241. package/lib/Button/props/propTypes.js +3 -0
  242. package/lib/Buttongroup/Buttongroup.js +33 -12
  243. package/lib/Buttongroup/Buttongroup.module.css +14 -15
  244. package/lib/Buttongroup/__test__/Buttongroup.spec.js +10 -0
  245. package/lib/Buttongroup/props/propTypes.js +3 -0
  246. package/lib/Card/Card.js +102 -46
  247. package/lib/Card/__tests__/Card.spec.js +10 -1
  248. package/lib/Card/index.js +4 -0
  249. package/lib/Card/props/propTypes.js +3 -0
  250. package/lib/CheckBox/CheckBox.js +71 -47
  251. package/lib/CheckBox/CheckBox.module.css +15 -15
  252. package/lib/CheckBox/__tests__/CheckBox.spec.js +3 -0
  253. package/lib/CheckBox/props/propTypes.js +3 -0
  254. package/lib/DateTime/CalendarView.js +83 -42
  255. package/lib/DateTime/DateTime.js +287 -160
  256. package/lib/DateTime/DateTime.module.css +39 -39
  257. package/lib/DateTime/DateTimePopupFooter.js +31 -8
  258. package/lib/DateTime/DateTimePopupHeader.js +48 -17
  259. package/lib/DateTime/DateWidget.js +354 -250
  260. package/lib/DateTime/DateWidget.module.css +5 -5
  261. package/lib/DateTime/DaysRow.js +27 -5
  262. package/lib/DateTime/Time.js +73 -32
  263. package/lib/DateTime/YearView.js +77 -28
  264. package/lib/DateTime/YearView.module.css +15 -15
  265. package/lib/DateTime/__tests__/CalendarView.spec.js +13 -5
  266. package/lib/DateTime/__tests__/DateTime.spec.js +51 -37
  267. package/lib/DateTime/__tests__/DateWidget.spec.js +10 -8
  268. package/lib/DateTime/common.js +6 -0
  269. package/lib/DateTime/constants.js +1 -0
  270. package/lib/DateTime/dateFormatUtils/dateFormat.js +184 -122
  271. package/lib/DateTime/dateFormatUtils/dateFormats.js +0 -1
  272. package/lib/DateTime/dateFormatUtils/dayChange.js +14 -7
  273. package/lib/DateTime/dateFormatUtils/index.js +74 -16
  274. package/lib/DateTime/dateFormatUtils/monthChange.js +19 -9
  275. package/lib/DateTime/dateFormatUtils/timeChange.js +54 -22
  276. package/lib/DateTime/dateFormatUtils/yearChange.js +22 -11
  277. package/lib/DateTime/index.js +2 -0
  278. package/lib/DateTime/objectUtils.js +24 -20
  279. package/lib/DateTime/props/defaultProps.js +2 -1
  280. package/lib/DateTime/props/propTypes.js +11 -1
  281. package/lib/DateTime/typeChecker.js +4 -0
  282. package/lib/DateTime/validator.js +73 -10
  283. package/lib/DropBox/DropBox.js +36 -12
  284. package/lib/DropBox/DropBoxElement/DropBoxElement.js +68 -42
  285. package/lib/DropBox/DropBoxElement/css/DropBoxElement.module.css +85 -79
  286. package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +43 -34
  287. package/lib/DropBox/DropBoxElement/props/propTypes.js +4 -1
  288. package/lib/DropBox/DropBoxElement/useDropboxPosCalc.js +14 -9
  289. package/lib/DropBox/__tests__/DropBox.spec.js +8 -4
  290. package/lib/DropBox/css/DropBox.module.css +6 -6
  291. package/lib/DropBox/css/cssJSLogic.js +3 -1
  292. package/lib/DropBox/props/defaultProps.js +8 -4
  293. package/lib/DropBox/props/propTypes.js +10 -4
  294. package/lib/DropDown/DropDown.js +54 -9
  295. package/lib/DropDown/DropDown.module.css +2 -2
  296. package/lib/DropDown/DropDownHeading.js +40 -20
  297. package/lib/DropDown/DropDownHeading.module.css +6 -6
  298. package/lib/DropDown/DropDownItem.js +44 -21
  299. package/lib/DropDown/DropDownItem.module.css +12 -12
  300. package/lib/DropDown/DropDownSearch.js +40 -17
  301. package/lib/DropDown/DropDownSearch.module.css +3 -3
  302. package/lib/DropDown/DropDownSeparator.js +24 -4
  303. package/lib/DropDown/DropDownSeparator.module.css +2 -2
  304. package/lib/DropDown/__tests__/DropDown.spec.js +15 -9
  305. package/lib/DropDown/__tests__/DropDownItem.spec.js +9 -4
  306. package/lib/DropDown/__tests__/DropDownSearch.spec.js +3 -0
  307. package/lib/DropDown/index.js +9 -0
  308. package/lib/DropDown/props/propTypes.js +6 -4
  309. package/lib/Heading/Heading.js +39 -16
  310. package/lib/Heading/Heading.module.css +2 -2
  311. package/lib/Heading/props/propTypes.js +3 -0
  312. package/lib/Label/Label.js +40 -19
  313. package/lib/Label/Label.module.css +5 -5
  314. package/lib/Label/__tests__/Label.spec.js +14 -1
  315. package/lib/Label/props/propTypes.js +3 -0
  316. package/lib/Layout/Box.js +39 -15
  317. package/lib/Layout/Container.js +37 -14
  318. package/lib/Layout/Layout.module.css +15 -15
  319. package/lib/Layout/__tests__/Box.spec.js +65 -49
  320. package/lib/Layout/__tests__/Container.spec.js +67 -50
  321. package/lib/Layout/index.js +3 -0
  322. package/lib/Layout/props/defaultProps.js +2 -0
  323. package/lib/Layout/props/propTypes.js +5 -0
  324. package/lib/Layout/utils.js +15 -1
  325. package/lib/ListItem/ListContainer.js +48 -27
  326. package/lib/ListItem/ListItem.js +69 -45
  327. package/lib/ListItem/ListItem.module.css +38 -38
  328. package/lib/ListItem/ListItemWithAvatar.js +75 -48
  329. package/lib/ListItem/ListItemWithCheckBox.js +64 -39
  330. package/lib/ListItem/ListItemWithIcon.js +68 -44
  331. package/lib/ListItem/ListItemWithRadio.js +65 -41
  332. package/lib/ListItem/index.js +7 -0
  333. package/lib/ListItem/props/propTypes.js +6 -4
  334. package/lib/Modal/Modal.js +45 -10
  335. package/lib/Modal/props/propTypes.js +3 -0
  336. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +295 -166
  337. package/lib/MultiSelect/AdvancedMultiSelect.js +203 -125
  338. package/lib/MultiSelect/EmptyState.js +49 -24
  339. package/lib/MultiSelect/MultiSelect.js +324 -206
  340. package/lib/MultiSelect/MultiSelect.module.css +31 -31
  341. package/lib/MultiSelect/MultiSelectHeader.js +30 -8
  342. package/lib/MultiSelect/MultiSelectWithAvatar.js +106 -63
  343. package/lib/MultiSelect/SelectedOptions.js +43 -17
  344. package/lib/MultiSelect/SelectedOptions.module.css +5 -5
  345. package/lib/MultiSelect/Suggestions.js +64 -32
  346. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +86 -75
  347. package/lib/MultiSelect/index.js +5 -0
  348. package/lib/MultiSelect/props/defaultProps.js +2 -0
  349. package/lib/MultiSelect/props/propTypes.js +5 -0
  350. package/lib/PopOver/PopOver.js +95 -49
  351. package/lib/PopOver/__tests__/PopOver.spec.js +4 -1
  352. package/lib/PopOver/index.js +4 -0
  353. package/lib/PopOver/props/propTypes.js +3 -0
  354. package/lib/Popup/Popup.js +158 -84
  355. package/lib/Popup/__tests__/Popup.spec.js +43 -8
  356. package/lib/Popup/viewPort.js +28 -14
  357. package/lib/Provider/AvatarSize.js +4 -0
  358. package/lib/Provider/Config.js +2 -0
  359. package/lib/Provider/CssProvider.js +4 -0
  360. package/lib/Provider/IdProvider.js +17 -6
  361. package/lib/Provider/LibraryContext.js +35 -15
  362. package/lib/Provider/LibraryContextInit.js +4 -0
  363. package/lib/Provider/NumberGenerator/NumberGenerator.js +44 -15
  364. package/lib/Provider/ZindexProvider.js +15 -3
  365. package/lib/Provider/index.js +5 -0
  366. package/lib/Radio/Radio.js +61 -38
  367. package/lib/Radio/Radio.module.css +9 -9
  368. package/lib/Radio/__tests__/Radiospec.js +9 -5
  369. package/lib/Radio/props/propTypes.js +3 -0
  370. package/lib/Responsive/CustomResponsive.js +73 -29
  371. package/lib/Responsive/RefWrapper.js +17 -11
  372. package/lib/Responsive/ResizeComponent.js +62 -36
  373. package/lib/Responsive/ResizeObserver.js +24 -10
  374. package/lib/Responsive/Responsive.js +80 -30
  375. package/lib/Responsive/index.js +4 -0
  376. package/lib/Responsive/props/propTypes.js +3 -0
  377. package/lib/Responsive/sizeObservers.js +53 -17
  378. package/lib/Responsive/utils/index.js +11 -3
  379. package/lib/Responsive/utils/shallowCompare.js +11 -2
  380. package/lib/Responsive/windowResizeObserver.js +8 -0
  381. package/lib/ResponsiveDropBox/ResponsiveDropBox.js +45 -17
  382. package/lib/ResponsiveDropBox/ResponsiveDropBox.module.css +2 -2
  383. package/lib/ResponsiveDropBox/props/propTypes.js +3 -0
  384. package/lib/Ribbon/Ribbon.js +34 -13
  385. package/lib/Ribbon/Ribbon.module.css +46 -48
  386. package/lib/Ribbon/__tests__/Ribbon.spec.js +22 -0
  387. package/lib/Ribbon/props/propTypes.js +3 -0
  388. package/lib/RippleEffect/RippleEffect.js +18 -10
  389. package/lib/RippleEffect/props/propTypes.js +3 -0
  390. package/lib/Select/GroupSelect.js +230 -130
  391. package/lib/Select/Select.js +292 -210
  392. package/lib/Select/Select.module.css +23 -23
  393. package/lib/Select/SelectWithAvatar.js +104 -56
  394. package/lib/Select/SelectWithIcon.js +134 -77
  395. package/lib/Select/__tests__/Select.spec.js +133 -91
  396. package/lib/Select/index.js +5 -0
  397. package/lib/Select/props/defaultProps.js +5 -4
  398. package/lib/Select/props/propTypes.js +4 -0
  399. package/lib/Stencils/Stencils.js +29 -10
  400. package/lib/Stencils/Stencils.module.css +11 -11
  401. package/lib/Stencils/__tests__/Stencils.spec.js +12 -0
  402. package/lib/Stencils/props/propTypes.js +3 -0
  403. package/lib/Switch/Switch.js +58 -34
  404. package/lib/Switch/Switch.module.css +23 -23
  405. package/lib/Switch/props/propTypes.js +3 -0
  406. package/lib/Tab/Tab.js +40 -27
  407. package/lib/Tab/Tab.module.css +14 -14
  408. package/lib/Tab/TabContent.js +12 -5
  409. package/lib/Tab/TabContentWrapper.js +13 -6
  410. package/lib/Tab/TabWrapper.js +37 -19
  411. package/lib/Tab/Tabs.js +173 -92
  412. package/lib/Tab/Tabs.module.css +24 -42
  413. package/lib/Tab/__tests__/Tab.spec.js +67 -58
  414. package/lib/Tab/__tests__/TabContent.spec.js +10 -6
  415. package/lib/Tab/__tests__/TabContentWrapper.spec.js +28 -20
  416. package/lib/Tab/__tests__/TabWrapper.spec.js +12 -0
  417. package/lib/Tab/__tests__/Tabs.spec.js +53 -39
  418. package/lib/Tab/index.js +6 -0
  419. package/lib/Tab/props/propTypes.js +3 -0
  420. package/lib/Tag/Tag.js +73 -43
  421. package/lib/Tag/Tag.module.css +25 -25
  422. package/lib/Tag/__tests__/Tag.spec.js +14 -8
  423. package/lib/Tag/props/propTypes.js +3 -0
  424. package/lib/TextBox/TextBox.js +86 -59
  425. package/lib/TextBox/TextBox.module.css +9 -9
  426. package/lib/TextBox/__tests__/TextBox.spec.js +14 -4
  427. package/lib/TextBox/props/propTypes.js +6 -4
  428. package/lib/TextBoxIcon/TextBoxIcon.js +79 -52
  429. package/lib/TextBoxIcon/TextBoxIcon.module.css +7 -7
  430. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +14 -5
  431. package/lib/TextBoxIcon/props/propTypes.js +3 -0
  432. package/lib/Textarea/Textarea.js +55 -29
  433. package/lib/Textarea/Textarea.module.css +21 -21
  434. package/lib/Textarea/__tests__/Textarea.spec.js +14 -2
  435. package/lib/Textarea/props/propTypes.js +3 -0
  436. package/lib/Tooltip/Tooltip.js +96 -32
  437. package/lib/Tooltip/Tooltip.module.css +5 -5
  438. package/lib/Tooltip/__tests__/Tooltip.spec.js +24 -3
  439. package/lib/Tooltip/props/propTypes.js +3 -0
  440. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +40 -16
  441. package/lib/VelocityAnimation/VelocityAnimation/props/propTypes.js +3 -0
  442. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +53 -25
  443. package/lib/VelocityAnimation/VelocityAnimationGroup/props/propTypes.js +3 -0
  444. package/lib/VelocityAnimation/index.js +3 -0
  445. package/lib/common/animation.module.css +8 -8
  446. package/lib/common/avatarsizes.module.css +16 -16
  447. package/lib/common/basicReset.module.css +3 -3
  448. package/lib/common/common.module.css +24 -24
  449. package/lib/common/customscroll.module.css +2 -2
  450. package/lib/css.js +40 -0
  451. package/lib/deprecated/AdvancedMultiSelect.module.css +18 -18
  452. package/lib/deprecated/PortalLayer/PortalLayer.js +46 -23
  453. package/lib/deprecated/PortalLayer/props/propTypes.js +3 -0
  454. package/lib/index.js +57 -0
  455. package/lib/semantic/Button/Button.js +43 -22
  456. package/lib/semantic/Button/props/propTypes.js +3 -0
  457. package/lib/semantic/Button/semanticButton.module.css +1 -1
  458. package/lib/semantic/index.js +2 -0
  459. package/lib/utils/Common.js +117 -19
  460. package/lib/utils/ContextOptimizer.js +16 -10
  461. package/lib/utils/__tests__/constructFullName.spec.js +1 -0
  462. package/lib/utils/__tests__/debounce.spec.js +3 -2
  463. package/lib/utils/__tests__/getInitial.spec.js +1 -0
  464. package/lib/utils/constructFullName.js +13 -4
  465. package/lib/utils/css/compileClassNames.js +6 -0
  466. package/lib/utils/css/mergeStyle.js +10 -7
  467. package/lib/utils/css/utils.js +8 -0
  468. package/lib/utils/datetime/GMTZones.js +55 -0
  469. package/lib/utils/datetime/common.js +52 -7
  470. package/lib/utils/debounce.js +6 -1
  471. package/lib/utils/dropDownUtils.js +175 -59
  472. package/lib/utils/dummyFunction.js +2 -0
  473. package/lib/utils/getHTMLFontSize.js +1 -0
  474. package/lib/utils/getInitial.js +6 -0
  475. package/lib/utils/index.js +4 -0
  476. package/lib/utils/scrollTo.js +2 -0
  477. package/lib/utils/shallowEqual.js +8 -0
  478. package/package.json +18 -27
package/es/Tag/Tag.js CHANGED
@@ -7,7 +7,6 @@ import { Container } from '../Layout';
7
7
  import Button from '../semantic/Button/Button';
8
8
  import { getUniqueId } from '../Provider/IdProvider';
9
9
  import style from './Tag.module.css';
10
-
11
10
  /*
12
11
  * eslint css-modules/no-unused-class: [2, { markAsUsed: ['small', 'medium',
13
12
  * 'closedanger', 'closeprimary', 'default', 'danger', 'secondary',
@@ -28,6 +27,7 @@ export default class Tag extends PureComponent {
28
27
  this.getRef = this.getRef.bind(this);
29
28
  this.getNextAriaId = getUniqueId(this);
30
29
  }
30
+
31
31
  handleSelect(e) {
32
32
  let {
33
33
  id,
@@ -38,6 +38,7 @@ export default class Tag extends PureComponent {
38
38
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
39
39
  onSelectTag && onSelectTag(id, e);
40
40
  }
41
+
41
42
  handleRemove(e) {
42
43
  let {
43
44
  onRemove,
@@ -48,6 +49,7 @@ export default class Tag extends PureComponent {
48
49
  e.nativeEvent.stopImmediatePropagation && e.nativeEvent.stopImmediatePropagation();
49
50
  onRemove && onRemove(id);
50
51
  }
52
+
51
53
  getRef(el) {
52
54
  let {
53
55
  getRef,
@@ -55,6 +57,7 @@ export default class Tag extends PureComponent {
55
57
  } = this.props;
56
58
  getRef && getRef(el, id);
57
59
  }
60
+
58
61
  render() {
59
62
  let {
60
63
  imageURL,
@@ -96,6 +99,7 @@ export default class Tag extends PureComponent {
96
99
  return /*#__PURE__*/React.createElement("div", {
97
100
  className: `${style.container} ${needEffect && !isReadOnly ? style.effect : style.readonly} ${active ? `${style.selected} ${style[`active${palette}`]}` : ''} ${onRemove ? active ? `${style[`active${size}Effect`]}` : '' : ''} ${style[size]} ${rounded ? style.lgRadius : style.smRadius} ${style[palette]} ${disabled ? style.disabled : ''} ${onSelectTag ? style.pointer : ''} ${customTag}`,
98
101
  "data-id": active ? `${dataId}_TagSelected` : `${dataId}_Tag`,
102
+ "data-test-id": active ? `${dataId}_TagSelected` : `${dataId}_Tag`,
99
103
  onClick: this.handleSelect,
100
104
  ref: this.getRef,
101
105
  "data-title": tooltip ? tooltip : text,
@@ -139,10 +143,10 @@ export default class Tag extends PureComponent {
139
143
  size: "8"
140
144
  }))));
141
145
  }
146
+
142
147
  }
143
148
  Tag.defaultProps = defaultProps;
144
- Tag.propTypes = propTypes;
145
- // if (__DOCS__) {
149
+ Tag.propTypes = propTypes; // if (__DOCS__) {
146
150
  // Tag.docs = {
147
151
  // componentGroup: 'Molecule',
148
152
  // folderName: 'Style Guide'
@@ -1,7 +1,7 @@
1
1
  .varClass {
2
2
  /* tag default variables */
3
3
  --tag_text_color: var(--zdt_tag_default_text);
4
- --tag_font_size: 13px;
4
+ --tag_font_size: var(--zd_font_size13);
5
5
  --tag_letter_spacing: normal;
6
6
  --tag_bg_color: var(--zdt_tag_default_bg);
7
7
  --tag_border_radius: 25px;
@@ -9,8 +9,8 @@
9
9
  --tag_border_width: 0;
10
10
  --tag_border_style: dashed;
11
11
  --tag_border_color: var(--zdt_tag_default_border);
12
- --tag_padding: 2px;
13
- --tag_inner_text_padding: 0 6px;
12
+ --tag_padding: var(--zd_size2);
13
+ --tag_inner_text_padding: 0 var(--zd_size6);
14
14
  --tag_cursor: auto;
15
15
 
16
16
  /* tag close icon default variables */
@@ -22,13 +22,13 @@
22
22
  --tag_icon_bg_color: var(--zdt_tag_icon_bg);
23
23
  }[dir=ltr] .varClass {
24
24
  --tag_closeicon_border_radius: 0 12px 12px 0 /*rtl: 12px 0 0 12px*/;
25
- --tag_closeicon_padding: 0 7px 0 6px
26
- /*rtl: 0 6px 0 7px*/;
27
- --tag_icon_margin: 0 0 0 5px /*rtl: 0 5px 0 0*/;
25
+ --tag_closeicon_padding: 0 var(--zd_size7) 0 var(--zd_size6
26
+ ) ;
27
+ --tag_icon_margin: 0 0 0 var(--zd_size5) ;
28
28
  }[dir=rtl] .varClass {
29
29
  --tag_closeicon_border_radius: 12px 0 0 12px;
30
- --tag_closeicon_padding: 0 6px 0 7px;
31
- --tag_icon_margin: 0 5px 0 0;
30
+ --tag_closeicon_padding: 0 var(--zd_size6) 0 var(--zd_size7);
31
+ --tag_icon_margin: 0 var(--zd_size5) 0 0;
32
32
  }
33
33
  .container {
34
34
  composes: varClass;
@@ -39,7 +39,7 @@
39
39
  font-size: var(--tag_font_size);
40
40
  letter-spacing: var(--tag_letter_spacing);
41
41
  height: var(--tag_height);
42
- max-width: 100%;
42
+ max-width: 100% ;
43
43
  background-color: var(--tag_bg_color);
44
44
  border-radius: var(--tag_border_radius);
45
45
  border-width: var(--tag_border_width);
@@ -76,35 +76,35 @@
76
76
  padding: var(--tag_inner_text_padding);
77
77
  }
78
78
  .small {
79
- --tag_height: 20px;
80
- --tag_padding: 1px;
81
- --tag_inner_text_padding: 0 7px;
79
+ --tag_height: var(--zd_size20);
80
+ --tag_padding: var(--zd_size1);
81
+ --tag_inner_text_padding: 0 var(--zd_size7);
82
82
  }
83
83
  [dir=ltr] .small .avatar {
84
84
  transform: scale(0.8) translateX(-2px);
85
- margin-right: -8px;
85
+ margin-right: calc( var(--zd_size8) * -1 ) ;
86
86
  }
87
87
  [dir=rtl] .small .avatar {
88
88
  transform: scale(0.8) translateX(2px);
89
- margin-left: -8px;
89
+ margin-left: calc( var(--zd_size8) * -1 ) ;
90
90
  }
91
91
  .smalltext {
92
- --tag_font_size: 12px;
92
+ --tag_font_size: var(--zd_font_size12);
93
93
  }
94
94
  .activesmallEffect {
95
- --tag_inner_text_padding: 0 25px 0 7px;
95
+ --tag_inner_text_padding: 0 var(--zd_size25) 0 var(--zd_size7);
96
96
  }
97
97
 
98
98
  .medium {
99
- --tag_height: 26px;
100
- --tag_padding: 2px;
101
- --tag_inner_text_padding: 0 6px;
99
+ --tag_height: var(--zd_size26);
100
+ --tag_padding: var(--zd_size2);
101
+ --tag_inner_text_padding: 0 var(--zd_size6);
102
102
  }
103
103
  .mediumtext {
104
- --tag_font_size: 13px;
104
+ --tag_font_size: var(--zd_font_size13);
105
105
  }
106
106
  .activemediumEffect {
107
- --tag_inner_text_padding: 0 25px 0 6px;
107
+ --tag_inner_text_padding: 0 var(--zd_size25) 0 var(--zd_size6);
108
108
  }
109
109
 
110
110
  .selected .close {
@@ -126,18 +126,18 @@
126
126
  color: var(--tag_closeicon_color);
127
127
  display: none;
128
128
  position: absolute;
129
- top: 0;
130
- bottom: 0;
129
+ top: 0 ;
130
+ bottom: 0 ;
131
131
  padding: var(--tag_closeicon_padding);
132
132
  cursor: var(--tag_closeicon_cursor);
133
133
  border-radius: var(--tag_closeicon_border_radius);
134
134
  background: var(--tag_closeicon_bg_color);
135
135
  }
136
136
  [dir=ltr] .close {
137
- right: 0;
137
+ right: 0 ;
138
138
  }
139
139
  [dir=rtl] .close {
140
- left: 0;
140
+ left: 0 ;
141
141
  }
142
142
  [dir=ltr] .lgRadiusClose {
143
143
  --tag_closeicon_border_radius: 0 12px 12px 0 /*rtl: 12px 0 0 12px*/;
@@ -1,8 +1,10 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
5
6
  /* eslint css-modules/no-unused-class: [2, { markAsUsed: ['xmedium', 'medium', 'small', 'default', 'primary', 'secondary'] }] */
7
+
6
8
  import style from './TextBox.module.css';
7
9
  export default class Textbox extends React.PureComponent {
8
10
  constructor(props) {
@@ -13,6 +15,7 @@ export default class Textbox extends React.PureComponent {
13
15
  this.handleFocus = this.handleFocus.bind(this);
14
16
  this.handleBlur = this.handleBlur.bind(this);
15
17
  }
18
+
16
19
  handleFocus() {
17
20
  let {
18
21
  id,
@@ -22,6 +25,7 @@ export default class Textbox extends React.PureComponent {
22
25
  } = this.props;
23
26
  onFocus && onFocus(id, value, name);
24
27
  }
28
+
25
29
  handleBlur() {
26
30
  let {
27
31
  id,
@@ -31,6 +35,7 @@ export default class Textbox extends React.PureComponent {
31
35
  } = this.props;
32
36
  onBlur && onBlur(id, value, name);
33
37
  }
38
+
34
39
  inputRef(ref) {
35
40
  let {
36
41
  inputRef
@@ -38,6 +43,7 @@ export default class Textbox extends React.PureComponent {
38
43
  this.inputEle = ref;
39
44
  inputRef && inputRef(ref);
40
45
  }
46
+
41
47
  setFocus() {
42
48
  if (this.inputEle) {
43
49
  this.inputEle.focus({
@@ -45,6 +51,7 @@ export default class Textbox extends React.PureComponent {
45
51
  });
46
52
  }
47
53
  }
54
+
48
55
  onChange(e) {
49
56
  e.preventDefault();
50
57
  let {
@@ -56,6 +63,7 @@ export default class Textbox extends React.PureComponent {
56
63
  } = this.props;
57
64
  onChange && !isReadOnly && onChange(value, e);
58
65
  }
66
+
59
67
  render() {
60
68
  let {
61
69
  type,
@@ -106,18 +114,23 @@ export default class Textbox extends React.PureComponent {
106
114
  ariaMultiselectable
107
115
  } = a11y;
108
116
  let options = {};
117
+
109
118
  if (isReadOnly) {
110
119
  options.readOnly = true;
111
120
  }
121
+
112
122
  if (isDisabled) {
113
123
  options.disabled = true;
114
124
  }
125
+
115
126
  if (autofocus) {
116
127
  options.autoFocus = true;
117
128
  }
129
+
118
130
  if (!autoComplete) {
119
131
  options.autoComplete = 'off';
120
132
  }
133
+
121
134
  let classList = needAppearance ? `${style.container} ${style[size]} ${style[variant]} ${needBorder ? style.border : ''} ${isDisabled && !needEffect || isReadOnly && !needEffect ? '' : style.effect} ${isFocus ? style.focus : ''}` : `${style.basic}`;
122
135
  value = value === null || value === undefined ? '' : value;
123
136
  return /*#__PURE__*/React.createElement("input", _extends({
@@ -137,6 +150,7 @@ export default class Textbox extends React.PureComponent {
137
150
  "aria-multiselectable": ariaMultiselectable,
138
151
  className: `${isReadOnly && needReadOnlyStyle ? style.readonly : ''} ${isClickable ? style.pointer : ''} ${classList} ${style[`borderColor_${borderColor}`]} ${customClass ? customClass : ''}`,
139
152
  "data-id": `${dataId}`,
153
+ "data-test-id": `${dataId}`,
140
154
  "data-selector-id": dataSelectorId,
141
155
  id: htmlId || id,
142
156
  maxLength: maxLength,
@@ -155,11 +169,10 @@ export default class Textbox extends React.PureComponent {
155
169
  onMouseDown: onMouseDown
156
170
  }, options, customProps));
157
171
  }
172
+
158
173
  }
159
174
  Textbox.defaultProps = defaultProps;
160
- Textbox.propTypes = propTypes;
161
-
162
- // if (__DOCS__) {
175
+ Textbox.propTypes = propTypes; // if (__DOCS__) {
163
176
  // Textbox.docs = {
164
177
  // componentGroup: 'Form Elements',
165
178
  // folderName: 'Style Guide',
@@ -5,9 +5,9 @@
5
5
  --textbox_border_width: 0;
6
6
  --textbox_border_style: solid;
7
7
  --textbox_border_color: var(--zdt_textbox_default_border);
8
- --textbox_font_size: 14px;
8
+ --textbox_font_size: var(--zd_font_size14);
9
9
  --textbox_width: 100%;
10
- --textbox_height: 35px;
10
+ --textbox_height: var(--zd_size35);
11
11
  --textbox_border_radius: none;
12
12
  --textbox_font_family: var(--zd_regular);
13
13
  /* Variable:Ignore */
@@ -111,24 +111,24 @@
111
111
  /* Size */
112
112
  .xmedium,
113
113
  .medium {
114
- --textbox_font_size: 14px;
114
+ --textbox_font_size: var(--zd_font_size14);
115
115
  }
116
116
  .xmedium {
117
- --textbox_height: 28px;
117
+ --textbox_height: var(--zd_size28);
118
118
  --textbox_line_height: 28px;
119
119
  }
120
120
  .medium {
121
- --textbox_height: 35px;
121
+ --textbox_height: var(--zd_size35);
122
122
  --textbox_line_height: 35px;
123
123
  }
124
124
  .small {
125
- --textbox_font_size: 12px;
126
- --textbox_height: 28px;
125
+ --textbox_font_size: var(--zd_font_size12);
126
+ --textbox_height: var(--zd_size28);
127
127
  --textbox_line_height: 28px;
128
128
  }
129
129
  .xsmall {
130
- --textbox_font_size: 13px;
131
- --textbox_height: 25px;
130
+ --textbox_font_size: var(--zd_font_size13);
131
+ --textbox_height: var(--zd_size25);
132
132
  --textbox_line_height: 25px;
133
133
  }
134
134
  .default,
@@ -111,9 +111,7 @@ describe('TextBox component', () => {
111
111
  text: "Text Box Working"
112
112
  }));
113
113
  expect(TestUtils.findRenderedComponentsWithTestid(renderedDOM, 'textBox').getAttribute('placeholder')).toMatch(/Text Box/);
114
- });
115
-
116
- // it('Check disabled works', () => {
114
+ }); // it('Check disabled works', () => {
117
115
  // let renderedDOM = TestUtils.renderIntoDocument(
118
116
  // <TextBox maxLength='100' placeHolder='Text Box' size='medium' variant='primary' value='Text Box Working' disabled />
119
117
  // );
@@ -129,7 +127,6 @@ describe('TextBox component', () => {
129
127
  // pass
130
128
  // ).toBe(true);
131
129
  // });
132
-
133
130
  // it('Check readOnly works', () => {
134
131
  // let renderedDOM = TestUtils.renderIntoDocument(
135
132
  // <TextBox maxLength='100' placeHolder='Text Box' size='medium' variant='primary' value='Text Box Working' readOnly />
@@ -1,4 +1,5 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
@@ -20,6 +21,7 @@ export default class TextBoxIcon extends React.Component {
20
21
  this.handleRef = this.handleRef.bind(this);
21
22
  this.handleClear = this.handleClear.bind(this);
22
23
  }
24
+
23
25
  handleRef(ele) {
24
26
  let {
25
27
  inputRef
@@ -27,6 +29,7 @@ export default class TextBoxIcon extends React.Component {
27
29
  this.inputEle = ele;
28
30
  inputRef && inputRef(ele);
29
31
  }
32
+
30
33
  handleClear() {
31
34
  let {
32
35
  onClear
@@ -36,12 +39,14 @@ export default class TextBoxIcon extends React.Component {
36
39
  preventScroll: true
37
40
  });
38
41
  }
42
+
39
43
  handleFocus(e) {
40
44
  const {
41
45
  onFocus,
42
46
  needReadOnlyStyle,
43
47
  isReadOnly
44
48
  } = this.props;
49
+
45
50
  if (!needReadOnlyStyle || !isReadOnly && needReadOnlyStyle) {
46
51
  this.setState({
47
52
  isActive: true
@@ -49,6 +54,7 @@ export default class TextBoxIcon extends React.Component {
49
54
  onFocus && onFocus(e);
50
55
  }
51
56
  }
57
+
52
58
  handleBlur(e) {
53
59
  const {
54
60
  onBlur
@@ -58,6 +64,7 @@ export default class TextBoxIcon extends React.Component {
58
64
  });
59
65
  onBlur && onBlur(e);
60
66
  }
67
+
61
68
  render() {
62
69
  const {
63
70
  type,
@@ -169,10 +176,10 @@ export default class TextBoxIcon extends React.Component {
169
176
  className: `${style.line} ${style[`borderColor_${borderColor}`]} ${customTBoxLine}`
170
177
  }));
171
178
  }
179
+
172
180
  }
173
181
  TextBoxIcon.defaultProps = defaultProps;
174
- TextBoxIcon.propTypes = propTypes;
175
- // if (__DOCS__) {
182
+ TextBoxIcon.propTypes = propTypes; // if (__DOCS__) {
176
183
  // TextBoxIcon.docs = {
177
184
  // componentGroup: 'Form Elements',
178
185
  // folderName: 'Style Guide',
@@ -1,10 +1,10 @@
1
1
  .varClass {
2
2
  /* textboxicon default variables */
3
- --textboxicon_line_height: 1px;
3
+ --textboxicon_line_height: var(--zd_size1);
4
4
  --textboxicon_line_color: var(--zdt_textboxicon_default_line_bg);
5
5
 
6
6
  /* textboxicon icon default variables */
7
- --textboxicon_icon_margin: 0 5px;
7
+ --textboxicon_icon_margin: 0 var(--zd_size5);
8
8
  --textboxicon_icon_cursor: pointer;
9
9
  --textboxicon_icon_color: var(--zdt_textboxicon_default_icon);
10
10
  }
@@ -35,7 +35,7 @@
35
35
  }
36
36
  .line {
37
37
  position: absolute;
38
- bottom: 0;
38
+ bottom: 0 ;
39
39
  /* Variable:Ignore */
40
40
  min-height: 1px;
41
41
  transition: var(--zd_transition2);
@@ -43,12 +43,12 @@
43
43
  transform: perspective(1px);
44
44
  }
45
45
  [dir=ltr] .line {
46
- left: 0;
47
- right: 0;
46
+ left: 0 ;
47
+ right: 0 ;
48
48
  }
49
49
  [dir=rtl] .line {
50
- right: 0;
51
- left: 0;
50
+ right: 0 ;
51
+ left: 0 ;
52
52
  }
53
53
  .line, .borderColor_default {
54
54
  background-color: var(--textboxicon_line_color);
@@ -1,8 +1,6 @@
1
1
  import React from 'react';
2
2
  import TextBoxIcon from '../TextBoxIcon';
3
- import renderer from 'react-test-renderer';
4
-
5
- // children: PropTypes.node,
3
+ import renderer from 'react-test-renderer'; // children: PropTypes.node,
6
4
  // disabled: PropTypes.bool,
7
5
  // iconRotated: PropTypes.bool,
8
6
  // id: PropTypes.string,
@@ -136,9 +134,7 @@ describe('TextBoxIcon component', () => {
136
134
  text: "Text Box Working"
137
135
  }));
138
136
  expect(TestUtils.findRenderedComponentsWithTestid(renderedDOM, 'textBoxIcon').getAttribute('placeholder')).toMatch(/Text Box/);
139
- });
140
-
141
- // it('Check disabled works', () => {
137
+ }); // it('Check disabled works', () => {
142
138
  // let renderedDOM = TestUtils.renderIntoDocument(
143
139
  // <TextBoxIcon maxLength='100' placeHolder='Text Box' size='medium' variant='primary' value='Text Box Working' disabled />
144
140
  // );
@@ -154,7 +150,6 @@ describe('TextBoxIcon component', () => {
154
150
  // pass
155
151
  // ).toBe(true);
156
152
  // });
157
-
158
153
  // it('Check readOnly works', () => {
159
154
  // let renderedDOM = TestUtils.renderIntoDocument(
160
155
  // <TextBoxIcon maxLength='100' placeHolder='Text Box' size='medium' variant='primary' value='Text Box Working' readOnly />
@@ -1,8 +1,10 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
5
6
  /* eslint css-modules/no-unused-class: [2, { markAsUsed: ['resizeX', 'resizeY', 'noresize', 'resizeboth', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'default', 'primary'] }] */
7
+
6
8
  import style from './Textarea.module.css';
7
9
  export default class Textarea extends React.Component {
8
10
  constructor(props) {
@@ -11,6 +13,7 @@ export default class Textarea extends React.Component {
11
13
  this.onKeyDown = this.onKeyDown.bind(this);
12
14
  this.onBlur = this.onBlur.bind(this);
13
15
  }
16
+
14
17
  onChange(e) {
15
18
  e && e.preventDefault();
16
19
  let {
@@ -18,6 +21,7 @@ export default class Textarea extends React.Component {
18
21
  } = this.props;
19
22
  onChange && onChange(e.target.value, e);
20
23
  }
24
+
21
25
  onBlur(e) {
22
26
  e && e.preventDefault();
23
27
  let {
@@ -25,12 +29,14 @@ export default class Textarea extends React.Component {
25
29
  } = this.props;
26
30
  onBlur && onBlur(e.target.value, e);
27
31
  }
32
+
28
33
  onKeyDown(e) {
29
34
  let {
30
35
  onKeyDown
31
36
  } = this.props;
32
37
  onKeyDown && onKeyDown(e);
33
38
  }
39
+
34
40
  render() {
35
41
  let {
36
42
  size,
@@ -67,15 +73,19 @@ export default class Textarea extends React.Component {
67
73
  none: 'noresize'
68
74
  };
69
75
  let options = {};
76
+
70
77
  if (isReadOnly) {
71
78
  options.readOnly = 'readOnly';
72
79
  }
80
+
73
81
  if (isDisabled) {
74
82
  options.disabled = 'disabled';
75
83
  }
84
+
76
85
  if (autoFocus) {
77
86
  options.autoFocus = true;
78
87
  }
88
+
79
89
  let classList = needAppearance ? `${style.container} ${style[size]} ${style[variant]} ${needBorder ? style.needBorder : style.noBorder} ${resize ? style[resizes[resize]] : style[resizes.none]} ${animated ? `${style[`${size}animated`]}` : ''} ${isDisabled && !needEffect || isReadOnly && !needEffect ? '' : style.effect}` : `${style.basic}`;
80
90
  return /*#__PURE__*/React.createElement("textarea", _extends({
81
91
  "aria-label": ariaLabel,
@@ -84,6 +94,7 @@ export default class Textarea extends React.Component {
84
94
  placeholder: placeHolder
85
95
  }, options, {
86
96
  "data-id": dataId,
97
+ "data-test-id": dataId,
87
98
  maxLength: maxLength,
88
99
  onChange: this.onChange,
89
100
  onKeyDown: this.onKeyDown,
@@ -95,11 +106,10 @@ export default class Textarea extends React.Component {
95
106
  "data-selector-id": dataSelectorId
96
107
  }));
97
108
  }
109
+
98
110
  }
99
111
  Textarea.defaultProps = defaultProps;
100
- Textarea.propTypes = propTypes;
101
-
102
- // if (__DOCS__) {
112
+ Textarea.propTypes = propTypes; // if (__DOCS__) {
103
113
  // Textarea.docs = {
104
114
  // componentGroup: 'Form Elements',
105
115
  // folderName: 'Style Guide',
@@ -4,10 +4,10 @@
4
4
  --textarea_border_color: none;
5
5
  --textarea_cursor: auto;
6
6
  --textarea_text_color: var(--zdt_textarea_default_text);
7
- --textarea_font_size: 14px;
7
+ --textarea_font_size: var(--zd_font_size14);
8
8
  --textarea_line_height: 22px;
9
- --textarea_padding: 2px 0;
10
- --textarea_height: 30px;
9
+ --textarea_padding: var(--zd_size2) 0;
10
+ --textarea_height: var(--zd_size30);
11
11
 
12
12
  /* textarea placeholder default variable */
13
13
  --textarea_placeholder_text_color: var(--zdt_textarea_placeholder_text);
@@ -62,9 +62,9 @@
62
62
  height var(--zd_transition2) linear 0s;
63
63
  -moz-transition: border var(--zd_transition2) linear 0s,
64
64
  height var(--zd_transition2) linear 0s;
65
- width: 100%;
66
- max-width: 100%;
67
- min-width: 100px;
65
+ width: 100% ;
66
+ max-width: 100% ;
67
+ min-width: var(--zd_size100) ;
68
68
  font-size: var(--textarea_font_size);
69
69
  line-height: var(--textarea_line_height);
70
70
  height: var(--textarea_height);
@@ -95,39 +95,39 @@
95
95
  vertical-align: middle;
96
96
  }
97
97
  .xsmall {
98
- --textarea_font_size: 14px;
99
- --textarea_padding: 4px 0 2px;
100
- --textarea_height: 28px;
98
+ --textarea_font_size: var(--zd_font_size14);
99
+ --textarea_padding: var(--zd_size4) 0 var(--zd_size2);
100
+ --textarea_height: var(--zd_size28);
101
101
  --textarea_line_height: 19px;
102
102
  }
103
103
  .xmedium {
104
- --textarea_font_size: 13px;
105
- --textarea_padding: 4px 0 2px;
106
- --textarea_height: 25px;
104
+ --textarea_font_size: var(--zd_font_size13);
105
+ --textarea_padding: var(--zd_size4) 0 var(--zd_size2);
106
+ --textarea_height: var(--zd_size25);
107
107
  --textarea_line_height: 17px;
108
108
  }
109
109
  .small {
110
- --textarea_height: 30px;
111
- --textarea_padding: 2px 0;
110
+ --textarea_height: var(--zd_size30);
111
+ --textarea_padding: var(--zd_size2) 0;
112
112
  }
113
113
  .smallanimated:focus,
114
114
  .xsmallanimated:focus,
115
115
  .xmediumanimated:focus {
116
- --textarea_height: 70px;
116
+ --textarea_height: var(--zd_size70);
117
117
  }
118
118
  .medium {
119
- --textarea_height: 88px;
120
- --textarea_padding: 2px;
119
+ --textarea_height: var(--zd_size88);
120
+ --textarea_padding: var(--zd_size2);
121
121
  }
122
122
  .large {
123
- --textarea_height: 45px;
124
- --textarea_padding: 2px;
123
+ --textarea_height: var(--zd_size45);
124
+ --textarea_padding: var(--zd_size2);
125
125
  }
126
126
  .largeanimated:focus {
127
- --textarea_height: 220px;
127
+ --textarea_height: var(--zd_size220);
128
128
  }
129
129
  .xlarge {
130
- --textarea_height: 184px;
130
+ --textarea_height: var(--zd_size184);
131
131
  }
132
132
  .default {
133
133
  font-family: var(--zd_regular);
@@ -135,8 +135,7 @@ describe('Textarea component', () => {
135
135
  needBorder: false
136
136
  }));
137
137
  expect(TestUtils.findRenderedComponentsWithTestid(renderedDOM, 'TextareaComp').className).toMatch(/noBorder/);
138
- });
139
- // it('Check disabled works', () => {
138
+ }); // it('Check disabled works', () => {
140
139
  // let renderedDOM = TestUtils.renderIntoDocument(
141
140
  // <Textarea maxLength='100' placeHolder='Text Area' resize='vertical' size='large' variant='primary' text='Text Area Working' disabled needBorder={false} />
142
141
  // );
@@ -152,6 +151,7 @@ describe('Textarea component', () => {
152
151
  // pass
153
152
  // ).toBe(true);
154
153
  // });
154
+
155
155
  it('Check check onchange works', () => {
156
156
  let mockfn = jest.fn();
157
157
  let renderedDOM = TestUtils.renderIntoDocument( /*#__PURE__*/React.createElement(Textarea, {