@alfadocs/ui-kit 0.31.4 → 0.31.7
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-DwZo7ggW.js +305 -0
- package/dist/_chunks/{practice-results-dOlljaAK.js → practice-results-CIkAdwRm.js} +552 -592
- 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 +128 -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 +43 -0
- package/dist/i18n/locales/ar.js +47 -0
- package/dist/i18n/locales/de.d.ts +43 -0
- package/dist/i18n/locales/de.js +47 -0
- package/dist/i18n/locales/el.d.ts +43 -0
- package/dist/i18n/locales/el.js +47 -0
- package/dist/i18n/locales/en.d.ts +43 -0
- package/dist/i18n/locales/en.js +47 -0
- package/dist/i18n/locales/es.d.ts +43 -0
- package/dist/i18n/locales/es.js +47 -0
- package/dist/i18n/locales/fr.d.ts +43 -0
- package/dist/i18n/locales/fr.js +47 -0
- package/dist/i18n/locales/hi.d.ts +43 -0
- package/dist/i18n/locales/hi.js +47 -0
- package/dist/i18n/locales/it.d.ts +43 -0
- package/dist/i18n/locales/it.js +47 -0
- package/dist/i18n/locales/ja.d.ts +43 -0
- package/dist/i18n/locales/ja.js +47 -0
- package/dist/i18n/locales/nl.d.ts +43 -0
- package/dist/i18n/locales/nl.js +47 -0
- package/dist/i18n/locales/pl.d.ts +43 -0
- package/dist/i18n/locales/pl.js +47 -0
- package/dist/i18n/locales/pt.d.ts +43 -0
- package/dist/i18n/locales/pt.js +47 -0
- package/dist/i18n/locales/ro.d.ts +43 -0
- package/dist/i18n/locales/ro.js +47 -0
- package/dist/i18n/locales/ru.d.ts +43 -0
- package/dist/i18n/locales/ru.js +47 -0
- package/dist/i18n/locales/sq.d.ts +43 -0
- package/dist/i18n/locales/sq.js +47 -0
- package/dist/i18n/locales/sv.d.ts +43 -0
- package/dist/i18n/locales/sv.js +47 -0
- package/dist/i18n/locales/tr.d.ts +43 -0
- package/dist/i18n/locales/tr.js +47 -0
- package/dist/i18n/locales/zh.d.ts +43 -0
- package/dist/i18n/locales/zh.js +47 -0
- package/dist/index.js +400 -391
- package/dist/locales/ar.json +43 -0
- package/dist/locales/de.json +43 -0
- package/dist/locales/el.json +43 -0
- package/dist/locales/en.json +43 -0
- package/dist/locales/es.json +43 -0
- package/dist/locales/fr.json +43 -0
- package/dist/locales/hi.json +43 -0
- package/dist/locales/it.json +43 -0
- package/dist/locales/ja.json +43 -0
- package/dist/locales/nl.json +43 -0
- package/dist/locales/pl.json +43 -0
- package/dist/locales/pt.json +43 -0
- package/dist/locales/ro.json +43 -0
- package/dist/locales/ru.json +43 -0
- package/dist/locales/sq.json +43 -0
- package/dist/locales/sv.json +43 -0
- package/dist/locales/tr.json +43 -0
- package/dist/locales/zh.json +43 -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.7",
|
|
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-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
|
|
@@ -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,128 @@
|
|
|
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. Each code is auto-resolved
|
|
48
|
+
* into the active locale's native language name via the kit's
|
|
49
|
+
* built-in `languages.<iso>` i18n bundle (18 ISO codes × 18
|
|
50
|
+
* locales). For example `languages={['it', 'en']}` with
|
|
51
|
+
* `i18n.language === 'it'` renders "Italiano" + "Inglese".
|
|
52
|
+
*
|
|
53
|
+
* Unknown / unbundled codes fall back to the uppercase ISO code
|
|
54
|
+
* (`'xyz'` → `'XYZ'`). To override a specific label — regional
|
|
55
|
+
* dialect, brand-voice variant, codes the kit doesn't ship — pass
|
|
56
|
+
* `languageLabels`.
|
|
57
|
+
*/
|
|
58
|
+
languages?: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Override map from ISO code → display label, applied on top of
|
|
61
|
+
* the kit's i18n auto-resolution. Only set when you need a
|
|
62
|
+
* consumer-specific label for a code — the typical case is
|
|
63
|
+
* regional dialect / brand-voice variants / non-ISO codes.
|
|
64
|
+
*
|
|
65
|
+
* Resolution order: `languageLabels[code]` > `t('languages.<code>')`
|
|
66
|
+
* > `code.toUpperCase()`.
|
|
67
|
+
*/
|
|
68
|
+
languageLabels?: Record<string, string>;
|
|
69
|
+
/**
|
|
70
|
+
* Insurance / convention strings (consumer-supplied, free text).
|
|
71
|
+
* Rendered as `<Badge variant="info">` chips.
|
|
72
|
+
*/
|
|
73
|
+
insurances?: string[];
|
|
74
|
+
/**
|
|
75
|
+
* First-visit price in the smallest currency unit (cents / centesimi).
|
|
76
|
+
* Formatted via `Intl.NumberFormat`. Omit when the consumer doesn't
|
|
77
|
+
* want to show the price.
|
|
78
|
+
*/
|
|
79
|
+
firstVisitPriceCents?: number;
|
|
80
|
+
/** ISO-4217 currency code for the price formatter. Defaults to `EUR`. */
|
|
81
|
+
currencyCode?: string;
|
|
82
|
+
/** Profession line — single value or already-joined comma list. */
|
|
83
|
+
profession?: string;
|
|
84
|
+
/** Show the "expert for anxious patients" row when true. */
|
|
85
|
+
specializedInFearPatients?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Fires when the patient clicks the phone link. The kit emits a
|
|
88
|
+
* `track('practice_profile_card_phone_click')` event before
|
|
89
|
+
* invoking this — gate consumer-side analytics on the same event
|
|
90
|
+
* to avoid duplicate fires.
|
|
91
|
+
*/
|
|
92
|
+
onPhoneClick?: () => void;
|
|
93
|
+
/** Fires when the patient clicks the WhatsApp link. */
|
|
94
|
+
onWhatsAppClick?: () => void;
|
|
95
|
+
/** Fires when the patient clicks the static-map link. */
|
|
96
|
+
onMapClick?: () => void;
|
|
97
|
+
/** Fires when the patient clicks the email mailto link. */
|
|
98
|
+
onEmailClick?: () => void;
|
|
99
|
+
/**
|
|
100
|
+
* Rendered above the heading — e.g. a `<Avatar>` for the operator
|
|
101
|
+
* variant, or a coloured chip strip. Optional.
|
|
102
|
+
*/
|
|
103
|
+
headerSlot?: ReactNode;
|
|
104
|
+
/**
|
|
105
|
+
* Rendered at the end of the card body, below the rows. Use for
|
|
106
|
+
* a "Book now" `<Button>` or a "View full profile" link.
|
|
107
|
+
*/
|
|
108
|
+
footerSlot?: ReactNode;
|
|
109
|
+
/**
|
|
110
|
+
* `'elevated'` (default) wraps the card in `<Card variant="elevated">`
|
|
111
|
+
* for a defined surface — what most consumers want when the card
|
|
112
|
+
* stands alone on a page. `'flat'` drops the Card chrome so the
|
|
113
|
+
* content sits naked — use when an outer card / sheet already
|
|
114
|
+
* provides the boundary (e.g. embedded inside a `<Sheet>` or a
|
|
115
|
+
* parent `<Card.Body>`).
|
|
116
|
+
*/
|
|
117
|
+
surface?: 'flat' | 'elevated';
|
|
118
|
+
/** Override the default region aria-label. */
|
|
119
|
+
'aria-label'?: string;
|
|
120
|
+
/** Agent-readiness consumer id, surfaced as `data-component-id`. */
|
|
121
|
+
id?: string;
|
|
122
|
+
}
|
|
123
|
+
export declare const PracticeProfileCard: import("react").ForwardRefExoticComponent<PracticeProfileCardProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
124
|
+
export declare const PRACTICE_PROFILE_CARD_ROW_KEYS: readonly ["address", "phone", "whatsapp", "email", "website", "languages", "insurances", "firstVisitPrice", "expertForAnxiousPatients", "profession"];
|
|
125
|
+
export declare const PRACTICE_PROFILE_CARD_ROW_ICONS: Record<(typeof PRACTICE_PROFILE_CARD_ROW_KEYS)[number], LucideIcon>;
|
|
126
|
+
export type PracticeProfileCardSurface = NonNullable<VariantProps<typeof rootVariants>['surface']>;
|
|
127
|
+
export { ExternalLink };
|
|
128
|
+
//# 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: "تقييمات المرضى";
|
|
@@ -1592,5 +1615,25 @@ export declare const arUi: {
|
|
|
1592
1615
|
readonly opens_in_new_tab: "(يُفتح في نافذة جديدة)";
|
|
1593
1616
|
};
|
|
1594
1617
|
};
|
|
1618
|
+
readonly languages: {
|
|
1619
|
+
readonly en: "الإنجليزية";
|
|
1620
|
+
readonly it: "الإيطالية";
|
|
1621
|
+
readonly fr: "الفرنسية";
|
|
1622
|
+
readonly de: "الألمانية";
|
|
1623
|
+
readonly es: "الإسبانية";
|
|
1624
|
+
readonly pt: "البرتغالية";
|
|
1625
|
+
readonly nl: "الهولندية";
|
|
1626
|
+
readonly pl: "البولندية";
|
|
1627
|
+
readonly ru: "الروسية";
|
|
1628
|
+
readonly ja: "اليابانية";
|
|
1629
|
+
readonly zh: "الصينية";
|
|
1630
|
+
readonly hi: "الهندية";
|
|
1631
|
+
readonly tr: "التركية";
|
|
1632
|
+
readonly sq: "الألبانية";
|
|
1633
|
+
readonly sv: "السويدية";
|
|
1634
|
+
readonly el: "اليونانية";
|
|
1635
|
+
readonly ro: "الرومانية";
|
|
1636
|
+
readonly ar: "العربية";
|
|
1637
|
+
};
|
|
1595
1638
|
};
|
|
1596
1639
|
//# sourceMappingURL=ar.d.ts.map
|
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: "تقييمات المرضى",
|
|
@@ -1574,6 +1597,30 @@ const e = {
|
|
|
1574
1597
|
external: {
|
|
1575
1598
|
opens_in_new_tab: "(يُفتح في نافذة جديدة)"
|
|
1576
1599
|
}
|
|
1600
|
+
},
|
|
1601
|
+
/* Language display names — keyed by ISO 639-1 code. Used by
|
|
1602
|
+
PracticeProfileCard / PatientSearch / PracticeResults to
|
|
1603
|
+
auto-resolve a consumer-passed languages={['it','en',...]}
|
|
1604
|
+
array into native-language labels for the active locale. */
|
|
1605
|
+
languages: {
|
|
1606
|
+
en: "الإنجليزية",
|
|
1607
|
+
it: "الإيطالية",
|
|
1608
|
+
fr: "الفرنسية",
|
|
1609
|
+
de: "الألمانية",
|
|
1610
|
+
es: "الإسبانية",
|
|
1611
|
+
pt: "البرتغالية",
|
|
1612
|
+
nl: "الهولندية",
|
|
1613
|
+
pl: "البولندية",
|
|
1614
|
+
ru: "الروسية",
|
|
1615
|
+
ja: "اليابانية",
|
|
1616
|
+
zh: "الصينية",
|
|
1617
|
+
hi: "الهندية",
|
|
1618
|
+
tr: "التركية",
|
|
1619
|
+
sq: "الألبانية",
|
|
1620
|
+
sv: "السويدية",
|
|
1621
|
+
el: "اليونانية",
|
|
1622
|
+
ro: "الرومانية",
|
|
1623
|
+
ar: "العربية"
|
|
1577
1624
|
}
|
|
1578
1625
|
};
|
|
1579
1626
|
export {
|
|
@@ -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";
|
|
@@ -1592,5 +1615,25 @@ export declare const deUi: {
|
|
|
1592
1615
|
readonly opens_in_new_tab: "(öffnet in neuem Tab)";
|
|
1593
1616
|
};
|
|
1594
1617
|
};
|
|
1618
|
+
readonly languages: {
|
|
1619
|
+
readonly en: "Englisch";
|
|
1620
|
+
readonly it: "Italienisch";
|
|
1621
|
+
readonly fr: "Französisch";
|
|
1622
|
+
readonly de: "Deutsch";
|
|
1623
|
+
readonly es: "Spanisch";
|
|
1624
|
+
readonly pt: "Portugiesisch";
|
|
1625
|
+
readonly nl: "Niederländisch";
|
|
1626
|
+
readonly pl: "Polnisch";
|
|
1627
|
+
readonly ru: "Russisch";
|
|
1628
|
+
readonly ja: "Japanisch";
|
|
1629
|
+
readonly zh: "Chinesisch";
|
|
1630
|
+
readonly hi: "Hindi";
|
|
1631
|
+
readonly tr: "Türkisch";
|
|
1632
|
+
readonly sq: "Albanisch";
|
|
1633
|
+
readonly sv: "Schwedisch";
|
|
1634
|
+
readonly el: "Griechisch";
|
|
1635
|
+
readonly ro: "Rumänisch";
|
|
1636
|
+
readonly ar: "Arabisch";
|
|
1637
|
+
};
|
|
1595
1638
|
};
|
|
1596
1639
|
//# sourceMappingURL=de.d.ts.map
|