@alfadocs/ui-kit-debug 0.72.2 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (556) hide show
  1. package/dist/_chunks/{agenda-tray-loL2A3Cx.js → agenda-tray-CVf-jfWU.js} +3 -3
  2. package/dist/_chunks/{agenda-tray-loL2A3Cx.js.map → agenda-tray-CVf-jfWU.js.map} +1 -1
  3. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js → ai-consent-banner-DUhr1yNj.js} +2 -2
  4. package/dist/_chunks/{ai-consent-banner-Bke9m8VS.js.map → ai-consent-banner-DUhr1yNj.js.map} +1 -1
  5. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js → ai-prompt-input-DFm58UjY.js} +2 -2
  6. package/dist/_chunks/{ai-prompt-input-TVI95hJD.js.map → ai-prompt-input-DFm58UjY.js.map} +1 -1
  7. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js → alia-sidebar-w6B0TEx7.js} +8 -8
  8. package/dist/_chunks/{alia-sidebar-BV5lBSFR.js.map → alia-sidebar-w6B0TEx7.js.map} +1 -1
  9. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js → anamnesis-card-CJ5MNbkc.js} +2 -2
  10. package/dist/_chunks/{anamnesis-card-CWO4Ui9c.js.map → anamnesis-card-CJ5MNbkc.js.map} +1 -1
  11. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js → antenatal-schedule-timeline-BzJZqS-8.js} +3 -3
  12. package/dist/_chunks/{antenatal-schedule-timeline-CY-VsLok.js.map → antenatal-schedule-timeline-BzJZqS-8.js.map} +1 -1
  13. package/dist/_chunks/{appointment-card-Cy4FOkGP.js → appointment-card-DgKI5QKD.js} +2 -2
  14. package/dist/_chunks/{appointment-card-Cy4FOkGP.js.map → appointment-card-DgKI5QKD.js.map} +1 -1
  15. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js → appointment-timeline-DQTG0btW.js} +6 -6
  16. package/dist/_chunks/{appointment-timeline-BWAPPk8F.js.map → appointment-timeline-DQTG0btW.js.map} +1 -1
  17. package/dist/_chunks/{appointment-tray-D3mk04TT.js → appointment-tray-ezyCZN8v.js} +4 -4
  18. package/dist/_chunks/{appointment-tray-D3mk04TT.js.map → appointment-tray-ezyCZN8v.js.map} +1 -1
  19. package/dist/_chunks/{ar-BOqyIfoY.js → ar-B1GhtlBP.js} +2 -2
  20. package/dist/_chunks/{ar-BOqyIfoY.js.map → ar-B1GhtlBP.js.map} +1 -1
  21. package/dist/_chunks/arrow-up-right-C2v_MKsK.js +15 -0
  22. package/dist/_chunks/arrow-up-right-C2v_MKsK.js.map +1 -0
  23. package/dist/_chunks/{audio-recorder-BbjG55dP.js → audio-recorder-CjAY0GAc.js} +3 -3
  24. package/dist/_chunks/{audio-recorder-BbjG55dP.js.map → audio-recorder-CjAY0GAc.js.map} +1 -1
  25. package/dist/_chunks/{benefit-card-Xnxj4Gmo.js → benefit-card-DB1Kdrmc.js} +4 -2
  26. package/dist/_chunks/benefit-card-DB1Kdrmc.js.map +1 -0
  27. package/dist/_chunks/{bishop-score-C6eoak_j.js → bishop-score-Bs6t6Zv1.js} +2 -2
  28. package/dist/_chunks/{bishop-score-C6eoak_j.js.map → bishop-score-Bs6t6Zv1.js.map} +1 -1
  29. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js → bmi-calculator-Bk2GAju7.js} +2 -2
  30. package/dist/_chunks/{bmi-calculator-BmQfoEGP.js.map → bmi-calculator-Bk2GAju7.js.map} +1 -1
  31. package/dist/_chunks/{booking-B62CMY5k.js → booking-CWnZhZ5g.js} +8 -8
  32. package/dist/_chunks/{booking-B62CMY5k.js.map → booking-CWnZhZ5g.js.map} +1 -1
  33. package/dist/_chunks/{button-DD_0Xdmr.js → button-CPGiR_bH.js} +56 -35
  34. package/dist/_chunks/button-CPGiR_bH.js.map +1 -0
  35. package/dist/_chunks/button-group-DzV5wgnx.js +289 -0
  36. package/dist/_chunks/button-group-DzV5wgnx.js.map +1 -0
  37. package/dist/_chunks/camera-VSklPDCv.js +21 -0
  38. package/dist/_chunks/camera-VSklPDCv.js.map +1 -0
  39. package/dist/_chunks/{care-plan-card-DhXbfGzE.js → care-plan-card-CfIP3Vc1.js} +3 -3
  40. package/dist/_chunks/{care-plan-card-DhXbfGzE.js.map → care-plan-card-CfIP3Vc1.js.map} +1 -1
  41. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js → care-plan-entry-card-CRbS-G00.js} +3 -3
  42. package/dist/_chunks/{care-plan-entry-card-D3YGD6rj.js.map → care-plan-entry-card-CRbS-G00.js.map} +1 -1
  43. package/dist/_chunks/{care-plan-header-DtQxyfOb.js → care-plan-header-BXvRpGG8.js} +2 -2
  44. package/dist/_chunks/{care-plan-header-DtQxyfOb.js.map → care-plan-header-BXvRpGG8.js.map} +1 -1
  45. package/dist/_chunks/{carousel.agent-j7hWxJWr.js → carousel.agent-CtAAdsAd.js} +2 -2
  46. package/dist/_chunks/{carousel.agent-j7hWxJWr.js.map → carousel.agent-CtAAdsAd.js.map} +1 -1
  47. package/dist/_chunks/{chat-container-BVCoN06N.js → chat-container-HlFnoEIl.js} +4 -2
  48. package/dist/_chunks/{chat-container-BVCoN06N.js.map → chat-container-HlFnoEIl.js.map} +1 -1
  49. package/dist/_chunks/{chat-input-Btq_uuMZ.js → chat-input-BTCDqUDX.js} +2 -2
  50. package/dist/_chunks/{chat-input-Btq_uuMZ.js.map → chat-input-BTCDqUDX.js.map} +1 -1
  51. package/dist/_chunks/{chat-message-DXjjM8z9.js → chat-message-CdjWqZjo.js} +3 -3
  52. package/dist/_chunks/{chat-message-DXjjM8z9.js.map → chat-message-CdjWqZjo.js.map} +1 -1
  53. package/dist/_chunks/{code-block-Cwi7e3HM.js → code-block-BwanBjRh.js} +2 -2
  54. package/dist/_chunks/{code-block-Cwi7e3HM.js.map → code-block-BwanBjRh.js.map} +1 -1
  55. package/dist/_chunks/{connection-status-0HajXMXM.js → connection-status-oEUyrvev.js} +3 -3
  56. package/dist/_chunks/{connection-status-0HajXMXM.js.map → connection-status-oEUyrvev.js.map} +1 -1
  57. package/dist/_chunks/{contact-profile-card-IggiUVpN.js → contact-profile-card-veMV3W4J.js} +2 -2
  58. package/dist/_chunks/{contact-profile-card-IggiUVpN.js.map → contact-profile-card-veMV3W4J.js.map} +1 -1
  59. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js → control-room-rail-CdfrZ6Vr.js} +3 -3
  60. package/dist/_chunks/{control-room-rail-DaGcsdZ6.js.map → control-room-rail-CdfrZ6Vr.js.map} +1 -1
  61. package/dist/_chunks/{copy-field-PAp0-Wr5.js → copy-field-DBc9QquW.js} +2 -2
  62. package/dist/_chunks/{copy-field-PAp0-Wr5.js.map → copy-field-DBc9QquW.js.map} +1 -1
  63. package/dist/_chunks/{cycle-calculator-BNILyVas.js → cycle-calculator-OQp8Ik5U.js} +4 -4
  64. package/dist/_chunks/{cycle-calculator-BNILyVas.js.map → cycle-calculator-OQp8Ik5U.js.map} +1 -1
  65. package/dist/_chunks/{date-picker-CVkD_lOi.js → date-picker-DzQS8mvt.js} +2 -2
  66. package/dist/_chunks/{date-picker-CVkD_lOi.js.map → date-picker-DzQS8mvt.js.map} +1 -1
  67. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js → date-picker-variants-CYQAm1Gk.js} +116 -115
  68. package/dist/_chunks/{date-picker-variants-DLg-ZrIo.js.map → date-picker-variants-CYQAm1Gk.js.map} +1 -1
  69. package/dist/_chunks/{date-range-picker-Dw12DgV8.js → date-range-picker-Cbz1SKhm.js} +3 -3
  70. package/dist/_chunks/{date-range-picker-Dw12DgV8.js.map → date-range-picker-Cbz1SKhm.js.map} +1 -1
  71. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js → date-time-picker-B5IpU-nd.js} +2 -2
  72. package/dist/_chunks/{date-time-picker-Cd_OJtOy.js.map → date-time-picker-B5IpU-nd.js.map} +1 -1
  73. package/dist/_chunks/{de-DFLsUxeV.js → de-DETDHQ0o.js} +2 -2
  74. package/dist/_chunks/{de-DFLsUxeV.js.map → de-DETDHQ0o.js.map} +1 -1
  75. package/dist/_chunks/{description-list-CmBVxIF5.js → description-list-ClNLdRMy.js} +2 -2
  76. package/dist/_chunks/{description-list-CmBVxIF5.js.map → description-list-ClNLdRMy.js.map} +1 -1
  77. package/dist/_chunks/{document-scanner-B23j4w7X.js → document-scanner-BE6Jz4Ob.js} +198 -230
  78. package/dist/_chunks/document-scanner-BE6Jz4Ob.js.map +1 -0
  79. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js → due-date-calculator-DASNRgnH.js} +4 -4
  80. package/dist/_chunks/{due-date-calculator-CmdAl_JO.js.map → due-date-calculator-DASNRgnH.js.map} +1 -1
  81. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js → editable-currency-cell-renderer-GwfA9tTR.js} +3 -3
  82. package/dist/_chunks/{editable-currency-cell-renderer-z9fJFw6Z.js.map → editable-currency-cell-renderer-GwfA9tTR.js.map} +1 -1
  83. package/dist/_chunks/{editor-overlay-BIOzr8v7.js → editor-overlay-DE3esyio.js} +2 -2
  84. package/dist/_chunks/{editor-overlay-BIOzr8v7.js.map → editor-overlay-DE3esyio.js.map} +1 -1
  85. package/dist/_chunks/{el-OVjBKytp.js → el-HV3jOI0z.js} +2 -2
  86. package/dist/_chunks/{el-OVjBKytp.js.map → el-HV3jOI0z.js.map} +1 -1
  87. package/dist/_chunks/{empty-state-BLy7tigq.js → empty-state-CrLsi0XI.js} +2 -2
  88. package/dist/_chunks/{empty-state-BLy7tigq.js.map → empty-state-CrLsi0XI.js.map} +1 -1
  89. package/dist/_chunks/{entity-summary-DpGziDv5.js → entity-summary--vP698Jn.js} +3 -3
  90. package/dist/_chunks/{entity-summary-DpGziDv5.js.map → entity-summary--vP698Jn.js.map} +1 -1
  91. package/dist/_chunks/eraser-CHOGQfVv.js +21 -0
  92. package/dist/_chunks/eraser-CHOGQfVv.js.map +1 -0
  93. package/dist/_chunks/{es-DKDNrHXG.js → es-Dpo7Olwo.js} +2 -2
  94. package/dist/_chunks/{es-DKDNrHXG.js.map → es-Dpo7Olwo.js.map} +1 -1
  95. package/dist/_chunks/face-scheme-C0rk21gg.js +3146 -0
  96. package/dist/_chunks/face-scheme-C0rk21gg.js.map +1 -0
  97. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js → fetal-weight-1F9N4IMx.js} +2 -2
  98. package/dist/_chunks/{fetal-weight-CVAH8sJ3.js.map → fetal-weight-1F9N4IMx.js.map} +1 -1
  99. package/dist/_chunks/{field-array-CDzc3hTM.js → field-array-DH3Mb1i8.js} +3 -3
  100. package/dist/_chunks/{field-array-CDzc3hTM.js.map → field-array-DH3Mb1i8.js.map} +1 -1
  101. package/dist/_chunks/{field-value-Dj3i52H2.js → field-value-DCXJXKab.js} +5 -5
  102. package/dist/_chunks/{field-value-Dj3i52H2.js.map → field-value-DCXJXKab.js.map} +1 -1
  103. package/dist/_chunks/{file-upload-Kw1rdvFw.js → file-upload-B2SXhRiN.js} +104 -111
  104. package/dist/_chunks/file-upload-B2SXhRiN.js.map +1 -0
  105. package/dist/_chunks/{finished-terminal-Di4gtZ50.js → finished-terminal-C0_mefrf.js} +11 -11
  106. package/dist/_chunks/finished-terminal-C0_mefrf.js.map +1 -0
  107. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js → fiscal-code-input-DWA6C8x8.js} +2 -2
  108. package/dist/_chunks/{fiscal-code-input-DKNXFXs3.js.map → fiscal-code-input-DWA6C8x8.js.map} +1 -1
  109. package/dist/_chunks/{fr-BfMvQh-v.js → fr-CgD4Jvtq.js} +2 -2
  110. package/dist/_chunks/{fr-BfMvQh-v.js.map → fr-CgD4Jvtq.js.map} +1 -1
  111. package/dist/_chunks/{freemium-paywall-DFoeedwh.js → freemium-paywall-CmV642PA.js} +7 -3
  112. package/dist/_chunks/freemium-paywall-CmV642PA.js.map +1 -0
  113. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js → gestational-age-calculator-C9Dfis4I.js} +6 -6
  114. package/dist/_chunks/{gestational-age-calculator-BwCBPAGX.js.map → gestational-age-calculator-C9Dfis4I.js.map} +1 -1
  115. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js → hcg-doubling-Dqj-EqMT.js} +3 -3
  116. package/dist/_chunks/{hcg-doubling-CSsWxEJc.js.map → hcg-doubling-Dqj-EqMT.js.map} +1 -1
  117. package/dist/_chunks/{header-DaXWDw0M.js → header-CjwasYnn.js} +88 -79
  118. package/dist/_chunks/header-CjwasYnn.js.map +1 -0
  119. package/dist/_chunks/{header-settings-B0G_u-wV.js → header-settings-CRQDCYgr.js} +4 -4
  120. package/dist/_chunks/{header-settings-B0G_u-wV.js.map → header-settings-CRQDCYgr.js.map} +1 -1
  121. package/dist/_chunks/{hi-C0GEMwlD.js → hi-Bf8CAP6b.js} +2 -2
  122. package/dist/_chunks/{hi-C0GEMwlD.js.map → hi-Bf8CAP6b.js.map} +1 -1
  123. package/dist/_chunks/highlighter-DSkckT2Q.js +15 -0
  124. package/dist/_chunks/highlighter-DSkckT2Q.js.map +1 -0
  125. package/dist/_chunks/{icon-button-LqoiKcUN.js → icon-button-C_kbcd7I.js} +2 -2
  126. package/dist/_chunks/{icon-button-LqoiKcUN.js.map → icon-button-C_kbcd7I.js.map} +1 -1
  127. package/dist/_chunks/icon-button-group-C_lqXTAj.js +391 -0
  128. package/dist/_chunks/icon-button-group-C_lqXTAj.js.map +1 -0
  129. package/dist/_chunks/{icon-picker-Di6uYDG-.js → icon-picker-BePK27S-.js} +3 -3
  130. package/dist/_chunks/{icon-picker-Di6uYDG-.js.map → icon-picker-BePK27S-.js.map} +1 -1
  131. package/dist/_chunks/{image-cropper-CdmWFrMC.js → image-cropper-DKe4AORY.js} +2 -2
  132. package/dist/_chunks/{image-cropper-CdmWFrMC.js.map → image-cropper-DKe4AORY.js.map} +1 -1
  133. package/dist/_chunks/{insert-result-C7xSDb8q.js → insert-result-D074GtHX.js} +58 -68
  134. package/dist/_chunks/insert-result-D074GtHX.js.map +1 -0
  135. package/dist/_chunks/{isSameWeek-HddDAyJG.js → isSameWeek-BYl5poz_.js} +2 -2
  136. package/dist/_chunks/{isSameWeek-HddDAyJG.js.map → isSameWeek-BYl5poz_.js.map} +1 -1
  137. package/dist/_chunks/{it-5f4hiT2e.js → it-mt1V2DFS.js} +3 -3
  138. package/dist/_chunks/{it-5f4hiT2e.js.map → it-mt1V2DFS.js.map} +1 -1
  139. package/dist/_chunks/{ja-U0_2inl_.js → ja-CbOHn2TO.js} +2 -2
  140. package/dist/_chunks/{ja-U0_2inl_.js.map → ja-CbOHn2TO.js.map} +1 -1
  141. package/dist/_chunks/{key-value-pair-Byyyc_9J.js → key-value-pair-LHKfDT_9.js} +2 -2
  142. package/dist/_chunks/{key-value-pair-Byyyc_9J.js.map → key-value-pair-LHKfDT_9.js.map} +1 -1
  143. package/dist/_chunks/{link-cell-renderer-BCppbMec.js → link-cell-renderer-CLI7sBkX.js} +803 -778
  144. package/dist/_chunks/link-cell-renderer-CLI7sBkX.js.map +1 -0
  145. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js → locale-picker-Cbfqc0_N.js} +3 -3
  146. package/dist/_chunks/{locale-picker-DzF7Q5Y8.js.map → locale-picker-Cbfqc0_N.js.map} +1 -1
  147. package/dist/_chunks/{map-view-ByPvWG_9.js → map-view-CsaHfoo6.js} +2 -2
  148. package/dist/_chunks/{map-view-ByPvWG_9.js.map → map-view-CsaHfoo6.js.map} +1 -1
  149. package/dist/_chunks/{marketplace-app-shell-BCYiOvKZ.js → marketplace-app-shell-Dm6S-hun.js} +6 -6
  150. package/dist/_chunks/marketplace-app-shell-Dm6S-hun.js.map +1 -0
  151. package/dist/_chunks/{message-card-BZnnffyB.js → message-card-ievotOFa.js} +3 -3
  152. package/dist/_chunks/{message-card-BZnnffyB.js.map → message-card-ievotOFa.js.map} +1 -1
  153. package/dist/_chunks/{message-tray-cUHOCdU0.js → message-tray-BFlu8clI.js} +4 -4
  154. package/dist/_chunks/{message-tray-cUHOCdU0.js.map → message-tray-BFlu8clI.js.map} +1 -1
  155. package/dist/_chunks/{nl-CDVnnx1U.js → nl-C6Y0QXnm.js} +2 -2
  156. package/dist/_chunks/{nl-CDVnnx1U.js.map → nl-C6Y0QXnm.js.map} +1 -1
  157. package/dist/_chunks/{notes-panel-CMyjUXD4.js → notes-panel-B_8-Mebz.js} +3 -3
  158. package/dist/_chunks/{notes-panel-CMyjUXD4.js.map → notes-panel-B_8-Mebz.js.map} +1 -1
  159. package/dist/_chunks/{notification-card-BHJ07FkH.js → notification-card-D29_sVA1.js} +3 -3
  160. package/dist/_chunks/{notification-card-BHJ07FkH.js.map → notification-card-D29_sVA1.js.map} +1 -1
  161. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js → notification-tray-CzIzz3bX.js} +4 -4
  162. package/dist/_chunks/{notification-tray-Dzm1c3Wy.js.map → notification-tray-CzIzz3bX.js.map} +1 -1
  163. package/dist/_chunks/optical-prescription-BQ75_kf6.js +1260 -0
  164. package/dist/_chunks/optical-prescription-BQ75_kf6.js.map +1 -0
  165. package/dist/_chunks/{patient-details-pU_E5xM2.js → patient-details-JkOI3Ijd.js} +6 -6
  166. package/dist/_chunks/{patient-details-pU_E5xM2.js.map → patient-details-JkOI3Ijd.js.map} +1 -1
  167. package/dist/_chunks/{patient-search-X9SUZGpy.js → patient-search-BaUJ_Y-N.js} +47 -45
  168. package/dist/_chunks/patient-search-BaUJ_Y-N.js.map +1 -0
  169. package/dist/_chunks/{patient-summary-card--t3BjTdU.js → patient-summary-card-CQOLMH3E.js} +4 -4
  170. package/dist/_chunks/{patient-summary-card--t3BjTdU.js.map → patient-summary-card-CQOLMH3E.js.map} +1 -1
  171. package/dist/_chunks/{patient-table-BgWgNIMf.js → patient-table-B_mOe-ZT.js} +2 -2
  172. package/dist/_chunks/{patient-table-BgWgNIMf.js.map → patient-table-B_mOe-ZT.js.map} +1 -1
  173. package/dist/_chunks/{payment-request-card-2ts7ITxd.js → payment-request-card-C0fqlKqO.js} +25 -24
  174. package/dist/_chunks/{payment-request-card-2ts7ITxd.js.map → payment-request-card-C0fqlKqO.js.map} +1 -1
  175. package/dist/_chunks/pen-line-D0De5zdl.js +21 -0
  176. package/dist/_chunks/pen-line-D0De5zdl.js.map +1 -0
  177. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js → periodontal-chart-card-WVjJAheq.js} +2 -2
  178. package/dist/_chunks/{periodontal-chart-card-6c6Lt4ws.js.map → periodontal-chart-card-WVjJAheq.js.map} +1 -1
  179. package/dist/_chunks/{pl-BWNumNrg.js → pl-BdazJAOp.js} +3 -3
  180. package/dist/_chunks/{pl-BWNumNrg.js.map → pl-BdazJAOp.js.map} +1 -1
  181. package/dist/_chunks/{popover-uJ6BvEU3.js → popover-DGTKfLWh.js} +2 -2
  182. package/dist/_chunks/{popover-uJ6BvEU3.js.map → popover-DGTKfLWh.js.map} +1 -1
  183. package/dist/_chunks/{practice-results-CSEHTH2V.js → practice-results-BCr7jMt1.js} +5 -5
  184. package/dist/_chunks/{practice-results-CSEHTH2V.js.map → practice-results-BCr7jMt1.js.map} +1 -1
  185. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js → pregnancy-dating-IsDVfqJX.js} +6 -6
  186. package/dist/_chunks/{pregnancy-dating-CxVAA6_4.js.map → pregnancy-dating-IsDVfqJX.js.map} +1 -1
  187. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js → pregnancy-weight-gain-B-CkVYnU.js} +2 -2
  188. package/dist/_chunks/{pregnancy-weight-gain-C7zyrwow.js.map → pregnancy-weight-gain-B-CkVYnU.js.map} +1 -1
  189. package/dist/_chunks/{privacy-lock-DrRmK8C7.js → privacy-lock-YYBiI_bY.js} +3 -3
  190. package/dist/_chunks/{privacy-lock-DrRmK8C7.js.map → privacy-lock-YYBiI_bY.js.map} +1 -1
  191. package/dist/_chunks/{product-hub-panel-CaZqttvm.js → product-hub-panel-CTld1r5V.js} +3 -3
  192. package/dist/_chunks/{product-hub-panel-CaZqttvm.js.map → product-hub-panel-CTld1r5V.js.map} +1 -1
  193. package/dist/_chunks/{pt-zqdQuryr.js → pt-B3UKvhHp.js} +2 -2
  194. package/dist/_chunks/{pt-zqdQuryr.js.map → pt-B3UKvhHp.js.map} +1 -1
  195. package/dist/_chunks/{public-header.agent-C-opZaOw.js → public-header.agent-rX_VA6hd.js} +107 -103
  196. package/dist/_chunks/public-header.agent-rX_VA6hd.js.map +1 -0
  197. package/dist/_chunks/{radiograph-panel.agent-D1x33moc.js → radiograph-panel.agent-e488ooH8.js} +40 -57
  198. package/dist/_chunks/radiograph-panel.agent-e488ooH8.js.map +1 -0
  199. package/dist/_chunks/{reviews-panel-liUj6OPX.js → reviews-panel-DmOjvmyH.js} +4 -4
  200. package/dist/_chunks/{reviews-panel-liUj6OPX.js.map → reviews-panel-DmOjvmyH.js.map} +1 -1
  201. package/dist/_chunks/{rich-text-editor-DUgznqOf.js → rich-text-editor-CgA2bYwi.js} +186 -195
  202. package/dist/_chunks/rich-text-editor-CgA2bYwi.js.map +1 -0
  203. package/dist/_chunks/{ro-CornQr64.js → ro-DVTEQpPK.js} +2 -2
  204. package/dist/_chunks/{ro-CornQr64.js.map → ro-DVTEQpPK.js.map} +1 -1
  205. package/dist/_chunks/{ru-CKAXNYVD.js → ru-C-Mp40SC.js} +3 -3
  206. package/dist/_chunks/{ru-CKAXNYVD.js.map → ru-C-Mp40SC.js.map} +1 -1
  207. package/dist/_chunks/{session-countdown-qr8EO5QY.js → session-countdown-C8AsE072.js} +2 -2
  208. package/dist/_chunks/{session-countdown-qr8EO5QY.js.map → session-countdown-C8AsE072.js.map} +1 -1
  209. package/dist/_chunks/{sheet-B_X54aZo.js → sheet-D5K0LB3q.js} +2 -2
  210. package/dist/_chunks/{sheet-B_X54aZo.js.map → sheet-D5K0LB3q.js.map} +1 -1
  211. package/dist/_chunks/{sidebar-B0OBmJrC.js → sidebar-CtU35PIX.js} +70 -67
  212. package/dist/_chunks/sidebar-CtU35PIX.js.map +1 -0
  213. package/dist/_chunks/{sign-document-nK03S73h.js → sign-document-Bfk0WpWV.js} +2 -2
  214. package/dist/_chunks/{sign-document-nK03S73h.js.map → sign-document-Bfk0WpWV.js.map} +1 -1
  215. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js → sign-in-with-alfadocs-button-UlYefZpI.js} +2 -2
  216. package/dist/_chunks/{sign-in-with-alfadocs-button-LppxjlFt.js.map → sign-in-with-alfadocs-button-UlYefZpI.js.map} +1 -1
  217. package/dist/_chunks/{signature-capture-Ct_4Md4e.js → signature-capture-DN52VNKL.js} +206 -189
  218. package/dist/_chunks/signature-capture-DN52VNKL.js.map +1 -0
  219. package/dist/_chunks/{signature-field-jgwYgUhO.js → signature-field-0rFODJlW.js} +47 -41
  220. package/dist/_chunks/signature-field-0rFODJlW.js.map +1 -0
  221. package/dist/_chunks/{slot-grid-FsqumOaS.js → slot-grid-CQSULZjd.js} +4 -4
  222. package/dist/_chunks/{slot-grid-FsqumOaS.js.map → slot-grid-CQSULZjd.js.map} +1 -1
  223. package/dist/_chunks/{sq-CIIvqXZv.js → sq-DierVlw-.js} +2 -2
  224. package/dist/_chunks/{sq-CIIvqXZv.js.map → sq-DierVlw-.js.map} +1 -1
  225. package/dist/_chunks/{streaming-text-Cedc05ya.js → streaming-text-C5bYz7LL.js} +2 -2
  226. package/dist/_chunks/{streaming-text-Cedc05ya.js.map → streaming-text-C5bYz7LL.js.map} +1 -1
  227. package/dist/_chunks/subDays-DIKRViZm.js +8 -0
  228. package/dist/_chunks/{subDays-DGSOp9d9.js.map → subDays-DIKRViZm.js.map} +1 -1
  229. package/dist/_chunks/{sv-Kpk1pzjz.js → sv-gQWo_19z.js} +2 -2
  230. package/dist/_chunks/{sv-Kpk1pzjz.js.map → sv-gQWo_19z.js.map} +1 -1
  231. package/dist/_chunks/{task-tray-DP5A3Qnc.js → task-tray-Br3vc0O1.js} +3 -3
  232. package/dist/_chunks/{task-tray-DP5A3Qnc.js.map → task-tray-Br3vc0O1.js.map} +1 -1
  233. package/dist/_chunks/{tasks-panel-BuxaYtEF.js → tasks-panel-LCK5ZXvU.js} +5 -5
  234. package/dist/_chunks/{tasks-panel-BuxaYtEF.js.map → tasks-panel-LCK5ZXvU.js.map} +1 -1
  235. package/dist/_chunks/{theme-toggle-dtdy5EaL.js → theme-toggle-BJCz_UOi.js} +3 -3
  236. package/dist/_chunks/{theme-toggle-dtdy5EaL.js.map → theme-toggle-BJCz_UOi.js.map} +1 -1
  237. package/dist/_chunks/{toast.agent-BSxl057x.js → toast.agent-uV8CeAy6.js} +2 -2
  238. package/dist/_chunks/{toast.agent-BSxl057x.js.map → toast.agent-uV8CeAy6.js.map} +1 -1
  239. package/dist/_chunks/{token-insert-menu-Pok4nExI.js → token-insert-menu-BYv6yoZI.js} +2 -2
  240. package/dist/_chunks/{token-insert-menu-Pok4nExI.js.map → token-insert-menu-BYv6yoZI.js.map} +1 -1
  241. package/dist/_chunks/{tool-rail-BZx0-yIr.js → tool-rail-AaTqxkIM.js} +2 -2
  242. package/dist/_chunks/{tool-rail-BZx0-yIr.js.map → tool-rail-AaTqxkIM.js.map} +1 -1
  243. package/dist/_chunks/{tooth-scheme-D_rso4uu.js → tooth-scheme-CX49GycY.js} +3 -3
  244. package/dist/_chunks/{tooth-scheme-D_rso4uu.js.map → tooth-scheme-CX49GycY.js.map} +1 -1
  245. package/dist/_chunks/{tr-DHaeLFxG.js → tr-Btm6M3Km.js} +2 -2
  246. package/dist/_chunks/{tr-DHaeLFxG.js.map → tr-Btm6M3Km.js.map} +1 -1
  247. package/dist/_chunks/{transaction-chip-B6iWoVmU.js → transaction-chip-DJCstquX.js} +41 -51
  248. package/dist/_chunks/transaction-chip-DJCstquX.js.map +1 -0
  249. package/dist/_chunks/type-ggmfVs23.js +16 -0
  250. package/dist/_chunks/type-ggmfVs23.js.map +1 -0
  251. package/dist/_chunks/{unit-converter-fEqluT8b.js → unit-converter-3uL_tMCm.js} +2 -2
  252. package/dist/_chunks/{unit-converter-fEqluT8b.js.map → unit-converter-3uL_tMCm.js.map} +1 -1
  253. package/dist/_chunks/upload-BfT2hzMg.js +16 -0
  254. package/dist/_chunks/upload-BfT2hzMg.js.map +1 -0
  255. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js +101 -0
  256. package/dist/_chunks/use-priority-overflow-c9SjxZkZ.js.map +1 -0
  257. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js +31 -0
  258. package/dist/_chunks/use-visual-viewport-pin-ChurOsHM.js.map +1 -0
  259. package/dist/_chunks/{warning-stack-BaMI7-n7.js → warning-stack-BlG_Ujy3.js} +3 -3
  260. package/dist/_chunks/{warning-stack-BaMI7-n7.js.map → warning-stack-BlG_Ujy3.js.map} +1 -1
  261. package/dist/_chunks/{workflow-map-qWsgCldq.js → workflow-map-C643Q43h.js} +5 -5
  262. package/dist/_chunks/{workflow-map-qWsgCldq.js.map → workflow-map-C643Q43h.js.map} +1 -1
  263. package/dist/_chunks/{zh-CN-BncsTBwM.js → zh-CN-DkVN4vsB.js} +3 -3
  264. package/dist/_chunks/{zh-CN-BncsTBwM.js.map → zh-CN-DkVN4vsB.js.map} +1 -1
  265. package/dist/agent-catalog.json +845 -1034
  266. package/dist/agent-i18n/en.json +42 -69
  267. package/dist/brand/product-lockup/product-lockup.d.ts +1 -1
  268. package/dist/components/_shared/calendar-class-names.d.ts.map +1 -1
  269. package/dist/components/agenda-tray/index.js +1 -1
  270. package/dist/components/ai-consent-banner/index.js +1 -1
  271. package/dist/components/ai-prompt-input/index.js +1 -1
  272. package/dist/components/anamnesis-card/index.js +1 -1
  273. package/dist/components/appointment-card/index.js +2 -2
  274. package/dist/components/appointment-timeline/index.js +1 -1
  275. package/dist/components/audio-recorder/index.js +1 -1
  276. package/dist/components/benefit-card/benefit-card.d.ts.map +1 -1
  277. package/dist/components/benefit-card/index.js +1 -1
  278. package/dist/components/bishop-score/index.js +1 -1
  279. package/dist/components/bmi-calculator/index.js +1 -1
  280. package/dist/components/booking/index.js +1 -1
  281. package/dist/components/button/button.d.ts +8 -1
  282. package/dist/components/button/button.d.ts.map +1 -1
  283. package/dist/components/button/index.js +2 -2
  284. package/dist/components/button-group/button-group.d.ts +16 -0
  285. package/dist/components/button-group/button-group.d.ts.map +1 -1
  286. package/dist/components/button-group/index.js +1 -1
  287. package/dist/components/care-plan-card/index.js +1 -1
  288. package/dist/components/care-plan-entry-card/index.js +1 -1
  289. package/dist/components/care-plan-header/index.js +1 -1
  290. package/dist/components/carousel/index.js +1 -1
  291. package/dist/components/chat-container/chat-container.d.ts.map +1 -1
  292. package/dist/components/chat-container/index.js +1 -1
  293. package/dist/components/chat-input/index.js +1 -1
  294. package/dist/components/chat-message/index.js +1 -1
  295. package/dist/components/connection-status/index.js +1 -1
  296. package/dist/components/contact-profile-card/index.js +1 -1
  297. package/dist/components/control-room-rail/index.js +1 -1
  298. package/dist/components/copy-field/index.js +1 -1
  299. package/dist/components/counter/counter.d.ts +1 -1
  300. package/dist/components/cycle-calculator/index.js +1 -1
  301. package/dist/components/data-table/data-table.d.ts +2 -8
  302. package/dist/components/data-table/data-table.d.ts.map +1 -1
  303. package/dist/components/data-table/index.js +2 -2
  304. package/dist/components/data-table/toolbar.d.ts +4 -10
  305. package/dist/components/data-table/toolbar.d.ts.map +1 -1
  306. package/dist/components/date-picker/index.js +1 -1
  307. package/dist/components/date-range-picker/index.js +1 -1
  308. package/dist/components/date-time-picker/index.js +1 -1
  309. package/dist/components/description-list/index.js +1 -1
  310. package/dist/components/document-scanner/document-scanner.d.ts.map +1 -1
  311. package/dist/components/document-scanner/index.js +1 -1
  312. package/dist/components/due-date-calculator/index.js +2 -2
  313. package/dist/components/editor-overlay/index.js +1 -1
  314. package/dist/components/empty-state/index.js +1 -1
  315. package/dist/components/entity-summary/index.js +1 -1
  316. package/dist/components/face-scheme/face-scheme-data.d.ts +167 -0
  317. package/dist/components/face-scheme/face-scheme-data.d.ts.map +1 -1
  318. package/dist/components/face-scheme/face-scheme.agent.d.ts.map +1 -1
  319. package/dist/components/face-scheme/face-scheme.d.ts +112 -2
  320. package/dist/components/face-scheme/face-scheme.d.ts.map +1 -1
  321. package/dist/components/face-scheme/index.d.ts +2 -2
  322. package/dist/components/face-scheme/index.d.ts.map +1 -1
  323. package/dist/components/face-scheme/index.js +25 -14
  324. package/dist/components/fetal-weight/index.js +1 -1
  325. package/dist/components/field-array/index.js +1 -1
  326. package/dist/components/file-upload/file-upload.d.ts +1 -0
  327. package/dist/components/file-upload/file-upload.d.ts.map +1 -1
  328. package/dist/components/file-upload/index.d.ts +1 -1
  329. package/dist/components/file-upload/index.d.ts.map +1 -1
  330. package/dist/components/file-upload/index.js +4 -3
  331. package/dist/components/finished-terminal/finished-terminal.d.ts.map +1 -1
  332. package/dist/components/finished-terminal/index.js +1 -1
  333. package/dist/components/fiscal-code-input/index.js +1 -1
  334. package/dist/components/flag/flag.d.ts +1 -1
  335. package/dist/components/freemium-paywall/freemium-paywall.d.ts.map +1 -1
  336. package/dist/components/freemium-paywall/index.js +1 -1
  337. package/dist/components/gestational-age-calculator/index.js +1 -1
  338. package/dist/components/hcg-doubling/index.js +1 -1
  339. package/dist/components/header/header.d.ts.map +1 -1
  340. package/dist/components/header/index.js +1 -1
  341. package/dist/components/header-settings/index.js +1 -1
  342. package/dist/components/icon-button/index.js +1 -1
  343. package/dist/components/icon-button-group/icon-button-group.d.ts +6 -0
  344. package/dist/components/icon-button-group/icon-button-group.d.ts.map +1 -1
  345. package/dist/components/icon-button-group/index.js +1 -1
  346. package/dist/components/icon-picker/index.js +1 -1
  347. package/dist/components/image-cropper/index.js +1 -1
  348. package/dist/components/index.d.ts +0 -1
  349. package/dist/components/index.d.ts.map +1 -1
  350. package/dist/components/key-value-pair/index.js +1 -1
  351. package/dist/components/link/link.d.ts +1 -1
  352. package/dist/components/locale-picker/index.js +1 -1
  353. package/dist/components/map-view/index.js +1 -1
  354. package/dist/components/matrix-rain/matrix-rain.d.ts +1 -1
  355. package/dist/components/message-card/index.js +1 -1
  356. package/dist/components/message-tray/index.js +1 -1
  357. package/dist/components/notes-panel/index.js +1 -1
  358. package/dist/components/notification-card/index.js +1 -1
  359. package/dist/components/notification-tray/index.js +1 -1
  360. package/dist/components/optical-prescription/index.d.ts +4 -2
  361. package/dist/components/optical-prescription/index.d.ts.map +1 -1
  362. package/dist/components/optical-prescription/index.js +29 -26
  363. package/dist/components/optical-prescription/optical-prescription-charts.d.ts +78 -0
  364. package/dist/components/optical-prescription/optical-prescription-charts.d.ts.map +1 -0
  365. package/dist/components/optical-prescription/optical-prescription-data.d.ts +29 -0
  366. package/dist/components/optical-prescription/optical-prescription-data.d.ts.map +1 -1
  367. package/dist/components/optical-prescription/optical-prescription.agent.d.ts.map +1 -1
  368. package/dist/components/optical-prescription/optical-prescription.d.ts +9 -0
  369. package/dist/components/optical-prescription/optical-prescription.d.ts.map +1 -1
  370. package/dist/components/patient-details/index.js +1 -1
  371. package/dist/components/patient-search/index.js +1 -1
  372. package/dist/components/patient-search/patient-search.d.ts.map +1 -1
  373. package/dist/components/patient-summary-card/index.js +1 -1
  374. package/dist/components/patient-table/index.js +1 -1
  375. package/dist/components/payment-card/index.js +1 -1
  376. package/dist/components/periodontal-chart-card/index.js +1 -1
  377. package/dist/components/popover/index.js +1 -1
  378. package/dist/components/practice-results/index.js +1 -1
  379. package/dist/components/pregnancy-dating/index.js +1 -1
  380. package/dist/components/pregnancy-weight-gain/index.js +1 -1
  381. package/dist/components/privacy-lock/index.js +1 -1
  382. package/dist/components/product-hub-tray/index.js +1 -1
  383. package/dist/components/public-header/index.js +1 -1
  384. package/dist/components/public-header/public-header.d.ts +1 -1
  385. package/dist/components/public-header/public-header.d.ts.map +1 -1
  386. package/dist/components/radiograph-panel/index.js +1 -1
  387. package/dist/components/radiograph-panel/radiograph-panel.d.ts +2 -2
  388. package/dist/components/radiograph-panel/radiograph-panel.d.ts.map +1 -1
  389. package/dist/components/reviews-panel/index.js +1 -1
  390. package/dist/components/rich-text-editor/index.js +1 -1
  391. package/dist/components/session-countdown/index.js +1 -1
  392. package/dist/components/sheet/index.js +1 -1
  393. package/dist/components/sidebar/index.js +1 -1
  394. package/dist/components/sidebar/sidebar.d.ts.map +1 -1
  395. package/dist/components/sign-document/index.js +1 -1
  396. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  397. package/dist/components/signature-capture/index.js +1 -1
  398. package/dist/components/signature-capture/signature-capture.d.ts.map +1 -1
  399. package/dist/components/signature-field/index.js +1 -1
  400. package/dist/components/signature-field/signature-field.d.ts +7 -0
  401. package/dist/components/signature-field/signature-field.d.ts.map +1 -1
  402. package/dist/components/skeleton-scheme/index.js +1194 -0
  403. package/dist/components/skeleton-scheme/index.js.map +1 -0
  404. package/dist/components/slot-grid/index.js +1 -1
  405. package/dist/components/streaming-text/index.js +1 -1
  406. package/dist/components/task-tray/index.js +1 -1
  407. package/dist/components/tasks-panel/index.js +1 -1
  408. package/dist/components/theme-toggle/index.js +1 -1
  409. package/dist/components/toast/index.js +1 -1
  410. package/dist/components/token-insert-menu/index.js +1 -1
  411. package/dist/components/tool-rail/index.js +1 -1
  412. package/dist/components/tooth-scheme/index.js +1 -1
  413. package/dist/components/transaction-chip/index.js +1 -1
  414. package/dist/components/unit-converter/index.js +1 -1
  415. package/dist/components/warning-stack/index.js +1 -1
  416. package/dist/components/workflow/index.js +1 -1
  417. package/dist/hooks/index.d.ts +2 -0
  418. package/dist/hooks/index.d.ts.map +1 -1
  419. package/dist/hooks/index.js +40 -35
  420. package/dist/hooks/index.js.map +1 -1
  421. package/dist/hooks/use-priority-overflow.d.ts +63 -0
  422. package/dist/hooks/use-priority-overflow.d.ts.map +1 -0
  423. package/dist/hooks/use-visual-viewport-pin.d.ts +32 -0
  424. package/dist/hooks/use-visual-viewport-pin.d.ts.map +1 -0
  425. package/dist/i18n/locales/ar.d.ts +170 -9
  426. package/dist/i18n/locales/ar.d.ts.map +1 -1
  427. package/dist/i18n/locales/ar.js +173 -12
  428. package/dist/i18n/locales/ar.js.map +1 -1
  429. package/dist/i18n/locales/de.d.ts +170 -9
  430. package/dist/i18n/locales/de.d.ts.map +1 -1
  431. package/dist/i18n/locales/de.js +173 -12
  432. package/dist/i18n/locales/de.js.map +1 -1
  433. package/dist/i18n/locales/el.d.ts +170 -9
  434. package/dist/i18n/locales/el.d.ts.map +1 -1
  435. package/dist/i18n/locales/el.js +173 -12
  436. package/dist/i18n/locales/el.js.map +1 -1
  437. package/dist/i18n/locales/en.d.ts +170 -9
  438. package/dist/i18n/locales/en.d.ts.map +1 -1
  439. package/dist/i18n/locales/en.js +173 -12
  440. package/dist/i18n/locales/en.js.map +1 -1
  441. package/dist/i18n/locales/es.d.ts +170 -9
  442. package/dist/i18n/locales/es.d.ts.map +1 -1
  443. package/dist/i18n/locales/es.js +173 -12
  444. package/dist/i18n/locales/es.js.map +1 -1
  445. package/dist/i18n/locales/fr.d.ts +170 -9
  446. package/dist/i18n/locales/fr.d.ts.map +1 -1
  447. package/dist/i18n/locales/fr.js +173 -12
  448. package/dist/i18n/locales/fr.js.map +1 -1
  449. package/dist/i18n/locales/hi.d.ts +170 -9
  450. package/dist/i18n/locales/hi.d.ts.map +1 -1
  451. package/dist/i18n/locales/hi.js +173 -12
  452. package/dist/i18n/locales/hi.js.map +1 -1
  453. package/dist/i18n/locales/it.d.ts +170 -9
  454. package/dist/i18n/locales/it.d.ts.map +1 -1
  455. package/dist/i18n/locales/it.js +173 -12
  456. package/dist/i18n/locales/it.js.map +1 -1
  457. package/dist/i18n/locales/ja.d.ts +170 -9
  458. package/dist/i18n/locales/ja.d.ts.map +1 -1
  459. package/dist/i18n/locales/ja.js +173 -12
  460. package/dist/i18n/locales/ja.js.map +1 -1
  461. package/dist/i18n/locales/nl.d.ts +170 -9
  462. package/dist/i18n/locales/nl.d.ts.map +1 -1
  463. package/dist/i18n/locales/nl.js +173 -12
  464. package/dist/i18n/locales/nl.js.map +1 -1
  465. package/dist/i18n/locales/pl.d.ts +170 -9
  466. package/dist/i18n/locales/pl.d.ts.map +1 -1
  467. package/dist/i18n/locales/pl.js +173 -12
  468. package/dist/i18n/locales/pl.js.map +1 -1
  469. package/dist/i18n/locales/pt.d.ts +170 -9
  470. package/dist/i18n/locales/pt.d.ts.map +1 -1
  471. package/dist/i18n/locales/pt.js +173 -12
  472. package/dist/i18n/locales/pt.js.map +1 -1
  473. package/dist/i18n/locales/ro.d.ts +170 -9
  474. package/dist/i18n/locales/ro.d.ts.map +1 -1
  475. package/dist/i18n/locales/ro.js +173 -12
  476. package/dist/i18n/locales/ro.js.map +1 -1
  477. package/dist/i18n/locales/ru.d.ts +170 -9
  478. package/dist/i18n/locales/ru.d.ts.map +1 -1
  479. package/dist/i18n/locales/ru.js +173 -12
  480. package/dist/i18n/locales/ru.js.map +1 -1
  481. package/dist/i18n/locales/sq.d.ts +170 -9
  482. package/dist/i18n/locales/sq.d.ts.map +1 -1
  483. package/dist/i18n/locales/sq.js +173 -12
  484. package/dist/i18n/locales/sq.js.map +1 -1
  485. package/dist/i18n/locales/sv.d.ts +170 -9
  486. package/dist/i18n/locales/sv.d.ts.map +1 -1
  487. package/dist/i18n/locales/sv.js +173 -12
  488. package/dist/i18n/locales/sv.js.map +1 -1
  489. package/dist/i18n/locales/tr.d.ts +170 -9
  490. package/dist/i18n/locales/tr.d.ts.map +1 -1
  491. package/dist/i18n/locales/tr.js +173 -12
  492. package/dist/i18n/locales/tr.js.map +1 -1
  493. package/dist/i18n/locales/zh.d.ts +170 -9
  494. package/dist/i18n/locales/zh.d.ts.map +1 -1
  495. package/dist/i18n/locales/zh.js +173 -12
  496. package/dist/i18n/locales/zh.js.map +1 -1
  497. package/dist/index.js +774 -761
  498. package/dist/index.js.map +1 -1
  499. package/dist/locales/ar.json +173 -12
  500. package/dist/locales/de.json +173 -12
  501. package/dist/locales/el.json +173 -12
  502. package/dist/locales/en.json +173 -12
  503. package/dist/locales/es.json +173 -12
  504. package/dist/locales/fr.json +173 -12
  505. package/dist/locales/hi.json +173 -12
  506. package/dist/locales/it.json +173 -12
  507. package/dist/locales/ja.json +173 -12
  508. package/dist/locales/nl.json +173 -12
  509. package/dist/locales/pl.json +173 -12
  510. package/dist/locales/pt.json +173 -12
  511. package/dist/locales/ro.json +173 -12
  512. package/dist/locales/ru.json +173 -12
  513. package/dist/locales/sq.json +173 -12
  514. package/dist/locales/sv.json +173 -12
  515. package/dist/locales/tr.json +173 -12
  516. package/dist/locales/zh.json +173 -12
  517. package/dist/patterns/alia-assistant/index.js +1 -1
  518. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  519. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +1 -1
  520. package/dist/tokens.css +2 -2
  521. package/package.json +5 -5
  522. package/dist/_chunks/benefit-card-Xnxj4Gmo.js.map +0 -1
  523. package/dist/_chunks/button-DD_0Xdmr.js.map +0 -1
  524. package/dist/_chunks/button-group-CvEnVzY7.js +0 -119
  525. package/dist/_chunks/button-group-CvEnVzY7.js.map +0 -1
  526. package/dist/_chunks/document-scanner-B23j4w7X.js.map +0 -1
  527. package/dist/_chunks/face-scheme-BT9_KdL0.js +0 -1450
  528. package/dist/_chunks/face-scheme-BT9_KdL0.js.map +0 -1
  529. package/dist/_chunks/file-upload-Kw1rdvFw.js.map +0 -1
  530. package/dist/_chunks/finished-terminal-Di4gtZ50.js.map +0 -1
  531. package/dist/_chunks/freemium-paywall-DFoeedwh.js.map +0 -1
  532. package/dist/_chunks/header-DaXWDw0M.js.map +0 -1
  533. package/dist/_chunks/icon-button-group-C48khLE0.js +0 -206
  534. package/dist/_chunks/icon-button-group-C48khLE0.js.map +0 -1
  535. package/dist/_chunks/insert-result-C7xSDb8q.js.map +0 -1
  536. package/dist/_chunks/link-cell-renderer-BCppbMec.js.map +0 -1
  537. package/dist/_chunks/marketplace-app-shell-BCYiOvKZ.js.map +0 -1
  538. package/dist/_chunks/optical-prescription-Bmlbuopi.js +0 -653
  539. package/dist/_chunks/optical-prescription-Bmlbuopi.js.map +0 -1
  540. package/dist/_chunks/patient-search-X9SUZGpy.js.map +0 -1
  541. package/dist/_chunks/patient-shell-oiIRqEAl.js +0 -162
  542. package/dist/_chunks/patient-shell-oiIRqEAl.js.map +0 -1
  543. package/dist/_chunks/public-header.agent-C-opZaOw.js.map +0 -1
  544. package/dist/_chunks/radiograph-panel.agent-D1x33moc.js.map +0 -1
  545. package/dist/_chunks/rich-text-editor-DUgznqOf.js.map +0 -1
  546. package/dist/_chunks/sidebar-B0OBmJrC.js.map +0 -1
  547. package/dist/_chunks/signature-capture-Ct_4Md4e.js.map +0 -1
  548. package/dist/_chunks/signature-field-jgwYgUhO.js.map +0 -1
  549. package/dist/_chunks/subDays-DGSOp9d9.js +0 -8
  550. package/dist/_chunks/transaction-chip-B6iWoVmU.js.map +0 -1
  551. package/dist/patterns/patient-shell/index.d.ts +0 -12
  552. package/dist/patterns/patient-shell/index.d.ts.map +0 -1
  553. package/dist/patterns/patient-shell/index.js +0 -5
  554. package/dist/patterns/patient-shell/index.js.map +0 -1
  555. package/dist/patterns/patient-shell/patient-shell.d.ts +0 -62
  556. package/dist/patterns/patient-shell/patient-shell.d.ts.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.72.2",
