@alfadocs/ui-kit 1.40.0 → 1.41.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 (101) hide show
  1. package/dist/_chunks/arrow-left-BfaGqVam.js +15 -0
  2. package/dist/_chunks/{calendar-workspace-SN23GsXX.js → calendar-workspace-Bx8xxvic.js} +18 -17
  3. package/dist/_chunks/{contact-profile-card-Zt6WNg1u.js → contact-profile-card-C0WpwpVV.js} +38 -33
  4. package/dist/_chunks/editor-overlay-DwNKaI22.js +93 -0
  5. package/dist/_chunks/format-price-DAbh61Lz.js +51 -0
  6. package/dist/_chunks/help-me-write-templates-B-m7zgJa.js +775 -0
  7. package/dist/_chunks/{marketplace-app-shell-d2EtcUbe.js → marketplace-app-shell-D_g9BaDI.js} +2 -2
  8. package/dist/_chunks/{money-BY-HmKhZ.js → money-BXLBIRVO.js} +2 -2
  9. package/dist/_chunks/{notes-panel-CmTqIWlS.js → notes-panel-Daq5T_cS.js} +2 -2
  10. package/dist/_chunks/{panel-subview-Cc2Wtt7D.js → panel-subview-PMBRPFOa.js} +49 -59
  11. package/dist/_chunks/{practice-results-D_jjzwgf.js → practice-results-D11Zpt27.js} +50 -45
  12. package/dist/_chunks/rich-text-editor-DUMeifwc.js +3176 -0
  13. package/dist/_chunks/{sidebar-C-Gr2LL-.js → sidebar-ClTY9lLI.js} +160 -169
  14. package/dist/_chunks/{treatment-receipt-dUm99mdn.js → treatment-receipt-DU0OewqH.js} +2 -2
  15. package/dist/_chunks/trending-up-C_luYBzS.js +15 -0
  16. package/dist/_chunks/wand-sparkles-DAjKyhz7.js +27 -0
  17. package/dist/agent-catalog.json +87 -1
  18. package/dist/agent-i18n/en.json +7 -0
  19. package/dist/components/_shared/format-price.d.ts +6 -0
  20. package/dist/components/_shared/index.d.ts +1 -1
  21. package/dist/components/contact-profile-card/contact-profile-card.d.ts +2 -2
  22. package/dist/components/contact-profile-card/index.js +1 -1
  23. package/dist/components/editor-overlay/index.js +1 -1
  24. package/dist/components/index.d.ts +1 -0
  25. package/dist/components/money/index.js +1 -1
  26. package/dist/components/notes-panel/index.js +1 -1
  27. package/dist/components/panel-subview/index.js +1 -1
  28. package/dist/components/practice-results/index.js +1 -1
  29. package/dist/components/practice-results/practice-results.d.ts +2 -1
  30. package/dist/components/rich-text-editor/editor-toolbar.d.ts +6 -1
  31. package/dist/components/rich-text-editor/index.d.ts +1 -1
  32. package/dist/components/rich-text-editor/index.js +1 -1
  33. package/dist/components/rich-text-editor/rich-text-editor.d.ts +74 -0
  34. package/dist/components/sidebar/index.js +1 -1
  35. package/dist/components/treatment-receipt/index.js +1 -1
  36. package/dist/host-compat.css +13 -1
  37. package/dist/i18n/locales/ar.d.ts +80 -0
  38. package/dist/i18n/locales/ar.js +81 -1
  39. package/dist/i18n/locales/de.d.ts +80 -0
  40. package/dist/i18n/locales/de.js +81 -1
  41. package/dist/i18n/locales/el.d.ts +80 -0
  42. package/dist/i18n/locales/el.js +81 -1
  43. package/dist/i18n/locales/en.d.ts +80 -0
  44. package/dist/i18n/locales/en.js +81 -1
  45. package/dist/i18n/locales/es.d.ts +80 -0
  46. package/dist/i18n/locales/es.js +81 -1
  47. package/dist/i18n/locales/fr.d.ts +80 -0
  48. package/dist/i18n/locales/fr.js +81 -1
  49. package/dist/i18n/locales/hi.d.ts +80 -0
  50. package/dist/i18n/locales/hi.js +81 -1
  51. package/dist/i18n/locales/it.d.ts +80 -0
  52. package/dist/i18n/locales/it.js +81 -1
  53. package/dist/i18n/locales/ja.d.ts +80 -0
  54. package/dist/i18n/locales/ja.js +81 -1
  55. package/dist/i18n/locales/nl.d.ts +80 -0
  56. package/dist/i18n/locales/nl.js +81 -1
  57. package/dist/i18n/locales/pl.d.ts +80 -0
  58. package/dist/i18n/locales/pl.js +81 -1
  59. package/dist/i18n/locales/pt.d.ts +80 -0
  60. package/dist/i18n/locales/pt.js +81 -1
  61. package/dist/i18n/locales/ro.d.ts +80 -0
  62. package/dist/i18n/locales/ro.js +81 -1
  63. package/dist/i18n/locales/ru.d.ts +80 -0
  64. package/dist/i18n/locales/ru.js +81 -1
  65. package/dist/i18n/locales/sq.d.ts +80 -0
  66. package/dist/i18n/locales/sq.js +81 -1
  67. package/dist/i18n/locales/sv.d.ts +80 -0
  68. package/dist/i18n/locales/sv.js +81 -1
  69. package/dist/i18n/locales/tr.d.ts +80 -0
  70. package/dist/i18n/locales/tr.js +81 -1
  71. package/dist/i18n/locales/zh.d.ts +80 -0
  72. package/dist/i18n/locales/zh.js +81 -1
  73. package/dist/index.js +141 -134
  74. package/dist/locales/ar.json +81 -1
  75. package/dist/locales/de.json +81 -1
  76. package/dist/locales/el.json +81 -1
  77. package/dist/locales/en.json +81 -1
  78. package/dist/locales/es.json +81 -1
  79. package/dist/locales/fr.json +81 -1
  80. package/dist/locales/hi.json +81 -1
  81. package/dist/locales/it.json +81 -1
  82. package/dist/locales/ja.json +81 -1
  83. package/dist/locales/nl.json +81 -1
  84. package/dist/locales/pl.json +81 -1
  85. package/dist/locales/pt.json +81 -1
  86. package/dist/locales/ro.json +81 -1
  87. package/dist/locales/ru.json +81 -1
  88. package/dist/locales/sq.json +81 -1
  89. package/dist/locales/sv.json +81 -1
  90. package/dist/locales/tr.json +81 -1
  91. package/dist/locales/zh.json +81 -1
  92. package/dist/patterns/calendar/index.js +1 -1
  93. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +164 -0
  94. package/dist/patterns/help-me-write-templates/index.d.ts +3 -0
  95. package/dist/patterns/help-me-write-templates/index.js +10 -0
  96. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  97. package/dist/tokens.css +51 -42
  98. package/package.json +5 -1
  99. package/dist/_chunks/editor-overlay-9tcPXNWt.js +0 -89
  100. package/dist/_chunks/format-price-BkMEbeW3.js +0 -47
  101. package/dist/_chunks/rich-text-editor-BJ1-Lkao.js +0 -2719
