@focus-reactive/payload-plugin-comments 1.0.0
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 +563 -0
- package/dist/collection/access/isAuth.d.ts +3 -0
- package/dist/collection/access/isAuth.d.ts.map +1 -0
- package/dist/collection/access/isAuth.js +8 -0
- package/dist/collection/access/isAuth.js.map +1 -0
- package/dist/collection/hooks/setAuthorBeforeCreate.d.ts +3 -0
- package/dist/collection/hooks/setAuthorBeforeCreate.d.ts.map +1 -0
- package/dist/collection/hooks/setAuthorBeforeCreate.js +10 -0
- package/dist/collection/hooks/setAuthorBeforeCreate.js.map +1 -0
- package/dist/collection/hooks/setTenantBeforeCreate.d.ts +3 -0
- package/dist/collection/hooks/setTenantBeforeCreate.d.ts.map +1 -0
- package/dist/collection/hooks/setTenantBeforeCreate.js +24 -0
- package/dist/collection/hooks/setTenantBeforeCreate.js.map +1 -0
- package/dist/collection/index.d.ts +4 -0
- package/dist/collection/index.d.ts.map +1 -0
- package/dist/collection/index.js +139 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/components/Avatar/index.d.ts +11 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/Avatar/index.js +11 -0
- package/dist/components/Avatar/index.js.map +1 -0
- package/dist/components/CommentEditor/ActionPanel.d.ts +8 -0
- package/dist/components/CommentEditor/ActionPanel.d.ts.map +1 -0
- package/dist/components/CommentEditor/ActionPanel.js +17 -0
- package/dist/components/CommentEditor/ActionPanel.js.map +1 -0
- package/dist/components/CommentEditor/index.d.ts +23 -0
- package/dist/components/CommentEditor/index.d.ts.map +1 -0
- package/dist/components/CommentEditor/index.js +265 -0
- package/dist/components/CommentEditor/index.js.map +1 -0
- package/dist/components/CommentItem/ToolsPanel.d.ts +9 -0
- package/dist/components/CommentItem/ToolsPanel.d.ts.map +1 -0
- package/dist/components/CommentItem/ToolsPanel.js +22 -0
- package/dist/components/CommentItem/ToolsPanel.js.map +1 -0
- package/dist/components/CommentItem/index.d.ts +8 -0
- package/dist/components/CommentItem/index.d.ts.map +1 -0
- package/dist/components/CommentItem/index.js +65 -0
- package/dist/components/CommentItem/index.js.map +1 -0
- package/dist/components/CommentsDrawer/components/Header.d.ts +6 -0
- package/dist/components/CommentsDrawer/components/Header.d.ts.map +1 -0
- package/dist/components/CommentsDrawer/components/Header.js +46 -0
- package/dist/components/CommentsDrawer/components/Header.js.map +1 -0
- package/dist/components/CommentsDrawer/index.d.ts +6 -0
- package/dist/components/CommentsDrawer/index.d.ts.map +1 -0
- package/dist/components/CommentsDrawer/index.js +30 -0
- package/dist/components/CommentsDrawer/index.js.map +1 -0
- package/dist/components/CommentsHeaderButton/index.d.ts +2 -0
- package/dist/components/CommentsHeaderButton/index.d.ts.map +1 -0
- package/dist/components/CommentsHeaderButton/index.js +19 -0
- package/dist/components/CommentsHeaderButton/index.js.map +1 -0
- package/dist/components/CommentsPanel/components/CollapsibleGroup.d.ts +10 -0
- package/dist/components/CommentsPanel/components/CollapsibleGroup.d.ts.map +1 -0
- package/dist/components/CommentsPanel/components/CollapsibleGroup.js +68 -0
- package/dist/components/CommentsPanel/components/CollapsibleGroup.js.map +1 -0
- package/dist/components/CommentsPanel/components/DocumentView.d.ts +9 -0
- package/dist/components/CommentsPanel/components/DocumentView.d.ts.map +1 -0
- package/dist/components/CommentsPanel/components/DocumentView.js +28 -0
- package/dist/components/CommentsPanel/components/DocumentView.js.map +1 -0
- package/dist/components/CommentsPanel/components/FieldGroupSection.d.ts +11 -0
- package/dist/components/CommentsPanel/components/FieldGroupSection.d.ts.map +1 -0
- package/dist/components/CommentsPanel/components/FieldGroupSection.js +62 -0
- package/dist/components/CommentsPanel/components/FieldGroupSection.js.map +1 -0
- package/dist/components/CommentsPanel/components/GlobalDocumentView.d.ts +9 -0
- package/dist/components/CommentsPanel/components/GlobalDocumentView.d.ts.map +1 -0
- package/dist/components/CommentsPanel/components/GlobalDocumentView.js +20 -0
- package/dist/components/CommentsPanel/components/GlobalDocumentView.js.map +1 -0
- package/dist/components/CommentsPanel/components/GlobalView.d.ts +9 -0
- package/dist/components/CommentsPanel/components/GlobalView.d.ts.map +1 -0
- package/dist/components/CommentsPanel/components/GlobalView.js +62 -0
- package/dist/components/CommentsPanel/components/GlobalView.js.map +1 -0
- package/dist/components/CommentsPanel/constants.d.ts +3 -0
- package/dist/components/CommentsPanel/constants.d.ts.map +1 -0
- package/dist/components/CommentsPanel/constants.js +9 -0
- package/dist/components/CommentsPanel/constants.js.map +1 -0
- package/dist/components/CommentsPanel/hooks/useCollapseState.d.ts +2 -0
- package/dist/components/CommentsPanel/hooks/useCollapseState.d.ts.map +1 -0
- package/dist/components/CommentsPanel/hooks/useCollapseState.js +44 -0
- package/dist/components/CommentsPanel/hooks/useCollapseState.js.map +1 -0
- package/dist/components/CommentsPanel/hooks/useScrollToTargetFieldGroup.d.ts +2 -0
- package/dist/components/CommentsPanel/hooks/useScrollToTargetFieldGroup.d.ts.map +1 -0
- package/dist/components/CommentsPanel/hooks/useScrollToTargetFieldGroup.js +35 -0
- package/dist/components/CommentsPanel/hooks/useScrollToTargetFieldGroup.js.map +1 -0
- package/dist/components/CommentsPanel/index.d.ts +6 -0
- package/dist/components/CommentsPanel/index.d.ts.map +1 -0
- package/dist/components/CommentsPanel/index.js +32 -0
- package/dist/components/CommentsPanel/index.js.map +1 -0
- package/dist/components/CommentsPanel/types.d.ts +4 -0
- package/dist/components/CommentsPanel/types.d.ts.map +1 -0
- package/dist/components/CommentsPanel/types.js +1 -0
- package/dist/components/CommentsPanel/types.js.map +1 -0
- package/dist/components/CommentsPanel/utils/createCollapsibleGroupKey.d.ts +10 -0
- package/dist/components/CommentsPanel/utils/createCollapsibleGroupKey.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/createCollapsibleGroupKey.js +15 -0
- package/dist/components/CommentsPanel/utils/createCollapsibleGroupKey.js.map +1 -0
- package/dist/components/CommentsPanel/utils/filterComments.d.ts +9 -0
- package/dist/components/CommentsPanel/utils/filterComments.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/filterComments.js +17 -0
- package/dist/components/CommentsPanel/utils/filterComments.js.map +1 -0
- package/dist/components/CommentsPanel/utils/groupCommentsByFieldPath.d.ts +4 -0
- package/dist/components/CommentsPanel/utils/groupCommentsByFieldPath.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/groupCommentsByFieldPath.js +14 -0
- package/dist/components/CommentsPanel/utils/groupCommentsByFieldPath.js.map +1 -0
- package/dist/components/CommentsPanel/utils/groupCommentsGlobally.d.ts +18 -0
- package/dist/components/CommentsPanel/utils/groupCommentsGlobally.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/groupCommentsGlobally.js +58 -0
- package/dist/components/CommentsPanel/utils/groupCommentsGlobally.js.map +1 -0
- package/dist/components/CommentsPanel/utils/resolveEntityLabel.d.ts +3 -0
- package/dist/components/CommentsPanel/utils/resolveEntityLabel.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/resolveEntityLabel.js +14 -0
- package/dist/components/CommentsPanel/utils/resolveEntityLabel.js.map +1 -0
- package/dist/components/CommentsPanel/utils/resolveFieldLabel.d.ts +11 -0
- package/dist/components/CommentsPanel/utils/resolveFieldLabel.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/resolveFieldLabel.js +9 -0
- package/dist/components/CommentsPanel/utils/resolveFieldLabel.js.map +1 -0
- package/dist/components/CommentsPanel/utils/sortGroupsByCreatedAt.d.ts +4 -0
- package/dist/components/CommentsPanel/utils/sortGroupsByCreatedAt.d.ts.map +1 -0
- package/dist/components/CommentsPanel/utils/sortGroupsByCreatedAt.js +11 -0
- package/dist/components/CommentsPanel/utils/sortGroupsByCreatedAt.js.map +1 -0
- package/dist/components/FieldCommentLabel/AddCommentPopup.d.ts +8 -0
- package/dist/components/FieldCommentLabel/AddCommentPopup.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/AddCommentPopup.js +50 -0
- package/dist/components/FieldCommentLabel/AddCommentPopup.js.map +1 -0
- package/dist/components/FieldCommentLabel/hooks/useStablePath.d.ts +2 -0
- package/dist/components/FieldCommentLabel/hooks/useStablePath.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/hooks/useStablePath.js +12 -0
- package/dist/components/FieldCommentLabel/hooks/useStablePath.js.map +1 -0
- package/dist/components/FieldCommentLabel/index.d.ts +11 -0
- package/dist/components/FieldCommentLabel/index.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/index.js +64 -0
- package/dist/components/FieldCommentLabel/index.js.map +1 -0
- package/dist/components/FieldCommentLabel/types.d.ts +4 -0
- package/dist/components/FieldCommentLabel/types.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/types.js +1 -0
- package/dist/components/FieldCommentLabel/types.js.map +1 -0
- package/dist/components/FieldCommentLabel/utils/buildStablePath.d.ts +2 -0
- package/dist/components/FieldCommentLabel/utils/buildStablePath.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/utils/buildStablePath.js +19 -0
- package/dist/components/FieldCommentLabel/utils/buildStablePath.js.map +1 -0
- package/dist/components/FieldCommentLabel/utils/exludeComments.d.ts +3 -0
- package/dist/components/FieldCommentLabel/utils/exludeComments.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/utils/exludeComments.js +12 -0
- package/dist/components/FieldCommentLabel/utils/exludeComments.js.map +1 -0
- package/dist/components/FieldCommentLabel/utils/resolveLabel.d.ts +3 -0
- package/dist/components/FieldCommentLabel/utils/resolveLabel.d.ts.map +1 -0
- package/dist/components/FieldCommentLabel/utils/resolveLabel.js +9 -0
- package/dist/components/FieldCommentLabel/utils/resolveLabel.js.map +1 -0
- package/dist/components/IconButton/index.d.ts +12 -0
- package/dist/components/IconButton/index.d.ts.map +1 -0
- package/dist/components/IconButton/index.js +38 -0
- package/dist/components/IconButton/index.js.map +1 -0
- package/dist/components/MentionDropdown.d.ts +11 -0
- package/dist/components/MentionDropdown.d.ts.map +1 -0
- package/dist/components/MentionDropdown.js +53 -0
- package/dist/components/MentionDropdown.js.map +1 -0
- package/dist/components/MentionLabel/index.d.ts +7 -0
- package/dist/components/MentionLabel/index.d.ts.map +1 -0
- package/dist/components/MentionLabel/index.js +21 -0
- package/dist/components/MentionLabel/index.js.map +1 -0
- package/dist/config.d.ts +4 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +17 -0
- package/dist/config.js.map +1 -0
- package/dist/constants.d.ts +9 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +22 -0
- package/dist/constants.js.map +1 -0
- package/dist/hooks/useRelativeDate.d.ts +2 -0
- package/dist/hooks/useRelativeDate.d.ts.map +1 -0
- package/dist/hooks/useRelativeDate.js +11 -0
- package/dist/hooks/useRelativeDate.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -0
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +60 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/CommentsDrawerProvider/index.d.ts +14 -0
- package/dist/providers/CommentsDrawerProvider/index.d.ts.map +1 -0
- package/dist/providers/CommentsDrawerProvider/index.js +28 -0
- package/dist/providers/CommentsDrawerProvider/index.js.map +1 -0
- package/dist/providers/CommentsProvider/index.d.ts +39 -0
- package/dist/providers/CommentsProvider/index.d.ts.map +1 -0
- package/dist/providers/CommentsProvider/index.js +237 -0
- package/dist/providers/CommentsProvider/index.js.map +1 -0
- package/dist/providers/CommentsProvider/mergeDocumentTitles.d.ts +3 -0
- package/dist/providers/CommentsProvider/mergeDocumentTitles.d.ts.map +1 -0
- package/dist/providers/CommentsProvider/mergeDocumentTitles.js +10 -0
- package/dist/providers/CommentsProvider/mergeDocumentTitles.js.map +1 -0
- package/dist/providers/CommentsProviderWrapper/index.d.ts +7 -0
- package/dist/providers/CommentsProviderWrapper/index.d.ts.map +1 -0
- package/dist/providers/CommentsProviderWrapper/index.js +16 -0
- package/dist/providers/CommentsProviderWrapper/index.js.map +1 -0
- package/dist/providers/GlobalCommentsLoader/GlobalCommentsHydrator.d.ts +13 -0
- package/dist/providers/GlobalCommentsLoader/GlobalCommentsHydrator.d.ts.map +1 -0
- package/dist/providers/GlobalCommentsLoader/GlobalCommentsHydrator.js +22 -0
- package/dist/providers/GlobalCommentsLoader/GlobalCommentsHydrator.js.map +1 -0
- package/dist/providers/GlobalCommentsLoader/index.d.ts +10 -0
- package/dist/providers/GlobalCommentsLoader/index.d.ts.map +1 -0
- package/dist/providers/GlobalCommentsLoader/index.js +31 -0
- package/dist/providers/GlobalCommentsLoader/index.js.map +1 -0
- package/dist/services/createComment.d.ts +12 -0
- package/dist/services/createComment.d.ts.map +1 -0
- package/dist/services/createComment.js +83 -0
- package/dist/services/createComment.js.map +1 -0
- package/dist/services/deleteComment.d.ts +3 -0
- package/dist/services/deleteComment.d.ts.map +1 -0
- package/dist/services/deleteComment.js +34 -0
- package/dist/services/deleteComment.js.map +1 -0
- package/dist/services/fetchMentionableUsers.d.ts +3 -0
- package/dist/services/fetchMentionableUsers.d.ts.map +1 -0
- package/dist/services/fetchMentionableUsers.js +46 -0
- package/dist/services/fetchMentionableUsers.js.map +1 -0
- package/dist/services/fieldLabels/fetchFieldLabels.d.ts +3 -0
- package/dist/services/fieldLabels/fetchFieldLabels.d.ts.map +1 -0
- package/dist/services/fieldLabels/fetchFieldLabels.js +74 -0
- package/dist/services/fieldLabels/fetchFieldLabels.js.map +1 -0
- package/dist/services/fieldLabels/utils/groupFieldPathsByDocument.d.ts +5 -0
- package/dist/services/fieldLabels/utils/groupFieldPathsByDocument.d.ts.map +1 -0
- package/dist/services/fieldLabels/utils/groupFieldPathsByDocument.js +21 -0
- package/dist/services/fieldLabels/utils/groupFieldPathsByDocument.js.map +1 -0
- package/dist/services/fieldLabels/utils/resolveFieldPath.d.ts +4 -0
- package/dist/services/fieldLabels/utils/resolveFieldPath.d.ts.map +1 -0
- package/dist/services/fieldLabels/utils/resolveFieldPath.js +66 -0
- package/dist/services/fieldLabels/utils/resolveFieldPath.js.map +1 -0
- package/dist/services/fieldLabels/utils/schemaUtils.d.ts +6 -0
- package/dist/services/fieldLabels/utils/schemaUtils.d.ts.map +1 -0
- package/dist/services/fieldLabels/utils/schemaUtils.js +60 -0
- package/dist/services/fieldLabels/utils/schemaUtils.js.map +1 -0
- package/dist/services/findAllComments.d.ts +11 -0
- package/dist/services/findAllComments.d.ts.map +1 -0
- package/dist/services/findAllComments.js +47 -0
- package/dist/services/findAllComments.js.map +1 -0
- package/dist/services/getCurrentTenantId.d.ts +3 -0
- package/dist/services/getCurrentTenantId.d.ts.map +1 -0
- package/dist/services/getCurrentTenantId.js +13 -0
- package/dist/services/getCurrentTenantId.js.map +1 -0
- package/dist/services/getDocumentTitles.d.ts +3 -0
- package/dist/services/getDocumentTitles.d.ts.map +1 -0
- package/dist/services/getDocumentTitles.js +61 -0
- package/dist/services/getDocumentTitles.js.map +1 -0
- package/dist/services/getEntitiesLabels.d.ts +3 -0
- package/dist/services/getEntitiesLabels.d.ts.map +1 -0
- package/dist/services/getEntitiesLabels.js +14 -0
- package/dist/services/getEntitiesLabels.js.map +1 -0
- package/dist/services/resolveComment.d.ts +3 -0
- package/dist/services/resolveComment.d.ts.map +1 -0
- package/dist/services/resolveComment.js +41 -0
- package/dist/services/resolveComment.js.map +1 -0
- package/dist/services/sendMentionEmails.d.ts +11 -0
- package/dist/services/sendMentionEmails.d.ts.map +1 -0
- package/dist/services/sendMentionEmails.js +73 -0
- package/dist/services/sendMentionEmails.js.map +1 -0
- package/dist/services/syncAllCommentsData.d.ts +12 -0
- package/dist/services/syncAllCommentsData.d.ts.map +1 -0
- package/dist/services/syncAllCommentsData.js +48 -0
- package/dist/services/syncAllCommentsData.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/translations/en.d.ts +5 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/en.js +36 -0
- package/dist/translations/en.js.map +1 -0
- package/dist/translations/types.d.ts +32 -0
- package/dist/translations/types.d.ts.map +1 -0
- package/dist/translations/types.js +1 -0
- package/dist/translations/types.js.map +1 -0
- package/dist/types/base.d.ts +10 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +1 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/collection.d.ts +2 -0
- package/dist/types/collection.d.ts.map +1 -0
- package/dist/types/collection.js +1 -0
- package/dist/types/collection.js.map +1 -0
- package/dist/types/comment.d.ts +23 -0
- package/dist/types/comment.d.ts.map +1 -0
- package/dist/types/comment.js +1 -0
- package/dist/types/comment.js.map +1 -0
- package/dist/types/config.d.ts +112 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +1 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/entity.d.ts +15 -0
- package/dist/types/entity.d.ts.map +1 -0
- package/dist/types/entity.js +1 -0
- package/dist/types/entity.js.map +1 -0
- package/dist/types/general.d.ts +10 -0
- package/dist/types/general.d.ts.map +1 -0
- package/dist/types/general.js +1 -0
- package/dist/types/general.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/user.d.ts +6 -0
- package/dist/types/user.d.ts.map +1 -0
- package/dist/types/user.js +1 -0
- package/dist/types/user.js.map +1 -0
- package/dist/utils/comment/extractVisibleComments.d.ts +13 -0
- package/dist/utils/comment/extractVisibleComments.d.ts.map +1 -0
- package/dist/utils/comment/extractVisibleComments.js +17 -0
- package/dist/utils/comment/extractVisibleComments.js.map +1 -0
- package/dist/utils/comment/filterCommentsByLocale.d.ts +3 -0
- package/dist/utils/comment/filterCommentsByLocale.d.ts.map +1 -0
- package/dist/utils/comment/filterCommentsByLocale.js +12 -0
- package/dist/utils/comment/filterCommentsByLocale.js.map +1 -0
- package/dist/utils/comment/renderCommentText.d.ts +12 -0
- package/dist/utils/comment/renderCommentText.d.ts.map +1 -0
- package/dist/utils/comment/renderCommentText.js +38 -0
- package/dist/utils/comment/renderCommentText.js.map +1 -0
- package/dist/utils/comment/serializeEditor.d.ts +2 -0
- package/dist/utils/comment/serializeEditor.d.ts.map +1 -0
- package/dist/utils/comment/serializeEditor.js +30 -0
- package/dist/utils/comment/serializeEditor.js.map +1 -0
- package/dist/utils/config/injectFieldCommentComponents.d.ts +4 -0
- package/dist/utils/config/injectFieldCommentComponents.d.ts.map +1 -0
- package/dist/utils/config/injectFieldCommentComponents.js +80 -0
- package/dist/utils/config/injectFieldCommentComponents.js.map +1 -0
- package/dist/utils/config/mergeTranslations.d.ts +3 -0
- package/dist/utils/config/mergeTranslations.d.ts.map +1 -0
- package/dist/utils/config/mergeTranslations.js +29 -0
- package/dist/utils/config/mergeTranslations.js.map +1 -0
- package/dist/utils/config/normalizeCollections.d.ts +7 -0
- package/dist/utils/config/normalizeCollections.d.ts.map +1 -0
- package/dist/utils/config/normalizeCollections.js +15 -0
- package/dist/utils/config/normalizeCollections.js.map +1 -0
- package/dist/utils/config/overrideCollections.d.ts +3 -0
- package/dist/utils/config/overrideCollections.d.ts.map +1 -0
- package/dist/utils/config/overrideCollections.js +38 -0
- package/dist/utils/config/overrideCollections.js.map +1 -0
- package/dist/utils/config/overrideCommentsCollection.d.ts +4 -0
- package/dist/utils/config/overrideCommentsCollection.d.ts.map +1 -0
- package/dist/utils/config/overrideCommentsCollection.js +14 -0
- package/dist/utils/config/overrideCommentsCollection.js.map +1 -0
- package/dist/utils/config/overrideGlobals.d.ts +3 -0
- package/dist/utils/config/overrideGlobals.d.ts.map +1 -0
- package/dist/utils/config/overrideGlobals.js +8 -0
- package/dist/utils/config/overrideGlobals.js.map +1 -0
- package/dist/utils/error/getDefaultErrorMessage.d.ts +2 -0
- package/dist/utils/error/getDefaultErrorMessage.d.ts.map +1 -0
- package/dist/utils/error/getDefaultErrorMessage.js +9 -0
- package/dist/utils/error/getDefaultErrorMessage.js.map +1 -0
- package/dist/utils/general/cn.d.ts +3 -0
- package/dist/utils/general/cn.d.ts.map +1 -0
- package/dist/utils/general/cn.js +9 -0
- package/dist/utils/general/cn.js.map +1 -0
- package/dist/utils/general/formatRelativeDate.d.ts +2 -0
- package/dist/utils/general/formatRelativeDate.d.ts.map +1 -0
- package/dist/utils/general/formatRelativeDate.js +28 -0
- package/dist/utils/general/formatRelativeDate.js.map +1 -0
- package/dist/utils/general/getURL.d.ts +2 -0
- package/dist/utils/general/getURL.d.ts.map +1 -0
- package/dist/utils/general/getURL.js +13 -0
- package/dist/utils/general/getURL.js.map +1 -0
- package/dist/utils/general/getValueByPath.d.ts +4 -0
- package/dist/utils/general/getValueByPath.d.ts.map +1 -0
- package/dist/utils/general/getValueByPath.js +19 -0
- package/dist/utils/general/getValueByPath.js.map +1 -0
- package/dist/utils/mention/isSelfMention.d.ts +4 -0
- package/dist/utils/mention/isSelfMention.d.ts.map +1 -0
- package/dist/utils/mention/isSelfMention.js +7 -0
- package/dist/utils/mention/isSelfMention.js.map +1 -0
- package/dist/utils/mention/parseMentionIds.d.ts +2 -0
- package/dist/utils/mention/parseMentionIds.d.ts.map +1 -0
- package/dist/utils/mention/parseMentionIds.js +13 -0
- package/dist/utils/mention/parseMentionIds.js.map +1 -0
- package/dist/utils/mode/defineModeByPathname.d.ts +11 -0
- package/dist/utils/mode/defineModeByPathname.d.ts.map +1 -0
- package/dist/utils/mode/defineModeByPathname.js +39 -0
- package/dist/utils/mode/defineModeByPathname.js.map +1 -0
- package/dist/utils/path/detectPluginBasePath.d.ts +2 -0
- package/dist/utils/path/detectPluginBasePath.d.ts.map +1 -0
- package/dist/utils/path/detectPluginBasePath.js +8 -0
- package/dist/utils/path/detectPluginBasePath.js.map +1 -0
- package/dist/utils/path/getComponentPath.d.ts +15 -0
- package/dist/utils/path/getComponentPath.d.ts.map +1 -0
- package/dist/utils/path/getComponentPath.js +22 -0
- package/dist/utils/path/getComponentPath.js.map +1 -0
- package/dist/utils/payload/extractPayload.d.ts +3 -0
- package/dist/utils/payload/extractPayload.d.ts.map +1 -0
- package/dist/utils/payload/extractPayload.js +9 -0
- package/dist/utils/payload/extractPayload.js.map +1 -0
- package/dist/utils/user/resolveUsername.d.ts +4 -0
- package/dist/utils/user/resolveUsername.d.ts.map +1 -0
- package/dist/utils/user/resolveUsername.js +14 -0
- package/dist/utils/user/resolveUsername.js.map +1 -0
- package/package.json +113 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { startTransition } from "react";
|
|
4
|
+
import { useTranslation } from "@payloadcms/ui";
|
|
5
|
+
import { cn } from "../../utils/general/cn";
|
|
6
|
+
import { useComments } from "../../providers/CommentsProvider";
|
|
7
|
+
import { renderCommentText } from "../../utils/comment/renderCommentText";
|
|
8
|
+
import { resolveUsername } from "../../utils/user/resolveUsername";
|
|
9
|
+
import { FALLBACK_DELETED_USERNAME, FALLBACK_USERNAME } from "../../constants";
|
|
10
|
+
import { ToolsPanel } from "./ToolsPanel";
|
|
11
|
+
import { useRelativeDate } from "../../hooks/useRelativeDate";
|
|
12
|
+
import { Avatar } from "../Avatar";
|
|
13
|
+
function CommentItem({ comment, currentUserId }) {
|
|
14
|
+
const { resolveComment, removeComment, usernameFieldPath } = useComments();
|
|
15
|
+
const { t } = useTranslation();
|
|
16
|
+
const createdAtRelativeDate = useRelativeDate(comment.createdAt);
|
|
17
|
+
const deletedUserLabel = t("comments:deletedUser") ?? FALLBACK_DELETED_USERNAME;
|
|
18
|
+
const unknownLabel = t("comments:unknownAuthor") ?? FALLBACK_USERNAME;
|
|
19
|
+
const narrowedAuthor = typeof comment.author === "object" ? comment.author : null;
|
|
20
|
+
const authorName = resolveUsername(narrowedAuthor, usernameFieldPath, unknownLabel);
|
|
21
|
+
const isResolved = comment.isResolved ?? false;
|
|
22
|
+
const authorId = comment.author && typeof comment.author === "object" && "id" in comment.author ? comment.author.id : null;
|
|
23
|
+
const canDelete = currentUserId !== null && authorId === currentUserId;
|
|
24
|
+
const handleToggleResolve = () => {
|
|
25
|
+
startTransition(async () => {
|
|
26
|
+
await resolveComment(comment.id, !isResolved);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
const handleDelete = () => {
|
|
30
|
+
startTransition(async () => {
|
|
31
|
+
await removeComment(comment.id);
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
return /* @__PURE__ */ jsxs("div", { className: cn("group relative"), children: [
|
|
35
|
+
/* @__PURE__ */ jsx(
|
|
36
|
+
ToolsPanel,
|
|
37
|
+
{
|
|
38
|
+
isResolved,
|
|
39
|
+
canDelete,
|
|
40
|
+
onDelete: handleDelete,
|
|
41
|
+
onResolve: handleToggleResolve
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-2.5 items-start", children: [
|
|
45
|
+
/* @__PURE__ */ jsx(Avatar, { user: narrowedAuthor, usernameFieldPath, fallbackName: unknownLabel }),
|
|
46
|
+
/* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
|
|
47
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 mb-1", children: [
|
|
48
|
+
/* @__PURE__ */ jsx("span", { className: "font-semibold text-[13px] text-(--theme-text)", children: authorName }),
|
|
49
|
+
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-(--theme-elevation-450)", children: createdAtRelativeDate })
|
|
50
|
+
] }),
|
|
51
|
+
/* @__PURE__ */ jsx("p", { className: "m-0 text-[13px] leading-normal text-(--theme-text) whitespace-pre-wrap wrap-break-word", children: renderCommentText({
|
|
52
|
+
text: comment.text,
|
|
53
|
+
mentions: comment.mentions,
|
|
54
|
+
currentUserId,
|
|
55
|
+
usernameFieldPath,
|
|
56
|
+
fallbackDeletedUsername: deletedUserLabel
|
|
57
|
+
}) })
|
|
58
|
+
] })
|
|
59
|
+
] })
|
|
60
|
+
] });
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
CommentItem
|
|
64
|
+
};
|
|
65
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CommentItem/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { startTransition } from \"react\";\nimport { useTranslation } from \"@payloadcms/ui\";\nimport { cn } from \"../../utils/general/cn\";\nimport type { Comment } from \"../../types\";\nimport { useComments } from \"../../providers/CommentsProvider\";\nimport { renderCommentText } from \"../../utils/comment/renderCommentText\";\nimport { resolveUsername } from \"../../utils/user/resolveUsername\";\nimport { FALLBACK_DELETED_USERNAME, FALLBACK_USERNAME } from \"../../constants\";\nimport { ToolsPanel } from \"./ToolsPanel\";\nimport { useRelativeDate } from \"../../hooks/useRelativeDate\";\nimport { Avatar } from \"../Avatar\";\n\ninterface Props {\n comment: Comment;\n currentUserId: number | null;\n}\n\nexport function CommentItem({ comment, currentUserId }: Props) {\n const { resolveComment, removeComment, usernameFieldPath } = useComments();\n const { t } = useTranslation();\n const createdAtRelativeDate = useRelativeDate(comment.createdAt);\n\n const deletedUserLabel = t(\"comments:deletedUser\" as never) ?? FALLBACK_DELETED_USERNAME;\n const unknownLabel = t(\"comments:unknownAuthor\" as never) ?? FALLBACK_USERNAME;\n const narrowedAuthor = typeof comment.author === \"object\" ? comment.author : null;\n const authorName = resolveUsername(narrowedAuthor, usernameFieldPath, unknownLabel);\n\n const isResolved = comment.isResolved ?? false;\n\n const authorId =\n comment.author && typeof comment.author === \"object\" && \"id\" in comment.author ? comment.author.id : null;\n const canDelete = currentUserId !== null && authorId === currentUserId;\n\n const handleToggleResolve = () => {\n startTransition(async () => {\n await resolveComment(comment.id, !isResolved);\n });\n };\n\n const handleDelete = () => {\n startTransition(async () => {\n await removeComment(comment.id);\n });\n };\n\n return (\n <div className={cn(\"group relative\")}>\n <ToolsPanel\n isResolved={isResolved}\n canDelete={canDelete}\n onDelete={handleDelete}\n onResolve={handleToggleResolve}\n />\n\n <div className=\"flex gap-2.5 items-start\">\n <Avatar user={narrowedAuthor} usernameFieldPath={usernameFieldPath} fallbackName={unknownLabel} />\n\n <div className=\"flex-1\">\n <div className=\"flex items-center gap-2 mb-1\">\n <span className=\"font-semibold text-[13px] text-(--theme-text)\">{authorName}</span>\n <span className=\"text-[11px] text-(--theme-elevation-450)\">{createdAtRelativeDate}</span>\n </div>\n\n <p className=\"m-0 text-[13px] leading-normal text-(--theme-text) whitespace-pre-wrap wrap-break-word\">\n {renderCommentText({\n text: comment.text,\n mentions: comment.mentions,\n currentUserId,\n usernameFieldPath,\n fallbackDeletedUsername: deletedUserLabel,\n })}\n </p>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";AAiDM,cAWI,YAXJ;AA/CN,SAAS,uBAAuB;AAChC,SAAS,sBAAsB;AAC/B,SAAS,UAAU;AAEnB,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,uBAAuB;AAChC,SAAS,2BAA2B,yBAAyB;AAC7D,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,cAAc;AAOhB,SAAS,YAAY,EAAE,SAAS,cAAc,GAAU;AAC7D,QAAM,EAAE,gBAAgB,eAAe,kBAAkB,IAAI,YAAY;AACzE,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,wBAAwB,gBAAgB,QAAQ,SAAS;AAE/D,QAAM,mBAAmB,EAAE,sBAA+B,KAAK;AAC/D,QAAM,eAAe,EAAE,wBAAiC,KAAK;AAC7D,QAAM,iBAAiB,OAAO,QAAQ,WAAW,WAAW,QAAQ,SAAS;AAC7E,QAAM,aAAa,gBAAgB,gBAAgB,mBAAmB,YAAY;AAElF,QAAM,aAAa,QAAQ,cAAc;AAEzC,QAAM,WACJ,QAAQ,UAAU,OAAO,QAAQ,WAAW,YAAY,QAAQ,QAAQ,SAAS,QAAQ,OAAO,KAAK;AACvG,QAAM,YAAY,kBAAkB,QAAQ,aAAa;AAEzD,QAAM,sBAAsB,MAAM;AAChC,oBAAgB,YAAY;AAC1B,YAAM,eAAe,QAAQ,IAAI,CAAC,UAAU;AAAA,IAC9C,CAAC;AAAA,EACH;AAEA,QAAM,eAAe,MAAM;AACzB,oBAAgB,YAAY;AAC1B,YAAM,cAAc,QAAQ,EAAE;AAAA,IAChC,CAAC;AAAA,EACH;AAEA,SACE,qBAAC,SAAI,WAAW,GAAG,gBAAgB,GACjC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV,WAAW;AAAA;AAAA,IACb;AAAA,IAEA,qBAAC,SAAI,WAAU,4BACb;AAAA,0BAAC,UAAO,MAAM,gBAAgB,mBAAsC,cAAc,cAAc;AAAA,MAEhG,qBAAC,SAAI,WAAU,UACb;AAAA,6BAAC,SAAI,WAAU,gCACb;AAAA,8BAAC,UAAK,WAAU,iDAAiD,sBAAW;AAAA,UAC5E,oBAAC,UAAK,WAAU,4CAA4C,iCAAsB;AAAA,WACpF;AAAA,QAEA,oBAAC,OAAE,WAAU,0FACV,4BAAkB;AAAA,UACjB,MAAM,QAAQ;AAAA,UACd,UAAU,QAAQ;AAAA,UAClB;AAAA,UACA;AAAA,UACA,yBAAyB;AAAA,QAC3B,CAAC,GACH;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsDrawer/components/Header.tsx"],"names":[],"mappings":"AASA,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,EAAE,WAAW,2CAwC3C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { SelectInput, useModal, useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { useComments } from "../../../providers/CommentsProvider";
|
|
5
|
+
import { LoaderCircleIcon, XIcon } from "lucide-react";
|
|
6
|
+
import { IconButton } from "../../IconButton";
|
|
7
|
+
function Header({ slug }) {
|
|
8
|
+
const { t } = useTranslation();
|
|
9
|
+
const { closeModal } = useModal();
|
|
10
|
+
const { filter, setFilter, syncCommentsStatus } = useComments();
|
|
11
|
+
const options = [
|
|
12
|
+
{ label: t("comments:filterOpen"), value: "open" },
|
|
13
|
+
{ label: t("comments:filterResolved"), value: "resolved" },
|
|
14
|
+
{ label: t("comments:filterMentioned"), value: "mentioned" }
|
|
15
|
+
];
|
|
16
|
+
return /* @__PURE__ */ jsxs("header", { className: "sticky top-0 flex items-center gap-3 py-5 bg-(--theme-bg)", children: [
|
|
17
|
+
/* @__PURE__ */ jsx("h2", { className: "m-0 text-2xl font-bold", children: t("comments:label") }),
|
|
18
|
+
syncCommentsStatus === "loading" && /* @__PURE__ */ jsx(
|
|
19
|
+
LoaderCircleIcon,
|
|
20
|
+
{
|
|
21
|
+
width: 14,
|
|
22
|
+
height: 14,
|
|
23
|
+
className: "text-(--theme-elevation-450) animate-spin shrink-0",
|
|
24
|
+
"aria-label": t("comments:syncingComments")
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 ml-auto", children: [
|
|
28
|
+
/* @__PURE__ */ jsx(
|
|
29
|
+
SelectInput,
|
|
30
|
+
{
|
|
31
|
+
name: "filter",
|
|
32
|
+
path: "filter",
|
|
33
|
+
options,
|
|
34
|
+
value: filter,
|
|
35
|
+
onChange: (option) => setFilter(option.value),
|
|
36
|
+
isClearable: false
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsx(IconButton, { onClick: () => closeModal(slug), title: t("comments:close"), children: /* @__PURE__ */ jsx(XIcon, { width: 16, height: 16 }) })
|
|
40
|
+
] })
|
|
41
|
+
] });
|
|
42
|
+
}
|
|
43
|
+
export {
|
|
44
|
+
Header
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=Header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsDrawer/components/Header.tsx"],"sourcesContent":["\"use client\";\n\nimport { SelectInput, useModal, useTranslation } from \"@payloadcms/ui\";\nimport { useComments } from \"../../../providers/CommentsProvider\";\nimport type { FilterMode } from \"../../../types\";\nimport { LoaderCircleIcon, XIcon } from \"lucide-react\";\nimport type { OptionObject } from \"payload\";\nimport { IconButton } from \"../../IconButton\";\n\ninterface HeaderProps {\n slug: string;\n}\n\nexport function Header({ slug }: HeaderProps) {\n const { t } = useTranslation();\n const { closeModal } = useModal();\n const { filter, setFilter, syncCommentsStatus } = useComments();\n\n const options = [\n { label: t(\"comments:filterOpen\" as never), value: \"open\" },\n { label: t(\"comments:filterResolved\" as never), value: \"resolved\" },\n { label: t(\"comments:filterMentioned\" as never), value: \"mentioned\" },\n ];\n\n return (\n <header className=\"sticky top-0 flex items-center gap-3 py-5 bg-(--theme-bg)\">\n <h2 className=\"m-0 text-2xl font-bold\">{t(\"comments:label\" as never)}</h2>\n\n {syncCommentsStatus === \"loading\" && (\n <LoaderCircleIcon\n width={14}\n height={14}\n className=\"text-(--theme-elevation-450) animate-spin shrink-0\"\n aria-label={t(\"comments:syncingComments\" as never)}\n />\n )}\n\n <div className=\"flex items-center gap-2 ml-auto\">\n <SelectInput\n name=\"filter\"\n path=\"filter\"\n options={options}\n value={filter}\n onChange={(option) => setFilter((option as OptionObject).value as FilterMode)}\n isClearable={false}\n />\n\n <IconButton onClick={() => closeModal(slug)} title={t(\"comments:close\" as never)}>\n <XIcon width={16} height={16} />\n </IconButton>\n </div>\n </header>\n );\n}\n"],"mappings":";AA0BM,cAWA,YAXA;AAxBN,SAAS,aAAa,UAAU,sBAAsB;AACtD,SAAS,mBAAmB;AAE5B,SAAS,kBAAkB,aAAa;AAExC,SAAS,kBAAkB;AAMpB,SAAS,OAAO,EAAE,KAAK,GAAgB;AAC5C,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,WAAW,IAAI,SAAS;AAChC,QAAM,EAAE,QAAQ,WAAW,mBAAmB,IAAI,YAAY;AAE9D,QAAM,UAAU;AAAA,IACd,EAAE,OAAO,EAAE,qBAA8B,GAAG,OAAO,OAAO;AAAA,IAC1D,EAAE,OAAO,EAAE,yBAAkC,GAAG,OAAO,WAAW;AAAA,IAClE,EAAE,OAAO,EAAE,0BAAmC,GAAG,OAAO,YAAY;AAAA,EACtE;AAEA,SACE,qBAAC,YAAO,WAAU,6DAChB;AAAA,wBAAC,QAAG,WAAU,0BAA0B,YAAE,gBAAyB,GAAE;AAAA,IAEpE,uBAAuB,aACtB;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAU;AAAA,QACV,cAAY,EAAE,0BAAmC;AAAA;AAAA,IACnD;AAAA,IAGF,qBAAC,SAAI,WAAU,mCACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,MAAK;AAAA,UACL;AAAA,UACA,OAAO;AAAA,UACP,UAAU,CAAC,WAAW,UAAW,OAAwB,KAAmB;AAAA,UAC5E,aAAa;AAAA;AAAA,MACf;AAAA,MAEA,oBAAC,cAAW,SAAS,MAAM,WAAW,IAAI,GAAG,OAAO,EAAE,gBAAyB,GAC7E,8BAAC,SAAM,OAAO,IAAI,QAAQ,IAAI,GAChC;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CommentsDrawer/index.tsx"],"names":[],"mappings":"AAQA,UAAU,KAAK;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,2CAoB7C"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { createPortal } from "react-dom";
|
|
4
|
+
import { CommentsPanel } from "../CommentsPanel";
|
|
5
|
+
import { Header } from "./components/Header";
|
|
6
|
+
import { cn } from "../../utils/general/cn";
|
|
7
|
+
import { Drawer, useModal } from "@payloadcms/ui";
|
|
8
|
+
function CommentsDrawer({ slug }) {
|
|
9
|
+
const { modalState, closeModal, containerRef } = useModal();
|
|
10
|
+
const isOpen = !!modalState[slug]?.isOpen;
|
|
11
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
12
|
+
isOpen && containerRef.current && createPortal(
|
|
13
|
+
/* @__PURE__ */ jsx("div", { className: "fixed inset-0 bg-black/50 z-29 cursor-pointer", onClick: () => closeModal(slug) }),
|
|
14
|
+
containerRef.current
|
|
15
|
+
),
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
Drawer,
|
|
18
|
+
{
|
|
19
|
+
className: cn("comments-drawer max-w-150 w-full m-0 ml-auto relative"),
|
|
20
|
+
slug,
|
|
21
|
+
Header: /* @__PURE__ */ jsx(Header, { slug }),
|
|
22
|
+
children: /* @__PURE__ */ jsx(CommentsPanel, { className: "pb-5" })
|
|
23
|
+
}
|
|
24
|
+
)
|
|
25
|
+
] });
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
CommentsDrawer
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CommentsDrawer/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { createPortal } from \"react-dom\";\nimport { CommentsPanel } from \"../CommentsPanel\";\nimport { Header } from \"./components/Header\";\nimport { cn } from \"../../utils/general/cn\";\nimport { Drawer, useModal } from \"@payloadcms/ui\";\n\ninterface Props {\n slug: string;\n}\n\nexport function CommentsDrawer({ slug }: Props) {\n const { modalState, closeModal, containerRef } = useModal();\n const isOpen = !!modalState[slug]?.isOpen;\n\n return (\n <>\n {isOpen\n && containerRef.current\n && createPortal(\n <div className=\"fixed inset-0 bg-black/50 z-29 cursor-pointer\" onClick={() => closeModal(slug)} />,\n containerRef.current,\n )}\n <Drawer\n className={cn(\"comments-drawer max-w-150 w-full m-0 ml-auto relative\")}\n slug={slug}\n Header={<Header slug={slug} />}>\n <CommentsPanel className=\"pb-5\" />\n </Drawer>\n </>\n );\n}\n"],"mappings":";AAiBI,mBAIM,KAJN;AAfJ,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,SAAS,cAAc;AACvB,SAAS,UAAU;AACnB,SAAS,QAAQ,gBAAgB;AAM1B,SAAS,eAAe,EAAE,KAAK,GAAU;AAC9C,QAAM,EAAE,YAAY,YAAY,aAAa,IAAI,SAAS;AAC1D,QAAM,SAAS,CAAC,CAAC,WAAW,IAAI,GAAG;AAEnC,SACE,iCACG;AAAA,cACI,aAAa,WACb;AAAA,MACD,oBAAC,SAAI,WAAU,iDAAgD,SAAS,MAAM,WAAW,IAAI,GAAG;AAAA,MAChG,aAAa;AAAA,IACf;AAAA,IACF;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,GAAG,uDAAuD;AAAA,QACrE;AAAA,QACA,QAAQ,oBAAC,UAAO,MAAY;AAAA,QAC5B,8BAAC,iBAAc,WAAU,QAAO;AAAA;AAAA,IAClC;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/CommentsHeaderButton/index.tsx"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,4CAanC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { MessageSquare } from "lucide-react";
|
|
5
|
+
import { CommentsDrawer } from "../CommentsDrawer";
|
|
6
|
+
import { useCommentsDrawer } from "../../providers/CommentsDrawerProvider";
|
|
7
|
+
import { IconButton } from "../IconButton";
|
|
8
|
+
function CommentsHeaderButton() {
|
|
9
|
+
const { slug, open } = useCommentsDrawer();
|
|
10
|
+
const { t } = useTranslation();
|
|
11
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
12
|
+
/* @__PURE__ */ jsx(IconButton, { variant: "neutralSecondary", onClick: () => open(), title: t("comments:openCommentsAria"), children: /* @__PURE__ */ jsx(MessageSquare, { size: 16 }) }),
|
|
13
|
+
/* @__PURE__ */ jsx(CommentsDrawer, { slug })
|
|
14
|
+
] });
|
|
15
|
+
}
|
|
16
|
+
export {
|
|
17
|
+
CommentsHeaderButton
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CommentsHeaderButton/index.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTranslation } from \"@payloadcms/ui\";\nimport { MessageSquare } from \"lucide-react\";\nimport { CommentsDrawer } from \"../CommentsDrawer\";\nimport { useCommentsDrawer } from \"../../providers/CommentsDrawerProvider\";\nimport { IconButton } from \"../IconButton\";\n\nexport function CommentsHeaderButton() {\n const { slug, open } = useCommentsDrawer();\n const { t } = useTranslation();\n\n return (\n <>\n <IconButton variant=\"neutralSecondary\" onClick={() => open()} title={t(\"comments:openCommentsAria\" as never)}>\n <MessageSquare size={16} />\n </IconButton>\n\n <CommentsDrawer slug={slug} />\n </>\n );\n}\n"],"mappings":";AAaI,mBAEI,KAFJ;AAXJ,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,sBAAsB;AAC/B,SAAS,yBAAyB;AAClC,SAAS,kBAAkB;AAEpB,SAAS,uBAAuB;AACrC,QAAM,EAAE,MAAM,KAAK,IAAI,kBAAkB;AACzC,QAAM,EAAE,EAAE,IAAI,eAAe;AAE7B,SACE,iCACE;AAAA,wBAAC,cAAW,SAAQ,oBAAmB,SAAS,MAAM,KAAK,GAAG,OAAO,EAAE,2BAAoC,GACzG,8BAAC,iBAAc,MAAM,IAAI,GAC3B;AAAA,IAEA,oBAAC,kBAAe,MAAY;AAAA,KAC9B;AAEJ;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { ReactNode } from "react";
|
|
2
|
+
interface CollapsibleGroupProps {
|
|
3
|
+
groupKey: string;
|
|
4
|
+
label: string;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
level: "collection" | "document" | "field";
|
|
7
|
+
}
|
|
8
|
+
export declare function CollapsibleGroup({ groupKey, label, children, level }: CollapsibleGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=CollapsibleGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CollapsibleGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsPanel/components/CollapsibleGroup.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC;CAC5C;AAgCD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,qBAAqB,2CAyB3F"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { ChevronDown } from "lucide-react";
|
|
4
|
+
import { cva } from "class-variance-authority";
|
|
5
|
+
import { useCollapseState } from "../hooks/useCollapseState";
|
|
6
|
+
import { cn } from "../../../utils/general/cn";
|
|
7
|
+
const collapsibleGroupVariants = {
|
|
8
|
+
wrapper: cva("flex w-full items-center gap-2 cursor-pointer select-none", {
|
|
9
|
+
variants: {
|
|
10
|
+
level: {
|
|
11
|
+
collection: "py-2",
|
|
12
|
+
document: "py-2",
|
|
13
|
+
field: "py-1.5"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}),
|
|
17
|
+
label: cva("flex-1 truncate", {
|
|
18
|
+
variants: {
|
|
19
|
+
level: {
|
|
20
|
+
collection: "text-[14px] font-semibold text-(--theme-text)",
|
|
21
|
+
document: "text-[13px] font-semibold text-(--theme-text)",
|
|
22
|
+
field: "text-[12px] font-medium text-(--theme-elevation-600)"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}),
|
|
26
|
+
childWrapper: cva("", {
|
|
27
|
+
variants: {
|
|
28
|
+
level: {
|
|
29
|
+
collection: "border-l-2 border-(--theme-elevation-100) pl-3",
|
|
30
|
+
document: "border-l-2 border-(--theme-elevation-100) pl-3",
|
|
31
|
+
field: ""
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
};
|
|
36
|
+
function CollapsibleGroup({ groupKey, label, children, level }) {
|
|
37
|
+
const [isCollapsed, toggle] = useCollapseState(groupKey);
|
|
38
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
39
|
+
/* @__PURE__ */ jsxs(
|
|
40
|
+
"div",
|
|
41
|
+
{
|
|
42
|
+
role: "button",
|
|
43
|
+
tabIndex: 0,
|
|
44
|
+
onClick: toggle,
|
|
45
|
+
onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && toggle(),
|
|
46
|
+
"aria-expanded": !isCollapsed,
|
|
47
|
+
className: collapsibleGroupVariants.wrapper({ level }),
|
|
48
|
+
children: [
|
|
49
|
+
/* @__PURE__ */ jsx("span", { className: collapsibleGroupVariants.label({ level }), children: label }),
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
ChevronDown,
|
|
52
|
+
{
|
|
53
|
+
className: cn(
|
|
54
|
+
"shrink-0 w-4 h-4 text-(--theme-elevation-450) transition-transform duration-150",
|
|
55
|
+
isCollapsed && "-rotate-90"
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
)
|
|
59
|
+
]
|
|
60
|
+
}
|
|
61
|
+
),
|
|
62
|
+
!isCollapsed && /* @__PURE__ */ jsx("div", { className: collapsibleGroupVariants.childWrapper({ level }), children })
|
|
63
|
+
] });
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
CollapsibleGroup
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=CollapsibleGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsPanel/components/CollapsibleGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport type { ReactNode } from \"react\";\nimport { ChevronDown } from \"lucide-react\";\nimport { cva } from \"class-variance-authority\";\nimport { useCollapseState } from \"../hooks/useCollapseState\";\nimport { cn } from \"../../../utils/general/cn\";\n\ninterface CollapsibleGroupProps {\n groupKey: string;\n label: string;\n children: ReactNode;\n level: \"collection\" | \"document\" | \"field\";\n}\n\nconst collapsibleGroupVariants = {\n wrapper: cva(\"flex w-full items-center gap-2 cursor-pointer select-none\", {\n variants: {\n level: {\n collection: \"py-2\",\n document: \"py-2\",\n field: \"py-1.5\",\n },\n },\n }),\n label: cva(\"flex-1 truncate\", {\n variants: {\n level: {\n collection: \"text-[14px] font-semibold text-(--theme-text)\",\n document: \"text-[13px] font-semibold text-(--theme-text)\",\n field: \"text-[12px] font-medium text-(--theme-elevation-600)\",\n },\n },\n }),\n childWrapper: cva(\"\", {\n variants: {\n level: {\n collection: \"border-l-2 border-(--theme-elevation-100) pl-3\",\n document: \"border-l-2 border-(--theme-elevation-100) pl-3\",\n field: \"\",\n },\n },\n }),\n};\n\nexport function CollapsibleGroup({ groupKey, label, children, level }: CollapsibleGroupProps) {\n const [isCollapsed, toggle] = useCollapseState(groupKey);\n\n return (\n <div>\n <div\n role=\"button\"\n tabIndex={0}\n onClick={toggle}\n onKeyDown={(e) => (e.key === \"Enter\" || e.key === \" \") && toggle()}\n aria-expanded={!isCollapsed}\n className={collapsibleGroupVariants.wrapper({ level })}>\n <span className={collapsibleGroupVariants.label({ level })}>{label}</span>\n\n <ChevronDown\n className={cn(\n \"shrink-0 w-4 h-4 text-(--theme-elevation-450) transition-transform duration-150\",\n isCollapsed && \"-rotate-90\",\n )}\n />\n </div>\n\n {!isCollapsed && <div className={collapsibleGroupVariants.childWrapper({ level })}>{children}</div>}\n </div>\n );\n}\n"],"mappings":";AAkDM,SAOE,KAPF;AA/CN,SAAS,mBAAmB;AAC5B,SAAS,WAAW;AACpB,SAAS,wBAAwB;AACjC,SAAS,UAAU;AASnB,MAAM,2BAA2B;AAAA,EAC/B,SAAS,IAAI,6DAA6D;AAAA,IACxE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,OAAO,IAAI,mBAAmB;AAAA,IAC5B,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AAAA,EACD,cAAc,IAAI,IAAI;AAAA,IACpB,UAAU;AAAA,MACR,OAAO;AAAA,QACL,YAAY;AAAA,QACZ,UAAU;AAAA,QACV,OAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEO,SAAS,iBAAiB,EAAE,UAAU,OAAO,UAAU,MAAM,GAA0B;AAC5F,QAAM,CAAC,aAAa,MAAM,IAAI,iBAAiB,QAAQ;AAEvD,SACE,qBAAC,SACC;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,UAAU;AAAA,QACV,SAAS;AAAA,QACT,WAAW,CAAC,OAAO,EAAE,QAAQ,WAAW,EAAE,QAAQ,QAAQ,OAAO;AAAA,QACjE,iBAAe,CAAC;AAAA,QAChB,WAAW,yBAAyB,QAAQ,EAAE,MAAM,CAAC;AAAA,QACrD;AAAA,8BAAC,UAAK,WAAW,yBAAyB,MAAM,EAAE,MAAM,CAAC,GAAI,iBAAM;AAAA,UAEnE;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,eAAe;AAAA,cACjB;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IACF;AAAA,IAEC,CAAC,eAAe,oBAAC,SAAI,WAAW,yBAAyB,aAAa,EAAE,MAAM,CAAC,GAAI,UAAS;AAAA,KAC/F;AAEJ;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Comment } from "../../../types";
|
|
2
|
+
interface Props {
|
|
3
|
+
comments: Comment[];
|
|
4
|
+
userId: number | null;
|
|
5
|
+
className: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function DocumentView({ comments, userId, className }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=DocumentView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentView.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsPanel/components/DocumentView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAM9C,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,2CAsBlE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { useComments } from "../../../providers/CommentsProvider";
|
|
5
|
+
import { groupCommentsByFieldPath } from "../utils/groupCommentsByFieldPath";
|
|
6
|
+
import { FILTER_NO_COMMENTS_KEYS } from "../constants";
|
|
7
|
+
import { FieldGroupSection } from "./FieldGroupSection";
|
|
8
|
+
function DocumentView({ comments, userId, className }) {
|
|
9
|
+
const { t } = useTranslation();
|
|
10
|
+
const { filter, collectionSlug, documentId } = useComments();
|
|
11
|
+
const fields = groupCommentsByFieldPath(comments);
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
13
|
+
comments.length === 0 && /* @__PURE__ */ jsx("p", { className: "text-(--theme-elevation-450) text-[13px] text-center py-6 m-0", children: t(FILTER_NO_COMMENTS_KEYS[filter]) }),
|
|
14
|
+
/* @__PURE__ */ jsx(
|
|
15
|
+
FieldGroupSection,
|
|
16
|
+
{
|
|
17
|
+
fields,
|
|
18
|
+
userId,
|
|
19
|
+
collectionSlug: collectionSlug ?? void 0,
|
|
20
|
+
documentId: documentId ?? void 0
|
|
21
|
+
}
|
|
22
|
+
)
|
|
23
|
+
] });
|
|
24
|
+
}
|
|
25
|
+
export {
|
|
26
|
+
DocumentView
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=DocumentView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsPanel/components/DocumentView.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTranslation } from \"@payloadcms/ui\";\nimport type { Comment } from \"../../../types\";\nimport { useComments } from \"../../../providers/CommentsProvider\";\nimport { groupCommentsByFieldPath } from \"../utils/groupCommentsByFieldPath\";\nimport { FILTER_NO_COMMENTS_KEYS } from \"../constants\";\nimport { FieldGroupSection } from \"./FieldGroupSection\";\n\ninterface Props {\n comments: Comment[];\n userId: number | null;\n className: string;\n}\n\nexport function DocumentView({ comments, userId, className }: Props) {\n const { t } = useTranslation();\n const { filter, collectionSlug, documentId } = useComments();\n\n const fields = groupCommentsByFieldPath(comments);\n\n return (\n <div className={className}>\n {comments.length === 0 && (\n <p className=\"text-(--theme-elevation-450) text-[13px] text-center py-6 m-0\">\n {t(FILTER_NO_COMMENTS_KEYS[filter] as never)}\n </p>\n )}\n\n <FieldGroupSection\n fields={fields}\n userId={userId}\n collectionSlug={collectionSlug ?? undefined}\n documentId={documentId ?? undefined}\n />\n </div>\n );\n}\n"],"mappings":";AAsBI,SAEI,KAFJ;AApBJ,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AACxC,SAAS,yBAAyB;AAQ3B,SAAS,aAAa,EAAE,UAAU,QAAQ,UAAU,GAAU;AACnE,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,QAAQ,gBAAgB,WAAW,IAAI,YAAY;AAE3D,QAAM,SAAS,yBAAyB,QAAQ;AAEhD,SACE,qBAAC,SAAI,WACF;AAAA,aAAS,WAAW,KACnB,oBAAC,OAAE,WAAU,iEACV,YAAE,wBAAwB,MAAM,CAAU,GAC7C;AAAA,IAGF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,gBAAgB,kBAAkB;AAAA,QAClC,YAAY,cAAc;AAAA;AAAA,IAC5B;AAAA,KACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Comment } from "../../../types/comment";
|
|
2
|
+
interface Props {
|
|
3
|
+
fields: Map<string | null, Comment[]>;
|
|
4
|
+
userId: number | null;
|
|
5
|
+
collectionSlug?: string;
|
|
6
|
+
documentId?: number;
|
|
7
|
+
globalSlug?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function FieldGroupSection({ fields, userId, collectionSlug, documentId, globalSlug }: Props): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=FieldGroupSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldGroupSection.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsPanel/components/FieldGroupSection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAQtD,UAAU,KAAK;IACb,MAAM,EAAE,GAAG,CAAC,MAAM,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,KAAK,2CAiDlG"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { CollapsibleGroup } from "./CollapsibleGroup";
|
|
5
|
+
import { CommentItem } from "../../CommentItem";
|
|
6
|
+
import { createCollapsibleGroupKey } from "../utils/createCollapsibleGroupKey";
|
|
7
|
+
import { resolveFieldLabel } from "../utils/resolveFieldLabel";
|
|
8
|
+
import { useComments } from "../../../providers/CommentsProvider";
|
|
9
|
+
import { CommentEditor } from "../../CommentEditor";
|
|
10
|
+
function FieldGroupSection({ fields, userId, collectionSlug, documentId, globalSlug }) {
|
|
11
|
+
const { t } = useTranslation();
|
|
12
|
+
const { fieldLabelRegistry } = useComments();
|
|
13
|
+
const generalComments = fields.get(null) ?? [];
|
|
14
|
+
const fieldEntries = [...fields.entries()].filter((entry) => entry[0] !== null);
|
|
15
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
16
|
+
/* @__PURE__ */ jsx(
|
|
17
|
+
CollapsibleGroup,
|
|
18
|
+
{
|
|
19
|
+
groupKey: createCollapsibleGroupKey({ collectionSlug, documentId, globalSlug, fieldPath: null }),
|
|
20
|
+
label: t("comments:general"),
|
|
21
|
+
level: "field",
|
|
22
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
23
|
+
generalComments.map((comment) => /* @__PURE__ */ jsx(CommentItem, { comment, currentUserId: userId }, comment.id)),
|
|
24
|
+
/* @__PURE__ */ jsx(
|
|
25
|
+
CommentEditor,
|
|
26
|
+
{
|
|
27
|
+
fieldPath: null,
|
|
28
|
+
collectionSlug,
|
|
29
|
+
documentId,
|
|
30
|
+
globalSlug
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
] })
|
|
34
|
+
}
|
|
35
|
+
),
|
|
36
|
+
fieldEntries.map(([fieldPath, fieldComments]) => /* @__PURE__ */ jsx(
|
|
37
|
+
CollapsibleGroup,
|
|
38
|
+
{
|
|
39
|
+
groupKey: createCollapsibleGroupKey({ collectionSlug, documentId, globalSlug, fieldPath }),
|
|
40
|
+
label: resolveFieldLabel({ registry: fieldLabelRegistry, collectionSlug, documentId, globalSlug, fieldPath }),
|
|
41
|
+
level: "field",
|
|
42
|
+
children: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", "data-field-path": fieldPath, children: [
|
|
43
|
+
fieldComments.map((comment) => /* @__PURE__ */ jsx(CommentItem, { comment, currentUserId: userId }, comment.id)),
|
|
44
|
+
/* @__PURE__ */ jsx(
|
|
45
|
+
CommentEditor,
|
|
46
|
+
{
|
|
47
|
+
fieldPath,
|
|
48
|
+
collectionSlug,
|
|
49
|
+
documentId,
|
|
50
|
+
globalSlug
|
|
51
|
+
}
|
|
52
|
+
)
|
|
53
|
+
] })
|
|
54
|
+
},
|
|
55
|
+
fieldPath
|
|
56
|
+
))
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
FieldGroupSection
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=FieldGroupSection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsPanel/components/FieldGroupSection.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTranslation } from \"@payloadcms/ui\";\nimport type { Comment } from \"../../../types/comment\";\nimport { CollapsibleGroup } from \"./CollapsibleGroup\";\nimport { CommentItem } from \"../../CommentItem\";\nimport { createCollapsibleGroupKey } from \"../utils/createCollapsibleGroupKey\";\nimport { resolveFieldLabel } from \"../utils/resolveFieldLabel\";\nimport { useComments } from \"../../../providers/CommentsProvider\";\nimport { CommentEditor } from \"../../CommentEditor\";\n\ninterface Props {\n fields: Map<string | null, Comment[]>;\n userId: number | null;\n collectionSlug?: string;\n documentId?: number;\n globalSlug?: string;\n}\n\nexport function FieldGroupSection({ fields, userId, collectionSlug, documentId, globalSlug }: Props) {\n const { t } = useTranslation();\n const { fieldLabelRegistry } = useComments();\n\n const generalComments = fields.get(null) ?? [];\n const fieldEntries = [...fields.entries()].filter((entry): entry is [string, Comment[]] => entry[0] !== null);\n\n return (\n <>\n <CollapsibleGroup\n groupKey={createCollapsibleGroupKey({ collectionSlug, documentId, globalSlug, fieldPath: null })}\n label={t(\"comments:general\" as never)}\n level=\"field\">\n <div className=\"flex flex-col gap-3\">\n {generalComments.map((comment) => (\n <CommentItem key={comment.id} comment={comment} currentUserId={userId} />\n ))}\n\n <CommentEditor\n fieldPath={null}\n collectionSlug={collectionSlug}\n documentId={documentId}\n globalSlug={globalSlug}\n />\n </div>\n </CollapsibleGroup>\n\n {fieldEntries.map(([fieldPath, fieldComments]) => (\n <CollapsibleGroup\n key={fieldPath}\n groupKey={createCollapsibleGroupKey({ collectionSlug, documentId, globalSlug, fieldPath })}\n label={resolveFieldLabel({ registry: fieldLabelRegistry, collectionSlug, documentId, globalSlug, fieldPath })}\n level=\"field\">\n <div className=\"flex flex-col gap-3\" data-field-path={fieldPath}>\n {fieldComments.map((comment) => (\n <CommentItem key={comment.id} comment={comment} currentUserId={userId} />\n ))}\n\n <CommentEditor\n fieldPath={fieldPath}\n collectionSlug={collectionSlug}\n documentId={documentId}\n globalSlug={globalSlug}\n />\n </div>\n </CollapsibleGroup>\n ))}\n </>\n );\n}\n"],"mappings":";AA2BI,mBAOQ,KAFJ,YALJ;AAzBJ,SAAS,sBAAsB;AAE/B,SAAS,wBAAwB;AACjC,SAAS,mBAAmB;AAC5B,SAAS,iCAAiC;AAC1C,SAAS,yBAAyB;AAClC,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAUvB,SAAS,kBAAkB,EAAE,QAAQ,QAAQ,gBAAgB,YAAY,WAAW,GAAU;AACnG,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,mBAAmB,IAAI,YAAY;AAE3C,QAAM,kBAAkB,OAAO,IAAI,IAAI,KAAK,CAAC;AAC7C,QAAM,eAAe,CAAC,GAAG,OAAO,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAwC,MAAM,CAAC,MAAM,IAAI;AAE5G,SACE,iCACE;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,UAAU,0BAA0B,EAAE,gBAAgB,YAAY,YAAY,WAAW,KAAK,CAAC;AAAA,QAC/F,OAAO,EAAE,kBAA2B;AAAA,QACpC,OAAM;AAAA,QACN,+BAAC,SAAI,WAAU,uBACZ;AAAA,0BAAgB,IAAI,CAAC,YACpB,oBAAC,eAA6B,SAAkB,eAAe,UAA7C,QAAQ,EAA6C,CACxE;AAAA,UAED;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,cACX;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACF;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IAEC,aAAa,IAAI,CAAC,CAAC,WAAW,aAAa,MAC1C;AAAA,MAAC;AAAA;AAAA,QAEC,UAAU,0BAA0B,EAAE,gBAAgB,YAAY,YAAY,UAAU,CAAC;AAAA,QACzF,OAAO,kBAAkB,EAAE,UAAU,oBAAoB,gBAAgB,YAAY,YAAY,UAAU,CAAC;AAAA,QAC5G,OAAM;AAAA,QACN,+BAAC,SAAI,WAAU,uBAAsB,mBAAiB,WACnD;AAAA,wBAAc,IAAI,CAAC,YAClB,oBAAC,eAA6B,SAAkB,eAAe,UAA7C,QAAQ,EAA6C,CACxE;AAAA,UAED;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA;AAAA,UACF;AAAA,WACF;AAAA;AAAA,MAfK;AAAA,IAgBP,CACD;AAAA,KACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Comment } from "../../../types";
|
|
2
|
+
interface Props {
|
|
3
|
+
comments: Comment[];
|
|
4
|
+
userId: number | null;
|
|
5
|
+
className: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function GlobalDocumentView({ comments, userId, className }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=GlobalDocumentView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalDocumentView.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsPanel/components/GlobalDocumentView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAM9C,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,2CAiBxE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { useComments } from "../../../providers/CommentsProvider";
|
|
5
|
+
import { groupCommentsByFieldPath } from "../utils/groupCommentsByFieldPath";
|
|
6
|
+
import { FILTER_NO_COMMENTS_KEYS } from "../constants";
|
|
7
|
+
import { FieldGroupSection } from "./FieldGroupSection";
|
|
8
|
+
function GlobalDocumentView({ comments, userId, className }) {
|
|
9
|
+
const { t } = useTranslation();
|
|
10
|
+
const { filter, globalSlug } = useComments();
|
|
11
|
+
const fields = groupCommentsByFieldPath(comments);
|
|
12
|
+
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
13
|
+
comments.length === 0 && /* @__PURE__ */ jsx("p", { className: "text-(--theme-elevation-450) text-[13px] text-center py-6 m-0", children: t(FILTER_NO_COMMENTS_KEYS[filter]) }),
|
|
14
|
+
/* @__PURE__ */ jsx(FieldGroupSection, { fields, userId, globalSlug: globalSlug ?? void 0 })
|
|
15
|
+
] });
|
|
16
|
+
}
|
|
17
|
+
export {
|
|
18
|
+
GlobalDocumentView
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=GlobalDocumentView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsPanel/components/GlobalDocumentView.tsx"],"sourcesContent":["\"use client\";\n\nimport { useTranslation } from \"@payloadcms/ui\";\nimport type { Comment } from \"../../../types\";\nimport { useComments } from \"../../../providers/CommentsProvider\";\nimport { groupCommentsByFieldPath } from \"../utils/groupCommentsByFieldPath\";\nimport { FILTER_NO_COMMENTS_KEYS } from \"../constants\";\nimport { FieldGroupSection } from \"./FieldGroupSection\";\n\ninterface Props {\n comments: Comment[];\n userId: number | null;\n className: string;\n}\n\nexport function GlobalDocumentView({ comments, userId, className }: Props) {\n const { t } = useTranslation();\n const { filter, globalSlug } = useComments();\n\n const fields = groupCommentsByFieldPath(comments);\n\n return (\n <div className={className}>\n {comments.length === 0 && (\n <p className=\"text-(--theme-elevation-450) text-[13px] text-center py-6 m-0\">\n {t(FILTER_NO_COMMENTS_KEYS[filter] as never)}\n </p>\n )}\n\n <FieldGroupSection fields={fields} userId={userId} globalSlug={globalSlug ?? undefined} />\n </div>\n );\n}\n"],"mappings":";AAsBI,SAEI,KAFJ;AApBJ,SAAS,sBAAsB;AAE/B,SAAS,mBAAmB;AAC5B,SAAS,gCAAgC;AACzC,SAAS,+BAA+B;AACxC,SAAS,yBAAyB;AAQ3B,SAAS,mBAAmB,EAAE,UAAU,QAAQ,UAAU,GAAU;AACzE,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,QAAQ,WAAW,IAAI,YAAY;AAE3C,QAAM,SAAS,yBAAyB,QAAQ;AAEhD,SACE,qBAAC,SAAI,WACF;AAAA,aAAS,WAAW,KACnB,oBAAC,OAAE,WAAU,iEACV,YAAE,wBAAwB,MAAM,CAAU,GAC7C;AAAA,IAGF,oBAAC,qBAAkB,QAAgB,QAAgB,YAAY,cAAc,QAAW;AAAA,KAC1F;AAEJ;","names":[]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Comment } from "../../../types/comment";
|
|
2
|
+
interface Props {
|
|
3
|
+
comments: Comment[];
|
|
4
|
+
userId: number | null;
|
|
5
|
+
className: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function GlobalView({ comments, userId, className }: Props): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=GlobalView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalView.d.ts","sourceRoot":"","sources":["../../../../src/components/CommentsPanel/components/GlobalView.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAStD,UAAU,KAAK;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,KAAK,2CAwDhE"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useLocale, useTranslation } from "@payloadcms/ui";
|
|
4
|
+
import { useComments } from "../../../providers/CommentsProvider";
|
|
5
|
+
import { groupCommentsGlobally } from "../utils/groupCommentsGlobally";
|
|
6
|
+
import { resolveEntityLabel } from "../utils/resolveEntityLabel";
|
|
7
|
+
import { CollapsibleGroup } from "./CollapsibleGroup";
|
|
8
|
+
import { FILTER_NO_COMMENTS_KEYS } from "../constants";
|
|
9
|
+
import { FieldGroupSection } from "./FieldGroupSection";
|
|
10
|
+
import { createCollapsibleGroupKey } from "../utils/createCollapsibleGroupKey";
|
|
11
|
+
function GlobalView({ comments, userId, className }) {
|
|
12
|
+
const { t } = useTranslation();
|
|
13
|
+
const { documentTitles, filter, collectionLabels, globalLabels } = useComments();
|
|
14
|
+
const { code: locale } = useLocale();
|
|
15
|
+
const groupedComments = groupCommentsGlobally(comments);
|
|
16
|
+
return /* @__PURE__ */ jsxs("div", { className, children: [
|
|
17
|
+
comments.length === 0 && /* @__PURE__ */ jsx("p", { className: "text-(--theme-elevation-450) text-[13px] text-center py-6 m-0", children: t(FILTER_NO_COMMENTS_KEYS[filter]) }),
|
|
18
|
+
groupedComments.map((entry) => {
|
|
19
|
+
if (entry.type === "collection") {
|
|
20
|
+
const { slug: slug2, docs } = entry;
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
CollapsibleGroup,
|
|
23
|
+
{
|
|
24
|
+
groupKey: slug2,
|
|
25
|
+
label: resolveEntityLabel(collectionLabels[slug2], locale, slug2),
|
|
26
|
+
level: "collection",
|
|
27
|
+
children: [...docs.entries()].map(([docId, fields2]) => {
|
|
28
|
+
const title = documentTitles[slug2]?.[String(docId)] ?? String(docId);
|
|
29
|
+
const documentId = Number(docId);
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
CollapsibleGroup,
|
|
32
|
+
{
|
|
33
|
+
groupKey: createCollapsibleGroupKey({ collectionSlug: slug2, documentId }),
|
|
34
|
+
label: title,
|
|
35
|
+
level: "document",
|
|
36
|
+
children: /* @__PURE__ */ jsx(FieldGroupSection, { fields: fields2, userId, collectionSlug: slug2, documentId })
|
|
37
|
+
},
|
|
38
|
+
docId
|
|
39
|
+
);
|
|
40
|
+
})
|
|
41
|
+
},
|
|
42
|
+
slug2
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
const { slug, fields } = entry;
|
|
46
|
+
return /* @__PURE__ */ jsx(
|
|
47
|
+
CollapsibleGroup,
|
|
48
|
+
{
|
|
49
|
+
groupKey: slug,
|
|
50
|
+
label: resolveEntityLabel(globalLabels[slug], locale, slug),
|
|
51
|
+
level: "collection",
|
|
52
|
+
children: /* @__PURE__ */ jsx(FieldGroupSection, { fields, userId, globalSlug: slug })
|
|
53
|
+
},
|
|
54
|
+
slug
|
|
55
|
+
);
|
|
56
|
+
})
|
|
57
|
+
] });
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
GlobalView
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=GlobalView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/CommentsPanel/components/GlobalView.tsx"],"sourcesContent":["\"use client\";\n\nimport { useLocale, useTranslation } from \"@payloadcms/ui\";\nimport type { Comment } from \"../../../types/comment\";\nimport { useComments } from \"../../../providers/CommentsProvider\";\nimport { groupCommentsGlobally } from \"../utils/groupCommentsGlobally\";\nimport { resolveEntityLabel } from \"../utils/resolveEntityLabel\";\nimport { CollapsibleGroup } from \"./CollapsibleGroup\";\nimport { FILTER_NO_COMMENTS_KEYS } from \"../constants\";\nimport { FieldGroupSection } from \"./FieldGroupSection\";\nimport { createCollapsibleGroupKey } from \"../utils/createCollapsibleGroupKey\";\n\ninterface Props {\n comments: Comment[];\n userId: number | null;\n className: string;\n}\n\nexport function GlobalView({ comments, userId, className }: Props) {\n const { t } = useTranslation();\n const { documentTitles, filter, collectionLabels, globalLabels } = useComments();\n const { code: locale } = useLocale();\n const groupedComments = groupCommentsGlobally(comments);\n\n return (\n <div className={className}>\n {comments.length === 0 && (\n <p className=\"text-(--theme-elevation-450) text-[13px] text-center py-6 m-0\">\n {t(FILTER_NO_COMMENTS_KEYS[filter] as never)}\n </p>\n )}\n\n {groupedComments.map((entry) => {\n if (entry.type === \"collection\") {\n const { slug, docs } = entry;\n\n return (\n <CollapsibleGroup\n key={slug}\n groupKey={slug}\n label={resolveEntityLabel(collectionLabels[slug], locale, slug)}\n level=\"collection\">\n {[...docs.entries()].map(([docId, fields]) => {\n const title = documentTitles[slug]?.[String(docId)] ?? String(docId);\n const documentId = Number(docId);\n\n return (\n <CollapsibleGroup\n key={docId}\n groupKey={createCollapsibleGroupKey({ collectionSlug: slug, documentId })}\n label={title}\n level=\"document\">\n <FieldGroupSection fields={fields} userId={userId} collectionSlug={slug} documentId={documentId} />\n </CollapsibleGroup>\n );\n })}\n </CollapsibleGroup>\n );\n }\n\n const { slug, fields } = entry;\n\n return (\n <CollapsibleGroup\n key={slug}\n groupKey={slug}\n label={resolveEntityLabel(globalLabels[slug], locale, slug)}\n level=\"collection\">\n <FieldGroupSection fields={fields} userId={userId} globalSlug={slug} />\n </CollapsibleGroup>\n );\n })}\n </div>\n );\n}\n"],"mappings":";AAyBI,SAEI,KAFJ;AAvBJ,SAAS,WAAW,sBAAsB;AAE1C,SAAS,mBAAmB;AAC5B,SAAS,6BAA6B;AACtC,SAAS,0BAA0B;AACnC,SAAS,wBAAwB;AACjC,SAAS,+BAA+B;AACxC,SAAS,yBAAyB;AAClC,SAAS,iCAAiC;AAQnC,SAAS,WAAW,EAAE,UAAU,QAAQ,UAAU,GAAU;AACjE,QAAM,EAAE,EAAE,IAAI,eAAe;AAC7B,QAAM,EAAE,gBAAgB,QAAQ,kBAAkB,aAAa,IAAI,YAAY;AAC/E,QAAM,EAAE,MAAM,OAAO,IAAI,UAAU;AACnC,QAAM,kBAAkB,sBAAsB,QAAQ;AAEtD,SACE,qBAAC,SAAI,WACF;AAAA,aAAS,WAAW,KACnB,oBAAC,OAAE,WAAU,iEACV,YAAE,wBAAwB,MAAM,CAAU,GAC7C;AAAA,IAGD,gBAAgB,IAAI,CAAC,UAAU;AAC9B,UAAI,MAAM,SAAS,cAAc;AAC/B,cAAM,EAAE,MAAAA,OAAM,KAAK,IAAI;AAEvB,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,UAAUA;AAAA,YACV,OAAO,mBAAmB,iBAAiBA,KAAI,GAAG,QAAQA,KAAI;AAAA,YAC9D,OAAM;AAAA,YACL,WAAC,GAAG,KAAK,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,OAAOC,OAAM,MAAM;AAC5C,oBAAM,QAAQ,eAAeD,KAAI,IAAI,OAAO,KAAK,CAAC,KAAK,OAAO,KAAK;AACnE,oBAAM,aAAa,OAAO,KAAK;AAE/B,qBACE;AAAA,gBAAC;AAAA;AAAA,kBAEC,UAAU,0BAA0B,EAAE,gBAAgBA,OAAM,WAAW,CAAC;AAAA,kBACxE,OAAO;AAAA,kBACP,OAAM;AAAA,kBACN,8BAAC,qBAAkB,QAAQC,SAAQ,QAAgB,gBAAgBD,OAAM,YAAwB;AAAA;AAAA,gBAJ5F;AAAA,cAKP;AAAA,YAEJ,CAAC;AAAA;AAAA,UAjBIA;AAAA,QAkBP;AAAA,MAEJ;AAEA,YAAM,EAAE,MAAM,OAAO,IAAI;AAEzB,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,UAAU;AAAA,UACV,OAAO,mBAAmB,aAAa,IAAI,GAAG,QAAQ,IAAI;AAAA,UAC1D,OAAM;AAAA,UACN,8BAAC,qBAAkB,QAAgB,QAAgB,YAAY,MAAM;AAAA;AAAA,QAJhE;AAAA,MAKP;AAAA,IAEJ,CAAC;AAAA,KACH;AAEJ;","names":["slug","fields"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/CommentsPanel/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAI9D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/CommentsPanel/constants.ts"],"sourcesContent":["import type { FilterMode } from \"../../types\";\n\nexport const FILTER_NO_COMMENTS_KEYS: Record<FilterMode, string> = {\n open: \"comments:noOpenComments\",\n resolved: \"comments:noResolvedComments\",\n mentioned: \"comments:noMentionedComments\",\n};\n"],"mappings":"AAEO,MAAM,0BAAsD;AAAA,EACjE,MAAM;AAAA,EACN,UAAU;AAAA,EACV,WAAW;AACb;","names":[]}
|