@alfadocs/ui-kit 1.67.0 → 1.69.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 (307) hide show
  1. package/dist/_chunks/{address-fields-CJtu7LQU.js → address-fields-BUPRs3n-.js} +3 -3
  2. package/dist/_chunks/{agenda-card-DR9gDdKp.js → agenda-card-BDuvreCe.js} +2 -2
  3. package/dist/_chunks/{agenda-tray-DGB1Zup-.js → agenda-tray-CfwylhWf.js} +3 -3
  4. package/dist/_chunks/{ai-credits-exhausted-notice-DfAgfZDF.js → ai-credits-exhausted-notice-Bg8NpW2K.js} +2 -2
  5. package/dist/_chunks/{ai-permission-notice-qsdm4Sx4.js → ai-permission-notice-C00i6VhY.js} +2 -2
  6. package/dist/_chunks/{ai-prompt-input-DSGSe4LH.js → ai-prompt-input-DzgyoKyk.js} +141 -139
  7. package/dist/_chunks/{alert-DjsJMGRE.js → alert-9kEwDza3.js} +122 -112
  8. package/dist/_chunks/{alia-sidebar-qe0quZkB.js → alia-sidebar-DEMMoefU.js} +4 -4
  9. package/dist/_chunks/{anamnesis-card-CsUBOG32.js → anamnesis-card-Bey9qQu4.js} +2 -2
  10. package/dist/_chunks/{anamnesis-summary-card-CMzBLTiN.js → anamnesis-summary-card-DQ3iE1gD.js} +2 -2
  11. package/dist/_chunks/{anamnesis-summary-rows-BQ_EokKz.js → anamnesis-summary-rows-rNwSrNWZ.js} +393 -389
  12. package/dist/_chunks/{appointment-card-CL32sux-.js → appointment-card-5JMWi9_f.js} +2 -2
  13. package/dist/_chunks/{appointment-peek-B5mcDcXt.js → appointment-peek-CpcqB8oO.js} +3 -3
  14. package/dist/_chunks/{appointment-timeline-CCqjORFb.js → appointment-timeline-VFP6HoXT.js} +4 -4
  15. package/dist/_chunks/{appointment-tray-qtpJt8e0.js → appointment-tray-B3PDER3I.js} +3 -3
  16. package/dist/_chunks/{audio-recorder-B11RR-rC.js → audio-recorder-4Ll0pwYK.js} +3 -3
  17. package/dist/_chunks/{auth-form-parts-DwUTH6YN.js → auth-form-parts-B40zvD-a.js} +2 -2
  18. package/dist/_chunks/avatar-BPiPL7ND.js +199 -0
  19. package/dist/_chunks/{balance-badge-cell-DZNthHO1.js → balance-badge-cell-BG3DMly4.js} +4 -4
  20. package/dist/_chunks/{bishop-score-CaNTrikJ.js → bishop-score-Df8nF1qg.js} +2 -2
  21. package/dist/_chunks/{booking-tTVxKPQY.js → booking-B1pDbERi.js} +377 -335
  22. package/dist/_chunks/{calendar-BhN-jisv.js → calendar-BvOM8rG3.js} +2 -2
  23. package/dist/_chunks/{calendar-workspace-MRrzcxAy.js → calendar-workspace-Ct8_454k.js} +18 -18
  24. package/dist/_chunks/{chat-message-fRLZ95O5.js → chat-message-C2VXQMoB.js} +3 -3
  25. package/dist/_chunks/{clinical-note-card-BnFTIs6x.js → clinical-note-card-Caidqcwa.js} +2 -2
  26. package/dist/_chunks/{code-block-vwEv1jEa.js → code-block-RSKdF3E-.js} +35 -35
  27. package/dist/_chunks/{color-picker-BsggJovx.js → color-picker-AcaWuKah.js} +99 -95
  28. package/dist/_chunks/{combobox-U5yfO6o0.js → combobox-vF9O-QoG.js} +92 -83
  29. package/dist/_chunks/{connection-status--wYsgreh.js → connection-status-BOZC5QU5.js} +2 -2
  30. package/dist/_chunks/{contact-profile-card-C4-OCshj.js → contact-profile-card-CAwwOqHl.js} +40 -40
  31. package/dist/_chunks/{control-room-rail-DUerqHeo.js → control-room-rail-BB6rCDWI.js} +3 -3
  32. package/dist/_chunks/{country-select-DF5Bd_mn.js → country-select-CSE2Zm_s.js} +2 -2
  33. package/dist/_chunks/dashboard-grid-7JzaiKnk.js +1487 -0
  34. package/dist/_chunks/{data-table-COoCQ4n_.js → data-table-Cty4-Jht.js} +3 -3
  35. package/dist/_chunks/{dependent-selector-DBr1AhLg.js → dependent-selector-C4kOgO8b.js} +2 -2
  36. package/dist/_chunks/{description-list-Q8640NHu.js → description-list-DQQ2OA_t.js} +68 -66
  37. package/dist/_chunks/{document-preview-VyQOjFVL.js → document-preview-513f3iPn.js} +4 -4
  38. package/dist/_chunks/{document-scanner-CXH_GYh4.js → document-scanner-Bd3wbzpI.js} +2 -2
  39. package/dist/_chunks/{editable-description-ChGNdYY8.js → editable-description-DnAFi360.js} +2 -2
  40. package/dist/_chunks/{entity-summary-Bj-Wxq7Y.js → entity-summary-C2B8yNmc.js} +4 -4
  41. package/dist/_chunks/{error-summary-PUE5Zxp9.js → error-summary-mGxIyDAY.js} +2 -2
  42. package/dist/_chunks/{face-scheme-DAD-mXzM.js → face-scheme-CSJdRNad.js} +248 -244
  43. package/dist/_chunks/{file-manager-RiV7-OEE.js → file-manager-D4cPnRhL.js} +3 -3
  44. package/dist/_chunks/{forgot-password-form-CPOfRE0C.js → forgot-password-form-Dqi7R-NL.js} +4 -4
  45. package/dist/_chunks/format-number-DdzqwMs1.js +13 -0
  46. package/dist/_chunks/{freemium-paywall-6DO7noHX.js → freemium-paywall-C73C8Rgd.js} +2 -2
  47. package/dist/_chunks/{gestational-age-calculator-CZYa2D6m.js → gestational-age-calculator-Du53p8MH.js} +2 -2
  48. package/dist/_chunks/{header-settings-BSH9Gk0J.js → header-settings-DlUbvAUx.js} +37 -36
  49. package/dist/_chunks/{heatmap-C1TeC7wT.js → heatmap-DbZIQg14.js} +4 -4
  50. package/dist/_chunks/{help-me-write-templates-Bw3Q58x-.js → help-me-write-templates-5WkUfvc_.js} +3 -3
  51. package/dist/_chunks/{kit-extensions-DWs1UEXb.js → kit-extensions-CYvLL4ee.js} +3 -3
  52. package/dist/_chunks/length-token-DwMnGEYT.js +24 -0
  53. package/dist/_chunks/{link-cell-renderer-CtTsvfPY.js → link-cell-renderer-DtIsQWDO.js} +4 -4
  54. package/dist/_chunks/{login-dev-card-A-CL3mjt.js → login-dev-card-vEL-o5wq.js} +3 -3
  55. package/dist/_chunks/{map-view-BuVfJMEa.js → map-view-CtohteZD.js} +300 -191
  56. package/dist/_chunks/{marketplace-app-shell-DtSX8sYb.js → marketplace-app-shell-CcLQ0Dn-.js} +4 -4
  57. package/dist/_chunks/{message-card-A3mJNqfy.js → message-card-C_ksqIYM.js} +2 -2
  58. package/dist/_chunks/{message-tray-Ft6vSr71.js → message-tray-DCoQ4GQb.js} +3 -3
  59. package/dist/_chunks/{multi-select-CMaAQQgb.js → multi-select-BOad3za9.js} +110 -98
  60. package/dist/_chunks/{muscle-scheme-YoN3rYXV.js → muscle-scheme-C66WlCxG.js} +2 -2
  61. package/dist/_chunks/{note-timeline-DDqNU46n.js → note-timeline-KzL52MmB.js} +2 -2
  62. package/dist/_chunks/{notes-panel-IdsmqRFC.js → notes-panel-BXN46XkF.js} +6 -6
  63. package/dist/_chunks/notice-group-DkYzKyAZ.js +291 -0
  64. package/dist/_chunks/{notification-tray-BR3seWA7.js → notification-tray-Cp18MW5b.js} +2 -2
  65. package/dist/_chunks/{operator-hero-3_RG4Dkj.js → operator-hero-6aAIQaFZ.js} +83 -66
  66. package/dist/_chunks/{optical-prescription-CxfMsbxi.js → optical-prescription-D5c7FBlT.js} +526 -510
  67. package/dist/_chunks/panel-header-CbtlTe85.js +190 -0
  68. package/dist/_chunks/{panel-subview-yP4qIbKS.js → panel-subview-BPU7220K.js} +2 -2
  69. package/dist/_chunks/{patient-details-C-EWQTms.js → patient-details-qWOsn1MX.js} +5 -5
  70. package/dist/_chunks/{patient-field-row-lY-Tb5Mo.js → patient-field-row-CAl5ydtX.js} +5 -5
  71. package/dist/_chunks/{patient-search-DpAKidZ5.js → patient-search-BADdx3M1.js} +2 -2
  72. package/dist/_chunks/{patient-summary-card-Bpto_VCD.js → patient-summary-card-BhuRh9AE.js} +4 -4
  73. package/dist/_chunks/{payment-automation-upsell-BQ307qEX.js → payment-automation-upsell-CiwF5UrC.js} +2 -2
  74. package/dist/_chunks/{payment-form-XKtinW8r.js → payment-form-PBuh8PIa.js} +2 -2
  75. package/dist/_chunks/{payment-request-card-0DjQgVgX.js → payment-request-card-bysjRZrP.js} +2 -2
  76. package/dist/_chunks/{pdf-viewer-BvoVMjH4.js → pdf-viewer-gAsNUsA8.js} +2 -2
  77. package/dist/_chunks/{periodontal-risk-chart-CPy7CNFe.js → periodontal-risk-chart-B7S9OmPC.js} +97 -89
  78. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js +236 -0
  79. package/dist/_chunks/{practice-results-BrUDDMXC.js → practice-results-BzThnpnm.js} +328 -298
  80. package/dist/_chunks/{pregnancy-dating-B8wo4l_r.js → pregnancy-dating-EFcFUJkQ.js} +2 -2
  81. package/dist/_chunks/{privacy-mask-Ch7743uk.js → privacy-mask-CCz9zuIh.js} +2 -2
  82. package/dist/_chunks/{product-hub-panel-C_ZosrBt.js → product-hub-panel-YuFbNPlT.js} +2 -2
  83. package/dist/_chunks/progress-notice-DiHWZ8Ms.js +279 -0
  84. package/dist/_chunks/{province-select-Bd20Z9Br.js → province-select-CDjs5obD.js} +2 -2
  85. package/dist/_chunks/{radiograph-panel.agent-8Ewv8-d7.js → radiograph-panel.agent-4UllIoTQ.js} +2 -2
  86. package/dist/_chunks/{rating-C1Vrmpsi.js → rating-CGYpg5dj.js} +43 -44
  87. package/dist/_chunks/{registration-form-BxwqUZzk.js → registration-form-1B0PTDal.js} +4 -4
  88. package/dist/_chunks/{reviews-panel-AvsVgtJu.js → reviews-panel-sbsVmmCA.js} +30 -8
  89. package/dist/_chunks/{rich-text-editor-aCIoptbg.js → rich-text-editor-56dSsyZI.js} +3 -3
  90. package/dist/_chunks/{select-k4gBdS8N.js → select-4S-eYZUf.js} +244 -214
  91. package/dist/_chunks/{sign-document-D1P1nUQA.js → sign-document-BiOTs1P4.js} +2 -2
  92. package/dist/_chunks/{signature-request-3u6TvRt2.js → signature-request-DAmNj_uq.js} +5 -5
  93. package/dist/_chunks/skeleton-tTWJpvAq.js +415 -0
  94. package/dist/_chunks/{slot-grid-dj5f6R2w.js → slot-grid-D_gix9mJ.js} +2 -2
  95. package/dist/_chunks/{streaming-text-zFViGexf.js → streaming-text-DbqKTsmj.js} +2 -2
  96. package/dist/_chunks/{tabs-2x3L13jn.js → tabs-BTj-2qMZ.js} +2 -2
  97. package/dist/_chunks/{task-card-BS7Uqevr.js → task-card-Ci2XbLmq.js} +2 -2
  98. package/dist/_chunks/{task-editor-Bb5MMcid.js → task-editor-BomyxGoZ.js} +8 -8
  99. package/dist/_chunks/{task-tray-eQU4KJcA.js → task-tray-Dnc72nl-.js} +3 -3
  100. package/dist/_chunks/{tasks-panel-BOb57Ysw.js → tasks-panel-ATz9JDy8.js} +6 -6
  101. package/dist/_chunks/{theme-toggle-Ctb77x6O.js → theme-toggle-DT_Jn4DC.js} +147 -138
  102. package/dist/_chunks/{timeline-DEIuHrWz.js → timeline-wUuTDFY_.js} +2 -2
  103. package/dist/_chunks/{tool-rail-C-03rH2I.js → tool-rail-C-M3eVdY.js} +2 -2
  104. package/dist/_chunks/{transcript-panel-XudW5l6l.js → transcript-panel-CoHHpcFg.js} +2 -2
  105. package/dist/_chunks/{treatment-receipt-Cpm8tqQN.js → treatment-receipt-pFqWFyD_.js} +2 -2
  106. package/dist/_chunks/{unit-converter-BPZ0Ldkb.js → unit-converter-CIoTmCmP.js} +2 -2
  107. package/dist/_chunks/{use-appointment-details-read-CVSPoP5j.js → use-appointment-details-read-1gjZuup4.js} +13 -13
  108. package/dist/_chunks/use-dismissed-CTOWqA0e.js +177 -0
  109. package/dist/_chunks/{voice-control-panel-BJIEbDq6.js → voice-control-panel-B8Lrk0C4.js} +4 -4
  110. package/dist/_chunks/{warning-stack-BdY-0bd3.js → warning-stack-BhHUmRiD.js} +2 -2
  111. package/dist/_chunks/{workflow-map-CYbRD9ek.js → workflow-map-ln4_OG8A.js} +2 -2
  112. package/dist/_chunks/workflow-webhook-action-Ct8tFYi7.js +691 -0
  113. package/dist/agent-catalog.json +271 -4
  114. package/dist/agent-i18n/en.json +34 -1
  115. package/dist/components/_shared/code-block.d.ts +6 -0
  116. package/dist/components/_shared/format-number.d.ts +20 -0
  117. package/dist/components/_shared/length-token.d.ts +12 -0
  118. package/dist/components/_shared/option.d.ts +1 -0
  119. package/dist/components/address-fields/index.js +1 -1
  120. package/dist/components/agenda-card/index.js +1 -1
  121. package/dist/components/agenda-tray/index.js +1 -1
  122. package/dist/components/ai-credits-notice/index.js +1 -1
  123. package/dist/components/ai-permission-notice/index.js +1 -1
  124. package/dist/components/ai-prompt-input/index.js +1 -1
  125. package/dist/components/alert/alert.d.ts +26 -0
  126. package/dist/components/alert/index.js +1 -1
  127. package/dist/components/anamnesis-card/index.js +1 -1
  128. package/dist/components/anamnesis-summary-card/index.js +1 -1
  129. package/dist/components/appointment-card/index.js +2 -2
  130. package/dist/components/appointment-details-panel/index.js +1 -1
  131. package/dist/components/appointment-peek/index.js +1 -1
  132. package/dist/components/appointment-timeline/index.js +1 -1
  133. package/dist/components/audio-recorder/index.js +1 -1
  134. package/dist/components/avatar/avatar.d.ts +2 -0
  135. package/dist/components/avatar/index.js +1 -1
  136. package/dist/components/bishop-score/index.js +1 -1
  137. package/dist/components/booking/index.js +1 -1
  138. package/dist/components/calendar/index.js +1 -1
  139. package/dist/components/chat-message/index.js +1 -1
  140. package/dist/components/clinical-note-card/index.js +1 -1
  141. package/dist/components/color-picker/index.js +1 -1
  142. package/dist/components/combobox/index.js +1 -1
  143. package/dist/components/connection-status/index.js +1 -1
  144. package/dist/components/contact-profile-card/index.js +1 -1
  145. package/dist/components/control-room-rail/index.js +1 -1
  146. package/dist/components/country-select/index.js +1 -1
  147. package/dist/components/dashboard-grid/dashboard-grid.d.ts +20 -1
  148. package/dist/components/dashboard-grid/index.js +1 -1
  149. package/dist/components/data-table/index.js +2 -2
  150. package/dist/components/dependent-selector/index.js +1 -1
  151. package/dist/components/description-list/index.js +1 -1
  152. package/dist/components/document-preview/index.js +1 -1
  153. package/dist/components/document-scanner/index.js +1 -1
  154. package/dist/components/editable-description/index.js +1 -1
  155. package/dist/components/entity-summary/index.js +1 -1
  156. package/dist/components/error-summary/index.js +1 -1
  157. package/dist/components/face-scheme/index.js +1 -1
  158. package/dist/components/file-manager/index.js +1 -1
  159. package/dist/components/freemium-paywall/index.js +1 -1
  160. package/dist/components/gestational-age-calculator/index.js +1 -1
  161. package/dist/components/header-settings/index.js +1 -1
  162. package/dist/components/heatmap/index.js +1 -1
  163. package/dist/components/index.d.ts +5 -2
  164. package/dist/components/map-view/index.d.ts +1 -1
  165. package/dist/components/map-view/index.js +1 -1
  166. package/dist/components/map-view/map-view.d.ts +51 -0
  167. package/dist/components/message-card/index.js +1 -1
  168. package/dist/components/message-tray/index.js +1 -1
  169. package/dist/components/multi-select/index.js +1 -1
  170. package/dist/components/muscle-scheme/index.js +1 -1
  171. package/dist/components/note-timeline/index.js +1 -1
  172. package/dist/components/notes-panel/index.js +1 -1
  173. package/dist/components/notice-group/index.d.ts +3 -0
  174. package/dist/components/notice-group/index.js +6 -0
  175. package/dist/components/notice-group/notice-group.agent.d.ts +4 -0
  176. package/dist/components/notice-group/notice-group.d.ts +43 -0
  177. package/dist/components/notification-tray/index.js +1 -1
  178. package/dist/components/operator-hero/index.js +1 -1
  179. package/dist/components/optical-prescription/index.js +1 -1
  180. package/dist/components/optical-prescription/optical-prescription-data.d.ts +8 -8
  181. package/dist/components/panel-header/index.js +1 -1
  182. package/dist/components/panel-header/panel-header.d.ts +10 -0
  183. package/dist/components/panel-subview/index.js +1 -1
  184. package/dist/components/patient-details/index.js +1 -1
  185. package/dist/components/patient-search/index.js +1 -1
  186. package/dist/components/patient-summary-card/index.js +1 -1
  187. package/dist/components/patient-table/index.js +1 -1
  188. package/dist/components/payment-card/index.js +1 -1
  189. package/dist/components/payment-form/index.js +1 -1
  190. package/dist/components/pdf-viewer/index.js +1 -1
  191. package/dist/components/periodontal-risk-chart/index.js +1 -1
  192. package/dist/components/practice-profile-hero/index.js +1 -1
  193. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +4 -1
  194. package/dist/components/practice-results/index.js +1 -1
  195. package/dist/components/practice-results/practice-results.d.ts +10 -2
  196. package/dist/components/pregnancy-dating/index.js +1 -1
  197. package/dist/components/product-hub-tray/index.js +1 -1
  198. package/dist/components/progress-notice/index.d.ts +3 -0
  199. package/dist/components/progress-notice/index.js +6 -0
  200. package/dist/components/progress-notice/progress-notice.agent.d.ts +4 -0
  201. package/dist/components/progress-notice/progress-notice.d.ts +81 -0
  202. package/dist/components/province-select/index.js +1 -1
  203. package/dist/components/radiograph-panel/index.js +1 -1
  204. package/dist/components/rating/index.js +1 -1
  205. package/dist/components/reviews-panel/index.js +1 -1
  206. package/dist/components/rich-text-editor/index.js +2 -2
  207. package/dist/components/select/index.js +1 -1
  208. package/dist/components/select/select.d.ts +6 -0
  209. package/dist/components/sign-document/index.js +1 -1
  210. package/dist/components/skeleton/index.d.ts +1 -1
  211. package/dist/components/skeleton/index.js +1 -1
  212. package/dist/components/skeleton/skeleton.d.ts +41 -1
  213. package/dist/components/skeleton-scheme/index.js +1 -1
  214. package/dist/components/slot-grid/index.js +1 -1
  215. package/dist/components/streaming-text/index.js +1 -1
  216. package/dist/components/tabs/index.js +1 -1
  217. package/dist/components/task-card/index.js +1 -1
  218. package/dist/components/task-editor/index.js +1 -1
  219. package/dist/components/task-tray/index.js +1 -1
  220. package/dist/components/tasks-panel/index.js +1 -1
  221. package/dist/components/theme-toggle/index.js +1 -1
  222. package/dist/components/timeline/index.js +1 -1
  223. package/dist/components/tool-rail/index.js +1 -1
  224. package/dist/components/transcript-panel/index.js +1 -1
  225. package/dist/components/treatment-receipt/index.js +1 -1
  226. package/dist/components/unit-converter/index.js +1 -1
  227. package/dist/components/voice-control-panel/index.js +1 -1
  228. package/dist/components/warning-stack/index.js +1 -1
  229. package/dist/components/workflow/index.js +1 -1
  230. package/dist/hooks/index.d.ts +1 -0
  231. package/dist/hooks/index.js +81 -76
  232. package/dist/hooks/use-dismissed.d.ts +58 -0
  233. package/dist/i18n/locales/ar.d.ts +77 -0
  234. package/dist/i18n/locales/ar.js +77 -0
  235. package/dist/i18n/locales/de.d.ts +77 -0
  236. package/dist/i18n/locales/de.js +77 -0
  237. package/dist/i18n/locales/el.d.ts +77 -0
  238. package/dist/i18n/locales/el.js +77 -0
  239. package/dist/i18n/locales/en.d.ts +77 -0
  240. package/dist/i18n/locales/en.js +77 -0
  241. package/dist/i18n/locales/es.d.ts +77 -0
  242. package/dist/i18n/locales/es.js +77 -0
  243. package/dist/i18n/locales/fr.d.ts +77 -0
  244. package/dist/i18n/locales/fr.js +77 -0
  245. package/dist/i18n/locales/hi.d.ts +77 -0
  246. package/dist/i18n/locales/hi.js +77 -0
  247. package/dist/i18n/locales/it.d.ts +77 -0
  248. package/dist/i18n/locales/it.js +77 -0
  249. package/dist/i18n/locales/ja.d.ts +77 -0
  250. package/dist/i18n/locales/ja.js +77 -0
  251. package/dist/i18n/locales/nl.d.ts +77 -0
  252. package/dist/i18n/locales/nl.js +77 -0
  253. package/dist/i18n/locales/pl.d.ts +77 -0
  254. package/dist/i18n/locales/pl.js +77 -0
  255. package/dist/i18n/locales/pt.d.ts +77 -0
  256. package/dist/i18n/locales/pt.js +77 -0
  257. package/dist/i18n/locales/ro.d.ts +77 -0
  258. package/dist/i18n/locales/ro.js +77 -0
  259. package/dist/i18n/locales/ru.d.ts +77 -0
  260. package/dist/i18n/locales/ru.js +77 -0
  261. package/dist/i18n/locales/sq.d.ts +77 -0
  262. package/dist/i18n/locales/sq.js +77 -0
  263. package/dist/i18n/locales/sv.d.ts +77 -0
  264. package/dist/i18n/locales/sv.js +77 -0
  265. package/dist/i18n/locales/tr.d.ts +77 -0
  266. package/dist/i18n/locales/tr.js +77 -0
  267. package/dist/i18n/locales/zh.d.ts +77 -0
  268. package/dist/i18n/locales/zh.js +77 -0
  269. package/dist/index.js +1197 -1183
  270. package/dist/locales/ar.json +77 -0
  271. package/dist/locales/de.json +77 -0
  272. package/dist/locales/el.json +77 -0
  273. package/dist/locales/en.json +77 -0
  274. package/dist/locales/es.json +77 -0
  275. package/dist/locales/fr.json +77 -0
  276. package/dist/locales/hi.json +77 -0
  277. package/dist/locales/it.json +77 -0
  278. package/dist/locales/ja.json +77 -0
  279. package/dist/locales/nl.json +77 -0
  280. package/dist/locales/pl.json +77 -0
  281. package/dist/locales/pt.json +77 -0
  282. package/dist/locales/ro.json +77 -0
  283. package/dist/locales/ru.json +77 -0
  284. package/dist/locales/sq.json +77 -0
  285. package/dist/locales/sv.json +77 -0
  286. package/dist/locales/tr.json +77 -0
  287. package/dist/locales/zh.json +77 -0
  288. package/dist/patterns/alia-assistant/index.js +1 -1
  289. package/dist/patterns/anamnesis/index.js +1 -1
  290. package/dist/patterns/calendar/index.js +1 -1
  291. package/dist/patterns/forgot-password-form/index.js +1 -1
  292. package/dist/patterns/help-me-write-templates/index.js +2 -2
  293. package/dist/patterns/login-form/index.js +1 -1
  294. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  295. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  296. package/dist/patterns/registration-form/index.js +1 -1
  297. package/dist/patterns/signature-request/index.js +1 -1
  298. package/dist/patterns/workflow-webhook-action/index.d.ts +3 -0
  299. package/dist/patterns/workflow-webhook-action/index.js +6 -0
  300. package/dist/patterns/workflow-webhook-action/workflow-webhook-action.d.ts +93 -0
  301. package/dist/tokens.css +1 -1
  302. package/package.json +13 -1
  303. package/dist/_chunks/avatar-WZY3eGE7.js +0 -123
  304. package/dist/_chunks/dashboard-grid-B2MB7SRS.js +0 -1428
  305. package/dist/_chunks/panel-header-BJkaUwnl.js +0 -128
  306. package/dist/_chunks/practice-profile-hero-Dfc0F60y.js +0 -193
  307. package/dist/_chunks/skeleton-B1KTdJ4N.js +0 -116
