@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.
Files changed (304) hide show
  1. package/dist/_chunks/address-fields-CPbFJ8e8.js +246 -0
  2. package/dist/_chunks/{ai-prompt-input-CuhTo9mh.js → ai-prompt-input-V4DdOeqv.js} +2 -2
  3. package/dist/_chunks/{alia-sidebar-B47qRQb5.js → alia-sidebar-DvIUzIX9.js} +107 -106
  4. package/dist/_chunks/{anatomy-scheme-CJB6dI6p.js → anatomy-scheme-CXSk11UJ.js} +2 -2
  5. package/dist/_chunks/{app-frame-BYx1gcV7.js → app-frame-DIEMIC5V.js} +67 -56
  6. package/dist/_chunks/{appointment-card-C06aZqA7.js → appointment-card-DVaeJNVB.js} +82 -98
  7. package/dist/_chunks/{appointment-timeline-BJM0S_Fg.js → appointment-timeline-PJgnrjFb.js} +159 -157
  8. package/dist/_chunks/{appointment-tray-DRRw5ROi.js → appointment-tray-B16QPGbm.js} +2 -2
  9. package/dist/_chunks/{audio-recorder-Cpdk5qpQ.js → audio-recorder-DNDsOLqO.js} +2 -2
  10. package/dist/_chunks/{autocomplete-DOeGouCL.js → autocomplete-BrONKN8l.js} +168 -146
  11. package/dist/_chunks/{bishop-score-DnYWtZa_.js → bishop-score-Cym_TeQY.js} +2 -2
  12. package/dist/_chunks/{booking-DUBI0oqt.js → booking-C7do4vaR.js} +4 -4
  13. package/dist/_chunks/{button-group-Ciq6J4IW.js → button-group-CvEnVzY7.js} +32 -35
  14. package/dist/_chunks/{care-plan-card-C5sTfY9G.js → care-plan-card-DzPDYgtK.js} +3 -3
  15. package/dist/_chunks/{care-plan-entry-card-CXnxGCWA.js → care-plan-entry-card-CEnQy7YP.js} +3 -3
  16. package/dist/_chunks/care-plan-header-DcXFXWit.js +198 -0
  17. package/dist/_chunks/{chat-message-3V54YipB.js → chat-message-DzpcJR-q.js} +25 -23
  18. package/dist/_chunks/city-input-Dkgaak7I.js +169 -0
  19. package/dist/_chunks/clipboard-list-S7s-MXQq.js +25 -0
  20. package/dist/_chunks/{combobox-Clum7gJ1.js → combobox-DnqSF0IH.js} +131 -114
  21. package/dist/_chunks/connection-status-CY1HV8Wg.js +108 -0
  22. package/dist/_chunks/control-room-rail-FAQZrGVL.js +333 -0
  23. package/dist/_chunks/country-select-BwUZQvTa.js +709 -0
  24. package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +410 -0
  25. package/dist/_chunks/{entity-card-9_62gY7l.js → entity-card-DmrgYSEX.js} +4 -4
  26. package/dist/_chunks/entity-summary-CaM1Y-xE.js +291 -0
  27. package/dist/_chunks/field-array-siUZzfYe.js +146 -0
  28. package/dist/_chunks/{field-value-NXYczdpO.js → field-value-3jMM0uDx.js} +2 -2
  29. package/dist/_chunks/{gestational-age-calculator-CF2ISaYQ.js → gestational-age-calculator-DKzEV5Qi.js} +2 -2
  30. package/dist/_chunks/iban-input-B0TWzR1R.js +436 -0
  31. package/dist/_chunks/icon-picker-0B7KhrF1.js +272 -0
  32. package/dist/_chunks/image-cropper-D9jqJy19.js +367 -0
  33. package/dist/_chunks/{link-cell-renderer-CTXqtXV-.js → link-cell-renderer-De_SLjSq.js} +262 -261
  34. package/dist/_chunks/list-checks-BUs75d_o.js +18 -0
  35. package/dist/_chunks/{marketplace-app-shell-Skhfp6vK.js → marketplace-app-shell-BGqkywsi.js} +3 -3
  36. package/dist/_chunks/message-card-DsHFFiL1.js +319 -0
  37. package/dist/_chunks/{message-tray-DwrBLJlf.js → message-tray-C0a6CL1_.js} +172 -135
  38. package/dist/_chunks/{multi-select-BdHHDrRN.js → multi-select-WE4S9FIF.js} +75 -63
  39. package/dist/_chunks/nav-grid-9xphY3FM.js +169 -0
  40. package/dist/_chunks/notes-panel-DXiMfuvp.js +320 -0
  41. package/dist/_chunks/notification-card-BMqNzCIt.js +290 -0
  42. package/dist/_chunks/{notification-tray-AEun6DN2.js → notification-tray-BmUlCx3g.js} +201 -166
  43. package/dist/_chunks/{operator-hero-CR0Rqh4-.js → operator-hero-BO8TqzX2.js} +2 -2
  44. package/dist/_chunks/panel-header-D313n_9-.js +105 -0
  45. package/dist/_chunks/{patient-details-Dlhqb5ig.js → patient-details-DgfTJimE.js} +280 -196
  46. package/dist/_chunks/{patient-search-Be6cLrHR.js → patient-search-CSWQKOSP.js} +2 -2
  47. package/dist/_chunks/{patient-shell-DV3XEtIB.js → patient-shell-BMwsIKlW.js} +3 -3
  48. package/dist/_chunks/{patient-summary-card-WySCMwwA.js → patient-summary-card-D4NdgYJB.js} +27 -12
  49. package/dist/_chunks/{patient-table-CHxf3Oqk.js → patient-table-CERknpd8.js} +3 -3
  50. package/dist/_chunks/{payment-request-card-BcZJwu9z.js → payment-request-card-Blf-MFNY.js} +2 -2
  51. package/dist/_chunks/permission-matrix-Bw5oexUt.js +174 -0
  52. package/dist/_chunks/position-grid-CcvqHaKN.js +169 -0
  53. package/dist/_chunks/postal-code-input-UCOYuRY2.js +192 -0
  54. package/dist/_chunks/{practice-results-C6qDfxos.js → practice-results-El5Z-oVp.js} +2 -2
  55. package/dist/_chunks/{pregnancy-dating-CRVWswD-.js → pregnancy-dating-CunHrOpO.js} +2 -2
  56. package/dist/_chunks/{product-hub-panel-e6pW220e.js → product-hub-panel-DtU7KXxm.js} +257 -217
  57. package/dist/_chunks/province-select-D_TZvix3.js +261 -0
  58. package/dist/_chunks/{public-header.agent-DqkqA-ca.js → public-header.agent-TxmC_x1I.js} +2 -2
  59. package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +553 -0
  60. package/dist/_chunks/reviews-panel-DxkSrgMl.js +559 -0
  61. package/dist/_chunks/rich-text-editor-C8tyGjfb.js +2621 -0
  62. package/dist/_chunks/{scroll-area-5wNK0Cyz.js → scroll-area-BZOvUhwQ.js} +2 -2
  63. package/dist/_chunks/{select-DMLG44F5.js → select-KsyRr8WH.js} +114 -102
  64. package/dist/_chunks/{sheet-BxsE7eQm.js → sheet-umkfZjF6.js} +53 -42
  65. package/dist/_chunks/{sidebar-DY9jGjgt.js → sidebar-QCp9wHNP.js} +125 -113
  66. package/dist/_chunks/{tabs-BxcOziCo.js → tabs-CYZVKKDl.js} +2 -2
  67. package/dist/_chunks/task-card-DCdsI0ZT.js +189 -0
  68. package/dist/_chunks/{task-tray-qOEQflu4.js → task-tray-DNVejijD.js} +2 -2
  69. package/dist/_chunks/tasks-panel-C9odmawT.js +757 -0
  70. package/dist/_chunks/token-insert-menu-CFQqTe_n.js +147 -0
  71. package/dist/_chunks/{ai-tools-rail-B5NEghsp.js → tool-rail-BZx0-yIr.js} +152 -139
  72. package/dist/_chunks/{tooth-scheme-BhQoPNBD.js → tooth-scheme-DJZtzfeY.js} +470 -468
  73. package/dist/_chunks/{transcript-panel-3THQX6nJ.js → transcript-panel-CHGHHHdT.js} +95 -83
  74. package/dist/_chunks/{unit-converter-YEpD9evj.js → unit-converter-CwlZbfdn.js} +2 -2
  75. package/dist/_chunks/{workflow-map-Dy8mLCqF.js → workflow-map-M8MBBHQm.js} +106 -118
  76. package/dist/agent-catalog.json +2062 -226
  77. package/dist/agent-i18n/en.json +206 -8
  78. package/dist/components/_shared/option.d.ts +2 -0
  79. package/dist/components/_shared/patient-fields.d.ts +1 -1
  80. package/dist/components/address-fields/address-fields.agent.d.ts +9 -0
  81. package/dist/components/address-fields/address-fields.d.ts +29 -0
  82. package/dist/components/address-fields/index.d.ts +5 -0
  83. package/dist/components/address-fields/index.js +6 -0
  84. package/dist/components/ai-prompt-input/index.js +1 -1
  85. package/dist/components/anatomy-scheme/index.js +1 -1
  86. package/dist/components/app-frame/app-frame.d.ts +2 -2
  87. package/dist/components/app-frame/index.js +1 -1
  88. package/dist/components/appointment-card/index.js +2 -2
  89. package/dist/components/appointment-timeline/index.js +1 -1
  90. package/dist/components/audio-recorder/index.js +1 -1
  91. package/dist/components/autocomplete/autocomplete.d.ts +10 -0
  92. package/dist/components/autocomplete/index.js +1 -1
  93. package/dist/components/bishop-score/index.js +1 -1
  94. package/dist/components/booking/index.js +1 -1
  95. package/dist/components/button-group/index.js +1 -1
  96. package/dist/components/care-plan-card/index.js +1 -1
  97. package/dist/components/care-plan-entry-card/index.js +1 -1
  98. package/dist/components/care-plan-header/care-plan-header.d.ts +16 -5
  99. package/dist/components/care-plan-header/index.js +1 -1
  100. package/dist/components/chat-message/index.js +1 -1
  101. package/dist/components/city-input/city-input.agent.d.ts +8 -0
  102. package/dist/components/city-input/city-input.d.ts +57 -0
  103. package/dist/components/city-input/index.d.ts +5 -0
  104. package/dist/components/city-input/index.js +6 -0
  105. package/dist/components/combobox/combobox.d.ts +17 -0
  106. package/dist/components/combobox/index.js +1 -1
  107. package/dist/components/connection-status/connection-status.agent.d.ts +4 -0
  108. package/dist/components/connection-status/connection-status.d.ts +36 -0
  109. package/dist/components/connection-status/index.d.ts +4 -0
  110. package/dist/components/connection-status/index.js +6 -0
  111. package/dist/components/control-room-rail/control-room-context.d.ts +5 -5
  112. package/dist/components/control-room-rail/control-room-rail.agent.d.ts +4 -0
  113. package/dist/components/control-room-rail/control-room-rail.d.ts +5 -5
  114. package/dist/components/control-room-rail/index.d.ts +1 -0
  115. package/dist/components/control-room-rail/index.js +4 -3
  116. package/dist/components/counter/counter.d.ts +1 -1
  117. package/dist/components/country-select/country-select.agent.d.ts +8 -0
  118. package/dist/components/country-select/country-select.d.ts +51 -0
  119. package/dist/components/country-select/index.d.ts +6 -0
  120. package/dist/components/country-select/index.js +9 -0
  121. package/dist/components/country-select/iso-3166.d.ts +15 -0
  122. package/dist/components/data-table/cell-renderers/reorder-cell-renderer.d.ts +34 -0
  123. package/dist/components/data-table/index.d.ts +2 -0
  124. package/dist/components/data-table/index.js +13 -11
  125. package/dist/components/entity-summary/entity-summary.agent.d.ts +4 -0
  126. package/dist/components/entity-summary/entity-summary.d.ts +53 -4
  127. package/dist/components/entity-summary/index.js +1 -1
  128. package/dist/components/field-array/field-array.agent.d.ts +4 -0
  129. package/dist/components/field-array/field-array.d.ts +45 -0
  130. package/dist/components/field-array/index.d.ts +4 -0
  131. package/dist/components/field-array/index.js +6 -0
  132. package/dist/components/freemium-paywall/freemium-paywall.d.ts +1 -1
  133. package/dist/components/gestational-age-calculator/index.js +1 -1
  134. package/dist/components/iban-input/iban-input.agent.d.ts +4 -0
  135. package/dist/components/iban-input/iban-input.d.ts +51 -0
  136. package/dist/components/iban-input/index.d.ts +5 -0
  137. package/dist/components/iban-input/index.js +13 -0
  138. package/dist/components/iban-input/is-valid-iban.d.ts +31 -0
  139. package/dist/components/icon-picker/icon-picker.agent.d.ts +4 -0
  140. package/dist/components/icon-picker/icon-picker.d.ts +41 -0
  141. package/dist/components/icon-picker/index.d.ts +4 -0
  142. package/dist/components/icon-picker/index.js +6 -0
  143. package/dist/components/image-cropper/crop-geometry.d.ts +30 -0
  144. package/dist/components/image-cropper/image-cropper.agent.d.ts +4 -0
  145. package/dist/components/image-cropper/image-cropper.d.ts +32 -0
  146. package/dist/components/image-cropper/index.d.ts +5 -0
  147. package/dist/components/image-cropper/index.js +11 -0
  148. package/dist/components/index.d.ts +16 -1
  149. package/dist/components/message-card/index.js +1 -1
  150. package/dist/components/message-card/message-card.d.ts +14 -0
  151. package/dist/components/message-tray/index.js +1 -1
  152. package/dist/components/message-tray/message-tray.d.ts +4 -0
  153. package/dist/components/multi-select/index.js +1 -1
  154. package/dist/components/nav-grid/index.d.ts +4 -0
  155. package/dist/components/nav-grid/index.js +7 -0
  156. package/dist/components/nav-grid/nav-grid.agent.d.ts +4 -0
  157. package/dist/components/nav-grid/nav-grid.d.ts +41 -0
  158. package/dist/components/notes-panel/index.js +1 -1
  159. package/dist/components/notes-panel/notes-panel.agent.d.ts +4 -0
  160. package/dist/components/notes-panel/notes-panel.d.ts +30 -0
  161. package/dist/components/notification-card/index.js +1 -1
  162. package/dist/components/notification-card/notification-card.d.ts +15 -0
  163. package/dist/components/notification-tray/index.js +1 -1
  164. package/dist/components/notification-tray/notification-tray.d.ts +4 -0
  165. package/dist/components/operator-hero/index.js +1 -1
  166. package/dist/components/panel-header/index.d.ts +3 -0
  167. package/dist/components/panel-header/index.js +7 -0
  168. package/dist/components/panel-header/panel-header.d.ts +41 -0
  169. package/dist/components/patient-details/index.js +1 -1
  170. package/dist/components/patient-search/index.js +1 -1
  171. package/dist/components/patient-summary-card/index.js +1 -1
  172. package/dist/components/patient-table/index.js +1 -1
  173. package/dist/components/payment-card/index.js +1 -1
  174. package/dist/components/permission-matrix/index.d.ts +4 -0
  175. package/dist/components/permission-matrix/index.js +7 -0
  176. package/dist/components/permission-matrix/permission-matrix.agent.d.ts +4 -0
  177. package/dist/components/permission-matrix/permission-matrix.d.ts +47 -0
  178. package/dist/components/position-grid/index.d.ts +4 -0
  179. package/dist/components/position-grid/index.js +7 -0
  180. package/dist/components/position-grid/position-grid.agent.d.ts +4 -0
  181. package/dist/components/position-grid/position-grid.d.ts +39 -0
  182. package/dist/components/postal-code-input/index.d.ts +5 -0
  183. package/dist/components/postal-code-input/index.js +6 -0
  184. package/dist/components/postal-code-input/postal-code-input.agent.d.ts +8 -0
  185. package/dist/components/postal-code-input/postal-code-input.d.ts +27 -0
  186. package/dist/components/practice-results/index.js +1 -1
  187. package/dist/components/pregnancy-dating/index.js +1 -1
  188. package/dist/components/product-hub-tray/index.js +1 -1
  189. package/dist/components/product-hub-tray/product-hub-tray.d.ts +13 -1
  190. package/dist/components/province-select/index.d.ts +6 -0
  191. package/dist/components/province-select/index.js +7 -0
  192. package/dist/components/province-select/it-provinces.d.ts +8 -0
  193. package/dist/components/province-select/province-select.agent.d.ts +8 -0
  194. package/dist/components/province-select/province-select.d.ts +38 -0
  195. package/dist/components/public-footer/public-footer.d.ts +1 -1
  196. package/dist/components/public-header/index.js +1 -1
  197. package/dist/components/radiograph-panel/index.js +1 -1
  198. package/dist/components/reviews-panel/index.js +1 -1
  199. package/dist/components/rich-text-editor/editor-toolbar.d.ts +17 -0
  200. package/dist/components/rich-text-editor/index.js +1 -1
  201. package/dist/components/scroll-area/index.js +1 -1
  202. package/dist/components/select/index.js +1 -1
  203. package/dist/components/select/select.d.ts +8 -2
  204. package/dist/components/sheet/index.js +1 -1
  205. package/dist/components/sidebar/index.js +1 -1
  206. package/dist/components/skeleton/skeleton.d.ts +1 -1
  207. package/dist/components/tabs/index.js +1 -1
  208. package/dist/components/task-card/index.js +1 -1
  209. package/dist/components/task-card/task-card.d.ts +14 -6
  210. package/dist/components/task-tray/index.js +1 -1
  211. package/dist/components/tasks-panel/index.d.ts +4 -0
  212. package/dist/components/tasks-panel/index.js +6 -0
  213. package/dist/components/tasks-panel/tasks-panel.agent.d.ts +4 -0
  214. package/dist/components/tasks-panel/tasks-panel.d.ts +152 -0
  215. package/dist/components/token-insert-menu/index.d.ts +4 -0
  216. package/dist/components/token-insert-menu/index.js +6 -0
  217. package/dist/components/token-insert-menu/token-insert-menu.agent.d.ts +4 -0
  218. package/dist/components/token-insert-menu/token-insert-menu.d.ts +33 -0
  219. package/dist/components/tool-rail/index.d.ts +4 -0
  220. package/dist/components/tool-rail/index.js +6 -0
  221. package/dist/components/tool-rail/tool-rail.agent.d.ts +4 -0
  222. package/dist/components/{ai-tools-rail/ai-tools-rail.d.ts → tool-rail/tool-rail.d.ts} +29 -12
  223. package/dist/components/tooth-scheme/index.js +1 -1
  224. package/dist/components/tooth-scheme/tooth-scheme.d.ts +9 -0
  225. package/dist/components/transcript-panel/index.js +1 -1
  226. package/dist/components/transcript-panel/transcript-panel.d.ts +2 -2
  227. package/dist/components/unit-converter/index.js +1 -1
  228. package/dist/components/workflow/index.js +1 -1
  229. package/dist/hooks/use-edge-resize.d.ts +2 -2
  230. package/dist/i18n/locales/ar.d.ts +167 -2
  231. package/dist/i18n/locales/ar.js +157 -5
  232. package/dist/i18n/locales/de.d.ts +167 -2
  233. package/dist/i18n/locales/de.js +159 -5
  234. package/dist/i18n/locales/el.d.ts +167 -2
  235. package/dist/i18n/locales/el.js +164 -5
  236. package/dist/i18n/locales/en.d.ts +167 -2
  237. package/dist/i18n/locales/en.js +170 -5
  238. package/dist/i18n/locales/es.d.ts +167 -2
  239. package/dist/i18n/locales/es.js +156 -5
  240. package/dist/i18n/locales/fr.d.ts +167 -2
  241. package/dist/i18n/locales/fr.js +159 -5
  242. package/dist/i18n/locales/hi.d.ts +167 -2
  243. package/dist/i18n/locales/hi.js +155 -5
  244. package/dist/i18n/locales/it.d.ts +167 -2
  245. package/dist/i18n/locales/it.js +159 -5
  246. package/dist/i18n/locales/ja.d.ts +167 -2
  247. package/dist/i18n/locales/ja.js +160 -5
  248. package/dist/i18n/locales/nl.d.ts +167 -2
  249. package/dist/i18n/locales/nl.js +152 -5
  250. package/dist/i18n/locales/pl.d.ts +167 -2
  251. package/dist/i18n/locales/pl.js +160 -5
  252. package/dist/i18n/locales/pt.d.ts +167 -2
  253. package/dist/i18n/locales/pt.js +164 -5
  254. package/dist/i18n/locales/ro.d.ts +167 -2
  255. package/dist/i18n/locales/ro.js +164 -5
  256. package/dist/i18n/locales/ru.d.ts +167 -2
  257. package/dist/i18n/locales/ru.js +157 -5
  258. package/dist/i18n/locales/sq.d.ts +167 -2
  259. package/dist/i18n/locales/sq.js +161 -5
  260. package/dist/i18n/locales/sv.d.ts +167 -2
  261. package/dist/i18n/locales/sv.js +159 -5
  262. package/dist/i18n/locales/tr.d.ts +167 -2
  263. package/dist/i18n/locales/tr.js +157 -5
  264. package/dist/i18n/locales/zh.d.ts +167 -2
  265. package/dist/i18n/locales/zh.js +152 -5
  266. package/dist/index.js +823 -755
  267. package/dist/locales/ar.json +170 -5
  268. package/dist/locales/de.json +170 -5
  269. package/dist/locales/el.json +170 -5
  270. package/dist/locales/en.json +170 -5
  271. package/dist/locales/es.json +170 -5
  272. package/dist/locales/fr.json +170 -5
  273. package/dist/locales/hi.json +170 -5
  274. package/dist/locales/it.json +170 -5
  275. package/dist/locales/ja.json +170 -5
  276. package/dist/locales/nl.json +170 -5
  277. package/dist/locales/pl.json +170 -5
  278. package/dist/locales/pt.json +170 -5
  279. package/dist/locales/ro.json +170 -5
  280. package/dist/locales/ru.json +170 -5
  281. package/dist/locales/sq.json +170 -5
  282. package/dist/locales/sv.json +170 -5
  283. package/dist/locales/tr.json +170 -5
  284. package/dist/locales/zh.json +170 -5
  285. package/dist/patterns/alia-assistant/alia-types.d.ts +9 -0
  286. package/dist/patterns/alia-assistant/index.js +1 -1
  287. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  288. package/dist/patterns/patient-shell/index.js +1 -1
  289. package/dist/tokens.css +9 -1
  290. package/package.json +65 -5
  291. package/dist/_chunks/care-plan-header-BUwqDTtz.js +0 -206
  292. package/dist/_chunks/control-room-rail-Y8ryLYsP.js +0 -229
  293. package/dist/_chunks/editable-currency-cell-renderer-C9twtALM.js +0 -328
  294. package/dist/_chunks/entity-summary-BxRjFh_4.js +0 -138
  295. package/dist/_chunks/message-card-Bx4GmLvf.js +0 -277
  296. package/dist/_chunks/notes-panel-ay8_lPrA.js +0 -158
  297. package/dist/_chunks/notification-card-D2jiKSJJ.js +0 -259
  298. package/dist/_chunks/radiograph-panel.agent-CAX-C3g3.js +0 -558
  299. package/dist/_chunks/reviews-panel-Dq7LMDcH.js +0 -555
  300. package/dist/_chunks/rich-text-editor-DlCqPixb.js +0 -2158
  301. package/dist/_chunks/task-card-BwY9jaV1.js +0 -124
  302. package/dist/components/ai-tools-rail/ai-tools-rail.agent.d.ts +0 -4
  303. package/dist/components/ai-tools-rail/index.d.ts +0 -4
  304. package/dist/components/ai-tools-rail/index.js +0 -6
