@alfadocs/ui-kit 0.82.0 → 0.83.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 (79) hide show
  1. package/dist/_chunks/{actions-cell-renderer-DLrcSTK_.js → actions-cell-renderer-DaL80uqL.js} +2 -2
  2. package/dist/_chunks/chart-GFLv4cXm.js +609 -0
  3. package/dist/_chunks/{editable-currency-cell-renderer-GwfA9tTR.js → editable-currency-cell-renderer-Dus_sBvX.js} +2 -2
  4. package/dist/_chunks/{face-scheme-C0rk21gg.js → face-scheme-CjQAHvSP.js} +2 -2
  5. package/dist/_chunks/{file-manager-DfTG7bxx.js → file-manager-DLJlinIO.js} +3 -3
  6. package/dist/_chunks/{header-settings-DMfdx0Vq.js → header-settings-CLwFqMHI.js} +2 -2
  7. package/dist/_chunks/{icon-button-group-C_lqXTAj.js → icon-button-group-BLHPN6jg.js} +178 -163
  8. package/dist/_chunks/{marketplace-app-shell-Bxq1PYAj.js → marketplace-app-shell-Br2yebEK.js} +2 -2
  9. package/dist/_chunks/{patient-table-DweKjiXg.js → patient-table-BHzmUbzu.js} +2 -2
  10. package/dist/_chunks/{theme-toggle-BJCz_UOi.js → theme-toggle-B4mOrQX1.js} +2 -2
  11. package/dist/agent-catalog.json +57 -4
  12. package/dist/agent-i18n/en.json +7 -1
  13. package/dist/components/chart/chart.d.ts +36 -1
  14. package/dist/components/chart/index.js +1 -1
  15. package/dist/components/data-table/index.js +2 -2
  16. package/dist/components/face-scheme/index.js +1 -1
  17. package/dist/components/file-manager/index.js +1 -1
  18. package/dist/components/header-settings/index.js +1 -1
  19. package/dist/components/icon-button-group/index.js +1 -1
  20. package/dist/components/patient-table/index.js +1 -1
  21. package/dist/components/theme-toggle/index.js +1 -1
  22. package/dist/i18n/locales/ar.d.ts +8 -0
  23. package/dist/i18n/locales/ar.js +8 -0
  24. package/dist/i18n/locales/de.d.ts +8 -0
  25. package/dist/i18n/locales/de.js +8 -0
  26. package/dist/i18n/locales/el.d.ts +8 -0
  27. package/dist/i18n/locales/el.js +8 -0
  28. package/dist/i18n/locales/en.d.ts +8 -0
  29. package/dist/i18n/locales/en.js +8 -0
  30. package/dist/i18n/locales/es.d.ts +8 -0
  31. package/dist/i18n/locales/es.js +8 -0
  32. package/dist/i18n/locales/fr.d.ts +8 -0
  33. package/dist/i18n/locales/fr.js +8 -0
  34. package/dist/i18n/locales/hi.d.ts +8 -0
  35. package/dist/i18n/locales/hi.js +8 -0
  36. package/dist/i18n/locales/it.d.ts +8 -0
  37. package/dist/i18n/locales/it.js +8 -0
  38. package/dist/i18n/locales/ja.d.ts +8 -0
  39. package/dist/i18n/locales/ja.js +8 -0
  40. package/dist/i18n/locales/nl.d.ts +8 -0
  41. package/dist/i18n/locales/nl.js +8 -0
  42. package/dist/i18n/locales/pl.d.ts +8 -0
  43. package/dist/i18n/locales/pl.js +8 -0
  44. package/dist/i18n/locales/pt.d.ts +8 -0
  45. package/dist/i18n/locales/pt.js +8 -0
  46. package/dist/i18n/locales/ro.d.ts +8 -0
  47. package/dist/i18n/locales/ro.js +8 -0
  48. package/dist/i18n/locales/ru.d.ts +8 -0
  49. package/dist/i18n/locales/ru.js +8 -0
  50. package/dist/i18n/locales/sq.d.ts +8 -0
  51. package/dist/i18n/locales/sq.js +8 -0
  52. package/dist/i18n/locales/sv.d.ts +8 -0
  53. package/dist/i18n/locales/sv.js +8 -0
  54. package/dist/i18n/locales/tr.d.ts +8 -0
  55. package/dist/i18n/locales/tr.js +8 -0
  56. package/dist/i18n/locales/zh.d.ts +8 -0
  57. package/dist/i18n/locales/zh.js +8 -0
  58. package/dist/index.js +9 -9
  59. package/dist/locales/ar.json +8 -0
  60. package/dist/locales/de.json +8 -0
  61. package/dist/locales/el.json +8 -0
  62. package/dist/locales/en.json +8 -0
  63. package/dist/locales/es.json +8 -0
  64. package/dist/locales/fr.json +8 -0
  65. package/dist/locales/hi.json +8 -0
  66. package/dist/locales/it.json +8 -0
  67. package/dist/locales/ja.json +8 -0
  68. package/dist/locales/nl.json +8 -0
  69. package/dist/locales/pl.json +8 -0
  70. package/dist/locales/pt.json +8 -0
  71. package/dist/locales/ro.json +8 -0
  72. package/dist/locales/ru.json +8 -0
  73. package/dist/locales/sq.json +8 -0
  74. package/dist/locales/sv.json +8 -0
  75. package/dist/locales/tr.json +8 -0
  76. package/dist/locales/zh.json +8 -0
  77. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  78. package/package.json +1 -1
  79. package/dist/_chunks/chart-CpkpA74k.js +0 -374
