@alfadocs/ui-kit 0.31.7 → 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 (102) 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/contact-profile-card-Ce-LIDU8.js +342 -0
  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} +29 -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 +4 -1
  43. package/dist/i18n/locales/ar.js +5 -2
  44. package/dist/i18n/locales/de.d.ts +4 -1
  45. package/dist/i18n/locales/de.js +5 -2
  46. package/dist/i18n/locales/el.d.ts +4 -1
  47. package/dist/i18n/locales/el.js +5 -2
  48. package/dist/i18n/locales/en.d.ts +4 -1
  49. package/dist/i18n/locales/en.js +5 -2
  50. package/dist/i18n/locales/es.d.ts +4 -1
  51. package/dist/i18n/locales/es.js +5 -2
  52. package/dist/i18n/locales/fr.d.ts +4 -1
  53. package/dist/i18n/locales/fr.js +5 -2
  54. package/dist/i18n/locales/hi.d.ts +4 -1
  55. package/dist/i18n/locales/hi.js +5 -2
  56. package/dist/i18n/locales/it.d.ts +4 -1
  57. package/dist/i18n/locales/it.js +5 -2
  58. package/dist/i18n/locales/ja.d.ts +4 -1
  59. package/dist/i18n/locales/ja.js +5 -2
  60. package/dist/i18n/locales/nl.d.ts +4 -1
  61. package/dist/i18n/locales/nl.js +5 -2
  62. package/dist/i18n/locales/pl.d.ts +4 -1
  63. package/dist/i18n/locales/pl.js +5 -2
  64. package/dist/i18n/locales/pt.d.ts +4 -1
  65. package/dist/i18n/locales/pt.js +5 -2
  66. package/dist/i18n/locales/ro.d.ts +4 -1
  67. package/dist/i18n/locales/ro.js +5 -2
  68. package/dist/i18n/locales/ru.d.ts +4 -1
  69. package/dist/i18n/locales/ru.js +5 -2
  70. package/dist/i18n/locales/sq.d.ts +4 -1
  71. package/dist/i18n/locales/sq.js +5 -2
  72. package/dist/i18n/locales/sv.d.ts +4 -1
  73. package/dist/i18n/locales/sv.js +5 -2
  74. package/dist/i18n/locales/tr.d.ts +4 -1
  75. package/dist/i18n/locales/tr.js +5 -2
  76. package/dist/i18n/locales/zh.d.ts +4 -1
  77. package/dist/i18n/locales/zh.js +5 -2
  78. package/dist/index.js +112 -112
  79. package/dist/locales/ar.json +4 -1
  80. package/dist/locales/de.json +4 -1
  81. package/dist/locales/el.json +4 -1
  82. package/dist/locales/en.json +4 -1
  83. package/dist/locales/es.json +4 -1
  84. package/dist/locales/fr.json +4 -1
  85. package/dist/locales/hi.json +4 -1
  86. package/dist/locales/it.json +4 -1
  87. package/dist/locales/ja.json +4 -1
  88. package/dist/locales/nl.json +4 -1
  89. package/dist/locales/pl.json +4 -1
  90. package/dist/locales/pt.json +4 -1
  91. package/dist/locales/ro.json +4 -1
  92. package/dist/locales/ru.json +4 -1
  93. package/dist/locales/sq.json +4 -1
  94. package/dist/locales/sv.json +4 -1
  95. package/dist/locales/tr.json +4 -1
  96. package/dist/locales/zh.json +4 -1
  97. package/dist/tokens.css +1 -1
  98. package/package.json +4 -4
  99. package/dist/_chunks/practice-profile-card-DwZo7ggW.js +0 -305
  100. package/dist/components/practice-profile-card/index.d.ts +0 -4
  101. package/dist/components/practice-profile-card/index.js +0 -8
  102. package/dist/components/practice-profile-card/practice-profile-card.agent.d.ts +0 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alfadocs/ui-kit",
3
- "version": "0.31.7",
3
+ "version": "0.32.0",
4
4
  "type": "module",
5
5
  "description": "AlfaDocs shared design system — tokens, components, patterns, and translations for platform, booking, and alfascribe.",
6
6
  "license": "BUSL-1.1",
@@ -315,9 +315,9 @@
315
315
  "types": "./dist/components/patient-search/index.d.ts",
316
316
  "import": "./dist/components/patient-search/index.js"
317
317
  },
