@alfadocs/ui-kit-debug 1.65.0 → 1.67.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 (264) hide show
  1. package/dist/_chunks/ai-credits-exhausted-notice-DfAgfZDF.js +287 -0
  2. package/dist/_chunks/ai-credits-exhausted-notice-DfAgfZDF.js.map +1 -0
  3. package/dist/_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js +43 -0
  4. package/dist/_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js.map +1 -0
  5. package/dist/_chunks/ai-credits-notice-DQ-r3iQU.js +191 -0
  6. package/dist/_chunks/ai-credits-notice-DQ-r3iQU.js.map +1 -0
  7. package/dist/_chunks/{ai-permission-notice-DpRmZ9Q3.js → ai-permission-notice-qsdm4Sx4.js} +2 -2
  8. package/dist/_chunks/{ai-permission-notice-DpRmZ9Q3.js.map → ai-permission-notice-qsdm4Sx4.js.map} +1 -1
  9. package/dist/_chunks/{alert-DdDpOi-P.js → alert-DjsJMGRE.js} +3 -2
  10. package/dist/_chunks/{alert-DdDpOi-P.js.map → alert-DjsJMGRE.js.map} +1 -1
  11. package/dist/_chunks/{anamnesis-summary-rows-BIfw890v.js → anamnesis-summary-rows-BQ_EokKz.js} +2 -2
  12. package/dist/_chunks/{anamnesis-summary-rows-BIfw890v.js.map → anamnesis-summary-rows-BQ_EokKz.js.map} +1 -1
  13. package/dist/_chunks/{audio-recorder-DR-u1qbl.js → audio-recorder-B11RR-rC.js} +2 -2
  14. package/dist/_chunks/{audio-recorder-DR-u1qbl.js.map → audio-recorder-B11RR-rC.js.map} +1 -1
  15. package/dist/_chunks/{auth-form-parts-Cmb41LSQ.js → auth-form-parts-DwUTH6YN.js} +2 -2
  16. package/dist/_chunks/{auth-form-parts-Cmb41LSQ.js.map → auth-form-parts-DwUTH6YN.js.map} +1 -1
  17. package/dist/_chunks/{booking-DkjatiXc.js → booking-tTVxKPQY.js} +2 -2
  18. package/dist/_chunks/{booking-DkjatiXc.js.map → booking-tTVxKPQY.js.map} +1 -1
  19. package/dist/_chunks/{calendar-workspace-Cp8yTZ1g.js → calendar-workspace-MRrzcxAy.js} +6 -6
  20. package/dist/_chunks/{calendar-workspace-Cp8yTZ1g.js.map → calendar-workspace-MRrzcxAy.js.map} +1 -1
  21. package/dist/_chunks/chart-CwmyCuWe.js +1340 -0
  22. package/dist/_chunks/chart-CwmyCuWe.js.map +1 -0
  23. package/dist/_chunks/{document-preview-B1dQm292.js → document-preview-VyQOjFVL.js} +2 -2
  24. package/dist/_chunks/{document-preview-B1dQm292.js.map → document-preview-VyQOjFVL.js.map} +1 -1
  25. package/dist/_chunks/{document-scanner-CVPVLK7z.js → document-scanner-CXH_GYh4.js} +2 -2
  26. package/dist/_chunks/{document-scanner-CVPVLK7z.js.map → document-scanner-CXH_GYh4.js.map} +1 -1
  27. package/dist/_chunks/{entity-summary-BQ9_KA8S.js → entity-summary-Bj-Wxq7Y.js} +2 -2
  28. package/dist/_chunks/{entity-summary-BQ9_KA8S.js.map → entity-summary-Bj-Wxq7Y.js.map} +1 -1
  29. package/dist/_chunks/{error-summary-DrUfuKu1.js → error-summary-PUE5Zxp9.js} +2 -2
  30. package/dist/_chunks/{error-summary-DrUfuKu1.js.map → error-summary-PUE5Zxp9.js.map} +1 -1
  31. package/dist/_chunks/{forgot-password-form-CgZkEvZy.js → forgot-password-form-CPOfRE0C.js} +4 -4
  32. package/dist/_chunks/{forgot-password-form-CgZkEvZy.js.map → forgot-password-form-CPOfRE0C.js.map} +1 -1
  33. package/dist/_chunks/{freemium-paywall-DKJHRFpp.js → freemium-paywall-6DO7noHX.js} +2 -2
  34. package/dist/_chunks/{freemium-paywall-DKJHRFpp.js.map → freemium-paywall-6DO7noHX.js.map} +1 -1
  35. package/dist/_chunks/heatmap-C1TeC7wT.js +3650 -0
  36. package/dist/_chunks/heatmap-C1TeC7wT.js.map +1 -0
  37. package/dist/_chunks/help-me-write-templates-Bw3Q58x-.js +687 -0
  38. package/dist/_chunks/help-me-write-templates-Bw3Q58x-.js.map +1 -0
  39. package/dist/_chunks/hourglass-BEAzW1wE.js +26 -0
  40. package/dist/_chunks/hourglass-BEAzW1wE.js.map +1 -0
  41. package/dist/_chunks/{login-dev-card-PnADNcI9.js → login-dev-card-A-CL3mjt.js} +3 -3
  42. package/dist/_chunks/{login-dev-card-PnADNcI9.js.map → login-dev-card-A-CL3mjt.js.map} +1 -1
  43. package/dist/_chunks/{marketplace-app-shell-C-2e4eCD.js → marketplace-app-shell-DtSX8sYb.js} +2 -2
  44. package/dist/_chunks/{marketplace-app-shell-C-2e4eCD.js.map → marketplace-app-shell-DtSX8sYb.js.map} +1 -1
  45. package/dist/_chunks/{notes-panel-uEGIL7mi.js → notes-panel-IdsmqRFC.js} +3 -3
  46. package/dist/_chunks/{notes-panel-uEGIL7mi.js.map → notes-panel-IdsmqRFC.js.map} +1 -1
  47. package/dist/_chunks/{patient-details-4P1vA9Ls.js → patient-details-C-EWQTms.js} +2 -2
  48. package/dist/_chunks/{patient-details-4P1vA9Ls.js.map → patient-details-C-EWQTms.js.map} +1 -1
  49. package/dist/_chunks/{patient-field-row-CBXhlfGD.js → patient-field-row-lY-Tb5Mo.js} +155 -176
  50. package/dist/_chunks/patient-field-row-lY-Tb5Mo.js.map +1 -0
  51. package/dist/_chunks/{patient-search-DOnDUVsl.js → patient-search-DpAKidZ5.js} +2 -2
  52. package/dist/_chunks/{patient-search-DOnDUVsl.js.map → patient-search-DpAKidZ5.js.map} +1 -1
  53. package/dist/_chunks/{patient-summary-card-CuDLo8MP.js → patient-summary-card-Bpto_VCD.js} +2 -2
  54. package/dist/_chunks/{patient-summary-card-CuDLo8MP.js.map → patient-summary-card-Bpto_VCD.js.map} +1 -1
  55. package/dist/_chunks/{payment-automation-upsell-C8MEu0t6.js → payment-automation-upsell-BQ307qEX.js} +2 -2
  56. package/dist/_chunks/{payment-automation-upsell-C8MEu0t6.js.map → payment-automation-upsell-BQ307qEX.js.map} +1 -1
  57. package/dist/_chunks/{payment-form-C3dGY7v4.js → payment-form-XKtinW8r.js} +2 -2
  58. package/dist/_chunks/{payment-form-C3dGY7v4.js.map → payment-form-XKtinW8r.js.map} +1 -1
  59. package/dist/_chunks/{pdf-viewer-DJ9VN7cu.js → pdf-viewer-BvoVMjH4.js} +2 -2
  60. package/dist/_chunks/{pdf-viewer-DJ9VN7cu.js.map → pdf-viewer-BvoVMjH4.js.map} +1 -1
  61. package/dist/_chunks/{practice-results-8h2Utpt3.js → practice-results-BrUDDMXC.js} +2 -2
  62. package/dist/_chunks/{practice-results-8h2Utpt3.js.map → practice-results-BrUDDMXC.js.map} +1 -1
  63. package/dist/_chunks/{registration-form-BQyT_kBX.js → registration-form-BxwqUZzk.js} +3 -3
  64. package/dist/_chunks/{registration-form-BQyT_kBX.js.map → registration-form-BxwqUZzk.js.map} +1 -1
  65. package/dist/_chunks/{rich-text-editor-M2gT_E7f.js → rich-text-editor-aCIoptbg.js} +1653 -1743
  66. package/dist/_chunks/{rich-text-editor-M2gT_E7f.js.map → rich-text-editor-aCIoptbg.js.map} +1 -1
  67. package/dist/_chunks/{sign-document-CY7xTXbm.js → sign-document-D1P1nUQA.js} +2 -2
  68. package/dist/_chunks/{sign-document-CY7xTXbm.js.map → sign-document-D1P1nUQA.js.map} +1 -1
  69. package/dist/_chunks/{signature-request-BMCHy2ZO.js → signature-request-3u6TvRt2.js} +2 -2
  70. package/dist/_chunks/{signature-request-BMCHy2ZO.js.map → signature-request-3u6TvRt2.js.map} +1 -1
  71. package/dist/_chunks/{task-editor-CifOznfq.js → task-editor-Bb5MMcid.js} +2 -2
  72. package/dist/_chunks/{task-editor-CifOznfq.js.map → task-editor-Bb5MMcid.js.map} +1 -1
  73. package/dist/_chunks/{tasks-panel-8nLwBw6P.js → tasks-panel-BOb57Ysw.js} +2 -2
  74. package/dist/_chunks/{tasks-panel-8nLwBw6P.js.map → tasks-panel-BOb57Ysw.js.map} +1 -1
  75. package/dist/_chunks/{use-appointment-details-read-B-FEWbQM.js → use-appointment-details-read-CVSPoP5j.js} +4 -4
  76. package/dist/_chunks/{use-appointment-details-read-B-FEWbQM.js.map → use-appointment-details-read-CVSPoP5j.js.map} +1 -1
  77. package/dist/_chunks/voice-control-panel-BJIEbDq6.js +1148 -0
  78. package/dist/_chunks/voice-control-panel-BJIEbDq6.js.map +1 -0
  79. package/dist/_chunks/{warning-stack-HYWAytZV.js → warning-stack-BdY-0bd3.js} +2 -2
  80. package/dist/_chunks/{warning-stack-HYWAytZV.js.map → warning-stack-BdY-0bd3.js.map} +1 -1
  81. package/dist/_chunks/{workflow-map-C2B2qIr1.js → workflow-map-CYbRD9ek.js} +2 -2
  82. package/dist/_chunks/{workflow-map-C2B2qIr1.js.map → workflow-map-CYbRD9ek.js.map} +1 -1
  83. package/dist/agent-catalog.json +50 -3
  84. package/dist/agent-i18n/en.json +7 -4
  85. package/dist/components/_shared/use-apex-radial-centre.d.ts +7 -4
  86. package/dist/components/_shared/use-apex-radial-centre.d.ts.map +1 -1
  87. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.agent.d.ts +4 -0
  88. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.agent.d.ts.map +1 -0
  89. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.d.ts +96 -0
  90. package/dist/components/ai-credits-notice/ai-credits-exhausted-notice.d.ts.map +1 -0
  91. package/dist/components/ai-credits-notice/ai-credits-notice.d.ts +30 -4
  92. package/dist/components/ai-credits-notice/ai-credits-notice.d.ts.map +1 -1
  93. package/dist/components/ai-credits-notice/index.d.ts +3 -0
  94. package/dist/components/ai-credits-notice/index.d.ts.map +1 -1
  95. package/dist/components/ai-credits-notice/index.js +10 -4
  96. package/dist/components/ai-credits-notice/index.js.map +1 -1
  97. package/dist/components/ai-permission-notice/index.js +1 -1
  98. package/dist/components/alert/index.js +1 -1
  99. package/dist/components/appointment-details-panel/index.js +1 -1
  100. package/dist/components/audio-recorder/index.js +1 -1
  101. package/dist/components/booking/index.js +1 -1
  102. package/dist/components/chart/index.js +1 -1
  103. package/dist/components/document-preview/index.js +1 -1
  104. package/dist/components/document-scanner/index.js +1 -1
  105. package/dist/components/entity-summary/index.js +1 -1
  106. package/dist/components/error-summary/index.js +1 -1
  107. package/dist/components/freemium-paywall/index.js +1 -1
  108. package/dist/components/heatmap/heatmap-context.d.ts +3 -0
  109. package/dist/components/heatmap/heatmap-context.d.ts.map +1 -1
  110. package/dist/components/heatmap/heatmap-disclosure.d.ts +67 -0
  111. package/dist/components/heatmap/heatmap-disclosure.d.ts.map +1 -0
  112. package/dist/components/heatmap/heatmap-format.d.ts.map +1 -1
  113. package/dist/components/heatmap/heatmap-grid.d.ts +1 -1
  114. package/dist/components/heatmap/heatmap-grid.d.ts.map +1 -1
  115. package/dist/components/heatmap/heatmap-legend.d.ts +5 -2
  116. package/dist/components/heatmap/heatmap-legend.d.ts.map +1 -1
  117. package/dist/components/heatmap/heatmap-model.d.ts +107 -15
  118. package/dist/components/heatmap/heatmap-model.d.ts.map +1 -1
  119. package/dist/components/heatmap/heatmap-table-view.d.ts +3 -2
  120. package/dist/components/heatmap/heatmap-table-view.d.ts.map +1 -1
  121. package/dist/components/heatmap/heatmap.d.ts +33 -7
  122. package/dist/components/heatmap/heatmap.d.ts.map +1 -1
  123. package/dist/components/heatmap/index.d.ts +1 -1
  124. package/dist/components/heatmap/index.d.ts.map +1 -1
  125. package/dist/components/heatmap/index.js +1 -1
  126. package/dist/components/notes-panel/index.js +1 -1
  127. package/dist/components/patient-details/index.js +1 -1
  128. package/dist/components/patient-search/index.js +1 -1
  129. package/dist/components/patient-summary-card/index.js +1 -1
  130. package/dist/components/payment-form/index.js +1 -1
  131. package/dist/components/pdf-viewer/index.js +1 -1
  132. package/dist/components/practice-results/index.js +1 -1
  133. package/dist/components/rich-text-editor/index.js +1 -1
  134. package/dist/components/rich-text-editor/rich-text-editor.d.ts.map +1 -1
  135. package/dist/components/sign-document/index.js +1 -1
  136. package/dist/components/task-editor/index.js +1 -1
  137. package/dist/components/tasks-panel/index.js +1 -1
  138. package/dist/components/voice-control-panel/index.d.ts +2 -1
  139. package/dist/components/voice-control-panel/index.d.ts.map +1 -1
  140. package/dist/components/voice-control-panel/index.js +1 -1
  141. package/dist/components/voice-control-panel/voice-control-panel.agent.d.ts.map +1 -1
  142. package/dist/components/voice-control-panel/voice-control-panel.d.ts +43 -3
  143. package/dist/components/voice-control-panel/voice-control-panel.d.ts.map +1 -1
  144. package/dist/components/warning-stack/index.js +1 -1
  145. package/dist/components/workflow/index.js +1 -1
  146. package/dist/i18n/locales/ar.d.ts +29 -12
  147. package/dist/i18n/locales/ar.d.ts.map +1 -1
  148. package/dist/i18n/locales/ar.js +29 -12
  149. package/dist/i18n/locales/ar.js.map +1 -1
  150. package/dist/i18n/locales/de.d.ts +29 -12
  151. package/dist/i18n/locales/de.d.ts.map +1 -1
  152. package/dist/i18n/locales/de.js +29 -12
  153. package/dist/i18n/locales/de.js.map +1 -1
  154. package/dist/i18n/locales/el.d.ts +29 -12
  155. package/dist/i18n/locales/el.d.ts.map +1 -1
  156. package/dist/i18n/locales/el.js +29 -12
  157. package/dist/i18n/locales/el.js.map +1 -1
  158. package/dist/i18n/locales/en.d.ts +29 -12
  159. package/dist/i18n/locales/en.d.ts.map +1 -1
  160. package/dist/i18n/locales/en.js +29 -12
  161. package/dist/i18n/locales/en.js.map +1 -1
  162. package/dist/i18n/locales/es.d.ts +29 -12
  163. package/dist/i18n/locales/es.d.ts.map +1 -1
  164. package/dist/i18n/locales/es.js +29 -12
  165. package/dist/i18n/locales/es.js.map +1 -1
  166. package/dist/i18n/locales/fr.d.ts +29 -12
  167. package/dist/i18n/locales/fr.d.ts.map +1 -1
  168. package/dist/i18n/locales/fr.js +29 -12
  169. package/dist/i18n/locales/fr.js.map +1 -1
  170. package/dist/i18n/locales/hi.d.ts +29 -12
  171. package/dist/i18n/locales/hi.d.ts.map +1 -1
  172. package/dist/i18n/locales/hi.js +29 -12
  173. package/dist/i18n/locales/hi.js.map +1 -1
  174. package/dist/i18n/locales/it.d.ts +29 -12
  175. package/dist/i18n/locales/it.d.ts.map +1 -1
  176. package/dist/i18n/locales/it.js +29 -12
  177. package/dist/i18n/locales/it.js.map +1 -1
  178. package/dist/i18n/locales/ja.d.ts +29 -12
  179. package/dist/i18n/locales/ja.d.ts.map +1 -1
  180. package/dist/i18n/locales/ja.js +29 -12
  181. package/dist/i18n/locales/ja.js.map +1 -1
  182. package/dist/i18n/locales/nl.d.ts +29 -12
  183. package/dist/i18n/locales/nl.d.ts.map +1 -1
  184. package/dist/i18n/locales/nl.js +29 -12
  185. package/dist/i18n/locales/nl.js.map +1 -1
  186. package/dist/i18n/locales/pl.d.ts +29 -12
  187. package/dist/i18n/locales/pl.d.ts.map +1 -1
  188. package/dist/i18n/locales/pl.js +29 -12
  189. package/dist/i18n/locales/pl.js.map +1 -1
  190. package/dist/i18n/locales/pt.d.ts +29 -12
  191. package/dist/i18n/locales/pt.d.ts.map +1 -1
  192. package/dist/i18n/locales/pt.js +29 -12
  193. package/dist/i18n/locales/pt.js.map +1 -1
  194. package/dist/i18n/locales/ro.d.ts +29 -12
  195. package/dist/i18n/locales/ro.d.ts.map +1 -1
  196. package/dist/i18n/locales/ro.js +29 -12
  197. package/dist/i18n/locales/ro.js.map +1 -1
  198. package/dist/i18n/locales/ru.d.ts +29 -12
  199. package/dist/i18n/locales/ru.d.ts.map +1 -1
  200. package/dist/i18n/locales/ru.js +29 -12
  201. package/dist/i18n/locales/ru.js.map +1 -1
  202. package/dist/i18n/locales/sq.d.ts +29 -12
  203. package/dist/i18n/locales/sq.d.ts.map +1 -1
  204. package/dist/i18n/locales/sq.js +29 -12
  205. package/dist/i18n/locales/sq.js.map +1 -1
  206. package/dist/i18n/locales/sv.d.ts +29 -12
  207. package/dist/i18n/locales/sv.d.ts.map +1 -1
  208. package/dist/i18n/locales/sv.js +29 -12
  209. package/dist/i18n/locales/sv.js.map +1 -1
  210. package/dist/i18n/locales/tr.d.ts +29 -12
  211. package/dist/i18n/locales/tr.d.ts.map +1 -1
  212. package/dist/i18n/locales/tr.js +29 -12
  213. package/dist/i18n/locales/tr.js.map +1 -1
  214. package/dist/i18n/locales/zh.d.ts +29 -12
  215. package/dist/i18n/locales/zh.d.ts.map +1 -1
  216. package/dist/i18n/locales/zh.js +29 -12
  217. package/dist/i18n/locales/zh.js.map +1 -1
  218. package/dist/index.js +814 -809
  219. package/dist/index.js.map +1 -1
  220. package/dist/locales/ar.json +29 -12
  221. package/dist/locales/de.json +29 -12
  222. package/dist/locales/el.json +29 -12
  223. package/dist/locales/en.json +29 -12
  224. package/dist/locales/es.json +29 -12
  225. package/dist/locales/fr.json +29 -12
  226. package/dist/locales/hi.json +29 -12
  227. package/dist/locales/it.json +29 -12
  228. package/dist/locales/ja.json +29 -12
  229. package/dist/locales/nl.json +29 -12
  230. package/dist/locales/pl.json +29 -12
  231. package/dist/locales/pt.json +29 -12
  232. package/dist/locales/ro.json +29 -12
  233. package/dist/locales/ru.json +29 -12
  234. package/dist/locales/sq.json +29 -12
  235. package/dist/locales/sv.json +29 -12
  236. package/dist/locales/tr.json +29 -12
  237. package/dist/locales/zh.json +29 -12
  238. package/dist/patterns/anamnesis/index.js +1 -1
  239. package/dist/patterns/calendar/index.js +1 -1
  240. package/dist/patterns/forgot-password-form/index.js +1 -1
  241. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts +6 -23
  242. package/dist/patterns/help-me-write-templates/help-me-write-templates.d.ts.map +1 -1
  243. package/dist/patterns/help-me-write-templates/index.js +8 -7
  244. package/dist/patterns/help-me-write-templates/index.js.map +1 -1
  245. package/dist/patterns/login-form/index.js +1 -1
  246. package/dist/patterns/marketplace-app-shell/index.js +1 -1
  247. package/dist/patterns/payment-automation-upsell/index.js +1 -1
  248. package/dist/patterns/registration-form/index.js +1 -1
  249. package/dist/patterns/signature-request/index.js +1 -1
  250. package/dist/tokens.css +1 -1
  251. package/package.json +1 -1
  252. package/dist/_chunks/ai-credits-notice-pK9BOmEz.js +0 -90
  253. package/dist/_chunks/ai-credits-notice-pK9BOmEz.js.map +0 -1
  254. package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js +0 -17
  255. package/dist/_chunks/ai-credits-notice.agent-C9L7orrP.js.map +0 -1
  256. package/dist/_chunks/chart-CIzXxNeM.js +0 -1322
  257. package/dist/_chunks/chart-CIzXxNeM.js.map +0 -1
  258. package/dist/_chunks/heatmap-BxRHM8Et.js +0 -2865
  259. package/dist/_chunks/heatmap-BxRHM8Et.js.map +0 -1
  260. package/dist/_chunks/help-me-write-templates-DFmqnsAa.js +0 -747
  261. package/dist/_chunks/help-me-write-templates-DFmqnsAa.js.map +0 -1
  262. package/dist/_chunks/patient-field-row-CBXhlfGD.js.map +0 -1
  263. package/dist/_chunks/voice-control-panel-C0BfY23Y.js +0 -1009
  264. package/dist/_chunks/voice-control-panel-C0BfY23Y.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "packageVersion": "1.65.0",
