@zohodesk/dot 1.0.0-beta.264 → 1.0.0-beta.265

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 (492) hide show
  1. package/README.md +4 -0
  2. package/es/ActionButton/ActionButton.js +5 -2
  3. package/es/AlphabeticList/AlphabeticList.js +10 -0
  4. package/es/Attachment/Attachment.js +2 -3
  5. package/es/AttachmentViewer/Attachment.js +1 -0
  6. package/es/AttachmentViewer/AttachmentImage.js +6 -0
  7. package/es/AttachmentViewer/AttachmentViewer.js +34 -3
  8. package/es/AttachmentViewer/utils.js +17 -0
  9. package/es/ChannelIcon/ChannelIcon.js +5 -2
  10. package/es/Drawer/Drawer.js +9 -3
  11. package/es/ExternalLink/ExternalLink.js +7 -4
  12. package/es/FlipCard/FlipCard.js +7 -2
  13. package/es/FormAction/FormAction.js +4 -5
  14. package/es/FreezeLayer/FreezeLayer.js +2 -4
  15. package/es/FreezeLayer/useFreezeLayer.js +5 -0
  16. package/es/Hooks/Dragger/useDragger.js +29 -27
  17. package/es/IconButton/IconButton.js +9 -3
  18. package/es/Image/Image.js +2 -2
  19. package/es/ImportantNotes/ImportantNotes.js +3 -3
  20. package/es/Link/Link.js +15 -5
  21. package/es/Loader/Loader.js +2 -2
  22. package/es/Message/Message.js +9 -3
  23. package/es/MessageBanner/MessageBanner.js +2 -3
  24. package/es/NewStar/NewStar.js +10 -15
  25. package/es/PlusIcon/PlusIcon.js +3 -3
  26. package/es/Separator/Separator.js +3 -0
  27. package/es/TagWithIcon/TagWithIcon.js +1 -0
  28. package/es/ToastMessage/ToastMessage.js +15 -10
  29. package/es/Upload/Upload.js +2 -3
  30. package/es/actions/AutoClose.js +4 -0
  31. package/es/actions/index.js +3 -0
  32. package/es/alert/AlertHeader/AlertHeader.js +2 -3
  33. package/es/alert/AlertLookup/AlertLookup.js +5 -5
  34. package/es/avatar/AvatarClose/AvatarClose.js +4 -2
  35. package/es/avatar/AvatarCollision/AvatarCollision.js +4 -2
  36. package/es/avatar/AvatarIcon/AvatarIcon.js +3 -2
  37. package/es/avatar/AvatarStatus/AvatarStatus.js +4 -3
  38. package/es/avatar/AvatarThread/AvatarThread.js +3 -3
  39. package/es/avatar/AvatarUser/AvatarUser.js +4 -3
  40. package/es/avatar/AvatarWithTeam/AvatarWithTeam.js +3 -3
  41. package/es/deprecated/FreezeLayer/FreezeLayer.js +10 -3
  42. package/es/deprecated/SelectDropdown/SelectDropdown.js +8 -2
  43. package/es/deprecated/utils/General.js +2 -0
  44. package/es/deprecated/utils/KeyboardApi.js +45 -4
  45. package/es/docs/generalDocs.js +2 -2
  46. package/es/docs/lookupDocs.js +1 -2
  47. package/es/dropdown/ToggleDropDown/ToggleDropDown.js +64 -6
  48. package/es/emptystate/CommonEmptyState/CommonEmptyState.js +2 -3
  49. package/es/emptystate/EditionPage/EditionPage.js +3 -3
  50. package/es/errorstate/Inconvenience/Inconvenience.js +4 -0
  51. package/es/errorstate/LinkText/LinkText.js +2 -2
  52. package/es/errorstate/NoRequestFound/NoRequestFound.js +4 -2
  53. package/es/errorstate/PermissionPlay/PermissionPlay.js +4 -2
  54. package/es/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +4 -2
  55. package/es/errorstate/UnableToProcess/UnableToProcess.js +4 -0
  56. package/es/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +4 -2
  57. package/es/errorstate/WillBack/WillBack.js +4 -2
  58. package/es/form/fields/CheckBoxField/CheckBoxField.js +9 -5
  59. package/es/form/fields/CurrencyField/CurrencyField.js +12 -5
  60. package/es/form/fields/DateField/DateField.js +15 -5
  61. package/es/form/fields/FieldContainer/FieldContainer.js +6 -4
  62. package/es/form/fields/FieldContainer/props/defaultProps.js +1 -2
  63. package/es/form/fields/FieldContainer/props/propTypes.js +1 -2
  64. package/es/form/fields/MultiSelectField/MultiSelectField.js +15 -12
  65. package/es/form/fields/PhoneField/PhoneField.js +13 -5
  66. package/es/form/fields/RadioField/RadioField.js +7 -4
  67. package/es/form/fields/SelectField/SelectField.js +11 -10
  68. package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +14 -3
  69. package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +20 -4
  70. package/es/form/fields/TextBoxField/TextBoxField.js +11 -10
  71. package/es/form/fields/TextEditor/TextEditor.js +58 -7
  72. package/es/form/fields/TextEditorField/TextEditorField.js +11 -5
  73. package/es/form/fields/TextEditorWrapper/TextEditorWrapper.js +12 -4
  74. package/es/form/fields/TextareaField/TextareaField.js +13 -12
  75. package/es/form/fields/ValidationMessage/ValidationMessage.js +2 -3
  76. package/es/form/layout/Field/Field.js +2 -3
  77. package/es/form/layout/Section/Section.js +3 -2
  78. package/es/layout/SetupDetailLayout/SetupDetailLayout.js +11 -3
  79. package/es/layout/SubtabLayout/SubtabLayout.js +6 -3
  80. package/es/list/AvatarFlip/AvatarFlip.js +2 -3
  81. package/es/list/BluePrintStatus/BluePrintStatus.js +3 -3
  82. package/es/list/Comment/Comment.js +3 -3
  83. package/es/list/DepartmentDropDown/DepartmentDropDown.js +9 -2
  84. package/es/list/Dot/Dot.js +2 -0
  85. package/es/list/DotNew/DotNew.js +3 -3
  86. package/es/list/GridStencils/GridStencils.js +2 -3
  87. package/es/list/Icons/AddNewIcon.js +1 -0
  88. package/es/list/Icons/CompleteIcon.js +1 -0
  89. package/es/list/Icons/DeleteIcon.js +1 -0
  90. package/es/list/Icons/EditIcon.js +1 -0
  91. package/es/list/Icons/FloatingIcons.js +3 -3
  92. package/es/list/Icons/ReadUnreadIcon.js +1 -0
  93. package/es/list/Icons/SmartIcon.js +1 -0
  94. package/es/list/ListLayout/ListLayout.js +6 -3
  95. package/es/list/ListStencils/ListStencils.js +4 -4
  96. package/es/list/SecondaryText/AccountName.js +6 -5
  97. package/es/list/SecondaryText/ContactName.js +3 -3
  98. package/es/list/SecondaryText/DepartmentText.js +3 -3
  99. package/es/list/SecondaryText/Email.js +6 -5
  100. package/es/list/SecondaryText/HappinessRating.js +3 -4
  101. package/es/list/SecondaryText/PhoneNumber.js +6 -5
  102. package/es/list/SecondaryText/PriorityText.js +3 -3
  103. package/es/list/SecondaryText/SecondaryText.js +4 -3
  104. package/es/list/SecondaryText/StatusText.js +3 -3
  105. package/es/list/SecondaryText/TicketId.js +4 -3
  106. package/es/list/SecondaryText/Website.js +5 -5
  107. package/es/list/SecondryPanel/SecondryPanel.js +9 -8
  108. package/es/list/SentimentStatus/SentimentStatus.js +3 -3
  109. package/es/list/Subject/Subject.js +4 -3
  110. package/es/list/TagNew/TagNew.js +3 -3
  111. package/es/list/Thread/Thread.js +3 -3
  112. package/es/list/UserTime/UserTime.js +3 -3
  113. package/es/list/status/StatusDropdown/StatusDropdown.js +32 -2
  114. package/es/list/status/StatusListItem/StatusListItem.js +11 -3
  115. package/es/lookup/EmptyPage/EmptyPage.js +9 -3
  116. package/es/lookup/Lookup/Lookup.js +9 -5
  117. package/es/lookup/Section/Section.js +2 -0
  118. package/es/lookup/header/Close/Close.js +3 -4
  119. package/es/lookup/header/ModuleHeader/ModuleHeader.js +4 -6
  120. package/es/lookup/header/Search/Search.js +21 -6
  121. package/es/lookup/header/TicketHeader/TicketHeader.js +4 -6
  122. package/es/lookup/header/Title/Title.js +3 -4
  123. package/es/lookup/header/ViewDropDown/ViewDropDown.js +12 -6
  124. package/es/lookup/header/ViewDropDown/props/propTypes.js +1 -0
  125. package/es/setup/header/Button/Button.js +3 -3
  126. package/es/setup/header/Link/Link.js +3 -3
  127. package/es/setup/header/Search/Search.js +5 -3
  128. package/es/setup/header/Views/Views.js +3 -3
  129. package/es/setup/helptips/Description/Description.js +3 -3
  130. package/es/setup/helptips/Link/Link.js +5 -3
  131. package/es/setup/helptips/ListGroup/ListGroup.js +5 -3
  132. package/es/setup/helptips/Title/Title.js +3 -3
  133. package/es/setup/table/Table/Table.js +2 -3
  134. package/es/setup/table/TableBody/TableBody.js +2 -3
  135. package/es/setup/table/TableData/TableData.js +3 -3
  136. package/es/setup/table/TableHead/TableHead.js +3 -3
  137. package/es/setup/table/TableRow/TableRow.js +3 -3
  138. package/es/setup/table/Text/Text.js +4 -3
  139. package/es/svg/PlusIcon.js +2 -3
  140. package/es/svg/SnippetIcon.js +2 -3
  141. package/es/svg/TemplateIcon.js +2 -3
  142. package/es/utils/General.js +7 -0
  143. package/es/utils/editorUtils.js +40 -16
  144. package/es/version2/AlertClose/AlertClose.js +2 -3
  145. package/es/version2/GlobalNotification/GlobalNotification.js +9 -3
  146. package/es/version2/alertIcons/AlarmAlertIcon.js +1 -0
  147. package/es/version2/alertIcons/AlertIcons.js +2 -3
  148. package/es/version2/alertIcons/DangerAlertIcon.js +1 -0
  149. package/es/version2/alertIcons/ErrorAlertIcon.js +1 -0
  150. package/es/version2/alertIcons/InfoAlertIcon.js +1 -0
  151. package/es/version2/alertIcons/NotificationAlertIcon.js +1 -0
  152. package/es/version2/alertIcons/SuccessAlertIcon.js +1 -0
  153. package/es/version2/alertIcons/WarningAlertIcon.js +1 -0
  154. package/es/version2/errorstate/Inconvenience/Inconvenience.js +4 -3
  155. package/es/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +4 -3
  156. package/es/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +4 -3
  157. package/es/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +4 -3
  158. package/es/version2/errorstate/UrlNotFound/UrlNotFound.js +4 -3
  159. package/es/version2/errorstate/WillBeRightBack/WillBeRightBack.js +4 -3
  160. package/es/version2/lookup/AlertHeader/AlertHeader.js +9 -10
  161. package/es/version2/lookup/AlertLookup/AlertLookup.js +8 -12
  162. package/es/version2/notification/DesktopNotification/DesktopNotification.js +5 -3
  163. package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +3 -3
  164. package/lib/ActionButton/ActionButton.js +64 -34
  165. package/lib/ActionButton/props/propTypes.js +3 -0
  166. package/lib/AlphabeticList/AlphabeticList.js +53 -21
  167. package/lib/AlphabeticList/props/propTypes.js +10 -1
  168. package/lib/Attachment/Attachment.js +41 -19
  169. package/lib/Attachment/props/propTypes.js +3 -0
  170. package/lib/AttachmentViewer/Attachment.js +4 -0
  171. package/lib/AttachmentViewer/AttachmentImage.js +36 -10
  172. package/lib/AttachmentViewer/AttachmentViewer.js +87 -24
  173. package/lib/AttachmentViewer/props/propTypes.js +3 -0
  174. package/lib/AttachmentViewer/utils.js +31 -10
  175. package/lib/ChannelIcon/ChannelIcon.js +55 -27
  176. package/lib/ChannelIcon/props/propTypes.js +3 -0
  177. package/lib/Drawer/Drawer.js +109 -51
  178. package/lib/Drawer/index.js +4 -0
  179. package/lib/Drawer/props/propTypes.js +3 -0
  180. package/lib/ExternalLink/ExternalLink.js +37 -15
  181. package/lib/ExternalLink/__tests__/ExternalLink.spec.js +7 -0
  182. package/lib/ExternalLink/props/propTypes.js +3 -0
  183. package/lib/FlipCard/FlipCard.js +72 -40
  184. package/lib/FlipCard/props/propTypes.js +3 -0
  185. package/lib/FormAction/FormAction.js +41 -13
  186. package/lib/FormAction/props/propTypes.js +3 -0
  187. package/lib/FreezeLayer/FreezeLayer.js +40 -25
  188. package/lib/FreezeLayer/css/cssJSLogic.js +9 -8
  189. package/lib/FreezeLayer/index.js +3 -0
  190. package/lib/FreezeLayer/props/propTypes.js +3 -0
  191. package/lib/FreezeLayer/useFreezeLayer.js +30 -9
  192. package/lib/Hooks/Dragger/props/propTypes.js +3 -0
  193. package/lib/Hooks/Dragger/useDragger.js +36 -28
  194. package/lib/Hooks/Dragger/utils/DraggerUtil.js +8 -7
  195. package/lib/IconButton/IconButton.js +61 -36
  196. package/lib/IconButton/props/propTypes.js +6 -4
  197. package/lib/Image/Image.js +35 -15
  198. package/lib/Image/props/propTypes.js +3 -0
  199. package/lib/ImportantNotes/ImportantNotes.js +34 -13
  200. package/lib/ImportantNotes/props/propTypes.js +3 -0
  201. package/lib/Link/Link.js +56 -25
  202. package/lib/Link/LinkContext.js +4 -0
  203. package/lib/Link/props/propTypes.js +3 -0
  204. package/lib/Loader/Loader.js +25 -3
  205. package/lib/Message/Message.js +43 -16
  206. package/lib/Message/props/propTypes.js +3 -0
  207. package/lib/MessageBanner/MessageBanner.js +38 -16
  208. package/lib/MessageBanner/props/propTypes.js +3 -0
  209. package/lib/NewStar/NewStar.js +38 -21
  210. package/lib/NewStar/props/propTypes.js +3 -0
  211. package/lib/PlusIcon/PlusIcon.js +34 -14
  212. package/lib/PlusIcon/props/propTypes.js +3 -0
  213. package/lib/Provider/Config.js +2 -0
  214. package/lib/Separator/Separator.js +36 -13
  215. package/lib/Separator/props/propTypes.js +3 -0
  216. package/lib/TagWithIcon/TagWithIcon.js +36 -13
  217. package/lib/TagWithIcon/props/propTypes.js +3 -0
  218. package/lib/ToastMessage/ToastMessage.js +75 -45
  219. package/lib/ToastMessage/props/propTypes.js +3 -0
  220. package/lib/Upload/Upload.js +42 -20
  221. package/lib/Upload/props/propTypes.js +3 -0
  222. package/lib/actions/AutoClose.js +29 -9
  223. package/lib/actions/index.js +5 -0
  224. package/lib/actions/props/propTypes.js +3 -0
  225. package/lib/alert/AlertHeader/AlertHeader.js +43 -18
  226. package/lib/alert/AlertHeader/props/propTypes.js +3 -0
  227. package/lib/alert/AlertLookup/AlertLookup.js +67 -40
  228. package/lib/alert/AlertLookup/props/propTypes.js +3 -0
  229. package/lib/alert/index.js +3 -0
  230. package/lib/avatar/AvatarClose/AvatarClose.js +39 -16
  231. package/lib/avatar/AvatarClose/props/propTypes.js +3 -0
  232. package/lib/avatar/AvatarCollision/AvatarCollision.js +42 -19
  233. package/lib/avatar/AvatarCollision/props/propTypes.js +3 -0
  234. package/lib/avatar/AvatarIcon/AvatarIcon.js +45 -21
  235. package/lib/avatar/AvatarIcon/props/propTypes.js +3 -0
  236. package/lib/avatar/AvatarStatus/AvatarStatus.js +49 -28
  237. package/lib/avatar/AvatarStatus/props/propTypes.js +6 -4
  238. package/lib/avatar/AvatarThread/AvatarThread.js +55 -33
  239. package/lib/avatar/AvatarThread/props/propTypes.js +3 -0
  240. package/lib/avatar/AvatarUser/AvatarUser.js +63 -40
  241. package/lib/avatar/AvatarUser/props/propTypes.js +3 -0
  242. package/lib/avatar/AvatarWithTeam/AvatarWithTeam.js +54 -32
  243. package/lib/avatar/AvatarWithTeam/__tests__/AvatarWithTeam.spec.js +12 -6
  244. package/lib/avatar/AvatarWithTeam/props/propTypes.js +3 -0
  245. package/lib/avatar/index.js +8 -0
  246. package/lib/deprecated/FreezeLayer/FreezeLayer.js +49 -20
  247. package/lib/deprecated/FreezeLayer/props/propTypes.js +3 -0
  248. package/lib/deprecated/SelectDropdown/SelectDropdown.js +52 -21
  249. package/lib/deprecated/utils/General.js +5 -0
  250. package/lib/deprecated/utils/KeyboardApi.js +48 -7
  251. package/lib/docs/formDocs.js +16 -0
  252. package/lib/docs/generalDocs.js +60 -0
  253. package/lib/docs/lookupDocs.js +17 -0
  254. package/lib/docs/setupDocs.js +12 -0
  255. package/lib/dropdown/ToggleDropDown/ToggleDropDown.js +225 -145
  256. package/lib/dropdown/ToggleDropDown/props/propTypes.js +3 -0
  257. package/lib/emptystate/CommonEmptyState/CommonEmptyState.js +46 -24
  258. package/lib/emptystate/CommonEmptyState/props/propTypes.js +3 -0
  259. package/lib/emptystate/EditionPage/EditionPage.js +36 -14
  260. package/lib/emptystate/EditionPage/props/propTypes.js +3 -0
  261. package/lib/errorstate/Inconvenience/Inconvenience.js +40 -12
  262. package/lib/errorstate/Inconvenience/props/propTypes.js +3 -0
  263. package/lib/errorstate/LinkText/LinkText.js +31 -10
  264. package/lib/errorstate/LinkText/props/propTypes.js +3 -0
  265. package/lib/errorstate/NoRequestFound/NoRequestFound.js +40 -14
  266. package/lib/errorstate/NoRequestFound/props/propTypes.js +3 -0
  267. package/lib/errorstate/PermissionPlay/PermissionPlay.js +40 -14
  268. package/lib/errorstate/PermissionPlay/props/propTypes.js +3 -0
  269. package/lib/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +40 -14
  270. package/lib/errorstate/RequestUrlNotFound/props/propTypes.js +3 -0
  271. package/lib/errorstate/UnableToProcess/UnableToProcess.js +40 -12
  272. package/lib/errorstate/UnableToProcess/props/propTypes.js +3 -0
  273. package/lib/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +40 -14
  274. package/lib/errorstate/UnauthorizedLogin/props/propTypes.js +3 -0
  275. package/lib/errorstate/WillBack/WillBack.js +33 -8
  276. package/lib/errorstate/WillBack/props/propTypes.js +3 -0
  277. package/lib/errorstate/index.js +9 -0
  278. package/lib/form/fields/CheckBoxField/CheckBoxField.js +71 -41
  279. package/lib/form/fields/CheckBoxField/props/defaultProps.js +7 -4
  280. package/lib/form/fields/CheckBoxField/props/propTypes.js +9 -4
  281. package/lib/form/fields/CurrencyField/CurrencyField.js +81 -51
  282. package/lib/form/fields/CurrencyField/props/defaultProps.js +7 -4
  283. package/lib/form/fields/CurrencyField/props/propTypes.js +9 -4
  284. package/lib/form/fields/DateField/DateField.js +83 -50
  285. package/lib/form/fields/DateField/props/defaultProps.js +7 -4
  286. package/lib/form/fields/DateField/props/propTypes.js +9 -4
  287. package/lib/form/fields/FieldContainer/FieldContainer.js +48 -25
  288. package/lib/form/fields/FieldContainer/props/defaultProps.js +7 -4
  289. package/lib/form/fields/FieldContainer/props/propTypes.js +9 -4
  290. package/lib/form/fields/MultiSelectField/MultiSelectField.js +100 -74
  291. package/lib/form/fields/MultiSelectField/props/defaultProps.js +7 -4
  292. package/lib/form/fields/MultiSelectField/props/propTypes.js +9 -4
  293. package/lib/form/fields/PhoneField/PhoneField.js +73 -43
  294. package/lib/form/fields/PhoneField/props/propTypes.js +3 -0
  295. package/lib/form/fields/RadioField/RadioField.js +64 -36
  296. package/lib/form/fields/RadioField/props/propTypes.js +3 -0
  297. package/lib/form/fields/SelectField/SelectField.js +98 -71
  298. package/lib/form/fields/SelectField/props/defaultProps.js +7 -4
  299. package/lib/form/fields/SelectField/props/propTypes.js +9 -4
  300. package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +83 -46
  301. package/lib/form/fields/TagsMultiSelect/props/propTypes.js +3 -0
  302. package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +103 -62
  303. package/lib/form/fields/TagsMultiSelectField/props/defaultProps.js +7 -4
  304. package/lib/form/fields/TagsMultiSelectField/props/propTypes.js +9 -4
  305. package/lib/form/fields/TextBoxField/TextBoxField.js +85 -58
  306. package/lib/form/fields/TextBoxField/props/defaultProps.js +7 -4
  307. package/lib/form/fields/TextBoxField/props/propTypes.js +9 -4
  308. package/lib/form/fields/TextEditor/TextEditor.js +116 -53
  309. package/lib/form/fields/TextEditor/props/propTypes.js +3 -0
  310. package/lib/form/fields/TextEditorField/TextEditorField.js +89 -61
  311. package/lib/form/fields/TextEditorField/props/defaultProps.js +7 -4
  312. package/lib/form/fields/TextEditorField/props/propTypes.js +9 -4
  313. package/lib/form/fields/TextEditorWrapper/TextEditorWrapper.js +79 -47
  314. package/lib/form/fields/TextEditorWrapper/props/propTypes.js +3 -0
  315. package/lib/form/fields/TextareaField/TextareaField.js +81 -55
  316. package/lib/form/fields/TextareaField/props/defaultProps.js +7 -4
  317. package/lib/form/fields/TextareaField/props/propTypes.js +9 -4
  318. package/lib/form/fields/ValidationMessage/ValidationMessage.js +40 -18
  319. package/lib/form/fields/ValidationMessage/props/propTypes.js +3 -0
  320. package/lib/form/fields/index.js +17 -0
  321. package/lib/form/fields/props/FieldCommonDefaultProps.js +2 -0
  322. package/lib/form/fields/props/FieldCommonPropTypes.js +4 -0
  323. package/lib/form/layout/Field/Field.js +34 -13
  324. package/lib/form/layout/Field/props/propTypes.js +3 -0
  325. package/lib/form/layout/Section/Section.js +33 -12
  326. package/lib/form/layout/Section/props/propTypes.js +3 -0
  327. package/lib/form/layout/index.js +3 -0
  328. package/lib/index.js +57 -0
  329. package/lib/layout/SetupDetailLayout/SetupDetailLayout.js +83 -36
  330. package/lib/layout/SetupDetailLayout/index.js +4 -0
  331. package/lib/layout/SetupDetailLayout/props/propTypes.js +3 -0
  332. package/lib/layout/SubtabLayout/SubtabLayout.js +83 -39
  333. package/lib/layout/SubtabLayout/index.js +4 -0
  334. package/lib/layout/SubtabLayout/props/propTypes.js +3 -0
  335. package/lib/list/AvatarFlip/AvatarFlip.js +54 -32
  336. package/lib/list/AvatarFlip/props/propTypes.js +3 -0
  337. package/lib/list/BluePrintStatus/BluePrintStatus.js +25 -6
  338. package/lib/list/BluePrintStatus/props/propTypes.js +3 -0
  339. package/lib/list/Comment/Comment.js +33 -9
  340. package/lib/list/Comment/props/propTypes.js +3 -0
  341. package/lib/list/DepartmentDropDown/DepartmentDropDown.js +57 -28
  342. package/lib/list/DepartmentDropDown/props/propTypes.js +6 -4
  343. package/lib/list/Dot/Dot.js +28 -5
  344. package/lib/list/Dot/props/propTypes.js +3 -0
  345. package/lib/list/DotNew/DotNew.js +30 -9
  346. package/lib/list/DotNew/props/propTypes.js +3 -0
  347. package/lib/list/GridStencils/GridStencils.js +29 -11
  348. package/lib/list/GridStencils/props/propTypes.js +3 -0
  349. package/lib/list/Icons/AddNewIcon.js +29 -8
  350. package/lib/list/Icons/CompleteIcon.js +30 -9
  351. package/lib/list/Icons/DeleteIcon.js +30 -9
  352. package/lib/list/Icons/EditIcon.js +30 -9
  353. package/lib/list/Icons/FloatingIcons.js +32 -9
  354. package/lib/list/Icons/ReadUnreadIcon.js +33 -11
  355. package/lib/list/Icons/SmartIcon.js +31 -8
  356. package/lib/list/Icons/index.js +8 -0
  357. package/lib/list/Icons/props/propTypes.js +3 -0
  358. package/lib/list/ListLayout/ListLayout.js +58 -28
  359. package/lib/list/ListLayout/props/propTypes.js +6 -4
  360. package/lib/list/ListStencils/ListStencils.js +28 -6
  361. package/lib/list/ListStencils/props/propTypes.js +3 -0
  362. package/lib/list/SecondaryText/AccountName.js +51 -27
  363. package/lib/list/SecondaryText/ContactName.js +58 -32
  364. package/lib/list/SecondaryText/DepartmentText.js +30 -10
  365. package/lib/list/SecondaryText/Email.js +42 -19
  366. package/lib/list/SecondaryText/HappinessRating.js +29 -9
  367. package/lib/list/SecondaryText/PhoneNumber.js +44 -21
  368. package/lib/list/SecondaryText/PriorityText.js +32 -11
  369. package/lib/list/SecondaryText/SecondaryText.js +34 -12
  370. package/lib/list/SecondaryText/StatusText.js +33 -12
  371. package/lib/list/SecondaryText/TicketId.js +43 -20
  372. package/lib/list/SecondaryText/Website.js +35 -13
  373. package/lib/list/SecondaryText/index.js +12 -0
  374. package/lib/list/SecondaryText/props/propTypes.js +3 -0
  375. package/lib/list/SecondryPanel/SecondryPanel.js +71 -28
  376. package/lib/list/SecondryPanel/props/propTypes.js +3 -0
  377. package/lib/list/SentimentStatus/SentimentStatus.js +27 -8
  378. package/lib/list/SentimentStatus/props/propTypes.js +3 -0
  379. package/lib/list/Subject/Subject.js +45 -22
  380. package/lib/list/Subject/props/propTypes.js +3 -0
  381. package/lib/list/TagNew/TagNew.js +32 -11
  382. package/lib/list/TagNew/props/propTypes.js +3 -0
  383. package/lib/list/Thread/Thread.js +34 -11
  384. package/lib/list/Thread/props/propTypes.js +3 -0
  385. package/lib/list/UserTime/UserTime.js +45 -21
  386. package/lib/list/UserTime/props/propTypes.js +3 -0
  387. package/lib/list/index.js +21 -0
  388. package/lib/list/status/StatusDropdown/StatusDropdown.js +133 -77
  389. package/lib/list/status/StatusDropdown/props/propTypes.js +6 -4
  390. package/lib/list/status/StatusListItem/StatusListItem.js +63 -37
  391. package/lib/list/status/StatusListItem/props/propTypes.js +3 -0
  392. package/lib/list/status/index.js +3 -0
  393. package/lib/lookup/EmptyPage/EmptyPage.js +38 -8
  394. package/lib/lookup/EmptyPage/props/propTypes.js +3 -0
  395. package/lib/lookup/Lookup/Lookup.js +51 -23
  396. package/lib/lookup/Lookup/props/propTypes.js +3 -0
  397. package/lib/lookup/Section/Section.js +28 -5
  398. package/lib/lookup/Section/props/propTypes.js +3 -0
  399. package/lib/lookup/header/Close/Close.js +30 -9
  400. package/lib/lookup/header/Close/props/propTypes.js +3 -0
  401. package/lib/lookup/header/ModuleHeader/ModuleHeader.js +49 -23
  402. package/lib/lookup/header/ModuleHeader/props/propTypes.js +3 -0
  403. package/lib/lookup/header/Search/Search.js +67 -29
  404. package/lib/lookup/header/Search/props/propTypes.js +3 -0
  405. package/lib/lookup/header/TicketHeader/TicketHeader.js +50 -22
  406. package/lib/lookup/header/TicketHeader/props/propTypes.js +3 -0
  407. package/lib/lookup/header/Title/Title.js +30 -9
  408. package/lib/lookup/header/Title/props/propTypes.js +3 -0
  409. package/lib/lookup/header/ViewDropDown/ViewDropDown.js +62 -28
  410. package/lib/lookup/header/ViewDropDown/props/propTypes.js +4 -0
  411. package/lib/lookup/header/index.js +6 -0
  412. package/lib/lookup/index.js +9 -0
  413. package/lib/setup/header/Button/Button.js +30 -10
  414. package/lib/setup/header/Button/props/propTypes.js +3 -0
  415. package/lib/setup/header/Link/Link.js +33 -11
  416. package/lib/setup/header/Link/props/propTypes.js +3 -0
  417. package/lib/setup/header/Search/Search.js +34 -12
  418. package/lib/setup/header/Search/props/propTypes.js +3 -0
  419. package/lib/setup/header/Views/Views.js +32 -12
  420. package/lib/setup/header/Views/props/propTypes.js +3 -0
  421. package/lib/setup/header/index.js +5 -0
  422. package/lib/setup/helptips/Description/Description.js +24 -6
  423. package/lib/setup/helptips/Description/props/propTypes.js +3 -0
  424. package/lib/setup/helptips/Link/Link.js +32 -11
  425. package/lib/setup/helptips/Link/props/propTypes.js +3 -0
  426. package/lib/setup/helptips/ListGroup/ListGroup.js +28 -8
  427. package/lib/setup/helptips/ListGroup/props/propTypes.js +3 -0
  428. package/lib/setup/helptips/Title/Title.js +24 -6
  429. package/lib/setup/helptips/Title/props/propTypes.js +3 -0
  430. package/lib/setup/helptips/index.js +5 -0
  431. package/lib/setup/index.js +9 -0
  432. package/lib/setup/table/Table/Table.js +28 -9
  433. package/lib/setup/table/Table/props/propTypes.js +3 -0
  434. package/lib/setup/table/TableBody/TableBody.js +30 -11
  435. package/lib/setup/table/TableBody/props/propTypes.js +3 -0
  436. package/lib/setup/table/TableData/TableData.js +33 -13
  437. package/lib/setup/table/TableData/props/propTypes.js +3 -0
  438. package/lib/setup/table/TableHead/TableHead.js +31 -11
  439. package/lib/setup/table/TableHead/props/propTypes.js +3 -0
  440. package/lib/setup/table/TableRow/TableRow.js +34 -14
  441. package/lib/setup/table/TableRow/props/propTypes.js +3 -0
  442. package/lib/setup/table/Text/Text.js +39 -17
  443. package/lib/setup/table/Text/props/propTypes.js +3 -0
  444. package/lib/setup/table/index.js +6 -0
  445. package/lib/svg/PlusIcon.js +28 -9
  446. package/lib/svg/SnippetIcon.js +28 -9
  447. package/lib/svg/TemplateIcon.js +28 -9
  448. package/lib/svg/index.js +4 -0
  449. package/lib/svg/props/propTypes.js +3 -0
  450. package/lib/utils/ChannelIconMapping.js +2 -0
  451. package/lib/utils/General.js +11 -0
  452. package/lib/utils/editorUtils.js +48 -13
  453. package/lib/version2/AlertClose/AlertClose.js +33 -11
  454. package/lib/version2/AlertClose/props/propTypes.js +3 -0
  455. package/lib/version2/GlobalNotification/GlobalNotification.js +59 -30
  456. package/lib/version2/GlobalNotification/props/propTypes.js +3 -0
  457. package/lib/version2/alertIcons/AlarmAlertIcon.js +28 -5
  458. package/lib/version2/alertIcons/AlertIcons.js +41 -11
  459. package/lib/version2/alertIcons/DangerAlertIcon.js +28 -5
  460. package/lib/version2/alertIcons/ErrorAlertIcon.js +28 -5
  461. package/lib/version2/alertIcons/InfoAlertIcon.js +28 -5
  462. package/lib/version2/alertIcons/NotificationAlertIcon.js +28 -5
  463. package/lib/version2/alertIcons/SuccessAlertIcon.js +28 -5
  464. package/lib/version2/alertIcons/WarningAlertIcon.js +28 -5
  465. package/lib/version2/alertIcons/index.js +9 -0
  466. package/lib/version2/alertIcons/props/propTypes.js +3 -0
  467. package/lib/version2/errorstate/Inconvenience/Inconvenience.js +43 -19
  468. package/lib/version2/errorstate/Inconvenience/props/propTypes.js +3 -0
  469. package/lib/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +43 -19
  470. package/lib/version2/errorstate/OopsSomethingMiss/props/propTypes.js +3 -0
  471. package/lib/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +43 -19
  472. package/lib/version2/errorstate/UnableToProcessRequest/props/propTypes.js +3 -0
  473. package/lib/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +44 -20
  474. package/lib/version2/errorstate/UnauthorizedLogin/props/propTypes.js +3 -0
  475. package/lib/version2/errorstate/UrlNotFound/UrlNotFound.js +43 -19
  476. package/lib/version2/errorstate/UrlNotFound/props/propTypes.js +3 -0
  477. package/lib/version2/errorstate/WillBeRightBack/WillBeRightBack.js +43 -19
  478. package/lib/version2/errorstate/WillBeRightBack/props/propTypes.js +3 -0
  479. package/lib/version2/errorstate/index.js +7 -0
  480. package/lib/version2/index.js +14 -0
  481. package/lib/version2/lookup/AlertHeader/AlertHeader.js +33 -20
  482. package/lib/version2/lookup/AlertHeader/css/cssJSLogic.js +8 -7
  483. package/lib/version2/lookup/AlertHeader/props/propTypes.js +3 -0
  484. package/lib/version2/lookup/AlertLookup/AlertLookup.js +84 -54
  485. package/lib/version2/lookup/AlertLookup/props/propTypes.js +3 -0
  486. package/lib/version2/lookup/index.js +3 -0
  487. package/lib/version2/notification/DesktopNotification/DesktopNotification.js +60 -38
  488. package/lib/version2/notification/DesktopNotification/props/propTypes.js +3 -0
  489. package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +39 -15
  490. package/lib/version2/notification/DesktopNotificationHeader/props/propTypes.js +3 -0
  491. package/lib/version2/notification/index.js +6 -0
  492. package/package.json +14 -10
