@zohodesk/components 1.0.0-temp-46 → 1.0.0-temp-49

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 (484) hide show
  1. package/README.md +28 -0
  2. package/{es → assets}/Appearance/dark/mode/darkMode.module.css +4 -2
  3. package/assets/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +34 -0
  4. package/assets/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +42 -0
  5. package/{es → assets}/Appearance/dark/themes/green/greenDarkCTATheme.module.css +10 -10
  6. package/assets/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +42 -0
  7. package/{es → assets}/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +10 -10
  8. package/assets/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +42 -0
  9. package/{es → assets}/Appearance/dark/themes/red/redDarkCTATheme.module.css +10 -10
  10. package/assets/Appearance/dark/themes/red/redDarkComponentTheme.module.css +42 -0
  11. package/{es → assets}/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +10 -10
  12. package/assets/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +42 -0
  13. package/{es → assets}/Appearance/default/mode/defaultMode.module.css +4 -2
  14. package/{es → assets}/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -0
  15. package/{es → assets}/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +7 -7
  16. package/{es → assets}/Appearance/default/themes/green/greenDefaultCTATheme.module.css +2 -2
  17. package/{es → assets}/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +4 -4
  18. package/{es → assets}/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -0
  19. package/{es → assets}/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +3 -3
  20. package/{es → assets}/Appearance/default/themes/red/redDefaultCTATheme.module.css +7 -7
  21. package/{es → assets}/Appearance/default/themes/red/redDefaultComponentTheme.module.css +3 -3
  22. package/{es → assets}/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -0
  23. package/{es → assets}/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +3 -3
  24. package/es/Animation/Animation.js +7 -8
  25. package/es/AppContainer/AppContainer.js +6 -6
  26. package/es/Avatar/Avatar.js +12 -11
  27. package/es/Avatar/Avatar.module.css +11 -9
  28. package/es/Avatar/__tests__/Avatar.spec.js +0 -1
  29. package/es/AvatarTeam/AvatarTeam.module.css +21 -7
  30. package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -1
  31. package/es/Button/Button.js +24 -20
  32. package/es/Button/Button.module.css +100 -23
  33. package/es/Button/__tests__/Button.spec.js +0 -1
  34. package/es/Buttongroup/Buttongroup.module.css +37 -8
  35. package/es/Buttongroup/__test__/Buttongroup.spec.js +0 -1
  36. package/es/Card/Card.js +4 -5
  37. package/es/CheckBox/CheckBox.module.css +17 -11
  38. package/es/DateTime/DateTime.js +6 -3
  39. package/es/DateTime/DateTime.module.css +41 -14
  40. package/es/DateTime/DateWidget.js +5 -2
  41. package/es/DateTime/DateWidget.module.css +9 -9
  42. package/es/DateTime/YearView.js +6 -5
  43. package/es/DateTime/YearView.module.css +16 -6
  44. package/es/DateTime/common.js +9 -2
  45. package/es/DateTime/dateFormatUtils/dateFormat.js +76 -57
  46. package/es/DateTime/dateFormatUtils/index.js +12 -7
  47. package/es/DateTime/dateFormatUtils/timeChange.js +4 -3
  48. package/es/DateTime/dateFormatUtils/yearChange.js +4 -3
  49. package/es/DateTime/validator.js +0 -1
  50. package/es/DropBox/DropBox.js +2 -2
  51. package/es/DropBox/DropBox.module.css +47 -11
  52. package/es/DropDown/DropDownHeading.module.css +7 -3
  53. package/es/DropDown/DropDownItem.module.css +32 -6
  54. package/es/Label/Label.module.css +1 -4
  55. package/es/Label/__tests__/Label.spec.js +0 -2
  56. package/es/Layout/utils.js +2 -1
  57. package/es/ListItem/ListContainer.js +118 -0
  58. package/es/ListItem/ListItem.js +23 -33
  59. package/es/ListItem/ListItem.module.css +56 -24
  60. package/es/ListItem/ListItemWithAvatar.js +21 -27
  61. package/es/ListItem/ListItemWithCheckBox.js +23 -29
  62. package/es/ListItem/ListItemWithIcon.js +26 -28
  63. package/es/ListItem/ListItemWithRadio.js +24 -31
  64. package/es/MultiSelect/AdvancedGroupMultiSelect.js +18 -7
  65. package/es/MultiSelect/AdvancedMultiSelect.js +24 -8
  66. package/es/MultiSelect/AdvancedMultiSelect.module.css +29 -14
  67. package/es/MultiSelect/MultiSelect.js +29 -10
  68. package/es/MultiSelect/MultiSelect.module.css +34 -21
  69. package/es/MultiSelect/MultiSelectWithAvatar.js +6 -3
  70. package/es/MultiSelect/SelectedOptions.js +3 -2
  71. package/es/MultiSelect/SelectedOptions.module.css +8 -2
  72. package/es/PopOver/PopOver.js +19 -20
  73. package/es/PopOver/PopOver.module.css +1 -1
  74. package/es/Popup/Popup.js +15 -9
  75. package/es/Popup/viewPort.js +14 -9
  76. package/es/Provider/IdProvider.js +5 -4
  77. package/es/Provider/LibraryContext.js +6 -5
  78. package/es/Provider/NumberGenerator/NumberGenerator.js +17 -15
  79. package/es/Provider/ZindexProvider.js +5 -4
  80. package/es/Provider.js +22 -22
  81. package/es/Radio/Radio.js +1 -2
  82. package/es/Radio/Radio.module.css +11 -5
  83. package/es/Responsive/CustomResponsive.js +11 -8
  84. package/es/Responsive/ResizeComponent.js +3 -1
  85. package/es/Responsive/Responsive.js +12 -9
  86. package/es/Responsive/sizeObservers.js +5 -1
  87. package/es/Ribbon/Ribbon.js +8 -8
  88. package/es/Ribbon/Ribbon.module.css +93 -28
  89. package/es/Ribbon/__tests__/Ribbon.spec.js +0 -1
  90. package/es/RippleEffect/RippleEffect.js +7 -4
  91. package/es/RippleEffect/RippleEffect.module.css +18 -44
  92. package/es/Select/GroupSelect.js +2 -1
  93. package/es/Select/Select.js +2 -1
  94. package/es/Select/Select.module.css +14 -4
  95. package/es/Select/SelectWithAvatar.js +7 -4
  96. package/es/Stencils/Stencils.js +5 -6
  97. package/es/Stencils/Stencils.module.css +21 -8
  98. package/es/Stencils/__tests__/Stencils.spec.js +0 -1
  99. package/es/Switch/Switch.module.css +6 -7
  100. package/es/Tab/Tab.js +27 -26
  101. package/es/Tab/Tab.module.css +19 -10
  102. package/es/Tab/TabContent.js +17 -14
  103. package/es/Tab/TabContentWrapper.js +17 -14
  104. package/es/Tab/TabWrapper.js +15 -14
  105. package/es/Tab/Tabs.js +2 -1
  106. package/es/Tab/Tabs.module.css +41 -8
  107. package/es/Tag/Tag.js +10 -4
  108. package/es/Tag/Tag.module.css +50 -25
  109. package/es/TextBox/TextBox.module.css +12 -16
  110. package/es/TextBox/__tests__/TextBox.spec.js +0 -1
  111. package/es/TextBoxIcon/TextBoxIcon.js +1 -1
  112. package/es/TextBoxIcon/TextBoxIcon.module.css +15 -7
  113. package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +0 -1
  114. package/es/Textarea/Textarea.module.css +9 -10
  115. package/es/Textarea/__tests__/Textarea.spec.js +0 -1
  116. package/es/Tooltip/Tooltip.js +0 -1
  117. package/es/Tooltip/Tooltip.module.css +10 -9
  118. package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +1 -1
  119. package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -1
  120. package/es/a11y/FocusScope/FocusScope.js +10 -4
  121. package/es/beta/FocusRing/FocusRing.js +4 -1
  122. package/es/beta/FocusRing/FocusRing.module.css +51 -26
  123. package/es/common/animation.module.css +219 -21
  124. package/es/common/basicReset.module.css +2 -12
  125. package/es/common/common.module.css +62 -18
  126. package/es/common/customscroll.module.css +17 -21
  127. package/es/common/docStyle.module.css +78 -31
  128. package/es/common/transition.module.css +50 -10
  129. package/es/semantic/Button/semanticButton.module.css +3 -3
  130. package/es/utils/Common.js +31 -11
  131. package/es/utils/datetime/common.js +6 -3
  132. package/es/utils/dropDownUtils.js +45 -6
  133. package/es/utils/getInitial.js +3 -1
  134. package/lib/Accordion/Accordion.js +146 -0
  135. package/lib/Accordion/AccordionItem.js +124 -0
  136. package/lib/Accordion/__tests__/Accordion.spec.js +85 -0
  137. package/lib/Accordion/index.js +23 -0
  138. package/lib/Animation/Animation.js +206 -0
  139. package/lib/Animation/__tests__/Animation.spec.js +23 -0
  140. package/lib/AppContainer/AppContainer.js +205 -0
  141. package/lib/AppContainer/AppContainer.module.css +18 -0
  142. package/lib/Avatar/Avatar.js +280 -0
  143. package/lib/Avatar/Avatar.module.css +117 -0
  144. package/lib/Avatar/__tests__/Avatar.spec.js +208 -0
  145. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +288 -0
  146. package/lib/AvatarTeam/AvatarTeam.js +157 -0
  147. package/lib/AvatarTeam/AvatarTeam.module.css +161 -0
  148. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +92 -0
  149. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +226 -0
  150. package/lib/Button/Button.js +163 -0
  151. package/lib/Button/Button.module.css +522 -0
  152. package/lib/Button/__tests__/Button.spec.js +233 -0
  153. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +191 -0
  154. package/lib/Buttongroup/Buttongroup.js +101 -0
  155. package/lib/Buttongroup/Buttongroup.module.css +89 -0
  156. package/lib/Buttongroup/__test__/Buttongroup.spec.js +86 -0
  157. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +146 -0
  158. package/lib/Card/Card.js +409 -0
  159. package/lib/Card/Card.module.css +20 -0
  160. package/lib/Card/__tests__/Card.spec.js +56 -0
  161. package/lib/Card/index.js +37 -0
  162. package/lib/CheckBox/CheckBox.js +265 -0
  163. package/lib/CheckBox/CheckBox.module.css +153 -0
  164. package/lib/CheckBox/__tests__/CheckBox.spec.js +18 -0
  165. package/lib/DateTime/CalendarView.js +285 -0
  166. package/lib/DateTime/DateTime.js +889 -0
  167. package/lib/DateTime/DateTime.module.css +188 -0
  168. package/lib/DateTime/DateTimePopupFooter.js +90 -0
  169. package/lib/DateTime/DateTimePopupHeader.js +149 -0
  170. package/lib/DateTime/DateWidget.js +1189 -0
  171. package/lib/DateTime/DateWidget.module.css +42 -0
  172. package/lib/DateTime/DaysRow.js +76 -0
  173. package/lib/DateTime/Time.js +248 -0
  174. package/lib/DateTime/YearView.js +324 -0
  175. package/lib/DateTime/YearView.module.css +80 -0
  176. package/lib/DateTime/__tests__/CalendarView.spec.js +45 -0
  177. package/lib/DateTime/__tests__/DateTime.spec.js +127 -0
  178. package/lib/DateTime/__tests__/DateWidget.spec.js +81 -0
  179. package/lib/DateTime/common.js +36 -0
  180. package/lib/DateTime/constants.js +77 -0
  181. package/lib/DateTime/dateFormatUtils/dateFormat.js +613 -0
  182. package/lib/DateTime/dateFormatUtils/dayChange.js +81 -0
  183. package/lib/DateTime/dateFormatUtils/index.js +274 -0
  184. package/lib/DateTime/dateFormatUtils/monthChange.js +94 -0
  185. package/lib/DateTime/dateFormatUtils/timeChange.js +240 -0
  186. package/lib/DateTime/dateFormatUtils/yearChange.js +119 -0
  187. package/lib/DateTime/index.js +15 -0
  188. package/lib/DateTime/objectUtils.js +76 -0
  189. package/lib/DateTime/typeChecker.js +26 -0
  190. package/lib/DateTime/validator.js +353 -0
  191. package/lib/DropBox/DropBox.js +393 -0
  192. package/lib/DropBox/DropBox.module.css +406 -0
  193. package/lib/DropBox/DropBoxPositionMapping.json +145 -0
  194. package/lib/DropBox/__tests__/DropBox.spec.js +87 -0
  195. package/lib/DropDown/DropDown.js +203 -0
  196. package/lib/DropDown/DropDown.module.css +5 -0
  197. package/lib/DropDown/DropDownHeading.js +102 -0
  198. package/lib/DropDown/DropDownHeading.module.css +53 -0
  199. package/lib/DropDown/DropDownItem.js +139 -0
  200. package/lib/DropDown/DropDownItem.module.css +94 -0
  201. package/lib/DropDown/DropDownSearch.js +132 -0
  202. package/lib/DropDown/DropDownSearch.module.css +14 -0
  203. package/lib/DropDown/DropDownSeparator.js +66 -0
  204. package/lib/DropDown/DropDownSeparator.module.css +7 -0
  205. package/lib/DropDown/__tests__/DropDown.spec.js +50 -0
  206. package/lib/DropDown/__tests__/DropDownItem.spec.js +51 -0
  207. package/lib/DropDown/__tests__/DropDownSearch.spec.js +17 -0
  208. package/lib/Label/Label.js +109 -0
  209. package/lib/Label/Label.module.css +52 -0
  210. package/lib/Label/LabelColors.module.css +21 -0
  211. package/lib/Label/__tests__/Label.spec.js +137 -0
  212. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +101 -0
  213. package/lib/Layout/Box.js +138 -0
  214. package/lib/Layout/Container.js +152 -0
  215. package/lib/Layout/Layout.module.css +324 -0
  216. package/lib/Layout/__tests__/Box.spec.js +121 -0
  217. package/lib/Layout/__tests__/Container.spec.js +127 -0
  218. package/lib/Layout/index.js +34 -0
  219. package/lib/Layout/utils.js +55 -0
  220. package/lib/LightNightMode/Colors.json +398 -0
  221. package/lib/ListItem/ListContainer.js +127 -0
  222. package/lib/ListItem/ListItem.js +227 -0
  223. package/lib/ListItem/ListItem.module.css +200 -0
  224. package/lib/ListItem/ListItemWithAvatar.js +237 -0
  225. package/lib/ListItem/ListItemWithCheckBox.js +205 -0
  226. package/lib/ListItem/ListItemWithIcon.js +229 -0
  227. package/lib/ListItem/ListItemWithRadio.js +208 -0
  228. package/lib/Modal/Modal.js +218 -0
  229. package/lib/Modal/__docs__/Modal__default.docs.js +88 -0
  230. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +1218 -0
  231. package/lib/MultiSelect/AdvancedMultiSelect.js +696 -0
  232. package/lib/MultiSelect/AdvancedMultiSelect.module.css +127 -0
  233. package/lib/MultiSelect/EmptyState.js +132 -0
  234. package/lib/MultiSelect/MultiSelect.js +1235 -0
  235. package/lib/MultiSelect/MultiSelect.module.css +193 -0
  236. package/lib/MultiSelect/MultiSelectHeader.js +86 -0
  237. package/lib/MultiSelect/MultiSelectWithAvatar.js +410 -0
  238. package/lib/MultiSelect/SelectedOptions.js +140 -0
  239. package/lib/MultiSelect/SelectedOptions.module.css +15 -0
  240. package/lib/MultiSelect/Suggestions.js +219 -0
  241. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +170 -0
  242. package/lib/PopOver/PopOver.js +365 -0
  243. package/lib/PopOver/PopOver.module.css +8 -0
  244. package/lib/PopOver/__tests__/PopOver.spec.js +20 -0
  245. package/lib/Popup/Popup.js +719 -0
  246. package/lib/Popup/PositionMapping.json +74 -0
  247. package/lib/Popup/__tests__/Popup.spec.js +192 -0
  248. package/lib/Popup/viewPort.js +368 -0
  249. package/lib/Provider/AvatarSize.js +23 -0
  250. package/lib/Provider/Config.js +25 -0
  251. package/lib/Provider/CssProvider.js +27 -0
  252. package/lib/Provider/IdProvider.js +82 -0
  253. package/lib/Provider/LibraryContext.js +76 -0
  254. package/lib/Provider/LibraryContextInit.js +15 -0
  255. package/lib/Provider/NumberGenerator/NumberGenerator.js +174 -0
  256. package/lib/Provider/ZindexProvider.js +69 -0
  257. package/lib/Provider.js +241 -0
  258. package/lib/Radio/Radio.js +214 -0
  259. package/lib/Radio/Radio.module.css +110 -0
  260. package/lib/Radio/__tests__/Radiospec.js +29 -0
  261. package/lib/Responsive/CustomResponsive.js +246 -0
  262. package/lib/Responsive/RefWrapper.js +55 -0
  263. package/lib/Responsive/ResizeComponent.js +268 -0
  264. package/lib/Responsive/ResizeObserver.js +168 -0
  265. package/lib/Responsive/Responsive.js +281 -0
  266. package/lib/Responsive/index.js +30 -0
  267. package/lib/Responsive/sizeObservers.js +207 -0
  268. package/lib/Responsive/utils/index.js +70 -0
  269. package/lib/Responsive/utils/shallowCompare.js +38 -0
  270. package/lib/Responsive/windowResizeObserver.js +63 -0
  271. package/lib/Ribbon/Ribbon.js +115 -0
  272. package/lib/Ribbon/Ribbon.module.css +377 -0
  273. package/lib/Ribbon/__tests__/Ribbon.spec.js +193 -0
  274. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +163 -0
  275. package/lib/RippleEffect/RippleEffect.js +61 -0
  276. package/lib/RippleEffect/RippleEffect.module.css +70 -0
  277. package/lib/Select/GroupSelect.js +944 -0
  278. package/lib/Select/Select.js +1078 -0
  279. package/lib/Select/Select.module.css +100 -0
  280. package/lib/Select/SelectWithAvatar.js +433 -0
  281. package/lib/Select/SelectWithIcon.js +556 -0
  282. package/lib/Select/__tests__/Select.spec.js +383 -0
  283. package/lib/Stencils/Stencils.js +93 -0
  284. package/lib/Stencils/Stencils.module.css +96 -0
  285. package/lib/Stencils/__tests__/Stencils.spec.js +84 -0
  286. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +49 -0
  287. package/lib/Switch/Switch.js +183 -0
  288. package/lib/Switch/Switch.module.css +110 -0
  289. package/lib/Tab/Tab.js +158 -0
  290. package/lib/Tab/Tab.module.css +101 -0
  291. package/lib/Tab/TabContent.js +45 -0
  292. package/lib/Tab/TabContent.module.css +4 -0
  293. package/lib/Tab/TabContentWrapper.js +47 -0
  294. package/lib/Tab/TabWrapper.js +109 -0
  295. package/lib/Tab/Tabs.js +696 -0
  296. package/lib/Tab/Tabs.module.css +140 -0
  297. package/lib/Tab/__tests__/Tab.spec.js +130 -0
  298. package/lib/Tab/__tests__/TabContent.spec.js +22 -0
  299. package/lib/Tab/__tests__/TabContentWrapper.spec.js +59 -0
  300. package/lib/Tab/__tests__/TabWrapper.spec.js +100 -0
  301. package/lib/Tab/__tests__/Tabs.spec.js +123 -0
  302. package/lib/Tab/index.js +47 -0
  303. package/lib/Tag/Tag.js +252 -0
  304. package/lib/Tag/Tag.module.css +251 -0
  305. package/lib/Tag/__tests__/Tag.spec.js +35 -0
  306. package/lib/TextBox/TextBox.js +289 -0
  307. package/lib/TextBox/TextBox.module.css +157 -0
  308. package/lib/TextBox/__tests__/TextBox.spec.js +205 -0
  309. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +127 -0
  310. package/lib/TextBoxIcon/TextBoxIcon.js +284 -0
  311. package/lib/TextBoxIcon/TextBoxIcon.module.css +78 -0
  312. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +228 -0
  313. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +334 -0
  314. package/lib/Textarea/Textarea.js +202 -0
  315. package/lib/Textarea/Textarea.module.css +139 -0
  316. package/lib/Textarea/__tests__/Textarea.spec.js +186 -0
  317. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +97 -0
  318. package/lib/Tooltip/Tooltip.js +538 -0
  319. package/lib/Tooltip/Tooltip.module.css +104 -0
  320. package/lib/Tooltip/__tests__/Tooltip.spec.js +98 -0
  321. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +146 -0
  322. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +190 -0
  323. package/lib/a11y/FocusScope/FocusScope.js +443 -0
  324. package/lib/beta/FocusRing/FocusRing.js +338 -0
  325. package/lib/beta/FocusRing/FocusRing.module.css +152 -0
  326. package/lib/common/animation.module.css +624 -0
  327. package/lib/common/avatarsizes.module.css +45 -0
  328. package/lib/common/basic.module.css +33 -0
  329. package/lib/common/basicReset.module.css +40 -0
  330. package/lib/common/common.module.css +502 -0
  331. package/lib/common/customscroll.module.css +89 -0
  332. package/lib/common/docStyle.module.css +762 -0
  333. package/lib/common/reset.module.css +12 -0
  334. package/lib/common/transition.module.css +146 -0
  335. package/lib/css.js +83 -0
  336. package/lib/deprecated/PortalLayer/PortalLayer.js +165 -0
  337. package/lib/index.js +1412 -0
  338. package/lib/semantic/Button/Button.js +138 -0
  339. package/lib/semantic/Button/semanticButton.module.css +9 -0
  340. package/lib/utils/Common.js +457 -0
  341. package/lib/utils/ContextOptimizer.js +49 -0
  342. package/lib/utils/__tests__/constructFullName.spec.js +12 -0
  343. package/lib/utils/__tests__/debounce.spec.js +40 -0
  344. package/lib/utils/__tests__/getInitial.spec.js +26 -0
  345. package/lib/utils/constant.js +10 -0
  346. package/lib/utils/constructFullName.js +34 -0
  347. package/lib/utils/datetime/common.js +233 -0
  348. package/lib/utils/debounce.js +30 -0
  349. package/lib/utils/dropDownUtils.js +608 -0
  350. package/lib/utils/dummyFunction.js +10 -0
  351. package/lib/utils/getHTMLFontSize.js +11 -0
  352. package/lib/utils/getInitial.js +33 -0
  353. package/lib/utils/scrollTo.js +22 -0
  354. package/lib/utils/shallowEqual.js +41 -0
  355. package/package.json +7 -7
  356. package/README_Beta.md +0 -2
  357. package/__testUtils__/globals.js +0 -46
  358. package/__testUtils__/moduleMapKey.json +0 -138
  359. package/dubFinder.js +0 -96
  360. package/es/Accordion/docs/Accordion__Demo.docs.js +0 -80
  361. package/es/Animation/docs/Animation__default.docs.js +0 -34
  362. package/es/Animation/docs/Animation__fadeIn.docs.js +0 -34
  363. package/es/Animation/docs/Animation__scaleIn.docs.js +0 -34
  364. package/es/Animation/docs/Animation__skewIn.docs.js +0 -34
  365. package/es/Animation/docs/Animation__slideDown.docs.js +0 -34
  366. package/es/Animation/docs/Animation__slideLeft.docs.js +0 -34
  367. package/es/Animation/docs/Animation__zoomIn.docs.js +0 -34
  368. package/es/AppContainer/docs/AppContainer__default.docs.js +0 -20
  369. package/es/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
  370. package/es/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -42
  371. package/es/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -42
  372. package/es/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -42
  373. package/es/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -42
  374. package/es/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -42
  375. package/es/Avatar/docs/Avatar__custom.docs.js +0 -29
  376. package/es/Avatar/docs/Avatar__default.docs.js +0 -29
  377. package/es/Avatar/docs/Avatar__palette.docs.js +0 -49
  378. package/es/Avatar/docs/Avatar__text.docs.js +0 -28
  379. package/es/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -73
  380. package/es/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -31
  381. package/es/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -50
  382. package/es/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -49
  383. package/es/Button/docs/Button__custom.docs.js +0 -771
  384. package/es/Button/docs/Button__default.docs.js +0 -536
  385. package/es/Buttongroup/docs/Buttongroup__custom.docs.js +0 -37
  386. package/es/Buttongroup/docs/Buttongroup__footer.docs.js +0 -33
  387. package/es/Buttongroup/docs/Buttongroup__header.docs.js +0 -42
  388. package/es/Card/docs/Card__Custom.docs.js +0 -34
  389. package/es/Card/docs/Card__Default.docs.js +0 -37
  390. package/es/Card/docs/Card__Scroll.docs.js +0 -59
  391. package/es/CheckBox/docs/CheckBox__custom.docs.js +0 -293
  392. package/es/CheckBox/docs/CheckBox__default.docs.js +0 -219
  393. package/es/DateTime/docs/DateTime__default.docs.js +0 -91
  394. package/es/DateTime/docs/DateWidget__default.docs.js +0 -183
  395. package/es/DateTime/docs/timezonedata.json +0 -1
  396. package/es/DropBox/docs/DropBox__custom.docs.js +0 -66
  397. package/es/DropBox/docs/DropBox__customOrder.docs.js +0 -92
  398. package/es/DropBox/docs/DropBox__fixedPosition.docs.js +0 -91
  399. package/es/DropBox/docs/DropBox__position.docs.js +0 -87
  400. package/es/DropBox/docs/DropBox__size.docs.js +0 -61
  401. package/es/DropDown/docs/DropDownHeading__custom.docs.js +0 -23
  402. package/es/DropDown/docs/DropDownHeading__default.docs.js +0 -21
  403. package/es/Label/docs/Label__clipped.docs.js +0 -27
  404. package/es/Label/docs/Label__custom.docs.js +0 -30
  405. package/es/Label/docs/Label__palette.docs.js +0 -42
  406. package/es/Label/docs/Label__size.docs.js +0 -29
  407. package/es/Label/docs/Label__type.docs.js +0 -37
  408. package/es/Layout/docs/Layout__Hidden.docs.js +0 -77
  409. package/es/Layout/docs/Layout__default.docs.js +0 -49
  410. package/es/Layout/docs/Layout__four_Column.docs.js +0 -85
  411. package/es/Layout/docs/Layout__three_Column.docs.js +0 -76
  412. package/es/Layout/docs/Layout__two_Column.docs.js +0 -69
  413. package/es/LightNightMode/docs/AlternativeColors.docs.js +0 -74
  414. package/es/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -155
  415. package/es/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -112
  416. package/es/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -91
  417. package/es/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -65
  418. package/es/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -68
  419. package/es/ListItem/docs/ListItemWithIcon__default.docs.js +0 -62
  420. package/es/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -91
  421. package/es/ListItem/docs/ListItemWithRadio__default.docs.js +0 -65
  422. package/es/ListItem/docs/ListItem__custom.docs.js +0 -114
  423. package/es/ListItem/docs/ListItem__default.docs.js +0 -82
  424. package/es/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -124
  425. package/es/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +0 -114
  426. package/es/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +0 -141
  427. package/es/MultiSelect/docs/MultiSelect__default.docs.js +0 -161
  428. package/es/PopOver/docs/PopOver__default.docs.js +0 -32
  429. package/es/Provider/docs/Provider_Id__Class.docs.js +0 -29
  430. package/es/Provider/docs/Provider_Id__Function.docs.js +0 -18
  431. package/es/Provider/docs/Provider_Zindex__Class.docs.js +0 -32
  432. package/es/Provider/docs/Provider_Zindex__Function.docs.js +0 -23
  433. package/es/Radio/docs/Radio__custom.docs.js +0 -245
  434. package/es/Radio/docs/Radio__default.docs.js +0 -169
  435. package/es/Responsive/docs/Responsive__Custom.docs.js +0 -201
  436. package/es/Responsive/docs/Responsive__default.docs.js +0 -94
  437. package/es/Responsive/docs/style.module.css +0 -47
  438. package/es/Ribbon/docs/Ribbon__custom.docs.js +0 -386
  439. package/es/Ribbon/docs/Ribbon__default.docs.js +0 -342
  440. package/es/RippleEffect/docs/RippleEffect__default.docs.js +0 -435
  441. package/es/Select/docs/GroupSelect__default.docs.js +0 -149
  442. package/es/Select/docs/SelectWithAvatar__default.docs.js +0 -97
  443. package/es/Select/docs/SelectWithIcon__default.docs.js +0 -138
  444. package/es/Select/docs/Select__default.docs.js +0 -287
  445. package/es/Stencils/docs/Stencils__custom.docs.js +0 -45
  446. package/es/Stencils/docs/Stencils__default.docs.js +0 -50
  447. package/es/Switch/docs/Switch__custom.docs.js +0 -153
  448. package/es/Switch/docs/Switch__default.docs.js +0 -107
  449. package/es/Tab/docs/Tab__default.docs.js +0 -259
  450. package/es/Tab/docs/tabdocs.module.css +0 -29
  451. package/es/Tag/docs/Tag__custom.docs.js +0 -368
  452. package/es/Tag/docs/Tag__default.docs.js +0 -253
  453. package/es/TextBox/docs/TextBox__custom.docs.js +0 -43
  454. package/es/TextBox/docs/TextBox__default.docs.js +0 -40
  455. package/es/TextBox/docs/TextBox__size.docs.js +0 -38
  456. package/es/TextBox/docs/TextBox__variant.docs.js +0 -38
  457. package/es/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -89
  458. package/es/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -61
  459. package/es/Textarea/docs/Textarea__animated.docs.js +0 -41
  460. package/es/Textarea/docs/Textarea__custom.docs.js +0 -82
  461. package/es/Textarea/docs/Textarea__default.docs.js +0 -76
  462. package/es/Textarea/docs/Textarea__disabled.docs.js +0 -29
  463. package/es/Tooltip/docs/Tooltip__default.docs.js +0 -332
  464. package/es/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -97
  465. package/es/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +0 -150
  466. package/es/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -139
  467. package/es/beta/FocusRing/docs/FocusRing__default.docs.js +0 -48
  468. package/es/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -72
  469. package/es/deprecated/Theme/darkTheme.module.css +0 -393
  470. package/es/deprecated/Theme/defaultTheme.module.css +0 -393
  471. package/es/deprecated/Theme/palette/darkCTAPalette.module.css +0 -116
  472. package/es/deprecated/Theme/palette/darkPalette.module.css +0 -155
  473. package/es/deprecated/Theme/palette/defaultCTAPalette.module.css +0 -116
  474. package/es/deprecated/Theme/palette/defaultPalette.module.css +0 -155
  475. package/es/deprecated/customscroll_Old.module.css +0 -46
  476. package/es/semantic/Button/docs/Button__default.docs.js +0 -20
  477. package/externalDocsBuild.js +0 -21
  478. package/preprocess/componentAppearanceColors.js +0 -65
  479. package/preprocess/componentThemeColors.js +0 -119
  480. package/preprocess/ctaThemeColors.js +0 -95
  481. package/preprocess/index.js +0 -3
  482. package/preprocess/json/componentAppearanceVariableJson.js +0 -1515
  483. package/preprocess/json/componentThemeVariableJson.js +0 -259
  484. package/preprocess/json/ctaThemeVariableJson.js +0 -337