3
+ "packageVersion": "1.67.0",
4
4
  "components": [
5
5
  {
6
6
  "kind": "component",
@@ -424,6 +424,20 @@
424
424
  }
425
425
  }
426
426
  },
427
+ {
428
+ "kind": "component",
429
+ "id": "ai-credits-exhausted-notice",
430
+ "capabilities": [],
431
+ "state": [],
432
+ "actions": [],
433
+ "domHooks": {
434
+ "root": {
435
+ "attr": "data-component",
436
+ "value": "ai-credits-exhausted-notice",
437
+ "description": "Marks the out-of-credits notice. Each next-step button carries `data-credits-action=\"buy|upgrade|support|costs\"`."
438
+ }
439
+ }
440
+ },
427
441
  {
428
442
  "kind": "component",
429
443
  "id": "ai-credits-notice",
@@ -438,6 +452,20 @@
438
452
  }
439
453
  }
440
454
  },
455
+ {
456
+ "kind": "component",
457
+ "id": "ai-credits-warning",
458
+ "capabilities": [],
459
+ "state": [],
460
+ "actions": [],
461
+ "domHooks": {
462
+ "root": {
463
+ "attr": "data-component",
464
+ "value": "ai-credits-warning",
465
+ "description": "Marks the quiet credit lines. Each line carries `data-credits-line=\"low|expiring|exhausted\"`."
466
+ }
467
+ }
468
+ },
441
469
  {
442
470
  "kind": "component",
443
471
  "id": "ai-prompt-input",
@@ -16441,6 +16469,18 @@
16441
16469
  "type": "boolean",
16442
16470
  "description": "Floating layout: true when the panel above the pill is open. Always false inline.",
16443
16471
  "descriptionKey": "ui.agent.voiceControlPanel.state.panelOpen"
16472
+ },
16473
+ {
16474
+ "name": "creditsExhausted",
16475
+ "type": "boolean",
16476
+ "description": "True when the practice is out of AI credits: every start shows the out-of-credits notice instead of listening.",
16477
+ "descriptionKey": "ui.agent.voiceControlPanel.state.creditsExhausted"
16478
+ },
16479
+ {
16480
+ "name": "creditsNoticeOpen",
16481
+ "type": "boolean",
16482
+ "description": "True when the out-of-credits notice is showing in the panel, in place of the controls.",
16483
+ "descriptionKey": "ui.agent.voiceControlPanel.state.creditsNoticeOpen"
16444
16484
  }
