@alfadocs/ui-kit 0.31.4 → 0.31.6
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.
- package/dist/_chunks/{agenda-card-UJA6Arbs.js → agenda-card-DtGlQde1.js} +2 -2
- package/dist/_chunks/{agenda-tray-1fAxNOMz.js → agenda-tray-CXmlwt2K.js} +2 -2
- package/dist/_chunks/{badge-CptERaHx.js → badge-B9Cr6iEB.js} +30 -21
- package/dist/_chunks/{benefit-card-CLPNpiQE.js → benefit-card-B86DH-PE.js} +14 -10
- package/dist/_chunks/{card-DKTMLVrw.js → card-CNri9ssR.js} +43 -37
- package/dist/_chunks/{contact-card-DYbp--s-.js → contact-card-Dos7Tley.js} +2 -2
- package/dist/_chunks/{editable-currency-cell-renderer-BpicmolK.js → editable-currency-cell-renderer-YvTwkFrD.js} +2 -2
- package/dist/_chunks/key-value-pair-CYE7NSpM.js +134 -0
- package/dist/_chunks/message-circle-C23eicgb.js +20 -0
- package/dist/_chunks/operator-hero-BsjE-kJF.js +171 -0
- package/dist/_chunks/{patient-search-hFiYbqcl.js → patient-search-CSDru7QW.js} +2 -2
- package/dist/_chunks/practice-profile-card-C2_2ZH_G.js +297 -0
- package/dist/_chunks/{practice-results-dOlljaAK.js → practice-results-VqbCUO1b.js} +225 -269
- package/dist/_chunks/{reviews-panel-yanuBZs-.js → reviews-panel-Cjys8G8K.js} +2 -2
- package/dist/_chunks/shield-check-BhHyReu8.js +52 -0
- package/dist/_chunks/{timeline-D0Wo7v_o.js → timeline-BZC7qGdy.js} +2 -2
- package/dist/_chunks/{workflow-map-BSvQS3be.js → workflow-map-DfpjDZHK.js} +93 -107
- package/dist/agent-catalog.json +55 -1
- package/dist/components/agenda-card/index.js +1 -1
- package/dist/components/agenda-tray/index.js +1 -1
- package/dist/components/badge/badge.d.ts +1 -1
- package/dist/components/badge/index.js +1 -1
- package/dist/components/benefit-card/index.js +1 -1
- package/dist/components/card/index.js +1 -1
- package/dist/components/contact-card/index.js +1 -1
- package/dist/components/data-table/index.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/key-value-pair/index.d.ts +2 -2
- package/dist/components/key-value-pair/index.js +3 -2
- package/dist/components/key-value-pair/key-value-pair.d.ts +10 -0
- package/dist/components/operator-hero/index.d.ts +4 -0
- package/dist/components/operator-hero/index.js +6 -0
- package/dist/components/operator-hero/operator-hero.agent.d.ts +4 -0
- package/dist/components/operator-hero/operator-hero.d.ts +64 -0
- package/dist/components/patient-search/index.js +1 -1
- package/dist/components/practice-profile-card/index.d.ts +4 -0
- package/dist/components/practice-profile-card/index.js +8 -0
- package/dist/components/practice-profile-card/practice-profile-card.agent.d.ts +4 -0
- package/dist/components/practice-profile-card/practice-profile-card.d.ts +115 -0
- package/dist/components/practice-results/index.js +1 -1
- package/dist/components/reviews-panel/index.js +1 -1
- package/dist/components/timeline/index.js +1 -1
- package/dist/components/workflow/index.js +1 -1
- package/dist/i18n/locales/ar.d.ts +23 -0
- package/dist/i18n/locales/ar.js +23 -0
- package/dist/i18n/locales/de.d.ts +23 -0
- package/dist/i18n/locales/de.js +23 -0
- package/dist/i18n/locales/el.d.ts +23 -0
- package/dist/i18n/locales/el.js +23 -0
- package/dist/i18n/locales/en.d.ts +23 -0
- package/dist/i18n/locales/en.js +23 -0
- package/dist/i18n/locales/es.d.ts +23 -0
- package/dist/i18n/locales/es.js +23 -0
- package/dist/i18n/locales/fr.d.ts +23 -0
- package/dist/i18n/locales/fr.js +23 -0
- package/dist/i18n/locales/hi.d.ts +23 -0
- package/dist/i18n/locales/hi.js +23 -0
- package/dist/i18n/locales/it.d.ts +23 -0
- package/dist/i18n/locales/it.js +23 -0
- package/dist/i18n/locales/ja.d.ts +23 -0
- package/dist/i18n/locales/ja.js +23 -0
- package/dist/i18n/locales/nl.d.ts +23 -0
- package/dist/i18n/locales/nl.js +23 -0
- package/dist/i18n/locales/pl.d.ts +23 -0
- package/dist/i18n/locales/pl.js +23 -0
- package/dist/i18n/locales/pt.d.ts +23 -0
- package/dist/i18n/locales/pt.js +23 -0
- package/dist/i18n/locales/ro.d.ts +23 -0
- package/dist/i18n/locales/ro.js +23 -0
- package/dist/i18n/locales/ru.d.ts +23 -0
- package/dist/i18n/locales/ru.js +23 -0
- package/dist/i18n/locales/sq.d.ts +23 -0
- package/dist/i18n/locales/sq.js +23 -0
- package/dist/i18n/locales/sv.d.ts +23 -0
- package/dist/i18n/locales/sv.js +23 -0
- package/dist/i18n/locales/tr.d.ts +23 -0
- package/dist/i18n/locales/tr.js +23 -0
- package/dist/i18n/locales/zh.d.ts +23 -0
- package/dist/i18n/locales/zh.js +23 -0
- package/dist/index.js +400 -391
- package/dist/locales/ar.json +23 -0
- package/dist/locales/de.json +23 -0
- package/dist/locales/el.json +23 -0
- package/dist/locales/en.json +23 -0
- package/dist/locales/es.json +23 -0
- package/dist/locales/fr.json +23 -0
- package/dist/locales/hi.json +23 -0
- package/dist/locales/it.json +23 -0
- package/dist/locales/ja.json +23 -0
- package/dist/locales/nl.json +23 -0
- package/dist/locales/pl.json +23 -0
- package/dist/locales/pt.json +23 -0
- package/dist/locales/ro.json +23 -0
- package/dist/locales/ru.json +23 -0
- package/dist/locales/sq.json +23 -0
- package/dist/locales/sv.json +23 -0
- package/dist/locales/tr.json +23 -0
- package/dist/locales/zh.json +23 -0
- package/dist/tokens.css +1 -1
- package/package.json +9 -1
- package/dist/_chunks/key-value-pair-C8DaR3Xs.js +0 -98
package/dist/agent-catalog.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 1,
|
|
3
|
-
"packageVersion": "0.31.
|
|
3
|
+
"packageVersion": "0.31.6",
|
|
4
4
|
"components": [
|
|
5
5
|
{
|
|
6
6
|
"kind": "component",
|
|
@@ -2276,6 +2276,33 @@
|
|
|
2276
2276
|
}
|
|
2277
2277
|
}
|
|
2278
2278
|
},
|
|
2279
|
+
{
|
|
2280
|
+
"kind": "component",
|
|
2281
|
+
"id": "operator-hero",
|
|
2282
|
+
"capabilities": [
|
|
2283
|
+
"view_change"
|
|
2284
|
+
],
|
|
2285
|
+
"state": [
|
|
2286
|
+
{
|
|
2287
|
+
"name": "name",
|
|
2288
|
+
"type": "string",
|
|
2289
|
+
"description": "Operator display name currently rendered."
|
|
2290
|
+
}
|
|
2291
|
+
],
|
|
2292
|
+
"actions": [],
|
|
2293
|
+
"domHooks": {
|
|
2294
|
+
"root": {
|
|
2295
|
+
"attr": "data-component",
|
|
2296
|
+
"value": "operator-hero",
|
|
2297
|
+
"description": "Marks the OperatorHero root region."
|
|
2298
|
+
},
|
|
2299
|
+
"instanceId": {
|
|
2300
|
+
"attr": "data-component-id",
|
|
2301
|
+
"sourceProp": "id",
|
|
2302
|
+
"description": "Sourced from the id prop."
|
|
2303
|
+
}
|
|
2304
|
+
}
|
|
2305
|
+
},
|
|
2279
2306
|
{
|
|
2280
2307
|
"kind": "component",
|
|
2281
2308
|
"id": "otp-input",
|
|
@@ -2637,6 +2664,33 @@
|
|
|
2637
2664
|
}
|
|
2638
2665
|
}
|
|
2639
2666
|
},
|
|
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
|
+
},
|
|
2640
2694
|
{
|
|
2641
2695
|
"kind": "component",
|
|
2642
2696
|
"id": "practice-results",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type ReactNode } from 'react';
|
|
2
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
3
3
|
declare const badgeVariants: (props?: ({
|
|
4
|
-
variant?: "error" | "neutral" | "info" | "success" | "warning" | null | undefined;
|
|
4
|
+
variant?: "error" | "neutral" | "info" | "success" | "warning" | "brand" | "accent" | null | undefined;
|
|
5
5
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
6
|
shape?: "pill" | "rectangular" | null | undefined;
|
|
7
7
|
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
@@ -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-
|
|
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";
|
|
2
2
|
export {
|
|
3
3
|
l as ActionsCellRenderer,
|
|
4
4
|
r as BalanceCellRenderer,
|
|
@@ -117,7 +117,9 @@ export * from './transcript-panel';
|
|
|
117
117
|
export * from './typing-indicator';
|
|
118
118
|
export * from './booking';
|
|
119
119
|
export * from './calendar';
|
|
120
|
+
export * from './operator-hero';
|
|
120
121
|
export * from './patient-search';
|
|
122
|
+
export * from './practice-profile-card';
|
|
121
123
|
export * from './practice-results';
|
|
122
124
|
export * from './payment-form';
|
|
123
125
|
export * from './pdf-viewer';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { KeyValuePair } from './key-value-pair';
|
|
2
|
-
export type { KeyValuePairProps } from './key-value-pair';
|
|
1
|
+
export { KeyValuePair, KeyValueList } from './key-value-pair';
|
|
2
|
+
export type { KeyValuePairProps, KeyValueListProps } from './key-value-pair';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type HTMLAttributes } from 'react';
|
|
1
2
|
import { type VariantProps } from 'class-variance-authority';
|
|
2
3
|
declare const keyValuePairVariants: (props?: ({
|
|
3
4
|
layout?: "horizontal" | "vertical" | null | undefined;
|
|
@@ -35,5 +36,14 @@ export interface KeyValuePairProps extends React.HTMLAttributes<HTMLDivElement>,
|
|
|
35
36
|
icon?: React.ReactElement | null;
|
|
36
37
|
}
|
|
37
38
|
export declare const KeyValuePair: import("react").ForwardRefExoticComponent<KeyValuePairProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
39
|
+
export interface KeyValueListProps extends HTMLAttributes<HTMLDivElement> {
|
|
40
|
+
/**
|
|
41
|
+
* Gap between rows. Maps to spacing tokens — defaults to `md`.
|
|
42
|
+
* Smaller gaps suit dense settings panels; larger gaps suit
|
|
43
|
+
* profile cards.
|
|
44
|
+
*/
|
|
45
|
+
rowGap?: 'sm' | 'md' | 'lg';
|
|
46
|
+
}
|
|
47
|
+
export declare const KeyValueList: import("react").ForwardRefExoticComponent<KeyValueListProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
38
48
|
export {};
|
|
39
49
|
//# sourceMappingURL=key-value-pair.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { OperatorHero } from './operator-hero';
|
|
2
|
+
export type { OperatorHeroProps, OperatorHeroBadge, OperatorHeroRating, OperatorHeroHandle, OperatorHeroDensity, } from './operator-hero';
|
|
3
|
+
export { operatorHeroAgent } from './operator-hero.agent';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const rootVariants: (props?: ({
|
|
4
|
+
density?: "compact" | "comfortable" | null | undefined;
|
|
5
|
+
surface?: "flat" | "elevated" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface OperatorHeroBadge {
|
|
8
|
+
/** Display key — i18n is up to the consumer. */
|
|
9
|
+
key: string;
|
|
10
|
+
/** Display label. */
|
|
11
|
+
label: string;
|
|
12
|
+
/** Badge variant — falls back to `neutral`. */
|
|
13
|
+
variant?: 'neutral' | 'info' | 'success' | 'warning' | 'error';
|
|
14
|
+
}
|
|
15
|
+
export interface OperatorHeroRating {
|
|
16
|
+
/** Mean rating, 0–5. */
|
|
17
|
+
value: number;
|
|
18
|
+
/** Total number of reviews. */
|
|
19
|
+
count: number;
|
|
20
|
+
}
|
|
21
|
+
export interface OperatorHeroHandle {
|
|
22
|
+
getName: () => string;
|
|
23
|
+
}
|
|
24
|
+
export interface OperatorHeroProps extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label' | 'children'> {
|
|
25
|
+
/** Operator's display name. Rendered as the H1 heading. */
|
|
26
|
+
name: string;
|
|
27
|
+
/** Specialty / tagline subtitle (e.g. "Dermatologa · 12 anni di esperienza"). */
|
|
28
|
+
tagline?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Optional photo / avatar URL. The kit always renders an `<Avatar>` —
|
|
31
|
+
* when `imageUrl` is missing the avatar falls back to initials.
|
|
32
|
+
*/
|
|
33
|
+
imageUrl?: string;
|
|
34
|
+
/** Rating summary — when present, renders a Rating + numeric breakdown line. */
|
|
35
|
+
rating?: OperatorHeroRating;
|
|
36
|
+
/**
|
|
37
|
+
* Optional badge row beneath the rating. Use sparingly — 1–3 chips
|
|
38
|
+
* suit the hero's density; longer lists belong in `<PracticeProfileCard>`.
|
|
39
|
+
*/
|
|
40
|
+
badges?: OperatorHeroBadge[];
|
|
41
|
+
/**
|
|
42
|
+
* Rendered at the inline-end of the heading row (right side on LTR).
|
|
43
|
+
* Use for a "Book with this operator" `<Button>` or a "Back to
|
|
44
|
+
* practice" link.
|
|
45
|
+
*/
|
|
46
|
+
actionSlot?: ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* `comfortable` (default) — matches the practice hero's visual
|
|
49
|
+
* weight minus the cover strip. `compact` halves the vertical
|
|
50
|
+
* padding for embedded surfaces.
|
|
51
|
+
*/
|
|
52
|
+
density?: 'comfortable' | 'compact';
|
|
53
|
+
/**
|
|
54
|
+
* `elevated` (default) wraps in `<Card variant="elevated">`. `flat`
|
|
55
|
+
* drops the Card — use inside another card / sheet.
|
|
56
|
+
*/
|
|
57
|
+
surface?: 'flat' | 'elevated';
|
|
58
|
+
'aria-label'?: string;
|
|
59
|
+
id?: string;
|
|
60
|
+
}
|
|
61
|
+
export declare const OperatorHero: import("react").ForwardRefExoticComponent<OperatorHeroProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
62
|
+
export type OperatorHeroDensity = NonNullable<VariantProps<typeof rootVariants>['density']>;
|
|
63
|
+
export {};
|
|
64
|
+
//# sourceMappingURL=operator-hero.d.ts.map
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { P as r, a as P, b as R, p as _ } from "../../_chunks/practice-profile-card-C2_2ZH_G.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
|
|
@@ -0,0 +1,4 @@
|
|
|
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
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { ExternalLink, type LucideIcon } from 'lucide-react';
|
|
4
|
+
declare const rootVariants: (props?: ({
|
|
5
|
+
surface?: "flat" | "elevated" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
export interface PracticeProfileCardAddress {
|
|
8
|
+
/** Display text — already formatted by the consumer (street, postcode, city). */
|
|
9
|
+
line: string;
|
|
10
|
+
/** Optional lat/lng — drives the static-map link + the embedded thumbnail. */
|
|
11
|
+
lat?: number;
|
|
12
|
+
lng?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface PracticeProfileCardHandle {
|
|
15
|
+
/** Resolved consumer-supplied data — useful for agent introspection. */
|
|
16
|
+
getProfession: () => string | undefined;
|
|
17
|
+
}
|
|
18
|
+
export interface PracticeProfileCardProps extends Omit<ComponentPropsWithoutRef<'div'>, 'aria-label' | 'children' | 'children'> {
|
|
19
|
+
/**
|
|
20
|
+
* Override the localised "Profilo" / "Profile" heading. Most
|
|
21
|
+
* consumers leave this unset.
|
|
22
|
+
*/
|
|
23
|
+
heading?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Free-text intro paragraph rendered above the data rows (e.g.
|
|
26
|
+
* the practice's `bookingDescription` field). When omitted, the
|
|
27
|
+
* card jumps straight into the data rows.
|
|
28
|
+
*/
|
|
29
|
+
description?: string;
|
|
30
|
+
/** Street + postcode + city, with optional lat/lng for the map link. */
|
|
31
|
+
address?: PracticeProfileCardAddress;
|
|
32
|
+
/** Phone number, displayed as-is. Compiled into a `tel:` link. */
|
|
33
|
+
phone?: string;
|
|
34
|
+
/**
|
|
35
|
+
* WhatsApp number — digits only (no `+`, no spaces). Compiled into
|
|
36
|
+
* a `https://wa.me/<number>` link with an optional pre-filled message.
|
|
37
|
+
*/
|
|
38
|
+
whatsappNumber?: string;
|
|
39
|
+
/** Optional pre-filled WhatsApp message. Consumer-localised. */
|
|
40
|
+
whatsappMessage?: string;
|
|
41
|
+
/** Public-facing email. Compiled into a `mailto:` link. */
|
|
42
|
+
email?: string;
|
|
43
|
+
/** Practice website (already an absolute URL with protocol). */
|
|
44
|
+
website?: string;
|
|
45
|
+
/**
|
|
46
|
+
* ISO 639-1 language codes the practice speaks. Rendered as
|
|
47
|
+
* `<Badge variant="neutral">` chips — the consumer can pass display
|
|
48
|
+
* labels via `languageLabels` to override the kit's default (uppercase
|
|
49
|
+
* ISO code).
|
|
50
|
+
*/
|
|
51
|
+
languages?: string[];
|
|
52
|
+
/**
|
|
53
|
+
* Map from ISO code → display label (e.g. `{ it: 'Italiano' }`).
|
|
54
|
+
* When omitted or a code is missing, the kit falls back to the
|
|
55
|
+
* uppercase code.
|
|
56
|
+
*/
|
|
57
|
+
languageLabels?: Record<string, string>;
|
|
58
|
+
/**
|
|
59
|
+
* Insurance / convention strings (consumer-supplied, free text).
|
|
60
|
+
* Rendered as `<Badge variant="info">` chips.
|
|
61
|
+
*/
|
|
62
|
+
insurances?: string[];
|
|
63
|
+
/**
|
|
64
|
+
* First-visit price in the smallest currency unit (cents / centesimi).
|
|
65
|
+
* Formatted via `Intl.NumberFormat`. Omit when the consumer doesn't
|
|
66
|
+
* want to show the price.
|
|
67
|
+
*/
|
|
68
|
+
firstVisitPriceCents?: number;
|
|
69
|
+
/** ISO-4217 currency code for the price formatter. Defaults to `EUR`. */
|
|
70
|
+
currencyCode?: string;
|
|
71
|
+
/** Profession line — single value or already-joined comma list. */
|
|
72
|
+
profession?: string;
|
|
73
|
+
/** Show the "expert for anxious patients" row when true. */
|
|
74
|
+
specializedInFearPatients?: boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Fires when the patient clicks the phone link. The kit emits a
|
|
77
|
+
* `track('practice_profile_card_phone_click')` event before
|
|
78
|
+
* invoking this — gate consumer-side analytics on the same event
|
|
79
|
+
* to avoid duplicate fires.
|
|
80
|
+
*/
|
|
81
|
+
onPhoneClick?: () => void;
|
|
82
|
+
/** Fires when the patient clicks the WhatsApp link. */
|
|
83
|
+
onWhatsAppClick?: () => void;
|
|
84
|
+
/** Fires when the patient clicks the static-map link. */
|
|
85
|
+
onMapClick?: () => void;
|
|
86
|
+
/** Fires when the patient clicks the email mailto link. */
|
|
87
|
+
onEmailClick?: () => void;
|
|
88
|
+
/**
|
|
89
|
+
* Rendered above the heading — e.g. a `<Avatar>` for the operator
|
|
90
|
+
* variant, or a coloured chip strip. Optional.
|
|
91
|
+
*/
|
|
92
|
+
headerSlot?: ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* Rendered at the end of the card body, below the rows. Use for
|
|
95
|
+
* a "Book now" `<Button>` or a "View full profile" link.
|
|
96
|
+
*/
|
|
97
|
+
footerSlot?: ReactNode;
|
|
98
|
+
/**
|
|
99
|
+
* `'flat'` (default) renders the card without elevation — content
|
|
100
|
+
* sits naked on the page. `'elevated'` wraps in `<Card variant="elevated">`
|
|
101
|
+
* for a defined surface. Most use cases want elevated; flat is for
|
|
102
|
+
* pages that already provide the card chrome.
|
|
103
|
+
*/
|
|
104
|
+
surface?: 'flat' | 'elevated';
|
|
105
|
+
/** Override the default region aria-label. */
|
|
106
|
+
'aria-label'?: string;
|
|
107
|
+
/** Agent-readiness consumer id, surfaced as `data-component-id`. */
|
|
108
|
+
id?: string;
|
|
109
|
+
}
|
|
110
|
+
export declare const PracticeProfileCard: import("react").ForwardRefExoticComponent<PracticeProfileCardProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
111
|
+
export declare const PRACTICE_PROFILE_CARD_ROW_KEYS: readonly ["address", "phone", "whatsapp", "email", "website", "languages", "insurances", "firstVisitPrice", "expertForAnxiousPatients", "profession"];
|
|
112
|
+
export declare const PRACTICE_PROFILE_CARD_ROW_ICONS: Record<(typeof PRACTICE_PROFILE_CARD_ROW_KEYS)[number], LucideIcon>;
|
|
113
|
+
export type PracticeProfileCardSurface = NonNullable<VariantProps<typeof rootVariants>['surface']>;
|
|
114
|
+
export { ExternalLink };
|
|
115
|
+
//# sourceMappingURL=practice-profile-card.d.ts.map
|
|
@@ -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-
|
|
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";
|
|
2
2
|
export {
|
|
3
3
|
r as CORE_PATIENT_FIELDS,
|
|
4
4
|
e as WorkflowCard,
|
|
@@ -1188,6 +1188,29 @@ export declare const arUi: {
|
|
|
1188
1188
|
};
|
|
1189
1189
|
};
|
|
1190
1190
|
};
|
|
1191
|
+
readonly practiceProfileCard: {
|
|
1192
|
+
readonly heading: "Profile";
|
|
1193
|
+
readonly openInGoogleMaps: "Open in Google Maps";
|
|
1194
|
+
readonly label: {
|
|
1195
|
+
readonly address: "Practice address";
|
|
1196
|
+
readonly phone: "Phone";
|
|
1197
|
+
readonly whatsapp: "WhatsApp";
|
|
1198
|
+
readonly email: "Email";
|
|
1199
|
+
readonly website: "Website";
|
|
1200
|
+
readonly languages: "Languages spoken";
|
|
1201
|
+
readonly insurances: "Insurance / partnership";
|
|
1202
|
+
readonly firstVisitPrice: "First visit cost";
|
|
1203
|
+
readonly expertForAnxiousPatients: "Expert with anxious patients";
|
|
1204
|
+
readonly profession: "Profession";
|
|
1205
|
+
};
|
|
1206
|
+
readonly value: {
|
|
1207
|
+
readonly yesShort: "Yes";
|
|
1208
|
+
};
|
|
1209
|
+
};
|
|
1210
|
+
readonly operatorHero: {
|
|
1211
|
+
readonly regionLabel: "Operator profile";
|
|
1212
|
+
readonly ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews";
|
|
1213
|
+
};
|
|
1191
1214
|
readonly reviewsPanel: {
|
|
1192
1215
|
readonly regionLabel: "تقييمات المرضى";
|
|
1193
1216
|
readonly title: "تقييمات المرضى";
|
package/dist/i18n/locales/ar.js
CHANGED
|
@@ -1171,6 +1171,29 @@ const e = {
|
|
|
1171
1171
|
}
|
|
1172
1172
|
}
|
|
1173
1173
|
},
|
|
1174
|
+
practiceProfileCard: {
|
|
1175
|
+
heading: "Profile",
|
|
1176
|
+
openInGoogleMaps: "Open in Google Maps",
|
|
1177
|
+
label: {
|
|
1178
|
+
address: "Practice address",
|
|
1179
|
+
phone: "Phone",
|
|
1180
|
+
whatsapp: "WhatsApp",
|
|
1181
|
+
email: "Email",
|
|
1182
|
+
website: "Website",
|
|
1183
|
+
languages: "Languages spoken",
|
|
1184
|
+
insurances: "Insurance / partnership",
|
|
1185
|
+
firstVisitPrice: "First visit cost",
|
|
1186
|
+
expertForAnxiousPatients: "Expert with anxious patients",
|
|
1187
|
+
profession: "Profession"
|
|
1188
|
+
},
|
|
1189
|
+
value: {
|
|
1190
|
+
yesShort: "Yes"
|
|
1191
|
+
}
|
|
1192
|
+
},
|
|
1193
|
+
operatorHero: {
|
|
1194
|
+
regionLabel: "Operator profile",
|
|
1195
|
+
ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews"
|
|
1196
|
+
},
|
|
1174
1197
|
reviewsPanel: {
|
|
1175
1198
|
regionLabel: "تقييمات المرضى",
|
|
1176
1199
|
title: "تقييمات المرضى",
|
|
@@ -1188,6 +1188,29 @@ export declare const deUi: {
|
|
|
1188
1188
|
};
|
|
1189
1189
|
};
|
|
1190
1190
|
};
|
|
1191
|
+
readonly practiceProfileCard: {
|
|
1192
|
+
readonly heading: "Profile";
|
|
1193
|
+
readonly openInGoogleMaps: "Open in Google Maps";
|
|
1194
|
+
readonly label: {
|
|
1195
|
+
readonly address: "Practice address";
|
|
1196
|
+
readonly phone: "Phone";
|
|
1197
|
+
readonly whatsapp: "WhatsApp";
|
|
1198
|
+
readonly email: "Email";
|
|
1199
|
+
readonly website: "Website";
|
|
1200
|
+
readonly languages: "Languages spoken";
|
|
1201
|
+
readonly insurances: "Insurance / partnership";
|
|
1202
|
+
readonly firstVisitPrice: "First visit cost";
|
|
1203
|
+
readonly expertForAnxiousPatients: "Expert with anxious patients";
|
|
1204
|
+
readonly profession: "Profession";
|
|
1205
|
+
};
|
|
1206
|
+
readonly value: {
|
|
1207
|
+
readonly yesShort: "Yes";
|
|
1208
|
+
};
|
|
1209
|
+
};
|
|
1210
|
+
readonly operatorHero: {
|
|
1211
|
+
readonly regionLabel: "Operator profile";
|
|
1212
|
+
readonly ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews";
|
|
1213
|
+
};
|
|
1191
1214
|
readonly reviewsPanel: {
|
|
1192
1215
|
readonly regionLabel: "Patientenbewertungen";
|
|
1193
1216
|
readonly title: "Patientenbewertungen";
|
package/dist/i18n/locales/de.js
CHANGED
|
@@ -1170,6 +1170,29 @@ const e = {
|
|
|
1170
1170
|
}
|
|
1171
1171
|
}
|
|
1172
1172
|
},
|
|
1173
|
+
practiceProfileCard: {
|
|
1174
|
+
heading: "Profile",
|
|
1175
|
+
openInGoogleMaps: "Open in Google Maps",
|
|
1176
|
+
label: {
|
|
1177
|
+
address: "Practice address",
|
|
1178
|
+
phone: "Phone",
|
|
1179
|
+
whatsapp: "WhatsApp",
|
|
1180
|
+
email: "Email",
|
|
1181
|
+
website: "Website",
|
|
1182
|
+
languages: "Languages spoken",
|
|
1183
|
+
insurances: "Insurance / partnership",
|
|
1184
|
+
firstVisitPrice: "First visit cost",
|
|
1185
|
+
expertForAnxiousPatients: "Expert with anxious patients",
|
|
1186
|
+
profession: "Profession"
|
|
1187
|
+
},
|
|
1188
|
+
value: {
|
|
1189
|
+
yesShort: "Yes"
|
|
1190
|
+
}
|
|
1191
|
+
},
|
|
1192
|
+
operatorHero: {
|
|
1193
|
+
regionLabel: "Operator profile",
|
|
1194
|
+
ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews"
|
|
1195
|
+
},
|
|
1173
1196
|
reviewsPanel: {
|
|
1174
1197
|
regionLabel: "Patientenbewertungen",
|
|
1175
1198
|
title: "Patientenbewertungen",
|
|
@@ -1185,6 +1185,29 @@ export declare const elUi: {
|
|
|
1185
1185
|
};
|
|
1186
1186
|
};
|
|
1187
1187
|
};
|
|
1188
|
+
readonly practiceProfileCard: {
|
|
1189
|
+
readonly heading: "Profile";
|
|
1190
|
+
readonly openInGoogleMaps: "Open in Google Maps";
|
|
1191
|
+
readonly label: {
|
|
1192
|
+
readonly address: "Practice address";
|
|
1193
|
+
readonly phone: "Phone";
|
|
1194
|
+
readonly whatsapp: "WhatsApp";
|
|
1195
|
+
readonly email: "Email";
|
|
1196
|
+
readonly website: "Website";
|
|
1197
|
+
readonly languages: "Languages spoken";
|
|
1198
|
+
readonly insurances: "Insurance / partnership";
|
|
1199
|
+
readonly firstVisitPrice: "First visit cost";
|
|
1200
|
+
readonly expertForAnxiousPatients: "Expert with anxious patients";
|
|
1201
|
+
readonly profession: "Profession";
|
|
1202
|
+
};
|
|
1203
|
+
readonly value: {
|
|
1204
|
+
readonly yesShort: "Yes";
|
|
1205
|
+
};
|
|
1206
|
+
};
|
|
1207
|
+
readonly operatorHero: {
|
|
1208
|
+
readonly regionLabel: "Operator profile";
|
|
1209
|
+
readonly ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews";
|
|
1210
|
+
};
|
|
1188
1211
|
readonly reviewsPanel: {
|
|
1189
1212
|
readonly regionLabel: "Κριτικές ασθενών";
|
|
1190
1213
|
readonly title: "Κριτικές ασθενών";
|
package/dist/i18n/locales/el.js
CHANGED
|
@@ -1171,6 +1171,29 @@ const e = {
|
|
|
1171
1171
|
}
|
|
1172
1172
|
}
|
|
1173
1173
|
},
|
|
1174
|
+
practiceProfileCard: {
|
|
1175
|
+
heading: "Profile",
|
|
1176
|
+
openInGoogleMaps: "Open in Google Maps",
|
|
1177
|
+
label: {
|
|
1178
|
+
address: "Practice address",
|
|
1179
|
+
phone: "Phone",
|
|
1180
|
+
whatsapp: "WhatsApp",
|
|
1181
|
+
email: "Email",
|
|
1182
|
+
website: "Website",
|
|
1183
|
+
languages: "Languages spoken",
|
|
1184
|
+
insurances: "Insurance / partnership",
|
|
1185
|
+
firstVisitPrice: "First visit cost",
|
|
1186
|
+
expertForAnxiousPatients: "Expert with anxious patients",
|
|
1187
|
+
profession: "Profession"
|
|
1188
|
+
},
|
|
1189
|
+
value: {
|
|
1190
|
+
yesShort: "Yes"
|
|
1191
|
+
}
|
|
1192
|
+
},
|
|
1193
|
+
operatorHero: {
|
|
1194
|
+
regionLabel: "Operator profile",
|
|
1195
|
+
ratingLabel: "{{value}} out of 5 stars, based on {{count}} reviews"
|
|
1196
|
+
},
|
|
1174
1197
|
reviewsPanel: {
|
|
1175
1198
|
regionLabel: "Κριτικές ασθενών",
|
|
1176
1199
|
title: "Κριτικές ασθενών",
|