@alfadocs/ui-kit-debug 1.90.2 → 1.91.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/_chunks/{agenda-card-BDuvreCe.js → agenda-card-BhY342MA.js} +2 -2
  2. package/dist/_chunks/{agenda-card-BDuvreCe.js.map → agenda-card-BhY342MA.js.map} +1 -1
  3. package/dist/_chunks/{agenda-tray-D-jvptdo.js → agenda-tray-BmxBGEci.js} +2 -2
  4. package/dist/_chunks/{agenda-tray-D-jvptdo.js.map → agenda-tray-BmxBGEci.js.map} +1 -1
  5. package/dist/_chunks/{alia-sidebar-CsTRAxC8.js → alia-sidebar-ovRX_oti.js} +3 -3
  6. package/dist/_chunks/{alia-sidebar-CsTRAxC8.js.map → alia-sidebar-ovRX_oti.js.map} +1 -1
  7. package/dist/_chunks/{appointment-card-5JMWi9_f.js → appointment-card-Bstc1p7a.js} +2 -2
  8. package/dist/_chunks/{appointment-card-5JMWi9_f.js.map → appointment-card-Bstc1p7a.js.map} +1 -1
  9. package/dist/_chunks/{appointment-peek-39BwVMUf.js → appointment-peek-C0kKqnFk.js} +2 -2
  10. package/dist/_chunks/{appointment-peek-39BwVMUf.js.map → appointment-peek-C0kKqnFk.js.map} +1 -1
  11. package/dist/_chunks/{appointment-timeline-1-Za2miy.js → appointment-timeline-rbt9AwHO.js} +2 -2
  12. package/dist/_chunks/{appointment-timeline-1-Za2miy.js.map → appointment-timeline-rbt9AwHO.js.map} +1 -1
  13. package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js → appointment-tray-6zd8RLIL.js} +2 -2
  14. package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js.map → appointment-tray-6zd8RLIL.js.map} +1 -1
  15. package/dist/_chunks/{avatar-BPiPL7ND.js → avatar-a6042Ox2.js} +52 -52
  16. package/dist/_chunks/avatar-a6042Ox2.js.map +1 -0
  17. package/dist/_chunks/{balance-badge-cell-D9VhFp0L.js → balance-badge-cell-BtJvre1-.js} +2 -2
  18. package/dist/_chunks/{balance-badge-cell-D9VhFp0L.js.map → balance-badge-cell-BtJvre1-.js.map} +1 -1
  19. package/dist/_chunks/booking-opt_h7Uc.js +4590 -0
  20. package/dist/_chunks/booking-opt_h7Uc.js.map +1 -0
  21. package/dist/_chunks/{calendar-ClB-jWH1.js → calendar-CmiMS4FJ.js} +2 -2
  22. package/dist/_chunks/{calendar-ClB-jWH1.js.map → calendar-CmiMS4FJ.js.map} +1 -1
  23. package/dist/_chunks/{calendar-appointment-editor-dialog-CiAGAX2t.js → calendar-appointment-editor-dialog-sJKLoVJ2.js} +7 -7
  24. package/dist/_chunks/{calendar-appointment-editor-dialog-CiAGAX2t.js.map → calendar-appointment-editor-dialog-sJKLoVJ2.js.map} +1 -1
  25. package/dist/_chunks/{care-plan-card-BYCPNDvA.js → care-plan-card-DD9rEWYN.js} +2 -2
  26. package/dist/_chunks/{care-plan-card-BYCPNDvA.js.map → care-plan-card-DD9rEWYN.js.map} +1 -1
  27. package/dist/_chunks/{care-plan-header-BzsAg6oY.js → care-plan-header-CXUJQt8Q.js} +2 -2
  28. package/dist/_chunks/{care-plan-header-BzsAg6oY.js.map → care-plan-header-CXUJQt8Q.js.map} +1 -1
  29. package/dist/_chunks/{chat-message-CmFJdEre.js → chat-message-LRO_6Ee3.js} +2 -2
  30. package/dist/_chunks/{chat-message-CmFJdEre.js.map → chat-message-LRO_6Ee3.js.map} +1 -1
  31. package/dist/_chunks/{clinical-note-card-Caidqcwa.js → clinical-note-card-Cut2lNmu.js} +3 -3
  32. package/dist/_chunks/{clinical-note-card-Caidqcwa.js.map → clinical-note-card-Cut2lNmu.js.map} +1 -1
  33. package/dist/_chunks/{contact-card-Czu60UvU.js → contact-card-ClvEDM9e.js} +2 -2
  34. package/dist/_chunks/{contact-card-Czu60UvU.js.map → contact-card-ClvEDM9e.js.map} +1 -1
  35. package/dist/_chunks/{contact-profile-card-Da1vmJQI.js → contact-profile-card-CX45mZA3.js} +106 -95
  36. package/dist/_chunks/contact-profile-card-CX45mZA3.js.map +1 -0
  37. package/dist/_chunks/{dependent-selector-C4kOgO8b.js → dependent-selector-CyNi7M_f.js} +2 -2
  38. package/dist/_chunks/{dependent-selector-C4kOgO8b.js.map → dependent-selector-CyNi7M_f.js.map} +1 -1
  39. package/dist/_chunks/{entity-summary-BLxzSSXK.js → entity-summary-B_bOloqP.js} +3 -3
  40. package/dist/_chunks/{entity-summary-BLxzSSXK.js.map → entity-summary-B_bOloqP.js.map} +1 -1
  41. package/dist/_chunks/error-page-B0fGNTRB.js +419 -0
  42. package/dist/_chunks/error-page-B0fGNTRB.js.map +1 -0
  43. package/dist/_chunks/{languages-CZqBaPwI.js → languages-CGLX6Qpe.js} +3 -15
  44. package/dist/_chunks/languages-CGLX6Qpe.js.map +1 -0
  45. package/dist/_chunks/link-DtCfnLnF.js +332 -0
  46. package/dist/_chunks/link-DtCfnLnF.js.map +1 -0
  47. package/dist/_chunks/{link-cell-renderer-CnCgudvq.js → link-cell-renderer-BS3V4LA6.js} +2 -2
  48. package/dist/_chunks/{link-cell-renderer-CnCgudvq.js.map → link-cell-renderer-BS3V4LA6.js.map} +1 -1
  49. package/dist/_chunks/{marketplace-app-shell-CmZx0Oam.js → marketplace-app-shell-CJQtx3sv.js} +2 -2
  50. package/dist/_chunks/{marketplace-app-shell-CmZx0Oam.js.map → marketplace-app-shell-CJQtx3sv.js.map} +1 -1
  51. package/dist/_chunks/{message-card-CvCnCssc.js → message-card-B6SduXJv.js} +2 -2
  52. package/dist/_chunks/{message-card-CvCnCssc.js.map → message-card-B6SduXJv.js.map} +1 -1
  53. package/dist/_chunks/{message-tray-IJYvy6Cf.js → message-tray-Cllf-v0G.js} +2 -2
  54. package/dist/_chunks/{message-tray-IJYvy6Cf.js.map → message-tray-Cllf-v0G.js.map} +1 -1
  55. package/dist/_chunks/{nav-grid-Oc4aCPrg.js → nav-grid-D2xVcHTO.js} +2 -2
  56. package/dist/_chunks/{nav-grid-Oc4aCPrg.js.map → nav-grid-D2xVcHTO.js.map} +1 -1
  57. package/dist/_chunks/{note-attachment-DIlIQ7JF.js → note-attachment-cnj2JRrg.js} +2 -2
  58. package/dist/_chunks/{note-attachment-DIlIQ7JF.js.map → note-attachment-cnj2JRrg.js.map} +1 -1
  59. package/dist/_chunks/{note-timeline-KzL52MmB.js → note-timeline-BrjHBQfx.js} +2 -2
  60. package/dist/_chunks/{note-timeline-KzL52MmB.js.map → note-timeline-BrjHBQfx.js.map} +1 -1
  61. package/dist/_chunks/{notes-panel-Dywo6R55.js → notes-panel-ib7I3aNf.js} +2 -2
  62. package/dist/_chunks/{notes-panel-Dywo6R55.js.map → notes-panel-ib7I3aNf.js.map} +1 -1
  63. package/dist/_chunks/{operator-hero-6aAIQaFZ.js → operator-hero-C_5B-8Qp.js} +43 -41
  64. package/dist/_chunks/operator-hero-C_5B-8Qp.js.map +1 -0
  65. package/dist/_chunks/{patient-details-BUr7Oemx.js → patient-details-BjcUpD9S.js} +3 -3
  66. package/dist/_chunks/{patient-details-BUr7Oemx.js.map → patient-details-BjcUpD9S.js.map} +1 -1
  67. package/dist/_chunks/{patient-field-row-bJk8Q_qr.js → patient-field-row-B0tdiaWi.js} +2 -2
  68. package/dist/_chunks/{patient-field-row-bJk8Q_qr.js.map → patient-field-row-B0tdiaWi.js.map} +1 -1
  69. package/dist/_chunks/{patient-summary-card-CCQZ8X37.js → patient-summary-card-Cvv6_Ugk.js} +4 -4
  70. package/dist/_chunks/{patient-summary-card-CCQZ8X37.js.map → patient-summary-card-Cvv6_Ugk.js.map} +1 -1
  71. package/dist/_chunks/{payment-request-card-MndSlVoK.js → payment-request-card-BfGauFY0.js} +2 -2
  72. package/dist/_chunks/{payment-request-card-MndSlVoK.js.map → payment-request-card-BfGauFY0.js.map} +1 -1
  73. package/dist/_chunks/{practice-profile-hero-qfrsFQI_.js → practice-profile-hero-ClzE-4CB.js} +76 -73
  74. package/dist/_chunks/practice-profile-hero-ClzE-4CB.js.map +1 -0
  75. package/dist/_chunks/{practice-results-DQuOfqej.js → practice-results-CQ_KvEXK.js} +517 -514
  76. package/dist/_chunks/practice-results-CQ_KvEXK.js.map +1 -0
  77. package/dist/_chunks/{product-hub-panel-Blag8t8f.js → product-hub-panel-bHi7lkVD.js} +2 -2
  78. package/dist/_chunks/{product-hub-panel-Blag8t8f.js.map → product-hub-panel-bHi7lkVD.js.map} +1 -1
  79. package/dist/_chunks/public-footer-IoRWoAMz.js +596 -0
  80. package/dist/_chunks/public-footer-IoRWoAMz.js.map +1 -0
  81. package/dist/_chunks/{signature-request-DjY-X62H.js → signature-request-DvhyrRpn.js} +3 -3
  82. package/dist/_chunks/{signature-request-DjY-X62H.js.map → signature-request-DvhyrRpn.js.map} +1 -1
  83. package/dist/_chunks/{signed-out-frame-G-3ATOdu.js → signed-out-frame-CgRXOUzi.js} +2 -2
  84. package/dist/_chunks/{signed-out-frame-G-3ATOdu.js.map → signed-out-frame-CgRXOUzi.js.map} +1 -1
  85. package/dist/_chunks/{slot-grid-DrwynKeN.js → slot-grid-B-IAFX3C.js} +180 -169
  86. package/dist/_chunks/slot-grid-B-IAFX3C.js.map +1 -0
  87. package/dist/_chunks/{timeline-wUuTDFY_.js → timeline-BcYHdP56.js} +2 -2
  88. package/dist/_chunks/{timeline-wUuTDFY_.js.map → timeline-BcYHdP56.js.map} +1 -1
  89. package/dist/_chunks/{use-appointment-details-read-BytPq3Ux.js → use-appointment-details-read-D8vDg0sg.js} +5 -5
  90. package/dist/_chunks/{use-appointment-details-read-BytPq3Ux.js.map → use-appointment-details-read-D8vDg0sg.js.map} +1 -1
  91. package/dist/agent-catalog.json +2 -2
  92. package/dist/components/_shared/social-brand-icons.d.ts +29 -0
  93. package/dist/components/_shared/social-brand-icons.d.ts.map +1 -0
  94. package/dist/components/agenda-card/index.js +1 -1
  95. package/dist/components/agenda-tray/index.js +1 -1
  96. package/dist/components/appointment-card/index.js +2 -2
  97. package/dist/components/appointment-details-panel/index.js +1 -1
  98. package/dist/components/appointment-peek/index.js +1 -1
  99. package/dist/components/appointment-timeline/index.js +1 -1
  100. package/dist/components/avatar/avatar.d.ts +14 -0
  101. package/dist/components/avatar/avatar.d.ts.map +1 -1
  102. package/dist/components/avatar/index.js +1 -1
  103. package/dist/components/booking/booking-types.d.ts +26 -0
  104. package/dist/components/booking/booking-types.d.ts.map +1 -1
  105. package/dist/components/booking/booking.d.ts.map +1 -1
  106. package/dist/components/booking/details-form.d.ts.map +1 -1
  107. package/dist/components/booking/index.js +1 -1
  108. package/dist/components/booking/slot-load-state.d.ts +11 -0
  109. package/dist/components/booking/slot-load-state.d.ts.map +1 -0
  110. package/dist/components/calendar/index.js +1 -1
  111. package/dist/components/care-plan-card/index.js +1 -1
  112. package/dist/components/care-plan-header/index.js +1 -1
  113. package/dist/components/chat-message/index.js +1 -1
  114. package/dist/components/clinical-note-card/index.js +1 -1
  115. package/dist/components/contact-card/index.js +1 -1
  116. package/dist/components/contact-profile-card/index.js +1 -1
  117. package/dist/components/data-table/index.js +1 -1
  118. package/dist/components/dependent-selector/index.js +1 -1
  119. package/dist/components/entity-summary/index.js +1 -1
  120. package/dist/components/link/index.js +1 -1
  121. package/dist/components/link/link.d.ts +10 -1
  122. package/dist/components/link/link.d.ts.map +1 -1
  123. package/dist/components/link/social-url.d.ts +71 -0
  124. package/dist/components/link/social-url.d.ts.map +1 -0
  125. package/dist/components/message-card/index.js +1 -1
  126. package/dist/components/message-tray/index.js +1 -1
  127. package/dist/components/nav-grid/index.js +1 -1
  128. package/dist/components/note-timeline/index.js +1 -1
  129. package/dist/components/notes-panel/index.js +1 -1
  130. package/dist/components/operator-hero/index.js +1 -1
  131. package/dist/components/operator-hero/operator-hero.d.ts +6 -0
  132. package/dist/components/operator-hero/operator-hero.d.ts.map +1 -1
  133. package/dist/components/patient-details/index.js +1 -1
  134. package/dist/components/patient-summary-card/index.js +1 -1
  135. package/dist/components/patient-table/index.js +1 -1
  136. package/dist/components/payment-card/index.js +1 -1
  137. package/dist/components/practice-profile-hero/index.js +1 -1
  138. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +6 -0
  139. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts.map +1 -1
  140. package/dist/components/practice-results/index.js +1 -1
  141. package/dist/components/practice-results/practice-results.d.ts +8 -2
  142. package/dist/components/practice-results/practice-results.d.ts.map +1 -1
  143. package/dist/components/product-hub-tray/index.js +1 -1
  144. package/dist/components/public-footer/index.js +1 -1
  145. package/dist/components/public-footer/public-footer.d.ts +13 -1
  146. package/dist/components/public-footer/public-footer.d.ts.map +1 -1
  147. package/dist/components/public-footer/socials.d.ts +6 -5
  148. package/dist/components/public-footer/socials.d.ts.map +1 -1
  149. package/dist/components/slot-grid/index.js +1 -1
  150. package/dist/components/slot-grid/slot-grid.d.ts +2 -0
  151. package/dist/components/slot-grid/slot-grid.d.ts.map +1 -1
  152. package/dist/components/timeline/index.js +1 -1
  153. package/dist/i18n/config.d.ts.map +1 -1
  154. package/dist/i18n/config.js +224 -96
  155. package/dist/i18n/config.js.map +1 -1
  156. package/dist/i18n/locales/ar.d.ts +3 -0
  157. package/dist/i18n/locales/ar.d.ts.map +1 -1
  158. package/dist/i18n/locales/ar.js +4 -1
  159. package/dist/i18n/locales/ar.js.map +1 -1
  160. package/dist/i18n/locales/de.d.ts +3 -0
  161. package/dist/i18n/locales/de.d.ts.map +1 -1
  162. package/dist/i18n/locales/de.js +4 -1
  163. package/dist/i18n/locales/de.js.map +1 -1
  164. package/dist/i18n/locales/el.d.ts +3 -0
  165. package/dist/i18n/locales/el.d.ts.map +1 -1
  166. package/dist/i18n/locales/el.js +4 -1
  167. package/dist/i18n/locales/el.js.map +1 -1
  168. package/dist/i18n/locales/en.d.ts +3 -0
  169. package/dist/i18n/locales/en.d.ts.map +1 -1
  170. package/dist/i18n/locales/en.js +3 -0
  171. package/dist/i18n/locales/en.js.map +1 -1
  172. package/dist/i18n/locales/es.d.ts +3 -0
  173. package/dist/i18n/locales/es.d.ts.map +1 -1
  174. package/dist/i18n/locales/es.js +4 -1
  175. package/dist/i18n/locales/es.js.map +1 -1
  176. package/dist/i18n/locales/fr.d.ts +3 -0
  177. package/dist/i18n/locales/fr.d.ts.map +1 -1
  178. package/dist/i18n/locales/fr.js +4 -1
  179. package/dist/i18n/locales/fr.js.map +1 -1
  180. package/dist/i18n/locales/hi.d.ts +3 -0
  181. package/dist/i18n/locales/hi.d.ts.map +1 -1
  182. package/dist/i18n/locales/hi.js +4 -1
  183. package/dist/i18n/locales/hi.js.map +1 -1
  184. package/dist/i18n/locales/it.d.ts +3 -0
  185. package/dist/i18n/locales/it.d.ts.map +1 -1
  186. package/dist/i18n/locales/it.js +4 -1
  187. package/dist/i18n/locales/it.js.map +1 -1
  188. package/dist/i18n/locales/ja.d.ts +3 -0
  189. package/dist/i18n/locales/ja.d.ts.map +1 -1
  190. package/dist/i18n/locales/ja.js +4 -1
  191. package/dist/i18n/locales/ja.js.map +1 -1
  192. package/dist/i18n/locales/nl.d.ts +3 -0
  193. package/dist/i18n/locales/nl.d.ts.map +1 -1
  194. package/dist/i18n/locales/nl.js +4 -1
  195. package/dist/i18n/locales/nl.js.map +1 -1
  196. package/dist/i18n/locales/pl.d.ts +3 -0
  197. package/dist/i18n/locales/pl.d.ts.map +1 -1
  198. package/dist/i18n/locales/pl.js +4 -1
  199. package/dist/i18n/locales/pl.js.map +1 -1
  200. package/dist/i18n/locales/pt.d.ts +3 -0
  201. package/dist/i18n/locales/pt.d.ts.map +1 -1
  202. package/dist/i18n/locales/pt.js +4 -1
  203. package/dist/i18n/locales/pt.js.map +1 -1
  204. package/dist/i18n/locales/ro.d.ts +3 -0
  205. package/dist/i18n/locales/ro.d.ts.map +1 -1
  206. package/dist/i18n/locales/ro.js +4 -1
  207. package/dist/i18n/locales/ro.js.map +1 -1
  208. package/dist/i18n/locales/ru.d.ts +3 -0
  209. package/dist/i18n/locales/ru.d.ts.map +1 -1
  210. package/dist/i18n/locales/ru.js +4 -1
  211. package/dist/i18n/locales/ru.js.map +1 -1
  212. package/dist/i18n/locales/sq.d.ts +3 -0
  213. package/dist/i18n/locales/sq.d.ts.map +1 -1
  214. package/dist/i18n/locales/sq.js +4 -1
  215. package/dist/i18n/locales/sq.js.map +1 -1
  216. package/dist/i18n/locales/sv.d.ts +3 -0
  217. package/dist/i18n/locales/sv.d.ts.map +1 -1
  218. package/dist/i18n/locales/sv.js +4 -1
  219. package/dist/i18n/locales/sv.js.map +1 -1
  220. package/dist/i18n/locales/tr.d.ts +3 -0
  221. package/dist/i18n/locales/tr.d.ts.map +1 -1
  222. package/dist/i18n/locales/tr.js +4 -1
  223. package/dist/i18n/locales/tr.js.map +1 -1
  224. package/dist/i18n/locales/zh.d.ts +3 -0
  225. package/dist/i18n/locales/zh.d.ts.map +1 -1
  226. package/dist/i18n/locales/zh.js +4 -1
  227. package/dist/i18n/locales/zh.js.map +1 -1
  228. package/dist/index.js +42 -42
  229. package/dist/locales/ar.json +4 -1
  230. package/dist/locales/de.json +4 -1
  231. package/dist/locales/el.json +4 -1
  232. package/dist/locales/en.json +3 -0
  233. package/dist/locales/es.json +4 -1
  234. package/dist/locales/fr.json +4 -1
  235. package/dist/locales/hi.json +4 -1
  236. package/dist/locales/it.json +4 -1
  237. package/dist/locales/ja.json +4 -1
  238. package/dist/locales/nl.json +4 -1
  239. package/dist/locales/pl.json +4 -1
  240. package/dist/locales/pt.json +4 -1
  241. package/dist/locales/ro.json +4 -1
  242. package/dist/locales/ru.json +4 -1
  243. package/dist/locales/sq.json +4 -1
  244. package/dist/locales/sv.json +4 -1
  245. package/dist/locales/tr.json +4 -1
  246. package/dist/locales/zh.json +4 -1
  247. package/dist/patterns/alia-assistant/index.js +1 -1
  248. package/dist/patterns/calendar/index.js +1 -1
  249. package/dist/patterns/error-page/error-page-english.d.ts +71 -0
  250. package/dist/patterns/error-page/error-page-english.d.ts.map +1 -0
  251. package/dist/patterns/error-page/error-page.d.ts.map +1 -1
  252. package/dist/patterns/error-page/index.js +1 -1
  253. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  254. package/dist/patterns/signature-request/index.js +1 -1
  255. package/dist/patterns/signed-out-frame/index.js +1 -1
  256. package/dist/tokens.css +1 -1
  257. package/package.json +1 -1
  258. package/dist/_chunks/avatar-BPiPL7ND.js.map +0 -1
  259. package/dist/_chunks/booking-CcE_oviI.js +0 -4373
  260. package/dist/_chunks/booking-CcE_oviI.js.map +0 -1
  261. package/dist/_chunks/contact-profile-card-Da1vmJQI.js.map +0 -1
  262. package/dist/_chunks/error-page-Bhai-spN.js +0 -344
  263. package/dist/_chunks/error-page-Bhai-spN.js.map +0 -1
  264. package/dist/_chunks/languages-CZqBaPwI.js.map +0 -1
  265. package/dist/_chunks/link-N5_YpLtm.js +0 -138
  266. package/dist/_chunks/link-N5_YpLtm.js.map +0 -1
  267. package/dist/_chunks/operator-hero-6aAIQaFZ.js.map +0 -1
  268. package/dist/_chunks/practice-profile-hero-qfrsFQI_.js.map +0 -1
  269. package/dist/_chunks/practice-results-DQuOfqej.js.map +0 -1
  270. package/dist/_chunks/public-footer-CXOrdAaS.js +0 -568
  271. package/dist/_chunks/public-footer-CXOrdAaS.js.map +0 -1
  272. package/dist/_chunks/slot-grid-DrwynKeN.js.map +0 -1
