@alfadocs/ui-kit 0.31.8 → 0.32.1

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 (103) 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/{stat-CYEx8sIR.js → stat-EC2Papj7.js} +14 -14
  17. package/dist/_chunks/{timeline-BZC7qGdy.js → timeline-DQa5Tyz4.js} +2 -2
  18. package/dist/_chunks/{workflow-map-DfpjDZHK.js → workflow-map-uSiHbOWQ.js} +4 -4
  19. package/dist/agent-catalog.json +28 -28
  20. package/dist/components/agenda-card/index.js +1 -1
  21. package/dist/components/agenda-tray/index.js +1 -1
  22. package/dist/components/badge/index.js +1 -1
  23. package/dist/components/benefit-card/index.js +1 -1
  24. package/dist/components/booking/index.js +1 -1
  25. package/dist/components/card/index.js +1 -1
  26. package/dist/components/contact-card/index.js +1 -1
  27. package/dist/components/contact-profile-card/contact-profile-card.agent.d.ts +4 -0
  28. package/dist/components/{practice-profile-card/practice-profile-card.d.ts → contact-profile-card/contact-profile-card.d.ts} +9 -9
  29. package/dist/components/contact-profile-card/index.d.ts +4 -0
  30. package/dist/components/contact-profile-card/index.js +8 -0
  31. package/dist/components/data-table/index.js +1 -1
  32. package/dist/components/index.d.ts +1 -1
  33. package/dist/components/key-value-pair/index.js +1 -1
  34. package/dist/components/map-view/index.js +1 -1
  35. package/dist/components/map-view/map-view.d.ts +1 -1
  36. package/dist/components/operator-hero/index.js +1 -1
  37. package/dist/components/operator-hero/operator-hero.d.ts +1 -1
  38. package/dist/components/patient-search/index.js +1 -1
  39. package/dist/components/practice-results/index.js +1 -1
  40. package/dist/components/reviews-panel/index.js +1 -1
  41. package/dist/components/stat/index.js +1 -1
  42. package/dist/components/timeline/index.js +1 -1
  43. package/dist/components/workflow/index.js +1 -1
  44. package/dist/i18n/locales/ar.d.ts +1 -1
  45. package/dist/i18n/locales/ar.js +2 -2
  46. package/dist/i18n/locales/de.d.ts +1 -1
  47. package/dist/i18n/locales/de.js +2 -2
  48. package/dist/i18n/locales/el.d.ts +1 -1
  49. package/dist/i18n/locales/el.js +2 -2
  50. package/dist/i18n/locales/en.d.ts +1 -1
  51. package/dist/i18n/locales/en.js +2 -2
  52. package/dist/i18n/locales/es.d.ts +1 -1
  53. package/dist/i18n/locales/es.js +2 -2
  54. package/dist/i18n/locales/fr.d.ts +1 -1
  55. package/dist/i18n/locales/fr.js +2 -2
  56. package/dist/i18n/locales/hi.d.ts +1 -1
  57. package/dist/i18n/locales/hi.js +2 -2
  58. package/dist/i18n/locales/it.d.ts +1 -1
  59. package/dist/i18n/locales/it.js +2 -2
  60. package/dist/i18n/locales/ja.d.ts +1 -1
  61. package/dist/i18n/locales/ja.js +2 -2
  62. package/dist/i18n/locales/nl.d.ts +1 -1
  63. package/dist/i18n/locales/nl.js +2 -2
  64. package/dist/i18n/locales/pl.d.ts +1 -1
  65. package/dist/i18n/locales/pl.js +2 -2
  66. package/dist/i18n/locales/pt.d.ts +1 -1
  67. package/dist/i18n/locales/pt.js +2 -2
  68. package/dist/i18n/locales/ro.d.ts +1 -1
  69. package/dist/i18n/locales/ro.js +2 -2
  70. package/dist/i18n/locales/ru.d.ts +1 -1
  71. package/dist/i18n/locales/ru.js +2 -2
  72. package/dist/i18n/locales/sq.d.ts +1 -1
  73. package/dist/i18n/locales/sq.js +2 -2
  74. package/dist/i18n/locales/sv.d.ts +1 -1
  75. package/dist/i18n/locales/sv.js +2 -2
  76. package/dist/i18n/locales/tr.d.ts +1 -1
  77. package/dist/i18n/locales/tr.js +2 -2
  78. package/dist/i18n/locales/zh.d.ts +1 -1
  79. package/dist/i18n/locales/zh.js +2 -2
  80. package/dist/index.js +113 -113
  81. package/dist/locales/ar.json +1 -1
  82. package/dist/locales/de.json +1 -1
  83. package/dist/locales/el.json +1 -1
  84. package/dist/locales/en.json +1 -1
  85. package/dist/locales/es.json +1 -1
  86. package/dist/locales/fr.json +1 -1
  87. package/dist/locales/hi.json +1 -1
  88. package/dist/locales/it.json +1 -1
  89. package/dist/locales/ja.json +1 -1
  90. package/dist/locales/nl.json +1 -1
  91. package/dist/locales/pl.json +1 -1
  92. package/dist/locales/pt.json +1 -1
  93. package/dist/locales/ro.json +1 -1
  94. package/dist/locales/ru.json +1 -1
  95. package/dist/locales/sq.json +1 -1
  96. package/dist/locales/sv.json +1 -1
  97. package/dist/locales/tr.json +1 -1
  98. package/dist/locales/zh.json +1 -1
  99. package/dist/tokens.css +1 -1
  100. package/package.json +4 -4
  101. package/dist/components/practice-profile-card/index.d.ts +0 -4
  102. package/dist/components/practice-profile-card/index.js +0 -8
  103. 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 Q, useId as X, useCallback as L, useRef as Z, useMemo as