@@ -66,7 +66,7 @@ export class DropBoxElement extends React.Component {
66
66
  } = this.props;
67
67
  let {
68
68
  isReducedMotion
69
- } = this.context;
69
+ } = this.context || {};
70
70
 
71
71
  if (!isAbsolutePositioningNeeded && size === 'default' && !isActive) {
72
72
  isAbsolutePositioningNeeded = true;
@@ -212,7 +212,7 @@ export default class DropBox extends React.Component {
212
212
  } : {};
213
213
  const {
214
214
  direction
215
- } = this.context;
215
+ } = this.context || {};
216
216
  const dropBoxEle = /*#__PURE__*/React.createElement(DropBoxElement, _extends({
217
217
  isModel: isModel,
218
218
  direction: direction
@@ -28,8 +28,7 @@
28
28
  padding: var(--dropbox_padding);
29
29
  box-shadow: var(--dropbox_box_shadow);
30
30
  }
31
- .defaultPalette,
32
- .darkPalette {
31
+ .defaultPalette, .darkPalette {
33
32
  background-color: var(--dropbox_bg_color);
34
33
  }
35
34
  .radius {
@@ -84,11 +83,13 @@
84
83
  .bottom_shadow {
85
84
  --dropbox_box_shadow: 0 3px 30px var(--zdt_dropbox_default_box_shadow);
86
85
  }
87
- .defaultShadow {
86
+ [dir=ltr] .defaultShadow {
88
87
  box-shadow: 4px 3px 30px var(--zdt_dropbox_default_box_shadow);
89
88
  }
89
+ [dir=rtl] .defaultShadow {
90
+ box-shadow: -4px 3px 30px var(--zdt_dropbox_default_box_shadow);
91
+ }
90
92
  /* box direction styles */
91
- /*rtl:begin:ignore*/
92
93
  .topStart {
93
94
  bottom: 100%;
94
95
  right: 0;
@@ -272,7 +273,6 @@
272
273
  bottom: var(--zd_size28);
273
274
  transform: rotate(-90deg) translateX(-50%);
274
275
  }
275
- /*rtl:end:ignore*/
276
276
  .hidden {
277
277
  visibility: hidden;
278
278
  opacity: 0;
@@ -282,7 +282,10 @@
282
282
  .hidden .subContainer {
283
283
  box-shadow: none;
284
284
  }
285
- .animationBasic {
285
+ [dir=ltr] .animationBasic {
286
+ animation-duration: var(--zd_transition2);
287
+ }
288
+ [dir=rtl] .animationBasic {
286
289
  animation-duration: var(--zd_transition2);
287
290
  }
288
291
  .fadeIn {
@@ -291,11 +294,24 @@
291
294
  }
292
295
  .bounce {
293
296
  composes: animationBasic;
297
+ }
298
+ [dir=ltr] .bounce {
299
+ animation-name: animation;
300
+ animation-timing-function: cubic-bezier(0.4, 1, 0.65, 1.1);
301
+ }
302
+ [dir=rtl] .bounce {
294
303
  animation-name: animation;
295
304
  animation-timing-function: cubic-bezier(0.4, 1, 0.65, 1.1);
296
305
  }
297
306
  .slideUp {
298
307
  composes: modeForward from '../common/animation.module.css';
308
+ }
309
+ [dir=ltr] .slideUp {
310
+ animation-duration: var(--zd_transition3);
311
+ animation-name: slideUp;
312
+ animation-timing-function: cubic-bezier(0.4, 1, 0.65, 1);
313
+ }
314
+ [dir=rtl] .slideUp {
299
315
  animation-duration: var(--zd_transition3);
300
316
  animation-name: slideUp;
301
317
  animation-timing-function: cubic-bezier(0.4, 1, 0.65, 1);
@@ -325,16 +341,23 @@
325
341
  .responsive {
326
342
  position: absolute;
327
343
  bottom: 0;
328
- left: 0;
329
344
  width: 100%;
330
345
  max-height: 90%;
331
346
  }
332
347
 
348
+ [dir=ltr] .responsive {
349
+ left: 0;
350
+ }
351
+
352
+ [dir=rtl] .responsive {
353
+ right: 0;
354
+ }
355
+
333
356
  .closeBar {
334
357
  height: 6px;
358
+ width: 20%;
335
359
  border-radius: 5px;
336
360
  background-color: var(--dropbox_mob_close_bg_color);
337
- width: 20%;
338
361
  cursor: pointer;
339
362
  margin: 0 auto var(--zd_size10);
340
363
  }
@@ -346,19 +369,32 @@
346
369
  }
347
370
  .activateInDelay {
348
371
  composes: modeForward from '../common/animation.module.css';
372
+ pointer-events: none;
373
+ }
374
+ [dir=ltr] .activateInDelay {
375
+ animation-duration: var(--zd_transition1);
376
+ animation-delay: var(--zd_transition2);
377
+ animation-name: activateInDelay;
378
+ }
379
+ [dir=rtl] .activateInDelay {
349
380
  animation-duration: var(--zd_transition1);
350
381
  animation-delay: var(--zd_transition2);
351
- pointer-events: none;
352
382
  animation-name: activateInDelay;
353
383
  }
354
384
  .freezeLayer {
355
385
  position: absolute;
356
386
  top: 0;
357
- left: 0;
358
387
  bottom: 0;
359
- right: 0;
360
388
  composes: activateInDelay;
361
389
  }
390
+ [dir=ltr] .freezeLayer {
391
+ left: 0;
392
+ right: 0;
393
+ }
394
+ [dir=rtl] .freezeLayer {
395
+ right: 0;
396
+ left: 0;
397
+ }
362
398
  .freeze {
363
399
  composes: varClass;
364
400
  background: var(--dropbox_mob_bg_color);
@@ -33,11 +33,15 @@
33
33
  .light {
34
34
  composes: default;
35
35
  }
36
- .light::after,
37
- .dark::after {
38
- left: var(--dropdownheading_underline_left);
36
+ .light::after, .dark::after {
39
37
  background-color: var(--dropdownheading_underline_bg_color);
40
38
  }
39
+ [dir=ltr] .light::after, [dir=ltr] .dark::after {
40
+ left: var(--dropdownheading_underline_left);
41
+ }
42
+ [dir=rtl] .light::after, [dir=rtl] .dark::after {
43
+ right: var(--dropdownheading_underline_left);
44
+ }
41
45
 
42
46
  .dark {
43
47
  composes: default;
@@ -6,24 +6,32 @@
6
6
 
7
7
  /* dropdownitem user default variables */
8
8
  --dropdownitem-user-width: var(--zd_size42);
9
- --dropdownitem-user-border-width: 0 0 0 1px/*rtl: 0 1px 0 0*/;
10
9
  --dropdownitem-user-border-style: solid;
11
10
  --dropdownitem-user-border-color: var(--zdt_dropdown_user_default_border);
12
11
  --dropdownitem-user-cursor: pointer;
12
+ }[dir=ltr] .varClass {
13
+ --dropdownitem-user-border-width: 0 0 0 1px/*rtl: 0 1px 0 0*/;
14
+ }[dir=rtl] .varClass {
15
+ --dropdownitem-user-border-width: 0 1px 0 0;
13
16
  }
14
17
  .list {
15
18
  composes: varClass;
16
19
  composes: dflex alignVertical from '../common/common.module.css';
17
20
  position: relative;
18
- padding: var(--dropdownitem-padding);
19
21
  color: var(--zdt_dropdown_default_text);
20
22
  font-size: var(--zd_font_size13);
21
- border-width: 0 0 0 1px/*rtl: 0 1px 0 0*/;
23
+ padding: var(--dropdownitem-padding);
22
24
  border-style: solid;
23
25
  border-color: var(--dropdownitem-border-color);
24
26
  cursor: pointer;
25
27
  background-color: var(--dropdownitem-bg-color);
26
28
  }
29
+ [dir=ltr] .list {
30
+ border-width: 0 0 0 1px/*rtl: 0 1px 0 0*/;
31
+ }
32
+ [dir=rtl] .list {
33
+ border-width: 0 1px 0 0;
34
+ }
27
35
 
28
36
  .listActive {
29
37
  --dropdownitem-border-color: var(--zdt_dropdown_listactive_border);
@@ -33,16 +41,27 @@
33
41
  --dropdownitem-bg-color: var(--zdt_dropdown_listhover_bg);
34
42
  }
35
43
 
36
- .padding {
44
+ [dir=ltr] .padding {
37
45
  --dropdownitem-padding: 0 var(--zd_size50) 0 0/*rtl: 0 0 0 var(--zd_size50)*/;
38
46
  }
39
47
 
48
+ [dir=rtl] .padding {
49
+ --dropdownitem-padding: 0 0 0 var(--zd_size50);
50
+ }
51
+
40
52
  .children {
41
- margin-right: var(--zd_size10);
42
53
  display: inline-block;
43
54
  font-size: 0;
44
55
  }
45
56
 
57
+ [dir=ltr] .children {
58
+ margin-right: var(--zd_size10);
59
+ }
60
+
61
+ [dir=rtl] .children {
62
+ margin-left: var(--zd_size10);
63
+ }
64
+
46
65
  .value {
47
66
  composes: dotted flexgrow from '../common/common.module.css';
48
67
  }
@@ -51,7 +70,6 @@
51
70
  composes: dflex alignVertical alignHorizontal from '../common/common.module.css';
52
71
  position: absolute;
53
72
  top: 0;
54
- right: 0;
55
73
  bottom: 0;
56
74
  opacity: 0;
57
75
  visibility: hidden;
@@ -62,6 +80,14 @@
62
80
  cursor: var(--dropdownitem-user-cursor);
63
81
  }
64
82
 
83
+ [dir=ltr] .user {
84
+ right: 0;
85
+ }
86
+
87
+ [dir=rtl] .user {
88
+ left: 0;
89
+ }
90
+
65
91
  .list:hover .user {
66
92
  opacity: 1;
67
93
  visibility: visible;
@@ -4,7 +4,7 @@
4
4
  --label_text_color: var(--zdt_label_default_text);
5
5
  --label_font_family: var(--zd_regular);
6
6
  --label_cursor: default;
7
- --label_line_height: 1.28;
7
+ --label_line_height: var(--zd_size18);
8
8
  }
9
9
  .label {
10
10
  composes: varClass;
@@ -17,18 +17,15 @@
17
17
  }
18
18
  .xsmall {
19
19
  --label_font_size: var(--zd_font_size12);
20
- --label_line_height: 1.5;
21
20
  }
22
21
  .small {
23
22
  --label_font_size: var(--zd_font_size13);
24
- --label_line_height: 1.38;
25
23
  }
26
24
  .medium {
27
25
  --label_font_size: var(--zd_font_size14);
28
26
  }
29
27
  .large {
30
28
  --label_font_size: var(--zd_font_size26);
31
- --label_line_height: 0.69;
32
29
  composes: semibold from '../common/common.module.css';
33
30
  }
34
31
  .pointer {
@@ -1,5 +1,3 @@
1
- import "core-js/modules/web.url.to-json";
2
-
3
1
  /* eslint-disable no-undef */
4
2
  import React from 'react';
5
3
  import Label from '../Label';
@@ -15,7 +15,8 @@ export function createProps(propTypes, props, classNames) {
15
15
  export function isInteger(value) {
16
16
  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
17
17
  }
18
- export function setProps(childProps, props, values = {}) {
18
+ export function setProps(childProps, props) {
19
+ let values = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19
20
  Object.keys(values).map(value => {
20
21
  if (props[value]) {
21
22
  childProps[values[value]] = props[value];
@@ -0,0 +1,118 @@
1
+ function _extends() { _extends = Object.assign || 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
+
3
+ /**** Libraries ****/
4
+ import React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import { Container } from '../Layout';
7
+ import CssProvider from '../Provider/CssProvider';
8
+ import style from './ListItem.module.css';
9
+
10
+ const ListContainer = props => {
11
+ const {
12
+ size,
13
+ active,
14
+ highlight,
15
+ autoHover,
16
+ palette,
17
+ title,
18
+ disableTitle,
19
+ needTick,
20
+ isLink,
21
+ href,
22
+ target,
23
+ needBorder,
24
+ isDisabled,
25
+ children,
26
+ dataId,
27
+ a11y,
28
+ customClass,
29
+ customProps,
30
+ onClick,
31
+ onMouseEnter,
32
+ onMouseOver,
33
+ eleRef
34
+ } = props;
35
+ const {
36
+ role,
37
+ ariaSelected
38
+ } = a11y;
39
+ const options = {};
40
+
41
+ if (isLink) {
42
+ options.href = href;
43
+ options.target = `_${target}`;
44
+ }
45
+
46
+ if (active) {
47
+ options['data-selected'] = active;
48
+ }
49
+
50
+ if (!isDisabled && !isLink && active) {
51
+ options.tabindex = '0';
52
+ }
53
+
54
+ return /*#__PURE__*/React.createElement(Container, _extends({
55
+ role: role,
56
+ "aria-selected": ariaSelected,
57
+ isCover: false,
58
+ align: "vertical",
59
+ alignBox: "row",
60
+ className: `${style.list} ${style[size]} ${style[palette]} ${active ? style[`active${palette}`] : highlight && !isDisabled ? style[`${palette}Hover`] : ''} ${autoHover && !isDisabled ? style[`${palette}Effect`] : ''} ${needTick ? style[`${size}withTick`] : ''} ${isDisabled ? CssProvider('isDisable') : ''} ${needBorder ? active ? style.activewithBorder : style.withBorder : ''} ${customClass}`,
61
+ dataId: dataId,
62
+ onClick: !isDisabled && onClick,
63
+ onMouseEnter: onMouseEnter,
64
+ onMouseOver: onMouseOver,
65
+ eleRef: eleRef,
66
+ tagName: isLink ? 'a' : 'li',
67
+ "data-title": isDisabled ? disableTitle : title
68
+ }, options, customProps), children);
69
+ };
70
+
71
+ ListContainer.defaultProps = {
72
+ active: false,
73
+ autoHover: false,
74
+ highlight: false,
75
+ needTick: false,
76
+ palette: 'default',
77
+ size: 'medium',
78
+ isLink: false,
79
+ target: 'blank',
80
+ needBorder: true,
81
+ a11y: {},
82
+ customClass: '',
83
+ customProps: {}
84
+ };
85
+ export default ListContainer;
86
+ ListContainer.propTypes = {
87
+ active: PropTypes.bool,
88
+ autoHover: PropTypes.bool,
89
+ children: PropTypes.node,
90
+ dataId: PropTypes.string,
91
+ disableTitle: PropTypes.string,
92
+ highlight: PropTypes.bool,
93
+ href: PropTypes.string,
94
+ isDisabled: PropTypes.bool,
95
+ isLink: PropTypes.bool,
96
+ needBorder: PropTypes.bool,
97
+ needTick: PropTypes.bool,
98
+ onClick: PropTypes.func,
99
+ onMouseEnter: PropTypes.func,
100
+ onMouseOver: PropTypes.func,
101
+ palette: PropTypes.oneOf(['default', 'primary', 'secondary', 'dark']),
102
+ size: PropTypes.oneOf(['small', 'medium', 'large']),
103
+ target: PropTypes.oneOf(['blank', 'self']),
104
+ title: PropTypes.string,
105
+ a11y: PropTypes.shape({
106
+ role: PropTypes.string,
107
+ ariaSelected: PropTypes.bool
108
+ }),
109
+ customClass: PropTypes.string,
110
+ customProps: PropTypes.object
111
+ };
112
+
113
+ if (false) {
114
+ ListContainer.docs = {
115
+ componentGroup: 'Molecule',
116
+ folderName: 'Style Guide'
117
+ };
118
+ }
@@ -1,15 +1,13 @@
1
- import "core-js/modules/es.string.replace";
2
-
3
1
  function _extends() { _extends = Object.assign || 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); }
4
2
 
5
3
  /**** Libraries ****/
6
4
  import React from 'react';
7
5
  import PropTypes from 'prop-types';
8
- import { Container, Box } from '../Layout';
6
+ import { Box } from '../Layout';
7
+ import ListContainer from './ListContainer';
9
8
  /**** Components ****/
10
9
 
11
10
  import Icon from '@zohodesk/icons/lib/Icon';
12
- import CssProvider from '../Provider/CssProvider';
13
11
  /**** CSS ****/
14
12
 
15
13
  import style from './ListItem.module.css';
@@ -74,48 +72,40 @@ export default class ListItem extends React.Component {
74
72
  customProps
75
73
  } = this.props;
76
74
  let {
77
- ListItemProps = {}
75
+ ListItemProps = {},
76
+ ContainerProps = {}
78
77
  } = customProps;
79
78
  let {
80
79
  customListItem = '',
81
80
  customTickIcon = ''
82
81
  } = customClass;
83
82
  let {
84
- role,
85
- ariaSelected,
86
83
  ariaHidden = true
87
84
  } = a11y;
88
85
  let tickIconPalette = style[`${palette}Tick`] ? style[`${palette}Tick`] : '';
89
- let options = {};
90
-
91
- if (isLink) {
92
- options.href = href;
93
- options.target = `_${target}`;
94
- }
95
-
96
- if (active) {
97
- options['data-selected'] = active;
98
- }
99
-
100
- if (!isDisabled && !isLink && active) {
101
- options.tabindex = '0';
102
- }
103
-
104
86
  let dataIdString = dataId ? dataId : value ? String(value).replace("'", '_') : 'listItem';
105
- return /*#__PURE__*/React.createElement(Container, _extends({
106
- role: role,
107
- "aria-selected": ariaSelected,
108
- isCover: false,
109
- align: "vertical",
110
- alignBox: "row",
111
- className: `${style.list} ${style[size]} ${style[palette]} ${active ? style[`active${palette}`] : highlight && !isDisabled ? style[`${palette}Hover`] : ''} ${autoHover && !isDisabled ? style[`${palette}Effect`] : ''} ${needTick ? style[`${size}withTick`] : ''} ${isDisabled ? CssProvider('isDisable') : ''} ${needBorder ? active ? style.activewithBorder : style.withBorder : ''} ${customListItem}`,
87
+ return /*#__PURE__*/React.createElement(ListContainer, _extends({
88
+ a11y: a11y,
89
+ size: size,
90
+ palette: palette,
91
+ highlight: highlight,
92
+ isDisabled: isDisabled,
93
+ active: active,
94
+ autoHover: autoHover,
95
+ needTick: needTick,
96
+ needBorder: needBorder,
97
+ customClass: customListItem,
112
98
  dataId: dataIdString,
113
- onClick: !isDisabled && this.handleClick,
99
+ isLink: isLink,
100
+ href: href,
101
+ target: target,
102
+ disableTitle: disableTitle,
103
+ title: title,
104
+ onClick: this.handleClick,
114
105
  onMouseEnter: this.handleMouseEnter,
115
106
  eleRef: this.getRef,
116
- tagName: isLink ? 'a' : 'li',
117
- "data-title": isDisabled ? disableTitle : title
118
- }, options, ListItemProps), value ? /*#__PURE__*/React.createElement(Box, {
107
+ customProps: ListItemProps
108
+ }, ContainerProps), value ? /*#__PURE__*/React.createElement(Box, {
119
109
  shrink: true,
120
110
  adjust: true,
121
111
  className: style.value
@@ -4,8 +4,6 @@
4
4
  --listitem_padding: var(--zd_size9) var(--zd_size20);
5
5
  --listitem_border_width: 0;
6
6
  --listitem_border_color: var(--zdt_listitem_default_border);
7
- --listitem_avatar_margin: 0 var(--zd_size15) 0 0
8
- /*rtl: 0 0 0 var(--zd_size15)*/;
9
7
  --listitem_bg_color: var(--zdt_listitem_default_bg);
10
8
  --listitem_active_bg_color: var(--zdt_listitem_primary_bg);
11
9
  --listitem_height: auto;
@@ -16,6 +14,11 @@
16
14
 
17
15
  /* listitem tick icon default variables */
18
16
  --listitem_tickicon_color: var(--zdt_listitem_default_tickicon);
17
+ }[dir=ltr] .varClass {
18
+ --listitem_avatar_margin: 0 var(--zd_size15) 0 0
19
+ /*rtl: 0 0 0 var(--zd_size15)*/;
20
+ }[dir=rtl] .varClass {
21
+ --listitem_avatar_margin: 0 0 0 var(--zd_size15);
19
22
  }
20
23
  .list {
21
24
  composes: varClass;
@@ -23,40 +26,49 @@
23
26
  list-style: none;
24
27
  color: var(--listitem_text_color);
25
28
  font-size: var(--zd_font_size13);
29
+ height: var(--listitem_height);
30
+ min-height: var(--listitem_min_height);
31
+ text-decoration: none;
26
32
  padding: var(--listitem_padding);
27
33
  border-width: var(--listitem_border_width);
28
34
  border-style: solid;
29
35
  border-color: var(--listitem_border_color);
30
- height: var(--listitem_height);
31
- min-height: var(--listitem_min_height);
32
36
  cursor: pointer;
33
- text-decoration: none;
34
37
  }
35
- .list,
36
- .default,
37
- .secondary {
38
+ .list, .default, .secondary {
38
39
  background-color: var(--listitem_bg_color);
39
40
  }
40
- .withBorder {
41
+ [dir=ltr] .withBorder {
41
42
  --listitem_border_width: 0 0 0 1px /*rtl: 0 1px 0 0*/;
42
43
  }
44
+ [dir=rtl] .withBorder {
45
+ --listitem_border_width: 0 1px 0 0;
46
+ }
43
47
  .active {
44
48
  --listitem_border_color: var(--zdt_listitem_active_border);
45
49
  }
46
- .small {
50
+ [dir=ltr] .small {
47
51
  --listitem_padding: var(--zd_size9) var(--zd_size3) var(--zd_size9)
48
52
  var(--zd_size5)
49
53
  /*rtl: var(--zd_size9) var(--zd_size5) var(--zd_size9) var(--zd_size3)*/;
50
54
  }
55
+ [dir=rtl] .small {
56
+ --listitem_padding: var(--zd_size9) var(--zd_size5) var(--zd_size9) var(--zd_size3);
57
+ }
51
58
  .medium {
52
59
  --listitem_padding: var(--zd_size9) var(--zd_size20);
53
60
  --listitem_min_height: var(--zd_size35);
54
61
  }
55
62
  .large {
63
+ --listitem_height: var(--zd_size48);
64
+ }
65
+ [dir=ltr] .large {
56
66
  --listitem_padding: var(--zd_size10) var(--zd_size3) var(--zd_size10)
57
67
  var(--zd_size25)
58
68
  /*rtl: var(--zd_size10) var(--zd_size25) var(--zd_size10) var(--zd_size3)*/;
59
- --listitem_height: var(--zd_size48);
69
+ }
70
+ [dir=rtl] .large {
71
+ --listitem_padding: var(--zd_size10) var(--zd_size25) var(--zd_size10) var(--zd_size3);
60
72
  }
61
73
 
62
74
  .value,
@@ -65,9 +77,14 @@
65
77
  }
66
78
  .iconBox {
67
79
  width: var(--zd_size20);
68
- margin-right: var(--zd_size10);
69
80
  text-align: center;
70
81
  }
82
+ [dir=ltr] .iconBox {
83
+ margin-right: var(--zd_size10);
84
+ }
85
+ [dir=rtl] .iconBox {
86
+ margin-left: var(--zd_size10);
87
+ }
71
88
  .iconBox,
72
89
  .leftAvatar {
73
90
  font-size: 0;
@@ -76,16 +93,18 @@
76
93
  margin: var(--listitem_avatar_margin);
77
94
  }
78
95
 
79
- .defaultHover,
80
- .primaryHover,
81
- .secondaryHover,
82
- .darkHover {
96
+ .defaultHover, .primaryHover, .secondaryHover, .darkHover {
83
97
  background-color: var(--listitem_highlight_bg_color);
84
98
  }
85
99
  .activewithBorder {
86
- --listitem_border_width: 0 0 0 1px /*rtl: 0 1px 0 0*/;
87
100
  --listitem_border_color: var(--zdt_listitem_active_border);
88
101
  }
102
+ [dir=ltr] .activewithBorder {
103
+ --listitem_border_width: 0 0 0 1px /*rtl: 0 1px 0 0*/;
104
+ }
105
+ [dir=rtl] .activewithBorder {
106
+ --listitem_border_width: 0 1px 0 0;
107
+ }
89
108
 
90
109
  .defaultHover,
91
110
  .defaultEffect:hover,
@@ -111,10 +130,7 @@
111
130
  --listitem_bg_color: var(--zdt_listitem_dark_effect_bg);
112
131
  --listitem_highlight_bg_color: var(--zdt_listitem_dark_effect_bg);
113
132
  }
114
- .activedefault,
115
- .activeprimary,
116
- .activesecondary,
117
- .activedark {
133
+ .activedefault, .activeprimary, .activesecondary, .activedark {
118
134
  background-color: var(--listitem_active_bg_color);
119
135
  }
120
136
  .activedefault,
@@ -140,8 +156,15 @@
140
156
  .darkTick {
141
157
  position: absolute;
142
158
  color: var(--listitem_tickicon_color);
159
+ }
160
+
161
+ [dir=ltr] .tickIcon, [dir=ltr] .defaultTick, [dir=ltr] .darkTick {
143
162
  right: var(--zd_size20);
144
163
  }
164
+
165
+ [dir=rtl] .tickIcon, [dir=rtl] .defaultTick, [dir=rtl] .darkTick {
166
+ left: var(--zd_size20);
167
+ }
145
168
  .defaultTick {
146
169
  --listitem_tickicon_color: var(--zdt_listitem_default_tickicon);
147
170
  }
@@ -151,18 +174,27 @@
151
174
  .defaultTick > i {
152
175
  display: block;
153
176
  }
154
- .smallwithTick {
177
+ [dir=ltr] .smallwithTick {
155
178
  --listitem_padding: var(--zd_size9) var(--zd_size39) var(--zd_size9)
156
179
  var(--zd_size5)
157
180
  /*rtl: var(--zd_size9) var(--zd_size5) var(--zd_size9) var(--zd_size39)*/;
158
181
  }
159
- .mediumwithTick {
182
+ [dir=rtl] .smallwithTick {
183
+ --listitem_padding: var(--zd_size9) var(--zd_size5) var(--zd_size9) var(--zd_size39);
184
+ }
185
+ [dir=ltr] .mediumwithTick {
160
186
  --listitem_padding: var(--zd_size9) var(--zd_size39) var(--zd_size9)
161
187
  var(--zd_size20)
162
188
  /*rtl: var(--zd_size9) var(--zd_size20) var(--zd_size9) var(--zd_size30)*/;
163
189
  }
164
- .largewithTick {
190
+ [dir=rtl] .mediumwithTick {
191
+ --listitem_padding: var(--zd_size9) var(--zd_size20) var(--zd_size9) var(--zd_size30);
192
+ }
193
+ [dir=ltr] .largewithTick {
165
194
  --listitem_padding: var(--zd_size10) var(--zd_size39) var(--zd_size10)
166
195
  var(--zd_size25)
167
196
  /*rtl: var(--zd_size10) var(--zd_size25) var(--zd_size10) var(--zd_size39)*/;
168
197
  }
198
+ [dir=rtl] .largewithTick {
199
+ --listitem_padding: var(--zd_size10) var(--zd_size25) var(--zd_size10) var(--zd_size39);
200
+ }