@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.
Files changed (92) hide show
  1. package/dist/_chunks/{booking-CGKof8QU.js → booking-D84O6H2X.js} +553 -546
  2. package/dist/_chunks/{care-plan-card-C83Hb9EE.js → care-plan-card-CehAU7F_.js} +2 -2
  3. package/dist/_chunks/{care-plan-entry-card-CHMPSTCz.js → care-plan-entry-card-ChWRMfMw.js} +2 -2
  4. package/dist/_chunks/{periodontal-chart-brakjj0s.js → periodontal-chart-C0nNQKKK.js} +121 -121
  5. package/dist/_chunks/practice-profile-hero-Bdd0bFqC.js +187 -0
  6. package/dist/_chunks/{practice-results-DWUZRm2x.js → practice-results-CKoLD_x5.js} +220 -206
  7. package/dist/_chunks/tooth-data-DR8Kdnup.js +903 -0
  8. package/dist/_chunks/tooth-finding-palette-vqC-D2Ye.js +708 -0
  9. package/dist/_chunks/tooth-scheme-BPXE1_3N.js +2051 -0
  10. package/dist/agent-catalog.json +497 -56
  11. package/dist/agent-i18n/en.json +29 -11
  12. package/dist/components/booking/booking-types.d.ts +9 -0
  13. package/dist/components/booking/index.js +1 -1
  14. package/dist/components/care-plan-card/index.js +1 -1
  15. package/dist/components/care-plan-entry-card/index.js +1 -1
  16. package/dist/components/index.d.ts +2 -0
  17. package/dist/components/periodontal-chart/index.js +1 -1
  18. package/dist/components/practice-profile-hero/index.d.ts +4 -0
  19. package/dist/components/practice-profile-hero/index.js +6 -0
  20. package/dist/components/practice-profile-hero/practice-profile-hero.agent.d.ts +4 -0
  21. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +60 -0
  22. package/dist/components/practice-results/index.js +1 -1
  23. package/dist/components/practice-results/practice-results.d.ts +15 -1
  24. package/dist/components/tooth-finding-palette/index.d.ts +4 -0
  25. package/dist/components/tooth-finding-palette/index.js +9 -0
  26. package/dist/components/tooth-finding-palette/tooth-finding-palette.agent.d.ts +4 -0
  27. package/dist/components/tooth-finding-palette/tooth-finding-palette.d.ts +89 -0
  28. package/dist/components/tooth-scheme/index.d.ts +2 -2
  29. package/dist/components/tooth-scheme/index.js +57 -30
  30. package/dist/components/tooth-scheme/tooth-data.d.ts +279 -10
  31. package/dist/components/tooth-scheme/tooth-scheme.agent.d.ts +2 -2
  32. package/dist/components/tooth-scheme/tooth-scheme.d.ts +30 -3
  33. package/dist/host-compat.css +1 -4
  34. package/dist/i18n/locales/ar.d.ts +41 -1
  35. package/dist/i18n/locales/ar.js +42 -2
  36. package/dist/i18n/locales/de.d.ts +41 -1
  37. package/dist/i18n/locales/de.js +42 -2
  38. package/dist/i18n/locales/el.d.ts +41 -1
  39. package/dist/i18n/locales/el.js +42 -2
  40. package/dist/i18n/locales/en.d.ts +41 -1
  41. package/dist/i18n/locales/en.js +42 -2
  42. package/dist/i18n/locales/es.d.ts +41 -1
  43. package/dist/i18n/locales/es.js +42 -2
  44. package/dist/i18n/locales/fr.d.ts +41 -1
  45. package/dist/i18n/locales/fr.js +42 -2
  46. package/dist/i18n/locales/hi.d.ts +41 -1
  47. package/dist/i18n/locales/hi.js +42 -2
  48. package/dist/i18n/locales/it.d.ts +41 -1
  49. package/dist/i18n/locales/it.js +42 -2
  50. package/dist/i18n/locales/ja.d.ts +41 -1
  51. package/dist/i18n/locales/ja.js +42 -2
  52. package/dist/i18n/locales/nl.d.ts +41 -1
  53. package/dist/i18n/locales/nl.js +42 -2
  54. package/dist/i18n/locales/pl.d.ts +41 -1
  55. package/dist/i18n/locales/pl.js +42 -2
  56. package/dist/i18n/locales/pt.d.ts +41 -1
  57. package/dist/i18n/locales/pt.js +42 -2
  58. package/dist/i18n/locales/ro.d.ts +41 -1
  59. package/dist/i18n/locales/ro.js +42 -2
  60. package/dist/i18n/locales/ru.d.ts +41 -1
  61. package/dist/i18n/locales/ru.js +42 -2
  62. package/dist/i18n/locales/sq.d.ts +41 -1
  63. package/dist/i18n/locales/sq.js +42 -2
  64. package/dist/i18n/locales/sv.d.ts +41 -1
  65. package/dist/i18n/locales/sv.js +42 -2
  66. package/dist/i18n/locales/tr.d.ts +41 -1
  67. package/dist/i18n/locales/tr.js +42 -2
  68. package/dist/i18n/locales/zh.d.ts +41 -1
  69. package/dist/i18n/locales/zh.js +42 -2
  70. package/dist/index.js +561 -525
  71. package/dist/locales/ar.json +42 -2
  72. package/dist/locales/de.json +42 -2
  73. package/dist/locales/el.json +42 -2
  74. package/dist/locales/en.json +42 -2
  75. package/dist/locales/es.json +42 -2
  76. package/dist/locales/fr.json +42 -2
  77. package/dist/locales/hi.json +42 -2
  78. package/dist/locales/it.json +42 -2
  79. package/dist/locales/ja.json +42 -2
  80. package/dist/locales/nl.json +42 -2
  81. package/dist/locales/pl.json +42 -2
  82. package/dist/locales/pt.json +42 -2
  83. package/dist/locales/ro.json +42 -2
  84. package/dist/locales/ru.json +42 -2
  85. package/dist/locales/sq.json +42 -2
  86. package/dist/locales/sv.json +42 -2
  87. package/dist/locales/tr.json +42 -2
  88. package/dist/locales/zh.json +42 -2
  89. package/dist/tokens.css +1 -1
  90. package/package.json +9 -1
  91. package/dist/_chunks/tooth-data-BwuoKFf4.js +0 -660
  92. package/dist/_chunks/tooth-scheme-s0ipC0-Z.js +0 -1483
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit",
3
- "version": "1.4.17",
3
+ "version": "1.6.0",
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",
@@ -461,6 +461,10 @@
461
461
  "types": "./dist/components/operator-hero/index.d.ts",
