@zohodesk/components 1.0.0-alpha-195 → 1.0.0-alpha-199

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 (395) hide show
  1. package/README.md +21 -0
  2. package/es/Avatar/Avatar.module.css +9 -11
  3. package/es/AvatarTeam/AvatarTeam.module.css +7 -21
  4. package/es/Button/Button.module.css +23 -96
  5. package/es/Buttongroup/Buttongroup.module.css +8 -37
  6. package/es/CheckBox/CheckBox.module.css +11 -17
  7. package/es/DateTime/DateTime.module.css +12 -39
  8. package/es/DateTime/DateWidget.module.css +5 -9
  9. package/es/DateTime/YearView.module.css +6 -16
  10. package/es/DateTime/dateFormatUtils/dateFormat.js +2 -2
  11. package/es/DropBox/DropBox.module.css +11 -47
  12. package/es/DropDown/DropDownHeading.module.css +3 -7
  13. package/es/DropDown/DropDownItem.module.css +6 -32
  14. package/es/ListItem/ListItem.module.css +24 -56
  15. package/es/MultiSelect/AdvancedMultiSelect.js +3 -2
  16. package/es/MultiSelect/AdvancedMultiSelect.module.css +6 -21
  17. package/es/MultiSelect/MultiSelect.js +31 -31
  18. package/es/MultiSelect/MultiSelect.module.css +8 -26
  19. package/es/MultiSelect/SelectedOptions.module.css +2 -8
  20. package/es/PopOver/PopOver.module.css +1 -1
  21. package/es/Popup/Popup.js +2 -2
  22. package/es/Radio/Radio.module.css +3 -9
  23. package/es/Responsive/CustomResponsive.js +73 -74
  24. package/es/Responsive/docs/style.module.css +8 -17
  25. package/es/Responsive/sizeObservers.js +31 -13
  26. package/es/Ribbon/Ribbon.module.css +28 -93
  27. package/es/RippleEffect/RippleEffect.module.css +44 -15
  28. package/es/Select/Select.module.css +2 -12
  29. package/es/Stencils/Stencils.module.css +4 -27
  30. package/es/Switch/Switch.module.css +7 -6
  31. package/es/Tab/Tab.module.css +7 -16
  32. package/es/Tab/Tabs.module.css +8 -41
  33. package/es/Tab/docs/tabdocs.module.css +1 -1
  34. package/es/Tag/Tag.module.css +14 -36
  35. package/es/TextBox/TextBox.module.css +11 -7
  36. package/es/TextBoxIcon/TextBoxIcon.module.css +5 -10
  37. package/es/Textarea/Textarea.module.css +7 -6
  38. package/es/Tooltip/Tooltip.module.css +8 -9
  39. package/es/beta/FocusRing/FocusRing.module.css +26 -51
  40. package/es/common/animation.module.css +20 -212
  41. package/es/common/basicReset.module.css +12 -2
  42. package/es/common/common.module.css +18 -62
  43. package/es/common/customscroll.module.css +21 -17
  44. package/es/common/docStyle.module.css +26 -64
  45. package/es/common/transition.module.css +10 -50
  46. package/es/deprecated/customscroll_Old.module.css +1 -1
  47. package/es/semantic/Button/semanticButton.module.css +3 -3
  48. package/es/utils/ContextOptimizer.js +38 -0
  49. package/package.json +3 -3
  50. package/assets/fonts/LatoLatin-Bold.woff2 +0 -0
  51. package/assets/fonts/LatoLatin-Heavy.woff2 +0 -0
  52. package/assets/fonts/LatoLatin-Medium.woff2 +0 -0
  53. package/assets/fonts/LatoLatin-Regular.woff2 +0 -0
  54. package/assets/fonts/LatoLatin-Semibold.woff2 +0 -0
  55. package/lib/Accordion/Accordion.js +0 -146
  56. package/lib/Accordion/AccordionItem.js +0 -121
  57. package/lib/Accordion/__tests__/Accordion.spec.js +0 -85
  58. package/lib/Accordion/docs/Accordion__Demo.docs.js +0 -126
  59. package/lib/Accordion/index.js +0 -23
  60. package/lib/Animation/Animation.js +0 -207
  61. package/lib/Animation/__tests__/Animation.spec.js +0 -23
  62. package/lib/Animation/docs/Animation__default.docs.js +0 -85
  63. package/lib/Animation/docs/Animation__fadeIn.docs.js +0 -85
  64. package/lib/Animation/docs/Animation__scaleIn.docs.js +0 -85
  65. package/lib/Animation/docs/Animation__skewIn.docs.js +0 -85
  66. package/lib/Animation/docs/Animation__slideDown.docs.js +0 -85
  67. package/lib/Animation/docs/Animation__slideLeft.docs.js +0 -85
  68. package/lib/Animation/docs/Animation__zoomIn.docs.js +0 -85
  69. package/lib/AppContainer/AppContainer.js +0 -154
  70. package/lib/AppContainer/AppContainer.module.css +0 -17
  71. package/lib/AppContainer/docs/AppContainer__default.docs.js +0 -70
  72. package/lib/Appearance/dark/mode/darkMode.module.css +0 -403
  73. package/lib/Appearance/dark/themes/blue/blueDarkCTATheme.module.css +0 -34
  74. package/lib/Appearance/dark/themes/blue/blueDarkComponentTheme.module.css +0 -31
  75. package/lib/Appearance/dark/themes/green/greenDarkCTATheme.module.css +0 -34
  76. package/lib/Appearance/dark/themes/green/greenDarkComponentTheme.module.css +0 -31
  77. package/lib/Appearance/dark/themes/orange/orangeDarkCTATheme.module.css +0 -34
  78. package/lib/Appearance/dark/themes/orange/orangeDarkComponentTheme.module.css +0 -31
  79. package/lib/Appearance/dark/themes/red/redDarkCTATheme.module.css +0 -34
  80. package/lib/Appearance/dark/themes/red/redDarkComponentTheme.module.css +0 -31
  81. package/lib/Appearance/dark/themes/yellow/yellowDarkCTATheme.module.css +0 -34
  82. package/lib/Appearance/dark/themes/yellow/yellowDarkComponentTheme.module.css +0 -31
  83. package/lib/Appearance/default/mode/defaultMode.module.css +0 -403
  84. package/lib/Appearance/default/themes/blue/blueDefaultCTATheme.module.css +0 -34
  85. package/lib/Appearance/default/themes/blue/blueDefaultComponentTheme.module.css +0 -31
  86. package/lib/Appearance/default/themes/green/greenDefaultCTATheme.module.css +0 -34
  87. package/lib/Appearance/default/themes/green/greenDefaultComponentTheme.module.css +0 -31
  88. package/lib/Appearance/default/themes/orange/orangeDefaultCTATheme.module.css +0 -34
  89. package/lib/Appearance/default/themes/orange/orangeDefaultComponentTheme.module.css +0 -31
  90. package/lib/Appearance/default/themes/red/redDefaultCTATheme.module.css +0 -34
  91. package/lib/Appearance/default/themes/red/redDefaultComponentTheme.module.css +0 -31
  92. package/lib/Appearance/default/themes/yellow/yellowDefaultCTATheme.module.css +0 -34
  93. package/lib/Appearance/default/themes/yellow/yellowDefaultComponentTheme.module.css +0 -31
  94. package/lib/Avatar/Avatar.js +0 -280
  95. package/lib/Avatar/Avatar.module.css +0 -117
  96. package/lib/Avatar/__tests__/Avatar.spec.js +0 -208
  97. package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +0 -288
  98. package/lib/Avatar/docs/Avatar__custom.docs.js +0 -87
  99. package/lib/Avatar/docs/Avatar__default.docs.js +0 -83
  100. package/lib/Avatar/docs/Avatar__palette.docs.js +0 -107
  101. package/lib/Avatar/docs/Avatar__text.docs.js +0 -86
  102. package/lib/AvatarTeam/AvatarTeam.js +0 -157
  103. package/lib/AvatarTeam/AvatarTeam.module.css +0 -161
  104. package/lib/AvatarTeam/__tests__/AvatarTeam.spec.js +0 -92
  105. package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +0 -226
  106. package/lib/AvatarTeam/docs/AvatarTeam__custom.docs.js +0 -124
  107. package/lib/AvatarTeam/docs/AvatarTeam__default.docs.js +0 -82
  108. package/lib/AvatarTeam/docs/AvatarTeam__palette.docs.js +0 -101
  109. package/lib/AvatarTeam/docs/AvatarTeam__size.docs.js +0 -100
  110. package/lib/Button/Button.js +0 -159
  111. package/lib/Button/Button.module.css +0 -520
  112. package/lib/Button/__tests__/Button.spec.js +0 -233
  113. package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +0 -191
  114. package/lib/Button/docs/Button__custom.docs.js +0 -826
  115. package/lib/Button/docs/Button__default.docs.js +0 -590
  116. package/lib/Buttongroup/Buttongroup.js +0 -101
  117. package/lib/Buttongroup/Buttongroup.module.css +0 -89
  118. package/lib/Buttongroup/__test__/Buttongroup.spec.js +0 -86
  119. package/lib/Buttongroup/__test__/__snapshots__/Buttongroup.spec.js.snap +0 -146
  120. package/lib/Buttongroup/docs/Buttongroup__custom.docs.js +0 -89
  121. package/lib/Buttongroup/docs/Buttongroup__footer.docs.js +0 -85
  122. package/lib/Buttongroup/docs/Buttongroup__header.docs.js +0 -98
  123. package/lib/Card/Card.js +0 -403
  124. package/lib/Card/Card.module.css +0 -20
  125. package/lib/Card/__tests__/Card.spec.js +0 -56
  126. package/lib/Card/docs/Card__Custom.docs.js +0 -90
  127. package/lib/Card/docs/Card__Default.docs.js +0 -92
  128. package/lib/Card/docs/Card__Scroll.docs.js +0 -114
  129. package/lib/Card/index.js +0 -37
  130. package/lib/CheckBox/CheckBox.js +0 -265
  131. package/lib/CheckBox/CheckBox.module.css +0 -153
  132. package/lib/CheckBox/__tests__/CheckBox.spec.js +0 -18
  133. package/lib/CheckBox/docs/CheckBox__custom.docs.js +0 -348
  134. package/lib/CheckBox/docs/CheckBox__default.docs.js +0 -273
  135. package/lib/DateTime/CalendarView.js +0 -305
  136. package/lib/DateTime/DateTime.js +0 -1030
  137. package/lib/DateTime/DateTime.module.css +0 -188
  138. package/lib/DateTime/DateWidget.js +0 -1183
  139. package/lib/DateTime/DateWidget.module.css +0 -46
  140. package/lib/DateTime/YearView.js +0 -324
  141. package/lib/DateTime/YearView.module.css +0 -80
  142. package/lib/DateTime/__tests__/CalendarView.spec.js +0 -45
  143. package/lib/DateTime/__tests__/DateTime.spec.js +0 -127
  144. package/lib/DateTime/__tests__/DateWidget.spec.js +0 -81
  145. package/lib/DateTime/common.js +0 -36
  146. package/lib/DateTime/constants.js +0 -77
  147. package/lib/DateTime/dateFormatUtils/dateFormat.js +0 -613
  148. package/lib/DateTime/dateFormatUtils/dayChange.js +0 -81
  149. package/lib/DateTime/dateFormatUtils/index.js +0 -274
  150. package/lib/DateTime/dateFormatUtils/monthChange.js +0 -94
  151. package/lib/DateTime/dateFormatUtils/timeChange.js +0 -240
  152. package/lib/DateTime/dateFormatUtils/yearChange.js +0 -119
  153. package/lib/DateTime/docs/DateTime__default.docs.js +0 -142
  154. package/lib/DateTime/docs/DateWidget__default.docs.js +0 -240
  155. package/lib/DateTime/docs/timezonedata.json +0 -1
  156. package/lib/DateTime/index.js +0 -15
  157. package/lib/DateTime/objectUtils.js +0 -76
  158. package/lib/DateTime/typeChecker.js +0 -26
  159. package/lib/DateTime/validator.js +0 -353
  160. package/lib/DropBox/DropBox.js +0 -384
  161. package/lib/DropBox/DropBox.module.css +0 -406
  162. package/lib/DropBox/DropBoxPositionMapping.json +0 -145
  163. package/lib/DropBox/__tests__/DropBox.spec.js +0 -87
  164. package/lib/DropBox/docs/DropBox__custom.docs.js +0 -122
  165. package/lib/DropBox/docs/DropBox__customOrder.docs.js +0 -141
  166. package/lib/DropBox/docs/DropBox__fixedPosition.docs.js +0 -140
  167. package/lib/DropBox/docs/DropBox__position.docs.js +0 -142
  168. package/lib/DropBox/docs/DropBox__size.docs.js +0 -116
  169. package/lib/DropDown/DropDown.js +0 -203
  170. package/lib/DropDown/DropDown.module.css +0 -5
  171. package/lib/DropDown/DropDownHeading.js +0 -102
  172. package/lib/DropDown/DropDownHeading.module.css +0 -53
  173. package/lib/DropDown/DropDownItem.js +0 -139
  174. package/lib/DropDown/DropDownItem.module.css +0 -94
  175. package/lib/DropDown/DropDownSearch.js +0 -130
  176. package/lib/DropDown/DropDownSearch.module.css +0 -14
  177. package/lib/DropDown/DropDownSeparator.js +0 -66
  178. package/lib/DropDown/DropDownSeparator.module.css +0 -7
  179. package/lib/DropDown/__tests__/DropDown.spec.js +0 -50
  180. package/lib/DropDown/__tests__/DropDownItem.spec.js +0 -51
  181. package/lib/DropDown/__tests__/DropDownSearch.spec.js +0 -17
  182. package/lib/DropDown/docs/DropDownHeading__custom.docs.js +0 -73
  183. package/lib/DropDown/docs/DropDownHeading__default.docs.js +0 -70
  184. package/lib/Label/Label.js +0 -107
  185. package/lib/Label/Label.module.css +0 -73
  186. package/lib/Label/__tests__/Label.spec.js +0 -137
  187. package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +0 -101
  188. package/lib/Label/docs/Label__clipped.docs.js +0 -81
  189. package/lib/Label/docs/Label__custom.docs.js +0 -85
  190. package/lib/Label/docs/Label__palette.docs.js +0 -96
  191. package/lib/Label/docs/Label__size.docs.js +0 -83
  192. package/lib/Label/docs/Label__type.docs.js +0 -91
  193. package/lib/Layout/Box.js +0 -138
  194. package/lib/Layout/Container.js +0 -152
  195. package/lib/Layout/Layout.module.css +0 -324
  196. package/lib/Layout/__tests__/Box.spec.js +0 -121
  197. package/lib/Layout/__tests__/Container.spec.js +0 -127
  198. package/lib/Layout/docs/Layout__Hidden.docs.js +0 -127
  199. package/lib/Layout/docs/Layout__default.docs.js +0 -98
  200. package/lib/Layout/docs/Layout__four_Column.docs.js +0 -135
  201. package/lib/Layout/docs/Layout__three_Column.docs.js +0 -126
  202. package/lib/Layout/docs/Layout__two_Column.docs.js +0 -119
  203. package/lib/Layout/index.js +0 -34
  204. package/lib/Layout/utils.js +0 -55
  205. package/lib/ListItem/ListItem.js +0 -234
  206. package/lib/ListItem/ListItem.module.css +0 -200
  207. package/lib/ListItem/ListItemWithAvatar.js +0 -236
  208. package/lib/ListItem/ListItemWithCheckBox.js +0 -208
  209. package/lib/ListItem/ListItemWithIcon.js +0 -221
  210. package/lib/ListItem/ListItemWithRadio.js +0 -209
  211. package/lib/ListItem/docs/ListItemWithAvatar__custom.docs.js +0 -206
  212. package/lib/ListItem/docs/ListItemWithAvatar__default.docs.js +0 -162
  213. package/lib/ListItem/docs/ListItemWithCheckBox__custom.docs.js +0 -142
  214. package/lib/ListItem/docs/ListItemWithCheckBox__default.docs.js +0 -115
  215. package/lib/ListItem/docs/ListItemWithIcon__custom.docs.js +0 -119
  216. package/lib/ListItem/docs/ListItemWithIcon__default.docs.js +0 -112
  217. package/lib/ListItem/docs/ListItemWithRadio__custom.docs.js +0 -142
  218. package/lib/ListItem/docs/ListItemWithRadio__default.docs.js +0 -115
  219. package/lib/ListItem/docs/ListItem__custom.docs.js +0 -164
  220. package/lib/ListItem/docs/ListItem__default.docs.js +0 -131
  221. package/lib/Modal/Modal.js +0 -218
  222. package/lib/Modal/__docs__/Modal__default.docs.js +0 -88
  223. package/lib/MultiSelect/AdvancedGroupMultiSelect.js +0 -1209
  224. package/lib/MultiSelect/AdvancedMultiSelect.js +0 -664
  225. package/lib/MultiSelect/AdvancedMultiSelect.module.css +0 -127
  226. package/lib/MultiSelect/EmptyState.js +0 -132
  227. package/lib/MultiSelect/MultiSelect.js +0 -1210
  228. package/lib/MultiSelect/MultiSelect.module.css +0 -198
  229. package/lib/MultiSelect/MultiSelectHeader.js +0 -86
  230. package/lib/MultiSelect/MultiSelectWithAvatar.js +0 -407
  231. package/lib/MultiSelect/SelectedOptions.js +0 -139
  232. package/lib/MultiSelect/SelectedOptions.module.css +0 -15
  233. package/lib/MultiSelect/Suggestions.js +0 -205
  234. package/lib/MultiSelect/__tests__/MultiSelect.spec.js +0 -170
  235. package/lib/MultiSelect/docs/AdvancedGroupMultiSelect__default.docs.js +0 -177
  236. package/lib/MultiSelect/docs/AdvancedMultiSelect__default.docs.js +0 -150
  237. package/lib/MultiSelect/docs/MultiSelectWithAvatar__default.docs.js +0 -191
  238. package/lib/MultiSelect/docs/MultiSelect__default.docs.js +0 -214
  239. package/lib/PopOver/PopOver.js +0 -366
  240. package/lib/PopOver/PopOver.module.css +0 -8
  241. package/lib/PopOver/__tests__/PopOver.spec.js +0 -20
  242. package/lib/PopOver/docs/PopOver__default.docs.js +0 -86
  243. package/lib/Popup/Popup.js +0 -716
  244. package/lib/Popup/PositionMapping.json +0 -74
  245. package/lib/Popup/__tests__/Popup.spec.js +0 -192
  246. package/lib/Popup/viewPort.js +0 -368
  247. package/lib/Provider/AvatarSize.js +0 -23
  248. package/lib/Provider/Config.js +0 -21
  249. package/lib/Provider/CssProvider.js +0 -27
  250. package/lib/Provider/IdProvider.js +0 -82
  251. package/lib/Provider/NumberGenerator/NumberGenerator.js +0 -174
  252. package/lib/Provider/ZindexProvider.js +0 -69
  253. package/lib/Provider/docs/Provider_Id__Class.docs.js +0 -77
  254. package/lib/Provider/docs/Provider_Id__Function.docs.js +0 -29
  255. package/lib/Provider/docs/Provider_Zindex__Class.docs.js +0 -80
  256. package/lib/Provider/docs/Provider_Zindex__Function.docs.js +0 -34
  257. package/lib/Provider.js +0 -232
  258. package/lib/Radio/Radio.js +0 -216
  259. package/lib/Radio/Radio.module.css +0 -110
  260. package/lib/Radio/__tests__/Radiospec.js +0 -29
  261. package/lib/Radio/docs/Radio__custom.docs.js +0 -299
  262. package/lib/Radio/docs/Radio__default.docs.js +0 -222
  263. package/lib/Responsive/CustomResponsive.js +0 -282
  264. package/lib/Responsive/RefWrapper.js +0 -55
  265. package/lib/Responsive/ResizeObserver.js +0 -168
  266. package/lib/Responsive/Responsive.js +0 -280
  267. package/lib/Responsive/docs/Responsive__Custom.docs.js +0 -272
  268. package/lib/Responsive/docs/Responsive__default.docs.js +0 -142
  269. package/lib/Responsive/docs/style.module.css +0 -56
  270. package/lib/Responsive/index.js +0 -30
  271. package/lib/Responsive/sizeObservers.js +0 -145
  272. package/lib/Responsive/utils/index.js +0 -69
  273. package/lib/Responsive/utils/shallowCompare.js +0 -38
  274. package/lib/Responsive/windowResizeObserver.js +0 -63
  275. package/lib/Ribbon/Ribbon.js +0 -115
  276. package/lib/Ribbon/Ribbon.module.css +0 -377
  277. package/lib/Ribbon/__tests__/Ribbon.spec.js +0 -193
  278. package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +0 -163
  279. package/lib/Ribbon/docs/Ribbon__custom.docs.js +0 -437
  280. package/lib/Ribbon/docs/Ribbon__default.docs.js +0 -392
  281. package/lib/RippleEffect/RippleEffect.js +0 -58
  282. package/lib/RippleEffect/RippleEffect.module.css +0 -67
  283. package/lib/RippleEffect/docs/RippleEffect__default.docs.js +0 -484
  284. package/lib/Select/GroupSelect.js +0 -936
  285. package/lib/Select/Select.js +0 -1028
  286. package/lib/Select/Select.module.css +0 -100
  287. package/lib/Select/SelectWithAvatar.js +0 -430
  288. package/lib/Select/SelectWithIcon.js +0 -550
  289. package/lib/Select/__tests__/Select.spec.js +0 -383
  290. package/lib/Select/docs/GroupSelect__default.docs.js +0 -199
  291. package/lib/Select/docs/SelectWithAvatar__default.docs.js +0 -152
  292. package/lib/Select/docs/SelectWithIcon__default.docs.js +0 -190
  293. package/lib/Select/docs/Select__default.docs.js +0 -261
  294. package/lib/Stencils/Stencils.js +0 -94
  295. package/lib/Stencils/Stencils.module.css +0 -106
  296. package/lib/Stencils/__tests__/Stencils.spec.js +0 -84
  297. package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +0 -49
  298. package/lib/Stencils/docs/Stencils__custom.docs.js +0 -96
  299. package/lib/Stencils/docs/Stencils__default.docs.js +0 -101
  300. package/lib/Switch/Switch.js +0 -183
  301. package/lib/Switch/Switch.module.css +0 -110
  302. package/lib/Switch/docs/Switch__custom.docs.js +0 -203
  303. package/lib/Switch/docs/Switch__default.docs.js +0 -156
  304. package/lib/Tab/Tab.js +0 -155
  305. package/lib/Tab/Tab.module.css +0 -101
  306. package/lib/Tab/TabContent.js +0 -45
  307. package/lib/Tab/TabContent.module.css +0 -4
  308. package/lib/Tab/TabContentWrapper.js +0 -47
  309. package/lib/Tab/TabWrapper.js +0 -109
  310. package/lib/Tab/Tabs.js +0 -671
  311. package/lib/Tab/Tabs.module.css +0 -140
  312. package/lib/Tab/__tests__/Tab.spec.js +0 -130
  313. package/lib/Tab/__tests__/TabContent.spec.js +0 -22
  314. package/lib/Tab/__tests__/TabContentWrapper.spec.js +0 -59
  315. package/lib/Tab/__tests__/TabWrapper.spec.js +0 -100
  316. package/lib/Tab/__tests__/Tabs.spec.js +0 -123
  317. package/lib/Tab/docs/Tab__default.docs.js +0 -299
  318. package/lib/Tab/docs/tabdocs.module.css +0 -29
  319. package/lib/Tab/index.js +0 -47
  320. package/lib/Tag/Tag.js +0 -246
  321. package/lib/Tag/Tag.module.css +0 -247
  322. package/lib/Tag/__tests__/Tag.spec.js +0 -35
  323. package/lib/Tag/docs/Tag__custom.docs.js +0 -423
  324. package/lib/Tag/docs/Tag__default.docs.js +0 -307
  325. package/lib/TextBox/TextBox.js +0 -285
  326. package/lib/TextBox/TextBox.module.css +0 -157
  327. package/lib/TextBox/__tests__/TextBox.spec.js +0 -205
  328. package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +0 -127
  329. package/lib/TextBox/docs/TextBox__custom.docs.js +0 -98
  330. package/lib/TextBox/docs/TextBox__default.docs.js +0 -95
  331. package/lib/TextBox/docs/TextBox__size.docs.js +0 -93
  332. package/lib/TextBox/docs/TextBox__variant.docs.js +0 -93
  333. package/lib/TextBoxIcon/TextBoxIcon.js +0 -276
  334. package/lib/TextBoxIcon/TextBoxIcon.module.css +0 -75
  335. package/lib/TextBoxIcon/__tests__/TextBoxIcon.spec.js +0 -228
  336. package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +0 -334
  337. package/lib/TextBoxIcon/docs/TextBoxIcon__custom.docs.js +0 -145
  338. package/lib/TextBoxIcon/docs/TextBoxIcon__default.docs.js +0 -117
  339. package/lib/Textarea/Textarea.js +0 -202
  340. package/lib/Textarea/Textarea.module.css +0 -139
  341. package/lib/Textarea/__tests__/Textarea.spec.js +0 -186
  342. package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +0 -97
  343. package/lib/Textarea/docs/Textarea__animated.docs.js +0 -95
  344. package/lib/Textarea/docs/Textarea__custom.docs.js +0 -137
  345. package/lib/Textarea/docs/Textarea__default.docs.js +0 -130
  346. package/lib/Textarea/docs/Textarea__disabled.docs.js +0 -83
  347. package/lib/Tooltip/Tooltip.js +0 -538
  348. package/lib/Tooltip/Tooltip.module.css +0 -104
  349. package/lib/Tooltip/__tests__/Tooltip.spec.js +0 -98
  350. package/lib/Tooltip/docs/Tooltip__default.docs.js +0 -391
  351. package/lib/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +0 -138
  352. package/lib/VelocityAnimation/VelocityAnimation/docs/VelocityAnimation__demo.docs.js +0 -150
  353. package/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +0 -182
  354. package/lib/VelocityAnimation/VelocityAnimationGroup/docs/VelocityAnimationGroup__demo.docs.js +0 -206
  355. package/lib/a11y/FocusScope/FocusScope.js +0 -443
  356. package/lib/a11y/FocusScope/docs/FocusScope__default.docs.js +0 -191
  357. package/lib/beta/FocusRing/FocusRing.js +0 -338
  358. package/lib/beta/FocusRing/FocusRing.module.css +0 -152
  359. package/lib/beta/FocusRing/docs/FocusRing__default.docs.js +0 -101
  360. package/lib/common/animation.module.css +0 -612
  361. package/lib/common/avatarsizes.module.css +0 -45
  362. package/lib/common/basic.module.css +0 -33
  363. package/lib/common/basicReset.module.css +0 -40
  364. package/lib/common/common.module.css +0 -502
  365. package/lib/common/customscroll.module.css +0 -89
  366. package/lib/common/docStyle.module.css +0 -705
  367. package/lib/common/reset.module.css +0 -12
  368. package/lib/common/transition.module.css +0 -146
  369. package/lib/css.js +0 -81
  370. package/lib/deprecated/PortalLayer/PortalLayer.js +0 -165
  371. package/lib/deprecated/PortalLayer/docs/PortalLayer__default.docs.js +0 -145
  372. package/lib/deprecated/Theme/darkTheme.module.css +0 -393
  373. package/lib/deprecated/Theme/defaultTheme.module.css +0 -393
  374. package/lib/deprecated/Theme/palette/darkCTAPalette.module.css +0 -116
  375. package/lib/deprecated/Theme/palette/darkPalette.module.css +0 -155
  376. package/lib/deprecated/Theme/palette/defaultCTAPalette.module.css +0 -116
  377. package/lib/deprecated/Theme/palette/defaultPalette.module.css +0 -155
  378. package/lib/deprecated/customscroll_Old.module.css +0 -46
  379. package/lib/index.js +0 -1403
  380. package/lib/semantic/Button/Button.js +0 -138
  381. package/lib/semantic/Button/docs/Button__default.docs.js +0 -66
  382. package/lib/semantic/Button/semanticButton.module.css +0 -9
  383. package/lib/utils/Common.js +0 -433
  384. package/lib/utils/__tests__/constructFullName.spec.js +0 -12
  385. package/lib/utils/__tests__/debounce.spec.js +0 -40
  386. package/lib/utils/__tests__/getInitial.spec.js +0 -26
  387. package/lib/utils/constant.js +0 -10
  388. package/lib/utils/constructFullName.js +0 -34
  389. package/lib/utils/datetime/common.js +0 -233
  390. package/lib/utils/debounce.js +0 -30
  391. package/lib/utils/dropDownUtils.js +0 -556
  392. package/lib/utils/dummyFunction.js +0 -10
  393. package/lib/utils/getHTMLFontSize.js +0 -11
  394. package/lib/utils/getInitial.js +0 -33
  395. package/lib/utils/scrollTo.js +0 -22
