@mushi-mushi/web 1.10.0 → 1.12.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/dist/index.d.cts CHANGED
@@ -21,7 +21,7 @@ declare class Mushi {
21
21
  * user-facing ARIA / keyboard wiring.
22
22
  */
23
23
 
24
- type WidgetStep = 'category' | 'intent' | 'details' | 'success' | 'reports' | 'report-detail' | 'leaderboard';
24
+ type WidgetStep = 'category' | 'intent' | 'details' | 'success' | 'reports' | 'report-detail' | 'leaderboard' | 'roadmap';
25
25
  interface WidgetRewardsState {
26
26
  tier: {
27
27
  slug: string;
@@ -61,10 +61,19 @@ interface WidgetCallbacks {
61
61
  onClose(): void;
62
62
  onScreenshotRequest(): void;
63
63
  onScreenshotRemove?(): void;
64
+ /** Optional markup pass (highlight / blur / arrow) before submit. */
65
+ onScreenshotAnnotateRequest?(container: HTMLElement): void | Promise<void>;
64
66
  onElementSelectorRequest?(): void;
65
67
  onReporterReportsRequest?(): Promise<MushiReporterReport[]>;
66
68
  onReporterCommentsRequest?(reportId: string): Promise<MushiReporterComment[]>;
67
69
  onReporterReply?(reportId: string, body: string): Promise<void>;
70
+ onReporterFeedback?(reportId: string, signal: string, note?: string): Promise<Record<string, unknown> | null>;
71
+ onReporterReopen?(reportId: string, note?: string): Promise<Record<string, unknown> | null>;
72
+ onFeatureBoardRequest?(): Promise<Array<Record<string, unknown>>>;
73
+ onFeatureBoardVote?(requestId: string): Promise<{
74
+ voted: boolean;
75
+ action: string;
76
+ }>;
68
77
  onLeaderboardOpen?(): void;
69
78
  }
70
79
  declare class MushiWidget {
@@ -104,6 +113,7 @@ declare class MushiWidget {
104
113
  private nudgeTimer;
105
114
  private sdkFreshness;
106
115
  private reporterReports;
116
+ private featureBoard;
107
117
  private reporterComments;
108
118
  private selectedReportId;
109
119
  private reporterLoading;
@@ -286,6 +296,7 @@ declare class MushiWidget {
286
296
  */
287
297
  private renderBetaStrip;
288
298
  private renderReportsStep;
299
+ private renderRoadmapStep;
289
300
  private renderLeaderboardStep;
290
301
  private renderReportDetailStep;
291
302
  private renderIntentStep;
@@ -328,8 +339,12 @@ declare class MushiWidget {
328
339
  private attachHandlers;
329
340
  private trapFocus;
330
341
  private unreadCount;
342
+ private loadFeatureBoard;
343
+ private voteFeatureBoard;
344
+ private submitReporterReopen;
331
345
  private loadReporterReports;
332
346
  private loadReporterComments;
347
+ private submitReporterFeedback;
333
348
  private submitReporterReply;
334
349
  getRecorderStep(): WidgetStep;
335
350
  getRecorderTrigger(): Element | null;
package/dist/index.d.ts CHANGED
@@ -21,7 +21,7 @@ declare class Mushi {
21
21
  * user-facing ARIA / keyboard wiring.
22
22
  */
23
23
 
24
- type WidgetStep = 'category' | 'intent' | 'details' | 'success' | 'reports' | 'report-detail' | 'leaderboard';
24
+ type WidgetStep = 'category' | 'intent' | 'details' | 'success' | 'reports' | 'report-detail' | 'leaderboard' | 'roadmap';
25
25
  interface WidgetRewardsState {
26
26
  tier: {
27
27
  slug: string;
@@ -61,10 +61,19 @@ interface WidgetCallbacks {
61
61
  onClose(): void;
62
62
  onScreenshotRequest(): void;
63
63
  onScreenshotRemove?(): void;
64
+ /** Optional markup pass (highlight / blur / arrow) before submit. */
65
+ onScreenshotAnnotateRequest?(container: HTMLElement): void | Promise<void>;
64
66
  onElementSelectorRequest?(): void;
65
67
  onReporterReportsRequest?(): Promise<MushiReporterReport[]>;
66
68
  onReporterCommentsRequest?(reportId: string): Promise<MushiReporterComment[]>;
67
69
  onReporterReply?(reportId: string, body: string): Promise<void>;
70
+ onReporterFeedback?(reportId: string, signal: string, note?: string): Promise<Record<string, unknown> | null>;
71
+ onReporterReopen?(reportId: string, note?: string): Promise<Record<string, unknown> | null>;
72
+ onFeatureBoardRequest?(): Promise<Array<Record<string, unknown>>>;
73
+ onFeatureBoardVote?(requestId: string): Promise<{
74
+ voted: boolean;
75
+ action: string;
76
+ }>;
68
77
  onLeaderboardOpen?(): void;
69
78
  }
70
79
  declare class MushiWidget {
@@ -104,6 +113,7 @@ declare class MushiWidget {
104
113
  private nudgeTimer;
105
114
  private sdkFreshness;
106
115
  private reporterReports;
116
+ private featureBoard;
107
117
  private reporterComments;
108
118
  private selectedReportId;
109
119
  private reporterLoading;
@@ -286,6 +296,7 @@ declare class MushiWidget {
286
296
  */
287
297
  private renderBetaStrip;
288
298
  private renderReportsStep;
299
+ private renderRoadmapStep;
289
300
  private renderLeaderboardStep;
290
301
  private renderReportDetailStep;
291
302
  private renderIntentStep;
@@ -328,8 +339,12 @@ declare class MushiWidget {
328
339
  private attachHandlers;
329
340
  private trapFocus;
330
341
  private unreadCount;
342
+ private loadFeatureBoard;
343
+ private voteFeatureBoard;
344
+ private submitReporterReopen;
331
345
  private loadReporterReports;
332
346
  private loadReporterComments;
347
+ private submitReporterFeedback;
333
348
  private submitReporterReply;
334
349
  getRecorderStep(): WidgetStep;
335
350
  getRecorderTrigger(): Element | null;