@alfadocs/ui-kit 1.57.0 → 1.58.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 (166) hide show
  1. package/dist/_chunks/{address-fields-BfjxS05Z.js → address-fields-CJtu7LQU.js} +2 -2
  2. package/dist/_chunks/{alia-sidebar-BBKBJCv6.js → alia-sidebar-dybRpWml.js} +2 -2
  3. package/dist/_chunks/{anamnesis-summary-rows-CCQ62mMN.js → anamnesis-summary-rows-M-FUkw9p.js} +3 -3
  4. package/dist/_chunks/{app-frame-B-0O9CrU.js → app-frame-CqmDh2v5.js} +2 -2
  5. package/dist/_chunks/{balance-badge-cell-CII3SDmR.js → balance-badge-cell-CGoJZlKf.js} +3 -3
  6. package/dist/_chunks/{booking-81WnKDsH.js → booking-CiFSAMR-.js} +2 -2
  7. package/dist/_chunks/{calendar-workspace-D5-k_9zE.js → calendar-workspace-DNHzjG7O.js} +12 -12
  8. package/dist/_chunks/{chart-DQ5GxqgT.js → chart-ZMkX-Gqy.js} +28 -28
  9. package/dist/_chunks/{city-input-BC_nYINn.js → city-input-3J3bz9EO.js} +2 -2
  10. package/dist/_chunks/{control-room-rail-Tx2jW250.js → control-room-rail-CJ85HkS2.js} +2 -2
  11. package/dist/_chunks/dashboard-grid-Cs7cJAsA.js +933 -0
  12. package/dist/_chunks/{data-table-fAMTeAjM.js → data-table-Yn5xiGzs.js} +2 -2
  13. package/dist/_chunks/{face-scheme-BicuUA2K.js → face-scheme-DSKDdIsb.js} +2 -2
  14. package/dist/_chunks/{file-manager-CFsL1KVt.js → file-manager-DEtkQR1F.js} +3 -3
  15. package/dist/_chunks/{forgot-password-form-DEx-M_QR.js → forgot-password-form-CEqOmNuX.js} +2 -2
  16. package/dist/_chunks/{heatmap-BEeOThkW.js → heatmap-DiyOSQk9.js} +2 -2
  17. package/dist/_chunks/{help-me-write-templates-BUoYGo6f.js → help-me-write-templates-CM1p6qkm.js} +2 -2
  18. package/dist/_chunks/{icon-picker-C86lQTIA.js → icon-picker-rOFTawXk.js} +2 -2
  19. package/dist/_chunks/{link-cell-renderer-CxW_oLa5.js → link-cell-renderer-C1wOyxDF.js} +2 -2
  20. package/dist/_chunks/{list-RRN2TJ_7.js → list-CNnn7DOD.js} +75 -73
  21. package/dist/_chunks/{login-dev-card-DmZ1B0lB.js → login-dev-card-CIim81VB.js} +2 -2
  22. package/dist/_chunks/marketplace-app-shell-CSDmGLPW.js +613 -0
  23. package/dist/_chunks/{message-tray-QKQutwxj.js → message-tray-DmU0poD7.js} +2 -2
  24. package/dist/_chunks/navigation-dismiss-B1mcW1CT.js +9 -0
  25. package/dist/_chunks/{notes-panel-Cm4pttpl.js → notes-panel-DHLHsxpW.js} +2 -2
  26. package/dist/_chunks/{notification-tray-C5VtbGjd.js → notification-tray-DPU-Xg0i.js} +2 -2
  27. package/dist/_chunks/{panel-subview-BT-Apwgb.js → panel-subview-D4o6ar6_.js} +61 -47
  28. package/dist/_chunks/{patient-details-99kEdtc5.js → patient-details-BCaVuaXz.js} +2 -2
  29. package/dist/_chunks/{patient-field-row-DkxY13T6.js → patient-field-row-jcRSTrp4.js} +3 -3
  30. package/dist/_chunks/{patient-summary-card-opdyfeW2.js → patient-summary-card-kQIfPQOE.js} +2 -2
  31. package/dist/_chunks/{payment-automation-upsell-DiHovmUL.js → payment-automation-upsell-C4wHOxsp.js} +2 -2
  32. package/dist/_chunks/{practice-results-CfRkjzsI.js → practice-results-D07wgCqV.js} +2 -2
  33. package/dist/_chunks/{product-hub-panel-DlVRK7Ue.js → product-hub-panel-DCYX0rPG.js} +2 -2
  34. package/dist/_chunks/{public-header.agent-BctevbuY.js → public-header.agent-C1SlVSYt.js} +2 -2
  35. package/dist/_chunks/{registration-form-BlTzYywa.js → registration-form-DrSR9Sjk.js} +3 -3
  36. package/dist/_chunks/{rich-text-editor-DTnNZ4Ff.js → rich-text-editor-UgXri8h6.js} +2 -2
  37. package/dist/_chunks/{scroll-area-ZtFCv9K7.js → scroll-area-CY5SLYNw.js} +104 -74
  38. package/dist/_chunks/{search-bar-DQJS0wJN.js → search-bar-mA4bPe3t.js} +294 -255
  39. package/dist/_chunks/{sheet-8qsiMoUI.js → sheet-Dtjk0CVv.js} +2 -2
  40. package/dist/_chunks/sidebar-D4Wllqfz.js +2029 -0
  41. package/dist/_chunks/{signature-request-DRuYAG5I.js → signature-request-dAVgE0_5.js} +2 -2
  42. package/dist/_chunks/{signed-out-frame-AhMsNW1r.js → signed-out-frame-DOJpobp8.js} +2 -2
  43. package/dist/_chunks/{state-backed-text-input-DECQy5aA.js → state-backed-text-input-Cgh4ms3p.js} +2 -2
  44. package/dist/_chunks/{task-editor-NkcopDna.js → task-editor-BflEZmcF.js} +5 -4
  45. package/dist/_chunks/{tool-rail-Bwyuw_Ot.js → tool-rail-CTq1KwxW.js} +115 -114
  46. package/dist/_chunks/{use-appointment-details-read-CfFQNOF_.js → use-appointment-details-read-izwoXh-G.js} +6 -6
  47. package/dist/_chunks/use-state-backed-input-DhRQo6gM.js +57 -0
  48. package/dist/_chunks/{voice-control-panel-BKbgb7FM.js → voice-control-panel-an-bpQfF.js} +2 -2
  49. package/dist/_chunks/{widget-picker-rBA7MR5P.js → widget-picker-DlJOgYrZ.js} +80 -57
  50. package/dist/agent-catalog.json +2 -2
  51. package/dist/agent-i18n/en.json +1 -1
  52. package/dist/components/_shared/navigation-dismiss.d.ts +8 -0
  53. package/dist/components/_shared/use-state-backed-input.d.ts +3 -2
  54. package/dist/components/address-fields/index.js +1 -1
  55. package/dist/components/app-frame/index.js +1 -1
  56. package/dist/components/appointment-details-panel/index.js +1 -1
  57. package/dist/components/booking/index.js +1 -1
  58. package/dist/components/chart/index.js +1 -1
  59. package/dist/components/city-input/index.js +1 -1
  60. package/dist/components/control-room-rail/index.js +1 -1
  61. package/dist/components/dashboard-grid/dashboard-grid.d.ts +33 -8
  62. package/dist/components/dashboard-grid/index.js +1 -1
  63. package/dist/components/data-table/index.js +2 -2
  64. package/dist/components/face-scheme/index.js +1 -1
  65. package/dist/components/file-manager/index.js +1 -1
  66. package/dist/components/heatmap/index.js +1 -1
  67. package/dist/components/icon-picker/index.js +1 -1
  68. package/dist/components/list/index.js +1 -1
  69. package/dist/components/message-tray/index.js +1 -1
  70. package/dist/components/notes-panel/index.js +1 -1
  71. package/dist/components/notification-tray/index.js +1 -1
  72. package/dist/components/panel-subview/index.js +1 -1
  73. package/dist/components/patient-details/index.js +1 -1
  74. package/dist/components/patient-summary-card/index.js +1 -1
  75. package/dist/components/patient-table/index.js +1 -1
  76. package/dist/components/practice-results/index.js +1 -1
  77. package/dist/components/product-hub-tray/index.js +1 -1
  78. package/dist/components/public-header/index.js +1 -1
  79. package/dist/components/rich-text-editor/index.js +1 -1
  80. package/dist/components/scroll-area/index.js +1 -1
  81. package/dist/components/scroll-area/scroll-area.d.ts +6 -5
  82. package/dist/components/search-bar/index.js +1 -1
  83. package/dist/components/search-bar/search-bar.d.ts +1 -1
  84. package/dist/components/sheet/index.js +1 -1
  85. package/dist/components/sidebar/index.d.ts +1 -1
  86. package/dist/components/sidebar/index.js +1 -1
  87. package/dist/components/sidebar/sidebar-move.d.ts +88 -0
  88. package/dist/components/sidebar/sidebar.d.ts +26 -1
  89. package/dist/components/task-editor/index.js +1 -1
  90. package/dist/components/tool-rail/index.js +1 -1
  91. package/dist/components/voice-control-panel/index.js +1 -1
  92. package/dist/components/widget-picker/index.js +1 -1
  93. package/dist/host-compat.css +2 -1
  94. package/dist/i18n/locales/ar.d.ts +10 -0
  95. package/dist/i18n/locales/ar.js +11 -1
  96. package/dist/i18n/locales/de.d.ts +10 -0
  97. package/dist/i18n/locales/de.js +11 -1
  98. package/dist/i18n/locales/el.d.ts +10 -0
  99. package/dist/i18n/locales/el.js +11 -1
  100. package/dist/i18n/locales/en.d.ts +10 -0
  101. package/dist/i18n/locales/en.js +11 -1
  102. package/dist/i18n/locales/es.d.ts +10 -0
  103. package/dist/i18n/locales/es.js +11 -1
  104. package/dist/i18n/locales/fr.d.ts +10 -0
  105. package/dist/i18n/locales/fr.js +11 -1
  106. package/dist/i18n/locales/hi.d.ts +10 -0
  107. package/dist/i18n/locales/hi.js +11 -1
  108. package/dist/i18n/locales/it.d.ts +10 -0
  109. package/dist/i18n/locales/it.js +11 -1
  110. package/dist/i18n/locales/ja.d.ts +10 -0
  111. package/dist/i18n/locales/ja.js +11 -1
  112. package/dist/i18n/locales/nl.d.ts +10 -0
  113. package/dist/i18n/locales/nl.js +11 -1
  114. package/dist/i18n/locales/pl.d.ts +10 -0
  115. package/dist/i18n/locales/pl.js +11 -1
  116. package/dist/i18n/locales/pt.d.ts +10 -0
  117. package/dist/i18n/locales/pt.js +11 -1
  118. package/dist/i18n/locales/ro.d.ts +10 -0
  119. package/dist/i18n/locales/ro.js +11 -1
  120. package/dist/i18n/locales/ru.d.ts +10 -0
  121. package/dist/i18n/locales/ru.js +11 -1
  122. package/dist/i18n/locales/sq.d.ts +10 -0
  123. package/dist/i18n/locales/sq.js +11 -1
  124. package/dist/i18n/locales/sv.d.ts +10 -0
  125. package/dist/i18n/locales/sv.js +11 -1
  126. package/dist/i18n/locales/tr.d.ts +10 -0
  127. package/dist/i18n/locales/tr.js +11 -1
  128. package/dist/i18n/locales/zh.d.ts +10 -0
  129. package/dist/i18n/locales/zh.js +11 -1
  130. package/dist/index.js +44 -44
  131. package/dist/locales/ar.json +11 -1
  132. package/dist/locales/de.json +11 -1
  133. package/dist/locales/el.json +11 -1
  134. package/dist/locales/en.json +11 -1
  135. package/dist/locales/es.json +11 -1
  136. package/dist/locales/fr.json +11 -1
  137. package/dist/locales/hi.json +11 -1
  138. package/dist/locales/it.json +11 -1
  139. package/dist/locales/ja.json +11 -1
  140. package/dist/locales/nl.json +11 -1
  141. package/dist/locales/pl.json +11 -1
  142. package/dist/locales/pt.json +11 -1
  143. package/dist/locales/ro.json +11 -1
  144. package/dist/locales/ru.json +11 -1
  145. package/dist/locales/sq.json +11 -1
  146. package/dist/locales/sv.json +11 -1
  147. package/dist/locales/tr.json +11 -1
  148. package/dist/locales/zh.json +11 -1
  149. package/dist/patterns/alia-assistant/index.js +1 -1
  150. package/dist/patterns/anamnesis/index.js +1 -1
  151. package/dist/patterns/calendar/index.js +1 -1
  152. package/dist/patterns/forgot-password-form/index.js +1 -1
  153. package/dist/patterns/help-me-write-templates/index.js +1 -1
  154. package/dist/patterns/login-form/index.js +1 -1
  155. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  156. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +34 -9
  157. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  158. package/dist/patterns/registration-form/index.js +1 -1
  159. package/dist/patterns/signature-request/index.js +1 -1
  160. package/dist/patterns/signed-out-frame/index.js +1 -1
  161. package/dist/tokens.css +1 -1
  162. package/package.json +1 -1
  163. package/dist/_chunks/dashboard-grid-DfEY2qci.js +0 -844
  164. package/dist/_chunks/marketplace-app-shell-BZcA9Z06.js +0 -555
  165. package/dist/_chunks/sidebar-DLsG2AIk.js +0 -1349
  166. package/dist/_chunks/use-state-backed-input-C7ESmxKB.js +0 -59
