sos-portal-components-react 0.3.4 → 0.5.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 (169) hide show
  1. package/CHANGELOG.md +180 -145
  2. package/README.md +255 -233
  3. package/dist/PortalCurrentSubject.d.ts +29 -0
  4. package/dist/PortalCurrentSubject.d.ts.map +1 -0
  5. package/dist/PortalCurrentSubject.js +62 -0
  6. package/dist/PortalCurrentSubject.js.map +1 -0
  7. package/dist/PortalHeader.d.ts +10 -0
  8. package/dist/PortalHeader.d.ts.map +1 -0
  9. package/dist/PortalHeader.js +11 -0
  10. package/dist/PortalHeader.js.map +1 -0
  11. package/dist/PortalSettingsPanel.d.ts +8 -0
  12. package/dist/PortalSettingsPanel.d.ts.map +1 -0
  13. package/dist/PortalSettingsPanel.js +10 -0
  14. package/dist/PortalSettingsPanel.js.map +1 -0
  15. package/dist/care/AnimalCardArtifact.d.ts +42 -0
  16. package/dist/care/AnimalCardArtifact.d.ts.map +1 -0
  17. package/dist/care/AnimalCardArtifact.js +32 -0
  18. package/dist/care/AnimalCardArtifact.js.map +1 -0
  19. package/dist/care/BrowserRealtimeCallPanel.d.ts +39 -0
  20. package/dist/care/BrowserRealtimeCallPanel.d.ts.map +1 -0
  21. package/dist/care/BrowserRealtimeCallPanel.js +43 -0
  22. package/dist/care/BrowserRealtimeCallPanel.js.map +1 -0
  23. package/dist/care/CardPreview.d.ts +6 -0
  24. package/dist/care/CardPreview.d.ts.map +1 -0
  25. package/dist/care/CardPreview.js +6 -0
  26. package/dist/care/CardPreview.js.map +1 -0
  27. package/dist/care/CommunicationsWorkspace.d.ts +18 -0
  28. package/dist/care/CommunicationsWorkspace.d.ts.map +1 -0
  29. package/dist/care/CommunicationsWorkspace.js +13 -0
  30. package/dist/care/CommunicationsWorkspace.js.map +1 -0
  31. package/dist/care/EmergencyTaskHub.d.ts +27 -0
  32. package/dist/care/EmergencyTaskHub.d.ts.map +1 -0
  33. package/dist/care/EmergencyTaskHub.js +25 -0
  34. package/dist/care/EmergencyTaskHub.js.map +1 -0
  35. package/dist/care/LegalMarkdownDocument.d.ts +6 -0
  36. package/dist/care/LegalMarkdownDocument.d.ts.map +1 -0
  37. package/dist/care/LegalMarkdownDocument.js +57 -0
  38. package/dist/care/LegalMarkdownDocument.js.map +1 -0
  39. package/dist/care/NotificationComposer.d.ts +49 -0
  40. package/dist/care/NotificationComposer.d.ts.map +1 -0
  41. package/dist/care/NotificationComposer.js +83 -0
  42. package/dist/care/NotificationComposer.js.map +1 -0
  43. package/dist/care/ProtectedIndexEmergencyData.d.ts +32 -0
  44. package/dist/care/ProtectedIndexEmergencyData.d.ts.map +1 -0
  45. package/dist/care/ProtectedIndexEmergencyData.js +13 -0
  46. package/dist/care/ProtectedIndexEmergencyData.js.map +1 -0
  47. package/dist/care/SelectedSubjectWorkspace.d.ts +32 -0
  48. package/dist/care/SelectedSubjectWorkspace.d.ts.map +1 -0
  49. package/dist/care/SelectedSubjectWorkspace.js +32 -0
  50. package/dist/care/SelectedSubjectWorkspace.js.map +1 -0
  51. package/dist/care/SoschainWorkspace.d.ts +119 -0
  52. package/dist/care/SoschainWorkspace.d.ts.map +1 -0
  53. package/dist/care/SoschainWorkspace.js +61 -0
  54. package/dist/care/SoschainWorkspace.js.map +1 -0
  55. package/dist/care/SubjectCommunicationCenter.d.ts +45 -0
  56. package/dist/care/SubjectCommunicationCenter.d.ts.map +1 -0
  57. package/dist/care/SubjectCommunicationCenter.js +40 -0
  58. package/dist/care/SubjectCommunicationCenter.js.map +1 -0
  59. package/dist/care/SubjectDemographicsFields.d.ts +42 -0
  60. package/dist/care/SubjectDemographicsFields.d.ts.map +1 -0
  61. package/dist/care/SubjectDemographicsFields.js +71 -0
  62. package/dist/care/SubjectDemographicsFields.js.map +1 -0
  63. package/dist/care/SubjectSectionIndex.d.ts +22 -0
  64. package/dist/care/SubjectSectionIndex.d.ts.map +1 -0
  65. package/dist/care/SubjectSectionIndex.js +34 -0
  66. package/dist/care/SubjectSectionIndex.js.map +1 -0
  67. package/dist/care/SubjectWorkspace.d.ts +29 -0
  68. package/dist/care/SubjectWorkspace.d.ts.map +1 -0
  69. package/dist/care/SubjectWorkspace.js +59 -0
  70. package/dist/care/SubjectWorkspace.js.map +1 -0
  71. package/dist/care/care.css +215 -0
  72. package/dist/care/index.d.ts +16 -0
  73. package/dist/care/index.d.ts.map +1 -0
  74. package/dist/care/index.js +16 -0
  75. package/dist/care/index.js.map +1 -0
  76. package/dist/care/notification-bff-client.d.ts +44 -0
  77. package/dist/care/notification-bff-client.d.ts.map +1 -0
  78. package/dist/care/notification-bff-client.js +89 -0
  79. package/dist/care/notification-bff-client.js.map +1 -0
  80. package/dist/clinical/BrowserClinicalSpeechInput.d.ts +25 -0
  81. package/dist/clinical/BrowserClinicalSpeechInput.d.ts.map +1 -0
  82. package/dist/clinical/BrowserClinicalSpeechInput.js +32 -0
  83. package/dist/clinical/BrowserClinicalSpeechInput.js.map +1 -0
  84. package/dist/clinical/ClinicalActionButton.d.ts +9 -0
  85. package/dist/clinical/ClinicalActionButton.d.ts.map +1 -0
  86. package/dist/clinical/ClinicalActionButton.js +13 -0
  87. package/dist/clinical/ClinicalActionButton.js.map +1 -0
  88. package/dist/clinical/ClinicalArtifactEditor.d.ts +147 -0
  89. package/dist/clinical/ClinicalArtifactEditor.d.ts.map +1 -0
  90. package/dist/clinical/ClinicalArtifactEditor.js +382 -0
  91. package/dist/clinical/ClinicalArtifactEditor.js.map +1 -0
  92. package/dist/clinical/ClinicalArtifactEditorV2.d.ts +77 -0
  93. package/dist/clinical/ClinicalArtifactEditorV2.d.ts.map +1 -0
  94. package/dist/clinical/ClinicalArtifactEditorV2.js +89 -0
  95. package/dist/clinical/ClinicalArtifactEditorV2.js.map +1 -0
  96. package/dist/clinical/ClinicalArtifactPropertiesV2.d.ts +83 -0
  97. package/dist/clinical/ClinicalArtifactPropertiesV2.d.ts.map +1 -0
  98. package/dist/clinical/ClinicalArtifactPropertiesV2.js +46 -0
  99. package/dist/clinical/ClinicalArtifactPropertiesV2.js.map +1 -0
  100. package/dist/clinical/ClinicalBundleDraftEditor.d.ts +99 -0
  101. package/dist/clinical/ClinicalBundleDraftEditor.d.ts.map +1 -0
  102. package/dist/clinical/ClinicalBundleDraftEditor.js +225 -0
  103. package/dist/clinical/ClinicalBundleDraftEditor.js.map +1 -0
  104. package/dist/clinical/ClinicalEditorLayer.d.ts +8 -0
  105. package/dist/clinical/ClinicalEditorLayer.d.ts.map +1 -0
  106. package/dist/clinical/ClinicalEditorLayer.js +12 -0
  107. package/dist/clinical/ClinicalEditorLayer.js.map +1 -0
  108. package/dist/clinical/ClinicalSectionSummary.d.ts +36 -0
  109. package/dist/clinical/ClinicalSectionSummary.d.ts.map +1 -0
  110. package/dist/clinical/ClinicalSectionSummary.js +24 -0
  111. package/dist/clinical/ClinicalSectionSummary.js.map +1 -0
  112. package/dist/clinical/ClinicalSpeechInput.d.ts +58 -0
  113. package/dist/clinical/ClinicalSpeechInput.d.ts.map +1 -0
  114. package/dist/clinical/ClinicalSpeechInput.js +84 -0
  115. package/dist/clinical/ClinicalSpeechInput.js.map +1 -0
  116. package/dist/clinical/ClinicalTimeline.d.ts +52 -0
  117. package/dist/clinical/ClinicalTimeline.d.ts.map +1 -0
  118. package/dist/clinical/ClinicalTimeline.js +48 -0
  119. package/dist/clinical/ClinicalTimeline.js.map +1 -0
  120. package/dist/clinical/ImmunizationArtifactEditorV2.d.ts +15 -0
  121. package/dist/clinical/ImmunizationArtifactEditorV2.d.ts.map +1 -0
  122. package/dist/clinical/ImmunizationArtifactEditorV2.js +62 -0
  123. package/dist/clinical/ImmunizationArtifactEditorV2.js.map +1 -0
  124. package/dist/clinical/IpsBundleSummary.d.ts +34 -0
  125. package/dist/clinical/IpsBundleSummary.d.ts.map +1 -0
  126. package/dist/clinical/IpsBundleSummary.js +75 -0
  127. package/dist/clinical/IpsBundleSummary.js.map +1 -0
  128. package/dist/clinical/SchemaClinicalArtifactEditorV2.d.ts +11 -0
  129. package/dist/clinical/SchemaClinicalArtifactEditorV2.d.ts.map +1 -0
  130. package/dist/clinical/SchemaClinicalArtifactEditorV2.js +62 -0
  131. package/dist/clinical/SchemaClinicalArtifactEditorV2.js.map +1 -0
  132. package/dist/clinical/clinical.css +148 -0
  133. package/dist/clinical/index.d.ts +14 -0
  134. package/dist/clinical/index.d.ts.map +1 -0
  135. package/dist/clinical/index.js +14 -0
  136. package/dist/clinical/index.js.map +1 -0
  137. package/dist/encounter-journey.css +91 -91
  138. package/dist/identity/AnimalIdentityDetailsV2.d.ts +43 -0
  139. package/dist/identity/AnimalIdentityDetailsV2.d.ts.map +1 -0
  140. package/dist/identity/AnimalIdentityDetailsV2.js +9 -0
  141. package/dist/identity/AnimalIdentityDetailsV2.js.map +1 -0
  142. package/dist/identity/AnimalIdentityOnboarding.d.ts +91 -0
  143. package/dist/identity/AnimalIdentityOnboarding.d.ts.map +1 -0
  144. package/dist/identity/AnimalIdentityOnboarding.js +73 -0
  145. package/dist/identity/AnimalIdentityOnboarding.js.map +1 -0
  146. package/dist/identity/AnimalIdentityOnboardingV2.d.ts +56 -0
  147. package/dist/identity/AnimalIdentityOnboardingV2.d.ts.map +1 -0
  148. package/dist/identity/AnimalIdentityOnboardingV2.js +174 -0
  149. package/dist/identity/AnimalIdentityOnboardingV2.js.map +1 -0
  150. package/dist/identity/current-subject.css +11 -0
  151. package/dist/identity/identity.css +64 -0
  152. package/dist/identity/index.d.ts +9 -0
  153. package/dist/identity/index.d.ts.map +1 -0
  154. package/dist/identity/index.js +10 -0
  155. package/dist/identity/index.js.map +1 -0
  156. package/dist/index.d.ts +8 -0
  157. package/dist/index.d.ts.map +1 -1
  158. package/dist/index.js +8 -0
  159. package/dist/index.js.map +1 -1
  160. package/dist/preferences.d.ts +12 -0
  161. package/dist/preferences.d.ts.map +1 -0
  162. package/dist/preferences.js +57 -0
  163. package/dist/preferences.js.map +1 -0
  164. package/dist/styles.css +24 -0
  165. package/dist/usePortalUiPreferences.d.ts +9 -0
  166. package/dist/usePortalUiPreferences.d.ts.map +1 -0
  167. package/dist/usePortalUiPreferences.js +39 -0
  168. package/dist/usePortalUiPreferences.js.map +1 -0
  169. package/package.json +127 -110
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { clinicalArtifactCodedOptionsForClaim } from 'fhir-data-utils-ts';
4
+ import { ClinicalArtifactEditorV2, } from './ClinicalArtifactEditorV2.js';
5
+ /** Adapts every schema-backed IPS resource to the same progressive V2 editor. */
6
+ /** @deprecated Use ClinicalBundleDraftEditorV2 for every new clinical authoring flow. */
7
+ export function SchemaClinicalArtifactEditorV2({ schema, locale = 'en', ...props }) {
8
+ return _jsx(ClinicalArtifactEditorV2, { ...props, locale: locale, fields: clinicalArtifactFieldsV2FromSchema(schema, locale), initialVisibleClaims: schema.requiredClaims, ...(schema.initialClaims === undefined ? {} : { initialClaims: schema.initialClaims }) });
9
+ }
10
+ /** Keeps form control selection deterministic and owned by the canonical schema/catalog. */
11
+ export function clinicalArtifactFieldsV2FromSchema(schema, locale = 'en') {
12
+ const required = new Set(schema.requiredClaims);
13
+ const terminologyText = new Set(schema.terminologyTextClaims ?? []);
14
+ const pairedClaims = new Set();
15
+ const fields = [];
16
+ for (const textClaim of terminologyText) {
17
+ const pair = codedClaimPair(textClaim);
18
+ pairedClaims.add(pair.codeClaim);
19
+ pairedClaims.add(pair.displayClaim);
20
+ }
21
+ for (const claim of [...schema.requiredClaims, ...schema.optionalClaims]) {
22
+ if (pairedClaims.has(claim))
23
+ continue;
24
+ const options = clinicalArtifactCodedOptionsForClaim(claim, locale);
25
+ if (terminologyText.has(claim)) {
26
+ const pair = codedClaimPair(claim);
27
+ fields.push({ claim, textClaim: claim, codeClaim: pair.codeClaim, displayClaim: pair.displayClaim, kind: 'coded-concept', required: required.has(claim) });
28
+ }
29
+ else if (options.length) {
30
+ fields.push({ claim, kind: 'coded-select', required: required.has(claim), options: options.map(option => ({ value: option.code, label: option.label })) });
31
+ }
32
+ else if (isDateTimeClaim(claim)) {
33
+ fields.push({ claim, kind: 'date-time', required: required.has(claim) });
34
+ }
35
+ else if (isPositiveIntegerClaim(claim)) {
36
+ fields.push({ claim, kind: 'positive-integer', required: required.has(claim) });
37
+ }
38
+ else {
39
+ fields.push({ claim, kind: 'text', required: required.has(claim) });
40
+ }
41
+ }
42
+ fields.push({ claim: '__documents', kind: 'documents', transient: true });
43
+ return Object.freeze(fields);
44
+ }
45
+ function codedClaimPair(textClaim) {
46
+ if (textClaim.endsWith('-text')) {
47
+ const base = textClaim.slice(0, -'-text'.length);
48
+ return { codeClaim: base, displayClaim: `${base}-display` };
49
+ }
50
+ if (textClaim.endsWith('.code-text')) {
51
+ const base = textClaim.slice(0, -'-text'.length);
52
+ return { codeClaim: base, displayClaim: `${base}-display` };
53
+ }
54
+ return { codeClaim: `${textClaim}-code`, displayClaim: `${textClaim}-display` };
55
+ }
56
+ function isDateTimeClaim(claim) {
57
+ return /(?:^|[-.])(date|datetime|effective|onset)(?:$|[-.])/.test(claim);
58
+ }
59
+ function isPositiveIntegerClaim(claim) {
60
+ return /(?:dose-sequence|series-doses|timing-frequency)$/.test(claim);
61
+ }
62
+ //# sourceMappingURL=SchemaClinicalArtifactEditorV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SchemaClinicalArtifactEditorV2.js","sourceRoot":"","sources":["../../src/clinical/SchemaClinicalArtifactEditorV2.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,148 @@
1
+ /* SOS-owned clinical rendering. Host theme supplies neutral --uhcp-* compatibility tokens; no product branding or assets. */
2
+ .uhcp-clinical-section {
3
+ background: var(--uhcp-panel);
4
+ border: 1px solid var(--uhcp-border);
5
+ border-radius: 2rem;
6
+ color: var(--uhcp-text);
7
+ padding: 1.25rem;
8
+ }
9
+ .uhcp-clinical-editor-backdrop { align-items:center; background:rgb(15 23 42 / 42%); display:flex; inset:0; justify-content:center; padding:1rem; position:fixed; z-index:1000; }
10
+ .uhcp-clinical-editor { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:1.5rem; box-shadow:0 20px 60px rgb(15 23 42 / 22%); color:var(--uhcp-text); display:flex; flex-direction:column; max-height:calc(100dvh - 2rem); max-width:48rem; min-width:0; overflow:hidden; padding:1.5rem; width:100%; }
11
+ .uhcp-clinical-editor>header { align-items:flex-start; display:flex; gap:1rem; justify-content:space-between; }
12
+ .uhcp-clinical-editor h2,.uhcp-clinical-editor p { margin:.2rem 0; }
13
+ .uhcp-clinical-editor>header>button { background:transparent; border:1px solid var(--uhcp-border); border-radius:50%; color:inherit; cursor:pointer; font-size:1.4rem; height:2.5rem; width:2.5rem; }
14
+ .uhcp-clinical-editor form { display:grid; gap:1rem; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:1.25rem; min-width:0; overflow:auto; }
15
+ .uhcp-clinical-editor label { color:var(--uhcp-text); font-weight:700; }
16
+ .uhcp-clinical-editor label,.uhcp-clinical-editor fieldset,.uhcp-clinical-editor-field { min-width:0; }
17
+ .uhcp-clinical-editor-field { display:grid; gap:.35rem; }
18
+ .uhcp-clinical-editor-field-heading { align-items:center; display:flex; gap:.5rem; justify-content:space-between; }
19
+ .uhcp-clinical-speech-control { align-items:center; display:flex; gap:.4rem; }
20
+ .uhcp-clinical-speech-button { align-items:center; background:transparent; border:1px solid var(--uhcp-border); border-radius:50%; color:inherit; cursor:pointer; display:inline-flex; height:2.25rem; justify-content:center; padding:.45rem; width:2.25rem; }
21
+ .uhcp-clinical-speech-button:disabled { cursor:not-allowed; opacity:.45; }
22
+ .uhcp-clinical-speech-button svg { fill:currentColor; height:1.15rem; width:1.15rem; }
23
+ .uhcp-clinical-editor input,.uhcp-clinical-editor select,.uhcp-clinical-editor textarea { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.7rem; color:inherit; font:inherit; min-width:0; padding:.75rem; width:100%; }
24
+ .uhcp-clinical-editor-date-time { grid-column:1/-1; }
25
+ .uhcp-clinical-editor-wide,.uhcp-clinical-editor-error,.uhcp-clinical-editor footer { grid-column:1/-1; }
26
+ .uhcp-clinical-editor footer { background:var(--uhcp-panel); bottom:0; display:flex; gap:.75rem; justify-content:flex-end; padding:.75rem 0; position:sticky; z-index:2; }
27
+ .uhcp-clinical-editor footer button,.uhcp-terminology-results button { border:1px solid var(--uhcp-border); border-radius:.7rem; cursor:pointer; font:inherit; padding:.7rem 1rem; }
28
+ .uhcp-clinical-editor footer .uhcp-clinical-editor-submit { background:linear-gradient(135deg,color-mix(in srgb,var(--uhcp-emerald) 90%,#fff),var(--uhcp-emerald)); border-color:var(--uhcp-emerald); color:#fff; font-weight:800; }
29
+ .uhcp-clinical-editor footer .uhcp-clinical-editor-cancel { background:color-mix(in srgb,#b42318 12%,var(--uhcp-panel)); border-color:color-mix(in srgb,#b42318 52%,var(--uhcp-border)); color:color-mix(in srgb,#b42318 84%,var(--uhcp-text)); }
30
+ .uhcp-clinical-entry-credential-panel { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.85rem; grid-column:1/-1; margin-top:.75rem; padding:1rem; width:100%; }
31
+ .uhcp-clinical-editor-error { color:#b42318; font-weight:700; }
32
+ .uhcp-terminology-results ul { display:grid; gap:.35rem; list-style:none; margin:.25rem 0 0; padding:0; }
33
+ .uhcp-terminology-results button { background:var(--uhcp-surface-muted); color:inherit; display:grid; text-align:start; width:100%; }
34
+ .uhcp-terminology-results small { color:var(--uhcp-muted); display:block; font-weight:400; }
35
+ .uhcp-terminology-source-picker { border:1px solid var(--uhcp-border); border-radius:.7rem; margin:.25rem 0; position:relative; }
36
+ .uhcp-terminology-source-picker summary { cursor:pointer; font-weight:750; list-style:none; padding:.7rem .8rem; }
37
+ .uhcp-terminology-source-picker summary::-webkit-details-marker { display:none; }
38
+ .uhcp-terminology-source-picker summary::after { content:'▾'; float:inline-end; }
39
+ .uhcp-terminology-source-picker[open] summary::after { content:'▴'; }
40
+ .uhcp-terminology-source-picker fieldset { background:var(--uhcp-panel); border:0; border-top:1px solid var(--uhcp-border); display:grid; gap:.45rem; margin:0; padding:.7rem .8rem; }
41
+ .uhcp-terminology-source-picker label { align-items:center; display:flex; gap:.55rem; }
42
+ .uhcp-terminology-source-picker input { margin:0; width:auto; }
43
+ .uhcp-sr-only { clip:rect(0,0,0,0); clip-path:inset(50%); height:1px; overflow:hidden; position:absolute; white-space:nowrap; width:1px; }
44
+ .uhcp-clinical-editor-v2 { max-width:44rem; }
45
+ .uhcp-clinical-editor-v2 form { grid-template-columns:1fr; }
46
+ .uhcp-progressive-field-v2 { background:var(--uhcp-surface-muted); border:1px solid var(--uhcp-border); border-radius:1rem; display:grid; gap:.45rem; padding:.85rem; position:relative; }
47
+ .uhcp-progressive-field-v2>.uhcp-remove-field-v2 { align-items:center; background:#fff1f0; border:1px solid #fda29b; border-radius:50%; color:#b42318; cursor:pointer; display:flex; font-size:1.1rem; height:1.8rem; justify-content:center; position:absolute; right:.55rem; top:.55rem; width:1.8rem; z-index:1; }
48
+ .uhcp-clinical-property-v2 { display:grid; gap:.45rem; min-width:0; }
49
+ .uhcp-clinical-property-v2 input,.uhcp-clinical-property-v2 select { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.7rem; color:inherit; font:inherit; min-width:0; padding:.7rem; width:100%; }
50
+ .uhcp-date-time-property-v2 { align-items:end; border:0; grid-template-columns:minmax(9rem,1fr) auto minmax(7rem,.65fr) auto; margin:0; padding:0; }
51
+ .uhcp-date-time-property-v2 legend { font-weight:800; margin-bottom:.35rem; }
52
+ .uhcp-date-time-property-v2 label { display:grid; gap:.3rem; }
53
+ .uhcp-date-time-property-v2 button,.uhcp-optional-fields-v2 button { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.7rem; color:inherit; cursor:pointer; font:inherit; min-height:2.7rem; padding:.55rem .75rem; }
54
+ .uhcp-coded-concept-query-v2 { display:grid; gap:.4rem; grid-template-columns:minmax(0,1fr) auto auto; }
55
+ .uhcp-icon-button-v2,.uhcp-clear-code-v2 { align-items:center; background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:50%; color:inherit; cursor:pointer; display:flex; height:2.75rem; justify-content:center; padding:.65rem; width:2.75rem; }
56
+ .uhcp-icon-button-v2 svg { fill:none; height:1.2rem; stroke:currentColor; stroke-linecap:round; stroke-width:2; width:1.2rem; }
57
+ .uhcp-clear-code-v2 { background:#fff1f0; border-color:#fda29b; color:#b42318; font-size:1.15rem; }
58
+ .uhcp-coding-sources-v2 { border:0; display:flex; flex-wrap:wrap; gap:.45rem .8rem; margin:0; padding:.2rem 0; }
59
+ .uhcp-coding-sources-v2 legend { color:var(--uhcp-muted); font-size:.8rem; width:100%; }
60
+ .uhcp-coding-sources-v2 label { align-items:center; display:flex; font-size:.85rem; gap:.3rem; }
61
+ .uhcp-coding-sources-v2 input { width:auto; }
62
+ .uhcp-selected-code-v2 { display:grid; gap:.6rem; grid-template-columns:1fr 1fr; }
63
+ .uhcp-selected-code-v2 input[readonly] { background:var(--uhcp-panel-muted); color:var(--uhcp-muted); }
64
+ .uhcp-optional-fields-v2 { align-items:end; border:1px dashed var(--uhcp-border); border-radius:1rem; display:grid; gap:.6rem; grid-template-columns:minmax(0,1fr) auto; margin:0; padding:.8rem; }
65
+ .uhcp-optional-fields-v2 legend { font-weight:800; padding:0 .35rem; }
66
+ .uhcp-optional-fields-v2 select { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.7rem; color:inherit; font:inherit; padding:.7rem; }
67
+ .uhcp-document-references-property-v2 ul { display:grid; gap:.4rem; list-style:none; margin:.2rem 0 0; padding:0; }
68
+ .uhcp-document-references-property-v2 li { align-items:center; display:flex; justify-content:space-between; }
69
+ .uhcp-document-references-property-v2 li button { background:#fff1f0; border:1px solid #fda29b; border-radius:50%; color:#b42318; cursor:pointer; height:1.8rem; width:1.8rem; }
70
+ @media (max-width:620px) { .uhcp-date-time-property-v2,.uhcp-selected-code-v2 { grid-template-columns:minmax(0,1fr) auto; } .uhcp-date-time-property-v2 legend,.uhcp-selected-code-v2 label { grid-column:1/-1; } .uhcp-optional-fields-v2 { grid-template-columns:1fr; } }
71
+ @media (max-width:44rem) { .uhcp-clinical-editor form { grid-template-columns:1fr; } }
72
+
73
+ .uhcp-clinical-summary {
74
+ display: grid;
75
+ gap: 1rem;
76
+ }
77
+ .uhcp-clinical-section > header { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
78
+ .uhcp-clinical-section h3 { font-size: 1.125rem; margin: 0; }
79
+ .uhcp-clinical-section h3 span { color: var(--uhcp-muted); }
80
+ .uhcp-clinical-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 1fr)); margin-top: 1rem; }
81
+ .uhcp-clinical-card { background: var(--uhcp-panel-muted); border-radius: 1rem; display: flex; flex-direction: column; min-width: 0; padding: 1rem; }
82
+ .uhcp-clinical-card-actions { align-items: center; display: flex; gap: .4rem; justify-content: flex-end; margin-top: .75rem; }
83
+ .uhcp-clinical-icon-action { align-items:center; background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.65rem; color:var(--uhcp-text); cursor:pointer; display:inline-flex; height:2.5rem; justify-content:center; padding:0; width:2.5rem; }
84
+ .uhcp-clinical-icon-action:hover { border-color:var(--uhcp-turquoise); color:var(--uhcp-turquoise); }
85
+ .uhcp-clinical-icon-action:focus-visible { outline:3px solid var(--uhcp-turquoise); outline-offset:2px; }
86
+ .uhcp-clinical-icon-action:disabled { cursor:not-allowed; opacity:.42; }
87
+ .uhcp-clinical-icon-action svg { fill:none; height:1.2rem; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.2rem; }
88
+ .uhcp-clinical-icon-action-delete:hover { border-color:var(--uhcp-attention); color:var(--uhcp-attention); }
89
+ .uhcp-clinical-bundle-draft { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:1.5rem; color:var(--uhcp-text); display:grid; gap:1rem; padding:1.25rem; }
90
+ .uhcp-clinical-bundle-draft>header h2,.uhcp-clinical-bundle-draft>header p { margin:.15rem 0; }
91
+ .uhcp-clinical-bundle-draft>header p,.uhcp-clinical-bundle-draft details>p { color:var(--uhcp-muted); }
92
+ .uhcp-clinical-bundle-draft details { background:var(--uhcp-panel-muted); border:1px solid var(--uhcp-border); border-radius:1rem; padding:.85rem 1rem; position:relative; }
93
+ .uhcp-clinical-bundle-draft summary { cursor:pointer; font-weight:800; }
94
+ .uhcp-clinical-bundle-draft-create { align-items:end; background:var(--uhcp-panel-muted); border:1px solid var(--uhcp-border); border-radius:1rem; display:grid; gap:.8rem; grid-template-columns:minmax(10rem,1fr) minmax(10rem,1fr) auto; padding:1rem; }
95
+ .uhcp-clinical-bundle-draft-create label { display:grid; gap:.35rem; font-weight:700; }
96
+ .uhcp-clinical-bundle-draft-create select { background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.7rem; color:var(--uhcp-text); font:inherit; min-height:2.75rem; padding:.55rem .7rem; }
97
+ .uhcp-clinical-bundle-draft-create button.uhcp-add-section-button { background:color-mix(in srgb,var(--uhcp-turquoise) 13%,var(--uhcp-panel)); border:1px solid color-mix(in srgb,var(--uhcp-turquoise) 45%,var(--uhcp-border)); border-radius:.75rem; color:var(--uhcp-text); cursor:pointer; font:inherit; font-weight:800; min-height:2.75rem; padding:.65rem 1rem; }
98
+ .uhcp-clinical-bundle-draft-create button:disabled { cursor:not-allowed; opacity:.5; }
99
+ .uhcp-clinical-bundle-draft .uhcp-add-entry-button { background:var(--uhcp-emerald); border:0; border-radius:.65rem; color:#fff; cursor:pointer; font-size:1.3rem; font-weight:900; height:2.5rem; margin-top:.65rem; width:2.5rem; }
100
+ .uhcp-clinical-bundle-draft .uhcp-remove-section-button { background:color-mix(in srgb,#c64747 12%,var(--uhcp-panel)); border:1px solid color-mix(in srgb,#c64747 42%,var(--uhcp-border)); border-radius:.6rem; color:#a72f2f; cursor:pointer; font-size:1.25rem; font-weight:900; height:2.25rem; position:absolute; right:.7rem; top:.55rem; width:2.25rem; }
101
+ .uhcp-clinical-bundle-draft ul { display:grid; gap:.55rem; list-style:none; margin:.8rem 0 0; padding:0; }
102
+ .uhcp-clinical-bundle-draft li { align-items:center; background:var(--uhcp-panel); border:1px solid var(--uhcp-border); border-radius:.8rem; display:grid; gap:1rem; grid-template-columns:minmax(0,1fr) auto; justify-content:space-between; padding:.7rem; }
103
+ .uhcp-clinical-bundle-draft li>span { display:flex; gap:.45rem; }
104
+ .uhcp-clinical-bundle-draft li>span:first-child { align-items:flex-start; flex-direction:column; min-width:0; }
105
+ .uhcp-clinical-bundle-draft li strong { overflow-wrap:anywhere; }
106
+ .uhcp-clinical-bundle-draft li small { color:var(--uhcp-muted); }
107
+ .uhcp-clinical-bundle-draft>footer { align-items:center; background:var(--uhcp-panel-muted); border:1px solid var(--uhcp-border); border-radius:1rem; display:flex; gap:.75rem; justify-content:space-between; padding:.7rem .8rem; }
108
+ .uhcp-clinical-document-secondary-actions { align-items:center; display:flex; flex:1; flex-wrap:wrap; gap:.65rem; min-width:0; }
109
+ .uhcp-clinical-bundle-draft>footer .uhcp-clinical-document-submit { background:var(--uhcp-emerald); border:0; border-radius:.75rem; color:#fff; cursor:pointer; flex:0 0 auto; font:inherit; font-weight:800; padding:.75rem 1rem; }
110
+ .uhcp-clinical-bundle-draft>footer .uhcp-clinical-document-submit:disabled { cursor:not-allowed; opacity:.5; }
111
+ .uhcp-clinical-bundle-draft .uhcp-clinical-entry-credential-action { background:color-mix(in srgb,var(--uhcp-attention) 24%,var(--uhcp-panel)); border:1px solid color-mix(in srgb,var(--uhcp-attention) 58%,var(--uhcp-border)); color:var(--uhcp-text); }
112
+ .uhcp-clinical-bundle-draft button[data-tooltip]:not(.uhcp-remove-section-button),.uhcp-clinical-icon-action[data-tooltip] { position:relative; }
113
+ .uhcp-clinical-bundle-draft button[data-tooltip]:is(:hover,:focus-visible)::after,.uhcp-clinical-icon-action[data-tooltip]:is(:hover,:focus-visible)::after { background:var(--uhcp-text); border-radius:.45rem; bottom:calc(100% + .45rem); color:var(--uhcp-panel); content:attr(data-tooltip); font-size:.78rem; font-weight:700; left:50%; max-width:16rem; padding:.35rem .5rem; pointer-events:none; position:absolute; transform:translateX(-50%); white-space:nowrap; z-index:50; }
114
+ .uhcp-clinical-editor-attachments { border:1px solid var(--uhcp-border); border-radius:.85rem; display:grid; gap:.65rem; grid-column:1/-1; padding:.85rem; }
115
+ .uhcp-clinical-editor-attachments label { display:grid; gap:.35rem; }
116
+ .uhcp-clinical-editor-attachments input[type=file] { border:1px dashed var(--uhcp-border); border-radius:.7rem; padding:.65rem; }
117
+ .uhcp-clinical-editor-attachments ul { display:grid; gap:.4rem; list-style:none; margin:0; padding:0; }
118
+ .uhcp-clinical-editor-attachments li { align-items:center; background:var(--uhcp-panel-muted); border-radius:.65rem; display:flex; justify-content:space-between; padding:.5rem .65rem; }
119
+ .uhcp-clinical-editor-attachments li button { background:transparent; border:0; color:var(--uhcp-text); cursor:pointer; font-size:1.2rem; }
120
+ @media (max-width:720px) { .uhcp-clinical-bundle-draft-create { grid-template-columns:1fr; } .uhcp-clinical-bundle-draft>footer { align-items:stretch; flex-direction:column; } .uhcp-clinical-bundle-draft>footer .uhcp-clinical-document-submit { align-self:flex-end; } }
121
+ .uhcp-clinical-title { font-weight: 800; margin: 0; }
122
+ .uhcp-clinical-type { color: var(--uhcp-muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; margin: .35rem 0 0; text-transform: uppercase; }
123
+ .uhcp-clinical-date, .uhcp-clinical-empty { color: var(--uhcp-muted); margin: .35rem 0 0; }
124
+ .uhcp-clinical-timeline { display: grid; gap: 1rem; }
125
+ .uhcp-clinical-filters, .uhcp-clinical-range { display: grid; gap: .75rem; }
126
+ .uhcp-clinical-range { grid-template-columns: repeat(2, minmax(0, 1fr)); }
127
+ .uhcp-clinical-filters fieldset { border: 1px solid var(--uhcp-border); border-radius: 1rem; display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; padding: .75rem; }
128
+ .uhcp-clinical-filters legend { font-weight: 800; padding: 0 .35rem; }
129
+ .uhcp-clinical-filters label { display: grid; gap: .3rem; }
130
+ .uhcp-clinical-filters label:has(input[type='checkbox']) { align-items: center; display: flex; }
131
+ .uhcp-clinical-filters input { background: var(--uhcp-panel); border: 1px solid var(--uhcp-border); border-radius: .65rem; color: var(--uhcp-text); font: inherit; padding: .55rem; }
132
+ .uhcp-clinical-timeline-card { background: var(--uhcp-panel-muted); border-radius: 1rem; display: grid; gap: .4rem; padding: 1rem; }
133
+ .uhcp-clinical-timeline-card h4 { margin: 0; }
134
+ .uhcp-clinical-timeline-card time, .uhcp-clinical-timeline-list time { color: var(--uhcp-muted); }
135
+ .uhcp-clinical-timeline-navigation { align-items: center; display: flex; flex-wrap: wrap; gap: .6rem; }
136
+ .uhcp-clinical-timeline button, .uhcp-clinical-date-time-fields button { background: var(--uhcp-panel); border: 1px solid var(--uhcp-border); border-radius: .7rem; color: var(--uhcp-text); cursor: pointer; font: inherit; min-height: 2.5rem; padding: .55rem .75rem; }
137
+ .uhcp-clinical-timeline button:disabled { cursor: not-allowed; opacity: .45; }
138
+ .uhcp-clinical-timeline-list { display: grid; gap: .5rem; margin: 0; padding-left: 1.5rem; }
139
+ .uhcp-clinical-timeline-list li { padding: .5rem; }
140
+ .uhcp-clinical-timeline-list time { display: block; margin-top: .2rem; }
141
+ .uhcp-clinical-date-time-fields { align-items: end; display: grid; gap: .5rem; grid-template-columns: minmax(0, 1fr) auto minmax(0, .7fr) auto; min-width: 0; }
142
+ .uhcp-clinical-date-time-fields label { display: grid; font-weight: 800; gap: .35rem; }
143
+ .uhcp-clinical-date-time-fields input { border: 1px solid var(--uhcp-border); border-radius: .7rem; color: var(--uhcp-text); font: inherit; min-width: 0; padding: .65rem; width: 100%; }
144
+ @media (max-width: 620px) { .uhcp-clinical-range, .uhcp-clinical-date-time-fields { grid-template-columns: minmax(0, 1fr) auto; } .uhcp-clinical-editor form { grid-template-columns:minmax(0,1fr); } .uhcp-clinical-editor-date-time,.uhcp-clinical-editor-wide,.uhcp-clinical-editor-error,.uhcp-clinical-editor footer { grid-column:1; } }
145
+ .uhcp-clinical-details { display: grid; gap: .3rem; margin: .6rem 0 0; }
146
+ .uhcp-clinical-details div { align-items: baseline; display: flex; gap: .75rem; justify-content: space-between; }
147
+ .uhcp-clinical-details dt { color: var(--uhcp-muted); font-size: .78rem; }
148
+ .uhcp-clinical-details dd { font-size: .9rem; font-weight: 800; margin: 0; }
@@ -0,0 +1,14 @@
1
+ export * from './ClinicalArtifactEditor.js';
2
+ export * from './ClinicalArtifactEditorV2.js';
3
+ export * from './ClinicalArtifactPropertiesV2.js';
4
+ export * from './ClinicalEditorLayer.js';
5
+ export * from './ClinicalSpeechInput.js';
6
+ export * from './BrowserClinicalSpeechInput.js';
7
+ export * from './ClinicalTimeline.js';
8
+ export * from './ClinicalSectionSummary.js';
9
+ export * from './IpsBundleSummary.js';
10
+ export * from './ClinicalActionButton.js';
11
+ export * from './ClinicalBundleDraftEditor.js';
12
+ export * from './ImmunizationArtifactEditorV2.js';
13
+ export * from './SchemaClinicalArtifactEditorV2.js';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/clinical/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export * from './ClinicalArtifactEditor.js';
2
+ export * from './ClinicalArtifactEditorV2.js';
3
+ export * from './ClinicalArtifactPropertiesV2.js';
4
+ export * from './ClinicalEditorLayer.js';
5
+ export * from './ClinicalSpeechInput.js';
6
+ export * from './BrowserClinicalSpeechInput.js';
7
+ export * from './ClinicalTimeline.js';
8
+ export * from './ClinicalSectionSummary.js';
9
+ export * from './IpsBundleSummary.js';
10
+ export * from './ClinicalActionButton.js';
11
+ export * from './ClinicalBundleDraftEditor.js';
12
+ export * from './ImmunizationArtifactEditorV2.js';
13
+ export * from './SchemaClinicalArtifactEditorV2.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clinical/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAA;AAC3C,cAAc,+BAA+B,CAAA;AAC7C,cAAc,mCAAmC,CAAA;AACjD,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,uBAAuB,CAAA;AACrC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,gCAAgC,CAAA;AAC9C,cAAc,mCAAmC,CAAA;AACjD,cAAc,qCAAqC,CAAA"}
@@ -1,91 +1,91 @@
1
- .uhcp-transfer-console { background:var(--uhcp-surface,#fff); color:var(--uhcp-text,#102754); display:grid; font-family:Inter,ui-sans-serif,system-ui,sans-serif; grid-template-columns:minmax(16rem,23rem) minmax(0,1fr); min-height:calc(100vh - 4.5rem); }
2
- .uhcp-transfer-console button,.uhcp-transfer-console input,.uhcp-transfer-console textarea { font:inherit; }
3
- .uhcp-transfer-console svg { fill:none; height:1.25rem; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.25rem; }
4
- .uhcp-transfer-contacts { border-inline-end:1px solid #dce5ec; padding:1.2rem; }
5
- .uhcp-transfer-contacts summary { cursor:pointer; font-size:1.05rem; font-weight:850; list-style-position:inside; padding:.35rem 0 1rem; }
6
- .uhcp-transfer-contact-list { border-block:1px solid #e2e9ef; display:grid; padding:.45rem 0; }
7
- .uhcp-transfer-contact-list button { background:transparent; border:0; border-inline-start:3px solid transparent; color:inherit; cursor:pointer; display:grid; gap:.15rem; grid-template-columns:2.7rem 1fr; padding:.75rem; text-align:start; }
8
- .uhcp-transfer-contact-list button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-inline-start-color:var(--uhcp-text,#09a9dc); }
9
- .uhcp-transfer-contact-list button>span { align-items:center; background:var(--uhcp-surface-muted,#d7e7f1); border-radius:50%; display:flex; font-weight:800; grid-row:span 2; height:2.4rem; justify-content:center; width:2.4rem; }
10
- .uhcp-transfer-contact-list small { color:var(--uhcp-text,#58708e); }
11
- .uhcp-transfer-contact-actions { display:grid; gap:.55rem; padding:1rem 0; }
12
- .uhcp-transfer-contact-actions button,.uhcp-transfer-mode button,.uhcp-transfer-composer fieldset button { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #cad7e2; border-radius:.55rem; color:inherit; cursor:pointer; display:flex; gap:.7rem; padding:.7rem .85rem; }
13
- .uhcp-transfer-contact-actions button[aria-pressed=true],.uhcp-transfer-mode button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-color:var(--uhcp-text,#09a9dc); color:var(--uhcp-text,#006f96); font-weight:800; }
14
- .uhcp-transfer-composer fieldset button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-color:var(--uhcp-text,#09a9dc); color:var(--uhcp-text,#006f96); font-weight:800; }
15
- .uhcp-transfer-composer { display:grid; gap:.8rem; }
16
- .uhcp-transfer-composer h3 { font-size:.95rem; margin:.2rem 0 0; }
17
- .uhcp-transfer-mode { display:grid; grid-template-columns:1fr 1fr; }
18
- .uhcp-transfer-mode button { justify-content:center; }
19
- .uhcp-transfer-composer label { display:grid; font-size:.82rem; font-weight:750; gap:.35rem; }
20
- .uhcp-transfer-composer textarea { border:1px solid #cad7e2; border-radius:.55rem; color:inherit; resize:vertical; padding:.75rem; }
21
- .uhcp-transfer-composer fieldset { border:0; margin:0; padding:0; }
22
- .uhcp-transfer-composer legend { font-size:.82rem; font-weight:750; margin-bottom:.4rem; }
23
- .uhcp-transfer-composer fieldset>div { display:flex; flex-wrap:wrap; gap:.4rem; }
24
- .uhcp-transfer-record { background:var(--uhcp-surface,#fff); border:1px dashed #09a9dc; border-radius:.55rem; color:var(--uhcp-text,#006f96); padding:1rem; }
25
- .uhcp-transfer-primary { background:#0796a8!important; border-color:#0796a8!important; color:#fff!important; font-weight:850!important; }
26
- .uhcp-transfer-main { min-width:0; padding:1rem; }
27
- .uhcp-transfer-patient,.uhcp-transfer-journey,.uhcp-transfer-review { border:1px solid #dce5ec; border-radius:.7rem; box-shadow:0 4px 16px rgb(16 39 84 / 5%); }
28
- .uhcp-transfer-patient { padding:1rem; }
29
- .uhcp-transfer-patient h2,.uhcp-transfer-journey h2,.uhcp-transfer-review h2 { font-size:1.18rem; margin:0; }
30
- .uhcp-transfer-patient>div { align-items:center; display:grid; gap:.75rem; grid-template-columns:minmax(11rem,.85fr) 1px minmax(13rem,1fr) auto; margin-top:.75rem; }
31
- .uhcp-transfer-patient button,.uhcp-transfer-patient label { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #9fb3c8; border-radius:.45rem; display:flex; gap:.65rem; min-height:3rem; padding:.7rem .9rem; }
32
- .uhcp-transfer-patient button { color:inherit; cursor:pointer; font-weight:800; justify-content:center; }
33
- .uhcp-transfer-patient button:last-child { background:var(--uhcp-surface-muted,#0796a8); border-color:var(--uhcp-text,#0796a8); color:#fff; }
34
- .uhcp-transfer-patient>div>span { background:var(--uhcp-surface-muted,#cbd7e1); height:2rem; }
35
- .uhcp-transfer-patient label { color:var(--uhcp-text,#64748b); }
36
- .uhcp-transfer-patient input { border:0; color:var(--uhcp-text,#102754); min-width:0; outline:0; width:100%; }
37
- .uhcp-transfer-journey { margin-top:.8rem; overflow:hidden; padding:1rem; }
38
- .uhcp-transfer-journey>header,.uhcp-transfer-review>header { align-items:center; display:flex; justify-content:space-between; }
39
- .uhcp-transfer-journey>header>div { display:flex; gap:.4rem; }
40
- .uhcp-transfer-journey>header button { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #cad7e2; border-radius:.45rem; color:inherit; display:flex; padding:.45rem; }
41
- .uhcp-transfer-journey>header button:first-child svg { transform:rotate(180deg); }
42
- .uhcp-transfer-rail { align-items:center; display:flex; gap:.8rem; min-height:18rem; overflow-x:auto; padding:1rem .25rem; scrollbar-color:#aebfce #edf2f5; }
43
- .uhcp-transfer-card { border:1px solid #cad7e2; border-radius:.5rem; flex:0 0 10rem; min-height:12rem; overflow:hidden; }
44
- .uhcp-transfer-card h3 { background:var(--uhcp-surface-muted,#087db8); color:var(--uhcp-text,#fff); font-size:.82rem; margin:0; padding:.65rem; }
45
- .uhcp-transfer-card-body { display:grid; gap:.45rem; padding:.85rem; }
46
- .uhcp-transfer-card-body time,.uhcp-transfer-card-body span,.uhcp-transfer-card-body code { color:var(--uhcp-text,#60738c); font-size:.72rem; }
47
- .uhcp-transfer-card-body small { background:var(--uhcp-surface-muted,#edf2f5); border-radius:999px; color:var(--uhcp-text,#466079); font-size:.7rem; justify-self:start; padding:.25rem .55rem; }
48
- .uhcp-transfer-card-body small[data-status=in-progress] { background:var(--uhcp-surface-muted,#d7f4e5); color:var(--uhcp-text,#087a47); }
49
- .uhcp-transfer-card-body small[data-status=completed] { background:var(--uhcp-surface-muted,#dff6e8); color:var(--uhcp-text,#087a47); }
50
- .uhcp-transfer-card-body small[data-status=on-hold] { background:var(--uhcp-surface-muted,#fff1d2); color:var(--uhcp-text,#9a5a00); }
51
- .uhcp-transfer-source { border-color:var(--uhcp-text,#078dcc); flex-basis:13.5rem; }
52
- .uhcp-transfer-destination { border-color:var(--uhcp-text,#069f69); flex-basis:13rem; }
53
- .uhcp-transfer-destination h3 { background:var(--uhcp-surface-muted,#069f69); }
54
- .uhcp-transfer-source fieldset { border:0; border-top:1px solid #dce5ec; margin:.2rem .7rem .7rem; padding:.7rem 0 0; }
55
- .uhcp-transfer-source legend { font-size:.72rem; font-weight:800; }
56
- .uhcp-transfer-source label { align-items:start; display:flex; gap:.45rem; padding:.35rem 0; }
57
- .uhcp-transfer-source label span { display:grid; }
58
- .uhcp-transfer-source label small { color:var(--uhcp-text,#60738c); font-size:.68rem; }
59
- .uhcp-transfer-arrow { align-items:center; color:var(--uhcp-text,#0796a8); display:grid; flex:0 0 5rem; grid-template-columns:1fr auto; text-align:center; }
60
- .uhcp-transfer-arrow span { font-size:.7rem; font-weight:800; grid-column:1/-1; }
61
- .uhcp-transfer-arrow i { background:var(--uhcp-surface-muted,#0796a8); height:2px; }
62
- .uhcp-transfer-arrow svg { margin-left:-.45rem; }
63
- .uhcp-transfer-help { background:var(--uhcp-surface-muted,#f4f9fc); border-radius:.5rem; padding:.65rem .8rem; }
64
- .uhcp-transfer-help summary { cursor:pointer; font-size:.78rem; font-weight:800; }
65
- .uhcp-transfer-help p { color:var(--uhcp-text,#51677e); font-size:.78rem; margin:.4rem 0 0; }
66
- .uhcp-transfer-controls { display:flex; gap:.55rem; justify-content:flex-end; padding-top:.75rem; }
67
- .uhcp-transfer-controls button { background:var(--uhcp-surface,#fff); border:1px solid #0796a8; border-radius:.45rem; color:var(--uhcp-text,#08738a); padding:.7rem 1rem; }
68
- .uhcp-transfer-review { margin-top:.8rem; padding:1rem; }
69
- .uhcp-transfer-review header p { background:var(--uhcp-surface-muted,#fff5dd); border:1px solid #f3ce79; border-radius:.4rem; color:var(--uhcp-text,#925800); font-size:.72rem; margin:0; padding:.5rem .7rem; }
70
- .uhcp-transfer-review ol { list-style:none; margin:.7rem 0 0; padding:0; }
71
- .uhcp-transfer-review li { align-items:center; border-top:1px solid #e1e8ee; display:grid; gap:.7rem; grid-template-columns:1.8rem 1fr auto; padding:.55rem; }
72
- .uhcp-transfer-review li>span { align-items:center; background:var(--uhcp-surface-muted,#e8f6fc); border-radius:50%; color:var(--uhcp-text,#087db8); display:flex; font-size:.72rem; font-weight:900; height:1.7rem; justify-content:center; width:1.7rem; }
73
- .uhcp-transfer-review li strong { font-size:.8rem; }
74
- .uhcp-transfer-review details { font-size:.68rem; }
75
- .uhcp-transfer-review summary { color:var(--uhcp-text,#60738c); cursor:pointer; }
76
- .uhcp-transfer-status { background:var(--uhcp-surface-muted,#dff6e8); border-radius:.45rem; color:var(--uhcp-text,#087a47); font-weight:750; padding:.75rem; }
77
- @media(max-width:900px){.uhcp-transfer-console{grid-template-columns:1fr}.uhcp-transfer-contacts{border-bottom:1px solid #dce5ec;border-inline-end:0}.uhcp-transfer-contact-actions{grid-template-columns:repeat(3,1fr)}.uhcp-transfer-patient>div{grid-template-columns:1fr}.uhcp-transfer-patient>div>span{display:none}.uhcp-transfer-review>header{align-items:flex-start;gap:.7rem;flex-direction:column}}
78
- @media(max-width:560px){.uhcp-transfer-main{padding:.55rem}.uhcp-transfer-contact-actions{grid-template-columns:1fr}.uhcp-transfer-rail{align-items:stretch}.uhcp-transfer-review li{grid-template-columns:1.8rem 1fr}.uhcp-transfer-review li details{grid-column:2}.uhcp-transfer-controls button{flex:1}.uhcp-transfer-review header p{font-size:.65rem}}
79
-
80
- .sos-encounter-journey { min-width:0; color:var(--uhcp-text,inherit); border:1px solid var(--uhcp-border,#dce5ec); border-radius:1rem; padding:clamp(.75rem,2vw,1.5rem); }
81
- .sos-encounter-journey>header,.sos-encounter-journey>form,.sos-encounter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-bottom:1rem; }
82
- .sos-encounter-journey>header { justify-content:space-between; }
83
- .sos-encounter-journey h2 { margin:0; font-size:1.25rem; }
84
- .sos-encounter-journey label { display:grid; gap:.35rem; min-width:0; }
85
- .sos-encounter-journey select { max-width:100%; color:inherit; background:var(--uhcp-surface,#fff); border:1px solid var(--uhcp-border,#dce5ec); border-radius:.4rem; padding:.5rem; }
86
- .sos-encounter-journey button { cursor:pointer; border:1px solid var(--uhcp-border,#9bbfd1); border-radius:.5rem; padding:.55rem .8rem; color:inherit; background:var(--uhcp-surface-muted,#eef6fa); }
87
- .sos-encounter-journey button:disabled { opacity:.5; cursor:not-allowed; }
88
- .sos-encounter-journey button:focus-visible,.sos-encounter-journey select:focus-visible { outline:3px solid #1388c9; outline-offset:2px; }
89
- .sos-encounter-journey time,.sos-encounter-journey code { overflow-wrap:anywhere; }
90
- .sos-encounter-journey [role=alert] { color:var(--uhcp-danger,#b42318); }
91
- .sos-encounter-journey [role=status] { color:var(--uhcp-success,#087a47); }
1
+ .uhcp-transfer-console { background:var(--uhcp-surface,#fff); color:var(--uhcp-text,#102754); display:grid; font-family:Inter,ui-sans-serif,system-ui,sans-serif; grid-template-columns:minmax(16rem,23rem) minmax(0,1fr); min-height:calc(100vh - 4.5rem); }
2
+ .uhcp-transfer-console button,.uhcp-transfer-console input,.uhcp-transfer-console textarea { font:inherit; }
3
+ .uhcp-transfer-console svg { fill:none; height:1.25rem; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; width:1.25rem; }
4
+ .uhcp-transfer-contacts { border-inline-end:1px solid #dce5ec; padding:1.2rem; }
5
+ .uhcp-transfer-contacts summary { cursor:pointer; font-size:1.05rem; font-weight:850; list-style-position:inside; padding:.35rem 0 1rem; }
6
+ .uhcp-transfer-contact-list { border-block:1px solid #e2e9ef; display:grid; padding:.45rem 0; }
7
+ .uhcp-transfer-contact-list button { background:transparent; border:0; border-inline-start:3px solid transparent; color:inherit; cursor:pointer; display:grid; gap:.15rem; grid-template-columns:2.7rem 1fr; padding:.75rem; text-align:start; }
8
+ .uhcp-transfer-contact-list button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-inline-start-color:var(--uhcp-text,#09a9dc); }
9
+ .uhcp-transfer-contact-list button>span { align-items:center; background:var(--uhcp-surface-muted,#d7e7f1); border-radius:50%; display:flex; font-weight:800; grid-row:span 2; height:2.4rem; justify-content:center; width:2.4rem; }
10
+ .uhcp-transfer-contact-list small { color:var(--uhcp-text,#58708e); }
11
+ .uhcp-transfer-contact-actions { display:grid; gap:.55rem; padding:1rem 0; }
12
+ .uhcp-transfer-contact-actions button,.uhcp-transfer-mode button,.uhcp-transfer-composer fieldset button { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #cad7e2; border-radius:.55rem; color:inherit; cursor:pointer; display:flex; gap:.7rem; padding:.7rem .85rem; }
13
+ .uhcp-transfer-contact-actions button[aria-pressed=true],.uhcp-transfer-mode button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-color:var(--uhcp-text,#09a9dc); color:var(--uhcp-text,#006f96); font-weight:800; }
14
+ .uhcp-transfer-composer fieldset button[aria-pressed=true] { background:var(--uhcp-surface-muted,#eaf8fd); border-color:var(--uhcp-text,#09a9dc); color:var(--uhcp-text,#006f96); font-weight:800; }
15
+ .uhcp-transfer-composer { display:grid; gap:.8rem; }
16
+ .uhcp-transfer-composer h3 { font-size:.95rem; margin:.2rem 0 0; }
17
+ .uhcp-transfer-mode { display:grid; grid-template-columns:1fr 1fr; }
18
+ .uhcp-transfer-mode button { justify-content:center; }
19
+ .uhcp-transfer-composer label { display:grid; font-size:.82rem; font-weight:750; gap:.35rem; }
20
+ .uhcp-transfer-composer textarea { border:1px solid #cad7e2; border-radius:.55rem; color:inherit; resize:vertical; padding:.75rem; }
21
+ .uhcp-transfer-composer fieldset { border:0; margin:0; padding:0; }
22
+ .uhcp-transfer-composer legend { font-size:.82rem; font-weight:750; margin-bottom:.4rem; }
23
+ .uhcp-transfer-composer fieldset>div { display:flex; flex-wrap:wrap; gap:.4rem; }
24
+ .uhcp-transfer-record { background:var(--uhcp-surface,#fff); border:1px dashed #09a9dc; border-radius:.55rem; color:var(--uhcp-text,#006f96); padding:1rem; }
25
+ .uhcp-transfer-primary { background:#0796a8!important; border-color:#0796a8!important; color:#fff!important; font-weight:850!important; }
26
+ .uhcp-transfer-main { min-width:0; padding:1rem; }
27
+ .uhcp-transfer-patient,.uhcp-transfer-journey,.uhcp-transfer-review { border:1px solid #dce5ec; border-radius:.7rem; box-shadow:0 4px 16px rgb(16 39 84 / 5%); }
28
+ .uhcp-transfer-patient { padding:1rem; }
29
+ .uhcp-transfer-patient h2,.uhcp-transfer-journey h2,.uhcp-transfer-review h2 { font-size:1.18rem; margin:0; }
30
+ .uhcp-transfer-patient>div { align-items:center; display:grid; gap:.75rem; grid-template-columns:minmax(11rem,.85fr) 1px minmax(13rem,1fr) auto; margin-top:.75rem; }
31
+ .uhcp-transfer-patient button,.uhcp-transfer-patient label { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #9fb3c8; border-radius:.45rem; display:flex; gap:.65rem; min-height:3rem; padding:.7rem .9rem; }
32
+ .uhcp-transfer-patient button { color:inherit; cursor:pointer; font-weight:800; justify-content:center; }
33
+ .uhcp-transfer-patient button:last-child { background:var(--uhcp-surface-muted,#0796a8); border-color:var(--uhcp-text,#0796a8); color:#fff; }
34
+ .uhcp-transfer-patient>div>span { background:var(--uhcp-surface-muted,#cbd7e1); height:2rem; }
35
+ .uhcp-transfer-patient label { color:var(--uhcp-text,#64748b); }
36
+ .uhcp-transfer-patient input { border:0; color:var(--uhcp-text,#102754); min-width:0; outline:0; width:100%; }
37
+ .uhcp-transfer-journey { margin-top:.8rem; overflow:hidden; padding:1rem; }
38
+ .uhcp-transfer-journey>header,.uhcp-transfer-review>header { align-items:center; display:flex; justify-content:space-between; }
39
+ .uhcp-transfer-journey>header>div { display:flex; gap:.4rem; }
40
+ .uhcp-transfer-journey>header button { align-items:center; background:var(--uhcp-surface,#fff); border:1px solid #cad7e2; border-radius:.45rem; color:inherit; display:flex; padding:.45rem; }
41
+ .uhcp-transfer-journey>header button:first-child svg { transform:rotate(180deg); }
42
+ .uhcp-transfer-rail { align-items:center; display:flex; gap:.8rem; min-height:18rem; overflow-x:auto; padding:1rem .25rem; scrollbar-color:#aebfce #edf2f5; }
43
+ .uhcp-transfer-card { border:1px solid #cad7e2; border-radius:.5rem; flex:0 0 10rem; min-height:12rem; overflow:hidden; }
44
+ .uhcp-transfer-card h3 { background:var(--uhcp-surface-muted,#087db8); color:var(--uhcp-text,#fff); font-size:.82rem; margin:0; padding:.65rem; }
45
+ .uhcp-transfer-card-body { display:grid; gap:.45rem; padding:.85rem; }
46
+ .uhcp-transfer-card-body time,.uhcp-transfer-card-body span,.uhcp-transfer-card-body code { color:var(--uhcp-text,#60738c); font-size:.72rem; }
47
+ .uhcp-transfer-card-body small { background:var(--uhcp-surface-muted,#edf2f5); border-radius:999px; color:var(--uhcp-text,#466079); font-size:.7rem; justify-self:start; padding:.25rem .55rem; }
48
+ .uhcp-transfer-card-body small[data-status=in-progress] { background:var(--uhcp-surface-muted,#d7f4e5); color:var(--uhcp-text,#087a47); }
49
+ .uhcp-transfer-card-body small[data-status=completed] { background:var(--uhcp-surface-muted,#dff6e8); color:var(--uhcp-text,#087a47); }
50
+ .uhcp-transfer-card-body small[data-status=on-hold] { background:var(--uhcp-surface-muted,#fff1d2); color:var(--uhcp-text,#9a5a00); }
51
+ .uhcp-transfer-source { border-color:var(--uhcp-text,#078dcc); flex-basis:13.5rem; }
52
+ .uhcp-transfer-destination { border-color:var(--uhcp-text,#069f69); flex-basis:13rem; }
53
+ .uhcp-transfer-destination h3 { background:var(--uhcp-surface-muted,#069f69); }
54
+ .uhcp-transfer-source fieldset { border:0; border-top:1px solid #dce5ec; margin:.2rem .7rem .7rem; padding:.7rem 0 0; }
55
+ .uhcp-transfer-source legend { font-size:.72rem; font-weight:800; }
56
+ .uhcp-transfer-source label { align-items:start; display:flex; gap:.45rem; padding:.35rem 0; }
57
+ .uhcp-transfer-source label span { display:grid; }
58
+ .uhcp-transfer-source label small { color:var(--uhcp-text,#60738c); font-size:.68rem; }
59
+ .uhcp-transfer-arrow { align-items:center; color:var(--uhcp-text,#0796a8); display:grid; flex:0 0 5rem; grid-template-columns:1fr auto; text-align:center; }
60
+ .uhcp-transfer-arrow span { font-size:.7rem; font-weight:800; grid-column:1/-1; }
61
+ .uhcp-transfer-arrow i { background:var(--uhcp-surface-muted,#0796a8); height:2px; }
62
+ .uhcp-transfer-arrow svg { margin-left:-.45rem; }
63
+ .uhcp-transfer-help { background:var(--uhcp-surface-muted,#f4f9fc); border-radius:.5rem; padding:.65rem .8rem; }
64
+ .uhcp-transfer-help summary { cursor:pointer; font-size:.78rem; font-weight:800; }
65
+ .uhcp-transfer-help p { color:var(--uhcp-text,#51677e); font-size:.78rem; margin:.4rem 0 0; }
66
+ .uhcp-transfer-controls { display:flex; gap:.55rem; justify-content:flex-end; padding-top:.75rem; }
67
+ .uhcp-transfer-controls button { background:var(--uhcp-surface,#fff); border:1px solid #0796a8; border-radius:.45rem; color:var(--uhcp-text,#08738a); padding:.7rem 1rem; }
68
+ .uhcp-transfer-review { margin-top:.8rem; padding:1rem; }
69
+ .uhcp-transfer-review header p { background:var(--uhcp-surface-muted,#fff5dd); border:1px solid #f3ce79; border-radius:.4rem; color:var(--uhcp-text,#925800); font-size:.72rem; margin:0; padding:.5rem .7rem; }
70
+ .uhcp-transfer-review ol { list-style:none; margin:.7rem 0 0; padding:0; }
71
+ .uhcp-transfer-review li { align-items:center; border-top:1px solid #e1e8ee; display:grid; gap:.7rem; grid-template-columns:1.8rem 1fr auto; padding:.55rem; }
72
+ .uhcp-transfer-review li>span { align-items:center; background:var(--uhcp-surface-muted,#e8f6fc); border-radius:50%; color:var(--uhcp-text,#087db8); display:flex; font-size:.72rem; font-weight:900; height:1.7rem; justify-content:center; width:1.7rem; }
73
+ .uhcp-transfer-review li strong { font-size:.8rem; }
74
+ .uhcp-transfer-review details { font-size:.68rem; }
75
+ .uhcp-transfer-review summary { color:var(--uhcp-text,#60738c); cursor:pointer; }
76
+ .uhcp-transfer-status { background:var(--uhcp-surface-muted,#dff6e8); border-radius:.45rem; color:var(--uhcp-text,#087a47); font-weight:750; padding:.75rem; }
77
+ @media(max-width:900px){.uhcp-transfer-console{grid-template-columns:1fr}.uhcp-transfer-contacts{border-bottom:1px solid #dce5ec;border-inline-end:0}.uhcp-transfer-contact-actions{grid-template-columns:repeat(3,1fr)}.uhcp-transfer-patient>div{grid-template-columns:1fr}.uhcp-transfer-patient>div>span{display:none}.uhcp-transfer-review>header{align-items:flex-start;gap:.7rem;flex-direction:column}}
78
+ @media(max-width:560px){.uhcp-transfer-main{padding:.55rem}.uhcp-transfer-contact-actions{grid-template-columns:1fr}.uhcp-transfer-rail{align-items:stretch}.uhcp-transfer-review li{grid-template-columns:1.8rem 1fr}.uhcp-transfer-review li details{grid-column:2}.uhcp-transfer-controls button{flex:1}.uhcp-transfer-review header p{font-size:.65rem}}
79
+
80
+ .sos-encounter-journey { min-width:0; color:var(--uhcp-text,inherit); border:1px solid var(--uhcp-border,#dce5ec); border-radius:1rem; padding:clamp(.75rem,2vw,1.5rem); }
81
+ .sos-encounter-journey>header,.sos-encounter-journey>form,.sos-encounter-actions { display:flex; align-items:center; flex-wrap:wrap; gap:.75rem; margin-bottom:1rem; }
82
+ .sos-encounter-journey>header { justify-content:space-between; }
83
+ .sos-encounter-journey h2 { margin:0; font-size:1.25rem; }
84
+ .sos-encounter-journey label { display:grid; gap:.35rem; min-width:0; }
85
+ .sos-encounter-journey select { max-width:100%; color:inherit; background:var(--uhcp-surface,#fff); border:1px solid var(--uhcp-border,#dce5ec); border-radius:.4rem; padding:.5rem; }
86
+ .sos-encounter-journey button { cursor:pointer; border:1px solid var(--uhcp-border,#9bbfd1); border-radius:.5rem; padding:.55rem .8rem; color:inherit; background:var(--uhcp-surface-muted,#eef6fa); }
87
+ .sos-encounter-journey button:disabled { opacity:.5; cursor:not-allowed; }
88
+ .sos-encounter-journey button:focus-visible,.sos-encounter-journey select:focus-visible { outline:3px solid #1388c9; outline-offset:2px; }
89
+ .sos-encounter-journey time,.sos-encounter-journey code { overflow-wrap:anywhere; }
90
+ .sos-encounter-journey [role=alert] { color:var(--uhcp-danger,#b42318); }
91
+ .sos-encounter-journey [role=status] { color:var(--uhcp-success,#087a47); }
@@ -0,0 +1,43 @@
1
+ import type { ReactNode } from 'react';
2
+ export type AnimalIdentityDetailsV2Copy = Readonly<{
3
+ animalStep: string;
4
+ controllerStep: string;
5
+ animalName: string;
6
+ species: string;
7
+ identifierType: string;
8
+ identifierValue: string;
9
+ controllerName: string;
10
+ relationship: string;
11
+ edit?: string;
12
+ jurisdiction?: string;
13
+ legalIdentifier?: string;
14
+ officialAddress?: string;
15
+ telephone?: string;
16
+ email?: string;
17
+ source?: string;
18
+ }>;
19
+ export type AnimalIdentityDetailsV2Value = Readonly<{
20
+ animalName: string;
21
+ species: string;
22
+ identifierType: string;
23
+ identifierValue: string;
24
+ animalPhotoUrl?: string;
25
+ animalPhotoAlt?: string;
26
+ controllerName: string;
27
+ relationship: string;
28
+ controllerKind?: 'person' | 'organization';
29
+ controllerJurisdiction?: string;
30
+ controllerIdentifier?: string;
31
+ controllerOfficialAddress?: string;
32
+ controllerTelephone?: string;
33
+ controllerEmail?: string;
34
+ controllerSource?: string;
35
+ }>;
36
+ /** Read-only counterpart of AnimalIdentityOnboardingV2 using the same progressive sections. */
37
+ export declare function AnimalIdentityDetailsV2({ copy, value, onEdit, actions }: Readonly<{
38
+ copy: AnimalIdentityDetailsV2Copy;
39
+ value: AnimalIdentityDetailsV2Value;
40
+ onEdit?: () => void;
41
+ actions?: ReactNode;
42
+ }>): import("react").JSX.Element;
43
+ //# sourceMappingURL=AnimalIdentityDetailsV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimalIdentityDetailsV2.d.ts","sourceRoot":"","sources":["../../src/identity/AnimalIdentityDetailsV2.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,UAAU,EAAC,MAAM,CAAC;IAAC,cAAc,EAAC,MAAM,CAAC;IAAC,UAAU,EAAC,MAAM,CAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAC,cAAc,EAAC,MAAM,CAAC;IAAC,eAAe,EAAC,MAAM,CAAC;IAAC,cAAc,EAAC,MAAM,CAAC;IAAC,YAAY,EAAC,MAAM,CAAC;IAAC,IAAI,CAAC,EAAC,MAAM,CAAA;IACpL,YAAY,CAAC,EAAC,MAAM,CAAC;IAAC,eAAe,CAAC,EAAC,MAAM,CAAC;IAAC,eAAe,CAAC,EAAC,MAAM,CAAC;IAAC,SAAS,CAAC,EAAC,MAAM,CAAC;IAAC,KAAK,CAAC,EAAC,MAAM,CAAC;IAAC,MAAM,CAAC,EAAC,MAAM,CAAA;CACzH,CAAC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,QAAQ,CAAC;IAClD,UAAU,EAAC,MAAM,CAAC;IAAC,OAAO,EAAC,MAAM,CAAC;IAAC,cAAc,EAAC,MAAM,CAAC;IAAC,eAAe,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,MAAM,CAAA;IAChI,cAAc,EAAC,MAAM,CAAC;IAAC,YAAY,EAAC,MAAM,CAAC;IAAC,cAAc,CAAC,EAAC,QAAQ,GAAC,cAAc,CAAC;IAAC,sBAAsB,CAAC,EAAC,MAAM,CAAC;IAAC,oBAAoB,CAAC,EAAC,MAAM,CAAA;IACjJ,yBAAyB,CAAC,EAAC,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAC,MAAM,CAAC;IAAC,eAAe,CAAC,EAAC,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAC,MAAM,CAAA;CAClH,CAAC,CAAA;AAEF,+FAA+F;AAC/F,wBAAgB,uBAAuB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,QAAQ,CAAC;IAAE,IAAI,EAAC,2BAA2B,CAAC;IAAC,KAAK,EAAC,4BAA4B,CAAC;IAAC,MAAM,CAAC,EAAC,MAAI,IAAI,CAAC;IAAC,OAAO,CAAC,EAAC,SAAS,CAAA;CAAE,CAAC,+BAMjM"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /** Read-only counterpart of AnimalIdentityOnboardingV2 using the same progressive sections. */
3
+ export function AnimalIdentityDetailsV2({ copy, value, onEdit, actions }) {
4
+ return _jsxs("section", { className: "uhcp-animal-onboarding uhcp-animal-onboarding-v2 uhcp-animal-identity-details-v2", children: [_jsxs("details", { children: [_jsxs("summary", { children: [_jsx(StepNumber, { value: 1 }), " ", copy.animalStep] }), _jsxs("div", { className: "uhcp-animal-identity-readonly", children: [_jsx(_Fragment, { children: value.animalPhotoUrl ? _jsx("img", { className: "uhcp-animal-identity-photo", src: value.animalPhotoUrl, alt: value.animalPhotoAlt ?? value.animalName }) : null }), _jsxs("dl", { className: "uhcp-animal-identity-readonly-grid", children: [_jsx(Fact, { label: copy.animalName, value: value.animalName }), _jsx(Fact, { label: copy.species, value: value.species }), _jsx(Fact, { label: copy.identifierType, value: value.identifierType }), _jsx(Fact, { label: copy.identifierValue, value: value.identifierValue })] })] })] }), _jsxs("details", { children: [_jsxs("summary", { children: [_jsx(StepNumber, { value: 2 }), " ", copy.controllerStep] }), _jsxs("dl", { className: "uhcp-animal-identity-readonly-grid", children: [_jsx(Fact, { label: copy.controllerName, value: value.controllerName }), _jsx(Fact, { label: copy.relationship, value: value.relationship }), _jsx(OptionalFact, { label: copy.jurisdiction, value: value.controllerJurisdiction }), _jsx(OptionalFact, { label: copy.legalIdentifier, value: value.controllerIdentifier }), _jsx(OptionalFact, { label: copy.officialAddress, value: value.controllerOfficialAddress }), _jsx(OptionalFact, { label: copy.telephone, value: value.controllerTelephone }), _jsx(OptionalFact, { label: copy.email, value: value.controllerEmail }), _jsx(OptionalFact, { label: copy.source, value: value.controllerSource })] })] }), onEdit || actions ? _jsxs("div", { className: "uhcp-animal-onboarding-actions", children: [actions, onEdit ? _jsx("button", { type: "button", onClick: onEdit, "aria-label": copy.edit, title: copy.edit, children: copy.edit }) : null] }) : null] });
5
+ }
6
+ function StepNumber({ value }) { return _jsx("span", { className: "uhcp-identity-step-number", "aria-hidden": "true", children: value }); }
7
+ function Fact({ label, value }) { return _jsxs("div", { children: [_jsx("dt", { children: label }), _jsx("dd", { children: value })] }); }
8
+ function OptionalFact({ label, value }) { return label && value ? _jsx(Fact, { label: label, value: value }) : null; }
9
+ //# sourceMappingURL=AnimalIdentityDetailsV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimalIdentityDetailsV2.js","sourceRoot":"","sources":["../../src/identity/AnimalIdentityDetailsV2.tsx"],"names":[],"mappings":"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"}