16445
16485
  ],
16446
16486
  "actions": [
@@ -16453,14 +16493,14 @@
16453
16493
  "Microphone permission denied",
16454
16494
  "Speech service unavailable"
16455
16495
  ],
16456
- "description": "Ask the host to start listening (it opens the microphone). Does nothing when already starting or listening, or while the panel is disabled.",
16496
+ "description": "Ask the host to start listening (it opens the microphone). Does nothing when already starting or listening, or while the panel is disabled. Without patient AI consent it shows the consent banner instead; out of AI credits (creditsExhausted) it shows the out-of-credits notice instead.",
16457
16497
  "descriptionKey": "ui.agent.voiceControlPanel.actions.startListening"
16458
16498
  },
16459
16499
  {
16460
16500
  "name": "stop_listening",
16461
16501
  "safety": "write",
16462
16502
  "idempotent": true,
16463
- "description": "Ask the host to stop listening, or to cancel a start. Does nothing when not starting or listening.",
16503
+ "description": "Ask the host to stop listening, cancel a start or end a paused session. Never gated by consent or AI credits. Does nothing when idle or stopped.",
16464
16504
  "descriptionKey": "ui.agent.voiceControlPanel.actions.stopListening"
16465
16505
  },
16466
16506
  {
@@ -16518,6 +16558,13 @@
16518
16558
  "idempotent": true,
16519
16559
  "description": "Floating layout: close the panel above the pill. Listening carries on. Does nothing inline.",
16520
16560
  "descriptionKey": "ui.agent.voiceControlPanel.actions.closePanel"
16561
+ },
16562
+ {
16563
+ "name": "close_credits_notice",
16564
+ "safety": "read",
16565
+ "idempotent": true,
16566
+ "description": "Close the out-of-credits notice and go back to the controls. Credits stay out: the next start shows it again.",
16567
+ "descriptionKey": "ui.agent.voiceControlPanel.actions.closeCreditsNotice"
16521
16568
  }