3
+ "packageVersion": "0.73.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -3706,6 +3706,12 @@
3706
3706
  "description": "Id of the currently displayed view (front / profile-left / profile-right).",
3707
3707
  "descriptionKey": "ui.agent.faceScheme.state.activeView"
3708
3708
  },
3709
+ {
3710
+ "name": "zoom",
3711
+ "type": "number",
3712
+ "description": "Current figure zoom factor (1 = the base framing; up to 8). Only meaningful when the surface enables `zoomable`.",
3713
+ "descriptionKey": "ui.agent.faceScheme.state.zoom"
3714
+ },
3709
3715
  {
3710
3716
  "name": "chart",
3711
3717
  "type": "Record<string, string[]>",
@@ -3717,6 +3723,36 @@
3717
3723
  "type": "string[]",
3718
3724
  "description": "Zone ids carrying at least one finding.",
3719
3725
  "descriptionKey": "ui.agent.faceScheme.state.markedZones"
3726
+ },
3727
+ {
3728
+ "name": "activeTool",
3729
+ "type": "string | null",
3730
+ "description": "The active free-form drawing tool (marker / pen / highlighter / arrow / line / rect / ellipse / text), or null when none is selected.",
3731
+ "descriptionKey": "ui.agent.faceScheme.state.activeTool"
3732
+ },
3733
+ {
3734
+ "name": "annotationCounts",
3735
+ "type": "Record<string, number>",
3736
+ "description": "Count of free-form annotations on the active view, keyed by kind (marker / pen / highlighter / arrow / line / rect / ellipse / text). Never includes coordinates or the free-text of a text callout.",
3737
+ "descriptionKey": "ui.agent.faceScheme.state.annotationCounts"
3738
+ },
3739
+ {
3740
+ "name": "selectedAnnotation",
3741
+ "type": "{ id: string; kind: string } | null",
3742
+ "description": "The selected free-form annotation on the active view (id + kind), or null when nothing is selected. Never includes coordinates or the free-text of a text callout.",
3743
+ "descriptionKey": "ui.agent.faceScheme.state.selectedAnnotation"
3744
+ },
3745
+ {
3746
+ "name": "selectedZones",
3747
+ "type": "string[]",
3748
+ "description": "Zone ids in the multi-selection (zoneSelect=\"multi\") — the set a bulk finding apply targets. Empty when the mode is off or nothing is selected.",
3749
+ "descriptionKey": "ui.agent.faceScheme.state.selectedZones"
3750
+ },
3751
+ {
3752
+ "name": "annotationZones",
3753
+ "type": "Record<string, number>",
3754
+ "description": "Count of free-form annotations on the active view keyed by their linked zone id ('unassigned' = outside every zone or not yet assessed). Counts only — never coordinates or text.",
3755
+ "descriptionKey": "ui.agent.faceScheme.state.annotationZones"
3720
3756
  }
