@alfadocs/ui-kit-debug 1.112.1 → 1.113.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 (228) hide show
  1. package/dist/_chunks/{ai-prompt-input-CG9BEggs.js → ai-prompt-input-JIPbrTF3.js} +2 -2
  2. package/dist/_chunks/{ai-prompt-input-CG9BEggs.js.map → ai-prompt-input-JIPbrTF3.js.map} +1 -1
  3. package/dist/_chunks/{anamnesis-summary-rows-BrTx7diS.js → anamnesis-summary-rows-DfDulR_c.js} +3 -3
  4. package/dist/_chunks/{anamnesis-summary-rows-BrTx7diS.js.map → anamnesis-summary-rows-DfDulR_c.js.map} +1 -1
  5. package/dist/_chunks/{audio-recorder-BlDozxdU.js → audio-recorder-CsnM_WDy.js} +2 -2
  6. package/dist/_chunks/{audio-recorder-BlDozxdU.js.map → audio-recorder-CsnM_WDy.js.map} +1 -1
  7. package/dist/_chunks/{balance-badge-cell-wJ6cTD_h.js → balance-badge-cell-BAZynD--.js} +4 -4
  8. package/dist/_chunks/{balance-badge-cell-wJ6cTD_h.js.map → balance-badge-cell-BAZynD--.js.map} +1 -1
  9. package/dist/_chunks/{bishop-score-BhMomGcX.js → bishop-score-CnIft4eV.js} +2 -2
  10. package/dist/_chunks/{bishop-score-BhMomGcX.js.map → bishop-score-CnIft4eV.js.map} +1 -1
  11. package/dist/_chunks/{calendar-appointment-editor-dialog-Oc3Df8O3.js → calendar-appointment-editor-dialog-CaZm5wGR.js} +5 -5
  12. package/dist/_chunks/{calendar-appointment-editor-dialog-Oc3Df8O3.js.map → calendar-appointment-editor-dialog-CaZm5wGR.js.map} +1 -1
  13. package/dist/_chunks/{data-table-zXBxFYpJ.js → data-table-C9idMvs0.js} +2 -2
  14. package/dist/_chunks/{data-table-zXBxFYpJ.js.map → data-table-C9idMvs0.js.map} +1 -1
  15. package/dist/_chunks/{document-preview-BalyZqnn.js → document-preview-5xs64jME.js} +2 -2
  16. package/dist/_chunks/{document-preview-BalyZqnn.js.map → document-preview-5xs64jME.js.map} +1 -1
  17. package/dist/_chunks/email-input-DxwbREpx.js +156 -0
  18. package/dist/_chunks/email-input-DxwbREpx.js.map +1 -0
  19. package/dist/_chunks/{file-manager-CVxBE4yy.js → file-manager-LG7B_UHB.js} +2 -2
  20. package/dist/_chunks/{file-manager-CVxBE4yy.js.map → file-manager-LG7B_UHB.js.map} +1 -1
  21. package/dist/_chunks/{forgot-password-form-vfCO2-Tt.js → forgot-password-form-YQVzSskq.js} +8 -7
  22. package/dist/_chunks/{forgot-password-form-vfCO2-Tt.js.map → forgot-password-form-YQVzSskq.js.map} +1 -1
  23. package/dist/_chunks/{gestational-age-calculator-AnaH00nk.js → gestational-age-calculator-Dv3IePb-.js} +2 -2
  24. package/dist/_chunks/{gestational-age-calculator-AnaH00nk.js.map → gestational-age-calculator-Dv3IePb-.js.map} +1 -1
  25. package/dist/_chunks/{heatmap-D4qqpCEj.js → heatmap-BiwC7Gdx.js} +2 -2
  26. package/dist/_chunks/{heatmap-D4qqpCEj.js.map → heatmap-BiwC7Gdx.js.map} +1 -1
  27. package/dist/_chunks/isEmail-BfVspSvV.js +248 -0
  28. package/dist/_chunks/isEmail-BfVspSvV.js.map +1 -0
  29. package/dist/_chunks/{kit-extensions-VaJ-u44J.js → kit-extensions-BOsUgWnE.js} +3 -3
  30. package/dist/_chunks/{kit-extensions-VaJ-u44J.js.map → kit-extensions-BOsUgWnE.js.map} +1 -1
  31. package/dist/_chunks/{link-cell-renderer-C8vfCOEp.js → link-cell-renderer-_Fv3WEmb.js} +2 -2
  32. package/dist/_chunks/{link-cell-renderer-C8vfCOEp.js.map → link-cell-renderer-_Fv3WEmb.js.map} +1 -1
  33. package/dist/_chunks/{login-dev-card-Cz1Clugq.js → login-dev-card-B6-zCFq3.js} +47 -46
  34. package/dist/_chunks/{login-dev-card-Cz1Clugq.js.map → login-dev-card-B6-zCFq3.js.map} +1 -1
  35. package/dist/_chunks/{muscle-scheme-1BZd1-RE.js → muscle-scheme-BkmDUTmk.js} +2 -2
  36. package/dist/_chunks/{muscle-scheme-1BZd1-RE.js.map → muscle-scheme-BkmDUTmk.js.map} +1 -1
  37. package/dist/_chunks/{optical-prescription-BGVeDVSP.js → optical-prescription-CvbN8yD2.js} +2 -2
  38. package/dist/_chunks/{optical-prescription-BGVeDVSP.js.map → optical-prescription-CvbN8yD2.js.map} +1 -1
  39. package/dist/_chunks/{patient-details-wMgTFtpp.js → patient-details-RsT3SaYh.js} +2 -2
  40. package/dist/_chunks/{patient-details-wMgTFtpp.js.map → patient-details-RsT3SaYh.js.map} +1 -1
  41. package/dist/_chunks/{patient-field-row-Bhm2Ig1P.js → patient-field-row-D9rb-QJH.js} +3 -3
  42. package/dist/_chunks/{patient-field-row-Bhm2Ig1P.js.map → patient-field-row-D9rb-QJH.js.map} +1 -1
  43. package/dist/_chunks/{patient-summary-card-DMdPPG3n.js → patient-summary-card-BjZErlbt.js} +2 -2
  44. package/dist/_chunks/{patient-summary-card-DMdPPG3n.js.map → patient-summary-card-BjZErlbt.js.map} +1 -1
  45. package/dist/_chunks/{practice-results-BOpaPaav.js → practice-results-BByRCIuR.js} +620 -566
  46. package/dist/_chunks/practice-results-BByRCIuR.js.map +1 -0
  47. package/dist/_chunks/{pregnancy-dating-D6dLkMpl.js → pregnancy-dating-Cs8xpZA8.js} +2 -2
  48. package/dist/_chunks/{pregnancy-dating-D6dLkMpl.js.map → pregnancy-dating-Cs8xpZA8.js.map} +1 -1
  49. package/dist/_chunks/{registration-form-CEJRUS9G.js → registration-form-Cq5_OSIL.js} +8 -7
  50. package/dist/_chunks/{registration-form-CEJRUS9G.js.map → registration-form-Cq5_OSIL.js.map} +1 -1
  51. package/dist/_chunks/{reserved.agent-C-C9cvO5.js → reserved.agent-BMkapgom.js} +3 -3
  52. package/dist/_chunks/{reserved.agent-C-C9cvO5.js.map → reserved.agent-BMkapgom.js.map} +1 -1
  53. package/dist/_chunks/{reset-password-form-B0acanDD.js → reset-password-form-BVsL2fOJ.js} +2 -2
  54. package/dist/_chunks/{reset-password-form-B0acanDD.js.map → reset-password-form-BVsL2fOJ.js.map} +1 -1
  55. package/dist/_chunks/{select-BBDRYxJl.js → select-uESzXTX6.js} +42 -39
  56. package/dist/_chunks/select-uESzXTX6.js.map +1 -0
  57. package/dist/_chunks/{send-registration-link-form-Nn0jf65G.js → send-registration-link-form-OgPomrZN.js} +8 -7
  58. package/dist/_chunks/{send-registration-link-form-Nn0jf65G.js.map → send-registration-link-form-OgPomrZN.js.map} +1 -1
  59. package/dist/_chunks/{signature-request-DJwdPji_.js → signature-request-BnTihryS.js} +2 -2
  60. package/dist/_chunks/{signature-request-DJwdPji_.js.map → signature-request-BnTihryS.js.map} +1 -1
  61. package/dist/_chunks/{tabs-DYHgRVSJ.js → tabs-CXYjr_8O.js} +2 -2
  62. package/dist/_chunks/{tabs-DYHgRVSJ.js.map → tabs-CXYjr_8O.js.map} +1 -1
  63. package/dist/_chunks/{task-editor-jqRf2JP6.js → task-editor-gqWF1jI6.js} +2 -2
  64. package/dist/_chunks/{task-editor-jqRf2JP6.js.map → task-editor-gqWF1jI6.js.map} +1 -1
  65. package/dist/_chunks/{tasks-panel-CFo5uIHx.js → tasks-panel-OuIaydK5.js} +2 -2
  66. package/dist/_chunks/{tasks-panel-CFo5uIHx.js.map → tasks-panel-OuIaydK5.js.map} +1 -1
  67. package/dist/_chunks/{unit-converter-C95sa5y8.js → unit-converter-D77vmlzN.js} +2 -2
  68. package/dist/_chunks/{unit-converter-C95sa5y8.js.map → unit-converter-D77vmlzN.js.map} +1 -1
  69. package/dist/_chunks/{use-appointment-details-read-VI26Z-pc.js → use-appointment-details-read-DvK7Looa.js} +2 -2
  70. package/dist/_chunks/{use-appointment-details-read-VI26Z-pc.js.map → use-appointment-details-read-DvK7Looa.js.map} +1 -1
  71. package/dist/_chunks/verify-identity-types-C85EXNzy.js +707 -0
  72. package/dist/_chunks/verify-identity-types-C85EXNzy.js.map +1 -0
  73. package/dist/_chunks/{voice-control-panel-B0TUZAiP.js → voice-control-panel-BGiX4sqB.js} +2 -2
  74. package/dist/_chunks/{voice-control-panel-B0TUZAiP.js.map → voice-control-panel-BGiX4sqB.js.map} +1 -1
  75. package/dist/agent-catalog.json +106 -2
  76. package/dist/agent-i18n/en.json +11 -0
  77. package/dist/components/ai-prompt-input/index.js +1 -1
  78. package/dist/components/appointment-details-panel/index.js +1 -1
  79. package/dist/components/audio-recorder/index.js +1 -1
  80. package/dist/components/bishop-score/index.js +1 -1
  81. package/dist/components/booking/index.js +1 -1
  82. package/dist/components/data-table/index.js +2 -2
  83. package/dist/components/document-preview/index.js +1 -1
  84. package/dist/components/email-input/index.js +1 -1
  85. package/dist/components/file-manager/index.js +1 -1
  86. package/dist/components/gestational-age-calculator/index.js +1 -1
  87. package/dist/components/heatmap/index.js +1 -1
  88. package/dist/components/index.d.ts +1 -0
  89. package/dist/components/index.d.ts.map +1 -1
  90. package/dist/components/muscle-scheme/index.js +1 -1
  91. package/dist/components/optical-prescription/index.js +1 -1
  92. package/dist/components/patient-details/index.js +1 -1
  93. package/dist/components/patient-summary-card/index.js +1 -1
  94. package/dist/components/patient-table/index.js +1 -1
  95. package/dist/components/practice-results/index.js +1 -1
  96. package/dist/components/practice-results/practice-results.d.ts +28 -0
  97. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  98. package/dist/components/pregnancy-dating/index.js +1 -1
  99. package/dist/components/rich-text-editor/index.js +1 -1
  100. package/dist/components/select/index.js +1 -1
  101. package/dist/components/select/select.d.ts.map +1 -1
  102. package/dist/components/skeleton-scheme/index.js +1 -1
  103. package/dist/components/tabs/index.js +1 -1
  104. package/dist/components/task-editor/index.js +1 -1
  105. package/dist/components/tasks-panel/index.js +1 -1
  106. package/dist/components/unit-converter/index.js +1 -1
  107. package/dist/components/voice-control-panel/index.js +1 -1
  108. package/dist/core.css +1 -1
  109. package/dist/i18n/locales/ar.d.ts +67 -0
  110. package/dist/i18n/locales/ar.d.ts.map +1 -1
  111. package/dist/i18n/locales/ar.js +68 -1
  112. package/dist/i18n/locales/ar.js.map +1 -1
  113. package/dist/i18n/locales/de.d.ts +67 -0
  114. package/dist/i18n/locales/de.d.ts.map +1 -1
  115. package/dist/i18n/locales/de.js +68 -1
  116. package/dist/i18n/locales/de.js.map +1 -1
  117. package/dist/i18n/locales/el.d.ts +67 -0
  118. package/dist/i18n/locales/el.d.ts.map +1 -1
  119. package/dist/i18n/locales/el.js +68 -1
  120. package/dist/i18n/locales/el.js.map +1 -1
  121. package/dist/i18n/locales/en.d.ts +67 -0
  122. package/dist/i18n/locales/en.d.ts.map +1 -1
  123. package/dist/i18n/locales/en.js +67 -0
  124. package/dist/i18n/locales/en.js.map +1 -1
  125. package/dist/i18n/locales/es.d.ts +67 -0
  126. package/dist/i18n/locales/es.d.ts.map +1 -1
  127. package/dist/i18n/locales/es.js +68 -1
  128. package/dist/i18n/locales/es.js.map +1 -1
  129. package/dist/i18n/locales/fr.d.ts +67 -0
  130. package/dist/i18n/locales/fr.d.ts.map +1 -1
  131. package/dist/i18n/locales/fr.js +68 -1
  132. package/dist/i18n/locales/fr.js.map +1 -1
  133. package/dist/i18n/locales/hi.d.ts +67 -0
  134. package/dist/i18n/locales/hi.d.ts.map +1 -1
  135. package/dist/i18n/locales/hi.js +68 -1
  136. package/dist/i18n/locales/hi.js.map +1 -1
  137. package/dist/i18n/locales/it.d.ts +67 -0
  138. package/dist/i18n/locales/it.d.ts.map +1 -1
  139. package/dist/i18n/locales/it.js +68 -1
  140. package/dist/i18n/locales/it.js.map +1 -1
  141. package/dist/i18n/locales/ja.d.ts +67 -0
  142. package/dist/i18n/locales/ja.d.ts.map +1 -1
  143. package/dist/i18n/locales/ja.js +68 -1
  144. package/dist/i18n/locales/ja.js.map +1 -1
  145. package/dist/i18n/locales/nl.d.ts +67 -0
  146. package/dist/i18n/locales/nl.d.ts.map +1 -1
  147. package/dist/i18n/locales/nl.js +68 -1
  148. package/dist/i18n/locales/nl.js.map +1 -1
  149. package/dist/i18n/locales/pl.d.ts +67 -0
  150. package/dist/i18n/locales/pl.d.ts.map +1 -1
  151. package/dist/i18n/locales/pl.js +68 -1
  152. package/dist/i18n/locales/pl.js.map +1 -1
  153. package/dist/i18n/locales/pt.d.ts +67 -0
  154. package/dist/i18n/locales/pt.d.ts.map +1 -1
  155. package/dist/i18n/locales/pt.js +68 -1
  156. package/dist/i18n/locales/pt.js.map +1 -1
  157. package/dist/i18n/locales/ro.d.ts +67 -0
  158. package/dist/i18n/locales/ro.d.ts.map +1 -1
  159. package/dist/i18n/locales/ro.js +68 -1
  160. package/dist/i18n/locales/ro.js.map +1 -1
  161. package/dist/i18n/locales/ru.d.ts +67 -0
  162. package/dist/i18n/locales/ru.d.ts.map +1 -1
  163. package/dist/i18n/locales/ru.js +68 -1
  164. package/dist/i18n/locales/ru.js.map +1 -1
  165. package/dist/i18n/locales/sq.d.ts +67 -0
  166. package/dist/i18n/locales/sq.d.ts.map +1 -1
  167. package/dist/i18n/locales/sq.js +68 -1
  168. package/dist/i18n/locales/sq.js.map +1 -1
  169. package/dist/i18n/locales/sv.d.ts +67 -0
  170. package/dist/i18n/locales/sv.d.ts.map +1 -1
  171. package/dist/i18n/locales/sv.js +68 -1
  172. package/dist/i18n/locales/sv.js.map +1 -1
  173. package/dist/i18n/locales/tr.d.ts +67 -0
  174. package/dist/i18n/locales/tr.d.ts.map +1 -1
  175. package/dist/i18n/locales/tr.js +68 -1
  176. package/dist/i18n/locales/tr.js.map +1 -1
  177. package/dist/i18n/locales/zh.d.ts +67 -0
  178. package/dist/i18n/locales/zh.d.ts.map +1 -1
  179. package/dist/i18n/locales/zh.js +68 -1
  180. package/dist/i18n/locales/zh.js.map +1 -1
  181. package/dist/index.js +352 -347
  182. package/dist/index.js.map +1 -1
  183. package/dist/locales/ar.json +68 -1
  184. package/dist/locales/de.json +68 -1
  185. package/dist/locales/el.json +68 -1
  186. package/dist/locales/en.json +67 -0
  187. package/dist/locales/es.json +68 -1
  188. package/dist/locales/fr.json +68 -1
  189. package/dist/locales/hi.json +68 -1
  190. package/dist/locales/it.json +68 -1
  191. package/dist/locales/ja.json +68 -1
  192. package/dist/locales/nl.json +68 -1
  193. package/dist/locales/pl.json +68 -1
  194. package/dist/locales/pt.json +68 -1
  195. package/dist/locales/ro.json +68 -1
  196. package/dist/locales/ru.json +68 -1
  197. package/dist/locales/sq.json +68 -1
  198. package/dist/locales/sv.json +68 -1
  199. package/dist/locales/tr.json +68 -1
  200. package/dist/locales/zh.json +68 -1
  201. package/dist/patterns/anamnesis/index.js +1 -1
  202. package/dist/patterns/calendar/index.js +1 -1
  203. package/dist/patterns/forgot-password-form/index.js +1 -1
  204. package/dist/patterns/login-form/index.js +1 -1
  205. package/dist/patterns/registration-form/index.js +1 -1
  206. package/dist/patterns/reset-password-form/index.js +1 -1
  207. package/dist/patterns/send-registration-link-form/index.js +1 -1
  208. package/dist/patterns/signature-request/index.js +1 -1
  209. package/dist/patterns/verify-identity/change-email-dialog.d.ts +26 -0
  210. package/dist/patterns/verify-identity/change-email-dialog.d.ts.map +1 -0
  211. package/dist/patterns/verify-identity/index.d.ts +7 -0
  212. package/dist/patterns/verify-identity/index.d.ts.map +1 -0
  213. package/dist/patterns/verify-identity/index.js +8 -0
  214. package/dist/patterns/verify-identity/index.js.map +1 -0
  215. package/dist/patterns/verify-identity/use-countdown.d.ts +12 -0
  216. package/dist/patterns/verify-identity/use-countdown.d.ts.map +1 -0
  217. package/dist/patterns/verify-identity/verify-identity-steps.d.ts +21 -0
  218. package/dist/patterns/verify-identity/verify-identity-steps.d.ts.map +1 -0
  219. package/dist/patterns/verify-identity/verify-identity-types.d.ts +47 -0
  220. package/dist/patterns/verify-identity/verify-identity-types.d.ts.map +1 -0
  221. package/dist/patterns/verify-identity/verify-identity.d.ts +54 -0
  222. package/dist/patterns/verify-identity/verify-identity.d.ts.map +1 -0
  223. package/dist/tokens.css +1 -1
  224. package/package.json +5 -1
  225. package/dist/_chunks/email-input-BEO3vonE.js +0 -399
  226. package/dist/_chunks/email-input-BEO3vonE.js.map +0 -1
  227. package/dist/_chunks/practice-results-BOpaPaav.js.map +0 -1
  228. package/dist/_chunks/select-BBDRYxJl.js.map +0 -1