@@ -1,16 +1,16 @@
1
- import { jsx as t, jsxs as p, Fragment as tt } from "react/jsx-runtime";
2
- import { forwardRef as nt, useState as me, useRef as M, useMemo as B, useImperativeHandle as at, useCallback as O, useEffect as W } from "react";
1
+ import { jsx as t, jsxs as m, Fragment as tt } from "react/jsx-runtime";
2
+ import { forwardRef as nt, useState as me, useRef as I, useMemo as M, useImperativeHandle as at, useCallback as O, useEffect as W } from "react";
3
3
  import { c as j } from "./index-D2ZczOXr.js";
4
- import { useTranslation as C } from "react-i18next";
5
- import { A as Y } from "./alert-DjsJMGRE.js";
6
- import { A as Re } from "./avatar-WZY3eGE7.js";
4
+ import { useTranslation as w } from "react-i18next";
5
+ import { A as Y } from "./alert-9kEwDza3.js";
6
+ import { A as Re } from "./avatar-BPiPL7ND.js";
7
7
  import { B as ee } from "./button-D-MQxsA_.js";
8
8
  import { D } from "./dropdown-menu-D1we7oAY.js";
9
9
  import { E as st } from "./empty-state-pL1qum99.js";
10
- import { M as it } from "./map-view-BuVfJMEa.js";
11
- import { R as Ne } from "./rating-C1Vrmpsi.js";
12
- import { S as I } from "./sheet-D2PfJl8n.js";
13
- import { S as rt } from "./skeleton-B1KTdJ4N.js";
10
+ import { M as it } from "./map-view-CtohteZD.js";
11
+ import { R as Ne } from "./rating-CGYpg5dj.js";
12
+ import { S as _ } from "./sheet-D2PfJl8n.js";
13
+ import { S as rt } from "./skeleton-tTWJpvAq.js";
14
14
  import { S as ot } from "./spinner-CoflYlEx.js";