3721
3757
  ],
3722
3758
  "actions": [
@@ -3921,6 +3957,192 @@
3921
3957
  "idempotent": true,
3922
3958
  "description": "Switch the active view ('front' / 'profile-left' / 'profile-right'). Each view renders a different zone set, so switch before focusing a zone that belongs to another view.",
3923
3959
  "descriptionKey": "ui.agent.faceScheme.actions.setView"
3960
+ },
3961
+ {
3962
+ "name": "set_zoom",
3963
+ "safety": "write",
3964
+ "argsType": "{ factor: number }",
3965
+ "argsSchema": {
3966
+ "type": "object",
3967
+ "properties": {
3968
+ "factor": {
3969
+ "type": "number",
3970
+ "minimum": 1,
3971
+ "maximum": 8
3972
+ }
3973
+ },
3974
+ "required": [
3975
+ "factor"
3976
+ ]
3977
+ },
3978
+ "idempotent": true,
3979
+ "description": "Set the figure zoom factor (1 = reset to the base framing, clamped to 1–8), anchored on the window centre. No-op unless the surface enables `zoomable`.",
3980
+ "descriptionKey": "ui.agent.faceScheme.actions.setZoom"
3981
+ },
3982
+ {
3983
+ "name": "set_tool",
3984
+ "safety": "write",
3985
+ "argsType": "{ tool: FaceAnnotationTool | 'none' }",
3986
+ "argsSchema": {
3987
+ "type": "object",
3988
+ "properties": {
3989
+ "tool": {
3990
+ "type": "string",
3991
+ "enum": [
3992
+ "none",
3993
+ "marker",
3994
+ "pen",
3995
+ "highlighter",
3996
+ "arrow",
3997
+ "line",
3998
+ "rect",
3999
+ "ellipse",
4000
+ "text"
4001
+ ],
4002
+ "description": "Drawing tool: 'none' (off), 'marker', 'pen', 'highlighter', 'arrow', 'line', 'rect', 'ellipse', or 'text'."
4003
+ }
4004
+ },
4005
+ "required": [
4006
+ "tool"
4007
+ ]
4008
+ },
4009
+ "idempotent": true,
4010
+ "description": "Select the active free-form drawing tool ('none' turns drawing off; pointer then falls through to zone selection).",
4011
+ "descriptionKey": "ui.agent.faceScheme.actions.setTool"
4012
+ },
4013
+ {
4014
+ "name": "undo_annotation",
4015
+ "safety": "write",
4016
+ "argsType": "{}",
4017
+ "argsSchema": {
4018
+ "type": "object",
4019
+ "properties": {}
4020
+ },
4021
+ "description": "Remove the most-recently-added free-form annotation from the active view.",
4022
+ "descriptionKey": "ui.agent.faceScheme.actions.undoAnnotation"
4023
+ },
4024
+ {
4025
+ "name": "select_annotation",
4026
+ "safety": "read",
4027
+ "argsType": "{ id: string | null }",
4028
+ "argsSchema": {
4029
+ "type": "object",
4030
+ "properties": {
4031
+ "id": {
4032
+ "type": [
4033
+ "string",
4034
+ "null"
4035
+ ],
4036
+ "description": "Annotation id on the active view (null clears the selection). Unknown ids are ignored."
4037
+ }
4038
+ },
4039
+ "required": [
4040
+ "id"
4041
+ ]
4042
+ },
4043
+ "idempotent": true,
4044
+ "description": "Select a free-form annotation on the active view by id (null clears). Selection reveals the mark and enables its panel affordances (delete / recolour).",
4045
+ "descriptionKey": "ui.agent.faceScheme.actions.selectAnnotation"
4046
+ },
4047
+ {
4048
+ "name": "set_annotation_zone",
4049
+ "safety": "write",
4050
+ "argsType": "{ id: string; zone: string | null }",
4051
+ "argsSchema": {
4052
+ "type": "object",
4053
+ "properties": {
4054
+ "id": {
4055
+ "type": "string",
4056
+ "description": "Annotation id on the active view."
4057
+ },
4058
+ "zone": {
4059
+ "type": [
4060
+ "string",
4061
+ "null"
4062
+ ],
4063
+ "description": "Zone id to link, or null to unlink ('no zone')."
4064
+ }
4065
+ },
4066
+ "required": [
4067
+ "id",
4068
+ "zone"
4069
+ ]
4070
+ },
4071
+ "idempotent": true,
4072
+ "description": "Link a free-form annotation to a face zone by id (null unlinks it). Unknown annotation ids are ignored. New drawings are auto-linked to the zone under them; this re-assigns marks drawn outside every zone.",
4073
+ "descriptionKey": "ui.agent.faceScheme.actions.setAnnotationZone"
4074
+ },
4075
+ {
4076
+ "name": "select_zones",
4077
+ "safety": "read",
4078
+ "argsType": "{ ids: string[] }",
4079
+ "argsSchema": {
4080
+ "type": "object",
4081
+ "properties": {
4082
+ "ids": {
4083
+ "type": "array",
4084
+ "items": {
4085
+ "type": "string",
4086
+ "description": "Face-zone id (e.g. 'glabella', 'nasolabialFold', 'forehead', 'mandibularAngleLeft' on the front view; 'cheekbone', 'masseter', 'chin' on a profile view)."
4087
+ },
4088
+ "description": "Zone ids to select (replaces the current selection; [] clears)."
4089
+ }
4090
+ },
4091
+ "required": [
4092
+ "ids"
4093
+ ]
4094
+ },
4095
+ "idempotent": true,
4096
+ "description": "Replace the zone multi-selection (zoneSelect=\"multi\"). Selection is UI state only — pair with set_finding_bulk to record a finding on the selected zones, or pass ids straight to set_finding_bulk instead.",
4097
+ "descriptionKey": "ui.agent.faceScheme.actions.selectZones"
4098
+ },
4099
+ {
4100
+ "name": "set_finding_bulk",
4101
+ "safety": "write",
4102
+ "argsType": "{ ids: string[]; finding: FaceFindingType; note?: string }",
4103
+ "argsSchema": {
4104
+ "type": "object",
4105
+ "properties": {
4106
+ "ids": {
4107
+ "type": "array",
4108
+ "items": {
4109
+ "type": "string",
4110
+ "description": "Face-zone id (e.g. 'glabella', 'nasolabialFold', 'forehead', 'mandibularAngleLeft' on the front view; 'cheekbone', 'masseter', 'chin' on a profile view)."
4111
+ },
4112
+ "description": "Zone ids to record the finding on."
4113
+ },
4114
+ "finding": {
4115
+ "enum": [
4116
+ "observation",
4117
+ "treatment",
4118
+ "concern",
4119
+ "note"
4120
+ ]
4121
+ },
4122
+ "note": {
4123
+ "type": "string"
4124
+ }
4125
+ },
4126
+ "required": [
4127
+ "ids",
4128
+ "finding"
4129
+ ]
4130
+ },
4131
+ "idempotent": true,
4132
+ "description": "Record one finding on several zones in a single chart commit (the multi-zone diagnosis path). Zones already carrying the finding are left as they are; the optional note lands only where the finding is newly added.",
4133
+ "descriptionKey": "ui.agent.faceScheme.actions.setFindingBulk"
4134
+ },
4135
+ {
4136
+ "name": "clear_annotations",
4137
+ "safety": "destructive",
4138
+ "argsType": "{}",
4139
+ "argsSchema": {
4140
+ "type": "object",
4141
+ "properties": {}
4142
+ },
4143
+ "idempotent": true,
4144
+ "description": "Clear every free-form annotation from the active view. Zone findings are untouched.",
4145
+ "descriptionKey": "ui.agent.faceScheme.actions.clearAnnotations"
3924
4146
  }
