@alfadocs/ui-kit-debug 1.90.1 → 1.91.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 (380) hide show
  1. package/dist/_chunks/address-autocomplete-DR4Xn23Z.js +519 -0
  2. package/dist/_chunks/address-autocomplete-DR4Xn23Z.js.map +1 -0
  3. package/dist/_chunks/{address-fields-CfnXK8RT.js → address-fields-qxQkGwPf.js} +5 -5
  4. package/dist/_chunks/{address-fields-CfnXK8RT.js.map → address-fields-qxQkGwPf.js.map} +1 -1
  5. package/dist/_chunks/{agenda-card-BDuvreCe.js → agenda-card-BhY342MA.js} +2 -2
  6. package/dist/_chunks/{agenda-card-BDuvreCe.js.map → agenda-card-BhY342MA.js.map} +1 -1
  7. package/dist/_chunks/{agenda-tray-D-jvptdo.js → agenda-tray-BmxBGEci.js} +2 -2
  8. package/dist/_chunks/{agenda-tray-D-jvptdo.js.map → agenda-tray-BmxBGEci.js.map} +1 -1
  9. package/dist/_chunks/{ai-permission-notice-CoW22jx1.js → ai-permission-notice-VNh3W57L.js} +2 -2
  10. package/dist/_chunks/{ai-permission-notice-CoW22jx1.js.map → ai-permission-notice-VNh3W57L.js.map} +1 -1
  11. package/dist/_chunks/{alia-sidebar-CsTRAxC8.js → alia-sidebar-ovRX_oti.js} +3 -3
  12. package/dist/_chunks/{alia-sidebar-CsTRAxC8.js.map → alia-sidebar-ovRX_oti.js.map} +1 -1
  13. package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js → anamnesis-summary-rows-EKPfVCmh.js} +2 -2
  14. package/dist/_chunks/{anamnesis-summary-rows-fbEQwcuW.js.map → anamnesis-summary-rows-EKPfVCmh.js.map} +1 -1
  15. package/dist/_chunks/{appointment-card-5JMWi9_f.js → appointment-card-Bstc1p7a.js} +2 -2
  16. package/dist/_chunks/{appointment-card-5JMWi9_f.js.map → appointment-card-Bstc1p7a.js.map} +1 -1
  17. package/dist/_chunks/{appointment-peek-39BwVMUf.js → appointment-peek-C0kKqnFk.js} +2 -2
  18. package/dist/_chunks/{appointment-peek-39BwVMUf.js.map → appointment-peek-C0kKqnFk.js.map} +1 -1
  19. package/dist/_chunks/{appointment-timeline-1-Za2miy.js → appointment-timeline-rbt9AwHO.js} +2 -2
  20. package/dist/_chunks/{appointment-timeline-1-Za2miy.js.map → appointment-timeline-rbt9AwHO.js.map} +1 -1
  21. package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js → appointment-tray-6zd8RLIL.js} +2 -2
  22. package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js.map → appointment-tray-6zd8RLIL.js.map} +1 -1
  23. package/dist/_chunks/autocomplete-BXMcNoa3.js +562 -0
  24. package/dist/_chunks/autocomplete-BXMcNoa3.js.map +1 -0
  25. package/dist/_chunks/{avatar-BPiPL7ND.js → avatar-a6042Ox2.js} +52 -52
  26. package/dist/_chunks/avatar-a6042Ox2.js.map +1 -0
  27. package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js → balance-badge-cell-BtJvre1-.js} +3 -3
  28. package/dist/_chunks/{balance-badge-cell-C4FYwmrZ.js.map → balance-badge-cell-BtJvre1-.js.map} +1 -1
  29. package/dist/_chunks/booking-opt_h7Uc.js +4590 -0
  30. package/dist/_chunks/booking-opt_h7Uc.js.map +1 -0
  31. package/dist/_chunks/{calendar-ClB-jWH1.js → calendar-CmiMS4FJ.js} +2 -2
  32. package/dist/_chunks/{calendar-ClB-jWH1.js.map → calendar-CmiMS4FJ.js.map} +1 -1
  33. package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js → calendar-appointment-editor-dialog-sJKLoVJ2.js} +11 -11
  34. package/dist/_chunks/{calendar-appointment-editor-dialog-C1v2MNE4.js.map → calendar-appointment-editor-dialog-sJKLoVJ2.js.map} +1 -1
  35. package/dist/_chunks/{care-plan-card-BYCPNDvA.js → care-plan-card-DD9rEWYN.js} +2 -2
  36. package/dist/_chunks/{care-plan-card-BYCPNDvA.js.map → care-plan-card-DD9rEWYN.js.map} +1 -1
  37. package/dist/_chunks/{care-plan-header-BzsAg6oY.js → care-plan-header-CXUJQt8Q.js} +2 -2
  38. package/dist/_chunks/{care-plan-header-BzsAg6oY.js.map → care-plan-header-CXUJQt8Q.js.map} +1 -1
  39. package/dist/_chunks/{chat-message-CmFJdEre.js → chat-message-LRO_6Ee3.js} +2 -2
  40. package/dist/_chunks/{chat-message-CmFJdEre.js.map → chat-message-LRO_6Ee3.js.map} +1 -1
  41. package/dist/_chunks/{checkbox-BjDv-r3o.js → checkbox-a7Sh-dXb.js} +32 -31
  42. package/dist/_chunks/checkbox-a7Sh-dXb.js.map +1 -0
  43. package/dist/_chunks/{checkbox-group-Cw2H5qaq.js → checkbox-group-eGdv9fZc.js} +2 -2
  44. package/dist/_chunks/{checkbox-group-Cw2H5qaq.js.map → checkbox-group-eGdv9fZc.js.map} +1 -1
  45. package/dist/_chunks/{city-input-CJVGswxp.js → city-input-CA59CjnV.js} +2 -2
  46. package/dist/_chunks/{city-input-CJVGswxp.js.map → city-input-CA59CjnV.js.map} +1 -1
  47. package/dist/_chunks/{clinical-note-card-Caidqcwa.js → clinical-note-card-Cut2lNmu.js} +3 -3
  48. package/dist/_chunks/{clinical-note-card-Caidqcwa.js.map → clinical-note-card-Cut2lNmu.js.map} +1 -1
  49. package/dist/_chunks/{combobox-CDPm_n0p.js → combobox-D-gpgEDy.js} +314 -294
  50. package/dist/_chunks/combobox-D-gpgEDy.js.map +1 -0
  51. package/dist/_chunks/{contact-card-Czu60UvU.js → contact-card-ClvEDM9e.js} +2 -2
  52. package/dist/_chunks/{contact-card-Czu60UvU.js.map → contact-card-ClvEDM9e.js.map} +1 -1
  53. package/dist/_chunks/{contact-profile-card-Da1vmJQI.js → contact-profile-card-CX45mZA3.js} +106 -95
  54. package/dist/_chunks/contact-profile-card-CX45mZA3.js.map +1 -0
  55. package/dist/_chunks/{country-select-DQ8q7ypA.js → country-select-BfmX9y5i.js} +2 -2
  56. package/dist/_chunks/{country-select-DQ8q7ypA.js.map → country-select-BfmX9y5i.js.map} +1 -1
  57. package/dist/_chunks/{data-table-B_IcS0Ke.js → data-table-CqQgoNsU.js} +2 -2
  58. package/dist/_chunks/{data-table-B_IcS0Ke.js.map → data-table-CqQgoNsU.js.map} +1 -1
  59. package/dist/_chunks/{dependent-selector-C4kOgO8b.js → dependent-selector-CyNi7M_f.js} +2 -2
  60. package/dist/_chunks/{dependent-selector-C4kOgO8b.js.map → dependent-selector-CyNi7M_f.js.map} +1 -1
  61. package/dist/_chunks/{entity-summary-BLxzSSXK.js → entity-summary-B_bOloqP.js} +3 -3
  62. package/dist/_chunks/{entity-summary-BLxzSSXK.js.map → entity-summary-B_bOloqP.js.map} +1 -1
  63. package/dist/_chunks/error-page-B0fGNTRB.js +419 -0
  64. package/dist/_chunks/error-page-B0fGNTRB.js.map +1 -0
  65. package/dist/_chunks/{face-scheme-BgJGFDTa.js → face-scheme-BKSE98bo.js} +2 -2
  66. package/dist/_chunks/{face-scheme-BgJGFDTa.js.map → face-scheme-BKSE98bo.js.map} +1 -1
  67. package/dist/_chunks/{file-manager-C9YOT-Dn.js → file-manager-BnI1ZWZu.js} +2 -2
  68. package/dist/_chunks/{file-manager-C9YOT-Dn.js.map → file-manager-BnI1ZWZu.js.map} +1 -1
  69. package/dist/_chunks/{header-settings-BVhjndtV.js → header-settings-BeA2fnol.js} +24 -23
  70. package/dist/_chunks/header-settings-BeA2fnol.js.map +1 -0
  71. package/dist/_chunks/{heatmap-HTz3Jvzy.js → heatmap-fCxwNz2o.js} +2 -2
  72. package/dist/_chunks/{heatmap-HTz3Jvzy.js.map → heatmap-fCxwNz2o.js.map} +1 -1
  73. package/dist/_chunks/{languages-CZqBaPwI.js → languages-CGLX6Qpe.js} +3 -15
  74. package/dist/_chunks/languages-CGLX6Qpe.js.map +1 -0
  75. package/dist/_chunks/link-DtCfnLnF.js +332 -0
  76. package/dist/_chunks/link-DtCfnLnF.js.map +1 -0
  77. package/dist/_chunks/{link-cell-renderer-C0ynDik7.js → link-cell-renderer-BS3V4LA6.js} +4 -4
  78. package/dist/_chunks/{link-cell-renderer-C0ynDik7.js.map → link-cell-renderer-BS3V4LA6.js.map} +1 -1
  79. package/dist/_chunks/{login-dev-card-DYwbL5sD.js → login-dev-card-BZBR58mu.js} +2 -2
  80. package/dist/_chunks/{login-dev-card-DYwbL5sD.js.map → login-dev-card-BZBR58mu.js.map} +1 -1
  81. package/dist/_chunks/{map-view-Bvi06RVh.js → map-view-UrNgxBy3.js} +260 -237
  82. package/dist/_chunks/map-view-UrNgxBy3.js.map +1 -0
  83. package/dist/_chunks/{index.modern-BeRXQVdc.js → maps-core-gate-DkNqGkm3.js} +360 -319
  84. package/dist/_chunks/maps-core-gate-DkNqGkm3.js.map +1 -0
  85. package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js → marketplace-app-shell-CJQtx3sv.js} +3 -3
  86. package/dist/_chunks/{marketplace-app-shell-x_abo_ye.js.map → marketplace-app-shell-CJQtx3sv.js.map} +1 -1
  87. package/dist/_chunks/{message-card-CvCnCssc.js → message-card-B6SduXJv.js} +2 -2
  88. package/dist/_chunks/{message-card-CvCnCssc.js.map → message-card-B6SduXJv.js.map} +1 -1
  89. package/dist/_chunks/{message-tray-IJYvy6Cf.js → message-tray-Cllf-v0G.js} +2 -2
  90. package/dist/_chunks/{message-tray-IJYvy6Cf.js.map → message-tray-Cllf-v0G.js.map} +1 -1
  91. package/dist/_chunks/{nav-grid-Oc4aCPrg.js → nav-grid-D2xVcHTO.js} +2 -2
  92. package/dist/_chunks/{nav-grid-Oc4aCPrg.js.map → nav-grid-D2xVcHTO.js.map} +1 -1
  93. package/dist/_chunks/{note-attachment-DIlIQ7JF.js → note-attachment-cnj2JRrg.js} +2 -2
  94. package/dist/_chunks/{note-attachment-DIlIQ7JF.js.map → note-attachment-cnj2JRrg.js.map} +1 -1
  95. package/dist/_chunks/{note-timeline-KzL52MmB.js → note-timeline-BrjHBQfx.js} +2 -2
  96. package/dist/_chunks/{note-timeline-KzL52MmB.js.map → note-timeline-BrjHBQfx.js.map} +1 -1
  97. package/dist/_chunks/{notes-panel-CZO1qsD-.js → notes-panel-ib7I3aNf.js} +3 -3
  98. package/dist/_chunks/{notes-panel-CZO1qsD-.js.map → notes-panel-ib7I3aNf.js.map} +1 -1
  99. package/dist/_chunks/{operator-hero-6aAIQaFZ.js → operator-hero-C_5B-8Qp.js} +43 -41
  100. package/dist/_chunks/operator-hero-C_5B-8Qp.js.map +1 -0
  101. package/dist/_chunks/{patient-details-D0P5eog5.js → patient-details-BjcUpD9S.js} +3 -3
  102. package/dist/_chunks/{patient-details-D0P5eog5.js.map → patient-details-BjcUpD9S.js.map} +1 -1
  103. package/dist/_chunks/{patient-field-row-R73dZJY6.js → patient-field-row-B0tdiaWi.js} +6 -6
  104. package/dist/_chunks/{patient-field-row-R73dZJY6.js.map → patient-field-row-B0tdiaWi.js.map} +1 -1
  105. package/dist/_chunks/patient-search-Ca9j5cWb.js +1306 -0
  106. package/dist/_chunks/patient-search-Ca9j5cWb.js.map +1 -0
  107. package/dist/_chunks/{patient-summary-card-6U74-ivO.js → patient-summary-card-Cvv6_Ugk.js} +4 -4
  108. package/dist/_chunks/{patient-summary-card-6U74-ivO.js.map → patient-summary-card-Cvv6_Ugk.js.map} +1 -1
  109. package/dist/_chunks/{payment-request-card-MndSlVoK.js → payment-request-card-BfGauFY0.js} +2 -2
  110. package/dist/_chunks/{payment-request-card-MndSlVoK.js.map → payment-request-card-BfGauFY0.js.map} +1 -1
  111. package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js → periodontal-diagnosis-DD3hrg9X.js} +2 -2
  112. package/dist/_chunks/{periodontal-diagnosis-B9YmmVmM.js.map → periodontal-diagnosis-DD3hrg9X.js.map} +1 -1
  113. package/dist/_chunks/{permission-matrix-BoQjENGV.js → permission-matrix-BJ6sg3Zp.js} +3 -3
  114. package/dist/_chunks/{permission-matrix-BoQjENGV.js.map → permission-matrix-BJ6sg3Zp.js.map} +1 -1
  115. package/dist/_chunks/{practice-profile-hero-qfrsFQI_.js → practice-profile-hero-ClzE-4CB.js} +76 -73
  116. package/dist/_chunks/practice-profile-hero-ClzE-4CB.js.map +1 -0
  117. package/dist/_chunks/{practice-results-B61krlwu.js → practice-results-CQ_KvEXK.js} +517 -514
  118. package/dist/_chunks/practice-results-CQ_KvEXK.js.map +1 -0
  119. package/dist/_chunks/{product-hub-panel-Blag8t8f.js → product-hub-panel-bHi7lkVD.js} +2 -2
  120. package/dist/_chunks/{product-hub-panel-Blag8t8f.js.map → product-hub-panel-bHi7lkVD.js.map} +1 -1
  121. package/dist/_chunks/{province-select-CPdTwEob.js → province-select-D64whw0m.js} +2 -2
  122. package/dist/_chunks/{province-select-CPdTwEob.js.map → province-select-D64whw0m.js.map} +1 -1
  123. package/dist/_chunks/public-footer-IoRWoAMz.js +596 -0
  124. package/dist/_chunks/public-footer-IoRWoAMz.js.map +1 -0
  125. package/dist/_chunks/{registration-form-DmP3YUfp.js → registration-form-CRm6DaB9.js} +2 -2
  126. package/dist/_chunks/{registration-form-DmP3YUfp.js.map → registration-form-CRm6DaB9.js.map} +1 -1
  127. package/dist/_chunks/{reviews-panel-UzQQLb-z.js → reviews-panel-B7InBORU.js} +42 -41
  128. package/dist/_chunks/reviews-panel-B7InBORU.js.map +1 -0
  129. package/dist/_chunks/{rich-text-editor-BZTyxQBd.js → rich-text-editor-BfEu57dk.js} +3 -3
  130. package/dist/_chunks/{rich-text-editor-BZTyxQBd.js.map → rich-text-editor-BfEu57dk.js.map} +1 -1
  131. package/dist/_chunks/{signature-request-DjY-X62H.js → signature-request-DvhyrRpn.js} +3 -3
  132. package/dist/_chunks/{signature-request-DjY-X62H.js.map → signature-request-DvhyrRpn.js.map} +1 -1
  133. package/dist/_chunks/{signed-out-frame-G-3ATOdu.js → signed-out-frame-CgRXOUzi.js} +2 -2
  134. package/dist/_chunks/{signed-out-frame-G-3ATOdu.js.map → signed-out-frame-CgRXOUzi.js.map} +1 -1
  135. package/dist/_chunks/{slot-grid-Bb13H9Rl.js → slot-grid-B-IAFX3C.js} +183 -170
  136. package/dist/_chunks/slot-grid-B-IAFX3C.js.map +1 -0
  137. package/dist/_chunks/{task-editor-BOETWbjU.js → task-editor-CI1SKUNc.js} +2 -2
  138. package/dist/_chunks/{task-editor-BOETWbjU.js.map → task-editor-CI1SKUNc.js.map} +1 -1
  139. package/dist/_chunks/{timeline-wUuTDFY_.js → timeline-BcYHdP56.js} +2 -2
  140. package/dist/_chunks/{timeline-wUuTDFY_.js.map → timeline-BcYHdP56.js.map} +1 -1
  141. package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js → use-appointment-details-read-D8vDg0sg.js} +5 -5
  142. package/dist/_chunks/{use-appointment-details-read-CWN-nJCZ.js.map → use-appointment-details-read-D8vDg0sg.js.map} +1 -1
  143. package/dist/_chunks/{voice-control-panel-BziKE-KK.js → voice-control-panel-BP0otrID.js} +2 -2
  144. package/dist/_chunks/{voice-control-panel-BziKE-KK.js.map → voice-control-panel-BP0otrID.js.map} +1 -1
  145. package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js → workflow-webhook-action-B_nBJ_ht.js} +2 -2
  146. package/dist/_chunks/{workflow-webhook-action-DulCpCRz.js.map → workflow-webhook-action-B_nBJ_ht.js.map} +1 -1
  147. package/dist/agent-catalog.json +3 -3
  148. package/dist/agent-i18n/en.json +1 -1
  149. package/dist/components/_shared/maps-core-gate.d.ts +18 -0
  150. package/dist/components/_shared/maps-core-gate.d.ts.map +1 -0
  151. package/dist/components/_shared/social-brand-icons.d.ts +29 -0
  152. package/dist/components/_shared/social-brand-icons.d.ts.map +1 -0
  153. package/dist/components/address-autocomplete/address-autocomplete.d.ts.map +1 -1
  154. package/dist/components/address-autocomplete/index.js +1 -1
  155. package/dist/components/address-fields/index.js +1 -1
  156. package/dist/components/agenda-card/index.js +1 -1
  157. package/dist/components/agenda-tray/index.js +1 -1
  158. package/dist/components/ai-permission-notice/index.js +1 -1
  159. package/dist/components/appointment-card/index.js +2 -2
  160. package/dist/components/appointment-details-panel/index.js +1 -1
  161. package/dist/components/appointment-peek/index.js +1 -1
  162. package/dist/components/appointment-timeline/index.js +1 -1
  163. package/dist/components/autocomplete/autocomplete.agent.d.ts.map +1 -1
  164. package/dist/components/autocomplete/autocomplete.d.ts.map +1 -1
  165. package/dist/components/autocomplete/index.js +1 -1
  166. package/dist/components/avatar/avatar.d.ts +14 -0
  167. package/dist/components/avatar/avatar.d.ts.map +1 -1
  168. package/dist/components/avatar/index.js +1 -1
  169. package/dist/components/booking/booking-types.d.ts +26 -0
  170. package/dist/components/booking/booking-types.d.ts.map +1 -1
  171. package/dist/components/booking/booking.d.ts.map +1 -1
  172. package/dist/components/booking/details-form.d.ts.map +1 -1
  173. package/dist/components/booking/index.js +1 -1
  174. package/dist/components/booking/slot-load-state.d.ts +11 -0
  175. package/dist/components/booking/slot-load-state.d.ts.map +1 -0
  176. package/dist/components/calendar/index.js +1 -1
  177. package/dist/components/care-plan-card/index.js +1 -1
  178. package/dist/components/care-plan-header/index.js +1 -1
  179. package/dist/components/chat-message/index.js +1 -1
  180. package/dist/components/checkbox/checkbox.d.ts.map +1 -1
  181. package/dist/components/checkbox/index.js +1 -1
  182. package/dist/components/checkbox-group/index.js +1 -1
  183. package/dist/components/city-input/index.js +1 -1
  184. package/dist/components/clinical-note-card/index.js +1 -1
  185. package/dist/components/combobox/combobox.d.ts.map +1 -1
  186. package/dist/components/combobox/index.js +1 -1
  187. package/dist/components/contact-card/index.js +1 -1
  188. package/dist/components/contact-profile-card/index.js +1 -1
  189. package/dist/components/country-select/index.js +1 -1
  190. package/dist/components/data-table/index.js +2 -2
  191. package/dist/components/dependent-selector/index.js +1 -1
  192. package/dist/components/entity-summary/index.js +1 -1
  193. package/dist/components/face-scheme/index.js +1 -1
  194. package/dist/components/file-manager/index.js +1 -1
  195. package/dist/components/header-settings/header-settings.d.ts +2 -1
  196. package/dist/components/header-settings/header-settings.d.ts.map +1 -1
  197. package/dist/components/header-settings/index.js +1 -1
  198. package/dist/components/heatmap/index.js +1 -1
  199. package/dist/components/link/index.js +1 -1
  200. package/dist/components/link/link.d.ts +10 -1
  201. package/dist/components/link/link.d.ts.map +1 -1
  202. package/dist/components/link/social-url.d.ts +71 -0
  203. package/dist/components/link/social-url.d.ts.map +1 -0
  204. package/dist/components/map-view/index.js +1 -1
  205. package/dist/components/map-view/map-view.d.ts.map +1 -1
  206. package/dist/components/message-card/index.js +1 -1
  207. package/dist/components/message-tray/index.js +1 -1
  208. package/dist/components/nav-grid/index.js +1 -1
  209. package/dist/components/note-timeline/index.js +1 -1
  210. package/dist/components/notes-panel/index.js +1 -1
  211. package/dist/components/operator-hero/index.js +1 -1
  212. package/dist/components/operator-hero/operator-hero.d.ts +6 -0
  213. package/dist/components/operator-hero/operator-hero.d.ts.map +1 -1
  214. package/dist/components/patient-details/index.js +1 -1
  215. package/dist/components/patient-search/index.js +1 -1
  216. package/dist/components/patient-search/patient-search.d.ts.map +1 -1
  217. package/dist/components/patient-summary-card/index.js +1 -1
  218. package/dist/components/patient-table/index.js +1 -1
  219. package/dist/components/payment-card/index.js +1 -1
  220. package/dist/components/periodontal-diagnosis/index.js +1 -1
  221. package/dist/components/permission-matrix/index.js +1 -1
  222. package/dist/components/practice-profile-hero/index.js +1 -1
  223. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +6 -0
  224. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts.map +1 -1
  225. package/dist/components/practice-results/index.js +1 -1
  226. package/dist/components/practice-results/practice-results.d.ts +8 -2
  227. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  228. package/dist/components/product-hub-tray/index.js +1 -1
  229. package/dist/components/province-select/index.js +1 -1
  230. package/dist/components/public-footer/index.js +1 -1
  231. package/dist/components/public-footer/public-footer.d.ts +13 -1
  232. package/dist/components/public-footer/public-footer.d.ts.map +1 -1
  233. package/dist/components/public-footer/socials.d.ts +6 -5
  234. package/dist/components/public-footer/socials.d.ts.map +1 -1
  235. package/dist/components/reviews-panel/index.js +1 -1
  236. package/dist/components/reviews-panel/reviews-panel.d.ts.map +1 -1
  237. package/dist/components/rich-text-editor/index.js +1 -1
  238. package/dist/components/slot-grid/index.js +1 -1
  239. package/dist/components/slot-grid/slot-grid.d.ts +2 -0
  240. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
  241. package/dist/components/task-editor/index.js +1 -1
  242. package/dist/components/timeline/index.js +1 -1
  243. package/dist/components/voice-control-panel/index.js +1 -1
  244. package/dist/host-compat.css +1 -10
  245. package/dist/i18n/config.d.ts.map +1 -1
  246. package/dist/i18n/config.js +224 -96
  247. package/dist/i18n/config.js.map +1 -1
  248. package/dist/i18n/locales/ar.d.ts +3 -0
  249. package/dist/i18n/locales/ar.d.ts.map +1 -1
  250. package/dist/i18n/locales/ar.js +4 -1
  251. package/dist/i18n/locales/ar.js.map +1 -1
  252. package/dist/i18n/locales/de.d.ts +3 -0
  253. package/dist/i18n/locales/de.d.ts.map +1 -1
  254. package/dist/i18n/locales/de.js +4 -1
  255. package/dist/i18n/locales/de.js.map +1 -1
  256. package/dist/i18n/locales/el.d.ts +3 -0
  257. package/dist/i18n/locales/el.d.ts.map +1 -1
  258. package/dist/i18n/locales/el.js +4 -1
  259. package/dist/i18n/locales/el.js.map +1 -1
  260. package/dist/i18n/locales/en.d.ts +3 -0
  261. package/dist/i18n/locales/en.d.ts.map +1 -1
  262. package/dist/i18n/locales/en.js +3 -0
  263. package/dist/i18n/locales/en.js.map +1 -1
  264. package/dist/i18n/locales/es.d.ts +3 -0
  265. package/dist/i18n/locales/es.d.ts.map +1 -1
  266. package/dist/i18n/locales/es.js +4 -1
  267. package/dist/i18n/locales/es.js.map +1 -1
  268. package/dist/i18n/locales/fr.d.ts +3 -0
  269. package/dist/i18n/locales/fr.d.ts.map +1 -1
  270. package/dist/i18n/locales/fr.js +4 -1
  271. package/dist/i18n/locales/fr.js.map +1 -1
  272. package/dist/i18n/locales/hi.d.ts +3 -0
  273. package/dist/i18n/locales/hi.d.ts.map +1 -1
  274. package/dist/i18n/locales/hi.js +4 -1
  275. package/dist/i18n/locales/hi.js.map +1 -1
  276. package/dist/i18n/locales/it.d.ts +3 -0
  277. package/dist/i18n/locales/it.d.ts.map +1 -1
  278. package/dist/i18n/locales/it.js +4 -1
  279. package/dist/i18n/locales/it.js.map +1 -1
  280. package/dist/i18n/locales/ja.d.ts +3 -0
  281. package/dist/i18n/locales/ja.d.ts.map +1 -1
  282. package/dist/i18n/locales/ja.js +4 -1
  283. package/dist/i18n/locales/ja.js.map +1 -1
  284. package/dist/i18n/locales/nl.d.ts +3 -0
  285. package/dist/i18n/locales/nl.d.ts.map +1 -1
  286. package/dist/i18n/locales/nl.js +4 -1
  287. package/dist/i18n/locales/nl.js.map +1 -1
  288. package/dist/i18n/locales/pl.d.ts +3 -0
  289. package/dist/i18n/locales/pl.d.ts.map +1 -1
  290. package/dist/i18n/locales/pl.js +4 -1
  291. package/dist/i18n/locales/pl.js.map +1 -1
  292. package/dist/i18n/locales/pt.d.ts +3 -0
  293. package/dist/i18n/locales/pt.d.ts.map +1 -1
  294. package/dist/i18n/locales/pt.js +4 -1
  295. package/dist/i18n/locales/pt.js.map +1 -1
  296. package/dist/i18n/locales/ro.d.ts +3 -0
  297. package/dist/i18n/locales/ro.d.ts.map +1 -1
  298. package/dist/i18n/locales/ro.js +4 -1
  299. package/dist/i18n/locales/ro.js.map +1 -1
  300. package/dist/i18n/locales/ru.d.ts +3 -0
  301. package/dist/i18n/locales/ru.d.ts.map +1 -1
  302. package/dist/i18n/locales/ru.js +4 -1
  303. package/dist/i18n/locales/ru.js.map +1 -1
  304. package/dist/i18n/locales/sq.d.ts +3 -0
  305. package/dist/i18n/locales/sq.d.ts.map +1 -1
  306. package/dist/i18n/locales/sq.js +4 -1
  307. package/dist/i18n/locales/sq.js.map +1 -1
  308. package/dist/i18n/locales/sv.d.ts +3 -0
  309. package/dist/i18n/locales/sv.d.ts.map +1 -1
  310. package/dist/i18n/locales/sv.js +4 -1
  311. package/dist/i18n/locales/sv.js.map +1 -1
  312. package/dist/i18n/locales/tr.d.ts +3 -0
  313. package/dist/i18n/locales/tr.d.ts.map +1 -1
  314. package/dist/i18n/locales/tr.js +4 -1
  315. package/dist/i18n/locales/tr.js.map +1 -1
  316. package/dist/i18n/locales/zh.d.ts +3 -0
  317. package/dist/i18n/locales/zh.d.ts.map +1 -1
  318. package/dist/i18n/locales/zh.js +4 -1
  319. package/dist/i18n/locales/zh.js.map +1 -1
  320. package/dist/index.js +68 -68
  321. package/dist/locales/ar.json +4 -1
  322. package/dist/locales/de.json +4 -1
  323. package/dist/locales/el.json +4 -1
  324. package/dist/locales/en.json +3 -0
  325. package/dist/locales/es.json +4 -1
  326. package/dist/locales/fr.json +4 -1
  327. package/dist/locales/hi.json +4 -1
  328. package/dist/locales/it.json +4 -1
  329. package/dist/locales/ja.json +4 -1
  330. package/dist/locales/nl.json +4 -1
  331. package/dist/locales/pl.json +4 -1
  332. package/dist/locales/pt.json +4 -1
  333. package/dist/locales/ro.json +4 -1
  334. package/dist/locales/ru.json +4 -1
  335. package/dist/locales/sq.json +4 -1
  336. package/dist/locales/sv.json +4 -1
  337. package/dist/locales/tr.json +4 -1
  338. package/dist/locales/zh.json +4 -1
  339. package/dist/patterns/alia-assistant/index.js +1 -1
  340. package/dist/patterns/anamnesis/index.js +1 -1
  341. package/dist/patterns/calendar/index.js +1 -1
  342. package/dist/patterns/error-page/error-page-english.d.ts +71 -0
  343. package/dist/patterns/error-page/error-page-english.d.ts.map +1 -0
  344. package/dist/patterns/error-page/error-page.d.ts.map +1 -1
  345. package/dist/patterns/error-page/index.js +1 -1
  346. package/dist/patterns/login-form/index.js +1 -1
  347. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  348. package/dist/patterns/registration-form/index.js +1 -1
  349. package/dist/patterns/signature-request/index.js +1 -1
  350. package/dist/patterns/signed-out-frame/index.js +1 -1
  351. package/dist/patterns/workflow-webhook-action/index.js +1 -1
  352. package/dist/tokens.css +1 -1
  353. package/package.json +1 -1
  354. package/dist/_chunks/address-autocomplete-bPR2mNBt.js +0 -498
  355. package/dist/_chunks/address-autocomplete-bPR2mNBt.js.map +0 -1
  356. package/dist/_chunks/autocomplete-CnB1mHGc.js +0 -539
  357. package/dist/_chunks/autocomplete-CnB1mHGc.js.map +0 -1
  358. package/dist/_chunks/avatar-BPiPL7ND.js.map +0 -1
  359. package/dist/_chunks/booking-C0FoW8Yx.js +0 -4336
  360. package/dist/_chunks/booking-C0FoW8Yx.js.map +0 -1
  361. package/dist/_chunks/checkbox-BjDv-r3o.js.map +0 -1
  362. package/dist/_chunks/combobox-CDPm_n0p.js.map +0 -1
  363. package/dist/_chunks/contact-profile-card-Da1vmJQI.js.map +0 -1
  364. package/dist/_chunks/error-page-Bhai-spN.js +0 -344
  365. package/dist/_chunks/error-page-Bhai-spN.js.map +0 -1
  366. package/dist/_chunks/header-settings-BVhjndtV.js.map +0 -1
  367. package/dist/_chunks/index.modern-BeRXQVdc.js.map +0 -1
  368. package/dist/_chunks/languages-CZqBaPwI.js.map +0 -1
  369. package/dist/_chunks/link-N5_YpLtm.js +0 -138
  370. package/dist/_chunks/link-N5_YpLtm.js.map +0 -1
  371. package/dist/_chunks/map-view-Bvi06RVh.js.map +0 -1
  372. package/dist/_chunks/operator-hero-6aAIQaFZ.js.map +0 -1
  373. package/dist/_chunks/patient-search-CCOUZABE.js +0 -1196
  374. package/dist/_chunks/patient-search-CCOUZABE.js.map +0 -1
  375. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js.map +0 -1
  376. package/dist/_chunks/practice-results-B61krlwu.js.map +0 -1
  377. package/dist/_chunks/public-footer-CXOrdAaS.js +0 -568
  378. package/dist/_chunks/public-footer-CXOrdAaS.js.map +0 -1
  379. package/dist/_chunks/reviews-panel-UzQQLb-z.js.map +0 -1
  380. package/dist/_chunks/slot-grid-Bb13H9Rl.js.map +0 -1