@@ -1,37 +1,37 @@
1
- import { jsx as t, jsxs as g, Fragment as ot } from "react/jsx-runtime";
2
- import { forwardRef as ct, useState as me, useRef as T, useMemo as M, useImperativeHandle as lt, useCallback as _, useEffect as X } from "react";
3
- import { c as O } from "./index-D2ZczOXr.js";
1
+ import { jsx as t, jsxs as g, Fragment as ft } from "react/jsx-runtime";
2
+ import { forwardRef as pt, useState as he, useRef as T, useMemo as P, useImperativeHandle as ht, useCallback as _, useEffect as ee } from "react";
3
+ import { c as D } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as k } from "react-i18next";
5
- import { A as J } from "./alert-C4WKViaS.js";
6
- import { A as Se } from "./avatar-Dp5apm1d.js";
7
- import { B as Y } from "./button-DohK_Ak_.js";
8
- import { D } from "./dropdown-menu-CqxBthww.js";
9
- import { E as dt } from "./empty-state-DwJ5YNzz.js";
10
- import { M as ut } from "./map-view-Dn7aXZJw.js";
11
- import { R as Le } from "./rating-CGYpg5dj.js";
5
+ import { A as Y } from "./alert-C4WKViaS.js";
6
+ import { A as Me } from "./avatar-Dp5apm1d.js";
7
+ import { B as te } from "./button-DohK_Ak_.js";
8
+ import { D as B } from "./dropdown-menu-CqxBthww.js";
9
+ import { E as gt } from "./empty-state-DwJ5YNzz.js";
10
+ import { M as vt } from "./map-view-Dn7aXZJw.js";
11
+ import { R as Fe } from "./rating-CGYpg5dj.js";
12
12
  import { S as V } from "./sheet-uZZXaO_S.js";
13
- import { S as mt } from "./skeleton-tTWJpvAq.js";
14
- import { S as ft } from "./spinner-CoflYlEx.js";
15
- import { B as $ } from "./badge-BUk4RjTS.js";
16
- import { u as pt } from "./use-media-query-CcAx5SMM.js";
17
- import { b as ht, a as Ce } from "./format-price-BcFBa-WP.js";
18
- import { u as gt } from "./registry-DvAUVLHh.js";
19
- import { c as vt } from "./createLucideIcon-DhHxpK9K.js";
20
- import { R as bt } from "./refresh-cw-DnI0cLFC.js";
21
- import { C as Pe } from "./chevron-down-DWE7GSq9.js";
22
- import { L as Ae } from "./languages-CGLX6Qpe.js";
23
- import { S as Me } from "./shield-check-DCJALLVh.js";
24
- import { H as Fe } from "./heart--qCA4ffe.js";
25
- import { M as fe } from "./map-pin-BaY37-Km.js";
26
- import { C as xt } from "./calendar-clock-hbObjfGY.js";
27
- import { C as yt } from "./calendar-plus-BFrIRE4r.js";
13
+ import { S as bt } from "./skeleton-tTWJpvAq.js";
14
+ import { S as xt } from "./spinner-CoflYlEx.js";
15
+ import { B as O } from "./badge-BUk4RjTS.js";
16
+ import { u as yt } from "./use-media-query-CcAx5SMM.js";
17
+ import { b as wt, a as Le } from "./format-price-BcFBa-WP.js";
18
+ import { u as kt } from "./registry-DvAUVLHh.js";
19
+ import { c as Ct } from "./createLucideIcon-DhHxpK9K.js";
20
+ import { R as Rt } from "./refresh-cw-DnI0cLFC.js";
21
+ import { C as Te } from "./chevron-down-DWE7GSq9.js";
22
+ import { L as _e } from "./languages-CGLX6Qpe.js";
23
+ import { S as Ve } from "./shield-check-DCJALLVh.js";
24
+ import { H as He } from "./heart--qCA4ffe.js";
25
+ import { M as ge } from "./map-pin-BaY37-Km.js";
26
+ import { C as Nt } from "./calendar-clock-hbObjfGY.js";
27
+ import { C as St } from "./calendar-plus-BFrIRE4r.js";
28
28
  /**
29
29
  * @license lucide-react v1.22.0 - ISC
30
30
  *
31
31
  * This source code is licensed under the ISC license.
32
32
  * See the LICENSE file in the root directory of this source tree.
33
33
  */
