@mieweb/ui 0.6.1 → 0.7.0-dev.178

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 (450) hide show
  1. package/README.md +90 -53
  2. package/dist/CsvBlock-2A5VEDD3.cjs +15 -0
  3. package/dist/CsvBlock-2A5VEDD3.cjs.map +1 -0
  4. package/dist/CsvBlock-D6PWAJ5X.js +6 -0
  5. package/dist/CsvBlock-D6PWAJ5X.js.map +1 -0
  6. package/dist/HtmlPreviewBlock-PEHTJ6C3.js +6 -0
  7. package/dist/HtmlPreviewBlock-PEHTJ6C3.js.map +1 -0
  8. package/dist/HtmlPreviewBlock-SYXCV5RH.cjs +15 -0
  9. package/dist/HtmlPreviewBlock-SYXCV5RH.cjs.map +1 -0
  10. package/dist/MedicationEditor-Bp4NLy7y.d.cts +352 -0
  11. package/dist/MedicationEditor-Bp4NLy7y.d.ts +352 -0
  12. package/dist/MermaidBlock-7NK3AVK2.js +6 -0
  13. package/dist/MermaidBlock-7NK3AVK2.js.map +1 -0
  14. package/dist/MermaidBlock-AFXNP5NK.cjs +15 -0
  15. package/dist/MermaidBlock-AFXNP5NK.cjs.map +1 -0
  16. package/dist/SurveyBlock-6KRNKFH5.cjs +15 -0
  17. package/dist/SurveyBlock-6KRNKFH5.cjs.map +1 -0
  18. package/dist/SurveyBlock-NNDGXGG4.js +6 -0
  19. package/dist/SurveyBlock-NNDGXGG4.js.map +1 -0
  20. package/dist/ag-grid.cjs +6 -6
  21. package/dist/ag-grid.cjs.map +1 -1
  22. package/dist/ag-grid.js +2 -2
  23. package/dist/ag-grid.js.map +1 -1
  24. package/dist/brands/index.cjs +17 -17
  25. package/dist/brands/index.js +4 -4
  26. package/dist/chunk-372IIHUA.cjs +2017 -0
  27. package/dist/chunk-372IIHUA.cjs.map +1 -0
  28. package/dist/{chunk-2DS3RJ2D.js → chunk-3TERETXH.js} +112 -3
  29. package/dist/chunk-3TERETXH.js.map +1 -0
  30. package/dist/chunk-44CK4CT2.cjs +336 -0
  31. package/dist/chunk-44CK4CT2.cjs.map +1 -0
  32. package/dist/{chunk-FSBFQBNE.cjs → chunk-4GXECTPS.cjs} +2 -2
  33. package/dist/{chunk-FSBFQBNE.cjs.map → chunk-4GXECTPS.cjs.map} +1 -1
  34. package/dist/chunk-4LVPQ44A.js +228 -0
  35. package/dist/chunk-4LVPQ44A.js.map +1 -0
  36. package/dist/{chunk-6555OYRU.js → chunk-5BQE6BEL.js} +2 -2
  37. package/dist/{chunk-6555OYRU.js.map → chunk-5BQE6BEL.js.map} +1 -1
  38. package/dist/chunk-62ZOA6PX.js +31 -0
  39. package/dist/chunk-62ZOA6PX.js.map +1 -0
  40. package/dist/chunk-63KVQHGQ.cjs +1802 -0
  41. package/dist/chunk-63KVQHGQ.cjs.map +1 -0
  42. package/dist/chunk-6AHYYWVB.js +78 -0
  43. package/dist/chunk-6AHYYWVB.js.map +1 -0
  44. package/dist/chunk-6I7IDZ4A.js +51 -0
  45. package/dist/chunk-6I7IDZ4A.js.map +1 -0
  46. package/dist/chunk-6ZYE6JUK.cjs +80 -0
  47. package/dist/chunk-6ZYE6JUK.cjs.map +1 -0
  48. package/dist/chunk-7QXG5BBB.cjs +164 -0
  49. package/dist/chunk-7QXG5BBB.cjs.map +1 -0
  50. package/dist/chunk-7WMSUXOQ.js +182 -0
  51. package/dist/chunk-7WMSUXOQ.js.map +1 -0
  52. package/dist/chunk-7XUN3OQT.js +3 -0
  53. package/dist/{chunk-V2DF2GUE.js.map → chunk-7XUN3OQT.js.map} +1 -1
  54. package/dist/chunk-7ZVTLTJF.js +109 -0
  55. package/dist/chunk-7ZVTLTJF.js.map +1 -0
  56. package/dist/chunk-AES2BKEW.cjs +229 -0
  57. package/dist/chunk-AES2BKEW.cjs.map +1 -0
  58. package/dist/chunk-AFKKJEV5.cjs +72 -0
  59. package/dist/chunk-AFKKJEV5.cjs.map +1 -0
  60. package/dist/chunk-AT732HC6.cjs +4 -0
  61. package/dist/{chunk-74K3RRU7.cjs.map → chunk-AT732HC6.cjs.map} +1 -1
  62. package/dist/chunk-BB4WQ4LV.cjs +137 -0
  63. package/dist/chunk-BB4WQ4LV.cjs.map +1 -0
  64. package/dist/chunk-BIT27PPD.js +49 -0
  65. package/dist/chunk-BIT27PPD.js.map +1 -0
  66. package/dist/chunk-BLPCYP4D.cjs +537 -0
  67. package/dist/chunk-BLPCYP4D.cjs.map +1 -0
  68. package/dist/chunk-BT3ZQJGT.cjs +130 -0
  69. package/dist/chunk-BT3ZQJGT.cjs.map +1 -0
  70. package/dist/chunk-BX6BTDTR.js +34 -0
  71. package/dist/chunk-BX6BTDTR.js.map +1 -0
  72. package/dist/chunk-C2544GKZ.js +313 -0
  73. package/dist/chunk-C2544GKZ.js.map +1 -0
  74. package/dist/chunk-C7RVKV25.cjs +25 -0
  75. package/dist/chunk-C7RVKV25.cjs.map +1 -0
  76. package/dist/chunk-CKD554XR.cjs +100 -0
  77. package/dist/chunk-CKD554XR.cjs.map +1 -0
  78. package/dist/chunk-CVC4NWFA.cjs +154 -0
  79. package/dist/chunk-CVC4NWFA.cjs.map +1 -0
  80. package/dist/{chunk-K3IVCUPP.js → chunk-CYMZ2QS5.js} +2 -2
  81. package/dist/{chunk-K3IVCUPP.js.map → chunk-CYMZ2QS5.js.map} +1 -1
  82. package/dist/{chunk-FRT6RQND.cjs → chunk-DAPZPT5N.cjs} +92 -56
  83. package/dist/chunk-DAPZPT5N.cjs.map +1 -0
  84. package/dist/chunk-DHKYGVP7.js +3 -0
  85. package/dist/{chunk-LEMY57MI.js.map → chunk-DHKYGVP7.js.map} +1 -1
  86. package/dist/chunk-DLNJLCNO.cjs +101 -0
  87. package/dist/chunk-DLNJLCNO.cjs.map +1 -0
  88. package/dist/chunk-DUPR6FEL.js +43 -0
  89. package/dist/chunk-DUPR6FEL.js.map +1 -0
  90. package/dist/{chunk-4FALCEJI.cjs → chunk-EL2RSQTJ.cjs} +2 -2
  91. package/dist/{chunk-4FALCEJI.cjs.map → chunk-EL2RSQTJ.cjs.map} +1 -1
  92. package/dist/chunk-ERLPVXOV.js +22 -0
  93. package/dist/chunk-ERLPVXOV.js.map +1 -0
  94. package/dist/chunk-FIWKHLWY.js +197 -0
  95. package/dist/chunk-FIWKHLWY.js.map +1 -0
  96. package/dist/chunk-FJH7P5WG.js +513 -0
  97. package/dist/chunk-FJH7P5WG.js.map +1 -0
  98. package/dist/chunk-FSGEDDF2.cjs +33 -0
  99. package/dist/chunk-FSGEDDF2.cjs.map +1 -0
  100. package/dist/chunk-GLXTVCHN.cjs +4 -0
  101. package/dist/{chunk-4ZU53GNR.cjs.map → chunk-GLXTVCHN.cjs.map} +1 -1
  102. package/dist/chunk-HRS6W74P.js +1568 -0
  103. package/dist/chunk-HRS6W74P.js.map +1 -0
  104. package/dist/chunk-I2W24RHW.js +196 -0
  105. package/dist/chunk-I2W24RHW.js.map +1 -0
  106. package/dist/chunk-I6CY5C6A.js +12 -0
  107. package/dist/chunk-I6CY5C6A.js.map +1 -0
  108. package/dist/chunk-IQ4KQJAO.js +3 -0
  109. package/dist/chunk-IQ4KQJAO.js.map +1 -0
  110. package/dist/chunk-IWDQPSJN.cjs +1452 -0
  111. package/dist/chunk-IWDQPSJN.cjs.map +1 -0
  112. package/dist/chunk-J7KWQJOB.js +14 -0
  113. package/dist/chunk-J7KWQJOB.js.map +1 -0
  114. package/dist/{chunk-R25H4N4Z.js → chunk-J7Z7467B.js} +92 -56
  115. package/dist/chunk-J7Z7467B.js.map +1 -0
  116. package/dist/{chunk-NINI4WVS.cjs → chunk-JC6Y3LGF.cjs} +297 -84
  117. package/dist/chunk-JC6Y3LGF.cjs.map +1 -0
  118. package/dist/chunk-JCNPVK74.cjs +347 -0
  119. package/dist/chunk-JCNPVK74.cjs.map +1 -0
  120. package/dist/chunk-JFLC7SHM.cjs +35 -0
  121. package/dist/chunk-JFLC7SHM.cjs.map +1 -0
  122. package/dist/chunk-JHYFHEHS.js +1967 -0
  123. package/dist/chunk-JHYFHEHS.js.map +1 -0
  124. package/dist/{chunk-IBZXDX4L.cjs → chunk-JQEY53SH.cjs} +112 -3
  125. package/dist/chunk-JQEY53SH.cjs.map +1 -0
  126. package/dist/chunk-JTBQNOSL.cjs +1605 -0
  127. package/dist/chunk-JTBQNOSL.cjs.map +1 -0
  128. package/dist/chunk-JYZW2PZS.cjs +166 -0
  129. package/dist/chunk-JYZW2PZS.cjs.map +1 -0
  130. package/dist/chunk-KBEKQMVY.cjs +198 -0
  131. package/dist/chunk-KBEKQMVY.cjs.map +1 -0
  132. package/dist/chunk-KJ5BSGEO.cjs +258 -0
  133. package/dist/chunk-KJ5BSGEO.cjs.map +1 -0
  134. package/dist/{chunk-DNPRRYPQ.js → chunk-KL2S36FM.js} +2 -2
  135. package/dist/chunk-KL2S36FM.js.map +1 -0
  136. package/dist/chunk-LIH3IZYK.js +689 -0
  137. package/dist/chunk-LIH3IZYK.js.map +1 -0
  138. package/dist/chunk-MAMY5HTT.cjs +1177 -0
  139. package/dist/chunk-MAMY5HTT.cjs.map +1 -0
  140. package/dist/{chunk-WFS6R2F5.js → chunk-MKWGKASO.js} +114 -101
  141. package/dist/chunk-MKWGKASO.js.map +1 -0
  142. package/dist/{chunk-CV4CVGLO.cjs → chunk-MZPF2QGM.cjs} +95 -74
  143. package/dist/chunk-MZPF2QGM.cjs.map +1 -0
  144. package/dist/chunk-NQME7MCK.js +1416 -0
  145. package/dist/chunk-NQME7MCK.js.map +1 -0
  146. package/dist/chunk-NTYGCBCL.js +543 -0
  147. package/dist/chunk-NTYGCBCL.js.map +1 -0
  148. package/dist/chunk-OF7NTZ2I.js +3 -0
  149. package/dist/chunk-OF7NTZ2I.js.map +1 -0
  150. package/dist/chunk-OXYFTCRW.cjs +57 -0
  151. package/dist/chunk-OXYFTCRW.cjs.map +1 -0
  152. package/dist/chunk-QA6ZDHFP.js +117 -0
  153. package/dist/chunk-QA6ZDHFP.js.map +1 -0
  154. package/dist/chunk-RHNPILZQ.cjs +4 -0
  155. package/dist/chunk-RHNPILZQ.cjs.map +1 -0
  156. package/dist/chunk-RHYIFIT5.js +98 -0
  157. package/dist/chunk-RHYIFIT5.js.map +1 -0
  158. package/dist/chunk-RI56YPED.cjs +201 -0
  159. package/dist/chunk-RI56YPED.cjs.map +1 -0
  160. package/dist/chunk-RISZWWEQ.js +3 -0
  161. package/dist/chunk-RISZWWEQ.js.map +1 -0
  162. package/dist/chunk-S6Z3KDEM.js +140 -0
  163. package/dist/chunk-S6Z3KDEM.js.map +1 -0
  164. package/dist/chunk-S7JQ3FV5.cjs +16 -0
  165. package/dist/chunk-S7JQ3FV5.cjs.map +1 -0
  166. package/dist/{chunk-OXGUG57G.cjs → chunk-SNEQXSC5.cjs} +2 -2
  167. package/dist/{chunk-OXGUG57G.cjs.map → chunk-SNEQXSC5.cjs.map} +1 -1
  168. package/dist/chunk-SQHMGT4W.js +164 -0
  169. package/dist/chunk-SQHMGT4W.js.map +1 -0
  170. package/dist/{chunk-JHPFOG2N.cjs → chunk-ST2RE5UB.cjs} +30 -18
  171. package/dist/chunk-ST2RE5UB.cjs.map +1 -0
  172. package/dist/{chunk-QVJBUWJQ.js → chunk-STPK44AU.js} +46 -12
  173. package/dist/chunk-STPK44AU.js.map +1 -0
  174. package/dist/chunk-T3C4RNJ4.js +106 -0
  175. package/dist/chunk-T3C4RNJ4.js.map +1 -0
  176. package/dist/chunk-T3RWXOCM.js +148 -0
  177. package/dist/chunk-T3RWXOCM.js.map +1 -0
  178. package/dist/{chunk-DCER2QQB.js → chunk-T42BCIUA.js} +2 -2
  179. package/dist/{chunk-DCER2QQB.js.map → chunk-T42BCIUA.js.map} +1 -1
  180. package/dist/{chunk-OYKS2JBB.cjs → chunk-TN33E2VN.cjs} +2 -2
  181. package/dist/chunk-TN33E2VN.cjs.map +1 -0
  182. package/dist/{chunk-K7IGBNZA.cjs → chunk-TR2OJKQ4.cjs} +46 -12
  183. package/dist/chunk-TR2OJKQ4.cjs.map +1 -0
  184. package/dist/chunk-UFYXU7KV.js +135 -0
  185. package/dist/chunk-UFYXU7KV.js.map +1 -0
  186. package/dist/chunk-UM6NA7HL.js +1145 -0
  187. package/dist/chunk-UM6NA7HL.js.map +1 -0
  188. package/dist/chunk-UO3KEUYK.cjs +220 -0
  189. package/dist/chunk-UO3KEUYK.cjs.map +1 -0
  190. package/dist/chunk-UOOH356R.cjs +66 -0
  191. package/dist/chunk-UOOH356R.cjs.map +1 -0
  192. package/dist/{chunk-4ZU53GNR.cjs → chunk-UTYUT5YY.cjs} +62 -2
  193. package/dist/chunk-UTYUT5YY.cjs.map +1 -0
  194. package/dist/chunk-UVSODK6V.cjs +53 -0
  195. package/dist/chunk-UVSODK6V.cjs.map +1 -0
  196. package/dist/chunk-V25Z5GR6.cjs +184 -0
  197. package/dist/chunk-V25Z5GR6.cjs.map +1 -0
  198. package/dist/chunk-VBWRH4UW.cjs +4 -0
  199. package/dist/chunk-VBWRH4UW.cjs.map +1 -0
  200. package/dist/chunk-VJOVJTFP.cjs +370 -0
  201. package/dist/chunk-VJOVJTFP.cjs.map +1 -0
  202. package/dist/{chunk-7BARESXI.cjs → chunk-VPNURIAY.cjs} +114 -101
  203. package/dist/chunk-VPNURIAY.cjs.map +1 -0
  204. package/dist/{chunk-I56VBDSC.js → chunk-XDFDVF2O.js} +30 -18
  205. package/dist/chunk-XDFDVF2O.js.map +1 -0
  206. package/dist/chunk-XL7TTKHP.js +327 -0
  207. package/dist/chunk-XL7TTKHP.js.map +1 -0
  208. package/dist/chunk-Y2S6QMKU.js +78 -0
  209. package/dist/chunk-Y2S6QMKU.js.map +1 -0
  210. package/dist/chunk-Y4ESBDQ5.cjs +552 -0
  211. package/dist/chunk-Y4ESBDQ5.cjs.map +1 -0
  212. package/dist/chunk-Y5KEFV5O.js +192 -0
  213. package/dist/chunk-Y5KEFV5O.js.map +1 -0
  214. package/dist/chunk-YBLIDESO.js +365 -0
  215. package/dist/chunk-YBLIDESO.js.map +1 -0
  216. package/dist/chunk-YVLP3ATI.js +1776 -0
  217. package/dist/chunk-YVLP3ATI.js.map +1 -0
  218. package/dist/chunk-YVPC65ZJ.cjs +134 -0
  219. package/dist/chunk-YVPC65ZJ.cjs.map +1 -0
  220. package/dist/{chunk-MPOWJVV4.js → chunk-YZT62IMX.js} +95 -74
  221. package/dist/chunk-YZT62IMX.js.map +1 -0
  222. package/dist/chunk-ZAIEQWRA.js +207 -0
  223. package/dist/chunk-ZAIEQWRA.js.map +1 -0
  224. package/dist/chunk-ZDEYV373.cjs +139 -0
  225. package/dist/chunk-ZDEYV373.cjs.map +1 -0
  226. package/dist/{chunk-Q7NBJFEB.js → chunk-ZGSC2CB2.js} +2 -2
  227. package/dist/{chunk-Q7NBJFEB.js.map → chunk-ZGSC2CB2.js.map} +1 -1
  228. package/dist/{chunk-3M4P2KMG.cjs → chunk-ZHBANUBI.cjs} +2 -2
  229. package/dist/{chunk-3M4P2KMG.cjs.map → chunk-ZHBANUBI.cjs.map} +1 -1
  230. package/dist/components/AlertDialog/index.cjs +18 -0
  231. package/dist/components/AlertDialog/index.cjs.map +1 -0
  232. package/dist/components/AlertDialog/index.d.cts +56 -0
  233. package/dist/components/AlertDialog/index.d.ts +56 -0
  234. package/dist/components/AlertDialog/index.js +9 -0
  235. package/dist/components/AlertDialog/index.js.map +1 -0
  236. package/dist/components/AudioRecorder/index.d.cts +1 -1
  237. package/dist/components/AudioRecorder/index.d.ts +1 -1
  238. package/dist/components/Autocomplete/index.cjs +16 -0
  239. package/dist/components/Autocomplete/index.cjs.map +1 -0
  240. package/dist/components/Autocomplete/index.d.cts +77 -0
  241. package/dist/components/Autocomplete/index.d.ts +77 -0
  242. package/dist/components/Autocomplete/index.js +7 -0
  243. package/dist/components/Autocomplete/index.js.map +1 -0
  244. package/dist/components/Badge/index.cjs +4 -3
  245. package/dist/components/Badge/index.js +2 -1
  246. package/dist/components/Card/index.cjs +16 -15
  247. package/dist/components/Card/index.js +2 -1
  248. package/dist/components/Collapsible/index.cjs +21 -0
  249. package/dist/components/Collapsible/index.cjs.map +1 -0
  250. package/dist/components/Collapsible/index.d.cts +33 -0
  251. package/dist/components/Collapsible/index.d.ts +33 -0
  252. package/dist/components/Collapsible/index.js +4 -0
  253. package/dist/components/Collapsible/index.js.map +1 -0
  254. package/dist/components/CountryCodeDropdown/index.cjs +6 -5
  255. package/dist/components/CountryCodeDropdown/index.js +3 -2
  256. package/dist/components/DateInput/index.cjs +2 -2
  257. package/dist/components/DateInput/index.d.cts +8 -2
  258. package/dist/components/DateInput/index.d.ts +8 -2
  259. package/dist/components/DateInput/index.js +1 -1
  260. package/dist/components/Dropdown/index.cjs +9 -8
  261. package/dist/components/Dropdown/index.d.cts +2 -1
  262. package/dist/components/Dropdown/index.d.ts +2 -1
  263. package/dist/components/Dropdown/index.js +3 -2
  264. package/dist/components/FloatingWindow/index.cjs +18 -0
  265. package/dist/components/FloatingWindow/index.cjs.map +1 -0
  266. package/dist/components/FloatingWindow/index.d.cts +64 -0
  267. package/dist/components/FloatingWindow/index.d.ts +64 -0
  268. package/dist/components/FloatingWindow/index.js +5 -0
  269. package/dist/components/FloatingWindow/index.js.map +1 -0
  270. package/dist/components/Label/index.cjs +17 -0
  271. package/dist/components/Label/index.cjs.map +1 -0
  272. package/dist/components/Label/index.d.cts +23 -0
  273. package/dist/components/Label/index.d.ts +23 -0
  274. package/dist/components/Label/index.js +4 -0
  275. package/dist/components/Label/index.js.map +1 -0
  276. package/dist/components/Markdown/index.cjs +51 -0
  277. package/dist/components/Markdown/index.cjs.map +1 -0
  278. package/dist/components/Markdown/index.css +331 -0
  279. package/dist/components/Markdown/index.css.map +1 -0
  280. package/dist/components/Markdown/index.d.cts +82 -0
  281. package/dist/components/Markdown/index.d.ts +82 -0
  282. package/dist/components/Markdown/index.js +10 -0
  283. package/dist/components/Markdown/index.js.map +1 -0
  284. package/dist/components/Markdown/styles.css +354 -0
  285. package/dist/components/MediaEditor/index.cjs +44 -0
  286. package/dist/components/MediaEditor/index.cjs.map +1 -0
  287. package/dist/components/MediaEditor/index.d.cts +151 -0
  288. package/dist/components/MediaEditor/index.d.ts +151 -0
  289. package/dist/components/MediaEditor/index.js +19 -0
  290. package/dist/components/MediaEditor/index.js.map +1 -0
  291. package/dist/components/MediaPlayer/index.cjs +24 -0
  292. package/dist/components/MediaPlayer/index.cjs.map +1 -0
  293. package/dist/components/MediaPlayer/index.d.cts +71 -0
  294. package/dist/components/MediaPlayer/index.d.ts +71 -0
  295. package/dist/components/MediaPlayer/index.js +7 -0
  296. package/dist/components/MediaPlayer/index.js.map +1 -0
  297. package/dist/components/RecordButton/index.cjs +4 -4
  298. package/dist/components/RecordButton/index.js +1 -1
  299. package/dist/components/RichTextEditor/index.cjs +33 -0
  300. package/dist/components/RichTextEditor/index.cjs.map +1 -0
  301. package/dist/components/RichTextEditor/index.d.cts +62 -0
  302. package/dist/components/RichTextEditor/index.d.ts +62 -0
  303. package/dist/components/RichTextEditor/index.js +12 -0
  304. package/dist/components/RichTextEditor/index.js.map +1 -0
  305. package/dist/components/ScrollArea/index.cjs +17 -0
  306. package/dist/components/ScrollArea/index.cjs.map +1 -0
  307. package/dist/components/ScrollArea/index.d.cts +22 -0
  308. package/dist/components/ScrollArea/index.d.ts +22 -0
  309. package/dist/components/ScrollArea/index.js +4 -0
  310. package/dist/components/ScrollArea/index.js.map +1 -0
  311. package/dist/components/Select/index.cjs +5 -3
  312. package/dist/components/Select/index.js +3 -1
  313. package/dist/components/Separator/index.cjs +17 -0
  314. package/dist/components/Separator/index.cjs.map +1 -0
  315. package/dist/components/Separator/index.d.cts +27 -0
  316. package/dist/components/Separator/index.d.ts +27 -0
  317. package/dist/components/Separator/index.js +4 -0
  318. package/dist/components/Separator/index.js.map +1 -0
  319. package/dist/components/Sheet/index.cjs +48 -0
  320. package/dist/components/Sheet/index.cjs.map +1 -0
  321. package/dist/components/Sheet/index.d.cts +62 -0
  322. package/dist/components/Sheet/index.d.ts +62 -0
  323. package/dist/components/Sheet/index.js +7 -0
  324. package/dist/components/Sheet/index.js.map +1 -0
  325. package/dist/components/SuperChat/index.cjs +1373 -0
  326. package/dist/components/SuperChat/index.cjs.map +1 -0
  327. package/dist/components/SuperChat/index.d.cts +189 -0
  328. package/dist/components/SuperChat/index.d.ts +189 -0
  329. package/dist/components/SuperChat/index.js +1336 -0
  330. package/dist/components/SuperChat/index.js.map +1 -0
  331. package/dist/components/SuperChat/plugins/index.cjs +1292 -0
  332. package/dist/components/SuperChat/plugins/index.cjs.map +1 -0
  333. package/dist/components/SuperChat/plugins/index.d.cts +233 -0
  334. package/dist/components/SuperChat/plugins/index.d.ts +233 -0
  335. package/dist/components/SuperChat/plugins/index.js +1252 -0
  336. package/dist/components/SuperChat/plugins/index.js.map +1 -0
  337. package/dist/components/Table/index.cjs +9 -9
  338. package/dist/components/Table/index.d.cts +4 -0
  339. package/dist/components/Table/index.d.ts +4 -0
  340. package/dist/components/Table/index.js +1 -1
  341. package/dist/components/ThemeProvider/index.cjs +7 -7
  342. package/dist/components/ThemeProvider/index.js +1 -1
  343. package/dist/components/Toggle/index.cjs +17 -0
  344. package/dist/components/Toggle/index.cjs.map +1 -0
  345. package/dist/components/Toggle/index.d.cts +28 -0
  346. package/dist/components/Toggle/index.d.ts +28 -0
  347. package/dist/components/Toggle/index.js +4 -0
  348. package/dist/components/Toggle/index.js.map +1 -0
  349. package/dist/components/TranscriptView/index.cjs +21 -0
  350. package/dist/components/TranscriptView/index.cjs.map +1 -0
  351. package/dist/components/TranscriptView/index.d.cts +55 -0
  352. package/dist/components/TranscriptView/index.d.ts +55 -0
  353. package/dist/components/TranscriptView/index.js +4 -0
  354. package/dist/components/TranscriptView/index.js.map +1 -0
  355. package/dist/datavis.cjs +268 -227
  356. package/dist/datavis.cjs.map +1 -1
  357. package/dist/datavis.d.cts +83 -9
  358. package/dist/datavis.d.ts +83 -9
  359. package/dist/datavis.js +235 -229
  360. package/dist/datavis.js.map +1 -1
  361. package/dist/esheet.cjs +184 -0
  362. package/dist/esheet.cjs.map +1 -1
  363. package/dist/esheet.d.cts +117 -0
  364. package/dist/esheet.d.ts +117 -0
  365. package/dist/esheet.js +163 -0
  366. package/dist/esheet.js.map +1 -1
  367. package/dist/hey-buddy-CLUVAY2X.cjs +1133 -0
  368. package/dist/hey-buddy-CLUVAY2X.cjs.map +1 -0
  369. package/dist/hey-buddy-NMSWZ4TN.js +1131 -0
  370. package/dist/hey-buddy-NMSWZ4TN.js.map +1 -0
  371. package/dist/hooks/index.cjs +76 -16
  372. package/dist/hooks/index.d.cts +151 -2
  373. package/dist/hooks/index.d.ts +151 -2
  374. package/dist/hooks/index.js +6 -2
  375. package/dist/html-MdxqSzjD.d.cts +13 -0
  376. package/dist/html-MdxqSzjD.d.ts +13 -0
  377. package/dist/index.cjs +10394 -6565
  378. package/dist/index.cjs.map +1 -1
  379. package/dist/index.css +331 -0
  380. package/dist/index.css.map +1 -0
  381. package/dist/index.d.cts +2020 -249
  382. package/dist/index.d.ts +2020 -249
  383. package/dist/index.js +9223 -5969
  384. package/dist/index.js.map +1 -1
  385. package/dist/kerebron.cjs +119 -0
  386. package/dist/kerebron.cjs.map +1 -0
  387. package/dist/kerebron.css +11 -0
  388. package/dist/kerebron.d.cts +23 -0
  389. package/dist/kerebron.d.ts +23 -0
  390. package/dist/kerebron.js +116 -0
  391. package/dist/kerebron.js.map +1 -0
  392. package/dist/nitroTableGrid-3J2GY6CK.cjs +47 -0
  393. package/dist/nitroTableGrid-3J2GY6CK.cjs.map +1 -0
  394. package/dist/nitroTableGrid-SIMT7635.js +25 -0
  395. package/dist/nitroTableGrid-SIMT7635.js.map +1 -0
  396. package/dist/orderRows-BUJYgSc7.d.cts +221 -0
  397. package/dist/orderRows-BUJYgSc7.d.ts +221 -0
  398. package/dist/speaker-verify-5GTWAN5Y.cjs +357 -0
  399. package/dist/speaker-verify-5GTWAN5Y.cjs.map +1 -0
  400. package/dist/speaker-verify-R67P433H.js +355 -0
  401. package/dist/speaker-verify-R67P433H.js.map +1 -0
  402. package/dist/styles/init.css +5 -0
  403. package/dist/styles.css +1 -1
  404. package/dist/tailwind-preset.cjs +4 -4
  405. package/dist/tailwind-preset.js +1 -1
  406. package/dist/transcript-oaWqY3yr.d.cts +81 -0
  407. package/dist/transcript-oaWqY3yr.d.ts +81 -0
  408. package/dist/types-BYnLjEFg.d.cts +248 -0
  409. package/dist/types-BYnLjEFg.d.ts +248 -0
  410. package/dist/types-CBh8Zlje.d.cts +240 -0
  411. package/dist/types-CyCwYBlr.d.ts +240 -0
  412. package/dist/useAnchoredPosition-nXdSFKHf.d.cts +65 -0
  413. package/dist/useAnchoredPosition-nXdSFKHf.d.ts +65 -0
  414. package/dist/useTranscriptEdits-BUylQFg0.d.cts +168 -0
  415. package/dist/useTranscriptEdits-CWYnjbGP.d.ts +168 -0
  416. package/dist/utils/index.cjs +27 -18
  417. package/dist/utils/index.d.cts +1 -0
  418. package/dist/utils/index.d.ts +1 -0
  419. package/dist/utils/index.js +3 -2
  420. package/package.json +180 -55
  421. package/dist/chunk-2DS3RJ2D.js.map +0 -1
  422. package/dist/chunk-74K3RRU7.cjs +0 -4
  423. package/dist/chunk-7BARESXI.cjs.map +0 -1
  424. package/dist/chunk-CV4CVGLO.cjs.map +0 -1
  425. package/dist/chunk-DNPRRYPQ.js.map +0 -1
  426. package/dist/chunk-FRT6RQND.cjs.map +0 -1
  427. package/dist/chunk-HYEJLKXI.js +0 -476
  428. package/dist/chunk-HYEJLKXI.js.map +0 -1
  429. package/dist/chunk-I56VBDSC.js.map +0 -1
  430. package/dist/chunk-IBZXDX4L.cjs.map +0 -1
  431. package/dist/chunk-IKMR2ADM.cjs +0 -25
  432. package/dist/chunk-IKMR2ADM.cjs.map +0 -1
  433. package/dist/chunk-JHPFOG2N.cjs.map +0 -1
  434. package/dist/chunk-K7IGBNZA.cjs.map +0 -1
  435. package/dist/chunk-LEMY57MI.js +0 -3
  436. package/dist/chunk-MPOWJVV4.js.map +0 -1
  437. package/dist/chunk-NINI4WVS.cjs.map +0 -1
  438. package/dist/chunk-OKBR6PX4.js +0 -23
  439. package/dist/chunk-OKBR6PX4.js.map +0 -1
  440. package/dist/chunk-OYKS2JBB.cjs.map +0 -1
  441. package/dist/chunk-QVJBUWJQ.js.map +0 -1
  442. package/dist/chunk-R25H4N4Z.js.map +0 -1
  443. package/dist/chunk-V2DF2GUE.js +0 -3
  444. package/dist/chunk-WFS6R2F5.js.map +0 -1
  445. package/dist/ozwell.cjs +0 -385
  446. package/dist/ozwell.cjs.map +0 -1
  447. package/dist/ozwell.d.cts +0 -15
  448. package/dist/ozwell.d.ts +0 -15
  449. package/dist/ozwell.js +0 -360
  450. package/dist/ozwell.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var editor = require('@kerebron/editor');