3
3
  import { c as V } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as U } from "react-i18next";
5
5
  import { u as et } from "./use-count-up-BLLetaZ8.js";
6
- const O = V("ds:flex ds:flex-col", {
6
+ const O = V("ds:flex ds:flex-col ds:h-full", {
7
7
  variants: {
8
8
  variant: {
9
9
  default: "ds:gap-[var(--spacing-xs)]",
@@ -108,13 +108,13 @@ function nt({
108
108
  deltaFormat: c = "decimal",
109
109
  locale: a
110
110
  }) {
111
- const { t: e, i18n: o } = U(), l = typeof t == "string" ? t : new Intl.NumberFormat(a ?? o.language, {
111
+ const { t: e, i18n: l } = U(), o = typeof t == "string" ? t : new Intl.NumberFormat(a ?? l.language, {
112
112
  style: c === "percent" ? "percent" : "decimal"
113
113
  }).format(c === "percent" ? t / 100 : t);
114
114
  return /* @__PURE__ */ z("span", { className: st({ trend: d }), children: [
115
115
  /* @__PURE__ */ i("span", { "aria-hidden": "true", children: rt[d] }),
116
116
  /* @__PURE__ */ i("span", { className: "ds:sr-only", children: e(at[d]) }),
117
- l
117
+ o
118
118
  ] });
119
119
  }
120
120
  function it(d, t) {
@@ -122,9 +122,9 @@ function it(d, t) {
122
122
  if (c === "") return null;
123
123
  let a = "", e = c;
124
124
  e.startsWith("+") ? (a = "+", e = e.slice(1).trimStart()) : (e.startsWith("-") || e.startsWith("−")) && (a = "-", e = e.slice(1).trimStart());
125
- let o = "";
126
- const l = e.match(/[KMB]$/i);
127
- l && (o = l[0], e = e.slice(0, -1).trimEnd());
125
+ let l = "";
126
+ const o = e.match(/[KMB]$/i);
127
+ o && (l = o[0], e = e.slice(0, -1).trimEnd());
128
128
  let m = "", u = ".";
129
129
  try {
130
130
  const b = new Intl.NumberFormat(t).formatToParts(12345.6);
@@ -136,12 +136,12 @@ function it(d, t) {
136
136
  if (g && !(g[2].length === 3 && m === ".")) {
137
137
  const n = Number.parseFloat(e);
138
138
  if (Number.isFinite(n))
139
- return { target: n, sign: a, suffix: o };
139
+ return { target: n, sign: a, suffix: l };
140
140
  }
141
141
  let s = e;
142
142
  m !== "" && (s = s.split(m).join("")), u !== "." && (s = s.split(u).join(".")), s = s.replace(/[\s\u00A0\u202F]/g, "");
143
143
  const v = Number.parseFloat(s);
144
- return Number.isFinite(v) ? { target: v, sign: a, suffix: o } : null;
144
+ return Number.isFinite(v) ? { target: v, sign: a, suffix: l } : null;
145
145
  }
146
146
  const dt = Q(
147
147
  ({
@@ -150,8 +150,8 @@ const dt = Q(
150
150
  format: c,
151
151
  currency: a,
152
152
  locale: e,
153
- trend: o,
154
- delta: l,
153
+ trend: l,
154
+ delta: o,
155
155
  deltaFormat: m = "decimal",
156
156
  icon: u,
157
157
  loading: g = !1,
@@ -296,11 +296,11 @@ const dt = Q(
296
296
  }
297
297
  )
298
298
  ) : /* @__PURE__ */ i("span", { className: P({ size: y, variant: x }), children: K }),
299
- o != null && l != null && /* @__PURE__ */ i(
299
+ l != null && o != null && /* @__PURE__ */ i(
300
300
  nt,
301
301
  {
302
- trend: o,
303
- delta: l,
302
+ trend: l,
303
+ delta: o,
304
304
  deltaFormat: m,
305
305
  locale: e
306
306
  }
@@ -314,4 +314,4 @@ dt.displayName = "Stat";
314
314
  export {
315
315
  dt as S
316
316
  };
317
- //# sourceMappingURL=stat-CYEx8sIR.js.map
317
+ //# sourceMappingURL=stat-EC2Papj7.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.1",
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