@@ -0,0 +1,15 @@
1
+ import { c as o } from "./createLucideIcon-DhHxpK9K.js";
2
+ /**
3
+ * @license lucide-react v1.22.0 - ISC
4
+ *
5
+ * This source code is licensed under the ISC license.
6
+ * See the LICENSE file in the root directory of this source tree.
7
+ */
8
+ const e = [
9
+ ["path", { d: "m12 19-7-7 7-7", key: "1l729n" }],
10
+ ["path", { d: "M19 12H5", key: "x3x0zl" }]
11
+ ], r = o("arrow-left", e);
12
+ export {
13
+ r as A
14
+ };
15
+ //# sourceMappingURL=arrow-left-BfaGqVam.js.map
@@ -26,17 +26,17 @@ import { D as we } from "./dropdown-menu-DU-Hrf33.js";
26
26
  import { E as Cr } from "./editable-description-ADMVFPUz.js";
27
27
  import { N as Ks } from "./note-timeline-Dn_XTo1s.js";
28
28
  import { P as Jt } from "./panel-header-D_mTdhUp.js";
29
- import { A as Fi, P as Ka } from "./panel-subview-Cc2Wtt7D.js";
29
+ import { P as Ka } from "./panel-subview-PMBRPFOa.js";
30
30
  import { S as Yt } from "./section-card-XR2bW1Ie.js";
