@alfadocs/ui-kit 1.36.0 → 1.37.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/appointment-peek-5S4O1VQP.js +115 -0
- package/dist/_chunks/appointment-peek.agent-C539tNFM.js +17 -0
- package/dist/_chunks/building-2-D33bLCWL.js +24 -0
- package/dist/_chunks/calendar-workspace-BqKBj26r.js +9715 -0
- package/dist/_chunks/{control-room-rail-Ds45_g4f.js → control-room-rail-DQoHdE1U.js} +2 -2
- package/dist/_chunks/editable-description-BOfAeY3T.js +112 -0
- package/dist/_chunks/editable-description.agent-Bm_LBV2j.js +21 -0
- package/dist/_chunks/{money.agent-Dw55UxUA.js → money-BY-HmKhZ.js} +33 -47
- package/dist/_chunks/money.agent-BjJ6gOkx.js +17 -0
- package/dist/_chunks/notes-panel-4y5JioWN.js +556 -0
- package/dist/_chunks/panel-subview-BNXN8OEL.js +160 -0
- package/dist/_chunks/panel-subview.agent-BIBvE-IW.js +17 -0
- package/dist/_chunks/{patient-details-f7SSXkTJ.js → patient-details-2cIaL-Zb.js} +2 -2
- package/dist/_chunks/{patient-field-row-BQZoP4m2.js → patient-field-row-IHb2VFc2.js} +193 -172
- package/dist/_chunks/{patient-summary-card-Bz7KdUin.js → patient-summary-card-BzmJH9a-.js} +2 -2
- package/dist/_chunks/{section-card.agent-W18CHEgX.js → section-card-XR2bW1Ie.js} +20 -34
- package/dist/_chunks/section-card.agent-Bz1BhM_j.js +17 -0
- package/dist/_chunks/smartphone-DaPcFw-X.js +32 -0
- package/dist/_chunks/{task-card-BalrLkSz.js → task-card-qTKD1fIT.js} +39 -57
- package/dist/_chunks/{task-tray-wl9eti6J.js → task-tray-CQ8UAR2j.js} +2 -2
- package/dist/_chunks/{tasks-panel-BDNB7hsZ.js → tasks-panel-CBGMtQ_f.js} +2 -2
- package/dist/_chunks/{tool-rail-Bq5eiFMG.js → tool-rail-BP8sjxCw.js} +310 -231
- package/dist/_chunks/treatment-receipt-D4kOLXOk.js +94 -0
- package/dist/_chunks/treatment-receipt.agent-bpFm2RPH.js +21 -0
- package/dist/_chunks/use-presence-transition-cDwWUXV-.js +58 -0
- package/dist/_chunks/{workflow-map-D-LEni11.js → workflow-map-CXdsxvUj.js} +140 -156
- package/dist/agent-catalog.json +65 -1
- package/dist/components/appointment-peek/appointment-peek.agent.d.ts +3 -0
- package/dist/components/appointment-peek/appointment-peek.d.ts +45 -0
- package/dist/components/appointment-peek/index.d.ts +4 -0
- package/dist/components/appointment-peek/index.js +7 -0
- package/dist/components/control-room-rail/index.js +1 -1
- package/dist/components/editable-description/editable-description.agent.d.ts +3 -0
- package/dist/components/editable-description/editable-description.d.ts +20 -0
- package/dist/components/editable-description/index.d.ts +4 -0
- package/dist/components/editable-description/index.js +7 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/money/index.js +2 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notes-panel/notes-panel.d.ts +16 -0
- package/dist/components/panel-subview/index.d.ts +4 -0
- package/dist/components/panel-subview/index.js +7 -0
- package/dist/components/panel-subview/panel-subview.agent.d.ts +3 -0
- package/dist/components/panel-subview/panel-subview.d.ts +32 -0
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/section-card/index.js +4 -3
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/tasks-panel/index.js +1 -1
- package/dist/components/tool-rail/index.js +1 -1
- package/dist/components/treatment-receipt/index.d.ts +4 -0
- package/dist/components/treatment-receipt/index.js +7 -0
- package/dist/components/treatment-receipt/treatment-receipt.agent.d.ts +3 -0
- package/dist/components/treatment-receipt/treatment-receipt.d.ts +30 -0
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +9 -7
- package/dist/hooks/use-presence-transition.d.ts +40 -0
- package/dist/host-compat.css +7 -1
- package/dist/i18n/locales/ar.d.ts +29 -5
- package/dist/i18n/locales/ar.js +29 -5
- package/dist/i18n/locales/de.d.ts +29 -5
- package/dist/i18n/locales/de.js +29 -5
- package/dist/i18n/locales/el.d.ts +29 -5
- package/dist/i18n/locales/el.js +29 -5
- package/dist/i18n/locales/en.d.ts +29 -5
- package/dist/i18n/locales/en.js +29 -5
- package/dist/i18n/locales/es.d.ts +29 -5
- package/dist/i18n/locales/es.js +29 -5
- package/dist/i18n/locales/fr.d.ts +29 -5
- package/dist/i18n/locales/fr.js +29 -5
- package/dist/i18n/locales/hi.d.ts +29 -5
- package/dist/i18n/locales/hi.js +29 -5
- package/dist/i18n/locales/it.d.ts +29 -5
- package/dist/i18n/locales/it.js +29 -5
- package/dist/i18n/locales/ja.d.ts +29 -5
- package/dist/i18n/locales/ja.js +29 -5
- package/dist/i18n/locales/nl.d.ts +29 -5
- package/dist/i18n/locales/nl.js +29 -5
- package/dist/i18n/locales/pl.d.ts +29 -5
- package/dist/i18n/locales/pl.js +29 -5
- package/dist/i18n/locales/pt.d.ts +29 -5
- package/dist/i18n/locales/pt.js +29 -5
- package/dist/i18n/locales/ro.d.ts +29 -5
- package/dist/i18n/locales/ro.js +29 -5
- package/dist/i18n/locales/ru.d.ts +29 -5
- package/dist/i18n/locales/ru.js +29 -5
- package/dist/i18n/locales/sq.d.ts +29 -5
- package/dist/i18n/locales/sq.js +29 -5
- package/dist/i18n/locales/sv.d.ts +29 -5
- package/dist/i18n/locales/sv.js +29 -5
- package/dist/i18n/locales/tr.d.ts +29 -5
- package/dist/i18n/locales/tr.js +29 -5
- package/dist/i18n/locales/zh.d.ts +29 -5
- package/dist/i18n/locales/zh.js +29 -5
- package/dist/index.js +958 -940
- package/dist/locales/ar.json +29 -5
- package/dist/locales/de.json +29 -5
- package/dist/locales/el.json +29 -5
- package/dist/locales/en.json +29 -5
- package/dist/locales/es.json +29 -5
- package/dist/locales/fr.json +29 -5
- package/dist/locales/hi.json +29 -5
- package/dist/locales/it.json +29 -5
- package/dist/locales/ja.json +29 -5
- package/dist/locales/nl.json +29 -5
- package/dist/locales/pl.json +29 -5
- package/dist/locales/pt.json +29 -5
- package/dist/locales/ro.json +29 -5
- package/dist/locales/ru.json +29 -5
- package/dist/locales/sq.json +29 -5
- package/dist/locales/sv.json +29 -5
- package/dist/locales/tr.json +29 -5
- package/dist/locales/zh.json +29 -5
- package/dist/patterns/calendar/calendar-appointment-details.d.ts +15 -6
- package/dist/patterns/calendar/calendar-appointment-details.sections.d.ts +23 -23
- package/dist/patterns/calendar/calendar-info-hover.d.ts +18 -0
- package/dist/patterns/calendar/calendar.journey.d.ts +10 -0
- package/dist/patterns/calendar/calendar.sheets.d.ts +2 -2
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +17 -1
- package/dist/_chunks/calendar-workspace-Duv_5B4j.js +0 -9471
- package/dist/_chunks/hourglass-BEAzW1wE.js +0 -26
- package/dist/_chunks/notes-panel-Co8D3uDd.js +0 -469
- package/dist/_chunks/smartphone-C0rFF2if.js +0 -15
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "1.
|
|
3
|
+
"packageVersion": "1.37.0",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -613,6 +613,20 @@
|
|
|
613
613
|
}
|
|
614
614
|
}
|
|
615
615
|
},
|
|
616
|
+
{
|
|
617
|
+
"kind": "component",
|
|
618
|
+
"id": "appointment-peek",
|
|
619
|
+
"capabilities": [],
|
|
620
|
+
"state": [],
|
|
621
|
+
"actions": [],
|
|
622
|
+
"domHooks": {
|
|
623
|
+
"root": {
|
|
624
|
+
"attr": "data-component",
|
|
625
|
+
"value": "appointment-peek",
|
|
626
|
+
"description": "Marks the element as a kit AppointmentPeek summary."
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
},
|
|
616
630
|
{
|
|
617
631
|
"kind": "component",
|
|
618
632
|
"id": "appointment-timeline",
|
|
@@ -4495,6 +4509,24 @@
|
|
|
4495
4509
|
}
|
|
4496
4510
|
}
|
|
4497
4511
|
},
|
|
4512
|
+
{
|
|
4513
|
+
"kind": "component",
|
|
4514
|
+
"id": "editable-description",
|
|
4515
|
+
"capabilities": [],
|
|
4516
|
+
"state": [],
|
|
4517
|
+
"actions": [],
|
|
4518
|
+
"domHooks": {
|
|
4519
|
+
"root": {
|
|
4520
|
+
"attr": "data-component",
|
|
4521
|
+
"value": "editable-description",
|
|
4522
|
+
"description": "Marks the element as a kit EditableDescription."
|
|
4523
|
+
},
|
|
4524
|
+
"item": {
|
|
4525
|
+
"attr": "data-editable-description-line",
|
|
4526
|
+
"description": "One visible description line."
|
|
4527
|
+
}
|
|
4528
|
+
}
|
|
4529
|
+
},
|
|
4498
4530
|
{
|
|
4499
4531
|
"kind": "component",
|
|
4500
4532
|
"id": "editor-overlay",
|
|
@@ -8540,6 +8572,20 @@
|
|
|
8540
8572
|
}
|
|
8541
8573
|
}
|
|
8542
8574
|
},
|
|
8575
|
+
{
|
|
8576
|
+
"kind": "component",
|
|
8577
|
+
"id": "panel-subview",
|
|
8578
|
+
"capabilities": [],
|
|
8579
|
+
"state": [],
|
|
8580
|
+
"actions": [],
|
|
8581
|
+
"domHooks": {
|
|
8582
|
+
"root": {
|
|
8583
|
+
"attr": "data-component",
|
|
8584
|
+
"value": "panel-subview",
|
|
8585
|
+
"description": "Marks the element as a kit PanelSubview."
|
|
8586
|
+
}
|
|
8587
|
+
}
|
|
8588
|
+
},
|
|
8543
8589
|
{
|
|
8544
8590
|
"kind": "component",
|
|
8545
8591
|
"id": "password-input",
|
|
@@ -15157,6 +15203,24 @@
|
|
|
15157
15203
|
}
|
|
15158
15204
|
}
|
|
15159
15205
|
},
|
|
15206
|
+
{
|
|
15207
|
+
"kind": "component",
|
|
15208
|
+
"id": "treatment-receipt",
|
|
15209
|
+
"capabilities": [],
|
|
15210
|
+
"state": [],
|
|
15211
|
+
"actions": [],
|
|
15212
|
+
"domHooks": {
|
|
15213
|
+
"root": {
|
|
15214
|
+
"attr": "data-component",
|
|
15215
|
+
"value": "treatment-receipt",
|
|
15216
|
+
"description": "Marks the element as a kit TreatmentReceipt."
|
|
15217
|
+
},
|
|
15218
|
+
"item": {
|
|
15219
|
+
"attr": "data-treatment-receipt-line",
|
|
15220
|
+
"description": "One treatment line."
|
|
15221
|
+
}
|
|
15222
|
+
}
|
|
15223
|
+
},
|
|
15160
15224
|
{
|
|
15161
15225
|
"kind": "component",
|
|
15162
15226
|
"id": "typing-indicator",
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
2
|
+
import { type AppointmentState } from '../_shared/entity-card';
|
|
3
|
+
export interface AppointmentPeekDetail {
|
|
4
|
+
/** Leading glyph, decorative. */
|
|
5
|
+
icon?: ReactNode;
|
|
6
|
+
/** The term, already translated: "Care", "Operator". */
|
|
7
|
+
label: string;
|
|
8
|
+
value: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export interface AppointmentPeekProps extends HTMLAttributes<HTMLDivElement> {
|
|
11
|
+
/** Patient name, or the event title for an appointment with no patient. */
|
|
12
|
+
name: string;
|
|
13
|
+
/** Photo for the avatar; initials are drawn from `name` without one. */
|
|
14
|
+
avatarSrc?: string;
|
|
15
|
+
/** Host-formatted time range, e.g. "09:30–11:00". */
|
|
16
|
+
time: string;
|
|
17
|
+
/** Chair or room, already translated. With `telehealth`, the visit type. */
|
|
18
|
+
location?: string;
|
|
19
|
+
/** Swaps the chair glyph for a video camera. */
|
|
20
|
+
telehealth?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Appointment status, shown through `WorkflowStatusDisplay`. Leave it out
|
|
23
|
+
* when the host has none recorded: no status is not the same as
|
|
24
|
+
* confirmed, so the card shows no status face at all.
|
|
25
|
+
*/
|
|
26
|
+
status?: AppointmentState;
|
|
27
|
+
/**
|
|
28
|
+
* Override the status caption, e.g. "Arrived · waiting 12 min". Still shown
|
|
29
|
+
* under `privacy`, so keep it free of patient data. Ignored without
|
|
30
|
+
* `status`.
|
|
31
|
+
*/
|
|
32
|
+
statusLabel?: string;
|
|
33
|
+
/** Extra rows after time and location: care, operator. */
|
|
34
|
+
details?: AppointmentPeekDetail[];
|
|
35
|
+
/** Indicator chips (Badges): booked online, anamnesis. Never status. */
|
|
36
|
+
flags?: ReactNode;
|
|
37
|
+
/**
|
|
38
|
+
* Masks the name and drops everything personal: avatar, details and
|
|
39
|
+
* flags. Time, place and status stay; they
|
|
40
|
+
* are not patient data.
|
|
41
|
+
*/
|
|
42
|
+
privacy?: boolean;
|
|
43
|
+
}
|
|
44
|
+
export declare const AppointmentPeek: import("react").ForwardRefExoticComponent<AppointmentPeekProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
45
|
+
//# sourceMappingURL=appointment-peek.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-
|
|
1
|
+
import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-DQoHdE1U.js";
|
|
2
2
|
export {
|
|
3
3
|
r as ControlRoomProvider,
|
|
4
4
|
l as ControlRoomRail,
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type HTMLAttributes, type Ref } from 'react';
|
|
2
|
+
export interface EditableDescriptionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
|
|
3
|
+
/** The description. One bullet per non-empty line. */
|
|
4
|
+
value?: string | null;
|
|
5
|
+
/** Lines shown before the rest go behind "See more". Default `3`. */
|
|
6
|
+
maxLines?: number;
|
|
7
|
+
/** Fires from the pencil. Omit for a read-only description. */
|
|
8
|
+
onEdit?: () => void;
|
|
9
|
+
/** Receives the pencil button, so a host can return focus to it. */
|
|
10
|
+
editButtonRef?: Ref<HTMLButtonElement>;
|
|
11
|
+
/** Shown when there are no lines. Defaults to the kit's translated text. */
|
|
12
|
+
emptyLabel?: string;
|
|
13
|
+
/** Accessible name and tooltip of the pencil. Defaults to the kit's text. */
|
|
14
|
+
editLabel?: string;
|
|
15
|
+
/** Disclosure labels. Default to the kit's translated text. */
|
|
16
|
+
seeMoreLabel?: string;
|
|
17
|
+
showLessLabel?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare const EditableDescription: import("react").ForwardRefExoticComponent<EditableDescriptionProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
20
|
+
//# sourceMappingURL=editable-description.d.ts.map
|
|
@@ -51,6 +51,9 @@ export * from './radio';
|
|
|
51
51
|
export * from './radio-group';
|
|
52
52
|
export * from './search-input';
|
|
53
53
|
export * from './section-card';
|
|
54
|
+
export * from './panel-subview';
|
|
55
|
+
export * from './editable-description';
|
|
56
|
+
export * from './treatment-receipt';
|
|
54
57
|
export * from './select';
|
|
55
58
|
export * from './slider';
|
|
56
59
|
export * from './switch';
|
|
@@ -116,6 +119,7 @@ export * from './agenda-tray';
|
|
|
116
119
|
export * from './ai-consent-banner';
|
|
117
120
|
export * from './alert';
|
|
118
121
|
export * from './appointment-card';
|
|
122
|
+
export * from './appointment-peek';
|
|
119
123
|
export * from './appointment-timeline';
|
|
120
124
|
export * from './dialog';
|
|
121
125
|
export * from './dropdown-menu';
|
|
@@ -148,6 +148,22 @@ export interface NotesPanelProps extends Omit<HTMLAttributes<HTMLElement>, 'titl
|
|
|
148
148
|
* what they do — the panel stays a timeline and never edits a note itself.
|
|
149
149
|
*/
|
|
150
150
|
noteActions?: (note: NotesPanelNote) => ReactNode;
|
|
151
|
+
/**
|
|
152
|
+
* Save an edit to an existing note. When provided, each note the reader may
|
|
153
|
+
* edit gets a pencil; it loads the note into the SAME composer that writes
|
|
154
|
+
* new notes, in place, so a rich note is edited as rich text and keeps its
|
|
155
|
+
* formatting. Return a promise to hold the pending state; a rejection keeps
|
|
156
|
+
* the draft. Hidden on `actions.edit: false` and on a deleted note.
|
|
157
|
+
*/
|
|
158
|
+
onEditNote?: (id: string, submission: NotesPanelSubmission) => void | Promise<void>;
|
|
159
|
+
/**
|
|
160
|
+
* Let an edit change a note's clinical flag. Default `false`: the "Clinical
|
|
161
|
+
* note" toggle is hidden while editing and the submission carries the
|
|
162
|
+
* note's existing flag. Most hosts save a note's content only, and a live
|
|
163
|
+
* toggle that changes nothing is a lie. Set `true` only when the host
|
|
164
|
+
* persists `submission.clinical` on edit.
|
|
165
|
+
*/
|
|
166
|
+
editClinical?: boolean;
|
|
151
167
|
/**
|
|
152
168
|
* Request the host to delete a note. When provided, the panel holds the
|
|
153
169
|
* row on screen long enough to fade it out before calling this, so the
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode, type RefObject } from 'react';
|
|
2
|
+
export type PanelSubviewHostProps = HTMLAttributes<HTMLDivElement>;
|
|
3
|
+
export interface PanelSubviewProps extends Omit<HTMLAttributes<HTMLElement>, 'title'> {
|
|
4
|
+
/** Whether the subview is showing. It animates in and out around this. */
|
|
5
|
+
open: boolean;
|
|
6
|
+
/** Fires from the back button and from Escape. Set `open` false in reply. */
|
|
7
|
+
onBack: () => void;
|
|
8
|
+
/** The subview's heading. Already translated upstream. */
|
|
9
|
+
title: ReactNode;
|
|
10
|
+
/** Accessible name and tooltip of the back button. Already translated. */
|
|
11
|
+
backLabel: string;
|
|
12
|
+
/** Optional leading glyph for the heading. */
|
|
13
|
+
icon?: ReactNode;
|
|
14
|
+
/** Heading level. Default `2`; pass `3` to read as subordinate to the host. */
|
|
15
|
+
headingLevel?: 2 | 3;
|
|
16
|
+
/** Extra header actions, rendered after the back button. */
|
|
17
|
+
headerActions?: ReactNode;
|
|
18
|
+
/** Pinned below the scroll body: the form's cancel and save, typically. */
|
|
19
|
+
footer?: ReactNode;
|
|
20
|
+
/** Fires once the exit has played and the subview has unmounted. */
|
|
21
|
+
onExited?: () => void;
|
|
22
|
+
/**
|
|
23
|
+
* Focus this on open instead of the subview itself: a form's first field,
|
|
24
|
+
* say. The subview is still announced through its heading.
|
|
25
|
+
*/
|
|
26
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
27
|
+
children: ReactNode;
|
|
28
|
+
}
|
|
29
|
+
export declare const PanelSubview: import("react").ForwardRefExoticComponent<PanelSubviewProps & import("react").RefAttributes<HTMLElement>> & {
|
|
30
|
+
Host: import("react").ForwardRefExoticComponent<PanelSubviewHostProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=panel-subview.d.ts.map
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { S as
|
|
1
|
+
import { S as e } from "../../_chunks/section-card-XR2bW1Ie.js";
|
|
2
|
+
import { s as a } from "../../_chunks/section-card.agent-Bz1BhM_j.js";
|
|
2
3
|
export {
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
e as SectionCard,
|
|
5
|
+
a as sectionCardAgent
|
|
5
6
|
};
|
|
6
7
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
export interface TreatmentReceiptLine {
|
|
3
|
+
/** Stable key for the line. */
|
|
4
|
+
id: string;
|
|
5
|
+
/** Treatment name, as the price list prints it. */
|
|
6
|
+
name: string;
|
|
7
|
+
/** Price-list code, shown muted after the name. */
|
|
8
|
+
code?: string;
|
|
9
|
+
/** Dental elements as the platform prints them ("36, 37"). */
|
|
10
|
+
elementsLabel?: string;
|
|
11
|
+
/** Plan phases this line belongs to. */
|
|
12
|
+
phases?: string[];
|
|
13
|
+
/** The treatment has been carried out. */
|
|
14
|
+
done?: boolean;
|
|
15
|
+
/** The treatment has been invoiced. */
|
|
16
|
+
billed?: boolean;
|
|
17
|
+
/** Minor units. Absent means prices are withheld from this viewer. */
|
|
18
|
+
priceCents?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface TreatmentReceiptProps extends HTMLAttributes<HTMLDivElement> {
|
|
21
|
+
lines: TreatmentReceiptLine[];
|
|
22
|
+
/** BCP 47 locale for the amounts. Defaults to Money's own default. */
|
|
23
|
+
locale?: string;
|
|
24
|
+
/** ISO 4217 code. Defaults to Money's own default. */
|
|
25
|
+
currency?: string;
|
|
26
|
+
/** Label of the total row. Defaults to the kit's "Total for this appointment". */
|
|
27
|
+
totalLabel?: string;
|
|
28
|
+
}
|
|
29
|
+
export declare const TreatmentReceipt: import("react").ForwardRefExoticComponent<TreatmentReceiptProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
|
+
//# sourceMappingURL=treatment-receipt.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-
|
|
1
|
+
import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-CXdsxvUj.js";
|
|
2
2
|
export {
|
|
3
3
|
r as CORE_PATIENT_FIELDS,
|
|
4
4
|
e as WorkflowCard,
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -26,5 +26,6 @@ export { useZoomDrilldown, ZOOM_DRILLDOWN_TRANSITION_CLASS, type UseZoomDrilldow
|
|
|
26
26
|
export { useCountdown, type UseCountdownOptions, type UseCountdownReturn, } from './use-countdown';
|
|
27
27
|
export { useCheckAnimation, type UseCheckAnimationOptions, type UseCheckAnimationReturn, } from './use-check-animation';
|
|
28
28
|
export { useExitTransition, type UseExitTransitionOptions, type UseExitTransitionReturn, } from './use-exit-transition';
|
|
29
|
+
export { usePresenceTransition, type PresencePhase, type UsePresenceTransitionOptions, type UsePresenceTransitionReturn, } from './use-presence-transition';
|
|
29
30
|
export { useListReflow, REFLOW_ROW_CLASS, type UseListReflowOptions, type UseListReflowReturn, } from './use-list-reflow';
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/hooks/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { u as y } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
|
|
|
2
2
|
import { u as v } from "../_chunks/use-media-query-CcAx5SMM.js";
|
|
3
3
|
import { Z as R, u as _, a as w, b as F } from "../_chunks/use-zoom-drilldown-qCX34w9I.js";
|
|
4
4
|
import { u as g } from "../_chunks/use-count-up-BLLetaZ8.js";
|
|
5
|
-
import { u as
|
|
5
|
+
import { u as k } from "../_chunks/use-locale-BkCIHujH.js";
|
|
6
6
|
import { A as M, T as V, a as W, r as H, t as N, u as Y } from "../_chunks/use-theme-CAuo6EYT.js";
|
|
7
7
|
import { u as q } from "../_chunks/use-controllable-state-BiY4xTzM.js";
|
|
8
8
|
import { u as G } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
|
|
@@ -18,7 +18,8 @@ import { u as fe } from "../_chunks/use-visual-viewport-pin-ChurOsHM.js";
|
|
|
18
18
|
import { u as me } from "../_chunks/use-edge-resize-ZnGG7gyO.js";
|
|
19
19
|
import { u as pe } from "../_chunks/use-countdown-Yd6ts0_a.js";
|
|
20
20
|
import { u as Ee } from "../_chunks/use-check-animation--I3cS00X.js";
|
|
21
|
-
import { R as
|
|
21
|
+
import { R as Te, u as Se, a as Ce } from "../_chunks/use-list-reflow-Cw43nxw5.js";
|
|
22
|
+
import { u as Ae } from "../_chunks/use-presence-transition-cDwWUXV-.js";
|
|
22
23
|
function C(e, o) {
|
|
23
24
|
const [t, i] = b(e), u = x(null);
|
|
24
25
|
return E(() => {
|
|
@@ -32,7 +33,7 @@ function C(e, o) {
|
|
|
32
33
|
return u.current = n, () => clearTimeout(n);
|
|
33
34
|
}, [e, o]), t;
|
|
34
35
|
}
|
|
35
|
-
const
|
|
36
|
+
const T = [
|
|
36
37
|
"a[href]",
|
|
37
38
|
"button:not([disabled])",
|
|
38
39
|
'input:not([disabled]):not([type="hidden"])',
|
|
@@ -45,7 +46,7 @@ const S = [
|
|
|
45
46
|
].join(",");
|
|
46
47
|
function p(e) {
|
|
47
48
|
return Array.from(
|
|
48
|
-
e.querySelectorAll(
|
|
49
|
+
e.querySelectorAll(T)
|
|
49
50
|
).filter((o) => {
|
|
50
51
|
if (o.hidden) return !1;
|
|
51
52
|
let t = o;
|
|
@@ -90,7 +91,7 @@ function L(e, o = {}) {
|
|
|
90
91
|
}
|
|
91
92
|
export {
|
|
92
93
|
M as ACCESSIBILITY_STORAGE_KEY,
|
|
93
|
-
|
|
94
|
+
Te as REFLOW_ROW_CLASS,
|
|
94
95
|
V as THEME_CLASS,
|
|
95
96
|
W as THEME_STORAGE_KEY,
|
|
96
97
|
R as ZOOM_DRILLDOWN_TRANSITION_CLASS,
|
|
@@ -107,15 +108,16 @@ export {
|
|
|
107
108
|
Q as useDirection,
|
|
108
109
|
J as useDocumentDirection,
|
|
109
110
|
me as useEdgeResize,
|
|
110
|
-
|
|
111
|
+
Se as useExitTransition,
|
|
111
112
|
L as useFocusTrap,
|
|
112
113
|
te as useIsomorphicLayoutEffect,
|
|
113
114
|
Ce as useListReflow,
|
|
114
|
-
|
|
115
|
+
k as useLocale,
|
|
115
116
|
v as useMediaQuery,
|
|
116
117
|
oe as useOverflowCollapse,
|
|
117
118
|
$ as usePersistentState,
|
|
118
119
|
y as usePrefersReducedMotion,
|
|
120
|
+
Ae as usePresenceTransition,
|
|
119
121
|
ne as usePriorityOverflow,
|
|
120
122
|
_ as useScrollToFirstError,
|
|
121
123
|
w as useSigningSession,
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** Where a surface is in its life: arriving, at rest, or on its way out. */
|
|
2
|
+
export type PresencePhase = 'entering' | 'present' | 'leaving';
|
|
3
|
+
export interface UsePresenceTransitionOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Fallback exit length in milliseconds, used when the element does not
|
|
6
|
+
* resolve an `--animation-duration` token. Default 200 (`--duration-normal`).
|
|
7
|
+
*/
|
|
8
|
+
durationMs?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Force the reduced-motion branch. Defaults to reading
|
|
11
|
+
* `prefers-reduced-motion: reduce`. When reduced, the surface mounts and
|
|
12
|
+
* unmounts synchronously and is never reported as entering or leaving.
|
|
13
|
+
*/
|
|
14
|
+
reduceMotion?: boolean;
|
|
15
|
+
/** Fires once the exit has played and the surface has unmounted. */
|
|
16
|
+
onExited?: () => void;
|
|
17
|
+
}
|
|
18
|
+
export interface UsePresenceTransitionReturn<T extends HTMLElement> {
|
|
19
|
+
/** Render the surface while this is true, including the whole exit. */
|
|
20
|
+
mounted: boolean;
|
|
21
|
+
/** Reflect onto the surface (e.g. `data-presence`) and paint it in CSS. */
|
|
22
|
+
phase: PresencePhase;
|
|
23
|
+
/**
|
|
24
|
+
* Attach to the surface. The hook reads the element's resolved
|
|
25
|
+
* `--animation-duration`, so the accessible theme's 0ms ends the exit at once.
|
|
26
|
+
*/
|
|
27
|
+
ref: (node: T | null) => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Keeps a surface mounted long enough to animate out, and gives it one frame
|
|
31
|
+
* of `entering` so it has somewhere to animate in from.
|
|
32
|
+
*
|
|
33
|
+
* A panel that mounts and unmounts on a boolean cannot transition: there is
|
|
34
|
+
* no element left to fade when it closes, and none yet painted when it opens.
|
|
35
|
+
* This hook sits between the boolean and the render. The hook owns timing
|
|
36
|
+
* only; paint the phases in CSS, keyed off `phase`, against the
|
|
37
|
+
* `--animation-duration` token.
|
|
38
|
+
*/
|
|
39
|
+
export declare function usePresenceTransition<T extends HTMLElement = HTMLElement>(present: boolean, { durationMs, reduceMotion, onExited, }?: UsePresenceTransitionOptions): UsePresenceTransitionReturn<T>;
|
|
40
|
+
//# sourceMappingURL=use-presence-transition.d.ts.map
|
package/dist/host-compat.css
CHANGED
|
@@ -205,7 +205,7 @@
|
|
|
205
205
|
|
|
206
206
|
/* ───────────────────────────────────────────────────────────────────────
|
|
207
207
|
SECTION B — non-token declarations. ORIGINAL LAYER PRESERVED.
|
|
208
|
-
|
|
208
|
+
136 declarations across 132 rules.
|
|
209
209
|
|
|
210
210
|
Kit-authored arbitrary-value utilities (`ds:w-[20rem]`) and the
|
|
211
211
|
vendored AG Grid rules. These set real properties on real elements,
|
|
@@ -265,6 +265,9 @@
|
|
|
265
265
|
.ds\:h-\[28rem\] {
|
|
266
266
|
height:448px;
|
|
267
267
|
}
|
|
268
|
+
.ds\:h-\[32rem\] {
|
|
269
|
+
height:512px;
|
|
270
|
+
}
|
|
268
271
|
.ds\:h-\[40rem\] {
|
|
269
272
|
height:640px;
|
|
270
273
|
}
|
|
@@ -307,6 +310,9 @@
|
|
|
307
310
|
.ds\:min-h-\[30rem\] {
|
|
308
311
|
min-height:480px;
|
|
309
312
|
}
|
|
313
|
+
.ds\:min-h-\[32rem\] {
|
|
314
|
+
min-height:512px;
|
|
315
|
+
}
|
|
310
316
|
.ds\:w-\[9rem\] {
|
|
311
317
|
width:144px;
|
|
312
318
|
}
|
|
@@ -2112,6 +2112,23 @@ export declare const arUi: {
|
|
|
2112
2112
|
readonly empty: "لم تُسجَّل أي إجابات بعد";
|
|
2113
2113
|
readonly sectionsLabel: "أقسام التاريخ المرضي";
|
|
2114
2114
|
};
|
|
2115
|
+
readonly editableDescription: {
|
|
2116
|
+
readonly empty: "No description added.";
|
|
2117
|
+
readonly edit: "Edit description";
|
|
2118
|
+
readonly seeMore: "See more";
|
|
2119
|
+
readonly showLess: "Show less";
|
|
2120
|
+
};
|
|
2121
|
+
readonly treatmentReceipt: {
|
|
2122
|
+
readonly done: "Done";
|
|
2123
|
+
readonly billed: "Billed";
|
|
2124
|
+
readonly phases: "Phases: {{phases}}";
|
|
2125
|
+
readonly total: "Total for this appointment";
|
|
2126
|
+
};
|
|
2127
|
+
readonly appointmentPeek: {
|
|
2128
|
+
readonly time: "Time";
|
|
2129
|
+
readonly location: "Location";
|
|
2130
|
+
readonly hiddenName: "Patient name hidden";
|
|
2131
|
+
};
|
|
2115
2132
|
readonly appointmentCard: {
|
|
2116
2133
|
readonly itemLabel: "{{patient}} — {{state}}";
|
|
2117
2134
|
readonly itemLabelGeneric: "{{title}} — {{state}}";
|
|
@@ -3974,6 +3991,11 @@ export declare const arUi: {
|
|
|
3974
3991
|
readonly loadError: "تعذّر تحميل الملاحظات.";
|
|
3975
3992
|
readonly retry: "إعادة المحاولة";
|
|
3976
3993
|
readonly addFailed: "تعذّر حفظ الملاحظة.";
|
|
3994
|
+
readonly edit: "Edit note";
|
|
3995
|
+
readonly editNamed: "Edit note · {{date}}";
|
|
3996
|
+
readonly deleteNamed: "Delete note · {{date}}";
|
|
3997
|
+
readonly saveEdit: "Save note";
|
|
3998
|
+
readonly cancelEdit: "Cancel";
|
|
3977
3999
|
readonly delete: "حذف ملاحظة";
|
|
3978
4000
|
readonly deleteConfirmTitle: "حذف هذه الملاحظة؟";
|
|
3979
4001
|
readonly deleteConfirmBody: "سيتم إزالة الملاحظة من السجل.";
|
|
@@ -4175,6 +4197,13 @@ export declare const arUi: {
|
|
|
4175
4197
|
readonly historyTitle: "سجل التعديلات";
|
|
4176
4198
|
readonly historyBack: "العودة إلى التفاصيل";
|
|
4177
4199
|
readonly historyEmpty: "لا توجد تعديلات مسجلة";
|
|
4200
|
+
readonly statusNone: "لا توجد حالة";
|
|
4201
|
+
readonly statusSaveFailed: "تعذّر حفظ الحالة.";
|
|
4202
|
+
readonly editDescription: "تعديل الوصف";
|
|
4203
|
+
readonly descriptionSave: "حفظ الوصف";
|
|
4204
|
+
readonly descriptionSaveFailed: "تعذّر حفظ الوصف.";
|
|
4205
|
+
readonly notesMore: "عرض كل الملاحظات ({{n}} أخرى)";
|
|
4206
|
+
readonly actionsLabel: "إجراءات الموعد";
|
|
4178
4207
|
readonly notesAction: "ملاحظات المريض";
|
|
4179
4208
|
readonly notesTitle: "الملاحظات · {{name}}";
|
|
4180
4209
|
readonly notesBack: "العودة إلى التفاصيل";
|
|
@@ -4182,13 +4211,8 @@ export declare const arUi: {
|
|
|
4182
4211
|
readonly notesPreviewOpen: "عرض المزيد";
|
|
4183
4212
|
readonly notesPreviewEmpty: "لا توجد ملاحظات لهذا المريض بعد.";
|
|
4184
4213
|
readonly notesPreviewOpenNote: "فتح الملاحظة {{number}}";
|
|
4185
|
-
readonly noteEdit: "تعديل الملاحظة";
|
|
4186
|
-
readonly noteEditNamed: "تعديل الملاحظة · {{date}}";
|
|
4187
4214
|
readonly noteDelete: "حذف الملاحظة";
|
|
4188
4215
|
readonly noteDeleteNamed: "حذف الملاحظة · {{date}}";
|
|
4189
|
-
readonly noteEditTitle: "تعديل الملاحظة";
|
|
4190
|
-
readonly noteEditLabel: "الملاحظة";
|
|
4191
|
-
readonly noteSave: "حفظ الملاحظة";
|
|
4192
4216
|
readonly noteCancel: "إلغاء";
|
|
4193
4217
|
readonly noteDeleteTitle: "حذف هذه الملاحظة؟";
|
|
4194
4218
|
readonly noteDeleteBody: "تُزال الملاحظة من سجل المريض. لا يمكن التراجع عن ذلك هنا.";
|