16522
16569
  ],
16523
16570
  "domHooks": {
@@ -1635,16 +1635,19 @@
1635
1635
  "status": "Where the host voice session is: idle, starting, listening, paused or error.",
1636
1636
  "candidateIds": "Ids of the matches currently offered, in spoken order (option 1 first). Empty when there is nothing to choose.",
1637
1637
  "commandsOpen": "True when the voice commands list is expanded.",
1638
- "panelOpen": "Floating layout: true when the panel above the pill is open. Always false inline."
1638
+ "panelOpen": "Floating layout: true when the panel above the pill is open. Always false inline.",
1639
+ "creditsExhausted": "True when the practice is out of AI credits: every start shows the out-of-credits notice instead of listening.",
1640
+ "creditsNoticeOpen": "True when the out-of-credits notice is showing in the panel, in place of the controls."
1639
1641
  },
1640
1642
  "actions": {
1641
- "startListening": "Ask the host to start listening (it opens the microphone). Does nothing when already starting or listening, or while the panel is disabled.",
1642
- "stopListening": "Ask the host to stop listening, or to cancel a start. Does nothing when not starting or listening.",
1643
+ "startListening": "Ask the host to start listening (it opens the microphone). Does nothing when already starting or listening, or while the panel is disabled. Without patient AI consent it shows the consent banner instead; out of AI credits (creditsExhausted) it shows the out-of-credits notice instead.",
1644
+ "stopListening": "Ask the host to stop listening, cancel a start or end a paused session. Never gated by consent or AI credits. Does nothing when idle or stopped.",
1643
1645
  "pickCandidate": "Pick one of the offered matches by id, the same as saying its option number or pressing it. Unknown ids are ignored.",
1644
1646
  "openCommands": "Expand the voice commands list.",
1645
1647
  "closeCommands": "Collapse the voice commands list.",
1646
1648
  "openPanel": "Floating layout: open the panel above the pill. Does nothing inline.",
1647
- "closePanel": "Floating layout: close the panel above the pill. Listening carries on. Does nothing inline."
1649
+ "closePanel": "Floating layout: close the panel above the pill. Listening carries on. Does nothing inline.",
1650
+ "closeCreditsNotice": "Close the out-of-credits notice and go back to the controls. Credits stay out: the next start shows it again."
1648
1651
  }
1649
1652
  },