@@ -1,4 +1,5 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React, { useState, useEffect } from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
@@ -8,10 +9,11 @@ import Popup from '@zohodesk/components/lib/Popup/Popup';
8
9
  import ValidationMessage from '../ValidationMessage/ValidationMessage';
9
10
  import TagsMultiSelect from '../TagsMultiSelect/TagsMultiSelect';
10
11
  import FieldContainer from '../FieldContainer/FieldContainer';
11
-
12
12
  /**** css ****/
13
+
13
14
  import fieldStyle from '../Fields.module.css';
14
15
  import style from './TagsMultiSelectField.module.css';
16
+
15
17
  const TagsMultiSelectField = props => {
16
18
  const [selectedSuggestionIndex, updateSelectedSuggestionIndex] = useState(0);
17
19
  const [isValueChanged, updateValueChangedState] = useState(false);
@@ -76,12 +78,14 @@ const TagsMultiSelectField = props => {
76
78
  options
77
79
  } = fieldProperties;
78
80
  options = options || [];
81
+
79
82
  const handleKeyUp = event => {
80
83
  let {
81
84
  keyCode
82
85
  } = event;
83
86
  onAdd = typeof onAdd !== 'function' ? () => {} : onAdd;
84
87
  onDelete = typeof onDelete !== 'function' ? () => {} : onDelete;
88
+
85
89
  if (keyCode === 13) {
86
90
  if (selectedSuggestionIndex > -1 && options.length) {
87
91
  if (options.length === 1 && options[0].isNew) {
@@ -98,19 +102,24 @@ const TagsMultiSelectField = props => {
98
102
  name: searchValue
99
103
  }, event);
100
104
  }
105
+
101
106
  changeSearchValue('');
102
107
  updateSelectedSuggestionIndex(prevSelectedSuggestionIndex => {
103
108
  let newIndex = 0;
109
+
104
110
  if (options.length) {
105
111
  if (options.length === 1 && options[0].isNew) {
106
112
  return newIndex;
107
113
  }
114
+
108
115
  newIndex = prevSelectedSuggestionIndex === options.length - 1 ? options.length - 2 : prevSelectedSuggestionIndex;
109
116
  }
117
+
110
118
  return newIndex;
111
119
  });
112
120
  } else if (keyCode === 188 && !event.shiftKey) {
113
121
  searchValue = searchValue.replace(',', '');
122
+
114
123
  if (options.length === 1 && options[0].isNew) {
115
124
  onAdd({
116
125
  name: searchValue
@@ -131,17 +140,21 @@ const TagsMultiSelectField = props => {
131
140
  let valueLength = value.length;
132
141
  value.length ? onDelete(value[valueLength - 1].name, event) : undefined;
133
142
  }
143
+
134
144
  updateValueChangedState(false);
135
145
  };
146
+
136
147
  const handleChange = (searchValue, event) => {
137
148
  updateValueChangedState(true);
138
149
  updateSelectedSuggestionIndex(0);
139
150
  changeSearchValue(searchValue);
140
151
  typeof onChange === 'function' && onChange(searchValue, event);
152
+
141
153
  if (!isPopupOpen) {
142
154
  togglePopup(event);
143
155
  }
144
156
  };
157
+
145
158
  const handleTogglePopup = event => {
146
159
  if (isPopupReady) {
147
160
  removeClose(event);
@@ -151,16 +164,20 @@ const TagsMultiSelectField = props => {
151
164
  updateSelectedSuggestionIndex(0);
152
165
  }
153
166
  };
167
+
154
168
  const handleAdd = value => {
155
169
  changeSearchValue('');
156
170
  typeof onAdd === 'function' && onAdd(value);
157
171
  };
172
+
158
173
  const documentClick = () => {
159
174
  changeSearchValue('');
160
175
  };
176
+
161
177
  const renderEnd = () => {
162
178
  return children ? children : null;
163
179
  };
180
+
164
181
  useEffect(() => {
165
182
  window.addEventListener('click', documentClick);
166
183
  return () => {
@@ -231,11 +248,10 @@ const TagsMultiSelectField = props => {
231
248
  htmlFor: htmlId
232
249
  }, ValidationMessageProps)));
233
250
  };
251
+
234
252
  export default Popup(TagsMultiSelectField);
235
253
  TagsMultiSelectField.propTypes = propTypes;
236
- TagsMultiSelectField.defaultProps = defaultProps;
237
-
238
- // if (__DOCS__) {
254
+ TagsMultiSelectField.defaultProps = defaultProps; // if (__DOCS__) {
239
255
  // TagsMultiSelectField.docs = {
240
256
  // componentGroup: 'TagsMultiSelectField'
241
257
  // };
@@ -1,26 +1,28 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React, { PureComponent } from 'react';
4
5
  import { defaultProps } from './props/defaultProps';
5
6
  import { propTypes } from './props/propTypes';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import Label from '@zohodesk/components/lib/Label/Label';
9
10
  import TextBoxIcon from '@zohodesk/components/lib/TextBoxIcon/TextBoxIcon';
10
11
  import ValidationMessage from '../ValidationMessage/ValidationMessage';
11
12
  import { getUniqueId } from '@zohodesk/components/lib/Provider/IdProvider';
12
13
  import FieldContainer from '../FieldContainer/FieldContainer';
13
-
14
14
  /**** CSS ****/
15
+
15
16
  import style from '../Fields.module.css';
16
17
  export default class TextBoxField extends PureComponent {
17
18
  constructor(props) {
18
19
  super(props);
19
20
  this.handleChange = this.handleChange.bind(this);
20
- this.handleGetRef = this.handleGetRef.bind(this);
21
- // this.handleLabelClick = this.handleLabelClick.bind(this);
21
+ this.handleGetRef = this.handleGetRef.bind(this); // this.handleLabelClick = this.handleLabelClick.bind(this);
22
+
22
23
  this.getNextId = getUniqueId(this);
23
24
  }
25
+
24
26
  handleChange(value) {
25
27
  let {
26
28
  id,
@@ -28,6 +30,7 @@ export default class TextBoxField extends PureComponent {
28
30
  } = this.props;
29
31
  onChange && onChange(id, value);
30
32
  }
33
+
31
34
  handleGetRef(el) {
32
35
  let {
33
36
  getRef,
@@ -35,15 +38,14 @@ export default class TextBoxField extends PureComponent {
35
38
  } = this.props;
36
39
  this.textBox = el;
37
40
  getRef && getRef(el, id);
38
- }
39
-
40
- // handleLabelClick() {
41
+ } // handleLabelClick() {
41
42
  // // let { isFocusOnLabelClick } = this.props;
42
43
  // // if (isFocusOnLabelClick && this.textBox && this.textBox.focus) {
43
44
  // // this.textBox.focus();
44
45
  // // }
45
46
  // }
46
47
 
48
+
47
49
  render() {
48
50
  let {
49
51
  labelName,
@@ -151,11 +153,10 @@ export default class TextBoxField extends PureComponent {
151
153
  dataId: `${dataId}_ValidationRuleMessage`
152
154
  }, ValidationMessageProps2))));
153
155
  }
156
+
154
157
  }
155
158
  TextBoxField.propTypes = propTypes;
156
- TextBoxField.defaultProps = defaultProps;
157
-
158
- // if (__DOCS__) {
159
+ TextBoxField.defaultProps = defaultProps; // if (__DOCS__) {
159
160
  // TextBoxField.docs = {
160
161
  // componentGroup: 'Form Fields',
161
162
  // folderName: 'General'
@@ -5,12 +5,16 @@ import { propTypes } from './props/propTypes';
5
5
  import selectn from 'selectn';
6
6
  import { Container, Box } from '@zohodesk/components/lib/Layout';
7
7
  /***** Methods *****/
8
- import { bind, editorContentValidate, fixEncoding, isFileNameSizeInvalid, isImageFormat, triggerKeyup, getRichEditorContent, changeContent, validateEditorContentOnInsertHtml, loadResource } from '../../../utils/editorUtils';
9
- //import './ZohoDeskEditor_Init';
8
+
9
+ import { bind, editorContentValidate, fixEncoding, isFileNameSizeInvalid, isImageFormat, triggerKeyup, getRichEditorContent, changeContent, validateEditorContentOnInsertHtml, loadResource } from '../../../utils/editorUtils'; //import './ZohoDeskEditor_Init';
10
+
10
11
  /***** components *****/
12
+
11
13
  import styles from './TextEditor.module.css';
12
14
  /* eslint-disable camelcase */
15
+
13
16
  /* eslint-disable no-undef */
17
+
14
18
  /* eslint-disable react/no-deprecated */
15
19
 
16
20
  export default class TextEditor extends Component {
@@ -24,8 +28,10 @@ export default class TextEditor extends Component {
24
28
  let methods = ['editorCallback', 'handleUpload', 'handleChange', 'focusCallback', 'handleInlineUpload', 'handleDropUpload', 'blurCallback', 'handleGetContent', 'initializeEditor', 'clearEditorData', 'plainTextSwitchCallback', 'onWindowClick', 'toggleEditor'];
25
29
  bind.apply(this, methods);
26
30
  }
31
+
27
32
  componentDidMount() {
28
33
  this.mount = true;
34
+
29
35
  if (typeof global.ZohoDeskEditor === 'undefined') {
30
36
  loadResource(this.props.EDITORURL, 'js', 'ZohoDeskEditor').then(() => {
31
37
  this.setState({
@@ -37,8 +43,10 @@ export default class TextEditor extends Component {
37
43
  isResourceLoaded: true
38
44
  });
39
45
  }
46
+
40
47
  window.addEventListener('click', this.onWindowClick);
41
48
  }
49
+
42
50
  initializeEditor(id, mode) {
43
51
  let {
44
52
  value,
@@ -52,6 +60,7 @@ export default class TextEditor extends Component {
52
60
  handleAlertMessage,
53
61
  needInlineAttachment
54
62
  } = this.props;
63
+
55
64
  if (id && global.ZohoDeskEditor) {
56
65
  let defaultObj = {
57
66
  id,
@@ -78,17 +87,19 @@ export default class TextEditor extends Component {
78
87
  needCustomPaste: function (event, editorObj) {
79
88
  return true; // By default reply editor needs customPaste, so returning true.
80
89
  },
81
-
82
90
  htmlVersion: '<!Doctype html>'
83
91
  };
92
+
84
93
  if (!ZohoDeskEditor_Init.init) {
85
94
  global.editorInitialize && global.editorInitialize();
86
95
  }
96
+
87
97
  defaultObj = Object.assign(defaultObj, editorOptions);
88
98
  ZohoDeskEditor_Init.init(editorMode, fontFamily, initCallback, fontSize);
89
99
  ZohoDeskEditor.create && ZohoDeskEditor.create(defaultObj);
90
100
  }
91
101
  }
102
+
92
103
  plainTextSwitchCallback() {
93
104
  let {
94
105
  plainTextSwitchCallback,
@@ -97,28 +108,35 @@ export default class TextEditor extends Component {
97
108
  let content = this.handleGetContent();
98
109
  plainTextSwitchCallback && plainTextSwitchCallback(content, id);
99
110
  }
111
+
100
112
  clearEditorData(id) {
101
113
  let {
102
114
  getRef
103
115
  } = this.props;
116
+
104
117
  if (global.editor && global.editor[id]) {
105
118
  delete global.editor[id];
106
119
  }
120
+
107
121
  getRef && getRef(null);
108
122
  }
123
+
109
124
  componentWillReceiveProps(np) {
110
125
  let {
111
126
  changeEditorContent
112
127
  } = this.props;
113
128
  let id = np.id;
114
129
  let editorObj = global.editor ? global.editor[id] ? global.editor[id] : {} : {};
130
+
115
131
  if (np.isEmptyContent && editorObj) {
116
132
  editorObj.setContent('');
117
133
  }
134
+
118
135
  if (typeof changeEditorContent !== 'undefined' && np.changeEditorContent != changeEditorContent && np.changeEditorContent) {
119
136
  changeContent(id, np.value);
120
137
  }
121
138
  }
139
+
122
140
  componentDidUpdate(prevProps, prevState) {
123
141
  let {
124
142
  id,
@@ -129,48 +147,58 @@ export default class TextEditor extends Component {
129
147
  let {
130
148
  isResourceLoaded
131
149
  } = this.state;
150
+
132
151
  if (prevProps.id !== id) {
133
152
  global.editor[id] = global.editor[prevProps.id];
134
153
  delete global.editor[prevProps.id];
135
154
  shouldUpdateContent && changeContent(id, value);
136
155
  }
156
+
137
157
  if (prevState.isResourceLoaded !== isResourceLoaded && isResourceLoaded) {
138
158
  this.initializeEditor(id, mode);
139
159
  }
140
160
  }
161
+
141
162
  componentWillUnmount() {
142
163
  this.mount = false;
143
164
  this.clearEditorData(this.props.id);
144
165
  window.removeEventListener('click', this.onWindowClick);
145
166
  }
167
+
146
168
  focusCallback() {
147
169
  let {
148
170
  onFocus
149
171
  } = this.props;
150
172
  onFocus && onFocus();
151
173
  }
174
+
152
175
  handleGetContent() {
153
176
  let {
154
177
  id
155
178
  } = this.props;
156
179
  let editorObj = global.editor[id] ? global.editor[id] : {};
157
180
  let content = getRichEditorContent(id);
181
+
158
182
  if (!editorContentValidate(editorObj)) {
159
183
  content = '';
160
184
  }
185
+
161
186
  content = content.trim();
162
187
  return content;
163
188
  }
189
+
164
190
  handleChange() {
165
191
  let {
166
192
  onChange,
167
193
  id
168
194
  } = this.props;
195
+
169
196
  if (onChange) {
170
197
  let content = this.handleGetContent();
171
198
  onChange(content, id);
172
199
  }
173
200
  }
201
+
174
202
  editorCallback(editorObj) {
175
203
  let {
176
204
  editorCallback,
@@ -185,42 +213,51 @@ export default class TextEditor extends Component {
185
213
  id
186
214
  } = this.props;
187
215
  global.editor = global.editor || {};
216
+
188
217
  if (!global.editor[id]) {
189
218
  global.editor[id] = editorObj;
190
219
  }
220
+
191
221
  const css = 'pre {white-space: pre-wrap}',
192
- head = editorObj.doc.head || editorObj.doc.getElementsByTagName('head')[0],
193
- style = document.createElement('style');
222
+ head = editorObj.doc.head || editorObj.doc.getElementsByTagName('head')[0],
223
+ style = document.createElement('style');
194
224
  style.type = 'text/css';
225
+
195
226
  if (style.styleSheet) {
196
227
  style.styleSheet.cssText = css;
197
228
  } else {
198
229
  style.appendChild(editorObj.doc.createTextNode(css));
199
230
  }
231
+
200
232
  head.appendChild(style);
201
233
  editorCallback && editorCallback(editorObj);
202
234
  const iframe = selectn('iframe.contentDocument.body', editorObj) || null;
203
235
  const iframeHead = selectn('iframe.contentDocument.head', editorObj) || null;
204
236
  getRef && getRef(iframe);
237
+
205
238
  if (iframe) {
206
239
  iframe.addEventListener('click', () => editorObj.iframe.click());
240
+
207
241
  if (isCustomScroll) {
208
242
  let link = document.createElement('style');
209
243
  link.innerText = "body{font-feature-settings: 'kern' 1, 'liga' 1, 'calt' 0}.scroll{--zd-scroll-width:12px;--zd-scroll-height:12px;--zd-scroll-bg:rgba(255,255,255,0.1);--zd-scroll-corner-bg:transparent;--zd-scroll-thump:rgba(44,51,77,0.2);--zd-scroll-thump-hoverbg:rgba(44,51,77,0.3);--zd-scroll-border:rgba(44,51,77,0.1)}.scroll[data-scroll-palette='dark'],.scroll [data-scroll-palette='dark']{--zd-scroll-thump:rgba(255,255,255,0.2);--zd-scroll-thump-hoverbg:rgba(255,255,255,0.4);--zd-scroll-border:rgba(255,255,255,0.07)}.scroll,.scroll *{scrollbar-color:var(--zd-scroll-thump) var(--zd-scroll-bg);scrollbar-width:thin;-ms-scrollbar-highlight-color:var(--zd-scroll-bg);-ms-scrollbar-face-color:var(--zd-scroll-thump)}.scroll::-webkit-scrollbar,.scroll ::-webkit-scrollbar{background:var(--zd-scroll-corner-bg)}.scroll::-webkit-scrollbar:hover,.scroll ::-webkit-scrollbar:hover{background:var(--zd-scroll-bg)}.scroll::-webkit-scrollbar:horizontal,.scroll ::-webkit-scrollbar:horizontal{height:var(--zd-scroll-height)}.scroll::-webkit-scrollbar:vertical,.scroll ::-webkit-scrollbar:vertical{width:var(--zd-scroll-width)}.scroll::-webkit-scrollbar-button,.scroll ::-webkit-scrollbar-button{display:none;width:0;height:0}.scroll::-webkit-scrollbar-track:vertical,.scroll ::-webkit-scrollbar-track:vertical{border-left:1px solid transparent;border-right:1px solid transparent}.scroll::-webkit-scrollbar-track:vertical:hover,.scroll ::-webkit-scrollbar-track:vertical:hover{border-color:var(--zd-scroll-border)}.scroll::-webkit-scrollbar-track:horizontal,.scroll ::-webkit-scrollbar-track:horizontal{border-top:1px solid transparent;border-bottom:1px solid transparent}.scroll::-webkit-scrollbar-track:horizontal:hover,.scroll ::-webkit-scrollbar-track:horizontal:hover{border-color:var(--zd-scroll-border)}.scroll::-webkit-scrollbar-track-piece,.scroll ::-webkit-scrollbar-track-piece{background:inherit}.scroll::-webkit-scrollbar-thumb,.scroll ::-webkit-scrollbar-thumb{border-radius:10px;background:var(--zd-scroll-thump);background-clip:padding-box;border:3px solid transparent}.scroll::-webkit-scrollbar-thumb:hover,.scroll ::-webkit-scrollbar-thumb:hover{background:var(--zd-scroll-thump-hoverbg);background-clip:padding-box;border:3px solid transparent}.scroll::-webkit-scrollbar-corner,.scroll ::-webkit-scrollbar-corner{background:var(--zd-scroll-corner-bg)}.scroll::-webkit-resizer,.scroll::-webkit-resizer{background:inherit}";
210
244
  iframeHead.appendChild(link);
211
245
  iframe.classList.add('scroll');
212
246
  }
247
+
213
248
  let customFonts = document.createElement('style');
214
249
  customFonts.innerText = `@font-face {font-family: 'ZohoPuviRegular';src: url('https://static.zohocdn.com/zohofonts/zohopuvi/4.0/Zoho_Puvi_Regular.woff2') format('woff2');font-style: normal;font-weight: normal;text-rendering: optimizeLegibility;font-display: swap}@font-face {font-family: Regular;src: url('https://static.zohocdn.com/webfonts/lato2regular/font.woff2') format('woff2');font-weight: 400;font-style: normal;font-display: swap}@font-face {font-family: 'RobotoRegular';font-weight: 400;font-style: normal;font-display: swa;src: url('https://static.zohocdn.com/webfonts/robotoregular/font.woff2')}`;
215
250
  iframeHead.appendChild(customFonts);
216
251
  }
217
252
  }
253
+
218
254
  handleInlineUpload(file, successCallback, failureCallback, mode, editorObj) {
219
255
  let {
220
256
  id,
221
257
  setInlineAttachmentInProgress: progress,
222
258
  i18nKeys
223
259
  } = this.props;
260
+
224
261
  if (!isFileNameSizeInvalid(file.name)) {
225
262
  if (file.size != 0) {
226
263
  if (file.size <= 3 * 1024 * 1024) {
@@ -229,6 +266,7 @@ export default class TextEditor extends Component {
229
266
  this.handleUpload(file).then(res => {
230
267
  successCallback(res);
231
268
  progress && progress(false);
269
+
232
270
  if (id && editorObj) {
233
271
  triggerKeyup(editorObj.doc);
234
272
  }
@@ -248,6 +286,7 @@ export default class TextEditor extends Component {
248
286
  failureCallback(i18nKeys.fileNameLimitExceed);
249
287
  }
250
288
  }
289
+
251
290
  handleDropUpload(file, successCallback, failureCallback) {
252
291
  let e = {
253
292
  target: {
@@ -263,6 +302,7 @@ export default class TextEditor extends Component {
263
302
  failureCallback();
264
303
  });
265
304
  }
305
+
266
306
  blurCallback() {
267
307
  let {
268
308
  blurCallback
@@ -270,6 +310,7 @@ export default class TextEditor extends Component {
270
310
  let content = this.handleGetContent();
271
311
  blurCallback && blurCallback(content);
272
312
  }
313
+
273
314
  handleUpload(file) {
274
315
  let {
275
316
  onUpload,
@@ -277,16 +318,20 @@ export default class TextEditor extends Component {
277
318
  getCSRFCookieName,
278
319
  getCSRFCookie
279
320
  } = this.props;
321
+
280
322
  try {
281
323
  let formData = new FormData();
282
324
  formData.append('img_file', file, file.name);
325
+
283
326
  if (getCSRFCookieName && getCSRFCookie) {
284
327
  formData.append(getCSRFCookieName(), getCSRFCookie());
285
328
  }
329
+
286
330
  return onUpload(formData, file).then(res => {
287
331
  if (editorMode === 'TicketReply') {
288
332
  return `${res.data}&from=r`;
289
333
  }
334
+
290
335
  return res.data;
291
336
  }, err => {
292
337
  throw err;
@@ -295,20 +340,24 @@ export default class TextEditor extends Component {
295
340
  return Promise.reject();
296
341
  }
297
342
  }
343
+
298
344
  onWindowClick(e) {
299
345
  let {
300
346
  isEditorDefaultOpen
301
347
  } = this.props;
302
348
  let element = e.target;
349
+
303
350
  if (!element.closest('[data-isEditor]') && !element.closest("[id='KB_Editor_UploadImage_Popup']") && !element.closest("[id='KB_Editor_Overlay']") && !element.closest('.zdeskEditor_popup') && element && typeof element.className === 'string' && !element.className.startsWith('KB') && !element.hasAttribute('data-insertoptions') && !element.closest('.KB_Editor_common_DropDown')) {
304
351
  let {
305
352
  value = '',
306
353
  id
307
354
  } = this.props;
308
355
  let cont = value;
356
+
309
357
  if (typeof editor !== 'undefined') {
310
358
  cont = editor['addFormEditor'] && editor['addFormEditor'].getContent();
311
359
  }
360
+
312
361
  if (!isEditorDefaultOpen) {
313
362
  if ((cont == '' || cont == '<div><br></div>') && this.mount) {
314
363
  this.toggleEditor(false);
@@ -316,12 +365,14 @@ export default class TextEditor extends Component {
316
365
  }
317
366
  }
318
367
  }
368
+
319
369
  toggleEditor(value) {
320
370
  let {
321
371
  toggleEdit
322
372
  } = this.props;
323
373
  toggleEdit && toggleEdit(value);
324
374
  }
375
+
325
376
  render() {
326
377
  let {
327
378
  id,
@@ -355,10 +406,10 @@ export default class TextEditor extends Component {
355
406
  class: styles.readOnlyMask
356
407
  }) : null);
357
408
  }
409
+
358
410
  }
359
411
  TextEditor.defaultProps = defaultProps;
360
- TextEditor.propTypes = propTypes;
361
- // if (__DOCS__) {
412
+ TextEditor.propTypes = propTypes; // if (__DOCS__) {
362
413
  // TextEditor.docs = {
363
414
  // componentGroup: 'Fields',
364
415
  // folderName: 'TextEditor'
@@ -1,16 +1,17 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  /**** Libraries ****/
3
4
  import React, { PureComponent } from 'react';
4
5
  import { defaultProps } from './props/defaultProps';
5
6
  import { propTypes } from './props/propTypes';
6
-
7
7
  /**** Components ****/
8
+
8
9
  import Label from '@zohodesk/components/lib/Label/Label';
9
10
  import ValidationMessage from '../ValidationMessage/ValidationMessage';
10
11
  import TextEditorWrapper from '../TextEditorWrapper/TextEditorWrapper';
11
12
  import FieldContainer from '../FieldContainer/FieldContainer';
12
-
13
13
  /** Css */
14
+
14
15
  import style from '../Fields.module.css';
15
16
  export default class TextEditorField extends PureComponent {
16
17
  constructor(props) {
@@ -20,6 +21,7 @@ export default class TextEditorField extends PureComponent {
20
21
  this.handleLabelClick = this.handleLabelClick.bind(this);
21
22
  this.renderEnd = this.renderEnd.bind(this);
22
23
  }
24
+
23
25
  handleChange(value) {
24
26
  let {
25
27
  id,
@@ -27,6 +29,7 @@ export default class TextEditorField extends PureComponent {
27
29
  } = this.props;
28
30
  onChange && onChange(id, value);
29
31
  }
32
+
30
33
  handleGetRef(el) {
31
34
  let {
32
35
  getRef,
@@ -35,22 +38,26 @@ export default class TextEditorField extends PureComponent {
35
38
  this.textEditor = el;
36
39
  getRef && getRef(el, id);
37
40
  }
41
+
38
42
  handleLabelClick() {
39
43
  let {
40
44
  isFocusOnLabelClick,
41
45
  isDisabled,
42
46
  isReadOnly
43
47
  } = this.props;
48
+
44
49
  if (isFocusOnLabelClick && !isDisabled && !isReadOnly && this.textEditor && this.textEditor.focus) {
45
50
  this.textEditor.focus();
46
51
  }
47
52
  }
53
+
48
54
  renderEnd() {
49
55
  let {
50
56
  children
51
57
  } = this.props;
52
58
  return children ? children : null;
53
59
  }
60
+
54
61
  render() {
55
62
  let {
56
63
  labelName,
@@ -161,11 +168,10 @@ export default class TextEditorField extends PureComponent {
161
168
  dataId: `${dataId}_ValidationMessage`
162
169
  }, ValidationMessageProps)));
163
170
  }
171
+
164
172
  }
165
173
  TextEditorField.propTypes = propTypes;
166
- TextEditorField.defaultProps = defaultProps;
167
-
168
- // if (__DOCS__) {
174
+ TextEditorField.defaultProps = defaultProps; // if (__DOCS__) {
169
175
  // TextEditorField.docs = {
170
176
  // componentGroup: 'Fields'
171
177
  // };
@@ -1,16 +1,17 @@
1
1
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
2
3
  import React, { Component } from 'react';
3
4
  import { defaultProps } from './props/defaultProps';
4
5
  import { propTypes } from './props/propTypes';
5
-
6
6
  /**** Components ****/
7
+
7
8
  import TextEditor from '../TextEditor/TextEditor';
8
9
  import Textarea from '@zohodesk/components/lib/Textarea/Textarea';
9
10
  import VelocityAnimationGroup from '@zohodesk/components/lib/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup';
10
11
  import { editorContentValidate } from '../../../utils/editorUtils';
11
12
  import style from './TextEditorWrapper.module.css';
12
-
13
13
  /* eslint-disable react/no-deprecated */
14
+
14
15
  export default class TextEditorWrapper extends Component {
15
16
  constructor(props) {
16
17
  super(props);
@@ -25,11 +26,13 @@ export default class TextEditorWrapper extends Component {
25
26
  this.toggleEdit = this.toggleEdit.bind(this);
26
27
  this.focusCallback = this.focusCallback.bind(this);
27
28
  }
29
+
28
30
  handleTextareaFocus() {
29
31
  let {
30
32
  isReadOnly,
31
33
  isDisabled
32
34
  } = this.props;
35
+
33
36
  if (!isReadOnly && !isDisabled) {
34
37
  this.setState({
35
38
  isEditorShow: true
@@ -40,11 +43,13 @@ export default class TextEditorWrapper extends Component {
40
43
  });
41
44
  }
42
45
  }
46
+
43
47
  toggleEdit(value) {
44
48
  this.setState({
45
49
  isEditorShow: value
46
50
  });
47
51
  }
52
+
48
53
  focusCallback() {
49
54
  let {
50
55
  onFocus
@@ -54,11 +59,13 @@ export default class TextEditorWrapper extends Component {
54
59
  });
55
60
  onFocus && onFocus();
56
61
  }
62
+
57
63
  componentWillReceiveProps(np) {
58
64
  let {
59
65
  id,
60
66
  value
61
67
  } = this.props;
68
+
62
69
  if (np.value || typeof editor != 'undefined' && editorContentValidate(editor[id])) {
63
70
  this.setState({
64
71
  isEditorShow: true
@@ -69,10 +76,10 @@ export default class TextEditorWrapper extends Component {
69
76
  isEditorShow: false
70
77
  });
71
78
  }
72
- }
73
- // if (np.value !== value && np.value == '') {
79
+ } // if (np.value !== value && np.value == '') {
74
80
  // editor[id].setContent('');
75
81
  // }
82
+
76
83
  }
77
84
 
78
85
  render() {
@@ -190,6 +197,7 @@ export default class TextEditorWrapper extends Component {
190
197
  variant: textBoxVariant
191
198
  }, Textarea2Props)))));
192
199
  }
200
+
193
201
  }
194
202
  TextEditorWrapper.propTypes = propTypes;
195
203
  TextEditorWrapper.defaultProps = defaultProps;