@alfadocs/ui-kit 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 (162) hide show
  1. package/dist/_chunks/{agenda-card-BDuvreCe.js → agenda-card-BhY342MA.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-D-jvptdo.js → agenda-tray-BmxBGEci.js} +2 -2
  3. package/dist/_chunks/{alia-sidebar-CsTRAxC8.js → alia-sidebar-ovRX_oti.js} +3 -3
  4. package/dist/_chunks/{appointment-card-5JMWi9_f.js → appointment-card-Bstc1p7a.js} +2 -2
  5. package/dist/_chunks/{appointment-peek-39BwVMUf.js → appointment-peek-C0kKqnFk.js} +2 -2
  6. package/dist/_chunks/{appointment-timeline-1-Za2miy.js → appointment-timeline-rbt9AwHO.js} +2 -2
  7. package/dist/_chunks/{appointment-tray-Dwc8MSIQ.js → appointment-tray-6zd8RLIL.js} +2 -2
  8. package/dist/_chunks/{avatar-BPiPL7ND.js → avatar-a6042Ox2.js} +52 -52
  9. package/dist/_chunks/{balance-badge-cell-D9VhFp0L.js → balance-badge-cell-BtJvre1-.js} +2 -2
  10. package/dist/_chunks/booking-opt_h7Uc.js +4590 -0
  11. package/dist/_chunks/{calendar-ClB-jWH1.js → calendar-CmiMS4FJ.js} +2 -2
  12. package/dist/_chunks/{calendar-appointment-editor-dialog-CiAGAX2t.js → calendar-appointment-editor-dialog-sJKLoVJ2.js} +7 -7
  13. package/dist/_chunks/{care-plan-card-BYCPNDvA.js → care-plan-card-DD9rEWYN.js} +2 -2
  14. package/dist/_chunks/{care-plan-header-BzsAg6oY.js → care-plan-header-CXUJQt8Q.js} +2 -2
  15. package/dist/_chunks/{chat-message-CmFJdEre.js → chat-message-LRO_6Ee3.js} +2 -2
  16. package/dist/_chunks/{clinical-note-card-Caidqcwa.js → clinical-note-card-Cut2lNmu.js} +3 -3
  17. package/dist/_chunks/{contact-card-Czu60UvU.js → contact-card-ClvEDM9e.js} +2 -2
  18. package/dist/_chunks/{contact-profile-card-Da1vmJQI.js → contact-profile-card-CX45mZA3.js} +106 -95
  19. package/dist/_chunks/{dependent-selector-C4kOgO8b.js → dependent-selector-CyNi7M_f.js} +2 -2
  20. package/dist/_chunks/{entity-summary-BLxzSSXK.js → entity-summary-B_bOloqP.js} +3 -3
  21. package/dist/_chunks/error-page-B0fGNTRB.js +419 -0
  22. package/dist/_chunks/{languages-CZqBaPwI.js → languages-CGLX6Qpe.js} +3 -15
  23. package/dist/_chunks/link-DtCfnLnF.js +332 -0
  24. package/dist/_chunks/{link-cell-renderer-CnCgudvq.js → link-cell-renderer-BS3V4LA6.js} +2 -2
  25. package/dist/_chunks/{marketplace-app-shell-CmZx0Oam.js → marketplace-app-shell-CJQtx3sv.js} +2 -2
  26. package/dist/_chunks/{message-card-CvCnCssc.js → message-card-B6SduXJv.js} +2 -2
  27. package/dist/_chunks/{message-tray-IJYvy6Cf.js → message-tray-Cllf-v0G.js} +2 -2
  28. package/dist/_chunks/{nav-grid-Oc4aCPrg.js → nav-grid-D2xVcHTO.js} +2 -2
  29. package/dist/_chunks/{note-attachment-DIlIQ7JF.js → note-attachment-cnj2JRrg.js} +2 -2
  30. package/dist/_chunks/{note-timeline-KzL52MmB.js → note-timeline-BrjHBQfx.js} +2 -2
  31. package/dist/_chunks/{notes-panel-Dywo6R55.js → notes-panel-ib7I3aNf.js} +2 -2
  32. package/dist/_chunks/{operator-hero-6aAIQaFZ.js → operator-hero-C_5B-8Qp.js} +43 -41
  33. package/dist/_chunks/{patient-details-BUr7Oemx.js → patient-details-BjcUpD9S.js} +3 -3
  34. package/dist/_chunks/{patient-field-row-bJk8Q_qr.js → patient-field-row-B0tdiaWi.js} +2 -2
  35. package/dist/_chunks/{patient-summary-card-CCQZ8X37.js → patient-summary-card-Cvv6_Ugk.js} +4 -4
  36. package/dist/_chunks/{payment-request-card-MndSlVoK.js → payment-request-card-BfGauFY0.js} +2 -2
  37. package/dist/_chunks/{practice-profile-hero-qfrsFQI_.js → practice-profile-hero-ClzE-4CB.js} +76 -73
  38. package/dist/_chunks/{practice-results-DQuOfqej.js → practice-results-CQ_KvEXK.js} +517 -514
  39. package/dist/_chunks/{product-hub-panel-Blag8t8f.js → product-hub-panel-bHi7lkVD.js} +2 -2
  40. package/dist/_chunks/public-footer-IoRWoAMz.js +596 -0
  41. package/dist/_chunks/{signature-request-DjY-X62H.js → signature-request-DvhyrRpn.js} +3 -3
  42. package/dist/_chunks/{signed-out-frame-G-3ATOdu.js → signed-out-frame-CgRXOUzi.js} +2 -2
  43. package/dist/_chunks/{slot-grid-DrwynKeN.js → slot-grid-B-IAFX3C.js} +180 -169
  44. package/dist/_chunks/{timeline-wUuTDFY_.js → timeline-BcYHdP56.js} +2 -2
  45. package/dist/_chunks/{use-appointment-details-read-BytPq3Ux.js → use-appointment-details-read-D8vDg0sg.js} +5 -5
  46. package/dist/agent-catalog.json +2 -2
  47. package/dist/components/_shared/social-brand-icons.d.ts +29 -0
  48. package/dist/components/agenda-card/index.js +1 -1
  49. package/dist/components/agenda-tray/index.js +1 -1
  50. package/dist/components/appointment-card/index.js +2 -2
  51. package/dist/components/appointment-details-panel/index.js +1 -1
  52. package/dist/components/appointment-peek/index.js +1 -1
  53. package/dist/components/appointment-timeline/index.js +1 -1
  54. package/dist/components/avatar/avatar.d.ts +14 -0
  55. package/dist/components/avatar/index.js +1 -1
  56. package/dist/components/booking/booking-types.d.ts +26 -0
  57. package/dist/components/booking/index.js +1 -1
  58. package/dist/components/booking/slot-load-state.d.ts +11 -0
  59. package/dist/components/calendar/index.js +1 -1
  60. package/dist/components/care-plan-card/index.js +1 -1
  61. package/dist/components/care-plan-header/index.js +1 -1
  62. package/dist/components/chat-message/index.js +1 -1
  63. package/dist/components/clinical-note-card/index.js +1 -1
  64. package/dist/components/contact-card/index.js +1 -1
  65. package/dist/components/contact-profile-card/index.js +1 -1
  66. package/dist/components/data-table/index.js +1 -1
  67. package/dist/components/dependent-selector/index.js +1 -1
  68. package/dist/components/entity-summary/index.js +1 -1
  69. package/dist/components/link/index.js +1 -1
  70. package/dist/components/link/link.d.ts +10 -1
  71. package/dist/components/link/social-url.d.ts +71 -0
  72. package/dist/components/message-card/index.js +1 -1
  73. package/dist/components/message-tray/index.js +1 -1
  74. package/dist/components/nav-grid/index.js +1 -1
  75. package/dist/components/note-timeline/index.js +1 -1
  76. package/dist/components/notes-panel/index.js +1 -1
  77. package/dist/components/operator-hero/index.js +1 -1
  78. package/dist/components/operator-hero/operator-hero.d.ts +6 -0
  79. package/dist/components/patient-details/index.js +1 -1
  80. package/dist/components/patient-summary-card/index.js +1 -1
  81. package/dist/components/patient-table/index.js +1 -1
  82. package/dist/components/payment-card/index.js +1 -1
  83. package/dist/components/practice-profile-hero/index.js +1 -1
  84. package/dist/components/practice-profile-hero/practice-profile-hero.d.ts +6 -0
  85. package/dist/components/practice-results/index.js +1 -1
  86. package/dist/components/practice-results/practice-results.d.ts +8 -2
  87. package/dist/components/product-hub-tray/index.js +1 -1
  88. package/dist/components/public-footer/index.js +1 -1
  89. package/dist/components/public-footer/public-footer.d.ts +13 -1
  90. package/dist/components/public-footer/socials.d.ts +6 -5
  91. package/dist/components/slot-grid/index.js +1 -1
  92. package/dist/components/slot-grid/slot-grid.d.ts +2 -0
  93. package/dist/components/timeline/index.js +1 -1
  94. package/dist/i18n/config.js +224 -96
  95. package/dist/i18n/locales/ar.d.ts +3 -0
  96. package/dist/i18n/locales/ar.js +4 -1
  97. package/dist/i18n/locales/de.d.ts +3 -0
  98. package/dist/i18n/locales/de.js +4 -1
  99. package/dist/i18n/locales/el.d.ts +3 -0
  100. package/dist/i18n/locales/el.js +4 -1
  101. package/dist/i18n/locales/en.d.ts +3 -0
  102. package/dist/i18n/locales/en.js +3 -0
  103. package/dist/i18n/locales/es.d.ts +3 -0
  104. package/dist/i18n/locales/es.js +4 -1
  105. package/dist/i18n/locales/fr.d.ts +3 -0
  106. package/dist/i18n/locales/fr.js +4 -1
  107. package/dist/i18n/locales/hi.d.ts +3 -0
  108. package/dist/i18n/locales/hi.js +4 -1
  109. package/dist/i18n/locales/it.d.ts +3 -0
  110. package/dist/i18n/locales/it.js +4 -1
  111. package/dist/i18n/locales/ja.d.ts +3 -0
  112. package/dist/i18n/locales/ja.js +4 -1
  113. package/dist/i18n/locales/nl.d.ts +3 -0
  114. package/dist/i18n/locales/nl.js +4 -1
  115. package/dist/i18n/locales/pl.d.ts +3 -0
  116. package/dist/i18n/locales/pl.js +4 -1
  117. package/dist/i18n/locales/pt.d.ts +3 -0
  118. package/dist/i18n/locales/pt.js +4 -1
  119. package/dist/i18n/locales/ro.d.ts +3 -0
  120. package/dist/i18n/locales/ro.js +4 -1
  121. package/dist/i18n/locales/ru.d.ts +3 -0
  122. package/dist/i18n/locales/ru.js +4 -1
  123. package/dist/i18n/locales/sq.d.ts +3 -0
  124. package/dist/i18n/locales/sq.js +4 -1
  125. package/dist/i18n/locales/sv.d.ts +3 -0
  126. package/dist/i18n/locales/sv.js +4 -1
  127. package/dist/i18n/locales/tr.d.ts +3 -0
  128. package/dist/i18n/locales/tr.js +4 -1
  129. package/dist/i18n/locales/zh.d.ts +3 -0
  130. package/dist/i18n/locales/zh.js +4 -1
  131. package/dist/index.js +42 -42
  132. package/dist/locales/ar.json +4 -1
  133. package/dist/locales/de.json +4 -1
  134. package/dist/locales/el.json +4 -1
  135. package/dist/locales/en.json +3 -0
  136. package/dist/locales/es.json +4 -1
  137. package/dist/locales/fr.json +4 -1
  138. package/dist/locales/hi.json +4 -1
  139. package/dist/locales/it.json +4 -1
  140. package/dist/locales/ja.json +4 -1
  141. package/dist/locales/nl.json +4 -1
  142. package/dist/locales/pl.json +4 -1
  143. package/dist/locales/pt.json +4 -1
  144. package/dist/locales/ro.json +4 -1
  145. package/dist/locales/ru.json +4 -1
  146. package/dist/locales/sq.json +4 -1
  147. package/dist/locales/sv.json +4 -1
  148. package/dist/locales/tr.json +4 -1
  149. package/dist/locales/zh.json +4 -1
  150. package/dist/patterns/alia-assistant/index.js +1 -1
  151. package/dist/patterns/calendar/index.js +1 -1
  152. package/dist/patterns/error-page/error-page-english.d.ts +71 -0
  153. package/dist/patterns/error-page/index.js +1 -1
  154. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  155. package/dist/patterns/signature-request/index.js +1 -1
  156. package/dist/patterns/signed-out-frame/index.js +1 -1
  157. package/dist/tokens.css +1 -1
  158. package/package.json +1 -1
  159. package/dist/_chunks/booking-CcE_oviI.js +0 -4373
  160. package/dist/_chunks/error-page-Bhai-spN.js +0 -344
  161. package/dist/_chunks/link-N5_YpLtm.js +0 -138
  162. package/dist/_chunks/public-footer-CXOrdAaS.js +0 -568
