@alfadocs/ui-kit-debug 1.4.16 → 1.5.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/{anamnesis-summary-rows-CVzxC2X3.js → anamnesis-summary-rows-BpYztFUv.js} +20 -4
- package/dist/_chunks/{anamnesis-summary-rows-CVzxC2X3.js.map → anamnesis-summary-rows-BpYztFUv.js.map} +1 -1
- package/dist/_chunks/{care-plan-card-C83Hb9EE.js → care-plan-card-CehAU7F_.js} +2 -2
- package/dist/_chunks/{care-plan-card-C83Hb9EE.js.map → care-plan-card-CehAU7F_.js.map} +1 -1
- package/dist/_chunks/{care-plan-entry-card-CHMPSTCz.js → care-plan-entry-card-ChWRMfMw.js} +2 -2
- package/dist/_chunks/{care-plan-entry-card-CHMPSTCz.js.map → care-plan-entry-card-ChWRMfMw.js.map} +1 -1
- package/dist/_chunks/{periodontal-chart-brakjj0s.js → periodontal-chart-C0nNQKKK.js} +121 -121
- package/dist/_chunks/{periodontal-chart-brakjj0s.js.map → periodontal-chart-C0nNQKKK.js.map} +1 -1
- package/dist/_chunks/tooth-data-DR8Kdnup.js +903 -0
- package/dist/_chunks/tooth-data-DR8Kdnup.js.map +1 -0
- package/dist/_chunks/tooth-finding-palette-vqC-D2Ye.js +708 -0
- package/dist/_chunks/tooth-finding-palette-vqC-D2Ye.js.map +1 -0
- package/dist/_chunks/tooth-scheme-BPXE1_3N.js +2051 -0
- package/dist/_chunks/tooth-scheme-BPXE1_3N.js.map +1 -0
- package/dist/agent-catalog.json +465 -21
- package/dist/agent-i18n/en.json +23 -6
- 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 +1 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/periodontal-chart/index.js +1 -1
- package/dist/components/tooth-finding-palette/index.d.ts +4 -0
- package/dist/components/tooth-finding-palette/index.d.ts.map +1 -0
- package/dist/components/tooth-finding-palette/index.js +9 -0
- package/dist/components/tooth-finding-palette/index.js.map +1 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.agent.d.ts +4 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.agent.d.ts.map +1 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.d.ts +89 -0
- package/dist/components/tooth-finding-palette/tooth-finding-palette.d.ts.map +1 -0
- package/dist/components/tooth-scheme/index.d.ts +2 -2
- package/dist/components/tooth-scheme/index.d.ts.map +1 -1
- 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-data.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
- package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts.map +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +30 -3
- package/dist/components/tooth-scheme/tooth-scheme.d.ts.map +1 -1
- package/dist/i18n/locales/ar.d.ts +40 -1
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +41 -2
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +40 -1
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +41 -2
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +40 -1
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +41 -2
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +40 -1
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +41 -2
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +40 -1
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +41 -2
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +40 -1
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +41 -2
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +40 -1
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +41 -2
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +40 -1
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +41 -2
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +40 -1
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +41 -2
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +40 -1
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +41 -2
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +40 -1
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +41 -2
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +40 -1
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +41 -2
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +40 -1
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +41 -2
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +40 -1
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +41 -2
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +40 -1
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +41 -2
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +40 -1
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +41 -2
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +40 -1
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +41 -2
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +40 -1
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +41 -2
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +448 -415
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +41 -2
- package/dist/locales/de.json +41 -2
- package/dist/locales/el.json +41 -2
- package/dist/locales/en.json +41 -2
- package/dist/locales/es.json +41 -2
- package/dist/locales/fr.json +41 -2
- package/dist/locales/hi.json +41 -2
- package/dist/locales/it.json +41 -2
- package/dist/locales/ja.json +41 -2
- package/dist/locales/nl.json +41 -2
- package/dist/locales/pl.json +41 -2
- package/dist/locales/pt.json +41 -2
- package/dist/locales/ro.json +41 -2
- package/dist/locales/ru.json +41 -2
- package/dist/locales/sq.json +41 -2
- package/dist/locales/sv.json +41 -2
- package/dist/locales/tr.json +41 -2
- package/dist/locales/zh.json +41 -2
- package/dist/patterns/anamnesis/anamnesis-i18n.d.ts.map +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +5 -1
- package/dist/_chunks/tooth-data-BwuoKFf4.js +0 -660
- package/dist/_chunks/tooth-data-BwuoKFf4.js.map +0 -1
- package/dist/_chunks/tooth-scheme-s0ipC0-Z.js +0 -1483
- package/dist/_chunks/tooth-scheme-s0ipC0-Z.js.map +0 -1
|
@@ -196,6 +196,7 @@ export * from './sign-document';
|
|
|
196
196
|
export * from './slot-grid';
|
|
197
197
|
export * from './face-scheme';
|
|
198
198
|
export * from './tooth-scheme';
|
|
199
|
+
export * from './tooth-finding-palette';
|
|
199
200
|
export * from './transaction-chip';
|
|
200
201
|
export * from './whatsapp-button';
|
|
201
202
|
export * from './workflow';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 { 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 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tooth-finding-palette/index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,mBAAmB,EACnB,2BAA2B,EAC3B,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"tooth-finding-palette.agent.d.ts","sourceRoot":"","sources":["../../../src/components/tooth-finding-palette/tooth-finding-palette.agent.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AA+BzE,eAAO,MAAM,wBAAwB,EAAE,YAAY,CAAC,yBAAyB,CAoI1E,CAAC"}
|
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooth-finding-palette.d.ts","sourceRoot":"","sources":["../../../src/components/tooth-finding-palette/tooth-finding-palette.tsx"],"names":[],"mappings":"AA6BA,OAAO,EAOL,KAAK,cAAc,EAGpB,MAAM,OAAO,CAAC;AAMf,OAAO,EAaL,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAEhB,KAAK,YAAY,EAClB,MAAM,4BAA4B,CAAC;AAMpC,iEAAiE;AACjE,MAAM,WAAW,wBAAwB;IACvC,gFAAgF;IAChF,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,yBAAyB;IACxC,kEAAkE;IAClE,QAAQ,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;IACnC,mDAAmD;IACnD,QAAQ,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IAClD,0DAA0D;IAC1D,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,iDAAiD;IACjD,SAAS,EAAE,MAAM,YAAY,CAAC;IAC9B,SAAS,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC1C,sEAAsE;IACtE,QAAQ,EAAE,MAAM,WAAW,EAAE,CAAC;IAC9B,wEAAwE;IACxE,SAAS,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;CAC7C;AAED,MAAM,WAAW,wBAAyB,SAAQ,IAAI,CACpD,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,GAAG,cAAc,GAAG,MAAM,GAAG,OAAO,CAC/C;IACC,8DAA8D;IAC9D,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAC3B,+CAA+C;IAC/C,YAAY,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;IAClC,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,iDAAiD;IACjD,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAC1C,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,mCAAmC;IACnC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,uEAAuE;IACvE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAChD,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC1B,yEAAyE;IACzE,WAAW,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACxC,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,WAAW,EAAE,CAAC;IACnC,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,eAAO,MAAM,sBAAsB,EAAE,wBAAwB,EA0B5D,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAYhD,eAAO,MAAM,2BAA2B;;;8EAoBvC,CAAC;AAyVF,eAAO,MAAM,mBAAmB,gIA0X9B,CAAC"}
|
|
@@ -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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tooth-scheme/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAU,EACV,UAAU,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tooth-scheme/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,WAAW,EACX,UAAU,EACV,QAAQ,EACR,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,SAAS,EACT,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -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
|
|
@@ -3,10 +3,67 @@ export type Dentition = 'permanent' | 'primary' | 'mixed';
|
|
|
3
3
|
export type Numbering = 'fdi' | 'universal' | 'palmer';
|
|
4
4
|
export type ToothMode = 'interactive' | 'display';
|
|
5
5
|
export type Surface = 'mesial' | 'distal' | 'occlusal' | 'buccal' | 'lingual';
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Built-in findings. `destroyed` is the platform's *radice persistente*
|
|
8
|
+
* (retained root); the id is frozen for backward compatibility but the label
|
|
9
|
+
* and docs read "Retained root" so the two systems describe the same thing.
|
|
10
|
+
* `xray` is the chartable radiograph SYMBOL — distinct from the `radiographs`
|
|
11
|
+
* image archive a tooth can also carry.
|
|
12
|
+
*/
|
|
13
|
+
export type ToothCondition = 'caries' | 'filled' | 'crowned' | 'temporaryCrown' | 'bridge' | 'missing' | 'implant' | 'implantExtraction' | 'stub' | 'destroyed' | 'rootCanal' | 'pin' | 'rootAmputation' | 'anchorage' | 'hook' | 'attachment' | 'mucogingivalSurgery' | 'periodontalSurgery' | 'curettage' | 'medication' | 'xray';
|
|
14
|
+
/**
|
|
15
|
+
* Open condition id: a built-in, or an id from a consumer's condition registry.
|
|
16
|
+
* The `(string & {})` keeps editor autocomplete on the built-ins while still
|
|
17
|
+
* accepting a practice-defined finding.
|
|
18
|
+
*/
|
|
19
|
+
export type ConditionId = ToothCondition | (string & {});
|
|
20
|
+
/** Which anatomical layer a symbol marks — mirrors the platform's `part`. */
|
|
21
|
+
export type SymbolPart = 'element' | 'surface' | 'root';
|
|
22
|
+
/** Planned vs already executed. Matches the Care Plan's blue/green convention. */
|
|
23
|
+
export type SymbolStatus = 'planned' | 'executed';
|
|
24
|
+
/**
|
|
25
|
+
* A tooth's roots, named anatomically; `'single'` covers every one-rooted
|
|
26
|
+
* tooth. For flank-mounted markers (anchorage, hook) `mesial` / `distal` select
|
|
27
|
+
* which SIDE of the tooth the marker sits on rather than a root proper.
|
|
28
|
+
*/
|
|
29
|
+
export type Root = 'mesial' | 'distal' | 'palatal' | 'buccal' | 'single';
|
|
30
|
+
/**
|
|
31
|
+
* One charted finding. Unlike the legacy `conditions` + `surfaces` pair — where
|
|
32
|
+
* a single flat surface list is shared by every condition on the tooth — a
|
|
33
|
+
* symbol scopes its own surfaces and roots, so two fillings on one tooth (one
|
|
34
|
+
* mesial, one distal) are finally representable.
|
|
35
|
+
*/
|
|
36
|
+
export interface ToothSymbol {
|
|
37
|
+
/**
|
|
38
|
+
* Provenance — the platform's carePlanEntryId / findingEntryId. Lets a
|
|
39
|
+
* consumer route a click on the symbol back to the record that produced it.
|
|
40
|
+
*/
|
|
41
|
+
id?: string;
|
|
42
|
+
condition: ConditionId;
|
|
43
|
+
/** Defaults to the condition's natural part (see `conditionPart`). */
|
|
44
|
+
part?: SymbolPart;
|
|
45
|
+
surfaces?: Surface[];
|
|
46
|
+
roots?: Root[];
|
|
47
|
+
/**
|
|
48
|
+
* Where a flank-mounted marker sits — the gingival surgeries ship
|
|
49
|
+
* `left` / `right` / `total` / `repeat` renders rather than per-root ones.
|
|
50
|
+
* Omitted, they fall back to `repeat`.
|
|
51
|
+
*/
|
|
52
|
+
region?: SymbolRegion;
|
|
53
|
+
status?: SymbolStatus;
|
|
54
|
+
/** Per-practice colour override (a CSS colour or `var(--token)`). */
|
|
55
|
+
color?: string;
|
|
56
|
+
note?: string;
|
|
57
|
+
}
|
|
7
58
|
export interface ToothState {
|
|
8
59
|
conditions: ToothCondition[];
|
|
9
60
|
surfaces: Surface[];
|
|
61
|
+
/**
|
|
62
|
+
* Per-symbol findings. When present these WIN over `conditions`/`surfaces`;
|
|
63
|
+
* when absent `symbolsForTooth()` derives the equivalent list from them, so
|
|
64
|
+
* the renderer only ever walks one shape.
|
|
65
|
+
*/
|
|
66
|
+
symbols?: ToothSymbol[];
|
|
10
67
|
notes?: string;
|
|
11
68
|
}
|
|
12
69
|
export type ToothChart = Record<FdiId, ToothState>;
|
|
@@ -81,24 +138,150 @@ export declare const FDI_TO_PALMER: Record<FdiId, string>;
|
|
|
81
138
|
export declare function assetFdi(meta: ToothMeta): FdiId;
|
|
82
139
|
/** Render scale applied to a tooth image (primary teeth are smaller). */
|
|
83
140
|
export declare const PRIMARY_TOOTH_SCALE = 0.72;
|
|
141
|
+
/** Positional file stem used by the per-root `rootTreatment` renders. */
|
|
142
|
+
export type RootFileStem = 'full' | 'left' | 'right' | 'center';
|
|
143
|
+
/**
|
|
144
|
+
* The roots a tooth's artwork distinguishes: upper molars are three-rooted
|
|
145
|
+
* (mesial, distal, palatal), lower molars two-rooted, everything else renders
|
|
146
|
+
* as one root. Derived from `assetFdi` rather than `meta.anatomy` because a
|
|
147
|
+
* primary molar reuses PREMOLAR art (54 draws 14) and so has one root's worth
|
|
148
|
+
* of renders. The upper first premolars 14/24 are treated as single-rooted for
|
|
149
|
+
* the same reason — clinically they are often bifurcated, but no second render
|
|
150
|
+
* ships, and a wrong answer here resolves to a file that does not exist.
|
|
151
|
+
*/
|
|
152
|
+
export declare function rootsForTooth(meta: ToothMeta): Root[];
|
|
153
|
+
/**
|
|
154
|
+
* Which SCREEN side a tooth's mesial or distal root faces. The chart is FIXED
|
|
155
|
+
* to clinical orientation — the patient's right sits on the viewer's left in
|
|
156
|
+
* BOTH arches — so the midline falls on the viewer's RIGHT for the patient's
|
|
157
|
+
* right quadrants (1 & 4) and on the viewer's LEFT for the patient's left
|
|
158
|
+
* quadrants (2 & 3). Mesial means "toward the midline", so it flips with it;
|
|
159
|
+
* distal is always its opposite. This is the same flip `zoneSurface` applies
|
|
160
|
+
* to the plan view's left/right zones. Primary quadrants normalise (5-8 → 1-4).
|
|
161
|
+
*/
|
|
162
|
+
export declare function rootScreenSide(meta: ToothMeta, root: 'mesial' | 'distal'): 'left' | 'right';
|
|
163
|
+
/**
|
|
164
|
+
* Map an anatomical root to the `rootTreatment` file stem. `center` is the
|
|
165
|
+
* palatal root and ships for upper molars only; a root the tooth does not
|
|
166
|
+
* distinguish falls back to the whole-tooth render rather than a dead URL.
|
|
167
|
+
*/
|
|
168
|
+
export declare function rootFileStem(meta: ToothMeta, root: Root): RootFileStem;
|
|
84
169
|
/** CSS variable name (without the leading `var(...)`) that drives a condition's colour. */
|
|
85
170
|
export declare const CONDITION_TOKENS: Record<ToothCondition, string>;
|
|
86
171
|
/**
|
|
87
172
|
* Convenience: the `fill="var(--destructive)"` string ready to paste onto
|
|
88
|
-
* an SVG attribute.
|
|
89
|
-
* swatch + the surface-condition ring; whole-tooth
|
|
90
|
-
* distinct symbol image (the glyph is the
|
|
173
|
+
* an SVG attribute. DERIVED from `CONDITION_TOKENS` so the two can never drift.
|
|
174
|
+
* Used for the legend swatch + the surface-condition ring; whole-tooth
|
|
175
|
+
* conditions render a distinct symbol image (the glyph is the
|
|
176
|
+
* colour-independent channel).
|
|
91
177
|
*/
|
|
92
178
|
export declare const CONDITION_COLORS: Record<ToothCondition, string>;
|
|
93
|
-
|
|
94
|
-
|
|
179
|
+
/**
|
|
180
|
+
* Every built-in condition id, in declaration order. Derived from
|
|
181
|
+
* `CONDITION_TOKENS`, which the compiler forces to be exhaustive — so a new
|
|
182
|
+
* condition can never silently fall out of a hand-maintained list.
|
|
183
|
+
*/
|
|
184
|
+
export declare const TOOTH_CONDITIONS: ToothCondition[];
|
|
185
|
+
/** True when an id names a built-in condition rather than a registry entry. */
|
|
186
|
+
export declare function isBuiltInCondition(id: ConditionId): id is ToothCondition;
|
|
187
|
+
/** The layer each built-in finding marks, used when a symbol omits `part`. */
|
|
188
|
+
export declare const CONDITION_PART: Record<ToothCondition, SymbolPart>;
|
|
189
|
+
/**
|
|
190
|
+
* Built-ins the chart draws ITSELF rather than from artwork — `missing` is an
|
|
191
|
+
* SVG cross, `caries` / `filled` fall back to the surface ring in the side
|
|
192
|
+
* view. They must never take the registry's glyph badge.
|
|
193
|
+
*/
|
|
194
|
+
export declare const INTRINSIC_CONDITIONS: ToothCondition[];
|
|
195
|
+
export declare const STATUS_TOKENS: Record<SymbolStatus, string>;
|
|
196
|
+
/** The `var(...)` form of `STATUS_TOKENS`, ready for an SVG attribute. */
|
|
197
|
+
export declare const STATUS_COLORS: Record<SymbolStatus, string>;
|
|
198
|
+
/** The second, non-colour channel: a planned symbol renders lighter. */
|
|
199
|
+
export declare const STATUS_OPACITY: Record<SymbolStatus, number>;
|
|
200
|
+
/** i18n key for a status label (`ui.toothScheme.status.*`). */
|
|
201
|
+
export declare function statusLabelKey(status: SymbolStatus): string;
|
|
202
|
+
/**
|
|
203
|
+
* Screen-relative marker slot. `repeat` is what the BARE gingival-surgery type
|
|
204
|
+
* resolves to — it is the default marker, not a "repeat treatment" variant.
|
|
205
|
+
*/
|
|
206
|
+
export type SymbolRegion = 'left' | 'right' | 'total' | 'repeat';
|
|
207
|
+
/** Corner glyph stem in `side/other/` — curettage, medication, x-ray. */
|
|
208
|
+
export type SymbolLetter = 'c' | 'm' | 'x';
|
|
209
|
+
/**
|
|
210
|
+
* How a symbol's file resolves inside `{folder}/{view}/`. A discriminated union
|
|
211
|
+
* rather than a bare enum because two shapes carry their own data: `per-fdi-root`
|
|
212
|
+
* has to know whether a multi-rooted tooth also ships a whole-tooth render, and
|
|
213
|
+
* `letter` pins the single glyph its condition owns.
|
|
214
|
+
*/
|
|
215
|
+
export type SideSymbolSpec =
|
|
216
|
+
/** `{fdi}.webp` — one render per tooth. */
|
|
217
|
+
{
|
|
95
218
|
folder: string;
|
|
96
|
-
|
|
97
|
-
|
|
219
|
+
resolve: 'per-fdi';
|
|
220
|
+
}
|
|
221
|
+
/** `general.webp` — one render per arch. */
|
|
222
|
+
| {
|
|
223
|
+
folder: string;
|
|
224
|
+
resolve: 'general';
|
|
225
|
+
}
|
|
226
|
+
/** `{fdi}/{full|left|right|center}.webp` — per-FDI subdirectory. */
|
|
227
|
+
| {
|
|
228
|
+
folder: string;
|
|
229
|
+
resolve: 'rct';
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* `{fdi}[-{mesial|distal|palatal}].webp`. `wholeTooth` distinguishes two
|
|
233
|
+
* folders that look symmetric and are not: `pin` ships a bare file for every
|
|
234
|
+
* FDI, `rootAmputation` only for single-rooted teeth.
|
|
235
|
+
*/
|
|
236
|
+
| {
|
|
237
|
+
folder: string;
|
|
238
|
+
resolve: 'per-fdi-root';
|
|
239
|
+
wholeTooth: 'always' | 'single-rooted-only';
|
|
240
|
+
}
|
|
241
|
+
/** `{fdi}-{mesial|distal}.webp` — always suffixed, no bare file. */
|
|
242
|
+
| {
|
|
243
|
+
folder: string;
|
|
244
|
+
resolve: 'per-fdi-side';
|
|
245
|
+
}
|
|
246
|
+
/** `{fdi}_{left|right}.webp` — the only folder using an UNDERSCORE. */
|
|
247
|
+
| {
|
|
248
|
+
folder: string;
|
|
249
|
+
resolve: 'per-fdi-lr';
|
|
250
|
+
}
|
|
251
|
+
/** `{left|right|total|repeat}.webp` — no FDI in the name. */
|
|
252
|
+
| {
|
|
253
|
+
folder: string;
|
|
254
|
+
resolve: 'region';
|
|
255
|
+
}
|
|
256
|
+
/** `{left|right}.webp` — no FDI, and only the two sides ship. */
|
|
257
|
+
| {
|
|
258
|
+
folder: string;
|
|
259
|
+
resolve: 'screen-side';
|
|
260
|
+
}
|
|
261
|
+
/** `{c|m|x}.webp`. */
|
|
262
|
+
| {
|
|
263
|
+
folder: string;
|
|
264
|
+
resolve: 'letter';
|
|
265
|
+
letter: SymbolLetter;
|
|
266
|
+
};
|
|
267
|
+
/**
|
|
268
|
+
* Which instance of a symbol to resolve. The two fields are independent
|
|
269
|
+
* discriminators read by different `resolve` strategies (roots by the per-root
|
|
270
|
+
* shapes, regions by the screen-side ones) — passed in, never module state.
|
|
271
|
+
*/
|
|
272
|
+
export interface SymbolTarget {
|
|
273
|
+
/** Root, or tooth side for a flank-mounted marker. */
|
|
274
|
+
root?: Root;
|
|
275
|
+
/** Explicit screen-relative slot; wins over `root` where both apply. */
|
|
276
|
+
region?: SymbolRegion;
|
|
98
277
|
}
|
|
99
278
|
export declare const CONDITION_SIDE_SYMBOL: Partial<Record<ToothCondition, SideSymbolSpec>>;
|
|
100
|
-
/**
|
|
101
|
-
|
|
279
|
+
/**
|
|
280
|
+
* Resolve the side-view symbol overlay URL for a condition on a tooth. `target`
|
|
281
|
+
* picks a specific root / side; omitted, every strategy resolves to the
|
|
282
|
+
* whole-tooth or default marker, which is what the legacy call sites want.
|
|
283
|
+
*/
|
|
284
|
+
export declare function conditionSymbolUrl(meta: ToothMeta, assetBaseUrl: string, spec: SideSymbolSpec, target?: SymbolTarget): string;
|
|
102
285
|
export type Projection = 'side' | 'plan';
|
|
103
286
|
/** The user-selectable view: a single projection, or both stacked together. */
|
|
104
287
|
export type ViewMode = Projection | 'both';
|
|
@@ -108,6 +291,84 @@ export declare const SURFACE_ASSET_NAME: Record<Surface, string>;
|
|
|
108
291
|
export declare const CONDITION_PLAN_FOLDER: Partial<Record<ToothCondition, string>>;
|
|
109
292
|
/** Resolve a per-surface plan-view overlay URL (e.g. caries on the distal). */
|
|
110
293
|
export declare function surfaceSymbolUrl(meta: ToothMeta, assetBaseUrl: string, folder: string, surface: Surface): string;
|
|
294
|
+
/**
|
|
295
|
+
* Whole-tooth symbols in the PLAN projection. Without these a crowned tooth
|
|
296
|
+
* reads as a plain tooth in the occlusal view, which also made `projection`
|
|
297
|
+
* `'both'` disagree with itself between its own rows.
|
|
298
|
+
*
|
|
299
|
+
* `anchorage` is the odd one: the plan art is two generic screen-side markers
|
|
300
|
+
* (no FDI in the name) composited over the default render, so its mesial/distal
|
|
301
|
+
* root has to be flipped through the quadrant — `symbolUrl` does that.
|
|
302
|
+
*/
|
|
303
|
+
export declare const CONDITION_PLAN_SYMBOL: Partial<Record<ToothCondition, SideSymbolSpec>>;
|
|
304
|
+
/** Resolve the plan-view whole-tooth symbol overlay URL for a condition. */
|
|
305
|
+
export declare function planSymbolUrl(meta: ToothMeta, assetBaseUrl: string, spec: SideSymbolSpec, target?: SymbolTarget): string;
|
|
306
|
+
/**
|
|
307
|
+
* How much to scale a plan overlay so its tooth registers with the base render.
|
|
308
|
+
* `1` for everything on the standard canvas.
|
|
309
|
+
*/
|
|
310
|
+
export declare function planOverlayScale(url: string): number;
|
|
311
|
+
export interface ConditionDefinition {
|
|
312
|
+
id: string;
|
|
313
|
+
/** Already-translated label — the CONSUMER owns custom-condition copy. */
|
|
314
|
+
label: string;
|
|
315
|
+
color?: string;
|
|
316
|
+
part?: SymbolPart;
|
|
317
|
+
sideSymbol?: SideSymbolSpec;
|
|
318
|
+
planSymbol?: SideSymbolSpec;
|
|
319
|
+
planFolder?: string;
|
|
320
|
+
/** 1–3 char mark rendered when the condition has no artwork. */
|
|
321
|
+
glyph?: string;
|
|
322
|
+
}
|
|
323
|
+
export type ConditionRegistry = readonly ConditionDefinition[];
|
|
324
|
+
/**
|
|
325
|
+
* A condition's display name. Built-ins resolve to an i18n key; registry
|
|
326
|
+
* entries carry literal text, because their copy lives in the consuming app.
|
|
327
|
+
*/
|
|
328
|
+
export type ConditionLabel = {
|
|
329
|
+
kind: 'key';
|
|
330
|
+
key: string;
|
|
331
|
+
} | {
|
|
332
|
+
kind: 'text';
|
|
333
|
+
text: string;
|
|
334
|
+
};
|
|
335
|
+
/** Colour used when a condition is neither registered nor built in. */
|
|
336
|
+
export declare const FALLBACK_CONDITION_TOKEN = "--muted-foreground";
|
|
337
|
+
/** i18n key for a built-in condition label (`ui.toothScheme.condition.*`). */
|
|
338
|
+
export declare function conditionLabelKey(condition: ToothCondition): string;
|
|
339
|
+
/**
|
|
340
|
+
* Look up a registry entry. Registry ids shadow built-ins field by field, so a
|
|
341
|
+
* practice can re-tint or re-label a shipped finding without losing its art.
|
|
342
|
+
*/
|
|
343
|
+
export declare function conditionDefinition(condition: ConditionId, registry?: ConditionRegistry): ConditionDefinition | undefined;
|
|
344
|
+
export declare function conditionLabel(condition: ConditionId, registry?: ConditionRegistry): ConditionLabel;
|
|
345
|
+
/** Paintable colour for a condition — never empty, so nothing renders unseen. */
|
|
346
|
+
export declare function conditionColor(condition: ConditionId, registry?: ConditionRegistry): string;
|
|
347
|
+
/** Paint colour for ONE charted symbol — its own override wins. */
|
|
348
|
+
export declare function symbolColor(symbol: ToothSymbol, registry?: ConditionRegistry): string;
|
|
349
|
+
export declare function conditionSideSymbol(condition: ConditionId, registry?: ConditionRegistry): SideSymbolSpec | undefined;
|
|
350
|
+
export declare function conditionPlanSymbol(condition: ConditionId, registry?: ConditionRegistry): SideSymbolSpec | undefined;
|
|
351
|
+
export declare function conditionPlanFolder(condition: ConditionId, registry?: ConditionRegistry): string | undefined;
|
|
352
|
+
export declare function conditionPart(condition: ConditionId, registry?: ConditionRegistry): SymbolPart;
|
|
353
|
+
/**
|
|
354
|
+
* The 1–3 character mark that stands in when a condition ships no artwork.
|
|
355
|
+
* Falls back to the id's initials so a practice-defined finding can be charted
|
|
356
|
+
* the day it is registered, rather than rendering as a silent blank.
|
|
357
|
+
*/
|
|
358
|
+
export declare function conditionGlyph(condition: ConditionId, registry?: ConditionRegistry): string;
|
|
359
|
+
/**
|
|
360
|
+
* Whether a condition has artwork in a projection. When false the renderer
|
|
361
|
+
* must fall back to the glyph badge — that seam is what lets a practice chart
|
|
362
|
+
* a finding before a designer draws it.
|
|
363
|
+
*/
|
|
364
|
+
export declare function conditionHasArtwork(condition: ConditionId, projection: Projection, registry?: ConditionRegistry): boolean;
|
|
365
|
+
/**
|
|
366
|
+
* The findings on a tooth as a symbol list. `state.symbols` wins outright when
|
|
367
|
+
* present (an explicit empty array therefore means "no findings"); otherwise
|
|
368
|
+
* the legacy pair is derived faithfully — the shared `surfaces` list attaches
|
|
369
|
+
* only to surface-part conditions, exactly as the flat renderer treated it.
|
|
370
|
+
*/
|
|
371
|
+
export declare function symbolsForTooth(state: ToothState | undefined, registry?: ConditionRegistry): ToothSymbol[];
|
|
111
372
|
/**
|
|
112
373
|
* Clickable surface regions of a plan-view tooth, named by SCREEN position.
|
|
113
374
|
* `zoneSurface()` resolves each to the anatomical `Surface` per quadrant.
|
|
@@ -260,4 +521,12 @@ export declare function layoutSpecials(specials: SpecialElement[], teethWidth: n
|
|
|
260
521
|
export declare function labelFor(id: FdiId, numbering: Numbering): string;
|
|
261
522
|
export declare function emptyChart(): ToothChart;
|
|
262
523
|
export declare function chartFromConditions(conditions: Partial<Record<FdiId, ToothCondition[]>>): ToothChart;
|
|
524
|
+
/**
|
|
525
|
+
* Build a chart from the richer per-symbol shape. Each entry also projects its
|
|
526
|
+
* built-in conditions and surfaces back onto the legacy pair so readers that
|
|
527
|
+
* predate `symbols` (the first-condition `data-condition`, the periodontal
|
|
528
|
+
* chart, the care-plan card) still see the tooth. Registry ids are omitted from
|
|
529
|
+
* that projection — a legacy reader does not know the custom vocabulary.
|
|
530
|
+
*/
|
|
531
|
+
export declare function chartFromSymbols(symbols: Partial<Record<FdiId, ToothSymbol[]>>): ToothChart;
|
|
263
532
|
//# sourceMappingURL=tooth-data.d.ts.map
|