sos-portal-components-react 0.2.0 → 0.2.2

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/CHANGELOG.md CHANGED
@@ -2,8 +2,31 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 0.2.2 - 2026-11-07
6
+
7
+ - Render the canonical ringing, missed and ended state beside every call
8
+ Communication in the shared Personal/Professional conversation surface.
9
+ Host portals no longer need divergent status labels to expose call history.
10
+
11
+ ## 0.2.1 - 2026-11-07
12
+
13
+ - Pin `sos-data-utils-ts@0.6.28`, the exact release that owns the portal RTC
14
+ Communication contract consumed by `createLiveKitRealtimeCallClient`. Clean npm
15
+ installs no longer retain a nested pre-RTC data-utils release.
16
+
5
17
  ## 0.2.0 - 2026-11-07
6
18
 
19
+ - Establish this package as the shared presentation boundary consumed directly
20
+ by CH Personal and Professional in every flavour. Product portals provide
21
+ authorization, policy and BFF adapters; UHC compatibility exports no longer
22
+ own the active implementation.
23
+ - Export `SubjectConversationChat` as the single subject-channel renderer over
24
+ canonical Communications. It projects text, governed attachments, clinical
25
+ Bundles, ICS/files, audio and call events without owning persistence,
26
+ signaling or recipient authority.
27
+ - Export `createLiveKitRealtimeCallClient` as a dynamically loaded web RTC adapter
28
+ designed for later Expo substitution. It consumes only the short grant
29
+ issued by the BFF and never receives LiveKit API credentials.
7
30
  - Separate CH all-local, telephone-assistant, optional web-assistant and RTC
8
31
  integration profiles. Calls use a host-injected dedicated RTC client while
9
32
  invitations, terminal events and unanswered audio render as Communications.
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectConversationChat.d.ts","sourceRoot":"","sources":["../src/SubjectConversationChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAA;AAEpD,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,GAAG,8BAA8B,CAAA;AAEvG;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,eAAe,GAChB,EAAE,QAAQ,CAAC;IACV,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC5C,WAAW,EAAE,2BAA2B,CAAA;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClC,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACzC,OAAO,EAAE,2BAA2B,CAAA;KACrC,CAAC,GAAG,SAAS,CAAA;IACd,kBAAkB,CAAC,CAAC,OAAO,EAAE,2BAA2B,GAAG,SAAS,CAAA;IACpE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,+BA2BD"}
1
+ {"version":3,"file":"SubjectConversationChat.d.ts","sourceRoot":"","sources":["../src/SubjectConversationChat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAC/C,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EAGL,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC9B,MAAM,6CAA6C,CAAA;AAEpD,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,4BAA4B,GAAG,8BAA8B,CAAA;AAEvG;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,eAAe,GAChB,EAAE,QAAQ,CAAC;IACV,OAAO,EAAE,SAAS,wBAAwB,EAAE,CAAA;IAC5C,WAAW,EAAE,2BAA2B,CAAA;IACxC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC9C,QAAQ,CAAC,IAAI,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,kBAAkB,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC;QAClC,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;QACzC,OAAO,EAAE,2BAA2B,CAAA;KACrC,CAAC,GAAG,SAAS,CAAA;IACd,kBAAkB,CAAC,CAAC,OAAO,EAAE,2BAA2B,GAAG,SAAS,CAAA;IACpE,MAAM,CAAC,EAAE,SAAS,CAAA;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC,+BAgCD"}
@@ -10,7 +10,13 @@ import { SubjectConversationContentKind, projectSubjectConversationChatMessages,
10
10
  * into the product-neutral Antifraud transcript and composer.
11
11
  */
12
12
  export function SubjectConversationChat({ entries, currentUser, locale, onSendText, onAttach, renderFhirDocument, renderEntryContent, footer, copy, composerEnabled, }) {
13
- const messages = useMemo(() => [...projectSubjectConversationChatMessages(entries)], [entries]);
13
+ const messages = useMemo(() => [...projectSubjectConversationChatMessages(entries)].map(message => {
14
+ const content = message.subjectConversation.content;
15
+ if (content.kind !== SubjectConversationContentKind.Call)
16
+ return message;
17
+ const status = callStateLabel(content.state, locale);
18
+ return { ...message, text: `${content.label} · ${status}` };
19
+ }), [entries, locale]);
14
20
  const user = useMemo(() => ({
15
21
  _id: currentUser.id,
16
22
  name: currentUser.name,
@@ -23,4 +29,10 @@ export function SubjectConversationChat({ entries, currentUser, locale, onSendTe
23
29
  : renderEntryContent?.(message) ?? null;
24
30
  } } : {}), ...(footer !== undefined ? { footer } : {}), ...(copy ? { copy } : {}), ...(composerEnabled !== undefined ? { composerEnabled } : {}) });
25
31
  }
32
+ function callStateLabel(state, locale) {
33
+ const labels = locale === 'es'
34
+ ? { ringing: 'Sonando', received: 'Recibida', missed: 'Perdida', completed: 'Completada', declined: 'Rechazada', ended: 'Finalizada' }
35
+ : { ringing: 'Ringing', received: 'Received', missed: 'Missed', completed: 'Completed', declined: 'Declined', ended: 'Ended' };
36
+ return labels[state];
37
+ }
26
38
  //# sourceMappingURL=SubjectConversationChat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SubjectConversationChat.js","sourceRoot":"","sources":["../src/SubjectConversationChat.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,OAAO,CAAA;AAC/C,OAAO,EACL,4BAA4B,GAE7B,MAAM,wDAAwD,CAAA;AAC/D,OAAO,EACL,8BAA8B,EAC9B,sCAAsC,GAGvC,MAAM,6CAA6C,CAAA;AAUpD;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,EACtC,OAAO,EACP,WAAW,EACX,MAAM,EACN,UAAU,EACV,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,MAAM,EACN,IAAI,EACJ,eAAe,GAgBf;IACA,MAAM,QAAQ,GAAG,OAAO,CACtB,GAAG,EAAE,CAAC,CAAC,GAAG,sCAAsC,CAAC,OAAO,CAAC,CAAkC,EAC3F,CAAC,OAAO,CAAC,CACV,CAAA;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1B,GAAG,EAAE,WAAW,CAAC,EAAE;QACnB,IAAI,EAAE,WAAW,CAAC,IAAI;QACtB,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9D,CAAC,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IAE3D,OAAO,KAAC,4BAA4B,IAClC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,UAAU,KAClB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC1B,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAC9B,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,OAAoC,EAAE,EAAE;gBAC/G,MAAM,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAA;gBACnD,OAAO,OAAO,CAAC,IAAI,KAAK,8BAA8B,CAAC,YAAY,IAAI,kBAAkB;oBACvF,CAAC,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBAC/E,CAAC,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAA;YAC3C,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACL,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACxC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KACtB,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,GAC9D,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"SubjectConversationChat.js","sourceRoot":"","sources":["../src/SubjectConversationChat.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sos-portal-components-react",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Shared portal UI for base components",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -68,7 +68,7 @@
68
68
  },
69
69
  "dependencies": {
70
70
  "antifraud-portal-components-react": "0.2.2",
71
- "sos-data-utils-ts": "0.6.27"
71
+ "sos-data-utils-ts": "0.6.28"
72
72
  },
73
73
  "devDependencies": {
74
74
  "@testing-library/react": "^16.3.2",