1650
1653
  "widgetPicker": {
@@ -8,10 +8,13 @@ export declare function splits(name: string, locale: string): string[][];
8
8
  * at its own size unless the hole is too small for it alone, and never below
9
9
  * the label role; the name fits the chord of the hole at each of its lines,
10
10
  * first on one line, then on two, then smaller, down to the label role, and
11
- * is hidden when it still cannot fit. The hole is measured from what
12
- * ApexCharts drew, on every redraw and hover, before the page paints, and
13
- * again once a web font loads or a theme around the chart changes. The name
14
- * stays the chart's to announce: the summary table carries it.
11
+ * is hidden when it still cannot fit. The name and value sit centred as one
12
+ * block; a name that fits nowhere centred gets one more try, at the label
13
+ * role and a little lower (at most 6% of the hole), where a long top line
14
+ * meets a wider chord. The hole is measured from what ApexCharts drew, on
15
+ * every redraw and hover, before the page paints, and again once a web font
16
+ * loads or a theme around the chart changes. The name stays the chart's to
17
+ * announce: the summary table carries it.
15
18
  */
16
19
  export declare function useApexRadialCentre(root: HTMLElement | null, enabled: boolean,
17
20
  /** The chart's locale, for where a name may break. */
@@ -1 +1 @@
1
- {"version":3,"file":"use-apex-radial-centre.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/use-apex-radial-centre.ts"],"names":[],"mappings":"AAqCA,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAuB/D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,OAAO,EAAE,OAAO;AAChB,sDAAsD;AACtD,MAAM,EAAE,MAAM,GACb,IAAI,CAgQN"}
1
+ {"version":3,"file":"use-apex-radial-centre.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/use-apex-radial-centre.ts"],"names":[],"mappings":"AA6CA,kFAAkF;AAClF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,CAuB/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,WAAW,GAAG,IAAI,EACxB,OAAO,EAAE,OAAO;AAChB,sDAAsD;AACtD,MAAM,EAAE,MAAM,GACb,IAAI,CAmSN"}
@@ -0,0 +1,4 @@
1
+ import type { AgentAdapter } from '../../agent/types';
2
+ export declare const aiCreditsExhaustedNoticeAgent: AgentAdapter;
3
+ export declare const aiCreditsWarningAgent: AgentAdapter;
4
+ //# sourceMappingURL=ai-credits-exhausted-notice.agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-credits-exhausted-notice.agent.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/ai-credits-exhausted-notice.agent.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,eAAO,MAAM,6BAA6B,EAAE,YAc3C,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAcnC,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
+ import { type AlertAnnounce } from '../alert';
3
+ /** Credits that expire soon: the platform's yearly allowance at the end of
4
+ * the subscription term. Welcome and bought credits never expire. */
5
+ export interface AiCreditsExpiring {
6
+ /** How many credits expire. */
7
+ amount: number;
8
+ /** When they expire. */
9
+ date: Date;
10
+ }
11
+ /** The practice's AI credits and the next steps the host can offer. All
12
+ * optional: the kit shows only what it is given. */
13
+ export interface AiCreditsInfo {
14
+ /** Credits left. */
15
+ remaining?: number;
16
+ /** The allowance `remaining` counts down from, for the meter. */
17
+ limit?: number;
18
+ /**
19
+ * When a new allowance starts: "renews on". On the platform, the yearly
20
+ * allowance at the subscription's renewal. Omit when it will not renew.
21
+ */
22
+ renewsOn?: Date;
23
+ /** @deprecated Use `renewsOn`. Read the same way, as a renewal date. */
24
+ resetsOn?: Date;
25
+ /**
26
+ * Credits that expire soon: "expire on". `AiCreditsWarning` shows it as
27
+ * a quiet line; the out-of-credits notice never does (nothing is left to
28
+ * expire).
29
+ */
30
+ expiring?: AiCreditsExpiring;
31
+ /**
32
+ * Shows the running-low line in `AiCreditsWarning`. Default: true when
33
+ * 80% or more of `limit` is used and some credit is left. A host whose
34
+ * balance mixes the yearly allowance with welcome or bought credits
35
+ * passes it itself: 80% of one `limit` does not describe that balance.
36
+ */
37
+ runningLow?: boolean;
38
+ /**
39
+ * Shows a "Buy AI credits" button. Omit while the practice cannot buy
40
+ * credits (on the platform, without the module and the pack page).
41
+ */
42
+ onBuyCredits?: () => void;
43
+ /**
44
+ * Shows an "Enable the AI credits module" button: the upgrade path for a
45
+ * practice without the module.
46
+ */
47
+ onUpgrade?: () => void;
48
+ /** Shows a "Contact support" button. */
49
+ onContactSupport?: () => void;
50
+ /** Shows a "See what each action costs" link. */
51
+ onSeeCosts?: () => void;
52
+ }
53
+ /** Heading levels the notice title accepts. */
54
+ export type AiCreditsHeadingLevel = 1 | 2 | 3 | 4 | 5 | 6;
55
+ /** Whether `credits` are running low: the host's `runningLow`, else 80% or
56
+ * more of `limit` used with some credit left. */
57
+ export declare function isAiCreditsRunningLow(credits?: AiCreditsInfo): boolean;
58
+ export interface AiCreditsExhaustedNoticeProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
59
+ /** The allowance and the next steps the host can offer. */
60
+ credits?: AiCreditsInfo;
61
+ /** Shows a Back button under the notice. */
62
+ onBack?: () => void;
63
+ /** A quiet line under the notice, beside Back: what the user keeps. */
64
+ footnote?: ReactNode;
65
+ /** Heading level of the title. Default 2. */
66
+ headingLevel?: AiCreditsHeadingLevel;
67
+ /**
68
+ * How the notice is announced when it appears. Default: the promo
69
+ * Alert's polite status. Pass `'off'` when the host announces it.
70
+ */
71
+ announce?: AlertAnnounce;
72
+ }
73
+ /**
74
+ * The out-of-credits state: what happened, the allowance, and the next
75
+ * step. The first of buy, enable the module and contact support the host
76
+ * passes is the main button; any others follow as links. With none, it
77
+ * says when AI comes back, or plainly that it is unavailable and how to
78
+ * get help: never a dead end.
79
+ */
80
+ export declare const AiCreditsExhaustedNotice: import("react").ForwardRefExoticComponent<AiCreditsExhaustedNoticeProps & import("react").RefAttributes<HTMLDivElement>>;
81
+ export interface AiCreditsWarningProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
82
+ /** The allowance, the expiring credits and the next steps. */
83
+ credits?: AiCreditsInfo;
84
+ /**
85
+ * Out of credits: one quiet line saying so, instead of the running-low
86
+ * and expiring lines. The full notice is `AiCreditsExhaustedNotice`.
87
+ */
88
+ exhausted?: boolean;
89
+ }
90
+ /**
91
+ * The quiet, non-blocking credit lines: running low (with the buy or
92
+ * upgrade step as a link) and credits expiring, or out of credits at rest.
93
+ * Renders nothing when none applies.
94
+ */
95
+ export declare const AiCreditsWarning: import("react").ForwardRefExoticComponent<AiCreditsWarningProps & import("react").RefAttributes<HTMLDivElement>>;
96
+ //# sourceMappingURL=ai-credits-exhausted-notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-credits-exhausted-notice.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/ai-credits-exhausted-notice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAW/E,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAwBrD;sEACsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC;CACZ;AAED;qDACqD;AACrD,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,wEAAwE;IACxE,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,iDAAiD;IACjD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,+CAA+C;AAC/C,MAAM,MAAM,qBAAqB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAK1D;kDACkD;AAClD,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAQtE;AA4ED,MAAM,WAAW,6BAA8B,SAAQ,IAAI,CACzD,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX;IACC,2DAA2D;IAC3D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,0HAwLpC,CAAC;AA4BF,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CACjD,cAAc,CAAC,cAAc,CAAC,EAC9B,UAAU,CACX;IACC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kHAkF3B,CAAC"}
@@ -1,9 +1,12 @@
1
- import { type HTMLAttributes } from 'react';
1
+ import { type HTMLAttributes, type ReactNode } from 'react';
2
2
  /** The practice's current AI allowance, when the host tracks one. */
