@alfadocs/ui-kit-debug 0.71.0 → 0.72.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/accordion-C11v9ouP.js +250 -0
- package/dist/_chunks/accordion-C11v9ouP.js.map +1 -0
- package/dist/_chunks/address-autocomplete-Bq-1n1UX.js +496 -0
- package/dist/_chunks/address-autocomplete-Bq-1n1UX.js.map +1 -0
- package/dist/_chunks/address-fields-COyjgqxA.js +246 -0
- package/dist/_chunks/address-fields-COyjgqxA.js.map +1 -0
- package/dist/_chunks/agenda-card-BCGaQazD.js +147 -0
- package/dist/_chunks/agenda-card-BCGaQazD.js.map +1 -0
- package/dist/_chunks/agenda-tray-loL2A3Cx.js +215 -0
- package/dist/_chunks/agenda-tray-loL2A3Cx.js.map +1 -0
- package/dist/_chunks/ai-consent-banner-Bke9m8VS.js +170 -0
- package/dist/_chunks/ai-consent-banner-Bke9m8VS.js.map +1 -0
- package/dist/_chunks/ai-prompt-input-TVI95hJD.js +500 -0
- package/dist/_chunks/ai-prompt-input-TVI95hJD.js.map +1 -0
- package/dist/_chunks/alert-KJbsPYkI.js +314 -0
- package/dist/_chunks/alert-KJbsPYkI.js.map +1 -0
- package/dist/_chunks/alia-sidebar-BV5lBSFR.js +1183 -0
- package/dist/_chunks/alia-sidebar-BV5lBSFR.js.map +1 -0
- package/dist/_chunks/anamnesis-card-CWO4Ui9c.js +156 -0
- package/dist/_chunks/anamnesis-card-CWO4Ui9c.js.map +1 -0
- package/dist/_chunks/annotation-marker-qt5R9WZX.js.map +1 -1
- package/dist/_chunks/antenatal-schedule-timeline-CY-VsLok.js +413 -0
- package/dist/_chunks/antenatal-schedule-timeline-CY-VsLok.js.map +1 -0
- package/dist/_chunks/appointment-card-Cy4FOkGP.js +311 -0
- package/dist/_chunks/appointment-card-Cy4FOkGP.js.map +1 -0
- package/dist/_chunks/appointment-timeline-BWAPPk8F.js +388 -0
- package/dist/_chunks/appointment-timeline-BWAPPk8F.js.map +1 -0
- package/dist/_chunks/appointment-tray-D3mk04TT.js +193 -0
- package/dist/_chunks/appointment-tray-D3mk04TT.js.map +1 -0
- package/dist/_chunks/ar-BOqyIfoY.js +399 -0
- package/dist/_chunks/ar-BOqyIfoY.js.map +1 -0
- package/dist/_chunks/astroid-BN4f5VXU.js +20 -0
- package/dist/_chunks/astroid-BN4f5VXU.js.map +1 -0
- package/dist/_chunks/audio-recorder-BbjG55dP.js +450 -0
- package/dist/_chunks/audio-recorder-BbjG55dP.js.map +1 -0
- package/dist/_chunks/bishop-score-C6eoak_j.js +304 -0
- package/dist/_chunks/bishop-score-C6eoak_j.js.map +1 -0
- package/dist/_chunks/bmi-calculator-BmQfoEGP.js +434 -0
- package/dist/_chunks/bmi-calculator-BmQfoEGP.js.map +1 -0
- package/dist/_chunks/booking-B62CMY5k.js +2695 -0
- package/dist/_chunks/booking-B62CMY5k.js.map +1 -0
- package/dist/_chunks/breadcrumb-agut0PwN.js +393 -0
- package/dist/_chunks/breadcrumb-agut0PwN.js.map +1 -0
- package/dist/_chunks/calculator-dialog-DuXMQSdm.js +40 -0
- package/dist/_chunks/calculator-dialog-DuXMQSdm.js.map +1 -0
- package/dist/_chunks/calendar-DeAlFPsF.js +1050 -0
- package/dist/_chunks/calendar-DeAlFPsF.js.map +1 -0
- package/dist/_chunks/calendar-clock-hbObjfGY.js +19 -0
- package/dist/_chunks/calendar-clock-hbObjfGY.js.map +1 -0
- package/dist/_chunks/calendar-days-BGWklvE-.js +23 -0
- package/dist/_chunks/calendar-days-BGWklvE-.js.map +1 -0
- package/dist/_chunks/care-plan-card-DhXbfGzE.js +256 -0
- package/dist/_chunks/care-plan-card-DhXbfGzE.js.map +1 -0
- package/dist/_chunks/care-plan-entry-card-D3YGD6rj.js +322 -0
- package/dist/_chunks/care-plan-entry-card-D3YGD6rj.js.map +1 -0
- package/dist/_chunks/care-plan-header-DtQxyfOb.js +198 -0
- package/dist/_chunks/care-plan-header-DtQxyfOb.js.map +1 -0
- package/dist/_chunks/carousel.agent-j7hWxJWr.js +1754 -0
- package/dist/_chunks/carousel.agent-j7hWxJWr.js.map +1 -0
- package/dist/_chunks/chat-container-BVCoN06N.js +234 -0
- package/dist/_chunks/chat-container-BVCoN06N.js.map +1 -0
- package/dist/_chunks/chat-input-Btq_uuMZ.js +368 -0
- package/dist/_chunks/chat-input-Btq_uuMZ.js.map +1 -0
- package/dist/_chunks/chat-message-DXjjM8z9.js +239 -0
- package/dist/_chunks/chat-message-DXjjM8z9.js.map +1 -0
- package/dist/_chunks/check-DrFSN__t.js +12 -0
- package/dist/_chunks/check-DrFSN__t.js.map +1 -0
- package/dist/_chunks/checkbox-group-CfqMv57d.js +213 -0
- package/dist/_chunks/checkbox-group-CfqMv57d.js.map +1 -0
- package/dist/_chunks/chevron-down-DWE7GSq9.js +12 -0
- package/dist/_chunks/chevron-down-DWE7GSq9.js.map +1 -0
- package/dist/_chunks/chevron-left-B8cOyH-V.js +12 -0
- package/dist/_chunks/chevron-left-B8cOyH-V.js.map +1 -0
- package/dist/_chunks/chevron-right-I9AeSxH2.js +12 -0
- package/dist/_chunks/chevron-right-I9AeSxH2.js.map +1 -0
- package/dist/_chunks/chevron-up-umRGgtJA.js +12 -0
- package/dist/_chunks/chevron-up-umRGgtJA.js.map +1 -0
- package/dist/_chunks/chevrons-right-DIHg7Xqi.js +26 -0
- package/dist/_chunks/chevrons-right-DIHg7Xqi.js.map +1 -0
- package/dist/_chunks/circle-alert-rGDZ73Wh.js +16 -0
- package/dist/_chunks/circle-alert-rGDZ73Wh.js.map +1 -0
- package/dist/_chunks/circle-check-BN6rz4NV.js +15 -0
- package/dist/_chunks/circle-check-BN6rz4NV.js.map +1 -0
- package/dist/_chunks/circle-j7oZoouK.js +12 -0
- package/dist/_chunks/circle-j7oZoouK.js.map +1 -0
- package/dist/_chunks/circle-x-W8Enq3i4.js +16 -0
- package/dist/_chunks/circle-x-W8Enq3i4.js.map +1 -0
- package/dist/_chunks/city-input-towzBenY.js +169 -0
- package/dist/_chunks/city-input-towzBenY.js.map +1 -0
- package/dist/_chunks/clinical-note-card-C7F_24IC.js +436 -0
- package/dist/_chunks/clinical-note-card-C7F_24IC.js.map +1 -0
- package/dist/_chunks/clipboard-check-BeAGxDVT.js +22 -0
- package/dist/_chunks/clipboard-check-BeAGxDVT.js.map +1 -0
- package/dist/_chunks/clock-Drd4Wtis.js +15 -0
- package/dist/_chunks/clock-Drd4Wtis.js.map +1 -0
- package/dist/_chunks/code-block-Cwi7e3HM.js +106 -0
- package/dist/_chunks/code-block-Cwi7e3HM.js.map +1 -0
- package/dist/_chunks/color-picker-D-tUwxxT.js +718 -0
- package/dist/_chunks/color-picker-D-tUwxxT.js.map +1 -0
- package/dist/_chunks/columns-2-8lq4-b8e.js +15 -0
- package/dist/_chunks/columns-2-8lq4-b8e.js.map +1 -0
- package/dist/_chunks/combobox-DiMLItyu.js +513 -0
- package/dist/_chunks/combobox-DiMLItyu.js.map +1 -0
- package/dist/_chunks/command-palette-DQl_SNEv.js +473 -0
- package/dist/_chunks/command-palette-DQl_SNEv.js.map +1 -0
- package/dist/_chunks/connection-status-0HajXMXM.js +108 -0
- package/dist/_chunks/connection-status-0HajXMXM.js.map +1 -0
- package/dist/_chunks/contact-card-0hnFJwrz.js +121 -0
- package/dist/_chunks/contact-card-0hnFJwrz.js.map +1 -0
- package/dist/_chunks/contact-profile-card-IggiUVpN.js +333 -0
- package/dist/_chunks/contact-profile-card-IggiUVpN.js.map +1 -0
- package/dist/_chunks/control-room-rail-DaGcsdZ6.js +333 -0
- package/dist/_chunks/control-room-rail-DaGcsdZ6.js.map +1 -0
- package/dist/_chunks/copy-field-PAp0-Wr5.js +268 -0
- package/dist/_chunks/copy-field-PAp0-Wr5.js.map +1 -0
- package/dist/_chunks/copy-vRpqqHtY.js +15 -0
- package/dist/_chunks/copy-vRpqqHtY.js.map +1 -0
- package/dist/_chunks/country-select-DYHDLEjG.js +709 -0
- package/dist/_chunks/country-select-DYHDLEjG.js.map +1 -0
- package/dist/_chunks/createLucideIcon-DhHxpK9K.js +117 -0
- package/dist/_chunks/createLucideIcon-DhHxpK9K.js.map +1 -0
- package/dist/_chunks/cycle-calculator-BNILyVas.js +252 -0
- package/dist/_chunks/cycle-calculator-BNILyVas.js.map +1 -0
- package/dist/_chunks/date-picker-CVkD_lOi.js +1845 -0
- package/dist/_chunks/date-picker-CVkD_lOi.js.map +1 -0
- package/dist/_chunks/date-picker-variants-DLg-ZrIo.js +3224 -0
- package/dist/_chunks/date-picker-variants-DLg-ZrIo.js.map +1 -0
- package/dist/_chunks/date-range-picker-Dw12DgV8.js +324 -0
- package/dist/_chunks/date-range-picker-Dw12DgV8.js.map +1 -0
- package/dist/_chunks/date-time-picker-Cd_OJtOy.js +336 -0
- package/dist/_chunks/date-time-picker-Cd_OJtOy.js.map +1 -0
- package/dist/_chunks/de-DFLsUxeV.js +477 -0
- package/dist/_chunks/de-DFLsUxeV.js.map +1 -0
- package/dist/_chunks/dependent-selector-DyFpdzZV.js +338 -0
- package/dist/_chunks/dependent-selector-DyFpdzZV.js.map +1 -0
- package/dist/_chunks/description-list-CmBVxIF5.js +319 -0
- package/dist/_chunks/description-list-CmBVxIF5.js.map +1 -0
- package/dist/_chunks/dialog-UbKJCi1X.js +230 -0
- package/dist/_chunks/dialog-UbKJCi1X.js.map +1 -0
- package/dist/_chunks/document-scanner-B23j4w7X.js +711 -0
- package/dist/_chunks/document-scanner-B23j4w7X.js.map +1 -0
- package/dist/_chunks/download-CfYKJO_j.js +16 -0
- package/dist/_chunks/download-CfYKJO_j.js.map +1 -0
- package/dist/_chunks/dropdown-menu-DU-Hrf33.js +355 -0
- package/dist/_chunks/dropdown-menu-DU-Hrf33.js.map +1 -0
- package/dist/_chunks/due-date-calculator-CmdAl_JO.js +256 -0
- package/dist/_chunks/due-date-calculator-CmdAl_JO.js.map +1 -0
- package/dist/_chunks/editable-currency-cell-renderer-z9fJFw6Z.js +410 -0
- package/dist/_chunks/editable-currency-cell-renderer-z9fJFw6Z.js.map +1 -0
- package/dist/_chunks/editor-overlay-BIOzr8v7.js +88 -0
- package/dist/_chunks/editor-overlay-BIOzr8v7.js.map +1 -0
- package/dist/_chunks/el-OVjBKytp.js +373 -0
- package/dist/_chunks/el-OVjBKytp.js.map +1 -0
- package/dist/_chunks/ellipsis-dRo9ouSU.js +16 -0
- package/dist/_chunks/ellipsis-dRo9ouSU.js.map +1 -0
- package/dist/_chunks/email-input-Dpe63k0K.js +397 -0
- package/dist/_chunks/email-input-Dpe63k0K.js.map +1 -0
- package/dist/_chunks/entity-card-9_62gY7l.js +87 -0
- package/dist/_chunks/entity-card-9_62gY7l.js.map +1 -0
- package/dist/_chunks/entity-summary-DpGziDv5.js +277 -0
- package/dist/_chunks/entity-summary-DpGziDv5.js.map +1 -0
- package/dist/_chunks/es-DKDNrHXG.js +373 -0
- package/dist/_chunks/es-DKDNrHXG.js.map +1 -0
- package/dist/_chunks/external-link-CY6zAXXU.js +16 -0
- package/dist/_chunks/external-link-CY6zAXXU.js.map +1 -0
- package/dist/_chunks/eye-BjhN2nYf.js +21 -0
- package/dist/_chunks/eye-BjhN2nYf.js.map +1 -0
- package/dist/_chunks/eye-off-C_4xkbRP.js +29 -0
- package/dist/_chunks/eye-off-C_4xkbRP.js.map +1 -0
- package/dist/_chunks/face-scheme-DOZO3M_c.js +1450 -0
- package/dist/_chunks/face-scheme-DOZO3M_c.js.map +1 -0
- package/dist/_chunks/face_detection_yunet_2023mar-BnsRs4bD.js +5 -0
- package/dist/_chunks/face_detection_yunet_2023mar-BnsRs4bD.js.map +1 -0
- package/dist/_chunks/fetal-weight-CVAH8sJ3.js +122 -0
- package/dist/_chunks/fetal-weight-CVAH8sJ3.js.map +1 -0
- package/dist/_chunks/field-array-CDzc3hTM.js +146 -0
- package/dist/_chunks/field-array-CDzc3hTM.js.map +1 -0
- package/dist/_chunks/field-value-Dj3i52H2.js +415 -0
- package/dist/_chunks/field-value-Dj3i52H2.js.map +1 -0
- package/dist/_chunks/file-spreadsheet-DmwyfV4O.js +25 -0
- package/dist/_chunks/file-spreadsheet-DmwyfV4O.js.map +1 -0
- package/dist/_chunks/file-text-5yv6r2ls.js +24 -0
- package/dist/_chunks/file-text-5yv6r2ls.js.map +1 -0
- package/dist/_chunks/file-upload-Kw1rdvFw.js +819 -0
- package/dist/_chunks/file-upload-Kw1rdvFw.js.map +1 -0
- package/dist/_chunks/finished-terminal-Di4gtZ50.js +122 -0
- package/dist/_chunks/finished-terminal-Di4gtZ50.js.map +1 -0
- package/dist/_chunks/fiscal-code-input-DKNXFXs3.js +553 -0
- package/dist/_chunks/fiscal-code-input-DKNXFXs3.js.map +1 -0
- package/dist/_chunks/form-field-M5UpX65Z.js +123 -0
- package/dist/_chunks/form-field-M5UpX65Z.js.map +1 -0
- package/dist/_chunks/fr-BfMvQh-v.js +338 -0
- package/dist/_chunks/fr-BfMvQh-v.js.map +1 -0
- package/dist/_chunks/freemium-paywall-DFoeedwh.js +275 -0
- package/dist/_chunks/freemium-paywall-DFoeedwh.js.map +1 -0
- package/dist/_chunks/gestational-age-calculator-BwCBPAGX.js +311 -0
- package/dist/_chunks/gestational-age-calculator-BwCBPAGX.js.map +1 -0
- package/dist/_chunks/globe-sHBW1JN5.js +16 -0
- package/dist/_chunks/globe-sHBW1JN5.js.map +1 -0
- package/dist/_chunks/grip-vertical-onSb1JXO.js +19 -0
- package/dist/_chunks/grip-vertical-onSb1JXO.js.map +1 -0
- package/dist/_chunks/hash-CSQ9SChR.js +17 -0
- package/dist/_chunks/hash-CSQ9SChR.js.map +1 -0
- package/dist/_chunks/hcg-doubling-CSsWxEJc.js +170 -0
- package/dist/_chunks/hcg-doubling-CSsWxEJc.js.map +1 -0
- package/dist/_chunks/header-DaXWDw0M.js +297 -0
- package/dist/_chunks/header-DaXWDw0M.js.map +1 -0
- package/dist/_chunks/header-settings-B0G_u-wV.js +284 -0
- package/dist/_chunks/header-settings-B0G_u-wV.js.map +1 -0
- package/dist/_chunks/heart--qCA4ffe.js +20 -0
- package/dist/_chunks/heart--qCA4ffe.js.map +1 -0
- package/dist/_chunks/heart-pulse-BCppJyN2.js +21 -0
- package/dist/_chunks/heart-pulse-BCppJyN2.js.map +1 -0
- package/dist/_chunks/hi-C0GEMwlD.js +433 -0
- package/dist/_chunks/hi-C0GEMwlD.js.map +1 -0
- package/dist/_chunks/iban-input-DXIA8Ln_.js +436 -0
- package/dist/_chunks/iban-input-DXIA8Ln_.js.map +1 -0
- package/dist/_chunks/icon-picker-Di6uYDG-.js +272 -0
- package/dist/_chunks/icon-picker-Di6uYDG-.js.map +1 -0
- package/dist/_chunks/image-B_5MNK0x.js +16 -0
- package/dist/_chunks/image-B_5MNK0x.js.map +1 -0
- package/dist/_chunks/image-cropper-CdmWFrMC.js +367 -0
- package/dist/_chunks/image-cropper-CdmWFrMC.js.map +1 -0
- package/dist/_chunks/info-CGn22peZ.js +16 -0
- package/dist/_chunks/info-CGn22peZ.js.map +1 -0
- package/dist/_chunks/insert-result-C7xSDb8q.js +742 -0
- package/dist/_chunks/insert-result-C7xSDb8q.js.map +1 -0
- package/dist/_chunks/isSameWeek-HddDAyJG.js +14 -0
- package/dist/_chunks/isSameWeek-HddDAyJG.js.map +1 -0
- package/dist/_chunks/it-5f4hiT2e.js +401 -0
- package/dist/_chunks/it-5f4hiT2e.js.map +1 -0
- package/dist/_chunks/ja-U0_2inl_.js +366 -0
- package/dist/_chunks/ja-U0_2inl_.js.map +1 -0
- package/dist/_chunks/key-value-pair-Byyyc_9J.js +144 -0
- package/dist/_chunks/key-value-pair-Byyyc_9J.js.map +1 -0
- package/dist/_chunks/languages-CGLX6Qpe.js +19 -0
- package/dist/_chunks/languages-CGLX6Qpe.js.map +1 -0
- package/dist/_chunks/layers-DcAENmsZ.js +34 -0
- package/dist/_chunks/layers-DcAENmsZ.js.map +1 -0
- package/dist/_chunks/link-CPb_pZPr.js +129 -0
- package/dist/_chunks/link-CPb_pZPr.js.map +1 -0
- package/dist/_chunks/link-cell-renderer-BCppbMec.js +2185 -0
- package/dist/_chunks/link-cell-renderer-BCppbMec.js.map +1 -0
- package/dist/_chunks/locale-picker-DzF7Q5Y8.js +739 -0
- package/dist/_chunks/locale-picker-DzF7Q5Y8.js.map +1 -0
- package/dist/_chunks/lock-ClAFG1gy.js +15 -0
- package/dist/_chunks/lock-ClAFG1gy.js.map +1 -0
- package/dist/_chunks/log-out-oDS6zO5d.js +16 -0
- package/dist/_chunks/log-out-oDS6zO5d.js.map +1 -0
- package/dist/_chunks/mail-BqXVF2zH.js +15 -0
- package/dist/_chunks/mail-BqXVF2zH.js.map +1 -0
- package/dist/_chunks/map-pin-BaY37-Km.js +21 -0
- package/dist/_chunks/map-pin-BaY37-Km.js.map +1 -0
- package/dist/_chunks/map-view-ByPvWG_9.js +378 -0
- package/dist/_chunks/map-view-ByPvWG_9.js.map +1 -0
- package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js +513 -0
- package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js.map +1 -0
- package/dist/_chunks/maximize-2-BYd2Kti7.js +17 -0
- package/dist/_chunks/maximize-2-BYd2Kti7.js.map +1 -0
- package/dist/_chunks/menu-Op71AWIC.js +16 -0
- package/dist/_chunks/menu-Op71AWIC.js.map +1 -0
- package/dist/_chunks/message-card-BZnnffyB.js +319 -0
- package/dist/_chunks/message-card-BZnnffyB.js.map +1 -0
- package/dist/_chunks/message-circle-Bepl9JT5.js +20 -0
- package/dist/_chunks/message-circle-Bepl9JT5.js.map +1 -0
- package/dist/_chunks/message-tray-cUHOCdU0.js +494 -0
- package/dist/_chunks/message-tray-cUHOCdU0.js.map +1 -0
- package/dist/_chunks/mic-CUklMZGF.js +16 -0
- package/dist/_chunks/mic-CUklMZGF.js.map +1 -0
- package/dist/_chunks/monitor-xXSrufmP.js +16 -0
- package/dist/_chunks/monitor-xXSrufmP.js.map +1 -0
- package/dist/_chunks/multi-select-D5QLBJM1.js +614 -0
- package/dist/_chunks/multi-select-D5QLBJM1.js.map +1 -0
- package/dist/_chunks/muscle-scheme-B9MIkuj0.js +1714 -0
- package/dist/_chunks/muscle-scheme-B9MIkuj0.js.map +1 -0
- package/dist/_chunks/nav-grid-gRudLsPX.js +169 -0
- package/dist/_chunks/nav-grid-gRudLsPX.js.map +1 -0
- package/dist/_chunks/navigation-menu-D3VndouD.js +310 -0
- package/dist/_chunks/navigation-menu-D3VndouD.js.map +1 -0
- package/dist/_chunks/nl-CDVnnx1U.js +326 -0
- package/dist/_chunks/nl-CDVnnx1U.js.map +1 -0
- package/dist/_chunks/notes-panel-CMyjUXD4.js +324 -0
- package/dist/_chunks/notes-panel-CMyjUXD4.js.map +1 -0
- package/dist/_chunks/notification-card-BHJ07FkH.js +290 -0
- package/dist/_chunks/notification-card-BHJ07FkH.js.map +1 -0
- package/dist/_chunks/notification-tray-Dzm1c3Wy.js +499 -0
- package/dist/_chunks/notification-tray-Dzm1c3Wy.js.map +1 -0
- package/dist/_chunks/number-input-DjWzmlEY.js +350 -0
- package/dist/_chunks/number-input-DjWzmlEY.js.map +1 -0
- package/dist/_chunks/operator-hero-DVy0RGoD.js +202 -0
- package/dist/_chunks/operator-hero-DVy0RGoD.js.map +1 -0
- package/dist/_chunks/optical-prescription-Bmlbuopi.js +653 -0
- package/dist/_chunks/optical-prescription-Bmlbuopi.js.map +1 -0
- package/dist/_chunks/pagination-EkD5SiCK.js +486 -0
- package/dist/_chunks/pagination-EkD5SiCK.js.map +1 -0
- package/dist/_chunks/patient-details-pU_E5xM2.js +778 -0
- package/dist/_chunks/patient-details-pU_E5xM2.js.map +1 -0
- package/dist/_chunks/patient-search-X9SUZGpy.js +1167 -0
- package/dist/_chunks/patient-search-X9SUZGpy.js.map +1 -0
- package/dist/_chunks/patient-shell-oiIRqEAl.js +162 -0
- package/dist/_chunks/patient-shell-oiIRqEAl.js.map +1 -0
- package/dist/_chunks/patient-summary-card--t3BjTdU.js +452 -0
- package/dist/_chunks/patient-summary-card--t3BjTdU.js.map +1 -0
- package/dist/_chunks/patient-table-BgWgNIMf.js +1110 -0
- package/dist/_chunks/patient-table-BgWgNIMf.js.map +1 -0
- package/dist/_chunks/payment-form-DL9xk9BA.js +690 -0
- package/dist/_chunks/payment-form-DL9xk9BA.js.map +1 -0
- package/dist/_chunks/payment-request-card-2ts7ITxd.js +467 -0
- package/dist/_chunks/payment-request-card-2ts7ITxd.js.map +1 -0
- package/dist/_chunks/pdf-viewer-DF3VMaPo.js +1005 -0
- package/dist/_chunks/pdf-viewer-DF3VMaPo.js.map +1 -0
- package/dist/_chunks/pencil-B1sKKyuT.js +21 -0
- package/dist/_chunks/pencil-B1sKKyuT.js.map +1 -0
- package/dist/_chunks/periodontal-chart-card-6c6Lt4ws.js +455 -0
- package/dist/_chunks/periodontal-chart-card-6c6Lt4ws.js.map +1 -0
- package/dist/_chunks/permission-matrix-BIJrGEmz.js +174 -0
- package/dist/_chunks/permission-matrix-BIJrGEmz.js.map +1 -0
- package/dist/_chunks/phone-FceYcIFQ.js +20 -0
- package/dist/_chunks/phone-FceYcIFQ.js.map +1 -0
- package/dist/_chunks/phone-input-dtnrvnZf.js +580 -0
- package/dist/_chunks/phone-input-dtnrvnZf.js.map +1 -0
- package/dist/_chunks/pl-BWNumNrg.js +514 -0
- package/dist/_chunks/pl-BWNumNrg.js.map +1 -0
- package/dist/_chunks/plus-DzMQ_c6b.js +15 -0
- package/dist/_chunks/plus-DzMQ_c6b.js.map +1 -0
- package/dist/_chunks/popover-uJ6BvEU3.js +302 -0
- package/dist/_chunks/popover-uJ6BvEU3.js.map +1 -0
- package/dist/_chunks/postal-code-input-BznBxVxf.js +192 -0
- package/dist/_chunks/postal-code-input-BznBxVxf.js.map +1 -0
- package/dist/_chunks/practice-results-CSEHTH2V.js +1609 -0
- package/dist/_chunks/practice-results-CSEHTH2V.js.map +1 -0
- package/dist/_chunks/pregnancy-dating-CxVAA6_4.js +421 -0
- package/dist/_chunks/pregnancy-dating-CxVAA6_4.js.map +1 -0
- package/dist/_chunks/pregnancy-weight-gain-C7zyrwow.js +322 -0
- package/dist/_chunks/pregnancy-weight-gain-C7zyrwow.js.map +1 -0
- package/dist/_chunks/printer-rkK0T1gi.js +22 -0
- package/dist/_chunks/printer-rkK0T1gi.js.map +1 -0
- package/dist/_chunks/privacy-lock-DrRmK8C7.js +197 -0
- package/dist/_chunks/privacy-lock-DrRmK8C7.js.map +1 -0
- package/dist/_chunks/product-hub-panel-CaZqttvm.js +678 -0
- package/dist/_chunks/product-hub-panel-CaZqttvm.js.map +1 -0
- package/dist/_chunks/province-select-BDywtmL-.js +261 -0
- package/dist/_chunks/province-select-BDywtmL-.js.map +1 -0
- package/dist/_chunks/pt-zqdQuryr.js +370 -0
- package/dist/_chunks/pt-zqdQuryr.js.map +1 -0
- package/dist/_chunks/public-footer.agent-BKkK3T3V.js +596 -0
- package/dist/_chunks/public-footer.agent-BKkK3T3V.js.map +1 -0
- package/dist/_chunks/public-header.agent-C-opZaOw.js +597 -0
- package/dist/_chunks/public-header.agent-C-opZaOw.js.map +1 -0
- package/dist/_chunks/radio-group-CI-6SmSw.js +167 -0
- package/dist/_chunks/radio-group-CI-6SmSw.js.map +1 -0
- package/dist/_chunks/radiograph-panel.agent-D1x33moc.js +553 -0
- package/dist/_chunks/radiograph-panel.agent-D1x33moc.js.map +1 -0
- package/dist/_chunks/rating-BYbUowdK.js +171 -0
- package/dist/_chunks/rating-BYbUowdK.js.map +1 -0
- package/dist/_chunks/refresh-cw-DnI0cLFC.js +17 -0
- package/dist/_chunks/refresh-cw-DnI0cLFC.js.map +1 -0
- package/dist/_chunks/reviews-panel-liUj6OPX.js +559 -0
- package/dist/_chunks/reviews-panel-liUj6OPX.js.map +1 -0
- package/dist/_chunks/rich-text-editor-DUgznqOf.js +2621 -0
- package/dist/_chunks/rich-text-editor-DUgznqOf.js.map +1 -0
- package/dist/_chunks/ro-CornQr64.js +361 -0
- package/dist/_chunks/ro-CornQr64.js.map +1 -0
- package/dist/_chunks/rotate-ccw-BBQnIVTr.js +15 -0
- package/dist/_chunks/rotate-ccw-BBQnIVTr.js.map +1 -0
- package/dist/_chunks/ru-CKAXNYVD.js +561 -0
- package/dist/_chunks/ru-CKAXNYVD.js.map +1 -0
- package/dist/_chunks/scan-line-CNseIHQ0.js +18 -0
- package/dist/_chunks/scan-line-CNseIHQ0.js.map +1 -0
- package/dist/_chunks/search-QbWPlY5f.js +15 -0
- package/dist/_chunks/search-QbWPlY5f.js.map +1 -0
- package/dist/_chunks/search-bar-CJj6sI9m.js +612 -0
- package/dist/_chunks/search-bar-CJj6sI9m.js.map +1 -0
- package/dist/_chunks/search-input-B7GmlPIE.js +237 -0
- package/dist/_chunks/search-input-B7GmlPIE.js.map +1 -0
- package/dist/_chunks/select-BmCbJMJS.js +442 -0
- package/dist/_chunks/select-BmCbJMJS.js.map +1 -0
- package/dist/_chunks/send-C5kDJ-Mz.js +21 -0
- package/dist/_chunks/send-C5kDJ-Mz.js.map +1 -0
- package/dist/_chunks/session-countdown-qr8EO5QY.js +214 -0
- package/dist/_chunks/session-countdown-qr8EO5QY.js.map +1 -0
- package/dist/_chunks/settings-d25ju_6L.js +21 -0
- package/dist/_chunks/settings-d25ju_6L.js.map +1 -0
- package/dist/_chunks/sheet-B_X54aZo.js +296 -0
- package/dist/_chunks/sheet-B_X54aZo.js.map +1 -0
- package/dist/_chunks/shield-check-DCJALLVh.js +21 -0
- package/dist/_chunks/shield-check-DCJALLVh.js.map +1 -0
- package/dist/_chunks/sidebar-B0OBmJrC.js +1311 -0
- package/dist/_chunks/sidebar-B0OBmJrC.js.map +1 -0
- package/dist/_chunks/sign-document-nK03S73h.js +370 -0
- package/dist/_chunks/sign-document-nK03S73h.js.map +1 -0
- package/dist/_chunks/signature-field-jgwYgUhO.js +197 -0
- package/dist/_chunks/signature-field-jgwYgUhO.js.map +1 -0
- package/dist/_chunks/smart-date-CsPlilQA.js +114 -0
- package/dist/_chunks/smart-date-CsPlilQA.js.map +1 -0
- package/dist/_chunks/sq-CIIvqXZv.js +355 -0
- package/dist/_chunks/sq-CIIvqXZv.js.map +1 -0
- package/dist/_chunks/square-DASBRZ0U.js +14 -0
- package/dist/_chunks/square-DASBRZ0U.js.map +1 -0
- package/dist/_chunks/square-check-big-dj0o8yA3.js +18 -0
- package/dist/_chunks/square-check-big-dj0o8yA3.js.map +1 -0
- package/dist/_chunks/star-Bf9L2Uot.js +20 -0
- package/dist/_chunks/star-Bf9L2Uot.js.map +1 -0
- package/dist/_chunks/stepper-accordion-BeVMZPuG.js +247 -0
- package/dist/_chunks/stepper-accordion-BeVMZPuG.js.map +1 -0
- package/dist/_chunks/stethoscope-sZXGC43m.js +18 -0
- package/dist/_chunks/stethoscope-sZXGC43m.js.map +1 -0
- package/dist/_chunks/streaming-text-Cedc05ya.js +131 -0
- package/dist/_chunks/streaming-text-Cedc05ya.js.map +1 -0
- package/dist/_chunks/subDays-DGSOp9d9.js +8 -0
- package/dist/_chunks/subDays-DGSOp9d9.js.map +1 -0
- package/dist/_chunks/sun-Bj9Mr553.js +38 -0
- package/dist/_chunks/sun-Bj9Mr553.js.map +1 -0
- package/dist/_chunks/sv-Kpk1pzjz.js +376 -0
- package/dist/_chunks/sv-Kpk1pzjz.js.map +1 -0
- package/dist/_chunks/tab-bar-Axhk6xzx.js +262 -0
- package/dist/_chunks/tab-bar-Axhk6xzx.js.map +1 -0
- package/dist/_chunks/tabs-DVQ941Sj.js +408 -0
- package/dist/_chunks/tabs-DVQ941Sj.js.map +1 -0
- package/dist/_chunks/tag-3wgkwwDB.js +258 -0
- package/dist/_chunks/tag-3wgkwwDB.js.map +1 -0
- package/dist/_chunks/task-card-BUgK6yZT.js +189 -0
- package/dist/_chunks/task-card-BUgK6yZT.js.map +1 -0
- package/dist/_chunks/task-tray-DP5A3Qnc.js +251 -0
- package/dist/_chunks/task-tray-DP5A3Qnc.js.map +1 -0
- package/dist/_chunks/tasks-panel-BuxaYtEF.js +757 -0
- package/dist/_chunks/tasks-panel-BuxaYtEF.js.map +1 -0
- package/dist/_chunks/text-input-CUvCb6ST.js +283 -0
- package/dist/_chunks/text-input-CUvCb6ST.js.map +1 -0
- package/dist/_chunks/theme-toggle-dtdy5EaL.js +367 -0
- package/dist/_chunks/theme-toggle-dtdy5EaL.js.map +1 -0
- package/dist/_chunks/timeline-r-8IUoBS.js +294 -0
- package/dist/_chunks/timeline-r-8IUoBS.js.map +1 -0
- package/dist/_chunks/toast.agent-BSxl057x.js +1005 -0
- package/dist/_chunks/toast.agent-BSxl057x.js.map +1 -0
- package/dist/_chunks/token-insert-menu-Pok4nExI.js +147 -0
- package/dist/_chunks/token-insert-menu-Pok4nExI.js.map +1 -0
- package/dist/_chunks/tooth-scheme-D_rso4uu.js +2133 -0
- package/dist/_chunks/tooth-scheme-D_rso4uu.js.map +1 -0
- package/dist/_chunks/tr-DHaeLFxG.js +378 -0
- package/dist/_chunks/tr-DHaeLFxG.js.map +1 -0
- package/dist/_chunks/transaction-chip-B6iWoVmU.js +225 -0
- package/dist/_chunks/transaction-chip-B6iWoVmU.js.map +1 -0
- package/dist/_chunks/transcript-panel-BGkEhvHO.js +374 -0
- package/dist/_chunks/transcript-panel-BGkEhvHO.js.map +1 -0
- package/dist/_chunks/trash-2-uumy3fy1.js +18 -0
- package/dist/_chunks/trash-2-uumy3fy1.js.map +1 -0
- package/dist/_chunks/triangle-alert-CBnO6nq_.js +22 -0
- package/dist/_chunks/triangle-alert-CBnO6nq_.js.map +1 -0
- package/dist/_chunks/unit-converter-fEqluT8b.js +337 -0
- package/dist/_chunks/unit-converter-fEqluT8b.js.map +1 -0
- package/dist/_chunks/use-password-requirements-Bwtqx1qN.js +453 -0
- package/dist/_chunks/use-password-requirements-Bwtqx1qN.js.map +1 -0
- package/dist/_chunks/user-B12p7bVF.js +15 -0
- package/dist/_chunks/user-B12p7bVF.js.map +1 -0
- package/dist/_chunks/user-cog-BTn98Arm.js +24 -0
- package/dist/_chunks/user-cog-BTn98Arm.js.map +1 -0
- package/dist/_chunks/users-BjS_Gg1E.js +17 -0
- package/dist/_chunks/users-BjS_Gg1E.js.map +1 -0
- package/dist/_chunks/video-BheNGvsu.js +21 -0
- package/dist/_chunks/video-BheNGvsu.js.map +1 -0
- package/dist/_chunks/warning-stack-BaMI7-n7.js +268 -0
- package/dist/_chunks/warning-stack-BaMI7-n7.js.map +1 -0
- package/dist/_chunks/workflow-map-qWsgCldq.js +1356 -0
- package/dist/_chunks/workflow-map-qWsgCldq.js.map +1 -0
- package/dist/_chunks/x-B5YnXwCz.js +15 -0
- package/dist/_chunks/x-B5YnXwCz.js.map +1 -0
- package/dist/_chunks/zh-CN-BncsTBwM.js +388 -0
- package/dist/_chunks/zh-CN-BncsTBwM.js.map +1 -0
- package/dist/_chunks/zoom-out-Dnif4kJx.js +29 -0
- package/dist/_chunks/zoom-out-Dnif4kJx.js.map +1 -0
- package/dist/agent-catalog.json +1473 -317
- package/dist/agent-i18n/en.json +107 -15
- package/dist/components/accordion/index.js +1 -1
- package/dist/components/address-autocomplete/index.js +1 -1
- 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-consent-banner/index.js +1 -1
- package/dist/components/ai-prompt-input/index.js +1 -1
- package/dist/components/alert/index.js +1 -1
- package/dist/components/anamnesis-card/index.js +1 -1
- package/dist/components/annotation-marker/annotation-marker.d.ts +1 -1
- package/dist/components/appointment-card/index.js +2 -2
- package/dist/components/appointment-timeline/index.js +1 -1
- package/dist/components/audio-recorder/index.js +1 -1
- package/dist/components/bishop-score/index.js +1 -1
- package/dist/components/bmi-calculator/index.js +1 -1
- package/dist/components/booking/index.js +1 -1
- package/dist/components/breadcrumb/index.js +1 -1
- package/dist/components/calculator-dialog/index.js +1 -1
- package/dist/components/calendar/index.js +1 -1
- package/dist/components/care-plan-card/index.js +1 -1
- package/dist/components/care-plan-entry-card/index.js +1 -1
- package/dist/components/care-plan-header/index.js +1 -1
- package/dist/components/carousel/index.js +1 -1
- package/dist/components/chat-container/index.js +1 -1
- package/dist/components/chat-input/index.js +1 -1
- package/dist/components/chat-message/chat-message.d.ts +1 -1
- package/dist/components/chat-message/index.js +1 -1
- package/dist/components/checkbox-group/index.js +1 -1
- package/dist/components/city-input/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/command-palette/index.js +1 -1
- package/dist/components/connection-status/index.js +1 -1
- package/dist/components/contact-card/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/copy-field/index.js +1 -1
- package/dist/components/country-select/index.js +1 -1
- package/dist/components/cycle-calculator/index.js +1 -1
- package/dist/components/data-table/index.js +2 -2
- package/dist/components/date-picker/index.js +1 -1
- package/dist/components/date-range-picker/index.js +1 -1
- package/dist/components/date-time-picker/index.js +1 -1
- package/dist/components/dependent-selector/index.js +1 -1
- package/dist/components/description-list/index.js +1 -1
- package/dist/components/dialog/index.js +1 -1
- package/dist/components/document-scanner/index.js +1 -1
- package/dist/components/dropdown-menu/index.js +1 -1
- package/dist/components/due-date-calculator/index.js +2 -2
- package/dist/components/editor-overlay/index.js +1 -1
- package/dist/components/email-input/index.js +1 -1
- package/dist/components/entity-summary/index.js +1 -1
- package/dist/components/face-scheme/detect-face-landmarks.d.ts +26 -0
- package/dist/components/face-scheme/detect-face-landmarks.d.ts.map +1 -0
- package/dist/components/face-scheme/detect-face-yunet.d.ts +28 -0
- package/dist/components/face-scheme/detect-face-yunet.d.ts.map +1 -0
- package/dist/components/face-scheme/face-scheme-data.d.ts +113 -0
- package/dist/components/face-scheme/face-scheme-data.d.ts.map +1 -0
- package/dist/components/face-scheme/face-scheme-zones.d.ts +11 -0
- package/dist/components/face-scheme/face-scheme-zones.d.ts.map +1 -0
- package/dist/components/face-scheme/face-scheme.agent.d.ts +4 -0
- package/dist/components/face-scheme/face-scheme.agent.d.ts.map +1 -0
- package/dist/components/face-scheme/face-scheme.d.ts +144 -0
- package/dist/components/face-scheme/face-scheme.d.ts.map +1 -0
- package/dist/components/face-scheme/index.d.ts +7 -0
- package/dist/components/face-scheme/index.d.ts.map +1 -0
- package/dist/components/face-scheme/index.js +17 -0
- package/dist/components/fetal-weight/index.js +1 -1
- package/dist/components/field-array/index.js +1 -1
- package/dist/components/file-upload/index.js +1 -1
- package/dist/components/finished-terminal/index.js +1 -1
- package/dist/components/fiscal-code-input/index.js +1 -1
- package/dist/components/form-field/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/hcg-doubling/index.js +1 -1
- package/dist/components/header/index.js +1 -1
- package/dist/components/header-settings/index.js +1 -1
- package/dist/components/iban-input/index.js +1 -1
- package/dist/components/icon-picker/index.js +1 -1
- package/dist/components/image-cropper/index.js +1 -1
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/key-value-pair/index.js +1 -1
- package/dist/components/link/index.js +1 -1
- package/dist/components/locale-picker/index.js +1 -1
- package/dist/components/map-view/index.js +1 -1
- 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.d.ts +6 -0
- package/dist/components/muscle-scheme/index.d.ts.map +1 -0
- package/dist/components/muscle-scheme/index.js +16 -0
- package/dist/components/muscle-scheme/index.js.map +1 -0
- package/dist/components/muscle-scheme/muscle-paths.d.ts +22 -0
- package/dist/components/muscle-scheme/muscle-paths.d.ts.map +1 -0
- package/dist/components/muscle-scheme/muscle-scheme-data.d.ts +107 -0
- package/dist/components/muscle-scheme/muscle-scheme-data.d.ts.map +1 -0
- package/dist/components/muscle-scheme/muscle-scheme.agent.d.ts +6 -0
- package/dist/components/muscle-scheme/muscle-scheme.agent.d.ts.map +1 -0
- package/dist/components/muscle-scheme/muscle-scheme.d.ts +66 -0
- package/dist/components/muscle-scheme/muscle-scheme.d.ts.map +1 -0
- package/dist/components/nav-grid/index.js +1 -1
- package/dist/components/navigation-menu/index.js +1 -1
- package/dist/components/notes-panel/index.js +1 -1
- package/dist/components/notification-card/index.js +1 -1
- package/dist/components/notification-tray/index.js +1 -1
- package/dist/components/number-input/index.js +1 -1
- package/dist/components/operator-hero/index.js +1 -1
- package/dist/components/optical-prescription/index.d.ts +6 -0
- package/dist/components/optical-prescription/index.d.ts.map +1 -0
- package/dist/components/optical-prescription/index.js +38 -0
- package/dist/components/optical-prescription/index.js.map +1 -0
- package/dist/components/optical-prescription/optical-prescription-data.d.ts +106 -0
- package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -0
- package/dist/components/optical-prescription/optical-prescription.agent.d.ts +6 -0
- package/dist/components/optical-prescription/optical-prescription.agent.d.ts.map +1 -0
- package/dist/components/optical-prescription/optical-prescription.d.ts +43 -0
- package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -0
- package/dist/components/pagination/index.js +1 -1
- package/dist/components/password-input/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-card/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-chart-card/index.js +1 -1
- package/dist/components/permission-matrix/index.js +1 -1
- package/dist/components/phone-input/index.js +1 -1
- package/dist/components/popover/index.js +1 -1
- package/dist/components/postal-code-input/index.js +1 -1
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/pregnancy-dating/index.js +1 -1
- package/dist/components/pregnancy-weight-gain/index.js +1 -1
- package/dist/components/privacy-lock/index.js +1 -1
- package/dist/components/product-hub-tray/index.js +1 -1
- package/dist/components/province-select/index.js +1 -1
- package/dist/components/public-footer/index.js +1 -1
- package/dist/components/public-header/index.js +1 -1
- package/dist/components/radio-group/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 +1 -1
- package/dist/components/search-bar/index.js +1 -1
- package/dist/components/search-input/index.js +1 -1
- package/dist/components/select/index.js +1 -1
- package/dist/components/session-countdown/index.js +1 -1
- package/dist/components/sheet/index.js +1 -1
- package/dist/components/sidebar/index.js +1 -1
- package/dist/components/sign-document/index.js +1 -1
- package/dist/components/signature-field/index.js +1 -1
- package/dist/components/smart-date/index.js +1 -1
- package/dist/components/stepper-accordion/index.js +1 -1
- package/dist/components/streaming-text/index.js +1 -1
- package/dist/components/tab-bar/index.js +1 -1
- package/dist/components/tabs/index.js +1 -1
- package/dist/components/tag/index.js +1 -1
- package/dist/components/task-card/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/text-input/index.js +1 -1
- package/dist/components/theme-toggle/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/toast/index.js +1 -1
- package/dist/components/token-insert-menu/index.js +1 -1
- package/dist/components/tooth-scheme/index.js +1 -1
- package/dist/components/transaction-chip/index.js +1 -1
- package/dist/components/transcript-panel/index.js +1 -1
- package/dist/components/unit-converter/index.js +1 -1
- package/dist/components/warning-stack/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +139 -98
- package/dist/i18n/locales/ar.d.ts.map +1 -1
- package/dist/i18n/locales/ar.js +141 -107
- package/dist/i18n/locales/ar.js.map +1 -1
- package/dist/i18n/locales/de.d.ts +139 -98
- package/dist/i18n/locales/de.d.ts.map +1 -1
- package/dist/i18n/locales/de.js +141 -107
- package/dist/i18n/locales/de.js.map +1 -1
- package/dist/i18n/locales/el.d.ts +139 -98
- package/dist/i18n/locales/el.d.ts.map +1 -1
- package/dist/i18n/locales/el.js +141 -107
- package/dist/i18n/locales/el.js.map +1 -1
- package/dist/i18n/locales/en.d.ts +139 -98
- package/dist/i18n/locales/en.d.ts.map +1 -1
- package/dist/i18n/locales/en.js +141 -107
- package/dist/i18n/locales/en.js.map +1 -1
- package/dist/i18n/locales/es.d.ts +139 -98
- package/dist/i18n/locales/es.d.ts.map +1 -1
- package/dist/i18n/locales/es.js +141 -107
- package/dist/i18n/locales/es.js.map +1 -1
- package/dist/i18n/locales/fr.d.ts +139 -98
- package/dist/i18n/locales/fr.d.ts.map +1 -1
- package/dist/i18n/locales/fr.js +141 -107
- package/dist/i18n/locales/fr.js.map +1 -1
- package/dist/i18n/locales/hi.d.ts +139 -98
- package/dist/i18n/locales/hi.d.ts.map +1 -1
- package/dist/i18n/locales/hi.js +141 -107
- package/dist/i18n/locales/hi.js.map +1 -1
- package/dist/i18n/locales/it.d.ts +139 -98
- package/dist/i18n/locales/it.d.ts.map +1 -1
- package/dist/i18n/locales/it.js +141 -107
- package/dist/i18n/locales/it.js.map +1 -1
- package/dist/i18n/locales/ja.d.ts +139 -98
- package/dist/i18n/locales/ja.d.ts.map +1 -1
- package/dist/i18n/locales/ja.js +141 -107
- package/dist/i18n/locales/ja.js.map +1 -1
- package/dist/i18n/locales/nl.d.ts +139 -98
- package/dist/i18n/locales/nl.d.ts.map +1 -1
- package/dist/i18n/locales/nl.js +141 -107
- package/dist/i18n/locales/nl.js.map +1 -1
- package/dist/i18n/locales/pl.d.ts +139 -98
- package/dist/i18n/locales/pl.d.ts.map +1 -1
- package/dist/i18n/locales/pl.js +141 -107
- package/dist/i18n/locales/pl.js.map +1 -1
- package/dist/i18n/locales/pt.d.ts +139 -98
- package/dist/i18n/locales/pt.d.ts.map +1 -1
- package/dist/i18n/locales/pt.js +141 -107
- package/dist/i18n/locales/pt.js.map +1 -1
- package/dist/i18n/locales/ro.d.ts +139 -98
- package/dist/i18n/locales/ro.d.ts.map +1 -1
- package/dist/i18n/locales/ro.js +141 -107
- package/dist/i18n/locales/ro.js.map +1 -1
- package/dist/i18n/locales/ru.d.ts +139 -98
- package/dist/i18n/locales/ru.d.ts.map +1 -1
- package/dist/i18n/locales/ru.js +141 -107
- package/dist/i18n/locales/ru.js.map +1 -1
- package/dist/i18n/locales/sq.d.ts +139 -98
- package/dist/i18n/locales/sq.d.ts.map +1 -1
- package/dist/i18n/locales/sq.js +141 -107
- package/dist/i18n/locales/sq.js.map +1 -1
- package/dist/i18n/locales/sv.d.ts +139 -98
- package/dist/i18n/locales/sv.d.ts.map +1 -1
- package/dist/i18n/locales/sv.js +141 -107
- package/dist/i18n/locales/sv.js.map +1 -1
- package/dist/i18n/locales/tr.d.ts +139 -98
- package/dist/i18n/locales/tr.d.ts.map +1 -1
- package/dist/i18n/locales/tr.js +141 -107
- package/dist/i18n/locales/tr.js.map +1 -1
- package/dist/i18n/locales/zh.d.ts +139 -98
- package/dist/i18n/locales/zh.d.ts.map +1 -1
- package/dist/i18n/locales/zh.js +141 -107
- package/dist/i18n/locales/zh.js.map +1 -1
- package/dist/index.js +710 -662
- package/dist/index.js.map +1 -1
- package/dist/locales/ar.json +141 -100
- package/dist/locales/de.json +141 -100
- package/dist/locales/el.json +141 -100
- package/dist/locales/en.json +141 -100
- package/dist/locales/es.json +141 -100
- package/dist/locales/fr.json +141 -100
- package/dist/locales/hi.json +141 -100
- package/dist/locales/it.json +141 -100
- package/dist/locales/ja.json +141 -100
- package/dist/locales/nl.json +141 -100
- package/dist/locales/pl.json +141 -100
- package/dist/locales/pt.json +141 -100
- package/dist/locales/ro.json +141 -100
- package/dist/locales/ru.json +141 -100
- package/dist/locales/sq.json +141 -100
- package/dist/locales/sv.json +141 -100
- package/dist/locales/tr.json +141 -100
- package/dist/locales/zh.json +141 -100
- package/dist/patterns/alia-assistant/alia-asteroid-icon.d.ts +18 -0
- package/dist/patterns/alia-assistant/alia-asteroid-icon.d.ts.map +1 -0
- package/dist/patterns/alia-assistant/alia-chat-surface.d.ts.map +1 -1
- package/dist/patterns/alia-assistant/alia-sidebar.d.ts.map +1 -1
- package/dist/patterns/alia-assistant/index.js +1 -1
- package/dist/patterns/marketplace-app-shell/index.js +1 -1
- package/dist/patterns/patient-shell/index.js +1 -1
- package/dist/tokens.css +7 -1
- package/package.json +13 -5
- package/dist/_chunks/accordion-DnIa7OHX.js +0 -250
- package/dist/_chunks/accordion-DnIa7OHX.js.map +0 -1
- package/dist/_chunks/address-autocomplete-BEX9PXty.js +0 -496
- package/dist/_chunks/address-autocomplete-BEX9PXty.js.map +0 -1
- package/dist/_chunks/address-fields-CPbFJ8e8.js +0 -246
- package/dist/_chunks/address-fields-CPbFJ8e8.js.map +0 -1
- package/dist/_chunks/agenda-card-BQ-IKAru.js +0 -147
- package/dist/_chunks/agenda-card-BQ-IKAru.js.map +0 -1
- package/dist/_chunks/agenda-tray-CGXRk58j.js +0 -215
- package/dist/_chunks/agenda-tray-CGXRk58j.js.map +0 -1
- package/dist/_chunks/ai-consent-banner-Be-h9mRI.js +0 -170
- package/dist/_chunks/ai-consent-banner-Be-h9mRI.js.map +0 -1
- package/dist/_chunks/ai-prompt-input-V4DdOeqv.js +0 -500
- package/dist/_chunks/ai-prompt-input-V4DdOeqv.js.map +0 -1
- package/dist/_chunks/alert-CHYZ96tR.js +0 -314
- package/dist/_chunks/alert-CHYZ96tR.js.map +0 -1
- package/dist/_chunks/alia-sidebar-DvIUzIX9.js +0 -1127
- package/dist/_chunks/alia-sidebar-DvIUzIX9.js.map +0 -1
- package/dist/_chunks/anamnesis-card-DvYCa16e.js +0 -156
- package/dist/_chunks/anamnesis-card-DvYCa16e.js.map +0 -1
- package/dist/_chunks/anatomy-scheme-CXSk11UJ.js +0 -2445
- package/dist/_chunks/anatomy-scheme-CXSk11UJ.js.map +0 -1
- package/dist/_chunks/antenatal-schedule-timeline-CwXrQRm1.js +0 -413
- package/dist/_chunks/antenatal-schedule-timeline-CwXrQRm1.js.map +0 -1
- package/dist/_chunks/appointment-card-DVaeJNVB.js +0 -294
- package/dist/_chunks/appointment-card-DVaeJNVB.js.map +0 -1
- package/dist/_chunks/appointment-timeline-PJgnrjFb.js +0 -388
- package/dist/_chunks/appointment-timeline-PJgnrjFb.js.map +0 -1
- package/dist/_chunks/appointment-tray-B16QPGbm.js +0 -193
- package/dist/_chunks/appointment-tray-B16QPGbm.js.map +0 -1
- package/dist/_chunks/ar-Cn5Fq48Z.js +0 -399
- package/dist/_chunks/ar-Cn5Fq48Z.js.map +0 -1
- package/dist/_chunks/audio-recorder-DNDsOLqO.js +0 -450
- package/dist/_chunks/audio-recorder-DNDsOLqO.js.map +0 -1
- package/dist/_chunks/bishop-score-Cym_TeQY.js +0 -304
- package/dist/_chunks/bishop-score-Cym_TeQY.js.map +0 -1
- package/dist/_chunks/bmi-calculator-zjeY4E7J.js +0 -434
- package/dist/_chunks/bmi-calculator-zjeY4E7J.js.map +0 -1
- package/dist/_chunks/booking-C7do4vaR.js +0 -2711
- package/dist/_chunks/booking-C7do4vaR.js.map +0 -1
- package/dist/_chunks/breadcrumb-CchdeG7d.js +0 -393
- package/dist/_chunks/breadcrumb-CchdeG7d.js.map +0 -1
- package/dist/_chunks/calculator-dialog-BR5iU0kf.js +0 -40
- package/dist/_chunks/calculator-dialog-BR5iU0kf.js.map +0 -1
- package/dist/_chunks/calendar-B6soK1Yb.js +0 -17
- package/dist/_chunks/calendar-B6soK1Yb.js.map +0 -1
- package/dist/_chunks/calendar-CZUjL8SZ.js +0 -1050
- package/dist/_chunks/calendar-CZUjL8SZ.js.map +0 -1
- package/dist/_chunks/calendar-clock-CYkcqdwl.js +0 -19
- package/dist/_chunks/calendar-clock-CYkcqdwl.js.map +0 -1
- package/dist/_chunks/calendar-days-C4BmpCZg.js +0 -23
- package/dist/_chunks/calendar-days-C4BmpCZg.js.map +0 -1
- package/dist/_chunks/care-plan-card-DzPDYgtK.js +0 -256
- package/dist/_chunks/care-plan-card-DzPDYgtK.js.map +0 -1
- package/dist/_chunks/care-plan-entry-card-CEnQy7YP.js +0 -322
- package/dist/_chunks/care-plan-entry-card-CEnQy7YP.js.map +0 -1
- package/dist/_chunks/care-plan-header-DcXFXWit.js +0 -198
- package/dist/_chunks/care-plan-header-DcXFXWit.js.map +0 -1
- package/dist/_chunks/carousel.agent-4v8Emr9E.js +0 -1754
- package/dist/_chunks/carousel.agent-4v8Emr9E.js.map +0 -1
- package/dist/_chunks/chat-container-DWho5hPR.js +0 -234
- package/dist/_chunks/chat-container-DWho5hPR.js.map +0 -1
- package/dist/_chunks/chat-input-BcXTetgM.js +0 -368
- package/dist/_chunks/chat-input-BcXTetgM.js.map +0 -1
- package/dist/_chunks/chat-message-DzpcJR-q.js +0 -239
- package/dist/_chunks/chat-message-DzpcJR-q.js.map +0 -1
- package/dist/_chunks/check-DPdL_Sm7.js +0 -12
- package/dist/_chunks/check-DPdL_Sm7.js.map +0 -1
- package/dist/_chunks/checkbox-group-PqNmQ-cE.js +0 -213
- package/dist/_chunks/checkbox-group-PqNmQ-cE.js.map +0 -1
- package/dist/_chunks/chevron-down-BX_NP2Yh.js +0 -12
- package/dist/_chunks/chevron-down-BX_NP2Yh.js.map +0 -1
- package/dist/_chunks/chevron-left-CX1jqD2M.js +0 -12
- package/dist/_chunks/chevron-left-CX1jqD2M.js.map +0 -1
- package/dist/_chunks/chevron-right-BrpYejk0.js +0 -12
- package/dist/_chunks/chevron-right-BrpYejk0.js.map +0 -1
- package/dist/_chunks/chevron-up-zOEDrmBB.js +0 -12
- package/dist/_chunks/chevron-up-zOEDrmBB.js.map +0 -1
- package/dist/_chunks/chevrons-right-d9MwesPG.js +0 -26
- package/dist/_chunks/chevrons-right-d9MwesPG.js.map +0 -1
- package/dist/_chunks/circle-BkqTgYmt.js +0 -12
- package/dist/_chunks/circle-BkqTgYmt.js.map +0 -1
- package/dist/_chunks/circle-alert-ChA9opNA.js +0 -16
- package/dist/_chunks/circle-alert-ChA9opNA.js.map +0 -1
- package/dist/_chunks/circle-check-9AeSgJD_.js +0 -15
- package/dist/_chunks/circle-check-9AeSgJD_.js.map +0 -1
- package/dist/_chunks/circle-x-Du2CmjaU.js +0 -16
- package/dist/_chunks/circle-x-Du2CmjaU.js.map +0 -1
- package/dist/_chunks/city-input-Dkgaak7I.js +0 -169
- package/dist/_chunks/city-input-Dkgaak7I.js.map +0 -1
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js +0 -436
- package/dist/_chunks/clinical-note-card-BUvNMNGL.js.map +0 -1
- package/dist/_chunks/clipboard-list-S7s-MXQq.js +0 -25
- package/dist/_chunks/clipboard-list-S7s-MXQq.js.map +0 -1
- package/dist/_chunks/clock-21AGPWJ5.js +0 -15
- package/dist/_chunks/clock-21AGPWJ5.js.map +0 -1
- package/dist/_chunks/code-block-BBWHhIc8.js +0 -106
- package/dist/_chunks/code-block-BBWHhIc8.js.map +0 -1
- package/dist/_chunks/color-picker-C_fZl6sA.js +0 -718
- package/dist/_chunks/color-picker-C_fZl6sA.js.map +0 -1
- package/dist/_chunks/columns-2-BTOBZbep.js +0 -15
- package/dist/_chunks/columns-2-BTOBZbep.js.map +0 -1
- package/dist/_chunks/combobox-DnqSF0IH.js +0 -513
- package/dist/_chunks/combobox-DnqSF0IH.js.map +0 -1
- package/dist/_chunks/command-palette-CJzmc5pC.js +0 -473
- package/dist/_chunks/command-palette-CJzmc5pC.js.map +0 -1
- package/dist/_chunks/connection-status-CY1HV8Wg.js +0 -108
- package/dist/_chunks/connection-status-CY1HV8Wg.js.map +0 -1
- package/dist/_chunks/contact-card-Cf8Ktyt3.js +0 -121
- package/dist/_chunks/contact-card-Cf8Ktyt3.js.map +0 -1
- package/dist/_chunks/contact-profile-card-DDPwRFiP.js +0 -333
- package/dist/_chunks/contact-profile-card-DDPwRFiP.js.map +0 -1
- package/dist/_chunks/control-room-rail-FAQZrGVL.js +0 -333
- package/dist/_chunks/control-room-rail-FAQZrGVL.js.map +0 -1
- package/dist/_chunks/copy-B00HK7tj.js +0 -15
- package/dist/_chunks/copy-B00HK7tj.js.map +0 -1
- package/dist/_chunks/copy-field-Bjw9u2cV.js +0 -268
- package/dist/_chunks/copy-field-Bjw9u2cV.js.map +0 -1
- package/dist/_chunks/country-select-BwUZQvTa.js +0 -709
- package/dist/_chunks/country-select-BwUZQvTa.js.map +0 -1
- package/dist/_chunks/createLucideIcon-CrFbzy84.js +0 -117
- package/dist/_chunks/createLucideIcon-CrFbzy84.js.map +0 -1
- package/dist/_chunks/cycle-calculator-CCmPwcBl.js +0 -252
- package/dist/_chunks/cycle-calculator-CCmPwcBl.js.map +0 -1
- package/dist/_chunks/date-picker-Dl9RKxaV.js +0 -1845
- package/dist/_chunks/date-picker-Dl9RKxaV.js.map +0 -1
- package/dist/_chunks/date-picker-variants-DAcSLTua.js +0 -3224
- package/dist/_chunks/date-picker-variants-DAcSLTua.js.map +0 -1
- package/dist/_chunks/date-range-picker-CTUeR6Bj.js +0 -324
- package/dist/_chunks/date-range-picker-CTUeR6Bj.js.map +0 -1
- package/dist/_chunks/date-time-picker-BhoogS5Q.js +0 -336
- package/dist/_chunks/date-time-picker-BhoogS5Q.js.map +0 -1
- package/dist/_chunks/de-CrJs4ZsX.js +0 -477
- package/dist/_chunks/de-CrJs4ZsX.js.map +0 -1
- package/dist/_chunks/dependent-selector-DUV4thxX.js +0 -338
- package/dist/_chunks/dependent-selector-DUV4thxX.js.map +0 -1
- package/dist/_chunks/description-list-gkNGWk5G.js +0 -319
- package/dist/_chunks/description-list-gkNGWk5G.js.map +0 -1
- package/dist/_chunks/dialog-ZNuboNmy.js +0 -230
- package/dist/_chunks/dialog-ZNuboNmy.js.map +0 -1
- package/dist/_chunks/document-scanner-C_AxLooF.js +0 -711
- package/dist/_chunks/document-scanner-C_AxLooF.js.map +0 -1
- package/dist/_chunks/download-CDF1sbL9.js +0 -16
- package/dist/_chunks/download-CDF1sbL9.js.map +0 -1
- package/dist/_chunks/dropdown-menu-qrxjymfw.js +0 -355
- package/dist/_chunks/dropdown-menu-qrxjymfw.js.map +0 -1
- package/dist/_chunks/due-date-calculator-Brdj-euS.js +0 -256
- package/dist/_chunks/due-date-calculator-Brdj-euS.js.map +0 -1
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js +0 -410
- package/dist/_chunks/editable-currency-cell-renderer-CGELrkIj.js.map +0 -1
- package/dist/_chunks/editor-overlay-wYm22wZK.js +0 -88
- package/dist/_chunks/editor-overlay-wYm22wZK.js.map +0 -1
- package/dist/_chunks/el-DHdMOIhL.js +0 -373
- package/dist/_chunks/el-DHdMOIhL.js.map +0 -1
- package/dist/_chunks/ellipsis-rgGdiK_9.js +0 -16
- package/dist/_chunks/ellipsis-rgGdiK_9.js.map +0 -1
- package/dist/_chunks/email-input-DJ7EXklP.js +0 -397
- package/dist/_chunks/email-input-DJ7EXklP.js.map +0 -1
- package/dist/_chunks/entity-card-DmrgYSEX.js +0 -87
- package/dist/_chunks/entity-card-DmrgYSEX.js.map +0 -1
- package/dist/_chunks/entity-summary-CaM1Y-xE.js +0 -291
- package/dist/_chunks/entity-summary-CaM1Y-xE.js.map +0 -1
- package/dist/_chunks/es-DCATCfqo.js +0 -373
- package/dist/_chunks/es-DCATCfqo.js.map +0 -1
- package/dist/_chunks/external-link-C6F25E6k.js +0 -16
- package/dist/_chunks/external-link-C6F25E6k.js.map +0 -1
- package/dist/_chunks/eye-LHlSU38h.js +0 -21
- package/dist/_chunks/eye-LHlSU38h.js.map +0 -1
- package/dist/_chunks/eye-off-xEXDAh5z.js +0 -29
- package/dist/_chunks/eye-off-xEXDAh5z.js.map +0 -1
- package/dist/_chunks/fetal-weight-DNCkyeVo.js +0 -122
- package/dist/_chunks/fetal-weight-DNCkyeVo.js.map +0 -1
- package/dist/_chunks/field-array-siUZzfYe.js +0 -146
- package/dist/_chunks/field-array-siUZzfYe.js.map +0 -1
- package/dist/_chunks/field-value-3jMM0uDx.js +0 -415
- package/dist/_chunks/field-value-3jMM0uDx.js.map +0 -1
- package/dist/_chunks/file-spreadsheet-zUkY8rJ2.js +0 -25
- package/dist/_chunks/file-spreadsheet-zUkY8rJ2.js.map +0 -1
- package/dist/_chunks/file-text-DSNuv2B8.js +0 -24
- package/dist/_chunks/file-text-DSNuv2B8.js.map +0 -1
- package/dist/_chunks/file-upload-DwZcAK8D.js +0 -819
- package/dist/_chunks/file-upload-DwZcAK8D.js.map +0 -1
- package/dist/_chunks/finished-terminal-VjZ_-eDD.js +0 -122
- package/dist/_chunks/finished-terminal-VjZ_-eDD.js.map +0 -1
- package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js +0 -553
- package/dist/_chunks/fiscal-code-input-Cf-8O4Fj.js.map +0 -1
- package/dist/_chunks/form-field-BOm9hK35.js +0 -123
- package/dist/_chunks/form-field-BOm9hK35.js.map +0 -1
- package/dist/_chunks/fr-BfGEMshF.js +0 -338
- package/dist/_chunks/fr-BfGEMshF.js.map +0 -1
- package/dist/_chunks/freemium-paywall-WYlNO7yT.js +0 -275
- package/dist/_chunks/freemium-paywall-WYlNO7yT.js.map +0 -1
- package/dist/_chunks/gestational-age-calculator-DKzEV5Qi.js +0 -311
- package/dist/_chunks/gestational-age-calculator-DKzEV5Qi.js.map +0 -1
- package/dist/_chunks/globe-BkEFMNSg.js +0 -16
- package/dist/_chunks/globe-BkEFMNSg.js.map +0 -1
- package/dist/_chunks/grip-vertical-Dlg0_k5C.js +0 -19
- package/dist/_chunks/grip-vertical-Dlg0_k5C.js.map +0 -1
- package/dist/_chunks/hash-CysBBS_N.js +0 -17
- package/dist/_chunks/hash-CysBBS_N.js.map +0 -1
- package/dist/_chunks/hcg-doubling-C7bmuaU3.js +0 -170
- package/dist/_chunks/hcg-doubling-C7bmuaU3.js.map +0 -1
- package/dist/_chunks/header-CNszv2WQ.js +0 -297
- package/dist/_chunks/header-CNszv2WQ.js.map +0 -1
- package/dist/_chunks/header-settings-DJqoAl5m.js +0 -284
- package/dist/_chunks/header-settings-DJqoAl5m.js.map +0 -1
- package/dist/_chunks/heart-C0faivFf.js +0 -20
- package/dist/_chunks/heart-C0faivFf.js.map +0 -1
- package/dist/_chunks/heart-pulse-CvuyFKHB.js +0 -21
- package/dist/_chunks/heart-pulse-CvuyFKHB.js.map +0 -1
- package/dist/_chunks/hi-CBFRXEIm.js +0 -433
- package/dist/_chunks/hi-CBFRXEIm.js.map +0 -1
- package/dist/_chunks/iban-input-B0TWzR1R.js +0 -436
- package/dist/_chunks/iban-input-B0TWzR1R.js.map +0 -1
- package/dist/_chunks/icon-picker-0B7KhrF1.js +0 -272
- package/dist/_chunks/icon-picker-0B7KhrF1.js.map +0 -1
- package/dist/_chunks/image-C6RM5hfF.js +0 -16
- package/dist/_chunks/image-C6RM5hfF.js.map +0 -1
- package/dist/_chunks/image-cropper-D9jqJy19.js +0 -367
- package/dist/_chunks/image-cropper-D9jqJy19.js.map +0 -1
- package/dist/_chunks/info-B9XNKn05.js +0 -16
- package/dist/_chunks/info-B9XNKn05.js.map +0 -1
- package/dist/_chunks/insert-result-njqBthzT.js +0 -742
- package/dist/_chunks/insert-result-njqBthzT.js.map +0 -1
- package/dist/_chunks/isSameWeek-I3DfXUp1.js +0 -14
- package/dist/_chunks/isSameWeek-I3DfXUp1.js.map +0 -1
- package/dist/_chunks/it-nz6vAKwG.js +0 -401
- package/dist/_chunks/it-nz6vAKwG.js.map +0 -1
- package/dist/_chunks/ja-DQcqdAEJ.js +0 -366
- package/dist/_chunks/ja-DQcqdAEJ.js.map +0 -1
- package/dist/_chunks/key-value-pair-BrgbMfbF.js +0 -144
- package/dist/_chunks/key-value-pair-BrgbMfbF.js.map +0 -1
- package/dist/_chunks/languages-DsVf_WzT.js +0 -19
- package/dist/_chunks/languages-DsVf_WzT.js.map +0 -1
- package/dist/_chunks/layers-pzGcbLPj.js +0 -34
- package/dist/_chunks/layers-pzGcbLPj.js.map +0 -1
- package/dist/_chunks/link-DrD_cRUg.js +0 -129
- package/dist/_chunks/link-DrD_cRUg.js.map +0 -1
- package/dist/_chunks/link-cell-renderer-De_SLjSq.js +0 -2185
- package/dist/_chunks/link-cell-renderer-De_SLjSq.js.map +0 -1
- package/dist/_chunks/list-checks-BUs75d_o.js +0 -18
- package/dist/_chunks/list-checks-BUs75d_o.js.map +0 -1
- package/dist/_chunks/locale-picker-ChYYSX2N.js +0 -739
- package/dist/_chunks/locale-picker-ChYYSX2N.js.map +0 -1
- package/dist/_chunks/lock-CKOIn0IK.js +0 -15
- package/dist/_chunks/lock-CKOIn0IK.js.map +0 -1
- package/dist/_chunks/log-out-616hnn2-.js +0 -16
- package/dist/_chunks/log-out-616hnn2-.js.map +0 -1
- package/dist/_chunks/mail-C8irm52s.js +0 -15
- package/dist/_chunks/mail-C8irm52s.js.map +0 -1
- package/dist/_chunks/map-pin-B8STOPMJ.js +0 -21
- package/dist/_chunks/map-pin-B8STOPMJ.js.map +0 -1
- package/dist/_chunks/map-view-BkOoGoX2.js +0 -378
- package/dist/_chunks/map-view-BkOoGoX2.js.map +0 -1
- package/dist/_chunks/marketplace-app-shell-BGqkywsi.js +0 -513
- package/dist/_chunks/marketplace-app-shell-BGqkywsi.js.map +0 -1
- package/dist/_chunks/maximize-2-Cm9OUQ2m.js +0 -17
- package/dist/_chunks/maximize-2-Cm9OUQ2m.js.map +0 -1
- package/dist/_chunks/menu-XRhW3_99.js +0 -16
- package/dist/_chunks/menu-XRhW3_99.js.map +0 -1
- package/dist/_chunks/message-card-DsHFFiL1.js +0 -319
- package/dist/_chunks/message-card-DsHFFiL1.js.map +0 -1
- package/dist/_chunks/message-circle-C23eicgb.js +0 -20
- package/dist/_chunks/message-circle-C23eicgb.js.map +0 -1
- package/dist/_chunks/message-tray-C0a6CL1_.js +0 -494
- package/dist/_chunks/message-tray-C0a6CL1_.js.map +0 -1
- package/dist/_chunks/mic-B4Gog3Gi.js +0 -16
- package/dist/_chunks/mic-B4Gog3Gi.js.map +0 -1
- package/dist/_chunks/monitor-D-SFdbrU.js +0 -16
- package/dist/_chunks/monitor-D-SFdbrU.js.map +0 -1
- package/dist/_chunks/multi-select-WE4S9FIF.js +0 -614
- package/dist/_chunks/multi-select-WE4S9FIF.js.map +0 -1
- package/dist/_chunks/nav-grid-9xphY3FM.js +0 -169
- package/dist/_chunks/nav-grid-9xphY3FM.js.map +0 -1
- package/dist/_chunks/navigation-menu-DRUi6sSj.js +0 -310
- package/dist/_chunks/navigation-menu-DRUi6sSj.js.map +0 -1
- package/dist/_chunks/nl-L5SuDjyl.js +0 -326
- package/dist/_chunks/nl-L5SuDjyl.js.map +0 -1
- package/dist/_chunks/notes-panel-DXiMfuvp.js +0 -320
- package/dist/_chunks/notes-panel-DXiMfuvp.js.map +0 -1
- package/dist/_chunks/notification-card-BMqNzCIt.js +0 -290
- package/dist/_chunks/notification-card-BMqNzCIt.js.map +0 -1
- package/dist/_chunks/notification-tray-BmUlCx3g.js +0 -499
- package/dist/_chunks/notification-tray-BmUlCx3g.js.map +0 -1
- package/dist/_chunks/number-input-DxphVG_A.js +0 -350
- package/dist/_chunks/number-input-DxphVG_A.js.map +0 -1
- package/dist/_chunks/operator-hero-BO8TqzX2.js +0 -202
- package/dist/_chunks/operator-hero-BO8TqzX2.js.map +0 -1
- package/dist/_chunks/pagination-D58kglCr.js +0 -486
- package/dist/_chunks/pagination-D58kglCr.js.map +0 -1
- package/dist/_chunks/patient-details-DgfTJimE.js +0 -759
- package/dist/_chunks/patient-details-DgfTJimE.js.map +0 -1
- package/dist/_chunks/patient-search-CSWQKOSP.js +0 -1167
- package/dist/_chunks/patient-search-CSWQKOSP.js.map +0 -1
- package/dist/_chunks/patient-shell-BMwsIKlW.js +0 -162
- package/dist/_chunks/patient-shell-BMwsIKlW.js.map +0 -1
- package/dist/_chunks/patient-summary-card-D4NdgYJB.js +0 -452
- package/dist/_chunks/patient-summary-card-D4NdgYJB.js.map +0 -1
- package/dist/_chunks/patient-table-CERknpd8.js +0 -1110
- package/dist/_chunks/patient-table-CERknpd8.js.map +0 -1
- package/dist/_chunks/payment-form-CxqIXqw7.js +0 -690
- package/dist/_chunks/payment-form-CxqIXqw7.js.map +0 -1
- package/dist/_chunks/payment-request-card-Blf-MFNY.js +0 -467
- package/dist/_chunks/payment-request-card-Blf-MFNY.js.map +0 -1
- package/dist/_chunks/pdf-viewer-QfebdLOd.js +0 -1005
- package/dist/_chunks/pdf-viewer-QfebdLOd.js.map +0 -1
- package/dist/_chunks/pencil-CfQX-0Qc.js +0 -21
- package/dist/_chunks/pencil-CfQX-0Qc.js.map +0 -1
- package/dist/_chunks/periodontal-chart-card-hRRJY1NN.js +0 -455
- package/dist/_chunks/periodontal-chart-card-hRRJY1NN.js.map +0 -1
- package/dist/_chunks/permission-matrix-Bw5oexUt.js +0 -174
- package/dist/_chunks/permission-matrix-Bw5oexUt.js.map +0 -1
- package/dist/_chunks/phone-Bi5yUm4I.js +0 -20
- package/dist/_chunks/phone-Bi5yUm4I.js.map +0 -1
- package/dist/_chunks/phone-input-DjU-XmO_.js +0 -580
- package/dist/_chunks/phone-input-DjU-XmO_.js.map +0 -1
- package/dist/_chunks/pl-YAn5z2wR.js +0 -514
- package/dist/_chunks/pl-YAn5z2wR.js.map +0 -1
- package/dist/_chunks/plus-CYKNmfuA.js +0 -15
- package/dist/_chunks/plus-CYKNmfuA.js.map +0 -1
- package/dist/_chunks/popover-B2qCDhJC.js +0 -302
- package/dist/_chunks/popover-B2qCDhJC.js.map +0 -1
- package/dist/_chunks/postal-code-input-UCOYuRY2.js +0 -192
- package/dist/_chunks/postal-code-input-UCOYuRY2.js.map +0 -1
- package/dist/_chunks/practice-results-El5Z-oVp.js +0 -1609
- package/dist/_chunks/practice-results-El5Z-oVp.js.map +0 -1
- package/dist/_chunks/pregnancy-dating-CunHrOpO.js +0 -421
- package/dist/_chunks/pregnancy-dating-CunHrOpO.js.map +0 -1
- package/dist/_chunks/pregnancy-weight-gain-BUNpTsH-.js +0 -322
- package/dist/_chunks/pregnancy-weight-gain-BUNpTsH-.js.map +0 -1
- package/dist/_chunks/printer-CeVEWfQq.js +0 -22
- package/dist/_chunks/printer-CeVEWfQq.js.map +0 -1
- package/dist/_chunks/privacy-lock-BzMLQu-j.js +0 -197
- package/dist/_chunks/privacy-lock-BzMLQu-j.js.map +0 -1
- package/dist/_chunks/product-hub-panel-DtU7KXxm.js +0 -678
- package/dist/_chunks/product-hub-panel-DtU7KXxm.js.map +0 -1
- package/dist/_chunks/province-select-D_TZvix3.js +0 -261
- package/dist/_chunks/province-select-D_TZvix3.js.map +0 -1
- package/dist/_chunks/pt-D9xdT5KQ.js +0 -370
- package/dist/_chunks/pt-D9xdT5KQ.js.map +0 -1
- package/dist/_chunks/public-footer.agent-D0cFbjWl.js +0 -596
- package/dist/_chunks/public-footer.agent-D0cFbjWl.js.map +0 -1
- package/dist/_chunks/public-header.agent-TxmC_x1I.js +0 -597
- package/dist/_chunks/public-header.agent-TxmC_x1I.js.map +0 -1
- package/dist/_chunks/radio-group-BPt7pKZW.js +0 -167
- package/dist/_chunks/radio-group-BPt7pKZW.js.map +0 -1
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js +0 -553
- package/dist/_chunks/radiograph-panel.agent-tWjN2nHX.js.map +0 -1
- package/dist/_chunks/rating-BRD7O74e.js +0 -171
- package/dist/_chunks/rating-BRD7O74e.js.map +0 -1
- package/dist/_chunks/refresh-cw-CC8jSKMr.js +0 -17
- package/dist/_chunks/refresh-cw-CC8jSKMr.js.map +0 -1
- package/dist/_chunks/reviews-panel-DxkSrgMl.js +0 -559
- package/dist/_chunks/reviews-panel-DxkSrgMl.js.map +0 -1
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js +0 -2621
- package/dist/_chunks/rich-text-editor-C8tyGjfb.js.map +0 -1
- package/dist/_chunks/ro-Cp--52bT.js +0 -361
- package/dist/_chunks/ro-Cp--52bT.js.map +0 -1
- package/dist/_chunks/rotate-ccw-BWANpitO.js +0 -15
- package/dist/_chunks/rotate-ccw-BWANpitO.js.map +0 -1
- package/dist/_chunks/ru-BM8eX_Zz.js +0 -561
- package/dist/_chunks/ru-BM8eX_Zz.js.map +0 -1
- package/dist/_chunks/scan-line-lGioFwLC.js +0 -18
- package/dist/_chunks/scan-line-lGioFwLC.js.map +0 -1
- package/dist/_chunks/search-BonnQsHv.js +0 -15
- package/dist/_chunks/search-BonnQsHv.js.map +0 -1
- package/dist/_chunks/search-bar-C_T3pBJn.js +0 -612
- package/dist/_chunks/search-bar-C_T3pBJn.js.map +0 -1
- package/dist/_chunks/search-input-DQvGxR74.js +0 -237
- package/dist/_chunks/search-input-DQvGxR74.js.map +0 -1
- package/dist/_chunks/select-KsyRr8WH.js +0 -442
- package/dist/_chunks/select-KsyRr8WH.js.map +0 -1
- package/dist/_chunks/send-CySZIRPJ.js +0 -21
- package/dist/_chunks/send-CySZIRPJ.js.map +0 -1
- package/dist/_chunks/session-countdown-X1Ki6i0M.js +0 -214
- package/dist/_chunks/session-countdown-X1Ki6i0M.js.map +0 -1
- package/dist/_chunks/settings-ca2Yi9R8.js +0 -21
- package/dist/_chunks/settings-ca2Yi9R8.js.map +0 -1
- package/dist/_chunks/sheet-umkfZjF6.js +0 -296
- package/dist/_chunks/sheet-umkfZjF6.js.map +0 -1
- package/dist/_chunks/shield-check-BjCGH_Sr.js +0 -21
- package/dist/_chunks/shield-check-BjCGH_Sr.js.map +0 -1
- package/dist/_chunks/sidebar-QCp9wHNP.js +0 -1311
- package/dist/_chunks/sidebar-QCp9wHNP.js.map +0 -1
- package/dist/_chunks/sign-document-By6hMOra.js +0 -370
- package/dist/_chunks/sign-document-By6hMOra.js.map +0 -1
- package/dist/_chunks/signature-field-Dy1JRjzE.js +0 -197
- package/dist/_chunks/signature-field-Dy1JRjzE.js.map +0 -1
- package/dist/_chunks/smart-date-CWikAqZx.js +0 -114
- package/dist/_chunks/smart-date-CWikAqZx.js.map +0 -1
- package/dist/_chunks/sparkles-CuYXqQLg.js +0 -23
- package/dist/_chunks/sparkles-CuYXqQLg.js.map +0 -1
- package/dist/_chunks/sq-XRpr0r49.js +0 -355
- package/dist/_chunks/sq-XRpr0r49.js.map +0 -1
- package/dist/_chunks/square-CZoGU14v.js +0 -14
- package/dist/_chunks/square-CZoGU14v.js.map +0 -1
- package/dist/_chunks/square-check-big-Jr-0202D.js +0 -18
- package/dist/_chunks/square-check-big-Jr-0202D.js.map +0 -1
- package/dist/_chunks/star-vav0SJ9e.js +0 -20
- package/dist/_chunks/star-vav0SJ9e.js.map +0 -1
- package/dist/_chunks/stepper-accordion-DC-H-8v4.js +0 -247
- package/dist/_chunks/stepper-accordion-DC-H-8v4.js.map +0 -1
- package/dist/_chunks/stethoscope-DT5qCW8Y.js +0 -18
- package/dist/_chunks/stethoscope-DT5qCW8Y.js.map +0 -1
- package/dist/_chunks/streaming-text-BB9mvK4m.js +0 -131
- package/dist/_chunks/streaming-text-BB9mvK4m.js.map +0 -1
- package/dist/_chunks/subDays-BcYv1Lxi.js +0 -8
- package/dist/_chunks/subDays-BcYv1Lxi.js.map +0 -1
- package/dist/_chunks/sun-BuXE0xUS.js +0 -38
- package/dist/_chunks/sun-BuXE0xUS.js.map +0 -1
- package/dist/_chunks/sv-Z3APomE8.js +0 -376
- package/dist/_chunks/sv-Z3APomE8.js.map +0 -1
- package/dist/_chunks/tab-bar-Bv9nGNdO.js +0 -262
- package/dist/_chunks/tab-bar-Bv9nGNdO.js.map +0 -1
- package/dist/_chunks/tabs-CYZVKKDl.js +0 -408
- package/dist/_chunks/tabs-CYZVKKDl.js.map +0 -1
- package/dist/_chunks/tag-BQXwuJq1.js +0 -258
- package/dist/_chunks/tag-BQXwuJq1.js.map +0 -1
- package/dist/_chunks/task-card-DCdsI0ZT.js +0 -189
- package/dist/_chunks/task-card-DCdsI0ZT.js.map +0 -1
- package/dist/_chunks/task-tray-DNVejijD.js +0 -251
- package/dist/_chunks/task-tray-DNVejijD.js.map +0 -1
- package/dist/_chunks/tasks-panel-C9odmawT.js +0 -757
- package/dist/_chunks/tasks-panel-C9odmawT.js.map +0 -1
- package/dist/_chunks/text-input-B-OWQ1Je.js +0 -283
- package/dist/_chunks/text-input-B-OWQ1Je.js.map +0 -1
- package/dist/_chunks/theme-toggle-XB6o_lgs.js +0 -367
- package/dist/_chunks/theme-toggle-XB6o_lgs.js.map +0 -1
- package/dist/_chunks/timeline-CqA4nKTI.js +0 -294
- package/dist/_chunks/timeline-CqA4nKTI.js.map +0 -1
- package/dist/_chunks/toast.agent-57UzyR9U.js +0 -1005
- package/dist/_chunks/toast.agent-57UzyR9U.js.map +0 -1
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js +0 -147
- package/dist/_chunks/token-insert-menu-CFQqTe_n.js.map +0 -1
- package/dist/_chunks/tooth-scheme-DJZtzfeY.js +0 -2133
- package/dist/_chunks/tooth-scheme-DJZtzfeY.js.map +0 -1
- package/dist/_chunks/tr-e0-P4FON.js +0 -378
- package/dist/_chunks/tr-e0-P4FON.js.map +0 -1
- package/dist/_chunks/transaction-chip-CscoQbxF.js +0 -225
- package/dist/_chunks/transaction-chip-CscoQbxF.js.map +0 -1
- package/dist/_chunks/transcript-panel-CHGHHHdT.js +0 -374
- package/dist/_chunks/transcript-panel-CHGHHHdT.js.map +0 -1
- package/dist/_chunks/trash-2-rPAKaRgB.js +0 -18
- package/dist/_chunks/trash-2-rPAKaRgB.js.map +0 -1
- package/dist/_chunks/triangle-alert-CBPUIzQo.js +0 -22
- package/dist/_chunks/triangle-alert-CBPUIzQo.js.map +0 -1
- package/dist/_chunks/unit-converter-CwlZbfdn.js +0 -337
- package/dist/_chunks/unit-converter-CwlZbfdn.js.map +0 -1
- package/dist/_chunks/use-password-requirements-BXvS2MBS.js +0 -453
- package/dist/_chunks/use-password-requirements-BXvS2MBS.js.map +0 -1
- package/dist/_chunks/user-CPxpqFjJ.js +0 -15
- package/dist/_chunks/user-CPxpqFjJ.js.map +0 -1
- package/dist/_chunks/user-cog-BS_qc8nA.js +0 -24
- package/dist/_chunks/user-cog-BS_qc8nA.js.map +0 -1
- package/dist/_chunks/users-MBVtUzwd.js +0 -17
- package/dist/_chunks/users-MBVtUzwd.js.map +0 -1
- package/dist/_chunks/video-BAeICxCT.js +0 -21
- package/dist/_chunks/video-BAeICxCT.js.map +0 -1
- package/dist/_chunks/warning-stack--sTrrBDA.js +0 -268
- package/dist/_chunks/warning-stack--sTrrBDA.js.map +0 -1
- package/dist/_chunks/workflow-map-M8MBBHQm.js +0 -1356
- package/dist/_chunks/workflow-map-M8MBBHQm.js.map +0 -1
- package/dist/_chunks/x-CCcI3eJp.js +0 -15
- package/dist/_chunks/x-CCcI3eJp.js.map +0 -1
- package/dist/_chunks/zh-CN-B-igM5gY.js +0 -388
- package/dist/_chunks/zh-CN-B-igM5gY.js.map +0 -1
- package/dist/_chunks/zoom-out-CgVtf2Wx.js +0 -29
- package/dist/_chunks/zoom-out-CgVtf2Wx.js.map +0 -1
- package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts +0 -15
- package/dist/components/anatomy-scheme/anatomy-face-paths.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts +0 -20
- package/dist/components/anatomy-scheme/anatomy-muscle-paths.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts +0 -121
- package/dist/components/anatomy-scheme/anatomy-scheme-data.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts +0 -6
- package/dist/components/anatomy-scheme/anatomy-scheme.agent.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts +0 -69
- package/dist/components/anatomy-scheme/anatomy-scheme.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/index.d.ts +0 -6
- package/dist/components/anatomy-scheme/index.d.ts.map +0 -1
- package/dist/components/anatomy-scheme/index.js +0 -17
- /package/dist/components/{anatomy-scheme → face-scheme}/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alia-sidebar-BV5lBSFR.js","sources":["../../node_modules/lucide-react/dist/esm/icons/shield-x.mjs","../../src/patterns/alia-assistant/alia-asteroid-icon.tsx","../../src/patterns/alia-assistant/alia-chat-surface.tsx","../../src/patterns/alia-assistant/alia-embedded.tsx","../../src/patterns/alia-assistant/alia-popout.tsx","../../src/patterns/alia-assistant/alia-sidebar.tsx"],"sourcesContent":["/**\n * @license lucide-react v1.22.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\n \"path\",\n {\n d: \"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z\",\n key: \"oel41y\"\n }\n ],\n [\"path\", { d: \"m14.5 9.5-5 5\", key: \"17q4r4\" }],\n [\"path\", { d: \"m9.5 9.5 5 5\", key: \"18nt4w\" }]\n];\nconst ShieldX = createLucideIcon(\"shield-x\", __iconNode);\n\nexport { __iconNode, ShieldX as default };\n//# sourceMappingURL=shield-x.mjs.map\n","import { useId } from 'react';\n\n/**\n * Alia identity glyph — the Astroid path with a left-to-right gradient\n * stroke (--accent → --primary), replacing the flat currentColor stroke\n * from the raw lucide icon.\n *\n * `useId` gives each instance its own gradient ID so multiple asteroids\n * on the same page each reference their own <defs> without ID collisions.\n * `gradientUnits=\"userSpaceOnUse\"` pins coordinates to the 24 × 24 viewBox\n * so the transition spans the full icon width regardless of path bounds.\n */\nexport function AliaAsteroidIcon({\n 'aria-hidden': ariaHidden,\n className,\n variant = 'gradient',\n}: {\n 'aria-hidden'?: true | 'true';\n className?: string;\n /** `'gradient'` (default) — accent→primary stroke. `'mono'` — inherits\n * `currentColor` so the parent can control the stroke via `text-*`. */\n variant?: 'gradient' | 'mono';\n}) {\n const uid = useId().replace(/:/g, '');\n const gradientId = `alia-asteroid-gradient-${uid}`;\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth=\"2\"\n aria-hidden={ariaHidden}\n className={className}\n >\n {variant === 'gradient' ? (\n <defs>\n <linearGradient\n id={gradientId}\n gradientUnits=\"userSpaceOnUse\"\n x1=\"0\"\n y1=\"12\"\n x2=\"24\"\n y2=\"12\"\n >\n <stop offset=\"0%\" stopColor=\"var(--accent)\" />\n <stop offset=\"100%\" stopColor=\"var(--primary)\" />\n </linearGradient>\n </defs>\n ) : null}\n <path\n d=\"M12.983 21.186a1 1 0 0 1-1.966 0 10 10 0 0 0-8.203-8.203 1 1 0 0 1 0-1.966 10 10 0 0 0 8.203-8.203 1 1 0 0 1 1.966 0 10 10 0 0 0 8.203 8.203 1 1 0 0 1 0 1.966 10 10 0 0 0-8.203 8.203\"\n stroke={variant === 'gradient' ? `url(#${gradientId})` : 'currentColor'}\n />\n </svg>\n );\n}\n","/**\n * Alia Assistant — inner chat surface shared between embedded and popout\n * modes. This is a pure presentational composition of existing DS\n * primitives and owns NO state, NO API calls, NO SSE parsing — the\n * consuming app drives `messages`, `isGenerating`, `usage`, and the\n * callbacks.\n */\nimport {\n forwardRef,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n} from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n Check,\n Copy,\n Download,\n Mic,\n Paperclip,\n Pencil,\n Plus,\n RefreshCw,\n ShieldX,\n Square,\n User,\n X,\n} from 'lucide-react';\nimport { AliaAsteroidIcon } from './alia-asteroid-icon';\nimport { Avatar } from '../../components/avatar';\nimport { Button, IconButton } from '../../components/button';\nimport { ChatContainer } from '../../components/chat-container';\nimport { ChatMessage } from '../../components/chat-message';\nimport { ChatInput } from '../../components/chat-input';\nimport { StreamingText } from '../../components/streaming-text';\nimport {\n SuggestionChip,\n SuggestionChipGroup,\n} from '../../components/suggestion-chip';\nimport { TypingIndicator } from '../../components/typing-indicator';\nimport { Progress } from '../../components/progress';\nimport type {\n AliaAttachment,\n AliaChatSurfaceProps,\n AliaMessage,\n AliaSuggestion,\n AliaUserAvatar,\n} from './alia-types';\n\n/* ------------------------------------------------------------------ */\n/* Alia identity tile — Astroid on an accent-tinted disc. */\n/* */\n/* Used in place of <Avatar> for Alia's own identity (header + empty */\n/* state + streaming/typing rows) so the visual identity matches the */\n/* collapsed sidebar rail trigger. When the consuming app supplies an */\n/* `assistantAvatar.src`, AliaChatSurface falls back to <Avatar> — the */\n/* sparkle is for the DS-provided default only. */\n/* */\n/* Sizes mirror the Avatar size scale we were replacing: */\n/* sm → 32px (row messages, streaming bubble, compact header) */\n/* md → 40px (default header) */\n/* xl → 64px (empty-state hero) */\n/* ------------------------------------------------------------------ */\n\nconst LEO_TILE_SIZES = {\n sm: {\n box: 'ds:size-[calc(var(--spacing-md)*2)]',\n icon: 'ds:size-4',\n },\n md: {\n box: 'ds:size-[calc(var(--spacing-md)*2.5)]',\n icon: 'ds:size-[1.125rem]',\n },\n xl: {\n box: 'ds:size-[calc(var(--spacing-md)*4)]',\n icon: 'ds:size-8',\n },\n} as const;\n\nfunction AliaIdentityTile({\n size,\n label,\n appearance = 'sparkle',\n loading = false,\n}: {\n size: keyof typeof LEO_TILE_SIZES;\n label: string;\n /**\n * `'sparkle'` (default) — Astroid on the accent-tinted disc. `'spinner'` —\n * the AlfaDocs brand mark in the brand colour (no disc): a static logo glyph\n * at rest, switching to a pulse while the assistant is generating. Used for\n * Alia's identity throughout — header, empty-state hero, and chat rows (the\n * streaming row pulses; every other row shows the static mark).\n */\n appearance?: 'sparkle' | 'spinner';\n /** When `appearance='spinner'`, pulse rather than rest static (Alia is generating). */\n loading?: boolean;\n}) {\n const dims = LEO_TILE_SIZES[size];\n\n if (appearance === 'spinner') {\n return (\n <span\n role=\"img\"\n aria-label={label}\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-gradient-to-r ds:from-[var(--accent)] ds:to-[var(--primary)]',\n // --primary-foreground: white on light (dark disc), navy in dark\n // (bright disc) — correct WCAG contrast in both themes automatically.\n 'ds:text-[color:var(--primary-foreground)]',\n 'ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n dims.box,\n ].join(' ')}\n >\n <AliaAsteroidIcon\n aria-hidden={true}\n variant=\"mono\"\n className={[\n dims.icon,\n loading ? 'ds:animate-spin ds:motion-reduce:animate-none' : '',\n ]\n .filter(Boolean)\n .join(' ')}\n />\n </span>\n );\n }\n\n return (\n <span\n role=\"img\"\n aria-label={label}\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-full)]',\n // Subtle accent-tinted disc so the sparkle reads against both\n // light and dark surfaces without a hard-coded literal colour.\n 'ds:bg-[color-mix(in_srgb,var(--accent)_14%,transparent)]',\n 'ds:text-[color:var(--accent)]',\n // forced-colors: UA strips color-mix backgrounds; fall back to\n // a bordered disc so the identity still reads in HCM.\n 'ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n dims.box,\n ].join(' ')}\n >\n <AliaAsteroidIcon aria-hidden=\"true\" className={dims.icon} />\n </span>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* User identity tile — neutral companion to the Astroid tile above. */\n/* Rendered when the caller has no user avatar to display, so the */\n/* conversation still has a consistent visual anchor on both sides. */\n/* Uses --muted/--muted-foreground so it reads as \"neutral person\" */\n/* without borrowing the brand accent. */\n/* ------------------------------------------------------------------ */\n\nfunction UserIdentityTile({\n size,\n label,\n}: {\n size: keyof typeof LEO_TILE_SIZES;\n label: string;\n}) {\n const dims = LEO_TILE_SIZES[size];\n return (\n <span\n role=\"img\"\n aria-label={label}\n className={[\n 'ds:inline-flex ds:shrink-0 ds:items-center ds:justify-center',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color-mix(in_srgb,var(--muted-foreground)_14%,transparent)]',\n 'ds:text-[color:var(--muted-foreground)]',\n 'ds:forced-colors:bg-transparent ds:forced-colors:border ds:forced-colors:border-[CanvasText]',\n dims.box,\n ].join(' ')}\n >\n <User aria-hidden=\"true\" className={dims.icon} />\n </span>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Ended divider — centred, locked \"conversation ended\" notice shown */\n/* at the END of the message list when `ended` is set. Mirrors the */\n/* system-message divider styling (centred, muted, type-body-sm) but */\n/* adds a lock affordance (ShieldX) and a `role=\"status\"` so AT users */\n/* hear the termination. The consuming app supplies `note`. */\n/* ------------------------------------------------------------------ */\n\nfunction EndedDivider({ note }: { note: ReactNode }) {\n return (\n <div\n role=\"status\"\n className={[\n 'ds:flex ds:w-full ds:flex-col ds:items-center ds:text-center',\n 'ds:gap-[var(--spacing-xs)]',\n ].join(' ')}\n data-testid=\"alia-ended-divider\"\n >\n <ShieldX\n aria-hidden=\"true\"\n className=\"ds:size-5 ds:text-[color:var(--destructive)]\"\n />\n <span className=\"type-body-sm ds:text-[color:var(--muted-foreground)]\">\n {note}\n </span>\n </div>\n );\n}\n\n/**\n * Pick the right avatar shape for a user message.\n *\n * Precedence (highest wins):\n * 1. `userAvatar.slot` — caller supplied a fully custom node.\n * 2. `userAvatar.src` — caller supplied a photo (or initials override via `name`).\n * 3. `userAvatar.name` only — <Avatar> renders initials.\n * 4. Nothing supplied — fall back to the neutral `<UserIdentityTile>`.\n */\nfunction resolveUserAvatar(\n userAvatar: AliaUserAvatar | undefined,\n defaultLabel: string,\n) {\n if (!userAvatar) {\n return { slot: <UserIdentityTile size=\"sm\" label={defaultLabel} /> };\n }\n if (userAvatar.slot) return { slot: userAvatar.slot };\n // Pass the fields straight through; ChatMessage scrubs `src` with\n // `safeImageSrc` and falls back to initials from `name`.\n return { name: userAvatar.name, src: userAvatar.src };\n}\n\n/* ------------------------------------------------------------------ */\n/* Empty state — branded welcome shown when messages is empty */\n/* ------------------------------------------------------------------ */\n\ninterface EmptyStateProps {\n assistantName: string;\n avatarSrc?: string;\n greeting: string;\n subtitle: string;\n suggestions?: AliaSuggestion[];\n onSuggestion?: (suggestion: AliaSuggestion) => void;\n}\n\nfunction EmptyState({\n assistantName,\n avatarSrc,\n greeting,\n subtitle,\n suggestions,\n onSuggestion,\n}: EmptyStateProps) {\n const { t } = useTranslation();\n const headingId = 'alia-empty-state-heading';\n\n return (\n <section\n aria-labelledby={headingId}\n className={[\n 'ds:flex ds:flex-1 ds:min-h-0 ds:flex-col ds:items-center ds:justify-center',\n 'ds:text-center',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]',\n 'ds:pt-[var(--spacing-xl)] ds:pb-[var(--spacing-xl)]',\n 'ds:gap-[var(--spacing-md)]',\n ].join(' ')}\n data-testid=\"alia-empty-state\"\n >\n {avatarSrc ? (\n <Avatar name={assistantName} src={avatarSrc} size=\"xl\" />\n ) : (\n <AliaIdentityTile\n size=\"xl\"\n label={assistantName}\n appearance=\"spinner\"\n />\n )}\n <div className=\"ds:flex ds:flex-col ds:items-center ds:gap-[var(--spacing-xs)] ds:max-w-[32rem]\">\n <h2\n id={headingId}\n className=\"type-title-section ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {greeting}\n </h2>\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {subtitle}\n </p>\n </div>\n {suggestions && suggestions.length > 0 ? (\n <div className=\"ds:w-full ds:max-w-[40rem]\">\n <SuggestionChipGroup\n label={t('alia.exampleQuestions')}\n className=\"ds:justify-center\"\n >\n {suggestions.map((s) => (\n <SuggestionChip\n key={s.id}\n intent=\"suggestion\"\n startIcon={s.icon}\n keepOnSelect\n onSelect={() => onSuggestion?.(s)}\n >\n {s.label}\n </SuggestionChip>\n ))}\n </SuggestionChipGroup>\n </div>\n ) : null}\n </section>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Streaming message — renders the last assistant message's body via */\n/* StreamingText when `streaming: true`. */\n/* ------------------------------------------------------------------ */\n\ninterface StreamingMessageProps {\n message: AliaMessage;\n assistantName: string;\n avatarSrc?: string;\n renderMarkdown?: boolean;\n}\n\nfunction StreamingMessage({\n message,\n assistantName,\n avatarSrc,\n renderMarkdown,\n}: StreamingMessageProps) {\n const { t, i18n } = useTranslation();\n const roleLabel = t('chat.message.role.assistant');\n const formattedTime = useMemo(() => {\n if (!message.timestamp) return null;\n const date =\n message.timestamp instanceof Date\n ? message.timestamp\n : new Date(message.timestamp);\n if (Number.isNaN(date.getTime())) return null;\n return new Intl.DateTimeFormat(i18n.language, {\n hour: '2-digit',\n minute: '2-digit',\n }).format(date);\n }, [message.timestamp, i18n.language]);\n\n const label = formattedTime\n ? t('chat.message.label', { role: roleLabel, time: formattedTime })\n : t('chat.message.labelNoTime', { role: roleLabel });\n\n return (\n <article\n aria-label={label}\n className=\"ds:flex ds:w-full ds:items-start ds:flex-row ds:gap-[var(--spacing-sm)]\"\n >\n {avatarSrc ? (\n <Avatar name={assistantName} src={avatarSrc} size=\"sm\" />\n ) : (\n <AliaIdentityTile\n size=\"sm\"\n label={assistantName}\n appearance=\"spinner\"\n loading={true}\n />\n )}\n <div className=\"ds:flex ds:flex-col ds:items-start\">\n <div\n dir=\"auto\"\n className={[\n 'ds:relative ds:max-w-[min(42rem,90%)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'type-body',\n 'ds:break-words',\n 'ds:bg-muted/40 ds:text-foreground',\n 'ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n ].join(' ')}\n >\n <StreamingText\n content={message.content}\n isStreaming={true}\n renderMarkdown={renderMarkdown}\n />\n </div>\n </div>\n </article>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Header bar — avatar + name + optional new-conversation + end slot */\n/* ------------------------------------------------------------------ */\n\ninterface HeaderBarProps {\n assistantName: string;\n avatarSrc?: string;\n onNewConversation?: () => void;\n headerEndSlot?: ReactNode;\n density: 'default' | 'compact';\n}\n\nfunction HeaderBar({\n assistantName,\n avatarSrc,\n onNewConversation,\n headerEndSlot,\n density,\n}: HeaderBarProps) {\n const { t } = useTranslation();\n return (\n <header\n aria-label={t('alia.headerLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:items-center ds:gap-[var(--spacing-sm)]',\n // Soft drop-shadow on the block-end edge in place of a `border-b`\n // against `--border` — same rationale as the Alia sidebar's inline\n // edge (see alia-sidebar.tsx).\n 'ds:shadow-[var(--shadow-chrome-down)]',\n 'ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n density === 'compact'\n ? 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]'\n : 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n ].join(' ')}\n data-testid=\"alia-header\"\n >\n {avatarSrc ? (\n <Avatar\n name={assistantName}\n src={avatarSrc}\n size={density === 'compact' ? 'sm' : 'md'}\n />\n ) : (\n <AliaIdentityTile\n size={density === 'compact' ? 'sm' : 'md'}\n label={assistantName}\n appearance=\"spinner\"\n />\n )}\n <span className=\"type-title-item ds:text-[color:var(--foreground)]\">\n {assistantName}\n </span>\n <div className=\"ds:ms-auto ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n {onNewConversation ? (\n <Button\n intent=\"ghost\"\n size=\"sm\"\n startIcon={<Plus aria-hidden=\"true\" />}\n onClick={onNewConversation}\n >\n {t('alia.newConversation')}\n </Button>\n ) : null}\n {headerEndSlot}\n </div>\n </header>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Message + composer affordance helpers + sub-components */\n/* All pure client actions — no consumer state required. */\n/* ------------------------------------------------------------------ */\n\nfunction clipboardWriteText(text: string): Promise<boolean> {\n if (\n typeof navigator === 'undefined' ||\n typeof navigator.clipboard?.writeText !== 'function'\n ) {\n return Promise.resolve(false);\n }\n return navigator.clipboard\n .writeText(text)\n .then(() => true)\n .catch(() => false);\n}\n\nfunction downloadTextFile(text: string, filename: string): void {\n if (\n typeof window === 'undefined' ||\n typeof URL === 'undefined' ||\n typeof URL.createObjectURL !== 'function'\n ) {\n return;\n }\n const blob = new Blob([text], { type: 'text/markdown;charset=utf-8' });\n const url = URL.createObjectURL(blob);\n const anchor = document.createElement('a');\n anchor.href = url;\n anchor.download = filename;\n document.body.appendChild(anchor);\n anchor.click();\n anchor.remove();\n URL.revokeObjectURL(url);\n}\n\nfunction promptFilename(assistantName: string): string {\n const stamp = new Date().toISOString().slice(0, 10); // YYYY-MM-DD\n const slug =\n assistantName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '') || 'assistant';\n return `${slug}-prompt-${stamp}.md`;\n}\n\nconst clipboardAvailable = (): boolean =>\n typeof navigator !== 'undefined' &&\n typeof navigator.clipboard?.writeText === 'function';\n\n/* Assistant-message action row — Copy / Download / Regenerate. */\nfunction MessageActions({\n message,\n actions,\n assistantName,\n canRegenerate,\n onCopyMessage,\n onDownloadMessage,\n onRegenerate,\n}: {\n message: AliaMessage;\n actions: Array<'copy' | 'download'>;\n assistantName: string;\n canRegenerate: boolean;\n onCopyMessage?: (id: string) => void;\n onDownloadMessage?: (id: string) => void;\n onRegenerate?: (id: string) => void;\n}) {\n const { t } = useTranslation();\n const [copied, setCopied] = useState(false);\n\n const handleCopy = useCallback(() => {\n clipboardWriteText(message.content).then((ok) => {\n if (!ok) return;\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n onCopyMessage?.(message.id);\n });\n }, [message.content, message.id, onCopyMessage]);\n\n const handleDownload = useCallback(() => {\n downloadTextFile(message.content, promptFilename(assistantName));\n onDownloadMessage?.(message.id);\n }, [message.content, message.id, assistantName, onDownloadMessage]);\n\n return (\n <>\n {actions.includes('copy') && clipboardAvailable() ? (\n <IconButton\n icon={copied ? <Check /> : <Copy />}\n aria-label={copied ? t('alia.copied') : t('alia.copyMessage')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={handleCopy}\n />\n ) : null}\n {actions.includes('download') ? (\n <IconButton\n icon={<Download />}\n aria-label={t('alia.downloadMessage')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={handleDownload}\n />\n ) : null}\n {canRegenerate && onRegenerate ? (\n <IconButton\n icon={<RefreshCw />}\n aria-label={t('alia.regenerate')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={() => onRegenerate(message.id)}\n />\n ) : null}\n <span role=\"status\" aria-live=\"polite\" className=\"ds:sr-only\">\n {copied ? t('alia.copied') : ''}\n </span>\n </>\n );\n}\n\n/* Attachment chip row above the composer. Presentational — consumer owns list. */\nfunction AttachmentChips({\n attachments,\n onRemove,\n}: {\n attachments: AliaAttachment[];\n onRemove?: (id: string) => void;\n}) {\n const { t } = useTranslation();\n if (attachments.length === 0) return null;\n return (\n <ul\n aria-label={t('alia.attachmentsLabel')}\n className=\"ds:m-0 ds:flex ds:list-none ds:flex-wrap ds:gap-[var(--spacing-xs)] ds:p-0\"\n >\n {attachments.map((att) => (\n <li\n key={att.id}\n className={[\n 'ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]',\n 'ds:rounded-[var(--radius-full)] ds:bg-[var(--muted)]',\n 'ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-xs)]',\n 'ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]',\n ].join(' ')}\n >\n <Paperclip\n aria-hidden=\"true\"\n className=\"ds:size-3.5 ds:text-[color:var(--muted-foreground)]\"\n />\n <span dir=\"auto\" className=\"type-meta ds:max-w-[12rem] ds:truncate\">\n {att.name}\n </span>\n {onRemove ? (\n <IconButton\n icon={<X />}\n aria-label={t('alia.removeAttachment', { name: att.name })}\n intent=\"ghost\"\n size=\"sm\"\n onClick={() => onRemove(att.id)}\n />\n ) : null}\n </li>\n ))}\n </ul>\n );\n}\n\n/* SpeechRecognition — the minimal surface we touch (lib types aren't in TS DOM). */\ninterface MinimalSpeechRecognition {\n lang: string;\n continuous: boolean;\n interimResults: boolean;\n start: () => void;\n stop: () => void;\n onresult:\n | ((event: {\n results: ArrayLike<ArrayLike<{ transcript: string }>>;\n }) => void)\n | null;\n onend: (() => void) | null;\n onerror: (() => void) | null;\n}\ninterface SpeechRecognitionWindow {\n SpeechRecognition?: new () => MinimalSpeechRecognition;\n webkitSpeechRecognition?: new () => MinimalSpeechRecognition;\n}\nfunction getSpeechRecognitionCtor():\n | (new () => MinimalSpeechRecognition)\n | undefined {\n if (typeof window === 'undefined') return undefined;\n const w = window as unknown as SpeechRecognitionWindow;\n return w.SpeechRecognition ?? w.webkitSpeechRecognition;\n}\n\n/* Composer mic toggle (Web Speech API). Only mounted when feature-supported. */\nfunction VoiceMic({\n lang,\n disabled,\n onTranscript,\n}: {\n lang: string;\n disabled?: boolean;\n onTranscript: (text: string) => void;\n}) {\n const { t } = useTranslation();\n const [listening, setListening] = useState(false);\n const recognitionRef = useRef<MinimalSpeechRecognition | null>(null);\n\n const stop = useCallback(() => {\n recognitionRef.current?.stop();\n setListening(false);\n }, []);\n\n const start = useCallback(() => {\n const Ctor = getSpeechRecognitionCtor();\n if (!Ctor) return;\n const rec = new Ctor();\n rec.lang = lang;\n rec.continuous = false;\n rec.interimResults = false;\n rec.onresult = (event) => {\n let text = '';\n for (let i = 0; i < event.results.length; i++) {\n text += event.results[i][0].transcript;\n }\n if (text) onTranscript(text);\n };\n rec.onend = () => setListening(false);\n rec.onerror = () => setListening(false);\n recognitionRef.current = rec;\n rec.start();\n setListening(true);\n }, [lang, onTranscript]);\n\n // Esc stops dictation; also stop on unmount.\n useEffect(() => {\n if (!listening) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') stop();\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [listening, stop]);\n useEffect(() => () => recognitionRef.current?.stop(), []);\n\n return (\n <IconButton\n icon={<Mic />}\n aria-label={listening ? t('alia.dictateStop') : t('alia.dictate')}\n aria-pressed={listening}\n intent={listening ? 'primary' : 'ghost'}\n size=\"sm\"\n disabled={disabled}\n onClick={() => (listening ? stop() : start())}\n className={\n listening\n ? 'ds:motion-safe:animate-pulse ds:motion-reduce:animate-none ds:[.theme-accessible_&]:animate-none'\n : undefined\n }\n />\n );\n}\n\n/* Inline editor for editing & resending a user message. */\nfunction MessageEditor({\n initialText,\n onSave,\n onCancel,\n}: {\n initialText: string;\n onSave: (text: string) => void;\n onCancel: () => void;\n}) {\n const { t } = useTranslation();\n const [text, setText] = useState(initialText);\n return (\n <div\n className=\"ds:flex ds:w-full ds:flex-col ds:gap-[var(--spacing-xs)]\"\n data-testid=\"alia-message-editor\"\n >\n <ChatInput\n label={t('alia.editMessage')}\n value={text}\n onChange={(e) => setText(e.target.value)}\n submitOnEnter\n onSubmit={(v) => onSave(v)}\n minRows={2}\n />\n <div className=\"ds:flex ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]\">\n <Button intent=\"ghost\" size=\"sm\" onClick={onCancel}>\n {t('alia.cancelEdit')}\n </Button>\n <Button\n intent=\"primary\"\n size=\"sm\"\n onClick={() => onSave(text)}\n disabled={text.trim().length === 0}\n >\n {t('alia.saveEdit')}\n </Button>\n </div>\n </div>\n );\n}\n\n/* ------------------------------------------------------------------ */\n/* Main export — AliaChatSurface */\n/* ------------------------------------------------------------------ */\n\nexport const AliaChatSurface = forwardRef<HTMLDivElement, AliaChatSurfaceProps>(\n (\n {\n messages,\n onSend,\n onRetry,\n onSuggestion,\n suggestions,\n isGenerating = false,\n onStopGenerating,\n usage,\n onUpgrade,\n assistantName,\n assistantAvatar,\n userAvatar,\n greeting,\n subtitle,\n density = 'default',\n renderMarkdown = true,\n onNewConversation,\n onAttach,\n acceptedFileTypes,\n headerEndSlot,\n hideHeader = false,\n ended,\n messageActions,\n onCopyMessage,\n onDownloadMessage,\n voiceInput,\n onVoiceTranscript,\n attachments,\n onRemoveAttachment,\n showScrollToLatest,\n onRegenerate,\n onEditMessage,\n },\n ref,\n ) => {\n const { t, i18n } = useTranslation();\n\n // Transient client-only UI state. The presentational contract allows local\n // draft / editing state (it holds no conversation or attachment state).\n const [editingId, setEditingId] = useState<string | null>(null);\n const [composerText, setComposerText] = useState('');\n\n // Voice dictation is feature-detected: the mic mounts only when the Web\n // Speech API is present AND the consumer opted in via `voiceInput`.\n const voiceSupported = !!voiceInput && getSpeechRecognitionCtor() != null;\n\n // Regenerate targets the most recent COMPLETE assistant message.\n const lastAssistantId = useMemo(() => {\n for (let i = messages.length - 1; i >= 0; i--) {\n const m = messages[i];\n if (m.role === 'assistant' && !m.streaming) return m.id;\n }\n return undefined;\n }, [messages]);\n\n // CONVERSATION-ENDED / UI-LOCKED. When the consuming app supplies\n // `ended`, forward interaction is frozen: the composer disables and the\n // suggestion chips + stop-generating button stop rendering. History\n // stays visible and read-only.\n const isEnded = ended != null;\n\n const resolvedName = assistantName ?? t('alia.name');\n const resolvedGreeting = greeting ?? t('alia.greeting');\n const resolvedSubtitle = subtitle ?? t('alia.subtitle');\n\n const lastMessage = messages[messages.length - 1];\n const lastIsStreamingAssistant =\n lastMessage?.role === 'assistant' && lastMessage.streaming === true;\n const listMessages = lastIsStreamingAssistant\n ? messages.slice(0, -1)\n : messages;\n\n // ChatContainer messages — each visible non-streaming message becomes\n // a ChatMessage; the streaming tail + typing indicator are appended.\n const containerMessages = useMemo(() => {\n const userLabel = t('chat.message.role.user');\n const base = listMessages.map((m) => {\n let avatar;\n if (m.role === 'assistant') {\n // Consumer-provided image wins; otherwise render the spinner tile.\n avatar = assistantAvatar?.src\n ? { name: resolvedName, src: assistantAvatar.src }\n : {\n slot: (\n <AliaIdentityTile\n size=\"sm\"\n label={resolvedName}\n appearance=\"spinner\"\n />\n ),\n };\n } else if (m.role === 'user') {\n avatar = resolveUserAvatar(userAvatar, userLabel);\n }\n\n // Editing a user message → swap in the inline editor.\n if (m.role === 'user' && onEditMessage && editingId === m.id) {\n return {\n id: m.id,\n node: (\n <MessageEditor\n initialText={m.content}\n onSave={(text) => {\n onEditMessage(m.id, text);\n setEditingId(null);\n }}\n onCancel={() => setEditingId(null)}\n />\n ),\n };\n }\n\n // Per-message action row (assistant: Copy / Download / Regenerate;\n // user: Edit). Opt-in — undefined when no affordance applies.\n let actions: ReactNode;\n if (\n m.role === 'assistant' &&\n ((messageActions && messageActions.length > 0) ||\n (onRegenerate && m.id === lastAssistantId))\n ) {\n actions = (\n <MessageActions\n message={m}\n actions={messageActions ?? []}\n assistantName={resolvedName}\n canRegenerate={!!onRegenerate && m.id === lastAssistantId}\n onCopyMessage={onCopyMessage}\n onDownloadMessage={onDownloadMessage}\n onRegenerate={onRegenerate}\n />\n );\n } else if (m.role === 'user' && onEditMessage) {\n actions = (\n <IconButton\n icon={<Pencil />}\n aria-label={t('alia.editMessage')}\n intent=\"ghost\"\n size=\"sm\"\n onClick={() => setEditingId(m.id)}\n />\n );\n }\n\n return {\n id: m.id,\n node: (\n <ChatMessage\n role={m.role}\n content={m.content}\n body={m.body}\n avatar={avatar}\n timestamp={m.timestamp}\n status={m.status}\n renderMarkdown={renderMarkdown}\n onRetry={onRetry ? () => onRetry(m.id) : undefined}\n actions={actions}\n />\n ),\n };\n });\n\n if (lastIsStreamingAssistant && lastMessage) {\n base.push({\n id: lastMessage.id,\n node: (\n <StreamingMessage\n message={lastMessage}\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n renderMarkdown={renderMarkdown}\n />\n ),\n });\n }\n\n if (isGenerating && !lastIsStreamingAssistant) {\n base.push({\n id: '__alia-typing__',\n node: (\n <div className=\"ds:flex ds:w-full ds:items-start ds:gap-[var(--spacing-sm)]\">\n {assistantAvatar?.src ? (\n <Avatar\n name={resolvedName}\n src={assistantAvatar.src}\n size=\"sm\"\n />\n ) : (\n <AliaIdentityTile\n size=\"sm\"\n label={resolvedName}\n appearance=\"spinner\"\n />\n )}\n <div\n className={[\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n 'ds:rounded-[var(--radius-md)] ds:rounded-es-[var(--radius-sm)]',\n 'ds:bg-muted/40',\n ].join(' ')}\n >\n <TypingIndicator label={t('chat.typing')} density={density} />\n </div>\n </div>\n ),\n });\n }\n\n // Locked end-of-conversation divider — always the last row so it reads\n // as the terminal state below the full history.\n if (ended) {\n base.push({\n id: '__alia-ended__',\n node: <EndedDivider note={ended.note} />,\n });\n }\n\n return base;\n }, [\n listMessages,\n lastIsStreamingAssistant,\n lastMessage,\n isGenerating,\n resolvedName,\n assistantAvatar?.src,\n userAvatar,\n renderMarkdown,\n onRetry,\n density,\n ended,\n t,\n editingId,\n onEditMessage,\n messageActions,\n onRegenerate,\n lastAssistantId,\n onCopyMessage,\n onDownloadMessage,\n ]);\n\n // Usage progress data.\n const usagePercent = usage\n ? Math.min(\n 100,\n Math.max(0, (usage.current / Math.max(1, usage.limit)) * 100),\n )\n : 0;\n const usageFull = usage ? usage.current >= usage.limit : false;\n const usageLabel = usage\n ? (usage.label ??\n t('alia.usageLabel', {\n current: usage.current,\n limit: usage.limit,\n }))\n : null;\n\n // When ended, never fall into the empty state — the locked divider must\n // render in the message list even if the history is otherwise empty.\n const isEmpty = messages.length === 0 && !isGenerating && !isEnded;\n\n // Composer — disabled when usage is full.\n const composer = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]\">\n {usage ? (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]\">\n <span\n className={[\n 'type-meta',\n usageFull\n ? 'ds:text-[color:var(--destructive)]'\n : 'ds:text-[color:var(--muted-foreground)]',\n ].join(' ')}\n data-testid=\"alia-usage-label\"\n >\n {usageFull ? t('alia.usageLimitReached') : usageLabel}\n </span>\n {usageFull && onUpgrade ? (\n <Button intent=\"primary\" size=\"sm\" onClick={onUpgrade}>\n {t('alia.upgrade')}\n </Button>\n ) : null}\n </div>\n <Progress\n value={usagePercent}\n max={100}\n size=\"sm\"\n ariaLabel={\n usageLabel ??\n t('alia.usageLabel', {\n current: usage.current,\n limit: usage.limit,\n })\n }\n className={\n usageFull\n ? 'ds:[&_[role=progressbar]>*]:bg-[color:var(--destructive)]'\n : undefined\n }\n data-testid=\"alia-usage-progress\"\n />\n </div>\n ) : null}\n {!isEmpty &&\n suggestions &&\n suggestions.length > 0 &&\n !isGenerating &&\n !isEnded ? (\n <SuggestionChipGroup\n label={t('alia.exampleQuestions')}\n data-testid=\"alia-followup-suggestions\"\n >\n {suggestions.map((s) => (\n <SuggestionChip\n key={s.id}\n intent=\"followup\"\n startIcon={s.icon}\n keepOnSelect\n onSelect={() => onSuggestion?.(s)}\n >\n {s.label}\n </SuggestionChip>\n ))}\n </SuggestionChipGroup>\n ) : null}\n {attachments && attachments.length > 0 ? (\n <AttachmentChips\n attachments={attachments}\n onRemove={onRemoveAttachment}\n />\n ) : null}\n <div className=\"ds:flex ds:items-end ds:gap-[var(--spacing-sm)]\">\n <div className=\"ds:flex-1 ds:min-w-0\">\n <ChatInput\n submitOnEnter\n onSubmit={\n voiceSupported\n ? (text) => {\n onSend(text);\n setComposerText('');\n }\n : onSend\n }\n value={voiceSupported ? composerText : undefined}\n onChange={\n voiceSupported\n ? (e) => setComposerText(e.target.value)\n : undefined\n }\n onAttach={onAttach}\n accept={acceptedFileTypes}\n disabled={usageFull || isEnded}\n toolbar={\n voiceSupported ? (\n <VoiceMic\n lang={i18n.language}\n disabled={usageFull || isEnded}\n onTranscript={(text) => {\n onVoiceTranscript?.(text);\n setComposerText((prev) =>\n prev ? `${prev} ${text}` : text,\n );\n }}\n />\n ) : undefined\n }\n data-testid=\"alia-composer\"\n />\n </div>\n {isGenerating && onStopGenerating && !isEnded ? (\n <Button\n intent=\"outline\"\n size=\"sm\"\n startIcon={<Square aria-hidden=\"true\" />}\n onClick={onStopGenerating}\n aria-label={t('alia.stopGenerating')}\n >\n {t('alia.stopGenerating')}\n </Button>\n ) : null}\n </div>\n </div>\n );\n\n return (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:min-h-0 ds:flex-1 ds:flex-col',\n 'ds:bg-[var(--background)] ds:text-[color:var(--foreground)]',\n ].join(' ')}\n data-testid=\"alia-surface\"\n >\n {hideHeader ? null : (\n <HeaderBar\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n onNewConversation={onNewConversation}\n headerEndSlot={headerEndSlot}\n density={density}\n />\n )}\n {isEmpty ? (\n <>\n <EmptyState\n assistantName={resolvedName}\n avatarSrc={assistantAvatar?.src}\n greeting={resolvedGreeting}\n subtitle={resolvedSubtitle}\n suggestions={suggestions}\n onSuggestion={onSuggestion}\n />\n <div\n className={[\n // No top divider — the ChatInput's own soft shadow + the\n // border-radius give it enough visual containment, and a\n // surface-level separator here read as a sharp line at\n // 1px-equivalent shadow blur. Keep the bg explicit so\n // the chat-input chrome paints over the messages-area\n // background instead of mixing with it.\n 'ds:shrink-0 ds:bg-[var(--background)]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n ].join(' ')}\n >\n {composer}\n </div>\n </>\n ) : (\n <ChatContainer\n messages={containerMessages}\n density={density}\n composer={composer}\n showScrollToLatest={showScrollToLatest}\n className=\"ds:flex-1 ds:min-h-0\"\n />\n )}\n </div>\n );\n },\n);\n\nAliaChatSurface.displayName = 'AliaChatSurface';\n","/**\n * Alia Assistant — embedded (full-page) mode. Fills the parent container\n * (typically `<AppFrame padded={false}>`'s `<main>` slot) with a\n * ChatGPT-style centred conversation column.\n */\nimport { forwardRef, type ReactNode } from 'react';\nimport { AliaChatSurface } from './alia-chat-surface';\nimport type { AliaChatSurfaceProps } from './alia-types';\n\nexport interface AliaEmbeddedProps extends AliaChatSurfaceProps {\n /** Optional slot rendered above the chat surface (e.g. a breadcrumb). */\n headerSlot?: ReactNode;\n}\n\nexport const AliaEmbedded = forwardRef<HTMLDivElement, AliaEmbeddedProps>(\n ({ headerSlot, ...surfaceProps }, ref) => {\n return (\n <div\n ref={ref}\n className={[\n 'ds:flex ds:min-h-0 ds:flex-1 ds:flex-col',\n 'ds:bg-[var(--background)] ds:text-[color:var(--foreground)]',\n 'ds:h-full ds:w-full',\n ].join(' ')}\n data-testid=\"alia-embedded\"\n >\n {headerSlot ? (\n <div\n className={[\n 'ds:shrink-0',\n 'ds:ps-[var(--spacing-lg)] ds:pe-[var(--spacing-lg)]',\n 'ds:pt-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]',\n ].join(' ')}\n >\n {headerSlot}\n </div>\n ) : null}\n <div className=\"ds:flex ds:min-h-0 ds:flex-1 ds:flex-col ds:items-stretch\">\n <div\n className={[\n 'ds:flex ds:min-h-0 ds:w-full ds:flex-1 ds:flex-col',\n 'ds:ms-auto ds:me-auto',\n 'ds:[max-inline-size:48rem]',\n 'ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]',\n ].join(' ')}\n >\n <AliaChatSurface {...surfaceProps} />\n </div>\n </div>\n </div>\n );\n },\n);\n\nAliaEmbedded.displayName = 'AliaEmbedded';\n","/**\n * Alia Assistant — popout (FAB + Sheet) mode. A floating trigger button\n * anchored to the bottom-inline-end corner opens a slide-in `Sheet`\n * panel containing the same `AliaChatSurface` in compact density.\n *\n * Z-index: the FAB sits on `--z-fixed`; the Sheet sits on `--z-modal`.\n * Both render above the app chrome but below any open Dialog.\n */\nimport { forwardRef } from 'react';\nimport * as RadixDialog from '@radix-ui/react-dialog';\nimport { useTranslation } from 'react-i18next';\nimport { Astroid, X } from 'lucide-react';\nimport { FloatingActionButton } from '../../components/floating-action-button';\nimport { IconButton } from '../../components/button';\nimport { Sheet } from '../../components/sheet';\nimport { AliaChatSurface } from './alia-chat-surface';\nimport type { AliaChatSurfaceProps } from './alia-types';\n\nexport interface AliaPopoutProps extends AliaChatSurfaceProps {\n /** Whether the popout panel is open. */\n open: boolean;\n /** Fires when the panel should open or close. */\n onOpenChange: (open: boolean) => void;\n /** Position of the FAB trigger. */\n position?: 'bottom-end' | 'bottom-start';\n /** Optional unseen message count badge on the FAB. */\n unseenCount?: number;\n}\n\nfunction formatBadgeCount(count: number): string {\n return count > 99 ? '99+' : String(count);\n}\n\nexport const AliaPopout = forwardRef<HTMLDivElement, AliaPopoutProps>(\n (\n {\n open,\n onOpenChange,\n position = 'bottom-end',\n unseenCount,\n assistantName,\n assistantAvatar,\n ...surfaceProps\n },\n ref,\n ) => {\n const { t } = useTranslation();\n // `|| t(…)` (not `??`) — also defaults when the host passes an empty\n // string so Radix Dialog's required `Sheet.Title` is never empty.\n const resolvedName = assistantName || t('alia.name');\n const showBadge = typeof unseenCount === 'number' && unseenCount > 0;\n\n const triggerLabel = showBadge\n ? t('alia.unseenCount', { count: unseenCount })\n : t('alia.open');\n\n // Close button injected into the chat surface header via the\n // headerEndSlot hook — keeps the Sheet's title wiring and DialogClose\n // semantics without duplicating the header shell.\n const headerEndSlot = (\n <RadixDialog.Close asChild>\n <IconButton\n icon={<X aria-hidden=\"true\" />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('alia.close')}\n data-testid=\"alia-popout-close\"\n />\n </RadixDialog.Close>\n );\n\n return (\n <Sheet.Root open={open} onOpenChange={onOpenChange}>\n {/* FAB trigger — sits outside the Sheet.Trigger so the unseen-\n count badge can overlay it. A Sheet.Trigger wrapper would\n turn the FAB into a button-inside-a-button. Instead, we\n invoke `onOpenChange(true)` on click. */}\n <div\n ref={ref}\n className={[\n 'ds:fixed ds:z-[var(--z-fixed)]',\n 'ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))]',\n position === 'bottom-end'\n ? 'ds:end-[var(--spacing-lg)]'\n : 'ds:start-[var(--spacing-lg)]',\n ].join(' ')}\n data-testid=\"alia-popout-fab-wrapper\"\n >\n <div className=\"ds:relative\">\n <FloatingActionButton\n icon={<Astroid aria-hidden=\"true\" />}\n aria-label={triggerLabel}\n variant=\"primary\"\n size=\"md\"\n position=\"static\"\n onClick={() => onOpenChange(true)}\n data-testid=\"alia-popout-fab\"\n />\n {showBadge ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"alia-popout-badge\"\n className={[\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' ')}\n >\n {formatBadgeCount(unseenCount)}\n </span>\n ) : null}\n </div>\n </div>\n\n <Sheet.Content\n side=\"end\"\n size=\"md\"\n aria-label={t('alia.panelLabel')}\n className=\"ds:flex ds:min-h-0 ds:flex-col ds:p-0\"\n data-testid=\"alia-popout-panel\"\n >\n {/* Sheet.Title is required by Radix Dialog for a11y. We hide it\n visually because AliaChatSurface renders its own header. */}\n <Sheet.Title className=\"ds:sr-only\">{resolvedName}</Sheet.Title>\n <AliaChatSurface\n {...surfaceProps}\n assistantName={resolvedName}\n assistantAvatar={assistantAvatar}\n density=\"compact\"\n headerEndSlot={headerEndSlot}\n />\n </Sheet.Content>\n </Sheet.Root>\n );\n },\n);\n\nAliaPopout.displayName = 'AliaPopout';\n","/**\n * Alia Assistant — sidebar (docked panel) mode.\n *\n * A persistent, non-modal panel that docks to the `inline-end` edge of\n * the layout. Unlike `AliaPopout` it does NOT trap focus or overlay\n * content — users can chat with Alia while continuing to interact with\n * the main surface. Collapses to an icon rail when `open={false}`.\n *\n * This is the intended **default desktop mode** for Alia once MCP tool\n * access and settings land: users will want Alia visible while they\n * configure servers, inspect tool runs, and reference data. On mobile\n * viewports the consuming app should flip to `AliaPopout` because a\n * 22rem sidebar would consume the entire screen.\n *\n * Unlike the popout (Radix Dialog) and embedded (full-page main) modes,\n * the sidebar is a plain `<aside>` landmark — it lives in the normal\n * layout flow and consumes inline space.\n */\nimport { forwardRef, type ReactNode } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { ChevronsLeft, ChevronsRight } from 'lucide-react';\nimport { IconButton } from '../../components/button';\nimport { AliaChatSurface } from './alia-chat-surface';\nimport { AliaAsteroidIcon } from './alia-asteroid-icon';\nimport type { AliaChatSurfaceProps } from './alia-types';\n\nexport interface AliaSidebarProps extends AliaChatSurfaceProps {\n /** Whether the sidebar is expanded. When false, a narrow icon rail\n * stays visible and clicking it fires `onOpenChange(true)`. */\n open: boolean;\n /** Fires when the user expands or collapses the sidebar. */\n onOpenChange: (open: boolean) => void;\n /** Which edge of the container the sidebar docks to. Defaults to\n * `'end'` (inline-end). RTL flips automatically via logical\n * properties. */\n side?: 'end' | 'start';\n /** Optional unseen-message count shown on the collapsed rail. */\n unseenCount?: number;\n /** Optional slot rendered under the chat surface (e.g. an MCP server\n * list or settings accordion). Future hook for the MCP panel. */\n footerSlot?: ReactNode;\n}\n\nfunction formatBadgeCount(count: number): string {\n return count > 99 ? '99+' : String(count);\n}\n\n// Fixed tokenised widths — keeps the pattern constraint-compliant (no\n// prop-driven inline styles). Consuming apps that need a different size\n// can wrap the sidebar in their own container and override via CSS.\nconst EXPANDED_WIDTH = 'ds:[inline-size:22rem]';\nconst RAIL_WIDTH = 'ds:[inline-size:3rem]';\n\nexport const AliaSidebar = forwardRef<HTMLElement, AliaSidebarProps>(\n (\n {\n open,\n onOpenChange,\n side = 'end',\n unseenCount,\n footerSlot,\n assistantName,\n assistantAvatar,\n ...surfaceProps\n },\n ref,\n ) => {\n const { t } = useTranslation();\n // `|| t(…)` — also defaults when the host passes an empty string,\n // so the collapsed-rail `aria-label` is never empty.\n const resolvedName = assistantName || t('alia.name');\n const showBadge = typeof unseenCount === 'number' && unseenCount > 0;\n\n // Soft drop-shadow on the inline-edge that faces the main content\n // area. Replaces a flat `border-s`/`border-e` against `--border`,\n // which since the WCAG 1.4.11 bump (grey-600 → grey-800) reads as a\n // heavy charcoal line at this scale. A directional shadow keeps the\n // panel-edge cue without needing to clear contrast thresholds the\n // way an actual border would. Tokenised via `--shadow-chrome-start`\n // / `--shadow-chrome-end` (see `src/tokens/index.css`).\n const borderClass =\n side === 'end'\n ? 'ds:shadow-[var(--shadow-chrome-start)]'\n : 'ds:shadow-[var(--shadow-chrome-end)]';\n\n const triggerLabel = showBadge\n ? t('alia.unseenCount', { count: unseenCount })\n : t('alia.open');\n\n // Collapsed rail — a tall vertical strip with the Alia icon plus an\n // unseen badge. Clicking it expands the sidebar.\n if (!open) {\n return (\n <aside\n ref={ref}\n aria-label={t('alia.panelLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:flex-col ds:items-center',\n 'ds:bg-[var(--background)]',\n borderClass,\n 'ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]',\n RAIL_WIDTH,\n ].join(' ')}\n data-testid=\"alia-sidebar-rail\"\n data-alia-sidebar-state=\"collapsed\"\n >\n <div className=\"ds:relative\">\n <IconButton\n icon={<AliaAsteroidIcon aria-hidden=\"true\" />}\n aria-label={triggerLabel}\n aria-expanded=\"false\"\n intent=\"ghost\"\n size=\"sm\"\n onClick={() => onOpenChange(true)}\n data-testid=\"alia-sidebar-rail-trigger\"\n />\n {showBadge ? (\n <span\n aria-hidden=\"true\"\n data-testid=\"alia-sidebar-badge\"\n className={[\n 'ds:absolute ds:-top-[var(--spacing-xs)] ds:-end-[var(--spacing-xs)]',\n 'ds:inline-flex ds:items-center ds:justify-center',\n 'ds:min-w-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:h-[calc(var(--spacing-md)+var(--spacing-xs))]',\n 'ds:ps-[calc(var(--spacing-xs)/1.5)] ds:pe-[calc(var(--spacing-xs)/1.5)]',\n 'ds:rounded-[var(--radius-full)]',\n 'ds:bg-[color:var(--destructive)] ds:text-[color:var(--destructive-foreground)]',\n 'ds:text-[length:var(--font-size-xs)] ds:font-semibold ds:leading-none',\n 'ds:pointer-events-none ds:select-none',\n 'ds:forced-colors:outline ds:forced-colors:outline-1 ds:forced-colors:outline-[CanvasText]',\n ].join(' ')}\n >\n {formatBadgeCount(unseenCount)}\n </span>\n ) : null}\n </div>\n </aside>\n );\n }\n\n // Expanded panel — same AliaChatSurface as embedded / popout, in\n // compact density, with a collapse-toggle injected into the header.\n // Chevron points toward the docked edge so users read it as\n // \"collapse toward that side\".\n const headerEndSlot = (\n <IconButton\n icon={side === 'end' ? <ChevronsRight /> : <ChevronsLeft />}\n intent=\"ghost\"\n size=\"sm\"\n aria-label={t('alia.close')}\n aria-expanded=\"true\"\n onClick={() => onOpenChange(false)}\n data-testid=\"alia-sidebar-collapse\"\n />\n );\n\n return (\n <aside\n ref={ref}\n aria-label={t('alia.panelLabel')}\n className={[\n 'ds:flex ds:shrink-0 ds:flex-col ds:min-h-0',\n 'ds:bg-[var(--background)]',\n borderClass,\n EXPANDED_WIDTH,\n 'ds:h-full',\n ].join(' ')}\n data-testid=\"alia-sidebar\"\n data-alia-sidebar-state=\"expanded\"\n >\n <div className=\"ds:flex ds:min-h-0 ds:flex-1 ds:flex-col\">\n <AliaChatSurface\n {...surfaceProps}\n assistantName={resolvedName}\n assistantAvatar={assistantAvatar}\n density=\"compact\"\n headerEndSlot={headerEndSlot}\n />\n </div>\n {footerSlot ? (\n <div\n data-testid=\"alia-sidebar-footer-slot\"\n className=\"ds:shrink-0 ds:shadow-[var(--shadow-chrome-up)]\"\n >\n {footerSlot}\n </div>\n ) : null}\n </aside>\n );\n },\n);\n\nAliaSidebar.displayName = 'AliaSidebar';\n"],"names":["__iconNode","ShieldX","createLucideIcon","AliaAsteroidIcon","ariaHidden","className","variant","gradientId","useId","jsxs","jsx","LEO_TILE_SIZES","AliaIdentityTile","size","label","appearance","loading","dims","UserIdentityTile","User","EndedDivider","note","resolveUserAvatar","userAvatar","defaultLabel","EmptyState","assistantName","avatarSrc","greeting","subtitle","suggestions","onSuggestion","t","useTranslation","headingId","Avatar","SuggestionChipGroup","s","SuggestionChip","StreamingMessage","message","renderMarkdown","i18n","roleLabel","formattedTime","useMemo","date","StreamingText","HeaderBar","onNewConversation","headerEndSlot","density","Button","Plus","clipboardWriteText","text","_a","downloadTextFile","filename","blob","url","anchor","promptFilename","stamp","clipboardAvailable","MessageActions","actions","canRegenerate","onCopyMessage","onDownloadMessage","onRegenerate","copied","setCopied","useState","handleCopy","useCallback","ok","handleDownload","Fragment","IconButton","Check","Copy","Download","RefreshCw","AttachmentChips","attachments","onRemove","att","Paperclip","X","getSpeechRecognitionCtor","w","VoiceMic","lang","disabled","onTranscript","listening","setListening","recognitionRef","useRef","stop","start","Ctor","rec","event","i","useEffect","onKey","e","Mic","MessageEditor","initialText","onSave","onCancel","setText","ChatInput","v","AliaChatSurface","forwardRef","messages","onSend","onRetry","isGenerating","onStopGenerating","usage","onUpgrade","assistantAvatar","onAttach","acceptedFileTypes","hideHeader","ended","messageActions","voiceInput","onVoiceTranscript","onRemoveAttachment","showScrollToLatest","onEditMessage","ref","editingId","setEditingId","composerText","setComposerText","voiceSupported","lastAssistantId","m","isEnded","resolvedName","resolvedGreeting","resolvedSubtitle","lastMessage","lastIsStreamingAssistant","listMessages","containerMessages","userLabel","base","avatar","Pencil","ChatMessage","TypingIndicator","usagePercent","usageFull","usageLabel","isEmpty","composer","Progress","prev","Square","ChatContainer","AliaEmbedded","headerSlot","surfaceProps","formatBadgeCount","count","AliaPopout","open","onOpenChange","position","unseenCount","showBadge","triggerLabel","RadixDialog","Sheet","FloatingActionButton","Astroid","EXPANDED_WIDTH","RAIL_WIDTH","AliaSidebar","side","footerSlot","borderClass","ChevronsRight","ChevronsLeft"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsxs as r, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as M, useId as C, useMemo as R } from "react";
|
|
3
|
+
import { c as q } from "./index-D2ZczOXr.js";
|
|
4
|
+
import { useTranslation as z } from "react-i18next";
|
|
5
|
+
import { B as n } from "./badge-DCOqV9mI.js";
|
|
6
|
+
import { C as N } from "./card-DPmk26CL.js";
|
|
7
|
+
import { A as G, b as O, c as Q, a as S } from "./accordion-C11v9ouP.js";
|
|
8
|
+
import { D as t } from "./description-list-CmBVxIF5.js";
|
|
9
|
+
import { T as w } from "./timestamp-BV2lC-wV.js";
|
|
10
|
+
import { T as y } from "./triangle-alert-CBnO6nq_.js";
|
|
11
|
+
const H = q("ds:w-full ds:text-[color:var(--foreground)]", {
|
|
12
|
+
variants: {
|
|
13
|
+
// Matches the kit's other `surface` props. `'elevated'` (default)
|
|
14
|
+
// wraps in `<Card variant="elevated">`; `'flat'` drops the chrome
|
|
15
|
+
// for use inside an existing Card / Sheet.
|
|
16
|
+
surface: {
|
|
17
|
+
flat: "",
|
|
18
|
+
elevated: ""
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
defaultVariants: { surface: "elevated" }
|
|
22
|
+
}), J = M(
|
|
23
|
+
({
|
|
24
|
+
dateIso: V,
|
|
25
|
+
createdAtIso: u,
|
|
26
|
+
formName: T,
|
|
27
|
+
highlightedAnswerCount: o = 0,
|
|
28
|
+
status: s,
|
|
29
|
+
answers: d,
|
|
30
|
+
surface: p = "elevated",
|
|
31
|
+
"aria-label": A,
|
|
32
|
+
id: f,
|
|
33
|
+
className: D,
|
|
34
|
+
...F
|
|
35
|
+
}, I) => {
|
|
36
|
+
const { t: a } = z(), h = C(), L = C(), v = T ?? a("anamnesisCard.defaultFormName", { defaultValue: "Medical history" }), B = A ?? v, i = o > 0, c = (s == null ? void 0 : s.expired) === !0, m = (s == null ? void 0 : s.corrupted) === !0, g = (d == null ? void 0 : d.length) ?? 0, x = R(() => !i && !c && !m ? null : /* @__PURE__ */ r(
|
|
37
|
+
"div",
|
|
38
|
+
{
|
|
39
|
+
role: "list",
|
|
40
|
+
"aria-label": a("anamnesisCard.statusGroupLabel", {
|
|
41
|
+
defaultValue: "Questionnaire status"
|
|
42
|
+
}),
|
|
43
|
+
className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]",
|
|
44
|
+
children: [
|
|
45
|
+
i ? /* @__PURE__ */ e(
|
|
46
|
+
n,
|
|
47
|
+
{
|
|
48
|
+
variant: "error",
|
|
49
|
+
withDot: !0,
|
|
50
|
+
leading: /* @__PURE__ */ e(y, { "aria-hidden": "true" }),
|
|
51
|
+
role: "listitem",
|
|
52
|
+
children: a("anamnesisCard.status.highlighted", {
|
|
53
|
+
count: o,
|
|
54
|
+
defaultValue: "{{count}} flagged answers"
|
|
55
|
+
})
|
|
56
|
+
}
|
|
57
|
+
) : null,
|
|
58
|
+
c ? /* @__PURE__ */ e(n, { variant: "warning", withDot: !0, role: "listitem", children: a("anamnesisCard.status.expired", { defaultValue: "Expired" }) }) : null,
|
|
59
|
+
m ? /* @__PURE__ */ e(n, { variant: "error", withDot: !0, role: "listitem", children: a("anamnesisCard.status.corrupted", {
|
|
60
|
+
defaultValue: "Corrupted"
|
|
61
|
+
}) }) : null
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
), [i, c, m, o, a]), j = /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
|
|
65
|
+
/* @__PURE__ */ r("div", { className: "ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-sm)]", children: [
|
|
66
|
+
/* @__PURE__ */ e(
|
|
67
|
+
"h3",
|
|
68
|
+
{
|
|
69
|
+
id: h,
|
|
70
|
+
className: "type-title-card ds:m-0 ds:text-[color:var(--foreground)]",
|
|
71
|
+
children: v
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
x ? /* @__PURE__ */ e("div", { className: "ds:ms-auto ds:flex ds:shrink-0 ds:items-center", children: x }) : null
|
|
75
|
+
] }),
|
|
76
|
+
/* @__PURE__ */ r("p", { className: "type-body-sm ds:m-0 ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]", children: [
|
|
77
|
+
/* @__PURE__ */ r("span", { children: [
|
|
78
|
+
a("anamnesisCard.compiledOn", { defaultValue: "Compiled" }),
|
|
79
|
+
" ",
|
|
80
|
+
/* @__PURE__ */ e(w, { value: V, format: "absolute", shape: "bare" })
|
|
81
|
+
] }),
|
|
82
|
+
u ? /* @__PURE__ */ r("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
83
|
+
/* @__PURE__ */ e("span", { "aria-hidden": "true", children: "·" }),
|
|
84
|
+
/* @__PURE__ */ r("span", { children: [
|
|
85
|
+
a("anamnesisCard.submitted", { defaultValue: "Submitted" }),
|
|
86
|
+
" ",
|
|
87
|
+
/* @__PURE__ */ e(
|
|
88
|
+
w,
|
|
89
|
+
{
|
|
90
|
+
value: u,
|
|
91
|
+
format: "relative",
|
|
92
|
+
shape: "bare"
|
|
93
|
+
}
|
|
94
|
+
)
|
|
95
|
+
] })
|
|
96
|
+
] }) : null
|
|
97
|
+
] })
|
|
98
|
+
] }), k = g > 0 ? /* @__PURE__ */ e(t, { layout: "stacked", density: "compact", divider: "between", children: d.map((l, E) => /* @__PURE__ */ r(
|
|
99
|
+
t.Row,
|
|
100
|
+
{
|
|
101
|
+
className: l.highlight ? "ds:border ds:border-[color:var(--destructive)] ds:rounded-[var(--radius-sm)] ds:p-[var(--spacing-sm)]" : void 0,
|
|
102
|
+
children: [
|
|
103
|
+
/* @__PURE__ */ e(t.Term, { children: /* @__PURE__ */ r("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
|
|
104
|
+
/* @__PURE__ */ e("span", { children: l.question }),
|
|
105
|
+
l.highlight ? /* @__PURE__ */ e(
|
|
106
|
+
n,
|
|
107
|
+
{
|
|
108
|
+
variant: "error",
|
|
109
|
+
size: "sm",
|
|
110
|
+
withDot: !0,
|
|
111
|
+
leading: /* @__PURE__ */ e(y, { "aria-hidden": "true" }),
|
|
112
|
+
"aria-label": a("anamnesisCard.answerFlagLabel", {
|
|
113
|
+
defaultValue: "Flagged answer"
|
|
114
|
+
})
|
|
115
|
+
}
|
|
116
|
+
) : null
|
|
117
|
+
] }) }),
|
|
118
|
+
/* @__PURE__ */ e(t.Detail, { children: l.answer })
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
E
|
|
122
|
+
)) }) : /* @__PURE__ */ e("p", { className: "type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]", children: a("anamnesisCard.empty", {
|
|
123
|
+
defaultValue: "No answers were recorded."
|
|
124
|
+
}) }), b = /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
|
|
125
|
+
j,
|
|
126
|
+
/* @__PURE__ */ e(G, { type: "single", collapsible: !0, variant: "separated", children: /* @__PURE__ */ r(O, { value: L, children: [
|
|
127
|
+
/* @__PURE__ */ e(Q, { children: a("anamnesisCard.interviewToggle", {
|
|
128
|
+
count: g,
|
|
129
|
+
defaultValue: "Interview ({{count}} answers)"
|
|
130
|
+
}) }),
|
|
131
|
+
/* @__PURE__ */ e(S, { children: k })
|
|
132
|
+
] }) })
|
|
133
|
+
] });
|
|
134
|
+
return /* @__PURE__ */ e(
|
|
135
|
+
"div",
|
|
136
|
+
{
|
|
137
|
+
ref: I,
|
|
138
|
+
role: "region",
|
|
139
|
+
"aria-label": B,
|
|
140
|
+
"aria-labelledby": h,
|
|
141
|
+
"data-component": "anamnesis-card",
|
|
142
|
+
"data-component-id": f,
|
|
143
|
+
"data-has-flags": i || void 0,
|
|
144
|
+
id: f,
|
|
145
|
+
className: H({ surface: p, className: D }),
|
|
146
|
+
...F,
|
|
147
|
+
children: p === "elevated" ? /* @__PURE__ */ e(N, { variant: "elevated", children: /* @__PURE__ */ e(N.Body, { children: b }) }) : b
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
);
|
|
152
|
+
J.displayName = "AnamnesisCard";
|
|
153
|
+
export {
|
|
154
|
+
J as A
|
|
155
|
+
};
|
|
156
|
+
//# sourceMappingURL=anamnesis-card-CWO4Ui9c.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anamnesis-card-CWO4Ui9c.js","sources":["../../src/components/anamnesis-card/anamnesis-card.tsx"],"sourcesContent":["import {\n forwardRef,\n useId,\n useMemo,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\nimport { AlertTriangle } from 'lucide-react';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport {\n Accordion,\n AccordionItem,\n AccordionTrigger,\n AccordionContent,\n} from '../accordion/accordion';\nimport { DescriptionList } from '../description-list/description-list';\nimport { Timestamp } from '../timestamp/timestamp';\n\n/* -------------------------------------------------------------------- */\n/* AnamnesisCard */\n/* */\n/* A completed medical-history questionnaire (anamnesi) rendered as a */\n/* collapsible interview. Replaces the bespoke \"scheda anamnestica\" */\n/* cards every clinical surface composes by hand: a header summarising */\n/* the form (compiled date, form name) with status chips, and a */\n/* collapsible body listing each question/answer pair as a */\n/* DescriptionList (dt = question, dd = answer). */\n/* */\n/* The clinical red-flag count (`highlightedAnswerCount`) is the most */\n/* prominent signal: an `error` Badge carrying a NON-colour cue */\n/* (warning glyph + dot) so colour-blind clinicians still read it. The */\n/* expired / corrupted statuses surface as warning / error chips beside */\n/* it. Per-answer `highlight` flags emphasise the matching rows inside */\n/* the interview. */\n/* */\n/* All visible text flows through `useTranslation('ui')` against the */\n/* `anamnesisCard.*` namespace. Consumers pass IDENTIFIERS + structural */\n/* data; the kit owns the chrome + i18n. No PHI lives in the agent layer. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* CVA — root */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n // Matches the kit's other `surface` props. `'elevated'` (default)\n // wraps in `<Card variant=\"elevated\">`; `'flat'` drops the chrome\n // for use inside an existing Card / Sheet.\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: { surface: 'elevated' },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface AnamnesisCardAnswer {\n /** The questionnaire question text. Rendered as the `<dt>` term. */\n question: string;\n /** The patient's recorded answer. Rendered as the `<dd>` detail. */\n answer: ReactNode;\n /**\n * Marks this row as a clinical red-flag answer. Highlighted rows render\n * a `bordered` divider + an inline-end warning chip so they stand out\n * within the interview body — with the warning glyph carrying the cue,\n * not colour alone.\n */\n highlight?: boolean;\n}\n\nexport interface AnamnesisCardStatus {\n /** The questionnaire is past its validity window — surfaces a warning chip. */\n expired?: boolean;\n /** The submission is corrupted / incomplete — surfaces an error chip. */\n corrupted?: boolean;\n}\n\nexport interface AnamnesisCardProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children' | 'title'\n> {\n /**\n * The questionnaire's compiled / reference date as an ISO-8601 string.\n * Rendered as an absolute `<Timestamp>` in the header.\n */\n dateIso: string;\n /**\n * Optional submission / creation timestamp as an ISO-8601 string.\n * Rendered as a relative `<Timestamp>` caption beneath the heading.\n */\n createdAtIso?: string;\n /**\n * Form / template name (e.g. \"Anamnesi generale\"). When omitted, a\n * localised generic heading is used.\n */\n formName?: string;\n /**\n * Count of answers flagged as clinical red-flags. When `> 0`, renders\n * the prominent `error` Badge with a warning glyph + colour-blind dot.\n * Omit / `0` hides the chip.\n */\n highlightedAnswerCount?: number;\n /** Lifecycle / integrity status — drives the warning / error chips. */\n status?: AnamnesisCardStatus;\n /**\n * The question/answer pairs. Rendered inside the collapsible interview\n * as a `<DescriptionList>` (dt = question, dd = answer). When empty or\n * omitted, the interview shows a localised \"no answers\" line.\n */\n answers?: AnamnesisCardAnswer[];\n /**\n * `'elevated'` (default) wraps in `<Card variant=\"elevated\">`. `'flat'`\n * drops the Card — use inside another card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n /** Override the default region aria-label. */\n 'aria-label'?: string;\n /** Agent-readiness consumer id, surfaced as `data-component-id`. */\n id?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const AnamnesisCard = forwardRef<HTMLDivElement, AnamnesisCardProps>(\n (\n {\n dateIso,\n createdAtIso,\n formName,\n highlightedAnswerCount = 0,\n status,\n answers,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const headingId = useId();\n const accordionItemValue = useId();\n\n const resolvedFormName =\n formName ??\n t('anamnesisCard.defaultFormName', { defaultValue: 'Medical history' });\n const resolvedAriaLabel = ariaLabel ?? resolvedFormName;\n\n const hasFlags = highlightedAnswerCount > 0;\n const isExpired = status?.expired === true;\n const isCorrupted = status?.corrupted === true;\n\n const answerCount = answers?.length ?? 0;\n\n // Chip strip — the red-flag count first (most prominent), then the\n // integrity statuses. Each carries a non-colour cue (glyph / dot) so\n // colour-blind clinicians read the signal without relying on hue.\n const statusChips = useMemo<ReactNode>(() => {\n if (!hasFlags && !isExpired && !isCorrupted) return null;\n return (\n <div\n role=\"list\"\n aria-label={t('anamnesisCard.statusGroupLabel', {\n defaultValue: 'Questionnaire status',\n })}\n className=\"ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]\"\n >\n {hasFlags ? (\n <Badge\n variant=\"error\"\n withDot\n leading={<AlertTriangle aria-hidden=\"true\" />}\n role=\"listitem\"\n >\n {t('anamnesisCard.status.highlighted', {\n count: highlightedAnswerCount,\n defaultValue: '{{count}} flagged answers',\n })}\n </Badge>\n ) : null}\n {isExpired ? (\n <Badge variant=\"warning\" withDot role=\"listitem\">\n {t('anamnesisCard.status.expired', { defaultValue: 'Expired' })}\n </Badge>\n ) : null}\n {isCorrupted ? (\n <Badge variant=\"error\" withDot role=\"listitem\">\n {t('anamnesisCard.status.corrupted', {\n defaultValue: 'Corrupted',\n })}\n </Badge>\n ) : null}\n </div>\n );\n }, [hasFlags, isExpired, isCorrupted, highlightedAnswerCount, t]);\n\n const header = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-sm)]\">\n <h3\n id={headingId}\n className=\"type-title-card ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {resolvedFormName}\n </h3>\n {statusChips ? (\n <div className=\"ds:ms-auto ds:flex ds:shrink-0 ds:items-center\">\n {statusChips}\n </div>\n ) : null}\n </div>\n <p className=\"type-body-sm ds:m-0 ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)] ds:text-[color:var(--muted-foreground)]\">\n <span>\n {t('anamnesisCard.compiledOn', { defaultValue: 'Compiled' })}{' '}\n <Timestamp value={dateIso} format=\"absolute\" shape=\"bare\" />\n </span>\n {createdAtIso ? (\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span aria-hidden=\"true\">·</span>\n <span>\n {t('anamnesisCard.submitted', { defaultValue: 'Submitted' })}{' '}\n <Timestamp\n value={createdAtIso}\n format=\"relative\"\n shape=\"bare\"\n />\n </span>\n </span>\n ) : null}\n </p>\n </div>\n );\n\n const interview =\n answerCount > 0 ? (\n <DescriptionList layout=\"stacked\" density=\"compact\" divider=\"between\">\n {answers!.map((row, index) => (\n <DescriptionList.Row\n key={index}\n className={\n row.highlight\n ? 'ds:border ds:border-[color:var(--destructive)] ds:rounded-[var(--radius-sm)] ds:p-[var(--spacing-sm)]'\n : undefined\n }\n >\n <DescriptionList.Term>\n <span className=\"ds:flex ds:items-center ds:gap-[var(--spacing-xs)]\">\n <span>{row.question}</span>\n {row.highlight ? (\n <Badge\n variant=\"error\"\n size=\"sm\"\n withDot\n leading={<AlertTriangle aria-hidden=\"true\" />}\n aria-label={t('anamnesisCard.answerFlagLabel', {\n defaultValue: 'Flagged answer',\n })}\n />\n ) : null}\n </span>\n </DescriptionList.Term>\n <DescriptionList.Detail>{row.answer}</DescriptionList.Detail>\n </DescriptionList.Row>\n ))}\n </DescriptionList>\n ) : (\n <p className=\"type-body-sm ds:m-0 ds:text-[color:var(--muted-foreground)]\">\n {t('anamnesisCard.empty', {\n defaultValue: 'No answers were recorded.',\n })}\n </p>\n );\n\n const inner = (\n <div className=\"ds:flex ds:flex-col ds:gap-[var(--spacing-md)]\">\n {header}\n <Accordion type=\"single\" collapsible variant=\"separated\">\n <AccordionItem value={accordionItemValue}>\n <AccordionTrigger>\n {t('anamnesisCard.interviewToggle', {\n count: answerCount,\n defaultValue: 'Interview ({{count}} answers)',\n })}\n </AccordionTrigger>\n <AccordionContent>{interview}</AccordionContent>\n </AccordionItem>\n </Accordion>\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n aria-label={resolvedAriaLabel}\n aria-labelledby={headingId}\n data-component=\"anamnesis-card\"\n data-component-id={id}\n data-has-flags={hasFlags || undefined}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n <Card.Body>{inner}</Card.Body>\n </Card>\n ) : (\n inner\n )}\n </div>\n );\n },\n);\n\nAnamnesisCard.displayName = 'AnamnesisCard';\n\nexport type AnamnesisCardSurface = NonNullable<\n VariantProps<typeof rootVariants>['surface']\n>;\n"],"names":["rootVariants","cva","AnamnesisCard","forwardRef","dateIso","createdAtIso","formName","highlightedAnswerCount","status","answers","surface","ariaLabel","id","className","rest","ref","t","useTranslation","headingId","useId","accordionItemValue","resolvedFormName","resolvedAriaLabel","hasFlags","isExpired","isCorrupted","answerCount","statusChips","useMemo","jsxs","jsx","Badge","AlertTriangle","header","Timestamp","interview","DescriptionList","row","index","inner","Accordion","AccordionItem","AccordionTrigger","AccordionContent","Card"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotation-marker-qt5R9WZX.js","sources":["../../src/components/annotation-marker/annotation-marker.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* AnnotationMarker — the shared clinical-scheme marker glyph. */\n/* */\n/* A small presentational glyph used to mark a finding on any charting */\n/* surface (
|
|
1
|
+
{"version":3,"file":"annotation-marker-qt5R9WZX.js","sources":["../../src/components/annotation-marker/annotation-marker.tsx"],"sourcesContent":["/* ------------------------------------------------------------------ */\n/* AnnotationMarker — the shared clinical-scheme marker glyph. */\n/* */\n/* A small presentational glyph used to mark a finding on any charting */\n/* surface (MuscleScheme region overlay, a finding-type picker, a */\n/* legend, a note card). The SHAPE is the channel — meaning is never */\n/* carried by colour alone (WCAG 1.4.1). The same geometry is shared */\n/* with MuscleScheme via `markerPath`, so the in-SVG overlay and the */\n/* standalone glyph never drift. */\n/* ------------------------------------------------------------------ */\n\nimport { forwardRef, type ReactNode } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { useTranslation } from 'react-i18next';\n\n/* ------------------------------------------------------------------ */\n/* Vocabulary */\n/* ------------------------------------------------------------------ */\n\nexport type MarkerShape =\n | 'circle'\n | 'square'\n | 'triangle'\n | 'diamond'\n | 'cross';\nexport type MarkerTone =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'accent';\n\nexport const MARKER_SHAPES: MarkerShape[] = [\n 'circle',\n 'square',\n 'triangle',\n 'diamond',\n 'cross',\n];\n\n/* ------------------------------------------------------------------ */\n/* Geometry — pure, shared with MuscleScheme */\n/* ------------------------------------------------------------------ */\n\n/**\n * SVG path `d` for a marker shape centred at `(cx, cy)` with radius `r`,\n * in the parent SVG's own user units. Pure — no React, no DOM. MuscleScheme\n * draws its finding overlay with this exact function so the figure overlay and\n * the standalone glyph stay visually identical.\n */\nexport function markerPath(\n shape: MarkerShape,\n cx: number,\n cy: number,\n r: number,\n): string {\n switch (shape) {\n case 'circle':\n return `M ${cx - r} ${cy} a ${r} ${r} 0 1 0 ${2 * r} 0 a ${r} ${r} 0 1 0 ${-2 * r} 0 Z`;\n case 'square': {\n const s = r * 0.88;\n return `M ${cx - s} ${cy - s} H ${cx + s} V ${cy + s} H ${cx - s} Z`;\n }\n case 'triangle': {\n const w = r * 0.95;\n return `M ${cx} ${cy - r} L ${cx + w} ${cy + r * 0.8} L ${cx - w} ${cy + r * 0.8} Z`;\n }\n case 'diamond':\n return `M ${cx} ${cy - r} L ${cx + r} ${cy} L ${cx} ${cy + r} L ${cx - r} ${cy} Z`;\n case 'cross': {\n // A filled plus sign — reads as a distinct shape at any fill/stroke.\n const a = r * 0.4;\n return [\n `M ${cx - a} ${cy - r}`,\n `H ${cx + a}`,\n `V ${cy - a}`,\n `H ${cx + r}`,\n `V ${cy + a}`,\n `H ${cx + a}`,\n `V ${cy + r}`,\n `H ${cx - a}`,\n `V ${cy + a}`,\n `H ${cx - r}`,\n `V ${cy - a}`,\n `H ${cx - a}`,\n 'Z',\n ].join(' ');\n }\n }\n}\n\n/* ------------------------------------------------------------------ */\n/* CVA — glyph fill/stroke per tone */\n/* ------------------------------------------------------------------ */\n\n// Each tone resolves to a single token; `filled` fills the shape, otherwise it\n// is drawn as an outline. The shape (not the tone) is the accessible channel.\nconst glyphVariants = cva(\n 'ds:block ds:[inline-size:var(--marker-box)] ds:[block-size:var(--marker-box)]',\n {\n variants: {\n tone: {\n neutral: 'ds:[--marker-color:var(--muted-foreground)]',\n info: 'ds:[--marker-color:var(--info)]',\n success: 'ds:[--marker-color:var(--success)]',\n warning: 'ds:[--marker-color:var(--warning)]',\n error: 'ds:[--marker-color:var(--destructive)]',\n accent: 'ds:[--marker-color:var(--accent)]',\n },\n filled: {\n true: 'ds:[fill:var(--marker-color)] ds:[stroke:none]',\n false:\n 'ds:[fill:none] ds:[stroke:var(--marker-color)] ds:[stroke-width:2.5]',\n },\n },\n defaultVariants: { tone: 'neutral', filled: true },\n },\n);\n\nconst wrapperVariants = cva('ds:inline-flex ds:items-center ds:gap-1.5', {\n variants: {\n size: {\n sm: 'ds:[--marker-box:0.75rem]',\n md: 'ds:[--marker-box:1rem]',\n lg: 'ds:[--marker-box:1.25rem]',\n },\n },\n defaultVariants: { size: 'md' },\n});\n\n/* ------------------------------------------------------------------ */\n/* Props */\n/* ------------------------------------------------------------------ */\n\nexport interface AnnotationMarkerProps\n extends\n Omit<React.HTMLAttributes<HTMLSpanElement>, 'children'>,\n VariantProps<typeof wrapperVariants> {\n /** Shape of the marker — the accessible channel (never colour alone). */\n shape: MarkerShape;\n /** Semantic tone. Decorative reinforcement of the shape, not the meaning. */\n tone?: MarkerTone;\n /** Fill the shape (default) or draw it as an outline. */\n filled?: boolean;\n /**\n * Accessible name. Required for an icon-only marker (no `label`); when `label`\n * text is shown, this overrides the visible text for assistive tech.\n */\n 'aria-label'?: string;\n /** Optional visible label rendered after the glyph (e.g. in a legend). */\n label?: ReactNode;\n}\n\n/* ------------------------------------------------------------------ */\n/* AnnotationMarker */\n/* ------------------------------------------------------------------ */\n\nexport const AnnotationMarker = forwardRef<\n HTMLSpanElement,\n AnnotationMarkerProps\n>(\n (\n {\n shape,\n tone = 'neutral',\n filled = true,\n size = 'md',\n label,\n 'aria-label': ariaLabel,\n className,\n ...props\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const accessibleName =\n ariaLabel ??\n (typeof label === 'string'\n ? label\n : t(`annotationMarker.shape.${shape}`));\n\n return (\n <span\n ref={ref}\n data-component=\"annotation-marker\"\n data-marker-shape={shape}\n data-marker-tone={tone}\n className={wrapperVariants({ size, className })}\n {...props}\n >\n <svg\n viewBox=\"0 0 24 24\"\n className={glyphVariants({ tone, filled })}\n role=\"img\"\n aria-label={label ? undefined : accessibleName}\n aria-hidden={label ? true : undefined}\n focusable=\"false\"\n >\n <path d={markerPath(shape, 12, 12, 9)} />\n </svg>\n {label != null && <span>{label}</span>}\n </span>\n );\n },\n);\n\nAnnotationMarker.displayName = 'AnnotationMarker';\n"],"names":["MARKER_SHAPES","markerPath","shape","cx","cy","r","s","w","a","glyphVariants","cva","wrapperVariants","AnnotationMarker","forwardRef","tone","filled","size","label","ariaLabel","className","props","ref","t","useTranslation","accessibleName","jsxs","jsx"],"mappings":"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"}
|