@@ -1,1210 +0,0 @@
1
- "use strict";
2
-
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.MultiSelectComponent = void 0;
9
-
10
- var _react = _interopRequireDefault(require("react"));
11
-
12
- var _propTypes = _interopRequireDefault(require("prop-types"));
13
-
14
- var _Popup = _interopRequireDefault(require("../Popup/Popup"));
15
-
16
- var _DropBox = _interopRequireDefault(require("../DropBox/DropBox"));
17
-
18
- var _TextBoxIcon = _interopRequireDefault(require("../TextBoxIcon/TextBoxIcon"));
19
-
20
- var _Layout = require("../Layout");
21
-
22
- var _Card = _interopRequireWildcard(require("../Card/Card"));
23
-
24
- var _SelectedOptions = _interopRequireDefault(require("./SelectedOptions"));
25
-
26
- var _Suggestions = _interopRequireDefault(require("./Suggestions"));
27
-
28
- var _EmptyState = _interopRequireDefault(require("./EmptyState"));
29
-
30
- var _MultiSelectHeader = _interopRequireDefault(require("./MultiSelectHeader"));
31
-
32
- var _CssProvider = _interopRequireDefault(require("../Provider/CssProvider"));
33
-
34
- var _IdProvider = require("../Provider/IdProvider");
35
-
36
- var _Icon = _interopRequireDefault(require("@zohodesk/icons/lib/Icon"));
37
-
38
- var _MultiSelectModule = _interopRequireDefault(require("./MultiSelect.module.css"));
39
-
40
- var _Common = require("../utils/Common.js");
41
-
42
- var _dropDownUtils = require("../utils/dropDownUtils");
43
-
44
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
45
-
46
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
47
-
48
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
49
-
50
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
51
-
52
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
53
-
54
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
55
-
56
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
57
-
58
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
59
-
60
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
61
-
62
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
63
-
64
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
65
-
66
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
67
-
68
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
69
-
70
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
71
-
72
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
73
-
74
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
75
-
76
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
77
-
78
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
79
-
80
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
81
-
82
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
83
-
84
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
85
-
86
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
87
-
88
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
89
-
90
- /* eslint-disable react/forbid-component-props */
91
-
92
- /* eslint-disable react/no-unused-prop-types */
93
- var dummyArray = [];
94
-
95
- var MultiSelectComponent = /*#__PURE__*/function (_React$Component) {
96
- _inherits(MultiSelectComponent, _React$Component);
97
-
98
- var _super = _createSuper(MultiSelectComponent);
99
-
100
- function MultiSelectComponent(props) {
101
- var _this;
102
-
103
- _classCallCheck(this, MultiSelectComponent);
104
-
105
- _this = _super.call(this, props);
106
- _this.getNextAriaId = (0, _IdProvider.getUniqueId)(_assertThisInitialized(_this));
107
- _this.getFilterSuggestions = (0, _dropDownUtils.makeGetMultiSelectFilterSuggestions)();
108
- _this.formatOptions = (0, _dropDownUtils.makeFormatOptions)();
109
- _this.getSelectedOptions = (0, _dropDownUtils.makeGetMultiSelectSelectedOptions)(); //Use in AdvancedMultiSelect component
110
-
111
- _this.objectConcat = (0, _dropDownUtils.makeObjectConcat)();
112
- _this.formatSelectedOptions = (0, _dropDownUtils.makeFormatOptions)();
113
- var _this$props = _this.props,
114
- selectedOptions = _this$props.selectedOptions,
115
- _this$props$searchDeb = _this$props.searchDebounceTime,
116
- searchDebounceTime = _this$props$searchDeb === void 0 ? 500 : _this$props$searchDeb;
117
-
118
- var _this$handleFormatOpt = _this.handleFormatOptions(_this.props),
119
- allOptions = _this$handleFormatOpt.allOptions,
120
- normalizedAllOptions = _this$handleFormatOpt.normalizedAllOptions,
121
- normalizedFormatOptions = _this$handleFormatOpt.normalizedFormatOptions;
122
-
123
- var _this$handleGetSelect = _this.handleGetSelectedOptions(selectedOptions, normalizedFormatOptions, _this.props),
124
- formatSelectedOptions = _this$handleGetSelect.formatSelectedOptions,
125
- normalizedSelectedOptions = _this$handleGetSelect.normalizedSelectedOptions,
126
- selectedOptionIds = _this$handleGetSelect.selectedOptionIds;
127
-
128
- _this.state = {
129
- options: allOptions,
130
- optionsNormalize: normalizedAllOptions,
131
- selectedOptions: formatSelectedOptions,
132
- selectedOptionIds: selectedOptionIds,
133
- searchStr: '',
134
- hoverOption: 0,
135
- isFetchingOptions: false,
136
- highLightedSelectOptions: [],
137
- lastHighLightedSelectOption: '',
138
- shiftKeyPressHighLighted: 0,
139
- isActive: false
140
- };
141
- _this.allSelectedOptionsDetails = normalizedSelectedOptions;
142
- _this.suggestionsOrder = [];
143
- _this._isMounted = false;
144
-
145
- _Common.bind.apply(_assertThisInitialized(_this), ['handleInputCick', 'handleFilterSuggestions', 'handleKeyDown', 'handleSelectAll', 'handleDeselectAll', 'handleSelectOption', 'handleRemoveOption', 'handleSearch', 'handleClickSelectedOption', 'handleChange', 'handlePopupClose', 'togglePopup', 'selectedOptionRef', 'searchInputRef', 'suggestionContainerRef', 'suggestionItemRef', 'selectedOptionContainerRef', 'handleActive', 'handleInactive', 'handleMouseEnter', 'handleFetchOptions', 'handleFormatOptions', 'handleGetSelectedOptions', 'handleComponentDidUpdate', 'handleInputFocus', 'handleExposedPublicMethods']);
146
-
147
- _this.handleSearchOptions = (0, _Common.debounce)(_this.handleSearchOptions.bind(_assertThisInitialized(_this)), searchDebounceTime);
148
- _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));
149
- _this.handleScrollFuncCall = (0, _Common.debounce)(_this.handleScrollFuncCall.bind(_assertThisInitialized(_this)), 500);
150
- return _this;
151
- }
152
-
153
- _createClass(MultiSelectComponent, [{
154
- key: "componentDidMount",
155
- value: function componentDidMount() {
156
- // let { suggestionContainer } = this;
157
- this._isMounted = true;
158
- this.handleExposedPublicMethods(); // suggestionContainer &&
159
- // suggestionContainer.addEventListener('scroll', this.handleScroll);
160
- }
161
- }, {
162
- key: "componentWillReceiveProps",
163
- value: function componentWillReceiveProps(nextProps) {
164
- var _this2 = this;
165
-
166
- var selectedOptions = nextProps.selectedOptions,
167
- options = nextProps.options,
168
- valueField = nextProps.valueField,
169
- textField = nextProps.textField,
170
- prefixText = nextProps.prefixText;
171
- var oldProps = this.props;
172
-
173
- if (selectedOptions !== oldProps.selectedOptions || options !== oldProps.options || valueField !== oldProps.valueField || textField !== oldProps.textField || prefixText !== oldProps.prefixText //For GroupMultiSelect component
174
- ) {
175
- var _this$handleFormatOpt2 = this.handleFormatOptions(nextProps),
176
- allOptions = _this$handleFormatOpt2.allOptions,
177
- normalizedAllOptions = _this$handleFormatOpt2.normalizedAllOptions,
178
- normalizedFormatOptions = _this$handleFormatOpt2.normalizedFormatOptions;
179
-
180
- var oldAllSelectedOptionsDetails = this.allSelectedOptionsDetails;
181
- var optionsDetails = Object.assign({}, oldAllSelectedOptionsDetails, normalizedFormatOptions);
182
-
183
- var _this$handleGetSelect2 = this.handleGetSelectedOptions(selectedOptions, optionsDetails, nextProps),
184
- formatSelectedOptions = _this$handleGetSelect2.formatSelectedOptions,
185
- normalizedSelectedOptions = _this$handleGetSelect2.normalizedSelectedOptions,
186
- selectedOptionIds = _this$handleGetSelect2.selectedOptionIds;
187
-
188
- this.allSelectedOptionsDetails = Object.assign(oldAllSelectedOptionsDetails, normalizedSelectedOptions);
189
- this.setState({
190
- options: allOptions,
191
- optionsNormalize: normalizedAllOptions,
192
- selectedOptions: formatSelectedOptions,
193
- selectedOptionIds: selectedOptionIds
194
- }, function () {
195
- var hoverOption = _this2.state.hoverOption;
196
-
197
- var suggestions = _this2.handleFilterSuggestions();
198
-
199
- var suggestionsLen = suggestions.length;
200
-
201
- var _ref = suggestions[hoverOption] || {},
202
- id = _ref.id;
203
-
204
- var newHoverOption = !(0, _Common.getIsEmptyValue)(id) ? hoverOption : suggestionsLen ? suggestionsLen - 1 : 0;
205
-
206
- _this2.setState({
207
- hoverOption: newHoverOption
208
- });
209
- });
210
- }
211
- }
212
- }, {
213
- key: "componentDidUpdate",
214
- value: function componentDidUpdate(prevProps, prevState) {
215
- var suggestionContainer = this.suggestionContainer,
216
- selectedOptionContainer = this.selectedOptionContainer,
217
- suggestionsOrder = this.suggestionsOrder;
218
- var _this$state = this.state,
219
- hoverOption = _this$state.hoverOption,
220
- highLightedSelectOptions = _this$state.highLightedSelectOptions,
221
- selectedOptions = _this$state.selectedOptions,
222
- searchStr = _this$state.searchStr;
223
- var _this$props2 = this.props,
224
- needLocalSearch = _this$props2.needLocalSearch,
225
- isPopupOpen = _this$props2.isPopupOpen,
226
- onDropBoxClose = _this$props2.onDropBoxClose,
227
- onDropBoxOpen = _this$props2.onDropBoxOpen,
228
- isSearchClearOnClose = _this$props2.isSearchClearOnClose; //handle dropbox open & close
229
-
230
- if (prevProps.isPopupOpen !== isPopupOpen) {
231
- isPopupOpen && onDropBoxOpen && this.handleFetchOptions(onDropBoxOpen, searchStr);
232
-
233
- if (!isPopupOpen) {
234
- this.setState({
235
- hoverOption: 0
236
- });
237
- isSearchClearOnClose && searchStr && this.handleSearch('');
238
- onDropBoxClose && onDropBoxClose();
239
- }
240
- } //scrollTo handling
241
-
242
-
243
- var hoverId = suggestionsOrder[hoverOption] || '';
244
- var selectedSuggestion = this["suggestion_".concat(hoverId)];
245
- var lastHighLightedSelectOption = highLightedSelectOptions.slice(-1).length ? highLightedSelectOptions.slice(-1)[0] : selectedOptions.length ? selectedOptions.slice(-1)[0].id : null;
246
- var selectedOption = this["selectedOption_".concat(lastHighLightedSelectOption)];
247
- isPopupOpen && (0, _Common.scrollTo)(suggestionContainer, selectedSuggestion);
248
- selectedOptions.length && (0, _Common.scrollTo)(selectedOptionContainer, selectedOption); //When suggestions length less than 5, getNextOptions function call
249
-
250
- var _this$props3 = this.props,
251
- isNextOptions = _this$props3.isNextOptions,
252
- getNextOptions = _this$props3.getNextOptions; // let { searchStr } = this.state;
253
-
254
- var suggestions = this.handleFilterSuggestions();
255
- var suggestionsLen = suggestions.length;
256
-
257
- if (isPopupOpen && suggestionsLen <= 5 && isNextOptions && getNextOptions && !needLocalSearch) {
258
- this.handleFetchOptions(getNextOptions, searchStr);
259
- } //Need To MultiselectNew Component
260
-
261
-
262
- this.handleComponentDidUpdate(prevProps, prevState);
263
- }
264
- }, {
265
- key: "componentWillUnmount",
266
- value: function componentWillUnmount() {
267
- // let { suggestionContainer } = this;
268
- this._isMounted = false; // suggestionContainer &&
269
- // suggestionContainer.removeEventListener('scroll', this.handleScroll);
270
- }
271
- }, {
272
- key: "handleComponentDidUpdate",
273
- value: function handleComponentDidUpdate() {
274
- return;
275
- }
276
- }, {
277
- key: "handleFormatOptions",
278
- value: function handleFormatOptions(props) {
279
- var options = props.options,
280
- valueField = props.valueField,
281
- textField = props.textField,
282
- prefixText = props.prefixText,
283
- disabledOptions = props.disabledOptions;
284
- return this.formatOptions({
285
- options: options,
286
- valueField: valueField,
287
- textField: textField,
288
- prefixText: prefixText,
289
- optionType: 'default',
290
- disabledOptions: disabledOptions
291
- });
292
- }
293
- }, {
294
- key: "handleGetSelectedOptions",
295
- value: function handleGetSelectedOptions(selectedOptions, normalizedFormatOptions) {
296
- return this.getSelectedOptions({
297
- selectedOptions: selectedOptions,
298
- normalizedFormatOptions: normalizedFormatOptions
299
- });
300
- }
301
- }, {
302
- key: "handleInputCick",
303
- value: function handleInputCick(e) {
304
- var removeClose = this.props.removeClose;
305
- var _this$state2 = this.state,
306
- highLightedSelectOptions = _this$state2.highLightedSelectOptions,
307
- _this$state2$searchSt = _this$state2.searchStr,
308
- searchStr = _this$state2$searchSt === void 0 ? '' : _this$state2$searchSt;
309
-
310
- if (highLightedSelectOptions.length) {
311
- this.setState({
312
- highLightedSelectOptions: [],
313
- shiftKeyPressHighLighted: 0,
314
- lastHighLightedSelectOption: ''
315
- });
316
- removeClose(e);
317
- } else if (searchStr.length) {
318
- removeClose(e);
319
- } else {
320
- this.togglePopup(e);
321
- }
322
- }
323
- }, {
324
- key: "handleFilterSuggestions",
325
- value: function handleFilterSuggestions() {
326
- var _this$state3 = this.state,
327
- _this$state3$options = _this$state3.options,
328
- options = _this$state3$options === void 0 ? dummyArray : _this$state3$options,
329
- _this$state3$searchSt = _this$state3.searchStr,
330
- searchStr = _this$state3$searchSt === void 0 ? '' : _this$state3$searchSt;
331
- var _this$props4 = this.props,
332
- selectedOptions = _this$props4.selectedOptions,
333
- needLocalSearch = _this$props4.needLocalSearch;
334
-
335
- var _this$getFilterSugges = this.getFilterSuggestions({
336
- options: options,
337
- selectedOptions: selectedOptions,
338
- searchStr: searchStr.replace(/\s+/g, '').toLowerCase(),
339
- needSearch: needLocalSearch
340
- }),
341
- suggestions = _this$getFilterSugges.suggestions,
342
- suggestionIds = _this$getFilterSugges.suggestionIds;
343
-
344
- this.suggestionsOrder = suggestionIds;
345
- return suggestions;
346
- }
347
- }, {
348
- key: "handleKeyDown",
349
- value: function handleKeyDown(e) {
350
- var keyCode = e.keyCode,
351
- ctrlKey = e.ctrlKey,
352
- metaKey = e.metaKey,
353
- shiftKey = e.shiftKey;
354
- var suggestions = [];
355
- var _this$state4 = this.state,
356
- hoverOption = _this$state4.hoverOption,
357
- searchStr = _this$state4.searchStr,
358
- highLightedSelectOptions = _this$state4.highLightedSelectOptions,
359
- lastHighLightedSelectOption = _this$state4.lastHighLightedSelectOption,
360
- shiftKeyPressHighLighted = _this$state4.shiftKeyPressHighLighted,
361
- selectedOptions = _this$state4.selectedOptionIds;
362
- var _this$props5 = this.props,
363
- isNextOptions = _this$props5.isNextOptions,
364
- getNextOptions = _this$props5.getNextOptions,
365
- isPopupOpen = _this$props5.isPopupOpen,
366
- isPopupOpenOnEnter = _this$props5.isPopupOpenOnEnter,
367
- onKeyDown = _this$props5.onKeyDown;
368
- var highLightedSelectOptionsLen = highLightedSelectOptions.length;
369
-
370
- if (isPopupOpen && (keyCode === 38 || keyCode === 40 || keyCode === 13 || keyCode === 27)) {
371
- suggestions = this.handleFilterSuggestions();
372
- }
373
-
374
- if (!isPopupOpen && !isPopupOpenOnEnter) {
375
- onKeyDown && onKeyDown(e);
376
- }
377
-
378
- if (!isPopupOpen && keyCode === 40) {
379
- //down arrow press popup open
380
- e.preventDefault(); //prevent body scroll
381
-
382
- this.togglePopup(e);
383
- }
384
-
385
- var suggestionsLen = suggestions.length;
386
-
387
- if (suggestionsLen && isPopupOpen && keyCode === 38) {
388
- //up arrow
389
-
390
- /*if (hoverOption === 0) { //disable first to last option higlight
391
- !isNextOptions && this.setState({ hoverOption: suggestionsLen - 1 });
392
- }*/
393
- if (hoverOption) {
394
- this.setState({
395
- hoverOption: hoverOption - 1
396
- });
397
- }
398
- } else if (suggestionsLen && isPopupOpen && keyCode === 40) {
399
- //down arrow
400
-
401
- /*else if (hoverOption === suggestionsLen - 1 || hoverOption === null) {
402
- //disable last to first option higlight
403
- !isNextOptions && this.setState({ hoverOption: 0 });
404
- }*/
405
- if (isNextOptions && suggestionsLen >= 5 && hoverOption === suggestionsLen - 3) {
406
- getNextOptions && this.handleFetchOptions(getNextOptions, searchStr);
407
- this.setState({
408
- hoverOption: hoverOption + 1
409
- });
410
- } else if (suggestionsLen - 1 > hoverOption) {
411
- this.setState({
412
- hoverOption: hoverOption + 1
413
- });
414
- }
415
- } else if (keyCode === 13) {
416
- //enter key
417
- var selectedOption = suggestions[hoverOption] || {};
418
- var id = selectedOption.id;
419
- isPopupOpen && !(0, _Common.getIsEmptyValue)(id) && this.handleSelectOption(id, e);
420
- !isPopupOpen && isPopupOpenOnEnter && this.togglePopup(e);
421
- } else if (selectedOptions.length && keyCode === 8 && !searchStr.length) {
422
- //backspace key
423
- if (highLightedSelectOptionsLen) {
424
- this.handleRemoveOption(highLightedSelectOptions);
425
- } else {
426
- this.handleRemoveOption(selectedOptions.slice(-1)); // this.setState({
427
- // highLightedSelectOptions: selectedOptions.slice(-1)
428
- // });
429
- }
430
- } else if (selectedOptions && keyCode === 65 && (ctrlKey || metaKey) && !searchStr.length) {
431
- //ctrl+a key
432
- this.setState({
433
- highLightedSelectOptions: selectedOptions,
434
- shiftKeyPressHighLighted: 0
435
- });
436
- } else if (keyCode === 39 && shiftKey && selectedOptions.length && !searchStr.length) {
437
- //shift+right arrow=39
438
- var lastHighLightedSelectOptionIndex = lastHighLightedSelectOption && selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
439
- var newShiftKeyPressHighLighted = shiftKeyPressHighLighted ? shiftKeyPressHighLighted : shiftKeyPressHighLighted + 1;
440
- var newHighLightedSelectOption = lastHighLightedSelectOptionIndex !== null ? selectedOptions[lastHighLightedSelectOptionIndex + newShiftKeyPressHighLighted] : selectedOptions[0];
441
-
442
- if (!(0, _Common.getIsEmptyValue)(newHighLightedSelectOption)) {
443
- var newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions[0];
444
- highLightedSelectOptions = !shiftKeyPressHighLighted ? [newLastHighLightedSelectOption] : highLightedSelectOptions;
445
- var isRemove = highLightedSelectOptions.indexOf(newHighLightedSelectOption) >= 0 && newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
446
- var newHighLightedSelectOptions = isRemove ? highLightedSelectOptions.filter(function (option) {
447
- return option !== newHighLightedSelectOption;
448
- }) : [].concat(_toConsumableArray(highLightedSelectOptions), [newHighLightedSelectOption]);
449
- this.setState({
450
- highLightedSelectOptions: newHighLightedSelectOptions,
451
- shiftKeyPressHighLighted: newShiftKeyPressHighLighted + 1,
452
- lastHighLightedSelectOption: newLastHighLightedSelectOption
453
- });
454
- }
455
- } else if (keyCode === 37 && shiftKey && selectedOptions.length && !searchStr.length) {
456
- // shift+left arrow=37
457
- var _lastHighLightedSelectOptionIndex = lastHighLightedSelectOption ? selectedOptions.indexOf(lastHighLightedSelectOption) : selectedOptions.length - 1;
458
-
459
- var _newShiftKeyPressHighLighted = shiftKeyPressHighLighted !== 1 ? shiftKeyPressHighLighted : shiftKeyPressHighLighted - 1;
460
-
461
- var _newHighLightedSelectOption = selectedOptions[_lastHighLightedSelectOptionIndex + _newShiftKeyPressHighLighted - 1];
462
-
463
- if (!(0, _Common.getIsEmptyValue)(_newHighLightedSelectOption)) {
464
- var _newLastHighLightedSelectOption = lastHighLightedSelectOption ? lastHighLightedSelectOption : selectedOptions.slice(-1)[0];
465
-
466
- highLightedSelectOptions = !shiftKeyPressHighLighted ? [_newLastHighLightedSelectOption] : highLightedSelectOptions;
467
-
468
- var _isRemove = highLightedSelectOptions.indexOf(_newHighLightedSelectOption) >= 0 && _newHighLightedSelectOption !== lastHighLightedSelectOption ? true : false;
469
-
470
- var _newHighLightedSelectOptions = _isRemove ? highLightedSelectOptions.filter(function (option) {
471
- return option !== _newHighLightedSelectOption;
472
- }) : [].concat(_toConsumableArray(highLightedSelectOptions), [_newHighLightedSelectOption]);
473
-
474
- this.setState({
475
- highLightedSelectOptions: _newHighLightedSelectOptions,
476
- shiftKeyPressHighLighted: _newShiftKeyPressHighLighted - 1,
477
- lastHighLightedSelectOption: _newLastHighLightedSelectOption
478
- });
479
- }
480
- } else if ((keyCode === 39 || keyCode === 37) && selectedOptions.length && !searchStr.length) {
481
- var isRightArrow = keyCode === 39 ? true : false; // let isLefttArrow = keyCode === 37 ? true : false;
482
-
483
- if (highLightedSelectOptions.length) {
484
- var _highLightedSelectOpt = highLightedSelectOptions.slice(-1),
485
- _highLightedSelectOpt2 = _slicedToArray(_highLightedSelectOpt, 1),
486
- _lastHighLightedSelectOption = _highLightedSelectOpt2[0];
487
-
488
- var _lastHighLightedSelectOptionIndex2 = selectedOptions.indexOf(_lastHighLightedSelectOption);
489
-
490
- var newLastHighLightedSelectOptionIndex = isRightArrow ? _lastHighLightedSelectOptionIndex2 === selectedOptions.length - 1 ? _lastHighLightedSelectOptionIndex2 : _lastHighLightedSelectOptionIndex2 + 1 : _lastHighLightedSelectOptionIndex2 - 1;
491
- var _newLastHighLightedSelectOption2 = selectedOptions[newLastHighLightedSelectOptionIndex];
492
- var isEmptyHighlighted = isRightArrow && highLightedSelectOptions.length === 1 && selectedOptions.slice(-1)[0] === _lastHighLightedSelectOption ? true : false;
493
-
494
- if (!(0, _Common.getIsEmptyValue)(_newLastHighLightedSelectOption2)) {
495
- this.setState({
496
- lastHighLightedSelectOption: isEmptyHighlighted ? '' : _newLastHighLightedSelectOption2,
497
- highLightedSelectOptions: isEmptyHighlighted ? [] : [_newLastHighLightedSelectOption2],
498
- shiftKeyPressHighLighted: 0
499
- });
500
- }
501
- } else {
502
- var _ref2 = isRightArrow ? selectedOptions : selectedOptions.slice(-1),
503
- _ref3 = _slicedToArray(_ref2, 1),
504
- _newLastHighLightedSelectOption3 = _ref3[0];
505
-
506
- this.setState({
507
- lastHighLightedSelectOption: _newLastHighLightedSelectOption3,
508
- highLightedSelectOptions: [_newLastHighLightedSelectOption3],
509
- shiftKeyPressHighLighted: 0
510
- });
511
- }
512
- } else if (keyCode === 27) {// this.handlePopupClose(e);
513
- }
514
- }
515
- }, {
516
- key: "handleSelectAll",
517
- value: function handleSelectAll(e) {
518
- e && e.preventDefault();
519
- var suggestions = this.handleFilterSuggestions();
520
- var selectedOptions = this.props.selectedOptions;
521
- var newSelectedOptions = [];
522
- suggestions.forEach(function (option) {
523
- var id = option.id;
524
-
525
- if (selectedOptions.indexOf(id) === -1) {
526
- newSelectedOptions.push(id);
527
- }
528
- });
529
- this.handleChange([].concat(_toConsumableArray(selectedOptions), newSelectedOptions)); // this.handlePopupClose(e);
530
- }
531
- }, {
532
- key: "handleDeselectAll",
533
- value: function handleDeselectAll(e) {
534
- e && e.preventDefault();
535
- var removeClose = this.props.removeClose;
536
- var highLightedSelectOptions = this.state.highLightedSelectOptions;
537
-
538
- if (highLightedSelectOptions.length) {
539
- this.setState({
540
- highLightedSelectOptions: [],
541
- lastHighLightedSelectOption: ''
542
- });
543
- }
544
-
545
- removeClose(e);
546
- this.handleChange([]);
547
- }
548
- }, {
549
- key: "handleSelectOption",
550
- value: function handleSelectOption(option, value, index, e) {
551
- var _this$props6 = this.props,
552
- selectedOptions = _this$props6.selectedOptions,
553
- isSearchClearOnSelect = _this$props6.isSearchClearOnSelect;
554
- var searchStr = this.state.searchStr;
555
-
556
- if (searchStr.trim() != '' && isSearchClearOnSelect) {
557
- this.handleSearch('');
558
- }
559
-
560
- this.handleChange([].concat(_toConsumableArray(selectedOptions), [option]), e); // e && e.stopPropagation && this.handlePopupClose(e);
561
- }
562
- }, {
563
- key: "handleRemoveOption",
564
- value: function handleRemoveOption(options) {
565
- var newOptions = !(0, _Common.getIsEmptyValue)(options) && !Array.isArray(options) ? [options] : options;
566
- var _this$props7 = this.props,
567
- selectedOptions = _this$props7.selectedOptions,
568
- isReadOnly = _this$props7.isReadOnly;
569
- var _this$state5 = this.state,
570
- highLightedSelectOptions = _this$state5.highLightedSelectOptions,
571
- lastHighLightedSelectOption = _this$state5.lastHighLightedSelectOption,
572
- shiftKeyPressHighLighted = _this$state5.shiftKeyPressHighLighted;
573
-
574
- if (newOptions.length && !isReadOnly) {
575
- var newSelectedOptions = selectedOptions.filter(function (option) {
576
- return newOptions.indexOf(option) === -1;
577
- });
578
- var newHighLightedSelectOptions = highLightedSelectOptions.filter(function (option) {
579
- return newSelectedOptions.indexOf(option) >= 0;
580
- });
581
- var isHighlightedRemoved = false;
582
- var newOptionsLen = newOptions.length;
583
-
584
- for (var i = 0; i < newOptionsLen; i++) {
585
- var removedOption = newOptions[i];
586
-
587
- if (highLightedSelectOptions.indexOf(removedOption) >= 0) {
588
- isHighlightedRemoved = true;
589
- break;
590
- }
591
- }
592
-
593
- this.setState({
594
- lastHighLightedSelectOption: newSelectedOptions.indexOf(lastHighLightedSelectOption) >= 0 && !isHighlightedRemoved ? lastHighLightedSelectOption : '',
595
- highLightedSelectOptions: isHighlightedRemoved ? [] : newHighLightedSelectOptions,
596
- shiftKeyPressHighLighted: isHighlightedRemoved ? 0 : shiftKeyPressHighLighted
597
- });
598
- this.handleChange(newSelectedOptions);
599
- }
600
-
601
- this.searchInput && this.searchInput.focus();
602
- }
603
- }, {
604
- key: "handleMouseEnter",
605
- value: function handleMouseEnter(id, val, hoverOptionIndex, e) {
606
- e && e.preventDefault();
607
- var hoverOption = this.state.hoverOption;
608
- var suggestionsOrder = this.suggestionsOrder;
609
- var newHoverIndex = suggestionsOrder.indexOf(id);
610
-
611
- if (newHoverIndex !== hoverOption) {
612
- this.setState({
613
- hoverOption: newHoverIndex
614
- });
615
- }
616
- }
617
- }, {
618
- key: "handleFetchOptions",
619
- value: function handleFetchOptions() {
620
- var _this3 = this;
621
-
622
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
623
- args[_key] = arguments[_key];
624
- }
625
-
626
- var APICall = args[0],
627
- searchStr = args[1];
628
- var isFetchingOptions = this.state.isFetchingOptions;
629
- var _isMounted = this._isMounted;
630
-
631
- if (!isFetchingOptions && APICall) {
632
- this.setState({
633
- isFetchingOptions: true
634
- });
635
-
636
- try {
637
- return APICall(searchStr).then(function () {
638
- _isMounted && _this3.setState({
639
- isFetchingOptions: false
640
- });
641
- }, function () {
642
- _isMounted && _this3.setState({
643
- isFetchingOptions: false
644
- });
645
- });
646
- } catch (e) {
647
- _isMounted && this.setState({
648
- isFetchingOptions: false
649
- });
650
- }
651
- }
652
- }
653
- }, {
654
- key: "handleSearchOptions",
655
- value: function handleSearchOptions() {
656
- var onSearch = this.props.onSearch;
657
- var searchStr = this.state.searchStr;
658
- searchStr && this.handleFetchOptions(onSearch, searchStr);
659
- }
660
- }, {
661
- key: "handleSearch",
662
- value: function handleSearch(value, e) {
663
- var _this4 = this;
664
-
665
- var _this$props8 = this.props,
666
- onSearch = _this$props8.onSearch,
667
- isPopupOpen = _this$props8.isPopupOpen;
668
- !isPopupOpen && e && this.togglePopup(e);
669
- var _this$state$searchStr = this.state.searchStr,
670
- searchStr = _this$state$searchStr === void 0 ? '' : _this$state$searchStr;
671
- var searchStrRegex = searchStr.toLowerCase(); //.replace(/\s+/g, '');
672
-
673
- var valueStrRegex = value.toLowerCase(); //.replace(/\s+/g, '');
674
-
675
- var isSearch = searchStrRegex !== valueStrRegex ? true : false;
676
- this.setState({
677
- searchStr: value
678
- }, function () {
679
- if (!value) {
680
- onSearch && onSearch('');
681
- } else if (isSearch && onSearch) {
682
- _this4.handleSearchOptions();
683
- }
684
- });
685
- }
686
- }, {
687
- key: "handleClickSelectedOption",
688
- value: function handleClickSelectedOption() {
689
- var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
690
- var e = arguments.length > 1 ? arguments[1] : undefined;
691
- var selectedOptions = this.props.selectedOptions;
692
- var _this$state6 = this.state,
693
- highLightedSelectOptions = _this$state6.highLightedSelectOptions,
694
- lastHighLightedSelectOption = _this$state6.lastHighLightedSelectOption;
695
- var metaKey = e.metaKey,
696
- ctrlKey = e.ctrlKey,
697
- shiftKey = e.shiftKey;
698
-
699
- if (e && shiftKey) {
700
- //shift+click
701
- var from = selectedOptions.indexOf(lastHighLightedSelectOption) >= 0 ? selectedOptions.indexOf(lastHighLightedSelectOption) : 0;
702
- var to = id && selectedOptions.indexOf(id) >= 0 ? selectedOptions.indexOf(id) : null;
703
-
704
- if (to >= 0 && to < from) {
705
- var _ref4 = [from, from = to];
706
- to = _ref4[0];
707
- }
708
-
709
- to += 1;
710
- var newSelectedHighlights = to ? selectedOptions.slice(from, to) : [];
711
- to && this.setState({
712
- highLightedSelectOptions: newSelectedHighlights,
713
- lastHighLightedSelectOption: id
714
- });
715
- } else if (e && (ctrlKey || metaKey)) {
716
- //ctrl+click
717
- var isRemove = highLightedSelectOptions.indexOf(id) >= 0;
718
- var _newSelectedHighlights = [];
719
-
720
- if (isRemove) {
721
- lastHighLightedSelectOption = id === lastHighLightedSelectOption ? '' : lastHighLightedSelectOption;
722
- _newSelectedHighlights = highLightedSelectOptions.filter(function (option) {
723
- return option !== id;
724
- });
725
- } else {
726
- lastHighLightedSelectOption = id;
727
- _newSelectedHighlights = [].concat(_toConsumableArray(highLightedSelectOptions), [id]);
728
- }
729
-
730
- this.setState({
731
- highLightedSelectOptions: _newSelectedHighlights,
732
- lastHighLightedSelectOption: lastHighLightedSelectOption
733
- });
734
- } else {
735
- this.setState({
736
- highLightedSelectOptions: [id],
737
- lastHighLightedSelectOption: id
738
- });
739
- }
740
-
741
- this.setState({
742
- shiftKeyPressHighLighted: 0
743
- });
744
- this.searchInput && this.searchInput.focus();
745
- }
746
- }, {
747
- key: "handleScroll",
748
- value: function handleScroll(e) {
749
- var isNextOptions = this.props.isNextOptions;
750
-
751
- if (e.target.scrollTop + e.target.offsetHeight > e.target.scrollHeight - 1 && isNextOptions) {
752
- this.handleScrollFuncCall();
753
- }
754
- }
755
- }, {
756
- key: "handleScrollFuncCall",
757
- value: function handleScrollFuncCall() {
758
- var getNextOptions = this.props.getNextOptions;
759
- var searchStr = this.state.searchStr;
760
- getNextOptions && getNextOptions(searchStr);
761
- }
762
- }, {
763
- key: "handleChange",
764
- value: function handleChange() {
765
- var selectedOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
766
- var e = arguments.length > 1 ? arguments[1] : undefined;
767
- var optionsNormalize = this.state.optionsNormalize;
768
- var _this$props9 = this.props,
769
- onChange = _this$props9.onChange,
770
- needToCloseOnSelect = _this$props9.needToCloseOnSelect,
771
- togglePopup = _this$props9.togglePopup,
772
- propSelectedOptions = _this$props9.selectedOptions,
773
- _this$props9$disabled = _this$props9.disabledOptions,
774
- disabledOptions = _this$props9$disabled === void 0 ? dummyArray : _this$props9$disabled;
775
-
776
- var _filterSelectedOption = (0, _dropDownUtils.filterSelectedOptions)({
777
- selectedOptions: selectedOptions,
778
- propSelectedOptions: propSelectedOptions,
779
- disabledOptions: disabledOptions
780
- }),
781
- newSelectedOptions = _filterSelectedOption.newSelectedOptions;
782
-
783
- var selectedOptionsLen = newSelectedOptions.length;
784
- var allSelectedOptionsDetails = [];
785
-
786
- for (var i = 0; i < selectedOptionsLen; i++) {
787
- var id = newSelectedOptions[i];
788
- allSelectedOptionsDetails.push(optionsNormalize[id]);
789
- }
790
-
791
- onChange && onChange(newSelectedOptions, allSelectedOptionsDetails); // this.setState({ searchStr: '' });
792
-
793
- this.searchInput && this.searchInput.focus();
794
-
795
- if (needToCloseOnSelect) {
796
- togglePopup(e);
797
- }
798
- }
799
- }, {
800
- key: "togglePopup",
801
- value: function togglePopup(e) {
802
- var _this$props10 = this.props,
803
- togglePopup = _this$props10.togglePopup,
804
- defaultDropBoxPosition = _this$props10.defaultDropBoxPosition,
805
- isReadOnly = _this$props10.isReadOnly;
806
- !isReadOnly && togglePopup(e, defaultDropBoxPosition ? "".concat(defaultDropBoxPosition, "Center") : null);
807
- }
808
- }, {
809
- key: "handlePopupClose",
810
- value: function handlePopupClose(e) {
811
- var closePopupOnly = this.props.closePopupOnly;
812
- closePopupOnly(e);
813
- }
814
- }, {
815
- key: "searchInputRef",
816
- value: function searchInputRef(el) {
817
- var getRef = this.props.getRef;
818
- this.searchInput = el;
819
- getRef && getRef(el);
820
- }
821
- }, {
822
- key: "selectedOptionContainerRef",
823
- value: function selectedOptionContainerRef(el) {
824
- var getTargetRef = this.props.getTargetRef;
825
- this.selectedOptionContainer = el;
826
- getTargetRef(el);
827
- }
828
- }, {
829
- key: "selectedOptionRef",
830
- value: function selectedOptionRef(el, id) {
831
- this["selectedOption_".concat(id)] = el;
832
- }
833
- }, {
834
- key: "suggestionContainerRef",
835
- value: function suggestionContainerRef(el) {
836
- this.suggestionContainer = el;
837
- }
838
- }, {
839
- key: "suggestionItemRef",
840
- value: function suggestionItemRef(el, index, id) {
841
- this["suggestion_".concat(id)] = el;
842
- }
843
- }, {
844
- key: "handleActive",
845
- value: function handleActive(e) {
846
- var _this$state7 = this.state,
847
- searchStr = _this$state7.searchStr,
848
- isActive = _this$state7.isActive;
849
-
850
- if (!isActive) {
851
- this.setState({
852
- isActive: true
853
- });
854
- }
855
-
856
- var _ref5 = e || {},
857
- target = _ref5.target;
858
-
859
- target && target.setSelectionRange(target, 0);
860
- var onFocus = this.props.onFocus;
861
- onFocus && onFocus(searchStr);
862
- }
863
- }, {
864
- key: "handleInactive",
865
- value: function handleInactive() {
866
- var isActive = this.state.isActive;
867
-
868
- if (isActive) {
869
- this.setState({
870
- isActive: false
871
- });
872
- }
873
- }
874
- }, {
875
- key: "handleInputFocus",
876
- value: function handleInputFocus() {
877
- var _this$props11 = this.props,
878
- isDisabled = _this$props11.isDisabled,
879
- isReadOnly = _this$props11.isReadOnly;
880
- this.searchInput && !isDisabled && !isReadOnly && this.searchInput.focus();
881
- }
882
- }, {
883
- key: "handleExposedPublicMethods",
884
- value: function handleExposedPublicMethods() {
885
- var _this$props12 = this.props,
886
- getPublicMethods = _this$props12.getPublicMethods,
887
- openPopupOnly = _this$props12.openPopupOnly;
888
- getPublicMethods && getPublicMethods({
889
- openPopupOnly: openPopupOnly
890
- });
891
- }
892
- }, {
893
- key: "render",
894
- value: function render() {
895
- var _this$props13 = this.props,
896
- isReadOnly = _this$props13.isReadOnly,
897
- needSelectAll = _this$props13.needSelectAll,
898
- searchEmptyMessage = _this$props13.searchEmptyMessage,
899
- emptyMessage = _this$props13.emptyMessage,
900
- noMoreOptionsMessage = _this$props13.noMoreOptionsMessage,
901
- dropBoxSize = _this$props13.dropBoxSize,
902
- placeHolder = _this$props13.placeHolder,
903
- isPopupOpen = _this$props13.isPopupOpen,
904
- isPopupReady = _this$props13.isPopupReady,
905
- position = _this$props13.position,
906
- defaultDropBoxPosition = _this$props13.defaultDropBoxPosition,
907
- selectAllText = _this$props13.selectAllText,
908
- getContainerRef = _this$props13.getContainerRef,
909
- removeClose = _this$props13.removeClose,
910
- isAnimate = _this$props13.isAnimate,
911
- animationStyle = _this$props13.animationStyle,
912
- textBoxSize = _this$props13.textBoxSize,
913
- variant = _this$props13.variant,
914
- size = _this$props13.size,
915
- isDisabled = _this$props13.isDisabled,
916
- title = _this$props13.title,
917
- needResponsive = _this$props13.needResponsive,
918
- dataId = _this$props13.dataId,
919
- isSearching = _this$props13.isSearching,
920
- borderColor = _this$props13.borderColor,
921
- textBoxClass = _this$props13.textBoxClass,
922
- needBorder = _this$props13.needBorder,
923
- disableAction = _this$props13.disableAction,
924
- isBoxPaddingNeed = _this$props13.isBoxPaddingNeed,
925
- palette = _this$props13.palette,
926
- needAutoFocus = _this$props13.needAutoFocus,
927
- htmlId = _this$props13.htmlId,
928
- i18nKeys = _this$props13.i18nKeys,
929
- a11y = _this$props13.a11y,
930
- children = _this$props13.children,
931
- customChildrenClass = _this$props13.customChildrenClass,
932
- getFooter = _this$props13.getFooter;
933
- var _i18nKeys = i18nKeys,
934
- _i18nKeys$clearText = _i18nKeys.clearText,
935
- clearText = _i18nKeys$clearText === void 0 ? 'Clear all' : _i18nKeys$clearText,
936
- _i18nKeys$searchText = _i18nKeys.searchText,
937
- searchText = _i18nKeys$searchText === void 0 ? 'Searching...' : _i18nKeys$searchText;
938
- var _a11y$clearLabel = a11y.clearLabel,
939
- clearLabel = _a11y$clearLabel === void 0 ? 'Clear all' : _a11y$clearLabel;
940
- i18nKeys = Object.assign({}, i18nKeys, {
941
- emptyText: i18nKeys.emptyText || emptyMessage,
942
- searchEmptyText: i18nKeys.searchEmptyText || searchEmptyMessage,
943
- noMoreText: i18nKeys.noMoreText || noMoreOptionsMessage
944
- });
945
- var _this$state8 = this.state,
946
- selectedOptions = _this$state8.selectedOptions,
947
- searchStr = _this$state8.searchStr,
948
- hoverOption = _this$state8.hoverOption,
949
- highLightedSelectOptions = _this$state8.highLightedSelectOptions,
950
- options = _this$state8.options,
951
- isFetchingOptions = _this$state8.isFetchingOptions,
952
- isActive = _this$state8.isActive;
953
- var suggestions = this.handleFilterSuggestions();
954
- var setAriaId = this.getNextAriaId();
955
- var ariaErrorId = this.getNextAriaId();
956
- var isShowClearIcon = !isReadOnly && !isDisabled && !disableAction && selectedOptions.length > 1;
957
- return /*#__PURE__*/_react["default"].createElement("div", {
958
- className: "".concat(_MultiSelectModule["default"].wrapper, " ").concat(isDisabled ? _MultiSelectModule["default"].disabled : '', " ").concat(isReadOnly ? _MultiSelectModule["default"].readOnly : '', " ").concat(disableAction ? (0, _CssProvider["default"])('isBlock') : '', " ").concat(borderColor === 'transparent' ? _MultiSelectModule["default"].transparentContainer : ''),
959
- "data-id": "".concat(isDisabled ? "".concat(dataId, "_disabled") : isReadOnly ? "".concat(dataId, "_readOnly") : dataId),
960
- "data-title": isDisabled ? title : '',
961
- onClick: this.handleInputFocus
962
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
963
- align: "vertical",
964
- alignBox: "row",
965
- className: "".concat(_MultiSelectModule["default"].container, " ").concat(_MultiSelectModule["default"][size], " ").concat(needBorder ? !disableAction ? _MultiSelectModule["default"]["borderColor_".concat(borderColor)] : _MultiSelectModule["default"].borderColor_transparent : '', " ").concat(isActive && needBorder ? _MultiSelectModule["default"].active : '', " ").concat(textBoxClass, " ").concat(needBorder ? _MultiSelectModule["default"].hasBorder : ''),
966
- eleRef: this.selectedOptionContainerRef,
967
- wrap: "wrap"
968
- }, /*#__PURE__*/_react["default"].createElement(_SelectedOptions["default"], {
969
- selectedOptions: selectedOptions,
970
- highLightedSelectOptions: highLightedSelectOptions,
971
- isReadOnly: isReadOnly,
972
- getRef: this.selectedOptionRef,
973
- onRemove: this.handleRemoveOption,
974
- onSelect: this.handleClickSelectedOption,
975
- size: size,
976
- palette: palette
977
- }), /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
978
- flexible: true,
979
- className: _MultiSelectModule["default"].wrapper,
980
- adjust: true,
981
- shrink: true
982
- }, /*#__PURE__*/_react["default"].createElement("span", {
983
- className: " ".concat(_MultiSelectModule["default"].custmSpan, " ").concat(textBoxSize === 'xmedium' ? _MultiSelectModule["default"].custmSpanXmedium : _MultiSelectModule["default"].custmSpanMedium, " ").concat(isShowClearIcon ? _MultiSelectModule["default"].clearIconSpace : '', "\n ").concat(customChildrenClass ? customChildrenClass : '')
984
- }, searchStr), /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
985
- isDisabled: isDisabled,
986
- inputRef: this.searchInputRef,
987
- needBorder: false,
988
- onBlur: this.handleInactive,
989
- onChange: this.handleSearch,
990
- onClick: this.handleInputCick,
991
- onFocus: this.handleActive,
992
- onKeyDown: this.handleKeyDown,
993
- autofocus: needAutoFocus,
994
- placeHolder: selectedOptions.length >= 1 ? '' : placeHolder,
995
- size: textBoxSize,
996
- value: searchStr,
997
- variant: variant,
998
- dataId: "".concat(dataId, "_textBox"),
999
- isReadOnly: isReadOnly,
1000
- tabindex: isDisabled && '-1',
1001
- customClass: {
1002
- customTBoxWrap: _MultiSelectModule["default"].custmInputWrapper
1003
- },
1004
- htmlId: htmlId,
1005
- a11y: {
1006
- role: 'combobox',
1007
- ariaOwns: setAriaId,
1008
- ariaControls: setAriaId,
1009
- ariaExpanded: !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? true : false,
1010
- ariaHaspopup: true,
1011
- ariaRequired: true,
1012
- ariaDescribedby: ariaErrorId
1013
- },
1014
- autoComplete: false
1015
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1016
- alignBox: "row",
1017
- align: "vertical"
1018
- }, isShowClearIcon ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1019
- className: "".concat(_MultiSelectModule["default"]["delete"], " ").concat(_MultiSelectModule["default"]["".concat(palette, "Delete")]),
1020
- dataId: "".concat(dataId, "_clearIcon"),
1021
- "data-title": clearText,
1022
- onClick: this.handleDeselectAll,
1023
- tagName: "button",
1024
- "aria-label": clearLabel
1025
- }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
1026
- name: "ZD-delete",
1027
- size: "15"
1028
- })) : null, children ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1029
- dataId: "".concat(dataId, "_children")
1030
- }, children) : null)))), !isReadOnly && !isDisabled && !disableAction && isPopupOpen ? /*#__PURE__*/_react["default"].createElement(_DropBox["default"], {
1031
- animationStyle: animationStyle,
1032
- boxPosition: position || "".concat(defaultDropBoxPosition, "Center"),
1033
- getRef: getContainerRef,
1034
- isActive: isPopupReady,
1035
- isAnimate: isAnimate,
1036
- isArrow: false,
1037
- onClick: removeClose,
1038
- needResponsive: needResponsive,
1039
- isPadding: false,
1040
- isBoxPaddingNeed: isBoxPaddingNeed,
1041
- palette: palette,
1042
- htmlId: setAriaId,
1043
- a11y: {
1044
- role: 'listbox',
1045
- ariaMultiselectable: true
1046
- }
1047
- }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1048
- customClass: "".concat(_MultiSelectModule["default"].box, " ").concat(_MultiSelectModule["default"]["".concat(palette, "Box")]),
1049
- onScroll: this.handleScroll
1050
- }, /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement(_MultiSelectHeader["default"], {
1051
- needSelectAll: needSelectAll,
1052
- onSelect: this.handleSelectAll,
1053
- selectAllText: selectAllText,
1054
- suggestions: suggestions,
1055
- dataId: dataId
1056
- })), /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1057
- customClass: dropBoxSize ? _MultiSelectModule["default"][dropBoxSize] : '',
1058
- eleRef: this.suggestionContainerRef
1059
- }, isSearching ? /*#__PURE__*/_react["default"].createElement("div", {
1060
- className: _MultiSelectModule["default"][palette]
1061
- }, searchText) : suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], {
1062
- suggestions: suggestions,
1063
- getRef: this.suggestionItemRef,
1064
- hoverOption: hoverOption,
1065
- onClick: this.handleSelectOption,
1066
- onMouseEnter: this.handleMouseEnter,
1067
- needBorder: false,
1068
- dataId: "".concat(dataId, "_Options"),
1069
- palette: palette,
1070
- a11y: {
1071
- role: 'option'
1072
- }
1073
- }) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
1074
- isLoading: isFetchingOptions,
1075
- options: options,
1076
- searchString: searchStr,
1077
- suggestions: suggestions,
1078
- dataId: dataId,
1079
- palette: palette,
1080
- i18nKeys: i18nKeys,
1081
- htmlId: ariaErrorId
1082
- })), getFooter ? /*#__PURE__*/_react["default"].createElement(_Card.CardFooter, null, getFooter()) : null)) : null);
1083
- }
1084
- }]);
1085
-
1086
- return MultiSelectComponent;
1087
- }(_react["default"].Component);
1088
-
1089
- exports.MultiSelectComponent = MultiSelectComponent;
1090
- MultiSelectComponent.propTypes = {
1091
- animationStyle: _propTypes["default"].string,
1092
- borderColor: _propTypes["default"].oneOf(['transparent', 'default', 'dark']),
1093
- closePopupOnly: _propTypes["default"].func,
1094
- dataId: _propTypes["default"].string,
1095
- defaultDropBoxPosition: _propTypes["default"].oneOf(['bottom', 'top', 'left', 'right']),
1096
- disableAction: _propTypes["default"].bool,
1097
- dropBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'large']),
1098
- emptyMessage: _propTypes["default"].string.isRequired,
1099
- getContainerRef: _propTypes["default"].func,
1100
- getNextOptions: _propTypes["default"].func,
1101
- getPublicMethods: _propTypes["default"].func,
1102
- getRef: _propTypes["default"].func,
1103
- getTargetRef: _propTypes["default"].func,
1104
- i18nKeys: _propTypes["default"].shape({
1105
- clearText: _propTypes["default"].string,
1106
- loadingText: _propTypes["default"].string,
1107
- emptyText: _propTypes["default"].string,
1108
- noMoreText: _propTypes["default"].string,
1109
- searchEmptyText: _propTypes["default"].string
1110
- }),
1111
- a11y: _propTypes["default"].shape({
1112
- clearLabel: _propTypes["default"].string
1113
- }),
1114
- isAnimate: _propTypes["default"].bool,
1115
- isBoxPaddingNeed: _propTypes["default"].bool,
1116
- isDisabled: _propTypes["default"].bool,
1117
- isNextOptions: _propTypes["default"].bool,
1118
- isPopupOpen: _propTypes["default"].bool,
1119
- isPopupOpenOnEnter: _propTypes["default"].bool,
1120
- isPopupReady: _propTypes["default"].bool,
1121
- isReadOnly: _propTypes["default"].bool,
1122
- isSearchClearOnClose: _propTypes["default"].bool,
1123
- isSearching: _propTypes["default"].bool,
1124
- needAutoFocus: _propTypes["default"].bool,
1125
- needBorder: _propTypes["default"].bool,
1126
- needLocalSearch: _propTypes["default"].bool,
1127
- needResponsive: _propTypes["default"].bool,
1128
- needSelectAll: _propTypes["default"].bool,
1129
- needToCloseOnSelect: _propTypes["default"].bool,
1130
- //For Group multiSelect
1131
- noMoreOptionsMessage: _propTypes["default"].string,
1132
- onChange: _propTypes["default"].func.isRequired,
1133
- onDropBoxClose: _propTypes["default"].func,
1134
- onDropBoxOpen: _propTypes["default"].func,
1135
- onFocus: _propTypes["default"].func,
1136
- onKeyDown: _propTypes["default"].func,
1137
- onSearch: _propTypes["default"].func,
1138
- openPopupOnly: _propTypes["default"].func,
1139
- options: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])), _propTypes["default"].arrayOf(_propTypes["default"].shape({
1140
- id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
1141
- text: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])
1142
- }))]).isRequired,
1143
- palette: _propTypes["default"].oneOf(['default', 'dark']),
1144
- placeHolder: _propTypes["default"].string,
1145
- position: _propTypes["default"].string,
1146
- prefixText: _propTypes["default"].string,
1147
- removeClose: _propTypes["default"].func,
1148
- searchDebounceTime: _propTypes["default"].number,
1149
- searchEmptyMessage: _propTypes["default"].string,
1150
- selectAllText: _propTypes["default"].string,
1151
- selectedOptions: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])).isRequired,
1152
- size: _propTypes["default"].oneOf(['medium', 'xmedium']),
1153
- textBoxClass: _propTypes["default"].string,
1154
- textBoxSize: _propTypes["default"].oneOf(['small', 'medium', 'xmedium']),
1155
- textField: _propTypes["default"].string,
1156
- title: _propTypes["default"].string,
1157
- togglePopup: _propTypes["default"].func,
1158
- valueField: _propTypes["default"].string,
1159
- variant: _propTypes["default"].string,
1160
- htmlId: _propTypes["default"].string,
1161
- isSearchClearOnSelect: _propTypes["default"].bool,
1162
- children: _propTypes["default"].node,
1163
- customChildrenClass: _propTypes["default"].string,
1164
- disabledOptions: _propTypes["default"].arrayOf(_propTypes["default"].string),
1165
- getFooter: _propTypes["default"].func
1166
- };
1167
- MultiSelectComponent.defaultProps = {
1168
- animationStyle: 'bounce',
1169
- dataId: 'multiSelect',
1170
- defaultDropBoxPosition: 'bottom',
1171
- dropBoxSize: 'small',
1172
- isAnimate: true,
1173
- isDisabled: false,
1174
- isPopupOpenOnEnter: false,
1175
- isReadOnly: false,
1176
- needLocalSearch: true,
1177
- needSelectAll: false,
1178
- needToCloseOnSelect: false,
1179
- size: 'medium',
1180
- textBoxSize: 'medium',
1181
- textField: 'text',
1182
- valueField: 'id',
1183
- variant: 'default',
1184
- isSearching: false,
1185
- borderColor: 'default',
1186
- needBorder: true,
1187
- disableAction: false,
1188
- isSearchClearOnClose: true,
1189
- isBoxPaddingNeed: true,
1190
- needAutoFocus: false,
1191
- i18nKeys: {},
1192
- a11y: {},
1193
- textBoxClass: '',
1194
- palette: 'default',
1195
- isSearchClearOnSelect: true
1196
- };
1197
-
1198
- if (false) {
1199
- MultiSelectComponent.docs = {
1200
- componentGroup: 'Form Elements',
1201
- folderName: 'Style Guide'
1202
- };
1203
- }
1204
-
1205
- MultiSelectComponent.displayName = 'MultiSelect';
1206
- var MultiSelect = (0, _Popup["default"])(MultiSelectComponent);
1207
- MultiSelect.propTypes = MultiSelectComponent.propTypes;
1208
- MultiSelect.defaultProps = MultiSelectComponent.defaultProps;
1209
- var _default = MultiSelect;
1210
- exports["default"] = _default;