31
31
  import { P as Dr } from "./patient-summary-card-BhmKB2KR.js";
32
- import { T as wr } from "./treatment-receipt-dUm99mdn.js";
32
+ import { T as wr } from "./treatment-receipt-DU0OewqH.js";
33
33
  import { T as ri } from "./text-area-Bt3p7Pt0.js";
34
34
  import { a as La } from "./whatsapp-button-Ai4YAVkl.js";
35
35
  import { createPortal as zo } from "react-dom";
36
36
  import { C as ts } from "./combobox-DnSdYssy.js";
37
37
  import { R as tt } from "./radio-6fml-pWk.js";
38
38
  import { R as Gt } from "./radio-group-CIjmyioi.js";
39
- import { N as $o, g as Po } from "./notes-panel-CmTqIWlS.js";
39
+ import { N as $o, g as Po } from "./notes-panel-Daq5T_cS.js";
40
40
  import { V as At } from "./visually-hidden-BHxEUGyT.js";
41
41
  import { E as as } from "./empty-state-BUN_UAWf.js";
42
42
  import { F as De } from "./form-field-CahJzTxp.js";
@@ -49,7 +49,7 @@ import { T as Xa } from "./tag-Ci3xJPcH.js";
49
49
  import { a as xa } from "./key-value-pair-DaQI_LZB.js";
50
50
  import { T as Es } from "./timestamp-BV2lC-wV.js";
51
51
  import { S as ya } from "./switch-OILsBLWo.js";
52
- import { I as Hi } from "./icon-button-group-DkkdIygu.js";
52
+ import { I as Fi } from "./icon-button-group-DkkdIygu.js";
53
53
  import { C as Ho, b as Vo, a as Uo } from "./collapsible-CTjxzGuF.js";
54
54
  import { D as Lt } from "./date-picker-6tFnKFty.js";
55
55
  import { D as qe } from "./dialog-BJiLqhx6.js";
@@ -65,6 +65,7 @@ import { A as Ja } from "./armchair-BaLDW6Hz.js";
65
65
  import { P as Aa } from "./plus-DzMQ_c6b.js";
66
66
  import { E as Tr } from "./eye-BjhN2nYf.js";
67
67
  import { P as Za } from "./pencil-B1sKKyuT.js";
68
+ import { A as Hi } from "./arrow-left-BfaGqVam.js";
68
69
  import { c as yt } from "./createLucideIcon-DhHxpK9K.js";
69
70
  import { C as di } from "./calendar-plus-BFrIRE4r.js";
70
71
  import { L as Ms } from "./lock-ClAFG1gy.js";
@@ -392,7 +393,7 @@ const _s = /* @__PURE__ */ new Map(), mi = {
392
393
  _s.clear();
393
394
  }
394
395
  };
