@alfadocs/ui-kit 1.3.4 → 1.3.6

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.3.4",
3
+ "packageVersion": "1.3.6",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
package/dist/index.js CHANGED
@@ -214,7 +214,7 @@ import { T as Og } from "./_chunks/transaction-chip-DJCstquX.js";
214
214
  import { W as yg, a as kg } from "./_chunks/whatsapp-button-BIy6NaJK.js";
215
215
  import { C as vg, W as Gg, a as Hg, b as wg, c as Vg, i as Ug, l as Wg, m as Kg, r as Yg, w as Xg, d as qg, e as zg, f as jg } from "./_chunks/workflow-map-BVMeVHkV.js";
216
216
  import { A as Jg, a as Zg, b as $g, c as aC } from "./_chunks/alia-sidebar-DzNz1gDf.js";
217
- import { A as rC, a as sC, L as oC, P as tC, S as nC, T as iC, b as pC, c as mC, d as lC, e as dC, f as AC, g as cC, h as fC, i as gC, j as CC, k as SC, l as xC, m as TC, r as uC, n as PC, s as IC, o as EC } from "./_chunks/anamnesis-i18n-DhehE8th.js";
217
+ import { A as rC, a as sC, L as oC, P as tC, S as nC, T as iC, b as pC, c as mC, d as lC, e as dC, f as AC, g as cC, h as fC, i as gC, j as CC, k as SC, l as xC, m as TC, r as uC, n as PC, s as IC, o as EC } from "./_chunks/anamnesis-i18n-DqRbWU2L.js";
218
218
  import { C as RC, M as _C, P as NC } from "./_chunks/marketplace-app-shell-DwcFMxzp.js";
219
219
  import { P as DC } from "./_chunks/payment-automation-upsell-D_x880pr.js";
220
220
  import { S as MC } from "./_chunks/signature-request-DZEFtbER.js";
@@ -4,7 +4,7 @@ import { type PracticeAnamnesisConfig } from './anamnesis-config';
4
4
  import { type MissingAnswer } from './anamnesis-digest';
5
5
  import type { DisclosureAudience } from './anamnesis-disclosure';
6
6
  import type { AnamnesisExportTab } from './anamnesis-export';
7
- import type { AnamnesisRecord, OpenAnamnesisNote } from './anamnesis-types';
7
+ import type { AnamnesisRecord, OpenAnamnesisNote, PractitionerOption } from './anamnesis-types';
8
8
  /** The three Diagnosis views. Also the three export tabs — one vocabulary. */
9
9
  export type AnamnesisCompileView = AnamnesisExportTab;
