@happyvertical/smrt-comments 0.57.2 → 0.57.4

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 (50) hide show
  1. package/README.md +72 -0
  2. package/dist/chunks/participation-ErOAwW4x.js +276 -0
  3. package/dist/chunks/participation-ErOAwW4x.js.map +1 -0
  4. package/dist/collections/CommentReportCollection.d.ts +6 -0
  5. package/dist/collections/CommentReportCollection.d.ts.map +1 -0
  6. package/dist/collections/CommentRevisionCollection.d.ts +6 -0
  7. package/dist/collections/CommentRevisionCollection.d.ts.map +1 -0
  8. package/dist/collections/ParticipationCollection.d.ts +14 -0
  9. package/dist/collections/ParticipationCollection.d.ts.map +1 -0
  10. package/dist/index.d.ts +10 -0
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +364 -59
  13. package/dist/index.js.map +1 -1
  14. package/dist/manifest.json +1853 -224
  15. package/dist/models/Comment.d.ts +8 -1
  16. package/dist/models/Comment.d.ts.map +1 -1
  17. package/dist/models/CommentReport.d.ts +10 -0
  18. package/dist/models/CommentReport.d.ts.map +1 -0
  19. package/dist/models/CommentRevision.d.ts +9 -0
  20. package/dist/models/CommentRevision.d.ts.map +1 -0
  21. package/dist/models/ParticipationBan.d.ts +12 -0
  22. package/dist/models/ParticipationBan.d.ts.map +1 -0
  23. package/dist/models/ParticipationPolicy.d.ts +13 -0
  24. package/dist/models/ParticipationPolicy.d.ts.map +1 -0
  25. package/dist/models/ParticipationRateBucket.d.ts +8 -0
  26. package/dist/models/ParticipationRateBucket.d.ts.map +1 -0
  27. package/dist/participation-contract.d.ts +37 -0
  28. package/dist/participation-contract.d.ts.map +1 -0
  29. package/dist/participation.d.ts +4 -0
  30. package/dist/participation.d.ts.map +1 -0
  31. package/dist/participation.js +2 -0
  32. package/dist/recipes.d.ts +6 -1
  33. package/dist/recipes.d.ts.map +1 -1
  34. package/dist/services/CommentService.d.ts +10 -1
  35. package/dist/services/CommentService.d.ts.map +1 -1
  36. package/dist/services/ParticipationService.d.ts +25 -0
  37. package/dist/services/ParticipationService.d.ts.map +1 -0
  38. package/dist/smrt-knowledge.json +477 -12
  39. package/dist/svelte/ModerationQueue.svelte +60 -0
  40. package/dist/svelte/ModerationQueue.svelte.d.ts +17 -0
  41. package/dist/svelte/ModerationQueue.svelte.d.ts.map +1 -0
  42. package/dist/svelte/RecordComments.svelte +21 -6
  43. package/dist/svelte/RecordComments.svelte.d.ts +2 -0
  44. package/dist/svelte/RecordComments.svelte.d.ts.map +1 -1
  45. package/dist/svelte/index.d.ts +2 -0
  46. package/dist/svelte/index.d.ts.map +1 -1
  47. package/dist/svelte/index.js +1 -0
  48. package/dist/types.d.ts +7 -1
  49. package/dist/types.d.ts.map +1 -1
  50. package/package.json +9 -5
