@alfadocs/ui-kit 0.25.1 → 0.30.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 (205) hide show
  1. package/dist/_chunks/{agenda-card-BmpaUG1h.js → agenda-card-CznB7K8e.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-DiInnVqk.js → agenda-tray-C_bha7oK.js} +4 -4
  3. package/dist/_chunks/{ai-prompt-input-B5MdixzR.js → ai-prompt-input-Bka3jX3i.js} +2 -2
  4. package/dist/_chunks/{alia-sidebar-CUi2UCbY.js → alia-sidebar-CnvXq95r.js} +92 -109
  5. package/dist/_chunks/{audio-recorder-D4xM3H5i.js → audio-recorder-OB6IV9B1.js} +2 -2
  6. package/dist/_chunks/{autocomplete-C7xq06bP.js → autocomplete-CUh0f7Dj.js} +2 -2
  7. package/dist/_chunks/{avatar-BpFohgWG.js → avatar-D_H4emLo.js} +7 -7
  8. package/dist/_chunks/{benefit-card-DXmrAyfn.js → benefit-card-CjYM8vNr.js} +29 -29
  9. package/dist/_chunks/booking-BYuc_8HV.js +2250 -0
  10. package/dist/_chunks/{calendar-zy0tUUVG.js → calendar-WWNx448i.js} +114 -142
  11. package/dist/_chunks/{card-C353dU-H.js → card-DKTMLVrw.js} +11 -11
  12. package/dist/_chunks/{carousel.agent-DnPiqijR.js → carousel.agent-C9swH-Uf.js} +2 -2
  13. package/dist/_chunks/{chat-input-B3XmFGDw.js → chat-input-BfDcz1Yi.js} +2 -2
  14. package/dist/_chunks/{chat-message-W3k8rLOA.js → chat-message-fg221-yx.js} +2 -2
  15. package/dist/_chunks/{command-palette-DkL-aW4O.js → command-palette-11BieSNq.js} +2 -2
  16. package/dist/_chunks/{contact-card-CjG7c-1q.js → contact-card-DYbp--s-.js} +3 -3
  17. package/dist/_chunks/{date-picker-BIoSLRly.js → date-picker-D0Ry1dMz.js} +26 -27
  18. package/dist/_chunks/{date-range-picker-9gANFNG9.js → date-range-picker-DYgHzMOo.js} +19 -20
  19. package/dist/_chunks/{date-time-picker-DG7BiGdb.js → date-time-picker-CGmGtcyc.js} +10 -11
  20. package/dist/_chunks/{description-list-Bsga4IW8.js → description-list-yl3y3QKg.js} +34 -24
  21. package/dist/_chunks/{dialog-DUomPCRS.js → dialog-BBXqpZIt.js} +2 -2
  22. package/dist/_chunks/{editable-currency-cell-renderer-DJB5MxAI.js → editable-currency-cell-renderer-DSReCae7.js} +7 -7
  23. package/dist/_chunks/{empty-state-3CLJIXSj.js → empty-state-BLy7tigq.js} +13 -33
  24. package/dist/_chunks/eye-LHlSU38h.js +21 -0
  25. package/dist/_chunks/{freemium-paywall-CM6V1zNf.js → freemium-paywall-B9c8Ylww.js} +11 -11
  26. package/dist/_chunks/{header-DqmKROIY.js → header-CkMb1TZS.js} +24 -24
  27. package/dist/_chunks/heart-pulse-CvuyFKHB.js +21 -0
  28. package/dist/_chunks/icon-button-BRHSSFmZ.js +70 -0
  29. package/dist/_chunks/{isSameDay-ecuM8PBB.js → isSameDay-DHG8Xade.js} +4 -4
  30. package/dist/_chunks/{key-value-pair-DBuOCtIc.js → key-value-pair-CqeKiP__.js} +2 -2
  31. package/dist/_chunks/{link-DmM5IevO.js → link-DrD_cRUg.js} +50 -45
  32. package/dist/_chunks/{locale-picker-BxEUUPW7.js → locale-picker-BHxbTNmR.js} +297 -208
  33. package/dist/_chunks/{map-view-CcwycFQX.js → map-view-DyB8tr6c.js} +9 -9
  34. package/dist/_chunks/{matrix-rain-CRPMXcVx.js → matrix-rain-sDOUUwZp.js} +35 -35
  35. package/dist/_chunks/{message-card-i61k1TGc.js → message-card-DjRtA8GG.js} +3 -3
  36. package/dist/_chunks/{message-tray-DrV7G-wR.js → message-tray-DfsAMncP.js} +3 -3
  37. package/dist/_chunks/monitor-D-SFdbrU.js +16 -0
  38. package/dist/_chunks/{notification-card-ejOw5g6g.js → notification-card-B_847w5g.js} +3 -3
  39. package/dist/_chunks/{notification-tray-D_69dXFY.js → notification-tray-6f7smmT1.js} +22 -19
  40. package/dist/_chunks/parseISO-Dk4xa7q6.js +120 -0
  41. package/dist/_chunks/patient-search-BhlxYAI3.js +1102 -0
  42. package/dist/_chunks/patient-shell-CAXYzbRw.js +173 -0
  43. package/dist/_chunks/{payment-form-F7uh0Rqr.js → payment-form-Ds3rxvad.js} +2 -2
  44. package/dist/_chunks/{pdf-viewer-CuYaVR1I.js → pdf-viewer-CIuaocnq.js} +2 -2
  45. package/dist/_chunks/{popover--derJ_wq.js → popover-D0slaBB9.js} +17 -13
  46. package/dist/_chunks/{privacy-lock-BKsI6ReN.js → privacy-lock-BI4vi9Ud.js} +2 -2
  47. package/dist/_chunks/public-footer.agent-CA29gxHJ.js +516 -0
  48. package/dist/_chunks/{public-header.agent-BQ3r6Hgq.js → public-header.agent-5U3S9QiC.js} +49 -41
  49. package/dist/_chunks/react-day-picker-D3yzgvDB.js +3127 -0
  50. package/dist/_chunks/{recaptcha-widget-Kp1XntuE.js → recaptcha-widget-BtBNb6tB.js} +2 -2
  51. package/dist/_chunks/reviews-panel-CFttsfuC.js +513 -0
  52. package/dist/_chunks/{search-bar-DORSAzNt.js → search-bar-BRMW1-WG.js} +2 -2
  53. package/dist/_chunks/{search-input-BtEJAJHa.js → search-input-CIA6pPfn.js} +2 -2
  54. package/dist/_chunks/{sheet-BT0izeoI.js → sheet-D8M8hf8B.js} +2 -2
  55. package/dist/_chunks/{sign-in-with-alfadocs-button-4zZC-I6y.js → sign-in-with-alfadocs-button-BI0fVonM.js} +2 -2
  56. package/dist/_chunks/slot-grid-B2zprPcv.js +387 -0
  57. package/dist/_chunks/sparkles-CuYXqQLg.js +23 -0
  58. package/dist/_chunks/{spinner-DirtWZNG.js → spinner-CCByyvcb.js} +2 -2
  59. package/dist/_chunks/stepper-accordion-BfS6lUB9.js +257 -0
  60. package/dist/_chunks/stepper-accordion.agent-C4quJ-MD.js +71 -0
  61. package/dist/_chunks/stethoscope-DT5qCW8Y.js +18 -0
  62. package/dist/_chunks/{sun-Eweh5fvi.js → sun-BuXE0xUS.js} +3 -15
  63. package/dist/_chunks/{task-tray-B3A2fRGR.js → task-tray-Bcmrrs8m.js} +3 -3
  64. package/dist/_chunks/{theme-toggle-FrotC2VI.js → theme-toggle-nPzb378f.js} +37 -36
  65. package/dist/_chunks/{timeline-jmd7lfDf.js → timeline-CR7HjZCK.js} +3 -3
  66. package/dist/_chunks/{toast.agent-32WNQ-_x.js → toast.agent-CTF6nIj5.js} +2 -2
  67. package/dist/_chunks/{transcript-panel-DUrjx5sa.js → transcript-panel-QUQ9XJmf.js} +2 -2
  68. package/dist/_chunks/{use-password-requirements-C9vKBSVn.js → use-password-requirements-E0sSfx5X.js} +38 -53
  69. package/dist/_chunks/use-theme-C2dHKUAN.js +145 -0
  70. package/dist/_chunks/{workflow-map-BR6txfFX.js → workflow-map-BKsKdYvZ.js} +5 -5
  71. package/dist/agent-catalog.json +151 -51
  72. package/dist/components/agenda-card/index.js +1 -1
  73. package/dist/components/agenda-tray/index.js +1 -1
  74. package/dist/components/ai-prompt-input/index.js +1 -1
  75. package/dist/components/audio-recorder/index.js +1 -1
  76. package/dist/components/autocomplete/index.js +1 -1
  77. package/dist/components/avatar/index.js +1 -1
  78. package/dist/components/benefit-card/index.js +1 -1
  79. package/dist/components/booking/booking-types.d.ts +145 -0
  80. package/dist/components/booking/booking.agent.d.ts +4 -0
  81. package/dist/components/booking/booking.d.ts +6 -0
  82. package/dist/components/booking/cascade.d.ts +96 -0
  83. package/dist/components/booking/details-form.d.ts +32 -0
  84. package/dist/components/booking/index.d.ts +5 -0
  85. package/dist/components/booking/index.js +8 -0
  86. package/dist/components/button/index.js +1 -1
  87. package/dist/components/calendar/index.js +1 -1
  88. package/dist/components/card/index.js +1 -1
  89. package/dist/components/carousel/index.js +1 -1
  90. package/dist/components/chat-input/index.js +1 -1
  91. package/dist/components/chat-message/index.js +1 -1
  92. package/dist/components/checkbox/checkbox.d.ts +6 -2
  93. package/dist/components/command-palette/index.js +1 -1
  94. package/dist/components/contact-card/index.js +1 -1
  95. package/dist/components/data-table/index.js +1 -1
  96. package/dist/components/date-picker/index.js +1 -1
  97. package/dist/components/date-range-picker/index.js +1 -1
  98. package/dist/components/date-time-picker/index.js +1 -1
  99. package/dist/components/description-list/index.js +1 -1
  100. package/dist/components/dialog/index.js +1 -1
  101. package/dist/components/empty-state/index.js +1 -1
  102. package/dist/components/freemium-paywall/index.js +1 -1
  103. package/dist/components/header/index.js +1 -1
  104. package/dist/components/header-settings/index.js +16 -15
  105. package/dist/components/icon-button/index.js +1 -1
  106. package/dist/components/index.d.ts +4 -1
  107. package/dist/components/key-value-pair/index.js +1 -1
  108. package/dist/components/link/index.js +1 -1
  109. package/dist/components/link/link.d.ts +7 -0
  110. package/dist/components/locale-picker/index.js +1 -1
  111. package/dist/components/map-view/index.js +1 -1
  112. package/dist/components/matrix-rain/index.js +1 -1
  113. package/dist/components/message-card/index.js +1 -1
  114. package/dist/components/message-tray/index.js +1 -1
  115. package/dist/components/notification-card/index.js +1 -1
  116. package/dist/components/notification-tray/index.js +1 -1
  117. package/dist/components/password-input/index.js +1 -1
  118. package/dist/components/patient-search/index.d.ts +4 -0
  119. package/dist/components/patient-search/index.js +6 -0
  120. package/dist/components/patient-search/patient-search.agent.d.ts +4 -0
  121. package/dist/components/patient-search/patient-search.d.ts +103 -0
  122. package/dist/components/payment-form/index.js +1 -1
  123. package/dist/components/pdf-viewer/index.js +1 -1
  124. package/dist/components/popover/index.js +1 -1
  125. package/dist/components/privacy-lock/index.js +1 -1
  126. package/dist/components/public-footer/index.d.ts +6 -0
  127. package/dist/components/public-footer/index.js +10 -0
  128. package/dist/components/public-footer/legal-urls.d.ts +18 -0
  129. package/dist/components/public-footer/public-footer.agent.d.ts +4 -0
  130. package/dist/components/public-footer/public-footer.d.ts +51 -0
  131. package/dist/components/public-footer/socials.d.ts +9 -0
  132. package/dist/components/public-header/index.js +1 -1
  133. package/dist/components/recaptcha-widget/index.js +1 -1
  134. package/dist/components/reviews-panel/index.d.ts +4 -0
  135. package/dist/components/reviews-panel/index.js +6 -0
  136. package/dist/components/reviews-panel/reviews-panel.agent.d.ts +4 -0
  137. package/dist/components/reviews-panel/reviews-panel.d.ts +76 -0
  138. package/dist/components/search-bar/index.js +1 -1
  139. package/dist/components/search-input/index.js +1 -1
  140. package/dist/components/sheet/index.js +1 -1
  141. package/dist/components/sign-in-with-alfadocs-button/index.js +1 -1
  142. package/dist/components/slot-grid/index.js +1 -1
  143. package/dist/components/spinner/index.js +1 -1
  144. package/dist/components/stepper-accordion/index.js +4 -3
  145. package/dist/components/task-tray/index.js +1 -1
  146. package/dist/components/theme-toggle/index.js +1 -1
  147. package/dist/components/timeline/index.js +1 -1
  148. package/dist/components/toast/index.js +1 -1
  149. package/dist/components/transcript-panel/index.js +1 -1
  150. package/dist/components/workflow/index.js +1 -1
  151. package/dist/hooks/index.js +1 -1
  152. package/dist/i18n/config.js +4923 -49
  153. package/dist/i18n/locales/ar.d.ts +272 -0
  154. package/dist/i18n/locales/de.d.ts +272 -0
  155. package/dist/i18n/locales/el.d.ts +272 -0
  156. package/dist/i18n/locales/es.d.ts +272 -0
  157. package/dist/i18n/locales/fr.d.ts +272 -0
  158. package/dist/i18n/locales/hi.d.ts +272 -0
  159. package/dist/i18n/locales/ja.d.ts +272 -0
  160. package/dist/i18n/locales/nl.d.ts +272 -0
  161. package/dist/i18n/locales/pl.d.ts +272 -0
  162. package/dist/i18n/locales/pt.d.ts +272 -0
  163. package/dist/i18n/locales/ro.d.ts +272 -0
  164. package/dist/i18n/locales/ru.d.ts +272 -0
  165. package/dist/i18n/locales/sq.d.ts +272 -0
  166. package/dist/i18n/locales/sv.d.ts +272 -0
  167. package/dist/i18n/locales/tr.d.ts +272 -0
  168. package/dist/i18n/locales/zh.d.ts +272 -0
  169. package/dist/i18n/resources.d.ts +544 -0
  170. package/dist/index.js +364 -348
  171. package/dist/locales/ar.json +273 -1
  172. package/dist/locales/de.json +273 -1
  173. package/dist/locales/el.json +273 -1
  174. package/dist/locales/en.json +273 -1
  175. package/dist/locales/es.json +273 -1
  176. package/dist/locales/fr.json +273 -1
  177. package/dist/locales/hi.json +273 -1
  178. package/dist/locales/it.json +273 -1
  179. package/dist/locales/ja.json +273 -1
  180. package/dist/locales/nl.json +273 -1
  181. package/dist/locales/pl.json +273 -1
  182. package/dist/locales/pt.json +273 -1
  183. package/dist/locales/ro.json +273 -1
  184. package/dist/locales/ru.json +273 -1
  185. package/dist/locales/sq.json +273 -1
  186. package/dist/locales/sv.json +273 -1
  187. package/dist/locales/tr.json +273 -1
  188. package/dist/locales/zh.json +273 -1
  189. package/dist/patterns/alia-assistant/index.js +1 -1
  190. package/dist/patterns/patient-shell/index.js +1 -1
  191. package/dist/tokens.css +1 -1
  192. package/package.json +17 -1
  193. package/dist/_chunks/icon-button-C4CGcYuz.js +0 -54
  194. package/dist/_chunks/isSameMonth-5wNF2f4I.js +0 -1307
  195. package/dist/_chunks/patient-shell-B164drIa.js +0 -173
  196. package/dist/_chunks/react-day-picker-C5F3-TTX.js +0 -1827
  197. package/dist/_chunks/slot-grid-CgpYgBkW.js +0 -502
  198. package/dist/_chunks/stepper-C-sIpRRU.js +0 -7
  199. package/dist/_chunks/stepper-accordion.agent-ckKYZCIP.js +0 -322
  200. package/dist/_chunks/stepper-calendar-BLOJUE0-.js +0 -648
  201. package/dist/_chunks/use-theme-B1cwAXJR.js +0 -145
  202. package/dist/components/stepper-calendar/index.d.ts +0 -4
  203. package/dist/components/stepper-calendar/index.js +0 -6
  204. package/dist/components/stepper-calendar/stepper-calendar.agent.d.ts +0 -4
  205. package/dist/components/stepper-calendar/stepper-calendar.d.ts +0 -62
