@alfadocs/ui-kit 1.56.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 (257) hide show
  1. package/dist/_chunks/{address-fields-BfjxS05Z.js → address-fields-CJtu7LQU.js} +2 -2
  2. package/dist/_chunks/{ai-credits-notice-BoNJtOuE.js → ai-credits-notice-ktklr8fy.js} +2 -2
  3. package/dist/_chunks/ai-permission-notice-DyuEGwAt.js +206 -0
  4. package/dist/_chunks/alia-sidebar-dybRpWml.js +1284 -0
  5. package/dist/_chunks/{anamnesis-summary-rows-CQ-XGr0T.js → anamnesis-summary-rows-M-FUkw9p.js} +6 -6
  6. package/dist/_chunks/{app-frame-B-0O9CrU.js → app-frame-CqmDh2v5.js} +2 -2
  7. package/dist/_chunks/{appointment-peek-BIZaDeCi.js → appointment-peek-WvNbE4JG.js} +2 -2
  8. package/dist/_chunks/{appointment-timeline-DmqYEIT9.js → appointment-timeline-Z0494xO-.js} +2 -2
  9. package/dist/_chunks/{balance-badge-cell-DmDcXw0c.js → balance-badge-cell-CGoJZlKf.js} +3 -3
  10. package/dist/_chunks/{booking-WyNGKPE2.js → booking-CiFSAMR-.js} +4 -4
  11. package/dist/_chunks/{calculator-dialog-pCPWta7h.js → calculator-dialog-CzQv03p0.js} +2 -2
  12. package/dist/_chunks/{calendar-workspace-Du2ryaI-.js → calendar-workspace-DNHzjG7O.js} +19 -19
  13. package/dist/_chunks/{care-plan-card-Ddjh5Doc.js → care-plan-card-DxrRLRdW.js} +2 -2
  14. package/dist/_chunks/{care-plan-header-DUX_SVvF.js → care-plan-header-BMwZIgHJ.js} +2 -2
  15. package/dist/_chunks/{chart-HsF1KHbx.js → chart-ZMkX-Gqy.js} +338 -341
  16. package/dist/_chunks/{city-input-BC_nYINn.js → city-input-3J3bz9EO.js} +2 -2
  17. package/dist/_chunks/{clinical-note-card-14JIoUR0.js → clinical-note-card-hx939bvw.js} +2 -2
  18. package/dist/_chunks/{color-picker-BRQ4Y9SO.js → color-picker-BsggJovx.js} +128 -123
  19. package/dist/_chunks/{contact-card-CmK05vNb.js → contact-card-fHBMwEsx.js} +2 -2
  20. package/dist/_chunks/{contact-profile-card-Ci8lBQ6a.js → contact-profile-card-CMyBYgRR.js} +2 -2
  21. package/dist/_chunks/{control-room-rail-Tx2jW250.js → control-room-rail-CJ85HkS2.js} +2 -2
  22. package/dist/_chunks/{cycle-calculator-Dgfqr4Q4.js → cycle-calculator-Cww9DzIa.js} +2 -2
  23. package/dist/_chunks/dashboard-grid-Cs7cJAsA.js +933 -0
  24. package/dist/_chunks/{data-table-D8fuhqO1.js → data-table-Yn5xiGzs.js} +3 -3
  25. package/dist/_chunks/{data-table-tabs-Xhg5G0gU.js → data-table-tabs-CHYAAeHy.js} +2 -2
  26. package/dist/_chunks/{date-picker-wRAcq2lt.js → date-picker-BSZuKo13.js} +69 -62
  27. package/dist/_chunks/{date-range-picker-CtUOI38x.js → date-range-picker-CFk-5O3R.js} +176 -171
  28. package/dist/_chunks/{date-time-picker-CLeLKuv9.js → date-time-picker-CjxTkblD.js} +92 -85
  29. package/dist/_chunks/{dialog-CUzbnKLw.js → dialog-Dn-iQ0Jp.js} +2 -2
  30. package/dist/_chunks/{document-preview-uoTekVR7.js → document-preview-CHGGG0l_.js} +2 -2
  31. package/dist/_chunks/{due-date-calculator-CSjklbyw.js → due-date-calculator-D_qFUiHp.js} +2 -2
  32. package/dist/_chunks/{entity-summary-DcB0fIiv.js → entity-summary-CWcCSThK.js} +2 -2
  33. package/dist/_chunks/{face-scheme-BicuUA2K.js → face-scheme-DSKDdIsb.js} +2 -2
  34. package/dist/_chunks/{file-manager-Cc_uO8r2.js → file-manager-DEtkQR1F.js} +4 -4
  35. package/dist/_chunks/{forgot-password-form-DEx-M_QR.js → forgot-password-form-CEqOmNuX.js} +2 -2
  36. package/dist/_chunks/{gestational-age-calculator-DqVeJke2.js → gestational-age-calculator-CZi43xKG.js} +2 -2
  37. package/dist/_chunks/{hcg-doubling-BIYyI2Yo.js → hcg-doubling-Ccvh7OaU.js} +2 -2
  38. package/dist/_chunks/{header-settings-ge_3gYEq.js → header-settings-BMcCx2LC.js} +2 -2
  39. package/dist/_chunks/{heatmap-Gf9r7Tn1.js → heatmap-DiyOSQk9.js} +2 -2
  40. package/dist/_chunks/{help-me-write-templates-fV-Apf72.js → help-me-write-templates-CM1p6qkm.js} +3 -3
  41. package/dist/_chunks/{hover-card-BnTueNS2.js → hover-card-U_ZYoh1n.js} +201 -187
  42. package/dist/_chunks/{icon-picker-DWrqmI1c.js → icon-picker-rOFTawXk.js} +3 -3
  43. package/dist/_chunks/{info-tip-B0jmIt6M.js → info-tip-CJpNpzZe.js} +2 -2
  44. package/dist/_chunks/{kit-extensions-Byfxy6sy.js → kit-extensions-DYVxWcqv.js} +4 -4
  45. package/dist/_chunks/{link-cell-renderer-TeJNvymP.js → link-cell-renderer-C1wOyxDF.js} +3 -3
  46. package/dist/_chunks/link-gRw3NtOt.js +137 -0
  47. package/dist/_chunks/{list-RRN2TJ_7.js → list-CNnn7DOD.js} +75 -73
  48. package/dist/_chunks/{locale-picker-DfNSdOpy.js → locale-picker-BGfrZyTw.js} +2 -2
  49. package/dist/_chunks/{login-dev-card-DmZ1B0lB.js → login-dev-card-CIim81VB.js} +2 -2
  50. package/dist/_chunks/marketplace-app-shell-CSDmGLPW.js +613 -0
  51. package/dist/_chunks/{message-tray-BB95DA82.js → message-tray-DmU0poD7.js} +76 -69
  52. package/dist/_chunks/{nav-grid-BqCPH8sm.js → nav-grid-Byx8PxuB.js} +2 -2
  53. package/dist/_chunks/navigation-dismiss-B1mcW1CT.js +9 -0
  54. package/dist/_chunks/non-modal-tab-exit-j3CPOuE3.js +89 -0
  55. package/dist/_chunks/{note-attachment-I1NLoeRZ.js → note-attachment-Bt2cddsZ.js} +2 -2
  56. package/dist/_chunks/{note-timeline-CsY8YOE7.js → note-timeline-CX9nAgAR.js} +2 -2
  57. package/dist/_chunks/{notes-panel-DceRhthG.js → notes-panel-DHLHsxpW.js} +4 -4
  58. package/dist/_chunks/{notification-tray-__sJXnsz.js → notification-tray-DPU-Xg0i.js} +83 -76
  59. package/dist/_chunks/{panel-subview-BT-Apwgb.js → panel-subview-D4o6ar6_.js} +61 -47
  60. package/dist/_chunks/{patient-details-DsTtjpuX.js → patient-details-BCaVuaXz.js} +2 -2
  61. package/dist/_chunks/{patient-field-row-BvZ9luz-.js → patient-field-row-jcRSTrp4.js} +7 -7
  62. package/dist/_chunks/{patient-summary-card-9nQWTQf6.js → patient-summary-card-kQIfPQOE.js} +4 -4
  63. package/dist/_chunks/{payment-automation-upsell-DiHovmUL.js → payment-automation-upsell-C4wHOxsp.js} +2 -2
  64. package/dist/_chunks/{payment-request-card-CwDpwXUC.js → payment-request-card-DAniJNLX.js} +2 -2
  65. package/dist/_chunks/{pdf-viewer-C3minW5b.js → pdf-viewer-CNQxa4tv.js} +396 -391
  66. package/dist/_chunks/{phone-input-DxkHMYmu.js → phone-input-O9camxkq.js} +156 -151
  67. package/dist/_chunks/popover-BG75rYjN.js +367 -0
  68. package/dist/_chunks/{practice-results-Dhbo-fc_.js → practice-results-D07wgCqV.js} +2 -2
  69. package/dist/_chunks/{pregnancy-dating-Bfu0Cq4H.js → pregnancy-dating-BFzv9g1N.js} +2 -2
  70. package/dist/_chunks/{product-hub-panel-BSSiGGG4.js → product-hub-panel-DCYX0rPG.js} +103 -96
  71. package/dist/_chunks/{public-footer-CxpG6J1M.js → public-footer-ZWTEG1Rq.js} +2 -2
  72. package/dist/_chunks/{public-header.agent-pr2hyiND.js → public-header.agent-C1SlVSYt.js} +2 -2
  73. package/dist/_chunks/{radiograph-panel.agent-DkUokbEa.js → radiograph-panel.agent-DyqbTECc.js} +4 -4
  74. package/dist/_chunks/{registration-form-D7iNqMBF.js → registration-form-DrSR9Sjk.js} +4 -4
  75. package/dist/_chunks/{rich-text-editor-CkFfmA3v.js → rich-text-editor-UgXri8h6.js} +490 -485
  76. package/dist/_chunks/{scroll-area-ZtFCv9K7.js → scroll-area-CY5SLYNw.js} +104 -74
  77. package/dist/_chunks/{search-bar-DQJS0wJN.js → search-bar-mA4bPe3t.js} +294 -255
  78. package/dist/_chunks/{sheet-C7SwIxwB.js → sheet-Dtjk0CVv.js} +3 -3
  79. package/dist/_chunks/sidebar-D4Wllqfz.js +2029 -0
  80. package/dist/_chunks/{sign-document-B6HlyCGV.js → sign-document-D4iHS_Ug.js} +2 -2
  81. package/dist/_chunks/{signature-request-DhbpB9N9.js → signature-request-dAVgE0_5.js} +3 -3
  82. package/dist/_chunks/{signed-out-frame-B2GTIeqA.js → signed-out-frame-DOJpobp8.js} +3 -3
  83. package/dist/_chunks/{state-backed-text-input-DECQy5aA.js → state-backed-text-input-Cgh4ms3p.js} +2 -2
  84. package/dist/_chunks/{task-editor-ByyRu29Y.js → task-editor-BflEZmcF.js} +7 -6
  85. package/dist/_chunks/{tool-rail-Bwyuw_Ot.js → tool-rail-CTq1KwxW.js} +115 -114
  86. package/dist/_chunks/{use-appointment-details-read-JsDM48tf.js → use-appointment-details-read-izwoXh-G.js} +8 -8
  87. package/dist/_chunks/use-state-backed-input-DhRQo6gM.js +57 -0
  88. package/dist/_chunks/{voice-control-panel-Bg1eklL0.js → voice-control-panel-an-bpQfF.js} +3 -3
  89. package/dist/_chunks/{widget-picker-DXYBMTfe.js → widget-picker-DlJOgYrZ.js} +80 -57
  90. package/dist/agent-catalog.json +3 -3
  91. package/dist/agent-i18n/en.json +1 -1
  92. package/dist/components/_shared/navigation-dismiss.d.ts +8 -0
  93. package/dist/components/_shared/non-modal-tab-exit.d.ts +15 -4
  94. package/dist/components/_shared/use-state-backed-input.d.ts +3 -2
  95. package/dist/components/address-fields/index.js +1 -1
  96. package/dist/components/ai-credits-notice/index.js +1 -1
  97. package/dist/components/ai-permission-notice/ai-permission-notice.d.ts +32 -0
  98. package/dist/components/ai-permission-notice/index.d.ts +1 -1
  99. package/dist/components/ai-permission-notice/index.js +1 -1
  100. package/dist/components/app-frame/index.js +1 -1
  101. package/dist/components/appointment-details-panel/index.js +1 -1
  102. package/dist/components/appointment-peek/index.js +1 -1
  103. package/dist/components/appointment-timeline/index.js +1 -1
  104. package/dist/components/booking/index.js +1 -1
  105. package/dist/components/calculator-dialog/index.js +1 -1
  106. package/dist/components/care-plan-card/index.js +1 -1
  107. package/dist/components/care-plan-header/index.js +1 -1
  108. package/dist/components/chart/chart.d.ts +5 -5
  109. package/dist/components/chart/index.js +1 -1
  110. package/dist/components/city-input/index.js +1 -1
  111. package/dist/components/clinical-note-card/index.js +1 -1
  112. package/dist/components/color-picker/index.js +1 -1
  113. package/dist/components/contact-card/index.js +1 -1
  114. package/dist/components/contact-profile-card/index.js +1 -1
  115. package/dist/components/control-room-rail/index.js +1 -1
  116. package/dist/components/cycle-calculator/index.js +1 -1
  117. package/dist/components/dashboard-grid/dashboard-grid.d.ts +33 -8
  118. package/dist/components/dashboard-grid/index.js +1 -1
  119. package/dist/components/data-table/index.js +2 -2
  120. package/dist/components/data-table-tabs/index.js +1 -1
  121. package/dist/components/date-picker/index.js +1 -1
  122. package/dist/components/date-range-picker/index.js +1 -1
  123. package/dist/components/date-time-picker/index.js +1 -1
  124. package/dist/components/dialog/index.js +1 -1
  125. package/dist/components/document-preview/index.js +1 -1
  126. package/dist/components/due-date-calculator/index.js +1 -1
  127. package/dist/components/entity-summary/index.js +1 -1
  128. package/dist/components/face-scheme/index.js +1 -1
  129. package/dist/components/file-manager/index.js +1 -1
  130. package/dist/components/gestational-age-calculator/index.js +1 -1
  131. package/dist/components/hcg-doubling/index.js +1 -1
  132. package/dist/components/header-settings/index.js +1 -1
  133. package/dist/components/heatmap/index.js +1 -1
  134. package/dist/components/hover-card/index.js +1 -1
  135. package/dist/components/icon-picker/index.js +1 -1
  136. package/dist/components/info-tip/index.js +1 -1
  137. package/dist/components/link/index.js +1 -1
  138. package/dist/components/link/link.d.ts +5 -3
  139. package/dist/components/list/index.js +1 -1
  140. package/dist/components/locale-picker/index.js +1 -1
  141. package/dist/components/message-tray/index.js +1 -1
  142. package/dist/components/nav-grid/index.js +1 -1
  143. package/dist/components/note-timeline/index.js +1 -1
  144. package/dist/components/notes-panel/index.js +1 -1
  145. package/dist/components/notification-tray/index.js +1 -1
  146. package/dist/components/panel-subview/index.js +1 -1
  147. package/dist/components/patient-details/index.js +1 -1
  148. package/dist/components/patient-summary-card/index.js +1 -1
  149. package/dist/components/patient-table/index.js +1 -1
  150. package/dist/components/payment-card/index.js +1 -1
  151. package/dist/components/pdf-viewer/index.js +1 -1
  152. package/dist/components/phone-input/index.js +1 -1
  153. package/dist/components/popover/index.js +1 -1
  154. package/dist/components/popover/popover.d.ts +1 -1
  155. package/dist/components/practice-results/index.js +1 -1
  156. package/dist/components/pregnancy-dating/index.js +1 -1
  157. package/dist/components/product-hub-tray/index.js +1 -1
  158. package/dist/components/public-footer/index.js +1 -1
  159. package/dist/components/public-header/index.js +1 -1
  160. package/dist/components/radiograph-panel/index.js +1 -1
  161. package/dist/components/rich-text-editor/index.js +2 -2
  162. package/dist/components/scroll-area/index.js +1 -1
  163. package/dist/components/scroll-area/scroll-area.d.ts +6 -5
  164. package/dist/components/search-bar/index.js +1 -1
  165. package/dist/components/search-bar/search-bar.d.ts +1 -1
  166. package/dist/components/sheet/index.js +1 -1
  167. package/dist/components/sidebar/index.d.ts +1 -1
  168. package/dist/components/sidebar/index.js +1 -1
  169. package/dist/components/sidebar/sidebar-move.d.ts +88 -0
  170. package/dist/components/sidebar/sidebar.d.ts +26 -1
  171. package/dist/components/sign-document/index.js +1 -1
  172. package/dist/components/task-editor/index.js +1 -1
  173. package/dist/components/tool-rail/index.js +1 -1
  174. package/dist/components/voice-control-panel/index.js +1 -1
  175. package/dist/components/widget-picker/index.js +1 -1
  176. package/dist/host-compat.css +2 -1
  177. package/dist/i18n/locales/ar.d.ts +24 -0
  178. package/dist/i18n/locales/ar.js +26 -2
  179. package/dist/i18n/locales/de.d.ts +24 -0
  180. package/dist/i18n/locales/de.js +26 -2
  181. package/dist/i18n/locales/el.d.ts +24 -0
  182. package/dist/i18n/locales/el.js +26 -2
  183. package/dist/i18n/locales/en.d.ts +24 -0
  184. package/dist/i18n/locales/en.js +26 -2
  185. package/dist/i18n/locales/es.d.ts +24 -0
  186. package/dist/i18n/locales/es.js +26 -2
  187. package/dist/i18n/locales/fr.d.ts +24 -0
  188. package/dist/i18n/locales/fr.js +26 -2
  189. package/dist/i18n/locales/hi.d.ts +24 -0
  190. package/dist/i18n/locales/hi.js +26 -2
  191. package/dist/i18n/locales/it.d.ts +24 -0
  192. package/dist/i18n/locales/it.js +26 -2
  193. package/dist/i18n/locales/ja.d.ts +24 -0
  194. package/dist/i18n/locales/ja.js +26 -2
  195. package/dist/i18n/locales/nl.d.ts +24 -0
  196. package/dist/i18n/locales/nl.js +26 -2
  197. package/dist/i18n/locales/pl.d.ts +24 -0
  198. package/dist/i18n/locales/pl.js +26 -2
  199. package/dist/i18n/locales/pt.d.ts +24 -0
  200. package/dist/i18n/locales/pt.js +26 -2
  201. package/dist/i18n/locales/ro.d.ts +24 -0
  202. package/dist/i18n/locales/ro.js +26 -2
  203. package/dist/i18n/locales/ru.d.ts +24 -0
  204. package/dist/i18n/locales/ru.js +26 -2
  205. package/dist/i18n/locales/sq.d.ts +24 -0
  206. package/dist/i18n/locales/sq.js +26 -2
  207. package/dist/i18n/locales/sv.d.ts +24 -0
  208. package/dist/i18n/locales/sv.js +26 -2
  209. package/dist/i18n/locales/tr.d.ts +24 -0
  210. package/dist/i18n/locales/tr.js +26 -2
  211. package/dist/i18n/locales/zh.d.ts +24 -0
  212. package/dist/i18n/locales/zh.js +26 -2
  213. package/dist/index.js +204 -203
  214. package/dist/locales/ar.json +26 -2
  215. package/dist/locales/de.json +26 -2
  216. package/dist/locales/el.json +26 -2
  217. package/dist/locales/en.json +26 -2
  218. package/dist/locales/es.json +26 -2
  219. package/dist/locales/fr.json +26 -2
  220. package/dist/locales/hi.json +26 -2
  221. package/dist/locales/it.json +26 -2
  222. package/dist/locales/ja.json +26 -2
  223. package/dist/locales/nl.json +26 -2
  224. package/dist/locales/pl.json +26 -2
  225. package/dist/locales/pt.json +26 -2
  226. package/dist/locales/ro.json +26 -2
  227. package/dist/locales/ru.json +26 -2
  228. package/dist/locales/sq.json +26 -2
  229. package/dist/locales/sv.json +26 -2
  230. package/dist/locales/tr.json +26 -2
  231. package/dist/locales/zh.json +26 -2
  232. package/dist/patterns/alia-assistant/alia-asteroid-icon.d.ts +10 -13
  233. package/dist/patterns/alia-assistant/alia-popout.d.ts +5 -3
  234. package/dist/patterns/alia-assistant/index.d.ts +2 -0
  235. package/dist/patterns/alia-assistant/index.js +6 -5
  236. package/dist/patterns/anamnesis/index.js +1 -1
  237. package/dist/patterns/calendar/index.js +1 -1
  238. package/dist/patterns/forgot-password-form/index.js +1 -1
  239. package/dist/patterns/help-me-write-templates/index.js +1 -1
  240. package/dist/patterns/login-form/index.js +1 -1
  241. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  242. package/dist/patterns/marketplace-app-shell/marketplace-app-shell.d.ts +40 -10
  243. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  244. package/dist/patterns/registration-form/index.js +1 -1
  245. package/dist/patterns/signature-request/index.js +1 -1
  246. package/dist/patterns/signed-out-frame/index.js +1 -1
  247. package/dist/tokens.css +1 -1
  248. package/package.json +1 -1
  249. package/dist/_chunks/ai-permission-notice-5vpblPCx.js +0 -171
  250. package/dist/_chunks/alia-sidebar-DOei4Iyu.js +0 -1183
  251. package/dist/_chunks/dashboard-grid-DfEY2qci.js +0 -844
  252. package/dist/_chunks/link-2HokYuIi.js +0 -130
  253. package/dist/_chunks/marketplace-app-shell-Dcx-JEjg.js +0 -541
  254. package/dist/_chunks/non-modal-tab-exit-D2Bd93Bq.js +0 -65
  255. package/dist/_chunks/popover-BI3oV3eY.js +0 -305
  256. package/dist/_chunks/sidebar-DLsG2AIk.js +0 -1349
  257. package/dist/_chunks/use-state-backed-input-C7ESmxKB.js +0 -59