395
- function qp() {
396
+ function jp() {
396
397
  mi.clear();
397
398
  }
398
399
  const Ca = {
@@ -451,7 +452,7 @@ function It(e, t) {
451
452
  function pi(e, t) {
452
453
  return It(e.patientId, t);
453
454
  }
454
- const jp = [
455
+ const Gp = [
455
456
  { id: "day", stem: "Day" },
456
457
  { id: "threeDays", stem: "ThreeDays" },
457
458
  { id: "workingWeek", stem: "Week", workingWeek: !0 },
@@ -3369,7 +3370,7 @@ function ir({
3369
3370
  {
3370
3371
  size: "sm",
3371
3372
  intent: "ghost",
3372
- icon: /* @__PURE__ */ n(Fi, { "aria-hidden": "true" }),
3373
+ icon: /* @__PURE__ */ n(Hi, { "aria-hidden": "true" }),
3373
3374
  flipIconInRtl: !0,
3374
3375
  "aria-label": f(z("historyBack")),
3375
3376
  tooltip: f(z("historyBack")),
@@ -4366,7 +4367,7 @@ function ir({
4366
4367
  /* @__PURE__ */ p("span", { className: "ds:ms-auto ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
4367
4368
  H && !W && !Oe && (w || C) ? /* @__PURE__ */ p(we.Root, { children: [
4368
4369
  /* @__PURE__ */ p(
4369
- Hi,
4370
+ Fi,
4370
4371
  {
4371
4372
  role: "toolbar",
4372
4373
  "aria-label": f(z("placementLabel")),
@@ -4426,7 +4427,7 @@ function ir({
4426
4427
  ] }) : null,
4427
4428
  W ? null : /* @__PURE__ */ p(we.Root, { children: [
4428
4429
  /* @__PURE__ */ p(
4429
- Hi,
4430
+ Fi,
4430
4431
  {
4431
4432
  role: "toolbar",
4432
4433
  "aria-label": f(h("actionsLabel")),
@@ -4436,7 +4437,7 @@ function ir({
4436
4437
  {
4437
4438
  size: "sm",
4438
4439
  intent: "primary",
4439
- icon: /* @__PURE__ */ n(Fi, { "aria-hidden": "true" }),
4440
+ icon: /* @__PURE__ */ n(Hi, { "aria-hidden": "true" }),
4440
4441
  flipIconInRtl: !0,
4441
4442
  "aria-label": f(h("saveAndReturn")),
4442
4443
  tooltip: f(h("saveAndReturn")),
@@ -10862,12 +10863,12 @@ function _u({
10862
10863
  });
10863
10864
  }, [t, $e, a, xe, e]), null;
10864
10865
  }
10865
- function Gp(e, t = mi) {
10866
+ function Yp(e, t = mi) {
10866
10867
  return { ...Xr(
10867
10868
  t.get(Ca.display)
10868
10869
  ) ?? ws, ...e };
10869
10870
  }
10870
- function Yp({ data: e, ...t }) {
10871
+ function Xp({ data: e, ...t }) {
10871
10872
  return /* @__PURE__ */ n(Oo, { children: /* @__PURE__ */ n(Ad, { value: e, children: /* @__PURE__ */ n(Eo, { globalTools: $u, children: /* @__PURE__ */ n(Fu, { data: e, ...t }) }) }) });
10872
10873
  }
10873
10874
  function Fu({
@@ -11361,18 +11362,18 @@ export {
11361
11362
  Ca as C,
11362
11363
  hi as D,
11363
11364
  xl as S,
11364
- jp as V,
11365
+ Gp as V,
11365
11366
  G as W,
11366
11367
  Ad as a,
11367
11368
  Nl as b,
11368
- Yp as c,
11369
+ Xp as c,
11369
11370
  ws as d,
11370
11371
  ki as e,
11371
11372
  Ua as f,
11372
11373
  Ni as g,
11373
- Gp as i,
11374
+ Yp as i,
11374
11375
  mi as m,
11375
- qp as r,
11376
+ jp as r,
11376
11377
  $n as u
11377
11378
  };
11378
- //# sourceMappingURL=calendar-workspace-SN23GsXX.js.map
11379
+ //# sourceMappingURL=calendar-workspace-Bx8xxvic.js.map
@@ -2,16 +2,16 @@ import { jsxs as f, jsx as e, Fragment as I } from "react/jsx-runtime";
2
2
  import { forwardRef as le, useId as se, useMemo as ce } from "react";
3
3
  import { c as de } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as pe } from "react-i18next";
5
- import { B as b } from "./badge-BudgzTe_.js";
5
+ import { B as P } from "./badge-BudgzTe_.js";
6
6
  import { C as T } from "./card-DPmk26CL.js";
7
7
  import { K as fe, a as ue } from "./key-value-pair-DaQI_LZB.js";
8
8
  import { L as d } from "./link-CPb_pZPr.js";
9
- import { a as me } from "./format-price-BkMEbeW3.js";
9
+ import { b as me } from "./format-price-DAbh61Lz.js";
10
10
  import { u as he } from "./registry-DvAUVLHh.js";
11
11
  import { S as F } from "./stethoscope-sZXGC43m.js";
12
- import { H } from "./heart--qCA4ffe.js";
13
- import { B as _, L as z } from "./languages-CZqBaPwI.js";
14
- import { S as O } from "./shield-check-DCJALLVh.js";
12
+ import { H as O } from "./heart--qCA4ffe.js";
13
+ import { B as H, L as _ } from "./languages-CZqBaPwI.js";
14
+ import { S as z } from "./shield-check-DCJALLVh.js";
15
15
  import { G as B } from "./globe-sHBW1JN5.js";
16
16
  import { M as E } from "./mail-BqXVF2zH.js";
17
17
  import { M as K } from "./message-circle-Bepl9JT5.js";
@@ -62,20 +62,20 @@ const ge = {
62
62
  function Ce(n) {
63
63
  return n.replace(/[^\d+]/g, "");
64
64
  }
65
- function xe(n, r) {
65
+ function be(n, r) {
66
66
  const a = `https://wa.me/${n}`;
67
67
  return r ? `${a}?text=${encodeURIComponent(r)}` : a;
68
68
  }
69
- function Pe(n) {
69
+ function xe(n) {
70
70
  return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(n.line)}`;
71
71
  }
72
- function be() {
72
+ function Pe() {
73
73
  if (typeof document > "u") return "4945a3";
74
74
  const n = getComputedStyle(document.documentElement).getPropertyValue("--map-marker-color").trim(), r = /^#?([0-9a-fA-F]{6})$/.exec(n);
75
75
  return r ? r[1] : "4945a3";
76
76
  }
77
77
  function ye({ apiKey: n, center: r, zoom: a, altText: s }) {
78
- const c = be(), u = `https://maps.googleapis.com/maps/api/staticmap?center=${r.lat},${r.lng}&zoom=${a}&size=640x192&scale=2&markers=color:0x${c}%7C${r.lat},${r.lng}&key=${encodeURIComponent(n)}`;
78
+ const c = Pe(), u = `https://maps.googleapis.com/maps/api/staticmap?center=${r.lat},${r.lng}&zoom=${a}&size=640x192&scale=2&markers=color:0x${c}%7C${r.lat},${r.lng}&key=${encodeURIComponent(n)}`;
79
79
  return /* @__PURE__ */ e(
80
80
  "img",
81
81
  {
@@ -104,7 +104,7 @@ const ke = le(
104
104
  insurances: v,
105
105
  firstVisitPriceCents: C,
106
106
  currencyCode: y = "EUR",
107
- profession: x,
107
+ profession: b,
108
108
  specializedInFearPatients: L,
109
109
  googleMapsApiKey: k,
110
110
  mapZoom: j = 14,
@@ -117,14 +117,19 @@ const ke = le(
117
117
  mapSlot: X,
118
118
  surface: w = "elevated",
119
119
  "aria-label": Z,
120
- id: P,
120
+ id: x,
121
121
  className: ee,
122
122
  ...ae
123
123
  }, te) => {
124
124
  const { t, i18n: M } = pe(), $ = se(), A = M.language ?? "en", N = n ?? t("contactProfileCard.heading"), re = Z ?? N, R = ce(() => {
125
125
  if (C != null)
126
- return me(C, y, A);
127
- }, [C, y, A]), o = [];
126
+ return me(
127
+ C,
128
+ y,
129
+ A,
130
+ t("common.freeOfCharge")
131
+ );
132
+ }, [C, y, A, t]), o = [];
128
133
  if (a && o.push({
129
134
  key: "address",
130
135
  icon: /* @__PURE__ */ e(G, { "aria-hidden": "true" }),
@@ -134,7 +139,7 @@ const ke = le(
134
139
  a.lat != null && a.lng != null ? /* @__PURE__ */ e(
135
140
  d,
136
141
  {
137
- href: Pe(a),
142
+ href: xe(a),
138
143
  external: !0,
139
144
  intent: "default",
140
145
  onClick: D,
@@ -162,7 +167,7 @@ const ke = le(
162
167
  value: /* @__PURE__ */ e(
163
168
  d,
164
169
  {
165
- href: xe(c, u),
170
+ href: be(c, u),
166
171
  external: !0,
167
172
  intent: "default",
168
173
  onClick: W,
@@ -195,36 +200,36 @@ const ke = le(
195
200
  };
196
201
  o.push({
197
202
  key: "languages",
198
- icon: /* @__PURE__ */ e(z, { "aria-hidden": "true" }),
203
+ icon: /* @__PURE__ */ e(_, { "aria-hidden": "true" }),
199
204
  label: t("contactProfileCard.label.languages"),
200
- value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: g.map((l) => /* @__PURE__ */ e(b, { variant: "neutral", children: i(l) }, l)) })
205
+ value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: g.map((l) => /* @__PURE__ */ e(P, { variant: "neutral", children: i(l) }, l)) })
201
206
  });
202
207
  }
203
208
  v && v.length > 0 && o.push({
204
209
  key: "insurances",
205
- icon: /* @__PURE__ */ e(O, { "aria-hidden": "true" }),
210
+ icon: /* @__PURE__ */ e(z, { "aria-hidden": "true" }),
206
211
  label: t("contactProfileCard.label.insurances"),
207
- value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: v.map((i) => /* @__PURE__ */ e(b, { variant: "info", children: i }, i)) })
212
+ value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: v.map((i) => /* @__PURE__ */ e(P, { variant: "info", children: i }, i)) })
208
213
  }), R && o.push({
209
214
  key: "firstVisitPrice",
210
- icon: /* @__PURE__ */ e(_, { "aria-hidden": "true" }),
215
+ icon: /* @__PURE__ */ e(H, { "aria-hidden": "true" }),
211
216
  label: t("contactProfileCard.label.firstVisitPrice"),
212
- value: /* @__PURE__ */ e(b, { variant: "accentSoft", size: "lg", children: R }),
217
+ value: /* @__PURE__ */ e(P, { variant: "accentSoft", size: "lg", children: R }),
213
218
  alignValue: "end"
214
219
  }), L && o.push({
215
220
  key: "expertForAnxiousPatients",
216
- icon: /* @__PURE__ */ e(H, { "aria-hidden": "true" }),
221
+ icon: /* @__PURE__ */ e(O, { "aria-hidden": "true" }),
217
222
  label: t("contactProfileCard.label.expertForAnxiousPatients"),
218
223
  value: t("contactProfileCard.value.yesShort")
219
- }), x && o.push({
224
+ }), b && o.push({
220
225
  key: "profession",
221
226
  icon: /* @__PURE__ */ e(F, { "aria-hidden": "true" }),
222
227
  label: t("contactProfileCard.label.profession"),
223
- value: x
228
+ value: b
224
229
  }), he(
225
230
  ge,
226
- { getProfession: () => x },
227
- P
231
+ { getProfession: () => b },
232
+ x
228
233
  );
229
234
  const ne = !!k && (a == null ? void 0 : a.lat) !== void 0 && (a == null ? void 0 : a.lng) !== void 0 ? /* @__PURE__ */ e(
230
235
  ye,
@@ -273,8 +278,8 @@ const ke = le(
273
278
  "aria-label": re,
274
279
  "aria-labelledby": $,
275
280
  "data-component": "contact-profile-card",
276
- "data-component-id": P,
277
- id: P,
281
+ "data-component-id": x,
282
+ id: x,
278
283
  className: ve({ surface: w, className: ee }),
279
284
  ...ae,
280
285
  children: w === "elevated" ? /* @__PURE__ */ e(T, { variant: "elevated", children: /* @__PURE__ */ e(T.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: S }) }) : /* @__PURE__ */ e("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: S })
@@ -300,10 +305,10 @@ const Le = [
300
305
  whatsapp: K,
301
306
  email: E,
302
307
  website: B,
303
- languages: z,
304
- insurances: O,
305
- firstVisitPrice: _,
306
- expertForAnxiousPatients: H,
308
+ languages: _,
309
+ insurances: z,
310
+ firstVisitPrice: H,
311
+ expertForAnxiousPatients: O,
307
312
  profession: F
308
313
  };
309
314
  export {
@@ -312,4 +317,4 @@ export {
312
317
  ke as b,
313
318
  ge as c
314
319
  };
315
- //# sourceMappingURL=contact-profile-card-Zt6WNg1u.js.map
320
+ //# sourceMappingURL=contact-profile-card-C0WpwpVV.js.map
@@ -0,0 +1,93 @@
1
+ import { jsx as r, jsxs as p } from "react/jsx-runtime";
2
+ import { useRef as o, useId as k, useEffect as v, useCallback as E } from "react";
3
+ import { useTranslation as j } from "react-i18next";
4
+ import { c as I } from "./index-D2ZczOXr.js";
5
+ import { I as N } from "./icon-button-CehAeZoP.js";
6
+ import { X as z } from "./x-B5YnXwCz.js";
7
+ const R = I(
8
+ [
9
+ // Spans the editor's block-end edge (a docked bar) and expands from the pill.
10
+ "ds:absolute ds:z-20",
11
+ "ds:[inset-inline-start:var(--spacing-md)] ds:[inset-inline-end:var(--spacing-md)]",
12
+ "ds:[inset-block-end:var(--spacing-md)]",
13
+ // Slim docked bar — compact but with a little breathing room.
14
+ "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
15
+ "ds:p-[var(--spacing-md)]",
16
+ "ds:rounded-[var(--radius-lg)]",
17
+ // Apple "Liquid Glass": a translucent base + backdrop blur/saturate so the
18
+ // editor shows through, a specular top "rim" + inner hairline ring, and a
19
+ // soft drop shadow for a floating slab. --card-border is theme-aware (dark
20
+ // hairline on light themes, bright on dark), so the rim reads in all four.
21
+ "ds:bg-[color-mix(in_srgb,var(--popover)_64%,transparent)]",
22
+ "ds:backdrop-blur-xl ds:backdrop-saturate-150",
23
+ "ds:border ds:border-[color-mix(in_srgb,var(--card-border)_70%,transparent)]",
24
+ "ds:shadow-[inset_0_1px_0_0_var(--card-border),inset_0_0_0_1px_color-mix(in_srgb,var(--card-border)_35%,transparent),var(--shadow-lg)]",
25
+ // Liquid-glass grow out of the pill (bottom-inline-end origin).
26
+ "ds:origin-bottom-right ds:animate-in ds:fade-in-0 ds:zoom-in-95",
27
+ "ds:motion-reduce:animate-none"
28
+ ].join(" ")
29
+ ), F = "ds:text-[length:var(--font-size-base)] ds:font-medium ds:text-[color:var(--foreground)]";
30
+ function D({
31
+ open: d,
32
+ onClose: s,
33
+ title: n,
34
+ ariaLabel: b,
35
+ children: g,
36
+ footer: i,
37
+ id: x,
38
+ className: _
39
+ }) {
40
+ const { t: h } = j(), t = o(null), c = o(null), l = k(), m = o(s);
41
+ v(() => {
42
+ m.current = s;
43
+ }, [s]);
44
+ const w = E(() => s(), [s]);
45
+ return v(() => {
46
+ if (!d) return;
47
+ c.current = document.activeElement;
48
+ const y = window.requestAnimationFrame(() => {
49
+ var a, f;
50
+ (f = ((a = t.current) == null ? void 0 : a.querySelector(
51
+ 'input, textarea, button, [tabindex]:not([tabindex="-1"])'
52
+ )) ?? t.current) == null || f.focus();
53
+ }), u = (e) => {
54
+ e.key === "Escape" && !e.defaultPrevented && (e.stopPropagation(), m.current());
55
+ };
56
+ return document.addEventListener("keydown", u), () => {
57
+ var e, a;
58
+ window.cancelAnimationFrame(y), document.removeEventListener("keydown", u), (a = (e = c.current) == null ? void 0 : e.focus) == null || a.call(e);
59
+ };
60
+ }, [d]), d ? /* @__PURE__ */ r("div", { "data-component": "editor-overlay", "data-component-id": x, children: /* @__PURE__ */ p(
61
+ "div",
62
+ {
63
+ ref: t,
64
+ role: "dialog",
65
+ "aria-modal": "false",
66
+ "aria-labelledby": n ? l : void 0,
67
+ "aria-label": n ? void 0 : b,
68
+ tabIndex: -1,
69
+ className: [R(), _].filter(Boolean).join(" "),
70
+ children: [
71
+ n ? /* @__PURE__ */ p("div", { className: "ds:flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)]", children: [
72
+ /* @__PURE__ */ r("div", { id: l, className: F, children: n }),
73
+ /* @__PURE__ */ r(
74
+ N,
75
+ {
76
+ size: "sm",
77
+ intent: "ghost",
78
+ icon: /* @__PURE__ */ r(z, {}),
79
+ "aria-label": h("common.close"),
80
+ onClick: w
81
+ }
82
+ )
83
+ ] }) : null,
84
+ /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)]", children: g }),
85
+ i ? /* @__PURE__ */ r("div", { className: "ds:flex ds:flex-wrap ds:items-center ds:justify-end ds:gap-[var(--spacing-sm)]", children: i }) : null
86
+ ]
87
+ }
88
+ ) }) : null;
89
+ }
90
+ export {
91
+ D as E
92
+ };
93
+ //# sourceMappingURL=editor-overlay-DwNKaI22.js.map
@@ -0,0 +1,51 @@
1
+ const n = /* @__PURE__ */ new Set([
2
+ "BIF",
3
+ "CLP",
4
+ "DJF",
5
+ "GNF",
6
+ "IDR",
7
+ "JPY",
8
+ "KMF",
9
+ "KRW",
10
+ "MGA",
11
+ "PYG",
12
+ "RWF",
13
+ "UGX",
14
+ "VND",
15
+ "VUV",
16
+ "XAF",
17
+ "XOF",
18
+ "XPF"
19
+ ]);
20
+ function s(r, a, c) {
21
+ const t = a.toUpperCase(), e = n.has(t) ? r : r / 100;
22
+ try {
23
+ return new Intl.NumberFormat(c, {
24
+ style: "currency",
25
+ currency: t
26
+ }).format(e);
27
+ } catch {
28
+ return `${n.has(t) ? String(e) : e.toFixed(2)} ${t}`;
29
+ }
30
+ }
31
+ function u(r, a, c, t) {
32
+ return r === 0 ? t : s(r, a, c);
33
+ }
34
+ function F(r, a, c, t = {}) {
35
+ const e = a.toUpperCase(), o = n.has(e) ? r : r / 100;
36
+ try {
37
+ return new Intl.NumberFormat(c, {
38
+ style: "currency",
39
+ currency: e,
40
+ ...t
41
+ }).formatToParts(o);
42
+ } catch {
43
+ return null;
44
+ }
45
+ }
46
+ export {
47
+ s as a,
48
+ u as b,
49
+ F as f
50
+ };
51
+ //# sourceMappingURL=format-price-DAbh61Lz.js.map