3925
4147
  ],
3926
4148
  "domHooks": {
@@ -3935,7 +4157,7 @@
3935
4157
  },
3936
4158
  "item": {
3937
4159
  "attr": "data-zone",
3938
- "description": "Each clickable zone `<g>` carries its zone id as `data-zone` (plus `data-side` for the anatomical side). The root `<div>` carries the active view id as `data-view` — only the zones for the active view are in the DOM."
4160
+ "description": "Each clickable zone `<g>` carries its zone id as `data-zone` (plus `data-side` for the anatomical side, and `data-zone-selected=\"true\"` while in the multi-selection). Each free-form annotation `<g>` carries `data-annotation` (its id), `data-annotation-kind`, `data-annotation-zone` (its linked zone id, when linked), and `data-selected=\"true\"` while selected. The root `<div>` carries the active view id as `data-view` — only the zones for the active view are in the DOM."
3939
4161
  }
3940
4162
  }
3941
4163
  },
@@ -6297,6 +6519,14 @@
6297
6519
  "type": "number",
6298
6520
  "description": "Interpupillary distance, mm."
6299
6521
  },
6522
+ "pdRight": {
6523
+ "type": "number",
6524
+ "description": "Monocular PD, nose centre → OD pupil, mm."
6525
+ },
6526
+ "pdLeft": {
6527
+ "type": "number",
6528
+ "description": "Monocular PD, nose centre → OS pupil, mm."
6529
+ },
6300
6530
  "lensType": {
6301
6531
  "enum": [
6302
6532
  "single-vision",
@@ -6365,7 +6595,7 @@
6365
6595
  },
6366
6596
  "item": {
6367
6597
  "attr": "data-eye",
6368
- "description": "Each refraction row carries its eye (`od` / `os`) as `data-eye` and its distance band as `data-band`; each editable cell carries the column key as `data-field`. The root `data-mode` attribute exposes interactive vs display."
6598
+ "description": "Each refraction row carries its eye (`od` / `os`) as `data-eye` and its distance band as `data-band`; each editable cell carries the column key as `data-field`. The root `data-mode` attribute exposes interactive vs display. Standard chart figures carry `data-chart` (`tabo` / `powerCross` / `pd` / `prismBase`) plus `data-eye` on the per-eye ones."
6369
6599
  }
6370
6600
  }
