uhc-portal-components-react 0.1.4 → 0.1.5

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
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.1.5 - 2026-07-29
4
+
5
+ - Allow advanced hosts to reuse the shared clinical card body while retaining
6
+ their own expandable section heading, filters and editors.
7
+
3
8
  ## 0.1.4 - 2026-07-29
4
9
 
5
10
  - Add `IpsBundleSummary`, which accepts a complete IPS document Bundle and
package/README.md CHANGED
@@ -48,7 +48,8 @@ The package deliberately exposes modules instead of a cloned application:
48
48
  - `PortalAccessChooser`: real-page navigation for professional access paths.
49
49
  - `ProfileProtectionGate`: fail-closed PIN unlock presentation.
50
50
  - `ClinicalSectionSummary`: brand-neutral rendering of already-resolved IPS
51
- cards for personal and professional portals.
51
+ cards for personal and professional portals. Advanced viewers can set
52
+ `showHeader={false}` when they retain their own expandable heading.
52
53
  - `IpsBundleSummary`: receives one in-memory IPS document Bundle, obtains all
53
54
  `Composition.section` entries through Common Utils and renders every
54
55
  section's cards. It performs no ingestion or GW call.
@@ -12,6 +12,8 @@ export type ClinicalSectionSummaryProps = Readonly<{
12
12
  emptyLabel: string;
13
13
  resourceTypeLabel?: (resourceType: string) => string;
14
14
  actions?: ReactNode;
15
+ /** Hide only the heading when a host already owns the expandable section header. */
16
+ showHeader?: boolean;
15
17
  }>;
16
18
  /**
17
19
  * Brand-neutral renderer for one already-resolved IPS section.
@@ -21,5 +23,5 @@ export type ClinicalSectionSummaryProps = Readonly<{
21
23
  * terminology identity/translation key and must never be supplied as a
22
24
  * replacement for manually authored text.
23
25
  */
24
- export declare function ClinicalSectionSummary({ code, title, resources, emptyLabel, resourceTypeLabel, actions, }: ClinicalSectionSummaryProps): import("react").JSX.Element;
26
+ export declare function ClinicalSectionSummary({ code, title, resources, emptyLabel, resourceTypeLabel, actions, showHeader, }: ClinicalSectionSummaryProps): import("react").JSX.Element;
25
27
  //# sourceMappingURL=ClinicalSectionSummary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ClinicalSectionSummary.d.ts","sourceRoot":"","sources":["../src/ClinicalSectionSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAA;IACpD,OAAO,CAAC,EAAE,SAAS,CAAA;CACpB,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,EACV,iBAAkD,EAClD,OAAO,GACR,EAAE,2BAA2B,+BAsB7B"}
1
+ {"version":3,"file":"ClinicalSectionSummary.d.ts","sourceRoot":"","sources":["../src/ClinicalSectionSummary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC;IACzC,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,SAAS,mBAAmB,EAAE,CAAA;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,MAAM,CAAA;IACpD,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,KAAK,EACL,SAAS,EACT,UAAU,EACV,iBAAkD,EAClD,OAAO,EACP,UAAiB,GAClB,EAAE,2BAA2B,+BA4B7B"}
@@ -7,8 +7,8 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
7
7
  * terminology identity/translation key and must never be supplied as a
8
8
  * replacement for manually authored text.
9
9
  */
10
- export function ClinicalSectionSummary({ code, title, resources, emptyLabel, resourceTypeLabel = (resourceType) => resourceType, actions, }) {
11
- return (_jsxs("section", { className: "uhcp-clinical-section", "data-ips-section": code, "aria-labelledby": `uhcp-section-${code}`, children: [_jsxs("header", { children: [_jsxs("h3", { id: `uhcp-section-${code}`, children: [title, " ", _jsxs("span", { children: ["(", resources.length, ")"] })] }), actions] }), resources.length === 0
10
+ export function ClinicalSectionSummary({ code, title, resources, emptyLabel, resourceTypeLabel = (resourceType) => resourceType, actions, showHeader = true, }) {
11
+ return (_jsxs("section", { className: "uhcp-clinical-section", "data-ips-section": code, ...(showHeader ? { 'aria-labelledby': `uhcp-section-${code}` } : { 'aria-label': title }), children: [showHeader && (_jsxs("header", { children: [_jsxs("h3", { id: `uhcp-section-${code}`, children: [title, " ", _jsxs("span", { children: ["(", resources.length, ")"] })] }), actions] })), resources.length === 0
12
12
  ? _jsx("p", { className: "uhcp-clinical-empty", children: emptyLabel })
13
13
  : (_jsx("div", { className: "uhcp-clinical-grid", children: resources.map((resource) => (_jsxs("article", { className: "uhcp-clinical-card", "data-resource-type": resource.resourceType, children: [_jsx("p", { className: "uhcp-clinical-title", dir: "auto", children: _jsx("bdi", { children: resource.title }) }), _jsx("p", { className: "uhcp-clinical-type", children: resourceTypeLabel(resource.resourceType) }), resource.date && _jsx("p", { className: "uhcp-clinical-date", children: resource.date })] }, resource.key))) }))] }));
14
14
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uhc-portal-components-react",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Brand-neutral React portal shell, account preferences and protected-profile UI for UHC and VetChain portals.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",