318
- "./practice-profile-card": {
319
- "types": "./dist/components/practice-profile-card/index.d.ts",
320
- "import": "./dist/components/practice-profile-card/index.js"
318
+ "./contact-profile-card": {
319
+ "types": "./dist/components/contact-profile-card/index.d.ts",
320
+ "import": "./dist/components/contact-profile-card/index.js"
321
321
  },
322
322
  "./practice-results": {
323
323
  "types": "./dist/components/practice-results/index.d.ts",
@@ -1,305 +0,0 @@
1
- import { jsxs as d, jsx as e, Fragment as _ } from "react/jsx-runtime";
2
- import { forwardRef as ie, useId as te, useMemo as ne } from "react";
3
- import { c as le } from "./index-D2ZczOXr.js";
4
- import { useTranslation as oe } from "react-i18next";
5
- import { B as N } from "./badge-B9Cr6iEB.js";
6
- import { C as F } from "./card-CNri9ssR.js";
7
- import { K as se, a as ce } from "./key-value-pair-CYE7NSpM.js";
8
- import { L as s } from "./link-DrD_cRUg.js";
9
- import { u as de } from "./registry-nPAVE19X.js";
10
- import { S } from "./stethoscope-DT5qCW8Y.js";
11
- import { H as $, S as E, L as H } from "./shield-check-BhHyReu8.js";
12
- import { c as V } from "./createLucideIcon-CrFbzy84.js";
13
- import { G as K } from "./globe-BkEFMNSg.js";
14
- import { M as L } from "./mail-C8irm52s.js";
15
- import { M as O } from "./message-circle-C23eicgb.js";
16
- import { M as B } from "./map-pin-B8STOPMJ.js";
17
- /**
18
- * @license lucide-react v1.8.0 - ISC
19
- *
20
- * This source code is licensed under the ISC license.
21
- * See the LICENSE file in the root directory of this source tree.
22
- */
23
- const pe = [
24
- ["rect", { width: "20", height: "12", x: "2", y: "6", rx: "2", key: "9lu3g6" }],
25
- ["circle", { cx: "12", cy: "12", r: "2", key: "1c9p78" }],
26
- ["path", { d: "M6 12h.01M18 12h.01", key: "113zkx" }]
27
- ], G = V("banknote", pe);
28
- /**
29
- * @license lucide-react v1.8.0 - ISC
30
- *
31
- * This source code is licensed under the ISC license.
32
- * See the LICENSE file in the root directory of this source tree.
33
- */
34
- const fe = [
35
- [
36
- "path",
37
- {
38
- d: "M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384",
39
- key: "9njp5v"
40
- }
41
- ]
42
- ], U = V("phone", fe), ue = {
43
- id: "practice-profile-card",
44
- capabilities: ["view_change"],
45
- state: {
46
- profession: {
47
- type: "string",
48
- descriptionKey: "ui.agent.practiceProfileCard.state.profession",
49
- description: "Profession string the card is currently rendering — undefined when the consumer omitted it.",
50
- read: (r) => r.getProfession()
51
- }
52
- },
53
- actions: {},
54
- domHooks: {
55
- root: {
56
- attr: "data-component",
57
- value: "practice-profile-card",
58
- description: "Marks the PracticeProfileCard root region."
59
- },
60
- instanceId: {
61
- attr: "data-component-id",
62
- sourceProp: "id",
63
- description: "Sourced from the id prop."
64
- }
65
- }
66
- }, he = le("ds:w-full ds:text-[color:var(--foreground)]", {
67
- variants: {
68
- // Matches the kit's other `surface` props (Booking, ReviewsPanel).
69
- // The card itself renders `<Card variant="elevated">` so the
70
- // `surface="flat"` opt-out is rare — most consumers want the
71
- // boundary.
72
- surface: {
73
- flat: "",
74
- elevated: ""
75
- }
76
- },
77
- defaultVariants: { surface: "elevated" }
78
- });
79
- function me(r) {
80
- return r.replace(/[^\d+]/g, "");
81
- }
82
- function ve(r, l) {
83
- const t = `https://wa.me/${r}`;
84
- return l ? `${t}?text=${encodeURIComponent(l)}` : t;
85
- }
86
- function Pe(r) {
87
- return `https://www.google.com/maps/search/?api=1&query=${encodeURIComponent(r.line)}`;
88
- }
89
- function ge(r, l, t) {
90
- try {
91
- return new Intl.NumberFormat(t, {
92
- style: "currency",
93
- currency: l
94
- }).format(r / 100);
95
- } catch {
96
- return (r / 100).toFixed(2);
97
- }
98
- }
99
- const xe = ie(
100
- ({
101
- heading: r,
102
- description: l,
103
- address: t,
104
- phone: p,
105
- whatsappNumber: f,
106
- whatsappMessage: j,
107
- email: u,
108
- website: h,
109
- languages: m,
110
- languageLabels: c,
111
- insurances: v,
112
- firstVisitPriceCents: P,
113
- currencyCode: y = "EUR",
114
- profession: g,
115
- specializedInFearPatients: q,
116
- onPhoneClick: T,
117
- onWhatsAppClick: W,
118
- onMapClick: D,
119
- onEmailClick: z,
120
- headerSlot: Y,
121
- footerSlot: J,
122
- surface: b = "elevated",
123
- "aria-label": Q,
124
- id: x,
125
- className: X,
126
- ...Z
127
- }, ee) => {
128
- const { t: a, i18n: C } = oe(), k = te(), w = C.language ?? "en", A = r ?? a("practiceProfileCard.heading"), ae = Q ?? A, I = ne(() => {
129
- if (P != null)
130
- return ge(P, y, w);
131
- }, [P, y, w]), i = [];
132
- if (t && i.push({
133
- key: "address",
134
- icon: /* @__PURE__ */ e(B, { "aria-hidden": "true" }),
135
- label: a("practiceProfileCard.label.address"),
136
- value: /* @__PURE__ */ d("span", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
137
- /* @__PURE__ */ e("span", { children: t.line }),
138
- t.lat != null && t.lng != null ? /* @__PURE__ */ e(
139
- s,
140
- {
141
- href: Pe(t),
142
- external: !0,
143
- intent: "default",
144
- onClick: D,
145
- children: a("practiceProfileCard.openInGoogleMaps")
146
- }
147
- ) : null
148
- ] })
149
- }), p && i.push({
150
- key: "phone",
151
- icon: /* @__PURE__ */ e(U, { "aria-hidden": "true" }),
152
- label: a("practiceProfileCard.label.phone"),
153
- value: /* @__PURE__ */ e(
154
- s,
155
- {
156
- href: `tel:${me(p)}`,
157
- intent: "default",
158
- onClick: T,
159
- children: p
160
- }
161
- )
162
- }), f && i.push({
163
- key: "whatsapp",
164
- icon: /* @__PURE__ */ e(O, { "aria-hidden": "true" }),
165
- label: a("practiceProfileCard.label.whatsapp"),
166
- value: /* @__PURE__ */ e(
167
- s,
168
- {
169
- href: ve(f, j),
170
- external: !0,
171
- intent: "default",
172
- onClick: W,
173
- children: f
174
- }
175
- )
176
- }), u && i.push({
177
- key: "email",
178
- icon: /* @__PURE__ */ e(L, { "aria-hidden": "true" }),
179
- label: a("practiceProfileCard.label.email"),
180
- value: /* @__PURE__ */ e(
181
- s,
182
- {
183
- href: `mailto:${u}`,
184
- intent: "default",
185
- onClick: z,
186
- children: u
187
- }
188
- )
189
- }), h && i.push({
190
- key: "website",
191
- icon: /* @__PURE__ */ e(K, { "aria-hidden": "true" }),
192
- label: a("practiceProfileCard.label.website"),
193
- value: /* @__PURE__ */ e(s, { href: h, external: !0, intent: "default", children: h })
194
- }), m && m.length > 0) {
195
- const n = (o) => {
196
- if (c != null && c[o]) return c[o];
197
- const R = `languages.${o}`;
198
- return C.exists(R) ? a(R) : o.toUpperCase();
199
- };
200
- i.push({
201
- key: "languages",
202
- icon: /* @__PURE__ */ e(H, { "aria-hidden": "true" }),
203
- label: a("practiceProfileCard.label.languages"),
204
- value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: m.map((o) => /* @__PURE__ */ e(N, { variant: "neutral", children: n(o) }, o)) })
205
- });
206
- }
207
- v && v.length > 0 && i.push({
208
- key: "insurances",
209
- icon: /* @__PURE__ */ e(E, { "aria-hidden": "true" }),
210
- label: a("practiceProfileCard.label.insurances"),
211
- value: /* @__PURE__ */ e("span", { className: "ds:flex ds:flex-wrap ds:gap-[var(--spacing-2xs)]", children: v.map((n) => /* @__PURE__ */ e(N, { variant: "info", children: n }, n)) })
212
- }), I && i.push({
213
- key: "firstVisitPrice",
214
- icon: /* @__PURE__ */ e(G, { "aria-hidden": "true" }),
215
- label: a("practiceProfileCard.label.firstVisitPrice"),
216
- value: I
217
- }), q && i.push({
218
- key: "expertForAnxiousPatients",
219
- icon: /* @__PURE__ */ e($, { "aria-hidden": "true" }),
220
- label: a("practiceProfileCard.label.expertForAnxiousPatients"),
221
- value: a("practiceProfileCard.value.yesShort")
222
- }), g && i.push({
223
- key: "profession",
224
- icon: /* @__PURE__ */ e(S, { "aria-hidden": "true" }),
225
- label: a("practiceProfileCard.label.profession"),
226
- value: g
227
- }), de(
228
- ue,
229
- { getProfession: () => g },
230
- x
231
- );
232
- const re = /* @__PURE__ */ d(_, { children: [
233
- l ? /* @__PURE__ */ e("p", { className: "type-body-sm ds:m-0 ds:whitespace-pre-line", children: l }) : null,
234
- i.length > 0 ? /* @__PURE__ */ e(se, { rowGap: "md", children: i.map((n) => /* @__PURE__ */ e(
235
- ce,
236
- {
237
- icon: n.icon,
238
- label: n.label,
239
- value: n.value
240
- },
241
- n.key
242
- )) }) : null,
243
- J
244
- ] }), M = /* @__PURE__ */ d(_, { children: [
245
- /* @__PURE__ */ d("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]", children: [
246
- Y,
247
- /* @__PURE__ */ e(
248
- "h2",
249
- {
250
- id: k,
251
- className: "type-title-card ds:m-0 ds:text-[color:var(--foreground)]",
252
- children: A
253
- }
254
- )
255
- ] }),
256
- re
257
- ] });
258
- return /* @__PURE__ */ e(
259
- "div",
260
- {
261
- ref: ee,
262
- role: "region",
263
- "aria-label": ae,
264
- "aria-labelledby": k,
265
- "data-component": "practice-profile-card",
266
- "data-component-id": x,
267
- id: x,
268
- className: he({ surface: b, className: X }),
269
- ...Z,
270
- children: b === "elevated" ? /* @__PURE__ */ e(F, { variant: "elevated", children: /* @__PURE__ */ e(F.Body, { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: M }) }) : /* @__PURE__ */ e("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-md)]", children: M })
271
- }
272
- );
273
- }
274
- );
275
- xe.displayName = "PracticeProfileCard";
276
- const Ve = [
277
- "address",
278
- "phone",
279
- "whatsapp",
280
- "email",
281
- "website",
282
- "languages",
283
- "insurances",
284
- "firstVisitPrice",
285
- "expertForAnxiousPatients",
286
- "profession"
287
- ], Ke = {
288
- address: B,
289
- phone: U,
290
- whatsapp: O,
291
- email: L,
292
- website: K,
293
- languages: H,
294
- insurances: E,
295
- firstVisitPrice: G,
296
- expertForAnxiousPatients: $,
297
- profession: S
298
- };
299
- export {
300
- Ke as P,
301
- Ve as a,
302
- xe as b,
303
- ue as p
304
- };
305
- //# sourceMappingURL=practice-profile-card-DwZo7ggW.js.map
@@ -1,4 +0,0 @@
1
- export { PracticeProfileCard, PRACTICE_PROFILE_CARD_ROW_KEYS, PRACTICE_PROFILE_CARD_ROW_ICONS, } from './practice-profile-card';
2
- export type { PracticeProfileCardProps, PracticeProfileCardAddress, PracticeProfileCardHandle, PracticeProfileCardSurface, } from './practice-profile-card';
3
- export { practiceProfileCardAgent } from './practice-profile-card.agent';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,8 +0,0 @@
1
- import { P as r, a as P, b as R, p as _ } from "../../_chunks/practice-profile-card-DwZo7ggW.js";
2
- export {
3
- r as PRACTICE_PROFILE_CARD_ROW_ICONS,
4
- P as PRACTICE_PROFILE_CARD_ROW_KEYS,
5
- R as PracticeProfileCard,
6
- _ as practiceProfileCardAgent
7
- };
8
- //# sourceMappingURL=index.js.map
@@ -1,4 +0,0 @@
1
- import type { AgentAdapter } from '../../agent/types';
2
- import type { PracticeProfileCardHandle } from './practice-profile-card';
3
- export declare const practiceProfileCardAgent: AgentAdapter<PracticeProfileCardHandle>;
4
- //# sourceMappingURL=practice-profile-card.agent.d.ts.map