@@ -0,0 +1,29 @@
1
+ /** Brand artwork shared by Link and PublicFooter. No network requests.
2
+ * Existing Facebook, Instagram, LinkedIn and YouTube paths are preserved
3
+ * from PublicFooter. Additional paths: Simple Icons 16.35.0 (CC0-1.0).
4
+ * https://github.com/simple-icons/simple-icons/tree/16.35.0/icons
5
+ * Brand names are invariant proper nouns, not translatable interface copy.
6
+ */
7
+ import type { SVGProps } from 'react';
8
+ import { WhatsAppGlyph } from '../whatsapp-button/whatsapp-button';
9
+ type IconProps = SVGProps<SVGSVGElement>;
10
+ export declare const SOCIAL_LINK_ICONS: {
11
+ readonly linkedin: import("react").FunctionComponent<IconProps>;
12
+ readonly youtube: import("react").FunctionComponent<IconProps>;
13
+ readonly instagram: import("react").FunctionComponent<IconProps>;
14
+ readonly facebook: import("react").FunctionComponent<IconProps>;
15
+ readonly x: import("react").FunctionComponent<IconProps>;
16
+ readonly tiktok: import("react").FunctionComponent<IconProps>;
17
+ readonly threads: import("react").FunctionComponent<IconProps>;
18
+ readonly bluesky: import("react").FunctionComponent<IconProps>;
19
+ readonly pinterest: import("react").FunctionComponent<IconProps>;
20
+ readonly reddit: import("react").FunctionComponent<IconProps>;
21
+ readonly snapchat: import("react").FunctionComponent<IconProps>;
22
+ readonly telegram: import("react").FunctionComponent<IconProps>;
23
+ readonly discord: import("react").FunctionComponent<IconProps>;
24
+ readonly twitch: import("react").FunctionComponent<IconProps>;
25
+ readonly github: import("react").FunctionComponent<IconProps>;
26
+ readonly whatsapp: typeof WhatsAppGlyph;
27
+ };
28
+ export {};
29
+ //# sourceMappingURL=social-brand-icons.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as e } from "../../_chunks/agenda-card-BDuvreCe.js";
1
+ import { A as e } from "../../_chunks/agenda-card-BhY342MA.js";
2
2
  import { a as d } from "../../_chunks/agenda-card.agent-Cb5tuEh3.js";