6371
6601
  },
@@ -8940,80 +9170,321 @@
8940
9170
  },
8941
9171
  {
8942
9172
  "kind": "component",
8943
- "id": "skip-link",
8944
- "capabilities": [
8945
- "navigate"
8946
- ],
8947
- "state": [],
8948
- "actions": [],
8949
- "domHooks": {
8950
- "root": {
8951
- "attr": "data-component",
8952
- "value": "skip-link",
8953
- "description": "Marks the SkipLink anchor. Destination is the native `href` attribute."
8954
- }
8955
- }
8956
- },
8957
- {
8958
- "kind": "component",
8959
- "id": "slider",
9173
+ "id": "skeleton-scheme",
8960
9174
  "capabilities": [
9175
+ "pick",
8961
9176
  "set_value",
8962
- "range_pick"
9177
+ "edit_inline",
9178
+ "view_change"
8963
9179
  ],
8964
9180
  "state": [
8965
9181
  {
8966
- "name": "value",
8967
- "type": "number[]",
8968
- "description": "Current thumb values; length 1 for a single slider, length 2 for a range.",
8969
- "descriptionKey": "ui.agent.slider.state.value"
9182
+ "name": "chart",
9183
+ "type": "object",
9184
+ "description": "Current skeletal chart findings keyed by bone region id. Notes are PHI and omitted from this snapshot; read them per-region via get_region.",
9185
+ "descriptionKey": "ui.agent.skeletonScheme.state.chart"
9186
+ },
9187
+ {
9188
+ "name": "activeView",
9189
+ "type": "string",
9190
+ "description": "Id of the currently displayed skeletal view.",
9191
+ "descriptionKey": "ui.agent.skeletonScheme.state.activeView"
8970
9192
  }
8971
9193
  ],
8972
9194
  "actions": [
8973
9195
  {
8974
- "name": "set_value",
8975
- "safety": "write",
8976
- "argsType": "{ value: number[] }",
9196
+ "name": "focus_region",
9197
+ "safety": "read",
9198
+ "argsType": "{ regionId: string }",
8977
9199
  "argsSchema": {
8978
9200
  "type": "object",
8979
9201
  "properties": {
8980
- "value": {
8981
- "type": "array",
8982
- "items": {
8983
- "type": "number"
8984
- },
8985
- "minItems": 1,
8986
- "maxItems": 2,
8987
- "description": "Thumb value(s): a 1-tuple for a single slider, a 2-tuple for a range."
9202
+ "regionId": {
9203
+ "type": "string",
9204
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
8988
9205
  }
8989
9206
  },
8990
9207
  "required": [
8991
- "value"
9208
+ "regionId"
8992
9209
  ]
8993
9210
  },
8994
9211
  "idempotent": true,
8995
- "examples": [
8996
- {
8997
- "args": {
8998
- "value": [
8999
- 50
9000
- ]
9001
- },
9002
- "note": "Set a single slider to 50."
9212
+ "description": "Move focus to a specific bone in the active view.",
9213
+ "descriptionKey": "ui.agent.skeletonScheme.actions.focusRegion"
9214
+ },
9215
+ {
9216
+ "name": "get_region",
9217
+ "safety": "phi",
9218
+ "argsType": "{ regionId: string }",
9219
+ "argsSchema": {
9220
+ "type": "object",
9221
+ "properties": {
9222
+ "regionId": {
9223
+ "type": "string",
9224
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
9225
+ }
9003
9226
  },
9004
- {
9005
- "args": {
9006
- "value": [
9007
- 20,
9008
- 80
9009
- ]
9227
+ "required": [
9228
+ "regionId"
9229
+ ]
9230
+ },
9231
+ "returns": "SkeletonFinding[]",
9232
+ "returnsSchema": {
9233
+ "type": "array",
9234
+ "items": {
9235
+ "type": "object",
9236
+ "properties": {
9237
+ "type": {
9238
+ "enum": [
9239
+ "observation",
9240
+ "lesion",
9241
+ "pain",
9242
+ "treatment",
9243
+ "note"
9244
+ ]
9245
+ },
9246
+ "note": {
9247
+ "type": "string"
9248
+ }
9010
9249
  },
9011
- "note": "Set a range to 20–80."
9250
+ "required": [
9251
+ "type"
9252
+ ]
9012
9253
  }
9013
- ],
9014
- "description": "Replace the thumb value(s). Pass a 1-tuple for single, 2-tuple for range.",
9015
- "descriptionKey": "ui.agent.slider.actions.setValue"
9016
- }
9254
+ },
9255
+ "idempotent": true,
9256
+ "description": "Read the findings (incl. notes) recorded on one bone.",
9257
+ "descriptionKey": "ui.agent.skeletonScheme.actions.getRegion"
9258
+ },
9259
+ {
9260
+ "name": "regions_with",
9261
+ "safety": "read",
9262
+ "argsType": "{ type: FindingType }",
9263
+ "argsSchema": {
9264
+ "type": "object",
9265
+ "properties": {
9266
+ "type": {
9267
+ "enum": [
9268
+ "observation",
9269
+ "lesion",
9270
+ "pain",
9271
+ "treatment",
9272
+ "note"
9273
+ ]
9274
+ }
9275
+ },
9276
+ "required": [
9277
+ "type"
9278
+ ]
9279
+ },
9280
+ "returns": "string[]",
9281
+ "returnsSchema": {
9282
+ "type": "array",
9283
+ "items": {
9284
+ "type": "string",
9285
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
9286
+ }
9287
+ },
9288
+ "idempotent": true,
9289
+ "description": "List the bone region ids carrying a given finding type.",
9290
+ "descriptionKey": "ui.agent.skeletonScheme.actions.regionsWith"
9291
+ },
9292
+ {
9293
+ "name": "set_finding",
9294
+ "safety": "write",
9295
+ "argsType": "{ regionId: string; type: FindingType; note?: string }",
9296
+ "argsSchema": {
9297
+ "type": "object",
9298
+ "properties": {
9299
+ "regionId": {
9300
+ "type": "string",
9301
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
9302
+ },
9303
+ "type": {
9304
+ "enum": [
9305
+ "observation",
9306
+ "lesion",
9307
+ "pain",
9308
+ "treatment",
9309
+ "note"
9310
+ ]
9311
+ },
9312
+ "note": {
9313
+ "type": "string"
9314
+ }
9315
+ },
9316
+ "required": [
9317
+ "regionId",
9318
+ "type"
9319
+ ]
9320
+ },
9321
+ "idempotent": true,
9322
+ "description": "Record a finding (observation / lesion / pain / treatment / note) on a bone.",
9323
+ "descriptionKey": "ui.agent.skeletonScheme.actions.setFinding"
9324
+ },
9325
+ {
9326
+ "name": "remove_finding",
9327
+ "safety": "write",
9328
+ "argsType": "{ regionId: string; type: FindingType }",
9329
+ "argsSchema": {
9330
+ "type": "object",
9331
+ "properties": {
9332
+ "regionId": {
9333
+ "type": "string",
9334
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
9335
+ },
9336
+ "type": {
9337
+ "enum": [
9338
+ "observation",
9339
+ "lesion",
9340
+ "pain",
9341
+ "treatment",
9342
+ "note"
9343
+ ]
9344
+ }
9345
+ },
9346
+ "required": [
9347
+ "regionId",
9348
+ "type"
9349
+ ]
9350
+ },
9351
+ "idempotent": true,
9352
+ "description": "Remove a single finding type from a bone.",
9353
+ "descriptionKey": "ui.agent.skeletonScheme.actions.removeFinding"
9354
+ },
9355
+ {
9356
+ "name": "clear_region",
9357
+ "safety": "destructive",
9358
+ "argsType": "{ regionId: string }",
9359
+ "argsSchema": {
9360
+ "type": "object",
9361
+ "properties": {
9362
+ "regionId": {
9363
+ "type": "string",
9364
+ "description": "Per-bone region id within the active view, e.g. 'femur-r', 'tibia-l', 'humerus-r', 'ribs-l', 'lumbar-spine', 'skull'. Bilateral bones carry a '-r' / '-l' anatomical-side suffix; midline bones (spine, skull, sternum, sacrum) have none."
9365
+ }
9366
+ },
9367
+ "required": [
9368
+ "regionId"
9369
+ ]
9370
+ },
9371
+ "idempotent": true,
9372
+ "description": "Clear every finding from a bone.",
9373
+ "descriptionKey": "ui.agent.skeletonScheme.actions.clearRegion"
9374
+ },
9375
+ {
9376
+ "name": "set_view",
9377
+ "safety": "write",
9378
+ "argsType": "{ viewId: string }",
9379
+ "argsSchema": {
9380
+ "type": "object",
9381
+ "properties": {
9382
+ "viewId": {
9383
+ "type": "string",
9384
+ "description": "View id, one of 'skeletal-front' / 'skeletal-back'."
9385
+ }
9386
+ },
9387
+ "required": [
9388
+ "viewId"
9389
+ ]
9390
+ },
9391
+ "idempotent": true,
9392
+ "description": "Switch the active skeletal view.",
9393
+ "descriptionKey": "ui.agent.skeletonScheme.actions.setView"
9394
+ }
9395
+ ],
9396
+ "domHooks": {
9397
+ "root": {
9398
+ "attr": "data-component",
9399
+ "value": "skeleton-scheme"
9400
+ },
9401
+ "instanceId": {
9402
+ "attr": "data-component-id",
9403
+ "sourceProp": "id",
9404
+ "description": "Sourced from the id prop."
9405
+ },
9406
+ "item": {
9407
+ "attr": "data-region",
9408
+ "description": "Each rendered bone `<g>` carries its region id as `data-region` and its anatomical side (`left` / `right` / `midline`) as `data-side`, so bilateral bones can be disambiguated by side. The root `data-view` attribute exposes the active skeletal view."
9409
+ }
9410
+ }
9411
+ },
9412
+ {
9413
+ "kind": "component",
9414
+ "id": "skip-link",
9415
+ "capabilities": [
9416
+ "navigate"
9417
+ ],
9418
+ "state": [],
9419
+ "actions": [],
9420
+ "domHooks": {
9421
+ "root": {
9422
+ "attr": "data-component",
9423
+ "value": "skip-link",
9424
+ "description": "Marks the SkipLink anchor. Destination is the native `href` attribute."
9425
+ }
9426
+ }
9427
+ },
9428
+ {
9429
+ "kind": "component",
9430
+ "id": "slider",
9431
+ "capabilities": [
9432
+ "set_value",
9433
+ "range_pick"
9434
+ ],
9435
+ "state": [
9436
+ {
9437
+ "name": "value",
9438
+ "type": "number[]",
9439
+ "description": "Current thumb values; length 1 for a single slider, length 2 for a range.",
9440
+ "descriptionKey": "ui.agent.slider.state.value"
9441
+ }
9442
+ ],
9443
+ "actions": [
9444
+ {
9445
+ "name": "set_value",
9446
+ "safety": "write",
9447
+ "argsType": "{ value: number[] }",
9448
+ "argsSchema": {
9449
+ "type": "object",
9450
+ "properties": {
9451
+ "value": {
9452
+ "type": "array",
9453
+ "items": {
9454
+ "type": "number"
9455
+ },
9456
+ "minItems": 1,
9457
+ "maxItems": 2,
9458
+ "description": "Thumb value(s): a 1-tuple for a single slider, a 2-tuple for a range."
9459
+ }
9460
+ },
9461
+ "required": [
9462
+ "value"
9463
+ ]
9464
+ },
9465
+ "idempotent": true,
9466
+ "examples": [
9467
+ {
9468
+ "args": {
9469
+ "value": [
9470
+ 50
9471
+ ]
9472
+ },
9473
+ "note": "Set a single slider to 50."
9474
+ },
9475
+ {
9476
+ "args": {
9477
+ "value": [
9478
+ 20,
9479
+ 80
9480
+ ]
9481
+ },
9482
+ "note": "Set a range to 20–80."
9483
+ }
9484
+ ],
9485
+ "description": "Replace the thumb value(s). Pass a 1-tuple for single, 2-tuple for range.",
9486
+ "descriptionKey": "ui.agent.slider.actions.setValue"
9487
+ }
9017
9488
  ],
9018
9489
  "domHooks": {
9019
9490
  "root": {
@@ -11125,182 +11596,51 @@
11125
11596
  "patterns": [
11126
11597
  {
11127
11598
  "kind": "pattern",
11128
- "id": "alfascribe-consultation",
11599
+ "id": "alia-assistant",
11129
11600
  "composes": [
11130
11601
  {
11131
- "component": "transcript-panel",
11132
- "as": "transcript",
11133
- "entity": "transcriptTurn"
11602
+ "component": "chat-container",
11603
+ "as": "conversation",
11604
+ "entity": "message"
11134
11605
  },
11135
11606
  {
11136
- "component": "audio-visualiser",
11137
- "as": "levelMeter"
11607
+ "component": "chat-message",
11608
+ "as": "message",
11609
+ "entity": "message"
11138
11610
  },
11139
11611
  {
11140
- "component": "button",
11141
- "as": "recordToggle"
11612
+ "component": "streaming-text",
11613
+ "as": "streamingReply"
11142
11614
  },
11143
11615
  {
11144
- "component": "chat-input",
11145
- "as": "composer"
11616
+ "component": "typing-indicator",
11617
+ "as": "typing"
11146
11618
  },
11147
11619
  {
11148
11620
  "component": "suggestion-chip",
11149
- "as": "followUp",
11621
+ "as": "suggestion",
11150
11622
  "entity": "suggestion"
11151
11623
  },
11152
11624
  {
11153
- "component": "typing-indicator",
11154
- "as": "scribeTyping"
11155
- },
11156
- {
11157
- "component": "card",
11158
- "as": "summaryCard"
11159
- },
11160
- {
11161
- "component": "streaming-text",
11162
- "as": "summaryStream"
11163
- },
11164
- {
11165
- "component": "collapsible",
11166
- "as": "transcriptDrawer"
11625
+ "component": "chat-input",
11626
+ "as": "composer"
11167
11627
  },
11168
11628
  {
11169
- "component": "button",
11170
- "as": "regenerate"
11629
+ "component": "avatar",
11630
+ "as": "assistantAvatar"
11171
11631
  },
11172
11632
  {
11173
- "component": "button",
11174
- "as": "copySummary"
11633
+ "component": "progress",
11634
+ "as": "usageMeter"
11175
11635
  },
11176
11636
  {
11177
- "component": "toast",
11178
- "as": "copyToast"
11637
+ "component": "sheet",
11638
+ "as": "popoutPanel"
11179
11639
  }
11180
11640
  ],
11181
11641
  "workflows": [
11182
11642
  {
11183
- "name": "toggle_recording",
11184
- "safety": "write",
11185
- "description": "Start or stop audio capture for the consultation; the level meter and transcript update while recording.",
11186
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.toggleRecording",
11187
- "uiActions": [],
11188
- "apiActions": [
11189
- "consultation.startCapture",
11190
- "consultation.stopCapture"
11191
- ]
11192
- },
11193
- {
11194
- "name": "read_transcript",
11195
- "safety": "read",
11196
- "description": "Read the live transcript — focus or copy a specific turn (clinician / patient / AI).",
11197
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.readTranscript",
11198
- "uiActions": [
11199
- "transcript-panel.focus_turn",
11200
- "transcript-panel.copy_turn"
11201
- ],
11202
- "stateReads": [
11203
- "transcript-panel.selectedTurn"
11204
- ],
11205
- "apiActions": []
11206
- },
11207
- {
11208
- "name": "add_clinician_note",
11209
- "safety": "write",
11210
- "description": "Type a clinician note or question into the composer and submit it into the transcript, optionally seeding it from a suggested follow-up chip.",
11211
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.addClinicianNote",
11212
- "uiActions": [
11213
- "chat-input.set_value",
11214
- "chat-input.submit",
11215
- "suggestion-chip.select"
11216
- ],
11217
- "stateReads": [
11218
- "chat-input.value",
11219
- "chat-input.isEmpty"
11220
- ],
11221
- "apiActions": [
11222
- "consultation.addNote"
11223
- ]
11224
- },
11225
- {
11226
- "name": "regenerate_summary",
11227
- "safety": "write",
11228
- "description": "Regenerate the AI consultation summary; the new draft streams into the summary card.",
11229
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.regenerateSummary",
11230
- "uiActions": [],
11231
- "apiActions": [
11232
- "consultation.regenerateSummary"
11233
- ]
11234
- },
11235
- {
11236
- "name": "copy_summary",
11237
- "safety": "write",
11238
- "description": "Copy the AI summary to the clipboard; a success toast confirms the copy.",
11239
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.copySummary",
11240
- "uiActions": [
11241
- "toast.dismiss"
11242
- ],
11243
- "apiActions": []
11244
- },
11245
- {
11246
- "name": "save_summary",
11247
- "safety": "write",
11248
- "description": "Persist the reviewed consultation summary to the patient record.",
11249
- "descriptionKey": "ui.agent.alfascribeConsultation.workflows.saveSummary",
11250
- "uiActions": [],
11251
- "apiActions": [
11252
- "consultation.saveSummary"
11253
- ]
11254
- }
11255
- ]
11256
- },
11257
- {
11258
- "kind": "pattern",
11259
- "id": "alia-assistant",
11260
- "composes": [
11261
- {
11262
- "component": "chat-container",
11263
- "as": "conversation",
11264
- "entity": "message"
11265
- },
11266
- {
11267
- "component": "chat-message",
11268
- "as": "message",
11269
- "entity": "message"
11270
- },
11271
- {
11272
- "component": "streaming-text",
11273
- "as": "streamingReply"
11274
- },
11275
- {
11276
- "component": "typing-indicator",
11277
- "as": "typing"
11278
- },
11279
- {
11280
- "component": "suggestion-chip",
11281
- "as": "suggestion",
11282
- "entity": "suggestion"
11283
- },
11284
- {
11285
- "component": "chat-input",
11286
- "as": "composer"
11287
- },
11288
- {
11289
- "component": "avatar",
11290
- "as": "assistantAvatar"
11291
- },
11292
- {
11293
- "component": "progress",
11294
- "as": "usageMeter"
11295
- },
11296
- {
11297
- "component": "sheet",
11298
- "as": "popoutPanel"
11299
- }
11300
- ],
11301
- "workflows": [
11302
- {
11303
- "name": "send_message",
11643
+ "name": "send_message",
11304
11644
  "safety": "write",
11305
11645
  "description": "Type a question into the composer and send it; Alia streams a reply into the conversation.",
11306
11646
  "descriptionKey": "ui.agent.aliaAssistant.workflows.sendMessage",
@@ -12789,542 +13129,239 @@
12789
13129
  },
12790
13130
  {
12791
13131
  "kind": "pattern",
12792
- "id": "dashboard-daily-queues",
13132
+ "id": "invoices",
12793
13133
  "composes": [
12794
13134
  {
12795
- "component": "task-tray",
12796
- "as": "tasks",
12797
- "entity": "task"
12798
- },
12799
- {
12800
- "component": "agenda-tray",
12801
- "as": "agenda",
12802
- "entity": "appointment"
13135
+ "component": "data-table",
13136
+ "as": "ledger",
13137
+ "entity": "invoice"
12803
13138
  },
12804
13139
  {
12805
13140
  "component": "icon-button-group",
12806
- "as": "rowActions"
13141
+ "as": "tableActions"
12807
13142
  },
12808
13143
  {
12809
13144
  "component": "icon-button",
12810
- "as": "rowAction"
13145
+ "as": "tableAction"
12811
13146
  },
12812
13147
  {
12813
- "component": "empty-state",
12814
- "as": "trayEmpty"
13148
+ "component": "badge",
13149
+ "as": "statusBadge"
13150
+ },
13151
+ {
13152
+ "component": "button",
13153
+ "as": "rowAction"
12815
13154
  }
12816
13155
  ],
12817
13156
  "workflows": [
12818
13157
  {
12819
- "name": "complete_task",
12820
- "safety": "write",
12821
- "description": "Mark a task in the \"My next tasks\" tray as done so it drops out of the undone queue.",
12822
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.completeTask",
13158
+ "name": "filter_invoices",
13159
+ "safety": "read",
13160
+ "description": "Narrow the ledger by number, relation, status, date range or amount using the per-column filters.",
13161
+ "descriptionKey": "ui.agent.invoices.workflows.filterInvoices",
12823
13162
  "uiActions": [
12824
- "task-tray.toggle_done"
13163
+ "data-table.apply_filter"
12825
13164
  ],
12826
13165
  "stateReads": [
12827
- "task-tray.items"
13166
+ "data-table.filter"
12828
13167
  ],
12829
13168
  "apiActions": [
12830
- "task.complete"
13169
+ "invoice.list"
12831
13170
  ]
12832
13171
  },
12833
13172
  {
12834
- "name": "schedule_from_task",
12835
- "safety": "write",
12836
- "description": "Open the \"Schedule appointment\" row action on a patient task to book a visit for the linked patient.",
12837
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.scheduleFromTask",
13173
+ "name": "sort_ledger",
13174
+ "safety": "read",
13175
+ "description": "Re-sort the ledger by any column (e.g. issue date, total, balance).",
13176
+ "descriptionKey": "ui.agent.invoices.workflows.sortLedger",
13177
+ "uiActions": [
13178
+ "data-table.sort_by"
13179
+ ],
13180
+ "stateReads": [
13181
+ "data-table.sort"
13182
+ ],
13183
+ "apiActions": []
13184
+ },
13185
+ {
13186
+ "name": "paginate",
13187
+ "safety": "read",
13188
+ "description": "Move to another page of the ledger.",
13189
+ "descriptionKey": "ui.agent.invoices.workflows.paginate",
12838
13190
  "uiActions": [
12839
- "task-tray.select_item"
13191
+ "data-table.go_to_page"
12840
13192
  ],
12841
13193
  "stateReads": [
12842
- "task-tray.items"
13194
+ "data-table.currentPage"
12843
13195
  ],
13196
+ "apiActions": []
13197
+ },
13198
+ {
13199
+ "name": "export_ledger",
13200
+ "safety": "read",
13201
+ "description": "Export the current (optionally filtered) ledger from the page-header table-tools cluster — CSV / Excel / PDF.",
13202
+ "descriptionKey": "ui.agent.invoices.workflows.exportLedger",
13203
+ "uiActions": [],
12844
13204
  "apiActions": [
12845
- "appointment.create"
13205
+ "invoice.export"
12846
13206
  ]
12847
13207
  },
12848
13208
  {
12849
- "name": "open_appointment",
13209
+ "name": "view_invoice",
12850
13210
  "safety": "read",
12851
- "description": "Open one of the upcoming appointments in the agenda tray to view or edit the visit.",
12852
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.openAppointment",
13211
+ "description": "Open a single invoice from its row action to inspect line items and payment history.",
13212
+ "descriptionKey": "ui.agent.invoices.workflows.viewInvoice",
12853
13213
  "uiActions": [
12854
- "agenda-tray.select_item"
13214
+ "data-table.get_selection"
12855
13215
  ],
12856
13216
  "stateReads": [
12857
- "agenda-tray.items"
13217
+ "data-table.selection"
12858
13218
  ],
12859
13219
  "apiActions": [
12860
- "appointment.open"
13220
+ "invoice.get"
12861
13221
  ]
12862
13222
  },
12863
13223
  {
12864
- "name": "create_task",
12865
- "safety": "write",
12866
- "description": "Use the tasks tray quick-create (or empty-state CTA) to start a new follow-up / recall / collection task.",
12867
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.createTask",
12868
- "uiActions": [],
13224
+ "name": "download_pdf",
13225
+ "safety": "read",
13226
+ "description": "Download the selected invoice as a PDF from its row action.",
13227
+ "descriptionKey": "ui.agent.invoices.workflows.downloadPdf",
13228
+ "uiActions": [
13229
+ "data-table.get_selection"
13230
+ ],
13231
+ "stateReads": [
13232
+ "data-table.selection"
13233
+ ],
12869
13234
  "apiActions": [
12870
- "task.create"
13235
+ "invoice.downloadPdf"
12871
13236
  ]
12872
13237
  },
12873
13238
  {
12874
- "name": "create_appointment",
13239
+ "name": "send_reminder",
12875
13240
  "safety": "write",
12876
- "description": "Use the agenda tray quick-create (or empty-state CTA) to book a new appointment.",
12877
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.createAppointment",
12878
- "uiActions": [],
13241
+ "description": "Send a payment reminder for the selected invoice through its eligible channel (email or SMS).",
13242
+ "descriptionKey": "ui.agent.invoices.workflows.sendReminder",
13243
+ "uiActions": [
13244
+ "data-table.get_selection"
13245
+ ],
13246
+ "stateReads": [
13247
+ "data-table.selection"
13248
+ ],
12879
13249
  "apiActions": [
12880
- "appointment.create"
13250
+ "invoice.sendReminder"
12881
13251
  ]
12882
13252
  },
12883
13253
  {
12884
- "name": "delete_task",
13254
+ "name": "delete_invoice",
12885
13255
  "safety": "destructive",
12886
- "description": "Remove a task from the queue via its row \"Delete task\" action. Irreversible.",
12887
- "descriptionKey": "ui.agent.dashboardDailyQueues.workflows.deleteTask",
13256
+ "description": "Delete the selected invoice from its row action. Paid invoices cannot be deleted. Irreversible.",
13257
+ "descriptionKey": "ui.agent.invoices.workflows.deleteInvoice",
12888
13258
  "uiActions": [
12889
- "task-tray.dismiss"
13259
+ "data-table.get_selection",
13260
+ "data-table.clear_selection"
12890
13261
  ],
12891
13262
  "stateReads": [
12892
- "task-tray.items"
13263
+ "data-table.selection"
12893
13264
  ],
12894
13265
  "apiActions": [
12895
- "task.delete"
13266
+ "invoice.delete"
12896
13267
  ]
12897
13268
  }
12898
13269
  ]
12899
13270
  },
12900
13271
  {
12901
13272
  "kind": "pattern",
12902
- "id": "entity-create-sheet",
13273
+ "id": "marketplace-app-shell",
12903
13274
  "composes": [
12904
13275
  {
12905
- "component": "sheet",
12906
- "as": "overlay"
13276
+ "component": "app-frame",
13277
+ "as": "frame"
12907
13278
  },
12908
13279
  {
12909
- "component": "form-field",
12910
- "as": "field"
13280
+ "component": "header",
13281
+ "as": "topBar"
12911
13282
  },
12912
13283
  {
12913
- "component": "text-input",
12914
- "as": "textField"
13284
+ "component": "sidebar",
13285
+ "as": "mainNav",
13286
+ "entity": "navItem"
13287
+ },
13288
+ {
13289
+ "component": "tab-bar",
13290
+ "as": "embeddedNav",
13291
+ "entity": "navItem"
12915
13292
  },
12916
13293
  {
12917
- "component": "text-area",
12918
- "as": "notesField"
13294
+ "component": "avatar",
13295
+ "as": "accountAvatar"
12919
13296
  },
12920
13297
  {
12921
- "component": "select",
12922
- "as": "choiceField"
13298
+ "component": "dropdown-menu",
13299
+ "as": "accountMenu"
12923
13300
  },
12924
13301
  {
12925
- "component": "autocomplete",
12926
- "as": "lookupField"
13302
+ "component": "header-settings",
13303
+ "as": "settings"
12927
13304
  },
12928
13305
  {
12929
- "component": "date-time-picker",
12930
- "as": "dateField"
13306
+ "component": "sign-in-with-alfadocs-button",
13307
+ "as": "connectCta"
12931
13308
  },
12932
13309
  {
12933
- "component": "button",
12934
- "as": "save"
13310
+ "component": "alert",
13311
+ "as": "connectError"
12935
13312
  },
12936
13313
  {
12937
- "component": "button",
12938
- "as": "cancel"
13314
+ "component": "card",
13315
+ "as": "contentSurface"
13316
+ },
13317
+ {
13318
+ "component": "theme-root",
13319
+ "as": "themeScope"
13320
+ },
13321
+ {
13322
+ "component": "tooltip",
13323
+ "as": "navTooltip"
12939
13324
  }
12940
13325
  ],
12941
13326
  "workflows": [
12942
13327
  {
12943
- "name": "open_create_sheet",
13328
+ "name": "navigate",
13329
+ "safety": "read",
13330
+ "description": "Navigate to one of the app sections via the sidebar nav (or the embedded tab strip). Routing is consumer-owned, so the destination resolves through the host router.",
13331
+ "descriptionKey": "ui.agent.marketplaceAppShell.workflows.navigate",
13332
+ "uiActions": [],
13333
+ "apiActions": [
13334
+ "app.navigate"
13335
+ ]
13336
+ },
13337
+ {
13338
+ "name": "toggle_sidebar",
12944
13339
  "safety": "read",
12945
- "description": "Open the quick-create sheet over the current list / dashboard without navigating away.",
12946
- "descriptionKey": "ui.agent.entityCreateSheet.workflows.openCreateSheet",
13340
+ "description": "Collapse or expand the main navigation rail and read its current collapsed state.",
13341
+ "descriptionKey": "ui.agent.marketplaceAppShell.workflows.toggleSidebar",
12947
13342
  "uiActions": [
12948
- "sheet.open"
13343
+ "sidebar.toggle_collapsed"
12949
13344
  ],
12950
13345
  "stateReads": [
12951
- "sheet.isOpen"
13346
+ "sidebar.isCollapsed"
12952
13347
  ],
12953
13348
  "apiActions": []
12954
13349
  },
12955
13350
  {
12956
- "name": "fill_form",
12957
- "safety": "write",
12958
- "description": "Populate the form fields: free-text inputs, the notes area, single-select choices, the autocomplete lookup, and the date/time field.",
12959
- "descriptionKey": "ui.agent.entityCreateSheet.workflows.fillForm",
13351
+ "name": "open_account_menu",
13352
+ "safety": "read",
13353
+ "description": "Open the account dropdown to reach sign-out and account settings.",
13354
+ "descriptionKey": "ui.agent.marketplaceAppShell.workflows.openAccountMenu",
12960
13355
  "uiActions": [
12961
- "text-input.set_value",
12962
- "text-area.set_value",
12963
- "select.set_value",
12964
- "autocomplete.set_value",
12965
- "autocomplete.apply_filter",
12966
- "date-time-picker.set_datetime"
13356
+ "dropdown-menu.open"
12967
13357
  ],
12968
13358
  "stateReads": [
12969
- "text-input.value",
12970
- "text-area.value",
12971
- "select.value",
12972
- "autocomplete.value",
12973
- "date-time-picker.value"
13359
+ "dropdown-menu.isOpen"
12974
13360
  ],
12975
13361
  "apiActions": []
12976
13362
  },
12977
13363
  {
12978
- "name": "save_entity",
12979
- "safety": "write",
12980
- "description": "Submit the form to create the new entity. Missing required fields keep the sheet open with inline errors; on success the sheet closes.",
12981
- "descriptionKey": "ui.agent.entityCreateSheet.workflows.saveEntity",
12982
- "uiActions": [
12983
- "sheet.close"
12984
- ],
12985
- "stateReads": [
12986
- "sheet.isOpen"
12987
- ],
12988
- "apiActions": [
12989
- "entity.create"
12990
- ]
12991
- },
12992
- {
12993
- "name": "cancel_create",
12994
- "safety": "read",
12995
- "description": "Dismiss the sheet without saving, discarding any entered values and returning to the underlying list.",
12996
- "descriptionKey": "ui.agent.entityCreateSheet.workflows.cancelCreate",
12997
- "uiActions": [
12998
- "sheet.dismiss"
12999
- ],
13000
- "stateReads": [
13001
- "sheet.isOpen"
13002
- ],
13003
- "apiActions": []
13004
- }
13005
- ]
13006
- },
13007
- {
13008
- "kind": "pattern",
13009
- "id": "entity-index-table",
13010
- "composes": [
13011
- {
13012
- "component": "data-table",
13013
- "as": "roster",
13014
- "entity": "entity"
13015
- },
13016
- {
13017
- "component": "button",
13018
- "as": "addNew"
13019
- },
13020
- {
13021
- "component": "button",
13022
- "as": "exportCsv"
13023
- },
13024
- {
13025
- "component": "button",
13026
- "as": "print"
13027
- },
13028
- {
13029
- "component": "button",
13030
- "as": "applyFilters"
13031
- },
13032
- {
13033
- "component": "button",
13034
- "as": "resetFilters"
13035
- }
13036
- ],
13037
- "workflows": [
13038
- {
13039
- "name": "select_rows",
13040
- "safety": "read",
13041
- "description": "Select one or more rows in the table.",
13042
- "descriptionKey": "ui.agent.entityIndexTable.workflows.selectRows",
13043
- "uiActions": [
13044
- "data-table.select_rows"
13045
- ],
13046
- "apiActions": []
13047
- },
13048
- {
13049
- "name": "apply_filter",
13050
- "safety": "read",
13051
- "description": "Set the filter strip values and apply.",
13052
- "descriptionKey": "ui.agent.entityIndexTable.workflows.applyFilter",
13053
- "uiActions": [
13054
- "data-table.apply_filter"
13055
- ],
13056
- "apiActions": []
13057
- },
13058
- {
13059
- "name": "create_entity",
13060
- "safety": "write",
13061
- "description": "Open the create form and submit a new entity.",
13062
- "descriptionKey": "ui.agent.entityIndexTable.workflows.createEntity",
13063
- "uiActions": [],
13064
- "apiActions": [
13065
- "entity.create"
13066
- ]
13067
- },
13068
- {
13069
- "name": "delete_selected",
13070
- "safety": "destructive",
13071
- "description": "Delete every selected row. Irreversible.",
13072
- "descriptionKey": "ui.agent.entityIndexTable.workflows.deleteSelected",
13073
- "uiActions": [
13074
- "data-table.get_selection",
13075
- "data-table.clear_selection"
13076
- ],
13077
- "apiActions": [
13078
- "entity.delete"
13079
- ]
13080
- },
13081
- {
13082
- "name": "export_csv",
13083
- "safety": "read",
13084
- "description": "Trigger the CSV export of the current filtered set.",
13085
- "descriptionKey": "ui.agent.entityIndexTable.workflows.exportCsv",
13086
- "uiActions": [],
13087
- "apiActions": [
13088
- "entity.export"
13089
- ]
13090
- }
13091
- ]
13092
- },
13093
- {
13094
- "kind": "pattern",
13095
- "id": "invoices",
13096
- "composes": [
13097
- {
13098
- "component": "data-table",
13099
- "as": "ledger",
13100
- "entity": "invoice"
13101
- },
13102
- {
13103
- "component": "icon-button-group",
13104
- "as": "tableActions"
13105
- },
13106
- {
13107
- "component": "icon-button",
13108
- "as": "tableAction"
13109
- },
13110
- {
13111
- "component": "badge",
13112
- "as": "statusBadge"
13113
- },
13114
- {
13115
- "component": "button",
13116
- "as": "rowAction"
13117
- }
13118
- ],
13119
- "workflows": [
13120
- {
13121
- "name": "filter_invoices",
13122
- "safety": "read",
13123
- "description": "Narrow the ledger by number, relation, status, date range or amount using the per-column filters.",
13124
- "descriptionKey": "ui.agent.invoices.workflows.filterInvoices",
13125
- "uiActions": [
13126
- "data-table.apply_filter"
13127
- ],
13128
- "stateReads": [
13129
- "data-table.filter"
13130
- ],
13131
- "apiActions": [
13132
- "invoice.list"
13133
- ]
13134
- },
13135
- {
13136
- "name": "sort_ledger",
13137
- "safety": "read",
13138
- "description": "Re-sort the ledger by any column (e.g. issue date, total, balance).",
13139
- "descriptionKey": "ui.agent.invoices.workflows.sortLedger",
13140
- "uiActions": [
13141
- "data-table.sort_by"
13142
- ],
13143
- "stateReads": [
13144
- "data-table.sort"
13145
- ],
13146
- "apiActions": []
13147
- },
13148
- {
13149
- "name": "paginate",
13150
- "safety": "read",
13151
- "description": "Move to another page of the ledger.",
13152
- "descriptionKey": "ui.agent.invoices.workflows.paginate",
13153
- "uiActions": [
13154
- "data-table.go_to_page"
13155
- ],
13156
- "stateReads": [
13157
- "data-table.currentPage"
13158
- ],
13159
- "apiActions": []
13160
- },
13161
- {
13162
- "name": "export_ledger",
13163
- "safety": "read",
13164
- "description": "Export the current (optionally filtered) ledger from the page-header table-tools cluster — CSV / Excel / PDF.",
13165
- "descriptionKey": "ui.agent.invoices.workflows.exportLedger",
13166
- "uiActions": [],
13167
- "apiActions": [
13168
- "invoice.export"
13169
- ]
13170
- },
13171
- {
13172
- "name": "view_invoice",
13173
- "safety": "read",
13174
- "description": "Open a single invoice from its row action to inspect line items and payment history.",
13175
- "descriptionKey": "ui.agent.invoices.workflows.viewInvoice",
13176
- "uiActions": [
13177
- "data-table.get_selection"
13178
- ],
13179
- "stateReads": [
13180
- "data-table.selection"
13181
- ],
13182
- "apiActions": [
13183
- "invoice.get"
13184
- ]
13185
- },
13186
- {
13187
- "name": "download_pdf",
13188
- "safety": "read",
13189
- "description": "Download the selected invoice as a PDF from its row action.",
13190
- "descriptionKey": "ui.agent.invoices.workflows.downloadPdf",
13191
- "uiActions": [
13192
- "data-table.get_selection"
13193
- ],
13194
- "stateReads": [
13195
- "data-table.selection"
13196
- ],
13197
- "apiActions": [
13198
- "invoice.downloadPdf"
13199
- ]
13200
- },
13201
- {
13202
- "name": "send_reminder",
13203
- "safety": "write",
13204
- "description": "Send a payment reminder for the selected invoice through its eligible channel (email or SMS).",
13205
- "descriptionKey": "ui.agent.invoices.workflows.sendReminder",
13206
- "uiActions": [
13207
- "data-table.get_selection"
13208
- ],
13209
- "stateReads": [
13210
- "data-table.selection"
13211
- ],
13212
- "apiActions": [
13213
- "invoice.sendReminder"
13214
- ]
13215
- },
13216
- {
13217
- "name": "delete_invoice",
13218
- "safety": "destructive",
13219
- "description": "Delete the selected invoice from its row action. Paid invoices cannot be deleted. Irreversible.",
13220
- "descriptionKey": "ui.agent.invoices.workflows.deleteInvoice",
13221
- "uiActions": [
13222
- "data-table.get_selection",
13223
- "data-table.clear_selection"
13224
- ],
13225
- "stateReads": [
13226
- "data-table.selection"
13227
- ],
13228
- "apiActions": [
13229
- "invoice.delete"
13230
- ]
13231
- }
13232
- ]
13233
- },
13234
- {
13235
- "kind": "pattern",
13236
- "id": "marketplace-app-shell",
13237
- "composes": [
13238
- {
13239
- "component": "app-frame",
13240
- "as": "frame"
13241
- },
13242
- {
13243
- "component": "header",
13244
- "as": "topBar"
13245
- },
13246
- {
13247
- "component": "sidebar",
13248
- "as": "mainNav",
13249
- "entity": "navItem"
13250
- },
13251
- {
13252
- "component": "tab-bar",
13253
- "as": "embeddedNav",
13254
- "entity": "navItem"
13255
- },
13256
- {
13257
- "component": "avatar",
13258
- "as": "accountAvatar"
13259
- },
13260
- {
13261
- "component": "dropdown-menu",
13262
- "as": "accountMenu"
13263
- },
13264
- {
13265
- "component": "header-settings",
13266
- "as": "settings"
13267
- },
13268
- {
13269
- "component": "sign-in-with-alfadocs-button",
13270
- "as": "connectCta"
13271
- },
13272
- {
13273
- "component": "alert",
13274
- "as": "connectError"
13275
- },
13276
- {
13277
- "component": "card",
13278
- "as": "contentSurface"
13279
- },
13280
- {
13281
- "component": "theme-root",
13282
- "as": "themeScope"
13283
- },
13284
- {
13285
- "component": "tooltip",
13286
- "as": "navTooltip"
13287
- }
13288
- ],
13289
- "workflows": [
13290
- {
13291
- "name": "navigate",
13292
- "safety": "read",
13293
- "description": "Navigate to one of the app sections via the sidebar nav (or the embedded tab strip). Routing is consumer-owned, so the destination resolves through the host router.",
13294
- "descriptionKey": "ui.agent.marketplaceAppShell.workflows.navigate",
13295
- "uiActions": [],
13296
- "apiActions": [
13297
- "app.navigate"
13298
- ]
13299
- },
13300
- {
13301
- "name": "toggle_sidebar",
13302
- "safety": "read",
13303
- "description": "Collapse or expand the main navigation rail and read its current collapsed state.",
13304
- "descriptionKey": "ui.agent.marketplaceAppShell.workflows.toggleSidebar",
13305
- "uiActions": [
13306
- "sidebar.toggle_collapsed"
13307
- ],
13308
- "stateReads": [
13309
- "sidebar.isCollapsed"
13310
- ],
13311
- "apiActions": []
13312
- },
13313
- {
13314
- "name": "open_account_menu",
13315
- "safety": "read",
13316
- "description": "Open the account dropdown to reach sign-out and account settings.",
13317
- "descriptionKey": "ui.agent.marketplaceAppShell.workflows.openAccountMenu",
13318
- "uiActions": [
13319
- "dropdown-menu.open"
13320
- ],
13321
- "stateReads": [
13322
- "dropdown-menu.isOpen"
13323
- ],
13324
- "apiActions": []
13325
- },
13326
- {
13327
- "name": "set_appearance",
13364
+ "name": "set_appearance",
13328
13365
  "safety": "write",
13329
13366
  "description": "Change the active theme, locale, or accessibility profile from the header settings.",
13330
13367
  "descriptionKey": "ui.agent.marketplaceAppShell.workflows.setAppearance",
@@ -13361,127 +13398,6 @@
13361
13398
  }
13362
13399
  ]
13363
13400
  },
13364
- {
13365
- "kind": "pattern",
13366
- "id": "multi-signee-signing",
13367
- "composes": [
13368
- {
13369
- "component": "public-header",
13370
- "as": "brandBar"
13371
- },
13372
- {
13373
- "component": "avatar",
13374
- "as": "rosterAvatar",
13375
- "entity": "signer"
13376
- },
13377
- {
13378
- "component": "badge",
13379
- "as": "rosterStatus",
13380
- "entity": "signer"
13381
- },
13382
- {
13383
- "component": "otp-input",
13384
- "as": "gateCode"
13385
- },
13386
- {
13387
- "component": "checkbox",
13388
- "as": "gateConfirm"
13389
- },
13390
- {
13391
- "component": "alert",
13392
- "as": "gateNotice"
13393
- },
13394
- {
13395
- "component": "card",
13396
- "as": "gateCard"
13397
- },
13398
- {
13399
- "component": "button",
13400
- "as": "gateVerify"
13401
- },
13402
- {
13403
- "component": "pdf-viewer",
13404
- "as": "document"
13405
- },
13406
- {
13407
- "component": "signature-field",
13408
- "as": "fieldOverlay",
13409
- "entity": "signatureField"
13410
- },
13411
- {
13412
- "component": "dialog",
13413
- "as": "captureDialog"
13414
- },
13415
- {
13416
- "component": "signature-capture",
13417
- "as": "capturePad"
13418
- },
13419
- {
13420
- "component": "finished-terminal",
13421
- "as": "terminal"
13422
- }
13423
- ],
13424
- "workflows": [
13425
- {
13426
- "name": "verify_party_identity",
13427
- "safety": "write",
13428
- "description": "The active party passes its own identity gate: enter the 5-character SMS code, or tick the confirm-identity checkbox when no mobile number is on file, then verify.",
13429
- "descriptionKey": "ui.agent.multiSigneeSigning.workflows.verifyPartyIdentity",
13430
- "uiActions": [
13431
- "otp-input.set_value",
13432
- "checkbox.set_checked"
13433
- ],
13434
- "stateReads": [
13435
- "otp-input.isComplete",
13436
- "checkbox.checked"
13437
- ],
13438
- "apiActions": [
13439
- "signing.verifyPartyIdentity",
13440
- "signing.resendCode"
13441
- ]
13442
- },
13443
- {
13444
- "name": "sign_party_fields",
13445
- "safety": "write",
13446
- "description": "The active party signs the surface filtered to its own fields: activate a field overlay, draw or type the signature in the capture dialog, and confirm it.",
13447
- "descriptionKey": "ui.agent.multiSigneeSigning.workflows.signPartyFields",
13448
- "uiActions": [
13449
- "pdf-viewer.go_to_page",
13450
- "dialog.open",
13451
- "signature-capture.clear",
13452
- "signature-capture.undo",
13453
- "signature-capture.confirm"
13454
- ],
13455
- "stateReads": [
13456
- "signature-capture.isEmpty",
13457
- "dialog.isOpen"
13458
- ],
13459
- "apiActions": [
13460
- "signing.applyPartyFieldSignature"
13461
- ]
13462
- },
13463
- {
13464
- "name": "hand_off_to_next_party",
13465
- "safety": "write",
13466
- "description": "After the active party finishes, hand the device to the next party (same-device flow), switching the active session and re-filtering the surface to the next party’s fields.",
13467
- "descriptionKey": "ui.agent.multiSigneeSigning.workflows.handOffToNextParty",
13468
- "uiActions": [],
13469
- "apiActions": [
13470
- "signing.handOffParty"
13471
- ]
13472
- },
13473
- {
13474
- "name": "complete_envelope",
13475
- "safety": "write",
13476
- "description": "Finalise the envelope once every party has signed all of its fields.",
13477
- "descriptionKey": "ui.agent.multiSigneeSigning.workflows.completeEnvelope",
13478
- "uiActions": [],
13479
- "apiActions": [
13480
- "signing.completeEnvelope"
13481
- ]
13482
- }
13483
- ]
13484
- },
13485
13401
  {
13486
13402
  "kind": "pattern",
13487
13403
  "id": "patient-ai-summary",
@@ -13991,86 +13907,14 @@
13991
13907
  ],
13992
13908
  "stateReads": [
13993
13909
  "text-input.value",
13994
- "fiscal-code-input.isValid",
13995
- "address-autocomplete.value",
13996
- "date-picker.value",
13997
- "select.value",
13998
- "radio-group.value"
13999
- ],
14000
- "apiActions": [
14001
- "patient.updateDetails"
14002
- ]
14003
- }
14004
- ]
14005
- },
14006
- {
14007
- "kind": "pattern",
14008
- "id": "patient-shell",
14009
- "composes": [
14010
- {
14011
- "component": "app-frame",
14012
- "as": "frame"
14013
- },
14014
- {
14015
- "component": "header",
14016
- "as": "topBar"
14017
- },
14018
- {
14019
- "component": "logo",
14020
- "as": "brand"
14021
- },
14022
- {
14023
- "component": "sidebar",
14024
- "as": "nav",
14025
- "entity": "navItem"
14026
- },
14027
- {
14028
- "component": "dropdown-menu",
14029
- "as": "settingsMenu"
14030
- },
14031
- {
14032
- "component": "button",
14033
- "as": "settingsTrigger"
14034
- }
14035
- ],
14036
- "workflows": [
14037
- {
14038
- "name": "toggle_sidebar",
14039
- "safety": "read",
14040
- "description": "Collapse or expand the flat patient navigation rail.",
14041
- "descriptionKey": "ui.agent.patientShell.workflows.toggleSidebar",
14042
- "uiActions": [
14043
- "sidebar.toggle_collapsed"
14044
- ],
14045
- "stateReads": [
14046
- "sidebar.isCollapsed"
14047
- ],
14048
- "apiActions": []
14049
- },
14050
- {
14051
- "name": "open_settings",
14052
- "safety": "read",
14053
- "description": "Open the header settings menu (fullscreen toggle and logout).",
14054
- "descriptionKey": "ui.agent.patientShell.workflows.openSettings",
14055
- "uiActions": [
14056
- "dropdown-menu.open",
14057
- "dropdown-menu.close"
14058
- ],
14059
- "stateReads": [
14060
- "dropdown-menu.isOpen"
14061
- ],
14062
- "apiActions": []
14063
- },
14064
- {
14065
- "name": "sign_out",
14066
- "safety": "write",
14067
- "description": "Log the patient out and navigate to the configured logout URL.",
14068
- "descriptionKey": "ui.agent.patientShell.workflows.signOut",
14069
- "uiActions": [
14070
- "dropdown-menu.open"
13910
+ "fiscal-code-input.isValid",
13911
+ "address-autocomplete.value",
13912
+ "date-picker.value",
13913
+ "select.value",
13914
+ "radio-group.value"
14071
13915
  ],
14072
13916
  "apiActions": [
14073
- "auth.logout"
13917
+ "patient.updateDetails"
14074
13918
  ]
14075
13919
  }
14076
13920
  ]
@@ -14384,84 +14228,6 @@
14384
14228
  }
14385
14229
  ]
14386
14230
  },
14387
- {
14388
- "kind": "pattern",
14389
- "id": "print-invoice",
14390
- "composes": [
14391
- {
14392
- "component": "logo",
14393
- "as": "brandmark"
14394
- },
14395
- {
14396
- "component": "description-list",
14397
- "as": "invoiceMeta"
14398
- },
14399
- {
14400
- "component": "description-list",
14401
- "as": "totals"
14402
- },
14403
- {
14404
- "component": "data-table",
14405
- "as": "lineItems",
14406
- "entity": "invoiceLineItem"
14407
- },
14408
- {
14409
- "component": "tooth-scheme",
14410
- "as": "odontogram",
14411
- "entity": "tooth"
14412
- }
14413
- ],
14414
- "workflows": [
14415
- {
14416
- "name": "sort_line_items",
14417
- "safety": "read",
14418
- "description": "Sort the invoice line-items table by a column.",
14419
- "descriptionKey": "ui.agent.printInvoice.workflows.sortLineItems",
14420
- "uiActions": [
14421
- "data-table.sort_by"
14422
- ],
14423
- "stateReads": [
14424
- "data-table.sort"
14425
- ],
14426
- "apiActions": []
14427
- },
14428
- {
14429
- "name": "read_findings",
14430
- "safety": "read",
14431
- "description": "Read the charted odontogram findings on the treatment-plan variant.",
14432
- "descriptionKey": "ui.agent.printInvoice.workflows.readFindings",
14433
- "uiActions": [
14434
- "tooth-scheme.teeth_with",
14435
- "tooth-scheme.get_tooth"
14436
- ],
14437
- "stateReads": [
14438
- "tooth-scheme.chart",
14439
- "tooth-scheme.chartedTeeth"
14440
- ],
14441
- "apiActions": []
14442
- },
14443
- {
14444
- "name": "generate_pdf",
14445
- "safety": "read",
14446
- "description": "Render the current invoice (or treatment plan) to a print-ready PDF document.",
14447
- "descriptionKey": "ui.agent.printInvoice.workflows.generatePdf",
14448
- "uiActions": [],
14449
- "apiActions": [
14450
- "invoice.renderPdf"
14451
- ]
14452
- },
14453
- {
14454
- "name": "send_invoice",
14455
- "safety": "write",
14456
- "description": "Email the generated invoice document to the patient.",
14457
- "descriptionKey": "ui.agent.printInvoice.workflows.sendInvoice",
14458
- "uiActions": [],
14459
- "apiActions": [
14460
- "invoice.send"
14461
- ]
14462
- }
14463
- ]
14464
- },
14465
14231
  {
14466
14232
  "kind": "pattern",
14467
14233
  "id": "roi-dashboard",
@@ -15068,12 +14834,140 @@
15068
14834
  }
15069
14835
  ]
15070
14836
  },
14837
+ {
14838
+ "kind": "pattern",
14839
+ "id": "signature-request",
14840
+ "composes": [
14841
+ {
14842
+ "component": "dialog",
14843
+ "as": "requestModal"
14844
+ },
14845
+ {
14846
+ "component": "select",
14847
+ "as": "operatorSigner"
14848
+ },
14849
+ {
14850
+ "component": "select",
14851
+ "as": "patientSigner"
14852
+ },
14853
+ {
14854
+ "component": "radio-group",
14855
+ "as": "deliveryChannel"
14856
+ },
14857
+ {
14858
+ "component": "switch",
14859
+ "as": "otpWaiver"
14860
+ },
14861
+ {
14862
+ "component": "alert",
14863
+ "as": "operatorHint"
14864
+ },
14865
+ {
14866
+ "component": "alert",
14867
+ "as": "otpWarning"
14868
+ },
14869
+ {
14870
+ "component": "button",
14871
+ "as": "assignToMe"
14872
+ },
14873
+ {
14874
+ "component": "button",
14875
+ "as": "requestSignature"
14876
+ }
14877
+ ],
14878
+ "workflows": [
14879
+ {
14880
+ "name": "assign_operator",
14881
+ "safety": "write",
14882
+ "description": "Pick the operator who must counter-sign (or \"Assign later\" to leave the request unassigned). \"Assign to me\" claims it for the signed-in operator.",
14883
+ "descriptionKey": "ui.agent.signatureRequest.workflows.assignOperator",
14884
+ "uiActions": [
14885
+ "select.set_value"
14886
+ ],
14887
+ "stateReads": [
14888
+ "select.value"
14889
+ ],
14890
+ "apiActions": []
14891
+ },
14892
+ {
14893
+ "name": "choose_patient_signer",
14894
+ "safety": "write",
14895
+ "description": "Pick who signs on the patient side: the patient, a legal guardian, or a third-party signer.",
14896
+ "descriptionKey": "ui.agent.signatureRequest.workflows.choosePatientSigner",
14897
+ "uiActions": [
14898
+ "select.set_value"
14899
+ ],
14900
+ "stateReads": [
14901
+ "select.value"
14902
+ ],
14903
+ "apiActions": []
14904
+ },
14905
+ {
14906
+ "name": "choose_delivery_channel",
14907
+ "safety": "write",
14908
+ "description": "Choose how the signature request reaches the patient: SMS, e-mail, WhatsApp, or signing on this device.",
14909
+ "descriptionKey": "ui.agent.signatureRequest.workflows.chooseDeliveryChannel",
14910
+ "uiActions": [
14911
+ "radio-group.set_value"
14912
+ ],
14913
+ "stateReads": [
14914
+ "radio-group.value"
14915
+ ],
14916
+ "apiActions": []
14917
+ },
14918
+ {
14919
+ "name": "waive_otp",
14920
+ "safety": "write",
14921
+ "description": "Toggle the on-device OTP waiver. Waiving OTP lowers the evidentiary value of the signature; the pattern surfaces a warning alert while waived.",
14922
+ "descriptionKey": "ui.agent.signatureRequest.workflows.waiveOtp",
14923
+ "uiActions": [
14924
+ "switch.toggle",
14925
+ "switch.set_checked"
14926
+ ],
14927
+ "stateReads": [
14928
+ "switch.checked"
14929
+ ],
14930
+ "apiActions": []
14931
+ },
14932
+ {
14933
+ "name": "request_signature",
14934
+ "safety": "phi",
14935
+ "description": "Send the signature request. Notifies the chosen signers over the selected channel and closes the modal.",
14936
+ "descriptionKey": "ui.agent.signatureRequest.workflows.requestSignature",
14937
+ "uiActions": [
14938
+ "dialog.close"
14939
+ ],
14940
+ "stateReads": [
14941
+ "select.value",
14942
+ "radio-group.value",
14943
+ "switch.checked",
14944
+ "dialog.isOpen"
14945
+ ],
14946
+ "apiActions": [
14947
+ "signature.request"
14948
+ ]
14949
+ },
14950
+ {
14951
+ "name": "dismiss",
14952
+ "safety": "destructive",
14953
+ "description": "Close the modal without sending a signature request. Discards the in-progress signer, channel, and OTP choices.",
14954
+ "descriptionKey": "ui.agent.signatureRequest.workflows.dismiss",
14955
+ "uiActions": [
14956
+ "dialog.dismiss"
14957
+ ],
14958
+ "stateReads": [
14959
+ "dialog.isOpen"
14960
+ ],
14961
+ "apiActions": []
14962
+ }
14963
+ ]
14964
+ },
15071
14965
  {
15072
14966
  "kind": "pattern",
15073
14967
  "id": "signing",
15074
14968
  "composes": [
15075
14969
  {
15076
- "component": "public-header",
14970
+ "component": "header",
15077
14971
  "as": "brandBar"
15078
14972
  },
15079
14973
  {
@@ -15117,6 +15011,16 @@
15117
15011
  "component": "finished-terminal",
15118
15012
  "as": "terminal"
15119
15013
  },
15014
+ {
15015
+ "component": "avatar",
15016
+ "as": "rosterAvatar",
15017
+ "entity": "signer"
15018
+ },
15019
+ {
15020
+ "component": "badge",
15021
+ "as": "rosterStatus",
15022
+ "entity": "signer"
15023
+ },
15120
15024
  {
15121
15025
  "component": "empty-state",
15122
15026
  "as": "invalidLink"
@@ -15178,131 +15082,38 @@
15178
15082
  {
15179
15083
  "name": "complete_envelope",
15180
15084
  "safety": "write",
15181
- "description": "Finalise the envelope once every required field carries a signature, persisting the completed document.",
15085
+ "description": "Finalise the envelope once every required field carries a signature (with two signees: once both the primary and the secondary have signed all of their fields), persisting the completed document.",
15182
15086
  "descriptionKey": "ui.agent.signing.workflows.completeEnvelope",
15183
15087
  "uiActions": [],
15184
15088
  "apiActions": [
15185
15089
  "signing.completeEnvelope"
15186
15090
  ]
15187
- }
15188
- ]
15189
- },
15190
- {
15191
- "kind": "pattern",
15192
- "id": "signing-wizard",
15193
- "composes": [
15194
- {
15195
- "component": "public-header",
15196
- "as": "brandBar"
15197
- },
15198
- {
15199
- "component": "stepper-progress",
15200
- "as": "wizard"
15201
- },
15202
- {
15203
- "component": "otp-input",
15204
- "as": "gateCode"
15205
- },
15206
- {
15207
- "component": "checkbox",
15208
- "as": "gateConfirm"
15209
- },
15210
- {
15211
- "component": "alert",
15212
- "as": "gateNotice"
15213
- },
15214
- {
15215
- "component": "card",
15216
- "as": "gateCard"
15217
- },
15218
- {
15219
- "component": "button",
15220
- "as": "gateVerify"
15221
- },
15222
- {
15223
- "component": "pdf-viewer",
15224
- "as": "document"
15225
- },
15226
- {
15227
- "component": "signature-field",
15228
- "as": "fieldOverlay",
15229
- "entity": "signatureField"
15230
- },
15231
- {
15232
- "component": "dialog",
15233
- "as": "captureDialog"
15234
- },
15235
- {
15236
- "component": "signature-capture",
15237
- "as": "capturePad"
15238
- },
15239
- {
15240
- "component": "finished-terminal",
15241
- "as": "terminal"
15242
- },
15243
- {
15244
- "component": "empty-state",
15245
- "as": "invalidLink"
15246
15091
  },
15247
15092
  {
15248
- "component": "spinner",
15249
- "as": "loading"
15250
- }
15251
- ],
15252
- "workflows": [
15253
- {
15254
- "name": "verify_identity",
15093
+ "name": "verify_signee_identity",
15255
15094
  "safety": "write",
15256
- "description": "Complete the Verify step: enter the 5-character SMS code, or tick the confirm-identity checkbox when no mobile number is on file, then advance to the Sign step.",
15257
- "descriptionKey": "ui.agent.signingWizard.workflows.verifyIdentity",
15095
+ "description": "The active signee (primary or secondary) passes its own identity gate: enter the 5-character SMS code, or tick the confirm-identity checkbox when no mobile number is on file, then verify.",
15096
+ "descriptionKey": "ui.agent.signing.workflows.verifySigneeIdentity",
15258
15097
  "uiActions": [
15259
15098
  "otp-input.set_value",
15260
- "checkbox.set_checked",
15261
- "stepper-progress.next"
15099
+ "checkbox.set_checked"
15262
15100
  ],
15263
15101
  "stateReads": [
15264
15102
  "otp-input.isComplete",
15265
- "checkbox.checked",
15266
- "stepper-progress.currentStep"
15103
+ "checkbox.checked"
15267
15104
  ],
15268
15105
  "apiActions": [
15269
- "signing.verifyIdentity",
15106
+ "signing.verifySigneeIdentity",
15270
15107
  "signing.resendCode"
15271
15108
  ]
15272
15109
  },
15273
15110
  {
15274
- "name": "navigate_steps",
15275
- "safety": "read",
15276
- "description": "Move between the Verify → Sign → Done steps of the wizard.",
15277
- "descriptionKey": "ui.agent.signingWizard.workflows.navigateSteps",
15278
- "uiActions": [
15279
- "stepper-progress.next",
15280
- "stepper-progress.previous",
15281
- "stepper-progress.goto_step"
15282
- ],
15283
- "stateReads": [
15284
- "stepper-progress.currentStep",
15285
- "stepper-progress.totalSteps"
15286
- ],
15287
- "apiActions": []
15288
- },
15289
- {
15290
- "name": "read_document",
15291
- "safety": "read",
15292
- "description": "Page through and zoom the document under signature on the Sign step.",
15293
- "descriptionKey": "ui.agent.signingWizard.workflows.readDocument",
15294
- "uiActions": [
15295
- "pdf-viewer.go_to_page",
15296
- "pdf-viewer.set_zoom"
15297
- ],
15298
- "apiActions": []
15299
- },
15300
- {
15301
- "name": "sign_field",
15111
+ "name": "sign_signee_fields",
15302
15112
  "safety": "write",
15303
- "description": "Activate a field overlay on the Sign step, draw or type the signature in the capture dialog, and confirm it.",
15304
- "descriptionKey": "ui.agent.signingWizard.workflows.signField",
15113
+ "description": "The active signee signs the surface filtered to its own fields: activate a field overlay, draw or type the signature in the capture dialog, and confirm it.",
15114
+ "descriptionKey": "ui.agent.signing.workflows.signSigneeFields",
15305
15115
  "uiActions": [
15116
+ "pdf-viewer.go_to_page",
15306
15117
  "dialog.open",
15307
15118
  "signature-capture.clear",
15308
15119
  "signature-capture.undo",
@@ -15313,17 +15124,17 @@
15313
15124
  "dialog.isOpen"
15314
15125
  ],
15315
15126
  "apiActions": [
15316
- "signing.applyFieldSignature"
15127
+ "signing.applySigneeFieldSignature"
15317
15128
  ]
15318
15129
  },
15319
15130
  {
15320
- "name": "complete_envelope",
15131
+ "name": "hand_off_to_secondary_signee",
15321
15132
  "safety": "write",
15322
- "description": "Finalise the envelope once every required field is signed and the wizard reaches the Done step.",
15323
- "descriptionKey": "ui.agent.signingWizard.workflows.completeEnvelope",
15133
+ "description": "After the primary signee finishes, hand the device to the secondary signee (same-device flow), switching the active session and re-filtering the surface to the secondary signee’s fields.",
15134
+ "descriptionKey": "ui.agent.signing.workflows.handOffToSecondarySignee",
15324
15135
  "uiActions": [],
15325
15136
  "apiActions": [
15326
- "signing.completeEnvelope"
15137
+ "signing.handOffToSecondarySignee"
15327
15138
  ]
15328
15139
  }
15329
15140
  ]