@@ -15,8 +15,8 @@ import { D as Oe } from "./dropdown-menu-BQSNVp4x.js";
15
15
  import { E as zt } from "./editable-description-DuJlvltc.js";
16
16
  import { N as Xe } from "./note-timeline-CX9nAgAR.js";
17
17
  import { P as Ot } from "./panel-header-D_mTdhUp.js";
18
- import { P as Ge } from "./panel-subview-BT-Apwgb.js";
19
- import { P as _t } from "./patient-summary-card-opdyfeW2.js";
18
+ import { P as Ge } from "./panel-subview-D4o6ar6_.js";
19
+ import { P as _t } from "./patient-summary-card-kQIfPQOE.js";
20
20
  import { S as ne } from "./section-card-ChJdOlBU.js";
21
21
  import { C as nn, S as ue } from "./skeleton-B1KTdJ4N.js";
22
22
  import { T as an } from "./text-area-COMVJ1yE.js";
@@ -53,7 +53,7 @@ import { P as vn } from "./phone-FceYcIFQ.js";
53
53
  import { M as yn } from "./mail-BqXVF2zH.js";
54
54
  import { M as bn } from "./map-pin-BaY37-Km.js";
55
55
  import { C as kn } from "./calendar-days-BGWklvE-.js";
56
- import { H as wn } from "./patient-field-row-DkxY13T6.js";
56
+ import { H as wn } from "./patient-field-row-jcRSTrp4.js";
57
57
  import { A as It } from "./armchair-BaLDW6Hz.js";