@@ -0,0 +1,60 @@
1
+ <script lang="ts">
2
+ export type ModerationStatus = 'visible' | 'hidden' | 'pending' | 'deleted';
3
+ export interface ModerationCommentView {
4
+ id: string;
5
+ body: string;
6
+ authorLabel: string;
7
+ status: ModerationStatus;
8
+ reportCount?: number;
9
+ }
10
+ export interface Props {
11
+ comments: readonly ModerationCommentView[];
12
+ onmoderate?: (
13
+ commentId: string,
14
+ status: ModerationStatus,
15
+ ) => void | Promise<void>;
16
+ heading?: string;
17
+ }
18
+ let { comments, onmoderate, heading = 'Comment moderation' }: Props = $props();
19
+ let pendingId = $state<string | null>(null);
20
+ let error = $state('');
21
+ async function moderate(commentId: string, status: ModerationStatus) {
22
+ if (!onmoderate || pendingId) return;
23
+ pendingId = commentId;
24
+ error = '';
25
+ try {
26
+ await onmoderate(commentId, status);
27
+ } catch {
28
+ error = 'Could not update this comment. Refresh and try again.';
29
+ } finally {
30
+ pendingId = null;
31
+ }
32
+ }
33
+ </script>
34
+
35
+ <section aria-label={heading} class="moderation-queue" data-smrt-component="ModerationQueue">
36
+ <h2>{heading}</h2>
37
+ {#if error}<p role="alert">{error}</p>{/if}
38
+ <ol>
39
+ {#each comments as comment (comment.id)}
40
+ <li>
41
+ <strong>{comment.authorLabel}</strong><p>{comment.body}</p>
42
+ <small>{comment.status}{#if comment.reportCount} · {comment.reportCount} reports{/if}</small>
43
+ {#if onmoderate}
44
+ <div aria-label={`Moderate ${comment.authorLabel}'s comment`}>
45
+ <button disabled={pendingId !== null} onclick={() => void moderate(comment.id, 'visible')}>Approve</button>
46
+ <button disabled={pendingId !== null} onclick={() => void moderate(comment.id, 'hidden')}>Hide</button>
47
+ <button disabled={pendingId !== null} onclick={() => void moderate(comment.id, 'deleted')}>Delete</button>
48
+ </div>
49
+ {/if}
50
+ </li>
51
+ {/each}
52
+ </ol>
53
+ </section>
54
+
55
+ <style>
56
+ @layer smrt.reset, smrt.structure, smrt.theme;
57
+ @layer smrt.theme {
58
+ .moderation-queue { display: grid; gap: var(--smrt-spacing-3, 0.75rem); } ol { display: grid; gap: var(--smrt-spacing-3, 0.75rem); list-style: none; margin: 0; padding: 0; } li { border-block-end: var(--smrt-hairline); } button { margin-inline-end: var(--smrt-spacing-2, 0.5rem); }
59
+ }
60
+ </style>
@@ -0,0 +1,17 @@
1
+ export type ModerationStatus = 'visible' | 'hidden' | 'pending' | 'deleted';
2
+ export interface ModerationCommentView {
3
+ id: string;
4
+ body: string;
5
+ authorLabel: string;
6
+ status: ModerationStatus;
7
+ reportCount?: number;
8
+ }
9
+ export interface Props {
10
+ comments: readonly ModerationCommentView[];
11
+ onmoderate?: (commentId: string, status: ModerationStatus) => void | Promise<void>;
12
+ heading?: string;
13
+ }
14
+ declare const ModerationQueue: import("svelte").Component<Props, {}, "">;
15
+ type ModerationQueue = ReturnType<typeof ModerationQueue>;
16
+ export default ModerationQueue;
17
+ //# sourceMappingURL=ModerationQueue.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModerationQueue.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/ModerationQueue.svelte.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC5E,MAAM,WAAW,qBAAqB;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,MAAM,WAAW,KAAK;IACpB,QAAQ,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAC3C,UAAU,CAAC,EAAE,CACX,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,gBAAgB,KACrB,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA8CD,QAAA,MAAM,eAAe,2CAAwC,CAAC;AAC9D,KAAK,eAAe,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;AAC1D,eAAe,eAAe,CAAC"}
@@ -4,26 +4,36 @@ export interface RecordCommentView {
4
4
  body: string;
5
5
  authorLabel: string;
6
6
  createdAtLabel?: string;
7
+ parentCommentId?: string | null;
7
8
  }
8
9
  export interface Props {
9
10
  contextKey: string;
10
11
  comments: readonly RecordCommentView[];
11
12
  onsubmit?: (body: string) => void | Promise<void>;
13
+ onreply?: (parentCommentId: string, body: string) => void | Promise<void>;
12
14
  heading?: string;
13
15
  }
14
- let { contextKey, comments, onsubmit, heading = 'Comments' }: Props = $props();
16
+ let {
17
+ contextKey,
18
+ comments,
19
+ onsubmit,
20
+ onreply,
21
+ heading = 'Comments',
22
+ }: Props = $props();
15
23
  const inputId = $props.id();
16
24
  let generation = 0;
17
25
  $effect(() => {
18
26
  void contextKey;
19
27
  generation += 1;
20
28
  body = '';
29
+ replyTo = null;
21
30
  pending = false;
22
31
  error = '';
23
32
  return () => {
24
33
  generation += 1;
25
34
  };
26
35
  });
36
+ let replyTo = $state<string | null>(null);
27
37
  let body = $state('');
28
38
  let pending = $state(false);
29
39
  let error = $state('');
@@ -35,12 +45,16 @@ async function submit() {
35
45
  error = 'Write a comment before posting.';
36
46
  return;
37
47
  }
38
- if (!onsubmit) return;
48
+ if (replyTo ? !onreply : !onsubmit) return;
39
49
  pending = true;
40
50
  error = '';
41
51
  try {
42
- await onsubmit(value);
43
- if (generation === submittedGeneration) body = '';
52
+ if (replyTo && onreply) await onreply(replyTo, value);
53
+ else await onsubmit?.(value);
54
+ if (generation === submittedGeneration) {
55
+ body = '';
56
+ replyTo = null;
57
+ }
44
58
  } catch {
45
59
  if (generation === submittedGeneration)
46
60
  error =
@@ -55,11 +69,12 @@ async function submit() {
55
69
  <h2>{heading}</h2>
56
70
  <ol aria-live="polite">
57
71
  {#each comments as comment (comment.id)}
58
- <li><strong>{comment.authorLabel}</strong><p>{comment.body}</p>{#if comment.createdAtLabel}<small>{comment.createdAtLabel}</small>{/if}</li>
72
+ <li data-parent={comment.parentCommentId ?? undefined}><strong>{comment.authorLabel}</strong><p>{comment.body}</p>{#if comment.createdAtLabel}<small>{comment.createdAtLabel}</small>{/if}{#if comment.parentCommentId}<small>Reply to {comments.find(parent => parent.id === comment.parentCommentId)?.authorLabel ?? 'comment'}</small>{/if}{#if onreply}<button type="button" disabled={pending} onclick={() => { replyTo = comment.id; }}>Reply to {comment.authorLabel}</button>{/if}</li>
59
73
  {/each}
60
74
  </ol>
61
- {#if onsubmit}
75
+ {#if onsubmit || (onreply && replyTo)}
62
76
  <form onsubmit={(event) => { event.preventDefault(); void submit(); }}>
77
+ {#if replyTo}<p>Replying to {comments.find(comment => comment.id === replyTo)?.authorLabel ?? 'comment'} <button type="button" disabled={pending} onclick={() => { replyTo = null; }}>Cancel reply</button></p>{/if}
63
78
  <label for={inputId}>Add a comment</label>
64
79
  <textarea id={inputId} bind:value={body} disabled={pending}></textarea>
65
80
  {#if error}<p role="alert">{error}</p>{/if}
@@ -3,11 +3,13 @@ export interface RecordCommentView {
3
3
  body: string;
4
4
  authorLabel: string;
5
5
  createdAtLabel?: string;
6
+ parentCommentId?: string | null;
6
7
  }
7
8
  export interface Props {
8
9
  contextKey: string;
9
10
  comments: readonly RecordCommentView[];
10
11
  onsubmit?: (body: string) => void | Promise<void>;
12
+ onreply?: (parentCommentId: string, body: string) => void | Promise<void>;
11
13
  heading?: string;
12
14
  }
13
15
  declare const RecordComments: import("svelte").Component<Props, {}, "">;
@@ -1 +1 @@
1
- {"version":3,"file":"RecordComments.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/RecordComments.svelte.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAiED,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"RecordComments.svelte.d.ts","sourceRoot":"","sources":["../../src/svelte/RecordComments.svelte.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AACD,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA8ED,QAAA,MAAM,cAAc,2CAAwC,CAAC;AAC7D,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AACxD,eAAe,cAAc,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import RecordComments from './RecordComments.svelte';
2
2
  export { recordCommentsDemo } from './demo.js';
3
+ export type { ModerationCommentView, ModerationStatus, Props as ModerationQueueProps, } from './ModerationQueue.svelte';
4
+ export { default as ModerationQueue } from './ModerationQueue.svelte';
3
5
  export type { Props as RecordCommentsProps, RecordCommentView, } from './RecordComments.svelte';
4
6
  export { default as RecordCommentsPlayground } from './RecordCommentsPlayground.svelte';
5
7
  export { RecordComments };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svelte/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EACV,KAAK,IAAI,mBAAmB,EAC5B,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/svelte/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EACV,qBAAqB,EACrB,gBAAgB,EAChB,KAAK,IAAI,oBAAoB,GAC9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,0BAA0B,CAAC;AACtE,YAAY,EACV,KAAK,IAAI,mBAAmB,EAC5B,iBAAiB,GAClB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import RecordComments from './RecordComments.svelte';
2
2
  export { recordCommentsDemo } from './demo.js';
3
+ export { default as ModerationQueue } from './ModerationQueue.svelte';
3
4
  export { default as RecordCommentsPlayground } from './RecordCommentsPlayground.svelte';
4
5
  export { RecordComments };
package/dist/types.d.ts CHANGED
@@ -7,7 +7,11 @@ export interface CommentOptions extends SmrtPolymorphicAssociationOptions {
7
7
  idempotencyKey?: string | null;
8
8
  requestDigest?: string | null;
9
9
  retryTenantId?: string | null;
10
+ parentCommentId?: string | null;
11
+ status?: CommentStatus;
12
+ participationSnapshot?: string | null;
10
13
  }
14
+ export type CommentStatus = 'visible' | 'hidden' | 'pending' | 'deleted';
11
15
  /** Public service input; persistence identity and executor are server-owned. */
12
16
  export interface CreateCommentInput {
13
17
  tenantId: string;
@@ -18,6 +22,8 @@ export interface CreateCommentInput {
18
22
  mentions?: readonly string[];
19
23
  /** Tenant-scoped request key; identical retries return the original comment. */
20
24
  idempotencyKey?: string;
25
+ /** A reply is bound to the same tenant and polymorphic parent record. */
26
+ parentCommentId?: string | null;
21
27
  }
22
28
  export interface CommentMention {
23
29
  commentId: string;
@@ -40,6 +46,6 @@ export interface CommentActorContext {
40
46
  export interface CommentRecordAccess extends CommentActorContext {
41
47
  recordType: string;
42
48
  recordId: string;
43
- action: 'read' | 'comment';
49
+ action: 'read' | 'comment' | 'moderate';
44
50
  }
45
51
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAElF,MAAM,WAAW,cAAe,SAAQ,iCAAiC;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,iCAAiC;IAChD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAElF,MAAM,WAAW,cAAe,SAAQ,iCAAiC;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzE,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,gFAAgF;IAChF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6EAA6E;AAC7E,MAAM,WAAW,iCAAiC;IAChD,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,mBAAmB;IAC9D,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;CACzC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@happyvertical/smrt-comments",
3
- "version": "0.57.2",
3
+ "version": "0.57.4",
4
4
  "description": "Record comments and mention hooks for SMRT applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -20,12 +20,16 @@
20
20
  "svelte": "./dist/svelte/index.js",
21
21
  "import": "./dist/svelte/index.js"
22
22
  },
23
+ "./participation": {
24
+ "types": "./dist/participation.d.ts",
25
+ "import": "./dist/participation.js"
26
+ },
23
27
  "./manifest": "./dist/manifest.json",
24
28
  "./manifest.json": "./dist/manifest.json"
25
29
  },
26
30
  "dependencies": {
27
- "@happyvertical/smrt-core": "0.57.2",
28
- "@happyvertical/smrt-tenancy": "0.57.2"
31
+ "@happyvertical/smrt-core": "0.57.4",
32
+ "@happyvertical/smrt-tenancy": "0.57.4"
29
33
  },
30
34
  "peerDependencies": {
31
35
  "svelte": "^5.57.0"
@@ -43,7 +47,7 @@
43
47
  "directory": "packages/comments"
44
48
  },
45
49
  "devDependencies": {
46
- "@happyvertical/smrt-vitest": "0.57.2",
50
+ "@happyvertical/smrt-vitest": "0.57.4",
47
51
  "@sveltejs/package": "^2.5.8",
48
52
  "@sveltejs/vite-plugin-svelte": "^7.3.0",
49
53
  "@testing-library/svelte": "^5.4.2",
@@ -53,7 +57,7 @@
53
57
  "typescript": "6.0.3",
54
58
  "vite": "8.1.4",
55
59
  "vitest": "4.1.10",
56
- "@happyvertical/smrt-messages": "0.57.2"
60
+ "@happyvertical/smrt-messages": "0.57.4"
57
61
  },
58
62
  "scripts": {
59
63
  "build": "vite build --mode library && svelte-package -i src/svelte -o dist/svelte --tsconfig tsconfig.svelte.json && node ../../scripts/prune-svelte-package-artifacts.js dist",