@alfadocs/ui-kit 0.20.1 → 0.23.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 (70) hide show
  1. package/dist/_chunks/{agenda-card-CsCm7hQv.js → agenda-card-BmpaUG1h.js} +2 -2
  2. package/dist/_chunks/{agenda-tray-B8QZ3wEp.js → agenda-tray-DiInnVqk.js} +2 -2
  3. package/dist/_chunks/{alia-sidebar-Bof6TlFx.js → alia-sidebar-CUi2UCbY.js} +3 -3
  4. package/dist/_chunks/{avatar-I10iCDs8.js → avatar-BpFohgWG.js} +24 -16
  5. package/dist/_chunks/{chat-message-ChOnwqf_.js → chat-message-W3k8rLOA.js} +2 -2
  6. package/dist/_chunks/{editable-currency-cell-renderer-Dn3-ANF5.js → editable-currency-cell-renderer-1t42gENX.js} +757 -717
  7. package/dist/_chunks/key-value-pair-DBuOCtIc.js +98 -0
  8. package/dist/_chunks/{message-card-c6R0-qXq.js → message-card-i61k1TGc.js} +2 -2
  9. package/dist/_chunks/{message-tray-BNAS8al4.js → message-tray-DrV7G-wR.js} +2 -2
  10. package/dist/_chunks/{timeline-rmls7dIh.js → timeline-Czeqr3HF.js} +2 -2
  11. package/dist/_chunks/{whatsapp-button-Bj5FIhpC.js → whatsapp-button-CtlLwM3M.js} +14 -3
  12. package/dist/_chunks/{workflow-map-BkLglexk.js → workflow-map-712GL-8u.js} +2 -2
  13. package/dist/agent-catalog.json +1 -1
  14. package/dist/components/agenda-card/index.js +1 -1
  15. package/dist/components/agenda-tray/index.js +1 -1
  16. package/dist/components/avatar/avatar.d.ts +1 -1
  17. package/dist/components/avatar/index.js +1 -1
  18. package/dist/components/chat-message/index.js +1 -1
  19. package/dist/components/data-table/filters/date-range-filter.d.ts +7 -4
  20. package/dist/components/data-table/filters/select-filter.d.ts +9 -15
  21. package/dist/components/data-table/filters/typeahead-filter.d.ts +7 -4
  22. package/dist/components/data-table/index.js +1 -1
  23. package/dist/components/key-value-pair/index.js +1 -1
  24. package/dist/components/key-value-pair/key-value-pair.d.ts +19 -1
  25. package/dist/components/message-card/index.js +1 -1
  26. package/dist/components/message-tray/index.js +1 -1
  27. package/dist/components/timeline/index.js +1 -1
  28. package/dist/components/whatsapp-button/index.js +1 -1
  29. package/dist/components/workflow/index.js +1 -1
  30. package/dist/i18n/config.d.ts +1 -1
  31. package/dist/i18n/config.js +18356 -2114
  32. package/dist/i18n/locales/ar.d.ts +1081 -0
  33. package/dist/i18n/locales/de.d.ts +1081 -0
  34. package/dist/i18n/locales/el.d.ts +1078 -0
  35. package/dist/i18n/locales/es.d.ts +1078 -0
  36. package/dist/i18n/locales/fr.d.ts +1078 -0
  37. package/dist/i18n/locales/hi.d.ts +1078 -0
  38. package/dist/i18n/locales/ja.d.ts +1078 -0
  39. package/dist/i18n/locales/nl.d.ts +1078 -0
  40. package/dist/i18n/locales/pl.d.ts +1078 -0
  41. package/dist/i18n/locales/pt.d.ts +1079 -0
  42. package/dist/i18n/locales/ro.d.ts +1078 -0
  43. package/dist/i18n/locales/ru.d.ts +1078 -0
  44. package/dist/i18n/locales/sq.d.ts +1078 -0
  45. package/dist/i18n/locales/sv.d.ts +1078 -0
  46. package/dist/i18n/locales/tr.d.ts +1078 -0
  47. package/dist/i18n/locales/zh.d.ts +1078 -0
  48. package/dist/i18n/resources.d.ts +48 -1034
  49. package/dist/index.js +12 -12
  50. package/dist/locales/ar.json +1073 -1
  51. package/dist/locales/de.json +58 -8
  52. package/dist/locales/el.json +1073 -0
  53. package/dist/locales/es.json +1073 -0
  54. package/dist/locales/fr.json +1073 -0
  55. package/dist/locales/hi.json +1073 -0
  56. package/dist/locales/it.json +31 -0
  57. package/dist/locales/ja.json +1073 -0
  58. package/dist/locales/nl.json +1073 -0
  59. package/dist/locales/pl.json +1073 -0
  60. package/dist/locales/pt.json +1073 -0
  61. package/dist/locales/ro.json +1073 -0
  62. package/dist/locales/ru.json +1073 -0
  63. package/dist/locales/sq.json +1073 -0
  64. package/dist/locales/sv.json +1073 -0
  65. package/dist/locales/tr.json +1073 -0
  66. package/dist/locales/zh.json +1073 -0
  67. package/dist/patterns/alia-assistant/index.js +1 -1
  68. package/dist/tokens.css +2 -2
  69. package/package.json +4 -1
  70. package/dist/_chunks/key-value-pair-AbrRwesr.js +0 -76