@@ -1,4 +1,4 @@
1
- import { P as e, p as r } from "../../_chunks/popover--derJ_wq.js";
1
+ import { P as e, p as r } from "../../_chunks/popover-D0slaBB9.js";
2
2
  export {
3
3
  e as Popover,
4
4
  r as popoverAgent
@@ -1,4 +1,4 @@
1
- import { P as o, p as r } from "../../_chunks/privacy-lock-BKsI6ReN.js";
1
+ import { P as o, p as r } from "../../_chunks/privacy-lock-BI4vi9Ud.js";
2
2
  export {
3
3
  o as PrivacyLock,
4
4
  r as privacyLockAgent
@@ -0,0 +1,6 @@
1
+ export { PublicFooter } from './public-footer';
2
+ export type { PublicFooterProps, PublicFooterHandle, PublicFooterVariant, PublicFooterLink, PublicFooterLinkGroup, PublicFooterSocial, } from './public-footer';
3
+ export { DEFAULT_MARKETING_BASE_URL, composeLegalUrls, type LegalUrlOverrides, type ResolvedLegalUrls, } from './legal-urls';
4
+ export { SOCIAL_NETWORKS, DEFAULT_SOCIAL_URLS, type SocialNetwork, } from './socials';
5
+ export { publicFooterAgent } from './public-footer.agent';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,10 @@
1
+ import { D as s, a as A, P as L, S as e, c as S, p as _ } from "../../_chunks/public-footer.agent-CA29gxHJ.js";
2
+ export {
3
+ s as DEFAULT_MARKETING_BASE_URL,
4
+ A as DEFAULT_SOCIAL_URLS,
5
+ L as PublicFooter,
6
+ e as SOCIAL_NETWORKS,
7
+ S as composeLegalUrls,
8
+ _ as publicFooterAgent
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,18 @@
1
+ export declare const DEFAULT_MARKETING_BASE_URL = "https://www.alfadocs.com";
2
+ export type LegalUrlKey = 'privacy' | 'terms' | 'contacts';
3
+ export type LegalSlugMap = Record<LegalUrlKey, string>;
4
+ /** Per-locale slug override; missing locales fall back to the kit default. */
5
+ export type LegalUrlOverride = Record<string, string>;
6
+ export interface LegalUrlOverrides {
7
+ privacy?: LegalUrlOverride;
8
+ terms?: LegalUrlOverride;
9
+ contacts?: LegalUrlOverride;
10
+ }
11
+ /** Resolved legal URLs for the active locale + baseUrl + overrides. */
12
+ export interface ResolvedLegalUrls {
13
+ privacy: string;
14
+ terms: string;
15
+ contacts: string;
16
+ }
17
+ export declare function composeLegalUrls(locale: string, marketingBaseUrl: string | undefined, overrides?: LegalUrlOverrides): ResolvedLegalUrls;
18
+ //# sourceMappingURL=legal-urls.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { PublicFooterHandle } from './public-footer';
3
+ export declare const publicFooterAgent: AgentAdapter<PublicFooterHandle>;
4
+ //# sourceMappingURL=public-footer.agent.d.ts.map
@@ -0,0 +1,51 @@
1
+ import { type ReactNode } from 'react';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ import { type LegalUrlOverrides, type ResolvedLegalUrls } from './legal-urls';
4
+ import { type SocialNetwork } from './socials';
5
+ declare const rootVariants: (props?: ({
6
+ variant?: "compact" | "full" | "minimal" | null | undefined;
7
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
+ export type PublicFooterVariant = NonNullable<VariantProps<typeof rootVariants>['variant']>;
9
+ export interface PublicFooterLink {
10
+ href: string;
11
+ label: string;
12
+ /** When true, link opens in a new tab with the localised aria-label suffix. */
13
+ external?: boolean;
14
+ }
15
+ export interface PublicFooterLinkGroup {
16
+ /** Stable key — used to look up the column heading via `t('ui.footer.group.<key>')`. */
17
+ key: 'product' | 'resources' | 'company' | 'legal' | (string & {});
18
+ links: PublicFooterLink[];
19
+ }
20
+ export interface PublicFooterSocial {
21
+ network: SocialNetwork;
22
+ /** Override the kit's default URL. */
23
+ href?: string;
24
+ }
25
+ export interface PublicFooterProps {
26
+ variant: PublicFooterVariant;
27
+ /** Origin for legally-required URLs. Default: 'https://www.alfadocs.com'. */
28
+ marketingBaseUrl?: string;
29
+ /** Override individual legal-link slugs per locale. Rare. */
30
+ legalUrlOverrides?: LegalUrlOverrides;
31
+ /** `full` variant: consumer-supplied link columns. Legal column is always rendered. */
32
+ linkGroups?: PublicFooterLinkGroup[];
33
+ /** `full` variant: subset of social networks. Default: all four. Pass `[]` to hide the row. */
34
+ socials?: PublicFooterSocial[];
35
+ /** `full` variant: custom logo node. Default: kit's wordmark Logo. */
36
+ logoSlot?: ReactNode;
37
+ /** Extra surface-specific links — appended after the standard nav row in compact + full. Ignored by minimal. */
38
+ extraNavSlot?: ReactNode;
39
+ /** Trust badges (HIPAA, ISO). Rendered at the start of `minimal`'s row, or in the bottom strip of `full`. */
40
+ trustBadgesSlot?: ReactNode;
41
+ 'aria-label'?: string;
42
+ id?: string;
43
+ }
44
+ export interface PublicFooterHandle {
45
+ getVariant: () => PublicFooterVariant;
46
+ /** Resolved legal URLs for the current locale + marketingBaseUrl + overrides. */
47
+ getLegalUrls: () => ResolvedLegalUrls;
48
+ }
49
+ export declare const PublicFooter: import("react").ForwardRefExoticComponent<PublicFooterProps & import("react").RefAttributes<PublicFooterHandle>>;
50
+ export {};
51
+ //# sourceMappingURL=public-footer.d.ts.map
@@ -0,0 +1,9 @@
1
+ import type { ComponentType, SVGProps } from 'react';
2
+ export declare const SOCIAL_NETWORKS: readonly ["linkedin", "youtube", "instagram", "facebook"];
3
+ export type SocialNetwork = (typeof SOCIAL_NETWORKS)[number];
4
+ 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 {};
9
+ //# sourceMappingURL=socials.d.ts.map
@@ -1,4 +1,4 @@
1
- import { P as r, p } from "../../_chunks/public-header.agent-BQ3r6Hgq.js";
1
+ import { P as r, p } from "../../_chunks/public-header.agent-5U3S9QiC.js";
2
2
  export {
3
3
  r as PublicHeader,
4
4
  p as publicHeaderAgent
@@ -1,4 +1,4 @@
1
- import { R as t, r as c } from "../../_chunks/recaptcha-widget-Kp1XntuE.js";
1
+ import { R as t, r as c } from "../../_chunks/recaptcha-widget-BtBNb6tB.js";
2
2
  export {
3
3
  t as RecaptchaWidget,
4
4
  c as recaptchaWidgetAgent
@@ -0,0 +1,4 @@
1
+ export { ReviewsPanel } from './reviews-panel';
2
+ export type { ReviewsPanelProps, ReviewsPanelHandle, ReviewItem, ReviewsAggregate, ReviewFilter, } from './reviews-panel';
3
+ export { reviewsPanelAgent } from './reviews-panel.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { R as r, r as s } from "../../_chunks/reviews-panel-CFttsfuC.js";
2
+ export {
3
+ r as ReviewsPanel,
4
+ s as reviewsPanelAgent
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { ReviewsPanelHandle } from './reviews-panel';
3
+ export declare const reviewsPanelAgent: AgentAdapter<ReviewsPanelHandle>;
4
+ //# sourceMappingURL=reviews-panel.agent.d.ts.map
@@ -0,0 +1,76 @@
1
+ import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
2
+ export interface ReviewItem {
3
+ id: string;
4
+ /** When the review was authored (ISO 8601). */
5
+ authoredAt: string;
6
+ /** Anonymised author display ("Marco T.", "Anna_M"). Falls back to a localised "Anonymous". */
7
+ pseudonym?: string;
8
+ /** 0..max — drives the visible star summary on the compact card. */
9
+ overallScore: number;
10
+ /** Short free-text comment shown on the compact card. */
11
+ comment?: string;
12
+ /** Practice reply (revealed in the expanded panel only). */
13
+ reply?: string;
14
+ /** Optional per-axis breakdown — when present, the card grows an
15
+ * "Expand" affordance that reveals these in a DescriptionList. */
16
+ breakdown?: {
17
+ appointmentScore?: number;
18
+ communicationScore?: number;
19
+ staffScore?: number;
20
+ overallScore?: number;
21
+ };
22
+ /** Optional categorical follow-ups, surfaced inside the breakdown. */
23
+ futureVisit?: 'yes' | 'no' | 'unsure';
24
+ recommendation?: 'yes' | 'no' | 'unsure';
25
+ }
26
+ export interface ReviewsAggregate {
27
+ /** Total review count across all star buckets (may exceed the loaded set when paginated). */
28
+ count: number;
29
+ /** Average score across the full population (drives the header `Rating`). */
30
+ averageScore: number;
31
+ /**
32
+ * Optional histogram — per-bucket count keyed by integer star value 1..5.
33
+ * When omitted, the panel derives buckets from the loaded `reviews` array
34
+ * (best-effort: paginated consumers SHOULD provide this explicitly).
35
+ */
36
+ histogram?: Record<1 | 2 | 3 | 4 | 5, number>;
37
+ }
38
+ export type ReviewFilter = 'all' | 1 | 2 | 3 | 4 | 5;
39
+ export interface ReviewsPanelHandle {
40
+ getFilter: () => ReviewFilter;
41
+ setFilter: (next: ReviewFilter) => void;
42
+ /** Total visible after filter is applied. */
43
+ getVisibleCount: () => number;
44
+ }
45
+ export interface ReviewsPanelProps extends Omit<ComponentPropsWithoutRef<'section'>, 'aria-label' | 'children'> {
46
+ reviews: ReviewItem[];
47
+ aggregate: ReviewsAggregate;
48
+ /**
49
+ * Active star filter. Controlled — consumer owns it for shareability via
50
+ * URL query strings. Omit for uncontrolled (panel-managed) filtering.
51
+ */
52
+ filter?: ReviewFilter;
53
+ onFilterChange?: (next: ReviewFilter) => void;
54
+ /**
55
+ * Optional intro callout shown above the list (e.g. "Riepilogo delle
56
+ * opinioni — i pazienti raccontano…"). Render-prop slot so the consumer
57
+ * can drop in `<Alert>` / `<Callout>` / plain `<p>`.
58
+ */
59
+ introSlot?: ReactNode;
60
+ /** Optional header right-end action (e.g. a "Leave a review" button). */
61
+ headerActionSlot?: ReactNode;
62
+ /** Override the default region aria-label. */
63
+ 'aria-label'?: string;
64
+ /** Agent-readiness id. */
65
+ id?: string;
66
+ className?: string;
67
+ /**
68
+ * Hide the filter sidebar — useful when the panel mounts under ~640px
69
+ * width or inside a narrow column. Defaults to false.
70
+ */
71
+ hideFilter?: boolean;
72
+ /** Render skeletons for the header and the list. */
73
+ loading?: boolean;
74
+ }
75
+ export declare const ReviewsPanel: import("react").ForwardRefExoticComponent<ReviewsPanelProps & import("react").RefAttributes<HTMLElement>>;
76
+ //# sourceMappingURL=reviews-panel.d.ts.map
@@ -1,4 +1,4 @@
1
- import { S as e, f as s, s as t } from "../../_chunks/search-bar-DORSAzNt.js";
1
+ import { S as e, f as s, s as t } from "../../_chunks/search-bar-BRMW1-WG.js";
2
2
  export {
3
3
  e as SearchBar,
4
4
  s as filterSearchResults,
@@ -1,4 +1,4 @@
1
- import { S as t } from "../../_chunks/search-input-BtEJAJHa.js";
1
+ import { S as t } from "../../_chunks/search-input-CIA6pPfn.js";
2
2
  import { s as o } from "../../_chunks/search-input.agent-CfZvViOd.js";
3
3
  export {
4
4
  t as SearchInput,
@@ -1,4 +1,4 @@
1
- import { S as t, s as a } from "../../_chunks/sheet-BT0izeoI.js";
1
+ import { S as t, s as a } from "../../_chunks/sheet-D8M8hf8B.js";
2
2
  export {
3
3
  t as Sheet,
4
4
  a as sheetAgent
@@ -1,4 +1,4 @@
1
- import { S as n } from "../../_chunks/sign-in-with-alfadocs-button-4zZC-I6y.js";
1
+ import { S as n } from "../../_chunks/sign-in-with-alfadocs-button-BI0fVonM.js";
2
2
  export {
3
3
  n as SignInWithAlfadocsButton
4
4
  };
@@ -1,4 +1,4 @@
1
- import { S as s, f as e, i as r } from "../../_chunks/slot-grid-CgpYgBkW.js";
1
+ import { S as s, f as e, i as r } from "../../_chunks/slot-grid-B2zprPcv.js";
2
2
  export {
3
3
  s as SlotGrid,
4
4
  e as findFirstAvailable,
@@ -1,4 +1,4 @@
1
- import { S as n } from "../../_chunks/spinner-DirtWZNG.js";
1
+ import { S as n } from "../../_chunks/spinner-CCByyvcb.js";
2
2
  export {
3
3
  n as Spinner
4
4
  };
@@ -1,6 +1,7 @@
1
- import { S as r, s as p } from "../../_chunks/stepper-accordion.agent-ckKYZCIP.js";
1
+ import { S as e } from "../../_chunks/stepper-accordion-BfS6lUB9.js";
2
+ import { s as t } from "../../_chunks/stepper-accordion.agent-C4quJ-MD.js";
2
3
  export {
3
- r as StepperAccordion,
4
- p as stepperAccordionAgent
4
+ e as StepperAccordion,
5
+ t as stepperAccordionAgent
5
6
  };
6
7
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { T as s, t } from "../../_chunks/task-tray-B3A2fRGR.js";
1
+ import { T as s, t } from "../../_chunks/task-tray-Bcmrrs8m.js";
2
2
  export {
3
3
  s as TaskTray,
4
4
  t as taskTrayAgent
@@ -1,4 +1,4 @@
1
- import { T as o, t } from "../../_chunks/theme-toggle-FrotC2VI.js";
1
+ import { T as o, t } from "../../_chunks/theme-toggle-nPzb378f.js";
2
2
  export {
3
3
  o as ThemeToggle,
4
4
  t as themeToggleAgent
@@ -1,4 +1,4 @@
1
- import { T as t, t as m } from "../../_chunks/timeline-jmd7lfDf.js";
1
+ import { T as t, t as m } from "../../_chunks/timeline-CR7HjZCK.js";
2
2
  export {
3
3
  t as Timeline,
4
4
  m as timelineAgent
@@ -1,4 +1,4 @@
1
- import { T as s, t as o, a as e, b as r, c as n, d as c, e as g } from "../../_chunks/toast.agent-32WNQ-_x.js";
1
+ import { T as s, t as o, a as e, b as r, c as n, d as c, e as g } from "../../_chunks/toast.agent-CTF6nIj5.js";
2
2
  export {
3
3
  s as Toaster,
4
4
  o as toastAgent,
@@ -1,4 +1,4 @@
1
- import { T as t, t as n } from "../../_chunks/transcript-panel-DUrjx5sa.js";
1
+ import { T as t, t as n } from "../../_chunks/transcript-panel-QUQ9XJmf.js";
2
2
  export {
3
3
  t as TranscriptPanel,
4
4
  n as transcriptPanelAgent
@@ -1,4 +1,4 @@
1
- import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-BR6txfFX.js";
1
+ import { C as r, W as e, a as s, b as d, c as w, i as t, l as f, m as l, r as i, w as k, d as n, e as A, f as C } from "../../_chunks/workflow-map-BKsKdYvZ.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -2,7 +2,7 @@ import { u as D } from "../_chunks/use-prefers-reduced-motion-BMwIQRjB.js";
2
2
  import { u as w, a as _ } from "../_chunks/use-scroll-to-first-error-BrK7dKB_.js";
3
3
  import { u as I } from "../_chunks/use-count-up-BLLetaZ8.js";
4
4
  import { u as K } from "../_chunks/use-locale-BkCIHujH.js";
5
- import { A as O, T as H, a as R, r as Y, t as q, u as B } from "../_chunks/use-theme-B1cwAXJR.js";
5
+ import { A as O, T as H, a as R, r as Y, t as q, u as B } from "../_chunks/use-theme-C2dHKUAN.js";
6
6
  import { u as P } from "../_chunks/use-controllable-state-BiY4xTzM.js";
7
7
  import { u as V } from "../_chunks/use-copy-to-clipboard-Cyfc_dlv.js";
8
8
  import { u as Q } from "../_chunks/use-debounced-callback-BisrB-Fq.js";