@alfadocs/ui-kit 0.11.0 → 0.13.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 (74) hide show
  1. package/dist/_chunks/_commonjsHelpers-C6fGbg64.js +7 -0
  2. package/dist/_chunks/{ai-prompt-input-bAJwYu84.js → ai-prompt-input-DEiQwIMn.js} +22 -21
  3. package/dist/_chunks/{audio-recorder-BHBonrFf.js → audio-recorder-CRh4uyFL.js} +2 -2
  4. package/dist/_chunks/{autocomplete-C34hbfKh.js → autocomplete-mOg7WLOh.js} +2 -2
  5. package/dist/_chunks/{chat-input-Bov-gkwP.js → chat-input-UK-bXU7u.js} +9 -8
  6. package/dist/_chunks/{combobox-BHhnR3qm.js → combobox-D5tWe0t_.js} +2 -2
  7. package/dist/_chunks/{contact-card-VJIUqKB2.js → contact-card-DTQUMetD.js} +22 -38
  8. package/dist/_chunks/{date-picker-BD5FYW08.js → date-picker-BlhtBhPo.js} +2 -2
  9. package/dist/_chunks/{date-range-picker-BZLVgcXE.js → date-range-picker-C2hRu_Ke.js} +2 -2
  10. package/dist/_chunks/{date-time-picker-CCoRWX7R.js → date-time-picker-B67mPZmP.js} +2 -2
  11. package/dist/_chunks/external-link-C6F25E6k.js +16 -0
  12. package/dist/_chunks/{file-upload-DIecAfC-.js → file-upload-nMh-1jDD.js} +2 -2
  13. package/dist/_chunks/{index-CeY1nNvd.js → index-CFoBa86t.js} +61 -63
  14. package/dist/_chunks/{input-surface-u4QB0lxe.js → input-surface-xyERuLU_.js} +9 -3
  15. package/dist/_chunks/{leo-sidebar-B054wsZm.js → leo-sidebar-D3TuyH5_.js} +2 -2
  16. package/dist/_chunks/{link-BGpwaFik.js → link-DmM5IevO.js} +16 -26
  17. package/dist/_chunks/map-pin-B8STOPMJ.js +21 -0
  18. package/dist/_chunks/map-view-Dd48BxVB.js +1941 -0
  19. package/dist/_chunks/{multi-select-Bh-xR8kP.js → multi-select-DooDzQIp.js} +2 -2
  20. package/dist/_chunks/{number-input-mpSLk-ld.js → number-input-DH00o0DN.js} +28 -27
  21. package/dist/_chunks/{otp-input-CI-Zv5q6.js → otp-input-BBXYvLx5.js} +49 -48
  22. package/dist/_chunks/{phone-input-DtBVs5fz.js → phone-input-DKSHX7NQ.js} +23 -22
  23. package/dist/_chunks/{react-day-picker-C04L_28V.js → react-day-picker-C5F3-TTX.js} +6 -3
  24. package/dist/_chunks/{search-bar-DmZZ9UvV.js → search-bar-DORSAzNt.js} +2 -2
  25. package/dist/_chunks/{search-input-BBtSRH-Q.js → search-input-BtEJAJHa.js} +2 -2
  26. package/dist/_chunks/{select-i9MwQeQy.js → select-Ca6ibiDL.js} +13 -12
  27. package/dist/_chunks/{tabs-Cg794H0Q.js → tabs-CRCyPpJo.js} +2 -2
  28. package/dist/_chunks/{text-area-DHtcpcLv.js → text-area-D5GAe8pV.js} +26 -25
  29. package/dist/_chunks/{text-input-1oqFRbVI.js → text-input-CakysYnD.js} +26 -25
  30. package/dist/_chunks/{transcript-panel-BpJqPr7I.js → transcript-panel-DUrjx5sa.js} +2 -2
  31. package/dist/_chunks/{use-password-requirements-DbPZMfV9.js → use-password-requirements-BOgFsoIe.js} +2 -2
  32. package/dist/_chunks/whatsapp-button-Bj5FIhpC.js +175 -0
  33. package/dist/agent-catalog.json +53 -1
  34. package/dist/components/ai-prompt-input/index.js +1 -1
  35. package/dist/components/audio-recorder/index.js +1 -1
  36. package/dist/components/autocomplete/index.js +1 -1
  37. package/dist/components/chat-input/index.js +1 -1
  38. package/dist/components/combobox/index.js +1 -1
  39. package/dist/components/contact-card/index.js +1 -1
  40. package/dist/components/date-picker/index.js +1 -1
  41. package/dist/components/date-range-picker/index.js +1 -1
  42. package/dist/components/date-time-picker/index.js +1 -1
  43. package/dist/components/file-upload/index.js +1 -1
  44. package/dist/components/index.d.ts +2 -0
  45. package/dist/components/link/index.js +1 -1
  46. package/dist/components/map-view/index.d.ts +3 -0
  47. package/dist/components/map-view/index.js +5 -0
  48. package/dist/components/map-view/map-view.agent.d.ts +4 -0
  49. package/dist/components/map-view/map-view.d.ts +78 -0
  50. package/dist/components/multi-select/index.js +1 -1
  51. package/dist/components/number-input/index.js +1 -1
  52. package/dist/components/otp-input/index.js +1 -1
  53. package/dist/components/password-input/index.js +1 -1
  54. package/dist/components/phone-input/index.js +1 -1
  55. package/dist/components/search-bar/index.js +1 -1
  56. package/dist/components/search-input/index.js +1 -1
  57. package/dist/components/select/index.js +1 -1
  58. package/dist/components/tabs/index.js +1 -1
  59. package/dist/components/text-area/index.js +1 -1
  60. package/dist/components/text-input/index.js +1 -1
  61. package/dist/components/transcript-panel/index.js +1 -1
  62. package/dist/components/whatsapp-button/index.d.ts +3 -0
  63. package/dist/components/whatsapp-button/index.js +5 -0
  64. package/dist/components/whatsapp-button/whatsapp-button.d.ts +32 -0
  65. package/dist/i18n/config.js +45 -6
  66. package/dist/i18n/resources.d.ts +39 -0
  67. package/dist/index.js +361 -357
  68. package/dist/locales/de.json +13 -0
  69. package/dist/locales/en.json +13 -0
  70. package/dist/locales/it.json +13 -0
  71. package/dist/patterns/leo-assistant/index.js +1 -1
  72. package/dist/tokens/google-maps-theme.d.ts +15 -0
  73. package/dist/tokens.css +1 -1
  74. package/package.json +15 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx as t, jsxs as f } from "react/jsx-runtime";
