@alfadocs/ui-kit-debug 1.127.0 → 1.127.2
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/{bill-line-table-BRxX0Awq.js → bill-line-table-CzYzg-Qh.js} +8 -5
- package/dist/_chunks/bill-line-table-CzYzg-Qh.js.map +1 -0
- package/dist/_chunks/{data-grid-bzvkQ3kc.js → data-grid-C9xlUMLt.js} +9 -5
- package/dist/_chunks/data-grid-C9xlUMLt.js.map +1 -0
- package/dist/_chunks/{default-tabs-yEfqAPuT.js → default-tabs-DOuHEKI5.js} +3 -3
- package/dist/_chunks/{default-tabs-yEfqAPuT.js.map → default-tabs-DOuHEKI5.js.map} +1 -1
- package/dist/_chunks/{invoice-upload-list-CgS_TBuX.js → invoice-upload-list-tJY7W1g_.js} +6 -4
- package/dist/_chunks/invoice-upload-list-tJY7W1g_.js.map +1 -0
- package/dist/_chunks/{muscle-scheme-TgnoZGDA.js → muscle-scheme-CHrjv7p2.js} +237 -235
- package/dist/_chunks/{muscle-scheme-TgnoZGDA.js.map → muscle-scheme-CHrjv7p2.js.map} +1 -1
- package/dist/_chunks/{toolbar-Co46MEn9.js → toolbar-CC-Ls_eC.js} +2 -2
- package/dist/_chunks/{toolbar-Co46MEn9.js.map → toolbar-CC-Ls_eC.js.map} +1 -1
- package/dist/agent-catalog.json +1 -1
- package/dist/browser-support.js +1 -1
- package/dist/components/bill-line-table/bill-line-table.columns.d.ts +7 -3
- package/dist/components/bill-line-table/bill-line-table.columns.d.ts.map +1 -1
- package/dist/components/bill-line-table/index.js +1 -1
- package/dist/components/bill-table/index.js +1 -1
- package/dist/components/data-grid/data-grid.variants.d.ts.map +1 -1
- package/dist/components/data-grid/index.js +2 -2
- package/dist/components/invoice-upload-list/columns.d.ts.map +1 -1
- package/dist/components/invoice-upload-list/index.js +1 -1
- package/dist/components/muscle-scheme/index.js +1 -1
- package/dist/components/muscle-scheme/muscle-scheme.d.ts.map +1 -1
- package/dist/core.css +1 -1
- package/dist/i18n/locales/ar.d.ts +5 -0
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +5 -0
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +5 -0
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +5 -0
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +5 -0
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +5 -0
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +5 -0
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +5 -0
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +5 -0
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +5 -0
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +5 -0
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +5 -0
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +5 -0
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +5 -0
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +5 -0
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +5 -0
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +5 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +5 -0
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +5 -0
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +5 -0
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +5 -0
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +5 -0
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +5 -0
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +5 -0
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +5 -0
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +5 -0
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +5 -0
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +5 -0
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +5 -0
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +5 -0
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +5 -0
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +5 -0
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +5 -0
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +5 -0
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +5 -0
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +5 -0
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/locales/ar.json +5 -0
- package/dist/locales/de.json +5 -0
- package/dist/locales/el.json +5 -0
- package/dist/locales/en.json +5 -0
- package/dist/locales/es.json +5 -0
- package/dist/locales/fr.json +5 -0
- package/dist/locales/hi.json +5 -0
- package/dist/locales/it.json +5 -0
- package/dist/locales/ja.json +5 -0
- package/dist/locales/nl.json +5 -0
- package/dist/locales/pl.json +5 -0
- package/dist/locales/pt.json +5 -0
- package/dist/locales/ro.json +5 -0
- package/dist/locales/ru.json +5 -0
- package/dist/locales/sq.json +5 -0
- package/dist/locales/sv.json +5 -0
- package/dist/locales/tr.json +5 -0
- package/dist/locales/zh.json +5 -0
- package/dist/tokens.css +1 -1
- package/package.json +1 -1
- package/dist/_chunks/bill-line-table-BRxX0Awq.js.map +0 -1
- package/dist/_chunks/data-grid-bzvkQ3kc.js.map +0 -1
- package/dist/_chunks/invoice-upload-list-CgS_TBuX.js.map +0 -1
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { jsx as r, jsxs as b } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
2
|
+
import { forwardRef as w2, useId as Q2, useRef as q1, useMemo as S1, useState as u1, useCallback as v, useEffect as Z2, useImperativeHandle as S2 } from "react";
|
|
3
3
|
import * as H from "@radix-ui/react-tooltip";
|
|
4
4
|
import { c as E1 } from "./index-D2ZczOXr.js";
|
|
5
5
|
import { useTranslation as a2 } from "react-i18next";
|
|
6
|
-
import { u as
|
|
7
|
-
import { m as c2, A as
|
|
6
|
+
import { u as $2 } from "./registry-DvAUVLHh.js";
|
|
7
|
+
import { m as c2, A as N2 } from "./annotation-marker-D-M7y4R1.js";
|
|
8
8
|
import { T as m1 } from "./tabs-P4qFmxk5.js";
|
|
9
|
-
import { B as
|
|
10
|
-
import { C as
|
|
9
|
+
import { B as I2 } from "./button-DohK_Ak_.js";
|
|
10
|
+
import { C as E2 } from "./check-DrFSN__t.js";
|
|
11
11
|
const P = {
|
|
12
12
|
type: "string",
|
|
13
13
|
description: "Region id within the active view, e.g. 'quadriceps-r', 'biceps-l', 'chest-r', 'trapezius-l'. Every body view also has head, elbow-l/r and wrist-l/r; front views add ribs-l/r and hip-l/r, back views spine, scapula-l/r and knee-back-l/r. The female body view muscular-front-female also has breast-l and breast-r. The organ-only reproductive-female view has vulva, vagina, cervix, uterus, ovary-l, ovary-r, fallopian-tube-l, fallopian-tube-r, bladder and urethra. The organ-only reproductive-male view has penis, scrotum, testis-l, testis-r, prostate, bladder, urethra, epididymis-l, epididymis-r, vas-deferens-l, vas-deferens-r, seminal-vesicle-l and seminal-vesicle-r. Child views have no organ regions."
|
|
14
14
|
}, h1 = {
|
|
15
15
|
enum: ["observation", "lesion", "pain", "treatment", "note"]
|
|
16
|
-
},
|
|
16
|
+
}, R2 = {
|
|
17
17
|
type: "string",
|
|
18
18
|
description: "View id: 'muscular-front', 'muscular-back', 'muscular-front-female', 'muscular-back-female', 'muscular-front-child', 'muscular-back-child', 'reproductive-female' or 'reproductive-male'. Reproductive views (kind 'pelvis') contain only organs; the others show the body from the front or back. Switch to the relevant view before focusing an organ region. When the host controls the view, it decides whether the switch happens."
|
|
19
|
-
},
|
|
19
|
+
}, F2 = {
|
|
20
20
|
id: "muscle-scheme",
|
|
21
21
|
// pick — focus a region (`focus_region`, transient); set_value / edit_inline —
|
|
22
22
|
// `set_finding` records a finding, `remove_finding` clears one; view_change —
|
|
@@ -33,8 +33,8 @@ const P = {
|
|
|
33
33
|
// never the free-text clinical note (PHI). Notes are fetched deliberately
|
|
34
34
|
// per region via get_region (safety: 'phi').
|
|
35
35
|
read: (e) => Object.fromEntries(
|
|
36
|
-
Object.entries(e.getChart()).map(([
|
|
37
|
-
|
|
36
|
+
Object.entries(e.getChart()).map(([a, i]) => [
|
|
37
|
+
a,
|
|
38
38
|
i.map((t) => t.type)
|
|
39
39
|
])
|
|
40
40
|
)
|
|
@@ -58,8 +58,8 @@ const P = {
|
|
|
58
58
|
idempotent: !0,
|
|
59
59
|
descriptionKey: "ui.agent.muscleScheme.actions.focusRegion",
|
|
60
60
|
description: "Move focus to a specific region in the active view.",
|
|
61
|
-
invoke: (e,
|
|
62
|
-
e.focusRegion(
|
|
61
|
+
invoke: (e, a) => {
|
|
62
|
+
e.focusRegion(a.regionId);
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
65
|
get_region: {
|
|
@@ -85,7 +85,7 @@ const P = {
|
|
|
85
85
|
idempotent: !0,
|
|
86
86
|
descriptionKey: "ui.agent.muscleScheme.actions.getRegion",
|
|
87
87
|
description: "Read the findings (incl. notes) recorded on one region.",
|
|
88
|
-
invoke: (e,
|
|
88
|
+
invoke: (e, a) => e.getRegion(a.regionId)
|
|
89
89
|
},
|
|
90
90
|
regions_with: {
|
|
91
91
|
safety: "read",
|
|
@@ -100,7 +100,7 @@ const P = {
|
|
|
100
100
|
idempotent: !0,
|
|
101
101
|
descriptionKey: "ui.agent.muscleScheme.actions.regionsWith",
|
|
102
102
|
description: "List the region ids carrying a given finding type.",
|
|
103
|
-
invoke: (e,
|
|
103
|
+
invoke: (e, a) => e.regionsWith(a.type)
|
|
104
104
|
},
|
|
105
105
|
set_finding: {
|
|
106
106
|
safety: "write",
|
|
@@ -117,8 +117,8 @@ const P = {
|
|
|
117
117
|
idempotent: !0,
|
|
118
118
|
descriptionKey: "ui.agent.muscleScheme.actions.setFinding",
|
|
119
119
|
description: "Record a finding (observation / lesion / pain / treatment / note) on a region.",
|
|
120
|
-
invoke: (e,
|
|
121
|
-
e.setFinding(
|
|
120
|
+
invoke: (e, a) => {
|
|
121
|
+
e.setFinding(a.regionId, a.type, a.note);
|
|
122
122
|
}
|
|
123
123
|
},
|
|
124
124
|
remove_finding: {
|
|
@@ -132,8 +132,8 @@ const P = {
|
|
|
132
132
|
idempotent: !0,
|
|
133
133
|
descriptionKey: "ui.agent.muscleScheme.actions.removeFinding",
|
|
134
134
|
description: "Remove a single finding type from a region.",
|
|
135
|
-
invoke: (e,
|
|
136
|
-
e.removeFinding(
|
|
135
|
+
invoke: (e, a) => {
|
|
136
|
+
e.removeFinding(a.regionId, a.type);
|
|
137
137
|
}
|
|
138
138
|
},
|
|
139
139
|
clear_region: {
|
|
@@ -147,8 +147,8 @@ const P = {
|
|
|
147
147
|
idempotent: !0,
|
|
148
148
|
descriptionKey: "ui.agent.muscleScheme.actions.clearRegion",
|
|
149
149
|
description: "Clear every finding from a region.",
|
|
150
|
-
invoke: (e,
|
|
151
|
-
e.clearRegion(
|
|
150
|
+
invoke: (e, a) => {
|
|
151
|
+
e.clearRegion(a.regionId);
|
|
152
152
|
}
|
|
153
153
|
},
|
|
154
154
|
set_view: {
|
|
@@ -156,14 +156,14 @@ const P = {
|
|
|
156
156
|
argsType: "{ viewId: string }",
|
|
157
157
|
argsSchema: {
|
|
158
158
|
type: "object",
|
|
159
|
-
properties: { viewId:
|
|
159
|
+
properties: { viewId: R2 },
|
|
160
160
|
required: ["viewId"]
|
|
161
161
|
},
|
|
162
162
|
idempotent: !0,
|
|
163
163
|
descriptionKey: "ui.agent.muscleScheme.actions.setView",
|
|
164
164
|
description: "Switch the active muscle view.",
|
|
165
|
-
invoke: (e,
|
|
166
|
-
e.setView(
|
|
165
|
+
invoke: (e, a) => {
|
|
166
|
+
e.setView(a.viewId);
|
|
167
167
|
}
|
|
168
168
|
}
|
|
169
169
|
},
|
|
@@ -179,7 +179,7 @@ const P = {
|
|
|
179
179
|
description: "Each rendered region `<g>` carries its region id as `data-region` and its anatomical side (`left` / `right` / `midline`) as `data-side`, so bilateral regions can be disambiguated by side; a host-selected region also carries `data-selected`. The root `data-view` and `data-view-kind` attributes expose the active view and what it depicts (`front` / `back` / `pelvis`)."
|
|
180
180
|
}
|
|
181
181
|
}
|
|
182
|
-
},
|
|
182
|
+
}, A2 = {
|
|
183
183
|
viewBox: "0 0 520 660",
|
|
184
184
|
plates: [
|
|
185
185
|
{ x: 6, y: 36, w: 508, h: 372 },
|
|
@@ -621,7 +621,7 @@ const P = {
|
|
|
621
621
|
marker: { x: 388, y: 618 }
|
|
622
622
|
}
|
|
623
623
|
]
|
|
624
|
-
},
|
|
624
|
+
}, T2 = {
|
|
625
625
|
viewBox: "0 0 520 596",
|
|
626
626
|
plates: [{ x: 6, y: 10, w: 508, h: 580 }],
|
|
627
627
|
backdrop: [
|
|
@@ -1999,7 +1999,7 @@ const P = {
|
|
|
1999
1999
|
d: "M 1206.8,1373.7 q 8.72,22.21 13.81,42.33 0.94,3.7 -1.71,6.53 -1.44,1.54 -5.28,2.63 -14.71,4.18 -29.01,2.49 -9.46,-1.11 -14.96,-6.81 -1.68,-1.75 -1.46,-3.83 2.75,-26.35 9.42,-50.74 0.68,-2.5 0.89,0.09 0.63,7.86 2.59,16.87 2.96,13.59 7.32,30.23 0.79,2.98 3.86,3.47 3.52,0.56 5.1,-1.58 c 2.84,-3.86 4.42,-8.89 4.83,-13.69 0.96,-11.15 -0.35,-22.32 -1,-33 q -0.2,-3.25 0.17,-6.56 0.09,-0.79 0.42,-0.07 2.74,5.83 5.01,11.64 z"
|
|
2000
2000
|
}
|
|
2001
2001
|
]
|
|
2002
|
-
},
|
|
2002
|
+
}, B2 = {
|
|
2003
2003
|
"male-front": {
|
|
2004
2004
|
"chest-r": "M267 338L285 331 301 330 316 331 331 333 344 341 353 360 356 394M266 342L282 341 297 343 311 345 326 347 339 355 349 370 354 399M264 347L278 351 292 356 306 359 321 362 334 368 345 381 353 403M262 352L274 361 287 368 301 373 316 376 329 381 341 391 351 407M260 357L271 371 283 381 296 387 311 390 325 395 338 402 350 411M259 361L267 381 278 393 291 401 305 404 320 408 334 412 348 416M257 366L263 391 274 406 286 414 300 419 315 422 330 423 347 420",
|
|
2005
2005
|
"chest-l": "M471 366L465 392 455 406 442 415 428 419 413 422 398 423 382 420M469 361L461 382 450 393 437 401 423 405 409 408 394 412 380 415M468 357L458 371 445 381 432 387 418 390 404 395 391 402 378 411M466 352L454 361 441 368 427 373 412 376 399 381 387 391 377 407M464 347L450 351 436 356 422 359 407 362 394 368 383 380 375 402M463 342L446 341 432 343 417 345 402 348 389 355 379 370 374 398M461 338L443 331 427 330 412 331 397 333 384 341 375 359 372 394",
|
|
@@ -2145,7 +2145,7 @@ const P = {
|
|
|
2145
2145
|
"female-back": "M 1193 208 C 1197 208 1192 213 1189 217 C 1186 222 1178 231 1176 237 C 1175 242 1177 244 1179 248 C 1181 251 1183 255 1186 257 C 1189 260 1191 262 1194 264 C 1198 265 1197 266 1207 269 C 1216 271 1241 274 1251 276 C 1262 278 1263 279 1268 281 C 1274 283 1278 286 1282 290 C 1286 294 1290 299 1292 303 C 1295 307 1296 312 1298 317 C 1300 322 1301 328 1301 334 C 1302 341 1303 347 1304 355 C 1304 364 1303 376 1304 385 C 1306 394 1311 402 1313 410 C 1316 419 1317 421 1319 434 C 1321 446 1319 473 1324 486 C 1328 499 1338 504 1343 512 C 1349 520 1352 527 1356 534 C 1359 541 1360 543 1364 554 C 1367 564 1373 586 1377 598 C 1382 610 1386 618 1391 626 C 1396 634 1402 643 1407 648 C 1412 652 1415 649 1420 654 C 1426 658 1436 667 1442 672 C 1448 676 1454 678 1458 680 C 1461 683 1461 684 1462 686 C 1463 688 1463 690 1463 692 C 1462 693 1461 695 1460 695 C 1458 696 1458 697 1454 696 C 1450 694 1436 685 1435 687 C 1434 690 1444 702 1447 710 C 1450 719 1453 731 1454 738 C 1455 744 1455 747 1454 750 C 1454 752 1453 752 1452 753 C 1451 754 1448 754 1447 756 C 1447 758 1448 763 1448 765 C 1448 767 1447 768 1446 768 C 1445 769 1443 770 1441 770 C 1439 770 1437 767 1435 767 C 1433 767 1431 769 1429 770 C 1428 770 1427 770 1425 770 C 1424 769 1423 768 1421 766 C 1420 764 1418 759 1416 758 C 1415 757 1412 760 1410 760 C 1409 759 1408 759 1406 757 C 1404 754 1400 749 1397 744 C 1395 739 1394 741 1389 727 C 1385 713 1383 686 1369 661 C 1355 636 1317 593 1304 576 C 1292 560 1296 565 1293 559 C 1289 554 1287 548 1284 543 C 1282 538 1280 534 1278 528 C 1277 522 1277 513 1274 506 C 1272 498 1266 490 1263 483 C 1260 475 1258 471 1256 460 C 1253 450 1249 427 1247 420 C 1245 413 1247 418 1246 420 C 1245 422 1243 428 1240 431 C 1238 435 1234 439 1232 442 C 1230 445 1231 431 1230 449 C 1230 467 1229 532 1229 551 C 1229 569 1229 555 1232 559 C 1234 564 1241 572 1245 577 C 1248 583 1250 586 1254 594 C 1258 603 1263 614 1267 626 C 1270 639 1274 653 1276 667 C 1278 682 1279 699 1279 715 C 1279 732 1279 749 1277 768 C 1275 786 1273 806 1269 826 C 1265 846 1261 865 1255 889 C 1249 913 1238 947 1233 970 C 1228 992 1226 1012 1225 1023 C 1224 1034 1224 1028 1225 1038 C 1227 1048 1233 1071 1236 1085 C 1238 1098 1240 1109 1241 1119 C 1242 1128 1243 1134 1243 1141 C 1243 1149 1243 1155 1242 1162 C 1241 1169 1242 1167 1237 1183 C 1233 1198 1221 1233 1216 1255 C 1210 1276 1207 1296 1206 1309 C 1204 1322 1204 1323 1205 1330 C 1206 1337 1209 1343 1210 1349 C 1211 1354 1210 1360 1210 1364 C 1210 1367 1208 1363 1211 1369 C 1214 1376 1223 1394 1228 1402 C 1234 1410 1241 1414 1244 1418 C 1247 1422 1246 1424 1245 1426 C 1245 1428 1244 1430 1242 1430 C 1241 1431 1246 1432 1235 1432 C 1225 1432 1190 1433 1178 1432 C 1167 1432 1168 1431 1166 1430 C 1163 1429 1163 1427 1162 1426 C 1161 1424 1161 1424 1160 1420 C 1160 1416 1160 1410 1161 1401 C 1162 1391 1165 1375 1166 1364 C 1168 1352 1167 1346 1167 1332 C 1167 1318 1167 1295 1166 1280 C 1165 1265 1166 1257 1163 1241 C 1161 1225 1155 1200 1152 1185 C 1150 1170 1150 1161 1150 1151 C 1150 1140 1150 1140 1152 1124 C 1154 1108 1160 1076 1162 1054 C 1163 1031 1162 1012 1161 989 C 1160 967 1156 944 1154 918 C 1152 891 1149 854 1148 829 C 1147 805 1147 788 1147 772 C 1148 757 1150 745 1151 739 C 1151 733 1151 737 1149 737 C 1147 737 1140 737 1138 737 C 1135 737 1135 737 1135 738 C 1134 738 1134 734 1134 740 C 1135 745 1137 754 1138 770 C 1138 787 1137 812 1136 838 C 1135 863 1133 898 1131 923 C 1129 948 1126 967 1124 987 C 1123 1007 1123 1031 1123 1044 C 1123 1057 1123 1051 1125 1065 C 1126 1079 1132 1110 1134 1126 C 1135 1142 1135 1149 1135 1160 C 1134 1172 1134 1180 1131 1195 C 1129 1209 1123 1228 1121 1248 C 1119 1268 1118 1296 1118 1315 C 1118 1334 1118 1350 1119 1364 C 1120 1379 1123 1391 1124 1400 C 1126 1409 1125 1415 1125 1419 C 1124 1424 1123 1427 1121 1429 C 1120 1431 1120 1431 1115 1432 C 1110 1432 1102 1433 1091 1433 C 1080 1433 1055 1432 1048 1432 C 1040 1431 1044 1431 1043 1431 C 1042 1430 1041 1430 1040 1428 C 1040 1426 1040 1422 1040 1420 C 1041 1418 1041 1418 1043 1416 C 1044 1414 1049 1411 1052 1409 C 1054 1406 1053 1409 1057 1402 C 1061 1395 1072 1376 1075 1367 C 1078 1358 1074 1354 1075 1348 C 1076 1342 1079 1336 1080 1329 C 1081 1323 1081 1320 1079 1307 C 1078 1294 1074 1273 1069 1253 C 1064 1232 1052 1197 1048 1182 C 1043 1167 1044 1170 1044 1163 C 1043 1157 1042 1151 1042 1144 C 1042 1137 1043 1131 1044 1121 C 1045 1112 1047 1100 1049 1086 C 1052 1072 1058 1048 1060 1037 C 1061 1026 1061 1032 1060 1021 C 1059 1010 1057 992 1053 970 C 1048 949 1036 915 1030 891 C 1024 867 1020 847 1016 827 C 1013 806 1010 787 1008 769 C 1007 750 1006 734 1006 718 C 1006 701 1007 685 1009 670 C 1011 655 1014 640 1018 627 C 1022 615 1027 602 1031 594 C 1035 586 1036 584 1040 578 C 1044 572 1050 564 1053 560 C 1056 555 1056 571 1056 552 C 1056 532 1056 464 1054 444 C 1052 424 1047 435 1044 431 C 1042 427 1041 415 1038 420 C 1036 425 1032 450 1030 461 C 1027 471 1024 477 1021 485 C 1018 492 1013 499 1011 506 C 1009 513 1009 521 1007 527 C 1006 533 1004 537 1001 542 C 999 548 996 554 992 559 C 989 565 993 560 981 577 C 968 594 928 645 916 660 C 905 675 916 659 912 670 C 909 681 900 713 896 726 C 892 738 890 740 887 745 C 885 750 882 754 880 756 C 878 758 876 759 874 760 C 872 760 871 757 869 758 C 867 759 865 764 864 766 C 862 768 862 770 859 770 C 857 770 853 767 850 767 C 847 767 845 770 843 770 C 841 770 839 769 839 768 C 838 767 837 766 837 764 C 837 762 839 758 838 756 C 837 755 834 754 833 753 C 832 752 831 753 831 750 C 831 747 830 744 831 737 C 832 730 835 717 838 709 C 842 701 852 689 850 687 C 849 685 834 695 830 696 C 825 697 825 695 824 694 C 822 693 822 691 822 689 C 823 687 823 685 824 684 C 825 682 825 681 828 679 C 831 677 837 676 843 672 C 849 667 859 657 865 653 C 870 649 873 652 878 648 C 882 643 888 634 892 629 C 896 623 898 619 901 614 C 903 610 904 610 908 599 C 911 589 918 564 921 553 C 925 543 926 541 929 534 C 933 527 936 521 941 513 C 947 505 957 499 962 486 C 966 472 965 443 967 431 C 968 418 969 418 972 410 C 974 402 979 393 981 384 C 983 374 981 363 982 354 C 982 344 984 333 985 325 C 987 318 988 313 990 308 C 992 303 995 299 998 295 C 1001 292 1004 289 1008 286 C 1011 283 1015 282 1020 280 C 1024 278 1026 277 1035 276 C 1045 274 1065 271 1074 270 C 1082 268 1082 267 1086 265 C 1091 262 1096 259 1099 257 C 1102 254 1104 252 1106 249 C 1107 245 1109 240 1109 238 C 1109 235 1109 236 1108 234 C 1107 232 1102 227 1101 224 C 1100 222 1100 219 1100 217 C 1101 216 1098 213 1102 214 C 1106 214 1115 219 1122 221 C 1129 222 1138 223 1145 222 C 1151 222 1153 221 1161 219 C 1169 217 1188 208 1193 208 Z",
|
|
2146
2146
|
"child-front": "M 354 265 C 338 265 320 265 312 265 C 304 266 306 266 305 267 C 303 268 303 267 303 269 C 303 271 302 275 303 278 C 303 281 304 284 305 288 C 307 292 311 300 313 303 C 314 306 314 305 315 305 C 316 306 318 304 319 307 C 320 309 319 317 320 322 C 322 326 326 329 327 335 C 327 341 326 353 325 359 C 324 364 324 364 321 368 C 317 372 308 379 302 383 C 296 387 289 391 284 393 C 279 395 278 396 271 396 C 264 396 251 395 244 396 C 237 396 234 397 228 400 C 223 404 215 410 210 415 C 204 421 198 429 195 434 C 192 440 191 443 190 447 C 189 451 189 454 189 460 C 188 466 188 473 189 483 C 189 492 192 506 191 517 C 189 528 182 537 179 548 C 177 559 180 571 176 582 C 172 593 160 606 155 616 C 150 626 147 636 144 643 C 142 649 143 644 141 657 C 138 671 133 704 129 724 C 125 743 119 766 116 776 C 113 786 114 781 113 783 C 111 785 112 786 108 788 C 104 791 93 796 88 799 C 83 802 81 802 77 807 C 73 811 68 821 64 826 C 60 831 54 834 52 837 C 49 840 50 841 50 842 C 50 844 51 845 53 846 C 54 847 57 847 59 847 C 62 846 65 845 68 843 C 71 841 75 836 78 835 C 80 833 80 834 81 834 C 81 835 82 835 82 836 C 82 837 82 840 82 842 C 82 844 84 841 81 847 C 77 854 66 875 62 882 C 59 889 60 887 60 889 C 60 890 60 892 61 893 C 61 893 62 894 63 894 C 63 894 64 895 65 895 C 66 894 65 897 69 893 C 72 888 82 873 86 868 C 89 863 91 860 92 862 C 92 864 90 871 88 878 C 86 884 80 898 78 903 C 77 908 78 907 78 908 C 78 910 79 911 80 912 C 80 912 81 912 82 912 C 83 912 84 912 86 911 C 87 910 88 912 91 904 C 95 897 107 868 109 867 C 111 867 105 894 104 902 C 104 909 105 911 106 913 C 107 915 108 915 110 914 C 111 914 111 917 114 909 C 117 901 123 873 125 865 C 128 858 127 865 127 866 C 128 867 128 865 128 870 C 129 875 130 892 131 897 C 133 902 134 900 135 900 C 136 900 137 900 138 898 C 139 897 139 896 140 890 C 141 884 141 873 143 860 C 146 847 153 825 155 812 C 157 800 155 792 156 785 C 156 779 156 779 158 772 C 161 765 164 758 173 741 C 181 723 201 686 208 669 C 215 653 214 653 216 642 C 219 631 219 614 222 604 C 226 593 232 588 236 579 C 240 570 244 555 246 549 C 248 544 248 547 248 547 C 249 547 249 542 251 548 C 252 553 254 571 257 581 C 259 591 264 597 266 606 C 268 615 267 623 267 636 C 267 648 265 667 264 681 C 263 694 263 703 260 717 C 257 730 250 748 247 764 C 243 780 240 799 239 811 C 237 823 237 827 236 837 C 236 846 236 855 236 868 C 236 880 237 901 238 913 C 239 924 240 930 241 937 C 242 945 244 952 246 959 C 248 966 254 974 256 980 C 257 986 257 986 256 994 C 255 1002 252 1017 252 1026 C 251 1035 254 1039 253 1049 C 253 1059 249 1073 247 1085 C 246 1097 245 1106 246 1120 C 247 1133 248 1147 251 1165 C 254 1182 262 1213 265 1227 C 267 1240 266 1236 266 1243 C 265 1251 263 1263 263 1270 C 263 1278 265 1285 266 1289 C 266 1293 265 1293 265 1294 C 264 1296 266 1295 262 1299 C 258 1303 246 1314 242 1318 C 238 1322 240 1323 239 1325 C 239 1327 237 1328 239 1330 C 240 1332 243 1337 247 1339 C 250 1341 255 1342 260 1344 C 265 1345 272 1347 276 1347 C 280 1348 281 1346 284 1346 C 287 1347 292 1349 294 1349 C 297 1350 297 1349 298 1349 C 300 1348 301 1347 303 1345 C 304 1344 307 1341 308 1339 C 309 1337 310 1338 310 1334 C 311 1331 310 1323 310 1317 C 311 1310 314 1305 314 1298 C 315 1290 316 1282 315 1273 C 314 1264 311 1254 310 1244 C 309 1233 310 1221 311 1210 C 311 1200 312 1193 314 1182 C 317 1172 323 1158 326 1149 C 328 1140 327 1138 328 1130 C 328 1121 328 1113 327 1100 C 325 1087 320 1062 320 1051 C 320 1041 325 1040 326 1035 C 327 1031 328 1032 328 1024 C 329 1016 324 1010 329 987 C 333 963 352 903 356 882 C 361 862 358 874 358 866 C 358 858 357 839 357 834 C 357 828 357 833 359 833 C 361 832 368 832 370 833 C 372 833 371 831 371 835 C 371 839 370 850 370 858 C 371 866 367 863 372 885 C 377 907 395 965 400 988 C 405 1011 400 1016 400 1024 C 400 1032 401 1031 402 1035 C 404 1040 408 1041 408 1051 C 408 1062 403 1086 402 1099 C 401 1112 401 1121 401 1130 C 401 1138 401 1140 403 1149 C 405 1158 411 1172 414 1182 C 417 1193 417 1201 418 1212 C 419 1222 419 1235 418 1245 C 418 1255 414 1264 413 1273 C 413 1282 414 1292 414 1299 C 415 1306 418 1311 418 1317 C 419 1322 417 1328 418 1332 C 418 1336 418 1336 420 1338 C 421 1340 423 1343 425 1344 C 426 1346 428 1348 430 1349 C 432 1349 433 1350 435 1349 C 438 1349 441 1347 444 1346 C 448 1346 449 1348 455 1347 C 461 1346 474 1342 480 1340 C 485 1337 487 1334 489 1333 C 490 1331 490 1332 490 1329 C 489 1327 490 1322 486 1317 C 482 1312 469 1303 465 1298 C 462 1294 463 1293 463 1289 C 463 1284 465 1277 465 1269 C 465 1262 463 1250 462 1244 C 462 1237 460 1243 463 1230 C 465 1216 474 1183 477 1165 C 481 1147 482 1133 482 1120 C 483 1107 482 1097 481 1085 C 480 1074 476 1060 475 1050 C 474 1039 477 1033 477 1024 C 476 1015 473 1003 473 996 C 472 988 471 985 473 979 C 474 973 479 967 482 960 C 484 954 485 950 487 941 C 488 933 489 923 490 912 C 491 901 492 888 492 876 C 492 864 492 849 492 838 C 492 828 491 825 490 813 C 488 801 486 783 482 767 C 479 750 472 736 468 714 C 465 692 462 654 461 636 C 460 619 460 616 462 607 C 464 597 470 588 472 579 C 475 569 477 553 478 548 C 479 543 479 547 480 547 C 481 547 480 543 482 549 C 484 555 489 573 493 582 C 497 591 503 593 506 604 C 509 614 510 633 512 643 C 514 654 512 651 519 668 C 527 685 550 728 558 746 C 567 763 567 764 569 770 C 572 777 572 778 572 785 C 573 792 572 801 574 813 C 576 826 582 847 585 860 C 587 872 587 882 588 888 C 589 895 589 896 591 898 C 592 900 593 900 594 900 C 595 899 596 901 597 896 C 598 890 599 874 600 869 C 601 864 600 859 603 865 C 605 872 612 901 614 909 C 617 917 617 913 618 914 C 620 915 622 914 622 913 C 623 913 624 911 624 910 C 624 908 625 909 624 902 C 623 895 617 867 619 868 C 621 868 633 898 638 906 C 642 913 642 911 644 912 C 645 913 647 912 648 912 C 650 911 650 910 651 909 C 651 907 652 908 650 903 C 649 898 643 886 641 879 C 639 872 636 863 636 861 C 637 860 641 865 645 871 C 649 876 657 889 660 893 C 663 897 662 894 663 895 C 664 895 665 895 666 894 C 666 894 667 893 668 893 C 668 892 672 896 668 889 C 665 881 652 855 648 848 C 644 840 646 844 646 842 C 646 840 646 838 646 836 C 647 835 647 835 648 834 C 648 834 648 833 651 835 C 653 836 657 841 661 843 C 664 845 667 846 670 847 C 673 847 675 846 677 845 C 678 844 679 842 679 841 C 678 839 679 839 676 836 C 674 833 668 830 664 825 C 660 821 655 811 651 807 C 648 802 646 802 641 799 C 635 796 625 791 621 789 C 617 786 617 785 616 783 C 614 781 615 785 613 776 C 610 767 605 751 600 728 C 596 706 589 662 584 643 C 580 624 579 627 573 617 C 568 607 557 594 553 582 C 548 571 551 559 549 548 C 546 537 539 528 538 517 C 536 506 540 491 540 482 C 540 472 540 464 539 458 C 539 451 538 449 537 444 C 536 440 535 437 532 432 C 529 427 523 419 518 414 C 513 409 506 404 500 401 C 495 398 492 396 485 396 C 477 395 463 396 456 396 C 449 395 450 396 444 393 C 439 391 431 387 425 382 C 419 378 410 370 406 366 C 402 361 403 359 403 354 C 402 349 401 340 402 335 C 403 330 407 327 408 322 C 409 317 408 310 409 307 C 410 304 413 307 416 303 C 418 300 422 292 423 287 C 425 283 426 279 426 276 C 426 273 426 270 425 269 C 423 267 421 267 418 266 C 415 266 420 266 409 266 C 398 266 371 265 354 265 Z",
|
|
2147
2147
|
"child-back": "M 1073 265 C 1057 265 1038 266 1030 266 C 1023 266 1027 266 1026 267 C 1024 268 1023 268 1023 269 C 1022 271 1022 275 1022 278 C 1023 282 1024 286 1025 290 C 1027 294 1031 300 1032 303 C 1034 306 1034 305 1035 305 C 1036 306 1038 304 1039 306 C 1039 309 1039 317 1040 322 C 1041 326 1045 329 1046 335 C 1047 341 1046 352 1045 357 C 1045 362 1044 361 1044 363 C 1043 364 1044 364 1040 368 C 1037 371 1028 379 1022 383 C 1016 387 1009 391 1004 393 C 999 395 998 395 991 396 C 984 396 969 395 962 396 C 955 397 954 397 948 401 C 943 404 935 410 929 415 C 924 421 918 429 915 434 C 912 439 911 441 910 445 C 909 450 908 448 908 460 C 908 472 912 502 910 517 C 908 532 901 538 899 549 C 896 560 900 571 896 582 C 892 593 880 606 875 616 C 869 626 866 636 864 643 C 861 649 863 643 860 657 C 858 671 852 707 848 727 C 844 746 838 766 835 776 C 833 785 833 782 832 784 C 830 786 832 786 828 788 C 824 791 813 796 808 799 C 803 802 801 802 797 807 C 793 811 789 820 785 825 C 780 830 774 834 771 837 C 769 840 769 841 769 842 C 770 844 770 845 772 846 C 774 847 777 847 779 847 C 782 846 784 845 787 843 C 790 841 795 836 797 835 C 799 833 800 834 800 834 C 801 835 801 835 802 836 C 802 837 802 840 802 842 C 802 844 804 839 800 847 C 797 855 783 881 780 889 C 776 896 780 892 780 892 C 781 893 781 894 782 894 C 783 894 784 895 785 894 C 786 894 785 897 788 893 C 792 888 801 873 805 868 C 809 863 811 860 811 862 C 812 864 810 871 807 878 C 805 884 799 898 798 903 C 796 908 797 907 797 908 C 798 910 799 911 799 912 C 800 912 801 913 802 913 C 803 912 804 913 805 911 C 807 910 807 912 811 905 C 815 897 827 868 829 868 C 831 867 825 895 824 902 C 823 909 824 908 824 910 C 824 912 825 913 826 913 C 827 914 829 915 830 914 C 831 913 832 916 834 908 C 836 901 841 878 843 871 C 845 863 845 865 845 865 C 846 865 847 864 848 869 C 849 874 850 890 851 896 C 852 901 852 899 854 900 C 855 900 856 900 857 898 C 859 896 859 895 860 889 C 861 882 861 871 863 859 C 866 846 872 827 874 815 C 876 803 875 793 876 785 C 876 778 876 778 879 770 C 881 763 884 758 892 740 C 900 723 921 685 928 668 C 936 651 934 651 937 641 C 939 630 939 614 942 604 C 945 593 952 588 956 579 C 960 570 964 555 966 549 C 968 544 967 547 968 547 C 969 547 968 542 970 547 C 971 552 973 569 976 578 C 978 588 984 596 985 605 C 987 614 988 614 987 632 C 986 650 984 691 980 714 C 977 737 969 751 965 768 C 962 785 959 806 958 818 C 956 829 956 828 956 838 C 956 848 955 865 956 877 C 956 889 957 901 958 912 C 959 923 960 934 962 942 C 963 951 964 954 966 960 C 969 966 974 974 976 980 C 977 986 976 987 975 994 C 975 1002 972 1015 972 1024 C 971 1033 974 1039 973 1049 C 972 1060 968 1073 967 1085 C 966 1097 965 1107 966 1121 C 966 1135 968 1150 971 1167 C 974 1185 983 1215 985 1228 C 987 1241 986 1236 985 1243 C 985 1251 983 1263 983 1270 C 983 1278 985 1286 985 1290 C 986 1294 985 1293 985 1295 C 984 1296 986 1295 982 1299 C 978 1303 966 1314 962 1318 C 958 1323 959 1323 959 1325 C 958 1327 957 1328 958 1330 C 960 1333 964 1337 967 1339 C 971 1341 976 1343 980 1344 C 985 1345 991 1347 995 1347 C 999 1348 1001 1346 1004 1346 C 1007 1347 1011 1349 1013 1349 C 1015 1350 1016 1349 1017 1349 C 1019 1348 1020 1348 1022 1346 C 1024 1344 1028 1340 1030 1335 C 1031 1330 1029 1322 1030 1316 C 1031 1310 1033 1303 1034 1298 C 1034 1293 1033 1289 1033 1285 C 1034 1281 1036 1280 1035 1274 C 1034 1267 1030 1257 1030 1246 C 1029 1235 1030 1219 1030 1209 C 1031 1198 1032 1192 1034 1182 C 1036 1172 1043 1158 1045 1150 C 1047 1141 1047 1137 1047 1129 C 1048 1121 1048 1115 1046 1102 C 1045 1089 1040 1062 1040 1051 C 1040 1040 1044 1041 1046 1036 C 1047 1032 1047 1033 1048 1025 C 1048 1016 1044 1010 1048 986 C 1053 962 1071 904 1076 882 C 1081 860 1078 864 1078 856 C 1078 848 1075 838 1077 834 C 1079 830 1087 832 1090 833 C 1092 833 1091 829 1091 834 C 1091 839 1090 854 1090 862 C 1090 871 1087 864 1092 885 C 1097 906 1115 969 1119 987 C 1124 1005 1120 991 1120 995 C 1120 998 1119 1005 1119 1010 C 1119 1015 1120 1021 1120 1025 C 1120 1030 1121 1031 1122 1036 C 1123 1040 1128 1041 1128 1052 C 1128 1062 1123 1087 1122 1100 C 1120 1113 1120 1123 1121 1131 C 1121 1139 1120 1141 1122 1149 C 1125 1158 1131 1172 1134 1182 C 1136 1192 1137 1199 1137 1209 C 1138 1220 1139 1233 1138 1244 C 1137 1255 1133 1264 1133 1273 C 1132 1282 1133 1292 1134 1299 C 1135 1306 1137 1311 1138 1317 C 1138 1322 1137 1329 1137 1332 C 1138 1336 1138 1336 1139 1338 C 1141 1340 1144 1344 1145 1345 C 1147 1347 1148 1348 1150 1349 C 1151 1349 1153 1350 1155 1349 C 1158 1349 1161 1347 1164 1346 C 1167 1346 1168 1348 1172 1347 C 1176 1347 1183 1345 1188 1344 C 1193 1342 1198 1341 1201 1339 C 1204 1337 1206 1334 1208 1333 C 1209 1332 1209 1332 1209 1330 C 1209 1328 1209 1326 1208 1324 C 1208 1322 1209 1322 1205 1318 C 1202 1314 1189 1303 1186 1299 C 1182 1295 1184 1296 1183 1294 C 1183 1293 1182 1293 1182 1289 C 1183 1285 1185 1276 1185 1269 C 1185 1261 1183 1251 1182 1244 C 1182 1238 1180 1242 1183 1229 C 1185 1216 1194 1183 1197 1164 C 1200 1146 1201 1133 1202 1119 C 1202 1106 1202 1096 1201 1085 C 1199 1073 1195 1059 1195 1049 C 1194 1039 1197 1034 1196 1024 C 1196 1015 1193 1001 1192 994 C 1191 986 1191 985 1192 980 C 1194 974 1199 966 1202 960 C 1204 954 1204 951 1206 943 C 1207 936 1209 924 1210 913 C 1211 902 1212 890 1212 878 C 1212 866 1212 849 1212 839 C 1212 829 1211 828 1210 816 C 1208 804 1206 786 1203 769 C 1199 752 1191 735 1187 714 C 1184 692 1182 655 1181 637 C 1180 619 1180 615 1182 606 C 1184 597 1188 592 1191 582 C 1194 573 1196 554 1198 548 C 1199 542 1199 547 1200 547 C 1201 547 1200 545 1202 550 C 1204 555 1207 569 1211 578 C 1215 587 1222 593 1226 604 C 1229 615 1229 632 1231 643 C 1234 653 1231 650 1239 668 C 1248 687 1274 737 1282 754 C 1290 771 1287 766 1289 771 C 1291 776 1291 778 1292 786 C 1293 793 1291 802 1293 814 C 1295 826 1302 847 1304 859 C 1307 871 1306 881 1307 887 C 1308 894 1309 895 1310 897 C 1311 899 1312 900 1314 900 C 1315 900 1316 901 1317 896 C 1318 891 1319 875 1320 870 C 1320 864 1321 865 1322 865 C 1323 865 1322 862 1324 869 C 1326 876 1331 901 1333 908 C 1336 916 1336 913 1338 914 C 1339 915 1341 914 1342 914 C 1343 913 1343 912 1343 910 C 1344 908 1344 910 1344 903 C 1343 896 1337 867 1339 868 C 1341 868 1352 897 1356 904 C 1360 911 1360 909 1362 911 C 1363 912 1364 912 1365 912 C 1366 913 1367 913 1368 912 C 1369 911 1370 910 1370 909 C 1370 908 1371 909 1370 903 C 1368 898 1363 885 1360 878 C 1358 871 1356 863 1356 862 C 1357 860 1360 865 1364 870 C 1368 875 1377 889 1380 893 C 1383 897 1382 894 1383 895 C 1384 895 1385 895 1386 894 C 1387 893 1388 892 1388 890 C 1388 888 1390 890 1386 883 C 1383 876 1371 854 1367 847 C 1364 840 1366 843 1366 841 C 1366 840 1366 837 1366 836 C 1367 835 1367 835 1368 834 C 1368 834 1369 833 1371 835 C 1373 836 1378 841 1381 843 C 1384 845 1386 846 1389 847 C 1392 847 1394 847 1396 846 C 1397 845 1398 843 1398 842 C 1398 840 1399 839 1396 837 C 1394 834 1388 831 1384 826 C 1380 821 1375 811 1370 806 C 1366 802 1365 801 1360 798 C 1354 795 1344 791 1340 788 C 1336 786 1337 786 1336 784 C 1335 782 1335 785 1332 776 C 1329 766 1323 744 1319 725 C 1315 705 1311 673 1308 660 C 1305 646 1306 650 1304 642 C 1301 635 1298 626 1293 616 C 1287 606 1276 594 1272 583 C 1268 572 1271 559 1268 547 C 1266 536 1259 531 1257 517 C 1256 502 1259 470 1259 458 C 1259 446 1258 449 1257 445 C 1256 441 1255 438 1252 433 C 1249 427 1244 420 1238 415 C 1233 409 1225 403 1219 400 C 1214 397 1212 396 1205 396 C 1198 395 1183 396 1176 396 C 1170 395 1169 396 1163 393 C 1158 391 1149 386 1143 381 C 1136 376 1129 370 1125 365 C 1122 360 1123 357 1122 352 C 1121 347 1121 339 1122 334 C 1122 329 1126 327 1127 323 C 1129 318 1128 309 1129 306 C 1130 303 1132 306 1133 306 C 1134 305 1134 306 1136 303 C 1137 300 1142 290 1144 285 C 1145 280 1146 277 1146 274 C 1146 271 1147 269 1144 268 C 1141 267 1140 266 1128 265 C 1116 265 1089 264 1073 265 Z"
|
|
2148
|
-
},
|
|
2148
|
+
}, D2 = [
|
|
2149
2149
|
"observation",
|
|
2150
2150
|
"lesion",
|
|
2151
2151
|
"pain",
|
|
@@ -2158,34 +2158,34 @@ const P = {
|
|
|
2158
2158
|
treatment: { shape: "square", tone: "success" },
|
|
2159
2159
|
note: { shape: "diamond", tone: "neutral" }
|
|
2160
2160
|
};
|
|
2161
|
-
function
|
|
2161
|
+
function j2(e) {
|
|
2162
2162
|
if (e.marker) return e.marker;
|
|
2163
|
-
const
|
|
2164
|
-
if (
|
|
2165
|
-
if (
|
|
2166
|
-
if (
|
|
2167
|
-
const i =
|
|
2163
|
+
const a = e.shape;
|
|
2164
|
+
if (a.kind === "ellipse") return { x: a.cx, y: a.cy };
|
|
2165
|
+
if (a.kind === "rect") return { x: a.x + a.w / 2, y: a.y + a.h / 2 };
|
|
2166
|
+
if (a.kind === "path") return { x: 0, y: 0 };
|
|
2167
|
+
const i = a.points.length, t = a.points.reduce(
|
|
2168
2168
|
(d, [M, f]) => ({ x: d.x + M, y: d.y + f }),
|
|
2169
2169
|
{ x: 0, y: 0 }
|
|
2170
2170
|
);
|
|
2171
2171
|
return { x: t.x / i, y: t.y / i };
|
|
2172
2172
|
}
|
|
2173
|
-
const
|
|
2173
|
+
const O2 = {
|
|
2174
2174
|
"male-front": ["face", "hair"],
|
|
2175
2175
|
"male-back": ["face", "hair"],
|
|
2176
2176
|
"female-front": ["hair", "tie", "face"],
|
|
2177
2177
|
"female-back": ["hair", "tie"]
|
|
2178
2178
|
};
|
|
2179
|
-
function X(e,
|
|
2180
|
-
return e.silhouette.split(/(?=M)/).filter((i) => i.trim().length > 0).map((i, t) => ({ part:
|
|
2179
|
+
function X(e, a) {
|
|
2180
|
+
return e.silhouette.split(/(?=M)/).filter((i) => i.trim().length > 0).map((i, t) => ({ part: O2[a][t] ?? "hair", d: i }));
|
|
2181
2181
|
}
|
|
2182
|
-
const
|
|
2183
|
-
function
|
|
2182
|
+
const V2 = /* @__PURE__ */ new Set(["knees", "ankles", "hands", "feet"]);
|
|
2183
|
+
function H2(e) {
|
|
2184
2184
|
return e === "midline" ? e : e === "left" ? "right" : "left";
|
|
2185
2185
|
}
|
|
2186
|
-
function Y(e,
|
|
2187
|
-
const i =
|
|
2188
|
-
const w =
|
|
2186
|
+
function Y(e, a) {
|
|
2187
|
+
const i = a.endsWith("-back"), t = (l, w) => i ? l.replace(/-[lr]$/, w === "left" ? "-l" : "-r") : l, d = [], M = e.muscles.map((l) => {
|
|
2188
|
+
const w = B2[a][l.id], n = i ? H2(l.side) : l.side, u = P2[a][l.id], L = l.d.split(/(?=M)/).filter((N) => N.trim()), m = u ? L.filter((N, I) => !u.pieces.includes(I)).join("") : l.d;
|
|
2189
2189
|
if (u) {
|
|
2190
2190
|
const N = l.id.replace(/-[lr]$/, "");
|
|
2191
2191
|
d.push({
|
|
@@ -2204,7 +2204,7 @@ function Y(e, C) {
|
|
|
2204
2204
|
id: t(l.id, n),
|
|
2205
2205
|
labelKey: l.labelKey,
|
|
2206
2206
|
side: n,
|
|
2207
|
-
tissue:
|
|
2207
|
+
tissue: V2.has(l.id.replace(/-[lr]$/, "")) ? "tendon" : "skeletal",
|
|
2208
2208
|
shape: {
|
|
2209
2209
|
kind: "path",
|
|
2210
2210
|
d: m,
|
|
@@ -2213,16 +2213,16 @@ function Y(e, C) {
|
|
|
2213
2213
|
...w ? { details: [{ kind: "path", d: w, paint: "fibre" }] } : {},
|
|
2214
2214
|
marker: u ? u.keep : { x: l.cx, y: l.cy }
|
|
2215
2215
|
};
|
|
2216
|
-
}), [f, ...S] =
|
|
2216
|
+
}), [f, ...S] = Y2(e, a);
|
|
2217
2217
|
return [f, ...M, ...d, ...S];
|
|
2218
2218
|
}
|
|
2219
|
-
const f1 = (e,
|
|
2219
|
+
const f1 = (e, a, i, t) => ({
|
|
2220
2220
|
pieces: e,
|
|
2221
2221
|
slug: "ribs",
|
|
2222
2222
|
labelKey: "ribs",
|
|
2223
|
-
marker: { x:
|
|
2223
|
+
marker: { x: a, y: 455 },
|
|
2224
2224
|
keep: { x: i, y: t }
|
|
2225
|
-
}), y1 = (e,
|
|
2225
|
+
}), y1 = (e, a, i, t) => ({ pieces: e, slug: "scapula", labelKey: "scapula", marker: { x: a, y: i }, keep: t }), P2 = {
|
|
2226
2226
|
"male-front": {
|
|
2227
2227
|
"obliques-r": f1([0, 1, 2, 3], 278, 288, 560),
|
|
2228
2228
|
"obliques-l": f1([0, 1, 2, 3], 450, 440, 560)
|
|
@@ -2239,7 +2239,7 @@ const f1 = (e, C, i, t) => ({
|
|
|
2239
2239
|
"upper-back-r": y1([0], 1056, 342, { x: 1093, y: 460 }),
|
|
2240
2240
|
"upper-back-l": y1([0], 1229, 342, { x: 1192, y: 460 })
|
|
2241
2241
|
}
|
|
2242
|
-
}, K = (e,
|
|
2242
|
+
}, K = (e, a, i, t, d, M = e) => ({ slug: e, labelKey: M, x: a, y: i, rx: t, ry: d }), U2 = {
|
|
2243
2243
|
"male-front": [
|
|
2244
2244
|
K("elbow", 178, 485, 13, 10),
|
|
2245
2245
|
K("wrist", 118, 686, 18, 7),
|
|
@@ -2260,7 +2260,7 @@ const f1 = (e, C, i, t) => ({
|
|
|
2260
2260
|
K("wrist", 138, 659, 13, 7),
|
|
2261
2261
|
K("knee-back", 309, 988, 10, 11, "kneeBack")
|
|
2262
2262
|
]
|
|
2263
|
-
},
|
|
2263
|
+
}, G2 = {
|
|
2264
2264
|
"male-front": 0,
|
|
2265
2265
|
"male-back": 210,
|
|
2266
2266
|
"female-front": 0,
|
|
@@ -2271,19 +2271,19 @@ const f1 = (e, C, i, t) => ({
|
|
|
2271
2271
|
"female-front": { x: 362, y: 180 },
|
|
2272
2272
|
"female-back": { x: 350, y: 165 }
|
|
2273
2273
|
}, _ = (e) => Math.round(e * 100) / 100;
|
|
2274
|
-
function
|
|
2275
|
-
const [
|
|
2274
|
+
function W2(e) {
|
|
2275
|
+
const [a, i, t] = (T[e].match(/-?\d+(\.\d+)?/g) ?? []).map(
|
|
2276
2276
|
Number
|
|
2277
2277
|
);
|
|
2278
2278
|
return {
|
|
2279
|
-
x: (d) => _((d -
|
|
2279
|
+
x: (d) => _((d - a) / t),
|
|
2280
2280
|
y: (d) => _((d - i) / t),
|
|
2281
2281
|
len: (d) => _(d / t)
|
|
2282
2282
|
};
|
|
2283
2283
|
}
|
|
2284
|
-
const
|
|
2285
|
-
function
|
|
2286
|
-
const i =
|
|
2284
|
+
const X2 = (e, a, i, t) => `M${_(e - i)} ${a}a${i} ${t} 0 1 0 ${_(2 * i)} 0a${i} ${t} 0 1 0 ${_(-2 * i)} 0Z`;
|
|
2285
|
+
function Y2(e, a) {
|
|
2286
|
+
const i = a.endsWith("-back"), t = W2(a), d = U2[a].flatMap(
|
|
2287
2287
|
(L) => ["left", "right"].map((m) => {
|
|
2288
2288
|
const N = i ? m === "left" : m === "right", I = t.x(N ? L.x : 724 - L.x), B = t.y(L.y);
|
|
2289
2289
|
return {
|
|
@@ -2293,7 +2293,7 @@ function X2(e, C) {
|
|
|
2293
2293
|
tissue: "tendon",
|
|
2294
2294
|
shape: {
|
|
2295
2295
|
kind: "path",
|
|
2296
|
-
d:
|
|
2296
|
+
d: X2(I, B, t.len(L.rx), t.len(L.ry))
|
|
2297
2297
|
},
|
|
2298
2298
|
marker: { x: I, y: B }
|
|
2299
2299
|
};
|
|
@@ -2303,13 +2303,13 @@ function X2(e, C) {
|
|
|
2303
2303
|
labelKey: "head",
|
|
2304
2304
|
side: "midline",
|
|
2305
2305
|
shape: { kind: "path", d: e.silhouette },
|
|
2306
|
-
marker: { x: t.x(W1[
|
|
2306
|
+
marker: { x: t.x(W1[a].x), y: t.y(W1[a].y) }
|
|
2307
2307
|
};
|
|
2308
2308
|
if (!i) return [M, ...d];
|
|
2309
2309
|
const [f, S, l, w] = [
|
|
2310
2310
|
t.x(357),
|
|
2311
2311
|
t.x(367),
|
|
2312
|
-
t.y(
|
|
2312
|
+
t.y(G2[a]),
|
|
2313
2313
|
t.y(630)
|
|
2314
2314
|
], n = _((S - f) / 2), u = {
|
|
2315
2315
|
id: "spine",
|
|
@@ -2327,25 +2327,25 @@ function X2(e, C) {
|
|
|
2327
2327
|
const r1 = {
|
|
2328
2328
|
d: "M 224 376 C 240 383.5 270 386 290 391 C 304 395 312.5 405 312.5 418.5 C 312.5 436.5 296 450.5 268.5 450.5 C 242.5 450.5 221.5 438 215.5 418.5 C 211.5 402.5 213.5 386.5 224 376 Z",
|
|
2329
2329
|
areola: { cx: 262, cy: 419 }
|
|
2330
|
-
},
|
|
2331
|
-
function
|
|
2332
|
-
let
|
|
2330
|
+
}, J2 = 320.5, t2 = (e) => 2 * J2 - e;
|
|
2331
|
+
function e3(e) {
|
|
2332
|
+
let a = 0;
|
|
2333
2333
|
return e.replace(
|
|
2334
2334
|
/-?\d+(?:\.\d+)?/g,
|
|
2335
2335
|
(i) => String(
|
|
2336
|
-
|
|
2336
|
+
a++ % 2 === 0 ? Math.round(t2(Number(i)) * 10) / 10 : i
|
|
2337
2337
|
)
|
|
2338
2338
|
);
|
|
2339
2339
|
}
|
|
2340
2340
|
function X1(e) {
|
|
2341
|
-
const
|
|
2341
|
+
const a = e === "left", i = a ? t2(r1.areola.cx) : r1.areola.cx, t = r1.areola.cy;
|
|
2342
2342
|
return {
|
|
2343
|
-
id: `breast-${
|
|
2343
|
+
id: `breast-${a ? "l" : "r"}`,
|
|
2344
2344
|
labelKey: "breast",
|
|
2345
2345
|
side: e,
|
|
2346
2346
|
group: "reproductive",
|
|
2347
2347
|
tissue: "gland",
|
|
2348
|
-
shape: { kind: "path", d:
|
|
2348
|
+
shape: { kind: "path", d: a ? e3(r1.d) : r1.d },
|
|
2349
2349
|
details: [
|
|
2350
2350
|
{ kind: "ellipse", cx: i, cy: t, rx: 9.5, ry: 9, paint: "mucosa" },
|
|
2351
2351
|
{ kind: "ellipse", cx: i, cy: t, rx: 3.2, ry: 3.2, paint: "erectile" }
|
|
@@ -2353,7 +2353,7 @@ function X1(e) {
|
|
|
2353
2353
|
marker: { x: i, y: t }
|
|
2354
2354
|
};
|
|
2355
2355
|
}
|
|
2356
|
-
const
|
|
2356
|
+
const C3 = [X1("right"), X1("left")], J = "0 0 724 1448", T = {
|
|
2357
2357
|
"male-front": "translate(-26.91 -49.02) scale(1.0678)",
|
|
2358
2358
|
"male-back": "translate(-795.24 -49.05) scale(1.0678)",
|
|
2359
2359
|
"female-front": "translate(62.31 54) scale(0.9351)",
|
|
@@ -2371,12 +2371,12 @@ const e3 = [X1("right"), X1("left")], J = "0 0 724 1448", T = {
|
|
|
2371
2371
|
front: { tx: -65.54, ty: -45.66, s: 1.18 },
|
|
2372
2372
|
back: { tx: -195.1, ty: -42.99, s: 1.18 }
|
|
2373
2373
|
}, I1 = (e) => {
|
|
2374
|
-
const { tx:
|
|
2375
|
-
return `translate(0 ${i2.drop}) translate(${
|
|
2374
|
+
const { tx: a, ty: i, s: t } = r2[e];
|
|
2375
|
+
return `translate(0 ${i2.drop}) translate(${a} ${i}) scale(${t})`;
|
|
2376
2376
|
}, Y1 = {
|
|
2377
2377
|
front: `translate(58.65 268.45) scale(0.8328) ${I1("front")}`,
|
|
2378
2378
|
back: `translate(-540.65 268.42) scale(0.8329) ${I1("back")}`
|
|
2379
|
-
},
|
|
2379
|
+
}, a3 = /* @__PURE__ */ new Set([
|
|
2380
2380
|
"adductors",
|
|
2381
2381
|
"quadriceps",
|
|
2382
2382
|
"hamstring",
|
|
@@ -2388,11 +2388,11 @@ const e3 = [X1("right"), X1("left")], J = "0 0 724 1448", T = {
|
|
|
2388
2388
|
"gluteal",
|
|
2389
2389
|
"knee-back"
|
|
2390
2390
|
]);
|
|
2391
|
-
function J1(e,
|
|
2392
|
-
const { legScale: i, sole: t, drop: d } = i2, M = r2[
|
|
2391
|
+
function J1(e, a) {
|
|
2392
|
+
const { legScale: i, sole: t, drop: d } = i2, M = r2[a];
|
|
2393
2393
|
return e.map((f) => {
|
|
2394
2394
|
var L;
|
|
2395
|
-
const S =
|
|
2395
|
+
const S = a3.has(f.id.replace(/-[lr]$/, "")), l = f.id === "head", w = l ? I1(a) : S ? `matrix(1 0 0 ${i} 0 ${Math.round(t * (1 - i) * 100) / 100})` : `translate(0 ${d})`, n = (m) => l ? {
|
|
2396
2396
|
x: m.x * M.s + M.tx,
|
|
2397
2397
|
y: m.y * M.s + M.ty + d
|
|
2398
2398
|
} : {
|
|
@@ -2441,7 +2441,7 @@ const s1 = {
|
|
|
2441
2441
|
figure: "adult-male",
|
|
2442
2442
|
kind: "pelvis",
|
|
2443
2443
|
presentation: "organs",
|
|
2444
|
-
...
|
|
2444
|
+
...T2
|
|
2445
2445
|
},
|
|
2446
2446
|
// --- Adult female (the library's genuine female map) ---
|
|
2447
2447
|
// Normalised into the same common viewBox + uniform body height as the man
|
|
@@ -2458,7 +2458,7 @@ const s1 = {
|
|
|
2458
2458
|
bodyDetail: W["female-front"],
|
|
2459
2459
|
regions: [
|
|
2460
2460
|
...Y($1, "female-front"),
|
|
2461
|
-
...
|
|
2461
|
+
...C3
|
|
2462
2462
|
]
|
|
2463
2463
|
},
|
|
2464
2464
|
"muscular-back-female": {
|
|
@@ -2481,7 +2481,7 @@ const s1 = {
|
|
|
2481
2481
|
figure: "adult-female",
|
|
2482
2482
|
kind: "pelvis",
|
|
2483
2483
|
presentation: "organs",
|
|
2484
|
-
...
|
|
2484
|
+
...A2
|
|
2485
2485
|
},
|
|
2486
2486
|
// --- Child (the adult-MALE map, body scaled down + feet-aligned, with a
|
|
2487
2487
|
// proportionally larger head via silhouetteTransform). Interim: no
|
|
@@ -2516,75 +2516,75 @@ const s1 = {
|
|
|
2516
2516
|
regions: J1(Y(G, "male-back"), "back")
|
|
2517
2517
|
}
|
|
2518
2518
|
};
|
|
2519
|
-
function
|
|
2519
|
+
function Z3(e) {
|
|
2520
2520
|
return s1[e];
|
|
2521
2521
|
}
|
|
2522
|
-
function
|
|
2523
|
-
return Object.values(s1).filter((
|
|
2522
|
+
function c3(e) {
|
|
2523
|
+
return Object.values(s1).filter((a) => a.figure === e);
|
|
2524
2524
|
}
|
|
2525
|
-
function
|
|
2525
|
+
function S3(e, a) {
|
|
2526
2526
|
var i;
|
|
2527
|
-
return (i = s1[e]) == null ? void 0 : i.regions.find((t) => t.id ===
|
|
2527
|
+
return (i = s1[e]) == null ? void 0 : i.regions.find((t) => t.id === a);
|
|
2528
2528
|
}
|
|
2529
|
-
function
|
|
2529
|
+
function i3(e, a) {
|
|
2530
2530
|
const i = Object.values(s1), t = (d) => d.regions.some((M) => M.id === e);
|
|
2531
2531
|
return i.find(
|
|
2532
|
-
(d) => d.figure === (
|
|
2532
|
+
(d) => d.figure === (a ?? "adult-male") && t(d)
|
|
2533
2533
|
) ?? i.find(t);
|
|
2534
2534
|
}
|
|
2535
2535
|
const e2 = "muscular-front";
|
|
2536
|
-
function
|
|
2537
|
-
return
|
|
2536
|
+
function $3(e, a) {
|
|
2537
|
+
return a != null && a < 12 ? "child" : e === "f" ? "adult-female" : "adult-male";
|
|
2538
2538
|
}
|
|
2539
|
-
function
|
|
2539
|
+
function N3() {
|
|
2540
2540
|
return {};
|
|
2541
2541
|
}
|
|
2542
2542
|
function s2() {
|
|
2543
2543
|
const { t: e } = a2("ui");
|
|
2544
2544
|
return v(
|
|
2545
|
-
(
|
|
2546
|
-
const i = e(`muscleScheme.region.${
|
|
2547
|
-
return
|
|
2548
|
-
defaultValue: `${e(`muscleScheme.side.${
|
|
2545
|
+
(a) => {
|
|
2546
|
+
const i = e(`muscleScheme.region.${a.labelKey}`);
|
|
2547
|
+
return a.side !== "left" && a.side !== "right" ? i : e(`muscleScheme.sided.${a.labelKey}.${a.side}`, {
|
|
2548
|
+
defaultValue: `${e(`muscleScheme.side.${a.side}`)} ${i}`
|
|
2549
2549
|
});
|
|
2550
2550
|
},
|
|
2551
2551
|
[e]
|
|
2552
2552
|
);
|
|
2553
2553
|
}
|
|
2554
|
-
function
|
|
2554
|
+
function I3() {
|
|
2555
2555
|
const e = s2();
|
|
2556
2556
|
return v(
|
|
2557
|
-
(
|
|
2557
|
+
(a, i) => {
|
|
2558
2558
|
var d;
|
|
2559
|
-
const t = (d =
|
|
2560
|
-
(M) => M.id ===
|
|
2559
|
+
const t = (d = i3(a, i)) == null ? void 0 : d.regions.find(
|
|
2560
|
+
(M) => M.id === a
|
|
2561
2561
|
);
|
|
2562
|
-
return t ? e(t) :
|
|
2562
|
+
return t ? e(t) : a;
|
|
2563
2563
|
},
|
|
2564
2564
|
[e]
|
|
2565
2565
|
);
|
|
2566
2566
|
}
|
|
2567
|
-
const
|
|
2567
|
+
const t3 = "ds:[stroke:var(--background)] ds:[stroke-width:3] ds:[paint-order:stroke] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]", r3 = {
|
|
2568
2568
|
neutral: "ds:[fill:var(--muted-foreground)]",
|
|
2569
2569
|
info: "ds:[fill:var(--info)]",
|
|
2570
2570
|
success: "ds:[fill:var(--success)]",
|
|
2571
2571
|
warning: "ds:[fill:var(--warning-readable)]",
|
|
2572
2572
|
error: "ds:[fill:var(--destructive)]",
|
|
2573
2573
|
accent: "ds:[fill:var(--accent)]"
|
|
2574
|
-
},
|
|
2575
|
-
function
|
|
2574
|
+
}, s3 = "ds:[fill:var(--muscle-finding-color)]";
|
|
2575
|
+
function d3(e) {
|
|
2576
2576
|
if (e && !(typeof CSS < "u" && !CSS.supports("color", e)))
|
|
2577
2577
|
return { "--muscle-finding-color": e };
|
|
2578
2578
|
}
|
|
2579
2579
|
function d2(e) {
|
|
2580
|
-
const
|
|
2580
|
+
const a = d3(e.color);
|
|
2581
2581
|
return {
|
|
2582
|
-
className:
|
|
2583
|
-
style:
|
|
2582
|
+
className: a ? s3 : r3[k1[e.type].tone],
|
|
2583
|
+
style: a
|
|
2584
2584
|
};
|
|
2585
2585
|
}
|
|
2586
|
-
function
|
|
2587
|
-
const
|
|
2586
|
+
function l3({ finding: e }) {
|
|
2587
|
+
const a = k1[e.type], i = d2(e);
|
|
2588
2588
|
return /* @__PURE__ */ r(
|
|
2589
2589
|
"svg",
|
|
2590
2590
|
{
|
|
@@ -2596,7 +2596,7 @@ function d3({ finding: e }) {
|
|
|
2596
2596
|
children: /* @__PURE__ */ r(
|
|
2597
2597
|
"path",
|
|
2598
2598
|
{
|
|
2599
|
-
d: c2(e.shape ??
|
|
2599
|
+
d: c2(e.shape ?? a.shape, 12, 12, 10),
|
|
2600
2600
|
className: i.className,
|
|
2601
2601
|
style: i.style
|
|
2602
2602
|
}
|
|
@@ -2604,7 +2604,7 @@ function d3({ finding: e }) {
|
|
|
2604
2604
|
}
|
|
2605
2605
|
);
|
|
2606
2606
|
}
|
|
2607
|
-
const
|
|
2607
|
+
const n3 = [
|
|
2608
2608
|
"ds:[--am-ink:var(--anatomy-ink,color-mix(in_oklab,var(--color-red-900)_62%,var(--color-grey-900)))]",
|
|
2609
2609
|
"ds:[--am-skeletal:var(--anatomy-skeletal,color-mix(in_oklab,var(--color-red-400)_60%,color-mix(in_oklab,var(--color-grey-800)_70%,var(--color-red-700))))]",
|
|
2610
2610
|
"ds:[--am-tendon:var(--anatomy-tendon,color-mix(in_oklab,var(--color-yellow-50)_60%,var(--color-grey-600)))]",
|
|
@@ -2648,7 +2648,7 @@ const l3 = [
|
|
|
2648
2648
|
// Body context drawn on the panel, not on tissue: the page's muted ink, so
|
|
2649
2649
|
// it holds up on a dark panel too.
|
|
2650
2650
|
context: "ds:[fill:none] ds:[stroke:var(--muted-foreground)] ds:[stroke-opacity:0.55] ds:[stroke-width:1] ds:[stroke-linecap:round] ds:[vector-effect:non-scaling-stroke]"
|
|
2651
|
-
},
|
|
2651
|
+
}, o3 = {
|
|
2652
2652
|
skeletal: z.skeletal,
|
|
2653
2653
|
tendon: z.tendon,
|
|
2654
2654
|
muscle: z.muscle,
|
|
@@ -2659,7 +2659,7 @@ const l3 = [
|
|
|
2659
2659
|
urinary: z.urinary,
|
|
2660
2660
|
erectile: z.erectile,
|
|
2661
2661
|
skin: z.skin
|
|
2662
|
-
},
|
|
2662
|
+
}, M3 = E1(
|
|
2663
2663
|
[
|
|
2664
2664
|
"ds:transition-[fill-opacity] ds:[transition-duration:var(--animation-duration)]",
|
|
2665
2665
|
// Stroke width is authored in view coordinates; keep it constant px so the
|
|
@@ -2707,8 +2707,8 @@ const l3 = [
|
|
|
2707
2707
|
marked: !1
|
|
2708
2708
|
}
|
|
2709
2709
|
}
|
|
2710
|
-
),
|
|
2711
|
-
"ds:pointer-events-none ds:[fill
|
|
2710
|
+
), L3 = E1(
|
|
2711
|
+
"ds:pointer-events-none ds:[fill-opacity:0] ds:[stroke:none] ds:transition-[fill-opacity] ds:[transition-duration:var(--animation-duration)] ds:[vector-effect:non-scaling-stroke]",
|
|
2712
2712
|
{
|
|
2713
2713
|
variants: {
|
|
2714
2714
|
hoverable: { true: "ds:group-hover:[fill-opacity:0.14]", false: "" },
|
|
@@ -2716,18 +2716,20 @@ const l3 = [
|
|
|
2716
2716
|
true: "ds:[fill-opacity:0.22] ds:[stroke:var(--accent)] ds:[stroke-width:2]",
|
|
2717
2717
|
false: ""
|
|
2718
2718
|
},
|
|
2719
|
+
// A selection tints in the brand colour; a finding, hover or nothing
|
|
2720
|
+
// in the accent, so the two never read as the same state.
|
|
2719
2721
|
selected: {
|
|
2720
|
-
true: "ds:[fill-opacity:0.
|
|
2721
|
-
false: ""
|
|
2722
|
+
true: "ds:[fill:var(--primary)] ds:[fill-opacity:0.4] ds:group-hover:[fill-opacity:0.4]",
|
|
2723
|
+
false: "ds:[fill:var(--accent)]"
|
|
2722
2724
|
}
|
|
2723
2725
|
},
|
|
2724
2726
|
defaultVariants: { hoverable: !1, marked: !1, selected: !1 }
|
|
2725
2727
|
}
|
|
2726
|
-
), C2 = "ds:[stroke:var(--muted-foreground)] ds:[stroke-width:1.25] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]",
|
|
2728
|
+
), C2 = "ds:[stroke:var(--muted-foreground)] ds:[stroke-width:1.25] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]", p3 = {
|
|
2727
2729
|
face: `ds:[fill:var(--muted)] ${C2}`,
|
|
2728
2730
|
hair: `ds:[fill:color-mix(in_oklab,var(--muted-foreground)_38%,var(--muted))] ${C2}`,
|
|
2729
2731
|
tie: "ds:[fill:color-mix(in_oklab,var(--muted-foreground)_70%,var(--muted))] ds:[stroke:none]"
|
|
2730
|
-
}, l2 = "ds:[fill:none] ds:[stroke:var(--background)] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]",
|
|
2732
|
+
}, l2 = "ds:[fill:none] ds:[stroke:var(--background)] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]", q3 = `${l2} ds:[stroke-width:6]`, u3 = "ds:[fill:none] ds:[stroke:var(--primary)] ds:[stroke-width:2.5] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke] ds:forced-colors:[stroke:Highlight]", m3 = `${l2} ds:[stroke-width:calc(var(--focus-ring-width)_+_4px)]`, h3 = E1("ds:mx-auto ds:block ds:h-auto ds:w-full", {
|
|
2731
2733
|
variants: {
|
|
2732
2734
|
presentation: {
|
|
2733
2735
|
body: "ds:max-w-[20rem]",
|
|
@@ -2738,7 +2740,7 @@ const l3 = [
|
|
|
2738
2740
|
});
|
|
2739
2741
|
function Z({
|
|
2740
2742
|
shape: e,
|
|
2741
|
-
className:
|
|
2743
|
+
className: a,
|
|
2742
2744
|
fill: i
|
|
2743
2745
|
}) {
|
|
2744
2746
|
return e.kind === "ellipse" ? /* @__PURE__ */ r(
|
|
@@ -2749,7 +2751,7 @@ function Z({
|
|
|
2749
2751
|
rx: e.rx,
|
|
2750
2752
|
ry: e.ry,
|
|
2751
2753
|
fill: i,
|
|
2752
|
-
className:
|
|
2754
|
+
className: a
|
|
2753
2755
|
}
|
|
2754
2756
|
) : e.kind === "rect" ? /* @__PURE__ */ r(
|
|
2755
2757
|
"rect",
|
|
@@ -2760,7 +2762,7 @@ function Z({
|
|
|
2760
2762
|
height: e.h,
|
|
2761
2763
|
rx: e.r ?? 0,
|
|
2762
2764
|
fill: i,
|
|
2763
|
-
className:
|
|
2765
|
+
className: a
|
|
2764
2766
|
}
|
|
2765
2767
|
) : e.kind === "path" ? /* @__PURE__ */ r(
|
|
2766
2768
|
"path",
|
|
@@ -2769,24 +2771,24 @@ function Z({
|
|
|
2769
2771
|
fillRule: e.fillRule,
|
|
2770
2772
|
transform: e.transform,
|
|
2771
2773
|
fill: i,
|
|
2772
|
-
className:
|
|
2774
|
+
className: a
|
|
2773
2775
|
}
|
|
2774
2776
|
) : /* @__PURE__ */ r(
|
|
2775
2777
|
"polygon",
|
|
2776
2778
|
{
|
|
2777
2779
|
points: e.points.map(([t, d]) => `${t},${d}`).join(" "),
|
|
2778
2780
|
fill: i,
|
|
2779
|
-
className:
|
|
2781
|
+
className: a
|
|
2780
2782
|
}
|
|
2781
2783
|
);
|
|
2782
2784
|
}
|
|
2783
|
-
function
|
|
2784
|
-
return
|
|
2785
|
+
function f3(e, a) {
|
|
2786
|
+
return a && a.length > 0 ? a.map((i) => s1[i]).filter(Boolean) : c3(e ?? "adult-male");
|
|
2785
2787
|
}
|
|
2786
|
-
const
|
|
2788
|
+
const y3 = w2(
|
|
2787
2789
|
({
|
|
2788
2790
|
id: e,
|
|
2789
|
-
figure:
|
|
2791
|
+
figure: a,
|
|
2790
2792
|
views: i,
|
|
2791
2793
|
view: t,
|
|
2792
2794
|
defaultView: d,
|
|
@@ -2804,76 +2806,76 @@ const f3 = _2(
|
|
|
2804
2806
|
ariaLabel: B,
|
|
2805
2807
|
className: n2
|
|
2806
2808
|
}, o2) => {
|
|
2807
|
-
const { t: y } = a2("ui"), R1 =
|
|
2808
|
-
() =>
|
|
2809
|
-
[
|
|
2809
|
+
const { t: y } = a2("ui"), R1 = Q2(), F1 = e ?? R1, D = `muscle-scheme-shade-${R1.replace(/[^a-zA-Z0-9_-]/g, "")}`, A1 = q1(null), E = S1(
|
|
2810
|
+
() => f3(a, i),
|
|
2811
|
+
[a, i]
|
|
2810
2812
|
), e1 = f === "interactive", Q = e1 || !!n, T1 = u !== void 0, j = S1(
|
|
2811
2813
|
() => new Set(u ?? []),
|
|
2812
2814
|
[u]
|
|
2813
2815
|
), [M2, d1] = u1(), [L2, B1] = u1(), g1 = M2 ?? L2, [p2, q2] = u1(
|
|
2814
2816
|
() => {
|
|
2815
|
-
var
|
|
2816
|
-
return d ?? ((
|
|
2817
|
+
var C;
|
|
2818
|
+
return d ?? ((C = E[0]) == null ? void 0 : C.id) ?? e2;
|
|
2817
2819
|
}
|
|
2818
|
-
), u2 = t ?? p2, p =
|
|
2820
|
+
), u2 = t ?? p2, p = E.find((C) => C.id === u2) ?? E[0], b1 = q1(p == null ? void 0 : p.id);
|
|
2819
2821
|
b1.current = p == null ? void 0 : p.id;
|
|
2820
2822
|
const l1 = q1({
|
|
2821
2823
|
onChange: w,
|
|
2822
2824
|
onViewChange: M,
|
|
2823
2825
|
controlledView: t,
|
|
2824
|
-
resolvedViews:
|
|
2826
|
+
resolvedViews: E
|
|
2825
2827
|
});
|
|
2826
|
-
l1.current = { onChange: w, onViewChange: M, controlledView: t, resolvedViews:
|
|
2827
|
-
const v1 = v((
|
|
2828
|
+
l1.current = { onChange: w, onViewChange: M, controlledView: t, resolvedViews: E };
|
|
2829
|
+
const v1 = v((C) => {
|
|
2828
2830
|
const {
|
|
2829
2831
|
onViewChange: s,
|
|
2830
2832
|
controlledView: o,
|
|
2831
2833
|
resolvedViews: q
|
|
2832
2834
|
} = l1.current;
|
|
2833
|
-
q.some((
|
|
2835
|
+
q.some((R) => R.id === C) && (o === void 0 && q2(C), C !== b1.current && (s == null || s(C)));
|
|
2834
2836
|
}, []), n1 = p == null ? void 0 : p.id;
|
|
2835
|
-
|
|
2836
|
-
var
|
|
2837
|
-
t !== void 0 && n1 !== void 0 && t !== n1 && ((s = (
|
|
2837
|
+
Z2(() => {
|
|
2838
|
+
var C, s;
|
|
2839
|
+
t !== void 0 && n1 !== void 0 && t !== n1 && ((s = (C = l1.current).onViewChange) == null || s.call(C, n1));
|
|
2838
2840
|
}, [t, n1]);
|
|
2839
2841
|
const z1 = S !== void 0, [m2, h2] = u1(l ?? {}), O = z1 ? S : m2, x = q1(O);
|
|
2840
2842
|
x.current = O;
|
|
2841
2843
|
const V = v(
|
|
2842
|
-
(
|
|
2844
|
+
(C) => {
|
|
2843
2845
|
var s, o;
|
|
2844
|
-
z1 || h2(
|
|
2846
|
+
z1 || h2(C), (o = (s = l1.current).onChange) == null || o.call(s, C);
|
|
2845
2847
|
},
|
|
2846
2848
|
[z1]
|
|
2847
2849
|
), o1 = v(
|
|
2848
|
-
(
|
|
2849
|
-
const q = x.current[
|
|
2850
|
-
q.some((
|
|
2850
|
+
(C, s, o) => {
|
|
2851
|
+
const q = x.current[C] ?? [];
|
|
2852
|
+
q.some((R) => R.type === s) || V({
|
|
2851
2853
|
...x.current,
|
|
2852
|
-
[
|
|
2854
|
+
[C]: [...q, { type: s, note: o }]
|
|
2853
2855
|
});
|
|
2854
2856
|
},
|
|
2855
2857
|
[V]
|
|
2856
2858
|
), M1 = v(
|
|
2857
|
-
(
|
|
2858
|
-
const q = (x.current[
|
|
2859
|
-
q.length > 0 ?
|
|
2859
|
+
(C, s) => {
|
|
2860
|
+
const q = (x.current[C] ?? []).filter((_1) => _1.type !== s), R = { ...x.current };
|
|
2861
|
+
q.length > 0 ? R[C] = q : delete R[C], V(R);
|
|
2860
2862
|
},
|
|
2861
2863
|
[V]
|
|
2862
2864
|
), D1 = v(
|
|
2863
|
-
(
|
|
2864
|
-
(x.current[
|
|
2865
|
+
(C, s) => {
|
|
2866
|
+
(x.current[C] ?? []).some(
|
|
2865
2867
|
(q) => q.type === s
|
|
2866
|
-
) ? M1(
|
|
2868
|
+
) ? M1(C, s) : o1(C, s);
|
|
2867
2869
|
},
|
|
2868
2870
|
[o1, M1]
|
|
2869
|
-
), j1 = v((
|
|
2871
|
+
), j1 = v((C) => {
|
|
2870
2872
|
var s, o;
|
|
2871
2873
|
(o = [
|
|
2872
2874
|
...((s = A1.current) == null ? void 0 : s.querySelectorAll("[data-region]")) ?? []
|
|
2873
|
-
].find((q) => q.dataset.region ===
|
|
2875
|
+
].find((q) => q.dataset.region === C)) == null || o.focus();
|
|
2874
2876
|
}, []), L1 = v(
|
|
2875
|
-
(
|
|
2876
|
-
n == null || n(
|
|
2877
|
+
(C) => {
|
|
2878
|
+
n == null || n(C.id, p.id), e1 && L && D1(C.id, L);
|
|
2877
2879
|
},
|
|
2878
2880
|
[
|
|
2879
2881
|
e1,
|
|
@@ -2883,9 +2885,9 @@ const f3 = _2(
|
|
|
2883
2885
|
p.id
|
|
2884
2886
|
]
|
|
2885
2887
|
), x1 = v(
|
|
2886
|
-
(
|
|
2888
|
+
(C, s) => {
|
|
2887
2889
|
if (Q) {
|
|
2888
|
-
if (T1) return j.has(
|
|
2890
|
+
if (T1) return j.has(C);
|
|
2889
2891
|
if (e1 && L)
|
|
2890
2892
|
return s.some((o) => o.type === L);
|
|
2891
2893
|
}
|
|
@@ -2895,27 +2897,27 @@ const f3 = _2(
|
|
|
2895
2897
|
() => ({
|
|
2896
2898
|
focusRegion: j1,
|
|
2897
2899
|
getChart: () => x.current,
|
|
2898
|
-
getRegion: (
|
|
2899
|
-
regionsWith: (
|
|
2900
|
+
getRegion: (C) => x.current[C] ?? [],
|
|
2901
|
+
regionsWith: (C) => Object.entries(x.current).filter(([, s]) => s.some((o) => o.type === C)).map(([s]) => s),
|
|
2900
2902
|
setFinding: o1,
|
|
2901
2903
|
removeFinding: M1,
|
|
2902
|
-
clearRegion: (
|
|
2903
|
-
if (!x.current[
|
|
2904
|
+
clearRegion: (C) => {
|
|
2905
|
+
if (!x.current[C]) return;
|
|
2904
2906
|
const s = { ...x.current };
|
|
2905
|
-
delete s[
|
|
2907
|
+
delete s[C], V(s);
|
|
2906
2908
|
},
|
|
2907
2909
|
setView: v1,
|
|
2908
2910
|
getView: () => b1.current ?? e2
|
|
2909
2911
|
}),
|
|
2910
2912
|
[j1, o1, M1, V, v1]
|
|
2911
2913
|
);
|
|
2912
|
-
|
|
2914
|
+
S2(o2, () => K1, [K1]), $2(F2, K1, F1);
|
|
2913
2915
|
const O1 = v(
|
|
2914
|
-
(
|
|
2916
|
+
(C) => C.label ?? y(`muscleScheme.finding.${C.type}`),
|
|
2915
2917
|
[y]
|
|
2916
2918
|
), V1 = s2(), C1 = v(
|
|
2917
|
-
(
|
|
2918
|
-
const o = V1(
|
|
2919
|
+
(C, s = !0) => {
|
|
2920
|
+
const o = V1(C), q = s ? x.current[C.id] ?? [] : [];
|
|
2919
2921
|
return q.length === 0 ? o : y("muscleScheme.regionWithFindings", {
|
|
2920
2922
|
region: o,
|
|
2921
2923
|
findings: q.map(O1).join(", ")
|
|
@@ -2923,24 +2925,24 @@ const f3 = _2(
|
|
|
2923
2925
|
},
|
|
2924
2926
|
[y, V1, O1]
|
|
2925
2927
|
), H1 = v(
|
|
2926
|
-
(
|
|
2928
|
+
(C) => {
|
|
2927
2929
|
var U1;
|
|
2928
|
-
const s = I ? `${I}/${
|
|
2930
|
+
const s = I ? `${I}/${C.id}.svg` : void 0, o = s || C.hotspotZones ? "hotspot" : "schematic", q = C.presentation === "organs", [R, _1, w1, k2] = C.viewBox.split(" ").map(Number), P1 = C.regions.filter((c) => c.group === "reproductive").sort(
|
|
2929
2931
|
(c, h) => +(c.side === "midline") - +(h.side === "midline")
|
|
2930
|
-
),
|
|
2932
|
+
), g2 = C.kind === "pelvis" ? y("muscleScheme.pelvicOrgans") : y("muscleScheme.breasts");
|
|
2931
2933
|
return /* @__PURE__ */ r(H.Provider, { delayDuration: 200, children: /* @__PURE__ */ b("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
2932
2934
|
/* @__PURE__ */ b(
|
|
2933
2935
|
"svg",
|
|
2934
2936
|
{
|
|
2935
|
-
viewBox:
|
|
2937
|
+
viewBox: C.viewBox,
|
|
2936
2938
|
role: "group",
|
|
2937
|
-
"aria-label": y(`muscleScheme.view.${
|
|
2939
|
+
"aria-label": y(`muscleScheme.view.${C.labelKey}`),
|
|
2938
2940
|
className: [
|
|
2939
|
-
|
|
2940
|
-
|
|
2941
|
+
h3({ presentation: C.presentation }),
|
|
2942
|
+
n3
|
|
2941
2943
|
].join(" "),
|
|
2942
|
-
"data-view":
|
|
2943
|
-
"data-view-kind":
|
|
2944
|
+
"data-view": C.id,
|
|
2945
|
+
"data-view-kind": C.kind,
|
|
2944
2946
|
children: [
|
|
2945
2947
|
/* @__PURE__ */ r("defs", { children: /* @__PURE__ */ b("radialGradient", { id: D, cx: "36%", cy: "30%", r: "78%", children: [
|
|
2946
2948
|
/* @__PURE__ */ r(
|
|
@@ -2972,13 +2974,13 @@ const f3 = _2(
|
|
|
2972
2974
|
}
|
|
2973
2975
|
)
|
|
2974
2976
|
] }) }),
|
|
2975
|
-
|
|
2977
|
+
C.plates && /* @__PURE__ */ r(
|
|
2976
2978
|
"g",
|
|
2977
2979
|
{
|
|
2978
2980
|
"data-plate": "",
|
|
2979
2981
|
"aria-hidden": "true",
|
|
2980
2982
|
className: "ds:pointer-events-none",
|
|
2981
|
-
children:
|
|
2983
|
+
children: C.plates.map((c) => /* @__PURE__ */ r(
|
|
2982
2984
|
"rect",
|
|
2983
2985
|
{
|
|
2984
2986
|
x: c.x,
|
|
@@ -2996,22 +2998,22 @@ const f3 = _2(
|
|
|
2996
2998
|
"image",
|
|
2997
2999
|
{
|
|
2998
3000
|
href: s,
|
|
2999
|
-
x:
|
|
3001
|
+
x: R,
|
|
3000
3002
|
y: _1,
|
|
3001
3003
|
width: w1,
|
|
3002
|
-
height:
|
|
3004
|
+
height: k2,
|
|
3003
3005
|
preserveAspectRatio: "xMidYMid meet",
|
|
3004
3006
|
"aria-hidden": "true"
|
|
3005
3007
|
}
|
|
3006
3008
|
),
|
|
3007
|
-
|
|
3009
|
+
C.backdrop && /* @__PURE__ */ r(
|
|
3008
3010
|
"g",
|
|
3009
3011
|
{
|
|
3010
|
-
transform:
|
|
3012
|
+
transform: C.transform,
|
|
3011
3013
|
"data-anatomy-detail": "",
|
|
3012
3014
|
"aria-hidden": "true",
|
|
3013
3015
|
className: "ds:pointer-events-none",
|
|
3014
|
-
children:
|
|
3016
|
+
children: C.backdrop.map((c, h) => /* @__PURE__ */ r(
|
|
3015
3017
|
Z,
|
|
3016
3018
|
{
|
|
3017
3019
|
shape: c,
|
|
@@ -3021,12 +3023,12 @@ const f3 = _2(
|
|
|
3021
3023
|
))
|
|
3022
3024
|
}
|
|
3023
3025
|
),
|
|
3024
|
-
|
|
3026
|
+
C.bodyDetail && // Body contour, scaled with the body (not the head), so the
|
|
3025
3027
|
// child's enlarged head stays joined to a body-scaled outline.
|
|
3026
|
-
/* @__PURE__ */ r("g", { transform:
|
|
3028
|
+
/* @__PURE__ */ r("g", { transform: C.transform, children: s ? /* @__PURE__ */ r(
|
|
3027
3029
|
"path",
|
|
3028
3030
|
{
|
|
3029
|
-
d:
|
|
3031
|
+
d: C.bodyDetail,
|
|
3030
3032
|
"aria-hidden": "true",
|
|
3031
3033
|
className: "ds:[fill:none] ds:[stroke:var(--muted-foreground)] ds:[stroke-width:1] ds:[stroke-linecap:round] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]"
|
|
3032
3034
|
}
|
|
@@ -3039,14 +3041,14 @@ const f3 = _2(
|
|
|
3039
3041
|
/* @__PURE__ */ r(
|
|
3040
3042
|
"path",
|
|
3041
3043
|
{
|
|
3042
|
-
d:
|
|
3044
|
+
d: C.bodyDetail,
|
|
3043
3045
|
className: "ds:[fill:var(--muted)] ds:[stroke:none]"
|
|
3044
3046
|
}
|
|
3045
3047
|
),
|
|
3046
3048
|
/* @__PURE__ */ r(
|
|
3047
3049
|
"path",
|
|
3048
3050
|
{
|
|
3049
|
-
d:
|
|
3051
|
+
d: C.bodyDetail,
|
|
3050
3052
|
fill: `url(#${D})`,
|
|
3051
3053
|
className: "ds:[fill-opacity:0.6]"
|
|
3052
3054
|
}
|
|
@@ -3054,36 +3056,36 @@ const f3 = _2(
|
|
|
3054
3056
|
/* @__PURE__ */ r(
|
|
3055
3057
|
"path",
|
|
3056
3058
|
{
|
|
3057
|
-
d:
|
|
3059
|
+
d: C.bodyDetail,
|
|
3058
3060
|
className: "ds:[fill:none] ds:[stroke:var(--muted-foreground)] ds:[stroke-width:1.25] ds:[stroke-linecap:round] ds:[stroke-linejoin:round] ds:[vector-effect:non-scaling-stroke]"
|
|
3059
3061
|
}
|
|
3060
3062
|
)
|
|
3061
3063
|
] })
|
|
3062
3064
|
) }),
|
|
3063
|
-
!s && (
|
|
3065
|
+
!s && (C.head || C.silhouette) && // The head, over the body and under the muscles: the face
|
|
3064
3066
|
// and ears in the body's neutral, the hair a mid-tone, so
|
|
3065
3067
|
// the hairline is drawn, never cut.
|
|
3066
3068
|
/* @__PURE__ */ r(
|
|
3067
3069
|
"g",
|
|
3068
3070
|
{
|
|
3069
|
-
transform:
|
|
3071
|
+
transform: C.silhouetteTransform ?? C.transform,
|
|
3070
3072
|
"data-head": "",
|
|
3071
3073
|
"aria-hidden": "true",
|
|
3072
|
-
children: (
|
|
3073
|
-
{ part: "hair", d:
|
|
3074
|
+
children: (C.head ?? [
|
|
3075
|
+
{ part: "hair", d: C.silhouette }
|
|
3074
3076
|
]).map((c, h) => /* @__PURE__ */ r(
|
|
3075
3077
|
"path",
|
|
3076
3078
|
{
|
|
3077
3079
|
d: c.d,
|
|
3078
3080
|
"data-head-part": c.part,
|
|
3079
|
-
className:
|
|
3081
|
+
className: p3[c.part]
|
|
3080
3082
|
},
|
|
3081
3083
|
h
|
|
3082
3084
|
))
|
|
3083
3085
|
}
|
|
3084
3086
|
),
|
|
3085
|
-
/* @__PURE__ */ r("g", { transform:
|
|
3086
|
-
const h = O[c.id] ?? [], F = h.length > 0, k = Q && j.has(c.id), $ = c.group === "reproductive" || o !== "hotspot" ? c.tissue : void 0, Q1 = $ ? `${
|
|
3087
|
+
/* @__PURE__ */ r("g", { transform: C.transform, children: C.regions.map((c) => {
|
|
3088
|
+
const h = O[c.id] ?? [], F = h.length > 0, k = Q && j.has(c.id), $ = c.group === "reproductive" || o !== "hotspot" ? c.tissue : void 0, Q1 = $ ? `${o3[$]} ${Q ? "ds:cursor-pointer" : ""}` : M3({
|
|
3087
3089
|
appearance: o,
|
|
3088
3090
|
interactive: Q,
|
|
3089
3091
|
marked: F
|
|
@@ -3145,7 +3147,7 @@ const f3 = _2(
|
|
|
3145
3147
|
Z,
|
|
3146
3148
|
{
|
|
3147
3149
|
shape: c.shape,
|
|
3148
|
-
className:
|
|
3150
|
+
className: L3({
|
|
3149
3151
|
hoverable: !!$ && Q,
|
|
3150
3152
|
marked: !!$ && F,
|
|
3151
3153
|
selected: k
|
|
@@ -3175,14 +3177,14 @@ const f3 = _2(
|
|
|
3175
3177
|
) })
|
|
3176
3178
|
] }, c.id);
|
|
3177
3179
|
}) }),
|
|
3178
|
-
|
|
3180
|
+
C.details && /* @__PURE__ */ r(
|
|
3179
3181
|
"g",
|
|
3180
3182
|
{
|
|
3181
|
-
transform:
|
|
3183
|
+
transform: C.transform,
|
|
3182
3184
|
"data-anatomy-detail": "",
|
|
3183
3185
|
"aria-hidden": "true",
|
|
3184
3186
|
className: "ds:pointer-events-none",
|
|
3185
|
-
children:
|
|
3187
|
+
children: C.details.map((c, h) => /* @__PURE__ */ r(
|
|
3186
3188
|
Z,
|
|
3187
3189
|
{
|
|
3188
3190
|
shape: c,
|
|
@@ -3195,23 +3197,23 @@ const f3 = _2(
|
|
|
3195
3197
|
Q && j.size > 0 && /* @__PURE__ */ r(
|
|
3196
3198
|
"g",
|
|
3197
3199
|
{
|
|
3198
|
-
transform:
|
|
3200
|
+
transform: C.transform,
|
|
3199
3201
|
"aria-hidden": "true",
|
|
3200
3202
|
"data-selection-layer": "",
|
|
3201
3203
|
className: "ds:pointer-events-none",
|
|
3202
|
-
children:
|
|
3204
|
+
children: C.regions.filter((c) => j.has(c.id)).map((c) => /* @__PURE__ */ b("g", { "data-region-selected": c.id, children: [
|
|
3203
3205
|
/* @__PURE__ */ r(
|
|
3204
3206
|
Z,
|
|
3205
3207
|
{
|
|
3206
3208
|
shape: c.shape,
|
|
3207
|
-
className:
|
|
3209
|
+
className: q3
|
|
3208
3210
|
}
|
|
3209
3211
|
),
|
|
3210
3212
|
/* @__PURE__ */ r(
|
|
3211
3213
|
Z,
|
|
3212
3214
|
{
|
|
3213
3215
|
shape: c.shape,
|
|
3214
|
-
className:
|
|
3216
|
+
className: u3
|
|
3215
3217
|
}
|
|
3216
3218
|
)
|
|
3217
3219
|
] }, c.id))
|
|
@@ -3220,25 +3222,25 @@ const f3 = _2(
|
|
|
3220
3222
|
/* @__PURE__ */ r(
|
|
3221
3223
|
"g",
|
|
3222
3224
|
{
|
|
3223
|
-
transform:
|
|
3225
|
+
transform: C.transform,
|
|
3224
3226
|
"aria-hidden": "true",
|
|
3225
3227
|
className: "ds:pointer-events-none",
|
|
3226
|
-
children:
|
|
3227
|
-
const h = O[c.id] ?? [], F =
|
|
3228
|
+
children: C.regions.flatMap((c) => {
|
|
3229
|
+
const h = O[c.id] ?? [], F = j2(c), k = c.group === "reproductive", a1 = c.shape.kind === "path", $ = q ? 6 : w1 / 60, Q1 = q ? 14 : w1 / 24, A = k ? $ : a1 ? 20 : 4.5, c1 = k ? Q1 : a1 ? 44 : 11, i1 = q ? 2 : 3, b2 = k ? Math.ceil(h.length / i1) : 1;
|
|
3228
3230
|
return h.map((t1, p1) => {
|
|
3229
|
-
const
|
|
3231
|
+
const v2 = k1[t1.type], z2 = t1.shape ?? v2.shape, Z1 = k ? Math.floor(p1 / i1) : 0, x2 = k ? Math.min(i1, h.length - Z1 * i1) : h.length, K2 = ((k ? p1 % i1 : p1) - (x2 - 1) / 2) * c1, _2 = k && !q ? Z1 * c1 : (Z1 - (b2 - 1) / 2) * c1, G1 = d2(t1);
|
|
3230
3232
|
return /* @__PURE__ */ r(
|
|
3231
3233
|
"path",
|
|
3232
3234
|
{
|
|
3233
3235
|
"data-region-finding": c.id,
|
|
3234
3236
|
"data-finding": t1.type,
|
|
3235
3237
|
d: c2(
|
|
3236
|
-
|
|
3237
|
-
F.x +
|
|
3238
|
-
F.y +
|
|
3238
|
+
z2,
|
|
3239
|
+
F.x + K2,
|
|
3240
|
+
F.y + _2,
|
|
3239
3241
|
A
|
|
3240
3242
|
),
|
|
3241
|
-
className: `${G1.className} ${
|
|
3243
|
+
className: `${G1.className} ${t3}`,
|
|
3242
3244
|
style: G1.style
|
|
3243
3245
|
},
|
|
3244
3246
|
`${c.id}-${t1.type}-${p1}`
|
|
@@ -3250,15 +3252,15 @@ const f3 = _2(
|
|
|
3250
3252
|
/* @__PURE__ */ r(
|
|
3251
3253
|
"g",
|
|
3252
3254
|
{
|
|
3253
|
-
transform:
|
|
3255
|
+
transform: C.transform,
|
|
3254
3256
|
"aria-hidden": "true",
|
|
3255
3257
|
className: "ds:pointer-events-none",
|
|
3256
|
-
children:
|
|
3258
|
+
children: C.regions.filter((c) => c.id === g1).map((c) => /* @__PURE__ */ b("g", { "data-region-focus": c.id, children: [
|
|
3257
3259
|
/* @__PURE__ */ r(
|
|
3258
3260
|
Z,
|
|
3259
3261
|
{
|
|
3260
3262
|
shape: c.shape,
|
|
3261
|
-
className:
|
|
3263
|
+
className: m3
|
|
3262
3264
|
}
|
|
3263
3265
|
),
|
|
3264
3266
|
/* @__PURE__ */ r(
|
|
@@ -3271,7 +3273,7 @@ const f3 = _2(
|
|
|
3271
3273
|
] }, c.id))
|
|
3272
3274
|
}
|
|
3273
3275
|
),
|
|
3274
|
-
(U1 =
|
|
3276
|
+
(U1 = C.sections) == null ? void 0 : U1.map((c) => /* @__PURE__ */ r(
|
|
3275
3277
|
"text",
|
|
3276
3278
|
{
|
|
3277
3279
|
x: c.x,
|
|
@@ -3290,20 +3292,20 @@ const f3 = _2(
|
|
|
3290
3292
|
{
|
|
3291
3293
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]",
|
|
3292
3294
|
role: "group",
|
|
3293
|
-
"aria-labelledby": `${D}-${
|
|
3295
|
+
"aria-labelledby": `${D}-${C.id}-targets`,
|
|
3294
3296
|
children: [
|
|
3295
3297
|
/* @__PURE__ */ r(
|
|
3296
3298
|
"p",
|
|
3297
3299
|
{
|
|
3298
|
-
id: `${D}-${
|
|
3300
|
+
id: `${D}-${C.id}-targets`,
|
|
3299
3301
|
className: "ds:m-0 ds:font-medium ds:text-[length:var(--font-size-sm)] ds:text-[var(--muted-foreground)]",
|
|
3300
|
-
children:
|
|
3302
|
+
children: g2
|
|
3301
3303
|
}
|
|
3302
3304
|
),
|
|
3303
3305
|
/* @__PURE__ */ r("div", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-xs)]", children: P1.map((c) => {
|
|
3304
3306
|
const h = O[c.id] ?? [], F = x1(c.id, h);
|
|
3305
3307
|
return /* @__PURE__ */ r(
|
|
3306
|
-
|
|
3308
|
+
I2,
|
|
3307
3309
|
{
|
|
3308
3310
|
intent: "outline",
|
|
3309
3311
|
"data-organ-target": c.id,
|
|
@@ -3317,7 +3319,7 @@ const f3 = _2(
|
|
|
3317
3319
|
onPointerLeave: () => B1(void 0),
|
|
3318
3320
|
children: /* @__PURE__ */ b("span", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-center ds:gap-[var(--spacing-xs)]", children: [
|
|
3319
3321
|
F && /* @__PURE__ */ r(
|
|
3320
|
-
|
|
3322
|
+
E2,
|
|
3321
3323
|
{
|
|
3322
3324
|
"aria-hidden": "true",
|
|
3323
3325
|
className: "ds:size-4 ds:shrink-0"
|
|
@@ -3325,7 +3327,7 @@ const f3 = _2(
|
|
|
3325
3327
|
),
|
|
3326
3328
|
/* @__PURE__ */ r("span", { children: C1(c, !1) }),
|
|
3327
3329
|
h.map((k, a1) => /* @__PURE__ */ r(
|
|
3328
|
-
|
|
3330
|
+
l3,
|
|
3329
3331
|
{
|
|
3330
3332
|
finding: k
|
|
3331
3333
|
},
|
|
@@ -3354,7 +3356,7 @@ const f3 = _2(
|
|
|
3354
3356
|
C1,
|
|
3355
3357
|
L1
|
|
3356
3358
|
]
|
|
3357
|
-
), f2 =
|
|
3359
|
+
), f2 = E.length > 1, y2 = new Set(E.map((C) => C.figure)).size === 1;
|
|
3358
3360
|
return /* @__PURE__ */ b(
|
|
3359
3361
|
"div",
|
|
3360
3362
|
{
|
|
@@ -3368,25 +3370,25 @@ const f3 = _2(
|
|
|
3368
3370
|
"aria-label": B ?? y("muscleScheme.ariaLabel"),
|
|
3369
3371
|
children: [
|
|
3370
3372
|
f2 ? /* @__PURE__ */ b(m1, { value: p.id, onValueChange: v1, children: [
|
|
3371
|
-
/* @__PURE__ */ r(m1.List, { "aria-label": y("muscleScheme.viewListLabel"), children:
|
|
3372
|
-
|
|
3373
|
+
/* @__PURE__ */ r(m1.List, { "aria-label": y("muscleScheme.viewListLabel"), children: E.map((C) => /* @__PURE__ */ r(m1.Trigger, { value: C.id, children: y(y2 ? `muscleScheme.viewShort.${C.kind}` : `muscleScheme.view.${C.labelKey}`) }, C.id)) }),
|
|
3374
|
+
E.map((C) => /* @__PURE__ */ r(m1.Content, { value: C.id, children: H1(C) }, C.id))
|
|
3373
3375
|
] }) : p && H1(p),
|
|
3374
3376
|
m && /* @__PURE__ */ r(
|
|
3375
3377
|
"ul",
|
|
3376
3378
|
{
|
|
3377
3379
|
"aria-label": y("muscleScheme.legendLabel"),
|
|
3378
3380
|
className: "ds:flex ds:flex-wrap ds:gap-x-4 ds:gap-y-1 ds:p-0 ds:text-[length:var(--font-size-xs)] ds:text-[var(--muted-foreground)]",
|
|
3379
|
-
children:
|
|
3380
|
-
const s = k1[
|
|
3381
|
+
children: D2.map((C) => {
|
|
3382
|
+
const s = k1[C];
|
|
3381
3383
|
return /* @__PURE__ */ r("li", { className: "ds:flex ds:list-none ds:items-center", children: /* @__PURE__ */ r(
|
|
3382
|
-
|
|
3384
|
+
N2,
|
|
3383
3385
|
{
|
|
3384
3386
|
shape: s.shape,
|
|
3385
3387
|
tone: s.tone,
|
|
3386
3388
|
size: "sm",
|
|
3387
|
-
label: y(`muscleScheme.finding.${
|
|
3389
|
+
label: y(`muscleScheme.finding.${C}`)
|
|
3388
3390
|
}
|
|
3389
|
-
) },
|
|
3391
|
+
) }, C);
|
|
3390
3392
|
})
|
|
3391
3393
|
}
|
|
3392
3394
|
)
|
|
@@ -3395,21 +3397,21 @@ const f3 = _2(
|
|
|
3395
3397
|
);
|
|
3396
3398
|
}
|
|
3397
3399
|
);
|
|
3398
|
-
|
|
3400
|
+
y3.displayName = "MuscleScheme";
|
|
3399
3401
|
export {
|
|
3400
3402
|
e2 as D,
|
|
3401
3403
|
k1 as F,
|
|
3402
3404
|
s1 as M,
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3408
|
-
|
|
3409
|
-
|
|
3410
|
-
|
|
3411
|
-
|
|
3412
|
-
|
|
3413
|
-
|
|
3405
|
+
D2 as a,
|
|
3406
|
+
y3 as b,
|
|
3407
|
+
i3 as c,
|
|
3408
|
+
Z3 as d,
|
|
3409
|
+
N3 as e,
|
|
3410
|
+
$3 as f,
|
|
3411
|
+
S3 as g,
|
|
3412
|
+
F2 as m,
|
|
3413
|
+
j2 as r,
|
|
3414
|
+
I3 as u,
|
|
3415
|
+
c3 as v
|
|
3414
3416
|
};
|
|
3415
|
-
//# sourceMappingURL=muscle-scheme-
|
|
3417
|
+
//# sourceMappingURL=muscle-scheme-CHrjv7p2.js.map
|