@handled-ai/design-system 0.20.4 → 0.20.6

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 (34) hide show
  1. package/dist/components/conversation-panel.d.ts +28 -1
  2. package/dist/components/conversation-panel.js +180 -310
  3. package/dist/components/conversation-panel.js.map +1 -1
  4. package/dist/components/email-body.d.ts +15 -0
  5. package/dist/components/email-body.js +101 -0
  6. package/dist/components/email-body.js.map +1 -0
  7. package/dist/components/email-display-helpers.d.ts +34 -0
  8. package/dist/components/email-display-helpers.js +436 -0
  9. package/dist/components/email-display-helpers.js.map +1 -0
  10. package/dist/components/email-preview-card.d.ts +7 -4
  11. package/dist/components/email-preview-card.js +48 -25
  12. package/dist/components/email-preview-card.js.map +1 -1
  13. package/dist/components/timeline-activity.js +66 -42
  14. package/dist/components/timeline-activity.js.map +1 -1
  15. package/dist/index.d.ts +2 -0
  16. package/dist/index.js +2 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/internal/safe-html.d.ts +1 -1
  19. package/dist/internal/safe-html.js +64 -3
  20. package/dist/internal/safe-html.js.map +1 -1
  21. package/package.json +1 -1
  22. package/src/components/__tests__/conversation-panel.test.tsx +230 -22
  23. package/src/components/__tests__/email-body.test.tsx +83 -0
  24. package/src/components/__tests__/email-display-helpers.test.ts +91 -0
  25. package/src/components/__tests__/email-preview-card.test.tsx +36 -2
  26. package/src/components/__tests__/timeline-activity.test.tsx +53 -1
  27. package/src/components/conversation-panel.tsx +227 -369
  28. package/src/components/email-body.tsx +126 -0
  29. package/src/components/email-display-helpers.ts +557 -0
  30. package/src/components/email-preview-card.tsx +54 -29
  31. package/src/components/timeline-activity.tsx +73 -53
  32. package/src/index.ts +2 -0
  33. package/src/internal/__tests__/safe-html.test.ts +34 -2
  34. package/src/internal/safe-html.ts +79 -4
@@ -34,6 +34,25 @@ interface ConvMessage {
34
34
  to: ConvParticipant;
35
35
  /** Absolute timestamp label, e.g. "Jun 1, 2026, 9:12 AM". */
36
36
  date: string;
37
+ /**
38
+ * Raw chronological timestamp for deterministic thread ordering. Prefer
39
+ * `sentAt` for outbound messages and `receivedAt` for inbound messages.
40
+ * Accepts ISO/RFC822 strings, Date objects, epoch milliseconds, or Gmail
41
+ * internalDate values as strings/numbers. Display-only `date` / `ago` labels
42
+ * are never parsed for ordering.
43
+ */
44
+ timestamp?: string | number | Date | null;
45
+ rawTimestamp?: string | number | Date | null;
46
+ sentAt?: string | number | Date | null;
47
+ receivedAt?: string | number | Date | null;
48
+ /** Compatibility with data contracts that pass through source field names. */
49
+ sent_at?: string | number | Date | null;
50
+ received_at?: string | number | Date | null;
51
+ internalDate?: string | number | Date | null;
52
+ gmailInternalDate?: string | number | Date | null;
53
+ internal_date?: string | number | Date | null;
54
+ rfc822Date?: string | number | Date | null;
55
+ dateHeader?: string | number | Date | null;
37
56
  /** Relative label, e.g. "2 days ago". */
38
57
  ago?: string;
39
58
  receipt?: {
@@ -63,8 +82,16 @@ interface ConversationThread {
63
82
  paused?: {
64
83
  playbook: string;
65
84
  } | null;
66
- /** false => operator is not a participant; reply disabled (read-only). */
85
+ /** false => operator cannot reply or create drafts from this thread. */
67
86
  canReply?: boolean;
87
+ /** Explains why reply and draft creation are disabled. */
88
+ replyDisabledReason?: string;
89
+ /** Existing Gmail draft or thread URL. Rendered as a new-tab link when present. */
90
+ openInGmailUrl?: string | null;
91
+ /** Forces the Open in Gmail action into a disabled state. */
92
+ openInGmailDisabled?: boolean;
93
+ /** Tooltip/read-only copy for a disabled Open in Gmail action. */
94
+ openInGmailDisabledReason?: string | null;
68
95
  messages: ConvMessage[];
69
96
  /** Prefilled reply draft body. */
70
97
  draft?: string;