@zohodesk/dot 1.0.0-temp-157 → 1.0.0-temp-160

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 (517) hide show
  1. package/.cli/MissedPropType_Keys.html +101 -0
  2. package/.cli/PropLessFiles.html +101 -0
  3. package/.cli/PropValidationExcludeFilesArray.js +1 -0
  4. package/.cli/propValidation_report.html +160 -0
  5. package/README.md +68 -30
  6. package/assets/Appearance/dark/themes/blue/blue_DotTheme_DarkTheme.module.css +1 -1
  7. package/assets/Appearance/dark/themes/green/green_DotTheme_DarkTheme.module.css +1 -1
  8. package/assets/Appearance/dark/themes/orange/orange_DotTheme_DarkTheme.module.css +1 -1
  9. package/assets/Appearance/dark/themes/red/red_DotTheme_DarkTheme.module.css +1 -1
  10. package/assets/Appearance/dark/themes/yellow/yellow_DotTheme_DarkTheme.module.css +1 -1
  11. package/assets/Appearance/light/themes/blue/blue_DotTheme_LightTheme.module.css +1 -1
  12. package/assets/Appearance/light/themes/green/green_DotTheme_LightTheme.module.css +1 -1
  13. package/assets/Appearance/light/themes/orange/orange_DotTheme_LightTheme.module.css +1 -1
  14. package/assets/Appearance/light/themes/red/red_DotTheme_LightTheme.module.css +1 -1
  15. package/assets/Appearance/light/themes/yellow/yellow_DotTheme_LightTheme.module.css +1 -1
  16. package/assets/Appearance/pureDark/themes/blue/blue_DotTheme_PureDarkTheme.module.css +1 -1
  17. package/assets/Appearance/pureDark/themes/green/green_DotTheme_PureDarkTheme.module.css +1 -1
  18. package/assets/Appearance/pureDark/themes/orange/orange_DotTheme_PureDarkTheme.module.css +1 -1
  19. package/assets/Appearance/pureDark/themes/red/red_DotTheme_PureDarkTheme.module.css +1 -1
  20. package/assets/Appearance/pureDark/themes/yellow/yellow_DotTheme_PureDarkTheme.module.css +1 -1
  21. package/coverage/ExternalLink/ExternalLink.js.html +1 -1
  22. package/coverage/ExternalLink/ExternalLink.module.css.html +1 -1
  23. package/coverage/ExternalLink/index.html +1 -1
  24. package/coverage/ExternalLink/props/defaultProps.js.html +1 -1
  25. package/coverage/ExternalLink/props/index.html +1 -1
  26. package/coverage/ExternalLink/props/propTypes.js.html +1 -1
  27. package/coverage/IconButton/IconButton.js.html +466 -0
  28. package/coverage/IconButton/IconButton.module.css.html +151 -0
  29. package/coverage/IconButton/index.html +131 -0
  30. package/coverage/IconButton/props/defaultProps.js.html +136 -0
  31. package/coverage/IconButton/props/index.html +131 -0
  32. package/coverage/IconButton/props/propTypes.js.html +187 -0
  33. package/coverage/Image/Image.js.html +1 -1
  34. package/coverage/Image/Image.module.css.html +1 -1
  35. package/coverage/Image/index.html +1 -1
  36. package/coverage/Image/props/defaultProps.js.html +1 -1
  37. package/coverage/Image/props/index.html +1 -1
  38. package/coverage/Image/props/propTypes.js.html +1 -1
  39. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.js.html +1 -1
  40. package/coverage/avatar/AvatarWithTeam/AvatarWithTeam.module.css.html +1 -1
  41. package/coverage/avatar/AvatarWithTeam/index.html +1 -1
  42. package/coverage/avatar/AvatarWithTeam/props/defaultProps.js.html +1 -1
  43. package/coverage/avatar/AvatarWithTeam/props/index.html +1 -1
  44. package/coverage/avatar/AvatarWithTeam/props/propTypes.js.html +1 -1
  45. package/coverage/coverage-final.json +16 -12
  46. package/coverage/coverage-summary.json +17 -13
  47. package/coverage/index.html +40 -10
  48. package/es/ActionButton/ActionButton.js +5 -2
  49. package/es/ActionButton/props/propTypes.js +3 -2
  50. package/es/AlphabeticList/props/propTypes.js +1 -1
  51. package/es/Attachment/Attachment.module.css +2 -2
  52. package/es/Attachment/props/propTypes.js +2 -1
  53. package/es/AttachmentViewer/AttachmentViewer.module.css +1 -1
  54. package/es/Drawer/Drawer.js +13 -12
  55. package/es/Drawer/props/propTypes.js +2 -1
  56. package/es/IconButton/__tests__/IconButton.spec.js +148 -0
  57. package/es/IconButton/__tests__/__snapshots__/IconButton.spec.js.snap +316 -0
  58. package/es/ImportantNotes/ImportantNotes.module.css +1 -1
  59. package/es/Link/props/propTypes.js +5 -1
  60. package/es/Message/Message.js +4 -2
  61. package/es/Message/props/propTypes.js +11 -4
  62. package/es/Separator/props/propTypes.js +1 -1
  63. package/es/TagWithIcon/props/propTypes.js +3 -2
  64. package/es/ToastMessage/ToastMessage.module.css +2 -2
  65. package/es/ToastMessage/props/propTypes.js +4 -3
  66. package/es/Upload/Upload.module.css +1 -1
  67. package/es/actions/props/propTypes.js +2 -1
  68. package/es/alert/AlertLookup/AlertLookup.module.css +1 -1
  69. package/es/alert/AlertLookup/props/propTypes.js +0 -1
  70. package/es/avatar/AvatarThread/props/propTypes.js +1 -1
  71. package/es/deprecated/SelectDropdown/SelectDropdown.js +3 -8
  72. package/es/dropdown/ToggleDropDown/ToggleDropDown.js +5 -2
  73. package/es/dropdown/ToggleDropDown/props/propTypes.js +4 -1
  74. package/es/emptystate/CommonEmptyState/CommonEmptyState.module.css +1 -1
  75. package/es/emptystate/EditionPage/props/propTypes.js +6 -2
  76. package/es/errorstate/EmptyStates.module.css +3 -3
  77. package/es/errorstate/PermissionPlay/PermissionPlay.module.css +1 -1
  78. package/es/form/fields/CheckBoxField/props/propTypes.js +1 -1
  79. package/es/form/fields/CurrencyField/props/propTypes.js +4 -1
  80. package/es/form/fields/DateField/props/propTypes.js +1 -1
  81. package/es/form/fields/FieldContainer/props/propTypes.js +18 -4
  82. package/es/form/fields/Fields.module.css +2 -2
  83. package/es/form/fields/MultiSelectField/props/propTypes.js +2 -2
  84. package/es/form/fields/PhoneField/props/propTypes.js +8 -1
  85. package/es/form/fields/RadioField/props/propTypes.js +2 -2
  86. package/es/form/fields/SelectField/SelectField.js +1 -2
  87. package/es/form/fields/SelectField/props/propTypes.js +2 -2
  88. package/es/form/fields/TagsMultiSelect/props/propTypes.js +2 -1
  89. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +7 -3
  90. package/es/form/fields/TagsMultiSelectField/props/propTypes.js +13 -2
  91. package/es/form/fields/TextBoxField/props/propTypes.js +8 -1
  92. package/es/form/fields/TextEditor/props/propTypes.js +7 -1
  93. package/es/form/fields/TextEditorField/props/propTypes.js +13 -1
  94. package/es/form/fields/TextEditorWrapper/props/propTypes.js +2 -1
  95. package/es/form/fields/TextareaField/props/propTypes.js +2 -2
  96. package/es/form/fields/ValidationMessage/props/propTypes.js +4 -2
  97. package/es/form/fields/props/FieldCommonPropTypes.js +16 -22
  98. package/es/form/layout/Section/props/propTypes.js +3 -1
  99. package/es/layout/SetupDetailLayout/SetupDetailLayout.module.css +4 -4
  100. package/es/layout/SubtabLayout/props/propTypes.js +1 -1
  101. package/es/list/Comment/props/propTypes.js +0 -3
  102. package/es/list/GridStencils/props/propTypes.js +2 -1
  103. package/es/list/Icons/props/propTypes.js +0 -2
  104. package/es/list/SecondaryText/props/propTypes.js +0 -1
  105. package/es/list/UserTime/props/propTypes.js +5 -1
  106. package/es/list/status/StatusDropdown/StatusDropdown.js +4 -1
  107. package/es/list/status/StatusDropdown/props/propTypes.js +4 -1
  108. package/es/list/status/StatusListItem/StatusListItem.module.css +1 -1
  109. package/es/lookup/Lookup/Lookup.js +10 -10
  110. package/es/lookup/Lookup/props/propTypes.js +4 -1
  111. package/es/lookup/header/Close/LookupClose.module.css +1 -1
  112. package/es/lookup/header/ViewDropDown/ViewDropDown.js +2 -1
  113. package/es/lookup/header/ViewDropDown/ViewDropDown.module.css +1 -1
  114. package/es/lookup/header/ViewDropDown/props/propTypes.js +6 -11
  115. package/es/setup/helptips/Description/HelpTipsDescription.module.css +1 -1
  116. package/es/setup/helptips/ListGroup/ListGroup.js +1 -1
  117. package/es/setup/table/TableHead/props/propTypes.js +2 -1
  118. package/es/v1/ActionButton/ActionButton.js +11 -8
  119. package/es/v1/AlphabeticList/AlphabeticList.js +7 -3
  120. package/es/v1/Attachment/Attachment.js +91 -0
  121. package/es/v1/AttachmentViewer/AttachmentImage.js +60 -0
  122. package/es/v1/AttachmentViewer/AttachmentViewer.js +541 -0
  123. package/es/v1/ChannelIcon/ChannelIcon.js +2 -2
  124. package/es/v1/Drawer/Drawer.js +17 -17
  125. package/es/v1/FlipCard/FlipCard.js +7 -7
  126. package/es/v1/FormAction/FormAction.js +1 -1
  127. package/es/v1/FreezeLayer/FreezeLayer.js +74 -0
  128. package/es/v1/{version2/GlobalNotification → GlobalNotification}/GlobalNotification.js +10 -8
  129. package/es/v1/IconButton/IconButton.js +3 -3
  130. package/es/v1/Image/Image.js +32 -0
  131. package/es/v1/ImportantNotes/ImportantNotes.js +1 -1
  132. package/es/v1/Link/Link.js +2 -1
  133. package/es/v1/Loader/Loader.js +15 -0
  134. package/es/v1/Message/Message.js +92 -0
  135. package/es/v1/MessageBanner/MessageBanner.js +2 -2
  136. package/es/v1/NewStar/NewStar.js +1 -1
  137. package/es/v1/PlusIcon/PlusIcon.js +32 -0
  138. package/es/v1/Separator/Separator.js +53 -0
  139. package/es/v1/TagWithIcon/TagWithIcon.js +1 -1
  140. package/es/v1/ToastMessage/ToastMessage.js +203 -0
  141. package/es/v1/Upload/Upload.js +69 -0
  142. package/es/v1/actions/AutoClose.js +43 -0
  143. package/es/v1/{version2 → alert}/AlertClose/AlertClose.js +1 -1
  144. package/es/v1/alert/AlertHeader/AlertHeader.js +58 -49
  145. package/es/v1/alert/AlertLookup/AlertLookup.js +101 -41
  146. package/es/v1/alert/alertIcons/index.js +8 -0
  147. package/es/v1/alert/index.js +2 -0
  148. package/es/v1/avatar/AvatarClose/AvatarClose.js +42 -0
  149. package/es/v1/avatar/AvatarCollision/AvatarCollision.js +51 -0
  150. package/es/v1/avatar/AvatarIcon/AvatarIcon.js +49 -0
  151. package/es/v1/avatar/AvatarStatus/AvatarStatus.js +61 -0
  152. package/es/v1/avatar/AvatarThread/AvatarThread.js +72 -0
  153. package/es/v1/avatar/AvatarUser/AvatarUser.js +109 -0
  154. package/es/v1/avatar/AvatarWithTeam/AvatarWithTeam.js +91 -0
  155. package/es/v1/avatar/index.js +7 -0
  156. package/es/v1/dropdown/ToggleDropDown/ToggleDropDown.js +864 -0
  157. package/es/v1/emptystate/CommonEmptyState/CommonEmptyState.js +1 -0
  158. package/es/v1/{version2/errorstate → errorstate}/Inconvenience/Inconvenience.js +7 -11
  159. package/es/v1/{version2/errorstate → errorstate}/OopsSomethingMiss/OopsSomethingMiss.js +6 -6
  160. package/es/v1/{version2/errorstate → errorstate}/UnableToProcessRequest/UnableToProcessRequest.js +6 -6
  161. package/es/v1/{version2/errorstate → errorstate}/UnauthorizedLogin/UnauthorizedLogin.js +6 -6
  162. package/es/v1/{version2/errorstate → errorstate}/UrlNotFound/UrlNotFound.js +6 -6
  163. package/es/v1/{version2/errorstate → errorstate}/WillBeRightBack/WillBeRightBack.js +6 -6
  164. package/es/v1/form/fields/CheckBoxField/CheckBoxField.js +125 -0
  165. package/es/v1/form/fields/CurrencyField/CurrencyField.js +157 -0
  166. package/es/v1/form/fields/DateField/DateField.js +164 -0
  167. package/es/v1/form/fields/FieldContainer/FieldContainer.js +66 -0
  168. package/es/v1/form/fields/MultiSelectField/MultiSelectField.js +189 -0
  169. package/es/v1/form/fields/PhoneField/PhoneField.js +161 -0
  170. package/es/v1/form/fields/RadioField/RadioField.js +108 -0
  171. package/es/v1/form/fields/SelectField/SelectField.js +168 -0
  172. package/es/v1/form/fields/TagsMultiSelect/TagsMultiSelect.js +292 -0
  173. package/es/v1/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +261 -0
  174. package/es/v1/form/fields/TextBoxField/TextBoxField.js +164 -0
  175. package/es/v1/form/fields/TextEditor/TextEditor.js +418 -0
  176. package/es/v1/form/fields/TextEditorField/TextEditorField.js +178 -0
  177. package/es/v1/form/fields/TextEditorWrapper/TextEditorWrapper.js +203 -0
  178. package/es/v1/form/fields/TextareaField/TextareaField.js +161 -0
  179. package/es/v1/form/fields/ValidationMessage/ValidationMessage.js +58 -0
  180. package/es/v1/form/fields/index.js +16 -0
  181. package/es/v1/form/layout/Field/Field.js +33 -0
  182. package/es/v1/form/layout/Section/Section.js +37 -0
  183. package/es/v1/form/layout/index.js +2 -0
  184. package/es/v1/layout/SetupDetailLayout/SetupDetailLayout.js +174 -0
  185. package/es/v1/layout/SetupDetailLayout/index.js +4 -0
  186. package/es/v1/layout/SubtabLayout/SubtabLayout.js +128 -0
  187. package/es/v1/layout/SubtabLayout/index.js +4 -0
  188. package/es/v1/list/AvatarFlip/AvatarFlip.js +73 -0
  189. package/es/v1/list/BluePrintStatus/BluePrintStatus.js +21 -0
  190. package/es/v1/list/Comment/Comment.js +38 -0
  191. package/es/v1/list/DepartmentDropDown/DepartmentDropDown.js +85 -0
  192. package/es/v1/list/Dot/Dot.js +15 -0
  193. package/es/v1/list/DotNew/DotNew.js +22 -0
  194. package/es/v1/list/GridStencils/GridStencils.js +31 -0
  195. package/es/v1/list/Icons/AddNewIcon.js +25 -0
  196. package/es/v1/list/Icons/CompleteIcon.js +27 -0
  197. package/es/v1/list/Icons/DeleteIcon.js +28 -0
  198. package/es/v1/list/Icons/EditIcon.js +28 -0
  199. package/es/v1/list/Icons/FloatingIcons.js +23 -0
  200. package/es/v1/list/Icons/ReadUnreadIcon.js +32 -0
  201. package/es/v1/list/Icons/SmartIcon.js +25 -0
  202. package/es/v1/list/Icons/index.js +7 -0
  203. package/es/v1/list/ListLayout/ListLayout.js +69 -0
  204. package/es/v1/list/ListStencils/ListStencils.js +44 -0
  205. package/es/v1/list/SecondaryText/AccountName.js +77 -0
  206. package/es/v1/list/SecondaryText/ContactName.js +77 -0
  207. package/es/v1/list/SecondaryText/DepartmentText.js +18 -0
  208. package/es/v1/list/SecondaryText/Email.js +47 -0
  209. package/es/v1/list/SecondaryText/HappinessRating.js +23 -0
  210. package/es/v1/list/SecondaryText/PhoneNumber.js +51 -0
  211. package/es/v1/list/SecondaryText/PriorityText.js +21 -0
  212. package/es/v1/list/SecondaryText/SecondaryText.js +28 -0
  213. package/es/v1/list/SecondaryText/StatusText.js +22 -0
  214. package/es/v1/list/SecondaryText/TicketId.js +41 -0
  215. package/es/v1/list/SecondaryText/Website.js +35 -0
  216. package/es/v1/list/SecondaryText/index.js +11 -0
  217. package/es/v1/list/SecondryPanel/SecondryPanel.js +87 -0
  218. package/es/v1/list/SentimentStatus/SentimentStatus.js +23 -0
  219. package/es/v1/list/Subject/Subject.js +57 -0
  220. package/es/v1/list/TagNew/TagNew.js +33 -0
  221. package/es/v1/list/Thread/Thread.js +43 -0
  222. package/es/v1/list/UserTime/UserTime.js +83 -0
  223. package/es/v1/list/index.js +17 -0
  224. package/es/v1/list/status/StatusDropdown/StatusDropdown.js +374 -0
  225. package/es/v1/list/status/StatusListItem/StatusListItem.js +97 -0
  226. package/es/v1/list/status/index.js +2 -0
  227. package/es/v1/lookup/EmptyPage/EmptyPage.js +54 -0
  228. package/es/v1/lookup/Lookup/Lookup.js +16 -13
  229. package/es/v1/lookup/Section/Section.js +19 -0
  230. package/es/v1/lookup/header/ModuleHeader/ModuleHeader.js +3 -3
  231. package/es/v1/lookup/header/Search/Search.js +5 -5
  232. package/es/v1/lookup/header/TicketHeader/TicketHeader.js +1 -1
  233. package/es/v1/lookup/header/ViewDropDown/ViewDropDown.js +177 -0
  234. package/es/v1/lookup/header/index.js +5 -0
  235. package/es/v1/notification/DesktopNotification/DesktopNotification.js +164 -0
  236. package/es/v1/{version2/notification → notification}/DesktopNotificationHeader/DesktopNotificationHeader.js +6 -6
  237. package/es/v1/setup/header/Button/Button.js +36 -0
  238. package/es/v1/setup/header/Link/Link.js +44 -0
  239. package/es/v1/setup/header/Search/Search.js +81 -0
  240. package/es/v1/setup/header/Views/Views.js +46 -0
  241. package/es/v1/setup/header/index.js +4 -0
  242. package/es/v1/setup/helptips/Description/Description.js +24 -0
  243. package/es/v1/setup/helptips/Link/Link.js +41 -0
  244. package/es/v1/setup/helptips/ListGroup/ListGroup.js +39 -0
  245. package/es/v1/setup/helptips/Title/Title.js +24 -0
  246. package/es/v1/setup/helptips/index.js +4 -0
  247. package/es/v1/setup/index.js +6 -0
  248. package/es/v1/setup/table/Table/Table.js +1 -1
  249. package/es/v1/setup/table/TableBody/TableBody.js +1 -1
  250. package/es/v1/setup/table/TableData/TableData.js +1 -1
  251. package/es/v1/setup/table/TableHead/TableHead.js +1 -1
  252. package/es/v1/setup/table/TableRow/TableRow.js +1 -1
  253. package/es/v1/setup/table/index.js +5 -0
  254. package/es/v1/svg/PlusIcon.js +25 -0
  255. package/es/v1/svg/SnippetIcon.js +27 -0
  256. package/es/v1/svg/TemplateIcon.js +28 -0
  257. package/es/v1/svg/index.js +3 -0
  258. package/es/version2/GlobalNotification/GlobalNotification.js +4 -2
  259. package/es/version2/GlobalNotification/GlobalNotification.module.css +1 -1
  260. package/es/version2/GlobalNotification/props/propTypes.js +19 -1
  261. package/es/version2/errorstate/V2_ErrorStates.module.css +1 -1
  262. package/es/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +1 -1
  263. package/es/version2/lookup/AlertLookup/AlertLookupNew.module.css +1 -1
  264. package/es/version2/lookup/AlertLookup/props/propTypes.js +0 -1
  265. package/es/version2/notification/DesktopNotification/DesktopNotification.js +2 -1
  266. package/es/version2/notification/DesktopNotification/DesktopNotification.module.css +2 -2
  267. package/es/version2/notification/DesktopNotification/props/propTypes.js +13 -9
  268. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +4 -4
  269. package/lib/ActionButton/ActionButton.js +5 -3
  270. package/lib/ActionButton/props/propTypes.js +3 -2
  271. package/lib/AlphabeticList/props/propTypes.js +1 -1
  272. package/lib/Attachment/Attachment.module.css +2 -2
  273. package/lib/Attachment/props/propTypes.js +2 -1
  274. package/lib/AttachmentViewer/AttachmentViewer.module.css +1 -1
  275. package/lib/Drawer/Drawer.js +18 -17
  276. package/lib/Drawer/props/propTypes.js +2 -1
  277. package/lib/IconButton/__tests__/IconButton.spec.js +156 -0
  278. package/lib/IconButton/__tests__/__snapshots__/IconButton.spec.js.snap +316 -0
  279. package/lib/ImportantNotes/ImportantNotes.module.css +1 -1
  280. package/lib/Link/props/propTypes.js +5 -1
  281. package/lib/Message/Message.js +5 -1
  282. package/lib/Message/props/propTypes.js +23 -6
  283. package/lib/Separator/props/propTypes.js +1 -1
  284. package/lib/TagWithIcon/props/propTypes.js +3 -2
  285. package/lib/ToastMessage/ToastMessage.module.css +2 -2
  286. package/lib/ToastMessage/props/propTypes.js +4 -3
  287. package/lib/Upload/Upload.module.css +1 -1
  288. package/lib/actions/props/propTypes.js +2 -1
  289. package/lib/alert/AlertLookup/AlertLookup.module.css +1 -1
  290. package/lib/alert/AlertLookup/props/propTypes.js +0 -1
  291. package/lib/avatar/AvatarThread/props/propTypes.js +1 -1
  292. package/lib/deprecated/SelectDropdown/SelectDropdown.js +3 -7
  293. package/lib/dropdown/ToggleDropDown/ToggleDropDown.js +5 -3
  294. package/lib/dropdown/ToggleDropDown/props/propTypes.js +4 -1
  295. package/lib/emptystate/CommonEmptyState/CommonEmptyState.module.css +1 -1
  296. package/lib/emptystate/EditionPage/props/propTypes.js +6 -2
  297. package/lib/errorstate/EmptyStates.module.css +3 -3
  298. package/lib/errorstate/PermissionPlay/PermissionPlay.module.css +1 -1
  299. package/lib/form/fields/CheckBoxField/props/propTypes.js +1 -1
  300. package/lib/form/fields/CurrencyField/props/propTypes.js +5 -2
  301. package/lib/form/fields/DateField/props/propTypes.js +1 -1
  302. package/lib/form/fields/FieldContainer/props/propTypes.js +21 -16
  303. package/lib/form/fields/Fields.module.css +2 -2
  304. package/lib/form/fields/MultiSelectField/props/propTypes.js +3 -3
  305. package/lib/form/fields/PhoneField/props/propTypes.js +8 -1
  306. package/lib/form/fields/RadioField/props/propTypes.js +2 -2
  307. package/lib/form/fields/SelectField/SelectField.js +1 -2
  308. package/lib/form/fields/SelectField/props/propTypes.js +3 -3
  309. package/lib/form/fields/TagsMultiSelect/props/propTypes.js +2 -1
  310. package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +8 -5
  311. package/lib/form/fields/TagsMultiSelectField/props/propTypes.js +16 -11
  312. package/lib/form/fields/TextBoxField/props/propTypes.js +8 -1
  313. package/lib/form/fields/TextEditor/props/propTypes.js +7 -1
  314. package/lib/form/fields/TextEditorField/props/propTypes.js +51 -49
  315. package/lib/form/fields/TextEditorWrapper/props/propTypes.js +2 -1
  316. package/lib/form/fields/TextareaField/props/propTypes.js +3 -3
  317. package/lib/form/fields/ValidationMessage/props/propTypes.js +4 -2
  318. package/lib/form/fields/props/FieldCommonPropTypes.js +16 -23
  319. package/lib/form/layout/Section/props/propTypes.js +3 -1
  320. package/lib/layout/SetupDetailLayout/SetupDetailLayout.module.css +4 -4
  321. package/lib/layout/SubtabLayout/props/propTypes.js +1 -1
  322. package/lib/list/Comment/props/propTypes.js +0 -3
  323. package/lib/list/GridStencils/props/propTypes.js +2 -1
  324. package/lib/list/Icons/props/propTypes.js +0 -2
  325. package/lib/list/SecondaryText/props/propTypes.js +0 -1
  326. package/lib/list/UserTime/props/propTypes.js +5 -1
  327. package/lib/list/status/StatusDropdown/StatusDropdown.js +4 -3
  328. package/lib/list/status/StatusDropdown/props/propTypes.js +1 -1
  329. package/lib/list/status/StatusListItem/StatusListItem.module.css +1 -1
  330. package/lib/lookup/Lookup/Lookup.js +15 -15
  331. package/lib/lookup/Lookup/props/propTypes.js +4 -1
  332. package/lib/lookup/header/Close/LookupClose.module.css +1 -1
  333. package/lib/lookup/header/ViewDropDown/ViewDropDown.js +2 -1
  334. package/lib/lookup/header/ViewDropDown/ViewDropDown.module.css +1 -1
  335. package/lib/lookup/header/ViewDropDown/props/propTypes.js +6 -11
  336. package/lib/setup/helptips/Description/HelpTipsDescription.module.css +1 -1
  337. package/lib/setup/helptips/ListGroup/ListGroup.js +1 -1
  338. package/lib/setup/table/TableHead/props/propTypes.js +2 -1
  339. package/lib/v1/ActionButton/ActionButton.js +11 -9
  340. package/lib/v1/AlphabeticList/AlphabeticList.js +8 -6
  341. package/lib/v1/Attachment/Attachment.js +105 -0
  342. package/lib/v1/AttachmentViewer/AttachmentImage.js +89 -0
  343. package/lib/v1/AttachmentViewer/AttachmentViewer.js +625 -0
  344. package/lib/v1/ChannelIcon/ChannelIcon.js +2 -2
  345. package/lib/v1/Drawer/Drawer.js +22 -22
  346. package/lib/v1/FlipCard/FlipCard.js +7 -7
  347. package/lib/v1/FormAction/FormAction.js +1 -1
  348. package/lib/v1/FreezeLayer/FreezeLayer.js +94 -0
  349. package/lib/v1/{version2/GlobalNotification → GlobalNotification}/GlobalNotification.js +12 -8
  350. package/lib/v1/IconButton/IconButton.js +3 -3
  351. package/lib/v1/Image/Image.js +44 -0
  352. package/lib/v1/ImportantNotes/ImportantNotes.js +1 -1
  353. package/lib/v1/Link/Link.js +2 -1
  354. package/lib/v1/Loader/Loader.js +27 -0
  355. package/lib/v1/Message/Message.js +113 -0
  356. package/lib/v1/MessageBanner/MessageBanner.js +2 -2
  357. package/lib/v1/NewStar/NewStar.js +1 -1
  358. package/lib/v1/PlusIcon/PlusIcon.js +45 -0
  359. package/lib/v1/Separator/Separator.js +66 -0
  360. package/lib/v1/TagWithIcon/TagWithIcon.js +1 -1
  361. package/lib/v1/ToastMessage/ToastMessage.js +246 -0
  362. package/lib/v1/Upload/Upload.js +83 -0
  363. package/lib/v1/actions/AutoClose.js +75 -0
  364. package/lib/v1/{version2 → alert}/AlertClose/AlertClose.js +1 -1
  365. package/lib/v1/alert/AlertHeader/AlertHeader.js +68 -50
  366. package/lib/v1/alert/AlertLookup/AlertLookup.js +109 -42
  367. package/lib/v1/alert/alertIcons/index.js +71 -0
  368. package/lib/v1/alert/index.js +23 -0
  369. package/lib/v1/avatar/AvatarClose/AvatarClose.js +56 -0
  370. package/lib/v1/avatar/AvatarCollision/AvatarCollision.js +65 -0
  371. package/lib/v1/avatar/AvatarIcon/AvatarIcon.js +63 -0
  372. package/lib/v1/avatar/AvatarStatus/AvatarStatus.js +74 -0
  373. package/lib/v1/avatar/AvatarThread/AvatarThread.js +85 -0
  374. package/lib/v1/avatar/AvatarUser/AvatarUser.js +122 -0
  375. package/lib/v1/avatar/AvatarWithTeam/AvatarWithTeam.js +109 -0
  376. package/lib/v1/avatar/index.js +63 -0
  377. package/lib/v1/dropdown/ToggleDropDown/ToggleDropDown.js +934 -0
  378. package/lib/v1/emptystate/CommonEmptyState/CommonEmptyState.js +1 -0
  379. package/lib/v1/{version2/errorstate → errorstate}/Inconvenience/Inconvenience.js +7 -11
  380. package/lib/v1/{version2/errorstate → errorstate}/OopsSomethingMiss/OopsSomethingMiss.js +6 -6
  381. package/lib/v1/{version2/errorstate → errorstate}/UnableToProcessRequest/UnableToProcessRequest.js +6 -6
  382. package/lib/v1/{version2/errorstate → errorstate}/UnauthorizedLogin/UnauthorizedLogin.js +6 -6
  383. package/lib/v1/{version2/errorstate → errorstate}/UrlNotFound/UrlNotFound.js +6 -6
  384. package/lib/v1/{version2/errorstate → errorstate}/WillBeRightBack/WillBeRightBack.js +6 -6
  385. package/lib/v1/form/fields/CheckBoxField/CheckBoxField.js +145 -0
  386. package/lib/v1/form/fields/CurrencyField/CurrencyField.js +193 -0
  387. package/lib/v1/form/fields/DateField/DateField.js +183 -0
  388. package/lib/v1/form/fields/FieldContainer/FieldContainer.js +87 -0
  389. package/lib/v1/form/fields/MultiSelectField/MultiSelectField.js +208 -0
  390. package/lib/v1/form/fields/PhoneField/PhoneField.js +193 -0
  391. package/lib/v1/form/fields/RadioField/RadioField.js +123 -0
  392. package/lib/v1/form/fields/SelectField/SelectField.js +185 -0
  393. package/lib/v1/form/fields/TagsMultiSelect/TagsMultiSelect.js +346 -0
  394. package/lib/v1/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +302 -0
  395. package/lib/v1/form/fields/TextBoxField/TextBoxField.js +219 -0
  396. package/lib/v1/form/fields/TextEditor/TextEditor.js +463 -0
  397. package/lib/v1/form/fields/TextEditorField/TextEditorField.js +230 -0
  398. package/lib/v1/form/fields/TextEditorWrapper/TextEditorWrapper.js +256 -0
  399. package/lib/v1/form/fields/TextareaField/TextareaField.js +215 -0
  400. package/lib/v1/form/fields/ValidationMessage/ValidationMessage.js +110 -0
  401. package/lib/{docs/formDocs.js → v1/form/fields/index.js} +33 -25
  402. package/lib/v1/form/layout/Field/Field.js +87 -0
  403. package/lib/v1/form/layout/Section/Section.js +86 -0
  404. package/lib/v1/form/layout/index.js +23 -0
  405. package/lib/v1/layout/SetupDetailLayout/SetupDetailLayout.js +212 -0
  406. package/lib/v1/layout/SetupDetailLayout/index.js +37 -0
  407. package/lib/v1/layout/SubtabLayout/SubtabLayout.js +146 -0
  408. package/lib/v1/layout/SubtabLayout/index.js +37 -0
  409. package/lib/v1/list/AvatarFlip/AvatarFlip.js +86 -0
  410. package/lib/v1/list/BluePrintStatus/BluePrintStatus.js +33 -0
  411. package/lib/v1/list/Comment/Comment.js +53 -0
  412. package/lib/v1/list/DepartmentDropDown/DepartmentDropDown.js +102 -0
  413. package/lib/v1/list/Dot/Dot.js +27 -0
  414. package/lib/v1/list/DotNew/DotNew.js +34 -0
  415. package/lib/v1/list/GridStencils/GridStencils.js +42 -0
  416. package/lib/v1/list/Icons/AddNewIcon.js +38 -0
  417. package/lib/v1/list/Icons/CompleteIcon.js +40 -0
  418. package/lib/v1/list/Icons/DeleteIcon.js +41 -0
  419. package/lib/v1/list/Icons/EditIcon.js +41 -0
  420. package/lib/v1/list/Icons/FloatingIcons.js +42 -0
  421. package/lib/v1/list/Icons/ReadUnreadIcon.js +46 -0
  422. package/lib/v1/list/Icons/SmartIcon.js +38 -0
  423. package/lib/v1/list/Icons/index.js +63 -0
  424. package/lib/v1/list/ListLayout/ListLayout.js +82 -0
  425. package/lib/v1/list/ListStencils/ListStencils.js +57 -0
  426. package/lib/v1/list/SecondaryText/AccountName.js +86 -0
  427. package/lib/v1/list/SecondaryText/ContactName.js +94 -0
  428. package/lib/v1/list/SecondaryText/DepartmentText.js +29 -0
  429. package/lib/v1/list/SecondaryText/Email.js +53 -0
  430. package/lib/v1/list/SecondaryText/HappinessRating.js +34 -0
  431. package/lib/v1/list/SecondaryText/PhoneNumber.js +57 -0
  432. package/lib/v1/list/SecondaryText/PriorityText.js +33 -0
  433. package/lib/v1/list/SecondaryText/SecondaryText.js +38 -0
  434. package/lib/v1/list/SecondaryText/StatusText.js +34 -0
  435. package/lib/v1/list/SecondaryText/TicketId.js +54 -0
  436. package/lib/v1/list/SecondaryText/Website.js +48 -0
  437. package/lib/v1/list/SecondaryText/index.js +95 -0
  438. package/lib/v1/list/SecondryPanel/SecondryPanel.js +104 -0
  439. package/lib/v1/list/SentimentStatus/SentimentStatus.js +35 -0
  440. package/lib/v1/list/Subject/Subject.js +108 -0
  441. package/lib/v1/list/TagNew/TagNew.js +83 -0
  442. package/lib/v1/list/Thread/Thread.js +95 -0
  443. package/lib/v1/list/UserTime/UserTime.js +136 -0
  444. package/lib/v1/list/index.js +173 -0
  445. package/lib/v1/list/status/StatusDropdown/StatusDropdown.js +436 -0
  446. package/lib/v1/list/status/StatusListItem/StatusListItem.js +112 -0
  447. package/lib/v1/list/status/index.js +23 -0
  448. package/lib/v1/lookup/EmptyPage/EmptyPage.js +70 -0
  449. package/lib/v1/lookup/Lookup/Lookup.js +22 -18
  450. package/lib/v1/lookup/Section/Section.js +31 -0
  451. package/lib/v1/lookup/header/ModuleHeader/ModuleHeader.js +3 -3
  452. package/lib/v1/lookup/header/Search/Search.js +8 -6
  453. package/lib/v1/lookup/header/TicketHeader/TicketHeader.js +1 -1
  454. package/lib/v1/lookup/header/ViewDropDown/ViewDropDown.js +222 -0
  455. package/lib/v1/lookup/header/index.js +47 -0
  456. package/lib/v1/notification/DesktopNotification/DesktopNotification.js +193 -0
  457. package/lib/v1/{version2/notification → notification}/DesktopNotificationHeader/DesktopNotificationHeader.js +6 -6
  458. package/lib/v1/setup/header/Button/Button.js +83 -0
  459. package/lib/v1/setup/header/Link/Link.js +93 -0
  460. package/lib/v1/setup/header/Search/Search.js +126 -0
  461. package/lib/v1/setup/header/Views/Views.js +93 -0
  462. package/lib/v1/setup/header/index.js +39 -0
  463. package/lib/v1/setup/helptips/Description/Description.js +68 -0
  464. package/lib/v1/setup/helptips/Link/Link.js +88 -0
  465. package/lib/v1/setup/helptips/ListGroup/ListGroup.js +88 -0
  466. package/lib/v1/setup/helptips/Title/Title.js +68 -0
  467. package/lib/v1/setup/helptips/index.js +39 -0
  468. package/lib/v1/setup/index.js +24 -0
  469. package/lib/v1/setup/table/Table/Table.js +1 -1
  470. package/lib/v1/setup/table/TableBody/TableBody.js +1 -1
  471. package/lib/v1/setup/table/TableData/TableData.js +1 -1
  472. package/lib/v1/setup/table/TableHead/TableHead.js +1 -1
  473. package/lib/v1/setup/table/TableRow/TableRow.js +1 -1
  474. package/lib/v1/setup/table/index.js +47 -0
  475. package/lib/v1/svg/PlusIcon.js +37 -0
  476. package/lib/v1/svg/SnippetIcon.js +39 -0
  477. package/lib/v1/svg/TemplateIcon.js +40 -0
  478. package/lib/v1/svg/index.js +31 -0
  479. package/lib/version2/GlobalNotification/GlobalNotification.js +5 -1
  480. package/lib/version2/GlobalNotification/GlobalNotification.module.css +1 -1
  481. package/lib/version2/GlobalNotification/props/propTypes.js +23 -3
  482. package/lib/version2/errorstate/V2_ErrorStates.module.css +1 -1
  483. package/lib/version2/lookup/AlertHeader/css/AlertHeaderNew.module.css +1 -1
  484. package/lib/version2/lookup/AlertLookup/AlertLookupNew.module.css +1 -1
  485. package/lib/version2/lookup/AlertLookup/props/propTypes.js +0 -1
  486. package/lib/version2/notification/DesktopNotification/DesktopNotification.js +2 -0
  487. package/lib/version2/notification/DesktopNotification/DesktopNotification.module.css +2 -2
  488. package/lib/version2/notification/DesktopNotification/props/propTypes.js +16 -11
  489. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.module.css +4 -4
  490. package/package.json +16 -14
  491. package/result.json +1 -1
  492. package/unittest/index.html +1 -1
  493. package/es/docs/formDocs.js +0 -15
  494. package/es/docs/generalDocs.js +0 -63
  495. package/es/docs/lookupDocs.js +0 -17
  496. package/es/docs/setupDocs.js +0 -11
  497. package/es/v1/version2/lookup/AlertLookup/AlertLookup.js +0 -152
  498. package/lib/docs/generalDocs.js +0 -479
  499. package/lib/docs/lookupDocs.js +0 -135
  500. package/lib/docs/setupDocs.js +0 -95
  501. package/lib/v1/version2/lookup/AlertLookup/AlertLookup.js +0 -173
  502. /package/es/v1/{version2 → alert}/alertIcons/AlarmAlertIcon.js +0 -0
  503. /package/es/v1/{version2 → alert}/alertIcons/AlertIcons.js +0 -0
  504. /package/es/v1/{version2 → alert}/alertIcons/DangerAlertIcon.js +0 -0
  505. /package/es/v1/{version2 → alert}/alertIcons/ErrorAlertIcon.js +0 -0
  506. /package/es/v1/{version2 → alert}/alertIcons/InfoAlertIcon.js +0 -0
  507. /package/es/v1/{version2 → alert}/alertIcons/NotificationAlertIcon.js +0 -0
  508. /package/es/v1/{version2 → alert}/alertIcons/SuccessAlertIcon.js +0 -0
  509. /package/es/v1/{version2 → alert}/alertIcons/WarningAlertIcon.js +0 -0
  510. /package/lib/v1/{version2 → alert}/alertIcons/AlarmAlertIcon.js +0 -0
  511. /package/lib/v1/{version2 → alert}/alertIcons/AlertIcons.js +0 -0
  512. /package/lib/v1/{version2 → alert}/alertIcons/DangerAlertIcon.js +0 -0
  513. /package/lib/v1/{version2 → alert}/alertIcons/ErrorAlertIcon.js +0 -0
  514. /package/lib/v1/{version2 → alert}/alertIcons/InfoAlertIcon.js +0 -0
  515. /package/lib/v1/{version2 → alert}/alertIcons/NotificationAlertIcon.js +0 -0
  516. /package/lib/v1/{version2 → alert}/alertIcons/SuccessAlertIcon.js +0 -0
  517. /package/lib/v1/{version2 → alert}/alertIcons/WarningAlertIcon.js +0 -0