5
+ var AdvancedEditorKit = require('@kerebron/editor-kits/AdvancedEditorKit');
6
+ var web = require('@kerebron/wasm/web');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+ var CodeEditorKit = require('@kerebron/editor-kits/CodeEditorKit');
9
+
10
+ // src/components/RichEditor/RichEditor.tsx
11
+ var RichEditor = ({
12
+ value = "",
13
+ onChange,
14
+ showPreview = false
15
+ }) => {
16
+ const editorRef = react.useRef(null);
17
+ const editorInstance = react.useRef(null);
18
+ const onChangeRef = react.useRef(onChange);
19
+ onChangeRef.current = onChange;
20
+ const [md, setMd] = react.useState("");
21
+ react.useEffect(() => {
22
+ if (!editorRef.current) return;
23
+ const editor$1 = editor.CoreEditor.create({
24
+ element: editorRef.current,
25
+ uri: "file:///untitled.md",
26
+ assetLoad: web.createAssetLoad("/kerebron-wasm"),
27
+ editorKits: [new AdvancedEditorKit.AdvancedEditorKit()]
28
+ });
29
+ editorInstance.current = editor$1;
30
+ const onTransaction = async () => {
31
+ if (!editorInstance.current) return;
32
+ try {
33
+ const buffer = await editorInstance.current.saveDocument("text/x-markdown");
34
+ const markdown = new globalThis.TextDecoder().decode(buffer);
35
+ setMd(markdown);
36
+ onChangeRef.current?.(markdown);
37
+ } catch (err) {
38
+ console.error("Failed to save markdown:", err);
39
+ }
40
+ };
41
+ editor$1.addEventListener("transaction", onTransaction);
42
+ if (value) {
43
+ editor$1.loadDocumentText("text/x-markdown", value).then(() => onTransaction()).catch((err) => console.error("Failed to load markdown:", err));
44
+ } else {
45
+ void onTransaction();
46
+ }
47
+ return () => {
48
+ editor$1.removeEventListener("transaction", onTransaction);
49
+ editor$1.destroy();
50
+ };
51
+ }, []);
52
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
53
+ /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: editorRef, className: "kb-component" }) }),
54
+ showPreview && /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
55
+ /* @__PURE__ */ jsxRuntime.jsx("h5", { children: "Markdown Output" }),
56
+ /* @__PURE__ */ jsxRuntime.jsx("pre", { children: md })
57
+ ] }) })
58
+ ] });
59
+ };
60
+ RichEditor.displayName = "RichEditor";
61
+ var CodeEditor = ({
62
+ value = "",
63
+ onChange,
64
+ lang = "typescript"
65
+ }) => {
66
+ const editorRef = react.useRef(null);
67
+ const editorInstance = react.useRef(null);
68
+ const onChangeRef = react.useRef(onChange);
69
+ onChangeRef.current = onChange;
70
+ react.useEffect(() => {
71
+ const root = editorRef.current;
72
+ if (!root) return;
73
+ const applySelectLabel = () => {
74
+ root.querySelectorAll("select.codejar-select").forEach((element) => {
75
+ if (!element.getAttribute("aria-label")) {
76
+ element.setAttribute("aria-label", "Code editor language");
77
+ }
78
+ });
79
+ };
80
+ applySelectLabel();
81
+ const observer = new MutationObserver(() => applySelectLabel());
82
+ observer.observe(root, { childList: true, subtree: true });
83
+ return () => observer.disconnect();
84
+ }, []);
85
+ react.useEffect(() => {
86
+ if (!editorRef.current) return;
87
+ const editor$1 = editor.CoreEditor.create({
88
+ element: editorRef.current,
89
+ uri: "file:///untitled.ts",
90
+ assetLoad: web.createAssetLoad("/kerebron-wasm"),
91
+ editorKits: [new CodeEditorKit.CodeEditorKit(lang)]
92
+ });
93
+ editorInstance.current = editor$1;
94
+ const onTransaction = async () => {
95
+ if (!editorInstance.current) return;
96
+ try {
97
+ const buffer = await editorInstance.current.saveDocument("text/plain");
98
+ onChangeRef.current?.(new globalThis.TextDecoder().decode(buffer));
99
+ } catch (err) {
100
+ console.error("Failed to read code:", err);
101
+ }
102
+ };
103
+ editor$1.addEventListener("transaction", onTransaction);
104
+ if (value) {
105
+ editor$1.loadDocumentText("text/plain", value).catch((err) => console.error("Failed to load code:", err));
106
+ }
107
+ return () => {
108
+ editor$1.removeEventListener("transaction", onTransaction);
109
+ editor$1.destroy();
110
+ };
111
+ }, []);
112
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: editorRef, className: "kb-component" }) }) });
113
+ };
114
+ CodeEditor.displayName = "CodeEditor";
115
+
116
+ exports.CodeEditor = CodeEditor;
117
+ exports.RichEditor = RichEditor;
118
+ //# sourceMappingURL=kerebron.cjs.map
119
+ //# sourceMappingURL=kerebron.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/RichEditor/RichEditor.tsx","../src/components/RichEditor/CodeEditor.tsx"],"names":["useRef","useState","useEffect","editor","CoreEditor","createAssetLoad","AdvancedEditorKit","jsx","jsxs","CodeEditorKit"],"mappings":"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","file":"kerebron.cjs","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport { CoreEditor } from '@kerebron/editor';\nimport { AdvancedEditorKit } from '@kerebron/editor-kits/AdvancedEditorKit';\nimport { createAssetLoad } from '@kerebron/wasm/web';\n\nexport interface RichEditorProps {\n /** Initial markdown content to load into the editor. */\n value?: string;\n /** Called with the editor's markdown content whenever it changes. */\n onChange?: (value: string) => void;\n /** Whether to render the live markdown output preview. Defaults to `false`. */\n showPreview?: boolean;\n}\n\nconst RichEditor: React.FC<RichEditorProps> = ({\n value = '',\n onChange,\n showPreview = false,\n}) => {\n const editorRef = useRef<HTMLDivElement>(null);\n const editorInstance = useRef<CoreEditor | null>(null);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const [md, setMd] = useState<string>('');\n\n useEffect(() => {\n if (!editorRef.current) return;\n\n // Initialize the editor\n const editor = CoreEditor.create({\n element: editorRef.current,\n uri: 'file:///untitled.md',\n assetLoad: createAssetLoad('/kerebron-wasm'),\n editorKits: [new AdvancedEditorKit()],\n });\n\n editorInstance.current = editor;\n\n // Listen to transactions and update markdown preview\n const onTransaction = async () => {\n if (!editorInstance.current) return;\n\n try {\n const buffer =\n await editorInstance.current.saveDocument('text/x-markdown');\n const markdown = new globalThis.TextDecoder().decode(buffer);\n setMd(markdown);\n onChangeRef.current?.(markdown);\n } catch (err) {\n console.error('Failed to save markdown:', err);\n }\n };\n\n editor.addEventListener('transaction', onTransaction);\n\n // Seed initial content, then populate the preview once on mount.\n if (value) {\n editor\n .loadDocumentText('text/x-markdown', value)\n .then(() => onTransaction())\n .catch((err) => console.error('Failed to load markdown:', err));\n } else {\n void onTransaction();\n }\n\n // Cleanup on unmount\n return () => {\n editor.removeEventListener('transaction', onTransaction);\n editor.destroy();\n };\n // Initial `value` is intentionally only applied on mount (uncontrolled).\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div>\n <div>\n <div ref={editorRef} className=\"kb-component\" />\n </div>\n\n {showPreview && (\n <div>\n <div>\n <h5>Markdown Output</h5>\n <pre>{md}</pre>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nRichEditor.displayName = 'RichEditor';\n\nexport { RichEditor };\n","import React, { useEffect, useRef } from 'react';\n\nimport { CoreEditor } from '@kerebron/editor';\nimport { CodeEditorKit } from '@kerebron/editor-kits/CodeEditorKit';\nimport { createAssetLoad } from '@kerebron/wasm/web';\n\nexport interface CodeEditorProps {\n /** Initial source code to load into the editor. */\n value?: string;\n /** Called with the editor's contents whenever they change. */\n onChange?: (value: string) => void;\n /** Language/grammar to use for syntax highlighting. Defaults to `typescript`. */\n lang?: string;\n}\n\nconst CodeEditor: React.FC<CodeEditorProps> = ({\n value = '',\n onChange,\n lang = 'typescript',\n}) => {\n const editorRef = useRef<HTMLDivElement>(null);\n const editorInstance = useRef<CoreEditor | null>(null);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => {\n const root = editorRef.current;\n if (!root) return;\n\n const applySelectLabel = () => {\n root.querySelectorAll('select.codejar-select').forEach((element) => {\n if (!element.getAttribute('aria-label')) {\n element.setAttribute('aria-label', 'Code editor language');\n }\n });\n };\n\n applySelectLabel();\n const observer = new MutationObserver(() => applySelectLabel());\n observer.observe(root, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, []);\n\n useEffect(() => {\n if (!editorRef.current) return;\n\n // Initialize the editor\n const editor = CoreEditor.create({\n element: editorRef.current,\n uri: 'file:///untitled.ts',\n assetLoad: createAssetLoad('/kerebron-wasm'),\n editorKits: [new CodeEditorKit(lang)],\n });\n\n editorInstance.current = editor;\n\n // Surface edits to callers.\n const onTransaction = async () => {\n if (!editorInstance.current) return;\n\n try {\n const buffer = await editorInstance.current.saveDocument('text/plain');\n onChangeRef.current?.(new globalThis.TextDecoder().decode(buffer));\n } catch (err) {\n console.error('Failed to read code:', err);\n }\n };\n\n editor.addEventListener('transaction', onTransaction);\n\n // Seed initial content on mount.\n if (value) {\n editor\n .loadDocumentText('text/plain', value)\n .catch((err) => console.error('Failed to load code:', err));\n }\n\n // Cleanup on unmount\n return () => {\n editor.removeEventListener('transaction', onTransaction);\n editor.destroy();\n };\n // Initial `value`/`lang` are intentionally only applied on mount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div>\n <div>\n <div ref={editorRef} className=\"kb-component\" />\n </div>\n </div>\n );\n};\n\nCodeEditor.displayName = 'CodeEditor';\n\nexport { CodeEditor };\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Kerebron editor styles — opt-in stylesheet for @mieweb/ui/kerebron.
3
+ *
4
+ * Import this only when you use the RichEditor / CodeEditor components:
5
+ * import '@mieweb/ui/kerebron.css';
6
+ *
7
+ * Kept separate from the library's global styles.css so consumers that don't
8
+ * use the Kerebron editor don't ship its CSS.
9
+ */
10
+ @import '@kerebron/editor/assets/index.css';
11
+ @import '@kerebron/editor-kits/assets/AdvancedEditorKit.css';
@@ -0,0 +1,23 @@
1
+ import React__default from 'react';
2
+
3
+ interface RichEditorProps {
4
+ /** Initial markdown content to load into the editor. */
5
+ value?: string;
6
+ /** Called with the editor's markdown content whenever it changes. */
7
+ onChange?: (value: string) => void;
8
+ /** Whether to render the live markdown output preview. Defaults to `false`. */
9
+ showPreview?: boolean;
10
+ }
11
+ declare const RichEditor: React__default.FC<RichEditorProps>;
12
+
13
+ interface CodeEditorProps {
14
+ /** Initial source code to load into the editor. */
15
+ value?: string;
16
+ /** Called with the editor's contents whenever they change. */
17
+ onChange?: (value: string) => void;
18
+ /** Language/grammar to use for syntax highlighting. Defaults to `typescript`. */
19
+ lang?: string;
20
+ }
21
+ declare const CodeEditor: React__default.FC<CodeEditorProps>;
22
+
23
+ export { CodeEditor, type CodeEditorProps, RichEditor, type RichEditorProps };
@@ -0,0 +1,23 @@
1
+ import React__default from 'react';
2
+
3
+ interface RichEditorProps {
4
+ /** Initial markdown content to load into the editor. */
5
+ value?: string;
6
+ /** Called with the editor's markdown content whenever it changes. */
7
+ onChange?: (value: string) => void;
8
+ /** Whether to render the live markdown output preview. Defaults to `false`. */
9
+ showPreview?: boolean;
10
+ }
11
+ declare const RichEditor: React__default.FC<RichEditorProps>;
12
+
13
+ interface CodeEditorProps {
14
+ /** Initial source code to load into the editor. */
15
+ value?: string;
16
+ /** Called with the editor's contents whenever they change. */
17
+ onChange?: (value: string) => void;
18
+ /** Language/grammar to use for syntax highlighting. Defaults to `typescript`. */
19
+ lang?: string;
20
+ }
21
+ declare const CodeEditor: React__default.FC<CodeEditorProps>;
22
+
23
+ export { CodeEditor, type CodeEditorProps, RichEditor, type RichEditorProps };
@@ -0,0 +1,116 @@
1
+ import { useRef, useState, useEffect } from 'react';
2
+ import { CoreEditor } from '@kerebron/editor';
3
+ import { AdvancedEditorKit } from '@kerebron/editor-kits/AdvancedEditorKit';
4
+ import { createAssetLoad } from '@kerebron/wasm/web';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+ import { CodeEditorKit } from '@kerebron/editor-kits/CodeEditorKit';
7
+
8
+ // src/components/RichEditor/RichEditor.tsx
9
+ var RichEditor = ({
10
+ value = "",
11
+ onChange,
12
+ showPreview = false
13
+ }) => {
14
+ const editorRef = useRef(null);
15
+ const editorInstance = useRef(null);
16
+ const onChangeRef = useRef(onChange);
17
+ onChangeRef.current = onChange;
18
+ const [md, setMd] = useState("");
19
+ useEffect(() => {
20
+ if (!editorRef.current) return;
21
+ const editor = CoreEditor.create({
22
+ element: editorRef.current,
23
+ uri: "file:///untitled.md",
24
+ assetLoad: createAssetLoad("/kerebron-wasm"),
25
+ editorKits: [new AdvancedEditorKit()]
26
+ });
27
+ editorInstance.current = editor;
28
+ const onTransaction = async () => {
29
+ if (!editorInstance.current) return;
30
+ try {
31
+ const buffer = await editorInstance.current.saveDocument("text/x-markdown");
32
+ const markdown = new globalThis.TextDecoder().decode(buffer);
33
+ setMd(markdown);
34
+ onChangeRef.current?.(markdown);
35
+ } catch (err) {
36
+ console.error("Failed to save markdown:", err);
37
+ }
38
+ };
39
+ editor.addEventListener("transaction", onTransaction);
40
+ if (value) {
41
+ editor.loadDocumentText("text/x-markdown", value).then(() => onTransaction()).catch((err) => console.error("Failed to load markdown:", err));
42
+ } else {
43
+ void onTransaction();
44
+ }
45
+ return () => {
46
+ editor.removeEventListener("transaction", onTransaction);
47
+ editor.destroy();
48
+ };
49
+ }, []);
50
+ return /* @__PURE__ */ jsxs("div", { children: [
51
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("div", { ref: editorRef, className: "kb-component" }) }),
52
+ showPreview && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { children: [
53
+ /* @__PURE__ */ jsx("h5", { children: "Markdown Output" }),
54
+ /* @__PURE__ */ jsx("pre", { children: md })
55
+ ] }) })
56
+ ] });
57
+ };
58
+ RichEditor.displayName = "RichEditor";
59
+ var CodeEditor = ({
60
+ value = "",
61
+ onChange,
62
+ lang = "typescript"
63
+ }) => {
64
+ const editorRef = useRef(null);
65
+ const editorInstance = useRef(null);
66
+ const onChangeRef = useRef(onChange);
67
+ onChangeRef.current = onChange;
68
+ useEffect(() => {
69
+ const root = editorRef.current;
70
+ if (!root) return;
71
+ const applySelectLabel = () => {
72
+ root.querySelectorAll("select.codejar-select").forEach((element) => {
73
+ if (!element.getAttribute("aria-label")) {
74
+ element.setAttribute("aria-label", "Code editor language");
75
+ }
76
+ });
77
+ };
78
+ applySelectLabel();
79
+ const observer = new MutationObserver(() => applySelectLabel());
80
+ observer.observe(root, { childList: true, subtree: true });
81
+ return () => observer.disconnect();
82
+ }, []);
83
+ useEffect(() => {
84
+ if (!editorRef.current) return;
85
+ const editor = CoreEditor.create({
86
+ element: editorRef.current,
87
+ uri: "file:///untitled.ts",
88
+ assetLoad: createAssetLoad("/kerebron-wasm"),
89
+ editorKits: [new CodeEditorKit(lang)]
90
+ });
91
+ editorInstance.current = editor;
92
+ const onTransaction = async () => {
93
+ if (!editorInstance.current) return;
94
+ try {
95
+ const buffer = await editorInstance.current.saveDocument("text/plain");
96
+ onChangeRef.current?.(new globalThis.TextDecoder().decode(buffer));
97
+ } catch (err) {
98
+ console.error("Failed to read code:", err);
99
+ }
100
+ };
101
+ editor.addEventListener("transaction", onTransaction);
102
+ if (value) {
103
+ editor.loadDocumentText("text/plain", value).catch((err) => console.error("Failed to load code:", err));
104
+ }
105
+ return () => {
106
+ editor.removeEventListener("transaction", onTransaction);
107
+ editor.destroy();
108
+ };
109
+ }, []);
110
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("div", { ref: editorRef, className: "kb-component" }) }) });
111
+ };
112
+ CodeEditor.displayName = "CodeEditor";
113
+
114
+ export { CodeEditor, RichEditor };
115
+ //# sourceMappingURL=kerebron.js.map
116
+ //# sourceMappingURL=kerebron.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/RichEditor/RichEditor.tsx","../src/components/RichEditor/CodeEditor.tsx"],"names":["useRef","useEffect","CoreEditor","createAssetLoad","jsx"],"mappings":"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","file":"kerebron.js","sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\n\nimport { CoreEditor } from '@kerebron/editor';\nimport { AdvancedEditorKit } from '@kerebron/editor-kits/AdvancedEditorKit';\nimport { createAssetLoad } from '@kerebron/wasm/web';\n\nexport interface RichEditorProps {\n /** Initial markdown content to load into the editor. */\n value?: string;\n /** Called with the editor's markdown content whenever it changes. */\n onChange?: (value: string) => void;\n /** Whether to render the live markdown output preview. Defaults to `false`. */\n showPreview?: boolean;\n}\n\nconst RichEditor: React.FC<RichEditorProps> = ({\n value = '',\n onChange,\n showPreview = false,\n}) => {\n const editorRef = useRef<HTMLDivElement>(null);\n const editorInstance = useRef<CoreEditor | null>(null);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n const [md, setMd] = useState<string>('');\n\n useEffect(() => {\n if (!editorRef.current) return;\n\n // Initialize the editor\n const editor = CoreEditor.create({\n element: editorRef.current,\n uri: 'file:///untitled.md',\n assetLoad: createAssetLoad('/kerebron-wasm'),\n editorKits: [new AdvancedEditorKit()],\n });\n\n editorInstance.current = editor;\n\n // Listen to transactions and update markdown preview\n const onTransaction = async () => {\n if (!editorInstance.current) return;\n\n try {\n const buffer =\n await editorInstance.current.saveDocument('text/x-markdown');\n const markdown = new globalThis.TextDecoder().decode(buffer);\n setMd(markdown);\n onChangeRef.current?.(markdown);\n } catch (err) {\n console.error('Failed to save markdown:', err);\n }\n };\n\n editor.addEventListener('transaction', onTransaction);\n\n // Seed initial content, then populate the preview once on mount.\n if (value) {\n editor\n .loadDocumentText('text/x-markdown', value)\n .then(() => onTransaction())\n .catch((err) => console.error('Failed to load markdown:', err));\n } else {\n void onTransaction();\n }\n\n // Cleanup on unmount\n return () => {\n editor.removeEventListener('transaction', onTransaction);\n editor.destroy();\n };\n // Initial `value` is intentionally only applied on mount (uncontrolled).\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div>\n <div>\n <div ref={editorRef} className=\"kb-component\" />\n </div>\n\n {showPreview && (\n <div>\n <div>\n <h5>Markdown Output</h5>\n <pre>{md}</pre>\n </div>\n </div>\n )}\n </div>\n );\n};\n\nRichEditor.displayName = 'RichEditor';\n\nexport { RichEditor };\n","import React, { useEffect, useRef } from 'react';\n\nimport { CoreEditor } from '@kerebron/editor';\nimport { CodeEditorKit } from '@kerebron/editor-kits/CodeEditorKit';\nimport { createAssetLoad } from '@kerebron/wasm/web';\n\nexport interface CodeEditorProps {\n /** Initial source code to load into the editor. */\n value?: string;\n /** Called with the editor's contents whenever they change. */\n onChange?: (value: string) => void;\n /** Language/grammar to use for syntax highlighting. Defaults to `typescript`. */\n lang?: string;\n}\n\nconst CodeEditor: React.FC<CodeEditorProps> = ({\n value = '',\n onChange,\n lang = 'typescript',\n}) => {\n const editorRef = useRef<HTMLDivElement>(null);\n const editorInstance = useRef<CoreEditor | null>(null);\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n\n useEffect(() => {\n const root = editorRef.current;\n if (!root) return;\n\n const applySelectLabel = () => {\n root.querySelectorAll('select.codejar-select').forEach((element) => {\n if (!element.getAttribute('aria-label')) {\n element.setAttribute('aria-label', 'Code editor language');\n }\n });\n };\n\n applySelectLabel();\n const observer = new MutationObserver(() => applySelectLabel());\n observer.observe(root, { childList: true, subtree: true });\n return () => observer.disconnect();\n }, []);\n\n useEffect(() => {\n if (!editorRef.current) return;\n\n // Initialize the editor\n const editor = CoreEditor.create({\n element: editorRef.current,\n uri: 'file:///untitled.ts',\n assetLoad: createAssetLoad('/kerebron-wasm'),\n editorKits: [new CodeEditorKit(lang)],\n });\n\n editorInstance.current = editor;\n\n // Surface edits to callers.\n const onTransaction = async () => {\n if (!editorInstance.current) return;\n\n try {\n const buffer = await editorInstance.current.saveDocument('text/plain');\n onChangeRef.current?.(new globalThis.TextDecoder().decode(buffer));\n } catch (err) {\n console.error('Failed to read code:', err);\n }\n };\n\n editor.addEventListener('transaction', onTransaction);\n\n // Seed initial content on mount.\n if (value) {\n editor\n .loadDocumentText('text/plain', value)\n .catch((err) => console.error('Failed to load code:', err));\n }\n\n // Cleanup on unmount\n return () => {\n editor.removeEventListener('transaction', onTransaction);\n editor.destroy();\n };\n // Initial `value`/`lang` are intentionally only applied on mount.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return (\n <div>\n <div>\n <div ref={editorRef} className=\"kb-component\" />\n </div>\n </div>\n );\n};\n\nCodeEditor.displayName = 'CodeEditor';\n\nexport { CodeEditor };\n"]}
@@ -0,0 +1,47 @@
1
+ 'use strict';
2
+
3
+ var chunkVJOVJTFP_cjs = require('./chunk-VJOVJTFP.cjs');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ function NitroTableGrid({ headers, rows }) {
28
+ const varName = React__namespace.useMemo(() => {
29
+ const nextVarName = `__superchat_nitro_table_${Math.random().toString(36).slice(2)}`;
30
+ window[nextVarName] = {
31
+ typeInfo: headers.map((field) => ({ field, type: "string" })),
32
+ data: rows
33
+ };
34
+ return nextVarName;
35
+ }, [headers, rows]);
36
+ React__namespace.useEffect(
37
+ () => () => {
38
+ delete window[varName];
39
+ },
40
+ [varName]
41
+ );
42
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "superchat-nitro-table", className: "my-2", children: /* @__PURE__ */ jsxRuntime.jsx(chunkVJOVJTFP_cjs.DataVisNitroSource, { type: "local", varName, children: /* @__PURE__ */ jsxRuntime.jsx(chunkVJOVJTFP_cjs.DataVisNitroGrid, { columns: headers, className: "max-h-80" }) }) });
43
+ }
44
+
45
+ module.exports = NitroTableGrid;
46
+ //# sourceMappingURL=nitroTableGrid-3J2GY6CK.cjs.map
47
+ //# sourceMappingURL=nitroTableGrid-3J2GY6CK.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/SuperChat/plugins/nitroTableGrid.tsx"],"names":["React","DataVisNitroSource","DataVisNitroGrid"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqBe,SAAR,cAAA,CAAgC,EAAE,OAAA,EAAS,IAAA,EAAK,EAAwB;AAC7E,EAAA,MAAM,OAAA,GAAgBA,yBAAQ,MAAM;AAClC,IAAA,MAAM,WAAA,GAAc,CAAA,wBAAA,EAA2B,IAAA,CAAK,MAAA,EAAO,CAAE,SAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAClF,IAAC,MAAA,CAA8C,WAAW,CAAA,GAAI;AAAA,MAC5D,QAAA,EAAU,QAAQ,GAAA,CAAI,CAAC,WAAW,EAAE,KAAA,EAAO,IAAA,EAAM,QAAA,EAAS,CAAE,CAAA;AAAA,MAC5D,IAAA,EAAM;AAAA,KACR;AACA,IAAA,OAAO,WAAA;AAAA,EACT,CAAA,EAAG,CAAC,OAAA,EAAS,IAAI,CAAC,CAAA;AAElB,EAAMA,gBAAA,CAAA,SAAA;AAAA,IACJ,MAAM,MAAM;AACV,MAAA,OAAQ,OAA8C,OAAO,CAAA;AAAA,IAC/D,CAAA;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,sCACG,KAAA,EAAA,EAAI,WAAA,EAAU,yBAAwB,SAAA,EAAU,MAAA,EAC/C,yCAACC,oCAAA,EAAA,EAAmB,IAAA,EAAK,OAAA,EAAQ,OAAA,EAC/B,yCAACC,kCAAA,EAAA,EAAiB,OAAA,EAAS,SAAS,SAAA,EAAU,UAAA,EAAW,GAC3D,CAAA,EACF,CAAA;AAEJ","file":"nitroTableGrid-3J2GY6CK.cjs","sourcesContent":["/**\n * SuperChat NITRO table grid (lazy chunk).\n *\n * Default-exported so it can be pulled in with `React.lazy` only when a GFM\n * table actually renders — this keeps the heavy `datavis` / `datavis-ace`\n * dependencies out of the SuperChat (and Markdown core) bundle.\n *\n * Data is handed to {@link DataVisNitroSource} through a short-lived local\n * source so Storybook never pauses in the intermediate \"Waiting…\" state.\n */\n\nimport * as React from 'react';\nimport { DataVisNitroGrid, DataVisNitroSource } from '../../DataVisNITRO';\n\nexport interface NitroTableGridProps {\n /** Column headers, in order. */\n headers: string[];\n /** Row objects keyed by header. */\n rows: Array<Record<string, string>>;\n}\n\nexport default function NitroTableGrid({ headers, rows }: NitroTableGridProps) {\n const varName = React.useMemo(() => {\n const nextVarName = `__superchat_nitro_table_${Math.random().toString(36).slice(2)}`;\n (window as unknown as Record<string, unknown>)[nextVarName] = {\n typeInfo: headers.map((field) => ({ field, type: 'string' })),\n data: rows,\n };\n return nextVarName;\n }, [headers, rows]);\n\n React.useEffect(\n () => () => {\n delete (window as unknown as Record<string, unknown>)[varName];\n },\n [varName]\n );\n\n return (\n <div data-slot=\"superchat-nitro-table\" className=\"my-2\">\n <DataVisNitroSource type=\"local\" varName={varName}>\n <DataVisNitroGrid columns={headers} className=\"max-h-80\" />\n </DataVisNitroSource>\n </div>\n );\n}\n"]}
@@ -0,0 +1,25 @@
1
+ import { DataVisNitroSource, DataVisNitroGrid } from './chunk-YBLIDESO.js';
2
+ import * as React from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ function NitroTableGrid({ headers, rows }) {
6
+ const varName = React.useMemo(() => {
7
+ const nextVarName = `__superchat_nitro_table_${Math.random().toString(36).slice(2)}`;
8
+ window[nextVarName] = {
9
+ typeInfo: headers.map((field) => ({ field, type: "string" })),
10
+ data: rows
11
+ };
12
+ return nextVarName;
13
+ }, [headers, rows]);
14
+ React.useEffect(
15
+ () => () => {
16
+ delete window[varName];
17
+ },
18
+ [varName]
19
+ );
20
+ return /* @__PURE__ */ jsx("div", { "data-slot": "superchat-nitro-table", className: "my-2", children: /* @__PURE__ */ jsx(DataVisNitroSource, { type: "local", varName, children: /* @__PURE__ */ jsx(DataVisNitroGrid, { columns: headers, className: "max-h-80" }) }) });
21
+ }
22
+
23
+ export { NitroTableGrid as default };
24
+ //# sourceMappingURL=nitroTableGrid-SIMT7635.js.map
25
+ //# sourceMappingURL=nitroTableGrid-SIMT7635.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/SuperChat/plugins/nitroTableGrid.tsx"],"names":[],"mappings":";;;;AAqBe,SAAR,cAAA,CAAgC,EAAE,OAAA,EAAS,IAAA,EAAK,EAAwB;AAC7E,EAAA,MAAM,OAAA,GAAgB,cAAQ,MAAM;AAClC,IAAA,MAAM,WAAA,GAAc,CAAA,wBAAA,EAA2B,IAAA,CAAK,MAAA,EAAO,CAAE,SAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAC,CAAC,CAAA,CAAA;AAClF,IAAC,MAAA,CAA8C,WAAW,CAAA,GAAI;AAAA,MAC5D,QAAA,EAAU,QAAQ,GAAA,CAAI,CAAC,WAAW,EAAE,KAAA,EAAO,IAAA,EAAM,QAAA,EAAS,CAAE,CAAA;AAAA,MAC5D,IAAA,EAAM;AAAA,KACR;AACA,IAAA,OAAO,WAAA;AAAA,EACT,CAAA,EAAG,CAAC,OAAA,EAAS,IAAI,CAAC,CAAA;AAElB,EAAM,KAAA,CAAA,SAAA;AAAA,IACJ,MAAM,MAAM;AACV,MAAA,OAAQ,OAA8C,OAAO,CAAA;AAAA,IAC/D,CAAA;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,2BACG,KAAA,EAAA,EAAI,WAAA,EAAU,yBAAwB,SAAA,EAAU,MAAA,EAC/C,8BAAC,kBAAA,EAAA,EAAmB,IAAA,EAAK,OAAA,EAAQ,OAAA,EAC/B,8BAAC,gBAAA,EAAA,EAAiB,OAAA,EAAS,SAAS,SAAA,EAAU,UAAA,EAAW,GAC3D,CAAA,EACF,CAAA;AAEJ","file":"nitroTableGrid-SIMT7635.js","sourcesContent":["/**\n * SuperChat NITRO table grid (lazy chunk).\n *\n * Default-exported so it can be pulled in with `React.lazy` only when a GFM\n * table actually renders — this keeps the heavy `datavis` / `datavis-ace`\n * dependencies out of the SuperChat (and Markdown core) bundle.\n *\n * Data is handed to {@link DataVisNitroSource} through a short-lived local\n * source so Storybook never pauses in the intermediate \"Waiting…\" state.\n */\n\nimport * as React from 'react';\nimport { DataVisNitroGrid, DataVisNitroSource } from '../../DataVisNITRO';\n\nexport interface NitroTableGridProps {\n /** Column headers, in order. */\n headers: string[];\n /** Row objects keyed by header. */\n rows: Array<Record<string, string>>;\n}\n\nexport default function NitroTableGrid({ headers, rows }: NitroTableGridProps) {\n const varName = React.useMemo(() => {\n const nextVarName = `__superchat_nitro_table_${Math.random().toString(36).slice(2)}`;\n (window as unknown as Record<string, unknown>)[nextVarName] = {\n typeInfo: headers.map((field) => ({ field, type: 'string' })),\n data: rows,\n };\n return nextVarName;\n }, [headers, rows]);\n\n React.useEffect(\n () => () => {\n delete (window as unknown as Record<string, unknown>)[varName];\n },\n [varName]\n );\n\n return (\n <div data-slot=\"superchat-nitro-table\" className=\"my-2\">\n <DataVisNitroSource type=\"local\" varName={varName}>\n <DataVisNitroGrid columns={headers} className=\"max-h-80\" />\n </DataVisNitroSource>\n </div>\n );\n}\n"]}
@@ -0,0 +1,221 @@
1
+ /**
2
+ * Patient history — the minimal longitudinal facts the health-surveillance
3
+ * due engine needs: who the patient is (age, sex) and what has been done or
4
+ * is in flight (orders with status, observations, procedures, immunizations),
5
+ * plus problem-list context (conditions) and allergies for display/interop.
6
+ *
7
+ * All clinical entries are keyed by `CODETYPE|FULLCODE` — the same keys used
8
+ * by programs.json order sets and the codify shards — so the due engine can
9
+ * match history against a program's satisfying orders with plain string
10
+ * equality.
11
+ */
12
+ /** ISO date string (YYYY-MM-DD or full ISO timestamp). */
13
+ type IsoDate = string;
14
+ interface HistoryOrder {
15
+ /** CODETYPE|FULLCODE, e.g. "Quest Order|3058" or "HCPCS|92551" */
16
+ key: string;
17
+ /** Display label (optional; the due list falls back to the key) */
18
+ label?: string;
19
+ status: 'completed' | 'pending';
20
+ /** Completion date for completed orders; order date for pending ones */
21
+ date: IsoDate;
22
+ /** Ordering/performing provider display name (e.g. "Dr. Patel") */
23
+ provider?: string;
24
+ /** Requisition the order was bundled into — the document routing a batch
25
+ * of encounter orders to a provider/referral (e.g. "REQ-2024-0117") */
26
+ requisitionId?: string;
27
+ /** Encounter (visit) the order was placed in (e.g. "ENC-2024-0117") */
28
+ encounterId?: string;
29
+ }
30
+ interface HistoryObservation {
31
+ /** CODETYPE|FULLCODE, e.g. "LOINC|4548-4" (HbA1c) */
32
+ key: string;
33
+ label?: string;
34
+ /** Display value with units, e.g. "7.2 %" or "38 ug/dL" */
35
+ value?: string;
36
+ date: IsoDate;
37
+ }
38
+ interface HistoryProcedure {
39
+ key: string;
40
+ label?: string;
41
+ date: IsoDate;
42
+ }
43
+ interface HistoryImmunization {
44
+ /** CODETYPE|FULLCODE, e.g. "CVX|88" */
45
+ key: string;
46
+ label?: string;
47
+ date: IsoDate;
48
+ }
49
+ interface HistoryCondition {
50
+ key: string;
51
+ label?: string;
52
+ onset?: IsoDate;
53
+ }
54
+ interface HistoryAllergy {
55
+ /** Allergen key when coded (e.g. "RxNORM|7980"), else omit */
56
+ key?: string;
57
+ label: string;
58
+ reaction?: string;
59
+ severity?: 'mild' | 'moderate' | 'severe';
60
+ }
61
+ interface HistoryMedication {
62
+ key?: string;
63
+ label: string;
64
+ /** Sig / dose display, e.g. "10 mg daily" */
65
+ detail?: string;
66
+ }
67
+ interface PatientHistory {
68
+ /** Age in years */
69
+ age: number;
70
+ sex: 'M' | 'F';
71
+ /** Past + in-flight orders (completion drives the due engine) */
72
+ orders: HistoryOrder[];
73
+ observations?: HistoryObservation[];
74
+ procedures?: HistoryProcedure[];
75
+ immunizations?: HistoryImmunization[];
76
+ conditions?: HistoryCondition[];
77
+ allergies?: HistoryAllergy[];
78
+ medications?: HistoryMedication[];
79
+ }
80
+
81
+ /**
82
+ * Due-evaluation engine — the "knowledge" layer of health surveillance.
83
+ * Given a patient's history and the program metadata (programs.json from
84
+ * mieweb/codify, or a deployment's own), decides which programs/measures are
85
+ * due, overdue, pending, or satisfied. Pure functions, no I/O — the metadata
86
+ * is small, so this runs on the main thread.
87
+ */
88
+
89
+ /**
90
+ * One entry in a program's order set:
91
+ * - `"CODETYPE|FULLCODE"` — a plain required order
92
+ * - `{ alt: [a, b] }` — mutually exclusive alternatives (one-of): a
93
+ * colonoscopy OR a FIT satisfies colorectal screening
94
+ * - `{ key, after: […] }` — depends on completed prerequisites (Gantt edge):
95
+ * the RMO's fitness-for-duty determination needs the panel results first,
96
+ * and a program may carry several determinations (per panel / per SEG)
97
+ */
98
+ type ProgramOrder = string | {
99
+ key?: string;
100
+ alt?: string[];
101
+ after?: string[];
102
+ };
103
+ /** Program metadata — mirrors programs.json (see mieweb/codify). */
104
+ interface ProgramMeta {
105
+ kind?: 'surveillance' | 'fitness' | 'credential' | 'quality';
106
+ /** Omitted = one-time / event-driven (satisfied forever once done) */
107
+ periodicityMonths?: number;
108
+ ageMin?: number;
109
+ ageMax?: number;
110
+ sex?: 'M' | 'F';
111
+ /** Satisfying orders — plain keys, one-of alternatives, or dependent
112
+ * entries (see ProgramOrder) */
113
+ orders?: ProgramOrder[];
114
+ }
115
+ type ProgramsMap = Record<string, ProgramMeta>;
116
+ type DueStatus = 'due' | 'overdue' | 'pending' | 'satisfied' | 'not-applicable';
117
+ interface DueItem {
118
+ /** Program key, CODETYPE|FULLCODE (e.g. "OSHA|1910.95", "eCQM|CMS125") */
119
+ key: string;
120
+ program: ProgramMeta;
121
+ status: DueStatus;
122
+ /** Most recent completion date of any satisfying order */
123
+ lastCompleted?: string;
124
+ /** When the current/last satisfaction lapses (satisfied/overdue only) */
125
+ dueDate?: string;
126
+ /** Satisfying orders currently pending */
127
+ pendingKeys: string[];
128
+ }
129
+ /** Is the patient inside the program's age/sex gates? */
130
+ declare function isApplicable(history: Pick<PatientHistory, 'age' | 'sex'>, program: ProgramMeta): boolean;
131
+ /**
132
+ * Evaluate one program against the history.
133
+ * `now` defaults to today; injectable for tests.
134
+ */
135
+ declare function evaluateProgram(key: string, program: ProgramMeta, history: PatientHistory, now?: Date): DueItem;
136
+ /**
137
+ * Evaluate a set of programs against the history, most actionable first
138
+ * (overdue → due → pending → satisfied; not-applicable omitted unless
139
+ * `includeNotApplicable`).
140
+ *
141
+ * `enrolledKeys` restricts occupational programs to the patient's actual
142
+ * enrollments (a clerk isn't due for cadmium surveillance just because the
143
+ * program exists); quality measures apply to everyone passing their gates.
144
+ */
145
+ declare function evaluateDue(history: PatientHistory, programs: ProgramsMap, options?: {
146
+ enrolledKeys?: string[];
147
+ includeNotApplicable?: boolean;
148
+ now?: Date;
149
+ }): DueItem[];
150
+ /**
151
+ * Ordering-time prompt: is this order key part of a due/overdue program?
152
+ * Returns the matching due items so the UI can badge "due for OSHA 1910.95"
153
+ * or warn "already satisfied" while the clinician is ordering.
154
+ */
155
+ declare function dueForOrder(orderKey: string, dueItems: DueItem[]): DueItem[];
156
+
157
+ /**
158
+ * Order-row builders — flatten the order history and the due-evaluation
159
+ * output into grid-friendly rows (one row per encounter order) for the
160
+ * NITRO-backed ChartOrdersGrid / EncounterOrdersGrid.
161
+ *
162
+ * Pure functions, no I/O. Every field is a flat string so the DataVis engine
163
+ * can group/filter/aggregate on any of them (reason, provider, requisition,
164
+ * status, kind, date).
165
+ */
166
+
167
+ /** Per-order status — finer grained than the program-level DueStatus. */
168
+ type OrderRowStatus = 'completed' | 'pending' | 'available' | 'blocked';
169
+ /** One encounter order as a flat grid row. */
170
+ interface OrderRow {
171
+ /** CODETYPE|FULLCODE of the order */
172
+ orderKey: string;
173
+ /** Order display label */
174
+ order: string;
175
+ /** Reason/concern — the surveillance program or quality measure label */
176
+ reason: string;
177
+ /** Program key (CODETYPE|FULLCODE); '' when no program matches */
178
+ reasonKey: string;
179
+ /** Program kind label ('surveillance', 'quality measure', …) */
180
+ kind: string;
181
+ status: OrderRowStatus;
182
+ /** Completion date (completed) or order date (pending); '' otherwise */
183
+ date: string;
184
+ /** Program due date, when known */
185
+ dueDate: string;
186
+ /** Ordering/performing provider; '' when unknown */
187
+ provider: string;
188
+ /** Requisition the order is bundled into; '' = unprocessed */
189
+ requisitionId: string;
190
+ /** Encounter the order was placed in; '' for not-yet-placed rows */
191
+ encounterId: string;
192
+ /** Unmet prerequisite labels, comma-joined ('' when unblocked) */
193
+ blockedBy: string;
194
+ }
195
+ interface OrderRowsOptions {
196
+ /** Occupational enrollments; quality measures apply to everyone in-gate */
197
+ enrolledKeys?: string[];
198
+ /** Evaluation clock (defaults to today; inject for determinism) */
199
+ now?: Date;
200
+ /** Display labels for program keys (falls back to the key) */
201
+ programLabels?: Record<string, string>;
202
+ /** Display labels for order keys (falls back to history labels, then key) */
203
+ orderLabels?: Record<string, string>;
204
+ /** Include not-yet-placed due-list orders as available/blocked rows
205
+ * (default true) */
206
+ includeDue?: boolean;
207
+ }
208
+ /**
209
+ * Chart-wide rows: every past + in-flight order in the history, plus (by
210
+ * default) the actionable due-list orders that haven't been placed yet
211
+ * (`available`, or `blocked` while prerequisites are incomplete).
212
+ */
213
+ declare function buildChartOrderRows(history: PatientHistory, programs: ProgramsMap, options?: OrderRowsOptions): OrderRow[];
214
+ /**
215
+ * Current-encounter rows: the encounter's own orders (pending unprocessed
216
+ * ones are the mass-operation targets) plus the actionable due-list orders
217
+ * available to place this visit.
218
+ */
219
+ declare function buildEncounterOrderRows(history: PatientHistory, programs: ProgramsMap, encounterId: string, options?: OrderRowsOptions): OrderRow[];
220
+
221
+ export { type DueItem as D, type HistoryAllergy as H, type IsoDate as I, type OrderRow as O, type PatientHistory as P, type ProgramsMap as a, type DueStatus as b, type HistoryCondition as c, type HistoryImmunization as d, type HistoryMedication as e, type HistoryObservation as f, type HistoryOrder as g, type HistoryProcedure as h, type OrderRowStatus as i, type OrderRowsOptions as j, type ProgramMeta as k, buildChartOrderRows as l, buildEncounterOrderRows as m, dueForOrder as n, evaluateDue as o, evaluateProgram as p, isApplicable as q };