@@ -1,15 +1,16 @@
1
- import { jsxs as k, jsx as d, Fragment as Sn } from "react/jsx-runtime";
2
- import { forwardRef as $n, useState as Z, useRef as qe, useEffect as xe, useMemo as Se, useCallback as O, useImperativeHandle as In } from "react";
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 ne } from "./index-D2ZczOXr.js";
5
- import { useTranslation as Qt } from "react-i18next";
6
- import { u as kn } from "./registry-DvAUVLHh.js";
7
- import { I as Tn } from "./icon-button-LqoiKcUN.js";
8
- import { P as Je } from "./popover-B2qCDhJC.js";
9
- import { S as An } from "./select-DMLG44F5.js";
10
- import { S as et } from "./switch-OILsBLWo.js";
11
- import { S as Ln } from "./settings-ca2Yi9R8.js";
12
- const ee = {
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
- }, Cn = {
30
+ }, Mn = {
30
31
  enum: ["mesial", "distal", "occlusal", "buccal", "lingual"]
31
- }, Rn = {
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
- }, En = {
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: ee },
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: ee },
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: ee },
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: ee },
137
+ properties: { id: J },
137
138
  required: ["id"]
138
139
  },
139
140
  returns: "Radiograph[]",
140
- returnsSchema: { type: "array", items: Rn },
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: ee },
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: ee,
168
+ id: J,
168
169
  condition: je,
