memi-board 0.32.0 → 0.36.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.
Files changed (45) hide show
  1. package/dist/composables/boardLookup.d.ts +8 -0
  2. package/dist/composables/useMemiBoardAuth.d.ts +4 -3
  3. package/dist/composables/useMemiBoardCommentFeed.d.ts +18 -0
  4. package/dist/composables/useMemiBoardComments.d.ts +2 -0
  5. package/dist/composables/useMemiBoardLikes.d.ts +9 -0
  6. package/dist/composables/useMemiBoardMiniPosts.d.ts +12 -0
  7. package/dist/composables/useMemiBoardReports.d.ts +114 -0
  8. package/dist/composables/useMemiBoardSections.d.ts +13 -0
  9. package/dist/composables/useMemiBoardSettings.d.ts +2 -0
  10. package/dist/config.d.ts +2 -0
  11. package/dist/{heic2any-BWRKffWN.js → heic2any-D2QKy06h.js} +2 -2
  12. package/dist/{heic2any-BWRKffWN.js.map → heic2any-D2QKy06h.js.map} +1 -1
  13. package/dist/index.d.ts +12 -3
  14. package/dist/index.js +1161 -647
  15. package/dist/index.js.map +1 -1
  16. package/dist/runtime/components/CategorySettings.vue +3 -5
  17. package/dist/runtime/components/CommentFeed.vue +141 -0
  18. package/dist/runtime/components/CommentForm.vue +2 -2
  19. package/dist/runtime/components/CommentItem.vue +55 -5
  20. package/dist/runtime/components/CommentList.vue +10 -2
  21. package/dist/runtime/components/Detail.vue +8 -0
  22. package/dist/runtime/components/Mini.vue +37 -0
  23. package/dist/runtime/components/MiniCard.vue +51 -0
  24. package/dist/runtime/components/MiniComments.vue +75 -0
  25. package/dist/runtime/components/MiniList.vue +36 -0
  26. package/dist/runtime/components/MiniPicker.vue +131 -0
  27. package/dist/runtime/components/MiniPost.vue +52 -0
  28. package/dist/runtime/components/MiniPosts.vue +115 -0
  29. package/dist/runtime/components/ReportButton.vue +117 -0
  30. package/dist/runtime/components/ReportList.vue +124 -0
  31. package/dist/runtime/components/Section.vue +62 -0
  32. package/dist/runtime/components/Settings.vue +3 -4
  33. package/dist/runtime/components/UserCommentList.vue +3 -0
  34. package/dist/{slugify-B5XHr4SZ.js → slugify-Cyq-Gg8X.js} +47 -36
  35. package/dist/slugify-Cyq-Gg8X.js.map +1 -0
  36. package/dist/storage.js +11 -11
  37. package/dist/types.d.ts +54 -3
  38. package/dist/utils/boardAccess.d.ts +7 -0
  39. package/dist/utils/boardPaths.d.ts +10 -3
  40. package/dist/utils/deletePostCascade.d.ts +7 -1
  41. package/dist/utils/section.d.ts +31 -0
  42. package/docs/firestore.indexes.json.example +38 -0
  43. package/docs/firestore.rules.example +78 -22
  44. package/package.json +1 -1
  45. package/dist/slugify-B5XHr4SZ.js.map +0 -1
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /** Runtime API — composables / config / types only. UI SFC는 루트 Nuxt 모듈이 등록. */
2
2
  export { configureMemiBoard, useMemiBoardConfig, useBoardPathConfig } from './config';
3
3
  export type { MemiBoardConfig, MemiBoardAuthOptions, MemiBoardModerationOptions, MemiBoardSeoOptions, } from './config';
4
- export { DEFAULT_POSTS_COLLECTION, DEFAULT_COMMENTS_COLLECTION, DEFAULT_LIKES_COLLECTION, DEFAULT_SETTINGS_COLLECTION, DEFAULT_USERS_COLLECTION, resolveBoardPathConfig, settingsCol, settingsDoc, postsCol, postDoc, postBodyDoc, commentsCol, commentDoc, likesCol, likeDoc, likeDocId, boardUsersCol, boardUserDoc, postStorageFolder, boardSsrKey, } from './utils/boardPaths';
4
+ export { DEFAULT_POSTS_COLLECTION, DEFAULT_COMMENTS_COLLECTION, DEFAULT_LIKES_COLLECTION, DEFAULT_REPORTS_COLLECTION, DEFAULT_SETTINGS_COLLECTION, DEFAULT_USERS_COLLECTION, resolveBoardPathConfig, settingsCol, settingsDoc, postsCol, postDoc, postBodyDoc, commentsCol, commentDoc, likesCol, likeDoc, likeDocId, reportsCol, reportDoc, reportDocId, boardUsersCol, boardUserDoc, postStorageFolder, boardSsrKey, } from './utils/boardPaths';
5
5
  export type { BoardPathConfig } from './utils/boardPaths';
6
6
  export { fetchPublicPostForSeo, fetchPublicListForSeo, resolvePublicSeoDb, } from './composables/fetchPublicSeo';
7
7
  export type { PublicSeoDb } from './composables/fetchPublicSeo';
@@ -13,25 +13,34 @@ export type { CreatePostInput, UpdatePostInput, GetPostBySlugResult } from './co
13
13
  export { isFirestorePermissionDenied } from './composables/useMemiBoardPosts';
