@alfadocs/ui-kit 0.31.8 → 0.32.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 (101) hide show
  1. package/dist/_chunks/{agenda-card-DtGlQde1.js → agenda-card-CFyWSX7Z.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-CXmlwt2K.js → agenda-tray-By_asPN9.js} +2 -2
  3. package/dist/_chunks/{badge-B9Cr6iEB.js → badge-zsf5i5bH.js} +9 -2
  4. package/dist/_chunks/{benefit-card-B86DH-PE.js → benefit-card-_Sc-MGha.js} +18 -8
  5. package/dist/_chunks/{booking-A4o9xI2n.js → booking-h_kBZM6M.js} +24 -26
  6. package/dist/_chunks/{card-CNri9ssR.js → card-DPmk26CL.js} +2 -2
  7. package/dist/_chunks/{contact-card-Dos7Tley.js → contact-card-Cf8Ktyt3.js} +2 -2
  8. package/dist/_chunks/{practice-profile-card-CfAMeTxQ.js → contact-profile-card-Ce-LIDU8.js} +128 -125
  9. package/dist/_chunks/{editable-currency-cell-renderer-YvTwkFrD.js → editable-currency-cell-renderer-B9VRSV_S.js} +2 -2
  10. package/dist/_chunks/{key-value-pair-CYE7NSpM.js → key-value-pair-CkQIb9EG.js} +42 -32
  11. package/dist/_chunks/{map-view-WEWqXzof.js → map-view-knHSNLoe.js} +140 -128
  12. package/dist/_chunks/{operator-hero-BsjE-kJF.js → operator-hero-7LiiP7zi.js} +4 -4
  13. package/dist/_chunks/{patient-search-CSDru7QW.js → patient-search-CBq62kmL.js} +2 -2
  14. package/dist/_chunks/{practice-results-CIkAdwRm.js → practice-results-Bw5fJTYF.js} +4 -4
  15. package/dist/_chunks/{reviews-panel-Cjys8G8K.js → reviews-panel-B-18RBSn.js} +39 -36
  16. package/dist/_chunks/{timeline-BZC7qGdy.js → timeline-DQa5Tyz4.js} +2 -2
  17. package/dist/_chunks/{workflow-map-DfpjDZHK.js → workflow-map-uSiHbOWQ.js} +4 -4
  18. package/dist/agent-catalog.json +28 -28
  19. package/dist/components/agenda-card/index.js +1 -1
  20. package/dist/components/agenda-tray/index.js +1 -1
  21. package/dist/components/badge/index.js +1 -1
  22. package/dist/components/benefit-card/index.js +1 -1
  23. package/dist/components/booking/index.js +1 -1
  24. package/dist/components/card/index.js +1 -1
  25. package/dist/components/contact-card/index.js +1 -1
  26. package/dist/components/contact-profile-card/contact-profile-card.agent.d.ts +4 -0
  27. package/dist/components/{practice-profile-card/practice-profile-card.d.ts → contact-profile-card/contact-profile-card.d.ts} +9 -9
  28. package/dist/components/contact-profile-card/index.d.ts +4 -0
  29. package/dist/components/contact-profile-card/index.js +8 -0
  30. package/dist/components/data-table/index.js +1 -1
  31. package/dist/components/index.d.ts +1 -1
  32. package/dist/components/key-value-pair/index.js +1 -1
  33. package/dist/components/map-view/index.js +1 -1
  34. package/dist/components/map-view/map-view.d.ts +1 -1
  35. package/dist/components/operator-hero/index.js +1 -1
  36. package/dist/components/operator-hero/operator-hero.d.ts +1 -1
  37. package/dist/components/patient-search/index.js +1 -1
  38. package/dist/components/practice-results/index.js +1 -1
  39. package/dist/components/reviews-panel/index.js +1 -1
  40. package/dist/components/timeline/index.js +1 -1
  41. package/dist/components/workflow/index.js +1 -1
  42. package/dist/i18n/locales/ar.d.ts +1 -1
  43. package/dist/i18n/locales/ar.js +2 -2
  44. package/dist/i18n/locales/de.d.ts +1 -1
  45. package/dist/i18n/locales/de.js +2 -2
  46. package/dist/i18n/locales/el.d.ts +1 -1
  47. package/dist/i18n/locales/el.js +2 -2
  48. package/dist/i18n/locales/en.d.ts +1 -1
  49. package/dist/i18n/locales/en.js +2 -2
  50. package/dist/i18n/locales/es.d.ts +1 -1
  51. package/dist/i18n/locales/es.js +2 -2
  52. package/dist/i18n/locales/fr.d.ts +1 -1
  53. package/dist/i18n/locales/fr.js +2 -2
  54. package/dist/i18n/locales/hi.d.ts +1 -1
  55. package/dist/i18n/locales/hi.js +2 -2
  56. package/dist/i18n/locales/it.d.ts +1 -1
  57. package/dist/i18n/locales/it.js +2 -2
  58. package/dist/i18n/locales/ja.d.ts +1 -1
  59. package/dist/i18n/locales/ja.js +2 -2
  60. package/dist/i18n/locales/nl.d.ts +1 -1
  61. package/dist/i18n/locales/nl.js +2 -2
  62. package/dist/i18n/locales/pl.d.ts +1 -1
  63. package/dist/i18n/locales/pl.js +2 -2
  64. package/dist/i18n/locales/pt.d.ts +1 -1
  65. package/dist/i18n/locales/pt.js +2 -2
  66. package/dist/i18n/locales/ro.d.ts +1 -1
  67. package/dist/i18n/locales/ro.js +2 -2
  68. package/dist/i18n/locales/ru.d.ts +1 -1
  69. package/dist/i18n/locales/ru.js +2 -2
  70. package/dist/i18n/locales/sq.d.ts +1 -1
  71. package/dist/i18n/locales/sq.js +2 -2
  72. package/dist/i18n/locales/sv.d.ts +1 -1
  73. package/dist/i18n/locales/sv.js +2 -2
  74. package/dist/i18n/locales/tr.d.ts +1 -1
  75. package/dist/i18n/locales/tr.js +2 -2
  76. package/dist/i18n/locales/zh.d.ts +1 -1
  77. package/dist/i18n/locales/zh.js +2 -2
  78. package/dist/index.js +112 -112
  79. package/dist/locales/ar.json +1 -1
  80. package/dist/locales/de.json +1 -1
  81. package/dist/locales/el.json +1 -1
  82. package/dist/locales/en.json +1 -1
  83. package/dist/locales/es.json +1 -1
  84. package/dist/locales/fr.json +1 -1
  85. package/dist/locales/hi.json +1 -1
  86. package/dist/locales/it.json +1 -1
  87. package/dist/locales/ja.json +1 -1
  88. package/dist/locales/nl.json +1 -1
  89. package/dist/locales/pl.json +1 -1
  90. package/dist/locales/pt.json +1 -1
  91. package/dist/locales/ro.json +1 -1
  92. package/dist/locales/ru.json +1 -1
  93. package/dist/locales/sq.json +1 -1
  94. package/dist/locales/sv.json +1 -1
  95. package/dist/locales/tr.json +1 -1
  96. package/dist/locales/zh.json +1 -1
  97. package/dist/tokens.css +1 -1
  98. package/package.json +4 -4
  99. package/dist/components/practice-profile-card/index.d.ts +0 -4
  100. package/dist/components/practice-profile-card/index.js +0 -8
  101. package/dist/components/practice-profile-card/practice-profile-card.agent.d.ts +0 -4