@@ -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
@@ -2,7 +2,7 @@ import { jsxs as a, jsx as o, Fragment as ot } from "react/jsx-runtime";
2
2
  import { forwardRef as It, useId as Se, useState as _, useRef as c, useMemo as Pe, useEffect as y, useCallback as I } from "react";
3
3
  import { c as P } from "./index-D2ZczOXr.js";
4
4
  import { useTranslation as Lt, Trans as Vt } from "react-i18next";
5
- import { A as Gt } from "./ai-permission-notice-5vpblPCx.js";
5
+ import { A as Gt } from "./ai-permission-notice-DyuEGwAt.js";
6
6
  import { A as Ft } from "./ai-sparkle-D23NT8Z_.js";
7
7
  import { B as Mt } from "./badge-hnBt8o7n.js";
8
8
  import { B as st } from "./button-Bn16lcFM.js";
@@ -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-Bg1eklL0.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-CUzbnKLw.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-DXYBMTfe.js.map
216
+ //# sourceMappingURL=widget-picker-DlJOgYrZ.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.56.0",
3
+ "packageVersion": "1.58.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -2047,7 +2047,7 @@
2047
2047
  "primary",
2048
2048
  "compare"
2049
2049
  ],
2050
- "description": "Optional. 'compare' renders this series as a secondary, colour-blind-safe overlay (e.g. the previous period) — dashed grey for line/area, hatched grey for bar. Omit for a normal primary series."
2050
+ "description": "Optional. 'compare' renders this series as a secondary, colour-blind-safe overlay (e.g. the previous period) — a dotted stroke in its paired primary's colour for line/area, a tinted bar with a dotted outline for bar. Omit for a normal primary series."
2051
2051
  }