@@ -1,13 +1,13 @@
1
1
  import { jsx as a, jsxs as _ } from "react/jsx-runtime";
2
- import { forwardRef as Le, useState as E, useCallback as U, useRef as L, Children as ce, isValidElement as fe, useEffect as Ne, cloneElement as pe } from "react";
3
- import { c as je } from "./index-D2ZczOXr.js";
4
- import { useTranslation as ze } from "react-i18next";
5
- import { I as ge } from "./icon-button-C_kbcd7I.js";
6
- import { D as h } from "./dropdown-menu-DU-Hrf33.js";
7
- import { u as Se } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
8
- import { u as Be } from "./use-priority-overflow-c9SjxZkZ.js";
9
- import { E as me } from "./ellipsis-dRo9ouSU.js";
10
- const be = je(
2
+ import { forwardRef as je, useState as U, useCallback as W, useRef as z, Children as pe, isValidElement as H, useEffect as ge, cloneElement as me } from "react";
3
+ import { c as ze } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as Se } from "react-i18next";
5
+ import { I as be } from "./icon-button-C_kbcd7I.js";
6
+ import { D as w } from "./dropdown-menu-DU-Hrf33.js";
7
+ import { u as Be } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
8
+ import { u as Ke } from "./use-priority-overflow-c9SjxZkZ.js";
9
+ import { E as ve } from "./ellipsis-dRo9ouSU.js";
10
+ const ye = ze(
11
11
  [
12
12
  "ds:inline-flex ds:isolate",
13
13
  // Hairline border around the group unifies the children into one
@@ -52,224 +52,239 @@ const be = je(
52
52
  orientation: "horizontal"
53
53
  }
54
54
  }
55
- ), ve = "ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none", Ke = Le(
56
- (d, b) => {
55
+ ), he = "ds:absolute ds:start-0 ds:top-0 ds:invisible ds:pointer-events-none", Pe = je(
56
+ (d, v) => {
57
57
  const {
58
- size: g,
58
+ size: m,
59
59
  orientation: u = "horizontal",
60
60
  role: i = "group",
61
61
  mode: n = "momentary",
62
- disabled: W = !1,
63
- intent: N = "outline",
64
- overflow: ye = "none",
65
- className: H,
66
- children: q,
67
- "aria-label": J,
68
- "aria-labelledby": Q,
62
+ disabled: q = !1,
63
+ intent: S = "outline",
64
+ overflow: we = "none",
65
+ className: J,
66
+ children: Q,
67
+ "aria-label": X,
68
+ "aria-labelledby": Y,
69
69
  // Controlled-value props are consumed via `props as …` below; strip them
70
70
  // here so they never spread onto the root <div> (React would warn that
71
71
  // `onValueChange` is an unknown DOM event handler).
72
- value: Te,
73
- defaultValue: _e,
74
- onValueChange: Fe,
75
- ...X
76
- } = d, { t: he } = ze(), v = ye === "menu" && u !== "vertical", [Y, Z] = E(
72
+ value: _e,
73
+ defaultValue: Fe,
74
+ onValueChange: Ge,
75
+ ...Z
76
+ } = d, { t: ke } = Se(), y = we === "menu" && u !== "vertical", [ee, oe] = U(
77
77
  () => n === "toggle-single" ? d.defaultValue ?? "" : n === "toggle-multi" ? d.defaultValue ?? [] : ""
78
- ), w = (() => {
78
+ ), g = (() => {
79
79
  if (n === "toggle-single") {
80
80
  const e = d;
81
- return e.value !== void 0 ? e.value : Y;
81
+ return e.value !== void 0 ? e.value : ee;
82
82
  }
83
83
  if (n === "toggle-multi") {
84
84
  const e = d;
85
- return e.value !== void 0 ? e.value : Y;
85
+ return e.value !== void 0 ? e.value : ee;
86
86
  }
87
87
  return "";
88
- })(), k = U(
88
+ })(), k = W(
89
89
  (e) => {
90
90
  var o, r;
91
91
  if (n === "toggle-single") {
92
92
  const t = d;
93
- t.value === void 0 && Z(e), (o = t.onValueChange) == null || o.call(t, e);
93
+ t.value === void 0 && oe(e), (o = t.onValueChange) == null || o.call(t, e);
94
94
  } else if (n === "toggle-multi") {
95
95
  const t = d;
96
- t.value === void 0 && Z(e), (r = t.onValueChange) == null || r.call(t, e);
96
+ t.value === void 0 && oe(e), (r = t.onValueChange) == null || r.call(t, e);
97
97
  }
98
98
  },
99
99
  [n, d]
100
- ), m = i === "toolbar" || i === "radiogroup", R = L([]), [y, j] = E(0), ee = U(
100
+ ), b = i === "toolbar" || i === "radiogroup", R = z([]), [h, I] = U(0), te = W(
101
101
  (e, o) => {
102
102
  R.current[e] = o;
103
103
  },
104
104
  []
105
- ), oe = L(null), [F, we] = E(!1);
106
- Se(() => {
105
+ ), re = z(null), [F, Ce] = U(!1);
106
+ Be(() => {
107
107
  if (typeof window > "u") return;
108
- const e = oe.current;
108
+ const e = re.current;
109
109
  if (!e) return;
110
110
  const o = window.getComputedStyle(e).direction;
111
- we(o === "rtl");
111
+ Ce(o === "rtl");
112
112
  }, []);
113
- const G = U(
113
+ const G = W(
114
114
  (e) => {
115
- var P;
116
- if (!m) return;
115
+ var T;
116
+ if (!b) return;
117
117
  const o = R.current.filter(Boolean).length;
118
118
  if (o === 0) return;
119
119
  const r = u === "vertical" ? "ArrowDown" : F ? "ArrowLeft" : "ArrowRight", t = u === "vertical" ? "ArrowUp" : F ? "ArrowRight" : "ArrowLeft";
120
120
  let s = null;
121
- if (e.key === r ? s = (y + 1) % o : e.key === t ? s = (y - 1 + o) % o : e.key === "Home" ? s = 0 : e.key === "End" && (s = o - 1), s === null) return;
122
- const V = o;
121
+ if (e.key === r ? s = (h + 1) % o : e.key === t ? s = (h - 1 + o) % o : e.key === "Home" ? s = 0 : e.key === "End" && (s = o - 1), s === null) return;
122
+ const L = o;
123
123
  let C = 0, c = s;
124
- for (; C < V; ) {
124
+ for (; C < L; ) {
125
125
  const f = R.current[c];
126
126
  if (f && f.getAttribute("aria-disabled") !== "true" && !f.disabled)
127
127
  break;
128
128
  c = e.key === t || e.key === "End" ? (c - 1 + o) % o : (c + 1) % o, C += 1;
129
129
  }
130
- if (e.preventDefault(), j(c), (P = R.current[c]) == null || P.focus(), i === "radiogroup" && n === "toggle-single") {
131
- const f = ne.current[c];
130
+ if (e.preventDefault(), I(c), (T = R.current[c]) == null || T.focus(), i === "radiogroup" && n === "toggle-single") {
131
+ const f = se.current[c];
132
132
  if (f && typeof f == "object" && "props" in f) {
133
- const T = f.props.value;
134
- T && k(T);
133
+ const N = f.props.value;
134
+ N && N !== g && k(N);
135
135
  }
136
136
  }
137
137
  },
138
- [m, u, F, y, i, n, k]
139
- ), I = v ? ce.toArray(q).filter(fe) : [], z = (e) => {
138
+ [
139
+ b,
140
+ u,
141
+ F,
142
+ h,
143
+ i,
144
+ n,
145
+ k,
146
+ g
147
+ ]
148
+ ), x = y ? pe.toArray(Q).filter(H) : [], B = (e) => {
140
149
  const o = e.props["aria-label"];
141
150
  return typeof o == "string" ? o : typeof e.props.tooltip == "string" ? e.props.tooltip : null;
142
151
  };
143
- L(!1);
144
- const ke = I.map((e) => {
145
- const o = e.props["data-overflow-pin"] !== void 0, r = z(e) !== null;
152
+ z(!1);
153
+ const Re = x.map((e) => {
154
+ const o = e.props["data-overflow-pin"] !== void 0, r = B(e) !== null;
146
155
  return o || !r;
147
- }), { containerRef: Ce, fullRowRef: Re, triggerProbeRef: Ie, visible: te, overflowing: S } = Be({
148
- enabled: v,
149
- count: I.length,
150
- pinned: ke
151
- }), re = L(null), B = v ? I.filter((e, o) => te[o]) : ce.toArray(q);
152
- v && (R.current.length = B.length + (S ? 1 : 0));
153
- const ne = L([]);
154
- ne.current = B;
155
- const x = B.length;
156
- Ne(() => {
156
+ }), { containerRef: Ie, fullRowRef: xe, triggerProbeRef: Ae, visible: ne, overflowing: K } = Ke({
157
+ enabled: y,
158
+ count: x.length,
159
+ pinned: Re
160
+ }), ie = z(null), A = y ? x.filter((e, o) => ne[o]) : pe.toArray(Q);
161
+ y && (R.current.length = A.length + (K ? 1 : 0));
162
+ const se = z([]);
163
+ se.current = A;
164
+ const M = i === "radiogroup" && n === "toggle-single" ? A.findIndex(
165
+ (e) => H(e) && e.props.value === g
166
+ ) : -1;
167
+ ge(() => {
168
+ M >= 0 && I(M);
169
+ }, [M]);
170
+ const V = A.length;
171
+ ge(() => {
157
172
  var o;
158
- if (!m || !v) return;
159
- const e = x + (S ? 1 : 0);
160
- e > 0 && y >= e && (j(e - 1), document.activeElement === document.body && ((o = re.current) == null || o.focus()));
173
+ if (!b || !y) return;
174
+ const e = V + (K ? 1 : 0);
175
+ e > 0 && h >= e && (I(e - 1), document.activeElement === document.body && ((o = ie.current) == null || o.focus()));
161
176
  }, [
162
- m,
163
- v,
164
- x,
165
- S,
166
- y
177
+ b,
178
+ y,
179
+ V,
180
+ K,
181
+ h
167
182
  ]);
168
- const ie = B.map((e, o) => {
169
- if (!fe(e))
183
+ const ae = A.map((e, o) => {
184
+ if (!H(e))
170
185
  return e;
171
- const r = e, t = r.props.value, { ariaPressed: s, ariaChecked: V } = Pe(
186
+ const r = e, t = r.props.value, { ariaPressed: s, ariaChecked: L } = Te(
172
187
  n,
173
188
  i,
174
189
  t,
175
- w
176
- ), C = W === !0, c = r.props.disabled === !0, P = (p) => {
177
- var l, D;
190
+ g
191
+ ), C = q === !0, c = r.props.disabled === !0, T = (p) => {
192
+ var l, j;
178
193
  if (C) {
179
194
  p.preventDefault(), p.stopPropagation();
180
195
  return;
181
196
  }
182
- if ((D = (l = r.props).onClick) == null || D.call(l, p), !p.defaultPrevented && t) {
197
+ if ((j = (l = r.props).onClick) == null || j.call(l, p), !p.defaultPrevented && t) {
183
198
  if (n === "toggle-single") {
184
- if (w === t) return;
199
+ if (g === t) return;
185
200
  k(t);
186
201
  } else if (n === "toggle-multi") {
187
- const $ = w, Ve = $.includes(t) ? $.filter((De) => De !== t) : [...$, t];
188
- k(Ve);
202
+ const E = g, Le = E.includes(t) ? E.filter((Ne) => Ne !== t) : [...E, t];
203
+ k(Le);
189
204
  }
190
205
  }
191
206
  }, f = (p) => {
192
- ee(o, p);
207
+ te(o, p);
193
208
  const l = r.ref;
194
209
  typeof l == "function" ? l(p) : l != null && typeof l == "object" && (l.current = p);
195
- }, T = C && !c ? !0 : void 0, xe = n !== "momentary" || C, Ae = {
196
- intent: r.props.intent ?? N,
197
- size: r.props.size ?? g,
210
+ }, N = C && !c ? !0 : void 0, Ve = n !== "momentary" || C, De = {
211
+ intent: r.props.intent ?? S,
212
+ size: r.props.size ?? m,
198
213
  disabled: c,
199
- "aria-disabled": T,
200
- onClick: xe ? P : r.props.onClick,
214
+ "aria-disabled": N,
215
+ onClick: Ve ? T : r.props.onClick,
201
216
  "aria-pressed": s,
202
- "aria-checked": V,
217
+ "aria-checked": L,
203
218
  // When the group is a radiogroup, children must be `role="radio"`
204
219
  // so screen readers announce them as radio buttons and so
205
220
  // `getByRole('radio')` works in tests. The button element is
206
221
  // re-purposed as a radio; `aria-checked` above carries the state.
207
222
  role: i === "radiogroup" ? "radio" : void 0,
208
- tabIndex: m ? o === y ? 0 : -1 : void 0,
223
+ tabIndex: b ? o === h ? 0 : -1 : void 0,
209
224
  onFocus: (p) => {
210
- var l, D;
211
- m && j(o), (D = (l = r.props).onFocus) == null || D.call(l, p);
225
+ var l, j;
226
+ b && I(o), (j = (l = r.props).onFocus) == null || j.call(l, p);
212
227
  },
213
228
  ref: f
214
229
  };
215
- return pe(r, Ae);
216
- }), se = (e) => {
217
- oe.current = e, typeof b == "function" ? b(e) : b && typeof b == "object" && (b.current = e);
230
+ return me(r, De);
231
+ }), le = (e) => {
232
+ re.current = e, typeof v == "function" ? v(e) : v && typeof v == "object" && (v.current = e);
218
233
  };
219
- if (!v)
234
+ if (!y)
220
235
  return /* @__PURE__ */ a(
221
236
  "div",
222
237
  {
223
- ref: se,
238
+ ref: le,
224
239
  role: i,
225
- "aria-label": J,
226
- "aria-labelledby": Q,
240
+ "aria-label": X,
241
+ "aria-labelledby": Y,
227
242
  "aria-orientation": i === "toolbar" ? u : void 0,
228
243
  onKeyDown: G,
229
- className: be({ orientation: u, className: H }),
244
+ className: ye({ orientation: u, className: J }),
230
245
  "data-component": "icon-button-group",
231
- ...X,
232
- children: ie
246
+ ...Z,
247
+ children: ae
233
248
  }
234
249
  );
235
- const ae = he("buttonGroup.more", "More options"), A = W === !0, M = I.map((e, o) => ({ childEl: e, i: o })).filter(({ i: e }) => !te[e]);
236
- let K = null;
237
- n === "toggle-single" ? K = /* @__PURE__ */ a(
238
- h.RadioGroup,
250
+ const de = ke("buttonGroup.more", "More options"), D = q === !0, O = x.map((e, o) => ({ childEl: e, i: o })).filter(({ i: e }) => !ne[e]);
251
+ let P = null;
252
+ n === "toggle-single" ? P = /* @__PURE__ */ a(
253
+ w.RadioGroup,
239
254
  {
240
- value: w,
255
+ value: g,
241
256
  onValueChange: (e) => {
242
- !A && e !== w && k(e);
257
+ !D && e !== g && k(e);
243
258
  },
244
- children: M.map(({ childEl: e, i: o }) => /* @__PURE__ */ a(
245
- h.RadioItem,
259
+ children: O.map(({ childEl: e, i: o }) => /* @__PURE__ */ a(
260
+ w.RadioItem,
246
261
  {
247
262
  value: e.props.value ?? "",
248
- disabled: A || e.props.disabled === !0,
249
- children: z(e)
263
+ disabled: D || e.props.disabled === !0,
264
+ children: B(e)
250
265
  },
251
266
  e.key ?? o
252
267
  ))
253
268
  }
254
- ) : n === "toggle-multi" ? K = M.map(({ childEl: e, i: o }) => {
255
- const r = e.props.value, t = w, s = r ? t.includes(r) : !1;
269
+ ) : n === "toggle-multi" ? P = O.map(({ childEl: e, i: o }) => {
270
+ const r = e.props.value, t = g, s = r ? t.includes(r) : !1;
256
271
  return /* @__PURE__ */ a(
257
- h.CheckboxItem,
272
+ w.CheckboxItem,
258
273
  {
259
274
  checked: s,
260
- disabled: A || e.props.disabled === !0,
275
+ disabled: D || e.props.disabled === !0,
261
276
  onCheckedChange: () => {
262
- A || !r || k(s ? t.filter((V) => V !== r) : [...t, r]);
277
+ D || !r || k(s ? t.filter((L) => L !== r) : [...t, r]);
263
278
  },
264
- children: z(e)
279
+ children: B(e)
265
280
  },
266
281
  e.key ?? o
267
282
  );
268
- }) : K = M.map(({ childEl: e, i: o }) => /* @__PURE__ */ a(
269
- h.Item,
283
+ }) : P = O.map(({ childEl: e, i: o }) => /* @__PURE__ */ a(
284
+ w.Item,
270
285
  {
271
286
  startIcon: e.props.icon,
272
- disabled: A || e.props.disabled === !0,
287
+ disabled: D || e.props.disabled === !0,
273
288
  onSelect: (r) => {
274
289
  var t, s;
275
290
  (s = (t = e.props).onClick) == null || s.call(
@@ -277,64 +292,64 @@ const be = je(
277
292
  r
278
293
  );
279
294
  },
280
- children: z(e)
295
+ children: B(e)
281
296
  },
282
297
  e.key ?? o
283
298
  ));
284
- const le = S ? /* @__PURE__ */ _(h.Root, { children: [
285
- /* @__PURE__ */ a(h.Trigger, { asChild: !0, children: /* @__PURE__ */ a(
286
- ge,
299
+ const ue = K ? /* @__PURE__ */ _(w.Root, { children: [
300
+ /* @__PURE__ */ a(w.Trigger, { asChild: !0, children: /* @__PURE__ */ a(
301
+ be,
287
302
  {
288
- icon: /* @__PURE__ */ a(me, {}),
289
- intent: N,
290
- size: g,
291
- "aria-label": ae,
303
+ icon: /* @__PURE__ */ a(ve, {}),
304
+ intent: S,
305
+ size: m,
306
+ "aria-label": de,
292
307
  ref: (e) => {
293
- re.current = e, ee(x, e);
308
+ ie.current = e, te(V, e);
294
309
  },
295
- tabIndex: m ? y === x ? 0 : -1 : void 0,
296
- onFocus: m ? () => j(x) : void 0
310
+ tabIndex: b ? h === V ? 0 : -1 : void 0,
311
+ onFocus: b ? () => I(V) : void 0
297
312
  }
298
313
  ) }),
299
- /* @__PURE__ */ a(h.Content, { align: "end", children: K })
300
- ] }) : null, de = be({ orientation: u }), O = i !== "radiogroup", ue = /* @__PURE__ */ _(
314
+ /* @__PURE__ */ a(w.Content, { align: "end", children: P })
315
+ ] }) : null, ce = ye({ orientation: u }), $ = i !== "radiogroup", fe = /* @__PURE__ */ _(
301
316
  "div",
302
317
  {
303
318
  role: i,
304
- "aria-label": J,
305
- "aria-labelledby": Q,
319
+ "aria-label": X,
320
+ "aria-labelledby": Y,
306
321
  "aria-orientation": i === "toolbar" ? u : void 0,
307
- onKeyDown: O ? G : void 0,
308
- className: `${de} ds:max-w-full`,
322
+ onKeyDown: $ ? G : void 0,
323
+ className: `${ce} ds:max-w-full`,
309
324
  children: [
310
- ie,
311
- O ? le : null
325
+ ae,
326
+ $ ? ue : null
312
327
  ]
313
328
  }
314
329
  );
315
330
  return /* @__PURE__ */ a(
316
331
  "div",
317
332
  {
318
- ref: se,
333
+ ref: le,
319
334
  "data-component": "icon-button-group",
320
335
  className: [
321
336
  "ds:relative ds:block ds:w-full ds:min-w-0 ds:overflow-x-clip",
322
- H ?? ""
337
+ J ?? ""
323
338
  ].join(" ").trim(),
324
- ...X,
325
- children: /* @__PURE__ */ _("div", { ref: Ce, className: "ds:block ds:w-full ds:min-w-0", children: [
339
+ ...Z,
340
+ children: /* @__PURE__ */ _("div", { ref: Ie, className: "ds:block ds:w-full ds:min-w-0", children: [
326
341
  /* @__PURE__ */ a(
327
342
  "div",
328
343
  {
329
- ref: Re,
344
+ ref: xe,
330
345
  "aria-hidden": "true",
331
346
  inert: !0,
332
- className: `${ve} ${de}`,
333
- children: I.map(
334
- (e, o) => pe(e, {
347
+ className: `${he} ${ce}`,
348
+ children: x.map(
349
+ (e, o) => me(e, {
335
350
  key: e.key ?? o,
336
- intent: e.props.intent ?? N,
337
- size: e.props.size ?? g,
351
+ intent: e.props.intent ?? S,
352
+ size: e.props.size ?? m,
338
353
  tabIndex: -1,
339
354
  ref: null
340
355
  })
@@ -344,23 +359,23 @@ const be = je(
344
359
  /* @__PURE__ */ a(
345
360
  "span",
346
361
  {
347
- ref: Ie,
362
+ ref: Ae,
348
363
  "aria-hidden": "true",
349
364
  inert: !0,
350
- className: ve,
365
+ className: he,
351
366
  children: /* @__PURE__ */ a(
352
- ge,
367
+ be,
353
368
  {
354
- icon: /* @__PURE__ */ a(me, {}),
355
- intent: N,
356
- size: g,
357
- "aria-label": ae,
369
+ icon: /* @__PURE__ */ a(ve, {}),
370
+ intent: S,
371
+ size: m,
372
+ "aria-label": de,
358
373
  tabIndex: -1
359
374
  }
360
375
  )
361
376
  }
362
377
  ),
363
- O ? ue : (
378
+ $ ? fe : (
364
379
  // eslint-disable-next-line jsx-a11y/no-static-element-interactions -- non-focusable wrapper; arrow-key roving bubbles up from the focusable IconButtons in the strip and the overflow trigger
365
380
  /* @__PURE__ */ _(
366
381
  "div",
@@ -368,8 +383,8 @@ const be = je(
368
383
  className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]",
369
384
  onKeyDown: G,
370
385
  children: [
371
- ue,
372
- le
386
+ fe,
387
+ ue
373
388
  ]
374
389
  }
375
390
  )
@@ -379,13 +394,13 @@ const be = je(
379
394
  );
380
395
  }
381
396
  );
382
- Ke.displayName = "IconButtonGroup";
383
- function Pe(d, b, g, u) {
384
- if (d === "momentary" || !g) return {};
385
- const i = d === "toggle-multi" ? u.includes(g) : u === g;
386
- return b === "radiogroup" ? { ariaChecked: i } : { ariaPressed: i };
397
+ Pe.displayName = "IconButtonGroup";
398
+ function Te(d, v, m, u) {
399
+ if (d === "momentary" || !m) return {};
400
+ const i = d === "toggle-multi" ? u.includes(m) : u === m;
401
+ return v === "radiogroup" ? { ariaChecked: i } : { ariaPressed: i };
387
402
  }
388
403
  export {
389
- Ke as I
404
+ Pe as I
390
405
  };
391
- //# sourceMappingURL=icon-button-group-C_lqXTAj.js.map
406
+ //# sourceMappingURL=icon-button-group-BLHPN6jg.js.map
@@ -9,7 +9,7 @@ import { C as w } from "./card-DPmk26CL.js";
9
9
  import { D as m } from "./dropdown-menu-DU-Hrf33.js";
10
10
  import { T as F } from "./tab-bar-Axhk6xzx.js";
11
11
  import { a as S, H as q, g as G, f as A, e as J, c as K, d as Q } from "./header-CjwasYnn.js";
12
- import { H as U } from "./header-settings-DMfdx0Vq.js";
12
+ import { H as U } from "./header-settings-CLwFqMHI.js";
13
13
  import { S as X } from "./sign-in-with-alfadocs-button-UlYefZpI.js";
14
14
  import { S as Y, a as Z, j as _, k as aa, i as ea, h as z } from "./sidebar-C0PbwJBc.js";
15
15
  import { T as sa } from "./theme-root-BOO73p5t.js";
@@ -510,4 +510,4 @@ export {
510
510
  va as M,
511
511
  g as P
512
512
  };
513
- //# sourceMappingURL=marketplace-app-shell-Bxq1PYAj.js.map
513
+ //# sourceMappingURL=marketplace-app-shell-Br2yebEK.js.map
@@ -1,7 +1,7 @@
1
1
  import { jsxs as O, jsx as g } from "react/jsx-runtime";
2
2
  import { createElement as x, useRef as k, useEffect as ee, useCallback as z, forwardRef as he, useState as te, useImperativeHandle as pe, useMemo as Y } from "react";
3
3
  import { useTranslation as $ } from "react-i18next";
4
- import { a as p, T as b, A as be, d as ne, D as P, e as ge } from "./actions-cell-renderer-DLrcSTK_.js";
4
+ import { a as p, T as b, A as be, d as ne, D as P, e as ge } from "./actions-cell-renderer-DaL80uqL.js";
5
5
  import { S as Ce } from "./select-BW5ecXlX.js";
6
6
  import { u as ve } from "./registry-DvAUVLHh.js";
7
7
  import { I as Ne, L as we, b as L, a as _, c as U, N as H, d as F, S as R, T as ae, D as K, C as Te, g as Fe, f as Re, U as Ie, e as ye } from "./link-cell-renderer-BQGUs45d.js";
@@ -1111,4 +1111,4 @@ export {
1111
1111
  q as g,
1112
1112
  at as u
1113
1113
  };
1114
- //# sourceMappingURL=patient-table-DweKjiXg.js.map
1114
+ //# sourceMappingURL=patient-table-BHzmUbzu.js.map
@@ -3,7 +3,7 @@ import { forwardRef as M, useRef as k, useImperativeHandle as N, useMemo as _, u
3
3
  import { c as P } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as g } from "react-i18next";
5
5
  import { I as y } from "./icon-button-C_kbcd7I.js";
6
- import { I as j } from "./icon-button-group-C_lqXTAj.js";
6
+ import { I as j } from "./icon-button-group-BLHPN6jg.js";
7
7
  import { S as K } from "./switch-OILsBLWo.js";
8
8
  import { D as o } from "./dropdown-menu-DU-Hrf33.js";
9
9
  import { u as x } from "./use-theme-CAuo6EYT.js";
@@ -364,4 +364,4 @@ export {
364
364
  F as T,
365
365
  D as t
366
366
  };
367
- //# sourceMappingURL=theme-toggle-BJCz_UOi.js.map
367
+ //# sourceMappingURL=theme-toggle-B4mOrQX1.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "0.82.0",
3
+ "packageVersion": "0.83.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -1756,9 +1756,62 @@
1756
1756
  {
1757
1757
  "kind": "component",
1758
1758
  "id": "chart",
1759
- "capabilities": [],
1760
- "state": [],
1759
+ "capabilities": [
1760
+ "view_change"
1761
+ ],
1762
+ "state": [
1763
+ {
1764
+ "name": "declaredType",
1765
+ "type": "'line' | 'bar' | 'pie' | 'donut' | 'area' | 'radialBar'",
1766
+ "description": "The consumer-declared chart type — the shape `update_series` expects.",
1767
+ "descriptionKey": "ui.agent.chart.state.declaredType"
1768
+ },
1769
+ {
1770
+ "name": "effectiveType",
1771
+ "type": "'line' | 'bar' | 'pie' | 'donut' | 'area' | 'radialBar'",
1772
+ "description": "The type currently rendered — differs from declaredType after a type-switcher pick.",
1773
+ "descriptionKey": "ui.agent.chart.state.effectiveType"
1774
+ },
1775
+ {
1776
+ "name": "availableTypes",
1777
+ "type": "ChartType[]",
1778
+ "description": "Types the switcher offers. Empty when the chart has no type switcher.",
1779
+ "descriptionKey": "ui.agent.chart.state.availableTypes"
1780
+ }
1781
+ ],
1761
1782
  "actions": [
1783
+ {
1784
+ "name": "change_view",
1785
+ "safety": "write",
1786
+ "argsType": "type",
1787
+ "argsSchema": {
1788
+ "type": "object",
1789
+ "properties": {
1790
+ "type": {
1791
+ "type": "string",
1792
+ "enum": [
1793
+ "line",
1794
+ "bar",
1795
+ "area",
1796
+ "pie",
1797
+ "donut"
1798
+ ],
1799
+ "description": "The chart type to render."
1800
+ }
1801
+ },
1802
+ "required": [
1803
+ "type"
1804
+ ]
1805
+ },
1806
+ "returns": "boolean (accepted)",
1807
+ "returnsSchema": {
1808
+ "type": "boolean",
1809
+ "description": "True when the switch was applied; false when the chart has no type switcher or the type is not offered (check availableTypes first)."
1810
+ },
1811
+ "idempotent": true,
1812
+ "description": "Switch the rendered chart type via the type switcher. No-op (returns false) when the chart has no switcher or the type is not offered.",
1813
+ "descriptionKey": "ui.agent.chart.actions.changeView"
1814
+ },
1762
1815
  {
1763
1816
  "name": "update_series",
1764
1817
  "safety": "write",
@@ -1805,7 +1858,7 @@
1805
1858
  ]
1806
1859
  },
1807
1860
  "idempotent": true,
1808
- "description": "Replace the chart series without remounting.",
1861
+ "description": "Replace the chart series without remounting. Pass the DECLARED type’s shape (see declaredType state) — when the user has switched the view cross-shape the values are converted to the rendered shape. The write targets the live instance only: a later type switch re-reads the original props and discards it.",
1809
1862
  "descriptionKey": "ui.agent.chart.actions.updateSeries"
1810
1863
  },
1811
1864
  {