@alfadocs/ui-kit 0.69.0 → 0.70.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/_chunks/{agenda-card-BxSFkqgY.js → agenda-card-BQ-IKAru.js} +2 -2
- package/dist/_chunks/{agenda-tray-g0kg7HwB.js → agenda-tray-CGXRk58j.js} +2 -2
- package/dist/_chunks/{ai-consent-banner-CXlsNX1c.js → ai-consent-banner-Be-h9mRI.js} +3 -3
- package/dist/_chunks/ai-tools-rail-B5NEghsp.js +511 -0
- package/dist/_chunks/{alert-_mUKLmwA.js → alert-CHYZ96tR.js} +150 -96
- package/dist/_chunks/{anamnesis-card-DRmE24OQ.js → anamnesis-card-DvYCa16e.js} +2 -2
- package/dist/_chunks/anatomy-scheme-CJB6dI6p.js +2445 -0
- package/dist/_chunks/annotation-marker-qt5R9WZX.js +120 -0
- package/dist/_chunks/{antenatal-schedule-timeline-35ebkcZT.js → antenatal-schedule-timeline-CwXrQRm1.js} +2 -2
- package/dist/_chunks/appointment-card-C06aZqA7.js +310 -0
- package/dist/_chunks/appointment-timeline-BJM0S_Fg.js +386 -0
- package/dist/_chunks/appointment-tray-DRRw5ROi.js +193 -0
- package/dist/_chunks/{audio-recorder-DYXXnGug.js → audio-recorder-Cpdk5qpQ.js} +2 -2
- package/dist/_chunks/{badge-CqGsX32l.js → badge-DCOqV9mI.js} +32 -27
- package/dist/_chunks/{bishop-score-PJI3AXzA.js → bishop-score-DnYWtZa_.js} +2 -2
- package/dist/_chunks/{bmi-calculator-BZtIJ53x.js → bmi-calculator-zjeY4E7J.js} +2 -2
- package/dist/_chunks/{booking-C3VqFReX.js → booking-DUBI0oqt.js} +4 -4
- package/dist/_chunks/{care-plan-card-CvFGXa2z.js → care-plan-card-C5sTfY9G.js} +5 -5
- package/dist/_chunks/{care-plan-entry-card-C3E_gClk.js → care-plan-entry-card-CXnxGCWA.js} +5 -5
- package/dist/_chunks/care-plan-header-BUwqDTtz.js +206 -0
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js +436 -0
- package/dist/_chunks/{contact-profile-card-Dramqa9C.js → contact-profile-card-DDPwRFiP.js} +2 -2
- package/dist/_chunks/control-room-rail-Y8ryLYsP.js +229 -0
- package/dist/_chunks/{cycle-calculator-DmRGJNaT.js → cycle-calculator-CCmPwcBl.js} +2 -2
- package/dist/_chunks/{dependent-selector-CG_FOHya.js → dependent-selector-DUV4thxX.js} +2 -2
- package/dist/_chunks/{document-scanner-CTubA0-N.js → document-scanner-C_AxLooF.js} +3 -3
- package/dist/_chunks/{due-date-calculator-BTmsIQqD.js → due-date-calculator-Brdj-euS.js} +3 -3
- package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +328 -0
- package/dist/_chunks/email-input-DJ7EXklP.js +397 -0
- package/dist/_chunks/{entity-card-COhmqHly.js → entity-card-9_62gY7l.js} +38 -20
- package/dist/_chunks/entity-summary-BxRjFh_4.js +138 -0
- package/dist/_chunks/{fetal-weight-CRz7KE2D.js → fetal-weight-DNCkyeVo.js} +2 -2
- package/dist/_chunks/field-value-NXYczdpO.js +415 -0
- package/dist/_chunks/{file-upload-5ScQd4fE.js → file-upload-DwZcAK8D.js} +2 -1
- package/dist/_chunks/{freemium-paywall-DZ2mBS3w.js → freemium-paywall-WYlNO7yT.js} +2 -2
- package/dist/_chunks/{gestational-age-calculator-BleUdhbI.js → gestational-age-calculator-CF2ISaYQ.js} +3 -3
- package/dist/_chunks/hash-CysBBS_N.js +17 -0
- package/dist/_chunks/{hcg-doubling-CnjDXX6U.js → hcg-doubling-C7bmuaU3.js} +2 -2
- package/dist/_chunks/{actions-cell-renderer-DrcaxB0w.js → link-cell-renderer-CTXqtXV-.js} +715 -592
- package/dist/_chunks/lock-CKOIn0IK.js +15 -0
- package/dist/_chunks/{marketplace-app-shell-6T9W4Knl.js → marketplace-app-shell-Skhfp6vK.js} +3 -3
- package/dist/_chunks/notes-panel-ay8_lPrA.js +158 -0
- package/dist/_chunks/{notification-card-BiESdm8q.js → notification-card-D2jiKSJJ.js} +27 -23
- package/dist/_chunks/{notification-tray-Btb9oQeZ.js → notification-tray-AEun6DN2.js} +2 -2
- package/dist/_chunks/{operator-hero-CP2Nhupm.js → operator-hero-CR0Rqh4-.js} +3 -3
- package/dist/_chunks/patient-details-Dlhqb5ig.js +675 -0
- package/dist/_chunks/{patient-search-CBC_ySF6.js → patient-search-Be6cLrHR.js} +2 -2
- package/dist/_chunks/patient-summary-card-WySCMwwA.js +437 -0
- package/dist/_chunks/patient-table-CHxf3Oqk.js +1110 -0
- package/dist/_chunks/{payment-form-DvjwYVIT.js → payment-form-CxqIXqw7.js} +2 -2
- package/dist/_chunks/{payment-request-card-DioWKBUq.js → payment-request-card-BcZJwu9z.js} +125 -136
- package/dist/_chunks/{pdf-viewer-D6BPfW2D.js → pdf-viewer-QfebdLOd.js} +192 -214
- package/dist/_chunks/{periodontal-chart-card-BuDEMbHE.js → periodontal-chart-card-hRRJY1NN.js} +2 -2
- package/dist/_chunks/{practice-results-KrTHqZua.js → practice-results-C6qDfxos.js} +3 -3
- package/dist/_chunks/{pregnancy-dating-DORUAOHB.js → pregnancy-dating-CRVWswD-.js} +3 -3
- package/dist/_chunks/{pregnancy-weight-gain-DVz4rr7-.js → pregnancy-weight-gain-BUNpTsH-.js} +2 -2
- package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +558 -0
- package/dist/_chunks/{rich-text-editor-BsV7zUdg.js → rich-text-editor-DlCqPixb.js} +410 -394
- package/dist/_chunks/{sign-document-B4DeRhTe.js → sign-document-By6hMOra.js} +2 -2
- package/dist/_chunks/{stepper-accordion-Dki6r9ZE.js → stepper-accordion-DC-H-8v4.js} +38 -48
- package/dist/_chunks/tab-bar-Bv9nGNdO.js +262 -0
- package/dist/_chunks/tooth-scheme-BhQoPNBD.js +2131 -0
- package/dist/_chunks/{transaction-chip-DK84XCBU.js → transaction-chip-CscoQbxF.js} +88 -61
- package/dist/_chunks/use-clamp-overflow-DQE2kwZ9.js +20 -0
- package/dist/_chunks/use-overflow-collapse-BIOzKbni.js +32 -0
- package/dist/_chunks/use-persistent-state-nZwZAnE9.js +24 -0
- package/dist/_chunks/{warning-stack-BsgaEbL8.js → warning-stack--sTrrBDA.js} +86 -101
- package/dist/_chunks/{workflow-map-Bdam9pGp.js → workflow-map-Dy8mLCqF.js} +3 -3
- package/dist/_chunks/zoom-out-CgVtf2Wx.js +29 -0
- package/dist/agent/index.js +5 -4
- package/dist/agent/types.d.ts +19 -2
- package/dist/agent-catalog.json +1253 -86
- package/dist/agent-i18n/en.json +108 -6
- package/dist/components/_shared/entity-card/entity-card.d.ts +6 -0
- package/dist/components/_shared/entity-card/index.d.ts +1 -1
- package/dist/components/_shared/field-value.d.ts +21 -0
- package/dist/components/_shared/field-visibility-cog.d.ts +20 -0
- package/dist/components/_shared/field-visibility.d.ts +36 -0
- package/dist/components/_shared/patient-fields.d.ts +119 -0
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-consent-banner/index.js +1 -1
- package/dist/components/ai-tools-rail/ai-tools-rail.d.ts +75 -0
- package/dist/components/ai-tools-rail/index.js +1 -1
- package/dist/components/alert/alert.d.ts +5 -0
- package/dist/components/alert/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +15 -0
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +20 -0
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +121 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +6 -0
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +69 -0
- package/dist/components/anatomy-scheme/index.d.ts +6 -0
- package/dist/components/anatomy-scheme/index.js +17 -0
- package/dist/components/annotation-marker/annotation-marker.d.ts +33 -0
- package/dist/components/annotation-marker/index.d.ts +3 -0
- package/dist/components/annotation-marker/index.js +7 -0
- package/dist/components/appointment-card/appointment-card.d.ts +25 -1
- package/dist/components/appointment-card/index.js +6 -5
- package/dist/components/appointment-timeline/appointment-timeline.agent.d.ts +4 -0
- package/dist/components/appointment-timeline/appointment-timeline.d.ts +66 -0
- package/dist/components/appointment-timeline/index.d.ts +4 -0
- package/dist/components/appointment-timeline/index.js +6 -0
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/badge/badge.d.ts +6 -2
- package/dist/components/badge/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/care-plan-header/care-plan-header.agent.d.ts +4 -0
- package/dist/components/care-plan-header/care-plan-header.d.ts +100 -0
- package/dist/components/care-plan-header/index.d.ts +4 -0
- package/dist/components/care-plan-header/index.js +6 -0
- package/dist/components/clinical-note-card/clinical-note-card.d.ts +21 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/control-room-rail/control-room-context.d.ts +53 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts +35 -0
- package/dist/components/control-room-rail/index.d.ts +5 -0
- package/dist/components/control-room-rail/index.js +9 -0
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/cell-renderers/actions-cell-renderer.d.ts +18 -0
- package/dist/components/data-table/index.d.ts +1 -1
- package/dist/components/data-table/index.js +32 -31
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/email-input/index.js +1 -1
- package/dist/components/entity-summary/entity-summary.d.ts +43 -0
- package/dist/components/entity-summary/index.d.ts +3 -0
- package/dist/components/entity-summary/index.js +5 -0
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/hcg-doubling/index.js +1 -1
- package/dist/components/index.d.ts +9 -0
- package/dist/components/notes-panel/index.d.ts +3 -0
- package/dist/components/notes-panel/index.js +5 -0
- package/dist/components/notes-panel/notes-panel.d.ts +64 -0
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/patient-details/index.d.ts +5 -0
- package/dist/components/patient-details/index.js +6 -0
- package/dist/components/patient-details/patient-details.agent.d.ts +4 -0
- package/dist/components/patient-details/patient-details.d.ts +96 -0
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-summary-card/patient-summary-card.d.ts +40 -1
- package/dist/components/patient-table/columns.d.ts +69 -40
- package/dist/components/patient-table/index.d.ts +2 -6
- package/dist/components/patient-table/index.js +8 -9
- package/dist/components/patient-table/patient-table.d.ts +38 -4
- package/dist/components/patient-table/types.d.ts +52 -2
- package/dist/components/patient-table/use-responsive-columns.d.ts +8 -6
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/payment-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/periodontal-chart-card/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/radiograph-panel/index.d.ts +4 -0
- package/dist/components/radiograph-panel/index.js +7 -0
- package/dist/components/radiograph-panel/radiograph-panel.agent.d.ts +13 -0
- package/dist/components/radiograph-panel/radiograph-panel.d.ts +36 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/tab-bar/index.js +1 -1
- package/dist/components/tab-bar/tab-bar.d.ts +18 -1
- package/dist/components/tooth-scheme/index.d.ts +2 -2
- package/dist/components/tooth-scheme/index.js +30 -23
- package/dist/components/tooth-scheme/tooth-data.d.ts +112 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +75 -11
- package/dist/components/transaction-chip/index.js +1 -1
- package/dist/components/transaction-chip/transaction-chip.d.ts +2 -2
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/warning-stack/warning-stack.d.ts +10 -7
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +24 -22
- package/dist/hooks/use-clamp-overflow.d.ts +19 -0
- package/dist/hooks/use-overflow-collapse.d.ts +46 -0
- package/dist/hooks/use-persistent-state.d.ts +7 -1
- package/dist/hooks/use-scroll-overflow.d.ts +36 -0
- package/dist/i18n/locales/ar.d.ts +308 -24
- package/dist/i18n/locales/ar.js +322 -27
- package/dist/i18n/locales/de.d.ts +308 -24
- package/dist/i18n/locales/de.js +322 -27
- package/dist/i18n/locales/el.d.ts +308 -24
- package/dist/i18n/locales/el.js +322 -27
- package/dist/i18n/locales/en.d.ts +309 -32
- package/dist/i18n/locales/en.js +323 -35
- package/dist/i18n/locales/es.d.ts +308 -24
- package/dist/i18n/locales/es.js +322 -27
- package/dist/i18n/locales/fr.d.ts +308 -24
- package/dist/i18n/locales/fr.js +322 -27
- package/dist/i18n/locales/hi.d.ts +308 -24
- package/dist/i18n/locales/hi.js +322 -27
- package/dist/i18n/locales/it.d.ts +308 -24
- package/dist/i18n/locales/it.js +322 -27
- package/dist/i18n/locales/ja.d.ts +308 -24
- package/dist/i18n/locales/ja.js +322 -27
- package/dist/i18n/locales/nl.d.ts +308 -24
- package/dist/i18n/locales/nl.js +322 -27
- package/dist/i18n/locales/pl.d.ts +308 -24
- package/dist/i18n/locales/pl.js +322 -27
- package/dist/i18n/locales/pt.d.ts +308 -24
- package/dist/i18n/locales/pt.js +322 -27
- package/dist/i18n/locales/ro.d.ts +308 -24
- package/dist/i18n/locales/ro.js +322 -27
- package/dist/i18n/locales/ru.d.ts +308 -24
- package/dist/i18n/locales/ru.js +322 -27
- package/dist/i18n/locales/sq.d.ts +308 -24
- package/dist/i18n/locales/sq.js +322 -27
- package/dist/i18n/locales/sv.d.ts +308 -24
- package/dist/i18n/locales/sv.js +322 -27
- package/dist/i18n/locales/tr.d.ts +308 -24
- package/dist/i18n/locales/tr.js +322 -27
- package/dist/i18n/locales/zh.d.ts +308 -24
- package/dist/i18n/locales/zh.js +322 -27
- package/dist/index.js +672 -623
- package/dist/locales/ar.json +311 -27
- package/dist/locales/de.json +311 -27
- package/dist/locales/el.json +311 -27
- package/dist/locales/en.json +311 -27
- package/dist/locales/es.json +311 -27
- package/dist/locales/fr.json +311 -27
- package/dist/locales/hi.json +311 -27
- package/dist/locales/it.json +311 -27
- package/dist/locales/ja.json +311 -27
- package/dist/locales/nl.json +311 -27
- package/dist/locales/pl.json +311 -27
- package/dist/locales/pt.json +311 -27
- package/dist/locales/ro.json +311 -27
- package/dist/locales/ru.json +311 -27
- package/dist/locales/sq.json +311 -27
- package/dist/locales/sv.json +311 -27
- package/dist/locales/tr.json +311 -27
- package/dist/locales/zh.json +311 -27
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +37 -1
- package/dist/_chunks/ai-tools-rail-BA_sqy1A.js +0 -373
- package/dist/_chunks/appointment-tray-CZtvtaH-.js +0 -431
- package/dist/_chunks/clinical-note-card-DqQYf_D4.js +0 -333
- package/dist/_chunks/editable-currency-cell-renderer-kgqp_mIw.js +0 -448
- package/dist/_chunks/email-input-B_Y55f5G.js +0 -396
- package/dist/_chunks/patient-summary-card-B836_fDB.js +0 -435
- package/dist/_chunks/patient-table-CDuosVru.js +0 -889
- package/dist/_chunks/tab-bar-B1ovILzh.js +0 -105
- package/dist/_chunks/tooth-scheme-yBr53cvv.js +0 -1330
- package/dist/_chunks/use-persistent-state-i23OWy6G.js +0 -24
- package/dist/components/patient-table/cell-renderers/contact-cell.d.ts +0 -45
- package/dist/components/patient-table/cell-renderers/patient-identity-cell.d.ts +0 -26
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { MarkerShape, MarkerTone } from '../annotation-marker';
|
|
2
|
+
/** Whole-body silhouette variant a body/muscular/skeletal view is drawn on. */
|
|
3
|
+
export type FigureVariant = 'adult-male' | 'adult-female' | 'child';
|
|
4
|
+
/** Organ / surface system a view belongs to — drives the practice-type fit. */
|
|
5
|
+
export type AnatomySystem = 'body' | 'face' | 'female-reproductive' | 'male-reproductive' | 'urinary' | 'muscular' | 'skeletal';
|
|
6
|
+
export type AnatomyViewId = string;
|
|
7
|
+
export type AnatomyMode = 'interactive' | 'display';
|
|
8
|
+
export type AnatomySide = 'left' | 'right' | 'midline';
|
|
9
|
+
/**
|
|
10
|
+
* Generic, specialty-agnostic finding type. Each maps to a distinct
|
|
11
|
+
* AnnotationMarker SHAPE so the chart never relies on colour alone; the tone is
|
|
12
|
+
* decorative reinforcement. Consumers label these per specialty (a "lesion" is
|
|
13
|
+
* a derm lesion, an ortho fracture site, a gynae cyst, …).
|
|
14
|
+
*/
|
|
15
|
+
export type FindingType = 'observation' | 'lesion' | 'pain' | 'treatment' | 'note';
|
|
16
|
+
export declare const FINDING_TYPES: FindingType[];
|
|
17
|
+
export declare const FINDING_MARKER: Record<FindingType, {
|
|
18
|
+
shape: MarkerShape;
|
|
19
|
+
tone: MarkerTone;
|
|
20
|
+
}>;
|
|
21
|
+
export interface AnatomyFinding {
|
|
22
|
+
type: FindingType;
|
|
23
|
+
/** Optional free-text clinical note. PHI — never bundle real notes in stories. */
|
|
24
|
+
note?: string;
|
|
25
|
+
}
|
|
26
|
+
/** Findings keyed by region id. */
|
|
27
|
+
export type AnatomyChart = Record<string, AnatomyFinding[]>;
|
|
28
|
+
export type RegionShape = {
|
|
29
|
+
kind: 'ellipse';
|
|
30
|
+
cx: number;
|
|
31
|
+
cy: number;
|
|
32
|
+
rx: number;
|
|
33
|
+
ry: number;
|
|
34
|
+
} | {
|
|
35
|
+
kind: 'rect';
|
|
36
|
+
x: number;
|
|
37
|
+
y: number;
|
|
38
|
+
w: number;
|
|
39
|
+
h: number;
|
|
40
|
+
r?: number;
|
|
41
|
+
} | {
|
|
42
|
+
kind: 'polygon';
|
|
43
|
+
points: Array<[number, number]>;
|
|
44
|
+
} | {
|
|
45
|
+
kind: 'path';
|
|
46
|
+
d: string;
|
|
47
|
+
fillRule?: 'evenodd';
|
|
48
|
+
};
|
|
49
|
+
export interface AnatomyRegion {
|
|
50
|
+
/** Stable id, unique within a view — the finding key + `data-region`. */
|
|
51
|
+
id: string;
|
|
52
|
+
/** i18n key suffix under `anatomyScheme.region.*`. */
|
|
53
|
+
labelKey: string;
|
|
54
|
+
system: AnatomySystem;
|
|
55
|
+
shape: RegionShape;
|
|
56
|
+
/** Bilateral side, where meaningful (drives "left/right" in the label). */
|
|
57
|
+
side?: AnatomySide;
|
|
58
|
+
/** Optional grouping (e.g. 'upper-limb', 'internal', 'external'). */
|
|
59
|
+
group?: string;
|
|
60
|
+
/** Marker anchor; defaults to the shape centroid. */
|
|
61
|
+
marker?: {
|
|
62
|
+
x: number;
|
|
63
|
+
y: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
export interface AnatomyView {
|
|
67
|
+
id: AnatomyViewId;
|
|
68
|
+
system: AnatomySystem;
|
|
69
|
+
/** i18n key suffix under `anatomyScheme.view.*`. */
|
|
70
|
+
labelKey: string;
|
|
71
|
+
/** Body silhouette this view is drawn on, when applicable. */
|
|
72
|
+
figure?: FigureVariant;
|
|
73
|
+
viewBox: string;
|
|
74
|
+
/** Decorative silhouette/outline drawn behind the regions (`aria-hidden`). */
|
|
75
|
+
silhouette?: string;
|
|
76
|
+
/** Optional SVG transform applied to the regions group (and the silhouette,
|
|
77
|
+
* unless `silhouetteTransform` overrides it). */
|
|
78
|
+
transform?: string;
|
|
79
|
+
/** Optional separate transform for the silhouette (head) group — lets the
|
|
80
|
+
* child figure carry a proportionally larger head than its scaled-down body. */
|
|
81
|
+
silhouetteTransform?: string;
|
|
82
|
+
/** Filled feature layer drawn over the silhouette, under the stroke detail
|
|
83
|
+
* (`aria-hidden`): the solid brows / eyelids / irises / lips that give a drawn
|
|
84
|
+
* face its weight. Painted with `--muted-foreground`. Shares the silhouette's
|
|
85
|
+
* transform group. */
|
|
86
|
+
silhouetteInk?: string;
|
|
87
|
+
/** Stroke-only feature layer drawn over the filled silhouette (`aria-hidden`):
|
|
88
|
+
* the line-art hairline / nose / ears / lower-lids of a drawn face. Shares the
|
|
89
|
+
* silhouette's transform group. */
|
|
90
|
+
silhouetteDetail?: string;
|
|
91
|
+
/** When true, the view's regions render as transparent click hotspots (tinting
|
|
92
|
+
* only on hover / focus / finding) rather than filled schematic shapes — used
|
|
93
|
+
* when a detailed `silhouette` already carries the drawing, so the zones don't
|
|
94
|
+
* cover it. Implied when a realistic illustration is loaded. */
|
|
95
|
+
hotspotZones?: boolean;
|
|
96
|
+
regions: AnatomyRegion[];
|
|
97
|
+
}
|
|
98
|
+
export declare function regionCentroid(region: AnatomyRegion): {
|
|
99
|
+
x: number;
|
|
100
|
+
y: number;
|
|
101
|
+
};
|
|
102
|
+
export declare const ANATOMY_VIEWS: Record<AnatomyViewId, AnatomyView>;
|
|
103
|
+
export declare function getView(id: AnatomyViewId): AnatomyView | undefined;
|
|
104
|
+
export declare function viewsForSystem(system: AnatomySystem): AnatomyView[];
|
|
105
|
+
export declare function getRegion(viewId: AnatomyViewId, regionId: string): AnatomyRegion | undefined;
|
|
106
|
+
/** Default view shown when only a `system` is given. */
|
|
107
|
+
export declare const DEFAULT_VIEW_FOR_SYSTEM: Record<AnatomySystem, AnatomyViewId>;
|
|
108
|
+
/**
|
|
109
|
+
* Pick a body figure from patient demographics — mirrors the platform's
|
|
110
|
+
* `getDefaultFigureVariant(gender, age)`. Pure heuristic; the host can override
|
|
111
|
+
* with the explicit `figure` prop.
|
|
112
|
+
*/
|
|
113
|
+
export declare function figureFromPatient(sex: 'm' | 'f' | 'x' | undefined, ageYears: number | undefined): FigureVariant;
|
|
114
|
+
/**
|
|
115
|
+
* Practice-branch → the systems whose views that branch typically charts.
|
|
116
|
+
* Mirrors `PracticeBranch.php`; consumed by demos and the (future) preset
|
|
117
|
+
* editor to seed the available views. Not exhaustive — a branch can enable any.
|
|
118
|
+
*/
|
|
119
|
+
export declare const SYSTEMS_FOR_BRANCH: Record<string, AnatomySystem[]>;
|
|
120
|
+
export declare function emptyChart(): AnatomyChart;
|
|
121
|
+
//# sourceMappingURL=anatomy-scheme-data.d.ts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { AgentAdapter } from '../../agent/types';
|
|
2
|
+
import type { AnatomySchemeHandle } from './anatomy-scheme';
|
|
3
|
+
import type { FindingType } from './anatomy-scheme-data';
|
|
4
|
+
export declare const anatomySchemeAgent: AgentAdapter<AnatomySchemeHandle>;
|
|
5
|
+
export type { FindingType };
|
|
6
|
+
//# sourceMappingURL=anatomy-scheme.agent.d.ts.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type AnatomyChart, type AnatomyFinding, type AnatomyMode, type AnatomySystem, type AnatomyViewId, type FigureVariant, type FindingType } from './anatomy-scheme-data';
|
|
2
|
+
export interface AnatomySchemeProps {
|
|
3
|
+
/** Opaque instance id — emitted as `data-component-id` for the agent registry. */
|
|
4
|
+
id?: string;
|
|
5
|
+
/** Organ / surface system to chart. Default `'body'`. */
|
|
6
|
+
system?: AnatomySystem;
|
|
7
|
+
/** Body silhouette variant (body/muscular/skeletal systems). */
|
|
8
|
+
figure?: FigureVariant;
|
|
9
|
+
/**
|
|
10
|
+
* Explicit view ids to expose. When more than one, they render as tabs.
|
|
11
|
+
* Defaults to every view of `system` (filtered to `figure` for body systems).
|
|
12
|
+
*/
|
|
13
|
+
views?: AnatomyViewId[];
|
|
14
|
+
/** `'interactive'` enables region selection + finding edits; `'display'` is read-only. */
|
|
15
|
+
mode?: AnatomyMode;
|
|
16
|
+
/** Controlled findings — `Record<regionId, AnatomyFinding[]>`. */
|
|
17
|
+
value?: AnatomyChart;
|
|
18
|
+
/** Uncontrolled initial findings. */
|
|
19
|
+
defaultValue?: AnatomyChart;
|
|
20
|
+
/** Fired whenever the chart changes. */
|
|
21
|
+
onChange?: (next: AnatomyChart) => void;
|
|
22
|
+
/** Fired when a region is activated (click / Enter / Space / focus-select). */
|
|
23
|
+
onSelectRegion?: (regionId: string, viewId: AnatomyViewId) => void;
|
|
24
|
+
/**
|
|
25
|
+
* The finding type a region-click applies in interactive mode (the selected
|
|
26
|
+
* tool in a finding picker). Clicking a region toggles this finding.
|
|
27
|
+
*/
|
|
28
|
+
activeFinding?: FindingType;
|
|
29
|
+
/** Show the finding-type legend below the figure. Default `false`. */
|
|
30
|
+
legend?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Base URL for realistic anatomical illustrations, served per-view as
|
|
33
|
+
* `${illustrationBaseUrl}/${viewId}.svg` (e.g. `…/female-reproductive.svg`).
|
|
34
|
+
* When set, each view renders that illustration as the figure and the regions
|
|
35
|
+
* become transparent CLICK HOTSPOTS layered over it; when unset, the kit's
|
|
36
|
+
* built-in schematic silhouette is the fallback. The art is NOT bundled in
|
|
37
|
+
* the kit — host it (CDN) and pass the base here, mirroring `ToothScheme`'s
|
|
38
|
+
* `assetBaseUrl`. Trusted developer-controlled value, interpolated into an SVG
|
|
39
|
+
* `<image href>` (which cannot execute scripts). Sourcing + licensing +
|
|
40
|
+
* attribution live in `ANATOMY-ASSETS.md`.
|
|
41
|
+
*/
|
|
42
|
+
illustrationBaseUrl?: string;
|
|
43
|
+
/** Accessible label override for the chart region. */
|
|
44
|
+
ariaLabel?: string;
|
|
45
|
+
/** Extra class names on the wrapper. */
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
export interface AnatomySchemeHandle {
|
|
49
|
+
/** Programmatically focus a region by id (in the active view). */
|
|
50
|
+
focusRegion: (regionId: string) => void;
|
|
51
|
+
/** Read the current chart state. */
|
|
52
|
+
getChart: () => AnatomyChart;
|
|
53
|
+
/** Read the findings recorded on one region (empty array if none). */
|
|
54
|
+
getRegion: (regionId: string) => AnatomyFinding[];
|
|
55
|
+
/** Read the region ids carrying a given finding type. */
|
|
56
|
+
regionsWith: (type: FindingType) => string[];
|
|
57
|
+
/** Add a finding to a region (no-op if already present). */
|
|
58
|
+
setFinding: (regionId: string, type: FindingType, note?: string) => void;
|
|
59
|
+
/** Remove a finding type from a region (no-op if absent). */
|
|
60
|
+
removeFinding: (regionId: string, type: FindingType) => void;
|
|
61
|
+
/** Clear every finding from a region. */
|
|
62
|
+
clearRegion: (regionId: string) => void;
|
|
63
|
+
/** Switch the active view. */
|
|
64
|
+
setView: (viewId: AnatomyViewId) => void;
|
|
65
|
+
/** Read the active view id. */
|
|
66
|
+
getView: () => AnatomyViewId;
|
|
67
|
+
}
|
|
68
|
+
export declare const AnatomyScheme: import("react").ForwardRefExoticComponent<AnatomySchemeProps & import("react").RefAttributes<AnatomySchemeHandle>>;
|
|
69
|
+
//# sourceMappingURL=anatomy-scheme.d.ts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { AnatomyScheme } from './anatomy-scheme';
|
|
2
|
+
export type { AnatomySchemeProps, AnatomySchemeHandle } from './anatomy-scheme';
|
|
3
|
+
export { ANATOMY_VIEWS, DEFAULT_VIEW_FOR_SYSTEM, SYSTEMS_FOR_BRANCH, FINDING_TYPES, FINDING_MARKER, getView, viewsForSystem, getRegion, regionCentroid, figureFromPatient, emptyChart as emptyAnatomyChart, } from './anatomy-scheme-data';
|
|
4
|
+
export type { AnatomySystem, AnatomyViewId, AnatomyView, AnatomyRegion, AnatomyChart, AnatomyFinding, AnatomyMode, AnatomySide, FigureVariant, FindingType, RegionShape, } from './anatomy-scheme-data';
|
|
5
|
+
export { anatomySchemeAgent } from './anatomy-scheme.agent';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { A as s, a as t, D as S, F as o, b as m, S as r, c as A, e as n, f as F, g as _, d as g, r as i, v as E } from "../../_chunks/anatomy-scheme-CJB6dI6p.js";
|
|
2
|
+
export {
|
|
3
|
+
s as ANATOMY_VIEWS,
|
|
4
|
+
t as AnatomyScheme,
|
|
5
|
+
S as DEFAULT_VIEW_FOR_SYSTEM,
|
|
6
|
+
o as FINDING_MARKER,
|
|
7
|
+
m as FINDING_TYPES,
|
|
8
|
+
r as SYSTEMS_FOR_BRANCH,
|
|
9
|
+
A as anatomySchemeAgent,
|
|
10
|
+
n as emptyAnatomyChart,
|
|
11
|
+
F as figureFromPatient,
|
|
12
|
+
_ as getRegion,
|
|
13
|
+
g as getView,
|
|
14
|
+
i as regionCentroid,
|
|
15
|
+
E as viewsForSystem
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
export type MarkerShape = 'circle' | 'square' | 'triangle' | 'diamond' | 'cross';
|
|
4
|
+
export type MarkerTone = 'neutral' | 'info' | 'success' | 'warning' | 'error' | 'accent';
|
|
5
|
+
export declare const MARKER_SHAPES: MarkerShape[];
|
|
6
|
+
/**
|
|
7
|
+
* SVG path `d` for a marker shape centred at `(cx, cy)` with radius `r`,
|
|
8
|
+
* in the parent SVG's own user units. Pure — no React, no DOM. AnatomyScheme
|
|
9
|
+
* draws its finding overlay with this exact function so the figure overlay and
|
|
10
|
+
* the standalone glyph stay visually identical.
|
|
11
|
+
*/
|
|
12
|
+
export declare function markerPath(shape: MarkerShape, cx: number, cy: number, r: number): string;
|
|
13
|
+
declare const wrapperVariants: (props?: ({
|
|
14
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
15
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
+
export interface AnnotationMarkerProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'>, VariantProps<typeof wrapperVariants> {
|
|
17
|
+
/** Shape of the marker — the accessible channel (never colour alone). */
|
|
18
|
+
shape: MarkerShape;
|
|
19
|
+
/** Semantic tone. Decorative reinforcement of the shape, not the meaning. */
|
|
20
|
+
tone?: MarkerTone;
|
|
21
|
+
/** Fill the shape (default) or draw it as an outline. */
|
|
22
|
+
filled?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Accessible name. Required for an icon-only marker (no `label`); when `label`
|
|
25
|
+
* text is shown, this overrides the visible text for assistive tech.
|
|
26
|
+
*/
|
|
27
|
+
'aria-label'?: string;
|
|
28
|
+
/** Optional visible label rendered after the glyph (e.g. in a legend). */
|
|
29
|
+
label?: ReactNode;
|
|
30
|
+
}
|
|
31
|
+
export declare const AnnotationMarker: import("react").ForwardRefExoticComponent<AnnotationMarkerProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=annotation-marker.d.ts.map
|
|
@@ -60,8 +60,18 @@ export interface AppointmentItem {
|
|
|
60
60
|
firstVisit?: AppointmentFirstVisit;
|
|
61
61
|
/** Assigned operator. */
|
|
62
62
|
operator?: AppointmentOperator;
|
|
63
|
-
/** Chair / room label. */
|
|
63
|
+
/** Chair / room label — surfaced as a chip. */
|
|
64
64
|
chair?: string;
|
|
65
|
+
/**
|
|
66
|
+
* The care plan this appointment belongs to, when any — surfaced as a chip
|
|
67
|
+
* (`Care plan {number}`). `url` is the deep link the consumer may use for
|
|
68
|
+
* navigation; the chip itself is non-interactive so it never nests an anchor
|
|
69
|
+
* inside the row's own stretched link.
|
|
70
|
+
*/
|
|
71
|
+
carePlan?: {
|
|
72
|
+
number: string;
|
|
73
|
+
url?: string;
|
|
74
|
+
};
|
|
65
75
|
/** Patient identity. */
|
|
66
76
|
patient?: AppointmentPatient;
|
|
67
77
|
/** Treatment lines. */
|
|
@@ -76,16 +86,30 @@ export interface AppointmentItem {
|
|
|
76
86
|
declare const appointmentCardVariants: (props?: ({
|
|
77
87
|
size?: "sm" | "md" | null | undefined;
|
|
78
88
|
interactive?: boolean | null | undefined;
|
|
89
|
+
surface?: "flat" | "elevated" | null | undefined;
|
|
79
90
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
80
91
|
export interface AppointmentCardProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onClick' | 'role' | 'title'>, VariantProps<typeof appointmentCardVariants> {
|
|
81
92
|
/** The appointment to render. */
|
|
82
93
|
item: AppointmentItem;
|
|
83
94
|
/** Visual density. */
|
|
84
95
|
size?: 'sm' | 'md';
|
|
96
|
+
/**
|
|
97
|
+
* `'flat'` (default) — chrome-less row for use inside a bordered
|
|
98
|
+
* `AppointmentTray`. `'elevated'` — each row carries its own card chrome
|
|
99
|
+
* (border + shadow), for placing rows directly on a rail (AppointmentTimeline).
|
|
100
|
+
*/
|
|
101
|
+
surface?: 'flat' | 'elevated';
|
|
85
102
|
/** BCP-47 locale override for the timestamp + currency. */
|
|
86
103
|
locale?: string;
|
|
87
104
|
/** ISO-4217 currency code for the advance-deposit chip. Defaults to `EUR`. */
|
|
88
105
|
currency?: string;
|
|
106
|
+
/**
|
|
107
|
+
* Show the patient identity (avatar + name as the row title). Default `true`.
|
|
108
|
+
* Set `false` in single-patient surfaces (e.g. a patient's own
|
|
109
|
+
* `AppointmentTimeline`) where repeating the name is redundant — the row then
|
|
110
|
+
* leads with the operator as its title, falling back to a generic label.
|
|
111
|
+
*/
|
|
112
|
+
showPatient?: boolean;
|
|
89
113
|
/** Fires when the row is activated. */
|
|
90
114
|
onActivate?: (item: AppointmentItem) => void;
|
|
91
115
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { A as
|
|
1
|
+
import { A as p } from "../../_chunks/appointment-card-C06aZqA7.js";
|
|
2
|
+
import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-DRRw5ROi.js";
|
|
2
3
|
import { i } from "../../_chunks/is-safe-url-DkETxeHz.js";
|
|
3
4
|
export {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
p as AppointmentCard,
|
|
6
|
+
e as AppointmentTray,
|
|
7
|
+
o as appointmentCardAgent,
|
|
8
|
+
r as appointmentTrayAgent,
|
|
8
9
|
i as isSafeAppointmentUrl
|
|
9
10
|
};
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentAdapter } from '../../agent/types';
|
|
2
|
+
import type { AppointmentTimelineHandle } from './appointment-timeline';
|
|
3
|
+
export declare const appointmentTimelineAgent: AgentAdapter<AppointmentTimelineHandle>;
|
|
4
|
+
//# sourceMappingURL=appointment-timeline.agent.d.ts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { type AppointmentItem } from '../appointment-card';
|
|
4
|
+
/** Curated imperative handle — identifiers + lifecycle state only. */
|
|
5
|
+
export interface AppointmentTimelineHandle {
|
|
6
|
+
getItems: () => Array<{
|
|
7
|
+
id: string;
|
|
8
|
+
state: string;
|
|
9
|
+
}>;
|
|
10
|
+
selectItem: (id: string) => void;
|
|
11
|
+
jumpToToday: () => void;
|
|
12
|
+
}
|
|
13
|
+
export interface AppointmentTimelineProps extends Omit<HTMLAttributes<HTMLElement>, 'onClick' | 'id' | 'title'> {
|
|
14
|
+
/** Stable instance id, surfaced as `data-component-id`. */
|
|
15
|
+
id?: string;
|
|
16
|
+
/** Appointments to render — any order; grouped + sorted internally. */
|
|
17
|
+
items: AppointmentItem[];
|
|
18
|
+
/**
|
|
19
|
+
* ISO-8601 "now" anchor — the timeline scrolls to this day on mount and the
|
|
20
|
+
* "Today" preset returns to it. Defaults to the current instant. Stories pass
|
|
21
|
+
* a fixed value for deterministic snapshots.
|
|
22
|
+
*/
|
|
23
|
+
nowIso?: string;
|
|
24
|
+
/** Panel heading. Defaults to the localised "Appointments". */
|
|
25
|
+
title?: string;
|
|
26
|
+
/** BCP-47 locale override for day headers + each AppointmentCard. */
|
|
27
|
+
locale?: string;
|
|
28
|
+
/** ISO-4217 currency code passed to each AppointmentCard. */
|
|
29
|
+
currency?: string;
|
|
30
|
+
/** Visual density passed to each AppointmentCard. */
|
|
31
|
+
size?: 'sm' | 'md';
|
|
32
|
+
/** Fires when a row is activated. */
|
|
33
|
+
onOpenAppointment?: (item: AppointmentItem) => void;
|
|
34
|
+
/** Load earlier (past) appointments — fired when the top edge is reached. */
|
|
35
|
+
onLoadEarlier?: () => void;
|
|
36
|
+
/** Load later (future) appointments — fired when the bottom edge is reached. */
|
|
37
|
+
onLoadLater?: () => void;
|
|
38
|
+
/** Whether more past appointments exist. Defaults to `true` when `onLoadEarlier` is set. */
|
|
39
|
+
hasMoreEarlier?: boolean;
|
|
40
|
+
/** Whether more future appointments exist. Defaults to `true` when `onLoadLater` is set. */
|
|
41
|
+
hasMoreLater?: boolean;
|
|
42
|
+
/** Show a loading row at the top edge. */
|
|
43
|
+
loadingEarlier?: boolean;
|
|
44
|
+
/** Show a loading row at the bottom edge. */
|
|
45
|
+
loadingLater?: boolean;
|
|
46
|
+
/** Show the date-filter row (presets + jump-to-date). Default `true`. */
|
|
47
|
+
showFilters?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Fired when a jump-to-date / preset targets a day outside the loaded range,
|
|
50
|
+
* so the consumer can load it. The timeline scrolls to the nearest rendered
|
|
51
|
+
* day until then.
|
|
52
|
+
*/
|
|
53
|
+
onJumpToDate?: (dateIso: string) => void;
|
|
54
|
+
emptyTitle?: string;
|
|
55
|
+
emptyDescription?: string;
|
|
56
|
+
/** Accessible name for the panel region (defaults to `title`). */
|
|
57
|
+
'aria-label'?: string;
|
|
58
|
+
}
|
|
59
|
+
declare const rootVariants: (props?: ({
|
|
60
|
+
size?: "sm" | "md" | null | undefined;
|
|
61
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
62
|
+
export declare const AppointmentTimeline: import("react").ForwardRefExoticComponent<AppointmentTimelineProps & import("react").RefAttributes<HTMLElement>>;
|
|
63
|
+
/** Re-export of the size variant union for downstream typing. */
|
|
64
|
+
export type AppointmentTimelineSize = NonNullable<VariantProps<typeof rootVariants>['size']>;
|
|
65
|
+
export {};
|
|
66
|
+
//# sourceMappingURL=appointment-timeline.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { AppointmentTimeline } from './appointment-timeline';
|
|
2
|
+
export type { AppointmentTimelineProps, AppointmentTimelineHandle, AppointmentTimelineSize, } from './appointment-timeline';
|
|
3
|
+
export { appointmentTimelineAgent } from './appointment-timeline.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "error" | "neutral" | "info" | "success" | "warning" | "brand" | "accent" | null | undefined;
|
|
4
|
+
variant?: "error" | "neutral" | "info" | "success" | "warning" | "brand" | "accent" | "accentSoft" | null | undefined;
|
|
5
5
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
6
|
shape?: "pill" | "rectangular" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -12,7 +12,11 @@ export interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, Varia
|
|
|
12
12
|
withDot?: boolean;
|
|
13
13
|
/** Truncate long text with ellipsis + tooltip showing full text */
|
|
14
14
|
truncate?: boolean;
|
|
15
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* For icon-only badges, provides the accessible name. For count (numeric)
|
|
17
|
+
* badges, overrides the default "{count} notifications" screen-reader label
|
|
18
|
+
* so a non-notification count reads correctly (e.g. `aria-label="4 treatments"`).
|
|
19
|
+
*/
|
|
16
20
|
'aria-label'?: string;
|
|
17
21
|
}
|
|
18
22
|
export declare const Badge: import("react").ForwardRefExoticComponent<BadgeProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as m } from "../../_chunks/bmi-calculator-
|
|
1
|
+
import { B as m } from "../../_chunks/bmi-calculator-zjeY4E7J.js";
|
|
2
2
|
import { b as e, a as t, c as r, d as T, e as c, f as i, i as b, k as n, l as f } from "../../_chunks/bmi-BxD-tFzU.js";
|
|
3
3
|
export {
|
|
4
4
|
m as BmiCalculator,
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactElement, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { entitySurfaceVariants, type CarePlanState } from '../_shared/entity-card';
|
|
4
|
+
export type { CarePlanState } from '../_shared/entity-card';
|
|
5
|
+
/** Heading element the plan name / number renders as. */
|
|
6
|
+
export type CarePlanHeaderHeadingTag = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
|
|
7
|
+
/** Tone of an attention alert chip → the Badge variant it paints with. */
|
|
8
|
+
export type CarePlanHeaderAlertTone = 'warning' | 'error' | 'info';
|
|
9
|
+
/**
|
|
10
|
+
* One attention alert shown as a chip beneath the heading — e.g. a missing
|
|
11
|
+
* signature, an expired estimate. The kit owns the chip; the consumer owns the
|
|
12
|
+
* (already-localised) label and the meaning.
|
|
13
|
+
*/
|
|
14
|
+
export interface CarePlanHeaderAlert {
|
|
15
|
+
/** Stable key — identifier only, never PHI. Keys the chip + agent count. */
|
|
16
|
+
id: string;
|
|
17
|
+
/** Already-localised label (consumer-provided). */
|
|
18
|
+
label: ReactNode;
|
|
19
|
+
/** Severity tone. Defaults to `warning`. */
|
|
20
|
+
tone?: CarePlanHeaderAlertTone;
|
|
21
|
+
/** Optional leading glyph (a single lucide element). */
|
|
22
|
+
icon?: ReactElement;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* One meta fact in the footer strip — operator, price list, referrer, …. The
|
|
26
|
+
* label is consumer-localised; the value is any node (text, an Avatar + name,
|
|
27
|
+
* a Link). Rendered through the shared `KeyValuePair`.
|
|
28
|
+
*/
|
|
29
|
+
export interface CarePlanHeaderMetaItem {
|
|
30
|
+
/** Stable key — identifier only, never PHI. */
|
|
31
|
+
id: string;
|
|
32
|
+
/** Already-localised label (consumer-provided). */
|
|
33
|
+
label: string;
|
|
34
|
+
/** Value node. */
|
|
35
|
+
value: ReactNode;
|
|
36
|
+
/** Optional leading glyph for the pair (a single lucide element). */
|
|
37
|
+
icon?: ReactElement | null;
|
|
38
|
+
}
|
|
39
|
+
/** Lifecycle dates — each an ISO-8601 string, rendered via `Timestamp`. */
|
|
40
|
+
export interface CarePlanHeaderDates {
|
|
41
|
+
/** Acceptance date. */
|
|
42
|
+
acceptedIso?: string;
|
|
43
|
+
/** Closure date. */
|
|
44
|
+
closedIso?: string;
|
|
45
|
+
/** Discard date. */
|
|
46
|
+
discardedIso?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Imperative handle the agent adapter drives. Reads only structural state —
|
|
50
|
+
* the lifecycle enum and the count of alerts. Never the plan name, the meta
|
|
51
|
+
* values, or any patient identity.
|
|
52
|
+
*/
|
|
53
|
+
export interface CarePlanHeaderHandle {
|
|
54
|
+
/** The plan lifecycle state (enum, never the localised label). */
|
|
55
|
+
getState: () => CarePlanState;
|
|
56
|
+
/** How many attention alerts are showing. */
|
|
57
|
+
getAlertCount: () => number;
|
|
58
|
+
}
|
|
59
|
+
export interface CarePlanHeaderProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
60
|
+
/** Agent-readiness instance id, surfaced as `data-component-id`. */
|
|
61
|
+
id?: string;
|
|
62
|
+
/** Plan number — rendered in the eyebrow (or as the heading when no `name`). */
|
|
63
|
+
number: string | number;
|
|
64
|
+
/**
|
|
65
|
+
* Override the eyebrow's plan-number label (e.g. a consumer's own
|
|
66
|
+
* `Plan #15`). Defaults to the localised `Care plan {{number}}` shared with
|
|
67
|
+
* `CarePlanCard`, so the two surfaces read alike unless a consumer opts out.
|
|
68
|
+
*/
|
|
69
|
+
numberLabel?: ReactNode;
|
|
70
|
+
/** Plan name — the title heading. Omit for a number-only header. */
|
|
71
|
+
name?: ReactNode;
|
|
72
|
+
/** Lifecycle state — drives the badge variant + localised label. */
|
|
73
|
+
state: CarePlanState;
|
|
74
|
+
/** Deep link for the heading. Rendered only when it passes the safe-URL gate. */
|
|
75
|
+
url?: string;
|
|
76
|
+
/** Attention alerts (e.g. signature missing) shown as chips under the heading. */
|
|
77
|
+
alerts?: CarePlanHeaderAlert[];
|
|
78
|
+
/** Consumer-labelled meta facts (operator, price list, …) in the footer. */
|
|
79
|
+
meta?: CarePlanHeaderMetaItem[];
|
|
80
|
+
/** Lifecycle dates rendered as a muted `Timestamp` line. */
|
|
81
|
+
dates?: CarePlanHeaderDates;
|
|
82
|
+
/** Inline-end actions slot (e.g. Share / Print). */
|
|
83
|
+
actions?: ReactNode;
|
|
84
|
+
/** Heading element the name / number renders as. Defaults to `h3`. */
|
|
85
|
+
headingTag?: CarePlanHeaderHeadingTag;
|
|
86
|
+
/** `elevated` (default) paints the kit card chrome; `flat` drops it. */
|
|
87
|
+
surface?: 'flat' | 'elevated';
|
|
88
|
+
/** Internal padding density. Defaults to `comfortable`. */
|
|
89
|
+
density?: 'comfortable' | 'compact';
|
|
90
|
+
/** BCP-47 locale override for the dates. Defaults to `i18n.language`. */
|
|
91
|
+
locale?: string;
|
|
92
|
+
/** Fires when the plan deep link / heading is activated. */
|
|
93
|
+
onActivate?: () => void;
|
|
94
|
+
/** Accessible name override for the plan region (defaults to the heading). */
|
|
95
|
+
'aria-label'?: string;
|
|
96
|
+
}
|
|
97
|
+
export declare const CarePlanHeader: import("react").ForwardRefExoticComponent<CarePlanHeaderProps & import("react").RefAttributes<HTMLElement>>;
|
|
98
|
+
/** Surface variant union re-exported for downstream typing. */
|
|
99
|
+
export type CarePlanHeaderSurface = NonNullable<VariantProps<typeof entitySurfaceVariants>['surface']>;
|
|
100
|
+
//# sourceMappingURL=care-plan-header.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { CarePlanHeader } from './care-plan-header';
|
|
2
|
+
export type { CarePlanHeaderProps, CarePlanHeaderHandle, CarePlanHeaderSurface, CarePlanHeaderHeadingTag, CarePlanHeaderAlert, CarePlanHeaderAlertTone, CarePlanHeaderMetaItem, CarePlanHeaderDates, } from './care-plan-header';
|
|
3
|
+
export { carePlanHeaderAgent } from './care-plan-header.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|