2052
2052
  },
2053
2053
  "required": [
@@ -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
@@ -1,8 +1,19 @@
1
1
  import { type KeyboardEvent } from 'react';
2
+ /** Returns the element a portalled panel belongs after in reading order. */
3
+ export type TabExitAnchor = (content: HTMLElement) => HTMLElement | null | undefined;
4
+ export interface TabExitOptions {
5
+ /** A popover's trigger or anchor. Without it, Tab leaves in DOM order. */
6
+ getAnchor?: TabExitAnchor;
7
+ /** Radix keeps a popover open when focus lands on its own trigger, so
8
+ * Shift+Tab back onto the trigger calls this to close it. */
9
+ onReturnToTrigger?: () => void;
10
+ }
11
+ /** The Radix Popover trigger whose `aria-controls` names this content. */
12
+ export declare function findPopoverTrigger(content: HTMLElement): HTMLElement | null;
2
13
  /**
3
- * Lets Tab leave non-modal Radix Dialog content instead of wrapping. Enable it
4
- * only with `modal={false}`; modal content keeps Radix's trap and loop.
5
- * Returns a handler for the content's `onKeyDown`, after the consumer's own.
14
+ * Lets Tab leave non-modal Dialog or Popover content (modal keeps its trap).
15
+ * With `getAnchor`, Tab leaves to just after the anchor and Shift+Tab returns
16
+ * to it. Returns a handler for the content's `onKeyDown`, after the consumer's.
6
17
  */
7
- export declare function useNonModalTabExit(enabled: boolean): (event: KeyboardEvent<HTMLElement>) => void;
18
+ export declare function useNonModalTabExit(enabled: boolean, { getAnchor, onReturnToTrigger }?: TabExitOptions): (event: KeyboardEvent<HTMLElement>) => void;
8
19
  //# sourceMappingURL=non-modal-tab-exit.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 i } from "../../_chunks/ai-credits-notice-BoNJtOuE.js";
1
+ import { A as i } from "../../_chunks/ai-credits-notice-ktklr8fy.js";
2
2
  import { a as r } from "../../_chunks/ai-credits-notice.agent-C9L7orrP.js";
3
3
  export {
4
4
  i as AiCreditsNotice,
@@ -6,6 +6,10 @@ declare const rootVariants: (props?: ({
6
6
  export type AiConsentState = NonNullable<VariantProps<typeof rootVariants>['state']>;
7
7
  /** Heading levels `AiConsentBanner.headingLevel` accepts. */
8
8
  export type AiConsentBannerHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
9
+ /** What the consent covers; each subject has kit-owned, translated wording.
10
+ * `'patient-record'` (default) is one patient's record. `'practice-statistics'`
11
+ * is the practice's aggregate figures (totals, rates), never patient data. */
12
+ export type AiConsentSubject = 'patient-record' | 'practice-statistics';
9
13
  /**
10
14
  * Patient AI-consent gate for an AI surface that sends patient data to a
11
15
  * service: the RichTextEditor's Help-me-write action and dictation mics, and
@@ -40,6 +44,27 @@ export interface AiConsentGate {
40
44
  */
41
45
  onGrant?: () => void | Promise<void>;
42
46
  }
47
+ /** Host-translated strings; the host owns their wording and translation.
48
+ * Each one replaces the `subject` preset for that string only. Plain text,
49
+ * not i18n keys: interpolate any values (a practice name) before passing. */
50
+ export interface AiConsentBannerCopy {
51
+ /** Banner heading. */
52
+ title?: string;
53
+ /** Description in the required and pending states. */
54
+ descriptionRequired?: string;
55
+ /** Description in the granted state. */
56
+ descriptionGranted?: string;
57
+ /** Label of the confirmation checkbox. */
58
+ confirmLabel?: string;
59
+ /** Label of the Grant button. */
60
+ grantButton?: string;
61
+ /** Note shown instead of the grant controls when `canGrant` is false. */
62
+ notAllowed?: string;
63
+ /** Badge text in the granted state. */
64
+ badgeGranted?: string;
65
+ /** Busy text (and Spinner label) in the pending state. */
66
+ pendingLabel?: string;
67
+ }
43
68
  /** Agent-readiness curated handle. Exposes the structural consent state only. */
44
69
  export interface AiConsentBannerHandle {
45
70
  /** Current derived state: 'granted' | 'required' | 'pending'. */
@@ -80,6 +105,13 @@ export interface AiConsentBannerProps extends Omit<ComponentPropsWithoutRef<'div
80
105
  * `<h5>` — every existing consumer is unaffected.
81
106
  */
82
107
  headingLevel?: AiConsentBannerHeadingLevel;
108
+ /** What the consent covers; picks the kit's translated wording. Default
109
+ * `'patient-record'`, which renders exactly as before this prop existed. */
110
+ subject?: AiConsentSubject;
111
+ /** Host-translated strings; the host owns their wording and translation.
112
+ * Each key overrides only its own string. `title` also names the region,
113
+ * unless `aria-label` is passed. */
114
+ copy?: Partial<AiConsentBannerCopy>;
83
115
  /** Override the region's accessible name. */
84
116
  'aria-label'?: string;
85
117
  }
@@ -1,4 +1,4 @@
1
1
  export { AiConsentBanner } from './ai-permission-notice';
2
- export type { AiConsentBannerProps, AiConsentBannerHandle, AiConsentState, AiConsentBannerHeadingLevel, AiConsentGate, } from './ai-permission-notice';
2
+ export type { AiConsentBannerProps, AiConsentBannerCopy, AiConsentSubject, AiConsentBannerHandle, AiConsentState, AiConsentBannerHeadingLevel, AiConsentGate, } from './ai-permission-notice';
3
3
  export { aiConsentBannerAgent } from './ai-permission-notice.agent';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
- import { A as e, a as o } from "../../_chunks/ai-permission-notice-5vpblPCx.js";
1
+ import { A as e, a as o } from "../../_chunks/ai-permission-notice-DyuEGwAt.js";
2
2
  export {
3
3
  e as AiConsentBanner,
4
4
  o as aiConsentBannerAgent
@@ -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-JsDM48tf.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 { A as o } from "../../_chunks/appointment-peek-BIZaDeCi.js";
1
+ import { A as o } from "../../_chunks/appointment-peek-WvNbE4JG.js";
2
2
  import { a as n } from "../../_chunks/appointment-peek.agent-C539tNFM.js";
3
3
  export {
4
4
  o as AppointmentPeek,
@@ -1,4 +1,4 @@
1
- import { A as i, a as t } from "../../_chunks/appointment-timeline-DmqYEIT9.js";
1
+ import { A as i, a as t } from "../../_chunks/appointment-timeline-Z0494xO-.js";
2
2
  export {
3
3
  i as AppointmentTimeline,
4
4
  t as appointmentTimelineAgent
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-WyNGKPE2.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 l } from "../../_chunks/calculator-dialog-pCPWta7h.js";
1
+ import { C as l } from "../../_chunks/calculator-dialog-CzQv03p0.js";
2
2
  export {
3
3
  l as CalculatorDialog
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as e, c as C } from "../../_chunks/care-plan-card-Ddjh5Doc.js";
1
+ import { C as e, c as C } from "../../_chunks/care-plan-card-DxrRLRdW.js";
2
2
  export {
3
3
  e as CarePlanCard,
4
4
  C as carePlanCardAgent
@@ -1,4 +1,4 @@
1
- import { C as r, c as n } from "../../_chunks/care-plan-header-DUX_SVvF.js";
1
+ import { C as r, c as n } from "../../_chunks/care-plan-header-BMwZIgHJ.js";
2
2
  export {
3
3
  r as CarePlanHeader,
4
4
  n as carePlanHeaderAgent
@@ -29,8 +29,8 @@ export interface ChartSeries {
29
29
  * type system with no runtime guard. On an axis→slice type switch the compare
30
30
  * series are dropped from the slice (a previous-period total is not a slice of
31
31
  * the current whole; DEV warn). Omit (or `'primary'`) to render normally — a
32
- * chart with NO compare series emits byte-identical ApexCharts options to
33
- * before this field existed.
32
+ * chart with NO compare series renders as before this field existed, and
33
+ * removing or moving the role through `series` clears it from the old series.
34
34
  * @default 'primary'
35
35
  */
36
36
  role?: 'primary' | 'compare';
@@ -65,9 +65,9 @@ export interface ChartProps extends VariantProps<typeof chartVariants> {
65
65
  * Stack multiple `bar` / `area` series into a composition-over-time view.
66
66
  * Maps to ApexCharts `chart.stacked`. Only applies to the axis types
67
67
  * (`line` / `bar` / `area`); slice types (`pie` / `donut` / `radialBar`)
68
- * have no axis to stack against and ignore it. Default `false` — an
69
- * unstacked chart emits no `chart.stacked` key and renders identically to
70
- * before this prop existed.
68
+ * have no axis to stack against and ignore it. Default `false`: an
69
+ * unstacked chart renders as before this prop existed, and turning it off
70
+ * after the first render unstacks the bars in place.
71
71
  */
72
72
  stacked?: boolean;
73
73
  /**
@@ -1,4 +1,4 @@
1
- import { C as t, c as s, a as c } from "../../_chunks/chart-HsF1KHbx.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 e, c as i } from "../../_chunks/clinical-note-card-14JIoUR0.js";
1
+ import { C as e, c as i } from "../../_chunks/clinical-note-card-hx939bvw.js";
2
2
  export {
3
3
  e as ClinicalNoteCard,
4
4
  i as clinicalNoteCardAgent
@@ -1,4 +1,4 @@
1
- import { A as T, B as P, C as L, G as a } from "../../_chunks/color-picker-BRQ4Y9SO.js";
1
+ import { A as T, B as P, C as L, G as a } from "../../_chunks/color-picker-BsggJovx.js";
2
2
  export {
3
3
  T as APPOINTMENT_PALETTE,
4
4
  P as BRAND_PALETTE,
@@ -1,4 +1,4 @@
1
- import { C as r } from "../../_chunks/contact-card-CmK05vNb.js";
1
+ import { C as r } from "../../_chunks/contact-card-fHBMwEsx.js";
2
2
  export {
3
3
  r as ContactCard
4
4
  };
@@ -1,4 +1,4 @@
1
- import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-Ci8lBQ6a.js";
1
+ import { C as _, a as O, b as o, c as r } from "../../_chunks/contact-profile-card-CMyBYgRR.js";
2
2
  export {
3
3
  _ as CONTACT_PROFILE_CARD_ROW_ICONS,
4
4
  O as CONTACT_PROFILE_CARD_ROW_KEYS,
@@ -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,
@@ -1,4 +1,4 @@
1
- import { C as e, L as l, p as r } from "../../_chunks/cycle-calculator-Dgfqr4Q4.js";
1
+ import { C as e, L as l, p as r } from "../../_chunks/cycle-calculator-Cww9DzIa.js";
2
2
  export {
3
3
  e as CycleCalculator,
4
4
  l as LUTEAL_PHASE_DAYS,