@@ -0,0 +1,98 @@
1
+ import { jsxs as t, Fragment as p, jsx as s } from "react/jsx-runtime";
2
+ import { forwardRef as z, useState as f, useCallback as b } from "react";
3
+ import { c as P } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as I } from "react-i18next";
5
+ import { I as T } from "./icon-button-C4CGcYuz.js";
6
+ import { C as j } from "./check-DPdL_Sm7.js";
7
+ import { C as K } from "./copy-B00HK7tj.js";
8
+ const A = P("ds:flex", {
9
+ variants: {
10
+ layout: {
11
+ horizontal: "ds:flex-row ds:items-center ds:gap-[var(--spacing-sm)]",
12
+ vertical: "ds:flex-col ds:gap-[var(--spacing-xs)]"
13
+ },
14
+ /** Internal — flips the root to a horizontal flex when an icon
15
+ is present so the icon can sit at the leading edge of both
16
+ horizontal and vertical inner stacks. `items-start` keeps the
17
+ icon anchored to the label row even when the value wraps. */
18
+ hasIcon: {
19
+ true: "ds:flex-row ds:items-start ds:gap-[var(--spacing-sm)]",
20
+ false: ""
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ layout: "horizontal",
25
+ hasIcon: !1
26
+ }
27
+ }), B = z(
28
+ ({
29
+ label: l,
30
+ value: o,
31
+ layout: n = "horizontal",
32
+ mono: u = !1,
33
+ copyable: h = !1,
34
+ copyText: y,
35
+ icon: r,
36
+ className: x,
37
+ ...v
38
+ }, g) => {
39
+ const { t: a } = I(), [k, d] = f(!1), [C, e] = f(""), i = y ?? (typeof o == "string" ? o : void 0), w = b(async () => {
40
+ if (i)
41
+ try {
42
+ await navigator.clipboard.writeText(i), d(!0), e(a("keyValuePair.copied")), setTimeout(() => {
43
+ d(!1), e("");
44
+ }, 2e3);
45
+ } catch {
46
+ e(a("keyValuePair.notAvailable")), setTimeout(() => e(""), 3e3);
47
+ }
48
+ }, [i, a]), N = [
49
+ "type-body ds:text-foreground ds:min-w-0 ds:shrink ds:[unicode-bidi:isolate]",
50
+ u ? "ds:font-[family-name:var(--font-mono)]" : ""
51
+ ].filter(Boolean).join(" "), c = r != null, V = n === "horizontal" ? "ds:flex ds:flex-row ds:items-start ds:gap-[var(--spacing-sm)] ds:min-w-0 ds:flex-1" : "ds:flex ds:flex-col ds:gap-[var(--spacing-xs)] ds:min-w-0 ds:flex-1", m = /* @__PURE__ */ t(p, { children: [
52
+ /* @__PURE__ */ t("span", { className: "type-label ds:text-muted-foreground ds:shrink-0", children: [
53
+ l,
54
+ /* @__PURE__ */ s("span", { className: "ds:sr-only", children: ": " })
55
+ ] }),
56
+ /* @__PURE__ */ s("span", { className: N, children: o }),
57
+ h && /* @__PURE__ */ s(
58
+ T,
59
+ {
60
+ icon: k ? /* @__PURE__ */ s(j, {}) : /* @__PURE__ */ s(K, {}),
61
+ size: "sm",
62
+ "aria-label": a("keyValuePair.copy", { label: l }),
63
+ onClick: w,
64
+ intent: "ghost",
65
+ className: n === "horizontal" ? "ds:ms-auto ds:shrink-0" : "ds:self-start"
66
+ }
67
+ )
68
+ ] });
69
+ return /* @__PURE__ */ t(
70
+ "div",
71
+ {
72
+ ref: g,
73
+ className: A({ layout: n, hasIcon: c, className: x }),
74
+ "data-component": "key-value-pair",
75
+ ...v,
76
+ children: [
77
+ c ? /* @__PURE__ */ t(p, { children: [
78
+ /* @__PURE__ */ s(
79
+ "span",
80
+ {
81
+ "aria-hidden": "true",
82
+ className: "ds:inline-flex ds:shrink-0 ds:mt-0.5 ds:text-[color:var(--key-value-pair-icon-color)] ds:[&_svg]:size-4",
83
+ children: r
84
+ }
85
+ ),
86
+ /* @__PURE__ */ s("div", { className: V, children: m })
87
+ ] }) : m,
88
+ /* @__PURE__ */ s("span", { role: "status", "aria-live": "polite", className: "ds:sr-only", children: C })
89
+ ]
90
+ }
91
+ );
92
+ }
93
+ );
94
+ B.displayName = "KeyValuePair";
95
+ export {
96
+ B as K
97
+ };
98
+ //# sourceMappingURL=key-value-pair-DBuOCtIc.js.map
@@ -4,7 +4,7 @@ import { c as D } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as E } from "react-i18next";
5
5
  import { I as H } from "./icon-button-C4CGcYuz.js";