169
- surfaces: { type: "array", items: Cn }
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: ee, condition: je },
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: ee },
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
- }, Te = [
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
- ], Ae = [
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 Mn(t) {
283
+ function _n(t) {
283
284
  return t <= 2 ? "incisor" : t === 3 ? "canine" : t <= 5 ? "premolar" : "molar";
284
285
  }
285
- function Dn(t) {
286
+ function On(t) {
286
287
  return t <= 2 ? "incisor" : t === 3 ? "canine" : "molar";
287
288
  }
288
- function Nn(t, n) {
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 _n(t, n) {
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 On(t, n) {
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 qn(t) {
328
- const n = Number(t[0]), i = Number(t[1]), o = n >= 5, l = o ? Dn(i) : Mn(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 ? On(n, i) : _n(n, i), w = Nn(n, i);
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
- ...Te,
343
- ...Ae
344
- ].reduce((t, n) => (t[n] = qn(n), t), {}), jn = Object.fromEntries(
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
- ), Kn = Object.fromEntries(
347
+ ), Pn = Object.fromEntries(
347
348
  Object.entries(Q).map(([t, n]) => [t, n.palmer])
348
349
  );
349
- function at(t) {
350
+ function st(t) {
350
351
  return t.dentition !== "primary" ? t.fdi : `${t.quadrant - 4}${t.positionInQuadrant}`;
351
352
  }
352
- const Fn = 0.72, yr = {
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
- }, Ie = {
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
- }, ot = {
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 Ut(t, n, i) {
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 = at(t);
390
+ const v = st(t);
390
391
  return i.resolve === "rct" ? `${l}/${v}/full.webp` : `${l}/${v}.webp`;
391
392
  }
392
- const Wn = {
393
+ const Qn = {
393
394
  mesial: "mesial",
394
395
  distal: "distal",
395
396
  occlusal: "occlusal",
396
397
  buccal: "vestibular",
397
398
  lingual: "oral"
398
- }, Pn = {
399
+ }, Un = {
399
400
  caries: "caries",
400
401
  filled: "filling"
401
402
  };
402
- function Hn(t, n, i, o) {
403
+ function Yn(t, n, i, o) {
403
404
  const l = t.arch === "upper" ? "top" : "bottom";
404
- return `${n}/plan/${i}/${l}/${at(t)}-${Wn[o]}.webp`;
405
+ return `${n}/plan/${i}/${l}/${st(t)}-${Qn[o]}.webp`;
405
406
  }
406
- function tt(t) {
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 Ot(t, n) {
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 qt = (t) => Math.round(t * 100) / 100;
417
- function Qn(t, n, i) {
418
- const { x: o, y: l, w: v, h: m } = n, S = o + v, w = l + m, a = (p, A) => `${qt(p)} ${qt(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 ke = 5, it = 40, L = 4, z = 36, Yt = 62;
451
- function Zt(t, n, i = "default", o = "side") {
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}/${at(t)}.webp`;
454
+ return `${n}/${o}/${i}/${l}/${st(t)}.webp`;
454
455
  }
455
- function Un(t, n = Yt, i = {}) {
456
- const o = t === "primary" ? Ae : t === "mixed" ? [...Te, ...Ae] : Te, l = [], v = [];
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 + ke, S = Math.max(l.length, v.length), w = S > 0 ? S * m - ke : 0;
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 - ke : 0, q = (w - ie) / 2;
462
- return p.map((Le, Pe) => {
463
- const G = Q[Le];
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: Le,
466
- meta: G,
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 + it), F = w > 0 ? w : S * m, R = n * 2 + it;
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) => [...Te, ...Ae].filter(
480
+ const C = (t) => [...Ae, ...Le].filter(
480
481
  (n) => Q[n].quadrant === t
481
- ), st = [
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: Te,
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
- ], ct = [
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: Ae,
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
- ], Yn = [
798
- ...st,
799
- ...ct
800
- ], zt = Yn.reduce((t, n) => (t[n.id] = n, t), {});
801
- function Zn(t) {
802
- return t in zt;
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" ? ct : st).filter(
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 wr(t) {
810
- return (t === "primary" ? ct : st).find((i) => i.kind === "general");
810
+ function Ir(t) {
811
+ return (t === "primary" ? dt : ct).find((i) => i.kind === "general");
811
812
  }
812
- const te = 36;
813
- function zn(t, n) {
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 Gn = 8, jt = te + ke;
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 + Gn, o = t.map((m) => ({
821
+ const i = n + Xn, o = t.map((m) => ({
821
822
  element: m,
822
- x: i + m.column * jt,
823
+ x: i + m.column * Ft,
823
824
  y: 0
824
- })), l = Math.max(...t.map((m) => m.column)), v = i + (l + 1) * jt - ke;
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 Kt(t, n) {
828
+ function Wt(t, n) {
828
829
  switch (n) {
829
830
  case "universal":
830
- return jn[t] ?? t;
831
+ return Wn[t] ?? t;
831
832
  case "palmer":
832
- return Kn[t] ?? t;
833
+ return Pn[t] ?? t;
833
834
  case "fdi":
834
835
  default:
835
836
  return t;
836
837
  }
837
838
  }
838
- function xr() {
839
+ function kr() {
839
840
  return {};
840
841
  }
841
- function Ft(t) {
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 Vn = ne(
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
- ), Bn = ne(["ds:flex ds:flex-col ds:gap-0"].join(" ")), Xn = ne(
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
- ), Wt = ne(
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
- ), Jn = ne(
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
- ), er = ne(
887
+ ), rr = te(
887
888
  ["ds:inline-flex ds:items-center", "ds:gap-[var(--spacing-xs)]"].join(" ")
888
- ), tr = ne(["ds:sr-only"].join(" ")), nr = ne(
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 nt(t) {
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 Pt(t, n) {
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 Ht(t, n) {
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 rr(t, n, i) {
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 or = [
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 ir({
953
+ function cr({
953
954
  condition: t,
954
955
  assetBaseUrl: n
955
956
  }) {
956
- const i = Q[16], o = ot[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
+ 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: Zt(i, n),
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: Ut(i, n, o),
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: Ie[t],
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: Ie.missing,
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 ar({ assetBaseUrl: t }) {
1017
- const { t: n } = Qt();
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: Jn(), children: or.map((i) => /* @__PURE__ */ k(
1027
+ /* @__PURE__ */ d("ul", { className: nr(), children: sr.map((i) => /* @__PURE__ */ k(
1027
1028
  "li",
1028
1029
  {
1029
- className: er(),
1030
+ className: rr(),
1030
1031
  "data-condition": i,
1031
1032
  "data-testid": `tooth-scheme-legend-item-${i}`,
1032
1033
  children: [
1033
- /* @__PURE__ */ d(ir, { condition: i, assetBaseUrl: t }),
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 rt({
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
- An,
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 sr(t, n) {
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 $e = $n(
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
- ariaLabel: Le,
1096
- className: Pe,
1097
- _arch: G,
1098
- _numbersPosition: le = "between",
1096
+ controlsContainer: ne,
1097
+ ariaLabel: Pe,
1098
+ className: He,
1099
+ _arch: ae,
1100
+ _numbersPosition: ue = "between",
1099
1101
  _inner: Ce = !1,
1100
- _contentWidth: Gt
1101
- }, Vt) => {
1102
- var Lt;
1103
- const { t: u } = Qt(), [Bt, dt] = Z(n), [Xt, lt] = Z(i), [Jt, ut] = Z(l), [en, ht] = Z(ie), [tn, pt] = Z(
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
- ), [He, nn] = Z(null), j = q ? Bt : n, ue = q ? Xt : i, mt = q ? en : ie, he = q ? Jt : l, D = he === "plan" ? "plan" : "side", Re = he === "both" && !Ce, ft = he === "both", V = q ? tn ?? ft : v ?? ft, gt = qe(q);
1106
- xe(() => {
1107
- q && !gt.current && (dt(n), lt(i), ut(l), ht(ie), pt(v)), gt.current = 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 [rn, bt] = Z(() => m !== void 0 ? m : S !== void 0 ? S : M ? Ft(M) : {}), f = nt({ value: m }) ? m : rn;
1117
- xe(() => {
1118
- nt({ value: m }) || M !== void 0 && bt(Ft(M));
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 : Yt, N = Se(
1121
- () => Un(j, I, G ? { arch: G } : {}),
1122
- [j, I, G]
1123
- ), pe = Se(() => {
1124
- if (!V) return [];
1125
- if (G)
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, G, D),
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 + it, s = Fe(
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
- }, [V, G, j, D, N.width, I]), on = Se(() => {
1140
+ }, [G, ae, j, D, N.width, I]), sn = $e(() => {
1139
1141
  if (!Re) return;
1140
- if (!V) return N.width;
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, V, j, N.width]), re = Se(
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" ? pe.map((e) => e.element.id) : []
1159
+ ...o === "interactive" ? me.map((e) => e.element.id) : []
1158
1160
  ],
1159
- [N, pe, o]
1160
- ), Qe = re[0], [me, B] = Z(Qe);
1161
- xe(() => {
1162
- (!me || !re.includes(me)) && B(Qe);
1163
- }, [Qe, me, re]);
1164
- const [an, fe] = Z(""), Ue = qe(null), _ = O(
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
- nt({ value: m }) || bt(e), w == null || w(e);
1168
+ rt({ value: m }) || vt(e), w == null || w(e);
1167
1169
  },
1168
1170
  [w, m]
1169
1171
  ), W = O((e) => {
1170
- const r = Ue.current;
1172
+ const r = Ye.current;
1171
1173
  if (!r) return;
1172
1174
  const s = r.querySelector(`g[data-fdi="${e}"]`);
1173
- s && (s.focus(), B(e));
1174
- }, []), ae = O(
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 (Zn(e)) {
1178
- const c = Ht(zt[e], u);
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, ge] = Z(null);
1188
- xe(() => {
1189
- (!U || E && !re.includes(E.fdi)) && ge(null);
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 vt = O((e, r) => {
1193
+ const yt = O((e, r) => {
1192
1194
  var c;
1193
- const s = (c = Ue.current) == null ? void 0 : c.querySelector(
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
- }, []), Ye = qe(null);
1198
- xe(() => {
1199
- E ? vt(E.fdi, E.zone) : Ye.current && W(Ye.current.fdi), Ye.current = E;
1200
- }, [E, vt, W]);
1201
- const sn = O(
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
- ), yt = O(
1209
+ ), wt = O(
1208
1210
  (e, r) => {
1209
- r && r.conditions.length > 0 ? fe(
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
- ) : fe(u("toothScheme.deselected", { id: e }));
1216
+ ) : ge(u("toothScheme.deselected", { id: e }));
1215
1217
  },
1216
1218
  [u]
1217
- ), Ze = O(
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), yt(e, y[e]), a == null || a(e);
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
- yt,
1233
+ wt,
1232
1234
  a
1233
1235
  ]
1234
- ), ze = O((e) => {
1236
+ ), Ge = O((e) => {
1235
1237
  const r = Q[e];
1236
- r && (B(e), ge({ fdi: e, zone: tt(r)[0] }));
1237
- }, []), cn = O(
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 = tt(c).includes("center"), T = rr(s, e.key, g);
1248
- T !== s && ge({ fdi: r, zone: T });
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(), Ze(r, Ot(c, s));
1255
+ e.preventDefault(), e.stopPropagation(), ze(r, jt(c, s));
1254
1256
  return;
1255
1257
  }
1256
1258
  case "Escape": {
1257
- e.preventDefault(), e.stopPropagation(), ge(null);
1259
+ e.preventDefault(), e.stopPropagation(), be(null);
1258
1260
  return;
1259
1261
  }
1260
1262
  default:
1261
1263
  return;
1262
1264
  }
1263
1265
  },
1264
- [Ze]
1265
- ), dn = qe(null), Ee = o === "display" && typeof R == "function", be = o === "interactive" || Ee, ve = O(
1266
+ [ze]
1267
+ ), un = qe(null), Ee = o === "display" && typeof R == "function", ve = o === "interactive" || Ee, ye = O(
1266
1268
  (e) => {
1267
- B(e), a == null || a(e), R == null || R(e);
1269
+ V(e), a == null || a(e), R == null || R(e);
1268
1270
  },
1269
1271
  [a, R]
1270
- ), Ge = Se(
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), ve(e);
1315
+ W(e), ye(e);
1314
1316
  }
1315
1317
  }),
1316
- [f, _, W, $, ve]
1318
+ [f, _, W, $, ye]
1317
1319
  );
1318
- In(Vt, () => Ge, [Ge]), kn(
1319
- En,
1320
- Ge,
1320
+ Tn(Xt, () => Ve, [Ve]), Ln(
1321
+ Nn,
1322
+ Ve,
1321
1323
  Ce ? void 0 : t
1322
1324
  );
1323
- const wt = O(
1325
+ const xt = O(
1324
1326
  (e, r) => {
1325
1327
  var T;
1326
- if (!be) return;
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
- ve(r);
1386
+ ye(r);
1385
1387
  return;
1386
1388
  }
1387
1389
  if (U && s) {
1388
- ze(r);
1390
+ Ge(r);
1389
1391
  return;
1390
1392
  }
1391
- const h = (T = f[r]) == null ? void 0 : T.conditions, x = Pt(h, p), y = { ...f };
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
- }, fe(ae(r, x)), _(y), a == null || a(r);
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
- ae,
1406
+ se,
1405
1407
  f,
1406
1408
  _,
1407
- ze,
1409
+ Ge,
1408
1410
  W,
1409
- ve,
1411
+ ye,
1410
1412
  a,
1411
1413
  Ee,
1412
1414
  U,
1413
- be,
1415
+ ve,
1414
1416
  re
1415
1417
  ]
1416
- ), xt = O(
1418
+ ), St = O(
1417
1419
  (e) => {
1418
1420
  var g;
1419
1421
  if (o !== "interactive") return;
1420
- B(e);
1421
- const r = (g = f[e]) == null ? void 0 : g.conditions, s = Pt(r, p), c = { ...f };
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
- }, fe(ae(e, s)), _(c), a == null || a(e);
1427
+ }, ge(se(e, s)), _(c), a == null || a(e);
1426
1428
  },
1427
- [p, ae, f, _, o, a]
1428
- ), oe = j === "primary" ? "mGeneral" : "general", St = (((Lt = f[oe]) == null ? void 0 : Lt.conditions.length) ?? 0) > 0, ln = O(
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], fe(
1436
- ae(oe, ((s = r[oe]) == null ? void 0 : s.conditions) ?? [])
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
- ae,
1443
+ se,
1442
1444
  f,
1443
1445
  _,
1444
1446
  oe,
1445
1447
  a
1446
1448
  ]
1447
- ), $t = le === "above" ? 16 : 2, un = le === "below" ? 16 : 2, hn = pe.length > 0 ? Math.max(...pe.map((e) => e.x)) + te : 0, It = Math.max(
1448
- Gt ?? 0,
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
- hn
1451
- ) + 4, kt = N.height + $t + un, Ve = Le ?? u("toothScheme.ariaLabel"), pn = be ? void 0 : 0, Tt = Re ? null : /* @__PURE__ */ k(
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: Ue,
1455
- viewBox: `0 ${-$t} ${It} ${kt}`,
1456
- width: It,
1457
- height: kt,
1458
- className: Xn(),
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": Ve,
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 _t;
1467
- const r = f[e.fdi], s = (_t = r == null ? void 0 : r.conditions) == null ? void 0 : _t[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(sr)[0] : void 0, Y = F === "thumbnail" && y !== void 0, Ne = x ? `, ${u("toothScheme.radiographBadge", { count: h })}` : "", X = Ce ? `, ${u(D === "plan" ? "toothScheme.view.occlusal" : "toothScheme.view.side")}` : "", Be = u("toothScheme.toothLabel", {
1468
- id: Kt(e.fdi, ue),
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 + X, _e = be ? E ? -1 : e.fdi === me ? 0 : -1 : void 0, se = (r == null ? void 0 : r.conditions) ?? [], Ct = se.includes("missing"), gn = se.map((b) => ({
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: ot[b]
1475
+ spec: it[b]
1474
1476
  })).filter(
1475
1477
  (b) => !!b.spec
1476
- ), Xe = se.find(
1477
- (b) => b !== "missing" && !ot[b]
1478
- ), Rt = Xe ? Ie[Xe] : void 0, bn = (s ? `${c} · ${u(`toothScheme.condition.${s}`)}` : c) + (x ? ` · ${u("toothScheme.radiographBadge", { count: h })}` : ""), Et = Kt(e.fdi, ue), vn = Zt(
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
- ), yn = Y && y ? y.thumbnailUrl ?? y.url : vn, wn = D === "plan" ? se.flatMap((b) => {
1484
- const H = Pn[b];
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: Hn(
1489
+ url: Yn(
1488
1490
  e.meta,
1489
1491
  A,
1490
1492
  H,
1491
1493
  Oe
1492
1494
  )
1493
1495
  })) : [];
1494
- }) : [], Mt = (e.meta.dentition === "primary" ? Fn : 1) * 0.9, ce = z * Mt, de = I * Mt, ye = (z - ce) / 2, we = (I - de) / 2, P = U && (E == null ? void 0 : E.fdi) === e.fdi, Dt = U ? tt(e.meta) : [], xn = Dt.includes("center"), Nt = le === "above" ? -4 : le === "below" ? I + 12 : le === "none" ? null : e.meta.arch === "upper" ? I + 12 : -4;
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" : be ? "button" : "img",
1509
- "aria-label": Be,
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: Wt(),
1512
- onClick: P ? void 0 : o === "interactive" ? U ? () => ze(e.fdi) : () => xt(e.fdi) : Ee ? () => ve(e.fdi) : void 0,
1513
- onFocus: () => B(e.fdi),
1514
- onKeyDown: P ? void 0 : (b) => wt(b, e.fdi),
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: yn,
1530
- x: ye,
1531
- y: we,
1532
- width: ce,
1533
- height: de,
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: Ct && !Y ? 0.25 : 1,
1537
+ opacity: Et && !Y ? 0.25 : 1,
1536
1538
  "aria-hidden": "true"
1537
1539
  }
1538
1540
  ),
1539
- D === "side" ? gn.map(({ condition: b, spec: H }) => /* @__PURE__ */ d(
1541
+ D === "side" ? vn.map(({ condition: b, spec: H }) => /* @__PURE__ */ d(
1540
1542
  "image",
1541
1543
  {
1542
- href: Ut(
1544
+ href: Zt(
1543
1545
  e.meta,
1544
1546
  A,
1545
1547
  H
1546
1548
  ),
1547
- x: ye,
1548
- y: we,
1549
- width: ce,
1550
- height: de,
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" ? wn.map(({ key: b, url: H }) => /* @__PURE__ */ d(
1559
+ D === "plan" ? Sn.map(({ key: b, url: H }) => /* @__PURE__ */ d(
1558
1560
  "image",
1559
1561
  {
1560
1562
  href: H,
1561
- x: ye,
1562
- y: we,
1563
- width: ce,
1564
- height: de,
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 ? Dt.map((b) => {
1572
- const H = Ot(e.meta, b), Oe = sn(e.fdi, 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: Qn(
1578
+ d: Zn(
1577
1579
  b,
1578
- { x: ye, y: we, w: ce, h: de },
1579
- xn
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: Et,
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: nr(),
1597
- onClick: (J) => {
1598
- J.stopPropagation(), P || B(e.fdi), Ze(e.fdi, H);
1598
+ className: ir(),
1599
+ onClick: (X) => {
1600
+ X.stopPropagation(), P || V(e.fdi), ze(e.fdi, H);
1599
1601
  },
1600
- onKeyDown: P ? (J) => cn(J, e.fdi, b) : void 0,
1601
- onFocus: P ? () => ge(
1602
- (J) => J && J.fdi === e.fdi && J.zone === b ? J : { fdi: e.fdi, zone: b }
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" && Rt ? /* @__PURE__ */ d(
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: Rt,
1618
+ stroke: Mt,
1617
1619
  strokeWidth: "2",
1618
- strokeDasharray: Xe === "filled" ? "4 2" : void 0,
1620
+ strokeDasharray: Je === "filled" ? "4 2" : void 0,
1619
1621
  rx: "6",
1620
1622
  pointerEvents: "none"
1621
1623
  }
1622
1624
  ) : null,
1623
- Ct ? /* @__PURE__ */ d(
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: Ie.missing,
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: ye,
1637
- y: we,
1638
- width: ce,
1639
- height: de,
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
- Nt !== null ? /* @__PURE__ */ d(
1705
+ Ot !== null ? /* @__PURE__ */ d(
1704
1706
  "text",
1705
1707
  {
1706
1708
  x: z / 2,
1707
- y: Nt,
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: Et
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
- bn,
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
- pe.map(({ element: e, x: r, y: s }) => {
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 = Ht(e, u), x = g ? `, ${u(`toothScheme.condition.${g}`)}` : "", y = u("toothScheme.elementLabel", {
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 ? Ie[g] : void 0, Ne = zn(e, A), X = o === "interactive", Be = X ? e.id === me ? 0 : -1 : void 0;
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: Be,
1750
- role: X ? "button" : "img",
1751
+ tabIndex: Xe,
1752
+ role: B ? "button" : "img",
1751
1753
  "aria-label": y,
1752
- "aria-pressed": X ? T : void 0,
1753
- className: Wt(),
1754
- onClick: X ? () => xt(e.id) : void 0,
1755
- onFocus: X ? () => B(e.id) : void 0,
1756
- onKeyDown: X ? (se) => wt(se, e.id) : void 0,
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: te + L * 2,
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: te,
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(Sn, { children: [
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: te - 6,
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: te / 2,
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: te / 2,
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: te + L * 2,
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
- ), At = /* @__PURE__ */ d(
1866
+ ), Lt = /* @__PURE__ */ d(
1865
1867
  "div",
1866
1868
  {
1867
- className: tr(),
1869
+ className: or(),
1868
1870
  "aria-live": "polite",
1869
1871
  "aria-atomic": "true",
1870
1872
  "data-testid": "tooth-scheme-live",
1871
- children: an
1873
+ children: cn
1872
1874
  }
1873
1875
  );
1874
1876
  if (Ce)
1875
1877
  return /* @__PURE__ */ k(K.Provider, { delayDuration: 200, children: [
1876
- Tt,
1877
- At
1878
+ At,
1879
+ Lt
1878
1880
  ] });
1879
- const mn = (e) => u(e === "upper" ? "toothScheme.arch.upper" : "toothScheme.arch.lower"), Me = (e, r) => `${Ve} — ${mn(e)}, ${u(r === "plan" ? "toothScheme.view.occlusal" : "toothScheme.view.side")}`, De = {
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: ue,
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: V,
1893
+ specialElements: G,
1892
1894
  _inner: !0,
1893
- _contentWidth: on
1894
- }, fn = /* @__PURE__ */ k("div", { className: Bn(), "data-testid": "tooth-scheme-both", children: [
1895
+ _contentWidth: sn
1896
+ }, bn = /* @__PURE__ */ k("div", { className: er(), "data-testid": "tooth-scheme-both", children: [
1895
1897
  /* @__PURE__ */ d(
1896
- $e,
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
- $e,
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
- $e,
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
- $e,
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
- ref: dn,
1940
- role: "region",
1941
- "aria-label": Ve,
1942
- tabIndex: pn,
1943
- className: [Vn(), Pe].filter(Boolean).join(" "),
1944
- "data-component": "tooth-scheme",
1945
- "data-component-id": t,
1946
- "data-testid": "tooth-scheme-root",
1947
- "data-dentition": j,
1948
- "data-numbering": ue,
1949
- "data-mode": o,
1950
- "data-projection": D,
1951
- "data-view-mode": he,
1952
- "data-special-elements": V ? "true" : "false",
1953
- children: [
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
- className: "ds:flex ds:w-full ds:justify-end",
1958
- "data-testid": "tooth-scheme-controls",
1959
- children: /* @__PURE__ */ k(Je.Root, { children: [
1960
- /* @__PURE__ */ d(Je.Trigger, { asChild: !0, children: /* @__PURE__ */ d(
1961
- Tn,
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
- size: "sm",
1964
- intent: "outline",
1965
- icon: /* @__PURE__ */ d(Ln, { "aria-hidden": "true" }),
1966
- "aria-label": u("toothScheme.options.label"),
1967
- tooltip: u("toothScheme.options.label")
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
- Je.Content,
2005
+ ot,
1972
2006
  {
1973
- ref: nn,
1974
- align: "end",
1975
- size: "md",
1976
- "aria-label": u("toothScheme.options.label"),
1977
- 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: [
1978
- /* @__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: [
1979
- /* @__PURE__ */ d(
1980
- et,
1981
- {
1982
- label: u("toothScheme.options.legend"),
1983
- labelSide: "start",
1984
- checked: mt,
1985
- onCheckedChange: ht
1986
- }
1987
- ),
1988
- /* @__PURE__ */ d(
1989
- et,
1990
- {
1991
- label: u("toothScheme.options.specialElements"),
1992
- labelSide: "start",
1993
- checked: V,
1994
- onCheckedChange: pt
1995
- }
1996
- )
1997
- ] }),
1998
- /* @__PURE__ */ d(
1999
- rt,
2000
- {
2001
- container: He,
2002
- label: u("toothScheme.options.dentition"),
2003
- value: j,
2004
- onValueChange: (e) => dt(e),
2005
- options: [
2006
- {
2007
- value: "permanent",
2008
- label: u("toothScheme.dentition.permanent")
2009
- },
2010
- {
2011
- value: "primary",
2012
- label: u("toothScheme.dentition.primary")
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
- ) : null,
2073
- Re ? fn : Tt,
2074
- V && (o === "interactive" || St) ? /* @__PURE__ */ d(
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
- et,
2082
+ tt,
2081
2083
  {
2082
2084
  label: u("toothScheme.special.general"),
2083
2085
  labelSide: "end",
2084
- checked: St,
2086
+ checked: $t,
2085
2087
  disabled: o !== "interactive",
2086
- onCheckedChange: ln
2088
+ onCheckedChange: hn
2087
2089
  }
2088
2090
  )
2089
2091
  }
2090
2092
  ) : null,
2091
- mt ? /* @__PURE__ */ d(ar, { assetBaseUrl: A }) : null,
2092
- At
2093
+ ft ? /* @__PURE__ */ d(dr, { assetBaseUrl: A }) : null,
2094
+ Lt
2093
2095
  ]
2094
2096
  }
2095
2097
  ) });
2096
2098
  }
2097
2099
  );
2098
- $e.displayName = "ToothScheme";
2100
+ Ie.displayName = "ToothScheme";
2099
2101
  export {
2100
- Ie as C,
2102
+ ke as C,
2101
2103
  Q as F,
2102
- Te as P,
2103
- zt as S,
2104
- $e as T,
2105
- Pn as a,
2106
- ot as b,
2107
- yr as c,
2108
- Kn as d,
2109
- jn as e,
2110
- Ae as f,
2111
- Yn as g,
2112
- Wn as h,
2113
- Ft as i,
2114
- Ut as j,
2115
- xr as k,
2116
- wr as l,
2117
- Zn as m,
2118
- Kt as n,
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
- Un as p,
2122
+ zn as p,
2121
2123
  Ke as q,
2122
- Hn as r,
2123
- zn as s,
2124
- Zt as t,
2125
- En as u,
2126
- Vn as v,
2127
- Ot as w,
2128
- tt as x,
2129
- Qn as z
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-BhQoPNBD.js.map
2133
+ //# sourceMappingURL=tooth-scheme-DJZtzfeY.js.map