15
15
  import { B as $ } from "./badge-BUk4RjTS.js";
16
16
  import { u as ct } from "./use-media-query-CcAx5SMM.js";
@@ -130,7 +130,7 @@ function Ie(e, n, s) {
130
130
  const r = `languages.${e}`;
131
131
  return s.exists(r) ? n(r) : e.toUpperCase();
132
132
  }
133
- function L(e, n) {
133
+ function B(e, n) {
134
134
  if (typeof window > "u") return;
135
135
  const s = window.track;
136
136
  try {
@@ -142,7 +142,7 @@ function Q(e, n, s, r) {
142
142
  const i = e.findIndex((l) => l.id === n);
143
143
  if (i < 0) return;
144
144
  const a = e[i];
145
- a && (L("serp_result_clicked", { resultId: n, source: s, position: i }), r(a, s));
145
+ a && (B("serp_result_clicked", { resultId: n, source: s, position: i }), r(a, s));
146
146
  }
147
147
  function kt(e, n) {
148
148
  const r = (n.lat - e.lat) * Math.PI / 180, i = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, l = n.lat * Math.PI / 180, d = Math.sin(r / 2), c = Math.sin(i / 2), u = d * d + Math.cos(a) * Math.cos(l) * c * c;
@@ -184,12 +184,12 @@ function Rt(e, n, s) {
184
184
  case "distance":
185
185
  return a.distanceKm == null && l.distanceKm == null ? 0 : a.distanceKm == null ? 1 : l.distanceKm == null ? -1 : a.distanceKm - l.distanceKm;
186
186
  case "rating": {
187
- const m = ((d = a.result.rating) == null ? void 0 : d.value) ?? -1;
188
- return (((c = l.result.rating) == null ? void 0 : c.value) ?? -1) - m;
187
+ const f = ((d = a.result.rating) == null ? void 0 : d.value) ?? -1;
188
+ return (((c = l.result.rating) == null ? void 0 : c.value) ?? -1) - f;
189
189
  }
190
190
  case "next-available": {
191
- const m = ((u = a.result.nextAvailableSlot) == null ? void 0 : u.dateTime) ?? "", f = ((o = l.result.nextAvailableSlot) == null ? void 0 : o.dateTime) ?? "";
192
- return !m && !f ? 0 : m ? f ? m.localeCompare(f) : -1 : 1;
191
+ const f = ((u = a.result.nextAvailableSlot) == null ? void 0 : u.dateTime) ?? "", h = ((o = l.result.nextAvailableSlot) == null ? void 0 : o.dateTime) ?? "";
192
+ return !f && !h ? 0 : f ? h ? f.localeCompare(h) : -1 : 1;
193
193
  }
194
194
  case "relevance":
195
195
  default:
@@ -233,13 +233,13 @@ function _e({
233
233
  totalCount: s,
234
234
  searchCentreLabel: r
235
235
  }) {
236
- const { t: i } = C("ui");
236
+ const { t: i } = w("ui");
237
237
  if (!e && !n && s == null) return null;
238
238
  const a = s != null ? r ? i("practiceResults.results.heading", {
239
239
  count: s,
240
240
  place: r
241
241
  }) : i("practiceResults.results.summary", { count: s }) : void 0;
242
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
242
+ return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
243
243
  e ? /* @__PURE__ */ t("h2", { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
244
244
  n ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: n }) : null,
245
245
  a ? /* @__PURE__ */ t(
@@ -310,22 +310,22 @@ function Te({
310
310
  onChange: s,
311
311
  floating: r
312
312
  }) {
313
- const { t: i } = C("ui"), a = B(() => n ?? {}, [n]), l = B(
313
+ const { t: i } = w("ui"), a = M(() => n ?? {}, [n]), l = M(
314
314
  () => Object.values(a).some((o) => o && o.length > 0),
315
315
  [a]
316
- ), d = (o, m) => {
317
- const f = { ...a };
318
- m.length === 0 ? delete f[o] : f[o] = m, s(f), L("serp_filter_changed", { key: o, values: m });
316
+ ), d = (o, f) => {
317
+ const h = { ...a };
318
+ f.length === 0 ? delete h[o] : h[o] = f, s(h), B("serp_filter_changed", { key: o, values: f });
319
319
  }, c = (o) => {
320
- var f;
321
- const m = (((f = a[o]) == null ? void 0 : f.length) ?? 0) > 0;
322
- d(o, m ? [] : ["true"]);
323
- }, u = (o, m) => {
324
- const f = a[o.key] ?? [], x = f.includes(m);
325
- let b;
326
- o.multi ? b = x ? f.filter((y) => y !== m) : [...f, m] : b = x ? [] : [m], d(o.key, b);
320
+ var h;
321
+ const f = (((h = a[o]) == null ? void 0 : h.length) ?? 0) > 0;
322
+ d(o, f ? [] : ["true"]);
323
+ }, u = (o, f) => {
324
+ const h = a[o.key] ?? [], x = h.includes(f);
325
+ let g;
326
+ o.multi ? g = x ? h.filter((y) => y !== f) : [...h, f] : g = x ? [] : [f], d(o.key, g);
327
327
  };
328
- return e.length === 0 ? null : /* @__PURE__ */ p(
328
+ return e.length === 0 ? null : /* @__PURE__ */ m(
329
329
  "div",
330
330
  {
331
331
  "data-component": "practice-results-filters",
@@ -336,8 +336,8 @@ function Te({
336
336
  }),
337
337
  children: [
338
338
  e.map((o) => {
339
- const m = o.boolean, f = a[o.key] ?? [], x = f.length > 0;
340
- if (m)
339
+ const f = o.boolean, h = a[o.key] ?? [], x = h.length > 0;
340
+ if (f)
341
341
  return /* @__PURE__ */ t(
342
342
  "button",
343
343
  {
@@ -352,20 +352,20 @@ function Te({
352
352
  },
353
353
  o.key
354
354
  );
355
- const b = x ? ` (${f.length})` : "";
356
- return /* @__PURE__ */ p(D.Root, { children: [
357
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
355
+ const g = x ? ` (${h.length})` : "";
356
+ return /* @__PURE__ */ m(D.Root, { children: [
357
+ /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
358
358
  "button",
359
359
  {
360
360
  type: "button",
361
- "aria-label": `${o.label}${b}`,
361
+ "aria-label": `${o.label}${g}`,
362
362
  className: te({
363
363
  state: x ? "active" : "idle"
364
364
  }),
365
365
  children: [
366
- /* @__PURE__ */ p("span", { children: [
366
+ /* @__PURE__ */ m("span", { children: [
367
367
  o.label,
368
- b
368
+ g
369
369
  ] }),
370
370
  /* @__PURE__ */ t(
371
371
  Se,
@@ -380,9 +380,9 @@ function Te({
380
380
  /* @__PURE__ */ t(D.Content, { sideOffset: 8, align: "start", children: o.options.map((y) => /* @__PURE__ */ t(
381
381
  D.CheckboxItem,
382
382
  {
383
- checked: f.includes(y.value),
384
- onSelect: (h) => {
385
- o.multi && h.preventDefault(), u(o, y.value);
383
+ checked: h.includes(y.value),
384
+ onSelect: (C) => {
385
+ o.multi && C.preventDefault(), u(o, y.value);
386
386
  },
387
387
  children: y.label
388
388
  },
@@ -395,7 +395,7 @@ function Te({
395
395
  {
396
396
  type: "button",
397
397
  onClick: () => {
398
- s({}), L("serp_filter_changed", { key: "*", values: [] });
398
+ s({}), B("serp_filter_changed", { key: "*", values: [] });
399
399
  },
400
400
  className: Pt(),
401
401
  children: i("practiceResults.filters.clear")
@@ -406,7 +406,7 @@ function Te({
406
406
  );
407
407
  }
408
408
  function ue({ value: e, onChange: n }) {
409
- const { t: s } = C("ui"), r = (i) => {
409
+ const { t: s } = w("ui"), r = (i) => {
410
410
  switch (i) {
411
411
  case "distance":
412
412
  return s("practiceResults.sort.distance");
@@ -419,15 +419,15 @@ function ue({ value: e, onChange: n }) {
419
419
  return s("practiceResults.sort.relevance");
420
420
  }
421
421
  };
422
- return /* @__PURE__ */ p(D.Root, { children: [
423
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ p(
422
+ return /* @__PURE__ */ m(D.Root, { children: [
423
+ /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ m(
424
424
  "button",
425
425
  {
426
426
  type: "button",
427
427
  "aria-label": `${s("practiceResults.sort.label")}: ${r(e)}`,
428
428
  className: te({ state: "idle" }),
429
429
  children: [
430
- /* @__PURE__ */ p("span", { children: [
430
+ /* @__PURE__ */ m("span", { children: [
431
431
  s("practiceResults.sort.label"),
432
432
  ": ",
433
433
  r(e)
@@ -442,7 +442,7 @@ function ue({ value: e, onChange: n }) {
442
442
  value: e,
443
443
  onValueChange: (i) => {
444
444
  const a = i;
445
- a !== e && (n(a), L("serp_sort_changed", { sort: a }));
445
+ a !== e && (n(a), B("serp_sort_changed", { sort: a }));
446
446
  },
447
447
  children: xt.map((i) => /* @__PURE__ */ t(D.RadioItem, { value: i, children: r(i) }, i))
448
448
  }
@@ -450,7 +450,7 @@ function ue({ value: e, onChange: n }) {
450
450
  ] });
451
451
  }
452
452
  function ze({ distanceKm: e }) {
453
- const { t: n, i18n: s } = C("ui"), r = B(() => {
453
+ const { t: n, i18n: s } = w("ui"), r = M(() => {
454
454
  if (e < 1) return n("practiceResults.distance.below");
455
455
  const i = new Intl.NumberFormat(s.language, {
456
456
  maximumFractionDigits: 1
@@ -489,16 +489,16 @@ function Mt({
489
489
  zoom: s = 14,
490
490
  address: r
491
491
  }) {
492
- const { t: i } = C("ui");
492
+ const { t: i } = w("ui");
493
493
  if (!e)
494
- return /* @__PURE__ */ p(
494
+ return /* @__PURE__ */ m(
495
495
  "div",
496
496
  {
497
497
  "aria-hidden": r ? void 0 : "true",
498
498
  className: we({ state: "placeholder" }),
499
499
  children: [
500
500
  /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
501
- r ? /* @__PURE__ */ t("span", { className: "type-meta ds:[overflow-wrap:anywhere]", children: r }) : null
501
+ r ? /* @__PURE__ */ t("span", { dir: "auto", className: "type-meta ds:[overflow-wrap:anywhere]", children: r }) : null
502
502
  ]
503
503
  }
504
504
  );
@@ -521,6 +521,7 @@ function Fe({ tagline: e }) {
521
521
  "span",
522
522
  {
523
523
  "data-component": "practice-result-tagline",
524
+ dir: "auto",
524
525
  className: "type-body-sm ds:font-[var(--font-weight-medium)] ds:text-[var(--foreground)]",
525
526
  children: e
526
527
  }
@@ -546,6 +547,7 @@ function Le({
546
547
  "p",
547
548
  {
548
549
  "data-component": "practice-result-description",
550
+ dir: "auto",
549
551
  className: It({ density: n }),
550
552
  children: e
551
553
  }
@@ -555,7 +557,7 @@ function Be({
555
557
  cents: e,
556
558
  currencyCode: n = "EUR"
557
559
  }) {
558
- const { t: s, i18n: r } = C("ui"), i = B(
560
+ const { t: s, i18n: r } = w("ui"), i = M(
559
561
  () => e == null ? void 0 : lt(
560
562
  e,
561
563
  n,
@@ -564,7 +566,7 @@ function Be({
564
566
  ),
565
567
  [e, n, r.language, s]
566
568
  );
567
- return i === void 0 ? null : /* @__PURE__ */ p(
569
+ return i === void 0 ? null : /* @__PURE__ */ m(
568
570
  "span",
569
571
  {
570
572
  "data-component": "practice-result-price",
@@ -585,8 +587,8 @@ function Be({
585
587
  );
586
588
  }
587
589
  function He({ time: e }) {
588
- const { t: n } = C("ui");
589
- return /* @__PURE__ */ p("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
590
+ const { t: n } = w("ui");
591
+ return /* @__PURE__ */ m("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
590
592
  /* @__PURE__ */ t(
591
593
  ft,
592
594
  {
@@ -605,8 +607,8 @@ function Oe({
605
607
  onOpenClick: i,
606
608
  onBookClick: a
607
609
  }) {
608
- const { t: l } = C("ui"), d = e.nextAvailableSlot, c = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, u = d && r ? l("practiceResults.nextSlot.cta", { time: r }) : s;
609
- return /* @__PURE__ */ p("div", { className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]", children: [
610
+ const { t: l } = w("ui"), d = e.nextAvailableSlot, c = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, u = d && r ? l("practiceResults.nextSlot.cta", { time: r }) : s;
611
+ return /* @__PURE__ */ m("div", { className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]", children: [
610
612
  n !== void 0 ? /* @__PURE__ */ t(
611
613
  ee,
612
614
  {
@@ -616,7 +618,7 @@ function Oe({
616
618
  onClick: (o) => {
617
619
  o.stopPropagation(), i();
618
620
  },
619
- children: /* @__PURE__ */ p("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
621
+ children: /* @__PURE__ */ m("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
620
622
  n,
621
623
  " ",
622
624
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
@@ -633,7 +635,7 @@ function Oe({
633
635
  onClick: (o) => {
634
636
  o.stopPropagation(), a();
635
637
  },
636
- children: /* @__PURE__ */ p(
638
+ children: /* @__PURE__ */ m(
637
639
  "a",
638
640
  {
639
641
  href: c,
@@ -691,14 +693,14 @@ function _t({
691
693
  onBookClick: c,
692
694
  nextSlotText: u,
693
695
  maxInsuranceChips: o = 3,
694
- maxLanguageChips: m = 4,
695
- children: f
696
+ maxLanguageChips: f = 4,
697
+ children: h
696
698
  }) {
697
699
  var q, U, G, V, H, Z;
698
- const { t: x, i18n: b } = C("ui"), y = e.rating, h = (q = e.location) == null ? void 0 : q.distanceKm, g = (((U = e.languages) == null ? void 0 : U.length) ?? 0) > 0, R = (((G = e.insurances) == null ? void 0 : G.length) ?? 0) > 0, P = e.specializedInFearPatients, N = g || R || P, w = (e.languages ?? []).slice(0, m), _ = (((V = e.languages) == null ? void 0 : V.length) ?? 0) - w.length, T = (e.insurances ?? []).slice(0, o), A = (((H = e.insurances) == null ? void 0 : H.length) ?? 0) - T.length;
700
+ const { t: x, i18n: g } = w("ui"), y = e.rating, C = (q = e.location) == null ? void 0 : q.distanceKm, v = (((U = e.languages) == null ? void 0 : U.length) ?? 0) > 0, p = (((G = e.insurances) == null ? void 0 : G.length) ?? 0) > 0, P = e.specializedInFearPatients, N = v || p || P, R = (e.languages ?? []).slice(0, f), T = (((V = e.languages) == null ? void 0 : V.length) ?? 0) - R.length, z = (e.insurances ?? []).slice(0, o), A = (((H = e.insurances) == null ? void 0 : H.length) ?? 0) - z.length;
699
701
  return (
700
702
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events -- card is role="group" by design (axe nested-interactive); click handler is mouse-only sync.
701
- /* @__PURE__ */ p(
703
+ /* @__PURE__ */ m(
702
704
  "div",
703
705
  {
704
706
  "data-component": "practice-result-card",
@@ -711,25 +713,35 @@ function _t({
711
713
  onFocus: i,
712
714
  className: De({ density: a }),
713
715
  children: [
714
- /* @__PURE__ */ t(Re, { src: e.imageUrl, name: e.name, size: "lg" }),
715
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
716
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
717
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
716
+ /* @__PURE__ */ t(
717
+ Re,
718
+ {
719
+ src: e.imageUrl,
720
+ name: e.name,
721
+ size: "lg",
722
+ shape: "rounded",
723
+ ratio: "4:3"
724
+ }
725
+ ),
726
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
727
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
728
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
718
729
  /* @__PURE__ */ t(
719
730
  "span",
720
731
  {
721
732
  id: `practice-result-${e.id}-name`,
733
+ dir: "auto",
722
734
  className: "type-title-card ds:text-[var(--foreground)]",
723
735
  children: e.name
724
736
  }
725
737
  ),
726
- h != null ? /* @__PURE__ */ t(ze, { distanceKm: h }) : null
738
+ C != null ? /* @__PURE__ */ t(ze, { distanceKm: C }) : null
727
739
  ] }),
728
740
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
729
741
  /* @__PURE__ */ t(Fe, { tagline: e.tagline }),
730
- (Z = e.location) != null && Z.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
742
+ (Z = e.location) != null && Z.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
731
743
  /* @__PURE__ */ t(ne, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
732
- e.location.address
744
+ /* @__PURE__ */ t("span", { dir: "auto", children: e.location.address })
733
745
  ] }) : null
734
746
  ] }),
735
747
  y && y.count > 0 ? /* @__PURE__ */ t(
@@ -740,18 +752,18 @@ function _t({
740
752
  size: "sm"
741
753
  }
742
754
  ) : null,
743
- N ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
744
- w.map((k) => /* @__PURE__ */ t(
755
+ N ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
756
+ R.map((k) => /* @__PURE__ */ t(
745
757
  $,
746
758
  {
747
759
  variant: "neutral",
748
760
  leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
749
- children: Ie(k, x, b)
761
+ children: Ie(k, x, g)
750
762
  },
751
763
  `lang-${k}`
752
764
  )),
753
- _ > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${_}` }) : null,
754
- T.map((k) => /* @__PURE__ */ t(
765
+ T > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${T}` }) : null,
766
+ z.map((k) => /* @__PURE__ */ t(
755
767
  $,
756
768
  {
757
769
  variant: "info",
@@ -772,7 +784,7 @@ function _t({
772
784
  }
773
785
  ),
774
786
  e.nextAvailableSlot && u ? /* @__PURE__ */ t(He, { time: u }) : null,
775
- f,
787
+ h,
776
788
  /* @__PURE__ */ t(
777
789
  Oe,
778
790
  {
@@ -801,8 +813,8 @@ function Tt({
801
813
  openLabel: d,
802
814
  bookLabel: c
803
815
  }) {
804
- var g, R, P, N;
805
- const { t: u, i18n: o } = C("ui"), m = B(() => {
816
+ var v, p, P, N;
817
+ const { t: u, i18n: o } = w("ui"), f = M(() => {
806
818
  if (e.nextAvailableSlot)
807
819
  try {
808
820
  return new Intl.DateTimeFormat(o.language, {
@@ -813,10 +825,10 @@ function Tt({
813
825
  } catch {
814
826
  return e.nextAvailableSlot.dateTime;
815
827
  }
816
- }, [e.nextAvailableSlot, o.language]), f = (((g = e.languages) == null ? void 0 : g.length) ?? 0) > 0, x = (((R = e.insurances) == null ? void 0 : R.length) ?? 0) > 0, b = e.specializedInFearPatients, y = f || x || b, h = (P = e.location) == null ? void 0 : P.distanceKm;
828
+ }, [e.nextAvailableSlot, o.language]), h = (((v = e.languages) == null ? void 0 : v.length) ?? 0) > 0, x = (((p = e.insurances) == null ? void 0 : p.length) ?? 0) > 0, g = e.specializedInFearPatients, y = h || x || g, C = (P = e.location) == null ? void 0 : P.distanceKm;
817
829
  return (
818
830
  // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events -- card is role="group" by design (axe nested-interactive); click handler is mouse-only sync.
819
- /* @__PURE__ */ p(
831
+ /* @__PURE__ */ m(
820
832
  "div",
821
833
  {
822
834
  "data-component": "practice-result-card",
@@ -841,24 +853,34 @@ function Tt({
841
853
  address: e.location.address
842
854
  }
843
855
  ) : null,
844
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
845
- /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
846
- /* @__PURE__ */ t(Re, { src: e.imageUrl, name: e.name, size: "md" }),
847
- /* @__PURE__ */ p("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
848
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
856
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
857
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
858
+ /* @__PURE__ */ t(
859
+ Re,
860
+ {
861
+ src: e.imageUrl,
862
+ name: e.name,
863
+ size: "md",
864
+ shape: "rounded",
865
+ ratio: "4:3"
866
+ }
867
+ ),
868
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
869
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
849
870
  /* @__PURE__ */ t(
850
871
  "span",
851
872
  {
852
873
  id: `practice-result-${e.id}-name`,
874
+ dir: "auto",
853
875
  className: "type-title-card ds:text-[var(--foreground)]",
854
876
  children: e.name
855
877
  }
856
878
  ),
857
- h != null ? /* @__PURE__ */ t(ze, { distanceKm: h }) : null
879
+ C != null ? /* @__PURE__ */ t(ze, { distanceKm: C }) : null
858
880
  ] }),
859
881
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
860
882
  /* @__PURE__ */ t(Fe, { tagline: e.tagline }),
861
- (N = e.location) != null && N.address ? /* @__PURE__ */ p("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
883
+ (N = e.location) != null && N.address ? /* @__PURE__ */ m("span", { className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]", children: [
862
884
  /* @__PURE__ */ t(
863
885
  ne,
864
886
  {
@@ -866,7 +888,7 @@ function Tt({
866
888
  className: "ds:size-3.5 ds:shrink-0"
867
889
  }
868
890
  ),
869
- e.location.address
891
+ /* @__PURE__ */ t("span", { dir: "auto", children: e.location.address })
870
892
  ] }) : null
871
893
  ] }),
872
894
  e.rating && e.rating.count > 0 ? /* @__PURE__ */ t(
@@ -878,26 +900,26 @@ function Tt({
878
900
  }
879
901
  ) : null
880
902
  ] }),
881
- y ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
882
- f ? (e.languages ?? []).map((w) => /* @__PURE__ */ t(
903
+ y ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
904
+ h ? (e.languages ?? []).map((R) => /* @__PURE__ */ t(
883
905
  $,
884
906
  {
885
907
  variant: "neutral",
886
908
  leading: /* @__PURE__ */ t(Pe, { "aria-hidden": "true" }),
887
- children: Ie(w, u, o)
909
+ children: Ie(R, u, o)
888
910
  },
889
- `lang-${w}`
911
+ `lang-${R}`
890
912
  )) : null,
891
- x ? (e.insurances ?? []).map((w) => /* @__PURE__ */ t(
913
+ x ? (e.insurances ?? []).map((R) => /* @__PURE__ */ t(
892
914
  $,
893
915
  {
894
916
  variant: "info",
895
917
  leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
896
- children: w
918
+ children: R
897
919
  },
898
- `ins-${w}`
920
+ `ins-${R}`
899
921
  )) : null,
900
- b ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
922
+ g ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }), children: u("practiceResults.fearPatient.label") }) : null
901
923
  ] }) : null,
902
924
  /* @__PURE__ */ t(Le, { description: e.description, density: "rich" }),
903
925
  /* @__PURE__ */ t(
@@ -907,14 +929,14 @@ function Tt({
907
929
  currencyCode: e.currencyCode
908
930
  }
909
931
  ),
910
- e.nextAvailableSlot && m ? /* @__PURE__ */ t(He, { time: m }) : null,
932
+ e.nextAvailableSlot && f ? /* @__PURE__ */ t(He, { time: f }) : null,
911
933
  /* @__PURE__ */ t(
912
934
  Oe,
913
935
  {
914
936
  result: e,
915
937
  openLabel: d,
916
938
  bookLabel: c,
917
- nextSlotText: m,
939
+ nextSlotText: f,
918
940
  onOpenClick: i,
919
941
  onBookClick: a
920
942
  }
@@ -937,82 +959,82 @@ function fe({
937
959
  formatNextSlot: c,
938
960
  onLoadMore: u,
939
961
  loadingMore: o,
940
- loadingSkeletons: m,
941
- density: f = "compact",
962
+ loadingSkeletons: f,
963
+ density: h = "compact",
942
964
  apiKey: x,
943
- containerRef: b
965
+ containerRef: g
944
966
  }) {
945
- const { t: y } = C("ui"), h = M(null);
967
+ const { t: y } = w("ui"), C = I(null);
946
968
  return W(() => {
947
969
  if (!u) return;
948
- const g = h.current;
949
- if (!g || typeof IntersectionObserver > "u") return;
950
- const R = new IntersectionObserver(
970
+ const v = C.current;
971
+ if (!v || typeof IntersectionObserver > "u") return;
972
+ const p = new IntersectionObserver(
951
973
  (P) => {
952
974
  for (const N of P)
953
- N.isIntersecting && (L("serp_load_more", {
975
+ N.isIntersecting && (B("serp_load_more", {
954
976
  currentCount: e.length
955
977
  }), u());
956
978
  },
957
979
  { root: null, rootMargin: "200px" }
958
980
  );
959
- return R.observe(g), () => R.disconnect();
960
- }, [u, e.length]), m ? /* @__PURE__ */ t(
981
+ return p.observe(v), () => p.disconnect();
982
+ }, [u, e.length]), f ? /* @__PURE__ */ t(
961
983
  "div",
962
984
  {
963
985
  role: "status",
964
986
  "aria-live": "polite",
965
987
  "aria-label": y("practiceResults.loading"),
966
988
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
967
- children: Array.from({ length: 4 }).map((g, R) => /* @__PURE__ */ t(
989
+ children: Array.from({ length: 4 }).map((v, p) => /* @__PURE__ */ t(
968
990
  rt,
969
991
  {
970
992
  variant: "rounded",
971
- height: f === "rich" ? "11rem" : "7rem"
993
+ height: h === "rich" ? "11rem" : "7rem"
972
994
  },
973
- `pr-skel-${R}`
995
+ `pr-skel-${p}`
974
996
  ))
975
997
  }
976
- ) : /* @__PURE__ */ p(
998
+ ) : /* @__PURE__ */ m(
977
999
  "div",
978
1000
  {
979
- ref: b,
1001
+ ref: g,
980
1002
  "data-component": "practice-results-list",
981
1003
  role: "list",
982
1004
  "aria-label": y("practiceResults.list.label"),
983
1005
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
984
1006
  children: [
985
- e.map((g) => /* @__PURE__ */ t("div", { role: "listitem", children: f === "rich" ? /* @__PURE__ */ t(
1007
+ e.map((v) => /* @__PURE__ */ t("div", { role: "listitem", children: h === "rich" ? /* @__PURE__ */ t(
986
1008
  Tt,
987
1009
  {
988
- result: g,
1010
+ result: v,
989
1011
  apiKey: x,
990
- highlighted: n === g.id,
991
- onSelect: () => r(g.id),
992
- onOpenClick: () => i(g.id),
993
- onBookClick: () => a(g.id),
994
- onHover: () => s(g.id),
1012
+ highlighted: n === v.id,
1013
+ onSelect: () => r(v.id),
1014
+ onOpenClick: () => i(v.id),
1015
+ onBookClick: () => a(v.id),
1016
+ onHover: () => s(v.id),
995
1017
  openLabel: l,
996
1018
  bookLabel: d
997
1019
  }
998
1020
  ) : /* @__PURE__ */ t(
999
1021
  _t,
1000
1022
  {
1001
- result: g,
1002
- highlighted: n === g.id,
1003
- onSelect: () => r(g.id),
1004
- onOpenClick: () => i(g.id),
1005
- onBookClick: () => a(g.id),
1006
- onHover: () => s(g.id),
1023
+ result: v,
1024
+ highlighted: n === v.id,
1025
+ onSelect: () => r(v.id),
1026
+ onOpenClick: () => i(v.id),
1027
+ onBookClick: () => a(v.id),
1028
+ onHover: () => s(v.id),
1007
1029
  openLabel: l,
1008
1030
  bookLabel: d,
1009
- nextSlotText: c(g)
1031
+ nextSlotText: c(v)
1010
1032
  }
1011
- ) }, g.id)),
1033
+ ) }, v.id)),
1012
1034
  u ? /* @__PURE__ */ t(
1013
1035
  "div",
1014
1036
  {
1015
- ref: h,
1037
+ ref: C,
1016
1038
  "aria-hidden": "true",
1017
1039
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
1018
1040
  children: o ? /* @__PURE__ */ t(ot, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
@@ -1034,33 +1056,39 @@ function pe({
1034
1056
  onPinFirstInteract: c,
1035
1057
  onBoundsChange: u,
1036
1058
  consentGranted: o,
1037
- onConsentRequest: m,
1038
- mapHandleRef: f
1059
+ onConsentRequest: f,
1060
+ mapHandleRef: h
1039
1061
  }) {
1040
- const { t: x } = C("ui"), b = B(
1062
+ const { t: x } = w("ui"), g = M(
1041
1063
  () => e.filter(
1042
- (h) => !!h.location
1043
- ).map((h) => ({
1044
- id: h.id,
1064
+ (p) => !!p.location
1065
+ ).map((p) => ({
1066
+ id: p.id,
1045
1067
  position: {
1046
- lat: h.location.lat,
1047
- lng: h.location.lng
1068
+ lat: p.location.lat,
1069
+ lng: p.location.lng
1048
1070
  },
1049
- label: h.name
1071
+ label: p.name
1050
1072
  })),
1051
1073
  [e]
1052
- ), y = B(() => {
1074
+ ), y = M(
1075
+ () => g.map((p) => ({ ...p.position, id: p.id })),
1076
+ [g]
1077
+ ), C = M(
1078
+ () => g.map((p) => p.id).sort().join("|"),
1079
+ [g]
1080
+ ), v = M(() => {
1053
1081
  if (n) return n;
1054
- const h = Ce(e);
1055
- return h ? {
1056
- lat: (h.north + h.south) / 2,
1057
- lng: (h.east + h.west) / 2
1082
+ const p = Ce(e);
1083
+ return p ? {
1084
+ lat: (p.north + p.south) / 2,
1085
+ lng: (p.east + p.west) / 2
1058
1086
  } : { lat: 45.4642, lng: 9.19 };
1059
1087
  }, [e, n]);
1060
1088
  return W(() => {
1061
1089
  if (!u) return;
1062
- const h = Ce(e);
1063
- h && (u(h), L("serp_map_panned", { bounds: h }));
1090
+ const p = Ce(e);
1091
+ p && (u(p), B("serp_map_panned", { bounds: p }));
1064
1092
  }, [e, u]), /* @__PURE__ */ t(
1065
1093
  "div",
1066
1094
  {
@@ -1069,17 +1097,19 @@ function pe({
1069
1097
  children: /* @__PURE__ */ t(
1070
1098
  it,
1071
1099
  {
1072
- ref: f,
1100
+ ref: h,
1073
1101
  apiKey: r ?? "",
1074
1102
  mapId: i,
1075
- center: y,
1103
+ center: v,
1076
1104
  zoom: s,
1077
- markers: b,
1105
+ markers: g,
1106
+ fitToPoints: y,
1107
+ fitKey: C,
1078
1108
  selectedMarkerId: a,
1079
1109
  consentGranted: !!o,
1080
- onConsentRequest: m,
1081
- onMarkerClick: (h) => {
1082
- h != null && (d(h), c(h), l(h));
1110
+ onConsentRequest: f,
1111
+ onMarkerClick: (p) => {
1112
+ p != null && (d(p), c(p), l(p));
1083
1113
  },
1084
1114
  ariaLabel: x("practiceResults.map.label"),
1085
1115
  size: "fill",
@@ -1094,7 +1124,7 @@ function he({
1094
1124
  variantBodyProps: e
1095
1125
  }) {
1096
1126
  const { facets: n, value: s, onChange: r, heading: i, intro: a, totalCount: l, searchCentre: d } = e;
1097
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1127
+ return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1098
1128
  /* @__PURE__ */ t(
1099
1129
  _e,
1100
1130
  {
@@ -1104,7 +1134,7 @@ function he({
1104
1134
  searchCentreLabel: d == null ? void 0 : d.label
1105
1135
  }
1106
1136
  ),
1107
- n.length > 0 ? /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
1137
+ n.length > 0 ? /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
1108
1138
  /* @__PURE__ */ t(
1109
1139
  Te,
1110
1140
  {
@@ -1130,7 +1160,7 @@ function he({
1130
1160
  ] });
1131
1161
  }
1132
1162
  function ge() {
1133
- const { t: e } = C("ui");
1163
+ const { t: e } = w("ui");
1134
1164
  return /* @__PURE__ */ t(
1135
1165
  st,
1136
1166
  {
@@ -1141,8 +1171,8 @@ function ge() {
1141
1171
  );
1142
1172
  }
1143
1173
  function ve({ onRetry: e }) {
1144
- const { t: n } = C("ui");
1145
- return /* @__PURE__ */ p(Y, { variant: "error", children: [
1174
+ const { t: n } = w("ui");
1175
+ return /* @__PURE__ */ m(Y, { variant: "error", children: [
1146
1176
  /* @__PURE__ */ t(Y.Title, { as: "h3", children: n("practiceResults.error.title") }),
1147
1177
  /* @__PURE__ */ t(Y.Description, { children: n("practiceResults.error.description") }),
1148
1178
  e ? /* @__PURE__ */ t(Y.Action, { children: /* @__PURE__ */ t(
@@ -1169,21 +1199,21 @@ function zt(e) {
1169
1199
  loadingSkeletons: c,
1170
1200
  emptyResultsSlot: u,
1171
1201
  errorSlot: o,
1172
- error: m,
1173
- onRetry: f,
1202
+ error: f,
1203
+ onRetry: h,
1174
1204
  highlightedId: x,
1175
- onCardHover: b,
1205
+ onCardHover: g,
1176
1206
  onPinClick: y,
1177
- consentGranted: h,
1178
- onConsentRequest: g,
1179
- onBoundsChange: R,
1207
+ consentGranted: C,
1208
+ onConsentRequest: v,
1209
+ onBoundsChange: p,
1180
1210
  listContainerRef: P
1181
- } = e, { t: N } = C("ui"), [w, _] = me(!1), T = m ? o ?? /* @__PURE__ */ t(ve, { onRetry: f }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1211
+ } = e, { t: N } = w("ui"), [R, T] = me(!1), z = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1182
1212
  fe,
1183
1213
  {
1184
1214
  results: n,
1185
1215
  highlightedId: x,
1186
- onCardHover: b,
1216
+ onCardHover: g,
1187
1217
  onCardSelect: e.onCardSelect,
1188
1218
  onCardOpenClick: e.onCardOpenClick,
1189
1219
  onCardBookClick: e.onCardBookClick,
@@ -1197,10 +1227,10 @@ function zt(e) {
1197
1227
  containerRef: P
1198
1228
  }
1199
1229
  );
1200
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1230
+ return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1201
1231
  /* @__PURE__ */ t(he, { variantBodyProps: e }),
1202
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:grid ds:lg:grid-cols-[55fr_45fr] ds:lg:gap-[var(--spacing-lg)] ds:lg:items-start", children: [
1203
- /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: T }),
1232
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:lg:grid ds:lg:grid-cols-[55fr_45fr] ds:lg:gap-[var(--spacing-lg)] ds:lg:items-start", children: [
1233
+ /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: z }),
1204
1234
  /* @__PURE__ */ t("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ t(
1205
1235
  pe,
1206
1236
  {
@@ -1213,11 +1243,11 @@ function zt(e) {
1213
1243
  onPinClick: (A) => {
1214
1244
  Q(n, A, "pin", e.onResultSelect), y(A);
1215
1245
  },
1216
- onPinHover: b,
1246
+ onPinHover: g,
1217
1247
  onPinFirstInteract: e.onPinFirstInteract,
1218
- onBoundsChange: R,
1219
- consentGranted: h,
1220
- onConsentRequest: g,
1248
+ onBoundsChange: p,
1249
+ consentGranted: C,
1250
+ onConsentRequest: v,
1221
1251
  mapHandleRef: e.mapHandleRef
1222
1252
  }
1223
1253
  ) })
@@ -1228,15 +1258,15 @@ function zt(e) {
1228
1258
  intent: "primary",
1229
1259
  size: "md",
1230
1260
  startIcon: /* @__PURE__ */ t(vt, { "aria-hidden": "true" }),
1231
- onClick: () => _(!0),
1261
+ onClick: () => T(!0),
1232
1262
  children: N("practiceResults.viewMap")
1233
1263
  }
1234
1264
  ) }),
1235
- /* @__PURE__ */ t(I.Root, { open: w, onOpenChange: _, children: /* @__PURE__ */ p(I.Content, { side: "bottom", size: "lg", children: [
1236
- /* @__PURE__ */ t(I.Header, { children: /* @__PURE__ */ t(I.Title, { children: N("practiceResults.map.label") }) }),
1237
- /* @__PURE__ */ p(I.Body, { children: [
1238
- /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1239
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1265
+ /* @__PURE__ */ t(_.Root, { open: R, onOpenChange: T, children: /* @__PURE__ */ m(_.Content, { side: "bottom", size: "lg", children: [
1266
+ /* @__PURE__ */ t(_.Header, { children: /* @__PURE__ */ t(_.Title, { children: N("practiceResults.map.label") }) }),
1267
+ /* @__PURE__ */ m(_.Body, { children: [
1268
+ /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1269
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1240
1270
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1241
1271
  pe,
1242
1272
  {
@@ -1249,15 +1279,15 @@ function zt(e) {
1249
1279
  onPinClick: (A) => {
1250
1280
  Q(n, A, "pin", e.onResultSelect), y(A);
1251
1281
  },
1252
- onPinHover: b,
1282
+ onPinHover: g,
1253
1283
  onPinFirstInteract: e.onPinFirstInteract,
1254
- onBoundsChange: R,
1255
- consentGranted: h,
1256
- onConsentRequest: g,
1284
+ onBoundsChange: p,
1285
+ consentGranted: C,
1286
+ onConsentRequest: v,
1257
1287
  mapHandleRef: e.mapHandleRef
1258
1288
  }
1259
1289
  ) }),
1260
- T
1290
+ z
1261
1291
  ] })
1262
1292
  ] })
1263
1293
  ] }) })
@@ -1273,34 +1303,34 @@ const Ft = {
1273
1303
  "full"
1274
1304
  ];
1275
1305
  function Lt({ value: e, onChange: n }) {
1276
- const { t: s, i18n: r } = C("ui"), i = r.dir() === "rtl", a = M(
1306
+ const { t: s, i18n: r } = w("ui"), i = r.dir() === "rtl", a = I(
1277
1307
  /* @__PURE__ */ new Map()
1278
1308
  ), l = O((c) => {
1279
1309
  var u;
1280
1310
  (u = a.current.get(c)) == null || u.focus();
1281
1311
  }, []), d = O(
1282
1312
  (c, u) => {
1283
- const o = E.indexOf(u), m = E.length, f = i ? "ArrowLeft" : "ArrowRight", x = i ? "ArrowRight" : "ArrowLeft";
1284
- let b = null;
1313
+ const o = E.indexOf(u), f = E.length, h = i ? "ArrowLeft" : "ArrowRight", x = i ? "ArrowRight" : "ArrowLeft";
1314
+ let g = null;
1285
1315
  switch (c.key) {
1286
- case f:
1316
+ case h:
1287
1317
  case "ArrowDown":
1288
- b = E[(o + 1) % m];
1318
+ g = E[(o + 1) % f];
1289
1319
  break;
1290
1320
  case x:
1291
1321
  case "ArrowUp":
1292
- b = E[(o - 1 + m) % m];
1322
+ g = E[(o - 1 + f) % f];
1293
1323
  break;
1294
1324
  case "Home":
1295
- b = E[0];
1325
+ g = E[0];
1296
1326
  break;
1297
1327
  case "End":
1298
- b = E[m - 1];
1328
+ g = E[f - 1];
1299
1329
  break;
1300
1330
  default:
1301
1331
  return;
1302
1332
  }
1303
- c.preventDefault(), b && b !== u && n(b), b && l(b);
1333
+ c.preventDefault(), g && g !== u && n(g), g && l(g);
1304
1334
  },
1305
1335
  [l, i, n]
1306
1336
  );
@@ -1348,24 +1378,24 @@ function Bt(e) {
1348
1378
  loadingSkeletons: c,
1349
1379
  emptyResultsSlot: u,
1350
1380
  errorSlot: o,
1351
- error: m,
1352
- onRetry: f,
1381
+ error: f,
1382
+ onRetry: h,
1353
1383
  highlightedId: x,
1354
- onCardHover: b,
1384
+ onCardHover: g,
1355
1385
  onPinClick: y,
1356
- consentGranted: h,
1357
- onConsentRequest: g,
1358
- onBoundsChange: R,
1386
+ consentGranted: C,
1387
+ onConsentRequest: v,
1388
+ onBoundsChange: p,
1359
1389
  listContainerRef: P,
1360
1390
  facets: N,
1361
- value: w,
1362
- onChange: _
1363
- } = e, { t: T } = C("ui"), [A, q] = me("half"), U = Ft[A], G = ct("(min-width: 1024px)"), V = m ? o ?? /* @__PURE__ */ t(ve, { onRetry: f }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1391
+ value: R,
1392
+ onChange: T
1393
+ } = e, { t: z } = w("ui"), [A, q] = me("half"), U = Ft[A], G = ct("(min-width: 1024px)"), V = f ? o ?? /* @__PURE__ */ t(ve, { onRetry: h }) : n.length === 0 && !c ? u ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1364
1394
  fe,
1365
1395
  {
1366
1396
  results: n,
1367
1397
  highlightedId: x,
1368
- onCardHover: b,
1398
+ onCardHover: g,
1369
1399
  onCardSelect: e.onCardSelect,
1370
1400
  onCardOpenClick: e.onCardOpenClick,
1371
1401
  onCardBookClick: e.onCardBookClick,
@@ -1391,19 +1421,19 @@ function Bt(e) {
1391
1421
  onPinClick: (k) => {
1392
1422
  Q(n, k, "pin", e.onResultSelect), y(k);
1393
1423
  },
1394
- onPinHover: b,
1424
+ onPinHover: g,
1395
1425
  onPinFirstInteract: e.onPinFirstInteract,
1396
- onBoundsChange: R,
1397
- consentGranted: h,
1398
- onConsentRequest: g,
1426
+ onBoundsChange: p,
1427
+ consentGranted: C,
1428
+ onConsentRequest: v,
1399
1429
  mapHandleRef: e.mapHandleRef
1400
1430
  }
1401
1431
  ), Z = N.length > 0 ? /* @__PURE__ */ t("div", { className: "ds:absolute ds:start-[var(--spacing-md)] ds:top-[var(--spacing-md)] ds:max-w-[calc(100%-var(--spacing-lg))]", children: /* @__PURE__ */ t(
1402
1432
  Te,
1403
1433
  {
1404
1434
  facets: N,
1405
- value: w.facets,
1406
- onChange: (k) => _({ ...w, facets: k }),
1435
+ value: R.facets,
1436
+ onChange: (k) => T({ ...R, facets: k }),
1407
1437
  floating: !0
1408
1438
  }
1409
1439
  ) }) : null;
@@ -1425,9 +1455,9 @@ function Bt(e) {
1425
1455
  // the map column is `lg:sticky lg:h-[44rem]` (stays visible
1426
1456
  // as the patient scrolls cards) and the rail renders at
1427
1457
  // natural height. Single page scroll.
1428
- /* @__PURE__ */ p(tt, { children: [
1458
+ /* @__PURE__ */ m(tt, { children: [
1429
1459
  /* @__PURE__ */ t(he, { variantBodyProps: e }),
1430
- /* @__PURE__ */ p("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1460
+ /* @__PURE__ */ m("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1431
1461
  /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: H }),
1432
1462
  /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: V })
1433
1463
  ] })
@@ -1439,7 +1469,7 @@ function Bt(e) {
1439
1469
  // via the snap radiogroup at the top of the sheet body. Filters
1440
1470
  // stay floating on mobile — the full-bleed map IS the viewport
1441
1471
  // chrome, so floating chips are the only place for them.
1442
- /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1472
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1443
1473
  /* @__PURE__ */ t(
1444
1474
  _e,
1445
1475
  {
@@ -1449,22 +1479,22 @@ function Bt(e) {
1449
1479
  searchCentreLabel: a == null ? void 0 : a.label
1450
1480
  }
1451
1481
  ),
1452
- /* @__PURE__ */ p("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1482
+ /* @__PURE__ */ m("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1453
1483
  H,
1454
1484
  Z
1455
1485
  ] }),
1456
- /* @__PURE__ */ t(I.Root, { open: !0, children: /* @__PURE__ */ t(
1457
- I.Content,
1486
+ /* @__PURE__ */ t(_.Root, { open: !0, children: /* @__PURE__ */ t(
1487
+ _.Content,
1458
1488
  {
1459
1489
  side: "bottom",
1460
1490
  size: U,
1461
1491
  onEscapeKeyDown: (k) => k.preventDefault(),
1462
1492
  onPointerDownOutside: (k) => k.preventDefault(),
1463
1493
  onInteractOutside: (k) => k.preventDefault(),
1464
- children: /* @__PURE__ */ p(I.Body, { children: [
1465
- /* @__PURE__ */ t(I.Description, { className: "ds:sr-only", children: T("practiceResults.sheet.descriptionMapFirst") }),
1466
- /* @__PURE__ */ p("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1467
- /* @__PURE__ */ t(I.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: T("practiceResults.sheet.title", {
1494
+ children: /* @__PURE__ */ m(_.Body, { children: [
1495
+ /* @__PURE__ */ t(_.Description, { className: "ds:sr-only", children: z("practiceResults.sheet.descriptionMapFirst") }),
1496
+ /* @__PURE__ */ m("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
1497
+ /* @__PURE__ */ t(_.Title, { className: "type-title-card ds:m-0 ds:text-[var(--foreground)]", children: z("practiceResults.sheet.title", {
1468
1498
  count: e.totalCount ?? n.length
1469
1499
  }) }),
1470
1500
  /* @__PURE__ */ t(
@@ -1478,8 +1508,8 @@ function Bt(e) {
1478
1508
  /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1479
1509
  ue,
1480
1510
  {
1481
- value: w.sort ?? "relevance",
1482
- onChange: (k) => _({ ...w, sort: k })
1511
+ value: R.sort ?? "relevance",
1512
+ onChange: (k) => T({ ...R, sort: k })
1483
1513
  }
1484
1514
  ) }),
1485
1515
  V
@@ -1501,14 +1531,14 @@ function Ht(e) {
1501
1531
  error: c,
1502
1532
  onRetry: u,
1503
1533
  highlightedId: o,
1504
- onCardHover: m,
1505
- listContainerRef: f
1534
+ onCardHover: f,
1535
+ listContainerRef: h
1506
1536
  } = e, x = c ? d ?? /* @__PURE__ */ t(ve, { onRetry: u }) : n.length === 0 && !a ? l ?? /* @__PURE__ */ t(ge, {}) : /* @__PURE__ */ t(
1507
1537
  fe,
1508
1538
  {
1509
1539
  results: n,
1510
1540
  highlightedId: o,
1511
- onCardHover: m,
1541
+ onCardHover: f,
1512
1542
  onCardSelect: e.onCardSelect,
1513
1543
  onCardOpenClick: e.onCardOpenClick,
1514
1544
  onCardBookClick: e.onCardBookClick,
@@ -1520,10 +1550,10 @@ function Ht(e) {
1520
1550
  loadingSkeletons: a,
1521
1551
  density: "rich",
1522
1552
  apiKey: s,
1523
- containerRef: f
1553
+ containerRef: h
1524
1554
  }
1525
1555
  );
1526
- return /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1556
+ return /* @__PURE__ */ m("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1527
1557
  /* @__PURE__ */ t(he, { variantBodyProps: e }),
1528
1558
  x
1529
1559
  ] });
@@ -1539,19 +1569,19 @@ const Ot = nt(function({
1539
1569
  defaultZoom: c = yt,
1540
1570
  onBoundsChange: u,
1541
1571
  consentGranted: o,
1542
- onConsentRequest: m,
1543
- skipConsentGate: f = !1,
1572
+ onConsentRequest: f,
1573
+ skipConsentGate: h = !1,
1544
1574
  onLoadMore: x,
1545
- loadingMore: b,
1575
+ loadingMore: g,
1546
1576
  value: y,
1547
- onChange: h,
1548
- onResultSelect: g,
1549
- loading: R,
1577
+ onChange: C,
1578
+ onResultSelect: v,
1579
+ loading: p,
1550
1580
  emptyResultsSlot: P,
1551
1581
  errorSlot: N,
1552
- error: w,
1553
- onRetry: _,
1554
- heading: T,
1582
+ error: R,
1583
+ onRetry: T,
1584
+ heading: z,
1555
1585
  intro: A,
1556
1586
  cardOpenButtonLabel: q,
1557
1587
  cardBookButtonLabel: U,
@@ -1561,125 +1591,125 @@ const Ot = nt(function({
1561
1591
  className: Z,
1562
1592
  ...k
1563
1593
  }, $e) {
1564
- const { t: ae, i18n: be } = C("ui"), [Ve, J] = me(null), X = M(/* @__PURE__ */ new Set()), se = M(/* @__PURE__ */ new Set()), Ke = M(null), ie = M(null), re = B(
1594
+ const { t: ae, i18n: be } = w("ui"), [Ve, J] = me(null), X = I(/* @__PURE__ */ new Set()), se = I(/* @__PURE__ */ new Set()), Ke = I(null), ie = I(null), re = M(
1565
1595
  () => ({
1566
1596
  getVariant: () => n,
1567
- scrollToResult: (v) => {
1568
- const F = ie.current;
1569
- if (!F) return;
1570
- const S = F.querySelector(
1571
- `[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
1597
+ scrollToResult: (b) => {
1598
+ const L = ie.current;
1599
+ if (!L) return;
1600
+ const S = L.querySelector(
1601
+ `[data-component="practice-result-card"][data-result-id="${CSS.escape(b)}"]`
1572
1602
  );
1573
- S && (S.scrollIntoView({ behavior: "smooth", block: "nearest" }), J(v));
1603
+ S && (S.scrollIntoView({ behavior: "smooth", block: "nearest" }), J(b));
1574
1604
  },
1575
- focusPin: (v) => {
1576
- J(v);
1605
+ focusPin: (b) => {
1606
+ J(b);
1577
1607
  }
1578
1608
  }),
1579
1609
  [n]
1580
1610
  );
1581
1611
  at($e, () => re, [re]), dt(bt, re, H);
1582
1612
  const Ee = G ? q ?? ae("practiceResults.card.open") : void 0, je = U ?? ae("practiceResults.card.book"), qe = O(
1583
- (v) => {
1584
- if (v.nextAvailableSlot)
1613
+ (b) => {
1614
+ if (b.nextAvailableSlot)
1585
1615
  try {
1586
1616
  return new Intl.DateTimeFormat(be.language, {
1587
1617
  weekday: "short",
1588
1618
  hour: "numeric",
1589
1619
  minute: "numeric"
1590
- }).format(new Date(v.nextAvailableSlot.dateTime));
1620
+ }).format(new Date(b.nextAvailableSlot.dateTime));
1591
1621
  } catch {
1592
- return v.nextAvailableSlot.dateTime;
1622
+ return b.nextAvailableSlot.dateTime;
1593
1623
  }
1594
1624
  },
1595
1625
  [be.language]
1596
- ), ye = M(null);
1626
+ ), ye = I(null);
1597
1627
  W(() => {
1598
- ye.current !== n && (ye.current = n, L("serp_variant_exposed", {
1628
+ ye.current !== n && (ye.current = n, B("serp_variant_exposed", {
1599
1629
  variant: n,
1600
1630
  totalCount: r ?? s.length
1601
1631
  }), X.current = /* @__PURE__ */ new Set(), se.current = /* @__PURE__ */ new Set());
1602
1632
  }, [n]);
1603
- const oe = M(!1), ce = B(
1633
+ const oe = I(!1), ce = M(
1604
1634
  () => Ct(a ?? [], s, y.facets),
1605
1635
  [a, s, y.facets]
1606
- ), le = y.sort ?? (i ? "distance" : "relevance"), z = B(() => {
1607
- const v = wt(s, y.facets, ce);
1608
- return Rt(v, le, i);
1636
+ ), le = y.sort ?? (i ? "distance" : "relevance"), F = M(() => {
1637
+ const b = wt(s, y.facets, ce);
1638
+ return Rt(b, le, i);
1609
1639
  }, [s, y.facets, ce, le, i]);
1610
1640
  W(() => {
1611
- const v = z.length === 0;
1612
- v && !oe.current ? (L("serp_empty_results", {
1641
+ const b = F.length === 0;
1642
+ b && !oe.current ? (B("serp_empty_results", {
1613
1643
  appliedFacets: y.facets ?? {}
1614
- }), oe.current = !0) : v || (oe.current = !1);
1615
- }, [z.length, y.facets]);
1616
- const K = M(null), xe = M(null);
1644
+ }), oe.current = !0) : b || (oe.current = !1);
1645
+ }, [F.length, y.facets]);
1646
+ const K = I(null), xe = I(null);
1617
1647
  W(
1618
1648
  () => () => {
1619
1649
  K.current && clearTimeout(K.current);
1620
1650
  },
1621
1651
  []
1622
1652
  );
1623
- const Ue = O((v) => {
1624
- J(v), !X.current.has(v) && (xe.current === v && K.current || (K.current && clearTimeout(K.current), xe.current = v, K.current = setTimeout(() => {
1625
- X.current.has(v) || (X.current.add(v), L("serp_result_hovered_card", { resultId: v })), K.current = null;
1653
+ const Ue = O((b) => {
1654
+ J(b), !X.current.has(b) && (xe.current === b && K.current || (K.current && clearTimeout(K.current), xe.current = b, K.current = setTimeout(() => {
1655
+ X.current.has(b) || (X.current.add(b), B("serp_result_hovered_card", { resultId: b })), K.current = null;
1626
1656
  }, 500)));
1627
- }, []), Ge = O((v) => {
1628
- J(v);
1629
- const F = ie.current;
1630
- if (!F) return;
1631
- const S = F.querySelector(
1632
- `[data-component="practice-result-card"][data-result-id="${CSS.escape(v)}"]`
1657
+ }, []), Ge = O((b) => {
1658
+ J(b);
1659
+ const L = ie.current;
1660
+ if (!L) return;
1661
+ const S = L.querySelector(
1662
+ `[data-component="practice-result-card"][data-result-id="${CSS.escape(b)}"]`
1633
1663
  );
1634
1664
  S == null || S.scrollIntoView({ behavior: "smooth", block: "nearest" });
1635
- }, []), Ze = O((v) => {
1636
- se.current.has(v) || (se.current.add(v), L("serp_result_hovered_pin", { resultId: v }));
1637
- }, []), ke = M(null), Qe = O(
1638
- (v) => {
1639
- J(v);
1640
- const F = z.find((S) => S.id === v);
1641
- if (F) {
1642
- if (F.location) {
1665
+ }, []), Ze = O((b) => {
1666
+ se.current.has(b) || (se.current.add(b), B("serp_result_hovered_pin", { resultId: b }));
1667
+ }, []), ke = I(null), Qe = O(
1668
+ (b) => {
1669
+ J(b);
1670
+ const L = F.find((S) => S.id === b);
1671
+ if (L) {
1672
+ if (L.location) {
1643
1673
  const S = ke.current;
1644
1674
  S == null || S.panTo({
1645
- lat: F.location.lat,
1646
- lng: F.location.lng
1675
+ lat: L.location.lat,
1676
+ lng: L.location.lng
1647
1677
  }), S == null || S.setZoom(16);
1648
1678
  }
1649
- Q(z, v, "card", g);
1679
+ Q(F, b, "card", v);
1650
1680
  }
1651
1681
  },
1652
- [z, g]
1682
+ [F, v]
1653
1683
  ), Je = O(
1654
- (v) => {
1684
+ (b) => {
1655
1685
  Q(
1656
- z,
1657
- v,
1686
+ F,
1687
+ b,
1658
1688
  "open-button",
1659
- g
1689
+ v
1660
1690
  );
1661
1691
  },
1662
- [z, g]
1692
+ [F, v]
1663
1693
  ), We = O(
1664
- (v) => {
1694
+ (b) => {
1665
1695
  Q(
1666
- z,
1667
- v,
1696
+ F,
1697
+ b,
1668
1698
  "book-button",
1669
- g
1699
+ v
1670
1700
  );
1671
1701
  },
1672
- [z, g]
1673
- ), Xe = !!R && s.length === 0, de = {
1674
- results: z,
1702
+ [F, v]
1703
+ ), Xe = !!p && s.length === 0, de = {
1704
+ results: F,
1675
1705
  totalCount: r,
1676
1706
  searchCentre: i,
1677
1707
  facets: ce,
1678
1708
  value: { ...y, sort: le },
1679
- onChange: h,
1680
- onResultSelect: g,
1709
+ onChange: C,
1710
+ onResultSelect: v,
1681
1711
  onLoadMore: x,
1682
- loadingMore: b,
1712
+ loadingMore: g,
1683
1713
  apiKey: l,
1684
1714
  mapId: d,
1685
1715
  zoom: c,
@@ -1688,15 +1718,15 @@ const Ot = nt(function({
1688
1718
  // CMP at the page level is responsible for whether the Google Maps
1689
1719
  // loader script is present at all. `onConsentRequest` is dropped
1690
1720
  // because no placeholder renders — nothing to fire it from.
1691
- consentGranted: f ? !0 : o,
1692
- onConsentRequest: f ? void 0 : m,
1721
+ consentGranted: h ? !0 : o,
1722
+ onConsentRequest: h ? void 0 : f,
1693
1723
  onBoundsChange: u,
1694
1724
  loadingSkeletons: Xe,
1695
1725
  emptyResultsSlot: P,
1696
1726
  errorSlot: N,
1697
- error: w,
1698
- onRetry: _,
1699
- heading: T,
1727
+ error: R,
1728
+ onRetry: T,
1729
+ heading: z,
1700
1730
  intro: A,
1701
1731
  highlightedId: Ve,
1702
1732
  onCardHover: Ue,
@@ -1742,4 +1772,4 @@ export {
1742
1772
  Ot as P,
1743
1773
  bt as p
1744
1774
  };
1745
- //# sourceMappingURL=practice-results-BrUDDMXC.js.map
1775
+ //# sourceMappingURL=practice-results-BzThnpnm.js.map