@@ -3,8 +3,8 @@ import { forwardRef as k, useId as A } from "react";
3
3
  import { c as O } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as C } from "react-i18next";
5
5
  import { A as L } from "./avatar-BNQNhoyL.js";
6
- import { B as R } from "./badge-B9Cr6iEB.js";
7
- import { C as j } from "./card-CNri9ssR.js";
6
+ import { B as R } from "./badge-zsf5i5bH.js";
7
+ import { C as j } from "./card-DPmk26CL.js";
8
8
  import { R as z } from "./rating-BRD7O74e.js";
9
9
  import { u as I } from "./registry-nPAVE19X.js";
10
10
  const B = {
@@ -42,7 +42,7 @@ const B = {
42
42
  compact: ""
43
43
  },
44
44
  // Matches the kit's other `surface` props (Booking, ReviewsPanel,
45
- // PracticeProfileCard). `'elevated'` wraps in `<Card>`.
45
+ // ContactProfileCard). `'elevated'` wraps in `<Card>`.
46
46
  surface: {
47
47
  flat: "",
48
48
  elevated: ""
@@ -168,4 +168,4 @@ export {
168
168
  P as O,
169
169
  B as o
170
170
  };
171
- //# sourceMappingURL=operator-hero-BsjE-kJF.js.map
171
+ //# sourceMappingURL=operator-hero-7LiiP7zi.js.map
@@ -4,7 +4,7 @@ import { c as T } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as j } from "react-i18next";
5
5
  import { A as se } from "./autocomplete-DIgdhCGJ.js";
6
6
  import { B as ue } from "./button-DD_0Xdmr.js";
7
- import { C as M } from "./card-CNri9ssR.js";
7
+ import { C as M } from "./card-DPmk26CL.js";
8
8
  import { S as fe } from "./slider-BHWzXdjt.js";
9
9
  import { A as Z } from "./alert-ywPR59NE.js";
10
10
  import { D as F } from "./dropdown-menu-BC5ZdOMo.js";
@@ -1155,4 +1155,4 @@ export {
1155
1155
  Oe as P,
1156
1156
  ye as p
1157
1157
  };
1158
- //# sourceMappingURL=patient-search-CSDru7QW.js.map
1158
+ //# sourceMappingURL=patient-search-CBq62kmL.js.map
@@ -7,12 +7,12 @@ import { A as Re } from "./avatar-BNQNhoyL.js";
7
7
  import { B as G } from "./button-DD_0Xdmr.js";
8
8
  import { D as $ } from "./dropdown-menu-BC5ZdOMo.js";
9
9
  import { E as Ze } from "./empty-state-BLy7tigq.js";
10
- import { M as Qe } from "./map-view-WEWqXzof.js";
10
+ import { M as Qe } from "./map-view-knHSNLoe.js";
11
11
  import { R as we } from "./rating-BRD7O74e.js";
12
12
  import { S as z } from "./sheet-BV-yuLE2.js";
13
13
  import { S as Je } from "./skeleton-CZbwyJAA.js";
14
14
  import { S as We } from "./spinner-CCByyvcb.js";
15
- import { B as H } from "./badge-B9Cr6iEB.js";
15
+ import { B as H } from "./badge-zsf5i5bH.js";
16
16
  import { u as Xe } from "./use-media-query-CcAx5SMM.js";
17
17
  import { u as Ye } from "./registry-nPAVE19X.js";
18
18
  import { c as et } from "./createLucideIcon-CrFbzy84.js";
@@ -929,7 +929,7 @@ function de({
929
929
  l != null && (d(l), u(l), s(l));
930
930
  },
931
931
  ariaLabel: f("practiceResults.map.label"),
932
- size: "lg",
932
+ size: "fill",
933
933
  surface: "bordered",
934
934
  className: "ds:size-full"
935
935
  }
@@ -1556,4 +1556,4 @@ export {
1556
1556
  wt as P,
1557
1557
  st as p
1558
1558
  };
1559
- //# sourceMappingURL=practice-results-CIkAdwRm.js.map
1559
+ //# sourceMappingURL=practice-results-Bw5fJTYF.js.map
@@ -1,10 +1,10 @@
1
1
  import { jsx as s, jsxs as t } from "react/jsx-runtime";
2
- import { forwardRef as G, useState as _, useCallback as L, useMemo as C, useRef as V, useImperativeHandle as J, useId as B, useEffect as Q } from "react";
2
+ import { forwardRef as G, useState as E, useCallback as L, useMemo as C, useRef as V, useImperativeHandle as J, useId as B, useEffect as Q } from "react";
3
3
  import { c as K } from "./index-D2ZczOXr.js";
4
- import { useTranslation as E } from "react-i18next";
4
+ import { useTranslation as H } from "react-i18next";
5
5
  import { u as W } from "./registry-nPAVE19X.js";
6
6
  import { R as N } from "./rating-BRD7O74e.js";
7
- import { C as A } from "./card-CNri9ssR.js";
7
+ import { C as A } from "./card-DPmk26CL.js";
8
8
  import { C as X, b as Y, a as Z } from "./collapsible-CERONory.js";
9
9
  import { D as l } from "./description-list-BEbK2g93.js";
10
10
  import { E as ee } from "./empty-state-BLy7tigq.js";
@@ -105,7 +105,7 @@ function ie({
105
105
  totalCount: n,
106
106
  onChange: c
107
107
  }) {
108
- const { t: h } = E(), w = B(), [k, d] = _(
108
+ const { t: h } = H(), w = B(), [k, d] = E(
109
109
  () => Math.max(0, x.indexOf(e))
110
110
  );
111
111
  Q(() => {
@@ -167,7 +167,7 @@ function ie({
167
167
  "aria-labelledby": w,
168
168
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]",
169
169
  children: x.map((r, o) => {
170
- const a = r === "all", y = a ? 0 : r, v = a ? n : i[y], S = r === e, F = k === o, u = a ? h("reviewsPanel.filter.allLabel", { count: v }) : h("reviewsPanel.filter.starsLabel", { stars: y, count: v });
170
+ const a = r === "all", y = a ? 0 : r, v = a ? n : i[y], S = r === e, j = k === o, u = a ? h("reviewsPanel.filter.allLabel", { count: v }) : h("reviewsPanel.filter.starsLabel", { stars: y, count: v });
171
171
  return /* @__PURE__ */ t(
172
172
  "button",
173
173
  {
@@ -178,7 +178,7 @@ function ie({
178
178
  role: "radio",
179
179
  "aria-checked": S,
180
180
  "aria-label": u,
181
- tabIndex: F ? 0 : -1,
181
+ tabIndex: j ? 0 : -1,
182
182
  onClick: () => {
183
183
  d(o), c(r);
184
184
  },
@@ -201,7 +201,18 @@ function ie({
201
201
  "span",
202
202
  {
203
203
  "aria-hidden": "true",
204
- className: "type-meta ds:text-[var(--muted-foreground)]",
204
+ className: [
205
+ "type-meta",
206
+ // Idle row: count is dimmed (--muted-foreground over
207
+ // --background ≈ 4.5:1, AA passes). Selected row
208
+ // paints violet bg + white text on the BUTTON, but
209
+ // the count's own explicit color override would
210
+ // otherwise win the cascade and leave dark navy-grey
211
+ // text on the violet pill (~3:1, AA-fail). Match the
212
+ // row's foreground when selected; slight opacity
213
+ // keeps the count secondary to the label.
214
+ S ? "ds:text-[color:var(--primary-foreground)] ds:opacity-90" : "ds:text-[var(--muted-foreground)]"
215
+ ].join(" "),
205
216
  children: v
206
217
  }
207
218
  )
@@ -216,7 +227,7 @@ function ie({
216
227
  }
217
228
  function le({ review: e, locale: i }) {
218
229
  var r, o, a, y;
219
- const { t: n } = E(), c = B(), h = B(), [w, k] = _(!1), d = !!(e.breakdown && Object.values(e.breakdown).some((v) => v != null)), m = !!e.reply || d || !!e.futureVisit || !!e.recommendation, f = C(() => {
230
+ const { t: n } = H(), c = B(), h = B(), [w, k] = E(!1), d = !!(e.breakdown && Object.values(e.breakdown).some((v) => v != null)), m = !!e.reply || d || !!e.futureVisit || !!e.recommendation, f = C(() => {
220
231
  if (!e.authoredAt) return "";
221
232
  try {
222
233
  const v = new Date(e.authoredAt);
@@ -368,39 +379,39 @@ const z = K(
368
379
  loading: P = !1,
369
380
  ...r
370
381
  }, o) => {
371
- const { t: a, i18n: y } = E(), v = y.language ?? "en", [S, F] = _("all"), u = n ?? S, b = L(
382
+ const { t: a, i18n: y } = H(), v = y.language ?? "en", [S, j] = E("all"), u = n ?? S, b = L(
372
383
  (g) => {
373
- n === void 0 && F(g), c == null || c(g);
384
+ n === void 0 && j(g), c == null || c(g);
374
385
  },
375
386
  [n, c]
376
387
  ), U = C(
377
388
  () => i.histogram ?? te(e),
378
389
  [i.histogram, e]
379
- ), R = C(() => u === "all" ? e : e.filter((g) => $(g.overallScore) === u), [e, u]), H = V(u);
380
- H.current = u;
381
- const M = V(R.length);
382
- M.current = R.length;
390
+ ), R = C(() => u === "all" ? e : e.filter((g) => $(g.overallScore) === u), [e, u]), M = V(u);
391
+ M.current = u;
392
+ const O = V(R.length);
393
+ O.current = R.length;
383
394
  const q = C(
384
395
  () => ({
385
- getFilter: () => H.current,
396
+ getFilter: () => M.current,
386
397
  setFilter: (g) => b(g),
387
- getVisibleCount: () => M.current
398
+ getVisibleCount: () => O.current
388
399
  }),
389
400
  [b]
390
401
  ), D = V(null);
391
402
  J(o, () => D.current, []), W(re, q, d);
392
- const I = k ?? a("reviewsPanel.regionLabel"), j = String(u);
403
+ const F = k ?? a("reviewsPanel.regionLabel"), I = String(u);
393
404
  if (P)
394
405
  return /* @__PURE__ */ s(
395
406
  "section",
396
407
  {
397
408
  ref: D,
398
- "aria-label": I,
409
+ "aria-label": F,
399
410
  "aria-busy": "true",
400
411
  id: d,
401
412
  "data-component": "reviews-panel",
402
413
  "data-component-id": d,
403
- "data-filter": j,
414
+ "data-filter": I,
404
415
  "data-state": "loading",
405
416
  className: z({ surface: p, className: m }),
406
417
  ...r,
@@ -412,11 +423,11 @@ const z = K(
412
423
  "section",
413
424
  {
414
425
  ref: D,
415
- "aria-label": I,
426
+ "aria-label": F,
416
427
  id: d,
417
428
  "data-component": "reviews-panel",
418
429
  "data-component-id": d,
419
- "data-filter": j,
430
+ "data-filter": I,
420
431
  "data-state": "empty",
421
432
  className: z({ surface: p, className: m }),
422
433
  ...r,
@@ -430,16 +441,16 @@ const z = K(
430
441
  )
431
442
  }
432
443
  );
433
- const O = !f;
444
+ const _ = !f;
434
445
  return /* @__PURE__ */ t(
435
446
  "section",
436
447
  {
437
448
  ref: D,
438
- "aria-label": I,
449
+ "aria-label": F,
439
450
  id: d,
440
451
  "data-component": "reviews-panel",
441
452
  "data-component-id": d,
442
- "data-filter": j,
453
+ "data-filter": I,
443
454
  className: z({ surface: p, className: m }),
444
455
  ...r,
445
456
  children: [
@@ -460,9 +471,9 @@ const z = K(
460
471
  /* @__PURE__ */ t(
461
472
  "div",
462
473
  {
463
- className: O ? "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:md:grid-cols-[minmax(0,30%)_minmax(0,1fr)]" : "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
474
+ className: _ ? "ds:grid ds:grid-cols-1 ds:gap-[var(--spacing-md)] ds:md:grid-cols-[minmax(0,30%)_minmax(0,1fr)]" : "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]",
464
475
  children: [
465
- O ? /* @__PURE__ */ s(
476
+ _ ? /* @__PURE__ */ s(
466
477
  ie,
467
478
  {
468
479
  filter: u,
@@ -472,15 +483,7 @@ const z = K(
472
483
  }
473
484
  ) : null,
474
485
  /* @__PURE__ */ t("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)] ds:min-w-0", children: [
475
- h ? (
476
- // Plain div, not <aside>: axe's
477
- // `landmark-complementary-is-top-level` rule fires when an
478
- // `<aside>` lands inside another landmark (this panel's
479
- // <section role="region">), and the consumer's introSlot
480
- // already supplies its own semantics (e.g. an Alert with
481
- // role="status").
482
- /* @__PURE__ */ s("div", { className: "ds:rounded-[var(--radius-md)] ds:bg-[color-mix(in_srgb,var(--info)_8%,transparent)] ds:ps-[var(--spacing-md)] ds:pe-[var(--spacing-md)] ds:pt-[var(--spacing-md)] ds:pb-[var(--spacing-md)]", children: h })
483
- ) : null,
486
+ h || null,
484
487
  R.length === 0 ? (
485
488
  // `role="status"` already implies `aria-live="polite"` —
486
489
  // declaring both would queue two announcements when the
@@ -530,4 +533,4 @@ export {
530
533
  oe as R,
531
534
  re as r
532
535
  };
533
- //# sourceMappingURL=reviews-panel-Cjys8G8K.js.map
536
+ //# sourceMappingURL=reviews-panel-B-18RBSn.js.map
@@ -3,7 +3,7 @@ import { forwardRef as m, useMemo as p, useRef as w, useState as V, useCallback
3
3
  import { c as b } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as A } from "react-i18next";
5
5
  import { A as P } from "./avatar-BNQNhoyL.js";
6
- import { C as N } from "./card-CNri9ssR.js";
6
+ import { C as N } from "./card-DPmk26CL.js";
7
7
  import { T as B } from "./timestamp-BV2lC-wV.js";
8
8
  import { u as H } from "./registry-nPAVE19X.js";
9
9
  import { C as q } from "./circle-BkqTgYmt.js";
@@ -283,4 +283,4 @@ export {
283
283
  le as T,
284
284
  K as t
285
285
  };
286
- //# sourceMappingURL=timeline-BZC7qGdy.js.map
286
+ //# sourceMappingURL=timeline-DQa5Tyz4.js.map
@@ -2,9 +2,9 @@ import { jsx as t, jsxs as u, Fragment as ve } from "react/jsx-runtime";
2
2
  import { forwardRef as O, useMemo as W, useRef as j, useCallback as $, useState as ge, useImperativeHandle as ke, useEffect as ye } from "react";
3
3
  import { c as L } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as z } from "react-i18next";
5
- import { C } from "./card-CNri9ssR.js";
6
- import { B as be } from "./badge-B9Cr6iEB.js";
7
- import { a as Z } from "./key-value-pair-CYE7NSpM.js";
5
+ import { C } from "./card-DPmk26CL.js";
6
+ import { B as be } from "./badge-zsf5i5bH.js";
7
+ import { a as Z } from "./key-value-pair-CkQIb9EG.js";
8
8
  import { T as xe } from "./timestamp-BV2lC-wV.js";
9
9
  import { I as S } from "./icon-button-CKEOrN37.js";
10
10
  import { c as _ } from "./createLucideIcon-CrFbzy84.js";
@@ -1398,4 +1398,4 @@ export {
1398
1398
  ee as r,
1399
1399
  D as w
1400
1400
  };
1401
- //# sourceMappingURL=workflow-map-DfpjDZHK.js.map
1401
+ //# sourceMappingURL=workflow-map-uSiHbOWQ.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.31.8",
3
+ "packageVersion": "0.32.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1078,6 +1078,33 @@
1078
1078
  }
1079
1079
  }
1080
1080
  },
1081
+ {
1082
+ "kind": "component",
1083
+ "id": "contact-profile-card",
1084
+ "capabilities": [
1085
+ "view_change"
1086
+ ],
1087
+ "state": [
1088
+ {
1089
+ "name": "profession",
1090
+ "type": "string",
1091
+ "description": "Profession string the card is currently rendering — undefined when the consumer omitted it."
1092
+ }
1093
+ ],
1094
+ "actions": [],
1095
+ "domHooks": {
1096
+ "root": {
1097
+ "attr": "data-component",
1098
+ "value": "contact-profile-card",
1099
+ "description": "Marks the ContactProfileCard root region."
1100
+ },
1101
+ "instanceId": {
1102
+ "attr": "data-component-id",
1103
+ "sourceProp": "id",
1104
+ "description": "Sourced from the id prop."
1105
+ }
1106
+ }
1107
+ },
1081
1108
  {
1082
1109
  "kind": "component",
1083
1110
  "id": "copy-field",
@@ -2664,33 +2691,6 @@
2664
2691
  }
2665
2692
  }
2666
2693
  },
2667
- {
2668
- "kind": "component",
2669
- "id": "practice-profile-card",
2670
- "capabilities": [
2671
- "view_change"
2672
- ],
2673
- "state": [
2674
- {
2675
- "name": "profession",
2676
- "type": "string",
2677
- "description": "Profession string the card is currently rendering — undefined when the consumer omitted it."
2678
- }
2679
- ],
2680
- "actions": [],
2681
- "domHooks": {
2682
- "root": {
2683
- "attr": "data-component",
2684
- "value": "practice-profile-card",
2685
- "description": "Marks the PracticeProfileCard root region."
2686
- },
2687
- "instanceId": {
2688
- "attr": "data-component-id",
2689
- "sourceProp": "id",
2690
- "description": "Sourced from the id prop."
2691
- }
2692
- }
2693
- },
2694
2694
  {
2695
2695
  "kind": "component",
2696
2696
  "id": "practice-results",
@@ -1,4 +1,4 @@
1
- import { A as r, i as d } from "../../_chunks/agenda-card-DtGlQde1.js";
1
+ import { A as r, i as d } from "../../_chunks/agenda-card-CFyWSX7Z.js";
2
2
  import { a as n } from "../../_chunks/agenda-card.agent-B_R47-c9.js";
3
3
  export {
4
4
  r as AgendaCard,
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-CXmlwt2K.js";
1
+ import { A as r, a as g } from "../../_chunks/agenda-tray-By_asPN9.js";
2
2
  export {
3
3
  r as AgendaTray,
4
4
  g as agendaTrayAgent
@@ -1,4 +1,4 @@
1
- import { B as o } from "../../_chunks/badge-B9Cr6iEB.js";
1
+ import { B as o } from "../../_chunks/badge-zsf5i5bH.js";
2
2
  export {
3
3
  o as Badge
4
4
  };
@@ -1,4 +1,4 @@
1
- import { B as a } from "../../_chunks/benefit-card-B86DH-PE.js";
1
+ import { B as a } from "../../_chunks/benefit-card-_Sc-MGha.js";
2
2
  export {
3
3
  a as BenefitCard
4
4
  };
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-A4o9xI2n.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-h_kBZM6M.js";
2
2
  export {
3
3
  A as Booking,
4
4
  R as CONFIRMATION_CHANNEL_ORDER,
@@ -1,4 +1,4 @@
1
- import { C as o } from "../../_chunks/card-CNri9ssR.js";
1
+ import { C as o } from "../../_chunks/card-DPmk26CL.js";
2
2
  export {
3
3
  o as Card
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as r } from "../../_chunks/contact-card-Dos7Tley.js";
1
+ import { C as r } from "../../_chunks/contact-card-Cf8Ktyt3.js";
2
2
  export {
3
3
  r as ContactCard
4
4
  };
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ import type { ContactProfileCardHandle } from './contact-profile-card';
3
+ export declare const contactProfileCardAgent: AgentAdapter<ContactProfileCardHandle>;
4
+ //# sourceMappingURL=contact-profile-card.agent.d.ts.map
@@ -4,18 +4,18 @@ import { ExternalLink, type LucideIcon } from 'lucide-react';
4
4
  declare const rootVariants: (props?: ({
5
5
  surface?: "flat" | "elevated" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
- export interface PracticeProfileCardAddress {
7
+ export interface ContactProfileCardAddress {
8
8
  /** Display text — already formatted by the consumer (street, postcode, city). */
9
9
  line: string;
10
10
  /** Optional lat/lng — drives the static-map link + the embedded thumbnail. */
11
11
  lat?: number;
12
12
  lng?: number;
13
13
  }
14
- export interface PracticeProfileCardHandle {
14
+ export interface ContactProfileCardHandle {
15
15
  /** Resolved consumer-supplied data — useful for agent introspection. */
16
16
  getProfession: () => string | undefined;
17
17
  }
18
- export interface PracticeProfileCardProps extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label' | 'children' | 'children'> {
18
+ export interface ContactProfileCardProps extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label' | 'children' | 'children'> {
19
19
  /**
20
20
  * Override the localised "Profilo" / "Profile" heading. Most
21
21
  * consumers leave this unset.
@@ -28,7 +28,7 @@ export interface PracticeProfileCardProps extends Omit<ComponentPropsWithoutRef<
28
28
  */
29
29
  description?: string;
30
30
  /** Street + postcode + city, with optional lat/lng for the map link. */
31
- address?: PracticeProfileCardAddress;
31
+ address?: ContactProfileCardAddress;
32
32
  /** Phone number, displayed as-is. Compiled into a `tel:` link. */
33
33
  phone?: string;
34
34
  /**
@@ -140,9 +140,9 @@ export interface PracticeProfileCardProps extends Omit<ComponentPropsWithoutRef<
140
140
  /** Agent-readiness consumer id, surfaced as `data-component-id`. */
141
141
  id?: string;
142
142
  }
143
- export declare const PracticeProfileCard: import("react").ForwardRefExoticComponent<PracticeProfileCardProps & import("react").RefAttributes<HTMLDivElement>>;
144
- export declare const PRACTICE_PROFILE_CARD_ROW_KEYS: readonly ["address", "phone", "whatsapp", "email", "website", "languages", "insurances", "firstVisitPrice", "expertForAnxiousPatients", "profession"];
145
- export declare const PRACTICE_PROFILE_CARD_ROW_ICONS: Record<(typeof PRACTICE_PROFILE_CARD_ROW_KEYS)[number], LucideIcon>;
146
- export type PracticeProfileCardSurface = NonNullable<VariantProps<typeof rootVariants>['surface']>;
143
+ export declare const ContactProfileCard: import("react").ForwardRefExoticComponent<ContactProfileCardProps & import("react").RefAttributes<HTMLDivElement>>;
144
+ export declare const CONTACT_PROFILE_CARD_ROW_KEYS: readonly ["address", "phone", "whatsapp", "email", "website", "languages", "insurances", "firstVisitPrice", "expertForAnxiousPatients", "profession"];
145
+ export declare const CONTACT_PROFILE_CARD_ROW_ICONS: Record<(typeof CONTACT_PROFILE_CARD_ROW_KEYS)[number], LucideIcon>;
146
+ export type ContactProfileCardSurface = NonNullable<VariantProps<typeof rootVariants>['surface']>;
147
147
  export { ExternalLink };
148
- //# sourceMappingURL=practice-profile-card.d.ts.map
148
+ //# sourceMappingURL=contact-profile-card.d.ts.map
@@ -0,0 +1,4 @@
1
+ export { ContactProfileCard, CONTACT_PROFILE_CARD_ROW_KEYS, CONTACT_PROFILE_CARD_ROW_ICONS, } from './contact-profile-card';
2
+ export type { ContactProfileCardProps, ContactProfileCardAddress, ContactProfileCardHandle, ContactProfileCardSurface, } from './contact-profile-card';
3
+ export { contactProfileCardAgent } from './contact-profile-card.agent';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,8 @@
1
+ import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-Ce-LIDU8.js";
2
+ export {
3
+ _ as CONTACT_PROFILE_CARD_ROW_ICONS,
4
+ O as CONTACT_PROFILE_CARD_ROW_KEYS,
5
+ o as ContactProfileCard,
6
+ r as contactProfileCardAgent
7
+ };
8
+ //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { A as l, B as r, C as t, a as s, D as n, b as d, c as i, d as o, E as C, e as R, I as F, L as g, N as T, f as b, S as u, g as c, h as D, T as m, i as p, j as x, k as f, l as y, m as E, n as S, o as h, U as A, p as L, q as N, u as k } from "../../_chunks/editable-currency-cell-renderer-YvTwkFrD.js";
1
+ import { A as l, B as r, C as t, a as s, D as n, b as d, c as i, d as o, E as C, e as R, I as F, L as g, N as T, f as b, S as u, g as c, h as D, T as m, i as p, j as x, k as f, l as y, m as E, n as S, o as h, U as A, p as L, q as N, u as k } from "../../_chunks/editable-currency-cell-renderer-B9VRSV_S.js";
2
2
  export {
3
3
  l as ActionsCellRenderer,
4
4
  r as BalanceCellRenderer,
@@ -119,7 +119,7 @@ export * from './booking';
119
119
  export * from './calendar';
120
120
  export * from './operator-hero';
121
121
  export * from './patient-search';
122
- export * from './practice-profile-card';
122
+ export * from './contact-profile-card';
123
123
  export * from './practice-results';
124
124
  export * from './payment-form';
125
125
  export * from './pdf-viewer';
@@ -1,4 +1,4 @@
1
- import { K as r, a as s } from "../../_chunks/key-value-pair-CYE7NSpM.js";
1
+ import { K as r, a as s } from "../../_chunks/key-value-pair-CkQIb9EG.js";
2
2
  export {
3
3
  r as KeyValueList,
4
4
  s as KeyValuePair
@@ -1,4 +1,4 @@
1
- import { M as o } from "../../_chunks/map-view-WEWqXzof.js";
1
+ import { M as o } from "../../_chunks/map-view-knHSNLoe.js";
2
2
  export {
3
3
  o as MapView
4
4
  };
@@ -88,7 +88,7 @@ export interface MapViewProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onCl
88
88
  ariaLabel?: string;
89
89
  }
90
90
  declare const mapViewVariants: (props?: ({
91
- size?: "sm" | "md" | "lg" | null | undefined;
91
+ size?: "fill" | "sm" | "md" | "lg" | null | undefined;
92
92
  surface?: "elevated" | "bordered" | "bare" | null | undefined;
93
93
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
94
94
  export declare const MapView: import("react").ForwardRefExoticComponent<MapViewProps & import("react").RefAttributes<MapViewHandle>>;
@@ -1,4 +1,4 @@
1
- import { O as e, o as a } from "../../_chunks/operator-hero-BsjE-kJF.js";
1
+ import { O as e, o as a } from "../../_chunks/operator-hero-7LiiP7zi.js";
2
2
  export {
3
3
  e as OperatorHero,
4
4
  a as operatorHeroAgent
@@ -35,7 +35,7 @@ export interface OperatorHeroProps extends Omit<ComponentPropsWithoutRef<'div'>,
35
35
  rating?: OperatorHeroRating;
36
36
  /**
37
37
  * Optional badge row beneath the rating. Use sparingly — 1–3 chips
38
- * suit the hero's density; longer lists belong in `<PracticeProfileCard>`.
38
+ * suit the hero's density; longer lists belong in `<ContactProfileCard>`.
39
39
  */
40
40
  badges?: OperatorHeroBadge[];
41
41
  /**
@@ -1,4 +1,4 @@
1
- import { P as t, p as r } from "../../_chunks/patient-search-CSDru7QW.js";
1
+ import { P as t, p as r } from "../../_chunks/patient-search-CBq62kmL.js";
2
2
  export {
3
3
  t as PatientSearch,
4
4
  r as patientSearchAgent
@@ -1,4 +1,4 @@
1
- import { P as t, p as a } from "../../_chunks/practice-results-CIkAdwRm.js";
1
+ import { P as t, p as a } from "../../_chunks/practice-results-Bw5fJTYF.js";
2
2
  export {
3
3
  t as PracticeResults,
4
4
  a as practiceResultsAgent
@@ -1,4 +1,4 @@
1
- import { R as r, r as s } from "../../_chunks/reviews-panel-Cjys8G8K.js";
1
+ import { R as r, r as s } from "../../_chunks/reviews-panel-B-18RBSn.js";
2
2
  export {
3
3
  r as ReviewsPanel,
4
4
  s as reviewsPanelAgent
@@ -1,4 +1,4 @@
1
- import { T as t, t as m } from "../../_chunks/timeline-BZC7qGdy.js";
1
+ import { T as t, t as m } from "../../_chunks/timeline-DQa5Tyz4.js";
2
2
  export {
3
3
  t as Timeline,
4
4
  m as timelineAgent
@@ -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-DfpjDZHK.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-uSiHbOWQ.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -1188,7 +1188,7 @@ export declare const arUi: {
1188
1188
  };
1189
1189
  };
1190
1190
  };
1191
- readonly practiceProfileCard: {
1191
+ readonly contactProfileCard: {
1192
1192
  readonly heading: "Profile";
1193
1193
  readonly openInGoogleMaps: "Open in Google Maps";
1194
1194
  readonly label: {
@@ -1171,7 +1171,7 @@ const e = {
1171
1171
  }
1172
1172
  }
1173
1173
  },
1174
- practiceProfileCard: {
1174
+ contactProfileCard: {
1175
1175
  heading: "Profile",
1176
1176
  openInGoogleMaps: "Open in Google Maps",
1177
1177
  label: {
@@ -1602,7 +1602,7 @@ const e = {
1602
1602
  }
1603
1603
  },
1604
1604
  /* Language display names — keyed by ISO 639-1 code. Used by
1605
- PracticeProfileCard / PatientSearch / PracticeResults to
1605
+ ContactProfileCard / PatientSearch / PracticeResults to
1606
1606
  auto-resolve a consumer-passed languages={['it','en',...]}
1607
1607
  array into native-language labels for the active locale. */
1608
1608
  languages: {
@@ -1188,7 +1188,7 @@ export declare const deUi: {
1188
1188
  };
1189
1189
  };
1190
1190
  };
1191
- readonly practiceProfileCard: {
1191
+ readonly contactProfileCard: {
1192
1192
  readonly heading: "Profile";
1193
1193
  readonly openInGoogleMaps: "Open in Google Maps";
1194
1194
  readonly label: {