@alfadocs/ui-kit 1.66.0 → 1.68.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-CJtu7LQU.js → address-fields-BUPRs3n-.js} +3 -3
- package/dist/_chunks/{agenda-card-DR9gDdKp.js → agenda-card-BDuvreCe.js} +2 -2
- package/dist/_chunks/{agenda-tray-DGB1Zup-.js → agenda-tray-CfwylhWf.js} +3 -3
- package/dist/_chunks/ai-credits-exhausted-notice-Bg8NpW2K.js +287 -0
- package/dist/_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js +43 -0
- package/dist/_chunks/ai-credits-notice-DQ-r3iQU.js +191 -0
- package/dist/_chunks/{ai-permission-notice-DpRmZ9Q3.js → ai-permission-notice-C00i6VhY.js} +2 -2
- package/dist/_chunks/{ai-prompt-input-DSGSe4LH.js → ai-prompt-input-DzgyoKyk.js} +141 -139
- package/dist/_chunks/{alert-DdDpOi-P.js → alert-9kEwDza3.js} +122 -111
- package/dist/_chunks/{alia-sidebar-qe0quZkB.js → alia-sidebar-B06ZSOaF.js} +3 -3
- package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js → anamnesis-summary-card-DQ3iE1gD.js} +2 -2
- package/dist/_chunks/{anamnesis-summary-rows-BIfw890v.js → anamnesis-summary-rows-CNK0fIJk.js} +392 -388
- package/dist/_chunks/{appointment-card-CL32sux-.js → appointment-card-5JMWi9_f.js} +2 -2
- package/dist/_chunks/{appointment-peek-B5mcDcXt.js → appointment-peek-D5XCfYKu.js} +2 -2
- package/dist/_chunks/{appointment-timeline-CCqjORFb.js → appointment-timeline-VFP6HoXT.js} +4 -4
- package/dist/_chunks/{appointment-tray-qtpJt8e0.js → appointment-tray-B3PDER3I.js} +3 -3
- package/dist/_chunks/{audio-recorder-DR-u1qbl.js → audio-recorder-4Ll0pwYK.js} +3 -3
- package/dist/_chunks/{auth-form-parts-Cmb41LSQ.js → auth-form-parts-B40zvD-a.js} +2 -2
- package/dist/_chunks/avatar-BPiPL7ND.js +199 -0
- package/dist/_chunks/{balance-badge-cell-DZNthHO1.js → balance-badge-cell-BG3DMly4.js} +4 -4
- package/dist/_chunks/{bishop-score-CaNTrikJ.js → bishop-score-Df8nF1qg.js} +2 -2
- package/dist/_chunks/{booking-DkjatiXc.js → booking-B1pDbERi.js} +377 -335
- package/dist/_chunks/{calendar-BhN-jisv.js → calendar-BvOM8rG3.js} +2 -2
- package/dist/_chunks/{calendar-workspace-Cp8yTZ1g.js → calendar-workspace-CYK1M83j.js} +19 -19
- package/dist/_chunks/{chat-message-fRLZ95O5.js → chat-message-Be-9vIIQ.js} +2 -2
- package/dist/_chunks/{clinical-note-card-BnFTIs6x.js → clinical-note-card-Caidqcwa.js} +2 -2
- package/dist/_chunks/{color-picker-BsggJovx.js → color-picker-AcaWuKah.js} +99 -95
- package/dist/_chunks/{combobox-U5yfO6o0.js → combobox-vF9O-QoG.js} +92 -83
- package/dist/_chunks/{contact-profile-card-C4-OCshj.js → contact-profile-card-CAwwOqHl.js} +40 -40
- package/dist/_chunks/{control-room-rail-DUerqHeo.js → control-room-rail-BB6rCDWI.js} +3 -3
- package/dist/_chunks/{country-select-DF5Bd_mn.js → country-select-CSE2Zm_s.js} +2 -2
- package/dist/_chunks/dashboard-grid-7JzaiKnk.js +1487 -0
- package/dist/_chunks/{data-table-COoCQ4n_.js → data-table-Cty4-Jht.js} +3 -3
- package/dist/_chunks/{dependent-selector-DBr1AhLg.js → dependent-selector-C4kOgO8b.js} +2 -2
- package/dist/_chunks/{document-preview-B1dQm292.js → document-preview-513f3iPn.js} +4 -4
- package/dist/_chunks/{document-scanner-CVPVLK7z.js → document-scanner-Bd3wbzpI.js} +2 -2
- package/dist/_chunks/{editable-description-ChGNdYY8.js → editable-description-DnAFi360.js} +2 -2
- package/dist/_chunks/{entity-summary-BQ9_KA8S.js → entity-summary-C2B8yNmc.js} +4 -4
- package/dist/_chunks/{error-summary-DrUfuKu1.js → error-summary-mGxIyDAY.js} +2 -2
- package/dist/_chunks/{face-scheme-DAD-mXzM.js → face-scheme-CSJdRNad.js} +248 -244
- package/dist/_chunks/{file-manager-RiV7-OEE.js → file-manager-D4cPnRhL.js} +3 -3
- package/dist/_chunks/{forgot-password-form-CgZkEvZy.js → forgot-password-form-Dqi7R-NL.js} +4 -4
- package/dist/_chunks/format-number-DdzqwMs1.js +13 -0
- package/dist/_chunks/{freemium-paywall-DKJHRFpp.js → freemium-paywall-C73C8Rgd.js} +2 -2
- package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js → gestational-age-calculator-Du53p8MH.js} +2 -2
- package/dist/_chunks/{header-settings-BSH9Gk0J.js → header-settings-DlUbvAUx.js} +37 -36
- package/dist/_chunks/{heatmap-C1TeC7wT.js → heatmap-DbZIQg14.js} +4 -4
- package/dist/_chunks/help-me-write-templates-5WkUfvc_.js +687 -0
- package/dist/_chunks/hourglass-BEAzW1wE.js +26 -0
- package/dist/_chunks/{kit-extensions-DWs1UEXb.js → kit-extensions-CYvLL4ee.js} +3 -3
- package/dist/_chunks/length-token-DwMnGEYT.js +24 -0
- package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js → link-cell-renderer-DtIsQWDO.js} +4 -4
- package/dist/_chunks/{login-dev-card-PnADNcI9.js → login-dev-card-vEL-o5wq.js} +3 -3
- package/dist/_chunks/{map-view-BuVfJMEa.js → map-view-CtohteZD.js} +300 -191
- package/dist/_chunks/{marketplace-app-shell-C-2e4eCD.js → marketplace-app-shell-CcLQ0Dn-.js} +4 -4
- package/dist/_chunks/{message-card-A3mJNqfy.js → message-card-C_ksqIYM.js} +2 -2
- package/dist/_chunks/{message-tray-Ft6vSr71.js → message-tray-DCoQ4GQb.js} +3 -3
- package/dist/_chunks/{multi-select-CMaAQQgb.js → multi-select-BOad3za9.js} +110 -98
- package/dist/_chunks/{muscle-scheme-YoN3rYXV.js → muscle-scheme-C66WlCxG.js} +2 -2
- package/dist/_chunks/{note-timeline-DDqNU46n.js → note-timeline-KzL52MmB.js} +2 -2
- package/dist/_chunks/{notes-panel-uEGIL7mi.js → notes-panel-BXN46XkF.js} +6 -6
- package/dist/_chunks/notice-group-DkYzKyAZ.js +291 -0
- package/dist/_chunks/{notification-tray-BR3seWA7.js → notification-tray-Cp18MW5b.js} +2 -2
- package/dist/_chunks/{operator-hero-3_RG4Dkj.js → operator-hero-6aAIQaFZ.js} +83 -66
- package/dist/_chunks/{optical-prescription-CxfMsbxi.js → optical-prescription-ulXnDbBe.js} +525 -509
- package/dist/_chunks/panel-header-CbtlTe85.js +190 -0
- package/dist/_chunks/{panel-subview-yP4qIbKS.js → panel-subview-BPU7220K.js} +2 -2
- package/dist/_chunks/{patient-details-4P1vA9Ls.js → patient-details-C4Dyo7Ck.js} +4 -4
- package/dist/_chunks/{patient-field-row-CBXhlfGD.js → patient-field-row-DROvUkFu.js} +155 -176
- package/dist/_chunks/{patient-search-DOnDUVsl.js → patient-search-BADdx3M1.js} +2 -2
- package/dist/_chunks/{patient-summary-card-CuDLo8MP.js → patient-summary-card-CAimxbuI.js} +4 -4
- package/dist/_chunks/{payment-automation-upsell-C8MEu0t6.js → payment-automation-upsell-CiwF5UrC.js} +2 -2
- package/dist/_chunks/{payment-form-C3dGY7v4.js → payment-form-PBuh8PIa.js} +2 -2
- package/dist/_chunks/{pdf-viewer-DJ9VN7cu.js → pdf-viewer-gAsNUsA8.js} +2 -2
- package/dist/_chunks/{periodontal-risk-chart-CPy7CNFe.js → periodontal-risk-chart-B7S9OmPC.js} +97 -89
- package/dist/_chunks/practice-profile-hero-qfrsFQI_.js +236 -0
- package/dist/_chunks/{practice-results-8h2Utpt3.js → practice-results-BzThnpnm.js} +328 -298
- package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js → pregnancy-dating-EFcFUJkQ.js} +2 -2
- package/dist/_chunks/{privacy-mask-Ch7743uk.js → privacy-mask-CCz9zuIh.js} +2 -2
- package/dist/_chunks/{product-hub-panel-C_ZosrBt.js → product-hub-panel-YuFbNPlT.js} +2 -2
- package/dist/_chunks/progress-notice-DiHWZ8Ms.js +279 -0
- package/dist/_chunks/{province-select-Bd20Z9Br.js → province-select-CDjs5obD.js} +2 -2
- package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js → radiograph-panel.agent-4UllIoTQ.js} +2 -2
- package/dist/_chunks/{rating-C1Vrmpsi.js → rating-CGYpg5dj.js} +43 -44
- package/dist/_chunks/{registration-form-BQyT_kBX.js → registration-form-1B0PTDal.js} +4 -4
- package/dist/_chunks/{reviews-panel-AvsVgtJu.js → reviews-panel-CosDZyow.js} +29 -7
- package/dist/_chunks/{rich-text-editor-M2gT_E7f.js → rich-text-editor-56dSsyZI.js} +1653 -1743
- package/dist/_chunks/{select-k4gBdS8N.js → select-4S-eYZUf.js} +244 -214
- package/dist/_chunks/{sign-document-CY7xTXbm.js → sign-document-BiOTs1P4.js} +2 -2
- package/dist/_chunks/{signature-request-BMCHy2ZO.js → signature-request-DAmNj_uq.js} +5 -5
- package/dist/_chunks/skeleton-tTWJpvAq.js +415 -0
- package/dist/_chunks/{slot-grid-dj5f6R2w.js → slot-grid-D_gix9mJ.js} +2 -2
- package/dist/_chunks/{tabs-2x3L13jn.js → tabs-BTj-2qMZ.js} +2 -2
- package/dist/_chunks/{task-card-BS7Uqevr.js → task-card-Ci2XbLmq.js} +2 -2
- package/dist/_chunks/{task-editor-CifOznfq.js → task-editor-BomyxGoZ.js} +8 -8
- package/dist/_chunks/{task-tray-eQU4KJcA.js → task-tray-Dnc72nl-.js} +3 -3
- package/dist/_chunks/{tasks-panel-8nLwBw6P.js → tasks-panel-ATz9JDy8.js} +6 -6
- package/dist/_chunks/{theme-toggle-Ctb77x6O.js → theme-toggle-DT_Jn4DC.js} +147 -138
- package/dist/_chunks/{timeline-DEIuHrWz.js → timeline-wUuTDFY_.js} +2 -2
- package/dist/_chunks/{tool-rail-C-03rH2I.js → tool-rail-C-M3eVdY.js} +2 -2
- package/dist/_chunks/{transcript-panel-XudW5l6l.js → transcript-panel-CoHHpcFg.js} +2 -2
- package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js → treatment-receipt-pFqWFyD_.js} +2 -2
- package/dist/_chunks/{unit-converter-BPZ0Ldkb.js → unit-converter-CIoTmCmP.js} +2 -2
- package/dist/_chunks/{use-appointment-details-read-B-FEWbQM.js → use-appointment-details-read-CUGfE0hV.js} +13 -13
- package/dist/_chunks/use-dismissed-CTOWqA0e.js +177 -0
- package/dist/_chunks/voice-control-panel-B8Lrk0C4.js +1148 -0
- package/dist/_chunks/{warning-stack-HYWAytZV.js → warning-stack-BhHUmRiD.js} +2 -2
- package/dist/_chunks/{workflow-map-C2B2qIr1.js → workflow-map-ln4_OG8A.js} +2 -2
- package/dist/agent-catalog.json +221 -6
- package/dist/agent-i18n/en.json +32 -5
- package/dist/components/_shared/format-number.d.ts +20 -0
- package/dist/components/_shared/length-token.d.ts +12 -0
- package/dist/components/_shared/option.d.ts +1 -0
- package/dist/components/address-fields/index.js +1 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.agent.d.ts +4 -0
- package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.d.ts +96 -0
- package/dist/components/ai-credits-notice/ai-credits-notice.d.ts +30 -4
- package/dist/components/ai-credits-notice/index.d.ts +3 -0
- package/dist/components/ai-credits-notice/index.js +10 -4
- package/dist/components/ai-permission-notice/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/alert/alert.d.ts +26 -0
- package/dist/components/alert/index.js +1 -1
- package/dist/components/anamnesis-summary-card/index.js +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-details-panel/index.js +1 -1
- package/dist/components/appointment-peek/index.js +1 -1
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/avatar/avatar.d.ts +2 -0
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/clinical-note-card/index.js +1 -1
- package/dist/components/color-picker/index.js +1 -1
- package/dist/components/combobox/index.js +1 -1
- package/dist/components/contact-profile-card/index.js +1 -1
- package/dist/components/control-room-rail/index.js +1 -1
- package/dist/components/country-select/index.js +1 -1
- package/dist/components/dashboard-grid/dashboard-grid.d.ts +20 -1
- package/dist/components/dashboard-grid/index.js +1 -1
- package/dist/components/data-table/index.js +2 -2
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/document-preview/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/editable-description/index.js +1 -1
- package/dist/components/entity-summary/index.js +1 -1
- package/dist/components/error-summary/index.js +1 -1
- package/dist/components/face-scheme/index.js +1 -1
- package/dist/components/file-manager/index.js +1 -1
- package/dist/components/freemium-paywall/index.js +1 -1
- package/dist/components/gestational-age-calculator/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/heatmap/index.js +1 -1
- package/dist/components/index.d.ts +4 -2
- package/dist/components/map-view/index.d.ts +1 -1
- package/dist/components/map-view/index.js +1 -1
- package/dist/components/map-view/map-view.d.ts +51 -0
- package/dist/components/message-card/index.js +1 -1
- package/dist/components/message-tray/index.js +1 -1
- package/dist/components/multi-select/index.js +1 -1
- package/dist/components/muscle-scheme/index.js +1 -1
- package/dist/components/note-timeline/index.js +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notice-group/index.d.ts +3 -0
- package/dist/components/notice-group/index.js +6 -0
- package/dist/components/notice-group/notice-group.agent.d.ts +4 -0
- package/dist/components/notice-group/notice-group.d.ts +43 -0
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/optical-prescription/index.js +1 -1
- package/dist/components/optical-prescription/optical-prescription-data.d.ts +8 -8
- package/dist/components/panel-header/index.js +1 -1
- package/dist/components/panel-header/panel-header.d.ts +10 -0
- package/dist/components/panel-subview/index.js +1 -1
- 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-form/index.js +1 -1
- package/dist/components/pdf-viewer/index.js +1 -1
- package/dist/components/periodontal-risk-chart/index.js +1 -1
- package/dist/components/practice-profile-hero/index.js +1 -1
- package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +4 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/practice-results/practice-results.d.ts +10 -2
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/progress-notice/index.d.ts +3 -0
- package/dist/components/progress-notice/index.js +6 -0
- package/dist/components/progress-notice/progress-notice.agent.d.ts +4 -0
- package/dist/components/progress-notice/progress-notice.d.ts +81 -0
- package/dist/components/province-select/index.js +1 -1
- package/dist/components/radiograph-panel/index.js +1 -1
- package/dist/components/rating/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/rich-text-editor/index.js +2 -2
- package/dist/components/select/index.js +1 -1
- package/dist/components/select/select.d.ts +6 -0
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/skeleton/index.d.ts +1 -1
- package/dist/components/skeleton/index.js +1 -1
- package/dist/components/skeleton/skeleton.d.ts +41 -1
- package/dist/components/skeleton-scheme/index.js +1 -1
- package/dist/components/slot-grid/index.js +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/task-card/index.js +1 -1
- package/dist/components/task-editor/index.js +1 -1
- package/dist/components/task-tray/index.js +1 -1
- package/dist/components/tasks-panel/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/tool-rail/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/treatment-receipt/index.js +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/voice-control-panel/index.d.ts +2 -1
- package/dist/components/voice-control-panel/index.js +1 -1
- package/dist/components/voice-control-panel/voice-control-panel.d.ts +43 -3
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +81 -76
- package/dist/hooks/use-dismissed.d.ts +58 -0
- package/dist/i18n/locales/ar.d.ts +49 -12
- package/dist/i18n/locales/ar.js +49 -12
- package/dist/i18n/locales/de.d.ts +49 -12
- package/dist/i18n/locales/de.js +49 -12
- package/dist/i18n/locales/el.d.ts +49 -12
- package/dist/i18n/locales/el.js +49 -12
- package/dist/i18n/locales/en.d.ts +49 -12
- package/dist/i18n/locales/en.js +49 -12
- package/dist/i18n/locales/es.d.ts +49 -12
- package/dist/i18n/locales/es.js +49 -12
- package/dist/i18n/locales/fr.d.ts +49 -12
- package/dist/i18n/locales/fr.js +49 -12
- package/dist/i18n/locales/hi.d.ts +49 -12
- package/dist/i18n/locales/hi.js +49 -12
- package/dist/i18n/locales/it.d.ts +49 -12
- package/dist/i18n/locales/it.js +49 -12
- package/dist/i18n/locales/ja.d.ts +49 -12
- package/dist/i18n/locales/ja.js +49 -12
- package/dist/i18n/locales/nl.d.ts +49 -12
- package/dist/i18n/locales/nl.js +49 -12
- package/dist/i18n/locales/pl.d.ts +49 -12
- package/dist/i18n/locales/pl.js +49 -12
- package/dist/i18n/locales/pt.d.ts +49 -12
- package/dist/i18n/locales/pt.js +49 -12
- package/dist/i18n/locales/ro.d.ts +49 -12
- package/dist/i18n/locales/ro.js +49 -12
- package/dist/i18n/locales/ru.d.ts +49 -12
- package/dist/i18n/locales/ru.js +49 -12
- package/dist/i18n/locales/sq.d.ts +49 -12
- package/dist/i18n/locales/sq.js +49 -12
- package/dist/i18n/locales/sv.d.ts +49 -12
- package/dist/i18n/locales/sv.js +49 -12
- package/dist/i18n/locales/tr.d.ts +49 -12
- package/dist/i18n/locales/tr.js +49 -12
- package/dist/i18n/locales/zh.d.ts +49 -12
- package/dist/i18n/locales/zh.js +49 -12
- package/dist/index.js +1193 -1177
- package/dist/locales/ar.json +49 -12
- package/dist/locales/de.json +49 -12
- package/dist/locales/el.json +49 -12
- package/dist/locales/en.json +49 -12
- package/dist/locales/es.json +49 -12
- package/dist/locales/fr.json +49 -12
- package/dist/locales/hi.json +49 -12
- package/dist/locales/it.json +49 -12
- package/dist/locales/ja.json +49 -12
- package/dist/locales/nl.json +49 -12
- package/dist/locales/pl.json +49 -12
- package/dist/locales/pt.json +49 -12
- package/dist/locales/ro.json +49 -12
- package/dist/locales/ru.json +49 -12
- package/dist/locales/sq.json +49 -12
- package/dist/locales/sv.json +49 -12
- package/dist/locales/tr.json +49 -12
- package/dist/locales/zh.json +49 -12
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/anamnesis/index.js +1 -1
- package/dist/patterns/calendar/index.js +1 -1
- package/dist/patterns/forgot-password-form/index.js +1 -1
- package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +6 -23
- package/dist/patterns/help-me-write-templates/index.js +8 -7
- package/dist/patterns/login-form/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/payment-automation-upsell/index.js +1 -1
- package/dist/patterns/registration-form/index.js +1 -1
- package/dist/patterns/signature-request/index.js +1 -1
- package/dist/tokens.css +1 -1
- package/package.json +9 -1
- package/dist/_chunks/ai-credits-notice-pK9BOmEz.js +0 -90
- package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js +0 -17
- package/dist/_chunks/avatar-WZY3eGE7.js +0 -123
- package/dist/_chunks/dashboard-grid-B2MB7SRS.js +0 -1428
- package/dist/_chunks/help-me-write-templates-DFmqnsAa.js +0 -747
- package/dist/_chunks/panel-header-BJkaUwnl.js +0 -128
- package/dist/_chunks/practice-profile-hero-Dfc0F60y.js +0 -193
- package/dist/_chunks/skeleton-B1KTdJ4N.js +0 -116
- package/dist/_chunks/voice-control-panel-C0BfY23Y.js +0 -1009
|
@@ -1,52 +1,53 @@
|
|
|
1
1
|
import { jsx as a, jsxs as C, Fragment as Ir } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
2
|
+
import { forwardRef as Vi, useId as Yi, useRef as N, useState as T, useCallback as g, useMemo as xn, useEffect as ne, useImperativeHandle as Xi } from "react";
|
|
3
3
|
import * as Fe from "@radix-ui/react-tooltip";
|
|
4
|
-
import { c as
|
|
5
|
-
import { useTranslation as
|
|
6
|
-
import { u as
|
|
7
|
-
import { m as tt, M as
|
|
4
|
+
import { c as qi } from "./index-D2ZczOXr.js";
|
|
5
|
+
import { useTranslation as Gi } from "react-i18next";
|
|
6
|
+
import { u as Ji } from "./registry-DvAUVLHh.js";
|
|
7
|
+
import { m as tt, M as Qi, A as es } from "./annotation-marker-D-M7y4R1.js";
|
|
8
8
|
import { B as P } from "./button-D-MQxsA_.js";
|
|
9
9
|
import { I as Ke } from "./icon-button-C_1TgRiK.js";
|
|
10
|
-
import { B as
|
|
11
|
-
import { C as
|
|
10
|
+
import { B as ts } from "./button-group-DCOJhvm3.js";
|
|
11
|
+
import { C as ns } from "./combobox-vF9O-QoG.js";
|
|
12
12
|
import { I as vn } from "./icon-button-group-NIHji7_y.js";
|
|
13
13
|
import { S as Ar } from "./state-backed-text-input-Cgh4ms3p.js";
|
|
14
14
|
import { C as Ze } from "./card-BA4Ig_kn.js";
|
|
15
15
|
import { S as Tt } from "./separator-CYU_bGFn.js";
|
|
16
|
-
import { S as
|
|
17
|
-
import { S as
|
|
16
|
+
import { S as rs } from "./slider-pZ95bEm7.js";
|
|
17
|
+
import { S as is } from "./switch-D--x7n6h.js";
|
|
18
|
+
import { a as ss } from "./format-number-DdzqwMs1.js";
|
|
18
19
|
import { c as Be } from "./createLucideIcon-DhHxpK9K.js";
|
|
19
|
-
import { T as
|
|
20
|
-
import { C as
|
|
21
|
-
import { S as
|
|
22
|
-
import { M as
|
|
23
|
-
import { A as
|
|
24
|
-
import { H as
|
|
25
|
-
import { M as
|
|
26
|
-
import { E as
|
|
27
|
-
import { T as
|
|
28
|
-
import { C as
|
|
29
|
-
import { U as
|
|
30
|
-
import { Z as
|
|
31
|
-
import { M as
|
|
20
|
+
import { T as os } from "./type-ggmfVs23.js";
|
|
21
|
+
import { C as as } from "./circle-j7oZoouK.js";
|
|
22
|
+
import { S as cs } from "./square-DASBRZ0U.js";
|
|
23
|
+
import { M as ls } from "./minus-BQDHq1c1.js";
|
|
24
|
+
import { A as ds } from "./arrow-up-right-C2v_MKsK.js";
|
|
25
|
+
import { H as us, U as fs } from "./undo-2-CYNAzclj.js";
|
|
26
|
+
import { M as hs } from "./map-pin-BaY37-Km.js";
|
|
27
|
+
import { E as ms } from "./eraser-CHOGQfVv.js";
|
|
28
|
+
import { T as ps } from "./trash-2-uumy3fy1.js";
|
|
29
|
+
import { C as gs } from "./camera-VSklPDCv.js";
|
|
30
|
+
import { U as ys } from "./upload-BfT2hzMg.js";
|
|
31
|
+
import { Z as xs, a as vs } from "./zoom-out-Dnif4kJx.js";
|
|
32
|
+
import { M as ws } from "./maximize-2-BYd2Kti7.js";
|
|
32
33
|
/**
|
|
33
34
|
* @license lucide-react v1.22.0 - ISC
|
|
34
35
|
*
|
|
35
36
|
* This source code is licensed under the ISC license.
|
|
36
37
|
* See the LICENSE file in the root directory of this source tree.
|
|
37
38
|
*/
|
|
38
|
-
const
|
|
39
|
+
const ks = [
|
|
39
40
|
["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
|
|
40
41
|
["path", { d: "M9 3v18", key: "fh3hqa" }],
|
|
41
42
|
["path", { d: "M15 3v18", key: "14nvp0" }]
|
|
42
|
-
],
|
|
43
|
+
], bs = Be("columns-3", ks);
|
|
43
44
|
/**
|
|
44
45
|
* @license lucide-react v1.22.0 - ISC
|
|
45
46
|
*
|
|
46
47
|
* This source code is licensed under the ISC license.
|
|
47
48
|
* See the LICENSE file in the root directory of this source tree.
|
|
48
49
|
*/
|
|
49
|
-
const
|
|
50
|
+
const Cs = [
|
|
50
51
|
[
|
|
51
52
|
"path",
|
|
52
53
|
{
|
|
@@ -54,14 +55,14 @@ const ks = [
|
|
|
54
55
|
key: "edeuup"
|
|
55
56
|
}
|
|
56
57
|
]
|
|
57
|
-
],
|
|
58
|
+
], Ss = Be("mouse-pointer-2", Cs);
|
|
58
59
|
/**
|
|
59
60
|
* @license lucide-react v1.22.0 - ISC
|
|
60
61
|
*
|
|
61
62
|
* This source code is licensed under the ISC license.
|
|
62
63
|
* See the LICENSE file in the root directory of this source tree.
|
|
63
64
|
*/
|
|
64
|
-
const
|
|
65
|
+
const Ms = [
|
|
65
66
|
[
|
|
66
67
|
"path",
|
|
67
68
|
{
|
|
@@ -69,14 +70,14 @@ const Cs = [
|
|
|
69
70
|
key: "1a8usu"
|
|
70
71
|
}
|
|
71
72
|
]
|
|
72
|
-
],
|
|
73
|
+
], Ns = Be("pen", Ms);
|
|
73
74
|
/**
|
|
74
75
|
* @license lucide-react v1.22.0 - ISC
|
|
75
76
|
*
|
|
76
77
|
* This source code is licensed under the ISC license.
|
|
77
78
|
* See the LICENSE file in the root directory of this source tree.
|
|
78
79
|
*/
|
|
79
|
-
const
|
|
80
|
+
const Is = [
|
|
80
81
|
[
|
|
81
82
|
"path",
|
|
82
83
|
{ d: "M13 7 8.7 2.7a2.41 2.41 0 0 0-3.4 0L2.7 5.3a2.41 2.41 0 0 0 0 3.4L7 13", key: "orapub" }
|
|
@@ -98,29 +99,29 @@ const Ms = [
|
|
|
98
99
|
}
|
|
99
100
|
],
|
|
100
101
|
["path", { d: "m15 5 4 4", key: "1mk7zo" }]
|
|
101
|
-
],
|
|
102
|
+
], As = Be("pencil-ruler", Is);
|
|
102
103
|
/**
|
|
103
104
|
* @license lucide-react v1.22.0 - ISC
|
|
104
105
|
*
|
|
105
106
|
* This source code is licensed under the ISC license.
|
|
106
107
|
* See the LICENSE file in the root directory of this source tree.
|
|
107
108
|
*/
|
|
108
|
-
const
|
|
109
|
+
const Ts = [
|
|
109
110
|
["path", { d: "m19 16-3 3", key: "lp3y45" }],
|
|
110
111
|
["path", { d: "M2 21a8 8 0 0 1 12.664-6.5", key: "1ap0vn" }],
|
|
111
112
|
["path", { d: "M22 19h-6l3 3", key: "13fjle" }],
|
|
112
113
|
["circle", { cx: "10", cy: "8", r: "5", key: "o932ke" }]
|
|
113
|
-
], Tr = Be("user-round-arrow-left",
|
|
114
|
+
], Tr = Be("user-round-arrow-left", Ts);
|
|
114
115
|
/**
|
|
115
116
|
* @license lucide-react v1.22.0 - ISC
|
|
116
117
|
*
|
|
117
118
|
* This source code is licensed under the ISC license.
|
|
118
119
|
* See the LICENSE file in the root directory of this source tree.
|
|
119
120
|
*/
|
|
120
|
-
const
|
|
121
|
+
const Es = [
|
|
121
122
|
["circle", { cx: "12", cy: "8", r: "5", key: "1hypcn" }],
|
|
122
123
|
["path", { d: "M20 21a8 8 0 0 0-16 0", key: "rfgkzh" }]
|
|
123
|
-
],
|
|
124
|
+
], zs = Be("user-round", Es), _s = {
|
|
124
125
|
type: "string",
|
|
125
126
|
enum: [
|
|
126
127
|
"none",
|
|
@@ -137,13 +138,13 @@ const As = [
|
|
|
137
138
|
}, ke = {
|
|
138
139
|
type: "string",
|
|
139
140
|
description: "Face-zone id (e.g. 'glabella', 'nasolabialFold', 'forehead', 'mandibularAngleLeft' on the front view; 'cheekbone', 'masseter', 'chin' on a profile view)."
|
|
140
|
-
},
|
|
141
|
+
}, Ls = {
|
|
141
142
|
type: "string",
|
|
142
143
|
enum: ["front", "profile-left", "profile-right"],
|
|
143
144
|
description: "Active view id: 'front', 'profile-left', or 'profile-right'."
|
|
144
145
|
}, nt = {
|
|
145
146
|
enum: ["observation", "treatment", "concern", "note"]
|
|
146
|
-
},
|
|
147
|
+
}, Rs = {
|
|
147
148
|
id: "face-scheme",
|
|
148
149
|
// pick — focus a zone (transient); set_value / edit_inline — record / clear
|
|
149
150
|
// findings on a zone; view_change — switch the active view (front / left /
|
|
@@ -338,7 +339,7 @@ const As = [
|
|
|
338
339
|
argsType: "{ view: FaceViewId }",
|
|
339
340
|
argsSchema: {
|
|
340
341
|
type: "object",
|
|
341
|
-
properties: { view:
|
|
342
|
+
properties: { view: Ls },
|
|
342
343
|
required: ["view"]
|
|
343
344
|
},
|
|
344
345
|
idempotent: !0,
|
|
@@ -370,7 +371,7 @@ const As = [
|
|
|
370
371
|
argsType: "{ tool: FaceAnnotationTool | 'none' }",
|
|
371
372
|
argsSchema: {
|
|
372
373
|
type: "object",
|
|
373
|
-
properties: { tool:
|
|
374
|
+
properties: { tool: _s },
|
|
374
375
|
required: ["tool"]
|
|
375
376
|
},
|
|
376
377
|
idempotent: !0,
|
|
@@ -504,7 +505,7 @@ const As = [
|
|
|
504
505
|
description: 'Each clickable zone `<g>` carries its zone id as `data-zone` (plus `data-side` for the anatomical side, and `data-zone-selected="true"` while in the multi-selection). Each free-form annotation `<g>` carries `data-annotation` (its id), `data-annotation-kind`, `data-annotation-zone` (its linked zone id, when linked), and `data-selected="true"` while selected. The root `<div>` carries the active view id as `data-view` — only the zones for the active view are in the DOM.'
|
|
505
506
|
}
|
|
506
507
|
}
|
|
507
|
-
},
|
|
508
|
+
}, $s = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.18/vision_bundle.mjs", Fs = "https://cdn.jsdelivr.net/npm/@mediapipe/tasks-vision@0.10.18/wasm", Ks = "https://storage.googleapis.com/mediapipe-models/face_landmarker/face_landmarker/float16/1/face_landmarker.task", Zs = {
|
|
508
509
|
"right-eye": [33, 133],
|
|
509
510
|
// subject's right eye, outer + inner corners
|
|
510
511
|
"left-eye": [263, 362],
|
|
@@ -519,7 +520,7 @@ const As = [
|
|
|
519
520
|
subnasale: [2]
|
|
520
521
|
// base of the nose / top of the philtrum
|
|
521
522
|
}, wn = /* @__PURE__ */ new Map();
|
|
522
|
-
function
|
|
523
|
+
function Os(n, r, o, l) {
|
|
523
524
|
const d = `${n}|${r}|${o}`, c = wn.get(d);
|
|
524
525
|
if (c) return c;
|
|
525
526
|
l == null || l("loading");
|
|
@@ -536,23 +537,23 @@ function Ks(n, r, o, l) {
|
|
|
536
537
|
})();
|
|
537
538
|
return wn.set(d, m), m.catch(() => wn.delete(d)), m;
|
|
538
539
|
}
|
|
539
|
-
function
|
|
540
|
+
function Ps(n) {
|
|
540
541
|
const r = new Image();
|
|
541
542
|
return r.crossOrigin = "anonymous", r.src = n, r.decode().then(() => r);
|
|
542
543
|
}
|
|
543
|
-
async function
|
|
544
|
+
async function Ds(n, r) {
|
|
544
545
|
if (typeof window > "u" || typeof Image > "u")
|
|
545
546
|
throw new Error("detectFaceLandmarks runs in the browser only.");
|
|
546
547
|
const {
|
|
547
548
|
viewWidth: o,
|
|
548
549
|
viewHeight: l,
|
|
549
|
-
visionModuleUrl: d =
|
|
550
|
-
wasmBaseUrl: c =
|
|
551
|
-
modelAssetPath: m =
|
|
550
|
+
visionModuleUrl: d = $s,
|
|
551
|
+
wasmBaseUrl: c = Fs,
|
|
552
|
+
modelAssetPath: m = Ks,
|
|
552
553
|
onStage: h
|
|
553
554
|
} = r, [p, y] = await Promise.all([
|
|
554
|
-
|
|
555
|
-
|
|
555
|
+
Ps(n),
|
|
556
|
+
Os(d, c, m, h)
|
|
556
557
|
]);
|
|
557
558
|
h == null || h("detecting");
|
|
558
559
|
const b = y.detect(p).faceLandmarks[0];
|
|
@@ -561,7 +562,7 @@ async function Os(n, r) {
|
|
|
561
562
|
x: L + R.x * v * w,
|
|
562
563
|
y: X + R.y * k * w
|
|
563
564
|
}), I = [];
|
|
564
|
-
for (const [R, H] of Object.entries(
|
|
565
|
+
for (const [R, H] of Object.entries(Zs)) {
|
|
565
566
|
let q = 0, pe = 0, re = 0;
|
|
566
567
|
for (const be of H) {
|
|
567
568
|
const le = b[be];
|
|
@@ -573,14 +574,14 @@ async function Os(n, r) {
|
|
|
573
574
|
}
|
|
574
575
|
return I.length >= 3 ? I : null;
|
|
575
576
|
}
|
|
576
|
-
const
|
|
577
|
+
const Bs = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/ort.min.mjs", js = "https://cdn.jsdelivr.net/npm/onnxruntime-web@1.19.2/dist/", F = 640, Ws = [8, 16, 32], Hs = [
|
|
577
578
|
"right-eye",
|
|
578
579
|
"left-eye",
|
|
579
580
|
"nose-tip",
|
|
580
581
|
"mouth-right",
|
|
581
582
|
"mouth-left"
|
|
582
583
|
], kn = /* @__PURE__ */ new Map();
|
|
583
|
-
async function
|
|
584
|
+
async function Us(n, r, o, l) {
|
|
584
585
|
const d = `${n}|${r}|${o}`, c = kn.get(d);
|
|
585
586
|
if (c) return c;
|
|
586
587
|
l == null || l("loading");
|
|
@@ -597,14 +598,14 @@ async function Ws(n, r, o, l) {
|
|
|
597
598
|
})();
|
|
598
599
|
return kn.set(d, m), m.catch(() => kn.delete(d)), m;
|
|
599
600
|
}
|
|
600
|
-
function
|
|
601
|
+
function Vs(n) {
|
|
601
602
|
const r = new Image();
|
|
602
603
|
return r.crossOrigin = "anonymous", r.src = n, r.decode().then(() => r);
|
|
603
604
|
}
|
|
604
|
-
async function
|
|
605
|
+
async function Ys() {
|
|
605
606
|
return (await import("./face_detection_yunet_2023mar-BnsRs4bD.js")).default;
|
|
606
607
|
}
|
|
607
|
-
function
|
|
608
|
+
function Xs(n, r) {
|
|
608
609
|
const o = r.naturalWidth || r.width, l = r.naturalHeight || r.height, d = Math.min(F / o, F / l), c = Math.round(o * d), m = Math.round(l * d), h = Math.floor((F - c) / 2), p = Math.floor((F - m) / 2), y = document.createElement("canvas");
|
|
609
610
|
y.width = F, y.height = F;
|
|
610
611
|
const S = y.getContext("2d");
|
|
@@ -621,7 +622,7 @@ function Vs(n, r) {
|
|
|
621
622
|
};
|
|
622
623
|
}
|
|
623
624
|
const Er = (n) => 1 / (1 + Math.exp(-n));
|
|
624
|
-
function
|
|
625
|
+
function qs(n, r) {
|
|
625
626
|
let o = !1;
|
|
626
627
|
const l = n.cls_8.data;
|
|
627
628
|
for (let c = 0; c < Math.min(l.length, 256); c++)
|
|
@@ -630,7 +631,7 @@ function Ys(n, r) {
|
|
|
630
631
|
break;
|
|
631
632
|
}
|
|
632
633
|
let d = null;
|
|
633
|
-
for (const c of
|
|
634
|
+
for (const c of Ws) {
|
|
634
635
|
const m = n[`cls_${c}`].data, h = n[`obj_${c}`].data, p = n[`kps_${c}`].data, y = F / c, S = F / c, b = y * S;
|
|
635
636
|
for (let v = 0; v < b; v++) {
|
|
636
637
|
let k = m[v], w = h[v];
|
|
@@ -648,29 +649,29 @@ function Ys(n, r) {
|
|
|
648
649
|
}
|
|
649
650
|
return d;
|
|
650
651
|
}
|
|
651
|
-
async function
|
|
652
|
+
async function Gs(n, r) {
|
|
652
653
|
if (typeof window > "u" || typeof Image > "u")
|
|
653
654
|
throw new Error("detectFaceYuNet runs in the browser only.");
|
|
654
655
|
const {
|
|
655
656
|
viewWidth: o,
|
|
656
657
|
viewHeight: l,
|
|
657
|
-
ortModuleUrl: d =
|
|
658
|
-
ortWasmBaseUrl: c =
|
|
659
|
-
modelUrl: m = await
|
|
658
|
+
ortModuleUrl: d = Bs,
|
|
659
|
+
ortWasmBaseUrl: c = js,
|
|
660
|
+
modelUrl: m = await Ys(),
|
|
660
661
|
scoreThreshold: h = 0.6,
|
|
661
662
|
onStage: p
|
|
662
663
|
} = r, [y, { ort: S, session: b }] = await Promise.all([
|
|
663
|
-
|
|
664
|
-
|
|
664
|
+
Vs(n),
|
|
665
|
+
Us(d, c, m, p)
|
|
665
666
|
]);
|
|
666
667
|
p == null || p("detecting");
|
|
667
|
-
const { tensor: v, scale: k, padX: w, padY: L } =
|
|
668
|
+
const { tensor: v, scale: k, padX: w, padY: L } = Xs(S.Tensor, y), X = await b.run({ [b.inputNames[0]]: v }), $ = qs(X, h);
|
|
668
669
|
if (!$) return null;
|
|
669
670
|
const I = y.naturalWidth || y.width, R = y.naturalHeight || y.height, H = Math.max(o / I, l / R), q = (o - I * H) / 2, pe = (l - R * H) / 2;
|
|
670
671
|
return $.keypoints.map(([re, be], le) => {
|
|
671
672
|
const ge = (re - w) / k, ye = (be - L) / k;
|
|
672
673
|
return {
|
|
673
|
-
id:
|
|
674
|
+
id: Hs[le],
|
|
674
675
|
photo: {
|
|
675
676
|
x: q + ge * H,
|
|
676
677
|
y: pe + ye * H
|
|
@@ -682,7 +683,7 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
682
683
|
id: "faceContour",
|
|
683
684
|
labelKey: "faceContour",
|
|
684
685
|
d: "M688.38,439.4c-9.78,0-15.37,4.04-17.86,6.47,1.31-10.99,2.5-20.62,3.49-28.2,7.55-57.89,5.03-94.39,5.03-94.39-15.15-165.92-111.73-221.46-186.21-239.39h0s-.1-.02-.1-.02c-6.18-1.49-12.21-2.72-18.02-3.73l-.96-.2c-46.02-9.51-93.5-9.51-139.52,0l-.95.2c-5.82,1.01-11.85,2.24-18.04,3.73l-.08.02h0c-74.48,17.94-171.06,73.48-186.21,239.39,0,0-2.52,36.5,5.03,94.39,1,7.68,2.2,17.45,3.53,28.61-2.25-2.35-7.91-6.88-18.26-6.88-13.97,0-29.06,16.21-20.12,63.71,8.94,47.5,17.3,80.48,18.43,97.24,1.11,16.47,24.08,47.91,41.43,38.23.9,8.33,1.42,13.17,1.42,13.17,0,0,8.81,59.15,56.63,104.46,12.62,11.95,25.84,23.46,38.49,33.94,7.14-4.56,24-16.96,29.06-35.21.9-3.24,1.73-6.33,2.52-9.29,2.46-9.17,4.59-17.1,7.4-24.46,3.44-9.01,7.62-16.28,13.25-23.04-47.54-46.57-49.82-89.3-48.75-104.93-21.75-2.47-38.06-19.4-47.37-49.37-7.27-23.39-7.77-46.39-7.79-47.36-.02-1.34.43-2.57,1.21-3.54-.47-2.21-.65-3.58-.67-3.77-.28-2.23.97-4.38,3.05-5.24.34-.14.69-.23,1.04-.29.47-3.26,2.23-10.86,8.8-18.21,10.82-12.11,28.95-17.92,53.93-17.22,41.5,1.13,55.11,17.49,59.58,28.15,1.45.85,2.49,2.34,2.68,4.14,0,.05.02.21.05.45.22.48.36,1,.42,1.56.04.41.34,3.71.16,8.68.17,6.11.1,14.39-.75,23.68-.27,2.9-.6,5.73-.98,8.49,4.1-9.94,7.68-20.29,11.15-30.32l.31-.89-10.84-54.18c-2.15-3.39-8.76-12.5-21.75-19.51-21.63-11.68-51.16-12.3-85.4-1.8-2.58.79-5.32-.61-6.19-3.16l-53.03-154.45c-.88-1.09-1.31-2.52-1.05-4.01.26-1.43,6.68-35.35,39.46-69.52,19.15-19.96,43.37-35.84,72.01-47.21,35.3-14.02,77.45-21.18,125.28-21.27h0s.98,0,.98,0c47.83.1,89.98,7.25,125.28,21.27,28.63,11.37,52.86,27.26,72.01,47.21,30.62,31.92,38.24,63.61,39.32,68.82.29.8.42,1.35.47,1.59.17.87.11,1.77-.17,2.61l-53.21,154.96c-.88,2.55-3.62,3.95-6.19,3.16-34.24-10.5-63.77-9.88-85.4,1.8-11.42,6.17-17.92,13.96-20.78,18.06l-11.25,56.25.04.11c2.95,8.52,5.98,17.28,9.34,25.81-.14-1.26-.28-2.53-.4-3.82-.53-5.79-.75-11.19-.81-15.92-1.11-9.09-.51-15.85-.45-16.44.11-1.1.59-2.08,1.3-2.85.19-.72.52-1.37.96-1.94,3.86-10.54,16.77-28.3,60.04-29.48,24.93-.69,43.04,5.1,53.85,17.2,6.53,7.3,8.3,14.85,8.78,18.13.53.04,1.05.16,1.56.37,2.08.86,3.32,3.01,3.05,5.24-.02.14-.12.93-.37,2.25,1.7.96,2.84,2.8,2.8,4.89-.02.97-.52,23.97-7.79,47.36-8.99,28.91-24.49,45.69-45.11,49.05,1.16,15.29-.68,58.78-49.42,106.1,5.35,6.56,9.36,13.63,12.68,22.33,2.81,7.36,4.94,15.28,7.4,24.45.79,2.96,1.62,6.05,2.52,9.29,5.07,18.28,21.97,30.69,29.09,35.23,12.65-10.48,25.88-21.99,38.5-33.95,47.82-45.31,56.63-104.46,56.63-104.46,0,0,.51-4.77,1.4-13,17.31,9.1,39.99-22.04,41.09-38.41,1.13-16.77,9.49-49.74,18.43-97.24,8.94-47.5-6.15-63.71-20.12-63.71Z"
|
|
685
|
-
},
|
|
686
|
+
}, Js = [
|
|
686
687
|
{
|
|
687
688
|
id: "lateralNeckRight",
|
|
688
689
|
labelKey: "lateralNeckRight",
|
|
@@ -859,7 +860,7 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
859
860
|
cy: 487,
|
|
860
861
|
side: "left"
|
|
861
862
|
}
|
|
862
|
-
],
|
|
863
|
+
], Qs = [
|
|
863
864
|
{ id: "right-eye", labelKey: "rightEye", x: 268, y: 487 },
|
|
864
865
|
{ id: "left-eye", labelKey: "leftEye", x: 535, y: 487 },
|
|
865
866
|
{ id: "nose-tip", labelKey: "noseTip", x: 403, y: 620 },
|
|
@@ -958,8 +959,8 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
958
959
|
pivot: Cn,
|
|
959
960
|
contour: jr,
|
|
960
961
|
// The generator guarantees every clickable zone carries cx/cy/side.
|
|
961
|
-
zones:
|
|
962
|
-
landmarks:
|
|
962
|
+
zones: Js,
|
|
963
|
+
landmarks: Qs
|
|
963
964
|
},
|
|
964
965
|
// The reshaped profile zones face +x; the right profile is the same mesh
|
|
965
966
|
// mirrored. Both fit on the eye/nose-tip/mouth anchors — auto-detect and manual
|
|
@@ -987,7 +988,7 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
987
988
|
landmarks: Lr,
|
|
988
989
|
mirror: !0
|
|
989
990
|
}
|
|
990
|
-
},
|
|
991
|
+
}, eo = [
|
|
991
992
|
"front",
|
|
992
993
|
"profile-left",
|
|
993
994
|
"profile-right"
|
|
@@ -1001,7 +1002,7 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
1001
1002
|
treatment: { shape: "square", tone: "success" },
|
|
1002
1003
|
concern: { shape: "triangle", tone: "warning" },
|
|
1003
1004
|
note: { shape: "diamond", tone: "neutral" }
|
|
1004
|
-
},
|
|
1005
|
+
}, to = [
|
|
1005
1006
|
"marker",
|
|
1006
1007
|
"pen",
|
|
1007
1008
|
"highlighter",
|
|
@@ -1010,7 +1011,7 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
1010
1011
|
"rect",
|
|
1011
1012
|
"ellipse",
|
|
1012
1013
|
"text"
|
|
1013
|
-
],
|
|
1014
|
+
], aa = {
|
|
1014
1015
|
marker: "marker",
|
|
1015
1016
|
pen: "pen",
|
|
1016
1017
|
highlighter: "highlighter",
|
|
@@ -1020,13 +1021,13 @@ const bn = "0 0 808 944", Cn = { x: 404, y: 472 }, jr = {
|
|
|
1020
1021
|
ellipse: "ellipse",
|
|
1021
1022
|
text: "text"
|
|
1022
1023
|
};
|
|
1023
|
-
function
|
|
1024
|
+
function ca(n) {
|
|
1024
1025
|
return n === "arrow" || n === "line" || n === "rect" || n === "ellipse";
|
|
1025
1026
|
}
|
|
1026
|
-
function
|
|
1027
|
+
function la(n) {
|
|
1027
1028
|
return n === "pen" || n === "highlighter";
|
|
1028
1029
|
}
|
|
1029
|
-
function
|
|
1030
|
+
function da(n) {
|
|
1030
1031
|
return n === "marker" || n === "text";
|
|
1031
1032
|
}
|
|
1032
1033
|
function Hr(n) {
|
|
@@ -1056,11 +1057,11 @@ function Nn(n, r, o) {
|
|
|
1056
1057
|
}
|
|
1057
1058
|
}
|
|
1058
1059
|
}
|
|
1059
|
-
function
|
|
1060
|
+
function no(n, r, o = 16) {
|
|
1060
1061
|
const l = r.x - n.x, d = r.y - n.y, c = Math.hypot(l, d) || 1, m = l / c, h = d / c, p = 0.5, y = Math.cos(p), S = Math.sin(p), b = r.x - o * (m * y - h * S), v = r.y - o * (h * y + m * S), k = r.x - o * (m * y + h * S), w = r.y - o * (h * y - m * S);
|
|
1061
1062
|
return `M ${r.x} ${r.y} L ${b} ${v} M ${r.x} ${r.y} L ${k} ${w}`;
|
|
1062
1063
|
}
|
|
1063
|
-
function
|
|
1064
|
+
function ro(n) {
|
|
1064
1065
|
switch (n.kind) {
|
|
1065
1066
|
case "marker":
|
|
1066
1067
|
case "text":
|
|
@@ -1079,7 +1080,7 @@ function to(n) {
|
|
|
1079
1080
|
}
|
|
1080
1081
|
}
|
|
1081
1082
|
}
|
|
1082
|
-
function
|
|
1083
|
+
function io(n) {
|
|
1083
1084
|
switch (n.kind) {
|
|
1084
1085
|
case "marker":
|
|
1085
1086
|
case "text":
|
|
@@ -1096,8 +1097,8 @@ function no(n) {
|
|
|
1096
1097
|
return { x: (n.from.x + n.to.x) / 2, y: (n.from.y + n.to.y) / 2 };
|
|
1097
1098
|
}
|
|
1098
1099
|
}
|
|
1099
|
-
const
|
|
1100
|
-
function
|
|
1100
|
+
const so = 28, Mn = 26;
|
|
1101
|
+
function oo(n, r = 30) {
|
|
1101
1102
|
switch (n.kind) {
|
|
1102
1103
|
case "marker":
|
|
1103
1104
|
return { type: "circle", cx: n.x, cy: n.y, r: Mn };
|
|
@@ -1131,13 +1132,13 @@ function rt(n, r) {
|
|
|
1131
1132
|
y: n[1] * r.x + n[3] * r.y + n[5]
|
|
1132
1133
|
};
|
|
1133
1134
|
}
|
|
1134
|
-
function
|
|
1135
|
+
function ao(n) {
|
|
1135
1136
|
const r = n[0] * n[3] - n[1] * n[2], o = n[3] / r, l = -n[1] / r, d = -n[2] / r, c = n[0] / r;
|
|
1136
1137
|
return [o, l, d, c, -(o * n[4] + d * n[5]), -(l * n[4] + c * n[5])];
|
|
1137
1138
|
}
|
|
1138
|
-
const
|
|
1139
|
+
const co = 0.84;
|
|
1139
1140
|
function $r(n, r, o, l = {}) {
|
|
1140
|
-
const d = `0 0 ${o.width} ${o.height}`, c = l.fraction ??
|
|
1141
|
+
const d = `0 0 ${o.width} ${o.height}`, c = l.fraction ?? co;
|
|
1141
1142
|
if (c <= 0 || c > 1) return d;
|
|
1142
1143
|
const m = [
|
|
1143
1144
|
{ x: n.x, y: n.y },
|
|
@@ -1160,12 +1161,12 @@ function $r(n, r, o, l = {}) {
|
|
|
1160
1161
|
const X = Math.min(Math.max(h + b / 2 - L / 2, 0), o.width - L), $ = Math.min(Math.max(p + v / 2 - w / 2, 0), o.height - w);
|
|
1161
1162
|
return `${Math.round(X)} ${Math.round($)} ${Math.round(L)} ${Math.round(w)}`;
|
|
1162
1163
|
}
|
|
1163
|
-
const
|
|
1164
|
+
const lo = 1, Ur = 8, it = { k: 1, fx: 0.5, fy: 0.5 }, De = (n) => Math.min(Math.max(n, 0), 1);
|
|
1164
1165
|
function _t(n) {
|
|
1165
1166
|
const [r = 0, o = 0, l = 0, d = 0] = n.split(/\s+/).map(Number);
|
|
1166
1167
|
return { x: r, y: o, width: l, height: d };
|
|
1167
1168
|
}
|
|
1168
|
-
function
|
|
1169
|
+
function uo(n) {
|
|
1169
1170
|
return `${Math.round(n.x)} ${Math.round(n.y)} ${Math.round(n.width)} ${Math.round(n.height)}`;
|
|
1170
1171
|
}
|
|
1171
1172
|
function st(n, r) {
|
|
@@ -1179,7 +1180,7 @@ function st(n, r) {
|
|
|
1179
1180
|
};
|
|
1180
1181
|
}
|
|
1181
1182
|
function Fr(n, r, o, l) {
|
|
1182
|
-
const d = Math.min(Math.max(r.k * l,
|
|
1183
|
+
const d = Math.min(Math.max(r.k * l, lo), Ur);
|
|
1183
1184
|
if (d <= 1) return it;
|
|
1184
1185
|
if (d === r.k || !Number.isFinite(d)) return r;
|
|
1185
1186
|
const c = st(n, r), m = n.width / d, h = n.height / d, p = c.width > 0 ? De((o.x - c.x) / c.width) : 0.5, y = c.height > 0 ? De((o.y - c.y) / c.height) : 0.5, S = o.x - p * m, b = o.y - y * h, v = n.width - m, k = n.height - h;
|
|
@@ -1189,7 +1190,7 @@ function Fr(n, r, o, l) {
|
|
|
1189
1190
|
fy: k > 0 ? De((b - n.y) / k) : 0.5
|
|
1190
1191
|
};
|
|
1191
1192
|
}
|
|
1192
|
-
function
|
|
1193
|
+
function fo(n, r, o, l) {
|
|
1193
1194
|
if (r.k <= 1) return r;
|
|
1194
1195
|
const d = st(n, r), c = n.width - d.width, m = n.height - d.height;
|
|
1195
1196
|
return {
|
|
@@ -1199,11 +1200,11 @@ function lo(n, r, o, l) {
|
|
|
1199
1200
|
};
|
|
1200
1201
|
}
|
|
1201
1202
|
const Ft = Math.PI / 180;
|
|
1202
|
-
function
|
|
1203
|
+
function ho(n, r) {
|
|
1203
1204
|
const o = n.rotation * Ft, l = Math.cos(o), d = Math.sin(o), c = Math.tan(n.shear * Ft), m = n.scaleX * l, h = n.scaleX * d, p = n.scaleY * (c * l - d), y = n.scaleY * (c * d + l), S = n.translateX + r.x - (m * r.x + p * r.y), b = n.translateY + r.y - (h * r.x + y * r.y);
|
|
1204
1205
|
return [m, h, p, y, S, b];
|
|
1205
1206
|
}
|
|
1206
|
-
function
|
|
1207
|
+
function mo(n, r) {
|
|
1207
1208
|
const [o, l, d, c, m, h] = n, p = Math.hypot(o, l), y = Math.atan2(l, o) / Ft, S = o * c - l * d, b = p === 0 ? 0 : S / p, v = Math.atan2(o * d + l * c, S) / Ft, k = m - r.x + (o * r.x + d * r.y), w = h - r.y + (l * r.x + c * r.y);
|
|
1208
1209
|
return { scaleX: p, scaleY: b, rotation: y, shear: v, translateX: k, translateY: w };
|
|
1209
1210
|
}
|
|
@@ -1224,7 +1225,7 @@ function Kr(n, r) {
|
|
|
1224
1225
|
], [pe, re, be] = q(p, y, S), [le, ge, ye] = q(b, v, k);
|
|
1225
1226
|
return [pe, le, re, ge, be, ye];
|
|
1226
1227
|
}
|
|
1227
|
-
function
|
|
1228
|
+
function po(n) {
|
|
1228
1229
|
const r = (p) => {
|
|
1229
1230
|
var y;
|
|
1230
1231
|
return (y = n.find((S) => S.id === p)) == null ? void 0 : y.photo;
|
|
@@ -1237,14 +1238,14 @@ function ho(n) {
|
|
|
1237
1238
|
{ id: "mouth", photo: h(c, m) }
|
|
1238
1239
|
];
|
|
1239
1240
|
}
|
|
1240
|
-
function
|
|
1241
|
+
function go() {
|
|
1241
1242
|
return typeof navigator < "u" && typeof navigator.mediaDevices < "u" && typeof navigator.mediaDevices.getUserMedia == "function";
|
|
1242
1243
|
}
|
|
1243
|
-
function
|
|
1244
|
+
function yo(n) {
|
|
1244
1245
|
const r = n instanceof Error ? n.name : "";
|
|
1245
1246
|
return r === "NotAllowedError" || r === "SecurityError" ? "permission-denied" : r === "NotFoundError" || r === "OverconstrainedError" ? "no-camera" : r === "NotReadableError" || r === "AbortError" ? "not-readable" : "capture-failed";
|
|
1246
1247
|
}
|
|
1247
|
-
const
|
|
1248
|
+
const xo = {
|
|
1248
1249
|
"permission-denied": "faceScheme.capture.error.permissionDenied",
|
|
1249
1250
|
"no-camera": "faceScheme.capture.error.noCamera",
|
|
1250
1251
|
"not-readable": "faceScheme.capture.error.notReadable",
|
|
@@ -1264,32 +1265,32 @@ const go = {
|
|
|
1264
1265
|
warning: "ds:[stroke:var(--warning)]",
|
|
1265
1266
|
error: "ds:[stroke:var(--destructive)]",
|
|
1266
1267
|
accent: "ds:[stroke:var(--accent)]"
|
|
1267
|
-
},
|
|
1268
|
+
}, vo = 13, wo = 5, ko = 24, Rt = 5, bo = 26, Zr = 30, $t = 14, Or = [], Pr = "__draft__", Dr = [
|
|
1268
1269
|
"profile-left",
|
|
1269
1270
|
"front",
|
|
1270
1271
|
"profile-right"
|
|
1271
|
-
],
|
|
1272
|
+
], Co = {
|
|
1272
1273
|
"profile-left": /* @__PURE__ */ a(Tr, { "aria-hidden": "true" }),
|
|
1273
|
-
front: /* @__PURE__ */ a(
|
|
1274
|
+
front: /* @__PURE__ */ a(zs, { "aria-hidden": "true" }),
|
|
1274
1275
|
"profile-right": /* @__PURE__ */ a(Tr, { "aria-hidden": "true", className: "ds:-scale-x-100" })
|
|
1275
|
-
},
|
|
1276
|
-
select:
|
|
1277
|
-
marker:
|
|
1278
|
-
pen:
|
|
1279
|
-
highlighter:
|
|
1280
|
-
arrow:
|
|
1281
|
-
line:
|
|
1282
|
-
rect:
|
|
1283
|
-
ellipse:
|
|
1284
|
-
text:
|
|
1285
|
-
},
|
|
1276
|
+
}, So = {
|
|
1277
|
+
select: Ss,
|
|
1278
|
+
marker: hs,
|
|
1279
|
+
pen: Ns,
|
|
1280
|
+
highlighter: us,
|
|
1281
|
+
arrow: ds,
|
|
1282
|
+
line: ls,
|
|
1283
|
+
rect: cs,
|
|
1284
|
+
ellipse: as,
|
|
1285
|
+
text: os
|
|
1286
|
+
}, Mo = [
|
|
1286
1287
|
"accent",
|
|
1287
1288
|
"info",
|
|
1288
1289
|
"success",
|
|
1289
1290
|
"warning",
|
|
1290
1291
|
"error",
|
|
1291
1292
|
"neutral"
|
|
1292
|
-
], Br =
|
|
1293
|
+
], Br = qi(
|
|
1293
1294
|
[
|
|
1294
1295
|
"ds:[vector-effect:non-scaling-stroke]",
|
|
1295
1296
|
"ds:transition-[fill-opacity,stroke-opacity] ds:[transition-duration:var(--animation-duration)]",
|
|
@@ -1320,21 +1321,21 @@ const go = {
|
|
|
1320
1321
|
],
|
|
1321
1322
|
defaultVariants: { interactive: !1, marked: !1, selected: !1 }
|
|
1322
1323
|
}
|
|
1323
|
-
),
|
|
1324
|
+
), No = {
|
|
1324
1325
|
scaleX: { min: 0.3, max: 1.8, step: 0.01 },
|
|
1325
1326
|
scaleY: { min: 0.3, max: 1.8, step: 0.01 },
|
|
1326
1327
|
rotation: { min: -20, max: 20, step: 0.5 },
|
|
1327
1328
|
shear: { min: -20, max: 20, step: 0.5 },
|
|
1328
1329
|
translateX: { min: -240, max: 240, step: 1 },
|
|
1329
1330
|
translateY: { min: -240, max: 240, step: 1 }
|
|
1330
|
-
},
|
|
1331
|
+
}, Io = [
|
|
1331
1332
|
"scaleX",
|
|
1332
1333
|
"scaleY",
|
|
1333
1334
|
"rotation",
|
|
1334
1335
|
"shear",
|
|
1335
1336
|
"translateX",
|
|
1336
1337
|
"translateY"
|
|
1337
|
-
],
|
|
1338
|
+
], Ao = Vi(
|
|
1338
1339
|
({
|
|
1339
1340
|
id: n,
|
|
1340
1341
|
patientPhoto: r,
|
|
@@ -1379,20 +1380,20 @@ const go = {
|
|
|
1379
1380
|
ariaLabel: Xr,
|
|
1380
1381
|
className: qr
|
|
1381
1382
|
}, Gr) => {
|
|
1382
|
-
const { t: f } =
|
|
1383
|
+
const { t: f, i18n: Jr } = Gi("ui"), G = Yi(), lt = n ?? G, An = N(null), dt = N(null), ut = N(null), We = N(null), Tn = N(null), En = N(null), Ot = N(!1), Pt = l !== void 0, [Qr, ei] = T(
|
|
1383
1384
|
l ?? d
|
|
1384
|
-
), A = Pt ? l :
|
|
1385
|
+
), A = Pt ? l : Qr, K = N(A);
|
|
1385
1386
|
K.current = A;
|
|
1386
1387
|
const ft = g(
|
|
1387
1388
|
(e) => {
|
|
1388
|
-
Pt ||
|
|
1389
|
+
Pt || ei(e), c == null || c(e);
|
|
1389
1390
|
},
|
|
1390
1391
|
[Pt, c]
|
|
1391
|
-
), [Dt, ht] = T(be), zn = `${G}-panel`, [mt, _n] = T(h), [Ln,
|
|
1392
|
+
), [Dt, ht] = T(be), zn = `${G}-panel`, [mt, _n] = T(h), [Ln, ti] = T(!0), M = Sn[A], [, , B, se] = M.viewBox.split(" ").map(Number), _ = p === "interactive", Ce = _ && Yr === "adjust", Bt = y !== void 0, [ni, ri] = T(S ?? {}), He = Bt ? y : ni, j = N(He);
|
|
1392
1393
|
j.current = He;
|
|
1393
1394
|
const oe = g(
|
|
1394
1395
|
(e) => {
|
|
1395
|
-
Bt ||
|
|
1396
|
+
Bt || ri(e), b == null || b(e);
|
|
1396
1397
|
},
|
|
1397
1398
|
[Bt, b]
|
|
1398
1399
|
), pt = g(
|
|
@@ -1417,16 +1418,16 @@ const go = {
|
|
|
1417
1418
|
) ? gt(e, t) : pt(e, t);
|
|
1418
1419
|
},
|
|
1419
1420
|
[pt, gt]
|
|
1420
|
-
), J = _ && w === "multi", yt = L !== void 0, [
|
|
1421
|
+
), J = _ && w === "multi", yt = L !== void 0, [ii, si] = T(
|
|
1421
1422
|
X ?? []
|
|
1422
|
-
), U = yt ? L :
|
|
1423
|
+
), U = yt ? L : ii, de = N(U);
|
|
1423
1424
|
de.current = U;
|
|
1424
1425
|
const $n = xn(
|
|
1425
1426
|
() => new Set(U),
|
|
1426
1427
|
[U]
|
|
1427
1428
|
), Ee = g(
|
|
1428
1429
|
(e) => {
|
|
1429
|
-
yt || (de.current = e), yt ||
|
|
1430
|
+
yt || (de.current = e), yt || si(e), $ == null || $(e);
|
|
1430
1431
|
},
|
|
1431
1432
|
[yt, $]
|
|
1432
1433
|
), Fn = g(
|
|
@@ -1463,27 +1464,27 @@ const go = {
|
|
|
1463
1464
|
s && oe(i);
|
|
1464
1465
|
},
|
|
1465
1466
|
[oe]
|
|
1466
|
-
), Wt = D !== void 0, [
|
|
1467
|
+
), Wt = D !== void 0, [oi, ai] = T(
|
|
1467
1468
|
Vr ?? {}
|
|
1468
|
-
), vt = Wt ? D :
|
|
1469
|
+
), vt = Wt ? D : oi, Q = vt[A] ?? Pe, Ht = N(Q);
|
|
1469
1470
|
Ht.current = Q;
|
|
1470
1471
|
const On = N(vt);
|
|
1471
1472
|
On.current = vt;
|
|
1472
1473
|
const ae = g(
|
|
1473
1474
|
(e) => {
|
|
1474
1475
|
const t = { ...On.current, [A]: e };
|
|
1475
|
-
Wt ||
|
|
1476
|
+
Wt || ai(t), ot == null || ot(t);
|
|
1476
1477
|
},
|
|
1477
1478
|
[Wt, ot, A]
|
|
1478
1479
|
), Ut = xn(
|
|
1479
|
-
() =>
|
|
1480
|
+
() => mo(Q, M.pivot),
|
|
1480
1481
|
[Q, M.pivot]
|
|
1481
1482
|
), ce = g(
|
|
1482
1483
|
(e) => M.mirror ? { x: B - e.x, y: e.y } : e,
|
|
1483
1484
|
[M.mirror, B]
|
|
1484
1485
|
), [Vt, Pn] = T(
|
|
1485
1486
|
() => M.landmarks.map((e) => ce(rt(Q, e)))
|
|
1486
|
-
), wt = N(null), [
|
|
1487
|
+
), wt = N(null), [ci, Dn] = T(null), Bn = N(null), [xe, Se] = T(it), Yt = N(xe);
|
|
1487
1488
|
Yt.current = xe;
|
|
1488
1489
|
const kt = N(M.viewBox), ze = N(null);
|
|
1489
1490
|
ne(() => {
|
|
@@ -1540,12 +1541,12 @@ const go = {
|
|
|
1540
1541
|
} catch {
|
|
1541
1542
|
}
|
|
1542
1543
|
}
|
|
1543
|
-
}, []),
|
|
1544
|
+
}, []), li = g(
|
|
1544
1545
|
(e) => (t) => {
|
|
1545
1546
|
wt.current = e, Dn(Bn.current), t.currentTarget.setPointerCapture(t.pointerId);
|
|
1546
1547
|
},
|
|
1547
1548
|
[]
|
|
1548
|
-
),
|
|
1549
|
+
), di = g(
|
|
1549
1550
|
(e) => {
|
|
1550
1551
|
const t = wt.current;
|
|
1551
1552
|
if (t === null) return;
|
|
@@ -1555,26 +1556,26 @@ const go = {
|
|
|
1555
1556
|
ae(Kr(u, s.map(ce)));
|
|
1556
1557
|
},
|
|
1557
1558
|
[Vt, ve, M.landmarks, ae, ce]
|
|
1558
|
-
),
|
|
1559
|
+
), ui = g(() => {
|
|
1559
1560
|
wt.current = null, Dn(null);
|
|
1560
1561
|
}, []), [Ve, ue] = T("idle"), [Vn, _e] = T(
|
|
1561
1562
|
null
|
|
1562
|
-
), [Yn,
|
|
1563
|
+
), [Yn, fi] = T({}), Me = (o == null ? void 0 : o[A]) ?? (A === "front" ? r : void 0), ee = Yn[A] ?? (Me == null ? void 0 : Me.src), Gt = I !== void 0, [hi, mi] = T(R ?? {}), Ct = Gt ? I : hi, W = N(Ct);
|
|
1563
1564
|
W.current = Ct;
|
|
1564
1565
|
const Ne = Ct[A] ?? Or, Z = g(
|
|
1565
1566
|
(e) => {
|
|
1566
1567
|
const t = { ...W.current };
|
|
1567
|
-
e.length > 0 ? t[K.current] = e : delete t[K.current], W.current = t, Gt ||
|
|
1568
|
+
e.length > 0 ? t[K.current] = e : delete t[K.current], W.current = t, Gt || mi(t), H == null || H(t);
|
|
1568
1569
|
},
|
|
1569
1570
|
[Gt, H]
|
|
1570
|
-
),
|
|
1571
|
-
() => `${lt}-a${
|
|
1571
|
+
), pi = N(0), Xn = g(
|
|
1572
|
+
() => `${lt}-a${pi.current += 1}`,
|
|
1572
1573
|
[lt]
|
|
1573
|
-
), [Ie,
|
|
1574
|
+
), [Ie, gi] = T(null), te = N(null);
|
|
1574
1575
|
te.current = Ie;
|
|
1575
1576
|
const O = g(
|
|
1576
1577
|
(e) => {
|
|
1577
|
-
te.current !== e && (te.current = e,
|
|
1578
|
+
te.current !== e && (te.current = e, gi(e), q == null || q(e));
|
|
1578
1579
|
},
|
|
1579
1580
|
[q]
|
|
1580
1581
|
), qn = g(
|
|
@@ -1582,7 +1583,7 @@ const go = {
|
|
|
1582
1583
|
const t = dt.current;
|
|
1583
1584
|
if (!t) return null;
|
|
1584
1585
|
const i = rt(
|
|
1585
|
-
|
|
1586
|
+
ao(Ht.current),
|
|
1586
1587
|
ce(e)
|
|
1587
1588
|
), s = t.querySelectorAll(
|
|
1588
1589
|
"[data-zone] > path:first-of-type"
|
|
@@ -1599,7 +1600,7 @@ const go = {
|
|
|
1599
1600
|
[ce]
|
|
1600
1601
|
), Ae = g(
|
|
1601
1602
|
(e) => {
|
|
1602
|
-
const t = e.id ?? Xn(), i = { ...e, id: t }, s = i.zoneId === void 0 ? { ...i, zoneId: qn(
|
|
1603
|
+
const t = e.id ?? Xn(), i = { ...e, id: t }, s = i.zoneId === void 0 ? { ...i, zoneId: qn(io(i)) } : i, u = W.current[K.current] ?? [];
|
|
1603
1604
|
return Z([...u, s]), O(t), t;
|
|
1604
1605
|
},
|
|
1605
1606
|
[Z, Xn, O, qn]
|
|
@@ -1622,18 +1623,18 @@ const go = {
|
|
|
1622
1623
|
e.length > 0 && Z(e.slice(0, -1));
|
|
1623
1624
|
}, [Z]), en = g(() => {
|
|
1624
1625
|
(W.current[K.current] ?? []).length > 0 && Z([]);
|
|
1625
|
-
}, [Z]), tn = le !== void 0, [
|
|
1626
|
+
}, [Z]), tn = le !== void 0, [yi, xi] = T(
|
|
1626
1627
|
ge
|
|
1627
|
-
), V = _ ? (tn ? le :
|
|
1628
|
+
), V = _ ? (tn ? le : yi) ?? null : null, nn = N(V);
|
|
1628
1629
|
nn.current = V;
|
|
1629
1630
|
const rn = g(
|
|
1630
1631
|
(e) => {
|
|
1631
|
-
tn ||
|
|
1632
|
+
tn || xi(e), ye == null || ye(e);
|
|
1632
1633
|
},
|
|
1633
1634
|
[tn, ye]
|
|
1634
|
-
), [sn,
|
|
1635
|
+
), [sn, vi] = T(
|
|
1635
1636
|
ie
|
|
1636
|
-
), [on,
|
|
1637
|
+
), [on, wi] = T(z), Gn = N(sn);
|
|
1637
1638
|
Gn.current = sn;
|
|
1638
1639
|
const Ye = N(on);
|
|
1639
1640
|
Ye.current = on;
|
|
@@ -1656,7 +1657,7 @@ const go = {
|
|
|
1656
1657
|
const e = te.current;
|
|
1657
1658
|
e !== null && !Ne.some((t) => t.id === e) && O(null);
|
|
1658
1659
|
}, [Ne, O]);
|
|
1659
|
-
const qe = V !== null,
|
|
1660
|
+
const qe = V !== null, ki = g(
|
|
1660
1661
|
(e) => {
|
|
1661
1662
|
var s, u;
|
|
1662
1663
|
const t = nn.current;
|
|
@@ -1698,7 +1699,7 @@ const go = {
|
|
|
1698
1699
|
});
|
|
1699
1700
|
},
|
|
1700
1701
|
[ve, Ae]
|
|
1701
|
-
),
|
|
1702
|
+
), bi = g(
|
|
1702
1703
|
(e) => {
|
|
1703
1704
|
if (!Nt.current) return;
|
|
1704
1705
|
const t = ve(e.clientX, e.clientY);
|
|
@@ -1720,7 +1721,7 @@ const go = {
|
|
|
1720
1721
|
Ae(s);
|
|
1721
1722
|
},
|
|
1722
1723
|
[Ae]
|
|
1723
|
-
), ln = Xe ? Ne.find((e) => e.id === Xe && e.kind === "text") : void 0,
|
|
1724
|
+
), ln = Xe ? Ne.find((e) => e.id === Xe && e.kind === "text") : void 0, Ci = g(
|
|
1724
1725
|
(e) => {
|
|
1725
1726
|
const t = cn.current;
|
|
1726
1727
|
if (!t) return;
|
|
@@ -1747,7 +1748,7 @@ const go = {
|
|
|
1747
1748
|
}, [Le]), un = g(async () => {
|
|
1748
1749
|
var e;
|
|
1749
1750
|
if (Kt) {
|
|
1750
|
-
if (!
|
|
1751
|
+
if (!go()) {
|
|
1751
1752
|
_e("insecure-context"), ue("error");
|
|
1752
1753
|
return;
|
|
1753
1754
|
}
|
|
@@ -1774,15 +1775,15 @@ const go = {
|
|
|
1774
1775
|
}
|
|
1775
1776
|
ue("streaming");
|
|
1776
1777
|
} catch (t) {
|
|
1777
|
-
Le(), _e(
|
|
1778
|
+
Le(), _e(yo(t)), ue("error");
|
|
1778
1779
|
}
|
|
1779
1780
|
}
|
|
1780
1781
|
}, [Kt, Zt, Le]), Ge = g(
|
|
1781
1782
|
(e, t, i) => {
|
|
1782
|
-
|
|
1783
|
+
fi((s) => ({ ...s, [A]: e })), ct == null || ct({ src: e, width: t, height: i, view: A });
|
|
1783
1784
|
},
|
|
1784
1785
|
[ct, A]
|
|
1785
|
-
),
|
|
1786
|
+
), Si = g(() => {
|
|
1786
1787
|
const e = ut.current, t = (e == null ? void 0 : e.videoWidth) || (e == null ? void 0 : e.clientWidth) || 0, i = (e == null ? void 0 : e.videoHeight) || (e == null ? void 0 : e.clientHeight) || 0;
|
|
1787
1788
|
if (!e || e.readyState < 2 || t === 0 || i === 0) {
|
|
1788
1789
|
_e("capture-failed"), ue("error");
|
|
@@ -1802,7 +1803,7 @@ const go = {
|
|
|
1802
1803
|
return;
|
|
1803
1804
|
}
|
|
1804
1805
|
Le(), Ge(s.toDataURL("image/jpeg", 0.92), t, i), ue("idle");
|
|
1805
|
-
}, [Le, Ge]),
|
|
1806
|
+
}, [Le, Ge]), Mi = g(
|
|
1806
1807
|
(e) => {
|
|
1807
1808
|
var s;
|
|
1808
1809
|
const t = (s = e.target.files) == null ? void 0 : s[0];
|
|
@@ -1826,9 +1827,9 @@ const go = {
|
|
|
1826
1827
|
var e;
|
|
1827
1828
|
ir.current && !fe && ((e = En.current) == null || e.focus()), ir.current = fe;
|
|
1828
1829
|
}, [fe]);
|
|
1829
|
-
const [At,
|
|
1830
|
+
const [At, Ni] = T("idle"), Re = g(
|
|
1830
1831
|
(e) => {
|
|
1831
|
-
|
|
1832
|
+
Ni(e), at == null || at(e);
|
|
1832
1833
|
},
|
|
1833
1834
|
[at]
|
|
1834
1835
|
), fn = g(async () => {
|
|
@@ -1839,7 +1840,7 @@ const go = {
|
|
|
1839
1840
|
Re("loading");
|
|
1840
1841
|
let i;
|
|
1841
1842
|
if (M.id === "front")
|
|
1842
|
-
i = await
|
|
1843
|
+
i = await Ds(ee, {
|
|
1843
1844
|
viewWidth: B,
|
|
1844
1845
|
viewHeight: se,
|
|
1845
1846
|
onStage: t,
|
|
@@ -1847,7 +1848,7 @@ const go = {
|
|
|
1847
1848
|
modelAssetPath: e.modelAssetPath
|
|
1848
1849
|
});
|
|
1849
1850
|
else {
|
|
1850
|
-
const s = await
|
|
1851
|
+
const s = await Gs(ee, {
|
|
1851
1852
|
viewWidth: B,
|
|
1852
1853
|
viewHeight: se,
|
|
1853
1854
|
onStage: t,
|
|
@@ -1855,7 +1856,7 @@ const go = {
|
|
|
1855
1856
|
ortWasmBaseUrl: e.ortWasmBaseUrl,
|
|
1856
1857
|
modelUrl: e.yunetModelUrl
|
|
1857
1858
|
});
|
|
1858
|
-
i = s &&
|
|
1859
|
+
i = s && po(s);
|
|
1859
1860
|
}
|
|
1860
1861
|
return !i || i.length < 3 ? (Re("no-face"), !1) : (bt(i), Re("done"), !0);
|
|
1861
1862
|
} catch {
|
|
@@ -1954,7 +1955,7 @@ const go = {
|
|
|
1954
1955
|
qt
|
|
1955
1956
|
]
|
|
1956
1957
|
);
|
|
1957
|
-
|
|
1958
|
+
Xi(Gr, () => hn, [hn]), Ji(Rs, hn, lt);
|
|
1958
1959
|
const or = g(
|
|
1959
1960
|
(e) => {
|
|
1960
1961
|
const t = f(`faceScheme.zone.${e.labelKey}`), i = j.current[e.id] ?? [];
|
|
@@ -1978,12 +1979,12 @@ const go = {
|
|
|
1978
1979
|
Rn,
|
|
1979
1980
|
v
|
|
1980
1981
|
]
|
|
1981
|
-
),
|
|
1982
|
+
), Ii = Me != null && Me.altKey ? f(Me.altKey) : f("faceScheme.photo.defaultAlt"), Ai = M.mirror ? `translate(${B} 0) scale(-1 1) ${zt(Q)}` : zt(Q), Ti = g(
|
|
1982
1983
|
(e, t) => {
|
|
1983
|
-
ae(
|
|
1984
|
+
ae(ho({ ...Ut, [e]: t }, M.pivot));
|
|
1984
1985
|
},
|
|
1985
1986
|
[ae, Ut, M.pivot]
|
|
1986
|
-
), cr = !!je && !!ee && M.landmarks.length > 0, mn = Kt, lr = m &&
|
|
1987
|
+
), cr = !!je && !!ee && M.landmarks.length > 0, mn = Kt, lr = m && eo.length > 1, Je = _ && pe, he = _ && re, pn = J || Je || Ce || he, dr = Dt && pn, we = mt === "all" && lr;
|
|
1987
1988
|
ne(() => {
|
|
1988
1989
|
Se(it);
|
|
1989
1990
|
}, [A, he]), ne(() => {
|
|
@@ -2005,11 +2006,11 @@ const go = {
|
|
|
2005
2006
|
};
|
|
2006
2007
|
return e.addEventListener("wheel", t, { passive: !1 }), () => e.removeEventListener("wheel", t);
|
|
2007
2008
|
}, [he, ve, we, A, fe]);
|
|
2008
|
-
const Qe = dr && !we,
|
|
2009
|
+
const Qe = dr && !we, Ei = Qe ? "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:flex-row ds:lg:items-stretch ds:lg:justify-center" : "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", zi = Qe ? "ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-sm)] ds:lg:w-[28rem] ds:lg:shrink-0" : "ds:flex ds:w-full ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-sm)]", _i = Qe ? "ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:w-[28rem] ds:lg:shrink-0 ds:lg:self-stretch" : "ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-md)]", Li = Qe ? "ds:lg:h-0 ds:lg:min-h-full" : void 0, Ri = Qe ? "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:lg:min-h-0 ds:lg:flex-1 ds:lg:overflow-y-auto" : "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", ur = lr, $i = ur || mn || pn, fr = pn ? /* @__PURE__ */ a(
|
|
2009
2010
|
Ke,
|
|
2010
2011
|
{
|
|
2011
2012
|
size: "sm",
|
|
2012
|
-
icon: /* @__PURE__ */ a(
|
|
2013
|
+
icon: /* @__PURE__ */ a(As, { "aria-hidden": "true" }),
|
|
2013
2014
|
"aria-label": f("faceScheme.panel.toggle"),
|
|
2014
2015
|
"aria-expanded": Dt,
|
|
2015
2016
|
"aria-controls": Dt ? zn : void 0,
|
|
@@ -2017,10 +2018,10 @@ const go = {
|
|
|
2017
2018
|
onClick: () => ht((e) => !e)
|
|
2018
2019
|
},
|
|
2019
2020
|
"panel"
|
|
2020
|
-
) : null,
|
|
2021
|
+
) : null, Fi = V ?? "select", hr = `${G}-draw`, mr = `${G}-fit`, pr = `${G}-zoom`, gr = `${G}-tools`, yr = `${G}-tones`, xr = `${G}-shapes`, Ki = `${G}-ann-zone`, et = Ie !== null ? Ne.find((e) => e.id === Ie) : void 0, Zi = M.zones.map((e) => ({
|
|
2021
2022
|
value: e.id,
|
|
2022
2023
|
label: f(`faceScheme.zone.${e.labelKey}`)
|
|
2023
|
-
})), me = "ds:text-[length:var(--font-size-xs)] ds:font-medium ds:text-[var(--muted-foreground)]", vr = `${G}-zones`, wr = `${G}-zones-apply`,
|
|
2024
|
+
})), me = "ds:text-[length:var(--font-size-xs)] ds:font-medium ds:text-[var(--muted-foreground)]", vr = `${G}-zones`, wr = `${G}-zones-apply`, Oi = J ? /* @__PURE__ */ C(
|
|
2024
2025
|
"div",
|
|
2025
2026
|
{
|
|
2026
2027
|
"data-testid": "face-scheme-zones",
|
|
@@ -2108,7 +2109,7 @@ const go = {
|
|
|
2108
2109
|
)
|
|
2109
2110
|
]
|
|
2110
2111
|
}
|
|
2111
|
-
) : null,
|
|
2112
|
+
) : null, Pi = Je ? /* @__PURE__ */ C(
|
|
2112
2113
|
"div",
|
|
2113
2114
|
{
|
|
2114
2115
|
"data-testid": "face-scheme-toolbar",
|
|
@@ -2127,11 +2128,11 @@ const go = {
|
|
|
2127
2128
|
size: "sm",
|
|
2128
2129
|
"aria-labelledby": gr,
|
|
2129
2130
|
className: "ds:self-start",
|
|
2130
|
-
value:
|
|
2131
|
+
value: Fi,
|
|
2131
2132
|
onValueChange: (e) => rn(e === "select" ? null : e),
|
|
2132
|
-
children: ["select", ...
|
|
2133
|
+
children: ["select", ...to].map(
|
|
2133
2134
|
(e) => {
|
|
2134
|
-
const t =
|
|
2135
|
+
const t = So[e];
|
|
2135
2136
|
return /* @__PURE__ */ a(
|
|
2136
2137
|
Ke,
|
|
2137
2138
|
{
|
|
@@ -2159,7 +2160,7 @@ const go = {
|
|
|
2159
2160
|
value: on,
|
|
2160
2161
|
onValueChange: (e) => {
|
|
2161
2162
|
const t = e;
|
|
2162
|
-
|
|
2163
|
+
wi(t);
|
|
2163
2164
|
const i = te.current;
|
|
2164
2165
|
if (i !== null) {
|
|
2165
2166
|
const s = W.current[K.current] ?? [];
|
|
@@ -2170,7 +2171,7 @@ const go = {
|
|
|
2170
2171
|
);
|
|
2171
2172
|
}
|
|
2172
2173
|
},
|
|
2173
|
-
children:
|
|
2174
|
+
children: Mo.map((e) => /* @__PURE__ */ a(
|
|
2174
2175
|
Ke,
|
|
2175
2176
|
{
|
|
2176
2177
|
value: e,
|
|
@@ -2201,8 +2202,8 @@ const go = {
|
|
|
2201
2202
|
"aria-labelledby": xr,
|
|
2202
2203
|
className: "ds:self-start",
|
|
2203
2204
|
value: sn,
|
|
2204
|
-
onValueChange: (e) =>
|
|
2205
|
-
children:
|
|
2205
|
+
onValueChange: (e) => vi(e),
|
|
2206
|
+
children: Qi.map((e) => /* @__PURE__ */ a(
|
|
2206
2207
|
Ke,
|
|
2207
2208
|
{
|
|
2208
2209
|
value: e,
|
|
@@ -2228,7 +2229,7 @@ const go = {
|
|
|
2228
2229
|
placeholder: f("faceScheme.annotate.textPlaceholder"),
|
|
2229
2230
|
value: ln.text,
|
|
2230
2231
|
autoFocus: !0,
|
|
2231
|
-
onChange: (e) =>
|
|
2232
|
+
onChange: (e) => Ci(e.target.value),
|
|
2232
2233
|
onKeyDown: (e) => {
|
|
2233
2234
|
(e.key === "Enter" || e.key === "Escape") && (e.preventDefault(), rr());
|
|
2234
2235
|
}
|
|
@@ -2237,7 +2238,7 @@ const go = {
|
|
|
2237
2238
|
/* @__PURE__ */ a(P, { size: "sm", intent: "primary", onClick: rr, children: f("faceScheme.annotate.textDone") })
|
|
2238
2239
|
] }),
|
|
2239
2240
|
et && /* @__PURE__ */ C("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
|
|
2240
|
-
/* @__PURE__ */ a("span", { id:
|
|
2241
|
+
/* @__PURE__ */ a("span", { id: Ki, className: me, children: f("faceScheme.annotate.zoneLabel") }),
|
|
2241
2242
|
/* @__PURE__ */ a(
|
|
2242
2243
|
"span",
|
|
2243
2244
|
{
|
|
@@ -2247,10 +2248,10 @@ const go = {
|
|
|
2247
2248
|
}
|
|
2248
2249
|
),
|
|
2249
2250
|
/* @__PURE__ */ a(
|
|
2250
|
-
|
|
2251
|
+
ns,
|
|
2251
2252
|
{
|
|
2252
2253
|
size: "sm",
|
|
2253
|
-
options:
|
|
2254
|
+
options: Zi,
|
|
2254
2255
|
value: et.zoneId ?? "",
|
|
2255
2256
|
clearable: !0,
|
|
2256
2257
|
placeholder: et.zoneId == null ? f("faceScheme.annotate.zoneNone") : f("faceScheme.annotate.zonePlaceholder"),
|
|
@@ -2265,7 +2266,7 @@ const go = {
|
|
|
2265
2266
|
{
|
|
2266
2267
|
size: "sm",
|
|
2267
2268
|
intent: "outline",
|
|
2268
|
-
startIcon: /* @__PURE__ */ a(
|
|
2269
|
+
startIcon: /* @__PURE__ */ a(ms, { "aria-hidden": "true" }),
|
|
2269
2270
|
onClick: () => {
|
|
2270
2271
|
const e = te.current;
|
|
2271
2272
|
e !== null && St(e);
|
|
@@ -2279,7 +2280,7 @@ const go = {
|
|
|
2279
2280
|
{
|
|
2280
2281
|
size: "sm",
|
|
2281
2282
|
intent: "outline",
|
|
2282
|
-
startIcon: /* @__PURE__ */ a(
|
|
2283
|
+
startIcon: /* @__PURE__ */ a(fs, { "aria-hidden": "true" }),
|
|
2283
2284
|
onClick: Qt,
|
|
2284
2285
|
disabled: Ne.length === 0,
|
|
2285
2286
|
children: f("faceScheme.annotate.undo")
|
|
@@ -2290,7 +2291,7 @@ const go = {
|
|
|
2290
2291
|
{
|
|
2291
2292
|
size: "sm",
|
|
2292
2293
|
intent: "outline",
|
|
2293
|
-
startIcon: /* @__PURE__ */ a(
|
|
2294
|
+
startIcon: /* @__PURE__ */ a(ps, { "aria-hidden": "true" }),
|
|
2294
2295
|
onClick: en,
|
|
2295
2296
|
disabled: Ne.length === 0,
|
|
2296
2297
|
children: f("faceScheme.annotate.clear")
|
|
@@ -2299,7 +2300,7 @@ const go = {
|
|
|
2299
2300
|
] })
|
|
2300
2301
|
]
|
|
2301
2302
|
}
|
|
2302
|
-
) : null,
|
|
2303
|
+
) : null, Di = (e) => {
|
|
2303
2304
|
const t = e.kind === "text" ? e.text.trim() ? f("faceScheme.annotate.labelText", { text: e.text }) : f("faceScheme.annotate.kind.text") : f(`faceScheme.annotate.kind.${e.kind}`);
|
|
2304
2305
|
if (!e.zoneId) return t;
|
|
2305
2306
|
const i = M.zones.find((s) => s.id === e.zoneId);
|
|
@@ -2314,7 +2315,7 @@ const go = {
|
|
|
2314
2315
|
return /* @__PURE__ */ a(
|
|
2315
2316
|
"path",
|
|
2316
2317
|
{
|
|
2317
|
-
d: tt(e.shape, e.x, e.y,
|
|
2318
|
+
d: tt(e.shape, e.x, e.y, vo),
|
|
2318
2319
|
className: Oe[t],
|
|
2319
2320
|
pointerEvents: "none"
|
|
2320
2321
|
}
|
|
@@ -2326,7 +2327,7 @@ const go = {
|
|
|
2326
2327
|
{
|
|
2327
2328
|
d: Hr(e.points),
|
|
2328
2329
|
fill: "none",
|
|
2329
|
-
strokeWidth: e.kind === "highlighter" ?
|
|
2330
|
+
strokeWidth: e.kind === "highlighter" ? ko : wo,
|
|
2330
2331
|
strokeOpacity: e.kind === "highlighter" ? 0.35 : 1,
|
|
2331
2332
|
strokeLinecap: "round",
|
|
2332
2333
|
strokeLinejoin: "round",
|
|
@@ -2348,7 +2349,7 @@ const go = {
|
|
|
2348
2349
|
/* @__PURE__ */ a(
|
|
2349
2350
|
"path",
|
|
2350
2351
|
{
|
|
2351
|
-
d:
|
|
2352
|
+
d: no(e.from, e.to, bo),
|
|
2352
2353
|
fill: "none",
|
|
2353
2354
|
strokeWidth: Rt,
|
|
2354
2355
|
strokeLinecap: "round",
|
|
@@ -2396,8 +2397,8 @@ const go = {
|
|
|
2396
2397
|
}
|
|
2397
2398
|
);
|
|
2398
2399
|
}
|
|
2399
|
-
},
|
|
2400
|
-
const t =
|
|
2400
|
+
}, Bi = (e) => {
|
|
2401
|
+
const t = oo(e, Zr);
|
|
2401
2402
|
switch (t.type) {
|
|
2402
2403
|
case "stroke":
|
|
2403
2404
|
return /* @__PURE__ */ a(
|
|
@@ -2407,7 +2408,7 @@ const go = {
|
|
|
2407
2408
|
d: t.d,
|
|
2408
2409
|
fill: "none",
|
|
2409
2410
|
stroke: "transparent",
|
|
2410
|
-
strokeWidth:
|
|
2411
|
+
strokeWidth: so,
|
|
2411
2412
|
strokeLinecap: "round",
|
|
2412
2413
|
strokeLinejoin: "round",
|
|
2413
2414
|
pointerEvents: "stroke",
|
|
@@ -2449,9 +2450,9 @@ const go = {
|
|
|
2449
2450
|
{ mirror: M.mirror }
|
|
2450
2451
|
) : null;
|
|
2451
2452
|
Bn.current = kr;
|
|
2452
|
-
const yn = ee ?
|
|
2453
|
+
const yn = ee ? ci ?? kr ?? M.viewBox : we || !Ce ? M.schematicViewBox : M.viewBox;
|
|
2453
2454
|
kt.current = yn;
|
|
2454
|
-
const br = he && xe.k > 1,
|
|
2455
|
+
const br = he && xe.k > 1, ji = br ? uo(st(_t(yn), xe)) : yn, Cr = br && V === null, Sr = (e) => {
|
|
2455
2456
|
if (e !== A) {
|
|
2456
2457
|
const t = Sn[e], i = (o == null ? void 0 : o[e]) ?? (e === "front" ? r : void 0), s = Yn[e] ?? (i == null ? void 0 : i.src), u = vt[e] ?? Pe, x = t.mirror ? `translate(${B} 0) scale(-1 1) ${zt(u)}` : zt(u), Y = Ct[e] ?? Or;
|
|
2457
2458
|
return /* @__PURE__ */ a(Ze, { variant: "elevated", interactive: !0, asChild: !0, children: /* @__PURE__ */ a(
|
|
@@ -2487,7 +2488,7 @@ const go = {
|
|
|
2487
2488
|
}
|
|
2488
2489
|
),
|
|
2489
2490
|
/* @__PURE__ */ a("g", { transform: x, children: t.zones.map((E) => {
|
|
2490
|
-
const Te = He[E.id] ?? [],
|
|
2491
|
+
const Te = He[E.id] ?? [], Wi = Te.length > 0;
|
|
2491
2492
|
return /* @__PURE__ */ C("g", { children: [
|
|
2492
2493
|
/* @__PURE__ */ a(
|
|
2493
2494
|
"path",
|
|
@@ -2495,21 +2496,21 @@ const go = {
|
|
|
2495
2496
|
d: E.d,
|
|
2496
2497
|
className: Br({
|
|
2497
2498
|
interactive: !1,
|
|
2498
|
-
marked:
|
|
2499
|
+
marked: Wi,
|
|
2499
2500
|
// Cross-view selection stays visible on the
|
|
2500
2501
|
// three-up previews (decorative, aria-hidden svg).
|
|
2501
2502
|
selected: J && $n.has(E.id)
|
|
2502
2503
|
})
|
|
2503
2504
|
}
|
|
2504
2505
|
),
|
|
2505
|
-
Te.map((Mr,
|
|
2506
|
-
const Nr = Et[Mr.type],
|
|
2506
|
+
Te.map((Mr, Hi) => {
|
|
2507
|
+
const Nr = Et[Mr.type], Ui = (Hi - (Te.length - 1) / 2) * 26;
|
|
2507
2508
|
return /* @__PURE__ */ a(
|
|
2508
2509
|
"path",
|
|
2509
2510
|
{
|
|
2510
2511
|
d: tt(
|
|
2511
2512
|
Nr.shape,
|
|
2512
|
-
E.cx +
|
|
2513
|
+
E.cx + Ui,
|
|
2513
2514
|
E.cy,
|
|
2514
2515
|
11
|
|
2515
2516
|
),
|
|
@@ -2543,7 +2544,7 @@ const go = {
|
|
|
2543
2544
|
{
|
|
2544
2545
|
ref: dt,
|
|
2545
2546
|
"data-testid": "face-scheme-svg",
|
|
2546
|
-
viewBox:
|
|
2547
|
+
viewBox: ji,
|
|
2547
2548
|
role: "group",
|
|
2548
2549
|
"aria-label": f(`faceScheme.view.${M.labelKey}`),
|
|
2549
2550
|
className: Cr ? "ds:block ds:h-auto ds:w-full ds:touch-none ds:cursor-grab" : "ds:block ds:h-auto ds:w-full ds:touch-none",
|
|
@@ -2575,7 +2576,7 @@ const go = {
|
|
|
2575
2576
|
id: i.id,
|
|
2576
2577
|
x: t.clientX,
|
|
2577
2578
|
y: t.clientY
|
|
2578
|
-
}, Se((Te) =>
|
|
2579
|
+
}, Se((Te) => fo(u, Te, Y, E));
|
|
2579
2580
|
} : void 0,
|
|
2580
2581
|
onPointerUp: he ? Un : void 0,
|
|
2581
2582
|
onPointerCancel: he ? Un : void 0,
|
|
@@ -2593,10 +2594,10 @@ const go = {
|
|
|
2593
2594
|
height: se,
|
|
2594
2595
|
preserveAspectRatio: "xMidYMid slice",
|
|
2595
2596
|
role: "img",
|
|
2596
|
-
"aria-label":
|
|
2597
|
+
"aria-label": Ii
|
|
2597
2598
|
}
|
|
2598
2599
|
),
|
|
2599
|
-
/* @__PURE__ */ a("g", { transform:
|
|
2600
|
+
/* @__PURE__ */ a("g", { transform: Ai, children: M.zones.map((t) => {
|
|
2600
2601
|
const i = He[t.id] ?? [], s = i.length > 0, u = J && $n.has(t.id);
|
|
2601
2602
|
return /* @__PURE__ */ C(Fe.Root, { children: [
|
|
2602
2603
|
/* @__PURE__ */ a(Fe.Trigger, { asChild: !0, children: /* @__PURE__ */ C(
|
|
@@ -2661,7 +2662,7 @@ const go = {
|
|
|
2661
2662
|
}) }),
|
|
2662
2663
|
/* @__PURE__ */ C("g", { "data-testid": "face-scheme-annotations", children: [
|
|
2663
2664
|
Ne.map((t) => {
|
|
2664
|
-
const i =
|
|
2665
|
+
const i = ro(t), s = Ie === t.id;
|
|
2665
2666
|
return /* @__PURE__ */ C(
|
|
2666
2667
|
"g",
|
|
2667
2668
|
{
|
|
@@ -2670,7 +2671,7 @@ const go = {
|
|
|
2670
2671
|
"data-annotation-zone": t.zoneId ?? void 0,
|
|
2671
2672
|
"data-selected": s ? "true" : void 0,
|
|
2672
2673
|
role: _ ? "button" : "img",
|
|
2673
|
-
"aria-label":
|
|
2674
|
+
"aria-label": Di(t),
|
|
2674
2675
|
"aria-pressed": _ ? s : void 0,
|
|
2675
2676
|
tabIndex: _ ? 0 : -1,
|
|
2676
2677
|
className: "ds:outline-none ds:[&:focus-visible>*:first-child]:[stroke-opacity:1] ds:[&[data-selected=true]>*:first-child]:[stroke-opacity:1] ds:[&[data-selected=true]>*:first-child]:[stroke-dasharray:6_4] ds:forced-colors:[&:focus-visible>*:first-child]:[stroke:CanvasText] ds:forced-colors:[&[data-selected=true]>*:first-child]:[stroke:CanvasText]",
|
|
@@ -2695,7 +2696,7 @@ const go = {
|
|
|
2695
2696
|
}
|
|
2696
2697
|
),
|
|
2697
2698
|
gn(t),
|
|
2698
|
-
_ && V === null &&
|
|
2699
|
+
_ && V === null && Bi(t)
|
|
2699
2700
|
]
|
|
2700
2701
|
},
|
|
2701
2702
|
t.id
|
|
@@ -2714,8 +2715,8 @@ const go = {
|
|
|
2714
2715
|
fill: "transparent",
|
|
2715
2716
|
"aria-hidden": "true",
|
|
2716
2717
|
className: qe ? "ds:cursor-crosshair ds:touch-none" : "ds:[pointer-events:none]",
|
|
2717
|
-
onPointerDown: qe ?
|
|
2718
|
-
onPointerMove: qe ?
|
|
2718
|
+
onPointerDown: qe ? ki : void 0,
|
|
2719
|
+
onPointerMove: qe ? bi : void 0,
|
|
2719
2720
|
onPointerUp: qe ? nr : void 0,
|
|
2720
2721
|
onPointerCancel: qe ? nr : void 0
|
|
2721
2722
|
}
|
|
@@ -2730,9 +2731,9 @@ const go = {
|
|
|
2730
2731
|
cy: s.y,
|
|
2731
2732
|
r: 13,
|
|
2732
2733
|
"data-handle": t.id,
|
|
2733
|
-
onPointerDown:
|
|
2734
|
-
onPointerMove:
|
|
2735
|
-
onPointerUp:
|
|
2734
|
+
onPointerDown: li(i),
|
|
2735
|
+
onPointerMove: di,
|
|
2736
|
+
onPointerUp: ui,
|
|
2736
2737
|
className: "ds:[fill:var(--background)] ds:[fill-opacity:0.9] ds:[stroke:var(--accent)] ds:[stroke-width:2.5] ds:[vector-effect:non-scaling-stroke] ds:cursor-grab ds:touch-none"
|
|
2737
2738
|
}
|
|
2738
2739
|
),
|
|
@@ -2762,7 +2763,7 @@ const go = {
|
|
|
2762
2763
|
size: "sm",
|
|
2763
2764
|
intent: t ? "primary" : void 0,
|
|
2764
2765
|
"aria-pressed": t,
|
|
2765
|
-
startIcon:
|
|
2766
|
+
startIcon: Co[e],
|
|
2766
2767
|
onClick: () => {
|
|
2767
2768
|
ft(e), _n("single");
|
|
2768
2769
|
},
|
|
@@ -2779,7 +2780,7 @@ const go = {
|
|
|
2779
2780
|
size: "sm",
|
|
2780
2781
|
intent: mt === "all" ? "primary" : void 0,
|
|
2781
2782
|
"aria-pressed": mt === "all",
|
|
2782
|
-
startIcon: /* @__PURE__ */ a(
|
|
2783
|
+
startIcon: /* @__PURE__ */ a(bs, { "aria-hidden": "true" }),
|
|
2783
2784
|
onClick: () => _n("all"),
|
|
2784
2785
|
children: f("faceScheme.viewShort.all")
|
|
2785
2786
|
},
|
|
@@ -2794,7 +2795,7 @@ const go = {
|
|
|
2794
2795
|
ref: En,
|
|
2795
2796
|
size: "sm",
|
|
2796
2797
|
intent: "outline",
|
|
2797
|
-
startIcon: /* @__PURE__ */ a(
|
|
2798
|
+
startIcon: /* @__PURE__ */ a(gs, { "aria-hidden": "true" }),
|
|
2798
2799
|
"data-overflow-pin": !0,
|
|
2799
2800
|
onClick: () => void un(),
|
|
2800
2801
|
disabled: Ve === "requesting",
|
|
@@ -2810,7 +2811,7 @@ const go = {
|
|
|
2810
2811
|
{
|
|
2811
2812
|
size: "sm",
|
|
2812
2813
|
intent: "outline",
|
|
2813
|
-
startIcon: /* @__PURE__ */ a(
|
|
2814
|
+
startIcon: /* @__PURE__ */ a(ys, { "aria-hidden": "true" }),
|
|
2814
2815
|
onClick: () => {
|
|
2815
2816
|
var e;
|
|
2816
2817
|
return (e = Tn.current) == null ? void 0 : e.click();
|
|
@@ -2827,13 +2828,13 @@ const go = {
|
|
|
2827
2828
|
"data-component-id": lt,
|
|
2828
2829
|
"data-view": A,
|
|
2829
2830
|
"data-layout": we ? "all" : "single",
|
|
2830
|
-
className: [
|
|
2831
|
+
className: [Ei, qr].filter(Boolean).join(" "),
|
|
2831
2832
|
role: "group",
|
|
2832
2833
|
"aria-label": Xr ?? f("faceScheme.ariaLabel"),
|
|
2833
2834
|
children: [
|
|
2834
|
-
/* @__PURE__ */ C("div", { className:
|
|
2835
|
-
!fe &&
|
|
2836
|
-
|
|
2835
|
+
/* @__PURE__ */ C("div", { className: zi, children: [
|
|
2836
|
+
!fe && $i && /* @__PURE__ */ a(
|
|
2837
|
+
ts,
|
|
2837
2838
|
{
|
|
2838
2839
|
toolbar: !0,
|
|
2839
2840
|
label: f("faceScheme.viewSwitcherLabel"),
|
|
@@ -2851,7 +2852,7 @@ const go = {
|
|
|
2851
2852
|
type: "file",
|
|
2852
2853
|
accept: "image/*",
|
|
2853
2854
|
capture: Zt,
|
|
2854
|
-
onChange:
|
|
2855
|
+
onChange: Mi,
|
|
2855
2856
|
className: "ds:sr-only",
|
|
2856
2857
|
"aria-hidden": "true",
|
|
2857
2858
|
tabIndex: -1,
|
|
@@ -2867,7 +2868,7 @@ const go = {
|
|
|
2867
2868
|
children: Ve === "requesting" ? f(
|
|
2868
2869
|
"faceScheme.capture.requesting",
|
|
2869
2870
|
"Waiting for camera permission…"
|
|
2870
|
-
) : Ve === "error" && Vn ? f(
|
|
2871
|
+
) : Ve === "error" && Vn ? f(xo[Vn]) : ""
|
|
2871
2872
|
}
|
|
2872
2873
|
)
|
|
2873
2874
|
] }),
|
|
@@ -2894,7 +2895,7 @@ const go = {
|
|
|
2894
2895
|
{
|
|
2895
2896
|
size: "sm",
|
|
2896
2897
|
intent: "primary",
|
|
2897
|
-
onClick: () =>
|
|
2898
|
+
onClick: () => Si(),
|
|
2898
2899
|
children: f("faceScheme.capture.capture")
|
|
2899
2900
|
}
|
|
2900
2901
|
),
|
|
@@ -2921,7 +2922,7 @@ const go = {
|
|
|
2921
2922
|
{
|
|
2922
2923
|
className: "ds:flex ds:list-none ds:items-center",
|
|
2923
2924
|
children: /* @__PURE__ */ a(
|
|
2924
|
-
|
|
2925
|
+
es,
|
|
2925
2926
|
{
|
|
2926
2927
|
shape: t.shape,
|
|
2927
2928
|
tone: t.tone,
|
|
@@ -2936,17 +2937,17 @@ const go = {
|
|
|
2936
2937
|
}
|
|
2937
2938
|
) }) })
|
|
2938
2939
|
] }),
|
|
2939
|
-
dr && /* @__PURE__ */ a("div", { className:
|
|
2940
|
+
dr && /* @__PURE__ */ a("div", { className: _i, children: /* @__PURE__ */ a(
|
|
2940
2941
|
Ze,
|
|
2941
2942
|
{
|
|
2942
2943
|
variant: "elevated",
|
|
2943
2944
|
"data-testid": "face-scheme-panel",
|
|
2944
2945
|
id: zn,
|
|
2945
|
-
className:
|
|
2946
|
-
children: /* @__PURE__ */ C(Ze.Body, { className:
|
|
2947
|
-
Zi,
|
|
2948
|
-
J && (Je || Ce) && /* @__PURE__ */ a(Tt, {}),
|
|
2946
|
+
className: Li,
|
|
2947
|
+
children: /* @__PURE__ */ C(Ze.Body, { className: Ri, children: [
|
|
2949
2948
|
Oi,
|
|
2949
|
+
J && (Je || Ce) && /* @__PURE__ */ a(Tt, {}),
|
|
2950
|
+
Pi,
|
|
2950
2951
|
Je && Ce && /* @__PURE__ */ a(Tt, {}),
|
|
2951
2952
|
Ce && /* @__PURE__ */ C(
|
|
2952
2953
|
"div",
|
|
@@ -2958,8 +2959,8 @@ const go = {
|
|
|
2958
2959
|
children: [
|
|
2959
2960
|
/* @__PURE__ */ a("span", { id: mr, className: me, children: f("faceScheme.panel.fit") }),
|
|
2960
2961
|
/* @__PURE__ */ a("p", { className: "ds:m-0 ds:text-[length:var(--font-size-xs)] ds:text-[var(--muted-foreground)]", children: f("faceScheme.registration.hint") }),
|
|
2961
|
-
/* @__PURE__ */ a("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-xs)] ds:sm:grid-cols-2", children:
|
|
2962
|
-
const t =
|
|
2962
|
+
/* @__PURE__ */ a("div", { className: "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-xs)] ds:sm:grid-cols-2", children: Io.map((e) => {
|
|
2963
|
+
const t = No[e], i = e === "scaleX" || e === "scaleY";
|
|
2963
2964
|
return /* @__PURE__ */ C(
|
|
2964
2965
|
"div",
|
|
2965
2966
|
{
|
|
@@ -2967,17 +2968,20 @@ const go = {
|
|
|
2967
2968
|
children: [
|
|
2968
2969
|
/* @__PURE__ */ a("span", { children: f(`faceScheme.registration.${e}`) }),
|
|
2969
2970
|
/* @__PURE__ */ a(
|
|
2970
|
-
|
|
2971
|
+
rs,
|
|
2971
2972
|
{
|
|
2972
2973
|
"aria-label": f(`faceScheme.registration.${e}`),
|
|
2973
2974
|
value: [Ut[e]],
|
|
2974
2975
|
min: t.min,
|
|
2975
2976
|
max: t.max,
|
|
2976
2977
|
step: t.step,
|
|
2977
|
-
formatValue: (s) => i ? `${Math.round(s * 100)}%` : e === "rotation" || e === "shear" ? `${s.
|
|
2978
|
+
formatValue: (s) => i ? `${Math.round(s * 100)}%` : e === "rotation" || e === "shear" ? `${ss(s, Jr.language, {
|
|
2979
|
+
minimumFractionDigits: 1,
|
|
2980
|
+
maximumFractionDigits: 1
|
|
2981
|
+
})}°` : `${Math.round(s)}`,
|
|
2978
2982
|
onValueChange: (s) => {
|
|
2979
2983
|
const u = s[0];
|
|
2980
|
-
typeof u == "number" &&
|
|
2984
|
+
typeof u == "number" && Ti(e, u);
|
|
2981
2985
|
}
|
|
2982
2986
|
}
|
|
2983
2987
|
)
|
|
@@ -3035,7 +3039,7 @@ const go = {
|
|
|
3035
3039
|
Ke,
|
|
3036
3040
|
{
|
|
3037
3041
|
size: "sm",
|
|
3038
|
-
icon: /* @__PURE__ */ a(
|
|
3042
|
+
icon: /* @__PURE__ */ a(xs, { "aria-hidden": "true" }),
|
|
3039
3043
|
"aria-label": f("faceScheme.zoomOut"),
|
|
3040
3044
|
disabled: xe.k <= 1,
|
|
3041
3045
|
onClick: () => Wn(1 / 1.3)
|
|
@@ -3058,7 +3062,7 @@ const go = {
|
|
|
3058
3062
|
Ke,
|
|
3059
3063
|
{
|
|
3060
3064
|
size: "sm",
|
|
3061
|
-
icon: /* @__PURE__ */ a(
|
|
3065
|
+
icon: /* @__PURE__ */ a(vs, { "aria-hidden": "true" }),
|
|
3062
3066
|
"aria-label": f("faceScheme.zoomIn"),
|
|
3063
3067
|
disabled: xe.k >= Ur,
|
|
3064
3068
|
onClick: () => Wn(1.3)
|
|
@@ -3069,7 +3073,7 @@ const go = {
|
|
|
3069
3073
|
{
|
|
3070
3074
|
size: "sm",
|
|
3071
3075
|
intent: "outline",
|
|
3072
|
-
startIcon: /* @__PURE__ */ a(
|
|
3076
|
+
startIcon: /* @__PURE__ */ a(ws, { "aria-hidden": "true" }),
|
|
3073
3077
|
disabled: xe.k <= 1,
|
|
3074
3078
|
onClick: qt,
|
|
3075
3079
|
children: f("faceScheme.resetView")
|
|
@@ -3083,12 +3087,12 @@ const go = {
|
|
|
3083
3087
|
In && /* @__PURE__ */ C(Ir, { children: [
|
|
3084
3088
|
/* @__PURE__ */ a(Tt, {}),
|
|
3085
3089
|
/* @__PURE__ */ a(
|
|
3086
|
-
|
|
3090
|
+
is,
|
|
3087
3091
|
{
|
|
3088
3092
|
size: "sm",
|
|
3089
3093
|
label: f("faceScheme.showLegend"),
|
|
3090
3094
|
checked: Ln,
|
|
3091
|
-
onCheckedChange:
|
|
3095
|
+
onCheckedChange: ti
|
|
3092
3096
|
}
|
|
3093
3097
|
)
|
|
3094
3098
|
] })
|
|
@@ -3100,31 +3104,31 @@ const go = {
|
|
|
3100
3104
|
);
|
|
3101
3105
|
}
|
|
3102
3106
|
);
|
|
3103
|
-
|
|
3107
|
+
Ao.displayName = "FaceScheme";
|
|
3104
3108
|
export {
|
|
3105
|
-
|
|
3106
|
-
|
|
3109
|
+
aa as A,
|
|
3110
|
+
to as F,
|
|
3107
3111
|
Pe as I,
|
|
3108
3112
|
Et as a,
|
|
3109
3113
|
Rr as b,
|
|
3110
3114
|
Sn as c,
|
|
3111
|
-
|
|
3112
|
-
|
|
3115
|
+
eo as d,
|
|
3116
|
+
Ao as e,
|
|
3113
3117
|
zt as f,
|
|
3114
|
-
|
|
3115
|
-
|
|
3118
|
+
io as g,
|
|
3119
|
+
ro as h,
|
|
3116
3120
|
rt as i,
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3121
|
+
no as j,
|
|
3122
|
+
ho as k,
|
|
3123
|
+
mo as l,
|
|
3124
|
+
Ds as m,
|
|
3125
|
+
Rs as n,
|
|
3122
3126
|
Hr as o,
|
|
3123
|
-
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
3127
|
+
ao as p,
|
|
3128
|
+
la as q,
|
|
3129
|
+
da as r,
|
|
3130
|
+
ca as s,
|
|
3127
3131
|
Nn as t,
|
|
3128
3132
|
Kr as u
|
|
3129
3133
|
};
|
|
3130
|
-
//# sourceMappingURL=face-scheme-
|
|
3134
|
+
//# sourceMappingURL=face-scheme-CSJdRNad.js.map
|