58
58
  import { B as xn } from "./building-2-D33bLCWL.js";
59
59
  import { N as Nn } from "./notebook-pen-CO7HoM-W.js";
@@ -1858,7 +1858,7 @@ function ba({
1858
1858
  headingLevel: 3,
1859
1859
  onBack: () => Y(!1),
1860
1860
  "data-details-subview": "history",
1861
- children: /* @__PURE__ */ e("div", { className: "ds:p-[var(--spacing-md)]", children: /* @__PURE__ */ e(
1861
+ children: /* @__PURE__ */ e("div", { className: "ds:-m-[var(--panel-subview-inset)] ds:p-[var(--spacing-md)]", children: /* @__PURE__ */ e(
1862
1862
  ya,
1863
1863
  {
1864
1864
  history: I,
@@ -1907,7 +1907,7 @@ function ba({
1907
1907
  }
1908
1908
  )
1909
1909
  ] }),
1910
- children: /* @__PURE__ */ p("div", { className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
1910
+ children: /* @__PURE__ */ p("div", { className: "ds:-m-[var(--panel-subview-inset)] ds:flex ds:flex-col ds:gap-[var(--spacing-sm)] ds:p-[var(--spacing-md)]", children: [
1911
1911
  T ? /* @__PURE__ */ e(F, { variant: "error", children: /* @__PURE__ */ e(F.Description, { children: T }) }) : null,
1912
1912
  /* @__PURE__ */ e(
1913
1913
  an,
@@ -2195,4 +2195,4 @@ export {
2195
2195
  Kn as s,
2196
2196
  _s as u
2197
2197
  };
2198
- //# sourceMappingURL=use-appointment-details-read-CfFQNOF_.js.map
2198
+ //# sourceMappingURL=use-appointment-details-read-izwoXh-G.js.map
@@ -0,0 +1,57 @@
1
+ import { useRef as n, useReducer as L, useCallback as a } from "react";
2
+ import { u as b } from "./use-isomorphic-layout-effect-BGfaCOP1.js";
3
+ function g(e, r) {
4
+ var u, s;
5
+ return !e || e.value === r ? !1 : ((s = (u = Object.getOwnPropertyDescriptor(
6
+ HTMLInputElement.prototype,
7
+ "value"
8
+ )) == null ? void 0 : u.set) == null || s.call(e, r), e.dispatchEvent(new Event("input", { bubbles: !0 })), !0);
9
+ }
10
+ function I(e, r) {
11
+ typeof e == "function" ? e(r) : e && (e.current = r);
12
+ }
13
+ function O(e, r) {
14
+ const u = n(null), s = n(e);
15
+ s.current = e;
16
+ const l = n(r);
17
+ l.current = r;
18
+ const f = n(!1), p = n(!1), c = n(null), [v, R] = L((t) => t + 1, 0), o = a((t) => {
19
+ if (!p.current) {
20
+ f.current = !0;
21
+ try {
22
+ g(u.current, t);
23
+ } finally {
24
+ f.current = !1;
25
+ }
26
+ }
27
+ }, []);
28
+ b(() => {
29
+ o(e);
30
+ }, [e, v, o]);
31
+ const w = a(
32
+ (t) => {
33
+ var E;
34
+ if ((E = c.current) == null || E.call(c), c.current = null, u.current = t, I(l.current, t), !t) return;
35
+ const i = () => {
36
+ p.current = !0;
37
+ }, m = () => {
38
+ p.current = !1;
39
+ };
40
+ t.addEventListener("compositionstart", i), t.addEventListener("compositionend", m), c.current = () => {
41
+ t.removeEventListener("compositionstart", i), t.removeEventListener("compositionend", m);
42
+ }, o(s.current);
43
+ },
44
+ [o]
45
+ ), y = a(
46
+ (t) => (...i) => {
47
+ f.current || (t == null || t(...i), R());
48
+ },
49
+ []
50
+ );
51
+ return { ref: w, quiet: y };
52
+ }
53
+ export {
54
+ O as u,
55
+ g as w
56
+ };
57
+ //# sourceMappingURL=use-state-backed-input-DhRQo6gM.js.map
@@ -10,7 +10,7 @@ import { I as Dt } from "./icon-button-COX76Jdj.js";
10
10
  import { C as $t, b as Bt, a as jt } from "./collapsible-DVPM46bq.js";
11
11
  import { F as qt } from "./form-field-Ani72sVY.js";
12
12
  import { K as Ht } from "./kbd-Bx7eQv9f.js";
13
- import { L as oe } from "./list-RRN2TJ_7.js";
13
+ import { L as oe } from "./list-CNnn7DOD.js";
14
14
  import { L as Wt } from "./live-region-C41SO3cA.js";
15
15
  import { S as Ut } from "./select-Ce5RMk93.js";
16
16
  import { a as Jt, b as rt, c as Qt, d as Xt } from "./ai-fab-pill-BOu96kCx.js";
@@ -1006,4 +1006,4 @@ export {
1006
1006
  An as V,
1007
1007
  pn as v
1008
1008
  };
1009
- //# sourceMappingURL=voice-control-panel-BKbgb7FM.js.map
1009
+ //# sourceMappingURL=voice-control-panel-an-bpQfF.js.map
@@ -1,13 +1,13 @@
1
- import { jsx as t, jsxs as c } from "react/jsx-runtime";
2
- import { forwardRef as P, useState as N, useEffect as S, useMemo as f, useCallback as W, useImperativeHandle as T } from "react";
3
- import { c as _ } from "./index-D2ZczOXr.js";
4
- import { useTranslation as j } from "react-i18next";
5
- import { D as l } from "./dialog-Dn-iQ0Jp.js";
6
- import { S as z } from "./state-backed-text-input-DECQy5aA.js";
7
- import { B as C } from "./badge-hnBt8o7n.js";
8
- import { u as B } from "./registry-DvAUVLHh.js";
9
- import { S as I } from "./search-QbWPlY5f.js";
10
- const L = {
1
+ import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
+ import { forwardRef as _, useState as p, useEffect as N, useMemo as v, useCallback as j, useImperativeHandle as B } from "react";
3
+ import { c as C } from "./index-D2ZczOXr.js";
4
+ import { useTranslation as H } from "react-i18next";
5
+ import { D as u } from "./dialog-Dn-iQ0Jp.js";
6
+ import { S as A } from "./state-backed-text-input-Cgh4ms3p.js";
7
+ import { B as I } from "./badge-hnBt8o7n.js";
8
+ import { u as D } from "./registry-DvAUVLHh.js";
9
+ import { S as F } from "./search-QbWPlY5f.js";
10
+ const K = {
11
11
  id: "widget-picker",
12
12
  capabilities: ["pick"],
13
13
  state: {
@@ -48,7 +48,7 @@ const L = {
48
48
  idempotent: !1,
49
49
  descriptionKey: "ui.agent.widgetPicker.actions.pickWidget",
50
50
  description: "Pick a widget type from the open catalogue. The picker closes and the host adds the widget. Refused while the dialog is closed and for disabled items.",
51
- invoke: (i, a) => i.pick(a.id)
51
+ invoke: (i, n) => i.pick(n.id)
52
52
  }
53
53
  },
54
54
  domHooks: {
@@ -63,7 +63,7 @@ const L = {
63
63
  description: "Each option tile carries its widget-type id."
64
64
  }
65
65
  }
66
- }, R = _(
66
+ }, q = C(
67
67
  [
68
68
  "ds:flex ds:w-full ds:min-h-[var(--min-target-size)] ds:items-start ds:gap-[var(--spacing-sm)]",
69
69
  "ds:rounded-[var(--radius-md)] ds:border ds:border-border ds:bg-[var(--card)]",
@@ -74,87 +74,110 @@ const L = {
74
74
  "ds:disabled:opacity-50 ds:disabled:cursor-not-allowed ds:disabled:hover:bg-transparent"
75
75
  ].join(" "),
76
76
  { variants: {}, defaultVariants: {} }
77
- ), A = P(
78
- ({ open: i, onOpenChange: a, items: d, onPick: m, title: w, id: h }, y) => {
79
- const { t: r } = j("ui"), [p, v] = N("");
80
- S(() => {
81
- i || v("");
77
+ ), E = _(
78
+ ({ open: i, onOpenChange: n, items: r, onPick: b, title: S, id: w }, T) => {
79
+ const { t: d } = H("ui"), [g, k] = p("");
80
+ N(() => {
81
+ i || k("");
82
82
  }, [i]);
83
- const b = f(() => {
84
- const e = p.trim().toLowerCase();
85
- return e ? d.filter(
83
+ const y = v(() => {
84
+ const e = g.trim().toLowerCase();
85
+ return e ? r.filter(
86
86
  (s) => s.title.toLowerCase().includes(e) || (s.description ?? "").toLowerCase().includes(e)
87
- ) : d;
88
- }, [d, p]), k = f(() => {
87
+ ) : r;
88
+ }, [r, g]), f = v(() => {
89
89
  const e = [];
90
- for (const s of b) {
91
- const n = s.category || null;
92
- let o = e.find((x) => x.category === n);
93
- o || (o = { category: n, entries: [] }, n === null ? e.unshift(o) : e.push(o)), o.entries.push(s);
90
+ for (const s of y) {
91
+ const a = s.category || null;
92
+ let c = e.find((R) => R.category === a);
93
+ c || (c = { category: a, entries: [] }, a === null ? e.unshift(c) : e.push(c)), c.entries.push(s);
94
94
  }
95
95
  return e;
96
- }, [b]), g = W(
96
+ }, [y]), [o, z] = p(null), [L, x] = p(!1), [W, P] = p(!1);
97
+ N(() => {
98
+ if (!o) {
99
+ x(!1);
100
+ return;
101
+ }
102
+ const e = () => x(o.scrollHeight > o.clientHeight + 1);
103
+ if (e(), typeof ResizeObserver > "u") return;
104
+ const s = new ResizeObserver(e);
105
+ s.observe(o);
106
+ for (const a of Array.from(o.children))
107
+ s.observe(a);
108
+ return () => s.disconnect();
109
+ }, [o, f]);
110
+ const m = j(
97
111
  (e) => {
98
- m(e), a(!1);
112
+ b(e), n(!1);
99
113
  },
100
- [m, a]
101
- ), u = f(
114
+ [b, n]
115
+ ), h = v(
102
116
  () => ({
103
117
  pick(e) {
104
118
  if (!i) return !1;
105
- const s = d.find((n) => n.id === e);
106
- return !s || s.disabled ? !1 : (g(e), !0);
119
+ const s = r.find((a) => a.id === e);
120
+ return !s || s.disabled ? !1 : (m(e), !0);
107
121
  },
108
122
  getPickerState() {
109
123
  return {
110
124
  open: i,
111
- items: d.map((e) => ({
125
+ items: r.map((e) => ({
112
126
  id: e.id,
113
127
  disabled: !!e.disabled
114
128
  }))
115
129
  };
116
130
  }
117
131
  }),
118
- [i, d, g]
132
+ [i, r, m]
119
133
  );
120
- return T(y, () => u, [u]), B(L, u, h), /* @__PURE__ */ t(l.Root, { open: i, onOpenChange: a, children: /* @__PURE__ */ t(l.Content, { size: "lg", children: /* @__PURE__ */ c("div", { "data-component": "widget-picker", "data-component-id": h, children: [
121
- /* @__PURE__ */ t(l.Title, { children: w ?? r("widgetPicker.title") }),
122
- /* @__PURE__ */ t(l.Description, { className: "ds:sr-only", children: r("widgetPicker.description") }),
134
+ return B(T, () => h, [h]), D(K, h, w), /* @__PURE__ */ t(u.Root, { open: i, onOpenChange: n, children: /* @__PURE__ */ t(u.Content, { size: "lg", children: /* @__PURE__ */ l("div", { "data-component": "widget-picker", "data-component-id": w, children: [
135
+ /* @__PURE__ */ t(u.Title, { children: S ?? d("widgetPicker.title") }),
136
+ /* @__PURE__ */ t(u.Description, { className: "ds:sr-only", children: d("widgetPicker.description") }),
123
137
  /* @__PURE__ */ t("div", { className: "ds:mt-[var(--spacing-sm)]", children: /* @__PURE__ */ t(
124
- z,
138
+ A,
125
139
  {
126
- "aria-label": r("widgetPicker.searchLabel"),
127
- placeholder: r("widgetPicker.searchPlaceholder"),
128
- startAdornment: /* @__PURE__ */ t(I, { "aria-hidden": "true" }),
129
- value: p,
130
- onChange: (e) => v(e.target.value)
140
+ "aria-label": d("widgetPicker.searchLabel"),
141
+ placeholder: d("widgetPicker.searchPlaceholder"),
142
+ startAdornment: /* @__PURE__ */ t(F, { "aria-hidden": "true" }),
143
+ value: g,
144
+ onChange: (e) => k(e.target.value)
131
145
  }
132
146
  ) }),
133
147
  /* @__PURE__ */ t(
134
148
  "div",
135
149
  {
136
- tabIndex: 0,
150
+ ref: z,
151
+ role: "group",
152
+ "aria-label": d("widgetPicker.listLabel"),
153
+ tabIndex: L || W ? 0 : void 0,
154
+ onFocus: (e) => {
155
+ e.target === e.currentTarget && P(!0);
156
+ },
157
+ onBlur: (e) => {
158
+ e.target === e.currentTarget && P(!1);
159
+ },
137
160
  className: "ds:mt-[var(--spacing-md)] ds:flex ds:max-h-[60vh] ds:flex-col ds:gap-[var(--spacing-md)] ds:overflow-y-auto ds:pe-[var(--spacing-xs)] ds:focus-visible:outline-[length:var(--focus-ring-width)] ds:focus-visible:outline-solid ds:focus-visible:outline-ring ds:focus-visible:outline-offset-[length:var(--focus-ring-offset)]",
138
- children: k.length === 0 ? /* @__PURE__ */ t(
161
+ children: f.length === 0 ? /* @__PURE__ */ t(
139
162
  "p",
140
163
  {
141
164
  role: "status",
142
165
  className: "ds:py-[var(--spacing-lg)] ds:text-center ds:text-sm ds:text-muted-foreground",
143
- children: d.length === 0 ? r("widgetPicker.none") : r("widgetPicker.empty")
166
+ children: r.length === 0 ? d("widgetPicker.none") : d("widgetPicker.empty")
144
167
  }
145
- ) : k.map((e) => /* @__PURE__ */ c(
168
+ ) : f.map((e) => /* @__PURE__ */ l(
146
169
  "section",
147
170
  {
148
171
  className: "ds:flex ds:flex-col ds:gap-[var(--spacing-sm)]",
149
172
  children: [
150
173
  e.category ? /* @__PURE__ */ t("h3", { className: "ds:text-xs ds:font-semibold ds:uppercase ds:tracking-wide ds:text-muted-foreground", children: e.category }) : null,
151
- /* @__PURE__ */ t("div", { className: "ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2", children: e.entries.map((s) => /* @__PURE__ */ c(
174
+ /* @__PURE__ */ t("div", { className: "ds:grid ds:gap-[var(--spacing-sm)] ds:sm:grid-cols-2", children: e.entries.map((s) => /* @__PURE__ */ l(
152
175
  "button",
153
176
  {
154
177
  type: "button",
155
178
  disabled: s.disabled,
156
- onClick: () => g(s.id),
157
- className: R(),
179
+ onClick: () => m(s.id),
180
+ className: q(),
158
181
  "data-widget-type-id": s.id,
159
182
  children: [
160
183
  s.icon ? /* @__PURE__ */ t(
@@ -165,10 +188,10 @@ const L = {
165
188
  children: s.icon
166
189
  }
167
190
  ) : null,
168
- /* @__PURE__ */ c("span", { className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
169
- /* @__PURE__ */ c("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
191
+ /* @__PURE__ */ l("span", { className: "ds:flex ds:min-w-0 ds:flex-col ds:gap-[var(--spacing-2xs)]", children: [
192
+ /* @__PURE__ */ l("span", { className: "ds:flex ds:items-center ds:gap-[var(--spacing-xs)]", children: [
170
193
  /* @__PURE__ */ t("span", { className: "ds:truncate ds:text-sm ds:font-medium", children: s.title }),
171
- s.badge ? /* @__PURE__ */ t(C, { variant: "info", size: "sm", children: s.badge }) : null
194
+ s.badge ? /* @__PURE__ */ t(I, { variant: "info", size: "sm", children: s.badge }) : null
172
195
  ] }),
173
196
  s.description ? /* @__PURE__ */ t("span", { className: "ds:text-xs ds:text-muted-foreground", children: s.description }) : null
174
197
  ] })
@@ -185,9 +208,9 @@ const L = {
185
208
  ] }) }) });
186
209
  }
187
210
  );
188
- A.displayName = "WidgetPicker";
211
+ E.displayName = "WidgetPicker";
189
212
  export {
190
- A as W,
191
- L as w
213
+ E as W,
214
+ K as w
192
215
  };
193
- //# sourceMappingURL=widget-picker-rBA7MR5P.js.map
216
+ //# sourceMappingURL=widget-picker-DlJOgYrZ.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.57.0",
3
+ "packageVersion": "1.58.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -20170,7 +20170,7 @@
20170
20170
  {
20171
20171
  "name": "open_tool",
20172
20172
  "safety": "read",
20173
- "description": "Open one of the rail tools — the Patient Summary brief or the Ask Alia chat — making its panel the active complementary landmark.",
20173
+ "description": "Open one of the rail tools — the Patient Summary brief or the Ask Alia chat — making its panel the open region inside the rail landmark.",
20174
20174
  "descriptionKey": "ui.agent.patientAiSummary.workflows.openTool",
20175
20175
  "uiActions": [
20176
20176
  "tool-rail.open",
@@ -1873,7 +1873,7 @@
1873
1873
  },
1874
1874
  "patientAiSummary": {
1875
1875
  "workflows": {
1876
- "openTool": "Open one of the rail tools — the Patient Summary brief or the Ask Alia chat — making its panel the active complementary landmark.",
1876
+ "openTool": "Open one of the rail tools — the Patient Summary brief or the Ask Alia chat — making its panel the open region inside the rail landmark.",
1877
1877
  "readBrief": "Read the compiled patient brief — overview counts/flags, plan state and progress, and the latest payment record.",
1878
1878
  "expandSection": "Expand one section of the brief accordion (overview, appointment, history, plan, or attention) to reveal its entity card.",
1879
1879
  "grantAiConsent": "Record the patient AI-assistance consent that gates the brief, revealing the structured summary once granted.",
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Closes the surface that holds a navigation control, such as a phone nav
3
+ * drawer, after a pick that navigates without a link (a SearchBar result).
4
+ */
5
+ export declare const NavigationDismissContext: import("react").Context<(() => void) | null>;
6
+ /** The enclosing surface's close, or `null` when nothing needs closing. */
7
+ export declare const useNavigationDismiss: () => (() => void) | null;
8
+ //# sourceMappingURL=navigation-dismiss.d.ts.map
@@ -9,8 +9,9 @@ export declare function writeInputValue(node: HTMLInputElement | null, next: str
9
9
  export interface StateBackedInput {
10
10
  /** For the field's `<input>`. Also sets the `ref` passed to the hook. */
11
11
  ref: (node: HTMLInputElement | null) => void;
12
- /** Wraps the field's change handler so the writes made here are not
13
- * reported back as edits. */
12
+ /** Wrap the field's change handler, always. It drops the changes the
13
+ * writes made here cause, and after each edit checks the field against
14
+ * the state, so an edit the state refuses or rewrites is put back. */
14
15
  quiet: <A extends unknown[]>(handler?: (...args: A) => void) => (...args: A) => void;
15
16
  }
16
17
  /**
@@ -1,4 +1,4 @@
1
- import { A as e, a } from "../../_chunks/address-fields-BfjxS05Z.js";
1
+ import { A as e, a } from "../../_chunks/address-fields-CJtu7LQU.js";
2
2
  export {
3
3
  e as AddressFields,
4
4
  a as addressFieldsAgent
@@ -1,4 +1,4 @@
1
- import { A as a } from "../../_chunks/app-frame-B-0O9CrU.js";
1
+ import { A as a } from "../../_chunks/app-frame-CqmDh2v5.js";
2
2
  export {
3
3
  a as AppFrame
4
4
  };
@@ -1,4 +1,4 @@
1
- import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-CfFQNOF_.js";
1
+ import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-izwoXh-G.js";
2
2
  export {
3
3
  e as AppointmentDetailsPanel,
4
4
  n as appointmentDetailsPanelAgent,
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-81WnKDsH.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-CiFSAMR-.js";
2
2
  export {
3
3
  A as Booking,
4
4
  R as CONFIRMATION_CHANNEL_ORDER,
@@ -1,4 +1,4 @@
1
- import { C as t, c as s, a as c } from "../../_chunks/chart-DQ5GxqgT.js";
1
+ import { C as t, c as s, a as c } from "../../_chunks/chart-ZMkX-Gqy.js";
2
2
  export {
3
3
  t as Chart,
4
4
  s as chartAgent,
@@ -1,4 +1,4 @@
1
- import { C as p, c as a } from "../../_chunks/city-input-BC_nYINn.js";
1
+ import { C as p, c as a } from "../../_chunks/city-input-3J3bz9EO.js";
2
2
  export {
3
3
  p as CityInput,
4
4
  a as cityInputAgent
@@ -1,4 +1,4 @@
1
- import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-Tx2jW250.js";
1
+ import { C as r, a as l, c as a, u as t, b as e, d as n } from "../../_chunks/control-room-rail-CJ85HkS2.js";
2
2
  export {
3
3
  r as ControlRoomProvider,
4
4
  l as ControlRoomRail,
@@ -42,13 +42,13 @@ export interface DashboardGridProps extends Omit<VariantProps<typeof dashboardGr
42
42
  * Opt-in narrow mode. When the board's OWN inline size (px, measured with
43
43
  * a ResizeObserver, not the viewport) is below this value, the widgets
44
44
  * render as one full-width, read-only column in reading order (`y`, then
45
- * logical `x`), each at least its grid height. No move/resize/remove
46
- * chrome or add tile shows, even while `editing` is on, and
47
- * `onLayoutChange` never fires because of stacking: the saved layout is
48
- * untouched and the grid returns exactly once the board is at least
49
- * `stackBelow + 24` px wide (the 24 px band stops a width hovering on the
50
- * threshold, or a page scrollbar, from flipping the board). Unset: the
51
- * board never stacks.
45
+ * logical `x`), each at least its grid height (see `stackedHeight`). No
46
+ * move/resize/remove chrome or add tile shows, even while `editing` is
47
+ * on, and `onLayoutChange` never fires because of stacking: the saved
48
+ * layout is untouched and the grid returns exactly once the board is at
49
+ * least `stackBelow + 24` px wide (the 24 px band stops a width hovering
50
+ * on the threshold, or a page scrollbar, from flipping the board). Unset:
51
+ * the board never stacks.
52
52
  *
53
53
  * Give the board a container whose width does not depend on its content
54
54
  * (normal block flow, or a stretched flex/grid item). In a shrink-to-fit
@@ -67,6 +67,24 @@ export interface DashboardGridProps extends Omit<VariantProps<typeof dashboardGr
67
67
  * unmount.
68
68
  */
69
69
  onStackedChange?: (stacked: boolean) => void;
70
+ /**
71
+ * Block size of each widget while the board is stacked (`stackBelow`).
72
+ * `'grid'` (the default, unchanged) keeps at least the widget's grid
73
+ * height, so a widget showing one figure leaves empty space below it on a
74
+ * phone. `'content'` makes each stacked widget as tall as its content.
75
+ * A chart that fills its container has no height of its own and would
76
+ * collapse: give its widget a `minStackedHeight`. The grid itself is
77
+ * unchanged either way.
78
+ */
79
+ stackedHeight?: 'grid' | 'content';
80
+ /**
81
+ * Opt-in heading level for every widget title. Unset (the default), a
82
+ * title is plain text, as before. Set it to one level below the heading
83
+ * that introduces the board, so screen-reader users can jump between
84
+ * widgets by heading. A title cut short by the widget's width is
85
+ * focusable and shows the full title in a Tooltip either way.
86
+ */
87
+ widgetHeadingLevel?: 2 | 3 | 4 | 5 | 6;
70
88
  /** `DashboardGrid.Widget` children. */
71
89
  children: ReactNode;
72
90
  className?: string;
@@ -104,11 +122,18 @@ export interface DashboardGridWidgetProps {
104
122
  /** Cell span used when the widget has no layout entry yet. */
105
123
  defaultW?: number;
106
124
  defaultH?: number;
125
+ /**
126
+ * Minimum block size in px while the board is stacked with
127
+ * `stackedHeight="content"`; ignored otherwise. A chart that fills its
128
+ * container needs it, or it collapses to nothing: the body fills this
129
+ * height, less the title row. Content taller than it still grows.
130
+ */
131
+ minStackedHeight?: number;
107
132
  /** Extra header actions (view mode and edit mode). */
108
133
  actionsSlot?: ReactNode;
109
134
  children?: ReactNode;
110
135
  }
111
- declare function DashboardGridWidget({ id, title, actionsSlot, children, }: DashboardGridWidgetProps): import("react/jsx-runtime").JSX.Element | null;
136
+ declare function DashboardGridWidget({ id, title, minStackedHeight, actionsSlot, children, }: DashboardGridWidgetProps): import("react/jsx-runtime").JSX.Element | null;
112
137
  declare namespace DashboardGridWidget {
113
138
  var displayName: string;
114
139
  }
@@ -1,4 +1,4 @@
1
- import { D as r, d as o } from "../../_chunks/dashboard-grid-DfEY2qci.js";
1
+ import { D as r, d as o } from "../../_chunks/dashboard-grid-Cs7cJAsA.js";
2
2
  export {
3
3
  r as DashboardGrid,
4
4
  o as dashboardGridAgent
@@ -1,6 +1,6 @@
1
- import { D as r, E as l, T as t, a as s, b as d, c as o, d as n, e as i, f as R, i as C, g as T } from "../../_chunks/data-table-fAMTeAjM.js";
1
+ import { D as r, E as l, T as t, a as s, b as d, c as o, d as n, e as i, f as R, i as C, g as T } from "../../_chunks/data-table-Yn5xiGzs.js";
2
2
  import { B as g, C as D, a as b, E as x, b as c, R as p, T as u, c as m, r as E, u as f } from "../../_chunks/editable-currency-cell-renderer-CmYcMuwi.js";
3
- import { D as h, a as A, b as w, I as y, L as I, N as L, c as N, S as P, d as W, e as B, T as U, f as _, g as k, U as v } from "../../_chunks/link-cell-renderer-CxW_oLa5.js";
3
+ import { D as h, a as A, b as w, I as y, L as I, N as L, c as N, S as P, d as W, e as B, T as U, f as _, g as k, U as v } from "../../_chunks/link-cell-renderer-C1wOyxDF.js";
4
4
  import { A as X, a as j } from "../../_chunks/actions-cell-renderer-Dj1ZkvJj.js";
5
5
  export {
6
6
  X as ActionsCellRenderer,
@@ -1,4 +1,4 @@
1
- import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-BicuUA2K.js";
1
+ import { A as e, F as o, a as n, b as A, c as i, d as f, e as t, I, f as N, g as T, h as F, i as _, j as E, k as c, l as h, m as r, n as p, o as O, p as S, q as m, r as l, s as d, t as C, u as D } from "../../_chunks/face-scheme-DSKDdIsb.js";
2
2
  export {
3
3
  e as ANNOTATION_TOOL_KIND,
4
4
  o as FACE_ANNOTATION_TOOLS,
@@ -1,4 +1,4 @@
1
- import { F as r, f } from "../../_chunks/file-manager-CFsL1KVt.js";
1
+ import { F as r, f } from "../../_chunks/file-manager-DEtkQR1F.js";
2
2
  export {
3
3
  r as FileManager,
4
4
  f as fileManagerAgent
@@ -1,4 +1,4 @@
1
- import { H as t, a as p, b as m, h as o } from "../../_chunks/heatmap-BEeOThkW.js";
1
+ import { H as t, a as p, b as m, h as o } from "../../_chunks/heatmap-DiyOSQk9.js";
2
2
  export {
3
3
  t as Heatmap,
4
4
  p as HeatmapLegend,
@@ -1,4 +1,4 @@
1
- import { I as i, i as o } from "../../_chunks/icon-picker-C86lQTIA.js";
1
+ import { I as i, i as o } from "../../_chunks/icon-picker-rOFTawXk.js";
2
2
  export {
3
3
  i as IconPicker,
4
4
  o as iconPickerAgent
@@ -1,4 +1,4 @@
1
- import { L as a, l as e } from "../../_chunks/list-RRN2TJ_7.js";
1
+ import { L as a, l as e } from "../../_chunks/list-CNnn7DOD.js";
2
2
  export {
3
3
  a as List,
4
4
  e as listAgent
@@ -1,4 +1,4 @@
1
- import { M as s, m as r } from "../../_chunks/message-tray-QKQutwxj.js";
1
+ import { M as s, m as r } from "../../_chunks/message-tray-DmU0poD7.js";
2
2
  export {
3
3
  s as MessageTray,
4
4
  r as messageTrayAgent
@@ -1,4 +1,4 @@
1
- import { N as a } from "../../_chunks/notes-panel-Cm4pttpl.js";
1
+ import { N as a } from "../../_chunks/notes-panel-DHLHsxpW.js";
2
2
  export {
3
3
  a as NotesPanel
4
4
  };
@@ -1,4 +1,4 @@
1
- import { N as o, n as t } from "../../_chunks/notification-tray-C5VtbGjd.js";
1
+ import { N as o, n as t } from "../../_chunks/notification-tray-DPU-Xg0i.js";
2
2
  export {
3
3
  o as NotificationTray,
4
4
  t as notificationTrayAgent
@@ -1,4 +1,4 @@
1
- import { P as o } from "../../_chunks/panel-subview-BT-Apwgb.js";
1
+ import { P as o } from "../../_chunks/panel-subview-D4o6ar6_.js";
2
2
  import { p as r } from "../../_chunks/panel-subview.agent-BIBvE-IW.js";
3
3
  export {
4
4
  o as PanelSubview,
@@ -1,4 +1,4 @@
1
- import { P as e, p as i } from "../../_chunks/patient-details-99kEdtc5.js";
1
+ import { P as e, p as i } from "../../_chunks/patient-details-BCaVuaXz.js";
2
2
  export {
3
3
  e as PatientDetails,
4
4
  i as patientDetailsAgent
@@ -1,4 +1,4 @@
1
- import { P as t, p as m } from "../../_chunks/patient-summary-card-opdyfeW2.js";
1
+ import { P as t, p as m } from "../../_chunks/patient-summary-card-kQIfPQOE.js";
2
2
  export {
3
3
  t as PatientSummaryCard,
4
4
  m as patientSummaryCardAgent
@@ -1,4 +1,4 @@
1
- import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-CII3SDmR.js";
1
+ import { B as s, C as l, N as n, P as t, a as C, T as i, b as o, g as T, u as p } from "../../_chunks/balance-badge-cell-CGoJZlKf.js";
2
2
  export {
3
3
  s as BalanceBadgeCell,
4
4
  l as CarePlanStatusCell,
@@ -1,4 +1,4 @@
1
- import { P as t, p as a } from "../../_chunks/practice-results-CfRkjzsI.js";
1
+ import { P as t, p as a } from "../../_chunks/practice-results-D07wgCqV.js";
2
2
  export {
3
3
  t as PracticeResults,
4
4
  a as practiceResultsAgent
@@ -1,4 +1,4 @@
1
- import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-DlVRK7Ue.js";
1
+ import { P as u, a as o, p as t, b as e } from "../../_chunks/product-hub-panel-DCYX0rPG.js";
2
2
  import { i as s } from "../../_chunks/is-safe-url-DkETxeHz.js";
3
3
  export {
4
4
  u as ProductHubPanel,
@@ -1,4 +1,4 @@
1
- import { P as r, p } from "../../_chunks/public-header.agent-BctevbuY.js";
1
+ import { P as r, p } from "../../_chunks/public-header.agent-C1SlVSYt.js";
2
2
  export {
3
3
  r as PublicHeader,
4
4
  p as publicHeaderAgent