@@ -0,0 +1,1306 @@
1
+ import { jsx as t, jsxs as x } from "react/jsx-runtime";
2
+ import { forwardRef as Ae, useRef as E, useState as J, useEffect as q, useLayoutEffect as We, useMemo as le, useImperativeHandle as Pe, createContext as Qe, useCallback as Z, useId as Se, useContext as Fe } from "react";
3
+ import { c as H } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as D } from "react-i18next";
5
+ import { A as ke } from "./autocomplete-BXMcNoa3.js";
6
+ import { B as Ie } from "./button-DohK_Ak_.js";
7
+ import { C as ee } from "./card-BA4Ig_kn.js";
8
+ import { S as De } from "./slider-pZ95bEm7.js";
9
+ import { A as ye } from "./alert-9kEwDza3.js";
10
+ import { D as Y } from "./dropdown-menu-D1we7oAY.js";
11
+ import { u as Ve } from "./registry-DvAUVLHh.js";
12
+ import { S as Ne } from "./search-QbWPlY5f.js";
13
+ import { X as Ce } from "./x-B5YnXwCz.js";
14
+ import { c as Oe } from "./createLucideIcon-DhHxpK9K.js";
15
+ import { M as Be } from "./map-pin-BaY37-Km.js";
16
+ import { S as Ke } from "./stethoscope-sZXGC43m.js";
17
+ import { C as ze } from "./chevron-down-DWE7GSq9.js";
18
+ /**
19
+ * @license lucide-react v1.22.0 - ISC
20
+ *
21
+ * This source code is licensed under the ISC license.
22
+ * See the LICENSE file in the root directory of this source tree.
23
+ */
24
+ const Me = [
25
+ ["line", { x1: "2", x2: "5", y1: "12", y2: "12", key: "bvdh0s" }],
26
+ ["line", { x1: "19", x2: "22", y1: "12", y2: "12", key: "1tbv5k" }],
27
+ ["line", { x1: "12", x2: "12", y1: "2", y2: "5", key: "11lu5j" }],
28
+ ["line", { x1: "12", x2: "12", y1: "19", y2: "22", key: "x3vr5v" }],
29
+ ["circle", { cx: "12", cy: "12", r: "7", key: "fim9np" }],
30
+ ["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
31
+ ], qe = Oe("locate-fixed", Me), He = {
32
+ id: "patient-search",
33
+ // `filter` is the conceptual capability of this search widget. Building the
34
+ // actual query (WHO/WHERE/WHEN/facets/geo) is host-delegated: selection is
35
+ // owned by the consumer via the `value` / `onChange` contract, so the agent
36
+ // surface here is limited to clearing the query (`reset`) and focusing the
37
+ // primary field. The previous `navigate` / `view_change` capabilities were
38
+ // spurious — the variant is fixed by props (not agent-settable) and no
39
+ // action navigates.
40
+ capabilities: ["filter"],
41
+ state: {
42
+ variant: {
43
+ type: "string",
44
+ descriptionKey: "ui.agent.patientSearch.state.variant",
45
+ description: "Active variant — one of `who-where`, `who-where-when`, `faceted`, `discovery`.",
46
+ read: (e) => e.getVariant()
47
+ }
48
+ },
49
+ actions: {
50
+ reset: {
51
+ safety: "write",
52
+ idempotent: !0,
53
+ descriptionKey: "ui.agent.patientSearch.actions.reset",
54
+ description: "Clear the current search query (WHO, WHERE, WHEN, facets, geo) via the consumer-owned onChange.",
55
+ invoke: (e) => {
56
+ e.reset();
57
+ }
58
+ },
59
+ focus_primary: {
60
+ safety: "read",
61
+ idempotent: !0,
62
+ descriptionKey: "ui.agent.patientSearch.actions.focusPrimary",
63
+ description: "Move keyboard focus to the most-relevant search field for the current variant.",
64
+ invoke: (e) => {
65
+ e.focusPrimary();
66
+ }
67
+ }
68
+ },
69
+ domHooks: {
70
+ root: {
71
+ attr: "data-component",
72
+ value: "patient-search",
73
+ description: "Marks the PatientSearch root region."
74
+ },
75
+ instanceId: {
76
+ attr: "data-component-id",
77
+ sourceProp: "id",
78
+ description: "Sourced from the id prop."
79
+ }
80
+ }
81
+ };
82
+ function S(e, r) {
83
+ if (typeof window > "u") return;
84
+ const a = window.track;
85
+ try {
86
+ a == null || a(e, r);
87
+ } catch {
88
+ }
89
+ }
90
+ const K = [
91
+ "today",
92
+ "tomorrow",
93
+ "this_week",
94
+ "anytime"
95
+ ], $ = [1, 5, 10, 25, 50], ue = 5, Re = 200;
96
+ function $e(e) {
97
+ let r = 0, a = Number.POSITIVE_INFINITY;
98
+ return $.forEach((o, p) => {
99
+ const i = Math.abs(o - e);
100
+ i < a && (a = i, r = p);
101
+ }), r;
102
+ }
103
+ const Ue = H(
104
+ "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)]",
105
+ {
106
+ variants: {
107
+ variant: {
108
+ "who-where": "ds:gap-[var(--spacing-md)]",
109
+ "who-where-when": "ds:gap-[var(--spacing-md)]",
110
+ faceted: "ds:gap-[var(--spacing-md)]",
111
+ discovery: "ds:gap-[var(--spacing-lg)]"
112
+ }
113
+ },
114
+ defaultVariants: { variant: "who-where" }
115
+ }
116
+ ), Ee = Qe(null);
117
+ function Le(e) {
118
+ const r = Fe(Ee), a = E(!1);
119
+ return r ? r[e] : a;
120
+ }
121
+ function te({
122
+ value: e,
123
+ onChange: r,
124
+ loadObjects: a,
125
+ onObjectSelect: o,
126
+ inputRef: p,
127
+ query: i,
128
+ onQueryChange: v
129
+ }) {
130
+ var m, u, c;
131
+ const { t: h } = D("ui"), d = E((m = e.object) == null ? void 0 : m.value);
132
+ q(() => {
133
+ var l, y, g;
134
+ ((l = e.object) == null ? void 0 : l.value) !== d.current && (d.current = (y = e.object) == null ? void 0 : y.value, v(((g = e.object) == null ? void 0 : g.label) ?? ""));
135
+ }, [(u = e.object) == null ? void 0 : u.value, (c = e.object) == null ? void 0 : c.label, v]);
136
+ const s = Z(
137
+ async (l, { signal: y }) => await a(l, { signal: y }),
138
+ [a]
139
+ ), f = (l) => {
140
+ const y = {
141
+ value: l.value,
142
+ label: l.label,
143
+ description: l.description,
144
+ __payload: l.__payload
145
+ };
146
+ v(y.label), d.current = y.value, r({ ...e, object: y }), S("patient_search_object_selected", {
147
+ value: y.value,
148
+ type: y.__payload && typeof y.__payload == "object" ? y.__payload.type : void 0
149
+ }), o == null || o(y);
150
+ }, n = Le("who");
151
+ return /* @__PURE__ */ t(
152
+ "div",
153
+ {
154
+ "data-component": "patient-search-field",
155
+ "data-field": "who",
156
+ onFocus: () => {
157
+ n.current || (n.current = !0, S("patient_search_object_focused"));
158
+ },
159
+ onBlur: (l) => {
160
+ l.currentTarget && !l.currentTarget.contains(l.relatedTarget) && (n.current = !1);
161
+ },
162
+ children: /* @__PURE__ */ t(
163
+ ke,
164
+ {
165
+ ref: p,
166
+ size: "lg",
167
+ value: i,
168
+ onChange: (l) => {
169
+ v(l), e.object && l !== e.object.label && (d.current = void 0, r({ ...e, object: void 0 }));
170
+ },
171
+ onSelect: f,
172
+ loadOptions: s,
173
+ debounceMs: Re,
174
+ placeholder: h("patientSearch.who.placeholder"),
175
+ "aria-label": h("patientSearch.who.label"),
176
+ startAdornment: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" })
177
+ }
178
+ )
179
+ }
180
+ );
181
+ }
182
+ const we = [
183
+ "ds:inline-flex ds:items-center ds:justify-center",
184
+ "ds:size-8 ds:rounded-[var(--radius-sm)]",
185
+ "ds:text-[color:var(--muted-foreground)] ds:hover:text-[color:var(--primary)]",
186
+ "ds:hover:bg-[color-mix(in_srgb,var(--primary)_8%,transparent)]",
187
+ "ds:aria-pressed:text-[color:var(--primary)]",
188
+ "ds:aria-pressed:bg-[color-mix(in_srgb,var(--primary)_12%,transparent)]",
189
+ "ds:disabled:opacity-50 ds:disabled:cursor-not-allowed",
190
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
191
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
192
+ "ds:forced-colors:focus-visible:outline-[CanvasText]"
193
+ ].join(" ");
194
+ function re({
195
+ value: e,
196
+ onChange: r,
197
+ loadPlaces: a,
198
+ onPlaceSelect: o,
199
+ allowTypedPlace: p,
200
+ inputRef: i,
201
+ defaultRadiusKm: v = ue,
202
+ reverseGeocode: h,
203
+ query: d,
204
+ onQueryChange: s
205
+ }) {
206
+ var M, I, V;
207
+ const { t: f } = D("ui"), n = E((M = e.place) == null ? void 0 : M.value), m = e.geo ? "granted" : "pristine", [u, c] = J(m);
208
+ q(() => {
209
+ var w, _, T;
210
+ ((w = e.place) == null ? void 0 : w.value) !== n.current && (n.current = (_ = e.place) == null ? void 0 : _.value, s(((T = e.place) == null ? void 0 : T.label) ?? ""));
211
+ }, [(I = e.place) == null ? void 0 : I.value, (V = e.place) == null ? void 0 : V.label, s]);
212
+ const l = Z(
213
+ async (w, { signal: _ }) => await a(w, { signal: _ }),
214
+ [a]
215
+ ), y = (w) => {
216
+ const _ = {
217
+ value: w.value,
218
+ label: w.label,
219
+ lat: w.lat,
220
+ lng: w.lng
221
+ };
222
+ s(_.label), n.current = _.value, r({ ...e, place: _, geo: void 0 }), u === "granted" && c("pristine"), S("patient_search_place_selected", { value: _.value }), o == null || o(_);
223
+ }, g = () => {
224
+ if (typeof window > "u" || !(navigator != null && navigator.geolocation)) {
225
+ c("denied"), S("patient_search_geo_denied", { reason: "unsupported" });
226
+ return;
227
+ }
228
+ c("requesting"), S("patient_search_place_focused"), navigator.geolocation.getCurrentPosition(
229
+ async (w) => {
230
+ const { latitude: _, longitude: T } = w.coords;
231
+ let Q;
232
+ try {
233
+ Q = await (h == null ? void 0 : h(_, T));
234
+ } catch {
235
+ Q = void 0;
236
+ }
237
+ const N = v, U = Q ?? f("patientSearch.geo.fallbackLabel"), G = {
238
+ value: `geo:${_.toFixed(4)},${T.toFixed(4)}`,
239
+ label: U,
240
+ lat: _,
241
+ lng: T
242
+ };
243
+ r({
244
+ ...e,
245
+ place: G,
246
+ geo: {
247
+ lat: _,
248
+ lng: T,
249
+ radiusKm: N,
250
+ label: U
251
+ }
252
+ }), c("granted"), S("patient_search_geo_granted", { radiusKm: N });
253
+ },
254
+ () => {
255
+ c("denied"), S("patient_search_geo_denied", { reason: "user" });
256
+ },
257
+ { enableHighAccuracy: !1, maximumAge: 6e4, timeout: 1e4 }
258
+ );
259
+ }, j = () => {
260
+ r({ ...e, geo: void 0, place: void 0 }), s(""), n.current = void 0, c("pristine");
261
+ }, k = u === "granted" && !!e.geo, C = u === "requesting", R = u === "denied", W = Le("where"), ne = R || !!!h ? null : /* @__PURE__ */ x("span", { className: "ds:absolute ds:end-[var(--spacing-xs)] ds:top-1/2 ds:-translate-y-1/2 ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
262
+ k ? /* @__PURE__ */ t(
263
+ "button",
264
+ {
265
+ type: "button",
266
+ "aria-label": f("patientSearch.geo.clear"),
267
+ onClick: j,
268
+ className: we,
269
+ children: /* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-4" })
270
+ }
271
+ ) : null,
272
+ /* @__PURE__ */ t(
273
+ "button",
274
+ {
275
+ type: "button",
276
+ "aria-label": f("patientSearch.geo.cta"),
277
+ "aria-pressed": k || void 0,
278
+ disabled: C,
279
+ onClick: k ? j : g,
280
+ className: we,
281
+ children: /* @__PURE__ */ t(qe, { "aria-hidden": "true", className: "ds:size-4" })
282
+ }
283
+ )
284
+ ] });
285
+ return /* @__PURE__ */ x(
286
+ "div",
287
+ {
288
+ "data-component": "patient-search-field",
289
+ "data-field": "where",
290
+ onFocus: () => {
291
+ W.current || (W.current = !0, S("patient_search_place_focused"));
292
+ },
293
+ onBlur: (w) => {
294
+ w.currentTarget && !w.currentTarget.contains(w.relatedTarget) && (W.current = !1);
295
+ },
296
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
297
+ children: [
298
+ /* @__PURE__ */ x("div", { className: "ds:relative", children: [
299
+ /* @__PURE__ */ t(
300
+ ke,
301
+ {
302
+ ref: i,
303
+ size: "lg",
304
+ value: d,
305
+ onChange: (w) => {
306
+ var _, T;
307
+ if (s(w), (p || e.place) && w !== ((_ = e.place) == null ? void 0 : _.label)) {
308
+ const Q = w.trim(), N = p && Q ? { value: `text:${Q}`, label: Q } : void 0;
309
+ if (n.current = N == null ? void 0 : N.value, (N == null ? void 0 : N.value) === ((T = e.place) == null ? void 0 : T.value) && !e.geo) return;
310
+ r({ ...e, place: N, geo: void 0 }), u === "granted" && c("pristine");
311
+ }
312
+ },
313
+ onSelect: y,
314
+ loadOptions: l,
315
+ debounceMs: Re,
316
+ placeholder: f("patientSearch.where.placeholder"),
317
+ "aria-label": f("patientSearch.where.label"),
318
+ startAdornment: /* @__PURE__ */ t(Be, { "aria-hidden": "true" }),
319
+ endAdornment: R ? void 0 : (
320
+ // Decorative spacer — reserves inline-end room so the typed
321
+ // text doesn't run under the absolutely-positioned overlay.
322
+ // Autocomplete wraps endAdornment in `aria-hidden`, which is
323
+ // correct for this empty span. Granted-state shows an extra
324
+ // clear-X chip, so the spacer doubles in width when granted.
325
+ /* @__PURE__ */ t(
326
+ "span",
327
+ {
328
+ "aria-hidden": "true",
329
+ className: k ? "ds:inline-block ds:size-[4.5rem]" : "ds:inline-block ds:size-8"
330
+ }
331
+ )
332
+ )
333
+ }
334
+ ),
335
+ ne
336
+ ] }),
337
+ R ? (
338
+ // Alert defaults to `role="status"` + `aria-live="polite"` for the
339
+ // `info` variant — the user hears why the field reverted to plain
340
+ // text when their browser blocked the geolocation prompt.
341
+ /* @__PURE__ */ t(ye, { variant: "info", children: /* @__PURE__ */ t(ye.Description, { children: f("patientSearch.geo.denied") }) })
342
+ ) : null
343
+ ]
344
+ }
345
+ );
346
+ }
347
+ function ae({
348
+ value: e,
349
+ onChange: r,
350
+ defaultRadiusKm: a = ue
351
+ }) {
352
+ const { t: o } = D("ui"), [p, i] = J(
353
+ () => {
354
+ var d;
355
+ return $e(((d = e.geo) == null ? void 0 : d.radiusKm) ?? a);
356
+ }
357
+ );
358
+ if (!e.geo) return null;
359
+ const v = (d) => {
360
+ const s = $[d] ?? a;
361
+ r({ ...e, geo: { ...e.geo, radiusKm: s } }), S("patient_search_radius_changed", { radiusKm: s });
362
+ }, h = (d) => {
363
+ const s = $[Math.round(d)] ?? a;
364
+ return o("patientSearch.geo.radiusFormat", { km: s });
365
+ };
366
+ return /* @__PURE__ */ x(
367
+ "div",
368
+ {
369
+ "data-component": "patient-search-geo-radius-bar",
370
+ className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
371
+ children: [
372
+ /* @__PURE__ */ t(
373
+ "span",
374
+ {
375
+ id: "patient-search-radius-label",
376
+ className: "type-meta ds:text-[color:var(--muted-foreground)]",
377
+ children: o("patientSearch.geo.radius")
378
+ }
379
+ ),
380
+ /* @__PURE__ */ t(
381
+ De,
382
+ {
383
+ value: [p],
384
+ min: 0,
385
+ max: $.length - 1,
386
+ step: 1,
387
+ marks: $.map((d, s) => ({
388
+ value: s,
389
+ label: `${d}`
390
+ })),
391
+ formatValue: h,
392
+ alwaysShowValue: !0,
393
+ "aria-labelledby": "patient-search-radius-label",
394
+ onValueChange: (d) => i(d[0] ?? 0),
395
+ onValueCommit: (d) => v(d[0] ?? 0)
396
+ }
397
+ )
398
+ ]
399
+ }
400
+ );
401
+ }
402
+ const Ge = H(
403
+ [
404
+ "ds:inline-flex ds:items-center ds:justify-center",
405
+ "ds:min-h-[var(--min-target-size)]",
406
+ "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
407
+ "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]",
408
+ "ds:rounded-[var(--radius-full)]",
409
+ "type-label ds:font-[var(--font-weight-medium)]",
410
+ "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
411
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
412
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
413
+ "ds:forced-colors:focus-visible:outline-[CanvasText]"
414
+ ].join(" "),
415
+ {
416
+ variants: {
417
+ state: {
418
+ idle: "ds:bg-[var(--secondary)] ds:text-[var(--foreground)] ds:border ds:border-[color:var(--border)] ds:hover:bg-[color-mix(in_srgb,var(--primary)_8%,var(--secondary))]",
419
+ selected: "ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)] ds:border ds:border-transparent ds:font-[var(--font-weight-semibold)]"
420
+ }
421
+ },
422
+ defaultVariants: { state: "idle" }
423
+ }
424
+ );
425
+ function Xe({ value: e, onChange: r }) {
426
+ const { t: a, i18n: o } = D("ui"), p = Se(), i = o.dir() === "rtl", v = E(/* @__PURE__ */ new Map()), h = Z((n) => {
427
+ var m;
428
+ (m = v.current.get(n)) == null || m.focus();
429
+ }, []), d = Z(
430
+ (n, m) => {
431
+ const u = K.indexOf(m), c = K.length, l = i ? "ArrowLeft" : "ArrowRight", y = i ? "ArrowRight" : "ArrowLeft";
432
+ switch (n.key) {
433
+ case l:
434
+ case "ArrowDown": {
435
+ n.preventDefault();
436
+ const g = K[(u + 1) % c];
437
+ r(g), S("patient_search_when_selected", { when: g }), h(g);
438
+ break;
439
+ }
440
+ case y:
441
+ case "ArrowUp": {
442
+ n.preventDefault();
443
+ const g = K[(u - 1 + c) % c];
444
+ r(g), S("patient_search_when_selected", { when: g }), h(g);
445
+ break;
446
+ }
447
+ case "Home": {
448
+ n.preventDefault();
449
+ const g = K[0];
450
+ r(g), S("patient_search_when_selected", { when: g }), h(g);
451
+ break;
452
+ }
453
+ case "End": {
454
+ n.preventDefault();
455
+ const g = K[c - 1];
456
+ r(g), S("patient_search_when_selected", { when: g }), h(g);
457
+ break;
458
+ }
459
+ }
460
+ },
461
+ [h, i, r]
462
+ ), s = e ?? "anytime", f = {
463
+ today: "patientSearch.when.today",
464
+ tomorrow: "patientSearch.when.tomorrow",
465
+ this_week: "patientSearch.when.thisWeek",
466
+ anytime: "patientSearch.when.anytime"
467
+ };
468
+ return /* @__PURE__ */ t(
469
+ "div",
470
+ {
471
+ role: "radiogroup",
472
+ "aria-label": a("patientSearch.when.label"),
473
+ id: p,
474
+ className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
475
+ children: K.map((n) => {
476
+ const m = e === n, u = s === n, c = a(f[n]);
477
+ return /* @__PURE__ */ t(
478
+ "button",
479
+ {
480
+ type: "button",
481
+ role: "radio",
482
+ "aria-checked": m,
483
+ "aria-label": c,
484
+ tabIndex: u ? 0 : -1,
485
+ ref: (l) => {
486
+ l ? v.current.set(n, l) : v.current.delete(n);
487
+ },
488
+ onClick: () => {
489
+ r(n), S("patient_search_when_selected", { when: n });
490
+ },
491
+ onKeyDown: (l) => d(l, n),
492
+ className: Ge({
493
+ state: m ? "selected" : "idle"
494
+ }),
495
+ children: c
496
+ },
497
+ n
498
+ );
499
+ })
500
+ }
501
+ );
502
+ }
503
+ const xe = H(
504
+ [
505
+ "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
506
+ "ds:min-h-[var(--min-target-size)]",
507
+ "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
508
+ "ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]",
509
+ "ds:rounded-[var(--radius-full)]",
510
+ "type-label",
511
+ "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
512
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
513
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
514
+ "ds:forced-colors:focus-visible:outline-[CanvasText]"
515
+ ].join(" "),
516
+ {
517
+ variants: {
518
+ // Matches the WHEN chip strip's `selected` look — solid primary fill,
519
+ // primary-foreground text, transparent border. The earlier
520
+ // `color-mix(primary 12% / secondary)` tint read as a washed-out
521
+ // colour over the grey input row and didn't visually signal "this
522
+ // filter is active" with enough weight. Solid fill matches the kit's
523
+ // toggle-button precedent (SuggestionChip's `suggestion` intent + the
524
+ // ServiceGrid radio's selected state in Booking).
525
+ state: {
526
+ idle: "ds:bg-[var(--secondary)] ds:text-[var(--foreground)] ds:border ds:border-[color:var(--border)] ds:hover:bg-[color-mix(in_srgb,var(--primary)_8%,var(--secondary))]",
527
+ active: "ds:bg-[var(--primary)] ds:text-[var(--primary-foreground)] ds:border ds:border-transparent ds:font-[var(--font-weight-semibold)]"
528
+ }
529
+ },
530
+ defaultVariants: { state: "idle" }
531
+ }
532
+ );
533
+ function Ye({ facets: e, value: r, onChange: a }) {
534
+ const { t: o } = D("ui"), p = le(() => r ?? {}, [r]), i = le(
535
+ () => Object.values(p).some((s) => s && s.length > 0),
536
+ [p]
537
+ ), v = (s, f) => {
538
+ const n = { ...p };
539
+ f.length === 0 ? delete n[s] : n[s] = f, a(n), S("patient_search_facet_changed", { key: s, values: f });
540
+ }, h = (s) => {
541
+ var n;
542
+ const f = (((n = p[s]) == null ? void 0 : n.length) ?? 0) > 0;
543
+ v(s, f ? [] : ["true"]);
544
+ }, d = (s, f) => {
545
+ const n = p[s.key] ?? [], m = n.includes(f);
546
+ let u;
547
+ s.multi ? u = m ? n.filter((c) => c !== f) : [...n, f] : u = m ? [] : [f], v(s.key, u);
548
+ };
549
+ return /* @__PURE__ */ x(
550
+ "div",
551
+ {
552
+ role: "group",
553
+ "aria-label": o("patientSearch.facets.label"),
554
+ className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
555
+ children: [
556
+ e.map((s) => {
557
+ const f = s.options.length === 0, n = p[s.key] ?? [], m = n.length > 0;
558
+ if (f)
559
+ return /* @__PURE__ */ t(
560
+ "button",
561
+ {
562
+ type: "button",
563
+ "aria-pressed": m,
564
+ "aria-label": s.label,
565
+ onClick: () => h(s.key),
566
+ className: xe({
567
+ state: m ? "active" : "idle"
568
+ }),
569
+ children: /* @__PURE__ */ t("span", { children: s.label })
570
+ },
571
+ s.key
572
+ );
573
+ const u = m ? ` (${n.length})` : "";
574
+ return /* @__PURE__ */ x(Y.Root, { children: [
575
+ /* @__PURE__ */ t(Y.Trigger, { asChild: !0, children: /* @__PURE__ */ x(
576
+ "button",
577
+ {
578
+ type: "button",
579
+ "aria-label": `${s.label}${u}`,
580
+ className: xe({
581
+ state: m ? "active" : "idle"
582
+ }),
583
+ children: [
584
+ /* @__PURE__ */ x("span", { children: [
585
+ s.label,
586
+ u
587
+ ] }),
588
+ /* @__PURE__ */ t(
589
+ ze,
590
+ {
591
+ "aria-hidden": "true",
592
+ className: "ds:size-3.5 ds:shrink-0"
593
+ }
594
+ )
595
+ ]
596
+ }
597
+ ) }),
598
+ /* @__PURE__ */ t(Y.Content, { sideOffset: 8, align: "start", children: s.options.map((c) => /* @__PURE__ */ t(
599
+ Y.CheckboxItem,
600
+ {
601
+ checked: n.includes(c.value),
602
+ onSelect: (l) => {
603
+ s.multi && l.preventDefault(), d(s, c.value);
604
+ },
605
+ children: c.label
606
+ },
607
+ c.value
608
+ )) })
609
+ ] }, s.key);
610
+ }),
611
+ i ? /* @__PURE__ */ x(
612
+ "button",
613
+ {
614
+ type: "button",
615
+ onClick: () => {
616
+ a({}), S("patient_search_facet_changed", { key: "*", values: [] });
617
+ },
618
+ className: [
619
+ "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
620
+ "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
621
+ "type-label ds:text-[color:var(--muted-foreground)]",
622
+ "ds:rounded-[var(--radius-sm)]",
623
+ "ds:hover:text-[color:var(--foreground)]",
624
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
625
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
626
+ ].join(" "),
627
+ children: [
628
+ /* @__PURE__ */ t(Ce, { "aria-hidden": "true", className: "ds:size-3.5" }),
629
+ o("patientSearch.facets.clear")
630
+ ]
631
+ }
632
+ ) : null
633
+ ]
634
+ }
635
+ );
636
+ }
637
+ const _e = ["violet", "purple", "magenta", "blue"], Je = H(
638
+ [
639
+ "ds:relative ds:flex ds:h-full ds:flex-col ds:gap-[var(--spacing-sm)]",
640
+ "ds:rounded-[var(--radius-lg)] ds:overflow-hidden",
641
+ "ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)]",
642
+ "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]",
643
+ "ds:bg-[var(--card)] ds:text-[var(--card-foreground)]",
644
+ "ds:border ds:border-[color:var(--card-border)]",
645
+ "ds:shadow-[var(--shadow-sm)]",
646
+ "ds:transition-[transform,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
647
+ "ds:motion-safe:hover:-translate-y-0.5",
648
+ "ds:hover:shadow-[var(--shadow-md)]",
649
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
650
+ "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
651
+ "ds:no-underline"
652
+ ].join(" ")
653
+ ), Ze = H(
654
+ // `inset-x-0` compiles to logical `inset-inline`; the `inset-inline-0`
655
+ // spelling is not a Tailwind utility and compiled to nothing.
656
+ "ds:absolute ds:inset-x-0 ds:top-0 ds:h-[3px] ds:pointer-events-none",
657
+ {
658
+ variants: {
659
+ accent: {
660
+ violet: "ds:bg-[var(--color-violet-500)]",
661
+ purple: "ds:bg-[var(--color-purple-500)]",
662
+ magenta: "ds:bg-[var(--color-magenta-500)]",
663
+ blue: "ds:bg-[var(--color-blue-500)]"
664
+ }
665
+ },
666
+ defaultVariants: { accent: "violet" }
667
+ }
668
+ ), et = H(
669
+ "ds:inline-flex ds:size-9 ds:items-center ds:justify-center ds:rounded-[var(--radius-md)]",
670
+ {
671
+ variants: {
672
+ accent: {
673
+ violet: "ds:bg-[color-mix(in_srgb,var(--color-violet-500)_12%,var(--background))] ds:text-[var(--color-violet-700)]",
674
+ purple: "ds:bg-[color-mix(in_srgb,var(--color-purple-500)_12%,var(--background))] ds:text-[var(--color-purple-700)]",
675
+ magenta: "ds:bg-[color-mix(in_srgb,var(--color-magenta-500)_12%,var(--background))] ds:text-[var(--color-magenta-700)]",
676
+ blue: "ds:bg-[color-mix(in_srgb,var(--color-blue-500)_12%,var(--background))] ds:text-[var(--color-blue-700)]"
677
+ }
678
+ },
679
+ defaultVariants: { accent: "violet" }
680
+ }
681
+ );
682
+ function tt(e, r) {
683
+ return e && e !== "auto" ? e : _e[r % _e.length];
684
+ }
685
+ function rt({ cards: e, headingLevel: r }) {
686
+ const { t: a } = D("ui"), o = `h${r}`, p = Se();
687
+ return e.length === 0 ? /* @__PURE__ */ t("p", { className: "type-body-sm ds:text-[color:var(--muted-foreground)] ds:m-0", children: a("patientSearch.discovery.empty") }) : /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
688
+ /* @__PURE__ */ t(o, { className: "type-title-card ds:text-[var(--foreground)] ds:m-0", children: a("patientSearch.discovery.heading") }),
689
+ /* @__PURE__ */ t(
690
+ "ul",
691
+ {
692
+ className: [
693
+ "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)]",
694
+ "ds:md:grid-cols-2 ds:lg:grid-cols-3",
695
+ "ds:m-0 ds:p-0 ds:list-none"
696
+ ].join(" "),
697
+ children: e.map((i, v) => {
698
+ const h = tt(i.accent, v), d = i.description ? `${p}-${i.id}-description` : void 0;
699
+ return /* @__PURE__ */ t("li", { children: /* @__PURE__ */ x(
700
+ "a",
701
+ {
702
+ href: i.href,
703
+ "data-component": "patient-search-card",
704
+ "data-card-id": i.id,
705
+ "aria-label": i.label,
706
+ "aria-describedby": d,
707
+ onClick: () => S("patient_search_discovery_card_clicked", {
708
+ cardId: i.id
709
+ }),
710
+ className: Je(),
711
+ children: [
712
+ /* @__PURE__ */ t(
713
+ "span",
714
+ {
715
+ "aria-hidden": "true",
716
+ className: Ze({ accent: h })
717
+ }
718
+ ),
719
+ /* @__PURE__ */ x("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-sm)]", children: [
720
+ /* @__PURE__ */ t(
721
+ "span",
722
+ {
723
+ "aria-hidden": "true",
724
+ className: et({ accent: h }),
725
+ children: i.icon ?? /* @__PURE__ */ t(Ke, { className: "ds:size-4", "aria-hidden": "true" })
726
+ }
727
+ ),
728
+ i.badge ? (
729
+ // The badge sits inside a softly-tinted accent bubble
730
+ // (15% accent + 85% background). The text colour must
731
+ // contrast with that mix, not with the accent's canonical
732
+ // foreground — `--accent-foreground` is calibrated against
733
+ // the 100% accent surface and fails AA on the 15% tint.
734
+ // Use `--foreground` which contrasts with the
735
+ // mostly-background mix in both light and dark themes.
736
+ /* @__PURE__ */ t("span", { className: "type-meta ds:ms-auto ds:inline-flex ds:items-center ds:rounded-[var(--radius-full)] ds:border ds:border-[color:var(--foreground)] ds:bg-[color-mix(in_srgb,var(--accent)_15%,var(--background))] ds:text-[color:var(--foreground)] ds:font-[var(--font-weight-semibold)] ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:pt-[var(--spacing-xs)] ds:pb-[var(--spacing-xs)]", children: i.badge })
737
+ ) : null
738
+ ] }),
739
+ /* @__PURE__ */ t("span", { className: "type-label ds:font-[var(--font-weight-semibold)] ds:text-[var(--foreground)]", children: i.label }),
740
+ i.description ? /* @__PURE__ */ t(
741
+ "span",
742
+ {
743
+ id: d,
744
+ className: "type-body-sm ds:text-[color:var(--muted-foreground)]",
745
+ children: i.description
746
+ }
747
+ ) : null
748
+ ]
749
+ }
750
+ ) }, i.id);
751
+ })
752
+ }
753
+ )
754
+ ] });
755
+ }
756
+ function at(e) {
757
+ if (e.object || e.place || e.geo || e.when && e.when !== "anytime") return !0;
758
+ if (e.facets) {
759
+ for (const r of Object.values(e.facets))
760
+ if (r && r.length > 0) return !0;
761
+ }
762
+ return !1;
763
+ }
764
+ function se({
765
+ value: e,
766
+ variant: r,
767
+ submitting: a,
768
+ submitLabel: o,
769
+ allowEmptySubmit: p,
770
+ onSubmit: i
771
+ }) {
772
+ const { t: v } = D("ui"), h = !a && !p && !at(e), d = o ?? v("patientSearch.submit.cta");
773
+ return /* @__PURE__ */ t(
774
+ Ie,
775
+ {
776
+ type: "button",
777
+ intent: "primary",
778
+ size: "lg",
779
+ startIcon: /* @__PURE__ */ t(Ne, { "aria-hidden": "true" }),
780
+ loading: a,
781
+ disabled: h,
782
+ onClick: () => {
783
+ S("patient_search_submitted", {
784
+ variant: r,
785
+ hasObject: !!e.object,
786
+ hasPlace: !!e.place,
787
+ hasGeo: !!e.geo,
788
+ when: e.when,
789
+ facetKeys: e.facets ? Object.keys(e.facets) : []
790
+ }), i(e);
791
+ },
792
+ children: d
793
+ }
794
+ );
795
+ }
796
+ function st(e) {
797
+ const {
798
+ variant: r,
799
+ value: a,
800
+ onChange: o,
801
+ onSubmit: p,
802
+ loadObjects: i,
803
+ loadPlaces: v,
804
+ onObjectSelect: h,
805
+ onPlaceSelect: d,
806
+ allowTypedPlace: s,
807
+ submitting: f,
808
+ submitLabel: n,
809
+ allowEmptySubmit: m,
810
+ whoRef: u,
811
+ whereRef: c,
812
+ whoQuery: l,
813
+ onWhoQueryChange: y,
814
+ whereQuery: g,
815
+ onWhereQueryChange: j,
816
+ defaultRadiusKm: k,
817
+ reverseGeocode: C,
818
+ cardLabel: R
819
+ } = e;
820
+ return /* @__PURE__ */ t(ee, { variant: "elevated", "aria-label": R, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
821
+ /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
822
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
823
+ te,
824
+ {
825
+ value: a,
826
+ onChange: o,
827
+ loadObjects: i,
828
+ onObjectSelect: h,
829
+ inputRef: u,
830
+ query: l,
831
+ onQueryChange: y
832
+ }
833
+ ) }),
834
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
835
+ re,
836
+ {
837
+ value: a,
838
+ onChange: o,
839
+ loadPlaces: v,
840
+ onPlaceSelect: d,
841
+ allowTypedPlace: s,
842
+ defaultRadiusKm: k,
843
+ reverseGeocode: C,
844
+ inputRef: c,
845
+ query: g,
846
+ onQueryChange: j
847
+ }
848
+ ) }),
849
+ /* @__PURE__ */ t(
850
+ se,
851
+ {
852
+ value: a,
853
+ variant: r,
854
+ submitting: f,
855
+ submitLabel: n,
856
+ allowEmptySubmit: m,
857
+ onSubmit: p
858
+ }
859
+ )
860
+ ] }),
861
+ /* @__PURE__ */ t(
862
+ ae,
863
+ {
864
+ value: a,
865
+ onChange: o,
866
+ defaultRadiusKm: k
867
+ }
868
+ )
869
+ ] }) });
870
+ }
871
+ function nt(e) {
872
+ const {
873
+ variant: r,
874
+ value: a,
875
+ onChange: o,
876
+ onSubmit: p,
877
+ loadObjects: i,
878
+ loadPlaces: v,
879
+ onObjectSelect: h,
880
+ onPlaceSelect: d,
881
+ allowTypedPlace: s,
882
+ submitting: f,
883
+ submitLabel: n,
884
+ allowEmptySubmit: m,
885
+ whoRef: u,
886
+ whereRef: c,
887
+ whoQuery: l,
888
+ onWhoQueryChange: y,
889
+ whereQuery: g,
890
+ onWhereQueryChange: j,
891
+ defaultRadiusKm: k,
892
+ reverseGeocode: C,
893
+ cardLabel: R
894
+ } = e;
895
+ return /* @__PURE__ */ t(ee, { variant: "elevated", "aria-label": R, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
896
+ /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
897
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
898
+ te,
899
+ {
900
+ value: a,
901
+ onChange: o,
902
+ loadObjects: i,
903
+ onObjectSelect: h,
904
+ inputRef: u,
905
+ query: l,
906
+ onQueryChange: y
907
+ }
908
+ ) }),
909
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
910
+ re,
911
+ {
912
+ value: a,
913
+ onChange: o,
914
+ loadPlaces: v,
915
+ onPlaceSelect: d,
916
+ allowTypedPlace: s,
917
+ defaultRadiusKm: k,
918
+ reverseGeocode: C,
919
+ inputRef: c,
920
+ query: g,
921
+ onQueryChange: j
922
+ }
923
+ ) }),
924
+ /* @__PURE__ */ t(
925
+ se,
926
+ {
927
+ value: a,
928
+ variant: r,
929
+ submitting: f,
930
+ submitLabel: n,
931
+ allowEmptySubmit: m,
932
+ onSubmit: p
933
+ }
934
+ )
935
+ ] }),
936
+ /* @__PURE__ */ t(
937
+ ae,
938
+ {
939
+ value: a,
940
+ onChange: o,
941
+ defaultRadiusKm: k
942
+ }
943
+ ),
944
+ /* @__PURE__ */ t(
945
+ Xe,
946
+ {
947
+ value: a.when,
948
+ onChange: (W) => o({ ...a, when: W })
949
+ }
950
+ )
951
+ ] }) });
952
+ }
953
+ function ot(e) {
954
+ const {
955
+ variant: r,
956
+ value: a,
957
+ onChange: o,
958
+ onSubmit: p,
959
+ loadObjects: i,
960
+ loadPlaces: v,
961
+ onObjectSelect: h,
962
+ onPlaceSelect: d,
963
+ allowTypedPlace: s,
964
+ facets: f,
965
+ submitting: n,
966
+ submitLabel: m,
967
+ allowEmptySubmit: u,
968
+ whoRef: c,
969
+ whereRef: l,
970
+ whoQuery: y,
971
+ onWhoQueryChange: g,
972
+ whereQuery: j,
973
+ onWhereQueryChange: k,
974
+ defaultRadiusKm: C,
975
+ reverseGeocode: R,
976
+ cardLabel: W
977
+ } = e;
978
+ return /* @__PURE__ */ t(ee, { variant: "elevated", "aria-label": W, children: /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:p-[var(--spacing-md)]", children: [
979
+ /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:md:flex-row ds:md:items-start", children: [
980
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
981
+ te,
982
+ {
983
+ value: a,
984
+ onChange: o,
985
+ loadObjects: i,
986
+ onObjectSelect: h,
987
+ inputRef: c,
988
+ query: y,
989
+ onQueryChange: g
990
+ }
991
+ ) }),
992
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
993
+ re,
994
+ {
995
+ value: a,
996
+ onChange: o,
997
+ loadPlaces: v,
998
+ onPlaceSelect: d,
999
+ allowTypedPlace: s,
1000
+ defaultRadiusKm: C,
1001
+ reverseGeocode: R,
1002
+ inputRef: l,
1003
+ query: j,
1004
+ onQueryChange: k
1005
+ }
1006
+ ) }),
1007
+ /* @__PURE__ */ t(
1008
+ se,
1009
+ {
1010
+ value: a,
1011
+ variant: r,
1012
+ submitting: n,
1013
+ submitLabel: m,
1014
+ allowEmptySubmit: u,
1015
+ onSubmit: p
1016
+ }
1017
+ )
1018
+ ] }),
1019
+ /* @__PURE__ */ t(
1020
+ ae,
1021
+ {
1022
+ value: a,
1023
+ onChange: o,
1024
+ defaultRadiusKm: C
1025
+ }
1026
+ ),
1027
+ f && f.length > 0 ? /* @__PURE__ */ t(
1028
+ Ye,
1029
+ {
1030
+ facets: f,
1031
+ value: a.facets,
1032
+ onChange: (z) => o({ ...a, facets: z })
1033
+ }
1034
+ ) : null
1035
+ ] }) });
1036
+ }
1037
+ function it(e) {
1038
+ const {
1039
+ variant: r,
1040
+ value: a,
1041
+ onChange: o,
1042
+ onSubmit: p,
1043
+ loadObjects: i,
1044
+ loadPlaces: v,
1045
+ onObjectSelect: h,
1046
+ onPlaceSelect: d,
1047
+ allowTypedPlace: s,
1048
+ discoveryCards: f,
1049
+ discoveryHeadingLevel: n,
1050
+ submitting: m,
1051
+ submitLabel: u,
1052
+ allowEmptySubmit: c,
1053
+ whoRef: l,
1054
+ whereRef: y,
1055
+ whoQuery: g,
1056
+ onWhoQueryChange: j,
1057
+ whereQuery: k,
1058
+ onWhereQueryChange: C,
1059
+ defaultRadiusKm: R,
1060
+ reverseGeocode: W,
1061
+ cardLabel: z
1062
+ } = e;
1063
+ return /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-lg)]", children: [
1064
+ /* @__PURE__ */ x(ee, { variant: "elevated", "aria-label": z, children: [
1065
+ /* @__PURE__ */ x("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)] ds:md:flex-row ds:md:items-stretch", children: [
1066
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
1067
+ te,
1068
+ {
1069
+ value: a,
1070
+ onChange: o,
1071
+ loadObjects: i,
1072
+ onObjectSelect: h,
1073
+ inputRef: l,
1074
+ query: g,
1075
+ onQueryChange: j
1076
+ }
1077
+ ) }),
1078
+ /* @__PURE__ */ t("div", { className: "ds:flex-1 ds:min-w-0", children: /* @__PURE__ */ t(
1079
+ re,
1080
+ {
1081
+ value: a,
1082
+ onChange: o,
1083
+ loadPlaces: v,
1084
+ onPlaceSelect: d,
1085
+ allowTypedPlace: s,
1086
+ defaultRadiusKm: R,
1087
+ reverseGeocode: W,
1088
+ inputRef: y,
1089
+ query: k,
1090
+ onQueryChange: C
1091
+ }
1092
+ ) }),
1093
+ /* @__PURE__ */ t(
1094
+ se,
1095
+ {
1096
+ value: a,
1097
+ variant: r,
1098
+ submitting: m,
1099
+ submitLabel: u,
1100
+ allowEmptySubmit: c,
1101
+ onSubmit: p
1102
+ }
1103
+ )
1104
+ ] }),
1105
+ /* @__PURE__ */ t(
1106
+ ae,
1107
+ {
1108
+ value: a,
1109
+ onChange: o,
1110
+ defaultRadiusKm: R
1111
+ }
1112
+ )
1113
+ ] }),
1114
+ /* @__PURE__ */ t(
1115
+ rt,
1116
+ {
1117
+ cards: f,
1118
+ headingLevel: n
1119
+ }
1120
+ )
1121
+ ] });
1122
+ }
1123
+ const ct = Ae(function({
1124
+ variant: r,
1125
+ loadObjects: a,
1126
+ loadPlaces: o,
1127
+ onObjectSelect: p,
1128
+ onPlaceSelect: i,
1129
+ allowTypedPlace: v = !1,
1130
+ facets: h,
1131
+ defaultRadiusKm: d = ue,
1132
+ reverseGeocode: s,
1133
+ discoveryCards: f,
1134
+ discoveryHeadingLevel: n = 3,
1135
+ countryCode: m,
1136
+ value: u,
1137
+ onChange: c,
1138
+ onSubmit: l,
1139
+ submitting: y,
1140
+ submitLabel: g,
1141
+ allowEmptySubmit: j,
1142
+ "aria-label": k,
1143
+ id: C,
1144
+ className: R,
1145
+ ...W
1146
+ }, z) {
1147
+ var ge, ve;
1148
+ const { t: ne } = D("ui"), M = E(null), I = E(null), V = E(null), [w, _] = J(((ge = u.object) == null ? void 0 : ge.label) ?? ""), [T, Q] = J(
1149
+ ((ve = u.place) == null ? void 0 : ve.label) ?? ""
1150
+ ), N = E(null), U = E(
1151
+ { who: { current: !1 }, where: { current: !1 } }
1152
+ ), G = (b) => {
1153
+ const L = b === I.current ? "who" : b === V.current ? "where" : null;
1154
+ if (!L) {
1155
+ N.current = null;
1156
+ return;
1157
+ }
1158
+ const P = b;
1159
+ N.current = {
1160
+ field: L,
1161
+ start: P.selectionStart,
1162
+ end: P.selectionEnd
1163
+ };
1164
+ }, je = (b, L) => {
1165
+ var P;
1166
+ L && ((P = M.current) != null && P.contains(L)) || setTimeout(() => {
1167
+ b.isConnected && (N.current = null);
1168
+ }, 0);
1169
+ }, oe = E(null), fe = (b, L, P) => {
1170
+ const F = (b === "who" ? I : V).current;
1171
+ if (!F) return;
1172
+ F.focus();
1173
+ const O = F.value.length;
1174
+ F.setSelectionRange(
1175
+ Math.min(L ?? O, O),
1176
+ Math.min(P ?? O, O)
1177
+ );
1178
+ };
1179
+ q(() => {
1180
+ const b = M.current;
1181
+ if (!b) return;
1182
+ const L = (A) => {
1183
+ const B = oe.current;
1184
+ if (B && performance.now() < B.until && (A.target === I.current && B.field === "where" || A.target === V.current && B.field === "who")) {
1185
+ fe(B.field, B.start, B.end);
1186
+ return;
1187
+ }
1188
+ G(A.target);
1189
+ }, P = (A) => G(A.target), F = () => {
1190
+ oe.current = null;
1191
+ }, O = (A) => je(A.target, A.relatedTarget), be = ["select", "keyup", "input"];
1192
+ return b.addEventListener("focusin", L), be.forEach((A) => b.addEventListener(A, P)), b.addEventListener("pointerdown", F), b.addEventListener("keydown", F), b.addEventListener("focusout", O), () => {
1193
+ b.removeEventListener("focusin", L), be.forEach((A) => b.removeEventListener(A, P)), b.removeEventListener("pointerdown", F), b.removeEventListener("keydown", F), b.removeEventListener("focusout", O);
1194
+ };
1195
+ }, []);
1196
+ const he = E(r);
1197
+ We(() => {
1198
+ if (he.current === r) return;
1199
+ he.current = r;
1200
+ const b = N.current;
1201
+ if (!b) return;
1202
+ const L = document.activeElement;
1203
+ L && L !== document.body || (oe.current = { ...b, until: performance.now() + 500 }, fe(b.field, b.start, b.end));
1204
+ }, [r]);
1205
+ const ie = E(!1);
1206
+ q(() => {
1207
+ if (!ie.current && r === "who-where-when") {
1208
+ if (u.when !== void 0) {
1209
+ ie.current = !0;
1210
+ return;
1211
+ }
1212
+ ie.current = !0, c({ ...u, when: "anytime" });
1213
+ }
1214
+ }, [r]);
1215
+ const ce = E(!1);
1216
+ q(() => {
1217
+ if (!ce.current && r === "faceted") {
1218
+ if (u.facets !== void 0) {
1219
+ ce.current = !0;
1220
+ return;
1221
+ }
1222
+ ce.current = !0, c({ ...u, facets: {} });
1223
+ }
1224
+ }, [r]);
1225
+ const pe = E(null);
1226
+ q(() => {
1227
+ pe.current !== r && (pe.current = r, S("patient_search_variant_exposed", { variant: r, country: m }));
1228
+ }, [r, m]);
1229
+ const de = le(
1230
+ () => ({
1231
+ getVariant: () => r,
1232
+ reset: () => {
1233
+ c({});
1234
+ },
1235
+ focusPrimary: () => {
1236
+ requestAnimationFrame(() => {
1237
+ var b;
1238
+ (b = I.current) == null || b.focus();
1239
+ });
1240
+ }
1241
+ }),
1242
+ [r, c]
1243
+ );
1244
+ Pe(z, () => de, [de]), Ve(He, de, C);
1245
+ const me = k ?? ne("patientSearch.regionLabel"), X = {
1246
+ variant: r,
1247
+ value: u,
1248
+ onChange: c,
1249
+ onSubmit: l,
1250
+ loadObjects: a,
1251
+ loadPlaces: o,
1252
+ onObjectSelect: p,
1253
+ onPlaceSelect: i,
1254
+ allowTypedPlace: v,
1255
+ facets: h,
1256
+ defaultRadiusKm: d,
1257
+ reverseGeocode: s,
1258
+ discoveryCards: f ?? [],
1259
+ discoveryHeadingLevel: n,
1260
+ submitting: y,
1261
+ submitLabel: g,
1262
+ allowEmptySubmit: j,
1263
+ whoRef: I,
1264
+ whereRef: V,
1265
+ whoQuery: w,
1266
+ onWhoQueryChange: _,
1267
+ whereQuery: T,
1268
+ onWhereQueryChange: Q,
1269
+ cardLabel: me
1270
+ }, Te = (() => {
1271
+ switch (r) {
1272
+ case "who-where":
1273
+ return /* @__PURE__ */ t(st, { ...X });
1274
+ case "who-where-when":
1275
+ return /* @__PURE__ */ t(nt, { ...X });
1276
+ case "faceted":
1277
+ return /* @__PURE__ */ t(ot, { ...X });
1278
+ case "discovery":
1279
+ return /* @__PURE__ */ t(it, { ...X });
1280
+ /* c8 ignore next 2 */
1281
+ default:
1282
+ return null;
1283
+ }
1284
+ })();
1285
+ return /* @__PURE__ */ t(Ee.Provider, { value: U.current, children: /* @__PURE__ */ t(
1286
+ "div",
1287
+ {
1288
+ ref: M,
1289
+ role: "region",
1290
+ "aria-label": me,
1291
+ id: C,
1292
+ "data-component": "patient-search",
1293
+ "data-component-id": C,
1294
+ "data-variant": r,
1295
+ className: Ue({ variant: r, className: R }),
1296
+ ...W,
1297
+ children: Te
1298
+ }
1299
+ ) });
1300
+ });
1301
+ ct.displayName = "PatientSearch";
1302
+ export {
1303
+ ct as P,
1304
+ He as p
1305
+ };
1306
+ //# sourceMappingURL=patient-search-Ca9j5cWb.js.map