@@ -0,0 +1,292 @@
1
+ import React from 'react';
2
+ import { defaultProps } from '../../../../form/fields/TagsMultiSelect/props/defaultProps';
3
+ import { propTypes } from '../../../../form/fields/TagsMultiSelect/props/propTypes';
4
+ import { Container, Box } from '@zohodesk/components/es/v1/Layout';
5
+ import Tag from '@zohodesk/components/es/v1/Tag/Tag';
6
+ import TextBoxIcon from '@zohodesk/components/es/v1/TextBoxIcon/TextBoxIcon';
7
+ import EmptySearch from '@zohodesk/svg/lib/emptystate/version3/EmptySearch';
8
+ import ListItem from '@zohodesk/components/es/v1/ListItem/ListItem';
9
+ import Loader from '@zohodesk/svg/lib/Loader/Loader';
10
+ import DropDownSeparator from '@zohodesk/components/es/v1/DropDown/DropDownSeparator';
11
+ import CommonEmptyState from '../../../emptystate/CommonEmptyState/CommonEmptyState';
12
+ import ResponsiveDropBox from '@zohodesk/components/es/v1/ResponsiveDropBox/ResponsiveDropBox';
13
+ import { ResponsiveReceiver } from '@zohodesk/components/es/v1/Responsive/CustomResponsive';
14
+ import { stopBubbling } from '../../../../utils/General';
15
+ import { scrollTo, findScrollEnd } from '@zohodesk/components/es/utils/Common.js';
16
+ import style from '../../../../form/fields/TagsMultiSelect/TagsMultiSelect.module.css';
17
+ export default class TagsMultiSelect extends React.Component {
18
+ constructor(props) {
19
+ super(props);
20
+ this.state = {
21
+ showAll: false
22
+ };
23
+ this.emptySearchSVG = this.emptySearchSVG.bind(this);
24
+ this.onShowAllClick = this.onShowAllClick.bind(this);
25
+ this.getContainerRef = this.getContainerRef.bind(this);
26
+ this.onScroll = this.onScroll.bind(this);
27
+ this.getSelectedItemRef = this.getSelectedItemRef.bind(this);
28
+ this.textInputRef = this.textInputRef.bind(this);
29
+ }
30
+
31
+ textInputRef(el) {
32
+ const {
33
+ getTextInputRef
34
+ } = this.props;
35
+ this.inputEl = el;
36
+ getTextInputRef && getTextInputRef(el);
37
+ }
38
+
39
+ onScroll() {
40
+ let {
41
+ onScroll,
42
+ name,
43
+ noMoreData,
44
+ searchList
45
+ } = this.props;
46
+ let {
47
+ containerRef
48
+ } = this;
49
+
50
+ if (findScrollEnd(this.containerRef) && !noMoreData) {
51
+ onScroll(name);
52
+ let selectItemRef = this[`selectedList_${searchList.length - 1}`];
53
+ scrollTo(containerRef, selectItemRef);
54
+ }
55
+ }
56
+
57
+ getSelectedItemRef(el, index) {
58
+ this[`selectedList_${index}`] = el;
59
+ }
60
+
61
+ componentDidUpdate(prevProps) {
62
+ let {
63
+ isTagListLoading,
64
+ tagsList,
65
+ isPopupReady,
66
+ selectSearchIndex
67
+ } = this.props;
68
+
69
+ if (prevProps.isTagListLoading !== isTagListLoading && !isTagListLoading || isPopupReady && prevProps.tagsList.length !== tagsList.length) {
70
+ setTimeout(() => {
71
+ if (this.inputEl) {
72
+ this.inputEl.focus();
73
+ }
74
+ }, 300);
75
+ }
76
+
77
+ if (selectSearchIndex != prevProps.selectSearchIndex) {
78
+ let selectItemRef = this[`selectedList_${selectSearchIndex}`];
79
+ let {
80
+ containerRef
81
+ } = this;
82
+ scrollTo(containerRef, selectItemRef);
83
+ }
84
+ }
85
+
86
+ emptySearchSVG() {
87
+ return /*#__PURE__*/React.createElement(EmptySearch, {
88
+ size: "small"
89
+ });
90
+ }
91
+
92
+ onShowAllClick() {
93
+ this.setState({
94
+ showAll: !this.state.showAll
95
+ });
96
+ }
97
+
98
+ getContainerRef(ele) {
99
+ this.containerRef = ele;
100
+ }
101
+
102
+ responsiveFunc(_ref) {
103
+ let {
104
+ mediaQueryOR
105
+ } = _ref;
106
+ return {
107
+ tabletMode: mediaQueryOR([{
108
+ maxWidth: 700
109
+ }])
110
+ };
111
+ }
112
+
113
+ render() {
114
+ let {
115
+ searchList,
116
+ selectSearchIndex,
117
+ tagsList,
118
+ deleteTag,
119
+ name,
120
+ isReadOnly,
121
+ className,
122
+ handleKeyUp,
123
+ handleChange,
124
+ addTag,
125
+ isTagListLoading,
126
+ getContainerRef,
127
+ getTargetRef,
128
+ isPopupReady,
129
+ isPopupOpen,
130
+ boxPosition,
131
+ handleTogglePopup,
132
+ listDisabled,
133
+ chipNeedToShow,
134
+ i18nKeys,
135
+ dataId,
136
+ needBorder,
137
+ borderColor,
138
+ getTextBoxChildren,
139
+ htmlId,
140
+ boxSize,
141
+ onSelectTag,
142
+ clickableTag,
143
+ dataSelectorId
144
+ } = this.props;
145
+ let {
146
+ showAll
147
+ } = this.state;
148
+ let chipLimit = !isPopupReady ? showAll ? tagsList.length : chipNeedToShow : tagsList.length;
149
+ return /*#__PURE__*/React.createElement("div", {
150
+ className: ` ${!isReadOnly ? ` ${needBorder ? style.hasBorder : ''}
151
+ ${needBorder ? style[`borderColor_${borderColor}`] : style.borderColor_transparent} ${isPopupReady && needBorder ? style.active : ''}` : ''} ${className}`,
152
+ onClick: stopBubbling,
153
+ "data-id": `${dataId}_tagsContainer`,
154
+ "data-test-id": `${dataId}_tagsContainer`,
155
+ "data-selector-id": dataSelectorId
156
+ }, /*#__PURE__*/React.createElement(Container, {
157
+ alignBox: "row",
158
+ align: "vertical",
159
+ isCover: false,
160
+ className: style.tagDiv,
161
+ wrap: "wrap",
162
+ eleRef: getTargetRef,
163
+ scroll: "vertical"
164
+ }, tagsList.length ? /*#__PURE__*/React.createElement(React.Fragment, null, tagsList.map((tag, index) => {
165
+ let {
166
+ name,
167
+ tagType,
168
+ id
169
+ } = tag;
170
+ return index < chipLimit ? /*#__PURE__*/React.createElement(Box, {
171
+ className: style.tag,
172
+ key: index
173
+ }, /*#__PURE__*/React.createElement(Tag, {
174
+ id: id,
175
+ text: name,
176
+ onRemove: isReadOnly ? null : deleteTag.bind(this, name),
177
+ closeTitle: i18nKeys.deleteText,
178
+ palette: clickableTag ? 'defaultLink' : tagType === 'SYSTEM' ? 'primary' : 'default',
179
+ isReadOnly: isReadOnly,
180
+ onSelectTag: onSelectTag ? onSelectTag : undefined
181
+ })) : null;
182
+ }), tagsList.length > chipNeedToShow && !isPopupReady ? /*#__PURE__*/React.createElement(Box, {
183
+ className: style.moreLess,
184
+ dataId: `${dataId}_tagsMore`,
185
+ onClick: this.onShowAllClick
186
+ }, showAll ? `${i18nKeys.lessText}` : `+${tagsList.length - chipNeedToShow} ${i18nKeys.moreText}`) : null) : null, /*#__PURE__*/React.createElement(Box, {
187
+ flexible: true,
188
+ adjust: true,
189
+ shrink: true,
190
+ className: style.inputWrapper
191
+ }, /*#__PURE__*/React.createElement("span", {
192
+ className: style.custmSpan
193
+ }, name), /*#__PURE__*/React.createElement(TextBoxIcon, {
194
+ htmlId: htmlId,
195
+ dataId: `${dataId}_tagInp`,
196
+ value: name,
197
+ onKeyUp: handleKeyUp,
198
+ onChange: handleChange,
199
+ maxLength: 50,
200
+ isReadOnly: isReadOnly,
201
+ needBorder: false,
202
+ placeHolder: tagsList.length ? '' : i18nKeys.placeholderText || '-',
203
+ onClick: !isReadOnly ? handleTogglePopup : undefined,
204
+ customClass: {
205
+ customTBoxWrap: style.custmInp,
206
+ customTextBox: style.input
207
+ },
208
+ size: "xsmall",
209
+ inputRef: this.textInputRef
210
+ }, getTextBoxChildren ? getTextBoxChildren() : null))), isPopupOpen ? /*#__PURE__*/React.createElement(ResponsiveReceiver, {
211
+ query: this.responsiveFunc,
212
+ responsiveId: "Helmet"
213
+ }, _ref2 => {
214
+ let {
215
+ tabletMode
216
+ } = _ref2;
217
+ return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
218
+ isAnimate: false,
219
+ isActive: isPopupReady,
220
+ isArrow: false,
221
+ getRef: getContainerRef,
222
+ isBoxPaddingNeed: true,
223
+ size: boxSize,
224
+ boxPosition: boxPosition,
225
+ isPadding: false,
226
+ customClass: {
227
+ customDropBoxWrap: style.dropdown
228
+ },
229
+ dataId: `${dataId}_dropbox`,
230
+ isResponsivePadding: true,
231
+ alignBox: "row"
232
+ }, /*#__PURE__*/React.createElement(Box, {
233
+ flexible: true
234
+ }, isTagListLoading ? /*#__PURE__*/React.createElement(Container, {
235
+ align: "both",
236
+ className: `${tabletMode ? '' : style.viewpopNew}`
237
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, {
238
+ scroll: "vertical",
239
+ className: `${tabletMode ? '' : style.viewpopNew}`,
240
+ onScroll: this.onScroll,
241
+ eleRef: this.getContainerRef
242
+ }, searchList.length ? /*#__PURE__*/React.createElement(Box, {
243
+ flexible: true,
244
+ shrink: true
245
+ }, searchList.map((item, index) => {
246
+ let {
247
+ name,
248
+ isNew
249
+ } = item;
250
+ return /*#__PURE__*/React.createElement(React.Fragment, null, searchList.length > 1 && isNew ? /*#__PURE__*/React.createElement(DropDownSeparator, null) : null, /*#__PURE__*/React.createElement(ListItem, {
251
+ key: index,
252
+ index: index,
253
+ autoHover: true,
254
+ value: isNew ? '' : name,
255
+ title: isNew ? '' : name,
256
+ onClick: addTag.bind(this, item),
257
+ needTick: true,
258
+ highlight: selectSearchIndex === index,
259
+ getRef: this.getSelectedItemRef,
260
+ isDisabled: listDisabled
261
+ }, isNew ? /*#__PURE__*/React.createElement(Container, {
262
+ alignBox: "row",
263
+ align: "vertical"
264
+ }, /*#__PURE__*/React.createElement(Box, {
265
+ className: style.newTagLabel
266
+ }, i18nKeys.newTagText, ":"), /*#__PURE__*/React.createElement(Box, {
267
+ shrink: true,
268
+ "data-title": name,
269
+ className: `${style.dotted} ${style.newTagText} `,
270
+ dataId: `${dataId}_new_tag_text`
271
+ }, name)) : null));
272
+ })) : /*#__PURE__*/React.createElement(Box, {
273
+ flexible: true,
274
+ dataId: `${dataId}_empty`
275
+ }, /*#__PURE__*/React.createElement(Container, {
276
+ className: style.searchEmpty
277
+ }, /*#__PURE__*/React.createElement(CommonEmptyState, {
278
+ title: i18nKeys.emptyTitleText,
279
+ description: i18nKeys.emptyDescription,
280
+ size: "small",
281
+ getEmptyState: this.emptySearchSVG
282
+ })))))));
283
+ }) : null);
284
+ }
285
+
286
+ }
287
+ TagsMultiSelect.propTypes = propTypes;
288
+ TagsMultiSelect.defaultProps = defaultProps; // if (__DOCS__) {
289
+ // TagsMultiSelect.docs = {
290
+ // componentGroup: 'TagsMultiSelect'
291
+ // };
292
+ // }
@@ -0,0 +1,261 @@
1
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import React, { useState, useEffect } from 'react';
4
+ import { defaultProps } from '../../../../form/fields/TagsMultiSelectField/props/defaultProps';
5
+ import { propTypes } from '../../../../form/fields/TagsMultiSelectField/props/propTypes';
6
+ import { Box } from '@zohodesk/components/es/v1/Layout';
7
+ import Label from '@zohodesk/components/es/v1/Label/Label';
8
+ import Popup from '@zohodesk/components/es/v1/Popup/Popup';
9
+ import ValidationMessage from '../ValidationMessage/ValidationMessage';
10
+ import TagsMultiSelect from '../TagsMultiSelect/TagsMultiSelect';
11
+ import FieldContainer from '../FieldContainer/FieldContainer';
12
+ /**** css ****/
13
+
14
+ import fieldStyle from '../../../../form/fields/Fields.module.css';
15
+ import style from '../../../../form/fields/TagsMultiSelectField/TagsMultiSelectField.module.css';
16
+
17
+ const TagsMultiSelectField = props => {
18
+ const [selectedSuggestionIndex, updateSelectedSuggestionIndex] = useState(0);
19
+ const [isValueChanged, updateValueChangedState] = useState(false);
20
+ let [searchValue, changeSearchValue] = useState(props.searchValue || '');
21
+ const {
22
+ fieldProperties,
23
+ styleProperties,
24
+ actions,
25
+ dataId,
26
+ htmlId,
27
+ isLoading,
28
+ isListDisabled,
29
+ isNewNeeded,
30
+ isPopupOpen,
31
+ isPopupReady,
32
+ removeClose,
33
+ position,
34
+ togglePopup,
35
+ noMoreData,
36
+ numberOfDisplayedValues,
37
+ getTargetRef,
38
+ getContainerRef,
39
+ i18nKeys = {},
40
+ getTextBoxChildren,
41
+ children,
42
+ ePhiData,
43
+ customProps,
44
+ clickableTag,
45
+ dataSelectorId
46
+ } = props;
47
+ const {
48
+ LabelProps = {},
49
+ TagsMultiSelectProps = {},
50
+ ValidationMessageProps = {}
51
+ } = customProps;
52
+ const {
53
+ labelSize,
54
+ labelPalette,
55
+ labelClass,
56
+ containerClass,
57
+ needBorder,
58
+ borderColor,
59
+ validationPalette,
60
+ errorType
61
+ } = styleProperties;
62
+ let {
63
+ onChange,
64
+ onAdd,
65
+ onDelete,
66
+ onScroll,
67
+ onFocus
68
+ } = actions;
69
+ let {
70
+ id,
71
+ labelName,
72
+ isMandatory,
73
+ isDisabled,
74
+ isReadOnly,
75
+ value,
76
+ selectedValueCount,
77
+ validationMessage,
78
+ options
79
+ } = fieldProperties;
80
+ options = options || [];
81
+
82
+ const handleKeyUp = event => {
83
+ let {
84
+ keyCode
85
+ } = event;
86
+ onAdd = typeof onAdd !== 'function' ? () => {} : onAdd;
87
+ onDelete = typeof onDelete !== 'function' ? () => {} : onDelete;
88
+
89
+ if (keyCode === 13) {
90
+ if (selectedSuggestionIndex > -1 && options.length) {
91
+ if (options.length === 1 && options[0].isNew) {
92
+ searchValue = searchValue.replace(',', '');
93
+ onAdd({
94
+ name: searchValue
95
+ }, event);
96
+ } else {
97
+ onAdd(options[selectedSuggestionIndex], event);
98
+ }
99
+ } else {
100
+ searchValue = searchValue.replace(',', '');
101
+ onAdd({
102
+ name: searchValue
103
+ }, event);
104
+ }
105
+
106
+ changeSearchValue('');
107
+ updateSelectedSuggestionIndex(prevSelectedSuggestionIndex => {
108
+ let newIndex = 0;
109
+
110
+ if (options.length) {
111
+ if (options.length === 1 && options[0].isNew) {
112
+ return newIndex;
113
+ }
114
+
115
+ newIndex = prevSelectedSuggestionIndex === options.length - 1 ? options.length - 2 : prevSelectedSuggestionIndex;
116
+ }
117
+
118
+ return newIndex;
119
+ });
120
+ } else if (keyCode === 188 && !event.shiftKey) {
121
+ searchValue = searchValue.replace(',', '');
122
+
123
+ if (options.length === 1 && options[0].isNew) {
124
+ onAdd({
125
+ name: searchValue
126
+ }, event);
127
+ changeSearchValue('');
128
+ }
129
+ } else if (keyCode === 40) {
130
+ updateSelectedSuggestionIndex(prevSelectedSuggestionIndex => {
131
+ let newIndex = prevSelectedSuggestionIndex >= options.length - 1 ? 0 : prevSelectedSuggestionIndex + 1;
132
+ return newIndex;
133
+ });
134
+ } else if (keyCode === 38) {
135
+ updateSelectedSuggestionIndex(prevSelectedSuggestionIndex => {
136
+ let newIndex = prevSelectedSuggestionIndex <= 0 || prevSelectedSuggestionIndex >= options.length - 1 ? options.length - 1 : prevSelectedSuggestionIndex - 1;
137
+ return newIndex;
138
+ });
139
+ } else if (keyCode === 8 && searchValue === '' & !isValueChanged) {
140
+ let valueLength = value.length;
141
+ value.length ? onDelete(value[valueLength - 1].name, event) : undefined;
142
+ }
143
+
144
+ updateValueChangedState(false);
145
+ };
146
+
147
+ const handleChange = (searchValue, event) => {
148
+ updateValueChangedState(true);
149
+ updateSelectedSuggestionIndex(0);
150
+ changeSearchValue(searchValue);
151
+ typeof onChange === 'function' && onChange(searchValue, event);
152
+
153
+ if (!isPopupOpen) {
154
+ togglePopup(event);
155
+ }
156
+ };
157
+
158
+ const handleTogglePopup = event => {
159
+ if (isPopupReady) {
160
+ removeClose(event);
161
+ } else {
162
+ togglePopup(event, position);
163
+ !isPopupOpen && typeof onFocus === 'function' ? onFocus(event) : null;
164
+ updateSelectedSuggestionIndex(0);
165
+ }
166
+ };
167
+
168
+ const handleAdd = value => {
169
+ changeSearchValue('');
170
+ typeof onAdd === 'function' && onAdd(value);
171
+ };
172
+
173
+ const documentClick = () => {
174
+ changeSearchValue('');
175
+ };
176
+
177
+ const renderEnd = () => {
178
+ return children ? children : null;
179
+ };
180
+
181
+ useEffect(() => {
182
+ window.addEventListener('click', documentClick);
183
+ return () => {
184
+ window.removeEventListener('click', documentClick);
185
+ };
186
+ }, []);
187
+ return /*#__PURE__*/React.createElement("div", {
188
+ className: `${isDisabled ? fieldStyle.disabled : isReadOnly ? fieldStyle.readonly : ''}`,
189
+ tabIndex: "0",
190
+ "aria-label": `${labelName}`,
191
+ "data-selector-id": dataSelectorId
192
+ }, labelName && /*#__PURE__*/React.createElement(FieldContainer, {
193
+ ePhiData: ePhiData,
194
+ alignContainer: "baseline",
195
+ renderProps: {
196
+ end: renderEnd
197
+ }
198
+ }, /*#__PURE__*/React.createElement(Label, _extends({
199
+ text: labelName,
200
+ title: labelName,
201
+ id: id,
202
+ size: labelSize,
203
+ palette: isMandatory ? 'mandatory' : isDisabled ? 'primary' : labelPalette,
204
+ customClass: `${fieldStyle.fieldLabel} ${isMandatory ? fieldStyle.labelMandatory : ''} ${labelClass ? labelClass : ''}`,
205
+ dataId: isDisabled ? `${dataId}_label_disabled` : isMandatory ? `${dataId}_label_mandatory` : `${dataId}_label`,
206
+ htmlFor: htmlId
207
+ }, LabelProps)), selectedValueCount ? /*#__PURE__*/React.createElement(Box, {
208
+ dataId: `${dataId}_tagCount`,
209
+ className: style.count
210
+ }, `(${selectedValueCount})`) : null), /*#__PURE__*/React.createElement(TagsMultiSelect, _extends({
211
+ addTag: handleAdd,
212
+ deleteTag: onDelete,
213
+ handleChange: handleChange,
214
+ handleKeyUp: handleKeyUp,
215
+ isReadOnly: isReadOnly,
216
+ name: searchValue,
217
+ noMoreData: noMoreData,
218
+ searchList: isNewNeeded && searchValue.length && !options.length ? [{
219
+ isNew: true,
220
+ name: searchValue
221
+ }] : options,
222
+ selectSearchIndex: selectedSuggestionIndex,
223
+ tagsList: value,
224
+ i18nKeys: i18nKeys,
225
+ boxPosition: position,
226
+ getTargetRef: getTargetRef,
227
+ getContainerRef: getContainerRef,
228
+ handleTogglePopup: handleTogglePopup,
229
+ isPopupReady: isPopupReady,
230
+ isPopupOpen: isPopupOpen,
231
+ onScroll: onScroll,
232
+ isTagListLoading: isLoading,
233
+ listDisabled: isListDisabled,
234
+ chipNeedToShow: numberOfDisplayedValues,
235
+ dataId: dataId,
236
+ needBorder: needBorder,
237
+ borderColor: borderColor,
238
+ htmlId: htmlId,
239
+ getTextBoxChildren: getTextBoxChildren,
240
+ className: containerClass
241
+ }, TagsMultiSelectProps, {
242
+ clickableTag: clickableTag
243
+ })), validationMessage && /*#__PURE__*/React.createElement(ValidationMessage, _extends({
244
+ text: validationMessage,
245
+ palette: validationPalette,
246
+ type: errorType,
247
+ dataId: `${dataId}_ValidationMessage`,
248
+ htmlFor: htmlId
249
+ }, ValidationMessageProps)));
250
+ };
251
+
252
+ TagsMultiSelectField.propTypes = propTypes;
253
+ TagsMultiSelectField.defaultProps = defaultProps;
254
+ const TagsMultiSelectField_Component = Popup(TagsMultiSelectField);
255
+ TagsMultiSelectField_Component.defaultProps = TagsMultiSelectField.defaultProps;
256
+ TagsMultiSelectField_Component.propTypes = TagsMultiSelectField.propTypes;
257
+ export default TagsMultiSelectField_Component; // if (__DOCS__) {
258
+ // TagsMultiSelectField.docs = {
259
+ // componentGroup: 'TagsMultiSelectField'
260
+ // };
261
+ // }