10
10
  export interface AnamnesisCompileProps {
@@ -40,6 +40,17 @@ export interface AnamnesisCompileProps {
40
40
  * data. Fires AFTER the change lands in state, with the full record;
41
41
  * hosts debounce and diff. NOT called for the initial mount. */
42
42
  onRecordChange?: (record: AnamnesisRecord) => void;
43
+ /** The practice's operators, offered in the visit's Practitioner select.
44
+ * Host-supplied because the roster is live platform data, not practice
45
+ * vocabulary — it must never be written into the saved config. Omitted or
46
+ * empty leaves a free-text input, so kit mounts without a roster keep
47
+ * working. */
48
+ practitioners?: PractitionerOption[];
49
+ /** The calendar date (ISO) a NEW follow-up visit is created on. A host
50
+ * passes its "today"; defaults to the latest visit's date so kit demos
51
+ * and tests stay deterministic (the surface deliberately never reads the
52
+ * wall clock). The date field is editable either way. */
53
+ newVisitDateIso?: string;
43
54
  /** The host's side panel, forwarded to the Evolution view. Omitted = the
44
55
  * evolution surface reads notes in place. */
45
56
  onOpenNote?: OpenAnamnesisNote;
@@ -54,5 +65,5 @@ export interface AnamnesisCompileProps {
54
65
  /** Mount the export control on this audience. Demo/story hook. */
55
66
  defaultExportAudience?: DisclosureAudience;
56
67
  }
57
- export declare function AnamnesisCompile({ record: initial, t, embedded, config, onTargetChange, hideTargetStrip, statusSlot, onOpenNote, onMissingAnswerJump, onRecordChange, defaultView, defaultExportMenuOpen, defaultShareOpen, defaultExportAudience, }: AnamnesisCompileProps): import("react/jsx-runtime").JSX.Element;
68
+ export declare function AnamnesisCompile({ record: initial, t, embedded, config, onTargetChange, hideTargetStrip, statusSlot, onOpenNote, onMissingAnswerJump, onRecordChange, practitioners, newVisitDateIso, defaultView, defaultExportMenuOpen, defaultShareOpen, defaultExportAudience, }: AnamnesisCompileProps): import("react/jsx-runtime").JSX.Element;
58
69
  //# sourceMappingURL=anamnesis-compile.d.ts.map
@@ -0,0 +1,42 @@
1
+ import { type DragEvent, type ReactElement, type ReactNode } from 'react';
2
+ import type { TFunction } from 'i18next';
3
+ export interface AnamnesisReorderGroupProps {
4
+ /** Number of rows in the group — bounds keyboard moves and gives the
5
+ * announcement its "of {{total}}". */
6
+ count: number;
7
+ /** Move a row from `from` to `to` — both DISPLAY indices of the group. */
8
+ onReorder: (from: number, to: number) => void;
9
+ t: TFunction;
10
+ children: ReactNode;
11
+ }
12
+ /** One reorderable list. Renders its children untouched plus a visually
13
+ * hidden polite live region the rows announce their moves into. Nesting is
14
+ * fine — a row binds to its NEAREST group, and a drag never crosses groups
15
+ * (each group tracks its own drag source). */
16
+ export declare function AnamnesisReorderGroup({ count, onReorder, t, children, }: AnamnesisReorderGroupProps): import("react/jsx-runtime").JSX.Element;
17
+ export interface AnamnesisReorderRowRender {
18
+ /** Spread onto the element that drags as one unit (the `<li>`, the section
19
+ * header row…). `className` carries the dragging / drop-target affordances —
20
+ * merge it with the row's own classes. */
21
+ rowProps: {
22
+ draggable: true;
23
+ onDragStart: (event: DragEvent<HTMLElement>) => void;
24
+ onDragEnd: () => void;
25
+ onDragOver: (event: DragEvent<HTMLElement>) => void;
26
+ onDragLeave: () => void;
27
+ onDrop: (event: DragEvent<HTMLElement>) => void;
28
+ className: string;
29
+ };
30
+ /** The grip button — mount it INSIDE the row's action group so the drag
31
+ * affordance sits with the row's other controls. */
32
+ handle: ReactElement;
33
+ }
34
+ export interface AnamnesisReorderRowProps {
35
+ /** Zero-based DISPLAY position of this row within its group. */
36
+ index: number;
37
+ /** Accessible name of the row — names the handle and the announcements. */
38
+ label: string;
39
+ children: (row: AnamnesisReorderRowRender) => ReactElement;
40
+ }
41
+ export declare function AnamnesisReorderRow({ index, label, children, }: AnamnesisReorderRowProps): ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
42
+ //# sourceMappingURL=anamnesis-reorder.d.ts.map
@@ -259,6 +259,14 @@ export interface AnnualProgramme {
259
259
  /** Reason recorded when the programme was declined. */
260
260
  declineReason?: string;
261
261
  }
262
+ /** One selectable practitioner — the practice's own operators, supplied by
263
+ * the host (the kit has no roster of its own). `value` is what lands in
264
+ * `Visit.practitioner`, so it is the operator's display name, not an id:
265
+ * the visit record carries a name, and the export reads it verbatim. */
266
+ export interface PractitionerOption {
267
+ value: string;
268
+ label: string;
269
+ }
262
270
  /** Everything captured at a single visit. Anthropometrics + labs feed the
263
271
  * evolution grid; the non-numeric blocks feed compare mode. */
264
272
  export interface Visit {
@@ -266,8 +274,6 @@ export interface Visit {
266
274
  id: string;
267
275
  visitType: VisitType;
268
276
  dateIso: string;
269
- /** Practice site (multi-site clinic). i18n key suffix, not a display name. */
270
- siteKey?: string;
271
277
  /** Practitioner display name (placeholder only). */
272
278
  practitioner?: string;
273
279
  anthropometrics: AnthropometricSet;
@@ -5,7 +5,7 @@ import { type AnamnesisCompileView } from './anamnesis-compile';
5
5
  import type { DisclosureAudience } from './anamnesis-disclosure';
6
6
  import { type IntakeAnswerMap } from './anamnesis-intake';
7
7
  import type { MissingAnswer } from './anamnesis-digest';
8
- import type { AnamnesisMode, AnamnesisRecord, OpenAnamnesisNote } from './anamnesis-types';
8
+ import type { AnamnesisMode, AnamnesisRecord, OpenAnamnesisNote, PractitionerOption } from './anamnesis-types';
9
9
  export interface AnamnesisProps {
10
10
  /** Which host context to render. */
11
11
  mode: AnamnesisMode;
@@ -49,6 +49,12 @@ export interface AnamnesisProps {
49
49
  /** Compile mode only: every edit to the working record — the visit-data
50
50
  * persistence seam (hosts debounce + diff). See `AnamnesisCompileProps`. */
51
51
  onRecordChange?: (record: AnamnesisRecord) => void;
52
+ /** Compile mode only: the practice's operators, offered in the visit's
53
+ * Practitioner select. Omitted or empty keeps the free-text input. */
54
+ practitioners?: PractitionerOption[];
55
+ /** Compile mode only: the calendar date a NEW follow-up visit is created
56
+ * on. A host passes its "today"; defaults to the latest visit's date. */
57
+ newVisitDateIso?: string;
52
58
  /** Compile mode only: mount on this view instead of Summary. Demo/story
53
59
  * hook only, for the same Chromatic reason as the flags below. */
54
60
  defaultView?: AnamnesisCompileView;
@@ -59,5 +65,5 @@ export interface AnamnesisProps {
59
65
  defaultShareOpen?: boolean;
60
66
  defaultExportAudience?: DisclosureAudience;
61
67
  }
62
- export declare function Anamnesis({ mode, record, t, dataComponent, embedded, config, onTargetChange, hideTargetStrip, statusSlot, onOpenNote, onIntakeSubmit, intakeJumpToField, onMissingAnswerJump, onRecordChange, defaultView, defaultExportMenuOpen, defaultShareOpen, defaultExportAudience, }: AnamnesisProps): import("react/jsx-runtime").JSX.Element;
68
+ export declare function Anamnesis({ mode, record, t, dataComponent, embedded, config, onTargetChange, hideTargetStrip, statusSlot, onOpenNote, onIntakeSubmit, intakeJumpToField, onMissingAnswerJump, onRecordChange, practitioners, newVisitDateIso, defaultView, defaultExportMenuOpen, defaultShareOpen, defaultExportAudience, }: AnamnesisProps): import("react/jsx-runtime").JSX.Element;
63
69
  //# sourceMappingURL=anamnesis.d.ts.map
@@ -6,5 +6,5 @@ export { LOCKED_PARAMETER_KEYS, SEEDED_ANAMNESIS_CONFIG, TARGETABLE_PARAMETER_KE
6
6
  export { anamnesisNoteId, anamnesisNotes } from './anamnesis-notes';
7
7
  export { stripParameters } from './anamnesis-targets';
8
8
  export { PATTERN_NS, registerAnamnesisBundles } from './anamnesis-i18n';
9
- export type { AnamnesisMode, AnamnesisNoteTarget, AnamnesisRecord, BetterDirection, ClinicalEvent, ConfigurableDescriptor, IntakeAnswer, IntakeFieldDef, IntakeFieldType, IntakeResponse, IntakeSectionDef, NumericParameterDef, OpenAnamnesisNote, ParameterGroup, PathologyCode, Visit, } from './anamnesis-types';
9
+ export type { AnamnesisMode, AnamnesisNoteTarget, AnamnesisRecord, BetterDirection, ClinicalEvent, ConfigurableDescriptor, IntakeAnswer, IntakeFieldDef, IntakeFieldType, IntakeResponse, IntakeSectionDef, NumericParameterDef, OpenAnamnesisNote, ParameterGroup, PathologyCode, PractitionerOption, Visit, } from './anamnesis-types';
10
10
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as e, a as i, L as n, P as r, S as o, T as l, b as t, c as d, d as g, e as A, f as E, g as c, h as m, i as P, j as f, k as S, l as T, m as h, r as u, n as N, s as _, o as C } from "../../_chunks/anamnesis-i18n-DhehE8th.js";
1
+ import { A as e, a as i, L as n, P as r, S as o, T as l, b as t, c as d, d as g, e as A, f as E, g as c, h as m, i as P, j as f, k as S, l as T, m as h, r as u, n as N, s as _, o as C } from "../../_chunks/anamnesis-i18n-DqRbWU2L.js";
2
2
  export {
3
3
  e as Anamnesis,
4
4
  i as AnamnesisConfigEditor,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit",
3
- "version": "1.3.4",
3
+ "version": "1.3.6",
4
4
  "type": "module",
5
5
  "description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe.",
6
6
  "license": "BUSL-1.1",