@alfadocs/ui-kit 1.4.17 → 1.6.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/{booking-CGKof8QU.js → booking-D84O6H2X.js} +553 -546
- package/dist/_chunks/{care-plan-card-C83Hb9EE.js → care-plan-card-CehAU7F_.js} +2 -2
- package/dist/_chunks/{care-plan-entry-card-CHMPSTCz.js → care-plan-entry-card-ChWRMfMw.js} +2 -2
- package/dist/_chunks/{periodontal-chart-brakjj0s.js → periodontal-chart-C0nNQKKK.js} +121 -121
- package/dist/_chunks/practice-profile-hero-Bdd0bFqC.js +187 -0
- package/dist/_chunks/{practice-results-DWUZRm2x.js → practice-results-CKoLD_x5.js} +220 -206
- package/dist/_chunks/tooth-data-DR8Kdnup.js +903 -0
- package/dist/_chunks/tooth-finding-palette-vqC-D2Ye.js +708 -0
- package/dist/_chunks/tooth-scheme-BPXE1_3N.js +2051 -0
- package/dist/agent-catalog.json +497 -56
- package/dist/agent-i18n/en.json +29 -11
- package/dist/components/booking/booking-types.d.ts +9 -0
- 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/index.d.ts +2 -0
- package/dist/components/periodontal-chart/index.js +1 -1
- package/dist/components/practice-profile-hero/index.d.ts +4 -0
- package/dist/components/practice-profile-hero/index.js +6 -0
- package/dist/components/practice-profile-hero/practice-profile-hero.agent.d.ts +4 -0
- package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +60 -0
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +15 -1
- package/dist/components/tooth-finding-palette/index.d.ts +4 -0
- package/dist/components/tooth-finding-palette/index.js +9 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.agent.d.ts +4 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.d.ts +89 -0
- package/dist/components/tooth-scheme/index.d.ts +2 -2
- package/dist/components/tooth-scheme/index.js +57 -30
- package/dist/components/tooth-scheme/tooth-data.d.ts +279 -10
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +30 -3
- package/dist/host-compat.css +1 -4
- package/dist/i18n/locales/ar.d.ts +41 -1
- package/dist/i18n/locales/ar.js +42 -2
- package/dist/i18n/locales/de.d.ts +41 -1
- package/dist/i18n/locales/de.js +42 -2
- package/dist/i18n/locales/el.d.ts +41 -1
- package/dist/i18n/locales/el.js +42 -2
- package/dist/i18n/locales/en.d.ts +41 -1
- package/dist/i18n/locales/en.js +42 -2
- package/dist/i18n/locales/es.d.ts +41 -1
- package/dist/i18n/locales/es.js +42 -2
- package/dist/i18n/locales/fr.d.ts +41 -1
- package/dist/i18n/locales/fr.js +42 -2
- package/dist/i18n/locales/hi.d.ts +41 -1
- package/dist/i18n/locales/hi.js +42 -2
- package/dist/i18n/locales/it.d.ts +41 -1
- package/dist/i18n/locales/it.js +42 -2
- package/dist/i18n/locales/ja.d.ts +41 -1
- package/dist/i18n/locales/ja.js +42 -2
- package/dist/i18n/locales/nl.d.ts +41 -1
- package/dist/i18n/locales/nl.js +42 -2
- package/dist/i18n/locales/pl.d.ts +41 -1
- package/dist/i18n/locales/pl.js +42 -2
- package/dist/i18n/locales/pt.d.ts +41 -1
- package/dist/i18n/locales/pt.js +42 -2
- package/dist/i18n/locales/ro.d.ts +41 -1
- package/dist/i18n/locales/ro.js +42 -2
- package/dist/i18n/locales/ru.d.ts +41 -1
- package/dist/i18n/locales/ru.js +42 -2
- package/dist/i18n/locales/sq.d.ts +41 -1
- package/dist/i18n/locales/sq.js +42 -2
- package/dist/i18n/locales/sv.d.ts +41 -1
- package/dist/i18n/locales/sv.js +42 -2
- package/dist/i18n/locales/tr.d.ts +41 -1
- package/dist/i18n/locales/tr.js +42 -2
- package/dist/i18n/locales/zh.d.ts +41 -1
- package/dist/i18n/locales/zh.js +42 -2
- package/dist/index.js +561 -525
- package/dist/locales/ar.json +42 -2
- package/dist/locales/de.json +42 -2
- package/dist/locales/el.json +42 -2
- package/dist/locales/en.json +42 -2
- package/dist/locales/es.json +42 -2
- package/dist/locales/fr.json +42 -2
- package/dist/locales/hi.json +42 -2
- package/dist/locales/it.json +42 -2
- package/dist/locales/ja.json +42 -2
- package/dist/locales/nl.json +42 -2
- package/dist/locales/pl.json +42 -2
- package/dist/locales/pt.json +42 -2
- package/dist/locales/ro.json +42 -2
- package/dist/locales/ru.json +42 -2
- package/dist/locales/sq.json +42 -2
- package/dist/locales/sv.json +42 -2
- package/dist/locales/tr.json +42 -2
- package/dist/locales/zh.json +42 -2
- package/dist/tokens.css +1 -1
- package/package.json +9 -1
- package/dist/_chunks/tooth-data-BwuoKFf4.js +0 -660
- package/dist/_chunks/tooth-scheme-s0ipC0-Z.js +0 -1483
package/dist/agent-i18n/en.json
CHANGED
|
@@ -1019,6 +1019,12 @@
|
|
|
1019
1019
|
"clear": "Empty the field. Loses any typed value."
|
|
1020
1020
|
}
|
|
1021
1021
|
},
|
|
1022
|
+
"practiceProfileHero": {
|
|
1023
|
+
"state": {
|
|
1024
|
+
"name": "Practice display name currently rendered.",
|
|
1025
|
+
"hasCover": "Whether a cover-image strip is rendered. Structural flag only — never the image URL or any PHI."
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1022
1028
|
"practiceResults": {
|
|
1023
1029
|
"state": {
|
|
1024
1030
|
"variant": "Active variant — one of `split-list-map`, `map-first`, `rich-cards`."
|
|
@@ -1439,21 +1445,38 @@
|
|
|
1439
1445
|
"insert": "Emit a merge-token to the consumer for cursor insertion."
|
|
1440
1446
|
}
|
|
1441
1447
|
},
|
|
1448
|
+
"toothFindingPalette": {
|
|
1449
|
+
"state": {
|
|
1450
|
+
"activeFinding": "Id of the armed finding tool, or null when no tool is selected. Identifies a finding TYPE — never a patient, and never a charted finding.",
|
|
1451
|
+
"status": "Execution status the next charted finding takes — 'planned' or 'executed'.",
|
|
1452
|
+
"tools": "Every finding id the palette currently offers, in render order — built-ins plus any practice-defined ids. The authoritative vocabulary for select_finding."
|
|
1453
|
+
},
|
|
1454
|
+
"actions": {
|
|
1455
|
+
"selectFinding": "Arm a finding tool, so the next tooth (or surface, or root) picked on the paired dental chart records that finding.",
|
|
1456
|
+
"clearSelection": "Disarm the palette so clicks on the chart stop recording a finding. Charted findings are untouched.",
|
|
1457
|
+
"setStatus": "Choose whether the next charted finding is recorded as planned or executed.",
|
|
1458
|
+
"focusTool": "Move keyboard focus to a tool without arming it — relocates the toolbar's single roving tab stop."
|
|
1459
|
+
}
|
|
1460
|
+
},
|
|
1442
1461
|
"toothScheme": {
|
|
1443
1462
|
"state": {
|
|
1444
|
-
"chart": "Current dental chart
|
|
1463
|
+
"chart": "Current dental chart keyed by FDI id, or by a special-element id (quadrant / sextant / arch / general) for region-spanning findings. Each entry carries the flat `conditions` + `surfaces` pair AND the normalised per-symbol list, where every finding scopes its own surfaces, roots, planned/executed status and colour. Free-text clinical notes are PHI and omitted — read them per tooth via get_symbols / get_notes.",
|
|
1445
1464
|
"chartedTeeth": "Ids carrying at least one finding — FDI tooth ids and/or special-element ids (quadrant / sextant / arch / general).",
|
|
1446
1465
|
"radiographs": "Structural references (id + kind) to the radiographs on each tooth, keyed by FDI id. Notes, dates and image URLs are not exposed here — fetch them on demand via get_radiographs.",
|
|
1447
1466
|
"teethWithRadiographs": "FDI ids of every tooth carrying at least one radiograph."
|
|
1448
1467
|
},
|
|
1449
1468
|
"actions": {
|
|
1450
1469
|
"focusTooth": "Move focus to a specific tooth by FDI id.",
|
|
1451
|
-
"getTooth": "Read the findings recorded on one tooth (FDI id).",
|
|
1452
|
-
"
|
|
1453
|
-
"
|
|
1470
|
+
"getTooth": "Read the BUILT-IN findings recorded on one tooth (FDI id), as a flat list of condition ids. Practice-defined findings, per-finding surfaces, roots and status are not included — use get_symbols for the tooth's full record.",
|
|
1471
|
+
"getSymbols": "Read one tooth's full finding record (incl. notes) — one entry per symbol, each with its own surfaces, roots, planned/executed status, colour override, provenance id and free-text note. Normalised, so a tooth charted with the flat conditions/surfaces pair reports the same shape.",
|
|
1472
|
+
"getNotes": "Read the tooth-level free-text clinical note, or null when there is none. Per-finding notes are separate — they come back from get_symbols.",
|
|
1473
|
+
"teethWith": "List the ids carrying a given built-in finding — FDI tooth ids and/or special-element ids (e.g. all teeth with caries). For a practice-defined finding use teeth_with_symbol.",
|
|
1474
|
+
"teethWithSymbol": "As teeth_with, but open to the practice-defined ids in the host's `conditionRegistry` as well as the built-ins.",
|
|
1475
|
+
"getRadiographs": "Read the radiographs (x-rays) attached to one tooth, including their notes, dates and image urls.",
|
|
1454
1476
|
"openRadiographs": "Focus a tooth and open its radiograph archive (fires the host's onOpenRadiographs).",
|
|
1455
|
-
"setFinding": "Record a finding on a tooth or region element (crown, implant, root canal, caries, …). Optionally mark the affected surfaces for a surface finding.",
|
|
1456
|
-
"
|
|
1477
|
+
"setFinding": "Record a built-in finding on a tooth or region element (crown, implant, root canal, caries, …). Optionally mark the affected surfaces for a surface finding. Structural only — to set a finding’s roots, planned/executed status, colour or note, or to chart a practice-defined finding, use set_symbol.",
|
|
1478
|
+
"setSymbol": "Add or replace one finding on a tooth or region element, with its own part, surfaces, roots, planned/executed status, colour override and note. Matched by `symbol.id` when the symbol carries provenance, otherwise by its condition; appended when nothing matches. Accepts practice-defined `conditionRegistry` ids as well as the built-ins.",
|
|
1479
|
+
"removeFinding": "Remove a finding from a tooth — every symbol carrying that condition goes, whatever its surfaces or roots. Built-in ids only.",
|
|
1457
1480
|
"clearTooth": "Clear every finding from a tooth."
|
|
1458
1481
|
}
|
|
1459
1482
|
},
|
|
@@ -1798,11 +1821,6 @@
|
|
|
1798
1821
|
"clearDiagnosis": "Reset the recorded stage, grade, extent and contributing factors back to empty, leaving the chart readings untouched. Not undoable from this surface."
|
|
1799
1822
|
}
|
|
1800
1823
|
},
|
|
1801
|
-
"practiceProfileHero": {
|
|
1802
|
-
"workflows": {
|
|
1803
|
-
"viewProfile": "Read the practice's public profile summary — name, tagline, average rating, review count, and trust badges."
|
|
1804
|
-
}
|
|
1805
|
-
},
|
|
1806
1824
|
"prenota": {
|
|
1807
1825
|
"workflows": {
|
|
1808
1826
|
"searchPractitioners": "Pick a specialty / clinic and a location in the hero search comboboxes and submit to find matching practitioners.",
|
|
@@ -18,6 +18,15 @@ export interface BookingService {
|
|
|
18
18
|
label: string;
|
|
19
19
|
/** Minutes — required for slot fetching. */
|
|
20
20
|
durationMin: number;
|
|
21
|
+
/**
|
|
22
|
+
* Pre-formatted price label (e.g. "€ 80", "da € 60"). When present, the
|
|
23
|
+
* service picker shows the price INSTEAD of the duration — durations vary
|
|
24
|
+
* case by case and set the wrong expectation, while price is what patients
|
|
25
|
+
* compare. `durationMin` keeps driving slot fetching either way. Currency
|
|
26
|
+
* and number formatting are the consumer's domain — the kit renders the
|
|
27
|
+
* string verbatim. Added in 1.6.0.
|
|
28
|
+
*/
|
|
29
|
+
priceLabel?: string;
|
|
21
30
|
/** Required when useSpecialties is true. */
|
|
22
31
|
specialtyId?: string;
|
|
23
32
|
/** Operators who can perform this service. */
|
|
@@ -172,6 +172,7 @@ export * from './care-plan-card';
|
|
|
172
172
|
export * from './care-plan-entry-card';
|
|
173
173
|
export * from './care-plan-header';
|
|
174
174
|
export * from './operator-hero';
|
|
175
|
+
export * from './practice-profile-hero';
|
|
175
176
|
export * from './patient-details';
|
|
176
177
|
export * from './patient-search';
|
|
177
178
|
export * from './patient-summary-card';
|
|
@@ -196,6 +197,7 @@ export * from './sign-document';
|
|
|
196
197
|
export * from './slot-grid';
|
|
197
198
|
export * from './face-scheme';
|
|
198
199
|
export * from './tooth-scheme';
|
|
200
|
+
export * from './tooth-finding-palette';
|
|
199
201
|
export * from './transaction-chip';
|
|
200
202
|
export * from './whatsapp-button';
|
|
201
203
|
export * from './workflow';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as t, M as s, P as e, a as i, b as E, c as r, d as P, S as _, e as n, f as A, g as d, h as l, p as T, i as p, j as C, k as L, s as N, t as O, l as R } from "../../_chunks/periodontal-chart-
|
|
1
|
+
import { B as t, M as s, P as e, a as i, b as E, c as r, d as P, S as _, e as n, f as A, g as d, h as l, p as T, i as p, j as C, k as L, s as N, t as O, l as R } from "../../_chunks/periodontal-chart-C0nNQKKK.js";
|
|
2
2
|
export {
|
|
3
3
|
t as BLEEDING_WARN_PERCENT,
|
|
4
4
|
s as MODERATE_POCKET_MM,
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { PracticeProfileHero } from './practice-profile-hero';
|
|
2
|
+
export type { PracticeProfileHeroProps, PracticeProfileHeroBadge, PracticeProfileHeroRating, PracticeProfileHeroHandle, } from './practice-profile-hero';
|
|
3
|
+
export { practiceProfileHeroAgent } from './practice-profile-hero.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentAdapter } from '../../agent/types';
|
|
2
|
+
import type { PracticeProfileHeroHandle } from './practice-profile-hero';
|
|
3
|
+
export declare const practiceProfileHeroAgent: AgentAdapter<PracticeProfileHeroHandle>;
|
|
4
|
+
//# sourceMappingURL=practice-profile-hero.agent.d.ts.map
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
+
export interface PracticeProfileHeroBadge {
|
|
3
|
+
/** Display key — i18n is up to the consumer. */
|
|
4
|
+
key: string;
|
|
5
|
+
/** Display label. */
|
|
6
|
+
label: string;
|
|
7
|
+
/** Badge variant — falls back to `neutral`. */
|
|
8
|
+
variant?: 'neutral' | 'info' | 'success' | 'warning' | 'error';
|
|
9
|
+
}
|
|
10
|
+
export interface PracticeProfileHeroRating {
|
|
11
|
+
/** Mean rating, 0–5. */
|
|
12
|
+
value: number;
|
|
13
|
+
/** Total number of reviews. */
|
|
14
|
+
count: number;
|
|
15
|
+
}
|
|
16
|
+
export interface PracticeProfileHeroHandle {
|
|
17
|
+
getName: () => string;
|
|
18
|
+
/** Structural flag — whether a cover strip is rendered. No PHI. */
|
|
19
|
+
getHasCover: () => boolean;
|
|
20
|
+
}
|
|
21
|
+
export interface PracticeProfileHeroProps extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label' | 'children'> {
|
|
22
|
+
/** Practice display name. Rendered as the H1 heading. */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Slogan / tagline subtitle (e.g. "15 anni di esperienza nel cuore di Brera"). */
|
|
25
|
+
tagline?: string;
|
|
26
|
+
/**
|
|
27
|
+
* Optional practice photo / logo URL. The kit always renders an
|
|
28
|
+
* `<Avatar>` — when `imageUrl` is missing the avatar falls back to
|
|
29
|
+
* initials.
|
|
30
|
+
*/
|
|
31
|
+
imageUrl?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional cover image painted as a full-width strip above the body.
|
|
34
|
+
* The strip renders ONLY when this is set — a practice without a cover
|
|
35
|
+
* image gets no strip (and no empty gradient band). While the image
|
|
36
|
+
* loads, the brand gradient shows underneath it.
|
|
37
|
+
*/
|
|
38
|
+
coverImageUrl?: string;
|
|
39
|
+
/** Rating summary — when present, renders a Rating + numeric breakdown line. */
|
|
40
|
+
rating?: PracticeProfileHeroRating;
|
|
41
|
+
/**
|
|
42
|
+
* Optional badge row beneath the rating. Use sparingly — 1–3 chips
|
|
43
|
+
* suit the hero's density; longer lists belong in `<ContactProfileCard>`.
|
|
44
|
+
*/
|
|
45
|
+
badges?: PracticeProfileHeroBadge[];
|
|
46
|
+
/**
|
|
47
|
+
* Rendered at the inline-end of the heading row (right side on LTR).
|
|
48
|
+
* Use for a "Book an appointment" `<Button>` or a share action.
|
|
49
|
+
*/
|
|
50
|
+
actionSlot?: ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* `elevated` (default) wraps in `<Card variant="elevated">`. `flat`
|
|
53
|
+
* drops the Card — use inside another card / sheet.
|
|
54
|
+
*/
|
|
55
|
+
surface?: 'flat' | 'elevated';
|
|
56
|
+
'aria-label'?: string;
|
|
57
|
+
id?: string;
|
|
58
|
+
}
|
|
59
|
+
export declare const PracticeProfileHero: import("react").ForwardRefExoticComponent<PracticeProfileHeroProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
60
|
+
//# sourceMappingURL=practice-profile-hero.d.ts.map
|
|
@@ -74,9 +74,23 @@ export interface FacetOption {
|
|
|
74
74
|
export interface FacetGroup {
|
|
75
75
|
key: string;
|
|
76
76
|
label: string;
|
|
77
|
-
/**
|
|
77
|
+
/** Non-empty = dropdown of selectable options. */
|
|
78
78
|
options: FacetOption[];
|
|
79
79
|
multi?: boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Facet behaviour. `'boolean'` renders a single on/off toggle chip that
|
|
82
|
+
* keeps results whose `field` (default: `key`) is `true`. `'options'`
|
|
83
|
+
* forces dropdown semantics. When omitted, non-empty `options` means
|
|
84
|
+
* dropdown; an empty `options` array falls back to the legacy boolean
|
|
85
|
+
* degrade ONLY when at least one result actually carries a boolean at
|
|
86
|
+
* `field` — otherwise the group is not rendered and not filtered on.
|
|
87
|
+
* (Before 1.6.0 an empty-options group always became a boolean toggle
|
|
88
|
+
* keyed by `key`; with missing data or a mismatched field name a single
|
|
89
|
+
* click filtered out every result.) Added in 1.6.0.
|
|
90
|
+
*/
|
|
91
|
+
type?: 'options' | 'boolean';
|
|
92
|
+
/** Result field a boolean facet reads — defaults to `key`. Added in 1.6.0. */
|
|
93
|
+
field?: string;
|
|
80
94
|
}
|
|
81
95
|
export interface PracticeResultsHandle {
|
|
82
96
|
getVariant: () => PracticeResultsVariant;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ToothFindingPalette, toothFindingPaletteVariants, DEFAULT_FINDING_GROUPS, CUSTOM_FINDING_GROUP_ID, } from './tooth-finding-palette';
|
|
2
|
+
export type { ToothFindingPaletteProps, ToothFindingPaletteHandle, ToothFindingPaletteGroup, } from './tooth-finding-palette';
|
|
3
|
+
export { toothFindingPaletteAgent } from './tooth-finding-palette.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { C as e, D as n, T as o, t as i, a as s } from "../../_chunks/tooth-finding-palette-vqC-D2Ye.js";
|
|
2
|
+
export {
|
|
3
|
+
e as CUSTOM_FINDING_GROUP_ID,
|
|
4
|
+
n as DEFAULT_FINDING_GROUPS,
|
|
5
|
+
o as ToothFindingPalette,
|
|
6
|
+
i as toothFindingPaletteAgent,
|
|
7
|
+
s as toothFindingPaletteVariants
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { AgentAdapter } from '../../agent/types';
|
|
2
|
+
import type { ToothFindingPaletteHandle } from './tooth-finding-palette';
|
|
3
|
+
export declare const toothFindingPaletteAgent: AgentAdapter<ToothFindingPaletteHandle>;
|
|
4
|
+
//# sourceMappingURL=tooth-finding-palette.agent.d.ts.map
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
2
|
+
import { type ConditionDefinition, type ConditionId, type SymbolStatus } from '../tooth-scheme/tooth-data';
|
|
3
|
+
/** One clinically-meaningful run of tools inside the palette. */
|
|
4
|
+
export interface ToothFindingPaletteGroup {
|
|
5
|
+
/** Stable id — emitted as `data-group` and used for the default heading key. */
|
|
6
|
+
id: string;
|
|
7
|
+
/**
|
|
8
|
+
* Already-translated heading. Omit for a built-in group and the palette
|
|
9
|
+
* resolves `toothFindingPalette.group.<id>` instead; a custom group with no
|
|
10
|
+
* label and no matching key falls back to its own id.
|
|
11
|
+
*/
|
|
12
|
+
label?: string;
|
|
13
|
+
/** Findings in this group, in render order. */
|
|
14
|
+
conditions: ConditionId[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Curated imperative handle. Exposed as the `forwardRef` target so a future
|
|
18
|
+
* agent / MCP UI bridge can arm a tool without touching the DOM — see
|
|
19
|
+
* `tooth-finding-palette.agent.ts`. Everything here is transient tool state;
|
|
20
|
+
* no patient record is reachable through it.
|
|
21
|
+
*/
|
|
22
|
+
export interface ToothFindingPaletteHandle {
|
|
23
|
+
/** The armed finding id, or null when the palette is disarmed. */
|
|
24
|
+
getValue: () => ConditionId | null;
|
|
25
|
+
/** Arm a finding tool (or pass null to disarm). */
|
|
26
|
+
setValue: (condition: ConditionId | null) => void;
|
|
27
|
+
/** Disarm the palette. Charted findings are untouched. */
|
|
28
|
+
clear: () => void;
|
|
29
|
+
/** The status the next charted finding takes. */
|
|
30
|
+
getStatus: () => SymbolStatus;
|
|
31
|
+
setStatus: (status: SymbolStatus) => void;
|
|
32
|
+
/** Every finding id the palette currently offers, in render order. */
|
|
33
|
+
getTools: () => ConditionId[];
|
|
34
|
+
/** Move the roving tab stop (and focus) to a tool without arming it. */
|
|
35
|
+
focusTool: (condition: ConditionId) => void;
|
|
36
|
+
}
|
|
37
|
+
export interface ToothFindingPaletteProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue' | 'role' | 'color'> {
|
|
38
|
+
/** Controlled armed finding. `null` means "no tool armed". */
|
|
39
|
+
value?: ConditionId | null;
|
|
40
|
+
/** Initial armed finding when uncontrolled. */
|
|
41
|
+
defaultValue?: ConditionId | null;
|
|
42
|
+
/** Fires on every arm / disarm, including the toggle-off to `null`. */
|
|
43
|
+
onChange?: (condition: ConditionId | null) => void;
|
|
44
|
+
/**
|
|
45
|
+
* Which tools to show. Ignored when `groups` is supplied (order the groups
|
|
46
|
+
* instead). Omit both and the palette ships the default grouping of all
|
|
47
|
+
* built-in findings.
|
|
48
|
+
*/
|
|
49
|
+
conditions?: ConditionId[];
|
|
50
|
+
/** Explicit grouping. Wins over `conditions`. */
|
|
51
|
+
groups?: ToothFindingPaletteGroup[];
|
|
52
|
+
/**
|
|
53
|
+
* Practice-defined findings. They resolve exactly as they do on the chart
|
|
54
|
+
* (registry → built-in → glyph fallback) and, under the default grouping,
|
|
55
|
+
* any id that is not a built-in is appended as a "Practice findings" group.
|
|
56
|
+
*/
|
|
57
|
+
conditionRegistry?: ConditionDefinition[];
|
|
58
|
+
/** Show the planned / executed selector. Default `false`. */
|
|
59
|
+
showStatus?: boolean;
|
|
60
|
+
/** Controlled execution status. */
|
|
61
|
+
status?: SymbolStatus;
|
|
62
|
+
/** Initial execution status when uncontrolled. Default `'planned'`. */
|
|
63
|
+
defaultStatus?: SymbolStatus;
|
|
64
|
+
onStatusChange?: (status: SymbolStatus) => void;
|
|
65
|
+
/** Tile scale. Default `'md'`. */
|
|
66
|
+
size?: 'sm' | 'md' | 'lg';
|
|
67
|
+
/** Wide bar (`'horizontal'`, default) or sidebar rail (`'vertical'`). */
|
|
68
|
+
orientation?: 'horizontal' | 'vertical';
|
|
69
|
+
/** Root the tooth renders are served from. Matches `ToothScheme`. */
|
|
70
|
+
assetBaseUrl?: string;
|
|
71
|
+
/** Disable every tool. */
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
/** Disable individual tools (e.g. findings this practice cannot chart). */
|
|
74
|
+
disabledConditions?: ConditionId[];
|
|
75
|
+
/** Accessible name for the toolbar. Falls back to a translated default. */
|
|
76
|
+
ariaLabel?: string;
|
|
77
|
+
/** Render the group headings. Default `true`. */
|
|
78
|
+
showGroupLabels?: boolean;
|
|
79
|
+
className?: string;
|
|
80
|
+
}
|
|
81
|
+
export declare const DEFAULT_FINDING_GROUPS: ToothFindingPaletteGroup[];
|
|
82
|
+
/** Group id used for registry findings under the default grouping. */
|
|
83
|
+
export declare const CUSTOM_FINDING_GROUP_ID = "custom";
|
|
84
|
+
export declare const toothFindingPaletteVariants: (props?: ({
|
|
85
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
86
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
87
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
88
|
+
export declare const ToothFindingPalette: import("react").ForwardRefExoticComponent<ToothFindingPaletteProps & import("react").RefAttributes<ToothFindingPaletteHandle>>;
|
|
89
|
+
//# sourceMappingURL=tooth-finding-palette.d.ts.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './tooth-scheme';
|
|
2
|
-
export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, toothImageUrl, conditionSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, emptyChart, labelFor, layoutTeeth, layoutSpecials, specialsForRow, specialIconUrl, generalElement, isSpecialElement, SPECIAL_ELEMENTS, SPECIAL_BY_ID, } from './tooth-data';
|
|
3
|
-
export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, Radiograph, RadiographKind, SideSymbolSpec, SpecialElement, SpecialElementKind, PositionedSpecial, ToothMeta, PositionedTooth, } from './tooth-data';
|
|
2
|
+
export { FDI_TO_META, FDI_TO_UNIVERSAL, FDI_TO_PALMER, CONDITION_COLORS, CONDITION_TOKENS, CONDITION_PART, CONDITION_SIDE_SYMBOL, CONDITION_PLAN_SYMBOL, CONDITION_PLAN_FOLDER, SURFACE_ASSET_NAME, TOOTH_CONDITIONS, INTRINSIC_CONDITIONS, STATUS_TOKENS, STATUS_COLORS, STATUS_OPACITY, FALLBACK_CONDITION_TOKEN, isBuiltInCondition, statusLabelKey, conditionLabelKey, conditionDefinition, conditionLabel, conditionColor, conditionPart, conditionGlyph, conditionHasArtwork, conditionSideSymbol, conditionPlanSymbol, conditionPlanFolder, symbolColor, symbolsForTooth, rootsForTooth, rootScreenSide, rootFileStem, toothImageUrl, conditionSymbolUrl, planSymbolUrl, surfaceSymbolUrl, zonesForTooth, zoneSurface, zonePath, chartFromConditions, chartFromSymbols, emptyChart, labelFor, layoutTeeth, layoutSpecials, specialsForRow, specialIconUrl, generalElement, isSpecialElement, SPECIAL_ELEMENTS, SPECIAL_BY_ID, } from './tooth-data';
|
|
3
|
+
export type { Anatomy, Arch, Quadrant, Side, Surface, SurfaceZone, Projection, ViewMode, Radiograph, RadiographKind, SideSymbolSpec, SymbolTarget, SymbolRegion, SymbolLetter, SymbolPart, SymbolStatus, Root, RootFileStem, ConditionId, ConditionDefinition, ConditionRegistry, ConditionLabel, ToothSymbol, SpecialElement, SpecialElementKind, PositionedSpecial, ToothMeta, PositionedTooth, } from './tooth-data';
|
|
4
4
|
export { toothSchemeAgent } from './tooth-scheme.agent';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,35 +1,62 @@
|
|
|
1
|
-
import { T as
|
|
2
|
-
import { C as
|
|
1
|
+
import { T as s, t, r as e } from "../../_chunks/tooth-scheme-BPXE1_3N.js";
|
|
2
|
+
import { C as i, a as T, b as S, c as l, d as r, e as I, F as O, f as N, g as _, h as c, I as E, P as C, i as A, S as m, j as L, k as d, l as h, m as D, n as F, T as y, o as P, p as b, q as R, r as U, s as p, t as M, u, v as K, w as f, x as B, y as Y, z as H, A as g, B as z, D as w, E as x, G as V, H as k, J as G, K as j, L as q, M as v, N as J, O as Q, Q as W, R as X, U as Z, V as $, W as aa, X as oa, Y as sa, Z as ta, _ as ea, $ as na } from "../../_chunks/tooth-data-DR8Kdnup.js";
|
|
3
3
|
export {
|
|
4
|
-
|
|
4
|
+
i as CONDITION_COLORS,
|
|
5
|
+
T as CONDITION_PART,
|
|
5
6
|
S as CONDITION_PLAN_FOLDER,
|
|
6
|
-
|
|
7
|
+
l as CONDITION_PLAN_SYMBOL,
|
|
8
|
+
r as CONDITION_SIDE_SYMBOL,
|
|
7
9
|
I as CONDITION_TOKENS,
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
m as
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
10
|
+
O as FALLBACK_CONDITION_TOKEN,
|
|
11
|
+
N as FDI_TO_META,
|
|
12
|
+
_ as FDI_TO_PALMER,
|
|
13
|
+
c as FDI_TO_UNIVERSAL,
|
|
14
|
+
E as INTRINSIC_CONDITIONS,
|
|
15
|
+
C as PERMANENT_TEETH,
|
|
16
|
+
A as PRIMARY_TEETH,
|
|
17
|
+
m as SPECIAL_BY_ID,
|
|
18
|
+
L as SPECIAL_ELEMENTS,
|
|
19
|
+
d as STATUS_COLORS,
|
|
20
|
+
h as STATUS_OPACITY,
|
|
21
|
+
D as STATUS_TOKENS,
|
|
22
|
+
F as SURFACE_ASSET_NAME,
|
|
23
|
+
y as TOOTH_CONDITIONS,
|
|
24
|
+
s as ToothScheme,
|
|
25
|
+
P as chartFromConditions,
|
|
26
|
+
b as chartFromSymbols,
|
|
27
|
+
R as conditionColor,
|
|
28
|
+
U as conditionDefinition,
|
|
29
|
+
p as conditionGlyph,
|
|
30
|
+
M as conditionHasArtwork,
|
|
31
|
+
u as conditionLabel,
|
|
32
|
+
K as conditionLabelKey,
|
|
33
|
+
f as conditionPart,
|
|
34
|
+
B as conditionPlanFolder,
|
|
35
|
+
Y as conditionPlanSymbol,
|
|
36
|
+
H as conditionSideSymbol,
|
|
37
|
+
g as conditionSymbolUrl,
|
|
38
|
+
z as emptyChart,
|
|
39
|
+
w as generalElement,
|
|
40
|
+
x as isBuiltInCondition,
|
|
41
|
+
V as isSpecialElement,
|
|
42
|
+
k as labelFor,
|
|
43
|
+
G as layoutSpecials,
|
|
44
|
+
j as layoutTeeth,
|
|
45
|
+
q as planSymbolUrl,
|
|
46
|
+
v as rootFileStem,
|
|
47
|
+
J as rootScreenSide,
|
|
48
|
+
Q as rootsForTooth,
|
|
49
|
+
W as specialIconUrl,
|
|
50
|
+
X as specialsForRow,
|
|
51
|
+
Z as statusLabelKey,
|
|
52
|
+
$ as surfaceSymbolUrl,
|
|
53
|
+
aa as symbolColor,
|
|
54
|
+
oa as symbolsForTooth,
|
|
55
|
+
sa as toothImageUrl,
|
|
56
|
+
t as toothSchemeAgent,
|
|
57
|
+
e as toothSchemeVariants,
|
|
58
|
+
ta as zonePath,
|
|
59
|
+
ea as zoneSurface,
|
|
60
|
+
na as zonesForTooth
|
|
34
61
|
};
|
|
35
62
|
//# sourceMappingURL=index.js.map
|