6
6
  import { B as k } from "./button-DD_0Xdmr.js";
7
- import { A as X } from "./avatar-I10iCDs8.js";
7
+ import { A as X } from "./avatar-BpFohgWG.js";
8
8
  import { T as q } from "./timestamp-BV2lC-wV.js";
9
9
  import { X as G } from "./x-CCcI3eJp.js";
10
10
  const J = D(
@@ -277,4 +277,4 @@ export {
277
277
  Q as M,
278
278
  O as i
279
279
  };
280
- //# sourceMappingURL=message-card-c6R0-qXq.js.map
280
+ //# sourceMappingURL=message-card-i61k1TGc.js.map
@@ -8,7 +8,7 @@ import { I as me } from "./icon-button-C4CGcYuz.js";
8
8
  import { B as E } from "./button-DD_0Xdmr.js";
9
9
  import { S as L } from "./separator-CYU_bGFn.js";
10
10
  import { S as f } from "./skeleton-CZbwyJAA.js";
11
- import { M as pe } from "./message-card-c6R0-qXq.js";
11
+ import { M as pe } from "./message-card-i61k1TGc.js";
12
12
  import { u as ue } from "./registry-C9nwlNyL.js";
13
13
  import { M as F } from "./mail-C8irm52s.js";
14
14
  const ge = {
@@ -411,4 +411,4 @@ export {
411
411
  be as M,
412
412
  ge as m
413
413
  };
414
- //# sourceMappingURL=message-tray-BNAS8al4.js.map
414
+ //# sourceMappingURL=message-tray-DrV7G-wR.js.map
@@ -2,7 +2,7 @@ import { jsx as e, jsxs as c } from "react/jsx-runtime";
2
2
  import { forwardRef as m, useMemo as p, useRef as w, useState as V, useCallback as I, useImperativeHandle as O, useContext as v, createContext as C } from "react";
3
3
  import { c as b } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as A } from "react-i18next";
5
- import { A as P } from "./avatar-I10iCDs8.js";
5
+ import { A as P } from "./avatar-BpFohgWG.js";
6
6
  import { C as N } from "./card-CWzuTLYE.js";
7
7
  import { T as B } from "./timestamp-BV2lC-wV.js";
8
8
  import { u as H } from "./registry-C9nwlNyL.js";
@@ -276,4 +276,4 @@ export {
276
276
  le as T,
277
277
  K as t
278
278
  };
279
- //# sourceMappingURL=timeline-rmls7dIh.js.map
279
+ //# sourceMappingURL=timeline-Czeqr3HF.js.map
@@ -17,7 +17,13 @@ function u({ className: a }) {
17
17
  }
18
18
  const _ = m(
19
19
  [
20
- "ds:relative ds:inline-flex ds:items-center ds:justify-center",
20
+ // `position` is provided by `positionVariants` below — `static`
21
+ // sets `ds:relative` (so the pseudo-element touch-target anchors),
22
+ // `bottom-end` / `bottom-start` set `ds:fixed`. Keeping `relative`
23
+ // off the base avoids the cascade conflict that made `position:
24
+ // relative` win against `position: fixed` in the compiled CSS
25
+ // (booking-website was patching with `style={{position:'fixed'}}`).
26
+ "ds:inline-flex ds:items-center ds:justify-center",
21
27
  "ds:font-medium ds:whitespace-nowrap",
22
28
  "ds:bg-[var(--brand-whatsapp)] ds:text-[var(--brand-whatsapp-foreground)]",
23
29
  "ds:hover:bg-[var(--brand-whatsapp-hover)]",
@@ -100,7 +106,12 @@ const _ = m(
100
106
  ), j = m("", {
101
107
  variants: {
102
108
  position: {
103
- static: "",
109
+ // `relative` so the `::before` pseudo touch-target (defined in
110
+ // the `pill sm` / `fab sm` compound variants) anchors to the
111
+ // button's box. The fixed-positioning variants below don't need
112
+ // this — `position: fixed` is itself a positioning context for
113
+ // descendants and pseudo-elements.
114
+ static: "ds:relative",
104
115
  "bottom-end": "ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:end-[var(--spacing-lg)]",
105
116
  "bottom-start": "ds:fixed ds:z-[var(--z-fixed)] ds:bottom-[calc(var(--spacing-lg)+env(safe-area-inset-bottom,0px))] ds:start-[var(--spacing-lg)]"
106
117
  }
@@ -172,4 +183,4 @@ N.displayName = "WhatsAppButton";
172
183
  export {
173
184
  N as W
174
185
  };
175
- //# sourceMappingURL=whatsapp-button-Bj5FIhpC.js.map
186
+ //# sourceMappingURL=whatsapp-button-CtlLwM3M.js.map
@@ -4,7 +4,7 @@ import { c as L } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as z } from "react-i18next";
5
5
  import { C } from "./card-CWzuTLYE.js";
6
6
  import { B as be } from "./badge-cLYVGlMh.js";
7
- import { K as Z } from "./key-value-pair-AbrRwesr.js";
7
+ import { K as Z } from "./key-value-pair-DBuOCtIc.js";
8
8
  import { T as xe } from "./timestamp-BV2lC-wV.js";
9
9
  import { I as S } from "./icon-button-C4CGcYuz.js";
10
10
  import { c as _ } from "./createLucideIcon-CrFbzy84.js";
@@ -1412,4 +1412,4 @@ export {
1412
1412
  ee as r,
1413
1413
  D as w
1414
1414
  };
1415
- //# sourceMappingURL=workflow-map-BkLglexk.js.map
1415
+ //# sourceMappingURL=workflow-map-712GL-8u.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.20.1",
3
+ "packageVersion": "0.23.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1,4 +1,4 @@
1
- import { A as r, i as d } from "../../_chunks/agenda-card-CsCm7hQv.js";
1
+ import { A as r, i as d } from "../../_chunks/agenda-card-BmpaUG1h.js";
2
2
  import { a as n } from "../../_chunks/agenda-card.agent-B_R47-c9.js";
3
3
  export {
4
4
  r as AgendaCard,
@@ -1,4 +1,4 @@
1
- import { A as r, a as g } from "../../_chunks/agenda-tray-B8QZ3wEp.js";
1
+ import { A as r, a as g } from "../../_chunks/agenda-tray-DiInnVqk.js";
2
2
  export {
3
3
  r as AgendaTray,
4
4
  g as agendaTrayAgent
@@ -9,7 +9,7 @@ export declare function nameToColorClass(name: string): string;
9
9
  */
10
10
  export declare function getInitials(name: string): string;
11
11
  declare const avatarVariants: (props?: ({
12
- size?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
12
+ size?: "sm" | "md" | "lg" | "xl" | "xs" | "2xl" | "3xl" | null | undefined;
13
13
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
14
14
  export interface AvatarProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'color'>, VariantProps<typeof avatarVariants> {
15
15
  /** Image source URL. When provided and loads successfully, the image is displayed. */
@@ -1,4 +1,4 @@
1
- import { A as o, g as r, n as t } from "../../_chunks/avatar-I10iCDs8.js";
1
+ import { A as o, g as r, n as t } from "../../_chunks/avatar-BpFohgWG.js";
2
2
  export {
3
3
  o as Avatar,
4
4
  r as getInitials,
@@ -1,4 +1,4 @@
1
- import { C as s } from "../../_chunks/chat-message-ChOnwqf_.js";
1
+ import { C as s } from "../../_chunks/chat-message-W3k8rLOA.js";
2
2
  export {
3
3
  s as ChatMessage
4
4
  };
@@ -21,10 +21,13 @@ export interface DateRangeFilterModel {
21
21
  }
22
22
  export declare function DateRangeFilter(props: CustomFilterProps): import("react/jsx-runtime").JSX.Element;
23
23
  /**
24
- * Floating-filter companion for `DateRangeFilter`. Renders a compact
25
- * button showing the current range ("All" or "Jan 1 – Mar 31") that
26
- * opens the column's main filter popup. See `SelectFloatingFilter` in
27
- * `select-filter.tsx` for the rationale.
24
+ * Floating-filter companion for `DateRangeFilter`.
25
+ *
26
+ * Renders the kit's `<DateRangePicker>` directly as the floating-filter
27
+ * input — its built-in trigger button + calendar popover IS the filter
28
+ * UI. Earlier versions wrapped the picker in a second `<Popover>`,
29
+ * producing the "click → empty popover with another trigger → click
30
+ * again → calendar" double-step that read as duplicated UI.
28
31
  */
29
32
  export declare function DateRangeFloatingFilter(props: CustomFloatingFilterProps<IFilter, unknown, unknown, DateRangeFilterModel>): import("react/jsx-runtime").JSX.Element;
30
33
  //# sourceMappingURL=date-range-filter.d.ts.map
@@ -43,22 +43,16 @@ export declare function SelectFilter(props: CustomFilterProps<unknown, unknown,
43
43
  /**
44
44
  * Floating-filter companion for `SelectFilter`.
45
45
  *
46
- * AG Grid's default behaviour, when a column uses a custom React filter
47
- * without a paired floating-filter component, is to render a disabled
48
- * placeholder input in the floating-filter row. That reads as "this
49
- * filter is broken" to users. This component renders a compact button
50
- * showing the current model state ("All" or "N selected") that opens
51
- * the column's main filter popup when clicked.
46
+ * Renders the kit's `<MultiSelect>` directly as the floating-filter
47
+ * input its built-in trigger + checkbox dropdown IS the filter UI.
48
+ * Earlier versions wrapped MultiSelect in another `<Popover>`,
49
+ * producing the "click trigger empty popover with another trigger
50
+ * click checkbox list" double-step that read as duplicated UI.
52
51
  *
53
- * Wire on the same colDef:
54
- * ```tsx
55
- * {
56
- * field: 'status',
57
- * filter: SelectFilter,
58
- * floatingFilterComponent: SelectFloatingFilter,
59
- * filterParams: { options: [...] },
60
- * }
61
- * ```
52
+ * MultiSelect's options use `string` values; we string-convert the
53
+ * model's `(string | number)[]` for the trigger and parse back on
54
+ * apply. The grid model still tracks the original primitive types so
55
+ * `doesFilterPass` keeps matching numeric columns correctly.
62
56
  */
63
57
  export declare function SelectFloatingFilter(props: CustomFloatingFilterProps<IFilter, unknown, unknown, SelectFilterModel>): import("react/jsx-runtime").JSX.Element;
64
58
  //# sourceMappingURL=select-filter.d.ts.map
@@ -40,10 +40,13 @@ export interface TypeaheadFilterParams {
40
40
  }
41
41
  export declare function TypeaheadFilter(props: CustomFilterProps<unknown, unknown, TypeaheadFilterModel> & TypeaheadFilterParams): import("react/jsx-runtime").JSX.Element;
42
42
  /**
43
- * Floating-filter companion for `TypeaheadFilter`. Renders a compact
44
- * button showing the current selection ("All" or the picked label) that
45
- * opens the column's main filter popup. See `SelectFloatingFilter` in
46
- * `select-filter.tsx` for the rationale.
43
+ * Floating-filter companion for `TypeaheadFilter`.
44
+ *
45
+ * Renders the kit's `<Autocomplete>` directly as the floating-filter
46
+ * input — its built-in text input + portaled dropdown IS the filter
47
+ * UI. Earlier versions wrapped Autocomplete in a second `<Popover>`,
48
+ * producing the "click trigger → popover with another search input →
49
+ * type → list appears" double-step that read as duplicated UI.
47
50
  */
48
51
  export declare function TypeaheadFloatingFilter(props: CustomFloatingFilterProps<IFilter, unknown, unknown, TypeaheadFilterModel>): import("react/jsx-runtime").JSX.Element;
49
52
  //# sourceMappingURL=typeahead-filter.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as l, B as r, C as s, a as t, D as n, b as d, c as o, d as C, E as i, e as R, I as g, L as T, S as F, f as b, g as c, T as u, h as D, i as f, j as p, k as y, l as E, U as S, m as h, n as m, u as x } from "../../_chunks/editable-currency-cell-renderer-Dn3-ANF5.js";
1
+ import { A as l, B as r, C as s, a as t, D as n, b as d, c as o, d as C, E as i, e as R, I as g, L as T, S as F, f as b, g as c, T as u, h as D, i as f, j as p, k as y, l as E, U as S, m as h, n as m, u as x } from "../../_chunks/editable-currency-cell-renderer-1t42gENX.js";
2
2
  export {
3
3
  l as ActionsCellRenderer,
4
4
  r as BalanceCellRenderer,
@@ -1,4 +1,4 @@
1
- import { K as r } from "../../_chunks/key-value-pair-AbrRwesr.js";
1
+ import { K as r } from "../../_chunks/key-value-pair-DBuOCtIc.js";
2
2
  export {
3
3
  r as KeyValuePair
4
4
  };
@@ -1,8 +1,9 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
2
  declare const keyValuePairVariants: (props?: ({
3
3
  layout?: "horizontal" | "vertical" | null | undefined;
4
+ hasIcon?: boolean | null | undefined;
4
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
- export interface KeyValuePairProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof keyValuePairVariants> {
6
+ export interface KeyValuePairProps extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof keyValuePairVariants>, 'hasIcon'> {
6
7
  /** The label (term) */
7
8
  label: string;
8
9
  /** The value — accepts plain text, Badge, Tag, monospace code, any ReactNode */
@@ -15,6 +16,23 @@ export interface KeyValuePairProps extends React.HTMLAttributes<HTMLDivElement>,
15
16
  copyable?: boolean;
16
17
  /** The text to copy — defaults to `value` if value is a string */
17
18
  copyText?: string;
19
+ /**
20
+ * Optional decorative icon rendered at the leading edge of the pair.
21
+ * Pass a `lucide-react` icon (or any single React element) for
22
+ * visual consistency. The wrapper applies `aria-hidden="true"` and
23
+ * paints the icon with `var(--key-value-pair-icon-color)` (defaults
24
+ * to `--muted-foreground`); consumers can recolour the slot via
25
+ * that token without forking the component.
26
+ *
27
+ * Cap-height alignment with the label is automatic — the wrapper
28
+ * uses `mt-0.5` so the glyph rides the label row, not the
29
+ * geometric centre of a wrapping value.
30
+ *
31
+ * Type is `ReactElement` (not the broader `ReactNode`) so the
32
+ * intent is clear at the call site: this slot is for a single
33
+ * SVG/icon, not arbitrary fragments, strings, or numbers.
34
+ */
35
+ icon?: React.ReactElement | null;
18
36
  }
19
37
  export declare const KeyValuePair: import("react").ForwardRefExoticComponent<KeyValuePairProps & import("react").RefAttributes<HTMLDivElement>>;
20
38
  export {};
@@ -1,4 +1,4 @@
1
- import { M as a, i as r } from "../../_chunks/message-card-c6R0-qXq.js";
1
+ import { M as a, i as r } from "../../_chunks/message-card-i61k1TGc.js";
2
2
  import { m } from "../../_chunks/message-card.agent-4IeIgrnJ.js";
3
3
  export {
4
4
  a as MessageCard,
@@ -1,4 +1,4 @@
1
- import { M as s, m as r } from "../../_chunks/message-tray-BNAS8al4.js";
1
+ import { M as s, m as r } from "../../_chunks/message-tray-DrV7G-wR.js";
2
2
  export {
3
3
  s as MessageTray,
4
4
  r as messageTrayAgent
@@ -1,4 +1,4 @@
1
- import { T as t, t as m } from "../../_chunks/timeline-rmls7dIh.js";
1
+ import { T as t, t as m } from "../../_chunks/timeline-Czeqr3HF.js";
2
2
  export {
3
3
  t as Timeline,
4
4
  m as timelineAgent
@@ -1,4 +1,4 @@
1
- import { W as p } from "../../_chunks/whatsapp-button-Bj5FIhpC.js";
1
+ import { W as p } from "../../_chunks/whatsapp-button-CtlLwM3M.js";
2
2
  export {
3
3
  p as WhatsAppButton
4
4
  };
@@ -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-BkLglexk.js";
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-712GL-8u.js";
2
2
  export {
3
3
  r as CORE_PATIENT_FIELDS,
4
4
  e as WorkflowCard,
@@ -1,5 +1,5 @@
1
1
  import i18next from 'i18next';
2
2
  export default i18next;
3
- export { enUi, itUi, deUi, arUi, uiResources, LOCALES_WITH_BUNDLES, } from './resources';
3
+ export { enUi, itUi, deUi, arUi, frUi, esUi, ptUi, nlUi, roUi, sqUi, trUi, plUi, svUi, ruUi, elUi, jaUi, zhUi, hiUi, uiResources, LOCALES_WITH_BUNDLES, } from './resources';
4
4
  export { registerUiBundle } from './registerUiBundle';
5
5
  //# sourceMappingURL=config.d.ts.map