14
14
  export { useMemiBoardUserPosts } from './composables/useMemiBoardUserPosts';
15
15
  export { useMemiBoardUserComments } from './composables/useMemiBoardUserComments';
16
+ export { useMemiBoardCommentFeed } from './composables/useMemiBoardCommentFeed';
17
+ export type { CommentFeedSort } from './composables/useMemiBoardCommentFeed';
16
18
  export { AUTHOR_MEMO_MAX_LENGTH, useMemiBoardAuthorMemo } from './composables/useMemiBoardAuthorMemo';
17
19
  export { COMMENT_BODY_MAX_LENGTH, useMemiBoardComments, useMemiBoardReplies } from './composables/useMemiBoardComments';
18
20
  export type { AddCommentInput, AddReplyInput } from './composables/useMemiBoardComments';
19
- export { useMemiBoardLikes } from './composables/useMemiBoardLikes';
21
+ export { useMemiBoardLikes, useMemiBoardCommentLikes, memiBoardCommentLikesKey, } from './composables/useMemiBoardLikes';
22
+ export type { MemiBoardCommentLikesApi } from './composables/useMemiBoardLikes';
23
+ export { REPORT_DETAIL_MAX_LENGTH, REPORT_REASONS, reportReasonLabel, useMemiBoardReports, useMemiBoardReportQueue, } from './composables/useMemiBoardReports';
20
24
  export { useMemiBoardViews } from './composables/useMemiBoardViews';
21
25
  export { useMemiBoardModeration } from './composables/useMemiBoardModeration';
22
26
  export { useMemiBoardSettings, DEFAULT_CATEGORIES, DEFAULT_BOARDS } from './composables/useMemiBoardSettings';
27
+ export { canManageBoardByRole, isAssignedStaff } from './utils/boardAccess';
23
28
  export { useMemiBoardUsers, BOARD_USER_ROLES } from './composables/useMemiBoardUsers';
24
29
  export { useMemiBoardUserProfile } from './composables/useMemiBoardUserProfile';
30
+ export { useMemiBoardSections, normalizeBoardSection } from './composables/useMemiBoardSections';
31
+ export { useMemiBoardMiniLatest, useMemiBoardMiniPicked } from './composables/useMemiBoardMiniPosts';
25
32
  export { versionHistory } from './data/versionHistory';
26
33
  export type { VersionHistoryEntry } from './data/versionHistory';
27
34
  export { formatDate, formatFullDate, formatRelativeDate, formatTimestampDetails } from './utils/formatDate';
28
35
  export { slugify } from './utils/slugify';
29
36
  export { DEFAULT_BLOCK_BAN_THRESHOLD, DEFAULT_BLOCK_BAN_DECAY_MS, effectiveModerationBlockCount, isModerationWriteRestricted, moderationWriteRestrictedUntilMs, formatRestrictedUntilLabel, } from './utils/moderation-strike';
30
- export type { Attachment, EditorImageEntry, ModerationStatus, PostModel, PostDetail, UserPostModel, CommentModel, BoardUserRole, BoardUserModel, BoardUserPrivateModel, AuthorMemoModel, AuthorMemoSentiment, BoardCategory, BoardModel, BoardListView, BoardWriteRole, BoardVisibility, BoardSettingsModel, BoardLikeModel, ModerationResult, } from './types';
37
+ export type { Attachment, EditorImageEntry, ModerationStatus, PostModel, PostDetail, UserPostModel, CommentModel, BoardUserRole, BoardUserModel, BoardUserPrivateModel, AuthorMemoModel, AuthorMemoSentiment, BoardCategory, BoardModel, BoardListView, BoardWriteRole, BoardVisibility, BoardSettingsModel, BoardLikeModel, BoardLikeTarget, BoardReportModel, BoardReportReason, BoardReportStatus, BoardReportTarget, BoardSection, BoardSectionCols, BoardSectionHeight, BoardSectionKind, BoardSectionSort, BoardSectionLayout, ModerationResult, } from './types';
31
38
  export { plainTextFromHtml, hasBodyText, hasBodyImage, isContentEmpty, titleFromBody, } from './utils/postBody';
32
39
  export { extractEditorImageUrls } from './utils/extractEditorImageUrls';
33
40
  export { useMemiBoardWritingAssistant, WRITING_ASSISTANT_DAILY_LIMIT, } from './composables/useMemiBoardWritingAssistant';
34
41
  export type { WritingAssistantAction } from './composables/useMemiBoardWritingAssistant';
35
42
  export { renderMarkdownToHtml } from './utils/renderMarkdown';
36
43
  export { buildPostPreview, youtubeId, videoListCoverUrl } from './utils/postPreview';
44
+ export { BOARD_SECTION_COLS, BOARD_SECTION_KINDS, BOARD_SECTION_SORTS, defaultSectionCount, clampSectionCount, pairSectionCols, sectionColClass, sectionMinHeight, miniPostLink, miniCommentLink, miniMoreLink, miniPostImage, miniPostTitle, miniViewGroup, miniViewLabel, miniBoardView, miniPostsView, } from './utils/section';
45
+ export type { MiniViewGroup } from './utils/section';
37
46
  export { storagePathFromDownloadUrl, postNamespaceFromStoragePath } from './utils/storagePath';