3
3
  export interface AiCreditsNoticeAllowance {
4
- /** AI actions left in the current period. */
4
+ /** AI credits left. */
5
5
  remaining: number;
6
- /** The monthly cap. */
6
+ /**
7
+ * The allowance `remaining` counts down from, whatever its period (on
8
+ * the platform, a yearly allowance).
9
+ */
7
10
  limit: number;
8
11
  /** When the allowance next resets. Omit if unknown. */
9
12
  resetsOn?: Date;
@@ -12,7 +15,7 @@ interface AiCreditsNoticeSharedProps {
12
15
  /**
13
16
  * The practice's current AI allowance. In `included` mode it renders as an
14
17
  * optional usage line + meter; in `bundles` mode it drives the heading
15
- * ("{{remaining}} of {{limit}} credits") and the free-tier line in the
18
+ * ("{{remaining}} of {{limit}} credits") and the allowance line in the
16
19
  * body. Omit either mode's allowance to fall back to a generic line.
17
20
  */
18
21
  allowance?: AiCreditsNoticeAllowance;
@@ -44,5 +47,28 @@ export interface AiCreditsNoticeBundlesProps extends AiCreditsNoticeSharedProps
44
47
  }
45
48
  export type AiCreditsNoticeProps = AiCreditsNoticeIncludedProps | AiCreditsNoticeBundlesProps;
46
49
  export declare const AiCreditsNotice: import("react").ForwardRefExoticComponent<(AiCreditsNoticeProps & Omit<HTMLAttributes<HTMLDivElement>, "className">) & import("react").RefAttributes<HTMLDivElement>>;
50
+ /** Which side of the trigger the card opens on. A trigger fixed to the
51
+ * bottom of the viewport (the VoiceControlPanel pill) opens it on top. */
52
+ export type AiActionHoverCardSide = 'top' | 'bottom';
53
+ /**
54
+ * Wraps `trigger` in the credits notice when `notice` is given, else returns
55
+ * it unchanged: the one seam every kit AI trigger goes through (the
56
+ * RichTextEditor's pill, bubble and mics, and the VoiceControlPanel's mic).
57
+ * Internal to the kit: not exported from the component's index.
58
+ */
59
+ export declare function withAiCreditsNotice(trigger: ReactNode, notice: AiCreditsNoticeProps | undefined, side?: AiActionHoverCardSide): ReactNode;
60
+ /**
61
+ * "Don't show again" (`onDismiss`) stops the card on EVERY trigger for the
62
+ * rest of this mount, not just the trigger it was dismissed from. Scoped to
63
+ * the MODE that was dismissed: `included` and `bundles` are different
64
+ * messages, so a host that flips the same mounted component's mode (for
65
+ * example once bundles ship) must see the new one, matching the
66
+ * mode-scoped storage key the docs tell a host to use across a remount. A
67
+ * SET, not a single slot: dismissing both modes in turn must remember both.
68
+ * Reset only by remounting; a host that wants a dismissal to survive a
69
+ * reload persists it itself and omits the notice on the next mount. Moved
70
+ * here from RichTextEditor so VoiceControlPanel shares it.
71
+ */
72
+ export declare function useDismissibleAiCreditsNotice(notice: AiCreditsNoticeProps | undefined): AiCreditsNoticeProps | undefined;
47
73
  export {};
48
74
  //# sourceMappingURL=ai-credits-notice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-credits-notice.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/ai-credits-notice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAoCxD,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,UAAU,0BAA0B;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAC9E,IAAI,EAAE,UAAU,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,IAAI,EAAE,SAAS,CAAC;IAChB,wFAAwF;IACxF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;0EACsE;IACtE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAC5B,4BAA4B,GAC5B,2BAA2B,CAAC;AAgBhC,eAAO,MAAM,eAAe,uKAmJ1B,CAAC"}
1
+ {"version":3,"file":"ai-credits-notice.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/ai-credits-notice.tsx"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAqCf,qEAAqE;AACrE,MAAM,WAAW,wBAAwB;IACvC,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AAED,UAAU,0BAA0B;IAClC;;;;;OAKG;IACH,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,4BAA6B,SAAQ,0BAA0B;IAC9E,IAAI,EAAE,UAAU,CAAC;IACjB,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,2BAA4B,SAAQ,0BAA0B;IAC7E,IAAI,EAAE,SAAS,CAAC;IAChB,wFAAwF;IACxF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;0EACsE;IACtE,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAC5B,4BAA4B,GAC5B,2BAA2B,CAAC;AAgBhC,eAAO,MAAM,eAAe,uKAqJ1B,CAAC;AAoKH;2EAC2E;AAC3E,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,QAAQ,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,SAAS,EAClB,MAAM,EAAE,oBAAoB,GAAG,SAAS,EACxC,IAAI,GAAE,qBAAgC,GACrC,SAAS,CAQX;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,oBAAoB,GAAG,SAAS,GACvC,oBAAoB,GAAG,SAAS,CAkBlC"}
@@ -1,4 +1,7 @@
1
1
  export { AiCreditsNotice } from './ai-credits-notice';
2
2
  export type { AiCreditsNoticeProps, AiCreditsNoticeIncludedProps, AiCreditsNoticeBundlesProps, AiCreditsNoticeAllowance, } from './ai-credits-notice';
3
3
  export { aiCreditsNoticeAgent } from './ai-credits-notice.agent';
4
+ export { AiCreditsExhaustedNotice, AiCreditsWarning, isAiCreditsRunningLow, } from './ai-credits-exhausted-notice';
5
+ export type { AiCreditsExhaustedNoticeProps, AiCreditsWarningProps, AiCreditsInfo, AiCreditsExpiring, AiCreditsHeadingLevel, } from './ai-credits-exhausted-notice';
6
+ export { aiCreditsExhaustedNoticeAgent, aiCreditsWarningAgent, } from './ai-credits-exhausted-notice.agent';
4
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ai-credits-notice/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EACV,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,6BAA6B,EAC7B,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,6BAA6B,EAC7B,qBAAqB,GACtB,MAAM,qCAAqC,CAAC"}
@@ -1,7 +1,13 @@
1
- import { A as i } from "../../_chunks/ai-credits-notice-pK9BOmEz.js";
2
- import { a as r } from "../../_chunks/ai-credits-notice.agent-C9L7orrP.js";
1
+ import { A as t } from "../../_chunks/ai-credits-notice-DQ-r3iQU.js";
2
+ import { a, b as r, c as o } from "../../_chunks/ai-credits-exhausted-notice.agent-DgTSTgez.js";
3
+ import { A as d, a as A, i as C } from "../../_chunks/ai-credits-exhausted-notice-DfAgfZDF.js";
3
4
  export {
4
- i as AiCreditsNotice,
5
- r as aiCreditsNoticeAgent
5
+ d as AiCreditsExhaustedNotice,
6
+ t as AiCreditsNotice,
7
+ A as AiCreditsWarning,
8
+ a as aiCreditsExhaustedNoticeAgent,
9
+ r as aiCreditsNoticeAgent,
10
+ o as aiCreditsWarningAgent,
11
+ C as isAiCreditsRunningLow
6
12
  };
7
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -1,4 +1,4 @@
1
- import { A as e, a as o } from "../../_chunks/ai-permission-notice-DpRmZ9Q3.js";
1
+ import { A as e, a as o } from "../../_chunks/ai-permission-notice-qsdm4Sx4.js";
2
2
  export {
3
3
  e as AiConsentBanner,
4
4
  o as aiConsentBannerAgent
@@ -1,4 +1,4 @@
1
- import { A as o } from "../../_chunks/alert-DdDpOi-P.js";
1
+ import { A as o } from "../../_chunks/alert-DjsJMGRE.js";
2
2
  export {
3
3
  o as Alert
4
4
  };
@@ -1,4 +1,4 @@
1
- import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-B-FEWbQM.js";
1
+ import { A as e, a as n, p, u as s } from "../../_chunks/use-appointment-details-read-CVSPoP5j.js";
2
2
  export {
3
3
  e as AppointmentDetailsPanel,
4
4
  n as appointmentDetailsPanelAgent,
@@ -1,4 +1,4 @@
1
- import { A as r, a } from "../../_chunks/audio-recorder-DR-u1qbl.js";
1
+ import { A as r, a } from "../../_chunks/audio-recorder-B11RR-rC.js";
2
2
  export {
3
3
  r as AudioRecorder,
4
4
  a as audioRecorderAgent
@@ -1,4 +1,4 @@
1
- import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-DkjatiXc.js";
1
+ import { B as A, C as R, O as a, b as s } from "../../_chunks/booking-tTVxKPQY.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-CIzXxNeM.js";
1
+ import { C as t, c as s, a as c } from "../../_chunks/chart-CwmyCuWe.js";
2
2
  export {
3
3
  t as Chart,
4
4
  s as chartAgent,
@@ -1,4 +1,4 @@
1
- import { D as r, d as t } from "../../_chunks/document-preview-B1dQm292.js";
1
+ import { D as r, d as t } from "../../_chunks/document-preview-VyQOjFVL.js";
2
2
  export {
3
3
  r as DocumentPreview,
4
4
  t as documentPreviewAgent
@@ -1,4 +1,4 @@
1
- import { D as a, d as c } from "../../_chunks/document-scanner-CVPVLK7z.js";
1
+ import { D as a, d as c } from "../../_chunks/document-scanner-CXH_GYh4.js";
2
2
  export {
3
3
  a as DocumentScanner,
4
4
  c as documentScannerAgent
@@ -1,4 +1,4 @@
1
- import { E as t } from "../../_chunks/entity-summary-BQ9_KA8S.js";
1
+ import { E as t } from "../../_chunks/entity-summary-Bj-Wxq7Y.js";
2
2
  export {
3
3
  t as EntitySummary
4
4
  };
@@ -1,4 +1,4 @@
1
- import { E as o } from "../../_chunks/error-summary-DrUfuKu1.js";
1
+ import { E as o } from "../../_chunks/error-summary-PUE5Zxp9.js";
2
2
  export {
3
3
  o as ErrorSummary
4
4
  };
@@ -1,4 +1,4 @@
1
- import { F as m, f as l } from "../../_chunks/freemium-paywall-DKJHRFpp.js";
1
+ import { F as m, f as l } from "../../_chunks/freemium-paywall-6DO7noHX.js";
2
2
  export {
3
3
  m as FreemiumPaywall,
4
4
  l as freemiumPaywallAgent
@@ -8,6 +8,9 @@ export interface HeatmapContextValue {
8
8
  describer: HeatmapDescriber;
9
9
  /** True when some cells fall below `minCount`, so the legend explains it. */
10
10
  hasLowSample: boolean;
11
+ /** True when a total the grid draws is withheld to protect small
12
+ * numbers. It may rest on many records, so the legend keys it apart. */
13
+ hasWithheldTotal: boolean;
11
14
  /** True when some cells have no data. */
12
15
  hasEmpty: boolean;
13
16
  /** The sample threshold, when one is set. */
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap-context.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,6EAA6E;IAC7E,YAAY,EAAE,OAAO,CAAC;IACtB,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC;CAChD;AAED,eAAO,MAAM,cAAc,qDAAkD,CAAC;AAE9E,8DAA8D;AAC9D,wBAAgB,iBAAiB,IAAI,mBAAmB,GAAG,IAAI,CAE9D"}
1
+ {"version":3,"file":"heatmap-context.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-context.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,6EAA6E;IAC7E,YAAY,EAAE,OAAO,CAAC;IACtB;6EACyE;IACzE,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yCAAyC;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC;CAChD;AAED,eAAO,MAAM,cAAc,qDAAkD,CAAC;AAE9E,8DAA8D;AAC9D,wBAAgB,iBAAiB,IAAI,mBAAmB,GAAG,IAAI,CAE9D"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * How narrow a hidden cell's interval may be.
3
+ * - `rate`: the numerator lies in [0, records]. The interval must span at
4
+ * least half that range and, for whole numbers, at least two values.
5
+ * - `scaled`: values are non-negative with no upper bound. The interval
6
+ * must reach down to half its own top or below (and not be a point).
7
+ * - `free`: values have no bounds. The cell must not be pinned.
8
+ */
9
+ export type ProtectionMode = 'rate' | 'scaled' | 'free';
10
+ /** A hidden cell: an arc from its row node to its column-side node. */
11
+ export interface AuditCell {
12
+ from: number;
13
+ to: number;
14
+ /** Bounds of its unknown, in audit units. */
15
+ lo: number;
16
+ hi: number;
17
+ /** The records behind it (its count). */
18
+ records: number;
19
+ }
20
+ /** A total: an arc of the tree above or below the cells. */
21
+ export interface AuditTotal {
22
+ from: number;
23
+ to: number;
24
+ /** The hidden part of the total, in audit units, when it is shown. */
25
+ value: number;
26
+ /** Shown before the audit: drawn, with a value, and not withheld. */
27
+ shown: boolean;
28
+ /** The records behind the total: what withholding it loses. */
29
+ records: number;
30
+ }
31
+ export interface AuditProblem {
32
+ nodeCount: number;
33
+ /** The sink and source the closing arc joins (sink to source). */
34
+ sink: number;
35
+ source: number;
36
+ cells: readonly AuditCell[];
37
+ totals: readonly AuditTotal[];
38
+ /** For each cell, the totals whose scope holds it. */
39
+ cellTotals: readonly (readonly number[])[];
40
+ mode: ProtectionMode;
41
+ /** Whole-number data: numerators and shown totals are integers. */
42
+ integral: boolean;
43
+ minCount: number;
44
+ }
45
+ /**
46
+ * A cap on the audit's work, in edges looked at, so a very large grid
47
+ * cannot stall the page: past it, every total that holds a hidden cell is
48
+ * withheld, which is always safe. Counted, not timed, so the same data
49
+ * always gives the same result on every device. A 60 x 24 grid with 6
50
+ * groups and 10% of cells hidden uses 2.5 million for rates and 3.15
51
+ * million for plain sums, about half the cap (measured at about 12 ms in
52
+ * Chromium on a desktop, not a guarantee); with 20% hidden, or 100 rows,
53
+ * it runs out. Tests hold the count, not the time. Running out while offering totals back keeps the safe set already
54
+ * found; running out before that takes the safe rule. When rates are
55
+ * audited twice (printed and exact), the two passes share the cap.
56
+ */
57
+ export declare const AUDIT_WORK_LIMIT = 5000000;
58
+ /**
59
+ * Which totals may be shown: true at index i when total i may be shown.
60
+ * Starts from `total.shown` and only ever withholds more. `spentBefore`
61
+ * carries the work of an earlier pass over the same data, so that passes
62
+ * share one budget (see auditWorkSpent).
63
+ */
64
+ export declare function secureTotals(problem: AuditProblem, spentBefore?: number): boolean[];
65
+ /** The work the last secureTotals call ended on, for a following pass. */
66
+ export declare function auditWorkSpent(): number;
67
+ //# sourceMappingURL=heatmap-disclosure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heatmap-disclosure.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-disclosure.ts"],"names":[],"mappings":"AAkCA;;;;;;;GAOG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAExD,uEAAuE;AACvE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,4DAA4D;AAC5D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,SAAS,SAAS,EAAE,CAAC;IAC5B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,sDAAsD;IACtD,UAAU,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3C,IAAI,EAAE,cAAc,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,gBAAgB,UAAY,CAAC;AAm7B1C;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,YAAY,EACrB,WAAW,SAAI,GACd,OAAO,EAAE,CAYX;AAED,0EAA0E;AAC1E,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap-format.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-format.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAQ3B;AAED,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAGxE;AAED,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,kDAAkD;IAClD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACtE,0DAA0D;IAC1D,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACvC,mEAAmE;IACnE,WAAW,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAClD,0EAA0E;IAC1E,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACvC,wEAAwE;IACxE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACzC,2EAA2E;IAC3E,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9C,uCAAuC;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IAC3E,kDAAkD;IAClD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC;AAKD,wBAAgB,eAAe,CAAC,EAC9B,CAAC,EACD,WAAW,EACX,YAAqB,EACrB,SAAS,EACT,WAAW,EACX,WAAW,EACX,MAAM,GACP,EAAE,gBAAgB,GAAG,gBAAgB,CAiFrC"}
1
+ {"version":3,"file":"heatmap-format.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-format.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,oEAAoE;AACpE,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEjD;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,CAAC;AAEjD,6EAA6E;AAC7E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,gBAAgB,GAC1B,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAQ3B;AAED,sCAAsC;AACtC,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAGxE;AAED,yDAAyD;AACzD,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,sDAAsD;IACtD,YAAY,EAAE,OAAO,CAAC;IACtB,qDAAqD;IACrD,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,MAAM,CAAC;IACtC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,+CAA+C;IAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1D,kDAAkD;IAClD,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;IACtE,0DAA0D;IAC1D,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACvC,mEAAmE;IACnE,WAAW,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,MAAM,CAAC;IAClD,0EAA0E;IAC1E,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACvC,wEAAwE;IACxE,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IACzC,2EAA2E;IAC3E,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9C,uCAAuC;IACvC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC;IAC3E,kDAAkD;IAClD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,mBAAmB,CAAC;IACnC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,MAAM,CAAC,EAAE,SAAS,YAAY,EAAE,CAAC;CAClC;AAKD,wBAAgB,eAAe,CAAC,EAC9B,CAAC,EACD,WAAW,EACX,YAAqB,EACrB,SAAS,EACT,WAAW,EACX,WAAW,EACX,MAAM,GACP,EAAE,gBAAgB,GAAG,gBAAgB,CAsFrC"}
@@ -26,6 +26,7 @@ export interface HeatmapGridProps {
26
26
  palette: HeatmapPalette;
27
27
  describer: HeatmapDescriber;
28
28
  showValues: boolean;
29
+ /** Every total, withheld ones already reduced to a value-less cell. */
29
30
  totals: HeatmapTotals | null;
30
31
  rowTotals: HeatmapAggregate | false;
31
32
  columnTotals: HeatmapAggregate | false;
@@ -33,7 +34,6 @@ export interface HeatmapGridProps {
33
34
  groupColumnMethod: HeatmapAggregate;
34
35
  /** Each group's public id: what DOM hooks carry, never a label. */
35
36
  groupIds: ReadonlyMap<string, string>;
36
- minCount?: number;
37
37
  selectionMode: HeatmapSelectionMode;
38
38
  /** Selection keys (row id + column id) of the selected cells. */
39
39
  selected: ReadonlySet<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap-grid.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-grid.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAGL,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAGL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAC1B,MAAM,iBAAiB,CAAC;AAUzB,OAAO,EAUL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAE5B,iCAAiC;AACjC,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE5E;oEACoE;AACpE,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAID;+DAC+D;AAC/D,eAAO,MAAM,YAAY,GACvB,OAAO,MAAM,EACb,UAAU,MAAM,GAAG,MAAM,KACxB,MAAuD,CAAC;AAE3D,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,KAAG,CAAC,MAAM,EAAE,MAAM,CAG9D,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,SAAS,UAAU,EAAE,CAAC;IAC5B,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAClC,MAAM,EAAE,SAAS,SAAS,EAAE,EAAE,CAAC;IAC/B,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;IACzB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;IAC7B,SAAS,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACpC,YAAY,EAAE,gBAAgB,GAAG,KAAK,CAAC;IACvC,6DAA6D;IAC7D,iBAAiB,EAAE,gBAAgB,CAAC;IACpC,mEAAmE;IACnE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,oBAAoB,CAAC;IACpC,iEAAiE;IACjE,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC9B,4DAA4D;IAC5D,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC5D,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,eAAe,CAAC;IACrE,kCAAkC;IAClC,WAAW,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,MAAM,CAAC;IAC/C;yDACqD;IACrD,eAAe,EAAE,OAAO,CAAC;IACzB;gFAC4E;IAC5E,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7E,yEAAyE;IACzE,OAAO,EAAE,CACP,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EACzC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,KACtC,IAAI,CAAC;IACV,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC1C;AA6YD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAq5BlD"}
1
+ {"version":3,"file":"heatmap-grid.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-grid.tsx"],"names":[],"mappings":"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"}
@@ -17,8 +17,11 @@ export interface HeatmapLegendProps {
17
17
  valueFormatter?: (value: number) => string;
18
18
  /** Show the key for empty cells. Inside a Heatmap: when any cell is empty. */
19
19
  showEmpty?: boolean;
20
- /** Show the key for low-sample cells. Inside a Heatmap: when any is. */
20
+ /** Show the key for low-sample cells. Inside a Heatmap: when any cell is. */
21
21
  showLowSample?: boolean;
22
+ /** Show the key for totals withheld to protect small numbers. Inside a
23
+ * Heatmap: when any total it draws is withheld. */
24
+ showWithheldTotal?: boolean;
22
25
  /** The sample threshold, named in the low-sample key. Inside a Heatmap it
23
26
  * defaults to the Heatmap's `minCount`. */
24
27
  minCount?: number;
@@ -26,7 +29,7 @@ export interface HeatmapLegendProps {
26
29
  }
27
30
  /**
28
31
  * Heatmap.Legend: the colour steps with the low and high ends of the scale,
29
- * plus keys for empty and low-sample cells. A diverging scale shows its
32
+ * plus keys for empty and low-sample cells and withheld totals. A diverging scale shows its
30
33
  * midpoint between the two hues as a neutral swatch carrying the midpoint
31
34
  * value, the colour of a cell exactly on it. Inside a Heatmap it reads the
32
35
  * Heatmap's scale; render it elsewhere with `legend={false}` on the Heatmap
@@ -1 +1 @@
1
- {"version":3,"file":"heatmap-legend.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-legend.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACnC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,iFAAiF;IACjF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,wEAAwE;IACxE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;gDAC4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,+GAmLzB,CAAC"}
1
+ {"version":3,"file":"heatmap-legend.d.ts","sourceRoot":"","sources":["../../../src/components/heatmap/heatmap-legend.tsx"],"names":[],"mappings":"AAKA,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,YAAY,CAAC;IACnC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,iFAAiF;IACjF,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IAC3C,8EAA8E;IAC9E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;wDACoD;IACpD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;gDAC4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAmBD;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,+GA+LzB,CAAC"}