462
462
  "import": "./dist/components/operator-hero/index.js"
463
463
  },
464
+ "./practice-profile-hero": {
465
+ "types": "./dist/components/practice-profile-hero/index.d.ts",
466
+ "import": "./dist/components/practice-profile-hero/index.js"
467
+ },
464
468
  "./otp-input": {
465
469
  "types": "./dist/components/otp-input/index.d.ts",
466
470
  "import": "./dist/components/otp-input/index.js"
@@ -737,6 +741,10 @@
737
741
  "types": "./dist/components/face-scheme/index.d.ts",
738
742
  "import": "./dist/components/face-scheme/index.js"
739
743
  },
744
+ "./tooth-finding-palette": {
745
+ "types": "./dist/components/tooth-finding-palette/index.d.ts",
746
+ "import": "./dist/components/tooth-finding-palette/index.js"
747
+ },
740
748
  "./tooth-scheme": {
741
749
  "types": "./dist/components/tooth-scheme/index.d.ts",
742
750
  "import": "./dist/components/tooth-scheme/index.js"
@@ -1,660 +0,0 @@
1
- const y = [
2
- // upper
3
- "18",
4
- "17",
5
- "16",
6
- "15",
7
- "14",
8
- "13",
9
- "12",
10
- "11",
11
- "21",
12
- "22",
13
- "23",
14
- "24",
15
- "25",
16
- "26",
17
- "27",
18
- "28",
19
- // lower
20
- "48",
21
- "47",
22
- "46",
23
- "45",
24
- "44",
25
- "43",
26
- "42",
27
- "41",
28
- "31",
29
- "32",
30
- "33",
31
- "34",
32
- "35",
33
- "36",
34
- "37",
35
- "38"
36
- ], x = [
37
- // upper
38
- "55",
39
- "54",
40
- "53",
41
- "52",
42
- "51",
43
- "61",
44
- "62",
45
- "63",
46
- "64",
47
- "65",
48
- // lower
49
- "85",
50
- "84",
51
- "83",
52
- "82",
53
- "81",
54
- "71",
55
- "72",
56
- "73",
57
- "74",
58
- "75"
59
- ];
60
- function C(e) {
61
- return e <= 2 ? "incisor" : e === 3 ? "canine" : e <= 5 ? "premolar" : "molar";
62
- }
63
- function K(e) {
64
- return e <= 2 ? "incisor" : e === 3 ? "canine" : "molar";
65
- }
66
- function q(e, t) {
67
- const r = (e - 1) % 4 + 1;
68
- return `${r === 1 ? "UR" : r === 2 ? "UL" : r === 3 ? "LL" : "LR"}${t}`;
69
- }
70
- function M(e, t) {
71
- switch (e) {
72
- case 1:
73
- return String(1 + (8 - t));
74
- case 2:
75
- return String(8 + t);
76
- case 3:
77
- return String(17 + (8 - t));
78
- case 4:
79
- return String(24 + t);
80
- default:
81
- return "";
82
- }
83
- }
84
- function P(e, t) {
85
- const r = "ABCDEFGHIJKLMNOPQRST";
86
- let n = -1;
87
- switch (e) {
88
- case 5:
89
- n = 0 + (5 - t);
90
- break;
91
- case 6:
92
- n = 5 + (t - 1);
93
- break;
94
- case 7:
95
- n = 10 + (5 - t);
96
- break;
97
- case 8:
98
- n = 15 + (t - 1);
99
- break;
100
- default:
101
- n = -1;
102
- }
103
- return n >= 0 ? r[n] : "";
104
- }
105
- function R(e) {
106
- const t = Number(e[0]), r = Number(e[1]), n = t >= 5, o = n ? K(r) : C(r), i = t === 1 || t === 2 || t === 5 || t === 6 ? "upper" : "lower", c = t === 1 || t === 4 || t === 5 || t === 8 ? "right" : "left", u = n ? P(t, r) : M(t, r), d = q(t, r);
107
- return {
108
- fdi: e,
109
- universal: u,
110
- palmer: d,
111
- quadrant: t,
112
- positionInQuadrant: r,
113
- anatomy: o,
114
- arch: i,
115
- side: c,
116
- dentition: n ? "primary" : "permanent"
117
- };
118
- }
119
- const S = [
120
- ...y,
121
- ...x
122
- ].reduce((e, t) => (e[t] = R(t), e), {}), N = Object.fromEntries(
123
- Object.entries(S).map(([e, t]) => [e, t.universal])
124
- ), Q = Object.fromEntries(
125
- Object.entries(S).map(([e, t]) => [e, t.palmer])
126
- );
127
- function $(e) {
128
- return e.dentition !== "primary" ? e.fdi : `${e.quadrant - 4}${e.positionInQuadrant}`;
129
- }
130
- const Y = 0.72, W = {
131
- caries: "--destructive",
132
- filled: "--info",
133
- crowned: "--warning",
134
- temporaryCrown: "--warning",
135
- bridge: "--primary",
136
- missing: "--muted-foreground",
137
- implant: "--accent",
138
- implantExtraction: "--accent",
139
- stub: "--muted-foreground",
140
- destroyed: "--destructive",
141
- rootCanal: "--primary"
142
- }, B = {
143
- caries: "var(--destructive)",
144
- filled: "var(--info)",
145
- crowned: "var(--warning)",
146
- temporaryCrown: "var(--warning)",
147
- bridge: "var(--primary)",
148
- missing: "var(--muted-foreground)",
149
- implant: "var(--accent)",
150
- implantExtraction: "var(--accent)",
151
- stub: "var(--muted-foreground)",
152
- destroyed: "var(--destructive)",
153
- rootCanal: "var(--primary)"
154
- }, X = {
155
- crowned: { folder: "crown", resolve: "per-fdi" },
156
- temporaryCrown: { folder: "temporaryCrown", resolve: "per-fdi" },
157
- bridge: { folder: "replacement", resolve: "per-fdi" },
158
- destroyed: { folder: "destroyed", resolve: "per-fdi" },
159
- implant: { folder: "implant", resolve: "general" },
160
- implantExtraction: { folder: "implantExtraction", resolve: "general" },
161
- stub: { folder: "stub", resolve: "general" },
162
- rootCanal: { folder: "rootTreatment", resolve: "rct" }
163
- };
164
- function J(e, t, r) {
165
- const n = e.arch === "upper" ? "top" : "bottom", o = `${t}/side/${r.folder}/${n}`;
166
- if (r.resolve === "general") return `${o}/general.webp`;
167
- const i = $(e);
168
- return r.resolve === "rct" ? `${o}/${i}/full.webp` : `${o}/${i}.webp`;
169
- }
170
- const D = {
171
- mesial: "mesial",
172
- distal: "distal",
173
- occlusal: "occlusal",
174
- buccal: "vestibular",
175
- lingual: "oral"
176
- }, V = {
177
- caries: "caries",
178
- filled: "filling"
179
- };
180
- function z(e, t, r, n) {
181
- const o = e.arch === "upper" ? "top" : "bottom";
182
- return `${t}/plan/${r}/${o}/${$(e)}-${D[n]}.webp`;
183
- }
184
- function ee(e) {
185
- return e.anatomy === "molar" || e.anatomy === "premolar" ? ["top", "bottom", "left", "right", "center"] : ["top", "bottom", "left", "right"];
186
- }
187
- function te(e, t) {
188
- if (t === "center") return "occlusal";
189
- if (t === "top") return e.arch === "upper" ? "buccal" : "lingual";
190
- if (t === "bottom") return e.arch === "upper" ? "lingual" : "buccal";
191
- const r = e.quadrant <= 4 ? e.quadrant : e.quadrant - 4, n = r === 1 || r === 4;
192
- return t === "left" ? n ? "distal" : "mesial" : n ? "mesial" : "distal";
193
- }
194
- const T = (e) => Math.round(e * 100) / 100;
195
- function ne(e, t, r) {
196
- const { x: n, y: o, w: i, h: c } = t, u = n + i, d = o + c, a = (l, p) => `${T(l)} ${T(p)}`;
197
- if (!r) {
198
- const l = n + i / 2, p = o + c / 2;
199
- switch (e) {
200
- case "top":
201
- return `M ${a(n, o)} L ${a(u, o)} L ${a(l, p)} Z`;
202
- case "bottom":
203
- return `M ${a(n, d)} L ${a(u, d)} L ${a(l, p)} Z`;
204
- case "left":
205
- return `M ${a(n, o)} L ${a(l, p)} L ${a(n, d)} Z`;
206
- case "right":
207
- return `M ${a(u, o)} L ${a(l, p)} L ${a(u, d)} Z`;
208
- default:
209
- return "";
210
- }
211
- }
212
- const m = n + i * 0.3, h = o + c * 0.3, f = n + i * 0.7, b = o + c * 0.7;
213
- switch (e) {
214
- case "center":
215
- return `M ${a(m, h)} L ${a(f, h)} L ${a(f, b)} L ${a(m, b)} Z`;
216
- case "top":
217
- return `M ${a(n, o)} L ${a(u, o)} L ${a(f, h)} L ${a(m, h)} Z`;
218
- case "bottom":
219
- return `M ${a(n, d)} L ${a(u, d)} L ${a(f, b)} L ${a(m, b)} Z`;
220
- case "left":
221
- return `M ${a(n, o)} L ${a(m, h)} L ${a(m, b)} L ${a(n, d)} Z`;
222
- case "right":
223
- return `M ${a(u, o)} L ${a(f, h)} L ${a(f, b)} L ${a(u, d)} Z`;
224
- default:
225
- return "";
226
- }
227
- }
228
- const w = 5, E = 40, re = 4, H = 36, F = 62;
229
- function ae(e, t, r = "default", n = "side") {
230
- const o = e.arch === "upper" ? "top" : "bottom";
231
- return `${t}/${n}/${r}/${o}/${$(e)}.webp`;
232
- }
233
- function oe(e, t = F, r = {}) {
234
- const n = e === "primary" ? x : e === "mixed" ? [...y, ...x] : y, o = [], i = [];
235
- for (const l of n)
236
- S[l].arch === "upper" ? o.push(l) : i.push(l);
237
- const c = H + w, u = Math.max(o.length, i.length), d = u > 0 ? u * c - w : 0;
238
- function a(l, p) {
239
- const v = l.length > 0 ? l.length * c - w : 0, k = (d - v) / 2;
240
- return l.map((L, A) => {
241
- const _ = S[L];
242
- return {
243
- fdi: L,
244
- meta: _,
245
- x: k + A * c,
246
- y: p
247
- };
248
- });
249
- }
250
- if (r.arch) {
251
- const l = r.arch === "upper" ? o : i;
252
- return { teeth: a(l, 0), width: d, height: t };
253
- }
254
- const m = a(o, 0), h = a(i, t + E), f = d > 0 ? d : u * c, b = t * 2 + E;
255
- return { teeth: [...m, ...h], width: f, height: b };
256
- }
257
- const s = (e) => [...y, ...x].filter(
258
- (t) => S[t].quadrant === e
259
- ), I = [
260
- // Upper facial (side) row — Q1, Q2, AS, Gen.
261
- {
262
- id: "Q1",
263
- kind: "quadrant",
264
- arch: "upper",
265
- dentition: "permanent",
266
- labelKey: "quadrant",
267
- labelIndex: 1,
268
- code: "Q1",
269
- teeth: s(1),
270
- column: 0,
271
- row: "side"
272
- },
273
- {
274
- id: "Q2",
275
- kind: "quadrant",
276
- arch: "upper",
277
- dentition: "permanent",
278
- labelKey: "quadrant",
279
- labelIndex: 2,
280
- code: "Q2",
281
- teeth: s(2),
282
- column: 1,
283
- row: "side"
284
- },
285
- {
286
- id: "AS",
287
- kind: "arch",
288
- arch: "upper",
289
- dentition: "permanent",
290
- labelKey: "archUpper",
291
- code: "AS",
292
- teeth: [...s(1), ...s(2)],
293
- column: 2,
294
- row: "side"
295
- },
296
- {
297
- id: "general",
298
- kind: "general",
299
- arch: "upper",
300
- dentition: "permanent",
301
- labelKey: "general",
302
- code: "Gen.",
303
- teeth: y,
304
- column: 3,
305
- row: "side"
306
- },
307
- // Upper occlusal (plan) row — S1, S2, S3 (WHO sextants).
308
- {
309
- id: "S1",
310
- kind: "sextant",
311
- arch: "upper",
312
- dentition: "permanent",
313
- labelKey: "sextant",
314
- labelIndex: 1,
315
- code: "S1",
316
- teeth: ["18", "17", "16", "15", "14"],
317
- column: 0,
318
- row: "plan"
319
- },
320
- {
321
- id: "S2",
322
- kind: "sextant",
323
- arch: "upper",
324
- dentition: "permanent",
325
- labelKey: "sextant",
326
- labelIndex: 2,
327
- code: "S2",
328
- teeth: ["13", "12", "11", "21", "22", "23"],
329
- column: 1,
330
- row: "plan"
331
- },
332
- {
333
- id: "S3",
334
- kind: "sextant",
335
- arch: "upper",
336
- dentition: "permanent",
337
- labelKey: "sextant",
338
- labelIndex: 3,
339
- code: "S3",
340
- teeth: ["24", "25", "26", "27", "28"],
341
- column: 2,
342
- row: "plan"
343
- },
344
- // Lower occlusal (plan) row — S4, S5, S6.
345
- {
346
- id: "S4",
347
- kind: "sextant",
348
- arch: "lower",
349
- dentition: "permanent",
350
- labelKey: "sextant",
351
- labelIndex: 4,
352
- code: "S4",
353
- teeth: ["34", "35", "36", "37", "38"],
354
- column: 0,
355
- row: "plan"
356
- },
357
- {
358
- id: "S5",
359
- kind: "sextant",
360
- arch: "lower",
361
- dentition: "permanent",
362
- labelKey: "sextant",
363
- labelIndex: 5,
364
- code: "S5",
365
- teeth: ["43", "42", "41", "31", "32", "33"],
366
- column: 1,
367
- row: "plan"
368
- },
369
- {
370
- id: "S6",
371
- kind: "sextant",
372
- arch: "lower",
373
- dentition: "permanent",
374
- labelKey: "sextant",
375
- labelIndex: 6,
376
- code: "S6",
377
- teeth: ["44", "45", "46", "47", "48"],
378
- column: 2,
379
- row: "plan"
380
- },
381
- // Lower facial (side) row — Q4, Q3, AI.
382
- {
383
- id: "Q4",
384
- kind: "quadrant",
385
- arch: "lower",
386
- dentition: "permanent",
387
- labelKey: "quadrant",
388
- labelIndex: 4,
389
- code: "Q4",
390
- teeth: s(4),
391
- column: 0,
392
- row: "side"
393
- },
394
- {
395
- id: "Q3",
396
- kind: "quadrant",
397
- arch: "lower",
398
- dentition: "permanent",
399
- labelKey: "quadrant",
400
- labelIndex: 3,
401
- code: "Q3",
402
- teeth: s(3),
403
- column: 1,
404
- row: "side"
405
- },
406
- {
407
- id: "AI",
408
- kind: "arch",
409
- arch: "lower",
410
- dentition: "permanent",
411
- labelKey: "archLower",
412
- code: "AI",
413
- teeth: [...s(3), ...s(4)],
414
- column: 2,
415
- row: "side"
416
- }
417
- ], g = [
418
- // Upper facial (side) row.
419
- {
420
- id: "mQ1",
421
- kind: "quadrant",
422
- arch: "upper",
423
- dentition: "primary",
424
- labelKey: "quadrant",
425
- labelIndex: 1,
426
- code: "Q1",
427
- teeth: s(5),
428
- column: 0,
429
- row: "side"
430
- },
431
- {
432
- id: "mQ2",
433
- kind: "quadrant",
434
- arch: "upper",
435
- dentition: "primary",
436
- labelKey: "quadrant",
437
- labelIndex: 2,
438
- code: "Q2",
439
- teeth: s(6),
440
- column: 1,
441
- row: "side"
442
- },
443
- {
444
- id: "mAS",
445
- kind: "arch",
446
- arch: "upper",
447
- dentition: "primary",
448
- labelKey: "archUpper",
449
- code: "AS",
450
- teeth: [...s(5), ...s(6)],
451
- column: 2,
452
- row: "side"
453
- },
454
- {
455
- id: "mGeneral",
456
- kind: "general",
457
- arch: "upper",
458
- dentition: "primary",
459
- labelKey: "general",
460
- code: "Gen.",
461
- teeth: x,
462
- column: 3,
463
- row: "side"
464
- },
465
- // Upper occlusal (plan) row.
466
- {
467
- id: "mS1",
468
- kind: "sextant",
469
- arch: "upper",
470
- dentition: "primary",
471
- labelKey: "sextant",
472
- labelIndex: 1,
473
- code: "S1",
474
- teeth: ["55", "54"],
475
- column: 0,
476
- row: "plan"
477
- },
478
- {
479
- id: "mS2",
480
- kind: "sextant",
481
- arch: "upper",
482
- dentition: "primary",
483
- labelKey: "sextant",
484
- labelIndex: 2,
485
- code: "S2",
486
- teeth: ["53", "52", "51", "61", "62", "63"],
487
- column: 1,
488
- row: "plan"
489
- },
490
- {
491
- id: "mS3",
492
- kind: "sextant",
493
- arch: "upper",
494
- dentition: "primary",
495
- labelKey: "sextant",
496
- labelIndex: 3,
497
- code: "S3",
498
- teeth: ["64", "65"],
499
- column: 2,
500
- row: "plan"
501
- },
502
- // Lower occlusal (plan) row.
503
- {
504
- id: "mS4",
505
- kind: "sextant",
506
- arch: "lower",
507
- dentition: "primary",
508
- labelKey: "sextant",
509
- labelIndex: 4,
510
- code: "S4",
511
- teeth: ["74", "75"],
512
- column: 0,
513
- row: "plan"
514
- },
515
- {
516
- id: "mS5",
517
- kind: "sextant",
518
- arch: "lower",
519
- dentition: "primary",
520
- labelKey: "sextant",
521
- labelIndex: 5,
522
- code: "S5",
523
- teeth: ["73", "72", "71", "81", "82", "83"],
524
- column: 1,
525
- row: "plan"
526
- },
527
- {
528
- id: "mS6",
529
- kind: "sextant",
530
- arch: "lower",
531
- dentition: "primary",
532
- labelKey: "sextant",
533
- labelIndex: 6,
534
- code: "S6",
535
- teeth: ["84", "85"],
536
- column: 2,
537
- row: "plan"
538
- },
539
- // Lower facial (side) row.
540
- {
541
- id: "mQ4",
542
- kind: "quadrant",
543
- arch: "lower",
544
- dentition: "primary",
545
- labelKey: "quadrant",
546
- labelIndex: 4,
547
- code: "Q4",
548
- teeth: s(8),
549
- column: 0,
550
- row: "side"
551
- },
552
- {
553
- id: "mQ3",
554
- kind: "quadrant",
555
- arch: "lower",
556
- dentition: "primary",
557
- labelKey: "quadrant",
558
- labelIndex: 3,
559
- code: "Q3",
560
- teeth: s(7),
561
- column: 1,
562
- row: "side"
563
- },
564
- {
565
- id: "mAI",
566
- kind: "arch",
567
- arch: "lower",
568
- dentition: "primary",
569
- labelKey: "archLower",
570
- code: "AI",
571
- teeth: [...s(7), ...s(8)],
572
- column: 2,
573
- row: "side"
574
- }
575
- ], Z = [
576
- ...I,
577
- ...g
578
- ], U = Z.reduce((e, t) => (e[t.id] = t, e), {});
579
- function ie(e) {
580
- return e in U;
581
- }
582
- function ce(e, t, r) {
583
- return (e === "primary" ? g : I).filter(
584
- (o) => o.arch === t && o.row === r && o.kind !== "general"
585
- ).sort((o, i) => o.column - i.column);
586
- }
587
- function le(e) {
588
- return (e === "primary" ? g : I).find((r) => r.kind === "general");
589
- }
590
- const G = 36;
591
- function se(e, t) {
592
- const r = e.kind === "quadrant" || e.kind === "arch" ? e.code : e.kind === "general" ? "general" : null;
593
- return r ? `${/\/teeth\/?$/.test(t) ? t.replace(/\/teeth\/?$/, "/global") : `${t}/global`}/${r}.webp` : null;
594
- }
595
- const j = 8, O = G + w;
596
- function de(e, t) {
597
- if (e.length === 0) return { specials: [], width: t };
598
- const r = t + j, n = e.map((c) => ({
599
- element: c,
600
- x: r + c.column * O,
601
- y: 0
602
- })), o = Math.max(...e.map((c) => c.column)), i = r + (o + 1) * O - w;
603
- return { specials: n, width: i };
604
- }
605
- function ue(e, t) {
606
- switch (t) {
607
- case "universal":
608
- return N[e] ?? e;
609
- case "palmer":
610
- return Q[e] ?? e;
611
- case "fdi":
612
- default:
613
- return e;
614
- }
615
- }
616
- function pe() {
617
- return {};
618
- }
619
- function me(e) {
620
- const t = {};
621
- for (const [r, n] of Object.entries(e))
622
- !n || n.length === 0 || (t[r] = { conditions: n, surfaces: [] });
623
- return t;
624
- }
625
- export {
626
- H as A,
627
- E as B,
628
- B as C,
629
- S as F,
630
- y as P,
631
- U as S,
632
- F as T,
633
- V as a,
634
- X as b,
635
- W as c,
636
- Q as d,
637
- N as e,
638
- x as f,
639
- Z as g,
640
- D as h,
641
- me as i,
642
- J as j,
643
- pe as k,
644
- le as l,
645
- ie as m,
646
- ue as n,
647
- de as o,
648
- oe as p,
649
- ce as q,
650
- z as r,
651
- se as s,
652
- ae as t,
653
- te as u,
654
- ee as v,
655
- G as w,
656
- Y as x,
657
- re as y,
658
- ne as z
659
- };
660
- //# sourceMappingURL=tooth-data-BwuoKFf4.js.map