@alfadocs/ui-kit 0.70.0 → 0.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
- package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
- package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
- package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
- package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
- package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
- package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
- package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
- package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
- package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
- package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
- package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
- package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
- package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
- package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
- package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
- package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
- package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
- package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
- package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
- package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
- package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
- package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
- package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
- package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
- package/dist/_chunks/field-array-siUZzfYe.js +146 -0
- package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
- package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
- package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
- package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
- package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
- package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
- package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
- package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
- package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
- package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
- package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
- package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
- package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
- package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
- package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
- package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
- package/dist/_chunks/panel-header-D313n_9-.js +105 -0
- package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
- package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
- package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
- package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
- package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
- package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
- package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
- package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
- package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
- package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
- package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
- package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
- package/dist/_chunks/province-select-D_TZvix3.js +261 -0
- package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
- package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
- package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
- package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
- package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
- package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
- package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
- package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
- package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
- package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
- package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
- package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
- package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
- package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
- package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
- package/dist/agent-catalog.json +2062 -226
- package/dist/agent-i18n/en.json +206 -8
- package/dist/components/_shared/option.d.ts +2 -0
- package/dist/components/_shared/patient-fields.d.ts +1 -1
- package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
- package/dist/components/address-fields/address-fields.d.ts +29 -0
- package/dist/components/address-fields/index.d.ts +5 -0
- package/dist/components/address-fields/index.js +6 -0
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/anatomy-scheme/index.js +1 -1
- package/dist/components/app-frame/app-frame.d.ts +2 -2
- package/dist/components/app-frame/index.js +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/autocomplete/autocomplete.d.ts +10 -0
- package/dist/components/autocomplete/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/button-group/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
- package/dist/components/care-plan-header/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/city-input/city-input.agent.d.ts +8 -0
- package/dist/components/city-input/city-input.d.ts +57 -0
- package/dist/components/city-input/index.d.ts +5 -0
- package/dist/components/city-input/index.js +6 -0
- package/dist/components/combobox/combobox.d.ts +17 -0
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
- package/dist/components/connection-status/connection-status.d.ts +36 -0
- package/dist/components/connection-status/index.d.ts +4 -0
- package/dist/components/connection-status/index.js +6 -0
- package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
- package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
- package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
- package/dist/components/control-room-rail/index.d.ts +1 -0
- package/dist/components/control-room-rail/index.js +4 -3
- package/dist/components/counter/counter.d.ts +1 -1
- package/dist/components/country-select/country-select.agent.d.ts +8 -0
- package/dist/components/country-select/country-select.d.ts +51 -0
- package/dist/components/country-select/index.d.ts +6 -0
- package/dist/components/country-select/index.js +9 -0
- package/dist/components/country-select/iso-3166.d.ts +15 -0
- package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
- package/dist/components/data-table/index.d.ts +2 -0
- package/dist/components/data-table/index.js +13 -11
- package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
- package/dist/components/entity-summary/entity-summary.d.ts +53 -4
- package/dist/components/entity-summary/index.js +1 -1
- package/dist/components/field-array/field-array.agent.d.ts +4 -0
- package/dist/components/field-array/field-array.d.ts +45 -0
- package/dist/components/field-array/index.d.ts +4 -0
- package/dist/components/field-array/index.js +6 -0
- package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
- package/dist/components/iban-input/iban-input.d.ts +51 -0
- package/dist/components/iban-input/index.d.ts +5 -0
- package/dist/components/iban-input/index.js +13 -0
- package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
- package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
- package/dist/components/icon-picker/icon-picker.d.ts +41 -0
- package/dist/components/icon-picker/index.d.ts +4 -0
- package/dist/components/icon-picker/index.js +6 -0
- package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
- package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
- package/dist/components/image-cropper/image-cropper.d.ts +32 -0
- package/dist/components/image-cropper/index.d.ts +5 -0
- package/dist/components/image-cropper/index.js +11 -0
- package/dist/components/index.d.ts +16 -1
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-card/message-card.d.ts +14 -0
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/message-tray/message-tray.d.ts +4 -0
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/nav-grid/index.d.ts +4 -0
- package/dist/components/nav-grid/index.js +7 -0
- package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
- package/dist/components/nav-grid/nav-grid.d.ts +41 -0
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
- package/dist/components/notes-panel/notes-panel.d.ts +30 -0
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-card/notification-card.d.ts +15 -0
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/notification-tray/notification-tray.d.ts +4 -0
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/panel-header/index.d.ts +3 -0
- package/dist/components/panel-header/index.js +7 -0
- package/dist/components/panel-header/panel-header.d.ts +41 -0
- package/dist/components/patient-details/index.js +1 -1
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/patient-summary-card/index.js +1 -1
- package/dist/components/patient-table/index.js +1 -1
- package/dist/components/payment-card/index.js +1 -1
- package/dist/components/permission-matrix/index.d.ts +4 -0
- package/dist/components/permission-matrix/index.js +7 -0
- package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
- package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
- package/dist/components/position-grid/index.d.ts +4 -0
- package/dist/components/position-grid/index.js +7 -0
- package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
- package/dist/components/position-grid/position-grid.d.ts +39 -0
- package/dist/components/postal-code-input/index.d.ts +5 -0
- package/dist/components/postal-code-input/index.js +6 -0
- package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
- package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
- package/dist/components/province-select/index.d.ts +6 -0
- package/dist/components/province-select/index.js +7 -0
- package/dist/components/province-select/it-provinces.d.ts +8 -0
- package/dist/components/province-select/province-select.agent.d.ts +8 -0
- package/dist/components/province-select/province-select.d.ts +38 -0
- package/dist/components/public-footer/public-footer.d.ts +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
- package/dist/components/rich-text-editor/index.js +1 -1
- package/dist/components/scroll-area/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.d.ts +8 -2
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/skeleton/skeleton.d.ts +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-card/task-card.d.ts +14 -6
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/tasks-panel/index.d.ts +4 -0
- package/dist/components/tasks-panel/index.js +6 -0
- package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
- package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
- package/dist/components/token-insert-menu/index.d.ts +4 -0
- package/dist/components/token-insert-menu/index.js +6 -0
- package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
- package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
- package/dist/components/tool-rail/index.d.ts +4 -0
- package/dist/components/tool-rail/index.js +6 -0
- package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
- package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/use-edge-resize.d.ts +2 -2
- package/dist/i18n/locales/ar.d.ts +167 -2
- package/dist/i18n/locales/ar.js +157 -5
- package/dist/i18n/locales/de.d.ts +167 -2
- package/dist/i18n/locales/de.js +159 -5
- package/dist/i18n/locales/el.d.ts +167 -2
- package/dist/i18n/locales/el.js +164 -5
- package/dist/i18n/locales/en.d.ts +167 -2
- package/dist/i18n/locales/en.js +170 -5
- package/dist/i18n/locales/es.d.ts +167 -2
- package/dist/i18n/locales/es.js +156 -5
- package/dist/i18n/locales/fr.d.ts +167 -2
- package/dist/i18n/locales/fr.js +159 -5
- package/dist/i18n/locales/hi.d.ts +167 -2
- package/dist/i18n/locales/hi.js +155 -5
- package/dist/i18n/locales/it.d.ts +167 -2
- package/dist/i18n/locales/it.js +159 -5
- package/dist/i18n/locales/ja.d.ts +167 -2
- package/dist/i18n/locales/ja.js +160 -5
- package/dist/i18n/locales/nl.d.ts +167 -2
- package/dist/i18n/locales/nl.js +152 -5
- package/dist/i18n/locales/pl.d.ts +167 -2
- package/dist/i18n/locales/pl.js +160 -5
- package/dist/i18n/locales/pt.d.ts +167 -2
- package/dist/i18n/locales/pt.js +164 -5
- package/dist/i18n/locales/ro.d.ts +167 -2
- package/dist/i18n/locales/ro.js +164 -5
- package/dist/i18n/locales/ru.d.ts +167 -2
- package/dist/i18n/locales/ru.js +157 -5
- package/dist/i18n/locales/sq.d.ts +167 -2
- package/dist/i18n/locales/sq.js +161 -5
- package/dist/i18n/locales/sv.d.ts +167 -2
- package/dist/i18n/locales/sv.js +159 -5
- package/dist/i18n/locales/tr.d.ts +167 -2
- package/dist/i18n/locales/tr.js +157 -5
- package/dist/i18n/locales/zh.d.ts +167 -2
- package/dist/i18n/locales/zh.js +152 -5
- package/dist/index.js +823 -755
- package/dist/locales/ar.json +170 -5
- package/dist/locales/de.json +170 -5
- package/dist/locales/el.json +170 -5
- package/dist/locales/en.json +170 -5
- package/dist/locales/es.json +170 -5
- package/dist/locales/fr.json +170 -5
- package/dist/locales/hi.json +170 -5
- package/dist/locales/it.json +170 -5
- package/dist/locales/ja.json +170 -5
- package/dist/locales/nl.json +170 -5
- package/dist/locales/pl.json +170 -5
- package/dist/locales/pt.json +170 -5
- package/dist/locales/ro.json +170 -5
- package/dist/locales/ru.json +170 -5
- package/dist/locales/sq.json +170 -5
- package/dist/locales/sv.json +170 -5
- package/dist/locales/tr.json +170 -5
- package/dist/locales/zh.json +170 -5
- package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +9 -1
- package/package.json +65 -5
- package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
- package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
- package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
- package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
- package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
- package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
- package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
- package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
- package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
- package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
- package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
- package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
- package/dist/components/ai-tools-rail/index.d.ts +0 -4
- package/dist/components/ai-tools-rail/index.js +0 -6
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import { jsxs as k, jsx as d, Fragment as
|
|
2
|
-
import { forwardRef as
|
|
1
|
+
import { jsxs as k, jsx as d, Fragment as In } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as kn, useState as Z, useRef as qe, useEffect as Se, useMemo as $e, useCallback as O, useImperativeHandle as Tn } from "react";
|
|
3
|
+
import { createPortal as An } from "react-dom";
|
|
3
4
|
import * as K from "@radix-ui/react-tooltip";
|
|
4
|
-
import { c as
|
|
5
|
-
import { useTranslation as
|
|
6
|
-
import { u as
|
|
7
|
-
import { I as
|
|
8
|
-
import { P as
|
|
9
|
-
import { S as
|
|
10
|
-
import { S as
|
|
11
|
-
import { S as
|
|
12
|
-
const
|
|
5
|
+
import { c as te } from "./index-D2ZczOXr.js";
|
|
6
|
+
import { useTranslation as Yt } from "react-i18next";
|
|
7
|
+
import { u as Ln } from "./registry-DvAUVLHh.js";
|
|
8
|
+
import { I as Cn } from "./icon-button-LqoiKcUN.js";
|
|
9
|
+
import { P as et } from "./popover-B2qCDhJC.js";
|
|
10
|
+
import { S as Rn } from "./select-KsyRr8WH.js";
|
|
11
|
+
import { S as tt } from "./switch-OILsBLWo.js";
|
|
12
|
+
import { S as En } from "./settings-ca2Yi9R8.js";
|
|
13
|
+
const J = {
|
|
13
14
|
type: "string",
|
|
14
15
|
description: "FDI tooth id ('11'–'48' permanent, '51'–'85' primary) or a special-element id ('Q1'–'Q4' quadrants, 'S1'–'S6' sextants, 'AS'/'AI' arches, 'general'; primary mirrors with an 'm' prefix)."
|
|
15
16
|
}, je = {
|
|
@@ -26,9 +27,9 @@ const ee = {
|
|
|
26
27
|
"destroyed",
|
|
27
28
|
"rootCanal"
|
|
28
29
|
]
|
|
29
|
-
},
|
|
30
|
+
}, Mn = {
|
|
30
31
|
enum: ["mesial", "distal", "occlusal", "buccal", "lingual"]
|
|
31
|
-
},
|
|
32
|
+
}, Dn = {
|
|
32
33
|
type: "object",
|
|
33
34
|
properties: {
|
|
34
35
|
id: { type: "string" },
|
|
@@ -40,7 +41,7 @@ const ee = {
|
|
|
40
41
|
alt: { type: "string" }
|
|
41
42
|
},
|
|
42
43
|
required: ["id", "url"]
|
|
43
|
-
},
|
|
44
|
+
}, Nn = {
|
|
44
45
|
id: "tooth-scheme",
|
|
45
46
|
// pick — focus/select a tooth (`focus_tooth`, transient, not persisted);
|
|
46
47
|
// set_value / edit_inline — `set_finding` records a finding and marks the
|
|
@@ -88,7 +89,7 @@ const ee = {
|
|
|
88
89
|
argsType: "{ id: FdiId }",
|
|
89
90
|
argsSchema: {
|
|
90
91
|
type: "object",
|
|
91
|
-
properties: { id:
|
|
92
|
+
properties: { id: J },
|
|
92
93
|
required: ["id"]
|
|
93
94
|
},
|
|
94
95
|
idempotent: !0,
|
|
@@ -103,7 +104,7 @@ const ee = {
|
|
|
103
104
|
argsType: "{ id: FdiId }",
|
|
104
105
|
argsSchema: {
|
|
105
106
|
type: "object",
|
|
106
|
-
properties: { id:
|
|
107
|
+
properties: { id: J },
|
|
107
108
|
required: ["id"]
|
|
108
109
|
},
|
|
109
110
|
returns: "ToothCondition[]",
|
|
@@ -122,7 +123,7 @@ const ee = {
|
|
|
122
123
|
required: ["condition"]
|
|
123
124
|
},
|
|
124
125
|
returns: "FdiId[]",
|
|
125
|
-
returnsSchema: { type: "array", items:
|
|
126
|
+
returnsSchema: { type: "array", items: J },
|
|
126
127
|
idempotent: !0,
|
|
127
128
|
descriptionKey: "ui.agent.toothScheme.actions.teethWith",
|
|
128
129
|
description: "List the ids carrying a given finding — FDI tooth ids and/or special-element ids (e.g. all teeth with caries).",
|
|
@@ -133,11 +134,11 @@ const ee = {
|
|
|
133
134
|
argsType: "{ id: FdiId }",
|
|
134
135
|
argsSchema: {
|
|
135
136
|
type: "object",
|
|
136
|
-
properties: { id:
|
|
137
|
+
properties: { id: J },
|
|
137
138
|
required: ["id"]
|
|
138
139
|
},
|
|
139
140
|
returns: "Radiograph[]",
|
|
140
|
-
returnsSchema: { type: "array", items:
|
|
141
|
+
returnsSchema: { type: "array", items: Dn },
|
|
141
142
|
idempotent: !0,
|
|
142
143
|
descriptionKey: "ui.agent.toothScheme.actions.getRadiographs",
|
|
143
144
|
description: "Read the radiographs (x-rays) attached to one tooth.",
|
|
@@ -148,7 +149,7 @@ const ee = {
|
|
|
148
149
|
argsType: "{ id: FdiId }",
|
|
149
150
|
argsSchema: {
|
|
150
151
|
type: "object",
|
|
151
|
-
properties: { id:
|
|
152
|
+
properties: { id: J },
|
|
152
153
|
required: ["id"]
|
|
153
154
|
},
|
|
154
155
|
idempotent: !0,
|
|
@@ -164,9 +165,9 @@ const ee = {
|
|
|
164
165
|
argsSchema: {
|
|
165
166
|
type: "object",
|
|
166
167
|
properties: {
|
|
167
|
-
id:
|
|
168
|
+
id: J,
|
|
168
169
|
condition: je,
|
|
169
|
-
surfaces: { type: "array", items:
|
|
170
|
+
surfaces: { type: "array", items: Mn }
|
|
170
171
|
},
|
|
171
172
|
required: ["id", "condition"]
|
|
172
173
|
},
|
|
@@ -182,7 +183,7 @@ const ee = {
|
|
|
182
183
|
argsType: "{ id: FdiId; condition: ToothCondition }",
|
|
183
184
|
argsSchema: {
|
|
184
185
|
type: "object",
|
|
185
|
-
properties: { id:
|
|
186
|
+
properties: { id: J, condition: je },
|
|
186
187
|
required: ["id", "condition"]
|
|
187
188
|
},
|
|
188
189
|
idempotent: !0,
|
|
@@ -197,7 +198,7 @@ const ee = {
|
|
|
197
198
|
argsType: "{ id: FdiId }",
|
|
198
199
|
argsSchema: {
|
|
199
200
|
type: "object",
|
|
200
|
-
properties: { id:
|
|
201
|
+
properties: { id: J },
|
|
201
202
|
required: ["id"]
|
|
202
203
|
},
|
|
203
204
|
idempotent: !0,
|
|
@@ -220,7 +221,7 @@ const ee = {
|
|
|
220
221
|
description: "Each rendered tooth `<g>` carries its FDI id as `data-fdi`; selectable special-element slots carry their id there too (plus `data-special` naming the kind). The `data-projection` / `data-view-mode` attributes on the root expose the side/plan/both view."
|
|
221
222
|
}
|
|
222
223
|
}
|
|
223
|
-
},
|
|
224
|
+
}, Ae = [
|
|
224
225
|
// upper
|
|
225
226
|
"18",
|
|
226
227
|
"17",
|
|
@@ -255,7 +256,7 @@ const ee = {
|
|
|
255
256
|
"36",
|
|
256
257
|
"37",
|
|
257
258
|
"38"
|
|
258
|
-
],
|
|
259
|
+
], Le = [
|
|
259
260
|
// upper
|
|
260
261
|
"55",
|
|
261
262
|
"54",
|
|
@@ -279,17 +280,17 @@ const ee = {
|
|
|
279
280
|
"74",
|
|
280
281
|
"75"
|
|
281
282
|
];
|
|
282
|
-
function
|
|
283
|
+
function _n(t) {
|
|
283
284
|
return t <= 2 ? "incisor" : t === 3 ? "canine" : t <= 5 ? "premolar" : "molar";
|
|
284
285
|
}
|
|
285
|
-
function
|
|
286
|
+
function On(t) {
|
|
286
287
|
return t <= 2 ? "incisor" : t === 3 ? "canine" : "molar";
|
|
287
288
|
}
|
|
288
|
-
function
|
|
289
|
+
function qn(t, n) {
|
|
289
290
|
const i = (t - 1) % 4 + 1;
|
|
290
291
|
return `${i === 1 ? "UR" : i === 2 ? "UL" : i === 3 ? "LL" : "LR"}${n}`;
|
|
291
292
|
}
|
|
292
|
-
function
|
|
293
|
+
function jn(t, n) {
|
|
293
294
|
switch (t) {
|
|
294
295
|
case 1:
|
|
295
296
|
return String(1 + (8 - n));
|
|
@@ -303,7 +304,7 @@ function _n(t, n) {
|
|
|
303
304
|
return "";
|
|
304
305
|
}
|
|
305
306
|
}
|
|
306
|
-
function
|
|
307
|
+
function Kn(t, n) {
|
|
307
308
|
const i = "ABCDEFGHIJKLMNOPQRST";
|
|
308
309
|
let o = -1;
|
|
309
310
|
switch (t) {
|
|
@@ -324,8 +325,8 @@ function On(t, n) {
|
|
|
324
325
|
}
|
|
325
326
|
return o >= 0 ? i[o] : "";
|
|
326
327
|
}
|
|
327
|
-
function
|
|
328
|
-
const n = Number(t[0]), i = Number(t[1]), o = n >= 5, l = o ?
|
|
328
|
+
function Fn(t) {
|
|
329
|
+
const n = Number(t[0]), i = Number(t[1]), o = n >= 5, l = o ? On(i) : _n(i), v = n === 1 || n === 2 || n === 5 || n === 6 ? "upper" : "lower", m = n === 1 || n === 4 || n === 5 || n === 8 ? "right" : "left", S = o ? Kn(n, i) : jn(n, i), w = qn(n, i);
|
|
329
330
|
return {
|
|
330
331
|
fdi: t,
|
|
331
332
|
universal: S,
|
|
@@ -339,17 +340,17 @@ function qn(t) {
|
|
|
339
340
|
};
|
|
340
341
|
}
|
|
341
342
|
const Q = [
|
|
342
|
-
...
|
|
343
|
-
...
|
|
344
|
-
].reduce((t, n) => (t[n] =
|
|
343
|
+
...Ae,
|
|
344
|
+
...Le
|
|
345
|
+
].reduce((t, n) => (t[n] = Fn(n), t), {}), Wn = Object.fromEntries(
|
|
345
346
|
Object.entries(Q).map(([t, n]) => [t, n.universal])
|
|
346
|
-
),
|
|
347
|
+
), Pn = Object.fromEntries(
|
|
347
348
|
Object.entries(Q).map(([t, n]) => [t, n.palmer])
|
|
348
349
|
);
|
|
349
|
-
function
|
|
350
|
+
function st(t) {
|
|
350
351
|
return t.dentition !== "primary" ? t.fdi : `${t.quadrant - 4}${t.positionInQuadrant}`;
|
|
351
352
|
}
|
|
352
|
-
const
|
|
353
|
+
const Hn = 0.72, $r = {
|
|
353
354
|
caries: "--destructive",
|
|
354
355
|
filled: "--info",
|
|
355
356
|
crowned: "--warning",
|
|
@@ -361,7 +362,7 @@ const Fn = 0.72, yr = {
|
|
|
361
362
|
stub: "--muted-foreground",
|
|
362
363
|
destroyed: "--destructive",
|
|
363
364
|
rootCanal: "--primary"
|
|
364
|
-
},
|
|
365
|
+
}, ke = {
|
|
365
366
|
caries: "var(--destructive)",
|
|
366
367
|
filled: "var(--info)",
|
|
367
368
|
crowned: "var(--warning)",
|
|
@@ -373,7 +374,7 @@ const Fn = 0.72, yr = {
|
|
|
373
374
|
stub: "var(--muted-foreground)",
|
|
374
375
|
destroyed: "var(--destructive)",
|
|
375
376
|
rootCanal: "var(--primary)"
|
|
376
|
-
},
|
|
377
|
+
}, it = {
|
|
377
378
|
crowned: { folder: "crown", resolve: "per-fdi" },
|
|
378
379
|
temporaryCrown: { folder: "temporaryCrown", resolve: "per-fdi" },
|
|
379
380
|
bridge: { folder: "replacement", resolve: "per-fdi" },
|
|
@@ -383,39 +384,39 @@ const Fn = 0.72, yr = {
|
|
|
383
384
|
stub: { folder: "stub", resolve: "general" },
|
|
384
385
|
rootCanal: { folder: "rootTreatment", resolve: "rct" }
|
|
385
386
|
};
|
|
386
|
-
function
|
|
387
|
+
function Zt(t, n, i) {
|
|
387
388
|
const o = t.arch === "upper" ? "top" : "bottom", l = `${n}/side/${i.folder}/${o}`;
|
|
388
389
|
if (i.resolve === "general") return `${l}/general.webp`;
|
|
389
|
-
const v =
|
|
390
|
+
const v = st(t);
|
|
390
391
|
return i.resolve === "rct" ? `${l}/${v}/full.webp` : `${l}/${v}.webp`;
|
|
391
392
|
}
|
|
392
|
-
const
|
|
393
|
+
const Qn = {
|
|
393
394
|
mesial: "mesial",
|
|
394
395
|
distal: "distal",
|
|
395
396
|
occlusal: "occlusal",
|
|
396
397
|
buccal: "vestibular",
|
|
397
398
|
lingual: "oral"
|
|
398
|
-
},
|
|
399
|
+
}, Un = {
|
|
399
400
|
caries: "caries",
|
|
400
401
|
filled: "filling"
|
|
401
402
|
};
|
|
402
|
-
function
|
|
403
|
+
function Yn(t, n, i, o) {
|
|
403
404
|
const l = t.arch === "upper" ? "top" : "bottom";
|
|
404
|
-
return `${n}/plan/${i}/${l}/${
|
|
405
|
+
return `${n}/plan/${i}/${l}/${st(t)}-${Qn[o]}.webp`;
|
|
405
406
|
}
|
|
406
|
-
function
|
|
407
|
+
function nt(t) {
|
|
407
408
|
return t.anatomy === "molar" || t.anatomy === "premolar" ? ["top", "bottom", "left", "right", "center"] : ["top", "bottom", "left", "right"];
|
|
408
409
|
}
|
|
409
|
-
function
|
|
410
|
+
function jt(t, n) {
|
|
410
411
|
if (n === "center") return "occlusal";
|
|
411
412
|
if (n === "top") return t.arch === "upper" ? "buccal" : "lingual";
|
|
412
413
|
if (n === "bottom") return t.arch === "upper" ? "lingual" : "buccal";
|
|
413
414
|
const i = t.quadrant <= 4 ? t.quadrant : t.quadrant - 4, o = i === 1 || i === 4;
|
|
414
415
|
return n === "left" ? o ? "distal" : "mesial" : o ? "mesial" : "distal";
|
|
415
416
|
}
|
|
416
|
-
const
|
|
417
|
-
function
|
|
418
|
-
const { x: o, y: l, w: v, h: m } = n, S = o + v, w = l + m, a = (p, A) => `${
|
|
417
|
+
const Kt = (t) => Math.round(t * 100) / 100;
|
|
418
|
+
function Zn(t, n, i) {
|
|
419
|
+
const { x: o, y: l, w: v, h: m } = n, S = o + v, w = l + m, a = (p, A) => `${Kt(p)} ${Kt(A)}`;
|
|
419
420
|
if (!i) {
|
|
420
421
|
const p = o + v / 2, A = l + m / 2;
|
|
421
422
|
switch (t) {
|
|
@@ -447,23 +448,23 @@ function Qn(t, n, i) {
|
|
|
447
448
|
return "";
|
|
448
449
|
}
|
|
449
450
|
}
|
|
450
|
-
const
|
|
451
|
-
function
|
|
451
|
+
const Te = 5, at = 40, L = 4, z = 36, zt = 62;
|
|
452
|
+
function Gt(t, n, i = "default", o = "side") {
|
|
452
453
|
const l = t.arch === "upper" ? "top" : "bottom";
|
|
453
|
-
return `${n}/${o}/${i}/${l}/${
|
|
454
|
+
return `${n}/${o}/${i}/${l}/${st(t)}.webp`;
|
|
454
455
|
}
|
|
455
|
-
function
|
|
456
|
-
const o = t === "primary" ?
|
|
456
|
+
function zn(t, n = zt, i = {}) {
|
|
457
|
+
const o = t === "primary" ? Le : t === "mixed" ? [...Ae, ...Le] : Ae, l = [], v = [];
|
|
457
458
|
for (const p of o)
|
|
458
459
|
Q[p].arch === "upper" ? l.push(p) : v.push(p);
|
|
459
|
-
const m = z +
|
|
460
|
+
const m = z + Te, S = Math.max(l.length, v.length), w = S > 0 ? S * m - Te : 0;
|
|
460
461
|
function a(p, A) {
|
|
461
|
-
const ie = p.length > 0 ? p.length * m -
|
|
462
|
-
return p.map((
|
|
463
|
-
const
|
|
462
|
+
const ie = p.length > 0 ? p.length * m - Te : 0, q = (w - ie) / 2;
|
|
463
|
+
return p.map((ne, Pe) => {
|
|
464
|
+
const He = Q[ne];
|
|
464
465
|
return {
|
|
465
|
-
fdi:
|
|
466
|
-
meta:
|
|
466
|
+
fdi: ne,
|
|
467
|
+
meta: He,
|
|
467
468
|
x: q + Pe * m,
|
|
468
469
|
y: A
|
|
469
470
|
};
|
|
@@ -473,12 +474,12 @@ function Un(t, n = Yt, i = {}) {
|
|
|
473
474
|
const p = i.arch === "upper" ? l : v;
|
|
474
475
|
return { teeth: a(p, 0), width: w, height: n };
|
|
475
476
|
}
|
|
476
|
-
const M = a(l, 0), $ = a(v, n +
|
|
477
|
+
const M = a(l, 0), $ = a(v, n + at), F = w > 0 ? w : S * m, R = n * 2 + at;
|
|
477
478
|
return { teeth: [...M, ...$], width: F, height: R };
|
|
478
479
|
}
|
|
479
|
-
const C = (t) => [...
|
|
480
|
+
const C = (t) => [...Ae, ...Le].filter(
|
|
480
481
|
(n) => Q[n].quadrant === t
|
|
481
|
-
),
|
|
482
|
+
), ct = [
|
|
482
483
|
// Upper facial (side) row — Q1, Q2, AS, Gen.
|
|
483
484
|
{
|
|
484
485
|
id: "Q1",
|
|
@@ -522,7 +523,7 @@ const C = (t) => [...Te, ...Ae].filter(
|
|
|
522
523
|
dentition: "permanent",
|
|
523
524
|
labelKey: "general",
|
|
524
525
|
code: "Gen.",
|
|
525
|
-
teeth:
|
|
526
|
+
teeth: Ae,
|
|
526
527
|
column: 3,
|
|
527
528
|
row: "side"
|
|
528
529
|
},
|
|
@@ -636,7 +637,7 @@ const C = (t) => [...Te, ...Ae].filter(
|
|
|
636
637
|
column: 2,
|
|
637
638
|
row: "side"
|
|
638
639
|
}
|
|
639
|
-
],
|
|
640
|
+
], dt = [
|
|
640
641
|
// Upper facial (side) row.
|
|
641
642
|
{
|
|
642
643
|
id: "mQ1",
|
|
@@ -680,7 +681,7 @@ const C = (t) => [...Te, ...Ae].filter(
|
|
|
680
681
|
dentition: "primary",
|
|
681
682
|
labelKey: "general",
|
|
682
683
|
code: "Gen.",
|
|
683
|
-
teeth:
|
|
684
|
+
teeth: Le,
|
|
684
685
|
column: 3,
|
|
685
686
|
row: "side"
|
|
686
687
|
},
|
|
@@ -794,57 +795,57 @@ const C = (t) => [...Te, ...Ae].filter(
|
|
|
794
795
|
column: 2,
|
|
795
796
|
row: "side"
|
|
796
797
|
}
|
|
797
|
-
],
|
|
798
|
-
...
|
|
799
|
-
...
|
|
800
|
-
],
|
|
801
|
-
function
|
|
802
|
-
return t in
|
|
798
|
+
], Gn = [
|
|
799
|
+
...ct,
|
|
800
|
+
...dt
|
|
801
|
+
], Vt = Gn.reduce((t, n) => (t[n.id] = n, t), {});
|
|
802
|
+
function Vn(t) {
|
|
803
|
+
return t in Vt;
|
|
803
804
|
}
|
|
804
805
|
function Ke(t, n, i) {
|
|
805
|
-
return (t === "primary" ?
|
|
806
|
+
return (t === "primary" ? dt : ct).filter(
|
|
806
807
|
(l) => l.arch === n && l.row === i && l.kind !== "general"
|
|
807
808
|
).sort((l, v) => l.column - v.column);
|
|
808
809
|
}
|
|
809
|
-
function
|
|
810
|
-
return (t === "primary" ?
|
|
810
|
+
function Ir(t) {
|
|
811
|
+
return (t === "primary" ? dt : ct).find((i) => i.kind === "general");
|
|
811
812
|
}
|
|
812
|
-
const
|
|
813
|
-
function
|
|
813
|
+
const ee = 36;
|
|
814
|
+
function Bn(t, n) {
|
|
814
815
|
const i = t.kind === "quadrant" || t.kind === "arch" ? t.code : t.kind === "general" ? "general" : null;
|
|
815
816
|
return i ? `${/\/teeth\/?$/.test(n) ? n.replace(/\/teeth\/?$/, "/global") : `${n}/global`}/${i}.webp` : null;
|
|
816
817
|
}
|
|
817
|
-
const
|
|
818
|
+
const Xn = 8, Ft = ee + Te;
|
|
818
819
|
function Fe(t, n) {
|
|
819
820
|
if (t.length === 0) return { specials: [], width: n };
|
|
820
|
-
const i = n +
|
|
821
|
+
const i = n + Xn, o = t.map((m) => ({
|
|
821
822
|
element: m,
|
|
822
|
-
x: i + m.column *
|
|
823
|
+
x: i + m.column * Ft,
|
|
823
824
|
y: 0
|
|
824
|
-
})), l = Math.max(...t.map((m) => m.column)), v = i + (l + 1) *
|
|
825
|
+
})), l = Math.max(...t.map((m) => m.column)), v = i + (l + 1) * Ft - Te;
|
|
825
826
|
return { specials: o, width: v };
|
|
826
827
|
}
|
|
827
|
-
function
|
|
828
|
+
function Wt(t, n) {
|
|
828
829
|
switch (n) {
|
|
829
830
|
case "universal":
|
|
830
|
-
return
|
|
831
|
+
return Wn[t] ?? t;
|
|
831
832
|
case "palmer":
|
|
832
|
-
return
|
|
833
|
+
return Pn[t] ?? t;
|
|
833
834
|
case "fdi":
|
|
834
835
|
default:
|
|
835
836
|
return t;
|
|
836
837
|
}
|
|
837
838
|
}
|
|
838
|
-
function
|
|
839
|
+
function kr() {
|
|
839
840
|
return {};
|
|
840
841
|
}
|
|
841
|
-
function
|
|
842
|
+
function Pt(t) {
|
|
842
843
|
const n = {};
|
|
843
844
|
for (const [i, o] of Object.entries(t))
|
|
844
845
|
!o || o.length === 0 || (n[i] = { conditions: o, surfaces: [] });
|
|
845
846
|
return n;
|
|
846
847
|
}
|
|
847
|
-
const
|
|
848
|
+
const Jn = te(
|
|
848
849
|
[
|
|
849
850
|
"ds:tooth-scheme-alfadocs",
|
|
850
851
|
"ds:flex ds:flex-col",
|
|
@@ -864,28 +865,28 @@ const Vn = ne(
|
|
|
864
865
|
"ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
|
|
865
866
|
"ds:forced-colors:focus-visible:outline-[CanvasText]"
|
|
866
867
|
].join(" ")
|
|
867
|
-
),
|
|
868
|
+
), er = te(["ds:flex ds:flex-col ds:gap-0"].join(" ")), tr = te(
|
|
868
869
|
[
|
|
869
870
|
"ds:block",
|
|
870
871
|
"ds:w-full ds:min-w-fit ds:h-auto",
|
|
871
872
|
"ds:text-[var(--foreground)]"
|
|
872
873
|
].join(" ")
|
|
873
|
-
),
|
|
874
|
+
), Ht = te(
|
|
874
875
|
[
|
|
875
876
|
"ds:group ds:cursor-pointer",
|
|
876
877
|
"ds:focus:outline-none",
|
|
877
878
|
"ds:transition-[fill,stroke,opacity] ds:duration-[var(--animation-duration)]",
|
|
878
879
|
"ds:motion-reduce:transition-none"
|
|
879
880
|
].join(" ")
|
|
880
|
-
),
|
|
881
|
+
), nr = te(
|
|
881
882
|
[
|
|
882
883
|
"ds:flex ds:flex-wrap ds:items-center",
|
|
883
884
|
"ds:gap-[var(--spacing-sm)]",
|
|
884
885
|
"type-meta ds:text-[var(--muted-foreground)]"
|
|
885
886
|
].join(" ")
|
|
886
|
-
),
|
|
887
|
+
), rr = te(
|
|
887
888
|
["ds:inline-flex ds:items-center", "ds:gap-[var(--spacing-xs)]"].join(" ")
|
|
888
|
-
),
|
|
889
|
+
), or = te(["ds:sr-only"].join(" ")), ir = te(
|
|
889
890
|
[
|
|
890
891
|
"ds:cursor-pointer ds:outline-none",
|
|
891
892
|
"ds:fill-transparent ds:stroke-transparent",
|
|
@@ -897,17 +898,17 @@ const Vn = ne(
|
|
|
897
898
|
"ds:forced-colors:focus-visible:stroke-[CanvasText]"
|
|
898
899
|
].join(" ")
|
|
899
900
|
);
|
|
900
|
-
function
|
|
901
|
+
function rt(t) {
|
|
901
902
|
return t.value !== void 0;
|
|
902
903
|
}
|
|
903
904
|
function We() {
|
|
904
905
|
return { conditions: [], surfaces: [] };
|
|
905
906
|
}
|
|
906
|
-
function
|
|
907
|
+
function Qt(t, n) {
|
|
907
908
|
const i = t ?? [];
|
|
908
909
|
return n ? i.includes(n) ? i.filter((o) => o !== n) : [...i, n] : i.length === 0 ? ["caries"] : [];
|
|
909
910
|
}
|
|
910
|
-
function
|
|
911
|
+
function Ut(t, n) {
|
|
911
912
|
switch (t.labelKey) {
|
|
912
913
|
case "quadrant":
|
|
913
914
|
return n("toothScheme.special.quadrant", { n: t.labelIndex });
|
|
@@ -921,7 +922,7 @@ function Ht(t, n) {
|
|
|
921
922
|
return n("toothScheme.special.general");
|
|
922
923
|
}
|
|
923
924
|
}
|
|
924
|
-
function
|
|
925
|
+
function ar(t, n, i) {
|
|
925
926
|
var l;
|
|
926
927
|
return i ? ((l = {
|
|
927
928
|
top: { ArrowDown: "center" },
|
|
@@ -936,7 +937,7 @@ function rr(t, n, i) {
|
|
|
936
937
|
}
|
|
937
938
|
}[t]) == null ? void 0 : l[n]) ?? t : n === "ArrowUp" ? "top" : n === "ArrowDown" ? "bottom" : n === "ArrowLeft" ? "left" : n === "ArrowRight" ? "right" : t;
|
|
938
939
|
}
|
|
939
|
-
const
|
|
940
|
+
const sr = [
|
|
940
941
|
"caries",
|
|
941
942
|
"filled",
|
|
942
943
|
"crowned",
|
|
@@ -949,11 +950,11 @@ const or = [
|
|
|
949
950
|
"destroyed",
|
|
950
951
|
"missing"
|
|
951
952
|
];
|
|
952
|
-
function
|
|
953
|
+
function cr({
|
|
953
954
|
condition: t,
|
|
954
955
|
assetBaseUrl: n
|
|
955
956
|
}) {
|
|
956
|
-
const i = Q[16], o =
|
|
957
|
+
const i = Q[16], o = it[t], l = t === "missing", v = t === "caries" || t === "filled", m = 36 * 0.9, S = 62 * 0.9, w = (36 - m) / 2, a = (62 - S) / 2;
|
|
957
958
|
return /* @__PURE__ */ k(
|
|
958
959
|
"svg",
|
|
959
960
|
{
|
|
@@ -966,7 +967,7 @@ function ir({
|
|
|
966
967
|
/* @__PURE__ */ d(
|
|
967
968
|
"image",
|
|
968
969
|
{
|
|
969
|
-
href:
|
|
970
|
+
href: Gt(i, n),
|
|
970
971
|
x: w,
|
|
971
972
|
y: a,
|
|
972
973
|
width: m,
|
|
@@ -978,7 +979,7 @@ function ir({
|
|
|
978
979
|
o ? /* @__PURE__ */ d(
|
|
979
980
|
"image",
|
|
980
981
|
{
|
|
981
|
-
href:
|
|
982
|
+
href: Zt(i, n, o),
|
|
982
983
|
x: w,
|
|
983
984
|
y: a,
|
|
984
985
|
width: m,
|
|
@@ -994,7 +995,7 @@ function ir({
|
|
|
994
995
|
width: 30,
|
|
995
996
|
height: 58,
|
|
996
997
|
fill: "none",
|
|
997
|
-
stroke:
|
|
998
|
+
stroke: ke[t],
|
|
998
999
|
strokeWidth: 2,
|
|
999
1000
|
strokeDasharray: t === "filled" ? "4 2" : void 0,
|
|
1000
1001
|
rx: 6
|
|
@@ -1004,7 +1005,7 @@ function ir({
|
|
|
1004
1005
|
"path",
|
|
1005
1006
|
{
|
|
1006
1007
|
d: "M7 9 L29 53 M29 9 L7 53",
|
|
1007
|
-
stroke:
|
|
1008
|
+
stroke: ke.missing,
|
|
1008
1009
|
strokeWidth: 2,
|
|
1009
1010
|
fill: "none"
|
|
1010
1011
|
}
|
|
@@ -1013,8 +1014,8 @@ function ir({
|
|
|
1013
1014
|
}
|
|
1014
1015
|
);
|
|
1015
1016
|
}
|
|
1016
|
-
function
|
|
1017
|
-
const { t: n } =
|
|
1017
|
+
function dr({ assetBaseUrl: t }) {
|
|
1018
|
+
const { t: n } = Yt();
|
|
1018
1019
|
return /* @__PURE__ */ k(
|
|
1019
1020
|
"section",
|
|
1020
1021
|
{
|
|
@@ -1023,14 +1024,14 @@ function ar({ assetBaseUrl: t }) {
|
|
|
1023
1024
|
className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:rounded-[var(--radius-md)] ds:bg-[var(--card)] ds:border ds:border-[color:var(--card-border)] ds:p-[var(--spacing-sm)] ds:shadow-[var(--shadow-card)] ds:[.theme-accessible_&]:border-2",
|
|
1024
1025
|
children: [
|
|
1025
1026
|
/* @__PURE__ */ d("span", { className: "type-eyebrow ds:text-[color:var(--muted-foreground)]", children: n("toothScheme.legendLabel") }),
|
|
1026
|
-
/* @__PURE__ */ d("ul", { className:
|
|
1027
|
+
/* @__PURE__ */ d("ul", { className: nr(), children: sr.map((i) => /* @__PURE__ */ k(
|
|
1027
1028
|
"li",
|
|
1028
1029
|
{
|
|
1029
|
-
className:
|
|
1030
|
+
className: rr(),
|
|
1030
1031
|
"data-condition": i,
|
|
1031
1032
|
"data-testid": `tooth-scheme-legend-item-${i}`,
|
|
1032
1033
|
children: [
|
|
1033
|
-
/* @__PURE__ */ d(
|
|
1034
|
+
/* @__PURE__ */ d(cr, { condition: i, assetBaseUrl: t }),
|
|
1034
1035
|
/* @__PURE__ */ d("span", { children: n(`toothScheme.condition.${i}`) })
|
|
1035
1036
|
]
|
|
1036
1037
|
},
|
|
@@ -1040,7 +1041,7 @@ function ar({ assetBaseUrl: t }) {
|
|
|
1040
1041
|
}
|
|
1041
1042
|
);
|
|
1042
1043
|
}
|
|
1043
|
-
function
|
|
1044
|
+
function ot({
|
|
1044
1045
|
label: t,
|
|
1045
1046
|
value: n,
|
|
1046
1047
|
options: i,
|
|
@@ -1057,7 +1058,7 @@ function rt({
|
|
|
1057
1058
|
}
|
|
1058
1059
|
),
|
|
1059
1060
|
/* @__PURE__ */ d(
|
|
1060
|
-
|
|
1061
|
+
Rn,
|
|
1061
1062
|
{
|
|
1062
1063
|
size: "md",
|
|
1063
1064
|
"aria-label": t,
|
|
@@ -1069,10 +1070,10 @@ function rt({
|
|
|
1069
1070
|
)
|
|
1070
1071
|
] });
|
|
1071
1072
|
}
|
|
1072
|
-
function
|
|
1073
|
+
function lr(t, n) {
|
|
1073
1074
|
return t.date === n.date ? 0 : t.date ? n.date && t.date < n.date ? 1 : -1 : 1;
|
|
1074
1075
|
}
|
|
1075
|
-
const
|
|
1076
|
+
const Ie = kn(
|
|
1076
1077
|
({
|
|
1077
1078
|
id: t,
|
|
1078
1079
|
dentition: n = "permanent",
|
|
@@ -1092,19 +1093,20 @@ const $e = $n(
|
|
|
1092
1093
|
assetBaseUrl: A = "/toothscheme/teeth",
|
|
1093
1094
|
legend: ie = !1,
|
|
1094
1095
|
controls: q = !1,
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1096
|
+
controlsContainer: ne,
|
|
1097
|
+
ariaLabel: Pe,
|
|
1098
|
+
className: He,
|
|
1099
|
+
_arch: ae,
|
|
1100
|
+
_numbersPosition: ue = "between",
|
|
1099
1101
|
_inner: Ce = !1,
|
|
1100
|
-
_contentWidth:
|
|
1101
|
-
},
|
|
1102
|
-
var
|
|
1103
|
-
const { t: u } =
|
|
1102
|
+
_contentWidth: Bt
|
|
1103
|
+
}, Xt) => {
|
|
1104
|
+
var Rt;
|
|
1105
|
+
const { t: u } = Yt(), [Jt, lt] = Z(n), [en, ut] = Z(i), [tn, ht] = Z(l), [nn, pt] = Z(ie), [rn, mt] = Z(
|
|
1104
1106
|
v
|
|
1105
|
-
), [
|
|
1106
|
-
|
|
1107
|
-
q && !
|
|
1107
|
+
), [Qe, on] = Z(null), j = q ? Jt : n, he = q ? en : i, ft = q ? nn : ie, pe = q ? tn : l, D = pe === "plan" ? "plan" : "side", Re = pe === "both" && !Ce, gt = pe === "both", G = q ? rn ?? gt : v ?? gt, bt = qe(q);
|
|
1108
|
+
Se(() => {
|
|
1109
|
+
q && !bt.current && (lt(n), ut(i), ht(l), pt(ie), mt(v)), bt.current = q;
|
|
1108
1110
|
}, [
|
|
1109
1111
|
q,
|
|
1110
1112
|
n,
|
|
@@ -1113,31 +1115,31 @@ const $e = $n(
|
|
|
1113
1115
|
ie,
|
|
1114
1116
|
v
|
|
1115
1117
|
]);
|
|
1116
|
-
const [
|
|
1117
|
-
|
|
1118
|
-
|
|
1118
|
+
const [an, vt] = Z(() => m !== void 0 ? m : S !== void 0 ? S : M ? Pt(M) : {}), f = rt({ value: m }) ? m : an;
|
|
1119
|
+
Se(() => {
|
|
1120
|
+
rt({ value: m }) || M !== void 0 && vt(Pt(M));
|
|
1119
1121
|
}, [M, m]);
|
|
1120
|
-
const I = D === "plan" ? 44 :
|
|
1121
|
-
() =>
|
|
1122
|
-
[j, I,
|
|
1123
|
-
),
|
|
1124
|
-
if (!
|
|
1125
|
-
if (
|
|
1122
|
+
const I = D === "plan" ? 44 : zt, N = $e(
|
|
1123
|
+
() => zn(j, I, ae ? { arch: ae } : {}),
|
|
1124
|
+
[j, I, ae]
|
|
1125
|
+
), me = $e(() => {
|
|
1126
|
+
if (!G) return [];
|
|
1127
|
+
if (ae)
|
|
1126
1128
|
return Fe(
|
|
1127
|
-
Ke(j,
|
|
1129
|
+
Ke(j, ae, D),
|
|
1128
1130
|
N.width
|
|
1129
1131
|
).specials;
|
|
1130
1132
|
const e = Fe(
|
|
1131
1133
|
Ke(j, "upper", D),
|
|
1132
1134
|
N.width
|
|
1133
|
-
).specials, r = I +
|
|
1135
|
+
).specials, r = I + at, s = Fe(
|
|
1134
1136
|
Ke(j, "lower", D),
|
|
1135
1137
|
N.width
|
|
1136
1138
|
).specials.map((c) => ({ ...c, y: r }));
|
|
1137
1139
|
return [...e, ...s];
|
|
1138
|
-
}, [
|
|
1140
|
+
}, [G, ae, j, D, N.width, I]), sn = $e(() => {
|
|
1139
1141
|
if (!Re) return;
|
|
1140
|
-
if (!
|
|
1142
|
+
if (!G) return N.width;
|
|
1141
1143
|
let e = N.width;
|
|
1142
1144
|
for (const r of ["upper", "lower"])
|
|
1143
1145
|
for (const s of ["side", "plan"]) {
|
|
@@ -1148,34 +1150,34 @@ const $e = $n(
|
|
|
1148
1150
|
c > e && (e = c);
|
|
1149
1151
|
}
|
|
1150
1152
|
return e;
|
|
1151
|
-
}, [Re,
|
|
1153
|
+
}, [Re, G, j, N.width]), re = $e(
|
|
1152
1154
|
() => [
|
|
1153
1155
|
...N.teeth.map((e) => e.fdi),
|
|
1154
1156
|
// Special slots join keyboard nav only when interactive — in display /
|
|
1155
1157
|
// radiograph-open mode they are decorative (role="img"), so the
|
|
1156
1158
|
// radiograph-open keyboard path never reaches a region id.
|
|
1157
|
-
...o === "interactive" ?
|
|
1159
|
+
...o === "interactive" ? me.map((e) => e.element.id) : []
|
|
1158
1160
|
],
|
|
1159
|
-
[N,
|
|
1160
|
-
),
|
|
1161
|
-
|
|
1162
|
-
(!
|
|
1163
|
-
}, [
|
|
1164
|
-
const [
|
|
1161
|
+
[N, me, o]
|
|
1162
|
+
), Ue = re[0], [fe, V] = Z(Ue);
|
|
1163
|
+
Se(() => {
|
|
1164
|
+
(!fe || !re.includes(fe)) && V(Ue);
|
|
1165
|
+
}, [Ue, fe, re]);
|
|
1166
|
+
const [cn, ge] = Z(""), Ye = qe(null), _ = O(
|
|
1165
1167
|
(e) => {
|
|
1166
|
-
|
|
1168
|
+
rt({ value: m }) || vt(e), w == null || w(e);
|
|
1167
1169
|
},
|
|
1168
1170
|
[w, m]
|
|
1169
1171
|
), W = O((e) => {
|
|
1170
|
-
const r =
|
|
1172
|
+
const r = Ye.current;
|
|
1171
1173
|
if (!r) return;
|
|
1172
1174
|
const s = r.querySelector(`g[data-fdi="${e}"]`);
|
|
1173
|
-
s && (s.focus(),
|
|
1174
|
-
}, []),
|
|
1175
|
+
s && (s.focus(), V(e));
|
|
1176
|
+
}, []), se = O(
|
|
1175
1177
|
(e, r) => {
|
|
1176
1178
|
const s = r.map((c) => u(`toothScheme.condition.${c}`)).join(", ");
|
|
1177
|
-
if (
|
|
1178
|
-
const c =
|
|
1179
|
+
if (Vn(e)) {
|
|
1180
|
+
const c = Ut(Vt[e], u);
|
|
1179
1181
|
return r.length > 0 ? u("toothScheme.elementSelected", {
|
|
1180
1182
|
name: c,
|
|
1181
1183
|
conditions: s
|
|
@@ -1184,57 +1186,57 @@ const $e = $n(
|
|
|
1184
1186
|
return r.length > 0 ? u("toothScheme.selected", { id: e, conditions: s }) : u("toothScheme.deselected", { id: e });
|
|
1185
1187
|
},
|
|
1186
1188
|
[u]
|
|
1187
|
-
), U = D === "plan" && o === "interactive" && (p === "caries" || p === "filled"), [E,
|
|
1188
|
-
|
|
1189
|
-
(!U || E && !re.includes(E.fdi)) &&
|
|
1189
|
+
), U = D === "plan" && o === "interactive" && (p === "caries" || p === "filled"), [E, be] = Z(null);
|
|
1190
|
+
Se(() => {
|
|
1191
|
+
(!U || E && !re.includes(E.fdi)) && be(null);
|
|
1190
1192
|
}, [U, E, re]);
|
|
1191
|
-
const
|
|
1193
|
+
const yt = O((e, r) => {
|
|
1192
1194
|
var c;
|
|
1193
|
-
const s = (c =
|
|
1195
|
+
const s = (c = Ye.current) == null ? void 0 : c.querySelector(
|
|
1194
1196
|
`path[data-fdi="${e}"][data-zone="${r}"]`
|
|
1195
1197
|
);
|
|
1196
1198
|
s == null || s.focus();
|
|
1197
|
-
}, []),
|
|
1198
|
-
|
|
1199
|
-
E ?
|
|
1200
|
-
}, [E,
|
|
1201
|
-
const
|
|
1199
|
+
}, []), Ze = qe(null);
|
|
1200
|
+
Se(() => {
|
|
1201
|
+
E ? yt(E.fdi, E.zone) : Ze.current && W(Ze.current.fdi), Ze.current = E;
|
|
1202
|
+
}, [E, yt, W]);
|
|
1203
|
+
const dn = O(
|
|
1202
1204
|
(e, r) => {
|
|
1203
1205
|
const s = f[e];
|
|
1204
1206
|
return !!(s && s.surfaces.includes(r) && s.conditions.includes(p));
|
|
1205
1207
|
},
|
|
1206
1208
|
[f, p]
|
|
1207
|
-
),
|
|
1209
|
+
), wt = O(
|
|
1208
1210
|
(e, r) => {
|
|
1209
|
-
r && r.conditions.length > 0 ?
|
|
1211
|
+
r && r.conditions.length > 0 ? ge(
|
|
1210
1212
|
u("toothScheme.selected", {
|
|
1211
1213
|
id: e,
|
|
1212
1214
|
conditions: r.conditions.map((s) => u(`toothScheme.condition.${s}`)).join(", ")
|
|
1213
1215
|
})
|
|
1214
|
-
) :
|
|
1216
|
+
) : ge(u("toothScheme.deselected", { id: e }));
|
|
1215
1217
|
},
|
|
1216
1218
|
[u]
|
|
1217
|
-
),
|
|
1219
|
+
), ze = O(
|
|
1218
1220
|
(e, r) => {
|
|
1219
1221
|
if (!U) return;
|
|
1220
1222
|
const s = p, c = f[e] ?? We(), g = c.surfaces.includes(r), T = c.conditions.includes(s);
|
|
1221
1223
|
let h, x;
|
|
1222
1224
|
g && T ? (h = c.surfaces.filter((Y) => Y !== r), x = h.length === 0 ? c.conditions.filter((Y) => Y !== s) : c.conditions) : (h = g ? c.surfaces : [...c.surfaces, r], x = T ? c.conditions : [...c.conditions, s]);
|
|
1223
1225
|
const y = { ...f };
|
|
1224
|
-
x.length === 0 && h.length === 0 ? delete y[e] : y[e] = { ...c, conditions: x, surfaces: h }, _(y),
|
|
1226
|
+
x.length === 0 && h.length === 0 ? delete y[e] : y[e] = { ...c, conditions: x, surfaces: h }, _(y), wt(e, y[e]), a == null || a(e);
|
|
1225
1227
|
},
|
|
1226
1228
|
[
|
|
1227
1229
|
U,
|
|
1228
1230
|
p,
|
|
1229
1231
|
f,
|
|
1230
1232
|
_,
|
|
1231
|
-
|
|
1233
|
+
wt,
|
|
1232
1234
|
a
|
|
1233
1235
|
]
|
|
1234
|
-
),
|
|
1236
|
+
), Ge = O((e) => {
|
|
1235
1237
|
const r = Q[e];
|
|
1236
|
-
r && (
|
|
1237
|
-
}, []),
|
|
1238
|
+
r && (V(e), be({ fdi: e, zone: nt(r)[0] }));
|
|
1239
|
+
}, []), ln = O(
|
|
1238
1240
|
(e, r, s) => {
|
|
1239
1241
|
const c = Q[r];
|
|
1240
1242
|
if (c)
|
|
@@ -1244,30 +1246,30 @@ const $e = $n(
|
|
|
1244
1246
|
case "ArrowLeft":
|
|
1245
1247
|
case "ArrowRight": {
|
|
1246
1248
|
e.preventDefault(), e.stopPropagation();
|
|
1247
|
-
const g =
|
|
1248
|
-
T !== s &&
|
|
1249
|
+
const g = nt(c).includes("center"), T = ar(s, e.key, g);
|
|
1250
|
+
T !== s && be({ fdi: r, zone: T });
|
|
1249
1251
|
return;
|
|
1250
1252
|
}
|
|
1251
1253
|
case " ":
|
|
1252
1254
|
case "Enter": {
|
|
1253
|
-
e.preventDefault(), e.stopPropagation(),
|
|
1255
|
+
e.preventDefault(), e.stopPropagation(), ze(r, jt(c, s));
|
|
1254
1256
|
return;
|
|
1255
1257
|
}
|
|
1256
1258
|
case "Escape": {
|
|
1257
|
-
e.preventDefault(), e.stopPropagation(),
|
|
1259
|
+
e.preventDefault(), e.stopPropagation(), be(null);
|
|
1258
1260
|
return;
|
|
1259
1261
|
}
|
|
1260
1262
|
default:
|
|
1261
1263
|
return;
|
|
1262
1264
|
}
|
|
1263
1265
|
},
|
|
1264
|
-
[
|
|
1265
|
-
),
|
|
1266
|
+
[ze]
|
|
1267
|
+
), un = qe(null), Ee = o === "display" && typeof R == "function", ve = o === "interactive" || Ee, ye = O(
|
|
1266
1268
|
(e) => {
|
|
1267
|
-
|
|
1269
|
+
V(e), a == null || a(e), R == null || R(e);
|
|
1268
1270
|
},
|
|
1269
1271
|
[a, R]
|
|
1270
|
-
),
|
|
1272
|
+
), Ve = $e(
|
|
1271
1273
|
() => ({
|
|
1272
1274
|
focusTooth: (e) => {
|
|
1273
1275
|
W(e);
|
|
@@ -1310,20 +1312,20 @@ const $e = $n(
|
|
|
1310
1312
|
}
|
|
1311
1313
|
),
|
|
1312
1314
|
openRadiographs: (e) => {
|
|
1313
|
-
W(e),
|
|
1315
|
+
W(e), ye(e);
|
|
1314
1316
|
}
|
|
1315
1317
|
}),
|
|
1316
|
-
[f, _, W, $,
|
|
1318
|
+
[f, _, W, $, ye]
|
|
1317
1319
|
);
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1320
|
+
Tn(Xt, () => Ve, [Ve]), Ln(
|
|
1321
|
+
Nn,
|
|
1322
|
+
Ve,
|
|
1321
1323
|
Ce ? void 0 : t
|
|
1322
1324
|
);
|
|
1323
|
-
const
|
|
1325
|
+
const xt = O(
|
|
1324
1326
|
(e, r) => {
|
|
1325
1327
|
var T;
|
|
1326
|
-
if (!
|
|
1328
|
+
if (!ve) return;
|
|
1327
1329
|
const s = Q[r], c = re, g = c.indexOf(r);
|
|
1328
1330
|
switch (e.key) {
|
|
1329
1331
|
case "ArrowRight": {
|
|
@@ -1381,18 +1383,18 @@ const $e = $n(
|
|
|
1381
1383
|
case " ":
|
|
1382
1384
|
case "Enter": {
|
|
1383
1385
|
if (e.preventDefault(), Ee) {
|
|
1384
|
-
|
|
1386
|
+
ye(r);
|
|
1385
1387
|
return;
|
|
1386
1388
|
}
|
|
1387
1389
|
if (U && s) {
|
|
1388
|
-
|
|
1390
|
+
Ge(r);
|
|
1389
1391
|
return;
|
|
1390
1392
|
}
|
|
1391
|
-
const h = (T = f[r]) == null ? void 0 : T.conditions, x =
|
|
1393
|
+
const h = (T = f[r]) == null ? void 0 : T.conditions, x = Qt(h, p), y = { ...f };
|
|
1392
1394
|
x.length === 0 ? delete y[r] : y[r] = {
|
|
1393
1395
|
...f[r] ?? We(),
|
|
1394
1396
|
conditions: x
|
|
1395
|
-
},
|
|
1397
|
+
}, ge(se(r, x)), _(y), a == null || a(r);
|
|
1396
1398
|
return;
|
|
1397
1399
|
}
|
|
1398
1400
|
default:
|
|
@@ -1401,97 +1403,97 @@ const $e = $n(
|
|
|
1401
1403
|
},
|
|
1402
1404
|
[
|
|
1403
1405
|
p,
|
|
1404
|
-
|
|
1406
|
+
se,
|
|
1405
1407
|
f,
|
|
1406
1408
|
_,
|
|
1407
|
-
|
|
1409
|
+
Ge,
|
|
1408
1410
|
W,
|
|
1409
|
-
|
|
1411
|
+
ye,
|
|
1410
1412
|
a,
|
|
1411
1413
|
Ee,
|
|
1412
1414
|
U,
|
|
1413
|
-
|
|
1415
|
+
ve,
|
|
1414
1416
|
re
|
|
1415
1417
|
]
|
|
1416
|
-
),
|
|
1418
|
+
), St = O(
|
|
1417
1419
|
(e) => {
|
|
1418
1420
|
var g;
|
|
1419
1421
|
if (o !== "interactive") return;
|
|
1420
|
-
|
|
1421
|
-
const r = (g = f[e]) == null ? void 0 : g.conditions, s =
|
|
1422
|
+
V(e);
|
|
1423
|
+
const r = (g = f[e]) == null ? void 0 : g.conditions, s = Qt(r, p), c = { ...f };
|
|
1422
1424
|
s.length === 0 ? delete c[e] : c[e] = {
|
|
1423
1425
|
...f[e] ?? We(),
|
|
1424
1426
|
conditions: s
|
|
1425
|
-
},
|
|
1427
|
+
}, ge(se(e, s)), _(c), a == null || a(e);
|
|
1426
1428
|
},
|
|
1427
|
-
[p,
|
|
1428
|
-
), oe = j === "primary" ? "mGeneral" : "general",
|
|
1429
|
+
[p, se, f, _, o, a]
|
|
1430
|
+
), oe = j === "primary" ? "mGeneral" : "general", $t = (((Rt = f[oe]) == null ? void 0 : Rt.conditions.length) ?? 0) > 0, hn = O(
|
|
1429
1431
|
(e) => {
|
|
1430
1432
|
var s;
|
|
1431
1433
|
const r = { ...f };
|
|
1432
1434
|
e ? r[oe] = {
|
|
1433
1435
|
conditions: [p ?? "caries"],
|
|
1434
1436
|
surfaces: []
|
|
1435
|
-
} : delete r[oe],
|
|
1436
|
-
|
|
1437
|
+
} : delete r[oe], ge(
|
|
1438
|
+
se(oe, ((s = r[oe]) == null ? void 0 : s.conditions) ?? [])
|
|
1437
1439
|
), _(r), a == null || a(oe);
|
|
1438
1440
|
},
|
|
1439
1441
|
[
|
|
1440
1442
|
p,
|
|
1441
|
-
|
|
1443
|
+
se,
|
|
1442
1444
|
f,
|
|
1443
1445
|
_,
|
|
1444
1446
|
oe,
|
|
1445
1447
|
a
|
|
1446
1448
|
]
|
|
1447
|
-
),
|
|
1448
|
-
|
|
1449
|
+
), It = ue === "above" ? 16 : 2, pn = ue === "below" ? 16 : 2, mn = me.length > 0 ? Math.max(...me.map((e) => e.x)) + ee : 0, kt = Math.max(
|
|
1450
|
+
Bt ?? 0,
|
|
1449
1451
|
N.width,
|
|
1450
|
-
|
|
1451
|
-
) + 4,
|
|
1452
|
+
mn
|
|
1453
|
+
) + 4, Tt = N.height + It + pn, Be = Pe ?? u("toothScheme.ariaLabel"), fn = ve ? void 0 : 0, At = Re ? null : /* @__PURE__ */ k(
|
|
1452
1454
|
"svg",
|
|
1453
1455
|
{
|
|
1454
|
-
ref:
|
|
1455
|
-
viewBox: `0 ${
|
|
1456
|
-
width:
|
|
1457
|
-
height:
|
|
1458
|
-
className:
|
|
1456
|
+
ref: Ye,
|
|
1457
|
+
viewBox: `0 ${-It} ${kt} ${Tt}`,
|
|
1458
|
+
width: kt,
|
|
1459
|
+
height: Tt,
|
|
1460
|
+
className: tr(),
|
|
1459
1461
|
role: "group",
|
|
1460
|
-
"aria-label":
|
|
1462
|
+
"aria-label": Be,
|
|
1461
1463
|
focusable: "false",
|
|
1462
1464
|
"data-testid": "tooth-scheme-svg",
|
|
1463
1465
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1464
1466
|
children: [
|
|
1465
1467
|
N.teeth.map((e) => {
|
|
1466
|
-
var
|
|
1467
|
-
const r = f[e.fdi], s = (
|
|
1468
|
-
id:
|
|
1468
|
+
var qt;
|
|
1469
|
+
const r = f[e.fdi], s = (qt = r == null ? void 0 : r.conditions) == null ? void 0 : qt[0], c = u(`toothScheme.anatomy.${e.meta.anatomy}`), g = s ? `, ${u(`toothScheme.condition.${s}`)}` : "", T = ($ == null ? void 0 : $[e.fdi]) ?? [], h = T.length, x = h > 0, y = x ? [...T].sort(lr)[0] : void 0, Y = F === "thumbnail" && y !== void 0, Ne = x ? `, ${u("toothScheme.radiographBadge", { count: h })}` : "", B = Ce ? `, ${u(D === "plan" ? "toothScheme.view.occlusal" : "toothScheme.view.side")}` : "", Xe = u("toothScheme.toothLabel", {
|
|
1470
|
+
id: Wt(e.fdi, he),
|
|
1469
1471
|
anatomy: c,
|
|
1470
1472
|
conditionSuffix: g
|
|
1471
|
-
}) + Ne +
|
|
1473
|
+
}) + Ne + B, _e = ve ? E ? -1 : e.fdi === fe ? 0 : -1 : void 0, ce = (r == null ? void 0 : r.conditions) ?? [], Et = ce.includes("missing"), vn = ce.map((b) => ({
|
|
1472
1474
|
condition: b,
|
|
1473
|
-
spec:
|
|
1475
|
+
spec: it[b]
|
|
1474
1476
|
})).filter(
|
|
1475
1477
|
(b) => !!b.spec
|
|
1476
|
-
),
|
|
1477
|
-
(b) => b !== "missing" && !
|
|
1478
|
-
),
|
|
1478
|
+
), Je = ce.find(
|
|
1479
|
+
(b) => b !== "missing" && !it[b]
|
|
1480
|
+
), Mt = Je ? ke[Je] : void 0, yn = (s ? `${c} · ${u(`toothScheme.condition.${s}`)}` : c) + (x ? ` · ${u("toothScheme.radiographBadge", { count: h })}` : ""), Dt = Wt(e.fdi, he), wn = Gt(
|
|
1479
1481
|
e.meta,
|
|
1480
1482
|
A,
|
|
1481
1483
|
"default",
|
|
1482
1484
|
D
|
|
1483
|
-
),
|
|
1484
|
-
const H =
|
|
1485
|
+
), xn = Y && y ? y.thumbnailUrl ?? y.url : wn, Sn = D === "plan" ? ce.flatMap((b) => {
|
|
1486
|
+
const H = Un[b];
|
|
1485
1487
|
return H ? ((r == null ? void 0 : r.surfaces) ?? []).map((Oe) => ({
|
|
1486
1488
|
key: `${b}-${Oe}`,
|
|
1487
|
-
url:
|
|
1489
|
+
url: Yn(
|
|
1488
1490
|
e.meta,
|
|
1489
1491
|
A,
|
|
1490
1492
|
H,
|
|
1491
1493
|
Oe
|
|
1492
1494
|
)
|
|
1493
1495
|
})) : [];
|
|
1494
|
-
}) : [],
|
|
1496
|
+
}) : [], Nt = (e.meta.dentition === "primary" ? Hn : 1) * 0.9, de = z * Nt, le = I * Nt, we = (z - de) / 2, xe = (I - le) / 2, P = U && (E == null ? void 0 : E.fdi) === e.fdi, _t = U ? nt(e.meta) : [], $n = _t.includes("center"), Ot = ue === "above" ? -4 : ue === "below" ? I + 12 : ue === "none" ? null : e.meta.arch === "upper" ? I + 12 : -4;
|
|
1495
1497
|
return /* @__PURE__ */ k(K.Root, { children: [
|
|
1496
1498
|
/* @__PURE__ */ d(K.Trigger, { asChild: !0, children: /* @__PURE__ */ k(
|
|
1497
1499
|
"g",
|
|
@@ -1505,13 +1507,13 @@ const $e = $n(
|
|
|
1505
1507
|
"data-testid": `tooth-${e.fdi}`,
|
|
1506
1508
|
transform: `translate(${e.x}, ${e.y})`,
|
|
1507
1509
|
tabIndex: _e,
|
|
1508
|
-
role: P ? "group" :
|
|
1509
|
-
"aria-label":
|
|
1510
|
+
role: P ? "group" : ve ? "button" : "img",
|
|
1511
|
+
"aria-label": Xe,
|
|
1510
1512
|
"aria-pressed": P ? void 0 : o === "interactive" ? s !== void 0 : void 0,
|
|
1511
|
-
className:
|
|
1512
|
-
onClick: P ? void 0 : o === "interactive" ? U ? () =>
|
|
1513
|
-
onFocus: () =>
|
|
1514
|
-
onKeyDown: P ? void 0 : (b) =>
|
|
1513
|
+
className: Ht(),
|
|
1514
|
+
onClick: P ? void 0 : o === "interactive" ? U ? () => Ge(e.fdi) : () => St(e.fdi) : Ee ? () => ye(e.fdi) : void 0,
|
|
1515
|
+
onFocus: () => V(e.fdi),
|
|
1516
|
+
onKeyDown: P ? void 0 : (b) => xt(b, e.fdi),
|
|
1515
1517
|
children: [
|
|
1516
1518
|
/* @__PURE__ */ d(
|
|
1517
1519
|
"rect",
|
|
@@ -1526,57 +1528,57 @@ const $e = $n(
|
|
|
1526
1528
|
/* @__PURE__ */ d(
|
|
1527
1529
|
"image",
|
|
1528
1530
|
{
|
|
1529
|
-
href:
|
|
1530
|
-
x:
|
|
1531
|
-
y:
|
|
1532
|
-
width:
|
|
1533
|
-
height:
|
|
1531
|
+
href: xn,
|
|
1532
|
+
x: we,
|
|
1533
|
+
y: xe,
|
|
1534
|
+
width: de,
|
|
1535
|
+
height: le,
|
|
1534
1536
|
preserveAspectRatio: Y ? "xMidYMid slice" : "xMidYMid meet",
|
|
1535
|
-
opacity:
|
|
1537
|
+
opacity: Et && !Y ? 0.25 : 1,
|
|
1536
1538
|
"aria-hidden": "true"
|
|
1537
1539
|
}
|
|
1538
1540
|
),
|
|
1539
|
-
D === "side" ?
|
|
1541
|
+
D === "side" ? vn.map(({ condition: b, spec: H }) => /* @__PURE__ */ d(
|
|
1540
1542
|
"image",
|
|
1541
1543
|
{
|
|
1542
|
-
href:
|
|
1544
|
+
href: Zt(
|
|
1543
1545
|
e.meta,
|
|
1544
1546
|
A,
|
|
1545
1547
|
H
|
|
1546
1548
|
),
|
|
1547
|
-
x:
|
|
1548
|
-
y:
|
|
1549
|
-
width:
|
|
1550
|
-
height:
|
|
1549
|
+
x: we,
|
|
1550
|
+
y: xe,
|
|
1551
|
+
width: de,
|
|
1552
|
+
height: le,
|
|
1551
1553
|
preserveAspectRatio: "xMidYMid meet",
|
|
1552
1554
|
"aria-hidden": "true",
|
|
1553
1555
|
pointerEvents: "none"
|
|
1554
1556
|
},
|
|
1555
1557
|
b
|
|
1556
1558
|
)) : null,
|
|
1557
|
-
D === "plan" ?
|
|
1559
|
+
D === "plan" ? Sn.map(({ key: b, url: H }) => /* @__PURE__ */ d(
|
|
1558
1560
|
"image",
|
|
1559
1561
|
{
|
|
1560
1562
|
href: H,
|
|
1561
|
-
x:
|
|
1562
|
-
y:
|
|
1563
|
-
width:
|
|
1564
|
-
height:
|
|
1563
|
+
x: we,
|
|
1564
|
+
y: xe,
|
|
1565
|
+
width: de,
|
|
1566
|
+
height: le,
|
|
1565
1567
|
preserveAspectRatio: "xMidYMid meet",
|
|
1566
1568
|
"aria-hidden": "true",
|
|
1567
1569
|
pointerEvents: "none"
|
|
1568
1570
|
},
|
|
1569
1571
|
b
|
|
1570
1572
|
)) : null,
|
|
1571
|
-
U ?
|
|
1572
|
-
const H =
|
|
1573
|
+
U ? _t.map((b) => {
|
|
1574
|
+
const H = jt(e.meta, b), Oe = dn(e.fdi, H);
|
|
1573
1575
|
return /* @__PURE__ */ d(
|
|
1574
1576
|
"path",
|
|
1575
1577
|
{
|
|
1576
|
-
d:
|
|
1578
|
+
d: Zn(
|
|
1577
1579
|
b,
|
|
1578
|
-
{ x:
|
|
1579
|
-
|
|
1580
|
+
{ x: we, y: xe, w: de, h: le },
|
|
1581
|
+
$n
|
|
1580
1582
|
),
|
|
1581
1583
|
"data-fdi": e.fdi,
|
|
1582
1584
|
"data-zone": b,
|
|
@@ -1585,7 +1587,7 @@ const $e = $n(
|
|
|
1585
1587
|
role: P ? "button" : void 0,
|
|
1586
1588
|
tabIndex: P ? (E == null ? void 0 : E.zone) === b ? 0 : -1 : void 0,
|
|
1587
1589
|
"aria-label": P ? u("toothScheme.toothLabel", {
|
|
1588
|
-
id:
|
|
1590
|
+
id: Dt,
|
|
1589
1591
|
anatomy: u(
|
|
1590
1592
|
`toothScheme.surface.${H}`
|
|
1591
1593
|
),
|
|
@@ -1593,19 +1595,19 @@ const $e = $n(
|
|
|
1593
1595
|
}) : void 0,
|
|
1594
1596
|
"aria-pressed": P ? Oe : void 0,
|
|
1595
1597
|
strokeWidth: "var(--focus-ring-width)",
|
|
1596
|
-
className:
|
|
1597
|
-
onClick: (
|
|
1598
|
-
|
|
1598
|
+
className: ir(),
|
|
1599
|
+
onClick: (X) => {
|
|
1600
|
+
X.stopPropagation(), P || V(e.fdi), ze(e.fdi, H);
|
|
1599
1601
|
},
|
|
1600
|
-
onKeyDown: P ? (
|
|
1601
|
-
onFocus: P ? () =>
|
|
1602
|
-
(
|
|
1602
|
+
onKeyDown: P ? (X) => ln(X, e.fdi, b) : void 0,
|
|
1603
|
+
onFocus: P ? () => be(
|
|
1604
|
+
(X) => X && X.fdi === e.fdi && X.zone === b ? X : { fdi: e.fdi, zone: b }
|
|
1603
1605
|
) : void 0
|
|
1604
1606
|
},
|
|
1605
1607
|
b
|
|
1606
1608
|
);
|
|
1607
1609
|
}) : null,
|
|
1608
|
-
D === "side" &&
|
|
1610
|
+
D === "side" && Mt ? /* @__PURE__ */ d(
|
|
1609
1611
|
"rect",
|
|
1610
1612
|
{
|
|
1611
1613
|
x: 3,
|
|
@@ -1613,18 +1615,18 @@ const $e = $n(
|
|
|
1613
1615
|
width: z - 6,
|
|
1614
1616
|
height: I - 4,
|
|
1615
1617
|
fill: "none",
|
|
1616
|
-
stroke:
|
|
1618
|
+
stroke: Mt,
|
|
1617
1619
|
strokeWidth: "2",
|
|
1618
|
-
strokeDasharray:
|
|
1620
|
+
strokeDasharray: Je === "filled" ? "4 2" : void 0,
|
|
1619
1621
|
rx: "6",
|
|
1620
1622
|
pointerEvents: "none"
|
|
1621
1623
|
}
|
|
1622
1624
|
) : null,
|
|
1623
|
-
|
|
1625
|
+
Et ? /* @__PURE__ */ d(
|
|
1624
1626
|
"path",
|
|
1625
1627
|
{
|
|
1626
1628
|
d: `M7 9 L${z - 7} ${I - 9} M${z - 7} 9 L7 ${I - 9}`,
|
|
1627
|
-
stroke:
|
|
1629
|
+
stroke: ke.missing,
|
|
1628
1630
|
strokeWidth: "2",
|
|
1629
1631
|
fill: "none",
|
|
1630
1632
|
pointerEvents: "none"
|
|
@@ -1633,10 +1635,10 @@ const $e = $n(
|
|
|
1633
1635
|
Y ? /* @__PURE__ */ d(
|
|
1634
1636
|
"rect",
|
|
1635
1637
|
{
|
|
1636
|
-
x:
|
|
1637
|
-
y:
|
|
1638
|
-
width:
|
|
1639
|
-
height:
|
|
1638
|
+
x: we,
|
|
1639
|
+
y: xe,
|
|
1640
|
+
width: de,
|
|
1641
|
+
height: le,
|
|
1640
1642
|
fill: "none",
|
|
1641
1643
|
stroke: "var(--border)",
|
|
1642
1644
|
strokeWidth: "1",
|
|
@@ -1700,17 +1702,17 @@ const $e = $n(
|
|
|
1700
1702
|
rx: "4"
|
|
1701
1703
|
}
|
|
1702
1704
|
),
|
|
1703
|
-
|
|
1705
|
+
Ot !== null ? /* @__PURE__ */ d(
|
|
1704
1706
|
"text",
|
|
1705
1707
|
{
|
|
1706
1708
|
x: z / 2,
|
|
1707
|
-
y:
|
|
1709
|
+
y: Ot,
|
|
1708
1710
|
textAnchor: "middle",
|
|
1709
1711
|
fontSize: "10",
|
|
1710
1712
|
fill: "var(--muted-foreground)",
|
|
1711
1713
|
className: "ds:select-none",
|
|
1712
1714
|
"aria-hidden": "true",
|
|
1713
|
-
children:
|
|
1715
|
+
children: Dt
|
|
1714
1716
|
}
|
|
1715
1717
|
) : null
|
|
1716
1718
|
]
|
|
@@ -1723,19 +1725,19 @@ const $e = $n(
|
|
|
1723
1725
|
sideOffset: 6,
|
|
1724
1726
|
className: "ds:z-[var(--z-tooltip)] ds:rounded-[var(--radius-sm)] ds:bg-[var(--foreground)] ds:text-[var(--background)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)] ds:pt-[calc(var(--spacing-xs)/2)] ds:pb-[calc(var(--spacing-xs)/2)] ds:text-[length:var(--font-size-xs)]",
|
|
1725
1727
|
children: [
|
|
1726
|
-
|
|
1728
|
+
yn,
|
|
1727
1729
|
/* @__PURE__ */ d(K.Arrow, { className: "ds:fill-[var(--foreground)]" })
|
|
1728
1730
|
]
|
|
1729
1731
|
}
|
|
1730
1732
|
) })
|
|
1731
1733
|
] }, e.fdi);
|
|
1732
1734
|
}),
|
|
1733
|
-
|
|
1735
|
+
me.map(({ element: e, x: r, y: s }) => {
|
|
1734
1736
|
var _e;
|
|
1735
|
-
const c = f[e.id], g = (_e = c == null ? void 0 : c.conditions) == null ? void 0 : _e[0], T = g !== void 0, h =
|
|
1737
|
+
const c = f[e.id], g = (_e = c == null ? void 0 : c.conditions) == null ? void 0 : _e[0], T = g !== void 0, h = Ut(e, u), x = g ? `, ${u(`toothScheme.condition.${g}`)}` : "", y = u("toothScheme.elementLabel", {
|
|
1736
1738
|
name: h,
|
|
1737
1739
|
conditionSuffix: x
|
|
1738
|
-
}), Y = g ?
|
|
1740
|
+
}), Y = g ? ke[g] : void 0, Ne = Bn(e, A), B = o === "interactive", Xe = B ? e.id === fe ? 0 : -1 : void 0;
|
|
1739
1741
|
return /* @__PURE__ */ k(K.Root, { children: [
|
|
1740
1742
|
/* @__PURE__ */ d(K.Trigger, { asChild: !0, children: /* @__PURE__ */ k(
|
|
1741
1743
|
"g",
|
|
@@ -1746,21 +1748,21 @@ const $e = $n(
|
|
|
1746
1748
|
"data-condition": g ?? "none",
|
|
1747
1749
|
"data-testid": `element-${e.id}`,
|
|
1748
1750
|
transform: `translate(${r}, ${s})`,
|
|
1749
|
-
tabIndex:
|
|
1750
|
-
role:
|
|
1751
|
+
tabIndex: Xe,
|
|
1752
|
+
role: B ? "button" : "img",
|
|
1751
1753
|
"aria-label": y,
|
|
1752
|
-
"aria-pressed":
|
|
1753
|
-
className:
|
|
1754
|
-
onClick:
|
|
1755
|
-
onFocus:
|
|
1756
|
-
onKeyDown:
|
|
1754
|
+
"aria-pressed": B ? T : void 0,
|
|
1755
|
+
className: Ht(),
|
|
1756
|
+
onClick: B ? () => St(e.id) : void 0,
|
|
1757
|
+
onFocus: B ? () => V(e.id) : void 0,
|
|
1758
|
+
onKeyDown: B ? (ce) => xt(ce, e.id) : void 0,
|
|
1757
1759
|
children: [
|
|
1758
1760
|
/* @__PURE__ */ d(
|
|
1759
1761
|
"rect",
|
|
1760
1762
|
{
|
|
1761
1763
|
x: -L,
|
|
1762
1764
|
y: -L,
|
|
1763
|
-
width:
|
|
1765
|
+
width: ee + L * 2,
|
|
1764
1766
|
height: I + L * 2,
|
|
1765
1767
|
fill: "transparent"
|
|
1766
1768
|
}
|
|
@@ -1770,7 +1772,7 @@ const $e = $n(
|
|
|
1770
1772
|
{
|
|
1771
1773
|
x: 0,
|
|
1772
1774
|
y: 0,
|
|
1773
|
-
width:
|
|
1775
|
+
width: ee,
|
|
1774
1776
|
height: I,
|
|
1775
1777
|
rx: 6,
|
|
1776
1778
|
fill: T ? "var(--accent)" : "var(--card)",
|
|
@@ -1779,14 +1781,14 @@ const $e = $n(
|
|
|
1779
1781
|
strokeWidth: T ? 2 : 1
|
|
1780
1782
|
}
|
|
1781
1783
|
),
|
|
1782
|
-
Ne ? /* @__PURE__ */ k(
|
|
1784
|
+
Ne ? /* @__PURE__ */ k(In, { children: [
|
|
1783
1785
|
/* @__PURE__ */ d(
|
|
1784
1786
|
"image",
|
|
1785
1787
|
{
|
|
1786
1788
|
href: Ne,
|
|
1787
1789
|
x: 3,
|
|
1788
1790
|
y: 3,
|
|
1789
|
-
width:
|
|
1791
|
+
width: ee - 6,
|
|
1790
1792
|
height: I - 16,
|
|
1791
1793
|
preserveAspectRatio: "xMidYMid meet",
|
|
1792
1794
|
"aria-hidden": "true",
|
|
@@ -1796,7 +1798,7 @@ const $e = $n(
|
|
|
1796
1798
|
/* @__PURE__ */ d(
|
|
1797
1799
|
"text",
|
|
1798
1800
|
{
|
|
1799
|
-
x:
|
|
1801
|
+
x: ee / 2,
|
|
1800
1802
|
y: I - 4,
|
|
1801
1803
|
textAnchor: "middle",
|
|
1802
1804
|
fontSize: "9",
|
|
@@ -1810,7 +1812,7 @@ const $e = $n(
|
|
|
1810
1812
|
] }) : /* @__PURE__ */ d(
|
|
1811
1813
|
"text",
|
|
1812
1814
|
{
|
|
1813
|
-
x:
|
|
1815
|
+
x: ee / 2,
|
|
1814
1816
|
y: I / 2,
|
|
1815
1817
|
textAnchor: "middle",
|
|
1816
1818
|
dominantBaseline: "central",
|
|
@@ -1827,7 +1829,7 @@ const $e = $n(
|
|
|
1827
1829
|
{
|
|
1828
1830
|
x: -L,
|
|
1829
1831
|
y: -L,
|
|
1830
|
-
width:
|
|
1832
|
+
width: ee + L * 2,
|
|
1831
1833
|
height: I + L * 2,
|
|
1832
1834
|
fill: "none",
|
|
1833
1835
|
stroke: "var(--ring)",
|
|
@@ -1861,24 +1863,24 @@ const $e = $n(
|
|
|
1861
1863
|
})
|
|
1862
1864
|
]
|
|
1863
1865
|
}
|
|
1864
|
-
),
|
|
1866
|
+
), Lt = /* @__PURE__ */ d(
|
|
1865
1867
|
"div",
|
|
1866
1868
|
{
|
|
1867
|
-
className:
|
|
1869
|
+
className: or(),
|
|
1868
1870
|
"aria-live": "polite",
|
|
1869
1871
|
"aria-atomic": "true",
|
|
1870
1872
|
"data-testid": "tooth-scheme-live",
|
|
1871
|
-
children:
|
|
1873
|
+
children: cn
|
|
1872
1874
|
}
|
|
1873
1875
|
);
|
|
1874
1876
|
if (Ce)
|
|
1875
1877
|
return /* @__PURE__ */ k(K.Provider, { delayDuration: 200, children: [
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
+
At,
|
|
1879
|
+
Lt
|
|
1878
1880
|
] });
|
|
1879
|
-
const
|
|
1881
|
+
const gn = (e) => u(e === "upper" ? "toothScheme.arch.upper" : "toothScheme.arch.lower"), Me = (e, r) => `${Be} — ${gn(e)}, ${u(r === "plan" ? "toothScheme.view.occlusal" : "toothScheme.view.side")}`, De = {
|
|
1880
1882
|
dentition: j,
|
|
1881
|
-
numbering:
|
|
1883
|
+
numbering: he,
|
|
1882
1884
|
mode: o,
|
|
1883
1885
|
value: f,
|
|
1884
1886
|
onChange: _,
|
|
@@ -1888,12 +1890,12 @@ const $e = $n(
|
|
|
1888
1890
|
radiographs: $,
|
|
1889
1891
|
radiographDisplay: F,
|
|
1890
1892
|
onOpenRadiographs: R,
|
|
1891
|
-
specialElements:
|
|
1893
|
+
specialElements: G,
|
|
1892
1894
|
_inner: !0,
|
|
1893
|
-
_contentWidth:
|
|
1894
|
-
},
|
|
1895
|
+
_contentWidth: sn
|
|
1896
|
+
}, bn = /* @__PURE__ */ k("div", { className: er(), "data-testid": "tooth-scheme-both", children: [
|
|
1895
1897
|
/* @__PURE__ */ d(
|
|
1896
|
-
|
|
1898
|
+
Ie,
|
|
1897
1899
|
{
|
|
1898
1900
|
...De,
|
|
1899
1901
|
projection: "side",
|
|
@@ -1903,7 +1905,7 @@ const $e = $n(
|
|
|
1903
1905
|
}
|
|
1904
1906
|
),
|
|
1905
1907
|
/* @__PURE__ */ d(
|
|
1906
|
-
|
|
1908
|
+
Ie,
|
|
1907
1909
|
{
|
|
1908
1910
|
...De,
|
|
1909
1911
|
projection: "plan",
|
|
@@ -1913,7 +1915,7 @@ const $e = $n(
|
|
|
1913
1915
|
}
|
|
1914
1916
|
),
|
|
1915
1917
|
/* @__PURE__ */ d(
|
|
1916
|
-
|
|
1918
|
+
Ie,
|
|
1917
1919
|
{
|
|
1918
1920
|
...De,
|
|
1919
1921
|
projection: "plan",
|
|
@@ -1923,7 +1925,7 @@ const $e = $n(
|
|
|
1923
1925
|
}
|
|
1924
1926
|
),
|
|
1925
1927
|
/* @__PURE__ */ d(
|
|
1926
|
-
|
|
1928
|
+
Ie,
|
|
1927
1929
|
{
|
|
1928
1930
|
...De,
|
|
1929
1931
|
projection: "side",
|
|
@@ -1932,200 +1934,200 @@ const $e = $n(
|
|
|
1932
1934
|
ariaLabel: Me("lower", "side")
|
|
1933
1935
|
}
|
|
1934
1936
|
)
|
|
1935
|
-
] })
|
|
1936
|
-
return /* @__PURE__ */ d(K.Provider, { delayDuration: 200, children: /* @__PURE__ */ k(
|
|
1937
|
+
] }), Ct = q ? /* @__PURE__ */ d(
|
|
1937
1938
|
"div",
|
|
1938
1939
|
{
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
q ? /* @__PURE__ */ d(
|
|
1955
|
-
"div",
|
|
1940
|
+
className: ne != null ? "ds:flex ds:justify-end" : "ds:flex ds:w-full ds:justify-end",
|
|
1941
|
+
"data-testid": "tooth-scheme-controls",
|
|
1942
|
+
children: /* @__PURE__ */ k(et.Root, { children: [
|
|
1943
|
+
/* @__PURE__ */ d(et.Trigger, { asChild: !0, children: /* @__PURE__ */ d(
|
|
1944
|
+
Cn,
|
|
1945
|
+
{
|
|
1946
|
+
size: "sm",
|
|
1947
|
+
intent: "outline",
|
|
1948
|
+
icon: /* @__PURE__ */ d(En, { "aria-hidden": "true" }),
|
|
1949
|
+
"aria-label": u("toothScheme.options.label"),
|
|
1950
|
+
tooltip: u("toothScheme.options.label")
|
|
1951
|
+
}
|
|
1952
|
+
) }),
|
|
1953
|
+
/* @__PURE__ */ d(
|
|
1954
|
+
et.Content,
|
|
1956
1955
|
{
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1956
|
+
ref: on,
|
|
1957
|
+
align: "end",
|
|
1958
|
+
size: "md",
|
|
1959
|
+
"aria-label": u("toothScheme.options.label"),
|
|
1960
|
+
children: /* @__PURE__ */ k("div", { className: "ds:flex ds:w-[var(--popover-size-sm)] ds:max-w-full ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
1961
|
+
/* @__PURE__ */ k("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:border-b ds:border-[color:var(--border)] ds:pb-[var(--spacing-sm)] ds:[&>*]:w-full ds:[&>*]:justify-between", children: [
|
|
1962
|
+
/* @__PURE__ */ d(
|
|
1963
|
+
tt,
|
|
1964
|
+
{
|
|
1965
|
+
label: u("toothScheme.options.legend"),
|
|
1966
|
+
labelSide: "start",
|
|
1967
|
+
checked: ft,
|
|
1968
|
+
onCheckedChange: pt
|
|
1969
|
+
}
|
|
1970
|
+
),
|
|
1971
|
+
/* @__PURE__ */ d(
|
|
1972
|
+
tt,
|
|
1973
|
+
{
|
|
1974
|
+
label: u("toothScheme.options.specialElements"),
|
|
1975
|
+
labelSide: "start",
|
|
1976
|
+
checked: G,
|
|
1977
|
+
onCheckedChange: mt
|
|
1978
|
+
}
|
|
1979
|
+
)
|
|
1980
|
+
] }),
|
|
1981
|
+
/* @__PURE__ */ d(
|
|
1982
|
+
ot,
|
|
1962
1983
|
{
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1984
|
+
container: Qe,
|
|
1985
|
+
label: u("toothScheme.options.dentition"),
|
|
1986
|
+
value: j,
|
|
1987
|
+
onValueChange: (e) => lt(e),
|
|
1988
|
+
options: [
|
|
1989
|
+
{
|
|
1990
|
+
value: "permanent",
|
|
1991
|
+
label: u("toothScheme.dentition.permanent")
|
|
1992
|
+
},
|
|
1993
|
+
{
|
|
1994
|
+
value: "primary",
|
|
1995
|
+
label: u("toothScheme.dentition.primary")
|
|
1996
|
+
},
|
|
1997
|
+
{
|
|
1998
|
+
value: "mixed",
|
|
1999
|
+
label: u("toothScheme.dentition.mixed")
|
|
2000
|
+
}
|
|
2001
|
+
]
|
|
1968
2002
|
}
|
|
1969
|
-
)
|
|
2003
|
+
),
|
|
1970
2004
|
/* @__PURE__ */ d(
|
|
1971
|
-
|
|
2005
|
+
ot,
|
|
1972
2006
|
{
|
|
1973
|
-
|
|
1974
|
-
|
|
1975
|
-
|
|
1976
|
-
|
|
1977
|
-
|
|
1978
|
-
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
|
|
1983
|
-
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
2004
|
-
|
|
2005
|
-
|
|
2006
|
-
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2012
|
-
|
|
2013
|
-
|
|
2014
|
-
{
|
|
2015
|
-
value: "mixed",
|
|
2016
|
-
label: u("toothScheme.dentition.mixed")
|
|
2017
|
-
}
|
|
2018
|
-
]
|
|
2019
|
-
}
|
|
2020
|
-
),
|
|
2021
|
-
/* @__PURE__ */ d(
|
|
2022
|
-
rt,
|
|
2023
|
-
{
|
|
2024
|
-
container: He,
|
|
2025
|
-
label: u("toothScheme.options.numbering"),
|
|
2026
|
-
value: ue,
|
|
2027
|
-
onValueChange: (e) => lt(e),
|
|
2028
|
-
options: [
|
|
2029
|
-
{
|
|
2030
|
-
value: "fdi",
|
|
2031
|
-
label: u("toothScheme.numbering.fdi")
|
|
2032
|
-
},
|
|
2033
|
-
{
|
|
2034
|
-
value: "universal",
|
|
2035
|
-
label: u("toothScheme.numbering.universal")
|
|
2036
|
-
},
|
|
2037
|
-
{
|
|
2038
|
-
value: "palmer",
|
|
2039
|
-
label: u("toothScheme.numbering.palmer")
|
|
2040
|
-
}
|
|
2041
|
-
]
|
|
2042
|
-
}
|
|
2043
|
-
),
|
|
2044
|
-
/* @__PURE__ */ d(
|
|
2045
|
-
rt,
|
|
2046
|
-
{
|
|
2047
|
-
container: He,
|
|
2048
|
-
label: u("toothScheme.options.view"),
|
|
2049
|
-
value: he,
|
|
2050
|
-
onValueChange: (e) => ut(e),
|
|
2051
|
-
options: [
|
|
2052
|
-
{
|
|
2053
|
-
value: "side",
|
|
2054
|
-
label: u("toothScheme.view.side")
|
|
2055
|
-
},
|
|
2056
|
-
{
|
|
2057
|
-
value: "plan",
|
|
2058
|
-
label: u("toothScheme.view.occlusal")
|
|
2059
|
-
},
|
|
2060
|
-
{
|
|
2061
|
-
value: "both",
|
|
2062
|
-
label: u("toothScheme.view.both")
|
|
2063
|
-
}
|
|
2064
|
-
]
|
|
2065
|
-
}
|
|
2066
|
-
)
|
|
2067
|
-
] })
|
|
2007
|
+
container: Qe,
|
|
2008
|
+
label: u("toothScheme.options.numbering"),
|
|
2009
|
+
value: he,
|
|
2010
|
+
onValueChange: (e) => ut(e),
|
|
2011
|
+
options: [
|
|
2012
|
+
{
|
|
2013
|
+
value: "fdi",
|
|
2014
|
+
label: u("toothScheme.numbering.fdi")
|
|
2015
|
+
},
|
|
2016
|
+
{
|
|
2017
|
+
value: "universal",
|
|
2018
|
+
label: u("toothScheme.numbering.universal")
|
|
2019
|
+
},
|
|
2020
|
+
{
|
|
2021
|
+
value: "palmer",
|
|
2022
|
+
label: u("toothScheme.numbering.palmer")
|
|
2023
|
+
}
|
|
2024
|
+
]
|
|
2025
|
+
}
|
|
2026
|
+
),
|
|
2027
|
+
/* @__PURE__ */ d(
|
|
2028
|
+
ot,
|
|
2029
|
+
{
|
|
2030
|
+
container: Qe,
|
|
2031
|
+
label: u("toothScheme.options.view"),
|
|
2032
|
+
value: pe,
|
|
2033
|
+
onValueChange: (e) => ht(e),
|
|
2034
|
+
options: [
|
|
2035
|
+
{
|
|
2036
|
+
value: "side",
|
|
2037
|
+
label: u("toothScheme.view.side")
|
|
2038
|
+
},
|
|
2039
|
+
{
|
|
2040
|
+
value: "plan",
|
|
2041
|
+
label: u("toothScheme.view.occlusal")
|
|
2042
|
+
},
|
|
2043
|
+
{
|
|
2044
|
+
value: "both",
|
|
2045
|
+
label: u("toothScheme.view.both")
|
|
2046
|
+
}
|
|
2047
|
+
]
|
|
2068
2048
|
}
|
|
2069
2049
|
)
|
|
2070
2050
|
] })
|
|
2071
2051
|
}
|
|
2072
|
-
)
|
|
2073
|
-
|
|
2074
|
-
|
|
2052
|
+
)
|
|
2053
|
+
] })
|
|
2054
|
+
}
|
|
2055
|
+
) : null;
|
|
2056
|
+
return /* @__PURE__ */ d(K.Provider, { delayDuration: 200, children: /* @__PURE__ */ k(
|
|
2057
|
+
"div",
|
|
2058
|
+
{
|
|
2059
|
+
ref: un,
|
|
2060
|
+
role: "region",
|
|
2061
|
+
"aria-label": Be,
|
|
2062
|
+
tabIndex: fn,
|
|
2063
|
+
className: [Jn(), He].filter(Boolean).join(" "),
|
|
2064
|
+
"data-component": "tooth-scheme",
|
|
2065
|
+
"data-component-id": t,
|
|
2066
|
+
"data-testid": "tooth-scheme-root",
|
|
2067
|
+
"data-dentition": j,
|
|
2068
|
+
"data-numbering": he,
|
|
2069
|
+
"data-mode": o,
|
|
2070
|
+
"data-projection": D,
|
|
2071
|
+
"data-view-mode": pe,
|
|
2072
|
+
"data-special-elements": G ? "true" : "false",
|
|
2073
|
+
children: [
|
|
2074
|
+
ne === void 0 ? Ct : ne ? An(Ct, ne) : null,
|
|
2075
|
+
Re ? bn : At,
|
|
2076
|
+
G && (o === "interactive" || $t) ? /* @__PURE__ */ d(
|
|
2075
2077
|
"div",
|
|
2076
2078
|
{
|
|
2077
2079
|
className: "ds:flex ds:w-full ds:items-center ds:pt-[var(--spacing-2xs)]",
|
|
2078
2080
|
"data-testid": "tooth-scheme-general",
|
|
2079
2081
|
children: /* @__PURE__ */ d(
|
|
2080
|
-
|
|
2082
|
+
tt,
|
|
2081
2083
|
{
|
|
2082
2084
|
label: u("toothScheme.special.general"),
|
|
2083
2085
|
labelSide: "end",
|
|
2084
|
-
checked:
|
|
2086
|
+
checked: $t,
|
|
2085
2087
|
disabled: o !== "interactive",
|
|
2086
|
-
onCheckedChange:
|
|
2088
|
+
onCheckedChange: hn
|
|
2087
2089
|
}
|
|
2088
2090
|
)
|
|
2089
2091
|
}
|
|
2090
2092
|
) : null,
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
+
ft ? /* @__PURE__ */ d(dr, { assetBaseUrl: A }) : null,
|
|
2094
|
+
Lt
|
|
2093
2095
|
]
|
|
2094
2096
|
}
|
|
2095
2097
|
) });
|
|
2096
2098
|
}
|
|
2097
2099
|
);
|
|
2098
|
-
|
|
2100
|
+
Ie.displayName = "ToothScheme";
|
|
2099
2101
|
export {
|
|
2100
|
-
|
|
2102
|
+
ke as C,
|
|
2101
2103
|
Q as F,
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
|
|
2112
|
-
|
|
2113
|
-
|
|
2114
|
-
|
|
2115
|
-
|
|
2116
|
-
|
|
2117
|
-
|
|
2118
|
-
|
|
2104
|
+
Ae as P,
|
|
2105
|
+
Vt as S,
|
|
2106
|
+
Ie as T,
|
|
2107
|
+
Un as a,
|
|
2108
|
+
it as b,
|
|
2109
|
+
$r as c,
|
|
2110
|
+
Pn as d,
|
|
2111
|
+
Wn as e,
|
|
2112
|
+
Le as f,
|
|
2113
|
+
Gn as g,
|
|
2114
|
+
Qn as h,
|
|
2115
|
+
Pt as i,
|
|
2116
|
+
Zt as j,
|
|
2117
|
+
kr as k,
|
|
2118
|
+
Ir as l,
|
|
2119
|
+
Vn as m,
|
|
2120
|
+
Wt as n,
|
|
2119
2121
|
Fe as o,
|
|
2120
|
-
|
|
2122
|
+
zn as p,
|
|
2121
2123
|
Ke as q,
|
|
2122
|
-
|
|
2123
|
-
|
|
2124
|
-
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
|
|
2129
|
-
|
|
2124
|
+
Yn as r,
|
|
2125
|
+
Bn as s,
|
|
2126
|
+
Gt as t,
|
|
2127
|
+
Nn as u,
|
|
2128
|
+
Jn as v,
|
|
2129
|
+
jt as w,
|
|
2130
|
+
nt as x,
|
|
2131
|
+
Zn as z
|
|
2130
2132
|
};
|
|
2131
|
-
//# sourceMappingURL=tooth-scheme-
|
|
2133
|
+
//# sourceMappingURL=tooth-scheme-DJZtzfeY.js.map
|