3
3
  import { i as g } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-D-jvptdo.js";
1
+ import { A as r, a as g } from "../../_chunks/agenda-tray-BmxBGEci.js";
2
2
  export {
3
3
  r as AgendaTray,
4
4
  g as agendaTrayAgent
@@ -1,5 +1,5 @@
1
- import { A as p } from "../../_chunks/appointment-card-5JMWi9_f.js";
2
- import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-Dwc8MSIQ.js";
1
+ import { A as p } from "../../_chunks/appointment-card-Bstc1p7a.js";
2
+ import { A as e, a as o, b as r } from "../../_chunks/appointment-tray-6zd8RLIL.js";
3
3
  import { i } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
5
5
  p as AppointmentCard,
@@ -1,4 +1,4 @@
1
- import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-BytPq3Ux.js";
1
+ import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-D8vDg0sg.js";
2
2
  export {
3
3
  e as AppointmentDetailsPanel,
4
4
  n as appointmentDetailsPanelAgent,
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/appointment-peek-39BwVMUf.js";
1
+ import { A as o } from "../../_chunks/appointment-peek-C0kKqnFk.js";
2
2
  import { a as n } from "../../_chunks/appointment-peek.agent-C539tNFM.js";
3
3
  export {
4
4
  o as AppointmentPeek,
@@ -1,4 +1,4 @@
1
- import { A as i, a as t } from "../../_chunks/appointment-timeline-1-Za2miy.js";
1
+ import { A as i, a as t } from "../../_chunks/appointment-timeline-rbt9AwHO.js";
2
2
  export {
3
3
  i as AppointmentTimeline,
4
4
  t as appointmentTimelineAgent
@@ -18,6 +18,20 @@ declare const avatarVariants: (props?: ({
18
18
  export interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'>, VariantProps<typeof avatarVariants> {
19
19
  /** Image source URL. When provided and loads successfully, the image is displayed. */
20
20
  src?: string;
21
+ /**
22
+ * Text alternative written on the photo's `<img>`, so it is there in the
23
+ * first HTML and for image search and crawlers that do not read ARIA. Pass
24
+ * the name of the person or place in the photo. While the photo shows, this
25
+ * text is the accessible name: the `<img>` is the one image assistive
26
+ * technology meets, and the wrapper drops its own `role="img"` and
27
+ * `aria-label` so nothing is announced twice. If the photo fails to load, or
28
+ * while only initials show, the wrapper keeps `role="img"` labelled with
29
+ * `name`.
30
+ *
31
+ * Leave it out and the `<img>` stays decorative (`alt=""`), as before.
32
+ * An empty string means the same. Added in 1.91.0.
33
+ */
34
+ alt?: string;
21
35
  /** Display name — drives initials extraction and deterministic background colour. */
22
36
  name?: string;
23
37
  /**
@@ -1,4 +1,4 @@
1
- import { A as o, g as r, n as t } from "../../_chunks/avatar-BPiPL7ND.js";
1
+ import { A as o, g as r, n as t } from "../../_chunks/avatar-a6042Ox2.js";
2
2
  export {
3
3
  o as Avatar,
4
4
  r as getInitials,
@@ -219,6 +219,12 @@ export interface BookingDetails {
219
219
  * the service is paid. See `BookingBillingDetails`.
220
220
  */
221
221
  billing?: BookingBillingDetails;
222
+ /**
223
+ * Bot check (HTP-6760): patients leave this empty; a filled value is refused
224
+ * by the platform. Always present on submit. The DOM input uses a different
225
+ * name so browsers do not autofill it.
226
+ */
227
+ website?: string;
222
228
  }
223
229
  export interface BookingValue {
224
230
  insuranceType?: InsuranceType;
@@ -460,6 +466,26 @@ export interface BookingProps extends Omit<ComponentPropsWithoutRef<'div'>, 'ari
460
466
  * also drives the calendar shimmer (backward-compat fallback).
461
467
  */
462
468
  loadingSlots?: boolean;
469
+ /**
470
+ * Availability or daily-slot fetching failed. Hides stale times and shows
471
+ * the translated error in every layout and date-picker style. The host
472
+ * owns this flag; clear it after recovery or when starting another search.
473
+ * Loading takes precedence while a retry is pending.
474
+ */
475
+ slotLoadError?: boolean;
476
+ /**
477
+ * Retry the failed availability/daily-slot request. Set loadingDates or
478
+ * loadingSlots synchronously and settle slotLoadError when it completes.
479
+ * The callback does not reset the controlled value or patient details.
480
+ * Omit it to show the error without a retry button.
481
+ */
482
+ onRetrySlots?: () => void;
483
+ /**
484
+ * Localised guidance for an empty date or range. Omitted: existing empty
485
+ * wording is unchanged. For kit-owned booking guidance pass the ui
486
+ * translation `booking.emptySlotsDescription`.
487
+ */
488
+ emptySlotsDescription?: string;
463
489
  submitting?: boolean;
464
490
  /**
465
491
  * @default 'flat'
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-CcE_oviI.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-opt_h7Uc.js";
2
2
  export {
3
3
  A as Booking,
4
4
  R as CONFIRMATION_CHANNEL_ORDER,
@@ -0,0 +1,11 @@
1
+ import { type ReactNode } from 'react';
2
+ /** Keeps a focus target mounted when retry replaces its button with loading. */
3
+ export declare function SlotLoadState({ error, loading, onRetry, label, children, }: {
4
+ error?: boolean;
5
+ loading?: boolean;
6
+ onRetry?: () => void;
7
+ /** Names the region: booking.date.heading or booking.slot.heading. */
8
+ label: 'date' | 'slot';
9
+ children: ReactNode;
10
+ }): import("react/jsx-runtime").JSX.Element;
11
+ //# sourceMappingURL=slot-load-state.d.ts.map
@@ -1,4 +1,4 @@
1
- import { C as r, c as l, r as n } from "../../_chunks/calendar-ClB-jWH1.js";
1
+ import { C as r, c as l, r as n } from "../../_chunks/calendar-CmiMS4FJ.js";
2
2
  export {
3
3
  r as Calendar,
4
4
  l as calendarAgent,
@@ -1,4 +1,4 @@
1
- import { C as e, c as C } from "../../_chunks/care-plan-card-BYCPNDvA.js";
1
+ import { C as e, c as C } from "../../_chunks/care-plan-card-DD9rEWYN.js";
2
2
  export {
3
3
  e as CarePlanCard,
4
4
  C as carePlanCardAgent
@@ -1,4 +1,4 @@
1
- import { C as r, c as n } from "../../_chunks/care-plan-header-BzsAg6oY.js";
1
+ import { C as r, c as n } from "../../_chunks/care-plan-header-CXUJQt8Q.js";
2
2
  export {
3
3
  r as CarePlanHeader,
4
4
  n as carePlanHeaderAgent
@@ -1,4 +1,4 @@
1
- import { C as s } from "../../_chunks/chat-message-CmFJdEre.js";
1
+ import { C as s } from "../../_chunks/chat-message-LRO_6Ee3.js";
2
2
  export {
3
3
  s as ChatMessage
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as e, c as i } from "../../_chunks/clinical-note-card-Caidqcwa.js";
1
+ import { C as e, c as i } from "../../_chunks/clinical-note-card-Cut2lNmu.js";
2
2
  export {
3
3
  e as ClinicalNoteCard,
4
4
  i as clinicalNoteCardAgent
@@ -1,4 +1,4 @@
1
- import { C as r } from "../../_chunks/contact-card-Czu60UvU.js";
1
+ import { C as r } from "../../_chunks/contact-card-ClvEDM9e.js";
2
2
  export {
3
3
  r as ContactCard
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-Da1vmJQI.js";
1
+ import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-CX45mZA3.js";
2
2
  export {
3
3
  _ as CONTACT_PROFILE_CARD_ROW_ICONS,
4
4
  O as CONTACT_PROFILE_CARD_ROW_KEYS,
@@ -1,6 +1,6 @@
1
1
  import { D as r, E as l, T as t, a as s, b as d, c as o, d as n, e as i, f as R, i as C, g as T } from "../../_chunks/data-table-CqQgoNsU.js";
2
2
  import { B as g, C as D, a as b, E as x, b as c, R as p, T as u, c as m, r as E, u as f } from "../../_chunks/editable-currency-cell-renderer-rWYiF4EI.js";
3
- import { D as h, a as A, b as w, I as y, L as I, N as L, c as N, S as P, d as W, e as B, T as U, f as _, g as k, U as v } from "../../_chunks/link-cell-renderer-CnCgudvq.js";
3
+ import { D as h, a as A, b as w, I as y, L as I, N as L, c as N, S as P, d as W, e as B, T as U, f as _, g as k, U as v } from "../../_chunks/link-cell-renderer-BS3V4LA6.js";
4
4
  import { A as X, a as j } from "../../_chunks/actions-cell-renderer-B1yaOfQM.js";
5
5
  export {
6
6
  X as ActionsCellRenderer,
@@ -1,4 +1,4 @@
1
- import { D as n, d } from "../../_chunks/dependent-selector-C4kOgO8b.js";
1
+ import { D as n, d } from "../../_chunks/dependent-selector-CyNi7M_f.js";
2
2
  export {
3
3
  n as DependentSelector,
4
4
  d as dependentSelectorAgent
@@ -1,4 +1,4 @@
1
- import { E as t } from "../../_chunks/entity-summary-BLxzSSXK.js";
1
+ import { E as t } from "../../_chunks/entity-summary-B_bOloqP.js";
2
2
  export {
3
3
  t as EntitySummary
4
4
  };
@@ -1,4 +1,4 @@
1
- import { L } from "../../_chunks/link-N5_YpLtm.js";
1
+ import { L } from "../../_chunks/link-DtCfnLnF.js";
2
2
  export {
3
3
  L as Link
4
4
  };
@@ -10,17 +10,26 @@ import { type VariantProps } from 'class-variance-authority';
10
10
  * boundary matters for screen readers and keyboard users.
11
11
  */
12
12
  declare const linkVariants: (props?: ({
13
+ variant?: "default" | "social" | null | undefined;
13
14
  intent?: "default" | "subtle" | "inverted" | null | undefined;
14
15
  weight?: "strong" | "normal" | null | undefined;
15
16
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
17
  export interface LinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'>, VariantProps<typeof linkVariants> {
17
18
  /** Anchor target. Required — the whole point of the component. */
18
19
  href: string;
20
+ /**
21
+ * `social` detects a supported web URL and supplies its brand logo and
22
+ * name. Children and startIcon override the automatic content. Unknown
23
+ * websites use a globe and hostname; invalid URLs are non-interactive.
24
+ * Bare domains and protocol-relative URLs are normalised to HTTPS.
25
+ */
26
+ variant?: 'default' | 'social' | null;
19
27
  /**
20
28
  * Flag the link as opening in a new browsing context. Automatically
21
29
  * adds `target="_blank"` + `rel="noopener noreferrer"` and renders a
22
30
  * decorative trailing `ExternalLink` icon plus an i18n'd "Opens in a
23
- * new tab" label for assistive tech.
31
+ * new tab" label for assistive tech. Defaults to true for `social`
32
+ * unless an explicit target requests the current/named browsing context.
24
33
  */
25
34
  external?: boolean;
26
35
  /**
@@ -0,0 +1,71 @@
1
+ /** Resolve a web URL without fetching it, following redirects or using the DOM. */
2
+ export declare function resolveSocialUrl(href: string): {
3
+ href: string;
4
+ hostname: string;
5
+ provider: {
6
+ readonly id: "facebook";
7
+ readonly label: "Facebook";
8
+ readonly hosts: readonly ["facebook.com", "www.facebook.com", "m.facebook.com", "web.facebook.com", "fb.com", "fb.me"];
9
+ } | {
10
+ readonly id: "instagram";
11
+ readonly label: "Instagram";
12
+ readonly hosts: readonly ["instagram.com", "www.instagram.com", "instagr.am"];
13
+ } | {
14
+ readonly id: "x";
15
+ readonly label: "X";
16
+ readonly hosts: readonly ["x.com", "www.x.com", "twitter.com", "www.twitter.com", "mobile.twitter.com"];
17
+ } | {
18
+ readonly id: "tiktok";
19
+ readonly label: "TikTok";
20
+ readonly hosts: readonly ["tiktok.com", "www.tiktok.com", "m.tiktok.com", "vm.tiktok.com", "vt.tiktok.com"];
21
+ } | {
22
+ readonly id: "linkedin";
23
+ readonly label: "LinkedIn";
24
+ readonly hosts: readonly ["linkedin.com", "www.linkedin.com", "m.linkedin.com", "lnkd.in"];
25
+ } | {
26
+ readonly id: "youtube";
27
+ readonly label: "YouTube";
28
+ readonly hosts: readonly ["youtube.com", "www.youtube.com", "m.youtube.com", "music.youtube.com", "youtu.be"];
29
+ } | {
30
+ readonly id: "threads";
31
+ readonly label: "Threads";
32
+ readonly hosts: readonly ["threads.com", "www.threads.com", "threads.net", "www.threads.net"];
33
+ } | {
34
+ readonly id: "bluesky";
35
+ readonly label: "Bluesky";
36
+ readonly hosts: readonly ["bsky.app", "www.bsky.app"];
37
+ } | {
38
+ readonly id: "pinterest";
39
+ readonly label: "Pinterest";
40
+ readonly hosts: readonly ["pinterest.com", "www.pinterest.com", "pinterest.it", "www.pinterest.it", "pinterest.de", "www.pinterest.de", "pinterest.fr", "www.pinterest.fr", "pinterest.es", "www.pinterest.es", "pinterest.pt", "www.pinterest.pt", "pinterest.co.uk", "www.pinterest.co.uk", "pinterest.ca", "www.pinterest.ca", "pinterest.com.au", "www.pinterest.com.au", "pinterest.ch", "www.pinterest.ch", "pinterest.at", "www.pinterest.at", "pinterest.nl", "www.pinterest.nl", "pin.it"];
41
+ } | {
42
+ readonly id: "reddit";
43
+ readonly label: "Reddit";
44
+ readonly hosts: readonly ["reddit.com", "www.reddit.com", "old.reddit.com", "redd.it"];
45
+ } | {
46
+ readonly id: "snapchat";
47
+ readonly label: "Snapchat";
48
+ readonly hosts: readonly ["snapchat.com", "www.snapchat.com"];
49
+ } | {
50
+ readonly id: "telegram";
51
+ readonly label: "Telegram";
52
+ readonly hosts: readonly ["t.me", "telegram.me", "telegram.org", "www.telegram.org"];
53
+ } | {
54
+ readonly id: "whatsapp";
55
+ readonly label: "WhatsApp";
56
+ readonly hosts: readonly ["wa.me", "whatsapp.com", "www.whatsapp.com", "api.whatsapp.com", "chat.whatsapp.com"];
57
+ } | {
58
+ readonly id: "discord";
59
+ readonly label: "Discord";
60
+ readonly hosts: readonly ["discord.com", "www.discord.com", "discord.gg", "discordapp.com"];
61
+ } | {
62
+ readonly id: "twitch";
63
+ readonly label: "Twitch";
64
+ readonly hosts: readonly ["twitch.tv", "www.twitch.tv", "m.twitch.tv"];
65
+ } | {
66
+ readonly id: "github";
67
+ readonly label: "GitHub";
68
+ readonly hosts: readonly ["github.com", "www.github.com"];
69
+ } | undefined;
70
+ } | null;
71
+ //# sourceMappingURL=social-url.d.ts.map
@@ -1,4 +1,4 @@
1
- import { M as a } from "../../_chunks/message-card-CvCnCssc.js";
1
+ import { M as a } from "../../_chunks/message-card-B6SduXJv.js";
2
2
  import { m as o } from "../../_chunks/message-card.agent-ZLhx3Bs5.js";
3
3
  import { i as f } from "../../_chunks/is-safe-url-DkETxeHz.js";
4
4
  export {
@@ -1,4 +1,4 @@
1
- import { M as s, m as r } from "../../_chunks/message-tray-IJYvy6Cf.js";
1
+ import { M as s, m as r } from "../../_chunks/message-tray-Cllf-v0G.js";
2
2
  export {
3
3
  s as MessageTray,
4
4
  r as messageTrayAgent
@@ -1,4 +1,4 @@
1
- import { N as i, n, t as s } from "../../_chunks/nav-grid-Oc4aCPrg.js";
1
+ import { N as i, n, t as s } from "../../_chunks/nav-grid-D2xVcHTO.js";
2
2
  export {
3
3
  i as NavGrid,
4
4
  n as navGridAgent,
@@ -1,4 +1,4 @@
1
- import { N as i, n as o } from "../../_chunks/note-timeline-KzL52MmB.js";
1
+ import { N as i, n as o } from "../../_chunks/note-timeline-BrjHBQfx.js";
2
2
  export {
3
3
  i as NoteTimeline,
4
4
  o as noteTimelineAgent
@@ -1,4 +1,4 @@
1
- import { N as a } from "../../_chunks/notes-panel-Dywo6R55.js";
1
+ import { N as a } from "../../_chunks/notes-panel-ib7I3aNf.js";
2
2
  export {
3
3
  a as NotesPanel
4
4
  };
@@ -1,4 +1,4 @@
1
- import { O as e, o as a } from "../../_chunks/operator-hero-6aAIQaFZ.js";
1
+ import { O as e, o as a } from "../../_chunks/operator-hero-C_5B-8Qp.js";
2
2
  export {
3
3
  e as OperatorHero,
4
4
  a as operatorHeroAgent
@@ -40,6 +40,12 @@ export interface OperatorHeroProps extends Omit<ComponentPropsWithoutRef<'div'>,
40
40
  * when `imageUrl` is missing the avatar falls back to initials.
41
41
  */
42
42
  imageUrl?: string;
43
+ /**
44
+ * Text alternative for the photo's `<img>`, for image search and crawlers.
45
+ * Pass the professional's name. Leave it out and the photo stays decorative
46
+ * (`alt=""`), as before. Added in 1.91.0.
47
+ */
48
+ imageAlt?: string;
43
49
  /** Rating summary — when present, renders a Rating + numeric breakdown line. */
44
50
  rating?: OperatorHeroRating;
45
51
  /**
@@ -1,4 +1,4 @@
1
- import { P as e, p as i } from "../../_chunks/patient-details-BUr7Oemx.js";
1
+ import { P as e, p as i } from "../../_chunks/patient-details-BjcUpD9S.js";
2
2
  export {
3
3
  e as PatientDetails,
4
4
  i as patientDetailsAgent
@@ -1,4 +1,4 @@
1
- import { P as t, p as m } from "../../_chunks/patient-summary-card-CCQZ8X37.js";
1
+ import { P as t, p as m } from "../../_chunks/patient-summary-card-Cvv6_Ugk.js";
2
2
  export {
3
3
  t as PatientSummaryCard,
4
4
  m as patientSummaryCardAgent
@@ -1,4 +1,4 @@
1
- import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-D9VhFp0L.js";
1
+ import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-BtJvre1-.js";
2
2
  export {
3
3
  s as BalanceBadgeCell,
4
4
  l as CarePlanStatusCell,
@@ -1,4 +1,4 @@
1
- import { P as t, a as n, p as r, b as s } from "../../_chunks/payment-request-card-MndSlVoK.js";
1
+ import { P as t, a as n, p as r, b as s } from "../../_chunks/payment-request-card-BfGauFY0.js";
2
2
  export {
3
3
  t as PaymentCard,
4
4
  n as PaymentRequestCard,
@@ -1,4 +1,4 @@
1
- import { P as o, p as a } from "../../_chunks/practice-profile-hero-qfrsFQI_.js";
1
+ import { P as o, p as a } from "../../_chunks/practice-profile-hero-ClzE-4CB.js";
2
2
  export {
3
3
  o as PracticeProfileHero,
4
4
  a as practiceProfileHeroAgent
@@ -29,6 +29,12 @@ export interface PracticeProfileHeroProps extends Omit<ComponentPropsWithoutRef<
29
29
  * initials.
30
30
  */
31
31
  imageUrl?: string;
32
+ /**
33
+ * Text alternative for the photo's `<img>`, for image search and crawlers.
34
+ * Pass the practice name. Leave it out and the photo stays decorative
35
+ * (`alt=""`), as before. Added in 1.91.0.
36
+ */
37
+ imageAlt?: string;
32
38
  /**
33
39
  * Optional cover image painted as a full-width strip above the body.
34
40
  * The strip renders ONLY when this is set — a practice without a cover
@@ -1,4 +1,4 @@
1
- import { P as t, p as a } from "../../_chunks/practice-results-DQuOfqej.js";
1
+ import { P as t, p as a } from "../../_chunks/practice-results-CQ_KvEXK.js";
2
2
  export {
3
3
  t as PracticeResults,
4
4
  a as practiceResultsAgent
@@ -60,6 +60,12 @@ export interface PracticeResult {
60
60
  bookingHref?: string;
61
61
  /** Avatar / logo URL. */
62
62
  imageUrl?: string;
63
+ /**
64
+ * Text alternative for the photo's `<img>`, for image search and crawlers.
65
+ * Pass the practice name. Leave it out and the photo stays decorative
66
+ * (`alt=""`), as before. Added in 1.91.0.
67
+ */
68
+ imageAlt?: string;
63
69
  /** Practice location. Required by the two map variants. */
64
70
  location?: {
65
71
  lat: number;
@@ -98,7 +104,7 @@ export interface PracticeResult {
98
104
  * Use `firstVisitPrice` for new integrations; a finite minimum wins when
99
105
  * both are set.
100
106
  * Price in the smallest currency unit (cents / centesimi).
101
- * Rendered as a labelled "First visit cost" row on every card in both
107
+ * Rendered as a labelled "First visit cost" chip on every card in both
102
108
  * densities (booking-website maps the practice's long-standing
103
109
  * first-visit price setting here). Same convention as
104
110
  * `ContactProfileCard.firstVisitPriceCents` — the KIT formats, the
@@ -107,7 +113,7 @@ export interface PracticeResult {
107
113
  * `0` is a real value meaning "free" and renders the translated word
108
114
  * "Free" (`common.freeOfCharge`), never a zero amount. Omit the
109
115
  * field (or pass `undefined`) when the practice has not set a price —
110
- * the row then disappears completely. Added for HTP-6136.
116
+ * the label and chip disappear completely. Added for HTP-6136.
111
117
  */
112
118
  firstVisitPriceCents?: number;
113
119
  /**
@@ -1,4 +1,4 @@
1
- import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-Blag8t8f.js";
1
+ import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-bHi7lkVD.js";
2
2
  import { i as s } from "../../_chunks/is-safe-url-DkETxeHz.js";
3
3
  export {
4
4
  u as ProductHubPanel,
@@ -1,4 +1,4 @@
1
- import { D as s, a as e, P as r, S as A, c as L } from "../../_chunks/public-footer-CXOrdAaS.js";
1
+ import { D as s, a as e, P as r, S as A, c as L } from "../../_chunks/public-footer-IoRWoAMz.js";
2
2
  import { p as _ } from "../../_chunks/public-footer.agent-CRZCrq3_.js";
3
3
  export {
4
4
  s as DEFAULT_MARKETING_BASE_URL,
@@ -34,7 +34,19 @@ export interface PublicFooterProps {
34
34
  socials?: PublicFooterSocial[];
35
35
  /** `full` variant: custom logo node. Default: kit's wordmark Logo. */
36
36
  logoSlot?: ReactNode;
37
- /** Extra surface-specific links — appended after the standard nav row in compact + full. Ignored by minimal. */
37
+ /**
38
+ * Extra surface-specific links, appended after the standard legal links in
39
+ * every variant. A `<Link>`, an `<a>`, a `<button>` or the kit's
40
+ * `<Button intent="link">` all work: the slot gives anchors the footer link
41
+ * look (muted text, underline on hover, focus ring) in every variant, and in
42
+ * `minimal` bare buttons and `Button intent="link"` too, so a host "Cookie
43
+ * settings" button that reopens its consent manager sits in line with
44
+ * Privacy and Terms. In `compact` and `full` host buttons keep their own
45
+ * look. In `minimal` the slot comes after Terms and before
46
+ * the copyright line, so tab order follows reading order, in RTL too. The
47
+ * host owns the label and the click handler. Minimal ignored this slot
48
+ * before 1.91.0.
49
+ */
38
50
  extraNavSlot?: ReactNode;
39
51
  /** Trust badges (HIPAA, ISO). Rendered at the start of `minimal`'s row, or in the bottom strip of `full`. */
40
52
  trustBadgesSlot?: ReactNode;
@@ -1,9 +1,10 @@
1
- import type { ComponentType, SVGProps } from 'react';
2
1
  export declare const SOCIAL_NETWORKS: readonly ["linkedin", "youtube", "instagram", "facebook"];
3
2
  export type SocialNetwork = (typeof SOCIAL_NETWORKS)[number];
4
3
  export declare const DEFAULT_SOCIAL_URLS: Record<SocialNetwork, string>;
5
- type IconProps = SVGProps<SVGSVGElement>;
6
- type SocialIcon = ComponentType<IconProps>;
7
- export declare const SOCIAL_ICONS: Record<SocialNetwork, SocialIcon>;
8
- export {};
4
+ export declare const SOCIAL_ICONS: {
5
+ linkedin: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement>>;
6
+ youtube: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement>>;
7
+ instagram: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement>>;
8
+ facebook: import("react").FunctionComponent<import("react").SVGProps<SVGSVGElement>>;
9
+ };
9
10
  //# sourceMappingURL=socials.d.ts.map
@@ -1,4 +1,4 @@
1
- import { S as i, f as t, i as e, s as r } from "../../_chunks/slot-grid-DrwynKeN.js";
1
+ import { S as i, f as t, i as e, s as r } from "../../_chunks/slot-grid-B-IAFX3C.js";
2
2
  export {
3
3
  i as SlotGrid,
4
4
  t as findFirstAvailable,
@@ -29,6 +29,8 @@ export interface SlotGridProps extends Omit<HTMLAttributes<HTMLDivElement>, 'ari
29
29
  days: SlotGridDay[];
30
30
  /** Visual / interactive state. Defaults to `'default'`. */
31
31
  state?: SlotGridState;
32
+ /** Localised guidance below the empty title, for an empty day or range. */
33
+ emptyDescription?: string;
32
34
  /** Density of the slot buttons and day headers. Defaults to `'md'`. */
33
35
  size?: SlotGridSize;
34
36
  /** Id of the currently selected slot (controlled). */
@@ -1,4 +1,4 @@
1
- import { T as t, t as m } from "../../_chunks/timeline-wUuTDFY_.js";
1
+ import { T as t, t as m } from "../../_chunks/timeline-BcYHdP56.js";
2
2
  export {
3
3
  t as Timeline,
4
4
  m as timelineAgent