@@ -1,13 +1,13 @@
1
- import { jsxs as i, jsx as e, Fragment as j } from "react/jsx-runtime";
2
- import { forwardRef as A, useId as B, useState as z, useEffect as S, useMemo as E, useRef as K } from "react";
3
- import { c as M } from "./index-D2ZczOXr.js";
4
- import { A as b } from "./avatar-BPiPL7ND.js";
5
- import { B as V } from "./badge-BUk4RjTS.js";
6
- import { C as w } from "./card-BA4Ig_kn.js";
7
- import { R as F } from "./rating-CGYpg5dj.js";
8
- import { u as L } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
9
- import { u as W } from "./registry-DvAUVLHh.js";
10
- const $ = {
1
+ import { jsxs as d, jsx as e, Fragment as z } from "react/jsx-runtime";
2
+ import { forwardRef as S, useId as A, useState as E, useEffect as K, useMemo as M, useRef as V } from "react";
3
+ import { c as F } from "./index-D2ZczOXr.js";
4
+ import { A as w } from "./avatar-a6042Ox2.js";
5
+ import { B as L } from "./badge-BUk4RjTS.js";
6
+ import { C } from "./card-BA4Ig_kn.js";
7
+ import { R as W } from "./rating-CGYpg5dj.js";
8
+ import { u as $ } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
9
+ import { u as q } from "./registry-DvAUVLHh.js";
10
+ const D = {
11
11
  id: "practice-profile-hero",
12
12
  // Purely observable hero region — no interactive affordances and no
13
13
  // imperative actions on the handle (getName / getHasCover are read-only
@@ -40,7 +40,7 @@ const $ = {
40
40
  description: "Sourced from the id prop."
41
41
  }
42
42
  }
43
- }, q = M("ds:w-full ds:text-[color:var(--foreground)]", {
43
+ }, G = F("ds:w-full ds:text-[color:var(--foreground)]", {
44
44
  variants: {
45
45
  // Matches the kit's other `surface` props (Booking, ReviewsPanel,
46
46
  // OperatorHero). `'elevated'` wraps in `<Card>`.
@@ -52,54 +52,55 @@ const $ = {
52
52
  defaultVariants: {
53
53
  surface: "elevated"
54
54
  }
55
- }), D = A(
55
+ }), J = S(
56
56
  ({
57
57
  name: a,
58
- tagline: p,
59
- imageUrl: u,
58
+ tagline: f,
59
+ imageUrl: n,
60
+ imageAlt: l,
60
61
  coverImageUrl: r,
61
- rating: n,
62
- badges: l,
63
- actionSlot: f,
64
- surface: m = "elevated",
65
- "aria-label": v,
66
- id: c,
67
- className: H,
68
- ...C
69
- }, k) => {
70
- const h = B(), [d, g] = z(null), x = r && (d == null ? void 0 : d.url) === r ? d.status : "loading";
71
- S(() => {
62
+ rating: c,
63
+ badges: p,
64
+ actionSlot: m,
65
+ surface: v = "elevated",
66
+ "aria-label": h,
67
+ id: u,
68
+ className: k,
69
+ ...R
70
+ }, j) => {
71
+ const g = A(), [i, x] = E(null), y = r && (i == null ? void 0 : i.url) === r ? i.status : "loading";
72
+ K(() => {
72
73
  if (!r || typeof Image > "u") return;
73
74
  let s = !0;
74
75
  const o = new Image();
75
76
  return o.onload = () => {
76
- s && g({ url: r, status: "loaded" });
77
+ s && x({ url: r, status: "loaded" });
77
78
  }, o.onerror = () => {
78
- s && g({ url: r, status: "error" });
79
+ s && x({ url: r, status: "error" });
79
80
  }, o.src = r, () => {
80
81
  s = !1, o.onload = null, o.onerror = null;
81
82
  };
82
83
  }, [r]);
83
- const t = !!r && x !== "error", R = E(
84
+ const t = !!r && y !== "error", B = M(
84
85
  () => ({ getName: () => a, getHasCover: () => t }),
85
86
  [a, t]
86
87
  );
87
- W($, R, c);
88
- const y = K(null);
89
- L(() => {
90
- const s = y.current;
88
+ q(D, B, u);
89
+ const N = V(null);
90
+ $(() => {
91
+ const s = N.current;
91
92
  s && (r ? s.style.setProperty(
92
93
  "--practice-profile-hero-cover",
93
94
  `url("${r.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}")`
94
95
  ) : s.style.removeProperty("--practice-profile-hero-cover"));
95
96
  }, [r, t]);
96
- const N = t ? /* @__PURE__ */ e(
97
+ const P = t ? /* @__PURE__ */ e(
97
98
  "div",
98
99
  {
99
- ref: y,
100
+ ref: N,
100
101
  "aria-hidden": "true",
101
102
  "data-slot": "cover",
102
- "data-state": x,
103
+ "data-state": y,
103
104
  className: [
104
105
  "ds:h-32 ds:sm:h-40 ds:w-full",
105
106
  // Cover image layered over the brand gradient — the gradient is
@@ -111,7 +112,7 @@ const $ = {
111
112
  "ds:bg-cover ds:bg-center"
112
113
  ].join(" ")
113
114
  }
114
- ) : null, P = /* @__PURE__ */ i(
115
+ ) : null, H = !(n && l), b = /* @__PURE__ */ d(
115
116
  "div",
116
117
  {
117
118
  className: [
@@ -123,74 +124,76 @@ const $ = {
123
124
  ].join(" "),
124
125
  children: [
125
126
  /* @__PURE__ */ e("div", { className: "ds:shrink-0 ds:sm:hidden", children: /* @__PURE__ */ e(
126
- b,
127
+ w,
127
128
  {
128
129
  size: "xl",
129
130
  shape: "rounded",
130
131
  ratio: "4:3",
131
132
  name: a,
132
- src: u,
133
- "aria-hidden": "true"
133
+ src: n,
134
+ alt: l,
135
+ "aria-hidden": H ? "true" : void 0
134
136
  }
135
137
  ) }),
136
138
  /* @__PURE__ */ e("div", { className: "ds:hidden ds:shrink-0 ds:sm:block", children: /* @__PURE__ */ e(
137
- b,
139
+ w,
138
140
  {
139
141
  size: "3xl",
140
142
  shape: "rounded",
141
143
  ratio: "4:3",
142
144
  name: a,
143
- src: u,
144
- "aria-hidden": "true"
145
+ src: n,
146
+ alt: l,
147
+ "aria-hidden": H ? "true" : void 0
145
148
  }
146
149
  ) }),
147
- /* @__PURE__ */ i("div", { className: "ds:flex ds:w-full ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
148
- /* @__PURE__ */ i("div", { className: "ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-md)]", children: [
150
+ /* @__PURE__ */ d("div", { className: "ds:flex ds:w-full ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]", children: [
151
+ /* @__PURE__ */ d("div", { className: "ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-md)]", children: [
149
152
  /* @__PURE__ */ e(
150
153
  "h1",
151
154
  {
152
- id: h,
155
+ id: g,
153
156
  dir: "auto",
154
157
  className: "type-title-page ds:m-0 ds:text-[color:var(--foreground)]",
155
158
  children: a
156
159
  }
157
160
  ),
158
- f ? (
161
+ m ? (
159
162
  // `ms-auto` + `shrink-0` are the desktop contract, and both are
160
163
  // wrong once the row wraps on a phone: they stranded the action
161
164
  // at the inline-end of a start-aligned stack and stopped a wide
162
165
  // control fitting the column. Hence `sm:` and up only.
163
- /* @__PURE__ */ e("div", { className: "ds:flex ds:min-w-0 ds:items-center ds:gap-[var(--spacing-xs)] ds:sm:ms-auto ds:sm:shrink-0", children: f })
166
+ /* @__PURE__ */ e("div", { className: "ds:flex ds:min-w-0 ds:items-center ds:gap-[var(--spacing-xs)] ds:sm:ms-auto ds:sm:shrink-0", children: m })
164
167
  ) : null
165
168
  ] }),
166
- p ? /* @__PURE__ */ e(
169
+ f ? /* @__PURE__ */ e(
167
170
  "p",
168
171
  {
169
172
  dir: "auto",
170
173
  className: "type-body ds:m-0 ds:text-[color:var(--foreground)]",
171
- children: p
174
+ children: f
172
175
  }
173
176
  ) : null,
174
- n ? (
177
+ c ? (
175
178
  // Rating owns the whole line: locale-formatted value, plural-
176
179
  // aware review count, and a single role="img" announcement.
177
180
  /* @__PURE__ */ e(
178
- F,
181
+ W,
179
182
  {
180
- value: n.value,
183
+ value: c.value,
181
184
  max: 5,
182
185
  size: "md",
183
- reviews: { count: n.count }
186
+ reviews: { count: c.count }
184
187
  }
185
188
  )
186
189
  ) : null,
187
- l && l.length > 0 ? /* @__PURE__ */ e(
190
+ p && p.length > 0 ? /* @__PURE__ */ e(
188
191
  "div",
189
192
  {
190
193
  role: "list",
191
194
  className: "ds:mt-[var(--spacing-2xs)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]",
192
- children: l.map((s) => /* @__PURE__ */ e(
193
- V,
195
+ children: p.map((s) => /* @__PURE__ */ e(
196
+ L,
194
197
  {
195
198
  variant: s.variant ?? "neutral",
196
199
  role: "listitem",
@@ -207,30 +210,30 @@ const $ = {
207
210
  return /* @__PURE__ */ e(
208
211
  "div",
209
212
  {
210
- ref: k,
213
+ ref: j,
211
214
  role: "region",
212
- "aria-label": v,
213
- "aria-labelledby": v ? void 0 : h,
215
+ "aria-label": h,
216
+ "aria-labelledby": h ? void 0 : g,
214
217
  "data-component": "practice-profile-hero",
215
- "data-component-id": c,
218
+ "data-component-id": u,
216
219
  "data-has-cover": t ? "true" : "false",
217
- id: c,
218
- className: q({ surface: m, className: H }),
219
- ...C,
220
- children: m === "elevated" ? /* @__PURE__ */ i(w, { variant: "elevated", children: [
221
- N,
222
- /* @__PURE__ */ e(w.Body, { children: P })
223
- ] }) : /* @__PURE__ */ i(j, { children: [
224
- N,
225
- /* @__PURE__ */ e("div", { className: "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]", children: P })
220
+ id: u,
221
+ className: G({ surface: v, className: k }),
222
+ ...R,
223
+ children: v === "elevated" ? /* @__PURE__ */ d(C, { variant: "elevated", children: [
224
+ P,
225
+ /* @__PURE__ */ e(C.Body, { children: b })
226
+ ] }) : /* @__PURE__ */ d(z, { children: [
227
+ P,
228
+ /* @__PURE__ */ e("div", { className: "ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]", children: b })
226
229
  ] })
227
230
  }
228
231
  );
229
232
  }
230
233
  );
231
- D.displayName = "PracticeProfileHero";
234
+ J.displayName = "PracticeProfileHero";
232
235
  export {
233
- D as P,
234
- $ as p
236
+ J as P,
237
+ D as p
235
238
  };
236
- //# sourceMappingURL=practice-profile-hero-qfrsFQI_.js.map
239
+ //# sourceMappingURL=practice-profile-hero-ClzE-4CB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"practice-profile-hero-ClzE-4CB.js","sources":["../../src/components/practice-profile-hero/practice-profile-hero.agent.ts","../../src/components/practice-profile-hero/practice-profile-hero.tsx"],"sourcesContent":["import type { AgentAdapter } from '../../agent/types';\nimport type { PracticeProfileHeroHandle } from './practice-profile-hero';\n\nexport const practiceProfileHeroAgent: AgentAdapter<PracticeProfileHeroHandle> =\n {\n id: 'practice-profile-hero',\n // Purely observable hero region — no interactive affordances and no\n // imperative actions on the handle (getName / getHasCover are read-only\n // projections).\n capabilities: [],\n state: {\n name: {\n type: 'string',\n descriptionKey: 'ui.agent.practiceProfileHero.state.name',\n description: 'Practice display name currently rendered.',\n read: (handle) => handle.getName(),\n },\n hasCover: {\n type: 'boolean',\n descriptionKey: 'ui.agent.practiceProfileHero.state.hasCover',\n description:\n 'Whether a cover-image strip is rendered. Structural flag only — never the image URL or any PHI.',\n read: (handle) => handle.getHasCover(),\n },\n },\n actions: {},\n domHooks: {\n root: {\n attr: 'data-component',\n value: 'practice-profile-hero',\n description: 'Marks the PracticeProfileHero root region.',\n },\n instanceId: {\n attr: 'data-component-id',\n sourceProp: 'id',\n description: 'Sourced from the id prop.',\n },\n },\n };\n","import {\n forwardRef,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n type ComponentPropsWithoutRef,\n type ReactNode,\n} from 'react';\nimport { cva } from 'class-variance-authority';\nimport { Avatar } from '../avatar/avatar';\nimport { Badge } from '../badge/badge';\nimport { Card } from '../card/card';\nimport { Rating } from '../rating/rating';\nimport { useIsomorphicLayoutEffect } from '../../hooks/use-isomorphic-layout-effect';\nimport { useAgentRegistration } from '../../agent/registry';\nimport { practiceProfileHeroAgent } from './practice-profile-hero.agent';\n\n/* -------------------------------------------------------------------- */\n/* PracticeProfileHero */\n/* */\n/* The practice-page counterpart to `<OperatorHero>` — the top-of-page */\n/* hero for a practice profile (booking site `/p/<seoUrl>`, marketplace */\n/* practice views). Differences from the operator hero: */\n/* */\n/* - Optional cover strip: renders ONLY when `coverImageUrl` is set. */\n/* A practice without a configured cover image gets no strip at all */\n/* — never an empty brand-gradient band eating page space. */\n/* - Larger avatar at desktop widths (3xl), stepped down to xl and */\n/* stacked above the text on small viewports so the practice name, */\n/* tagline and rating keep the full line width on phones. */\n/* -------------------------------------------------------------------- */\n\n/* -------------------------------------------------------------------- */\n/* CVA */\n/* -------------------------------------------------------------------- */\n\nconst rootVariants = cva('ds:w-full ds:text-[color:var(--foreground)]', {\n variants: {\n // Matches the kit's other `surface` props (Booking, ReviewsPanel,\n // OperatorHero). `'elevated'` wraps in `<Card>`.\n surface: {\n flat: '',\n elevated: '',\n },\n },\n defaultVariants: {\n surface: 'elevated',\n },\n});\n\n/* -------------------------------------------------------------------- */\n/* Public types */\n/* -------------------------------------------------------------------- */\n\nexport interface PracticeProfileHeroBadge {\n /** Display key — i18n is up to the consumer. */\n key: string;\n /** Display label. */\n label: string;\n /** Badge variant — falls back to `neutral`. */\n variant?: 'neutral' | 'info' | 'success' | 'warning' | 'error';\n}\n\nexport interface PracticeProfileHeroRating {\n /** Mean rating, 0–5. */\n value: number;\n /** Total number of reviews. */\n count: number;\n}\n\nexport interface PracticeProfileHeroHandle {\n getName: () => string;\n /** Structural flag — whether a cover strip is rendered. No PHI. */\n getHasCover: () => boolean;\n}\n\nexport interface PracticeProfileHeroProps extends Omit<\n ComponentPropsWithoutRef<'div'>,\n 'aria-label' | 'children'\n> {\n /** Practice display name. Rendered as the H1 heading. */\n name: string;\n /** Slogan / tagline subtitle (e.g. \"15 anni di esperienza nel cuore di Brera\"). */\n tagline?: string;\n /**\n * Optional practice photo / logo URL. The kit always renders an\n * `<Avatar>` — when `imageUrl` is missing the avatar falls back to\n * initials.\n */\n imageUrl?: string;\n /**\n * Text alternative for the photo's `<img>`, for image search and crawlers.\n * Pass the practice name. Leave it out and the photo stays decorative\n * (`alt=\"\"`), as before. Added in 1.91.0.\n */\n imageAlt?: string;\n /**\n * Optional cover image painted as a full-width strip above the body.\n * The strip renders ONLY when this is set — a practice without a cover\n * image gets no strip (and no empty gradient band). While the image\n * loads, the brand gradient shows in the strip. If it fails to load\n * (404, 401, not an image), the strip goes, as if no cover had been\n * passed, and `data-has-cover` reads `\"false\"`. A different URL tries\n * again.\n */\n coverImageUrl?: string;\n /** Rating summary — when present, renders a Rating + numeric breakdown line. */\n rating?: PracticeProfileHeroRating;\n /**\n * Optional badge row beneath the rating. Use sparingly — 1–3 chips\n * suit the hero's density; longer lists belong in `<ContactProfileCard>`.\n */\n badges?: PracticeProfileHeroBadge[];\n\n /* ----- Slots ----- */\n\n /**\n * Rendered at the inline-end of the heading row (right side on LTR)\n * from `sm` up. The heading row wraps, so on a phone the action drops\n * onto its own line, starts flush with the practice name, and is free\n * to shrink into the column rather than overflow it.\n *\n * Use for a \"Book an appointment\" `<Button>` or a share action.\n */\n actionSlot?: ReactNode;\n\n /* ----- Styling ----- */\n\n /**\n * `elevated` (default) wraps in `<Card variant=\"elevated\">`. `flat`\n * drops the Card — use inside another card / sheet.\n */\n surface?: 'flat' | 'elevated';\n\n /* ----- a11y ----- */\n\n 'aria-label'?: string;\n id?: string;\n}\n\n/* -------------------------------------------------------------------- */\n/* Component */\n/* -------------------------------------------------------------------- */\n\nexport const PracticeProfileHero = forwardRef<\n HTMLDivElement,\n PracticeProfileHeroProps\n>(\n (\n {\n name,\n tagline,\n imageUrl,\n imageAlt,\n coverImageUrl,\n rating,\n badges,\n actionSlot,\n surface = 'elevated',\n 'aria-label': ariaLabel,\n id,\n className,\n ...rest\n },\n ref,\n ) => {\n const headingId = useId();\n\n // HTP-6708. A CSS background cannot report a failed load, so the URL\n // is probed with an Image (the browser serves both from one request).\n // The strip reserves its height while the image loads, with the brand\n // gradient showing: a cover that loads causes no layout shift, and one\n // that fails removes the strip in a single step. The outcome is kept\n // per URL, so a new URL starts loading again and is retried.\n const [coverOutcome, setCoverOutcome] = useState<{\n url: string;\n status: 'loaded' | 'error';\n } | null>(null);\n const coverStatus =\n coverImageUrl && coverOutcome?.url === coverImageUrl\n ? coverOutcome.status\n : 'loading';\n useEffect(() => {\n if (!coverImageUrl || typeof Image === 'undefined') return undefined;\n let current = true;\n const probe = new Image();\n probe.onload = () => {\n if (current) setCoverOutcome({ url: coverImageUrl, status: 'loaded' });\n };\n probe.onerror = () => {\n if (current) setCoverOutcome({ url: coverImageUrl, status: 'error' });\n };\n probe.src = coverImageUrl;\n return () => {\n current = false;\n probe.onload = null;\n probe.onerror = null;\n };\n }, [coverImageUrl]);\n const hasCover = Boolean(coverImageUrl) && coverStatus !== 'error';\n\n // Memoised so the registry doesn't see a fresh handle identity (and\n // fire unregister+register) on every render — mirrors Booking.\n const agentHandle = useMemo(\n () => ({ getName: () => name, getHasCover: () => hasCover }),\n [name, hasCover],\n );\n useAgentRegistration(practiceProfileHeroAgent, agentHandle, id);\n\n // Cover image URL lands as a component-scoped CSS custom property set\n // imperatively on a ref — mirrors the Avatar `--avatar-color-override`\n // idiom so no `style={{…}}` attribute lands on the JSX (constraint §4).\n const coverRef = useRef<HTMLDivElement>(null);\n useIsomorphicLayoutEffect(() => {\n const el = coverRef.current;\n if (!el) return;\n if (coverImageUrl) {\n el.style.setProperty(\n '--practice-profile-hero-cover',\n `url(\"${coverImageUrl.replace(/\\\\/g, '\\\\\\\\').replace(/\"/g, '\\\\\"')}\")`,\n );\n } else {\n el.style.removeProperty('--practice-profile-hero-cover');\n }\n // `hasCover`: the strip can come back (a new URL after a failure),\n // and the new element needs the property too.\n }, [coverImageUrl, hasCover]);\n\n const cover = hasCover ? (\n <div\n ref={coverRef}\n aria-hidden=\"true\"\n data-slot=\"cover\"\n data-state={coverStatus}\n className={[\n 'ds:h-32 ds:sm:h-40 ds:w-full',\n // Cover image layered over the brand gradient — the gradient is\n // the visible underlay while the image streams in. A failed image\n // removes the strip (see above). The `none` fallback keeps the\n // declaration valid before the layout effect sets the custom\n // property (SSR / first paint).\n 'ds:bg-[image:var(--practice-profile-hero-cover,none),var(--gradient-hero-brand)]',\n 'ds:bg-cover ds:bg-center',\n ].join(' ')}\n />\n ) : null;\n\n // Decorative unless the caller wrote alt text for a photo that shows.\n const photoHidden = !(imageUrl && imageAlt);\n\n const body = (\n <div\n className={[\n // Phones: stacked column, smaller avatar — the practice name,\n // tagline and rating keep the full line width instead of being\n // squeezed beside a 3xl avatar. sm+: classic row layout.\n 'ds:flex ds:flex-col ds:items-start ds:gap-[var(--spacing-md)]',\n 'ds:sm:flex-row ds:sm:gap-[var(--spacing-lg)]',\n ].join(' ')}\n >\n {/* Responsive avatar — `ds:hidden` removes the inactive size from\n both the layout and the accessibility tree. Without `imageAlt`\n both renders are aria-hidden: the H1 right beside them already\n carries the practice name, so the avatar is decorative. With\n `imageAlt` (and a photo) the photo is reachable and its alt is\n what a screen reader reads (HTP-7074). */}\n {/* HTP-6712: the practice photo is a 4:3 rounded rectangle, filled\n and cropped from the centre. It keeps the old circle's height\n (64px on phones, 192px from sm), so the hero does not grow. */}\n <div className=\"ds:shrink-0 ds:sm:hidden\">\n <Avatar\n size=\"xl\"\n shape=\"rounded\"\n ratio=\"4:3\"\n name={name}\n src={imageUrl}\n alt={imageAlt}\n aria-hidden={photoHidden ? 'true' : undefined}\n />\n </div>\n <div className=\"ds:hidden ds:shrink-0 ds:sm:block\">\n <Avatar\n size=\"3xl\"\n shape=\"rounded\"\n ratio=\"4:3\"\n name={name}\n src={imageUrl}\n alt={imageAlt}\n aria-hidden={photoHidden ? 'true' : undefined}\n />\n </div>\n <div className=\"ds:flex ds:w-full ds:min-w-0 ds:flex-1 ds:flex-col ds:gap-[var(--spacing-xs)]\">\n <div className=\"ds:flex ds:flex-wrap ds:items-start ds:gap-[var(--spacing-md)]\">\n {/* The practice's own words (name, tagline) keep the direction\n they were typed in, not the page's: `dir=\"auto\"`. */}\n <h1\n id={headingId}\n dir=\"auto\"\n className=\"type-title-page ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {name}\n </h1>\n {actionSlot ? (\n // `ms-auto` + `shrink-0` are the desktop contract, and both are\n // wrong once the row wraps on a phone: they stranded the action\n // at the inline-end of a start-aligned stack and stopped a wide\n // control fitting the column. Hence `sm:` and up only.\n <div className=\"ds:flex ds:min-w-0 ds:items-center ds:gap-[var(--spacing-xs)] ds:sm:ms-auto ds:sm:shrink-0\">\n {actionSlot}\n </div>\n ) : null}\n </div>\n {tagline ? (\n <p\n dir=\"auto\"\n className=\"type-body ds:m-0 ds:text-[color:var(--foreground)]\"\n >\n {tagline}\n </p>\n ) : null}\n {rating ? (\n // Rating owns the whole line: locale-formatted value, plural-\n // aware review count, and a single role=\"img\" announcement.\n <Rating\n value={rating.value}\n max={5}\n size=\"md\"\n reviews={{ count: rating.count }}\n />\n ) : null}\n {badges && badges.length > 0 ? (\n <div\n role=\"list\"\n className=\"ds:mt-[var(--spacing-2xs)] ds:flex ds:flex-wrap ds:items-center ds:gap-[var(--spacing-2xs)]\"\n >\n {badges.map((badge) => (\n <Badge\n key={badge.key}\n variant={badge.variant ?? 'neutral'}\n role=\"listitem\"\n >\n {badge.label}\n </Badge>\n ))}\n </div>\n ) : null}\n </div>\n </div>\n );\n\n return (\n <div\n ref={ref}\n role=\"region\"\n // A consumer-supplied aria-label wins; otherwise the region is\n // named by the practice-name H1 via aria-labelledby.\n aria-label={ariaLabel}\n aria-labelledby={ariaLabel ? undefined : headingId}\n data-component=\"practice-profile-hero\"\n data-component-id={id}\n data-has-cover={hasCover ? 'true' : 'false'}\n id={id}\n className={rootVariants({ surface, className })}\n {...rest}\n >\n {surface === 'elevated' ? (\n <Card variant=\"elevated\">\n {cover}\n <Card.Body>{body}</Card.Body>\n </Card>\n ) : (\n <>\n {cover}\n <div className=\"ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]\">\n {body}\n </div>\n </>\n )}\n </div>\n );\n },\n);\n\nPracticeProfileHero.displayName = 'PracticeProfileHero';\n"],"names":["practiceProfileHeroAgent","handle","rootVariants","cva","PracticeProfileHero","forwardRef","name","tagline","imageUrl","imageAlt","coverImageUrl","rating","badges","actionSlot","surface","ariaLabel","id","className","rest","ref","headingId","useId","coverOutcome","setCoverOutcome","useState","coverStatus","useEffect","current","probe","hasCover","agentHandle","useMemo","useAgentRegistration","coverRef","useRef","useIsomorphicLayoutEffect","el","cover","jsx","photoHidden","body","jsxs","Avatar","Rating","badge","Badge","Card","Fragment"],"mappings":"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"}