@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.
- package/README.md +4 -0
- package/es/ActionButton/ActionButton.js +5 -2
- package/es/AlphabeticList/AlphabeticList.js +10 -0
- package/es/Attachment/Attachment.js +2 -3
- package/es/AttachmentViewer/Attachment.js +1 -0
- package/es/AttachmentViewer/AttachmentImage.js +6 -0
- package/es/AttachmentViewer/AttachmentViewer.js +34 -3
- package/es/AttachmentViewer/utils.js +17 -0
- package/es/ChannelIcon/ChannelIcon.js +5 -2
- package/es/Drawer/Drawer.js +9 -3
- package/es/ExternalLink/ExternalLink.js +7 -4
- package/es/FlipCard/FlipCard.js +7 -2
- package/es/FormAction/FormAction.js +4 -5
- package/es/FreezeLayer/FreezeLayer.js +2 -4
- package/es/FreezeLayer/useFreezeLayer.js +5 -0
- package/es/Hooks/Dragger/useDragger.js +29 -27
- package/es/IconButton/IconButton.js +9 -3
- package/es/Image/Image.js +2 -2
- package/es/ImportantNotes/ImportantNotes.js +3 -3
- package/es/Link/Link.js +15 -5
- package/es/Loader/Loader.js +2 -2
- package/es/Message/Message.js +9 -3
- package/es/MessageBanner/MessageBanner.js +2 -3
- package/es/NewStar/NewStar.js +10 -15
- package/es/PlusIcon/PlusIcon.js +3 -3
- package/es/Separator/Separator.js +3 -0
- package/es/TagWithIcon/TagWithIcon.js +1 -0
- package/es/ToastMessage/ToastMessage.js +15 -10
- package/es/Upload/Upload.js +2 -3
- package/es/actions/AutoClose.js +4 -0
- package/es/actions/index.js +3 -0
- package/es/alert/AlertHeader/AlertHeader.js +2 -3
- package/es/alert/AlertLookup/AlertLookup.js +5 -5
- package/es/avatar/AvatarClose/AvatarClose.js +4 -2
- package/es/avatar/AvatarCollision/AvatarCollision.js +4 -2
- package/es/avatar/AvatarIcon/AvatarIcon.js +3 -2
- package/es/avatar/AvatarStatus/AvatarStatus.js +4 -3
- package/es/avatar/AvatarThread/AvatarThread.js +3 -3
- package/es/avatar/AvatarUser/AvatarUser.js +4 -3
- package/es/avatar/AvatarWithTeam/AvatarWithTeam.js +3 -3
- package/es/deprecated/FreezeLayer/FreezeLayer.js +10 -3
- package/es/deprecated/SelectDropdown/SelectDropdown.js +8 -2
- package/es/deprecated/utils/General.js +2 -0
- package/es/deprecated/utils/KeyboardApi.js +45 -4
- package/es/docs/generalDocs.js +2 -2
- package/es/docs/lookupDocs.js +1 -2
- package/es/dropdown/ToggleDropDown/ToggleDropDown.js +64 -6
- package/es/emptystate/CommonEmptyState/CommonEmptyState.js +2 -3
- package/es/emptystate/EditionPage/EditionPage.js +3 -3
- package/es/errorstate/Inconvenience/Inconvenience.js +4 -0
- package/es/errorstate/LinkText/LinkText.js +2 -2
- package/es/errorstate/NoRequestFound/NoRequestFound.js +4 -2
- package/es/errorstate/PermissionPlay/PermissionPlay.js +4 -2
- package/es/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +4 -2
- package/es/errorstate/UnableToProcess/UnableToProcess.js +4 -0
- package/es/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +4 -2
- package/es/errorstate/WillBack/WillBack.js +4 -2
- package/es/form/fields/CheckBoxField/CheckBoxField.js +9 -5
- package/es/form/fields/CurrencyField/CurrencyField.js +12 -5
- package/es/form/fields/DateField/DateField.js +15 -5
- package/es/form/fields/FieldContainer/FieldContainer.js +6 -4
- package/es/form/fields/FieldContainer/props/defaultProps.js +1 -2
- package/es/form/fields/FieldContainer/props/propTypes.js +1 -2
- package/es/form/fields/MultiSelectField/MultiSelectField.js +15 -12
- package/es/form/fields/PhoneField/PhoneField.js +13 -5
- package/es/form/fields/RadioField/RadioField.js +7 -4
- package/es/form/fields/SelectField/SelectField.js +11 -10
- package/es/form/fields/TagsMultiSelect/TagsMultiSelect.js +14 -3
- package/es/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +20 -4
- package/es/form/fields/TextBoxField/TextBoxField.js +11 -10
- package/es/form/fields/TextEditor/TextEditor.js +58 -7
- package/es/form/fields/TextEditorField/TextEditorField.js +11 -5
- package/es/form/fields/TextEditorWrapper/TextEditorWrapper.js +12 -4
- package/es/form/fields/TextareaField/TextareaField.js +13 -12
- package/es/form/fields/ValidationMessage/ValidationMessage.js +2 -3
- package/es/form/layout/Field/Field.js +2 -3
- package/es/form/layout/Section/Section.js +3 -2
- package/es/layout/SetupDetailLayout/SetupDetailLayout.js +11 -3
- package/es/layout/SubtabLayout/SubtabLayout.js +6 -3
- package/es/list/AvatarFlip/AvatarFlip.js +2 -3
- package/es/list/BluePrintStatus/BluePrintStatus.js +3 -3
- package/es/list/Comment/Comment.js +3 -3
- package/es/list/DepartmentDropDown/DepartmentDropDown.js +9 -2
- package/es/list/Dot/Dot.js +2 -0
- package/es/list/DotNew/DotNew.js +3 -3
- package/es/list/GridStencils/GridStencils.js +2 -3
- package/es/list/Icons/AddNewIcon.js +1 -0
- package/es/list/Icons/CompleteIcon.js +1 -0
- package/es/list/Icons/DeleteIcon.js +1 -0
- package/es/list/Icons/EditIcon.js +1 -0
- package/es/list/Icons/FloatingIcons.js +3 -3
- package/es/list/Icons/ReadUnreadIcon.js +1 -0
- package/es/list/Icons/SmartIcon.js +1 -0
- package/es/list/ListLayout/ListLayout.js +6 -3
- package/es/list/ListStencils/ListStencils.js +4 -4
- package/es/list/SecondaryText/AccountName.js +6 -5
- package/es/list/SecondaryText/ContactName.js +3 -3
- package/es/list/SecondaryText/DepartmentText.js +3 -3
- package/es/list/SecondaryText/Email.js +6 -5
- package/es/list/SecondaryText/HappinessRating.js +3 -4
- package/es/list/SecondaryText/PhoneNumber.js +6 -5
- package/es/list/SecondaryText/PriorityText.js +3 -3
- package/es/list/SecondaryText/SecondaryText.js +4 -3
- package/es/list/SecondaryText/StatusText.js +3 -3
- package/es/list/SecondaryText/TicketId.js +4 -3
- package/es/list/SecondaryText/Website.js +5 -5
- package/es/list/SecondryPanel/SecondryPanel.js +9 -8
- package/es/list/SentimentStatus/SentimentStatus.js +3 -3
- package/es/list/Subject/Subject.js +4 -3
- package/es/list/TagNew/TagNew.js +3 -3
- package/es/list/Thread/Thread.js +3 -3
- package/es/list/UserTime/UserTime.js +3 -3
- package/es/list/status/StatusDropdown/StatusDropdown.js +32 -2
- package/es/list/status/StatusListItem/StatusListItem.js +11 -3
- package/es/lookup/EmptyPage/EmptyPage.js +9 -3
- package/es/lookup/Lookup/Lookup.js +9 -5
- package/es/lookup/Section/Section.js +2 -0
- package/es/lookup/header/Close/Close.js +3 -4
- package/es/lookup/header/ModuleHeader/ModuleHeader.js +4 -6
- package/es/lookup/header/Search/Search.js +21 -6
- package/es/lookup/header/TicketHeader/TicketHeader.js +4 -6
- package/es/lookup/header/Title/Title.js +3 -4
- package/es/lookup/header/ViewDropDown/ViewDropDown.js +12 -6
- package/es/lookup/header/ViewDropDown/props/propTypes.js +1 -0
- package/es/setup/header/Button/Button.js +3 -3
- package/es/setup/header/Link/Link.js +3 -3
- package/es/setup/header/Search/Search.js +5 -3
- package/es/setup/header/Views/Views.js +3 -3
- package/es/setup/helptips/Description/Description.js +3 -3
- package/es/setup/helptips/Link/Link.js +5 -3
- package/es/setup/helptips/ListGroup/ListGroup.js +5 -3
- package/es/setup/helptips/Title/Title.js +3 -3
- package/es/setup/table/Table/Table.js +2 -3
- package/es/setup/table/TableBody/TableBody.js +2 -3
- package/es/setup/table/TableData/TableData.js +3 -3
- package/es/setup/table/TableHead/TableHead.js +3 -3
- package/es/setup/table/TableRow/TableRow.js +3 -3
- package/es/setup/table/Text/Text.js +4 -3
- package/es/svg/PlusIcon.js +2 -3
- package/es/svg/SnippetIcon.js +2 -3
- package/es/svg/TemplateIcon.js +2 -3
- package/es/utils/General.js +7 -0
- package/es/utils/editorUtils.js +40 -16
- package/es/version2/AlertClose/AlertClose.js +2 -3
- package/es/version2/GlobalNotification/GlobalNotification.js +9 -3
- package/es/version2/alertIcons/AlarmAlertIcon.js +1 -0
- package/es/version2/alertIcons/AlertIcons.js +2 -3
- package/es/version2/alertIcons/DangerAlertIcon.js +1 -0
- package/es/version2/alertIcons/ErrorAlertIcon.js +1 -0
- package/es/version2/alertIcons/InfoAlertIcon.js +1 -0
- package/es/version2/alertIcons/NotificationAlertIcon.js +1 -0
- package/es/version2/alertIcons/SuccessAlertIcon.js +1 -0
- package/es/version2/alertIcons/WarningAlertIcon.js +1 -0
- package/es/version2/errorstate/Inconvenience/Inconvenience.js +4 -3
- package/es/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +4 -3
- package/es/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +4 -3
- package/es/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +4 -3
- package/es/version2/errorstate/UrlNotFound/UrlNotFound.js +4 -3
- package/es/version2/errorstate/WillBeRightBack/WillBeRightBack.js +4 -3
- package/es/version2/lookup/AlertHeader/AlertHeader.js +9 -10
- package/es/version2/lookup/AlertLookup/AlertLookup.js +8 -12
- package/es/version2/notification/DesktopNotification/DesktopNotification.js +5 -3
- package/es/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +3 -3
- package/lib/ActionButton/ActionButton.js +64 -34
- package/lib/ActionButton/props/propTypes.js +3 -0
- package/lib/AlphabeticList/AlphabeticList.js +53 -21
- package/lib/AlphabeticList/props/propTypes.js +10 -1
- package/lib/Attachment/Attachment.js +41 -19
- package/lib/Attachment/props/propTypes.js +3 -0
- package/lib/AttachmentViewer/Attachment.js +4 -0
- package/lib/AttachmentViewer/AttachmentImage.js +36 -10
- package/lib/AttachmentViewer/AttachmentViewer.js +87 -24
- package/lib/AttachmentViewer/props/propTypes.js +3 -0
- package/lib/AttachmentViewer/utils.js +31 -10
- package/lib/ChannelIcon/ChannelIcon.js +55 -27
- package/lib/ChannelIcon/props/propTypes.js +3 -0
- package/lib/Drawer/Drawer.js +109 -51
- package/lib/Drawer/index.js +4 -0
- package/lib/Drawer/props/propTypes.js +3 -0
- package/lib/ExternalLink/ExternalLink.js +37 -15
- package/lib/ExternalLink/__tests__/ExternalLink.spec.js +7 -0
- package/lib/ExternalLink/props/propTypes.js +3 -0
- package/lib/FlipCard/FlipCard.js +72 -40
- package/lib/FlipCard/props/propTypes.js +3 -0
- package/lib/FormAction/FormAction.js +41 -13
- package/lib/FormAction/props/propTypes.js +3 -0
- package/lib/FreezeLayer/FreezeLayer.js +40 -25
- package/lib/FreezeLayer/css/cssJSLogic.js +9 -8
- package/lib/FreezeLayer/index.js +3 -0
- package/lib/FreezeLayer/props/propTypes.js +3 -0
- package/lib/FreezeLayer/useFreezeLayer.js +30 -9
- package/lib/Hooks/Dragger/props/propTypes.js +3 -0
- package/lib/Hooks/Dragger/useDragger.js +36 -28
- package/lib/Hooks/Dragger/utils/DraggerUtil.js +8 -7
- package/lib/IconButton/IconButton.js +61 -36
- package/lib/IconButton/props/propTypes.js +6 -4
- package/lib/Image/Image.js +35 -15
- package/lib/Image/props/propTypes.js +3 -0
- package/lib/ImportantNotes/ImportantNotes.js +34 -13
- package/lib/ImportantNotes/props/propTypes.js +3 -0
- package/lib/Link/Link.js +56 -25
- package/lib/Link/LinkContext.js +4 -0
- package/lib/Link/props/propTypes.js +3 -0
- package/lib/Loader/Loader.js +25 -3
- package/lib/Message/Message.js +43 -16
- package/lib/Message/props/propTypes.js +3 -0
- package/lib/MessageBanner/MessageBanner.js +38 -16
- package/lib/MessageBanner/props/propTypes.js +3 -0
- package/lib/NewStar/NewStar.js +38 -21
- package/lib/NewStar/props/propTypes.js +3 -0
- package/lib/PlusIcon/PlusIcon.js +34 -14
- package/lib/PlusIcon/props/propTypes.js +3 -0
- package/lib/Provider/Config.js +2 -0
- package/lib/Separator/Separator.js +36 -13
- package/lib/Separator/props/propTypes.js +3 -0
- package/lib/TagWithIcon/TagWithIcon.js +36 -13
- package/lib/TagWithIcon/props/propTypes.js +3 -0
- package/lib/ToastMessage/ToastMessage.js +75 -45
- package/lib/ToastMessage/props/propTypes.js +3 -0
- package/lib/Upload/Upload.js +42 -20
- package/lib/Upload/props/propTypes.js +3 -0
- package/lib/actions/AutoClose.js +29 -9
- package/lib/actions/index.js +5 -0
- package/lib/actions/props/propTypes.js +3 -0
- package/lib/alert/AlertHeader/AlertHeader.js +43 -18
- package/lib/alert/AlertHeader/props/propTypes.js +3 -0
- package/lib/alert/AlertLookup/AlertLookup.js +67 -40
- package/lib/alert/AlertLookup/props/propTypes.js +3 -0
- package/lib/alert/index.js +3 -0
- package/lib/avatar/AvatarClose/AvatarClose.js +39 -16
- package/lib/avatar/AvatarClose/props/propTypes.js +3 -0
- package/lib/avatar/AvatarCollision/AvatarCollision.js +42 -19
- package/lib/avatar/AvatarCollision/props/propTypes.js +3 -0
- package/lib/avatar/AvatarIcon/AvatarIcon.js +45 -21
- package/lib/avatar/AvatarIcon/props/propTypes.js +3 -0
- package/lib/avatar/AvatarStatus/AvatarStatus.js +49 -28
- package/lib/avatar/AvatarStatus/props/propTypes.js +6 -4
- package/lib/avatar/AvatarThread/AvatarThread.js +55 -33
- package/lib/avatar/AvatarThread/props/propTypes.js +3 -0
- package/lib/avatar/AvatarUser/AvatarUser.js +63 -40
- package/lib/avatar/AvatarUser/props/propTypes.js +3 -0
- package/lib/avatar/AvatarWithTeam/AvatarWithTeam.js +54 -32
- package/lib/avatar/AvatarWithTeam/__tests__/AvatarWithTeam.spec.js +12 -6
- package/lib/avatar/AvatarWithTeam/props/propTypes.js +3 -0
- package/lib/avatar/index.js +8 -0
- package/lib/deprecated/FreezeLayer/FreezeLayer.js +49 -20
- package/lib/deprecated/FreezeLayer/props/propTypes.js +3 -0
- package/lib/deprecated/SelectDropdown/SelectDropdown.js +52 -21
- package/lib/deprecated/utils/General.js +5 -0
- package/lib/deprecated/utils/KeyboardApi.js +48 -7
- package/lib/docs/formDocs.js +16 -0
- package/lib/docs/generalDocs.js +60 -0
- package/lib/docs/lookupDocs.js +17 -0
- package/lib/docs/setupDocs.js +12 -0
- package/lib/dropdown/ToggleDropDown/ToggleDropDown.js +225 -145
- package/lib/dropdown/ToggleDropDown/props/propTypes.js +3 -0
- package/lib/emptystate/CommonEmptyState/CommonEmptyState.js +46 -24
- package/lib/emptystate/CommonEmptyState/props/propTypes.js +3 -0
- package/lib/emptystate/EditionPage/EditionPage.js +36 -14
- package/lib/emptystate/EditionPage/props/propTypes.js +3 -0
- package/lib/errorstate/Inconvenience/Inconvenience.js +40 -12
- package/lib/errorstate/Inconvenience/props/propTypes.js +3 -0
- package/lib/errorstate/LinkText/LinkText.js +31 -10
- package/lib/errorstate/LinkText/props/propTypes.js +3 -0
- package/lib/errorstate/NoRequestFound/NoRequestFound.js +40 -14
- package/lib/errorstate/NoRequestFound/props/propTypes.js +3 -0
- package/lib/errorstate/PermissionPlay/PermissionPlay.js +40 -14
- package/lib/errorstate/PermissionPlay/props/propTypes.js +3 -0
- package/lib/errorstate/RequestUrlNotFound/RequestUrlNotFound.js +40 -14
- package/lib/errorstate/RequestUrlNotFound/props/propTypes.js +3 -0
- package/lib/errorstate/UnableToProcess/UnableToProcess.js +40 -12
- package/lib/errorstate/UnableToProcess/props/propTypes.js +3 -0
- package/lib/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +40 -14
- package/lib/errorstate/UnauthorizedLogin/props/propTypes.js +3 -0
- package/lib/errorstate/WillBack/WillBack.js +33 -8
- package/lib/errorstate/WillBack/props/propTypes.js +3 -0
- package/lib/errorstate/index.js +9 -0
- package/lib/form/fields/CheckBoxField/CheckBoxField.js +71 -41
- package/lib/form/fields/CheckBoxField/props/defaultProps.js +7 -4
- package/lib/form/fields/CheckBoxField/props/propTypes.js +9 -4
- package/lib/form/fields/CurrencyField/CurrencyField.js +81 -51
- package/lib/form/fields/CurrencyField/props/defaultProps.js +7 -4
- package/lib/form/fields/CurrencyField/props/propTypes.js +9 -4
- package/lib/form/fields/DateField/DateField.js +83 -50
- package/lib/form/fields/DateField/props/defaultProps.js +7 -4
- package/lib/form/fields/DateField/props/propTypes.js +9 -4
- package/lib/form/fields/FieldContainer/FieldContainer.js +48 -25
- package/lib/form/fields/FieldContainer/props/defaultProps.js +7 -4
- package/lib/form/fields/FieldContainer/props/propTypes.js +9 -4
- package/lib/form/fields/MultiSelectField/MultiSelectField.js +100 -74
- package/lib/form/fields/MultiSelectField/props/defaultProps.js +7 -4
- package/lib/form/fields/MultiSelectField/props/propTypes.js +9 -4
- package/lib/form/fields/PhoneField/PhoneField.js +73 -43
- package/lib/form/fields/PhoneField/props/propTypes.js +3 -0
- package/lib/form/fields/RadioField/RadioField.js +64 -36
- package/lib/form/fields/RadioField/props/propTypes.js +3 -0
- package/lib/form/fields/SelectField/SelectField.js +98 -71
- package/lib/form/fields/SelectField/props/defaultProps.js +7 -4
- package/lib/form/fields/SelectField/props/propTypes.js +9 -4
- package/lib/form/fields/TagsMultiSelect/TagsMultiSelect.js +83 -46
- package/lib/form/fields/TagsMultiSelect/props/propTypes.js +3 -0
- package/lib/form/fields/TagsMultiSelectField/TagsMultiSelectField.js +103 -62
- package/lib/form/fields/TagsMultiSelectField/props/defaultProps.js +7 -4
- package/lib/form/fields/TagsMultiSelectField/props/propTypes.js +9 -4
- package/lib/form/fields/TextBoxField/TextBoxField.js +85 -58
- package/lib/form/fields/TextBoxField/props/defaultProps.js +7 -4
- package/lib/form/fields/TextBoxField/props/propTypes.js +9 -4
- package/lib/form/fields/TextEditor/TextEditor.js +116 -53
- package/lib/form/fields/TextEditor/props/propTypes.js +3 -0
- package/lib/form/fields/TextEditorField/TextEditorField.js +89 -61
- package/lib/form/fields/TextEditorField/props/defaultProps.js +7 -4
- package/lib/form/fields/TextEditorField/props/propTypes.js +9 -4
- package/lib/form/fields/TextEditorWrapper/TextEditorWrapper.js +79 -47
- package/lib/form/fields/TextEditorWrapper/props/propTypes.js +3 -0
- package/lib/form/fields/TextareaField/TextareaField.js +81 -55
- package/lib/form/fields/TextareaField/props/defaultProps.js +7 -4
- package/lib/form/fields/TextareaField/props/propTypes.js +9 -4
- package/lib/form/fields/ValidationMessage/ValidationMessage.js +40 -18
- package/lib/form/fields/ValidationMessage/props/propTypes.js +3 -0
- package/lib/form/fields/index.js +17 -0
- package/lib/form/fields/props/FieldCommonDefaultProps.js +2 -0
- package/lib/form/fields/props/FieldCommonPropTypes.js +4 -0
- package/lib/form/layout/Field/Field.js +34 -13
- package/lib/form/layout/Field/props/propTypes.js +3 -0
- package/lib/form/layout/Section/Section.js +33 -12
- package/lib/form/layout/Section/props/propTypes.js +3 -0
- package/lib/form/layout/index.js +3 -0
- package/lib/index.js +57 -0
- package/lib/layout/SetupDetailLayout/SetupDetailLayout.js +83 -36
- package/lib/layout/SetupDetailLayout/index.js +4 -0
- package/lib/layout/SetupDetailLayout/props/propTypes.js +3 -0
- package/lib/layout/SubtabLayout/SubtabLayout.js +83 -39
- package/lib/layout/SubtabLayout/index.js +4 -0
- package/lib/layout/SubtabLayout/props/propTypes.js +3 -0
- package/lib/list/AvatarFlip/AvatarFlip.js +54 -32
- package/lib/list/AvatarFlip/props/propTypes.js +3 -0
- package/lib/list/BluePrintStatus/BluePrintStatus.js +25 -6
- package/lib/list/BluePrintStatus/props/propTypes.js +3 -0
- package/lib/list/Comment/Comment.js +33 -9
- package/lib/list/Comment/props/propTypes.js +3 -0
- package/lib/list/DepartmentDropDown/DepartmentDropDown.js +57 -28
- package/lib/list/DepartmentDropDown/props/propTypes.js +6 -4
- package/lib/list/Dot/Dot.js +28 -5
- package/lib/list/Dot/props/propTypes.js +3 -0
- package/lib/list/DotNew/DotNew.js +30 -9
- package/lib/list/DotNew/props/propTypes.js +3 -0
- package/lib/list/GridStencils/GridStencils.js +29 -11
- package/lib/list/GridStencils/props/propTypes.js +3 -0
- package/lib/list/Icons/AddNewIcon.js +29 -8
- package/lib/list/Icons/CompleteIcon.js +30 -9
- package/lib/list/Icons/DeleteIcon.js +30 -9
- package/lib/list/Icons/EditIcon.js +30 -9
- package/lib/list/Icons/FloatingIcons.js +32 -9
- package/lib/list/Icons/ReadUnreadIcon.js +33 -11
- package/lib/list/Icons/SmartIcon.js +31 -8
- package/lib/list/Icons/index.js +8 -0
- package/lib/list/Icons/props/propTypes.js +3 -0
- package/lib/list/ListLayout/ListLayout.js +58 -28
- package/lib/list/ListLayout/props/propTypes.js +6 -4
- package/lib/list/ListStencils/ListStencils.js +28 -6
- package/lib/list/ListStencils/props/propTypes.js +3 -0
- package/lib/list/SecondaryText/AccountName.js +51 -27
- package/lib/list/SecondaryText/ContactName.js +58 -32
- package/lib/list/SecondaryText/DepartmentText.js +30 -10
- package/lib/list/SecondaryText/Email.js +42 -19
- package/lib/list/SecondaryText/HappinessRating.js +29 -9
- package/lib/list/SecondaryText/PhoneNumber.js +44 -21
- package/lib/list/SecondaryText/PriorityText.js +32 -11
- package/lib/list/SecondaryText/SecondaryText.js +34 -12
- package/lib/list/SecondaryText/StatusText.js +33 -12
- package/lib/list/SecondaryText/TicketId.js +43 -20
- package/lib/list/SecondaryText/Website.js +35 -13
- package/lib/list/SecondaryText/index.js +12 -0
- package/lib/list/SecondaryText/props/propTypes.js +3 -0
- package/lib/list/SecondryPanel/SecondryPanel.js +71 -28
- package/lib/list/SecondryPanel/props/propTypes.js +3 -0
- package/lib/list/SentimentStatus/SentimentStatus.js +27 -8
- package/lib/list/SentimentStatus/props/propTypes.js +3 -0
- package/lib/list/Subject/Subject.js +45 -22
- package/lib/list/Subject/props/propTypes.js +3 -0
- package/lib/list/TagNew/TagNew.js +32 -11
- package/lib/list/TagNew/props/propTypes.js +3 -0
- package/lib/list/Thread/Thread.js +34 -11
- package/lib/list/Thread/props/propTypes.js +3 -0
- package/lib/list/UserTime/UserTime.js +45 -21
- package/lib/list/UserTime/props/propTypes.js +3 -0
- package/lib/list/index.js +21 -0
- package/lib/list/status/StatusDropdown/StatusDropdown.js +133 -77
- package/lib/list/status/StatusDropdown/props/propTypes.js +6 -4
- package/lib/list/status/StatusListItem/StatusListItem.js +63 -37
- package/lib/list/status/StatusListItem/props/propTypes.js +3 -0
- package/lib/list/status/index.js +3 -0
- package/lib/lookup/EmptyPage/EmptyPage.js +38 -8
- package/lib/lookup/EmptyPage/props/propTypes.js +3 -0
- package/lib/lookup/Lookup/Lookup.js +51 -23
- package/lib/lookup/Lookup/props/propTypes.js +3 -0
- package/lib/lookup/Section/Section.js +28 -5
- package/lib/lookup/Section/props/propTypes.js +3 -0
- package/lib/lookup/header/Close/Close.js +30 -9
- package/lib/lookup/header/Close/props/propTypes.js +3 -0
- package/lib/lookup/header/ModuleHeader/ModuleHeader.js +49 -23
- package/lib/lookup/header/ModuleHeader/props/propTypes.js +3 -0
- package/lib/lookup/header/Search/Search.js +67 -29
- package/lib/lookup/header/Search/props/propTypes.js +3 -0
- package/lib/lookup/header/TicketHeader/TicketHeader.js +50 -22
- package/lib/lookup/header/TicketHeader/props/propTypes.js +3 -0
- package/lib/lookup/header/Title/Title.js +30 -9
- package/lib/lookup/header/Title/props/propTypes.js +3 -0
- package/lib/lookup/header/ViewDropDown/ViewDropDown.js +62 -28
- package/lib/lookup/header/ViewDropDown/props/propTypes.js +4 -0
- package/lib/lookup/header/index.js +6 -0
- package/lib/lookup/index.js +9 -0
- package/lib/setup/header/Button/Button.js +30 -10
- package/lib/setup/header/Button/props/propTypes.js +3 -0
- package/lib/setup/header/Link/Link.js +33 -11
- package/lib/setup/header/Link/props/propTypes.js +3 -0
- package/lib/setup/header/Search/Search.js +34 -12
- package/lib/setup/header/Search/props/propTypes.js +3 -0
- package/lib/setup/header/Views/Views.js +32 -12
- package/lib/setup/header/Views/props/propTypes.js +3 -0
- package/lib/setup/header/index.js +5 -0
- package/lib/setup/helptips/Description/Description.js +24 -6
- package/lib/setup/helptips/Description/props/propTypes.js +3 -0
- package/lib/setup/helptips/Link/Link.js +32 -11
- package/lib/setup/helptips/Link/props/propTypes.js +3 -0
- package/lib/setup/helptips/ListGroup/ListGroup.js +28 -8
- package/lib/setup/helptips/ListGroup/props/propTypes.js +3 -0
- package/lib/setup/helptips/Title/Title.js +24 -6
- package/lib/setup/helptips/Title/props/propTypes.js +3 -0
- package/lib/setup/helptips/index.js +5 -0
- package/lib/setup/index.js +9 -0
- package/lib/setup/table/Table/Table.js +28 -9
- package/lib/setup/table/Table/props/propTypes.js +3 -0
- package/lib/setup/table/TableBody/TableBody.js +30 -11
- package/lib/setup/table/TableBody/props/propTypes.js +3 -0
- package/lib/setup/table/TableData/TableData.js +33 -13
- package/lib/setup/table/TableData/props/propTypes.js +3 -0
- package/lib/setup/table/TableHead/TableHead.js +31 -11
- package/lib/setup/table/TableHead/props/propTypes.js +3 -0
- package/lib/setup/table/TableRow/TableRow.js +34 -14
- package/lib/setup/table/TableRow/props/propTypes.js +3 -0
- package/lib/setup/table/Text/Text.js +39 -17
- package/lib/setup/table/Text/props/propTypes.js +3 -0
- package/lib/setup/table/index.js +6 -0
- package/lib/svg/PlusIcon.js +28 -9
- package/lib/svg/SnippetIcon.js +28 -9
- package/lib/svg/TemplateIcon.js +28 -9
- package/lib/svg/index.js +4 -0
- package/lib/svg/props/propTypes.js +3 -0
- package/lib/utils/ChannelIconMapping.js +2 -0
- package/lib/utils/General.js +11 -0
- package/lib/utils/editorUtils.js +48 -13
- package/lib/version2/AlertClose/AlertClose.js +33 -11
- package/lib/version2/AlertClose/props/propTypes.js +3 -0
- package/lib/version2/GlobalNotification/GlobalNotification.js +59 -30
- package/lib/version2/GlobalNotification/props/propTypes.js +3 -0
- package/lib/version2/alertIcons/AlarmAlertIcon.js +28 -5
- package/lib/version2/alertIcons/AlertIcons.js +41 -11
- package/lib/version2/alertIcons/DangerAlertIcon.js +28 -5
- package/lib/version2/alertIcons/ErrorAlertIcon.js +28 -5
- package/lib/version2/alertIcons/InfoAlertIcon.js +28 -5
- package/lib/version2/alertIcons/NotificationAlertIcon.js +28 -5
- package/lib/version2/alertIcons/SuccessAlertIcon.js +28 -5
- package/lib/version2/alertIcons/WarningAlertIcon.js +28 -5
- package/lib/version2/alertIcons/index.js +9 -0
- package/lib/version2/alertIcons/props/propTypes.js +3 -0
- package/lib/version2/errorstate/Inconvenience/Inconvenience.js +43 -19
- package/lib/version2/errorstate/Inconvenience/props/propTypes.js +3 -0
- package/lib/version2/errorstate/OopsSomethingMiss/OopsSomethingMiss.js +43 -19
- package/lib/version2/errorstate/OopsSomethingMiss/props/propTypes.js +3 -0
- package/lib/version2/errorstate/UnableToProcessRequest/UnableToProcessRequest.js +43 -19
- package/lib/version2/errorstate/UnableToProcessRequest/props/propTypes.js +3 -0
- package/lib/version2/errorstate/UnauthorizedLogin/UnauthorizedLogin.js +44 -20
- package/lib/version2/errorstate/UnauthorizedLogin/props/propTypes.js +3 -0
- package/lib/version2/errorstate/UrlNotFound/UrlNotFound.js +43 -19
- package/lib/version2/errorstate/UrlNotFound/props/propTypes.js +3 -0
- package/lib/version2/errorstate/WillBeRightBack/WillBeRightBack.js +43 -19
- package/lib/version2/errorstate/WillBeRightBack/props/propTypes.js +3 -0
- package/lib/version2/errorstate/index.js +7 -0
- package/lib/version2/index.js +14 -0
- package/lib/version2/lookup/AlertHeader/AlertHeader.js +33 -20
- package/lib/version2/lookup/AlertHeader/css/cssJSLogic.js +8 -7
- package/lib/version2/lookup/AlertHeader/props/propTypes.js +3 -0
- package/lib/version2/lookup/AlertLookup/AlertLookup.js +84 -54
- package/lib/version2/lookup/AlertLookup/props/propTypes.js +3 -0
- package/lib/version2/lookup/index.js +3 -0
- package/lib/version2/notification/DesktopNotification/DesktopNotification.js +60 -38
- package/lib/version2/notification/DesktopNotification/props/propTypes.js +3 -0
- package/lib/version2/notification/DesktopNotificationHeader/DesktopNotificationHeader.js +39 -15
- package/lib/version2/notification/DesktopNotificationHeader/props/propTypes.js +3 -0
- package/lib/version2/notification/index.js +6 -0
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
193
|
-
|
|
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;
|