34
- const wt = [
34
+ const Lt = [
35
35
  [
36
36
  "path",
37
37
  {
@@ -41,7 +41,7 @@ const wt = [
41
41
  ],
42
42
  ["path", { d: "M15 5.764v15", key: "1pn4in" }],
43
43
  ["path", { d: "M9 3.236v15", key: "1uimfh" }]
44
- ], kt = vt("map", wt), Ct = {
44
+ ], Pt = Ct("map", Lt), At = {
45
45
  id: "practice-results",
46
46
  // `scroll` backs scroll_to_result; `pick` backs focus_pin (a non-persisting
47
47
  // pin highlight). The active variant is consumer-owned via props, so there is
@@ -117,21 +117,21 @@ const wt = [
117
117
  },
118
118
  item: {
119
119
  attr: "data-result-id",
120
- description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. The non-focusable card group is labelled by the practice-result-{id}-name heading, which contains data-component="practice-result-name-link": a visible link to result.href that navigates without firing onResultSelect or click telemetry. Each card also carries up to two CTA anchors: data-component="practice-result-open-cta" (practice page; absent when the consumer sets showCardOpenButton=false) and data-component="practice-result-book-cta" (booking flow; data-slot-aware="true" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component="practice-result-tagline", data-component="practice-result-description", and data-component="practice-result-price" (the kit-formatted first-visit cost: firstVisitPrice supports fixed, from and range amounts plus an optional practice-written label; it takes precedence over the older firstVisitPriceCents fixed-price field. Absent when neither price is set).'
120
+ description: 'Stable result id emitted on each rendered result card. Used by scroll_to_result / focus_pin to address a single result. The non-focusable card group is labelled by the practice-result-{id}-name heading, which contains data-component="practice-result-name-link": a visible link to result.href that navigates without firing onResultSelect or click telemetry. Each card also carries up to two CTA anchors: data-component="practice-result-open-cta" (practice page; absent when the consumer sets showCardOpenButton=false) and data-component="practice-result-book-cta" (booking flow; data-slot-aware="true" when it deep-links to a next slot). Card content carries its own read-only hooks: data-component="practice-result-tagline", data-component="practice-result-description", data-component="practice-result-latest-review" (the newest approved review as one truncated line under the rating, from latestReview; its text span carries the language of the review as lang; absent without latestReview), and data-component="practice-result-price" (the kit-formatted first-visit cost: firstVisitPrice supports fixed, from and range amounts plus an optional practice-written label; it takes precedence over the older firstVisitPriceCents fixed-price field. Absent when neither price is set).'
121
121
  }
122
122
  }
123
- }, Rt = 13, Nt = [
123
+ }, It = 13, Pe = [
124
124
  "distance",
125
125
  "rating",
126
126
  "next-available",
127
127
  "price",
128
128
  "relevance"
129
129
  ];
130
- function Ie(e, n, i) {
130
+ function ze(e, n, i) {
131
131
  const s = `languages.${e}`;
132
132
  return i.exists(s) ? n(s) : e.toUpperCase();
133
133
  }
134
- function B(e, n) {
134
+ function $(e, n) {
135
135
  if (typeof window > "u") return;
136
136
  const i = window.track;
137
137
  try {
@@ -140,27 +140,27 @@ function B(e, n) {
140
140
  }
141
141
  }
142
142
  function Z(e, n, i, s) {
143
- const r = e.findIndex((l) => l.id === n);
143
+ const r = e.findIndex((o) => o.id === n);
144
144
  if (r < 0) return;
145
145
  const a = e[r];
146
- a && (B("serp_result_clicked", { resultId: n, source: i, position: r }), s(a, i));
146
+ a && ($("serp_result_clicked", { resultId: n, source: i, position: r }), s(a, i));
147
147
  }
148
- function St(e, n) {
149
- const s = (n.lat - e.lat) * Math.PI / 180, r = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, l = n.lat * Math.PI / 180, d = Math.sin(s / 2), o = Math.sin(r / 2), h = d * d + Math.cos(a) * Math.cos(l) * o * o;
150
- return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(h)));
148
+ function Mt(e, n) {
149
+ const s = (n.lat - e.lat) * Math.PI / 180, r = (n.lng - e.lng) * Math.PI / 180, a = e.lat * Math.PI / 180, o = n.lat * Math.PI / 180, d = Math.sin(s / 2), l = Math.sin(r / 2), m = d * d + Math.cos(a) * Math.cos(o) * l * l;
150
+ return 2 * 6371 * Math.asin(Math.min(1, Math.sqrt(m)));
151
151
  }
152
- function Lt(e, n, i) {
152
+ function Ft(e, n, i) {
153
153
  var r;
154
154
  const s = [];
155
155
  for (const a of e) {
156
- const l = a.field ?? a.key, d = (((r = i == null ? void 0 : i[a.key]) == null ? void 0 : r.length) ?? 0) > 0, o = a.type === "boolean" || a.type !== "options" && a.options.length === 0 && (d || n.some(
157
- (h) => typeof h[l] == "boolean"
156
+ const o = a.field ?? a.key, d = (((r = i == null ? void 0 : i[a.key]) == null ? void 0 : r.length) ?? 0) > 0, l = a.type === "boolean" || a.type !== "options" && a.options.length === 0 && (d || n.some(
157
+ (m) => typeof m[o] == "boolean"
158
158
  ));
159
- !o && a.options.length === 0 || s.push({ ...a, boolean: o, booleanField: l });
159
+ !l && a.options.length === 0 || s.push({ ...a, boolean: l, booleanField: o });
160
160
  }
161
161
  return s;
162
162
  }
163
- function Pt(e, n, i) {
163
+ function Tt(e, n, i) {
164
164
  return !n || Object.keys(n).length === 0 ? e : e.filter((s) => {
165
165
  for (const r of i) {
166
166
  const a = n[r.key];
@@ -169,47 +169,47 @@ function Pt(e, n, i) {
169
169
  if (s[r.booleanField] !== !0) return !1;
170
170
  continue;
171
171
  }
172
- const l = r.key === "insurance" ? s.insurances : r.key === "language" ? s.languages : s[r.key];
173
- if (!Array.isArray(l) || !(r.multi ? a.some((o) => l.includes(o)) : l.includes(a[0]))) return !1;
172
+ const o = r.key === "insurance" ? s.insurances : r.key === "language" ? s.languages : s[r.key];
173
+ if (!Array.isArray(o) || !(r.multi ? a.some((l) => o.includes(l)) : o.includes(a[0]))) return !1;
174
174
  }
175
175
  return !0;
176
176
  });
177
177
  }
178
- function At(e) {
178
+ function _t(e) {
179
179
  const n = e.firstVisitPrice && Number.isFinite(e.firstVisitPrice.minCents) ? e.firstVisitPrice.minCents : e.firstVisitPriceCents;
180
180
  return n != null && Number.isFinite(n) && n >= 0 ? n : 1 / 0;
181
181
  }
182
- function Mt(e) {
182
+ function Vt(e) {
183
183
  return e.firstVisitPrice && Number.isFinite(e.firstVisitPrice.minCents) ? e.firstVisitPrice.kind === "fixed" : !0;
184
184
  }
185
- function Re(e, n) {
185
+ function Ae(e, n) {
186
186
  return e == null && n == null ? 0 : e == null ? 1 : n == null ? -1 : e - n;
187
187
  }
188
- function Ft(e, n, i) {
188
+ function Ht(e, n, i) {
189
189
  const s = e.map((a) => {
190
- const l = a.location ? a.location.distanceKm ?? (i ? St(i, a.location) : void 0) : void 0;
190
+ const o = a.location ? a.location.distanceKm ?? (i ? Mt(i, a.location) : void 0) : void 0;
191
191
  return {
192
192
  result: a,
193
- distanceKm: l,
194
- price: n === "price" ? At(a) : void 0,
195
- fixed: n === "price" ? Mt(a) : !1
193
+ distanceKm: o,
194
+ price: n === "price" ? _t(a) : void 0,
195
+ fixed: n === "price" ? Vt(a) : !1
196
196
  };
197
- }), r = (a, l) => {
198
- var d, o, h, c;
197
+ }), r = (a, o) => {
198
+ var d, l, m, c;
199
199
  switch (n) {
200
200
  case "distance":
201
- return Re(a.distanceKm, l.distanceKm);
201
+ return Ae(a.distanceKm, o.distanceKm);
202
202
  case "price": {
203
- const u = a.price ?? 1 / 0, f = l.price ?? 1 / 0;
204
- return u !== f ? u - f : u !== 1 / 0 && a.fixed !== l.fixed ? a.fixed ? -1 : 1 : Re(a.distanceKm, l.distanceKm);
203
+ const f = a.price ?? 1 / 0, p = o.price ?? 1 / 0;
204
+ return f !== p ? f - p : f !== 1 / 0 && a.fixed !== o.fixed ? a.fixed ? -1 : 1 : Ae(a.distanceKm, o.distanceKm);
205
205
  }
206
206
  case "rating": {
207
- const u = ((d = a.result.rating) == null ? void 0 : d.value) ?? -1;
208
- return (((o = l.result.rating) == null ? void 0 : o.value) ?? -1) - u;
207
+ const f = ((d = a.result.rating) == null ? void 0 : d.value) ?? -1;
208
+ return (((l = o.result.rating) == null ? void 0 : l.value) ?? -1) - f;
209
209
  }
210
210
  case "next-available": {
211
- const u = ((h = a.result.nextAvailableSlot) == null ? void 0 : h.dateTime) ?? "", f = ((c = l.result.nextAvailableSlot) == null ? void 0 : c.dateTime) ?? "";
212
- return !u && !f ? 0 : u ? f ? u.localeCompare(f) : -1 : 1;
211
+ const f = ((m = a.result.nextAvailableSlot) == null ? void 0 : m.dateTime) ?? "", p = ((c = o.result.nextAvailableSlot) == null ? void 0 : c.dateTime) ?? "";
212
+ return !f && !p ? 0 : f ? p ? f.localeCompare(p) : -1 : 1;
213
213
  }
214
214
  case "relevance":
215
215
  default:
@@ -217,24 +217,24 @@ function Ft(e, n, i) {
217
217
  }
218
218
  };
219
219
  return [...s].sort(r).map(
220
- ({ result: a, distanceKm: l }) => l != null && a.location ? {
220
+ ({ result: a, distanceKm: o }) => o != null && a.location ? {
221
221
  ...a,
222
- location: { ...a.location, distanceKm: l }
222
+ location: { ...a.location, distanceKm: o }
223
223
  } : a
224
224
  );
225
225
  }
226
- function It(e) {
226
+ function zt(e) {
227
227
  let n = -1 / 0, i = 1 / 0, s = -1 / 0, r = 1 / 0, a = !1;
228
- for (const l of e) {
229
- if (!l.location) continue;
228
+ for (const o of e) {
229
+ if (!o.location) continue;
230
230
  a = !0;
231
- const { lat: d, lng: o } = l.location;
232
- d > n && (n = d), d < i && (i = d), o > s && (s = o), o < r && (r = o);
231
+ const { lat: d, lng: l } = o.location;
232
+ d > n && (n = d), d < i && (i = d), l > s && (s = l), l < r && (r = l);
233
233
  }
234
234
  if (a)
235
235
  return { north: n, south: i, east: s, west: r };
236
236
  }
237
- const Tt = O(
237
+ const Ot = D(
238
238
  "ds:flex ds:w-full ds:flex-col ds:text-[var(--foreground)] ds:gap-[var(--spacing-md)]",
239
239
  {
240
240
  variants: {
@@ -247,21 +247,21 @@ const Tt = O(
247
247
  defaultVariants: { variant: "split-list-map" }
248
248
  }
249
249
  );
250
- function Te({
250
+ function Oe({
251
251
  heading: e,
252
252
  headingLevel: n,
253
253
  intro: i,
254
254
  totalCount: s,
255
255
  searchCentreLabel: r
256
256
  }) {
257
- const { t: a } = k("ui"), l = `h${n}`;
257
+ const { t: a } = k("ui"), o = `h${n}`;
258
258
  if (!e && !i && s == null) return null;
259
259
  const d = s != null ? r ? a("practiceResults.results.heading", {
260
260
  count: s,
261
261
  place: r
262
262
  }) : a("practiceResults.results.summary", { count: s }) : void 0;
263
263
  return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
264
- e ? /* @__PURE__ */ t(l, { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
264
+ e ? /* @__PURE__ */ t(o, { className: "type-title-section ds:m-0 ds:text-[var(--foreground)]", children: e }) : null,
265
265
  i ? /* @__PURE__ */ t("p", { className: "type-body ds:m-0 ds:text-[var(--muted-foreground)]", children: i }) : null,
266
266
  d ? /* @__PURE__ */ t(
267
267
  "p",
@@ -273,7 +273,7 @@ function Te({
273
273
  ) : null
274
274
  ] });
275
275
  }
276
- const ee = O(
276
+ const ne = D(
277
277
  [
278
278
  "ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
279
279
  "ds:min-h-[var(--min-target-size)]",
@@ -295,7 +295,7 @@ const ee = O(
295
295
  },
296
296
  defaultVariants: { state: "idle" }
297
297
  }
298
- ), _t = O(
298
+ ), $t = D(
299
299
  "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]",
300
300
  {
301
301
  variants: {
@@ -314,7 +314,7 @@ const ee = O(
314
314
  },
315
315
  defaultVariants: { placement: "inline" }
316
316
  }
317
- ), Vt = O(
317
+ ), Bt = D(
318
318
  [
319
319
  "ds:ms-[var(--spacing-xs)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]",
320
320
  "ds:min-h-[var(--min-target-size)] ds:ps-[var(--spacing-xs)] ds:pe-[var(--spacing-xs)]",
@@ -325,26 +325,26 @@ const ee = O(
325
325
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]"
326
326
  ].join(" ")
327
327
  );
328
- function _e({
328
+ function $e({
329
329
  facets: e,
330
330
  value: n,
331
331
  onChange: i,
332
332
  floating: s
333
333
  }) {
334
- const { t: r } = k("ui"), a = M(() => n ?? {}, [n]), l = M(
334
+ const { t: r } = k("ui"), a = P(() => n ?? {}, [n]), o = P(
335
335
  () => Object.values(a).some((c) => c && c.length > 0),
336
336
  [a]
337
- ), d = (c, u) => {
338
- const f = { ...a };
339
- u.length === 0 ? delete f[c] : f[c] = u, i(f), B("serp_filter_changed", { key: c, values: u });
340
- }, o = (c) => {
341
- var f;
342
- const u = (((f = a[c]) == null ? void 0 : f.length) ?? 0) > 0;
343
- d(c, u ? [] : ["true"]);
344
- }, h = (c, u) => {
345
- const f = a[c.key] ?? [], x = f.includes(u);
337
+ ), d = (c, f) => {
338
+ const p = { ...a };
339
+ f.length === 0 ? delete p[c] : p[c] = f, i(p), $("serp_filter_changed", { key: c, values: f });
340
+ }, l = (c) => {
341
+ var p;
342
+ const f = (((p = a[c]) == null ? void 0 : p.length) ?? 0) > 0;
343
+ d(c, f ? [] : ["true"]);
344
+ }, m = (c, f) => {
345
+ const p = a[c.key] ?? [], x = p.includes(f);
346
346
  let v;
347
- c.multi ? v = x ? f.filter((w) => w !== u) : [...f, u] : v = x ? [] : [u], d(c.key, v);
347
+ c.multi ? v = x ? p.filter((w) => w !== f) : [...p, f] : v = x ? [] : [f], d(c.key, v);
348
348
  };
349
349
  return e.length === 0 ? null : /* @__PURE__ */ g(
350
350
  "div",
@@ -352,35 +352,35 @@ function _e({
352
352
  "data-component": "practice-results-filters",
353
353
  role: "group",
354
354
  "aria-label": r("practiceResults.filters.label"),
355
- className: _t({
355
+ className: $t({
356
356
  placement: s ? "floating" : "inline"
357
357
  }),
358
358
  children: [
359
359
  e.map((c) => {
360
- const u = c.boolean, f = a[c.key] ?? [], x = f.length > 0;
361
- if (u)
360
+ const f = c.boolean, p = a[c.key] ?? [], x = p.length > 0;
361
+ if (f)
362
362
  return /* @__PURE__ */ t(
363
363
  "button",
364
364
  {
365
365
  type: "button",
366
366
  "aria-pressed": x,
367
367
  "aria-label": c.label,
368
- onClick: () => o(c.key),
369
- className: ee({
368
+ onClick: () => l(c.key),
369
+ className: ne({
370
370
  state: x ? "active" : "idle"
371
371
  }),
372
372
  children: /* @__PURE__ */ t("span", { children: c.label })
373
373
  },
374
374
  c.key
375
375
  );
376
- const v = x ? ` (${f.length})` : "";
377
- return /* @__PURE__ */ g(D.Root, { children: [
378
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
376
+ const v = x ? ` (${p.length})` : "";
377
+ return /* @__PURE__ */ g(B.Root, { children: [
378
+ /* @__PURE__ */ t(B.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
379
379
  "button",
380
380
  {
381
381
  type: "button",
382
382
  "aria-label": `${c.label}${v}`,
383
- className: ee({
383
+ className: ne({
384
384
  state: x ? "active" : "idle"
385
385
  }),
386
386
  children: [
@@ -389,7 +389,7 @@ function _e({
389
389
  v
390
390
  ] }),
391
391
  /* @__PURE__ */ t(
392
- Pe,
392
+ Te,
393
393
  {
394
394
  "aria-hidden": "true",
395
395
  className: "ds:size-3.5 ds:shrink-0"
@@ -398,12 +398,12 @@ function _e({
398
398
  ]
399
399
  }
400
400
  ) }),
401
- /* @__PURE__ */ t(D.Content, { sideOffset: 8, align: "start", children: c.options.map((w) => /* @__PURE__ */ t(
402
- D.CheckboxItem,
401
+ /* @__PURE__ */ t(B.Content, { sideOffset: 8, align: "start", children: c.options.map((w) => /* @__PURE__ */ t(
402
+ B.CheckboxItem,
403
403
  {
404
- checked: f.includes(w.value),
404
+ checked: p.includes(w.value),
405
405
  onSelect: (y) => {
406
- c.multi && y.preventDefault(), h(c, w.value);
406
+ c.multi && y.preventDefault(), m(c, w.value);
407
407
  },
408
408
  children: w.label
409
409
  },
@@ -411,14 +411,14 @@ function _e({
411
411
  )) })
412
412
  ] }, c.key);
413
413
  }),
414
- l ? /* @__PURE__ */ t(
414
+ o ? /* @__PURE__ */ t(
415
415
  "button",
416
416
  {
417
417
  type: "button",
418
418
  onClick: () => {
419
- i({}), B("serp_filter_changed", { key: "*", values: [] });
419
+ i({}), $("serp_filter_changed", { key: "*", values: [] });
420
420
  },
421
- className: Vt(),
421
+ className: Bt(),
422
422
  children: r("practiceResults.filters.clear")
423
423
  }
424
424
  ) : null
@@ -426,63 +426,63 @@ function _e({
426
426
  }
427
427
  );
428
428
  }
429
- function de({ value: e, onChange: n }) {
430
- const { t: i } = k("ui"), s = (r) => {
431
- switch (r) {
429
+ function fe({ value: e, options: n, onChange: i }) {
430
+ const { t: s } = k("ui"), r = (a) => {
431
+ switch (a) {
432
432
  case "distance":
433
- return i("practiceResults.sort.distance");
433
+ return s("practiceResults.sort.distance");
434
434
  case "rating":
435
- return i("practiceResults.sort.rating");
435
+ return s("practiceResults.sort.rating");
436
436
  case "next-available":
437
- return i("practiceResults.sort.nextAvailable");
437
+ return s("practiceResults.sort.nextAvailable");
438
438
  case "price":
439
- return i("practiceResults.sort.price");
439
+ return s("practiceResults.sort.price");
440
440
  case "relevance":
441
441
  default:
442
- return i("practiceResults.sort.relevance");
442
+ return s("practiceResults.sort.relevance");
443
443
  }
444
444
  };
445
- return /* @__PURE__ */ g(D.Root, { children: [
446
- /* @__PURE__ */ t(D.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
445
+ return /* @__PURE__ */ g(B.Root, { children: [
446
+ /* @__PURE__ */ t(B.Trigger, { asChild: !0, children: /* @__PURE__ */ g(
447
447
  "button",
448
448
  {
449
449
  type: "button",
450
- "aria-label": `${i("practiceResults.sort.label")}: ${s(e)}`,
451
- className: ee({ state: "idle" }),
450
+ "aria-label": `${s("practiceResults.sort.label")}: ${r(e)}`,
451
+ className: ne({ state: "idle" }),
452
452
  children: [
453
453
  /* @__PURE__ */ g("span", { children: [
454
- i("practiceResults.sort.label"),
454
+ s("practiceResults.sort.label"),
455
455
  ": ",
456
- s(e)
456
+ r(e)
457
457
  ] }),
458
- /* @__PURE__ */ t(Pe, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
458
+ /* @__PURE__ */ t(Te, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" })
459
459
  ]
460
460
  }
461
461
  ) }),
462
- /* @__PURE__ */ t(D.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
463
- D.RadioGroup,
462
+ /* @__PURE__ */ t(B.Content, { sideOffset: 8, align: "end", children: /* @__PURE__ */ t(
463
+ B.RadioGroup,
464
464
  {
465
465
  value: e,
466
- onValueChange: (r) => {
467
- const a = r;
468
- a !== e && (n(a), B("serp_sort_changed", { sort: a }));
466
+ onValueChange: (a) => {
467
+ const o = a;
468
+ o !== e && (i(o), $("serp_sort_changed", { sort: o }));
469
469
  },
470
- children: Nt.map((r) => /* @__PURE__ */ t(D.RadioItem, { value: r, children: s(r) }, r))
470
+ children: n.map((a) => /* @__PURE__ */ t(B.RadioItem, { value: a, children: r(a) }, a))
471
471
  }
472
472
  ) })
473
473
  ] });
474
474
  }
475
- function Ht({ distanceKm: e }) {
476
- const { t: n, i18n: i } = k("ui"), s = M(() => {
475
+ function Dt({ distanceKm: e }) {
476
+ const { t: n, i18n: i } = k("ui"), s = P(() => {
477
477
  if (e < 1) return n("practiceResults.distance.below");
478
478
  const r = new Intl.NumberFormat(i.language, {
479
479
  maximumFractionDigits: 1
480
480
  }).format(e);
481
481
  return n("practiceResults.distance.km", { distance: r });
482
482
  }, [e, n, i.language]);
483
- return /* @__PURE__ */ t($, { variant: "neutral", leading: /* @__PURE__ */ t(fe, { "aria-hidden": "true" }), children: s });
483
+ return /* @__PURE__ */ t(O, { variant: "neutral", leading: /* @__PURE__ */ t(ge, { "aria-hidden": "true" }), children: s });
484
484
  }
485
- const Ne = O(
485
+ const Ie = D(
486
486
  [
487
487
  "ds:w-[12rem] ds:h-[8rem] ds:shrink-0",
488
488
  "ds:rounded-[var(--radius-md)] ds:overflow-hidden"
@@ -501,12 +501,12 @@ const Ne = O(
501
501
  defaultVariants: { state: "placeholder" }
502
502
  }
503
503
  );
504
- function zt() {
504
+ function Et() {
505
505
  if (typeof document > "u") return "4945a3";
506
506
  const e = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), n = /^#?([0-9a-fA-F]{6})$/.exec(e);
507
507
  return n ? n[1] : "4945a3";
508
508
  }
509
- function $t({
509
+ function jt({
510
510
  apiKey: e,
511
511
  center: n,
512
512
  zoom: i = 14,
@@ -519,9 +519,9 @@ function $t({
519
519
  "div",
520
520
  {
521
521
  "aria-hidden": s ? void 0 : "true",
522
- className: Ne({ state: "placeholder" }),
522
+ className: Ie({ state: "placeholder" }),
523
523
  children: [
524
- /* @__PURE__ */ t(fe, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
524
+ /* @__PURE__ */ t(ge, { "aria-hidden": "true", className: "ds:size-5 ds:shrink-0" }),
525
525
  s ? /* @__PURE__ */ t(
526
526
  "span",
527
527
  {
@@ -534,7 +534,7 @@ function $t({
534
534
  ]
535
535
  }
536
536
  );
537
- const l = zt(), d = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${i}&size=240x160&scale=2&markers=color:0x${l}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
537
+ const o = Et(), d = `https://maps.googleapis.com/maps/api/staticmap?center=${n.lat},${n.lng}&zoom=${i}&size=240x160&scale=2&markers=color:0x${o}%7C${n.lat},${n.lng}&key=${encodeURIComponent(e)}`;
538
538
  return /* @__PURE__ */ t(
539
539
  "img",
540
540
  {
@@ -544,11 +544,11 @@ function $t({
544
544
  decoding: "async",
545
545
  width: 240,
546
546
  height: 160,
547
- className: Ne({ state: "image" })
547
+ className: Ie({ state: "image" })
548
548
  }
549
549
  );
550
550
  }
551
- function Bt({ tagline: e, lang: n }) {
551
+ function Kt({ tagline: e, lang: n }) {
552
552
  return e ? /* @__PURE__ */ t(
553
553
  "span",
554
554
  {
@@ -560,7 +560,42 @@ function Bt({ tagline: e, lang: n }) {
560
560
  }
561
561
  ) : null;
562
562
  }
563
- const Dt = O(
563
+ function qt(e) {
564
+ if (typeof e != "string") return;
565
+ const n = e.trim().replace(/_/g, "-");
566
+ if (n)
567
+ try {
568
+ return Intl.getCanonicalLocales(n)[0] ? n : void 0;
569
+ } catch {
570
+ return;
571
+ }
572
+ }
573
+ function Be({
574
+ review: e
575
+ }) {
576
+ const { t: n } = k("ui"), i = typeof (e == null ? void 0 : e.text) == "string" ? e.text.trim() : "";
577
+ return !e || !i ? null : /* @__PURE__ */ g(
578
+ "p",
579
+ {
580
+ "data-component": "practice-result-latest-review",
581
+ className: "type-body-sm ds:m-0 ds:flex ds:min-w-0 ds:gap-[var(--spacing-xs)] ds:text-[var(--muted-foreground)]",
582
+ children: [
583
+ /* @__PURE__ */ t("span", { className: "ds:shrink-0", children: n("practiceResults.card.latestReview") }),
584
+ " ",
585
+ /* @__PURE__ */ t(
586
+ "span",
587
+ {
588
+ lang: qt(e.lang),
589
+ dir: "auto",
590
+ className: "ds:min-w-0 ds:truncate",
591
+ children: i
592
+ }
593
+ )
594
+ ]
595
+ }
596
+ );
597
+ }
598
+ const Ut = D(
564
599
  "type-body-sm ds:m-0 ds:text-[var(--muted-foreground)] ds:whitespace-pre-line ds:break-words",
565
600
  {
566
601
  variants: {
@@ -572,7 +607,7 @@ const Dt = O(
572
607
  defaultVariants: { density: "compact" }
573
608
  }
574
609
  );
575
- function Ve({
610
+ function De({
576
611
  description: e,
577
612
  density: n,
578
613
  lang: i
@@ -583,26 +618,26 @@ function Ve({
583
618
  "data-component": "practice-result-description",
584
619
  lang: i,
585
620
  dir: "auto",
586
- className: Dt({ density: n }),
621
+ className: Ut({ density: n }),
587
622
  children: e
588
623
  }
589
624
  ) : null;
590
625
  }
591
- function Ot(e, n, i, s) {
626
+ function Gt(e, n, i, s) {
592
627
  if (e.kind === "fixed")
593
- return ht(
628
+ return wt(
594
629
  e.minCents,
595
630
  n,
596
631
  i,
597
632
  s("common.freeOfCharge")
598
633
  );
599
- const r = Ce(e.minCents, n, i);
634
+ const r = Le(e.minCents, n, i);
600
635
  return e.kind === "range" && e.maxCents != null && Number.isFinite(e.maxCents) && e.maxCents > e.minCents ? s("practiceResults.card.priceRange", {
601
636
  min: r,
602
- max: Ce(e.maxCents, n, i)
637
+ max: Le(e.maxCents, n, i)
603
638
  }) : s("practiceResults.card.priceFrom", { price: r });
604
639
  }
605
- const Et = O(
640
+ const Zt = D(
606
641
  "ds:min-w-0 ds:max-w-full ds:[overflow-wrap:anywhere]",
607
642
  {
608
643
  variants: {
@@ -610,23 +645,23 @@ const Et = O(
610
645
  }
611
646
  }
612
647
  );
613
- function jt({
648
+ function Wt({
614
649
  price: e,
615
650
  cents: n,
616
651
  currencyCode: i = "EUR"
617
652
  }) {
618
- var f;
619
- const { t: s, i18n: r } = k("ui"), a = e && Number.isFinite(e.minCents) ? e : void 0, l = (a == null ? void 0 : a.kind) ?? "fixed", d = (a == null ? void 0 : a.minCents) ?? n, o = a == null ? void 0 : a.maxCents, h = M(
620
- () => d == null ? void 0 : Ot(
621
- { kind: l, minCents: d, maxCents: o },
653
+ var p;
654
+ const { t: s, i18n: r } = k("ui"), a = e && Number.isFinite(e.minCents) ? e : void 0, o = (a == null ? void 0 : a.kind) ?? "fixed", d = (a == null ? void 0 : a.minCents) ?? n, l = a == null ? void 0 : a.maxCents, m = P(
655
+ () => d == null ? void 0 : Gt(
656
+ { kind: o, minCents: d, maxCents: l },
622
657
  i,
623
658
  r.language ?? "en",
624
659
  s
625
660
  ),
626
- [l, d, o, i, r.language, s]
661
+ [o, d, l, i, r.language, s]
627
662
  );
628
- if (h === void 0) return null;
629
- const c = (f = a == null ? void 0 : a.label) == null ? void 0 : f.trim().replace(/:$/, "").trim(), u = c || s("practiceResults.card.firstVisitPrice");
663
+ if (m === void 0) return null;
664
+ const c = (p = a == null ? void 0 : a.label) == null ? void 0 : p.trim().replace(/:$/, "").trim(), f = c || s("practiceResults.card.firstVisitPrice");
630
665
  return /* @__PURE__ */ g(
631
666
  "span",
632
667
  {
@@ -637,33 +672,33 @@ function jt({
637
672
  "span",
638
673
  {
639
674
  dir: "auto",
640
- title: u,
641
- className: Et({
675
+ title: f,
676
+ className: Zt({
642
677
  practiceWritten: !!c
643
678
  }),
644
- children: u
679
+ children: f
645
680
  }
646
681
  ),
647
682
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: ": " }),
648
683
  /* @__PURE__ */ t(
649
- $,
684
+ O,
650
685
  {
651
686
  variant: "accentSoft",
652
687
  size: "lg",
653
688
  dir: "auto",
654
689
  className: "ds:h-auto ds:min-h-6 ds:min-w-0 ds:max-w-full ds:whitespace-normal ds:[overflow-wrap:anywhere]",
655
- children: h
690
+ children: m
656
691
  }
657
692
  )
658
693
  ]
659
694
  }
660
695
  );
661
696
  }
662
- function He({ time: e }) {
697
+ function Ee({ time: e }) {
663
698
  const { t: n } = k("ui");
664
699
  return /* @__PURE__ */ g("span", { className: "type-body-sm ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
665
700
  /* @__PURE__ */ t(
666
- xt,
701
+ Nt,
667
702
  {
668
703
  "aria-hidden": "true",
669
704
  className: "ds:size-4 ds:text-[var(--primary)]"
@@ -672,7 +707,7 @@ function He({ time: e }) {
672
707
  n("practiceResults.nextSlot.summary", { time: e })
673
708
  ] });
674
709
  }
675
- function ze({
710
+ function je({
676
711
  result: e,
677
712
  openLabel: n,
678
713
  bookLabel: i,
@@ -680,29 +715,29 @@ function ze({
680
715
  onOpenClick: r,
681
716
  onBookClick: a
682
717
  }) {
683
- const { t: l } = k("ui"), d = e.nextAvailableSlot, o = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, h = d && s ? l("practiceResults.nextSlot.cta", { time: s }) : i;
718
+ const { t: o } = k("ui"), d = e.nextAvailableSlot, l = (d == null ? void 0 : d.bookingHref) ?? e.bookingHref ?? e.href, m = d && s ? o("practiceResults.nextSlot.cta", { time: s }) : i;
684
719
  return /* @__PURE__ */ g("div", { className: "ds:mt-[var(--spacing-xs)] ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-xs)]", children: [
685
- n !== void 0 ? /* @__PURE__ */ t(Y, { intent: "secondary", size: "sm", asChild: !0, onClick: r, children: /* @__PURE__ */ g("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
720
+ n !== void 0 ? /* @__PURE__ */ t(te, { intent: "secondary", size: "sm", asChild: !0, onClick: r, children: /* @__PURE__ */ g("a", { href: e.href, "data-component": "practice-result-open-cta", children: [
686
721
  n,
687
722
  " ",
688
723
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
689
724
  ] }) }) : null,
690
725
  /* @__PURE__ */ t(
691
- Y,
726
+ te,
692
727
  {
693
728
  intent: "primary",
694
729
  size: "sm",
695
730
  asChild: !0,
696
- startIcon: /* @__PURE__ */ t(yt, { "aria-hidden": "true" }),
731
+ startIcon: /* @__PURE__ */ t(St, { "aria-hidden": "true" }),
697
732
  onClick: a,
698
733
  children: /* @__PURE__ */ g(
699
734
  "a",
700
735
  {
701
- href: o,
736
+ href: l,
702
737
  "data-component": "practice-result-book-cta",
703
738
  "data-slot-aware": d ? "true" : void 0,
704
739
  children: [
705
- h,
740
+ m,
706
741
  " ",
707
742
  /* @__PURE__ */ t("span", { className: "ds:sr-only", children: e.name })
708
743
  ]
@@ -712,7 +747,7 @@ function ze({
712
747
  )
713
748
  ] });
714
749
  }
715
- const $e = O(
750
+ const Ke = D(
716
751
  [
717
752
  "ds:@container/result-card ds:relative ds:flex ds:w-full ds:cursor-pointer",
718
753
  "ds:rounded-[var(--radius-lg)]",
@@ -740,18 +775,18 @@ const $e = O(
740
775
  },
741
776
  defaultVariants: { density: "compact" }
742
777
  }
743
- ), Kt = O([
778
+ ), Qt = D([
744
779
  "ds:text-[var(--foreground)] ds:no-underline ds:hover:underline",
745
780
  "ds:rounded-[var(--radius-xs)]",
746
781
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
747
782
  "ds:focus-visible:outline-[color:var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
748
783
  "ds:forced-colors:focus-visible:outline-[CanvasText]"
749
784
  ]);
750
- function qt({
785
+ function Jt({
751
786
  result: e,
752
787
  headingLevel: n
753
788
  }) {
754
- const i = `h${ge(n)}`;
789
+ const i = `h${xe(n)}`;
755
790
  return /* @__PURE__ */ t(
756
791
  i,
757
792
  {
@@ -764,14 +799,14 @@ function qt({
764
799
  href: e.href,
765
800
  dir: "auto",
766
801
  "data-component": "practice-result-name-link",
767
- className: Kt(),
802
+ className: Qt(),
768
803
  children: e.name
769
804
  }
770
805
  )
771
806
  }
772
807
  );
773
808
  }
774
- function Be({
809
+ function qe({
775
810
  result: e,
776
811
  headingLevel: n
777
812
  }) {
@@ -784,18 +819,18 @@ function Be({
784
819
  children: /* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:flex-col ds:items-start ds:gap-[var(--spacing-xs)] ds:sm:@min-[280px]/result-heading:flex-row ds:sm:@min-[280px]/result-heading:gap-[var(--spacing-md)]", children: [
785
820
  /* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:w-full ds:flex-1 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
786
821
  /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
787
- /* @__PURE__ */ t(qt, { result: e, headingLevel: n }),
788
- ((i = e.location) == null ? void 0 : i.distanceKm) != null ? /* @__PURE__ */ t(Ht, { distanceKm: e.location.distanceKm }) : null
822
+ /* @__PURE__ */ t(Jt, { result: e, headingLevel: n }),
823
+ ((i = e.location) == null ? void 0 : i.distanceKm) != null ? /* @__PURE__ */ t(Dt, { distanceKm: e.location.distanceKm }) : null
789
824
  ] }),
790
825
  e.subtitle ? /* @__PURE__ */ t("span", { className: "type-body-sm ds:text-[var(--muted-foreground)]", children: e.subtitle }) : null,
791
- /* @__PURE__ */ t(Bt, { tagline: e.tagline, lang: e.contentLang }),
826
+ /* @__PURE__ */ t(Kt, { tagline: e.tagline, lang: e.contentLang }),
792
827
  (s = e.location) != null && s.address ? /* @__PURE__ */ g(
793
828
  "span",
794
829
  {
795
830
  "data-component": "practice-result-address",
796
831
  className: "type-meta ds:text-[var(--muted-foreground)] ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
797
832
  children: [
798
- /* @__PURE__ */ t(fe, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
833
+ /* @__PURE__ */ t(ge, { "aria-hidden": "true", className: "ds:size-3.5 ds:shrink-0" }),
799
834
  /* @__PURE__ */ t(
800
835
  "span",
801
836
  {
@@ -810,7 +845,7 @@ function Be({
810
845
  ) : null
811
846
  ] }),
812
847
  /* @__PURE__ */ t(
813
- jt,
848
+ Wt,
814
849
  {
815
850
  price: e.firstVisitPrice,
816
851
  cents: e.firstVisitPriceCents,
@@ -821,30 +856,30 @@ function Be({
821
856
  }
822
857
  );
823
858
  }
824
- function De(e) {
859
+ function Ue(e) {
825
860
  const n = e.target.closest(
826
861
  'a, button, [role="button"], input, select, textarea, label'
827
862
  );
828
863
  return n !== null && n !== e.currentTarget && e.currentTarget.contains(n);
829
864
  }
830
- function Ut({
865
+ function Xt({
831
866
  result: e,
832
867
  headingLevel: n,
833
868
  highlighted: i,
834
869
  onSelect: s,
835
870
  onOpenClick: r,
836
871
  onHover: a,
837
- density: l = "compact",
872
+ density: o = "compact",
838
873
  openLabel: d,
839
- bookLabel: o,
840
- onBookClick: h,
874
+ bookLabel: l,
875
+ onBookClick: m,
841
876
  nextSlotText: c,
842
- maxInsuranceChips: u = 3,
843
- maxLanguageChips: f = 4,
877
+ maxInsuranceChips: f = 3,
878
+ maxLanguageChips: p = 4,
844
879
  children: x
845
880
  }) {
846
881
  var q, U, G, E;
847
- const { t: v, i18n: w } = k("ui"), y = e.rating, R = (((q = e.languages) == null ? void 0 : q.length) ?? 0) > 0, b = (((U = e.insurances) == null ? void 0 : U.length) ?? 0) > 0, m = e.specializedInFearPatients, S = R || b || m, P = (e.languages ?? []).slice(0, f), H = (((G = e.languages) == null ? void 0 : G.length) ?? 0) - P.length, z = (e.insurances ?? []).slice(0, u), A = (((E = e.insurances) == null ? void 0 : E.length) ?? 0) - z.length;
882
+ const { t: v, i18n: w } = k("ui"), y = e.rating, R = (((q = e.languages) == null ? void 0 : q.length) ?? 0) > 0, b = (((U = e.insurances) == null ? void 0 : U.length) ?? 0) > 0, u = e.specializedInFearPatients, N = R || b || u, A = (e.languages ?? []).slice(0, p), H = (((G = e.languages) == null ? void 0 : G.length) ?? 0) - A.length, z = (e.insurances ?? []).slice(0, f), I = (((E = e.insurances) == null ? void 0 : E.length) ?? 0) - z.length;
848
883
  return (
849
884
  // 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.
850
885
  /* @__PURE__ */ g(
@@ -855,15 +890,15 @@ function Ut({
855
890
  "data-highlighted": i ? "true" : "false",
856
891
  role: "group",
857
892
  "aria-labelledby": `practice-result-${e.id}-name`,
858
- onClick: (F) => {
859
- De(F) || s();
893
+ onClick: (M) => {
894
+ Ue(M) || s();
860
895
  },
861
896
  onMouseEnter: a,
862
897
  onFocus: a,
863
- className: $e({ density: l }),
898
+ className: Ke({ density: o }),
864
899
  children: [
865
900
  /* @__PURE__ */ t(
866
- Se,
901
+ Me,
867
902
  {
868
903
  src: e.imageUrl,
869
904
  alt: e.imageAlt,
@@ -876,57 +911,58 @@ function Ut({
876
911
  }
877
912
  ),
878
913
  /* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
879
- /* @__PURE__ */ t(Be, { result: e, headingLevel: n }),
914
+ /* @__PURE__ */ t(qe, { result: e, headingLevel: n }),
880
915
  y && y.count > 0 ? /* @__PURE__ */ t(
881
- Le,
916
+ Fe,
882
917
  {
883
918
  value: y.value,
884
919
  reviews: { count: y.count },
885
920
  size: "sm"
886
921
  }
887
922
  ) : null,
888
- S ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
889
- P.map((F) => /* @__PURE__ */ t(
890
- $,
923
+ /* @__PURE__ */ t(Be, { review: e.latestReview }),
924
+ N ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
925
+ A.map((M) => /* @__PURE__ */ t(
926
+ O,
891
927
  {
892
928
  variant: "neutral",
893
- leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
894
- children: Ie(F, v, w)
929
+ leading: /* @__PURE__ */ t(_e, { "aria-hidden": "true" }),
930
+ children: ze(M, v, w)
895
931
  },
896
- `lang-${F}`
932
+ `lang-${M}`
897
933
  )),
898
- H > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${H}` }) : null,
899
- z.map((F) => /* @__PURE__ */ t(
900
- $,
934
+ H > 0 ? /* @__PURE__ */ t(O, { variant: "neutral", children: `+${H}` }) : null,
935
+ z.map((M) => /* @__PURE__ */ t(
936
+ O,
901
937
  {
902
938
  variant: "info",
903
- leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }),
904
- children: F
939
+ leading: /* @__PURE__ */ t(Ve, { "aria-hidden": "true" }),
940
+ children: M
905
941
  },
906
- `ins-${F}`
942
+ `ins-${M}`
907
943
  )),
908
- A > 0 ? /* @__PURE__ */ t($, { variant: "neutral", children: `+${A}` }) : null,
909
- m ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Fe, { "aria-hidden": "true" }), children: v("practiceResults.fearPatient.label") }) : null
944
+ I > 0 ? /* @__PURE__ */ t(O, { variant: "neutral", children: `+${I}` }) : null,
945
+ u ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(He, { "aria-hidden": "true" }), children: v("practiceResults.fearPatient.label") }) : null
910
946
  ] }) : null,
911
947
  /* @__PURE__ */ t(
912
- Ve,
948
+ De,
913
949
  {
914
950
  description: e.description,
915
951
  density: "compact",
916
952
  lang: e.contentLang
917
953
  }
918
954
  ),
919
- e.nextAvailableSlot && c ? /* @__PURE__ */ t(He, { time: c }) : null,
955
+ e.nextAvailableSlot && c ? /* @__PURE__ */ t(Ee, { time: c }) : null,
920
956
  x,
921
957
  /* @__PURE__ */ t(
922
- ze,
958
+ je,
923
959
  {
924
960
  result: e,
925
961
  openLabel: d,
926
- bookLabel: o,
962
+ bookLabel: l,
927
963
  nextSlotText: c,
928
964
  onOpenClick: r,
929
- onBookClick: h
965
+ onBookClick: m
930
966
  }
931
967
  )
932
968
  ] })
@@ -935,23 +971,23 @@ function Ut({
935
971
  )
936
972
  );
937
973
  }
938
- function Gt({
974
+ function Yt({
939
975
  result: e,
940
976
  headingLevel: n,
941
977
  apiKey: i,
942
978
  highlighted: s,
943
979
  onSelect: r,
944
980
  onOpenClick: a,
945
- onBookClick: l,
981
+ onBookClick: o,
946
982
  onHover: d,
947
- openLabel: o,
948
- bookLabel: h
983
+ openLabel: l,
984
+ bookLabel: m
949
985
  }) {
950
986
  var R, b;
951
- const { t: c, i18n: u } = k("ui"), f = M(() => {
987
+ const { t: c, i18n: f } = k("ui"), p = P(() => {
952
988
  if (e.nextAvailableSlot)
953
989
  try {
954
- return new Intl.DateTimeFormat(u.language, {
990
+ return new Intl.DateTimeFormat(f.language, {
955
991
  weekday: "short",
956
992
  hour: "numeric",
957
993
  minute: "numeric"
@@ -959,7 +995,7 @@ function Gt({
959
995
  } catch {
960
996
  return e.nextAvailableSlot.dateTime;
961
997
  }
962
- }, [e.nextAvailableSlot, u.language]), x = (((R = e.languages) == null ? void 0 : R.length) ?? 0) > 0, v = (((b = e.insurances) == null ? void 0 : b.length) ?? 0) > 0, w = e.specializedInFearPatients, y = x || v || w;
998
+ }, [e.nextAvailableSlot, f.language]), x = (((R = e.languages) == null ? void 0 : R.length) ?? 0) > 0, v = (((b = e.insurances) == null ? void 0 : b.length) ?? 0) > 0, w = e.specializedInFearPatients, y = x || v || w;
963
999
  return (
964
1000
  // 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.
965
1001
  /* @__PURE__ */ g(
@@ -971,15 +1007,15 @@ function Gt({
971
1007
  "data-highlighted": s ? "true" : "false",
972
1008
  role: "group",
973
1009
  "aria-labelledby": `practice-result-${e.id}-name`,
974
- onClick: (m) => {
975
- De(m) || r();
1010
+ onClick: (u) => {
1011
+ Ue(u) || r();
976
1012
  },
977
1013
  onMouseEnter: d,
978
1014
  onFocus: d,
979
- className: $e({ density: "rich" }),
1015
+ className: Ke({ density: "rich" }),
980
1016
  children: [
981
1017
  e.location ? /* @__PURE__ */ t("div", { className: "ds:hidden ds:@min-[640px]/result-card:block", children: /* @__PURE__ */ t(
982
- $t,
1018
+ jt,
983
1019
  {
984
1020
  apiKey: i,
985
1021
  center: {
@@ -993,7 +1029,7 @@ function Gt({
993
1029
  /* @__PURE__ */ g("div", { className: "ds:flex ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
994
1030
  /* @__PURE__ */ g("div", { className: "ds:flex ds:items-start ds:gap-[var(--spacing-md)]", children: [
995
1031
  /* @__PURE__ */ t(
996
- Se,
1032
+ Me,
997
1033
  {
998
1034
  src: e.imageUrl,
999
1035
  alt: e.imageAlt,
@@ -1005,55 +1041,56 @@ function Gt({
1005
1041
  height: 40
1006
1042
  }
1007
1043
  ),
1008
- /* @__PURE__ */ t(Be, { result: e, headingLevel: n })
1044
+ /* @__PURE__ */ t(qe, { result: e, headingLevel: n })
1009
1045
  ] }),
1010
1046
  e.rating && e.rating.count > 0 ? /* @__PURE__ */ t(
1011
- Le,
1047
+ Fe,
1012
1048
  {
1013
1049
  value: e.rating.value,
1014
1050
  reviews: { count: e.rating.count },
1015
1051
  size: "md"
1016
1052
  }
1017
1053
  ) : null,
1054
+ /* @__PURE__ */ t(Be, { review: e.latestReview }),
1018
1055
  y ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-xs)]", children: [
1019
- x ? (e.languages ?? []).map((m) => /* @__PURE__ */ t(
1020
- $,
1056
+ x ? (e.languages ?? []).map((u) => /* @__PURE__ */ t(
1057
+ O,
1021
1058
  {
1022
1059
  variant: "neutral",
1023
- leading: /* @__PURE__ */ t(Ae, { "aria-hidden": "true" }),
1024
- children: Ie(m, c, u)
1060
+ leading: /* @__PURE__ */ t(_e, { "aria-hidden": "true" }),
1061
+ children: ze(u, c, f)
1025
1062
  },
1026
- `lang-${m}`
1063
+ `lang-${u}`
1027
1064
  )) : null,
1028
- v ? (e.insurances ?? []).map((m) => /* @__PURE__ */ t(
1029
- $,
1065
+ v ? (e.insurances ?? []).map((u) => /* @__PURE__ */ t(
1066
+ O,
1030
1067
  {
1031
1068
  variant: "info",
1032
- leading: /* @__PURE__ */ t(Me, { "aria-hidden": "true" }),
1033
- children: m
1069
+ leading: /* @__PURE__ */ t(Ve, { "aria-hidden": "true" }),
1070
+ children: u
1034
1071
  },
1035
- `ins-${m}`
1072
+ `ins-${u}`
1036
1073
  )) : null,
1037
- w ? /* @__PURE__ */ t($, { variant: "info", leading: /* @__PURE__ */ t(Fe, { "aria-hidden": "true" }), children: c("practiceResults.fearPatient.label") }) : null
1074
+ w ? /* @__PURE__ */ t(O, { variant: "info", leading: /* @__PURE__ */ t(He, { "aria-hidden": "true" }), children: c("practiceResults.fearPatient.label") }) : null
1038
1075
  ] }) : null,
1039
1076
  /* @__PURE__ */ t(
1040
- Ve,
1077
+ De,
1041
1078
  {
1042
1079
  description: e.description,
1043
1080
  density: "rich",
1044
1081
  lang: e.contentLang
1045
1082
  }
1046
1083
  ),
1047
- e.nextAvailableSlot && f ? /* @__PURE__ */ t(He, { time: f }) : null,
1084
+ e.nextAvailableSlot && p ? /* @__PURE__ */ t(Ee, { time: p }) : null,
1048
1085
  /* @__PURE__ */ t(
1049
- ze,
1086
+ je,
1050
1087
  {
1051
1088
  result: e,
1052
- openLabel: o,
1053
- bookLabel: h,
1054
- nextSlotText: f,
1089
+ openLabel: l,
1090
+ bookLabel: m,
1091
+ nextSlotText: p,
1055
1092
  onOpenClick: a,
1056
- onBookClick: l
1093
+ onBookClick: o
1057
1094
  }
1058
1095
  )
1059
1096
  ] })
@@ -1062,53 +1099,53 @@ function Gt({
1062
1099
  )
1063
1100
  );
1064
1101
  }
1065
- function pe({
1102
+ function ve({
1066
1103
  results: e,
1067
1104
  headingLevel: n,
1068
1105
  highlightedId: i,
1069
1106
  onCardHover: s,
1070
1107
  onCardSelect: r,
1071
1108
  onCardOpenClick: a,
1072
- onCardBookClick: l,
1109
+ onCardBookClick: o,
1073
1110
  openLabel: d,
1074
- bookLabel: o,
1075
- formatNextSlot: h,
1111
+ bookLabel: l,
1112
+ formatNextSlot: m,
1076
1113
  onLoadMore: c,
1077
- loadingMore: u,
1078
- loadingSkeletons: f,
1114
+ loadingMore: f,
1115
+ loadingSkeletons: p,
1079
1116
  density: x = "compact",
1080
1117
  apiKey: v,
1081
1118
  containerRef: w
1082
1119
  }) {
1083
1120
  const { t: y } = k("ui"), R = T(null);
1084
- return X(() => {
1121
+ return ee(() => {
1085
1122
  if (!c) return;
1086
1123
  const b = R.current;
1087
1124
  if (!b || typeof IntersectionObserver > "u") return;
1088
- const m = new IntersectionObserver(
1089
- (S) => {
1090
- for (const P of S)
1091
- P.isIntersecting && (B("serp_load_more", {
1125
+ const u = new IntersectionObserver(
1126
+ (N) => {
1127
+ for (const A of N)
1128
+ A.isIntersecting && ($("serp_load_more", {
1092
1129
  currentCount: e.length
1093
1130
  }), c());
1094
1131
  },
1095
1132
  { root: null, rootMargin: "200px" }
1096
1133
  );
1097
- return m.observe(b), () => m.disconnect();
1098
- }, [c, e.length]), f ? /* @__PURE__ */ t(
1134
+ return u.observe(b), () => u.disconnect();
1135
+ }, [c, e.length]), p ? /* @__PURE__ */ t(
1099
1136
  "div",
1100
1137
  {
1101
1138
  role: "status",
1102
1139
  "aria-live": "polite",
1103
1140
  "aria-label": y("practiceResults.loading"),
1104
1141
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
1105
- children: Array.from({ length: 4 }).map((b, m) => /* @__PURE__ */ t(
1106
- mt,
1142
+ children: Array.from({ length: 4 }).map((b, u) => /* @__PURE__ */ t(
1143
+ bt,
1107
1144
  {
1108
1145
  variant: "rounded",
1109
1146
  height: x === "rich" ? "11rem" : "7rem"
1110
1147
  },
1111
- `pr-skel-${m}`
1148
+ `pr-skel-${u}`
1112
1149
  ))
1113
1150
  }
1114
1151
  ) : /* @__PURE__ */ g(
@@ -1121,7 +1158,7 @@ function pe({
1121
1158
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto",
1122
1159
  children: [
1123
1160
  e.map((b) => /* @__PURE__ */ t("div", { role: "listitem", children: x === "rich" ? /* @__PURE__ */ t(
1124
- Gt,
1161
+ Yt,
1125
1162
  {
1126
1163
  result: b,
1127
1164
  headingLevel: n,
@@ -1129,24 +1166,24 @@ function pe({
1129
1166
  highlighted: i === b.id,
1130
1167
  onSelect: () => r(b.id),
1131
1168
  onOpenClick: () => a(b.id),
1132
- onBookClick: () => l(b.id),
1169
+ onBookClick: () => o(b.id),
1133
1170
  onHover: () => s(b.id),
1134
1171
  openLabel: d,
1135
- bookLabel: o
1172
+ bookLabel: l
1136
1173
  }
1137
1174
  ) : /* @__PURE__ */ t(
1138
- Ut,
1175
+ Xt,
1139
1176
  {
1140
1177
  result: b,
1141
1178
  headingLevel: n,
1142
1179
  highlighted: i === b.id,
1143
1180
  onSelect: () => r(b.id),
1144
1181
  onOpenClick: () => a(b.id),
1145
- onBookClick: () => l(b.id),
1182
+ onBookClick: () => o(b.id),
1146
1183
  onHover: () => s(b.id),
1147
1184
  openLabel: d,
1148
- bookLabel: o,
1149
- nextSlotText: h(b)
1185
+ bookLabel: l,
1186
+ nextSlotText: m(b)
1150
1187
  }
1151
1188
  ) }, b.id)),
1152
1189
  c ? /* @__PURE__ */ t(
@@ -1155,58 +1192,58 @@ function pe({
1155
1192
  ref: R,
1156
1193
  "aria-hidden": "true",
1157
1194
  className: "ds:flex ds:items-center ds:justify-center ds:py-[var(--spacing-md)]",
1158
- children: u ? /* @__PURE__ */ t(ft, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1195
+ children: f ? /* @__PURE__ */ t(xt, { size: "md", variant: "pulse" }) : /* @__PURE__ */ t("span", { className: "ds:size-1" })
1159
1196
  }
1160
1197
  ) : null
1161
1198
  ]
1162
1199
  }
1163
1200
  );
1164
1201
  }
1165
- function ue({
1202
+ function pe({
1166
1203
  results: e,
1167
1204
  searchCentre: n,
1168
1205
  zoom: i,
1169
1206
  apiKey: s,
1170
1207
  mapId: r,
1171
1208
  highlightedId: a,
1172
- onPinClick: l,
1209
+ onPinClick: o,
1173
1210
  onPinHover: d,
1174
- onPinFirstInteract: o,
1175
- onBoundsChange: h,
1211
+ onPinFirstInteract: l,
1212
+ onBoundsChange: m,
1176
1213
  consentGranted: c,
1177
- onConsentRequest: u,
1178
- mapHandleRef: f
1214
+ onConsentRequest: f,
1215
+ mapHandleRef: p
1179
1216
  }) {
1180
- const { t: x } = k("ui"), v = M(
1217
+ const { t: x } = k("ui"), v = P(
1181
1218
  () => e.filter(
1182
- (m) => !!m.location
1183
- ).map((m) => ({
1184
- id: m.id,
1219
+ (u) => !!u.location
1220
+ ).map((u) => ({
1221
+ id: u.id,
1185
1222
  position: {
1186
- lat: m.location.lat,
1187
- lng: m.location.lng
1223
+ lat: u.location.lat,
1224
+ lng: u.location.lng
1188
1225
  },
1189
- label: m.name
1226
+ label: u.name
1190
1227
  })),
1191
1228
  [e]
1192
- ), w = M(
1193
- () => v.map((m) => ({ ...m.position, id: m.id })),
1229
+ ), w = P(
1230
+ () => v.map((u) => ({ ...u.position, id: u.id })),
1194
1231
  [v]
1195
- ), y = M(
1196
- () => v.map((m) => m.id).sort().join("|"),
1232
+ ), y = P(
1233
+ () => v.map((u) => u.id).sort().join("|"),
1197
1234
  [v]
1198
- ), R = M(() => {
1235
+ ), R = P(() => {
1199
1236
  if (n) return n;
1200
- const m = It(e);
1201
- return m ? {
1202
- lat: (m.north + m.south) / 2,
1203
- lng: (m.east + m.west) / 2
1237
+ const u = zt(e);
1238
+ return u ? {
1239
+ lat: (u.north + u.south) / 2,
1240
+ lng: (u.east + u.west) / 2
1204
1241
  } : { lat: 45.4642, lng: 9.19 };
1205
1242
  }, [e, n]), b = _(
1206
- (m, { userInteraction: S }) => {
1207
- h == null || h(m), S && B("serp_map_panned", { bounds: m });
1243
+ (u, { userInteraction: N }) => {
1244
+ m == null || m(u), N && $("serp_map_panned", { bounds: u });
1208
1245
  },
1209
- [h]
1246
+ [m]
1210
1247
  );
1211
1248
  return /* @__PURE__ */ t(
1212
1249
  "div",
@@ -1214,9 +1251,9 @@ function ue({
1214
1251
  "data-component": "practice-results-map-panel",
1215
1252
  className: "ds:relative ds:flex ds:size-full ds:min-h-[24rem] ds:flex-col",
1216
1253
  children: /* @__PURE__ */ t(
1217
- ut,
1254
+ vt,
1218
1255
  {
1219
- ref: f,
1256
+ ref: p,
1220
1257
  apiKey: s ?? "",
1221
1258
  mapId: r,
1222
1259
  center: R,
@@ -1226,10 +1263,10 @@ function ue({
1226
1263
  fitKey: y,
1227
1264
  selectedMarkerId: a,
1228
1265
  consentGranted: !!c,
1229
- onConsentRequest: u,
1266
+ onConsentRequest: f,
1230
1267
  onBoundsChange: b,
1231
- onMarkerClick: (m) => {
1232
- m != null && (d(m), o(m), l(m));
1268
+ onMarkerClick: (u) => {
1269
+ u != null && (d(u), l(u), o(u));
1233
1270
  },
1234
1271
  ariaLabel: x("practiceResults.map.label"),
1235
1272
  size: "fill",
@@ -1240,106 +1277,117 @@ function ue({
1240
1277
  }
1241
1278
  );
1242
1279
  }
1243
- function he({
1280
+ function be({
1244
1281
  variantBodyProps: e
1245
1282
  }) {
1246
- const { facets: n, value: i, onChange: s, heading: r, intro: a, totalCount: l, searchCentre: d } = e;
1247
- return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1283
+ const {
1284
+ facets: n,
1285
+ value: i,
1286
+ sortOptions: s,
1287
+ onChange: r,
1288
+ heading: a,
1289
+ intro: o,
1290
+ totalCount: d,
1291
+ searchCentre: l
1292
+ } = e;
1293
+ return !a && !o && d == null && n.length === 0 && s.length === 0 ? null : /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
1248
1294
  /* @__PURE__ */ t(
1249
- Te,
1295
+ Oe,
1250
1296
  {
1251
- heading: r,
1297
+ heading: a,
1252
1298
  headingLevel: e.headingLevel,
1253
- intro: a,
1254
- totalCount: l,
1255
- searchCentreLabel: d == null ? void 0 : d.label
1299
+ intro: o,
1300
+ totalCount: d,
1301
+ searchCentreLabel: l == null ? void 0 : l.label
1256
1302
  }
1257
1303
  ),
1258
1304
  n.length > 0 ? /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
1259
1305
  /* @__PURE__ */ t(
1260
- _e,
1306
+ $e,
1261
1307
  {
1262
1308
  facets: n,
1263
1309
  value: i.facets,
1264
- onChange: (o) => s({ ...i, facets: o })
1310
+ onChange: (m) => r({ ...i, facets: m })
1265
1311
  }
1266
1312
  ),
1267
- /* @__PURE__ */ t(
1268
- de,
1313
+ s.length > 0 ? /* @__PURE__ */ t(
1314
+ fe,
1269
1315
  {
1316
+ options: s,
1270
1317
  value: i.sort ?? "relevance",
1271
- onChange: (o) => s({ ...i, sort: o })
1318
+ onChange: (m) => r({ ...i, sort: m })
1272
1319
  }
1273
- )
1274
- ] }) : /* @__PURE__ */ t("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ t(
1275
- de,
1320
+ ) : null
1321
+ ] }) : s.length > 0 ? /* @__PURE__ */ t("div", { className: "ds:flex ds:justify-end", children: /* @__PURE__ */ t(
1322
+ fe,
1276
1323
  {
1324
+ options: s,
1277
1325
  value: i.sort ?? "relevance",
1278
- onChange: (o) => s({ ...i, sort: o })
1326
+ onChange: (m) => r({ ...i, sort: m })
1279
1327
  }
1280
- ) })
1328
+ ) }) : null
1281
1329
  ] });
1282
1330
  }
1283
- function ge(e) {
1331
+ function xe(e) {
1284
1332
  return Math.min(e + 1, 6);
1285
1333
  }
1286
- function ve({
1334
+ function ye({
1287
1335
  headingLevel: e
1288
1336
  }) {
1289
1337
  const { t: n } = k("ui");
1290
1338
  return /* @__PURE__ */ t(
1291
- dt,
1339
+ gt,
1292
1340
  {
1293
1341
  variant: "no-results",
1294
- headingLevel: ge(e),
1342
+ headingLevel: xe(e),
1295
1343
  title: n("practiceResults.empty.title"),
1296
1344
  description: n("practiceResults.empty.description")
1297
1345
  }
1298
1346
  );
1299
1347
  }
1300
- function be({
1348
+ function we({
1301
1349
  onRetry: e,
1302
1350
  headingLevel: n
1303
1351
  }) {
1304
- const { t: i } = k("ui"), s = ge(n);
1305
- return /* @__PURE__ */ g(J, { variant: "error", children: [
1306
- /* @__PURE__ */ t(J.Title, { as: `h${s}`, children: i("practiceResults.error.title") }),
1307
- /* @__PURE__ */ t(J.Description, { children: i("practiceResults.error.description") }),
1308
- e ? /* @__PURE__ */ t(J.Action, { children: /* @__PURE__ */ t(
1309
- Y,
1352
+ const { t: i } = k("ui"), s = xe(n);
1353
+ return /* @__PURE__ */ g(Y, { variant: "error", children: [
1354
+ /* @__PURE__ */ t(Y.Title, { as: `h${s}`, children: i("practiceResults.error.title") }),
1355
+ /* @__PURE__ */ t(Y.Description, { children: i("practiceResults.error.description") }),
1356
+ e ? /* @__PURE__ */ t(Y.Action, { children: /* @__PURE__ */ t(
1357
+ te,
1310
1358
  {
1311
1359
  intent: "secondary",
1312
1360
  size: "sm",
1313
- startIcon: /* @__PURE__ */ t(bt, { "aria-hidden": "true" }),
1361
+ startIcon: /* @__PURE__ */ t(Rt, { "aria-hidden": "true" }),
1314
1362
  onClick: e,
1315
1363
  children: i("practiceResults.error.retry")
1316
1364
  }
1317
1365
  ) }) : null
1318
1366
  ] });
1319
1367
  }
1320
- function Zt(e) {
1368
+ function en(e) {
1321
1369
  const {
1322
1370
  results: n,
1323
1371
  apiKey: i,
1324
1372
  mapId: s,
1325
1373
  zoom: r,
1326
1374
  searchCentre: a,
1327
- onLoadMore: l,
1375
+ onLoadMore: o,
1328
1376
  loadingMore: d,
1329
- loadingSkeletons: o,
1330
- emptyResultsSlot: h,
1377
+ loadingSkeletons: l,
1378
+ emptyResultsSlot: m,
1331
1379
  errorSlot: c,
1332
- error: u,
1333
- onRetry: f,
1380
+ error: f,
1381
+ onRetry: p,
1334
1382
  highlightedId: x,
1335
1383
  onCardHover: v,
1336
1384
  onPinClick: w,
1337
1385
  consentGranted: y,
1338
1386
  onConsentRequest: R,
1339
1387
  onBoundsChange: b,
1340
- listContainerRef: m
1341
- } = e, { t: S } = k("ui"), [P, H] = me(!1), z = u ? c ?? /* @__PURE__ */ t(be, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !o ? h ?? /* @__PURE__ */ t(ve, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1342
- pe,
1388
+ listContainerRef: u
1389
+ } = e, { t: N } = k("ui"), [A, H] = he(!1), z = f ? c ?? /* @__PURE__ */ t(we, { onRetry: p, headingLevel: e.headingLevel }) : n.length === 0 && !l ? m ?? /* @__PURE__ */ t(ye, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1390
+ ve,
1343
1391
  {
1344
1392
  results: n,
1345
1393
  headingLevel: e.headingLevel,
@@ -1351,19 +1399,19 @@ function Zt(e) {
1351
1399
  openLabel: e.openLabel,
1352
1400
  bookLabel: e.bookLabel,
1353
1401
  formatNextSlot: e.formatNextSlot,
1354
- onLoadMore: l,
1402
+ onLoadMore: o,
1355
1403
  loadingMore: d,
1356
- loadingSkeletons: o,
1404
+ loadingSkeletons: l,
1357
1405
  density: "compact",
1358
- containerRef: m
1406
+ containerRef: u
1359
1407
  }
1360
1408
  );
1361
1409
  return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1362
- /* @__PURE__ */ t(he, { variantBodyProps: e }),
1410
+ /* @__PURE__ */ t(be, { variantBodyProps: e }),
1363
1411
  /* @__PURE__ */ g("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: [
1364
1412
  /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: z }),
1365
1413
  /* @__PURE__ */ t("div", { className: "ds:hidden ds:lg:block ds:sticky ds:top-[var(--spacing-md)] ds:h-[40rem]", children: /* @__PURE__ */ t(
1366
- ue,
1414
+ pe,
1367
1415
  {
1368
1416
  results: n,
1369
1417
  searchCentre: a,
@@ -1371,8 +1419,8 @@ function Zt(e) {
1371
1419
  apiKey: i,
1372
1420
  mapId: s,
1373
1421
  highlightedId: x,
1374
- onPinClick: (A) => {
1375
- Z(n, A, "pin", e.onResultSelect), w(A);
1422
+ onPinClick: (I) => {
1423
+ Z(n, I, "pin", e.onResultSelect), w(I);
1376
1424
  },
1377
1425
  onPinHover: v,
1378
1426
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1384,22 +1432,22 @@ function Zt(e) {
1384
1432
  ) })
1385
1433
  ] }),
1386
1434
  /* @__PURE__ */ t("div", { className: "ds:flex ds:lg:hidden ds:sticky ds:bottom-[var(--spacing-md)] ds:justify-center", children: /* @__PURE__ */ t(
1387
- Y,
1435
+ te,
1388
1436
  {
1389
1437
  intent: "primary",
1390
1438
  size: "md",
1391
- startIcon: /* @__PURE__ */ t(kt, { "aria-hidden": "true" }),
1439
+ startIcon: /* @__PURE__ */ t(Pt, { "aria-hidden": "true" }),
1392
1440
  onClick: () => H(!0),
1393
- children: S("practiceResults.viewMap")
1441
+ children: N("practiceResults.viewMap")
1394
1442
  }
1395
1443
  ) }),
1396
- /* @__PURE__ */ t(V.Root, { open: P, onOpenChange: H, children: /* @__PURE__ */ g(V.Content, { side: "bottom", size: "lg", children: [
1397
- /* @__PURE__ */ t(V.Header, { children: /* @__PURE__ */ t(V.Title, { children: S("practiceResults.map.label") }) }),
1444
+ /* @__PURE__ */ t(V.Root, { open: A, onOpenChange: H, children: /* @__PURE__ */ g(V.Content, { side: "bottom", size: "lg", children: [
1445
+ /* @__PURE__ */ t(V.Header, { children: /* @__PURE__ */ t(V.Title, { children: N("practiceResults.map.label") }) }),
1398
1446
  /* @__PURE__ */ g(V.Body, { children: [
1399
- /* @__PURE__ */ t(V.Description, { className: "ds:sr-only", children: S("practiceResults.sheet.description") }),
1447
+ /* @__PURE__ */ t(V.Description, { className: "ds:sr-only", children: N("practiceResults.sheet.description") }),
1400
1448
  /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1401
1449
  /* @__PURE__ */ t("div", { className: "ds:h-[20rem]", children: /* @__PURE__ */ t(
1402
- ue,
1450
+ pe,
1403
1451
  {
1404
1452
  results: n,
1405
1453
  searchCentre: a,
@@ -1407,8 +1455,8 @@ function Zt(e) {
1407
1455
  apiKey: i,
1408
1456
  mapId: s,
1409
1457
  highlightedId: x,
1410
- onPinClick: (A) => {
1411
- Z(n, A, "pin", e.onResultSelect), w(A);
1458
+ onPinClick: (I) => {
1459
+ Z(n, I, "pin", e.onResultSelect), w(I);
1412
1460
  },
1413
1461
  onPinHover: v,
1414
1462
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1424,7 +1472,7 @@ function Zt(e) {
1424
1472
  ] }) })
1425
1473
  ] });
1426
1474
  }
1427
- const Wt = {
1475
+ const tn = {
1428
1476
  peek: "sm",
1429
1477
  half: "md",
1430
1478
  full: "lg"
@@ -1433,37 +1481,37 @@ const Wt = {
1433
1481
  "half",
1434
1482
  "full"
1435
1483
  ];
1436
- function Qt({ value: e, onChange: n }) {
1484
+ function nn({ value: e, onChange: n }) {
1437
1485
  const { t: i, i18n: s } = k("ui"), r = s.dir() === "rtl", a = T(
1438
1486
  /* @__PURE__ */ new Map()
1439
- ), l = _((o) => {
1440
- var h;
1441
- (h = a.current.get(o)) == null || h.focus();
1487
+ ), o = _((l) => {
1488
+ var m;
1489
+ (m = a.current.get(l)) == null || m.focus();
1442
1490
  }, []), d = _(
1443
- (o, h) => {
1444
- const c = K.indexOf(h), u = K.length, f = r ? "ArrowLeft" : "ArrowRight", x = r ? "ArrowRight" : "ArrowLeft";
1491
+ (l, m) => {
1492
+ const c = K.indexOf(m), f = K.length, p = r ? "ArrowLeft" : "ArrowRight", x = r ? "ArrowRight" : "ArrowLeft";
1445
1493
  let v = null;
1446
- switch (o.key) {
1447
- case f:
1494
+ switch (l.key) {
1495
+ case p:
1448
1496
  case "ArrowDown":
1449
- v = K[(c + 1) % u];
1497
+ v = K[(c + 1) % f];
1450
1498
  break;
1451
1499
  case x:
1452
1500
  case "ArrowUp":
1453
- v = K[(c - 1 + u) % u];
1501
+ v = K[(c - 1 + f) % f];
1454
1502
  break;
1455
1503
  case "Home":
1456
1504
  v = K[0];
1457
1505
  break;
1458
1506
  case "End":
1459
- v = K[u - 1];
1507
+ v = K[f - 1];
1460
1508
  break;
1461
1509
  default:
1462
1510
  return;
1463
1511
  }
1464
- o.preventDefault(), v && v !== h && n(v), v && l(v);
1512
+ l.preventDefault(), v && v !== m && n(v), v && o(v);
1465
1513
  },
1466
- [l, r, n]
1514
+ [o, r, n]
1467
1515
  );
1468
1516
  return /* @__PURE__ */ t(
1469
1517
  "div",
@@ -1471,58 +1519,58 @@ function Qt({ value: e, onChange: n }) {
1471
1519
  role: "radiogroup",
1472
1520
  "aria-label": i("practiceResults.sheet.snap.label"),
1473
1521
  className: "ds:inline-flex ds:items-center ds:gap-[var(--spacing-2xs)]",
1474
- children: K.map((o) => {
1475
- const h = e === o;
1522
+ children: K.map((l) => {
1523
+ const m = e === l;
1476
1524
  return /* @__PURE__ */ t(
1477
1525
  "button",
1478
1526
  {
1479
1527
  ref: (c) => {
1480
- c ? a.current.set(o, c) : a.current.delete(o);
1528
+ c ? a.current.set(l, c) : a.current.delete(l);
1481
1529
  },
1482
1530
  type: "button",
1483
1531
  role: "radio",
1484
- "aria-checked": h,
1485
- "aria-label": i(`practiceResults.sheet.snap.${o}`),
1486
- tabIndex: h ? 0 : -1,
1487
- onClick: () => n(o),
1488
- onKeyDown: (c) => d(c, o),
1489
- className: ee({
1490
- state: h ? "active" : "idle"
1532
+ "aria-checked": m,
1533
+ "aria-label": i(`practiceResults.sheet.snap.${l}`),
1534
+ tabIndex: m ? 0 : -1,
1535
+ onClick: () => n(l),
1536
+ onKeyDown: (c) => d(c, l),
1537
+ className: ne({
1538
+ state: m ? "active" : "idle"
1491
1539
  }),
1492
- children: i(`practiceResults.sheet.snap.${o}`)
1540
+ children: i(`practiceResults.sheet.snap.${l}`)
1493
1541
  },
1494
- o
1542
+ l
1495
1543
  );
1496
1544
  })
1497
1545
  }
1498
1546
  );
1499
1547
  }
1500
- function Jt(e) {
1548
+ function an(e) {
1501
1549
  const {
1502
1550
  results: n,
1503
1551
  apiKey: i,
1504
1552
  mapId: s,
1505
1553
  zoom: r,
1506
1554
  searchCentre: a,
1507
- onLoadMore: l,
1555
+ onLoadMore: o,
1508
1556
  loadingMore: d,
1509
- loadingSkeletons: o,
1510
- emptyResultsSlot: h,
1557
+ loadingSkeletons: l,
1558
+ emptyResultsSlot: m,
1511
1559
  errorSlot: c,
1512
- error: u,
1513
- onRetry: f,
1560
+ error: f,
1561
+ onRetry: p,
1514
1562
  highlightedId: x,
1515
1563
  onCardHover: v,
1516
1564
  onPinClick: w,
1517
1565
  consentGranted: y,
1518
1566
  onConsentRequest: R,
1519
1567
  onBoundsChange: b,
1520
- listContainerRef: m,
1521
- facets: S,
1522
- value: P,
1568
+ listContainerRef: u,
1569
+ facets: N,
1570
+ value: A,
1523
1571
  onChange: H
1524
- } = e, { t: z } = k("ui"), [A, q] = me("half"), U = Wt[A], G = pt("(min-width: 1024px)"), E = u ? c ?? /* @__PURE__ */ t(be, { onRetry: f, headingLevel: e.headingLevel }) : n.length === 0 && !o ? h ?? /* @__PURE__ */ t(ve, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1525
- pe,
1572
+ } = e, { t: z } = k("ui"), [I, q] = he("half"), U = tn[I], G = yt("(min-width: 1024px)"), E = f ? c ?? /* @__PURE__ */ t(we, { onRetry: p, headingLevel: e.headingLevel }) : n.length === 0 && !l ? m ?? /* @__PURE__ */ t(ye, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1573
+ ve,
1526
1574
  {
1527
1575
  results: n,
1528
1576
  headingLevel: e.headingLevel,
@@ -1534,15 +1582,15 @@ function Jt(e) {
1534
1582
  openLabel: e.openLabel,
1535
1583
  bookLabel: e.bookLabel,
1536
1584
  formatNextSlot: e.formatNextSlot,
1537
- onLoadMore: l,
1585
+ onLoadMore: o,
1538
1586
  loadingMore: d,
1539
- loadingSkeletons: o,
1587
+ loadingSkeletons: l,
1540
1588
  density: "compact",
1541
1589
  apiKey: i,
1542
- containerRef: m
1590
+ containerRef: u
1543
1591
  }
1544
- ), F = /* @__PURE__ */ t(
1545
- ue,
1592
+ ), M = /* @__PURE__ */ t(
1593
+ pe,
1546
1594
  {
1547
1595
  results: n,
1548
1596
  searchCentre: a,
@@ -1550,8 +1598,8 @@ function Jt(e) {
1550
1598
  apiKey: i,
1551
1599
  mapId: s,
1552
1600
  highlightedId: x,
1553
- onPinClick: (N) => {
1554
- Z(n, N, "pin", e.onResultSelect), w(N);
1601
+ onPinClick: (S) => {
1602
+ Z(n, S, "pin", e.onResultSelect), w(S);
1555
1603
  },
1556
1604
  onPinHover: v,
1557
1605
  onPinFirstInteract: e.onPinFirstInteract,
@@ -1560,12 +1608,12 @@ function Jt(e) {
1560
1608
  onConsentRequest: R,
1561
1609
  mapHandleRef: e.mapHandleRef
1562
1610
  }
1563
- ), te = S.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(
1564
- _e,
1611
+ ), ae = 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(
1612
+ $e,
1565
1613
  {
1566
- facets: S,
1567
- value: P.facets,
1568
- onChange: (N) => H({ ...P, facets: N }),
1614
+ facets: N,
1615
+ value: A.facets,
1616
+ onChange: (S) => H({ ...A, facets: S }),
1569
1617
  floating: !0
1570
1618
  }
1571
1619
  ) }) : null;
@@ -1587,10 +1635,10 @@ function Jt(e) {
1587
1635
  // the map column is `lg:sticky lg:h-[44rem]` (stays visible
1588
1636
  // as the patient scrolls cards) and the rail renders at
1589
1637
  // natural height. Single page scroll.
1590
- /* @__PURE__ */ g(ot, { children: [
1591
- /* @__PURE__ */ t(he, { variantBodyProps: e }),
1638
+ /* @__PURE__ */ g(ft, { children: [
1639
+ /* @__PURE__ */ t(be, { variantBodyProps: e }),
1592
1640
  /* @__PURE__ */ g("div", { className: "ds:grid ds:grid-cols-[65fr_35fr] ds:gap-[var(--spacing-lg)] ds:items-start", children: [
1593
- /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: F }),
1641
+ /* @__PURE__ */ t("div", { className: "ds:sticky ds:top-[var(--spacing-md)] ds:h-[44rem]", children: M }),
1594
1642
  /* @__PURE__ */ t("div", { className: "ds:min-w-0", children: E })
1595
1643
  ] })
1596
1644
  ] })
@@ -1603,7 +1651,7 @@ function Jt(e) {
1603
1651
  // chrome, so floating chips are the only place for them.
1604
1652
  /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1605
1653
  /* @__PURE__ */ t(
1606
- Te,
1654
+ Oe,
1607
1655
  {
1608
1656
  heading: e.heading,
1609
1657
  headingLevel: e.headingLevel,
@@ -1613,17 +1661,17 @@ function Jt(e) {
1613
1661
  }
1614
1662
  ),
1615
1663
  /* @__PURE__ */ g("div", { className: "ds:relative ds:h-[60vh] ds:min-h-[20rem]", children: [
1616
- F,
1617
- te
1664
+ M,
1665
+ ae
1618
1666
  ] }),
1619
1667
  /* @__PURE__ */ t(V.Root, { open: !0, children: /* @__PURE__ */ t(
1620
1668
  V.Content,
1621
1669
  {
1622
1670
  side: "bottom",
1623
1671
  size: U,
1624
- onEscapeKeyDown: (N) => N.preventDefault(),
1625
- onPointerDownOutside: (N) => N.preventDefault(),
1626
- onInteractOutside: (N) => N.preventDefault(),
1672
+ onEscapeKeyDown: (S) => S.preventDefault(),
1673
+ onPointerDownOutside: (S) => S.preventDefault(),
1674
+ onInteractOutside: (S) => S.preventDefault(),
1627
1675
  children: /* @__PURE__ */ g(V.Body, { children: [
1628
1676
  /* @__PURE__ */ t(V.Description, { className: "ds:sr-only", children: z("practiceResults.sheet.descriptionMapFirst") }),
1629
1677
  /* @__PURE__ */ g("div", { className: "ds:flex ds:items-start ds:justify-between ds:gap-[var(--spacing-sm)] ds:pb-[var(--spacing-sm)]", children: [
@@ -1631,20 +1679,21 @@ function Jt(e) {
1631
1679
  count: e.totalCount ?? n.length
1632
1680
  }) }),
1633
1681
  /* @__PURE__ */ t(
1634
- Qt,
1682
+ nn,
1635
1683
  {
1636
- value: A,
1684
+ value: I,
1637
1685
  onChange: q
1638
1686
  }
1639
1687
  )
1640
1688
  ] }),
1641
- /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1642
- de,
1689
+ e.sortOptions.length > 0 ? /* @__PURE__ */ t("div", { className: "ds:pb-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
1690
+ fe,
1643
1691
  {
1644
- value: P.sort ?? "relevance",
1645
- onChange: (N) => H({ ...P, sort: N })
1692
+ options: e.sortOptions,
1693
+ value: A.sort ?? "relevance",
1694
+ onChange: (S) => H({ ...A, sort: S })
1646
1695
  }
1647
- ) }),
1696
+ ) }) : null,
1648
1697
  E
1649
1698
  ] })
1650
1699
  }
@@ -1652,27 +1701,27 @@ function Jt(e) {
1652
1701
  ] })
1653
1702
  ) });
1654
1703
  }
1655
- function Xt(e) {
1704
+ function sn(e) {
1656
1705
  const {
1657
1706
  results: n,
1658
1707
  apiKey: i,
1659
1708
  onLoadMore: s,
1660
1709
  loadingMore: r,
1661
1710
  loadingSkeletons: a,
1662
- emptyResultsSlot: l,
1711
+ emptyResultsSlot: o,
1663
1712
  errorSlot: d,
1664
- error: o,
1665
- onRetry: h,
1713
+ error: l,
1714
+ onRetry: m,
1666
1715
  highlightedId: c,
1667
- onCardHover: u,
1668
- listContainerRef: f
1669
- } = e, x = o ? d ?? /* @__PURE__ */ t(be, { onRetry: h, headingLevel: e.headingLevel }) : n.length === 0 && !a ? l ?? /* @__PURE__ */ t(ve, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1670
- pe,
1716
+ onCardHover: f,
1717
+ listContainerRef: p
1718
+ } = e, x = l ? d ?? /* @__PURE__ */ t(we, { onRetry: m, headingLevel: e.headingLevel }) : n.length === 0 && !a ? o ?? /* @__PURE__ */ t(ye, { headingLevel: e.headingLevel }) : /* @__PURE__ */ t(
1719
+ ve,
1671
1720
  {
1672
1721
  results: n,
1673
1722
  headingLevel: e.headingLevel,
1674
1723
  highlightedId: c,
1675
- onCardHover: u,
1724
+ onCardHover: f,
1676
1725
  onCardSelect: e.onCardSelect,
1677
1726
  onCardOpenClick: e.onCardOpenClick,
1678
1727
  onCardBookClick: e.onCardBookClick,
@@ -1684,240 +1733,245 @@ function Xt(e) {
1684
1733
  loadingSkeletons: a,
1685
1734
  density: "rich",
1686
1735
  apiKey: i,
1687
- containerRef: f
1736
+ containerRef: p
1688
1737
  }
1689
1738
  );
1690
1739
  return /* @__PURE__ */ g("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: [
1691
- /* @__PURE__ */ t(he, { variantBodyProps: e }),
1740
+ /* @__PURE__ */ t(be, { variantBodyProps: e }),
1692
1741
  x
1693
1742
  ] });
1694
1743
  }
1695
- const Yt = ct(function({
1744
+ const rn = pt(function({
1696
1745
  variant: n = "split-list-map",
1697
1746
  results: i,
1698
1747
  contentLang: s,
1699
1748
  totalCount: r,
1700
1749
  searchCentre: a,
1701
- facets: l,
1750
+ facets: o,
1702
1751
  googleMapsApiKey: d,
1703
- mapId: o,
1704
- defaultZoom: h = Rt,
1752
+ mapId: l,
1753
+ defaultZoom: m = It,
1705
1754
  onBoundsChange: c,
1706
- consentGranted: u,
1707
- onConsentRequest: f,
1755
+ consentGranted: f,
1756
+ onConsentRequest: p,
1708
1757
  skipConsentGate: x = !1,
1709
1758
  onLoadMore: v,
1710
1759
  loadingMore: w,
1711
1760
  value: y,
1712
1761
  onChange: R,
1713
- onResultSelect: b,
1714
- loading: m,
1715
- emptyResultsSlot: S,
1716
- errorSlot: P,
1717
- error: H,
1718
- onRetry: z,
1719
- heading: A,
1720
- headingLevel: q = 2,
1721
- intro: U,
1722
- cardOpenButtonLabel: G,
1723
- cardBookButtonLabel: E,
1724
- showCardOpenButton: F = !0,
1725
- "aria-label": te,
1726
- id: N,
1727
- className: Oe,
1728
- ...Ee
1729
- }, je) {
1730
- const { t: ne, i18n: xe } = k("ui"), [Ke, W] = me(null), Q = T(/* @__PURE__ */ new Set()), ae = T(/* @__PURE__ */ new Set()), qe = T(null), ie = T(null), se = M(
1762
+ sortOptions: b,
1763
+ onResultSelect: u,
1764
+ loading: N,
1765
+ emptyResultsSlot: A,
1766
+ errorSlot: H,
1767
+ error: z,
1768
+ onRetry: I,
1769
+ heading: q,
1770
+ headingLevel: U = 2,
1771
+ intro: G,
1772
+ cardOpenButtonLabel: E,
1773
+ cardBookButtonLabel: M,
1774
+ showCardOpenButton: ae = !0,
1775
+ "aria-label": S,
1776
+ id: ie,
1777
+ className: Ge,
1778
+ ...Ze
1779
+ }, We) {
1780
+ const { t: se, i18n: ke } = k("ui"), [Qe, W] = he(null), Q = T(/* @__PURE__ */ new Set()), re = T(/* @__PURE__ */ new Set()), Je = T(null), oe = T(null), ce = P(
1731
1781
  () => ({
1732
1782
  getVariant: () => n,
1733
- scrollToResult: (p) => {
1734
- const I = ie.current;
1735
- if (!I) return;
1736
- const C = I.querySelector(
1737
- `[data-component="practice-result-card"][data-result-id="${CSS.escape(p)}"]`
1783
+ scrollToResult: (h) => {
1784
+ const F = oe.current;
1785
+ if (!F) return;
1786
+ const C = F.querySelector(
1787
+ `[data-component="practice-result-card"][data-result-id="${CSS.escape(h)}"]`
1738
1788
  );
1739
- C && (C.scrollIntoView({ behavior: "smooth", block: "nearest" }), W(p));
1789
+ C && (C.scrollIntoView({ behavior: "smooth", block: "nearest" }), W(h));
1740
1790
  },
1741
- focusPin: (p) => {
1742
- W(p);
1791
+ focusPin: (h) => {
1792
+ W(h);
1743
1793
  }
1744
1794
  }),
1745
1795
  [n]
1746
1796
  );
1747
- lt(je, () => se, [se]), gt(Ct, se, N);
1748
- const Ue = F ? G ?? ne("practiceResults.card.open") : void 0, Ge = E ?? ne("practiceResults.card.book"), Ze = _(
1749
- (p) => {
1750
- if (p.nextAvailableSlot)
1797
+ ht(We, () => ce, [ce]), kt(At, ce, ie);
1798
+ const Xe = ae ? E ?? se("practiceResults.card.open") : void 0, Ye = M ?? se("practiceResults.card.book"), et = _(
1799
+ (h) => {
1800
+ if (h.nextAvailableSlot)
1751
1801
  try {
1752
- return new Intl.DateTimeFormat(xe.language, {
1802
+ return new Intl.DateTimeFormat(ke.language, {
1753
1803
  weekday: "short",
1754
1804
  hour: "numeric",
1755
1805
  minute: "numeric"
1756
- }).format(new Date(p.nextAvailableSlot.dateTime));
1806
+ }).format(new Date(h.nextAvailableSlot.dateTime));
1757
1807
  } catch {
1758
- return p.nextAvailableSlot.dateTime;
1808
+ return h.nextAvailableSlot.dateTime;
1759
1809
  }
1760
1810
  },
1761
- [xe.language]
1762
- ), ye = T(null);
1763
- X(() => {
1764
- ye.current !== n && (ye.current = n, B("serp_variant_exposed", {
1811
+ [ke.language]
1812
+ ), Ce = T(null);
1813
+ ee(() => {
1814
+ Ce.current !== n && (Ce.current = n, $("serp_variant_exposed", {
1765
1815
  variant: n,
1766
1816
  totalCount: r ?? i.length
1767
- }), Q.current = /* @__PURE__ */ new Set(), ae.current = /* @__PURE__ */ new Set());
1817
+ }), Q.current = /* @__PURE__ */ new Set(), re.current = /* @__PURE__ */ new Set());
1768
1818
  }, [n]);
1769
- const re = T(!1), oe = M(
1770
- () => Lt(l ?? [], i, y.facets),
1771
- [l, i, y.facets]
1772
- ), ce = y.sort ?? (a ? "distance" : "relevance"), L = M(() => {
1773
- const p = Pt(i, y.facets, oe);
1774
- return Ft(p, ce, a);
1775
- }, [i, y.facets, oe, ce, a]), We = M(
1819
+ const le = T(!1), de = P(
1820
+ () => Ft(o ?? [], i, y.facets),
1821
+ [o, i, y.facets]
1822
+ ), J = P(
1823
+ () => b ? Pe.filter((h) => b.includes(h)) : Pe,
1824
+ [b]
1825
+ ), X = a ? "distance" : "relevance", Re = y.sort ?? X, ue = J.includes(Re) ? Re : J.includes(X) ? X : J[0] ?? X, L = P(() => {
1826
+ const h = Tt(i, y.facets, de);
1827
+ return Ht(h, ue, a);
1828
+ }, [i, y.facets, de, ue, a]), tt = P(
1776
1829
  () => s ? L.map(
1777
- (p) => p.contentLang ? p : { ...p, contentLang: s }
1830
+ (h) => h.contentLang ? h : { ...h, contentLang: s }
1778
1831
  ) : L,
1779
1832
  [L, s]
1780
1833
  );
1781
- X(() => {
1782
- const p = L.length === 0;
1783
- p && !re.current ? (B("serp_empty_results", {
1834
+ ee(() => {
1835
+ const h = L.length === 0;
1836
+ h && !le.current ? ($("serp_empty_results", {
1784
1837
  appliedFacets: y.facets ?? {}
1785
- }), re.current = !0) : p || (re.current = !1);
1838
+ }), le.current = !0) : h || (le.current = !1);
1786
1839
  }, [L.length, y.facets]);
1787
- const j = T(null), we = T(null);
1788
- X(
1840
+ const j = T(null), Ne = T(null);
1841
+ ee(
1789
1842
  () => () => {
1790
1843
  j.current && clearTimeout(j.current);
1791
1844
  },
1792
1845
  []
1793
1846
  );
1794
- const Qe = _((p) => {
1795
- W(p), !Q.current.has(p) && (we.current === p && j.current || (j.current && clearTimeout(j.current), we.current = p, j.current = setTimeout(() => {
1796
- Q.current.has(p) || (Q.current.add(p), B("serp_result_hovered_card", { resultId: p })), j.current = null;
1847
+ const nt = _((h) => {
1848
+ W(h), !Q.current.has(h) && (Ne.current === h && j.current || (j.current && clearTimeout(j.current), Ne.current = h, j.current = setTimeout(() => {
1849
+ Q.current.has(h) || (Q.current.add(h), $("serp_result_hovered_card", { resultId: h })), j.current = null;
1797
1850
  }, 500)));
1798
- }, []), Je = _((p) => {
1799
- W(p);
1800
- const I = ie.current;
1801
- if (!I) return;
1802
- const C = I.querySelector(
1803
- `[data-component="practice-result-card"][data-result-id="${CSS.escape(p)}"]`
1851
+ }, []), at = _((h) => {
1852
+ W(h);
1853
+ const F = oe.current;
1854
+ if (!F) return;
1855
+ const C = F.querySelector(
1856
+ `[data-component="practice-result-card"][data-result-id="${CSS.escape(h)}"]`
1804
1857
  );
1805
1858
  C == null || C.scrollIntoView({ behavior: "smooth", block: "nearest" });
1806
- }, []), Xe = _((p) => {
1807
- ae.current.has(p) || (ae.current.add(p), B("serp_result_hovered_pin", { resultId: p }));
1808
- }, []), ke = T(null), Ye = _(
1809
- (p) => {
1810
- W(p);
1811
- const I = L.find((C) => C.id === p);
1812
- if (I) {
1813
- if (I.location) {
1814
- const C = ke.current;
1859
+ }, []), it = _((h) => {
1860
+ re.current.has(h) || (re.current.add(h), $("serp_result_hovered_pin", { resultId: h }));
1861
+ }, []), Se = T(null), st = _(
1862
+ (h) => {
1863
+ W(h);
1864
+ const F = L.find((C) => C.id === h);
1865
+ if (F) {
1866
+ if (F.location) {
1867
+ const C = Se.current;
1815
1868
  C == null || C.panTo({
1816
- lat: I.location.lat,
1817
- lng: I.location.lng
1869
+ lat: F.location.lat,
1870
+ lng: F.location.lng
1818
1871
  }), C == null || C.setZoom(16);
1819
1872
  }
1820
- Z(L, p, "card", b);
1873
+ Z(L, h, "card", u);
1821
1874
  }
1822
1875
  },
1823
- [L, b]
1824
- ), et = _(
1825
- (p) => {
1876
+ [L, u]
1877
+ ), rt = _(
1878
+ (h) => {
1826
1879
  Z(
1827
1880
  L,
1828
- p,
1881
+ h,
1829
1882
  "open-button",
1830
- b
1883
+ u
1831
1884
  );
1832
1885
  },
1833
- [L, b]
1834
- ), tt = _(
1835
- (p) => {
1886
+ [L, u]
1887
+ ), ot = _(
1888
+ (h) => {
1836
1889
  Z(
1837
1890
  L,
1838
- p,
1891
+ h,
1839
1892
  "book-button",
1840
- b
1893
+ u
1841
1894
  );
1842
1895
  },
1843
- [L, b]
1844
- ), nt = !!m && i.length === 0, at = _(
1845
- (p, I) => {
1846
- const C = L.find((rt) => rt.id === p.id);
1847
- b(C ?? p, I);
1896
+ [L, u]
1897
+ ), ct = !!N && i.length === 0, lt = _(
1898
+ (h, F) => {
1899
+ const C = L.find((mt) => mt.id === h.id);
1900
+ u(C ?? h, F);
1848
1901
  },
1849
- [L, b]
1850
- ), le = {
1851
- results: We,
1902
+ [L, u]
1903
+ ), me = {
1904
+ results: tt,
1852
1905
  totalCount: r,
1853
1906
  searchCentre: a,
1854
- facets: oe,
1855
- value: { ...y, sort: ce },
1907
+ facets: de,
1908
+ value: { ...y, sort: ue },
1909
+ sortOptions: J,
1856
1910
  onChange: R,
1857
- onResultSelect: at,
1911
+ onResultSelect: lt,
1858
1912
  onLoadMore: v,
1859
1913
  loadingMore: w,
1860
1914
  apiKey: d,
1861
- mapId: o,
1862
- zoom: h,
1915
+ mapId: l,
1916
+ zoom: m,
1863
1917
  // 0.31.4: when `skipConsentGate` is true the kit synthesises
1864
1918
  // `consentGranted=true` for every internal MapView; the consumer's
1865
1919
  // CMP at the page level is responsible for whether the Google Maps
1866
1920
  // loader script is present at all. `onConsentRequest` is dropped
1867
1921
  // because no placeholder renders — nothing to fire it from.
1868
- consentGranted: x ? !0 : u,
1869
- onConsentRequest: x ? void 0 : f,
1922
+ consentGranted: x ? !0 : f,
1923
+ onConsentRequest: x ? void 0 : p,
1870
1924
  onBoundsChange: c,
1871
- loadingSkeletons: nt,
1872
- emptyResultsSlot: S,
1873
- errorSlot: P,
1874
- error: H,
1875
- onRetry: z,
1876
- heading: A,
1877
- headingLevel: q,
1878
- intro: U,
1879
- highlightedId: Ke,
1880
- onCardHover: Qe,
1881
- onPinClick: Je,
1882
- onPinFirstInteract: Xe,
1883
- onCardSelect: Ye,
1884
- onCardOpenClick: et,
1885
- onCardBookClick: tt,
1886
- openLabel: Ue,
1887
- bookLabel: Ge,
1888
- formatNextSlot: Ze,
1889
- listContainerRef: qe,
1890
- mapHandleRef: ke
1891
- }, it = (() => {
1925
+ loadingSkeletons: ct,
1926
+ emptyResultsSlot: A,
1927
+ errorSlot: H,
1928
+ error: z,
1929
+ onRetry: I,
1930
+ heading: q,
1931
+ headingLevel: U,
1932
+ intro: G,
1933
+ highlightedId: Qe,
1934
+ onCardHover: nt,
1935
+ onPinClick: at,
1936
+ onPinFirstInteract: it,
1937
+ onCardSelect: st,
1938
+ onCardOpenClick: rt,
1939
+ onCardBookClick: ot,
1940
+ openLabel: Xe,
1941
+ bookLabel: Ye,
1942
+ formatNextSlot: et,
1943
+ listContainerRef: Je,
1944
+ mapHandleRef: Se
1945
+ }, dt = (() => {
1892
1946
  switch (n) {
1893
1947
  case "map-first":
1894
- return /* @__PURE__ */ t(Jt, { ...le });
1948
+ return /* @__PURE__ */ t(an, { ...me });
1895
1949
  case "rich-cards":
1896
- return /* @__PURE__ */ t(Xt, { ...le });
1950
+ return /* @__PURE__ */ t(sn, { ...me });
1897
1951
  case "split-list-map":
1898
1952
  default:
1899
- return /* @__PURE__ */ t(Zt, { ...le });
1953
+ return /* @__PURE__ */ t(en, { ...me });
1900
1954
  }
1901
- })(), st = te ?? ne("practiceResults.regionLabel");
1955
+ })(), ut = S ?? se("practiceResults.regionLabel");
1902
1956
  return /* @__PURE__ */ t(
1903
1957
  "div",
1904
1958
  {
1905
- ref: ie,
1959
+ ref: oe,
1906
1960
  role: "region",
1907
- "aria-label": st,
1908
- id: N,
1961
+ "aria-label": ut,
1962
+ id: ie,
1909
1963
  "data-component": "practice-results",
1910
- "data-component-id": N,
1964
+ "data-component-id": ie,
1911
1965
  "data-variant": n,
1912
- className: Tt({ variant: n, className: Oe }),
1913
- ...Ee,
1914
- children: it
1966
+ className: Ot({ variant: n, className: Ge }),
1967
+ ...Ze,
1968
+ children: dt
1915
1969
  }
1916
1970
  );
1917
1971
  });
1918
- Yt.displayName = "PracticeResults";
1972
+ rn.displayName = "PracticeResults";
1919
1973
  export {
1920
- Yt as P,
1921
- Ct as p
1974
+ rn as P,
1975
+ At as p
1922
1976
  };
1923
- //# sourceMappingURL=practice-results-BOpaPaav.js.map
1977
+ //# sourceMappingURL=practice-results-BByRCIuR.js.map