2
2
  import { forwardRef as a, useContext as me, useState as P, useRef as G, useMemo as fe } from "react";
3
3
  import * as o from "@radix-ui/react-select";
4
- import { c as w } from "./index-D2ZczOXr.js";
4
+ import { c as z } from "./index-D2ZczOXr.js";
5
5
  import { useTranslation as ge } from "react-i18next";
6
6
  import { u as he, F as ve } from "./form-field-context-B3APVHKx.js";
7
7
  import { g as be } from "./group-options-BvKhQ3xb.js";
@@ -11,7 +11,7 @@ import { C as q } from "./chevron-down-BX_NP2Yh.js";
11
11
  import { C as xe } from "./check-DPdL_Sm7.js";
12
12
  import { u as Ne } from "./registry-C9nwlNyL.js";
13
13
  import { X as Ce } from "./x-CCcI3eJp.js";
14
- const ze = {
14
+ const we = {
15
15
  id: "select",
16
16
  capabilities: ["select_single", "open", "close"],
17
17
  state: {
@@ -79,13 +79,14 @@ const ze = {
79
79
  description: "Stable opaque option value emitted on each rendered option."
80
80
  }
81
81
  }
82
- }, L = w(
82
+ }, L = z(
83
83
  [
84
84
  "ds:group ds:inline-flex ds:items-center ds:justify-between ds:gap-[var(--spacing-sm)] ds:w-full",
85
- "ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-background",
85
+ "ds:rounded-[var(--radius-sm)] ds:border ds:border-border ds:bg-input",
86
+ "ds:shadow-[var(--shadow-input)]",
86
87
  "ds:text-foreground ds:placeholder:text-muted-foreground",
87
88
  "ds:data-[placeholder]:text-muted-foreground",
88
- "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
89
+ "ds:transition-[colors,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
89
90
  "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
90
91
  "ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
91
92
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
@@ -108,7 +109,7 @@ const ze = {
108
109
  tone: "default"
109
110
  }
110
111
  }
111
- ), we = w(
112
+ ), ze = z(
112
113
  [
113
114
  "ds:z-[var(--z-dropdown)] ds:overflow-hidden",
114
115
  "ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-background ds:text-foreground",
@@ -120,7 +121,7 @@ const ze = {
120
121
  "ds:data-[side=top]:slide-in-from-bottom-2",
121
122
  "ds:motion-reduce:animate-none"
122
123
  ].join(" ")
123
- ), Ie = w(
124
+ ), Ie = z(
124
125
  [
125
126
  "ds:relative ds:flex ds:cursor-pointer ds:items-center",
126
127
  "ds:rounded-[var(--radius-sm)]",
@@ -190,7 +191,7 @@ const I = a(
190
191
  position: n,
191
192
  sideOffset: r,
192
193
  "data-component": "select-content",
193
- className: we({ className: e }),
194
+ className: ze({ className: e }),
194
195
  ...c,
195
196
  children: [
196
197
  /* @__PURE__ */ t(o.ScrollUpButton, { className: "ds:flex ds:items-center ds:justify-center ds:h-6 ds:bg-background ds:cursor-default", children: /* @__PURE__ */ t(Se, { "aria-hidden": "true", className: "ds:size-4" }) }),
@@ -275,11 +276,11 @@ const _ = a(function({
275
276
  n ?? r ?? ""
276
277
  ), m = n !== void 0, h = m ? n : ee, [N, C] = P(!1), B = G(h);
277
278
  B.current = h;
278
- const te = S ?? (p ? u.id : void 0), O = (p ? u.disabled : !1) || !!E, se = (p ? u.required : !1) || !!X, D = p ? u.invalid : !1, oe = D ? "error" : Q, ne = p && u.describedBy ? u.describedBy : void 0, z = G(null), de = Te(Z, z), ie = ye(z), i = l, ae = (d) => {
279
+ const te = S ?? (p ? u.id : void 0), O = (p ? u.disabled : !1) || !!E, se = (p ? u.required : !1) || !!X, D = p ? u.invalid : !1, oe = D ? "error" : Q, ne = p && u.describedBy ? u.describedBy : void 0, w = G(null), de = Te(Z, w), ie = ye(w), i = l, ae = (d) => {
279
280
  m || b(d), i == null || i(d);
280
281
  }, re = (d) => {
281
282
  var y;
282
- d.preventDefault(), d.stopPropagation(), m || b(""), i == null || i(""), (y = z.current) == null || y.focus();
283
+ d.preventDefault(), d.stopPropagation(), m || b(""), i == null || i(""), (y = w.current) == null || y.focus();
283
284
  }, F = c ?? x("inputs.select.placeholder", "Select…"), le = g && !!h && !O, ce = be(s), ue = fe(
284
285
  () => ({
285
286
  getValue: () => B.current,
@@ -295,7 +296,7 @@ const _ = a(function({
295
296
  }),
296
297
  [i, m, N]
297
298
  );
298
- return Ne(ze, ue, S), /* @__PURE__ */ f(
299
+ return Ne(we, ue, S), /* @__PURE__ */ f(
299
300
  o.Root,
300
301
  {
301
302
  value: h === "" ? void 0 : h,
@@ -409,4 +410,4 @@ export {
409
410
  H as i,
410
411
  j
411
412
  };
412
- //# sourceMappingURL=select-i9MwQeQy.js.map
413
+ //# sourceMappingURL=select-Ca6ibiDL.js.map
@@ -6,7 +6,7 @@ import { a as N, c as q } from "./index-D2ZczOXr.js";
6
6
  import { useTranslation as Z } from "react-i18next";
7
7
  import { u as K } from "./use-direction-D6rvvG9G.js";
8
8
  import { c as D } from "./compose-refs-C0k0tdqF.js";
9
- import { S as ee } from "./select-i9MwQeQy.js";
9
+ import { S as ee } from "./select-Ca6ibiDL.js";
10
10
  import { X as te } from "./x-CCcI3eJp.js";
11
11
  import { u as se } from "./registry-C9nwlNyL.js";
12
12
  import { C as ae } from "./chevron-down-BX_NP2Yh.js";
@@ -396,4 +396,4 @@ export {
396
396
  F as c,
397
397
  re as t
398
398
  };
399
- //# sourceMappingURL=tabs-Cg794H0Q.js.map
399
+ //# sourceMappingURL=tabs-CRCyPpJo.js.map
@@ -1,9 +1,9 @@
1
1
  import { jsxs as N, jsx as K } from "react/jsx-runtime";
2
- import { forwardRef as de, useRef as O, useCallback as k, useState as P, useLayoutEffect as ce, useMemo as le, useEffect as ue } from "react";
2
+ import { forwardRef as de, useRef as O, useCallback as F, useState as P, useLayoutEffect as ce, useMemo as le, useEffect as ue } from "react";
3
3
  import { c as fe } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as pe } from "react-i18next";
5
- import { u as me } from "./form-field-context-B3APVHKx.js";
6
- import { u as ve } from "./registry-C9nwlNyL.js";
5
+ import { u as ve } from "./form-field-context-B3APVHKx.js";
6
+ import { u as me } from "./registry-C9nwlNyL.js";
7
7
  const ge = {
8
8
  id: "text-area",
9
9
  capabilities: ["edit_inline"],
@@ -27,8 +27,8 @@ const ge = {
27
27
  argsType: "{ value: string }",
28
28
  descriptionKey: "ui.agent.textArea.actions.setValue",
29
29
  description: "Replace the textarea value.",
30
- invoke: (t, v) => {
31
- t.setValue(v.value);
30
+ invoke: (t, m) => {
31
+ t.setValue(m.value);
32
32
  }
33
33
  },
34
34
  clear: {
@@ -62,7 +62,8 @@ const ge = {
62
62
  }
63
63
  }, be = fe(
64
64
  [
65
- "ds:block ds:w-full ds:border ds:rounded-[var(--radius-sm)] ds:bg-background ds:text-foreground",
65
+ "ds:block ds:w-full ds:border ds:rounded-[var(--radius-sm)] ds:bg-input ds:text-foreground",
66
+ "ds:shadow-[var(--shadow-input)]",
66
67
  "ds:leading-[var(--line-height-base)]",
67
68
  "ds:ps-[var(--spacing-sm)] ds:pe-[var(--spacing-sm)] ds:py-[var(--spacing-xs)]",
68
69
  "ds:focus:outline-none",
@@ -70,8 +71,8 @@ const ge = {
70
71
  "ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
71
72
  "ds:forced-colors:focus-visible:outline-[CanvasText]",
72
73
  "ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
73
- "ds:read-only:bg-muted ds:read-only:cursor-default",
74
- "ds:transition-[height,color,background-color,border-color] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
74
+ "ds:read-only:bg-muted ds:read-only:cursor-default ds:read-only:shadow-none",
75
+ "ds:transition-[height,color,background-color,border-color,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
75
76
  "ds:placeholder:text-muted-foreground"
76
77
  ].join(" "),
77
78
  {
@@ -95,7 +96,7 @@ const ge = {
95
96
  ), he = (t) => t >= 1 ? "ds:text-destructive" : t >= 0.9 ? "ds:text-warning" : "ds:text-muted-foreground", ye = (t) => [...t].length, xe = de(
96
97
  ({
97
98
  size: t = "md",
98
- tone: v = "default",
99
+ tone: m = "default",
99
100
  autoResize: s = !1,
100
101
  minRows: g = 2,
101
102
  maxRows: b,
@@ -103,7 +104,7 @@ const ge = {
103
104
  className: W,
104
105
  id: h,
105
106
  disabled: _,
106
- value: F,
107
+ value: k,
107
108
  defaultValue: E,
108
109
  maxLength: a,
109
110
  rows: q,
@@ -113,24 +114,24 @@ const ge = {
113
114
  onInput: D,
114
115
  ...$
115
116
  }, c) => {
116
- const { t: I } = pe(), o = me(), z = h ?? o.id, Y = o.disabled || _, G = o.invalid ? "error" : v, l = O(null), J = k(
117
+ const { t: I } = pe(), o = ve(), z = h ?? o.id, Y = o.disabled || _, G = o.invalid ? "error" : m, l = O(null), J = F(
117
118
  (e) => {
118
119
  l.current = e, typeof c == "function" ? c(e) : c && (c.current = e);
119
120
  },
120
121
  [c]
121
- ), u = F !== void 0, [Q, j] = P(
122
+ ), u = k !== void 0, [Q, j] = P(
122
123
  String(E ?? "")
123
- ), T = u ? String(F) : Q, p = O(!1), A = k(() => {
124
+ ), T = u ? String(k) : Q, p = O(!1), w = F(() => {
124
125
  const e = l.current;
125
126
  if (!e || !s) return;
126
- const r = window.getComputedStyle(e), d = parseFloat(r.lineHeight), f = parseFloat(r.paddingTop), m = parseFloat(r.paddingBottom), se = parseFloat(r.borderTopWidth), ae = parseFloat(r.borderBottomWidth), M = f + m + se + ae, ne = (Number.isFinite(d) ? d : 24) * g + M, oe = typeof b == "number" ? (Number.isFinite(d) ? d : 24) * b + M : Number.POSITIVE_INFINITY;
127
+ const r = window.getComputedStyle(e), d = parseFloat(r.lineHeight), f = parseFloat(r.paddingTop), v = parseFloat(r.paddingBottom), se = parseFloat(r.borderTopWidth), ae = parseFloat(r.borderBottomWidth), M = f + v + se + ae, ne = (Number.isFinite(d) ? d : 24) * g + M, oe = typeof b == "number" ? (Number.isFinite(d) ? d : 24) * b + M : Number.POSITIVE_INFINITY;
127
128
  e.style.height = "auto";
128
129
  const ie = Math.max(ne, Math.min(e.scrollHeight, oe));
129
130
  e.style.height = `${ie}px`;
130
131
  }, [s, g, b]);
131
132
  ce(() => {
132
- s && A();
133
- }, [s, A, T]);
133
+ s && w();
134
+ }, [s, w, T]);
134
135
  const U = (e) => {
135
136
  u || j(e.target.value), !p.current && (n == null || n(e));
136
137
  }, X = (e) => {
@@ -142,12 +143,12 @@ const ge = {
142
143
  ...e,
143
144
  target: r,
144
145
  currentTarget: r
145
- }), s && A();
146
- }, w = k((e) => {
147
- var m;
146
+ }), s && w();
147
+ }, A = F((e) => {
148
+ var v;
148
149
  const r = l.current;
149
150
  if (!r) return;
150
- const d = Object.getPrototypeOf(r), f = (m = Object.getOwnPropertyDescriptor(d, "value")) == null ? void 0 : m.set;
151
+ const d = Object.getPrototypeOf(r), f = (v = Object.getOwnPropertyDescriptor(d, "value")) == null ? void 0 : v.set;
151
152
  f == null || f.call(r, e), r.dispatchEvent(new Event("input", { bubbles: !0 })), r.dispatchEvent(new Event("change", { bubbles: !0 }));
152
153
  }, []), L = le(
153
154
  () => ({
@@ -155,16 +156,16 @@ const ge = {
155
156
  var e;
156
157
  return ((e = l.current) == null ? void 0 : e.value) ?? "";
157
158
  },
158
- setValue: (e) => w(e),
159
- clear: () => w(""),
159
+ setValue: (e) => A(e),
160
+ clear: () => A(""),
160
161
  focus: () => {
161
162
  var e;
162
163
  return (e = l.current) == null ? void 0 : e.focus();
163
164
  }
164
165
  }),
165
- [w]
166
+ [A]
166
167
  );
167
- ve(ge, L, h);
168
+ me(ge, L, h);
168
169
  const i = typeof a == "number" && (S ?? !0) && a > 0, V = ye(T), B = i ? Math.max(0, a - V) : 0, R = i ? V / a : 0, [C, ee] = P("");
169
170
  ue(() => {
170
171
  if (!i) return;
@@ -236,4 +237,4 @@ xe.displayName = "TextArea";
236
237
  export {
237
238
  xe as T
238
239
  };
239
- //# sourceMappingURL=text-area-DHtcpcLv.js.map
240
+ //# sourceMappingURL=text-area-D5GAe8pV.js.map
@@ -1,9 +1,9 @@
1
1
  import { jsxs as ee, jsx as d } from "react/jsx-runtime";
2
- import { forwardRef as te, useState as P, useRef as O, useCallback as R, useMemo as se } from "react";
2
+ import { forwardRef as te, useState as k, useRef as O, useCallback as R, useMemo as se } from "react";
3
3
  import { c as j } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as ae } from "react-i18next";
5
5
  import { u as ne } from "./form-field-context-B3APVHKx.js";
6
- import { I as re, a as w, b as E } from "./input-surface-u4QB0lxe.js";
6
+ import { I as re, a as w, b as E } from "./input-surface-xyERuLU_.js";
7
7
  import { u as ie } from "./registry-C9nwlNyL.js";
8
8
  import { X as oe } from "./x-CCcI3eJp.js";
9
9
  const de = {
@@ -29,8 +29,8 @@ const de = {
29
29
  argsType: "{ value: string }",
30
30
  descriptionKey: "ui.agent.textInput.actions.setValue",
31
31
  description: "Replace the input value.",
32
- invoke: (s, c) => {
33
- s.setValue(c.value);
32
+ invoke: (s, l) => {
33
+ s.setValue(l.value);
34
34
  }
35
35
  },
36
36
  clear: {
@@ -71,14 +71,15 @@ const de = {
71
71
  "ds:forced-colors:focus-within:outline-[CanvasText]",
72
72
  "ds:has-[:disabled]:cursor-not-allowed"
73
73
  ].join(" ")
74
- ), ce = j(
74
+ ), le = j(
75
75
  [
76
- "ds:w-full ds:rounded-[var(--radius-sm)] ds:border ds:bg-background ds:text-foreground",
76
+ "ds:w-full ds:rounded-[var(--radius-sm)] ds:border ds:bg-input ds:text-foreground",
77
+ "ds:shadow-[var(--shadow-input)]",
77
78
  "ds:placeholder:text-muted-foreground",
78
- "ds:transition-colors ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
79
+ "ds:transition-[colors,box-shadow] ds:duration-[var(--animation-duration)] ds:motion-reduce:transition-none",
79
80
  "ds:focus:outline-none ds:focus-visible:outline-none",
80
81
  "ds:disabled:cursor-not-allowed ds:disabled:opacity-50",
81
- "ds:read-only:bg-muted ds:read-only:cursor-default"
82
+ "ds:read-only:bg-muted ds:read-only:cursor-default ds:read-only:shadow-none"
82
83
  ].join(" "),
83
84
  {
84
85
  variants: {
@@ -112,11 +113,11 @@ const de = {
112
113
  hasEnd: !1
113
114
  }
114
115
  }
115
- ), _ = "ds:absolute ds:inset-y-0 ds:flex ds:items-center ds:pointer-events-none ds:text-muted-foreground", le = te(
116
+ ), _ = "ds:absolute ds:inset-y-0 ds:flex ds:items-center ds:pointer-events-none ds:text-muted-foreground", ce = te(
116
117
  ({
117
118
  size: s = "md",
118
- tone: c = "default",
119
- startAdornment: l,
119
+ tone: l = "default",
120
+ startAdornment: c,
120
121
  endAdornment: p,
121
122
  clearable: $ = !1,
122
123
  onClear: f,
@@ -130,19 +131,19 @@ const de = {
130
131
  onCompositionEnd: g,
131
132
  ...I
132
133
  }, o) => {
133
- const { t: K } = ae(), i = ne(), B = m ?? i.id, V = i.disabled || D, H = i.invalid ? "error" : c, u = T !== void 0, [M, h] = P(
134
+ const { t: K } = ae(), i = ne(), B = m ?? i.id, V = i.disabled || D, H = i.invalid ? "error" : l, u = T !== void 0, [M, h] = k(
134
135
  String(F ?? "")
135
- ), S = u ? String(T) : M, q = S.length > 0, b = O(!1), [W, k] = P(!1), n = O(null), X = R(
136
+ ), S = u ? String(T) : M, q = S.length > 0, b = O(!1), [W, z] = k(!1), n = O(null), X = R(
136
137
  (e) => {
137
138
  n.current = e, typeof o == "function" ? o(e) : o && (o.current = e);
138
139
  },
139
140
  [o]
140
- ), A = !!l, z = $ && q && !V && !I.readOnly, G = !!p || z, L = (e) => {
141
+ ), A = !!c, N = $ && q && !V && !I.readOnly, G = !!p || N, L = (e) => {
141
142
  u || h(e.target.value), !b.current && (a == null || a(e));
142
143
  }, J = (e) => {
143
- b.current = !0, k(!0), v == null || v(e);
144
+ b.current = !0, z(!0), v == null || v(e);
144
145
  }, Q = (e) => {
145
- b.current = !1, k(!1), g == null || g(e);
146
+ b.current = !1, z(!1), g == null || g(e);
146
147
  const t = e.currentTarget;
147
148
  u || h(t.value), a == null || a({
148
149
  ...e,
@@ -173,10 +174,10 @@ const de = {
173
174
  }
174
175
  f == null || f(), e == null || e.focus();
175
176
  }, y = R((e) => {
176
- var N;
177
+ var P;
177
178
  const t = n.current;
178
179
  if (!t) return;
179
- const x = Object.getPrototypeOf(t), r = (N = Object.getOwnPropertyDescriptor(x, "value")) == null ? void 0 : N.set;
180
+ const x = Object.getPrototypeOf(t), r = (P = Object.getOwnPropertyDescriptor(x, "value")) == null ? void 0 : P.set;
180
181
  r == null || r.call(t, e), t.dispatchEvent(new Event("input", { bubbles: !0 })), t.dispatchEvent(new Event("change", { bubbles: !0 }));
181
182
  }, []), Z = se(
182
183
  () => ({
@@ -213,12 +214,12 @@ const de = {
213
214
  "data-component-id": m,
214
215
  "data-composing": W ? "true" : void 0,
215
216
  children: [
216
- l ? /* @__PURE__ */ d(
217
+ c ? /* @__PURE__ */ d(
217
218
  "span",
218
219
  {
219
220
  "aria-hidden": "true",
220
221
  className: `${_} ds:start-0 ds:ps-3 ds:[&_svg]:size-4`,
221
- children: l
222
+ children: c
222
223
  }
223
224
  ) : null,
224
225
  /* @__PURE__ */ d(
@@ -235,7 +236,7 @@ const de = {
235
236
  onChange: L,
236
237
  onCompositionStart: J,
237
238
  onCompositionEnd: Q,
238
- className: ce({
239
+ className: le({
239
240
  size: s,
240
241
  tone: H,
241
242
  hasStart: A,
@@ -245,7 +246,7 @@ const de = {
245
246
  ...I
246
247
  }
247
248
  ),
248
- z ? /* @__PURE__ */ d(
249
+ N ? /* @__PURE__ */ d(
249
250
  "button",
250
251
  {
251
252
  type: "button",
@@ -268,8 +269,8 @@ const de = {
268
269
  );
269
270
  }
270
271
  );
271
- le.displayName = "TextInput";
272
+ ce.displayName = "TextInput";
272
273
  export {
273
- le as T
274
+ ce as T
274
275
  };
275
- //# sourceMappingURL=text-input-1oqFRbVI.js.map
276
+ //# sourceMappingURL=text-input-CakysYnD.js.map
@@ -4,7 +4,7 @@ import { c as D } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as F } from "react-i18next";
5
5
  import { u as H } from "./registry-C9nwlNyL.js";
6
6
  import { u as q } from "./index-CJE9uQmb.js";
7
- import { S as B } from "./search-input-BBtSRH-Q.js";
7
+ import { S as B } from "./search-input-BtEJAJHa.js";
8
8
  const U = {
9
9
  id: "transcript-panel",
10
10
  capabilities: ["select_single"],
@@ -343,4 +343,4 @@ export {
343
343
  te as T,
344
344
  U as t
345
345
  };
346
- //# sourceMappingURL=transcript-panel-BpJqPr7I.js.map
346
+ //# sourceMappingURL=transcript-panel-DUrjx5sa.js.map
@@ -2,7 +2,7 @@ import { jsxs as g, jsx as a } from "react/jsx-runtime";
2
2
  import { forwardRef as ts, useRef as as, useState as C, useEffect as is, useCallback as p, useMemo as V } from "react";
3
3
  import { c as L } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as W } from "react-i18next";
5
- import { T as rs } from "./text-input-1oqFRbVI.js";
5
+ import { T as rs } from "./text-input-CakysYnD.js";
6
6
  import { u as ns } from "./form-field-context-B3APVHKx.js";
7
7
  import { c as os } from "./compose-refs-C0k0tdqF.js";
8
8
  import { u as ds } from "./registry-C9nwlNyL.js";
@@ -440,4 +440,4 @@ export {
440
440
  Ns as P,
441
441
  Hs as u
442
442
  };
443
- //# sourceMappingURL=use-password-requirements-DbPZMfV9.js.map
443
+ //# sourceMappingURL=use-password-requirements-BOgFsoIe.js.map
@@ -0,0 +1,175 @@
1
+ import { jsxs as c, jsx as i } from "react/jsx-runtime";
2
+ import { forwardRef as y, useMemo as A } from "react";
3
+ import { c as m } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as C } from "react-i18next";
5
+ function u({ className: a }) {
6
+ return /* @__PURE__ */ i(
7
+ "svg",
8
+ {
9
+ "aria-hidden": "true",
10
+ viewBox: "0 0 24 24",
11
+ fill: "currentColor",
12
+ xmlns: "http://www.w3.org/2000/svg",
13
+ className: a,
14
+ children: /* @__PURE__ */ i("path", { d: "M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.149-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.71.306 1.263.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 0 1-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 0 1-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 0 1 2.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0 0 12.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 0 0 5.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 0 0-3.48-8.413Z" })
15
+ }
16
+ );
17
+ }
18
+ const _ = m(
19
+ [
20
+ "ds:relative ds:inline-flex ds:items-center ds:justify-center",
21
+ "ds:font-medium ds:whitespace-nowrap",
22
+ "ds:bg-[var(--brand-whatsapp)] ds:text-[var(--brand-whatsapp-foreground)]",
23
+ "ds:hover:bg-[var(--brand-whatsapp-hover)]",
24
+ "ds:active:opacity-90",
25
+ "ds:transition-[background-color,box-shadow,opacity]",
26
+ "ds:duration-[var(--animation-duration)]",
27
+ "ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid",
28
+ // Focus ring colour is `var(--ring)` (= `--primary` in light, ditto
29
+ // through theme cascade) — NOT `--brand-whatsapp`. Painting the
30
+ // ring brand-green on a brand-green surface makes it invisible.
31
+ "ds:focus-visible:outline-[var(--ring)] ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
32
+ // Under Windows High Contrast Mode the bg + shadow are stripped;
33
+ // repaint a solid border + swap the focus ring to CanvasText so
34
+ // the affordance stays identifiable.
35
+ "ds:forced-colors:border ds:forced-colors:border-[ButtonBorder]",
36
+ "ds:forced-colors:focus-visible:outline-[CanvasText]",
37
+ "ds:disabled:opacity-50 ds:disabled:cursor-not-allowed",
38
+ "ds:motion-reduce:transition-none"
39
+ ].join(" "),
40
+ {
41
+ variants: {
42
+ variant: {
43
+ // Pill — inline rounded button. Visible label is the brand
44
+ // affordance text; glyph sits leading.
45
+ pill: "ds:rounded-[var(--radius-full)] ds:gap-[var(--spacing-xs)]",
46
+ // FAB — circular floating action button. Glyph only; the
47
+ // label resolves into `aria-label`.
48
+ fab: [
49
+ "ds:rounded-full ds:shadow-[var(--shadow-lg)]",
50
+ "ds:hover:shadow-[var(--shadow-xl)] ds:active:shadow-[var(--shadow-md)]"
51
+ ].join(" ")
52
+ },
53
+ size: {
54
+ sm: "",
55
+ md: "",
56
+ lg: ""
57
+ }
58
+ },
59
+ compoundVariants: [
60
+ {
61
+ variant: "pill",
62
+ size: "sm",
63
+ class: 'ds:h-9 ds:ps-3 ds:pe-3.5 ds:text-[length:var(--font-size-sm)] ds:[&_svg]:size-4 ds:min-h-[var(--min-target-size)] ds:sm:min-h-0 ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[""] ds:sm:before:hidden'
64
+ },
65
+ {
66
+ variant: "pill",
67
+ size: "md",
68
+ class: "ds:h-10 ds:ps-4 ds:pe-5 ds:text-[length:var(--font-size-base)] ds:[&_svg]:size-5"
69
+ },
70
+ {
71
+ variant: "pill",
72
+ size: "lg",
73
+ class: "ds:h-12 ds:ps-5 ds:pe-6 ds:text-[length:var(--font-size-lg)] ds:[&_svg]:size-6"
74
+ },
75
+ // FAB — fixed square dimensions; the `sm` case mirrors the
76
+ // FloatingActionButton's pseudo-target expansion below the
77
+ // `sm:` breakpoint so a 40px circle still hits 44/48 px on
78
+ // mobile.
79
+ {
80
+ variant: "fab",
81
+ size: "sm",
82
+ class: 'ds:h-10 ds:w-10 ds:[&_svg]:size-5 ds:before:absolute ds:before:inset-x-[calc((var(--min-target-size)-100%)/-2)] ds:before:inset-y-[calc((var(--min-target-size)-100%)/-2)] ds:before:content-[""] ds:sm:before:hidden'
83
+ },
84
+ {
85
+ variant: "fab",
86
+ size: "md",
87
+ class: "ds:h-14 ds:w-14 ds:[&_svg]:size-7"
88
+ },
89
+ {
90
+ variant: "fab",
91
+ size: "lg",
92
+ class: "ds:h-16 ds:w-16 ds:[&_svg]:size-8"
93
+ }
94
+ ],
95
+ defaultVariants: {
96
+ variant: "pill",
97
+ size: "md"
98
+ }
99
+ }
100
+ ), j = m("", {
101
+ variants: {
102
+ position: {
103
+ static: "",
104
+ "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
+ "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
+ }
107
+ },
108
+ defaultVariants: { position: "static" }
109
+ });
110
+ function B(a, o) {
111
+ const s = a.replace(/\D/g, "");
112
+ if (s.length === 0)
113
+ return null;
114
+ const r = `https://wa.me/${s}`;
115
+ return o ? `${r}?text=${encodeURIComponent(o)}` : r;
116
+ }
117
+ const N = y(
118
+ ({
119
+ phoneNumber: a,
120
+ message: o,
121
+ variant: s = "pill",
122
+ size: r = "md",
123
+ position: h,
124
+ label: g,
125
+ className: w,
126
+ ...n
127
+ }, z) => {
128
+ const { t: p } = C(), f = A(
129
+ () => B(a, o),
130
+ [a, o]
131
+ ), e = g ?? p(s === "fab" ? "whatsApp.fabLabel" : "whatsApp.label"), x = [
132
+ _({ variant: s, size: r }),
133
+ j({ position: h }),
134
+ w
135
+ ].filter(Boolean).join(" "), d = f === null, v = {
136
+ ref: z,
137
+ ...d ? {} : {
138
+ href: f,
139
+ target: "_blank",
140
+ rel: "noopener noreferrer"
141
+ },
142
+ "aria-disabled": d ? !0 : void 0,
143
+ "data-component": "whatsapp-button",
144
+ "data-variant": s,
145
+ onClick: (l) => {
146
+ var b;
147
+ d && l.preventDefault(), (b = n.onClick) == null || b.call(n, l);
148
+ },
149
+ className: x
150
+ }, t = d ? null : p("link.opensInNewTab", "Opens in a new tab");
151
+ if (s === "fab") {
152
+ const l = typeof e == "string" ? t ? `${e} — ${t}` : e : void 0;
153
+ return /* @__PURE__ */ c("a", { ...n, ...v, "aria-label": l, children: [
154
+ /* @__PURE__ */ i(u, {}),
155
+ typeof e != "string" ? /* @__PURE__ */ c("span", { className: "ds:sr-only", children: [
156
+ e,
157
+ t ? ` — ${t}` : null
158
+ ] }) : null
159
+ ] });
160
+ }
161
+ return /* @__PURE__ */ c("a", { ...n, ...v, children: [
162
+ /* @__PURE__ */ i(u, {}),
163
+ /* @__PURE__ */ i("span", { children: e }),
164
+ t ? /* @__PURE__ */ c("span", { className: "ds:sr-only", children: [
165
+ " — ",
166
+ t
167
+ ] }) : null
168
+ ] });
169
+ }
170
+ );
171
+ N.displayName = "WhatsAppButton";
172
+ export {
173
+ N as W
174
+ };
175
+ //# sourceMappingURL=whatsapp-button-Bj5FIhpC.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.11.0",
3
+ "packageVersion": "0.13.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1628,6 +1628,44 @@
1628
1628
  }
1629
1629
  }
1630
1630
  },
1631
+ {
1632
+ "kind": "component",
1633
+ "id": "map-view",
1634
+ "capabilities": [],
1635
+ "state": [],
1636
+ "actions": [
1637
+ {
1638
+ "name": "pan_to",
1639
+ "safety": "read",
1640
+ "argsType": "{ position: { lat: number; lng: number } }",
1641
+ "description": "Pan the map to a new centre without changing zoom."
1642
+ },
1643
+ {
1644
+ "name": "set_zoom",
1645
+ "safety": "read",
1646
+ "argsType": "{ zoom: number }",
1647
+ "description": "Set the map zoom level (typical range 1–20)."
1648
+ },
1649
+ {
1650
+ "name": "select_marker",
1651
+ "safety": "read",
1652
+ "argsType": "{ id: string | null }",
1653
+ "description": "Select a marker by id, or pass null to clear the selection."
1654
+ }
1655
+ ],
1656
+ "domHooks": {
1657
+ "root": {
1658
+ "attr": "data-component",
1659
+ "value": "map-view",
1660
+ "description": "Marks the element as a kit MapView."
1661
+ },
1662
+ "instanceId": {
1663
+ "attr": "data-component-id",
1664
+ "sourceProp": "id",
1665
+ "description": "Sourced from the id prop."
1666
+ }
1667
+ }
1668
+ },
1631
1669
  {
1632
1670
  "kind": "component",
1633
1671
  "id": "matrix-rain",
@@ -3904,6 +3942,20 @@
3904
3942
  }
3905
3943
  }
3906
3944
  },
3945
+ {
3946
+ "kind": "component",
3947
+ "id": "whatsapp-button",
3948
+ "capabilities": [],
3949
+ "state": [],
3950
+ "actions": [],
3951
+ "domHooks": {
3952
+ "root": {
3953
+ "attr": "data-component",
3954
+ "value": "whatsapp-button",
3955
+ "description": "Marks the element as a kit WhatsAppButton."
3956
+ }
3957
+ }
3958
+ },
3907
3959
  {
3908
3960
  "kind": "component",
3909
3961
  "id": "workflow-card",
@@ -1,4 +1,4 @@
1
- import { A as a, a as o } from "../../_chunks/ai-prompt-input-bAJwYu84.js";
1
+ import { A as a, a as o } from "../../_chunks/ai-prompt-input-DEiQwIMn.js";
2
2
  export {
3
3
  a as AIPromptInput,
4
4
  o as aiPromptInputAgent