@mieweb/ui 0.9.0-datavis-submodule-test.1 → 0.9.0-datavis-submodule-test.3

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 (234) hide show
  1. package/agent/mieweb-ui.instructions.md +2 -1
  2. package/dist/{CsvBlock-DXIZ3FEF.cjs → CsvBlock-CVYA3HYS.cjs} +3 -3
  3. package/dist/{CsvBlock-DXIZ3FEF.cjs.map → CsvBlock-CVYA3HYS.cjs.map} +1 -1
  4. package/dist/{CsvBlock-URR5MQH3.js → CsvBlock-SM4NKSHA.js} +3 -3
  5. package/dist/{CsvBlock-URR5MQH3.js.map → CsvBlock-SM4NKSHA.js.map} +1 -1
  6. package/dist/{HtmlPreviewBlock-HOMAY5CZ.js → HtmlPreviewBlock-FAMF4W24.js} +3 -3
  7. package/dist/{HtmlPreviewBlock-HOMAY5CZ.js.map → HtmlPreviewBlock-FAMF4W24.js.map} +1 -1
  8. package/dist/{HtmlPreviewBlock-W7ZRU4GR.cjs → HtmlPreviewBlock-JF454L2L.cjs} +3 -3
  9. package/dist/{HtmlPreviewBlock-W7ZRU4GR.cjs.map → HtmlPreviewBlock-JF454L2L.cjs.map} +1 -1
  10. package/dist/{MermaidBlock-F5UMHHL5.js → MermaidBlock-7V5G4K5A.js} +3 -3
  11. package/dist/{MermaidBlock-F5UMHHL5.js.map → MermaidBlock-7V5G4K5A.js.map} +1 -1
  12. package/dist/{MermaidBlock-SGAN5CSV.cjs → MermaidBlock-FR5SQX4Q.cjs} +3 -3
  13. package/dist/{MermaidBlock-SGAN5CSV.cjs.map → MermaidBlock-FR5SQX4Q.cjs.map} +1 -1
  14. package/dist/{SurveyBlock-MMBGLOWQ.js → SurveyBlock-6K2POV7S.js} +3 -3
  15. package/dist/{SurveyBlock-MMBGLOWQ.js.map → SurveyBlock-6K2POV7S.js.map} +1 -1
  16. package/dist/{SurveyBlock-SQXOESDF.cjs → SurveyBlock-MCJVWR7H.cjs} +3 -3
  17. package/dist/{SurveyBlock-SQXOESDF.cjs.map → SurveyBlock-MCJVWR7H.cjs.map} +1 -1
  18. package/dist/ag-grid.cjs +1 -1
  19. package/dist/ag-grid.js +1 -1
  20. package/dist/brands/bluehive.cjs +1 -1
  21. package/dist/brands/bluehive.js +1 -1
  22. package/dist/brands/ccme.cjs +1 -1
  23. package/dist/brands/ccme.js +1 -1
  24. package/dist/brands/index.cjs +3 -3
  25. package/dist/brands/index.js +2 -2
  26. package/dist/brands/ozwell.cjs +1 -1
  27. package/dist/brands/ozwell.js +1 -1
  28. package/dist/brands/types.cjs +1 -1
  29. package/dist/brands/types.js +1 -1
  30. package/dist/{chunk-GXZG2COF.cjs → chunk-AZP3DDBT.cjs} +6 -6
  31. package/dist/{chunk-GXZG2COF.cjs.map → chunk-AZP3DDBT.cjs.map} +1 -1
  32. package/dist/{chunk-ZKMTKJFC.js → chunk-C6CTTLH2.js} +2100 -2515
  33. package/dist/chunk-C6CTTLH2.js.map +1 -0
  34. package/dist/{chunk-WX2O47TS.cjs → chunk-EUAMEVVI.cjs} +3 -10
  35. package/dist/{chunk-WX2O47TS.cjs.map → chunk-EUAMEVVI.cjs.map} +1 -1
  36. package/dist/chunk-LECJMLNE.js +15 -0
  37. package/dist/{chunk-LSMDP7OV.js.map → chunk-LECJMLNE.js.map} +1 -1
  38. package/dist/{chunk-CGQDCCTT.cjs → chunk-PN2PIE2L.cjs} +2100 -2515
  39. package/dist/chunk-PN2PIE2L.cjs.map +1 -0
  40. package/dist/{chunk-ZPWHCABL.js → chunk-PX6F3LHL.js} +4 -10
  41. package/dist/{chunk-ZPWHCABL.js.map → chunk-PX6F3LHL.js.map} +1 -1
  42. package/dist/chunk-VNAREBLV.cjs +17 -0
  43. package/dist/{chunk-MMG7KPYK.cjs.map → chunk-VNAREBLV.cjs.map} +1 -1
  44. package/dist/{chunk-4BAS7275.js → chunk-ZX2XRFE5.js} +6 -6
  45. package/dist/{chunk-4BAS7275.js.map → chunk-ZX2XRFE5.js.map} +1 -1
  46. package/dist/{collabKit-423J5OJC.cjs → collabKit-GCRHP25F.cjs} +3 -3
  47. package/dist/{collabKit-423J5OJC.cjs.map → collabKit-GCRHP25F.cjs.map} +1 -1
  48. package/dist/{collabKit-ATVRE4G3.js → collabKit-SJPDPXU4.js} +3 -3
  49. package/dist/{collabKit-ATVRE4G3.js.map → collabKit-SJPDPXU4.js.map} +1 -1
  50. package/dist/components/Accordion/index.cjs +1 -1
  51. package/dist/components/Accordion/index.js +1 -1
  52. package/dist/components/Alert/index.cjs +1 -1
  53. package/dist/components/Alert/index.js +1 -1
  54. package/dist/components/AlertDialog/index.cjs +1 -1
  55. package/dist/components/AlertDialog/index.js +1 -1
  56. package/dist/components/AudioPlayer/index.cjs +1 -1
  57. package/dist/components/AudioPlayer/index.js +1 -1
  58. package/dist/components/AudioRecorder/index.cjs +1 -1
  59. package/dist/components/AudioRecorder/index.js +1 -1
  60. package/dist/components/Autocomplete/index.cjs +1 -1
  61. package/dist/components/Autocomplete/index.js +1 -1
  62. package/dist/components/Avatar/index.cjs +1 -1
  63. package/dist/components/Avatar/index.js +1 -1
  64. package/dist/components/Badge/index.cjs +1 -1
  65. package/dist/components/Badge/index.js +1 -1
  66. package/dist/components/Breadcrumb/index.cjs +1 -1
  67. package/dist/components/Breadcrumb/index.js +1 -1
  68. package/dist/components/Button/index.cjs +1 -1
  69. package/dist/components/Button/index.js +1 -1
  70. package/dist/components/Card/index.cjs +1 -1
  71. package/dist/components/Card/index.js +1 -1
  72. package/dist/components/Checkbox/index.cjs +1 -1
  73. package/dist/components/Checkbox/index.js +1 -1
  74. package/dist/components/ClampedText/index.cjs +1 -1
  75. package/dist/components/ClampedText/index.js +1 -1
  76. package/dist/components/CollabStatus/index.cjs +1 -1
  77. package/dist/components/CollabStatus/index.js +1 -1
  78. package/dist/components/Collapsible/index.cjs +1 -1
  79. package/dist/components/Collapsible/index.js +1 -1
  80. package/dist/components/CopyButton/index.cjs +1 -1
  81. package/dist/components/CopyButton/index.js +1 -1
  82. package/dist/components/CountryCodeDropdown/index.cjs +1 -1
  83. package/dist/components/CountryCodeDropdown/index.js +1 -1
  84. package/dist/components/CustomizableDashboard/index.cjs +1 -1
  85. package/dist/components/CustomizableDashboard/index.js +1 -1
  86. package/dist/components/DateInput/index.cjs +1 -1
  87. package/dist/components/DateInput/index.js +1 -1
  88. package/dist/components/Dropdown/index.cjs +1 -1
  89. package/dist/components/Dropdown/index.js +1 -1
  90. package/dist/components/FilterSummaryBar/index.cjs +1 -1
  91. package/dist/components/FilterSummaryBar/index.js +1 -1
  92. package/dist/components/FloatingWindow/index.cjs +1 -1
  93. package/dist/components/FloatingWindow/index.js +1 -1
  94. package/dist/components/FreshnessBadge/index.cjs +1 -1
  95. package/dist/components/FreshnessBadge/index.js +1 -1
  96. package/dist/components/GlossaryTooltip/index.cjs +1 -1
  97. package/dist/components/GlossaryTooltip/index.js +1 -1
  98. package/dist/components/Input/index.cjs +1 -1
  99. package/dist/components/Input/index.js +1 -1
  100. package/dist/components/KeyboardShortcutsOverlay/index.cjs +1 -1
  101. package/dist/components/KeyboardShortcutsOverlay/index.js +1 -1
  102. package/dist/components/Label/index.cjs +1 -1
  103. package/dist/components/Label/index.js +1 -1
  104. package/dist/components/Markdown/index.cjs +6 -6
  105. package/dist/components/Markdown/index.js +2 -2
  106. package/dist/components/MediaEditor/index.cjs +1 -1
  107. package/dist/components/MediaEditor/index.js +1 -1
  108. package/dist/components/MediaPlayer/index.cjs +1 -1
  109. package/dist/components/MediaPlayer/index.js +1 -1
  110. package/dist/components/Modal/index.cjs +1 -1
  111. package/dist/components/Modal/index.js +1 -1
  112. package/dist/components/Pagination/index.cjs +1 -1
  113. package/dist/components/Pagination/index.js +1 -1
  114. package/dist/components/PhoneInput/index.cjs +1 -1
  115. package/dist/components/PhoneInput/index.js +1 -1
  116. package/dist/components/Progress/index.cjs +1 -1
  117. package/dist/components/Progress/index.js +1 -1
  118. package/dist/components/Q/index.cjs +1 -1
  119. package/dist/components/Q/index.js +1 -1
  120. package/dist/components/QuickAction/index.cjs +1 -1
  121. package/dist/components/QuickAction/index.js +1 -1
  122. package/dist/components/Radio/index.cjs +1 -1
  123. package/dist/components/Radio/index.js +1 -1
  124. package/dist/components/ReadingProgressBar/index.cjs +1 -1
  125. package/dist/components/ReadingProgressBar/index.js +1 -1
  126. package/dist/components/RecordButton/index.cjs +1 -1
  127. package/dist/components/RecordButton/index.js +1 -1
  128. package/dist/components/RichTextEditor/index.cjs +1 -1
  129. package/dist/components/RichTextEditor/index.js +1 -1
  130. package/dist/components/SchedulePicker/index.cjs +1 -1
  131. package/dist/components/SchedulePicker/index.js +1 -1
  132. package/dist/components/ScrollArea/index.cjs +1 -1
  133. package/dist/components/ScrollArea/index.js +1 -1
  134. package/dist/components/SectionSpyNav/index.cjs +1 -1
  135. package/dist/components/SectionSpyNav/index.js +1 -1
  136. package/dist/components/Select/index.cjs +1 -1
  137. package/dist/components/Select/index.js +1 -1
  138. package/dist/components/Separator/index.cjs +1 -1
  139. package/dist/components/Separator/index.js +1 -1
  140. package/dist/components/Sheet/index.cjs +1 -1
  141. package/dist/components/Sheet/index.js +1 -1
  142. package/dist/components/Skeleton/index.cjs +1 -1
  143. package/dist/components/Skeleton/index.js +1 -1
  144. package/dist/components/Slider/index.cjs +1 -1
  145. package/dist/components/Slider/index.js +1 -1
  146. package/dist/components/SourceTip/index.cjs +1 -1
  147. package/dist/components/SourceTip/index.js +1 -1
  148. package/dist/components/Sparkline/index.cjs +1 -1
  149. package/dist/components/Sparkline/index.js +1 -1
  150. package/dist/components/Spinner/index.cjs +1 -1
  151. package/dist/components/Spinner/index.js +1 -1
  152. package/dist/components/SuperChat/index.cjs +1 -1
  153. package/dist/components/SuperChat/index.js +1 -1
  154. package/dist/components/SuperChat/plugins/index.cjs +2 -2
  155. package/dist/components/SuperChat/plugins/index.js +2 -2
  156. package/dist/components/Switch/index.cjs +1 -1
  157. package/dist/components/Switch/index.js +1 -1
  158. package/dist/components/Table/index.cjs +1 -1
  159. package/dist/components/Table/index.js +1 -1
  160. package/dist/components/Tabs/index.cjs +1 -1
  161. package/dist/components/Tabs/index.js +1 -1
  162. package/dist/components/Text/index.cjs +1 -1
  163. package/dist/components/Text/index.js +1 -1
  164. package/dist/components/Textarea/index.cjs +1 -1
  165. package/dist/components/Textarea/index.js +1 -1
  166. package/dist/components/ThemeProvider/index.cjs +1 -1
  167. package/dist/components/ThemeProvider/index.js +1 -1
  168. package/dist/components/Toggle/index.cjs +1 -1
  169. package/dist/components/Toggle/index.js +1 -1
  170. package/dist/components/Tooltip/index.cjs +1 -1
  171. package/dist/components/Tooltip/index.js +1 -1
  172. package/dist/components/TranscriptView/index.cjs +1 -1
  173. package/dist/components/TranscriptView/index.js +1 -1
  174. package/dist/components/VisuallyHidden/index.cjs +1 -1
  175. package/dist/components/VisuallyHidden/index.js +1 -1
  176. package/dist/datavis.cjs +10 -10
  177. package/dist/datavis.cjs.map +1 -1
  178. package/dist/datavis.d.cts +684 -2
  179. package/dist/datavis.d.ts +684 -2
  180. package/dist/datavis.js +6 -6
  181. package/dist/{default-MPS6GUYS.cjs → default-CCMUBXP6.cjs} +3 -3
  182. package/dist/{default-MPS6GUYS.cjs.map → default-CCMUBXP6.cjs.map} +1 -1
  183. package/dist/default-N2LW7ZFU.js +4 -0
  184. package/dist/{default-RYDRUCB5.js.map → default-N2LW7ZFU.js.map} +1 -1
  185. package/dist/{enterprise-health-ZDEXT55R.cjs → enterprise-health-75VYWAVG.cjs} +3 -3
  186. package/dist/{enterprise-health-ZDEXT55R.cjs.map → enterprise-health-75VYWAVG.cjs.map} +1 -1
  187. package/dist/enterprise-health-CWLUB77O.js +4 -0
  188. package/dist/{enterprise-health-XCVC3GSI.js.map → enterprise-health-CWLUB77O.js.map} +1 -1
  189. package/dist/esheet.cjs +1 -1
  190. package/dist/esheet.js +1 -1
  191. package/dist/{hey-buddy-TK63WPIG.cjs → hey-buddy-INNUFFJJ.cjs} +3 -3
  192. package/dist/{hey-buddy-TK63WPIG.cjs.map → hey-buddy-INNUFFJJ.cjs.map} +1 -1
  193. package/dist/{hey-buddy-RL5G75UO.js → hey-buddy-V6FC5UKB.js} +3 -3
  194. package/dist/{hey-buddy-RL5G75UO.js.map → hey-buddy-V6FC5UKB.js.map} +1 -1
  195. package/dist/hooks/index.cjs +1 -1
  196. package/dist/hooks/index.js +1 -1
  197. package/dist/index.cjs +9 -9
  198. package/dist/index.js +4 -4
  199. package/dist/kerebron.cjs +2 -2
  200. package/dist/kerebron.js +2 -2
  201. package/dist/{mieweb-RBVTC5TE.cjs → mieweb-72YOL44I.cjs} +3 -3
  202. package/dist/{mieweb-RBVTC5TE.cjs.map → mieweb-72YOL44I.cjs.map} +1 -1
  203. package/dist/mieweb-EZDLSSA6.js +4 -0
  204. package/dist/{mieweb-H7LRJWSG.js.map → mieweb-EZDLSSA6.js.map} +1 -1
  205. package/dist/motion.cjs +1 -1
  206. package/dist/motion.js +1 -1
  207. package/dist/{nitroTableGrid-VUDKRZ5Z.js → nitroTableGrid-LVYKKCGF.js} +5 -5
  208. package/dist/{nitroTableGrid-VUDKRZ5Z.js.map → nitroTableGrid-LVYKKCGF.js.map} +1 -1
  209. package/dist/{nitroTableGrid-DAFRBF6B.cjs → nitroTableGrid-SQADULEY.cjs} +5 -5
  210. package/dist/{nitroTableGrid-DAFRBF6B.cjs.map → nitroTableGrid-SQADULEY.cjs.map} +1 -1
  211. package/dist/q.cjs +1 -1
  212. package/dist/q.js +1 -1
  213. package/dist/tailwind-preset.cjs +1 -1
  214. package/dist/tailwind-preset.js +1 -1
  215. package/dist/utils/index.cjs +1 -1
  216. package/dist/utils/index.js +1 -1
  217. package/dist/{waggleline-GMUWK4AI.cjs → waggleline-5CBT4MNN.cjs} +3 -3
  218. package/dist/{waggleline-GMUWK4AI.cjs.map → waggleline-5CBT4MNN.cjs.map} +1 -1
  219. package/dist/waggleline-JMPCNV3J.js +4 -0
  220. package/dist/{waggleline-BAVAV3VZ.js.map → waggleline-JMPCNV3J.js.map} +1 -1
  221. package/dist/webchart-2CVQ2TT3.js +4 -0
  222. package/dist/{webchart-JVJJOI33.js.map → webchart-2CVQ2TT3.js.map} +1 -1
  223. package/dist/{webchart-G4VWFPSK.cjs → webchart-AXXOQHU6.cjs} +3 -3
  224. package/dist/{webchart-G4VWFPSK.cjs.map → webchart-AXXOQHU6.cjs.map} +1 -1
  225. package/package.json +2 -5
  226. package/dist/chunk-CGQDCCTT.cjs.map +0 -1
  227. package/dist/chunk-LSMDP7OV.js +0 -15
  228. package/dist/chunk-MMG7KPYK.cjs +0 -17
  229. package/dist/chunk-ZKMTKJFC.js.map +0 -1
  230. package/dist/default-RYDRUCB5.js +0 -4
  231. package/dist/enterprise-health-XCVC3GSI.js +0 -4
  232. package/dist/mieweb-H7LRJWSG.js +0 -4
  233. package/dist/waggleline-BAVAV3VZ.js +0 -4
  234. package/dist/webchart-JVJJOI33.js +0 -4
@@ -3,6 +3,6 @@ import '../../chunk-TQONQSJO.js';
3
3
  import '../../chunk-4SMSH4OY.js';
4
4
  import '../../chunk-T4ME7QCT.js';
5
5
  import '../../chunk-VSQF22GL.js';
6
- import '../../chunk-ZPWHCABL.js';
6
+ import '../../chunk-PX6F3LHL.js';
7
7
  //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkYGA35Z2P_cjs = require('../../chunk-YGA35Z2P.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Skeleton, SkeletonCard, SkeletonTable, SkeletonText, skeletonVariants } from '../../chunk-ZIUADGAR.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkMYAU2ZUC_cjs = require('../../chunk-MYAU2ZUC.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Slider, sliderRangeVariants, sliderThumbVariants, sliderTrackVariants } from '../../chunk-2BPIVWAK.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@ var chunkXTHMC76F_cjs = require('../../chunk-XTHMC76F.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
5
  require('../../chunk-FHY3K6PL.cjs');
6
6
  require('../../chunk-AOHJILLU.cjs');
7
- require('../../chunk-WX2O47TS.cjs');
7
+ require('../../chunk-EUAMEVVI.cjs');
8
8
 
9
9
 
10
10
 
@@ -2,6 +2,6 @@ export { SourceTip } from '../../chunk-PHK4XBO5.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
3
  import '../../chunk-T4ME7QCT.js';
4
4
  import '../../chunk-WSNMQQ4P.js';
5
- import '../../chunk-ZPWHCABL.js';
5
+ import '../../chunk-PX6F3LHL.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunk7RV6CAP6_cjs = require('../../chunk-7RV6CAP6.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Sparkline } from '../../chunk-CG4ZKJLE.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkXXVUHLQN_cjs = require('../../chunk-XXVUHLQN.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { FullPageSpinner, Spinner, SpinnerWithLabel, spinnerVariants } from '../../chunk-UA7E7PDS.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -16,7 +16,7 @@ var chunkS5RVSXDV_cjs = require('../../chunk-S5RVSXDV.cjs');
16
16
  require('../../chunk-FHY3K6PL.cjs');
17
17
  require('../../chunk-FSGEDDF2.cjs');
18
18
  require('../../chunk-AOHJILLU.cjs');
19
- require('../../chunk-WX2O47TS.cjs');
19
+ require('../../chunk-EUAMEVVI.cjs');
20
20
  var React2 = require('react');
21
21
  var Markdown = require('react-markdown');
22
22
  var remarkGfm = require('remark-gfm');
@@ -15,7 +15,7 @@ import { cn } from '../../chunk-TQONQSJO.js';
15
15
  import '../../chunk-T4ME7QCT.js';
16
16
  import '../../chunk-62ZOA6PX.js';
17
17
  import '../../chunk-WSNMQQ4P.js';
18
- import '../../chunk-ZPWHCABL.js';
18
+ import '../../chunk-PX6F3LHL.js';
19
19
  import * as React2 from 'react';
20
20
  import Markdown, { defaultUrlTransform } from 'react-markdown';
21
21
  import remarkGfm from 'remark-gfm';
@@ -13,7 +13,7 @@ require('../../../chunk-FHY3K6PL.cjs');
13
13
  require('../../../chunk-FSGEDDF2.cjs');
14
14
  require('../../../chunk-AOHJILLU.cjs');
15
15
  var chunkNMBYU7D7_cjs = require('../../../chunk-NMBYU7D7.cjs');
16
- require('../../../chunk-WX2O47TS.cjs');
16
+ require('../../../chunk-EUAMEVVI.cjs');
17
17
  var React2 = require('react');
18
18
  var rehypeHighlight = require('rehype-highlight');
19
19
  var jsxRuntime = require('react/jsx-runtime');
@@ -637,7 +637,7 @@ function createImagePlugin() {
637
637
  }
638
638
  };
639
639
  }
640
- var NitroTableGrid = React2__namespace.lazy(() => import('../../../nitroTableGrid-DAFRBF6B.cjs'));
640
+ var NitroTableGrid = React2__namespace.lazy(() => import('../../../nitroTableGrid-SQADULEY.cjs'));
641
641
  function textOf3(node) {
642
642
  if (node.type === "text") return node.value ?? "";
643
643
  return (node.children ?? []).map(textOf3).join("");
@@ -11,7 +11,7 @@ import '../../../chunk-T4ME7QCT.js';
11
11
  import '../../../chunk-62ZOA6PX.js';
12
12
  import '../../../chunk-WSNMQQ4P.js';
13
13
  import { useIsDarkMode } from '../../../chunk-RUGHNFQG.js';
14
- import '../../../chunk-ZPWHCABL.js';
14
+ import '../../../chunk-PX6F3LHL.js';
15
15
  import * as React2 from 'react';
16
16
  import rehypeHighlight from 'rehype-highlight';
17
17
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
@@ -610,7 +610,7 @@ function createImagePlugin() {
610
610
  }
611
611
  };
612
612
  }
613
- var NitroTableGrid = React2.lazy(() => import('../../../nitroTableGrid-VUDKRZ5Z.js'));
613
+ var NitroTableGrid = React2.lazy(() => import('../../../nitroTableGrid-LVYKKCGF.js'));
614
614
  function textOf3(node) {
615
615
  if (node.type === "text") return node.value ?? "";
616
616
  return (node.children ?? []).map(textOf3).join("");
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkPLMXN23Q_cjs = require('../../chunk-PLMXN23Q.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Switch, switchThumbVariants, switchTrackVariants } from '../../chunk-AQ564XO7.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkIJYTASQQ_cjs = require('../../chunk-IJYTASQQ.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow } from '../../chunk-TNUL4LGG.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkP7UMS4E6_cjs = require('../../chunk-P7UMS4E6.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants, tabsTriggerVariants } from '../../chunk-DVOQ3JNO.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunk3IAA3KCE_cjs = require('../../chunk-3IAA3KCE.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { SmallMuted, Text, textVariants } from '../../chunk-3YSIZ2CK.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -4,7 +4,7 @@ var chunkBSDBI6H7_cjs = require('../../chunk-BSDBI6H7.cjs');
4
4
  require('../../chunk-I44YNYI6.cjs');
5
5
  require('../../chunk-Z5S5JEJD.cjs');
6
6
  require('../../chunk-S5RVSXDV.cjs');
7
- require('../../chunk-WX2O47TS.cjs');
7
+ require('../../chunk-EUAMEVVI.cjs');
8
8
 
9
9
 
10
10
 
@@ -2,6 +2,6 @@ export { Textarea, textareaVariants } from '../../chunk-H3YO5GBM.js';
2
2
  import '../../chunk-6NZXWKUE.js';
3
3
  import '../../chunk-3IMM2PM4.js';
4
4
  import '../../chunk-TQONQSJO.js';
5
- import '../../chunk-ZPWHCABL.js';
5
+ import '../../chunk-PX6F3LHL.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -5,7 +5,7 @@ require('../../chunk-BVMABVC4.cjs');
5
5
  require('../../chunk-S5RVSXDV.cjs');
6
6
  require('../../chunk-2O7D6F67.cjs');
7
7
  require('../../chunk-6HFFWEM3.cjs');
8
- require('../../chunk-WX2O47TS.cjs');
8
+ require('../../chunk-EUAMEVVI.cjs');
9
9
 
10
10
 
11
11
 
@@ -3,6 +3,6 @@ import '../../chunk-MUIDWFYJ.js';
3
3
  import '../../chunk-TQONQSJO.js';
4
4
  import '../../chunk-KJZNEVYM.js';
5
5
  import '../../chunk-HB7C7NB5.js';
6
- import '../../chunk-ZPWHCABL.js';
6
+ import '../../chunk-PX6F3LHL.js';
7
7
  //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkVTKXM7IE_cjs = require('../../chunk-VTKXM7IE.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { Toggle, toggleVariants } from '../../chunk-PTZB2GKL.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -3,7 +3,7 @@
3
3
  var chunkBVMABVC4_cjs = require('../../chunk-BVMABVC4.cjs');
4
4
  require('../../chunk-S5RVSXDV.cjs');
5
5
  require('../../chunk-6HFFWEM3.cjs');
6
- require('../../chunk-WX2O47TS.cjs');
6
+ require('../../chunk-EUAMEVVI.cjs');
7
7
 
8
8
 
9
9
 
@@ -1,6 +1,6 @@
1
1
  export { Tooltip } from '../../chunk-MUIDWFYJ.js';
2
2
  import '../../chunk-TQONQSJO.js';
3
3
  import '../../chunk-HB7C7NB5.js';
4
- import '../../chunk-ZPWHCABL.js';
4
+ import '../../chunk-PX6F3LHL.js';
5
5
  //# sourceMappingURL=index.js.map
6
6
  //# sourceMappingURL=index.js.map
@@ -2,7 +2,7 @@
2
2
 
3
3
  var chunkFYAKUU2A_cjs = require('../../chunk-FYAKUU2A.cjs');
4
4
  var chunkNUFUV43P_cjs = require('../../chunk-NUFUV43P.cjs');
5
- require('../../chunk-WX2O47TS.cjs');
5
+ require('../../chunk-EUAMEVVI.cjs');
6
6
 
7
7
 
8
8
 
@@ -1,5 +1,5 @@
1
1
  export { TranscriptView, formatTimestampMs } from '../../chunk-LAEIVOIY.js';
2
2
  export { PLAYBACK_SPEEDS } from '../../chunk-6CGM5H4J.js';
3
- import '../../chunk-ZPWHCABL.js';
3
+ import '../../chunk-PX6F3LHL.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkZJCPW6MS_cjs = require('../../chunk-ZJCPW6MS.cjs');
4
- require('../../chunk-WX2O47TS.cjs');
4
+ require('../../chunk-EUAMEVVI.cjs');
5
5
 
6
6
 
7
7
 
@@ -1,4 +1,4 @@
1
1
  export { VisuallyHidden } from '../../chunk-H2CIKJQI.js';
2
- import '../../chunk-ZPWHCABL.js';
2
+ import '../../chunk-PX6F3LHL.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
package/dist/datavis.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var chunkCGQDCCTT_cjs = require('./chunk-CGQDCCTT.cjs');
3
+ var chunkPN2PIE2L_cjs = require('./chunk-PN2PIE2L.cjs');
4
4
  var chunkRI56YPED_cjs = require('./chunk-RI56YPED.cjs');
5
5
  var chunkYVL3XATO_cjs = require('./chunk-YVL3XATO.cjs');
6
6
  var chunkIINZWUGK_cjs = require('./chunk-IINZWUGK.cjs');
7
7
  var chunkS5RVSXDV_cjs = require('./chunk-S5RVSXDV.cjs');
8
- require('./chunk-WX2O47TS.cjs');
8
+ require('./chunk-EUAMEVVI.cjs');
9
9
  var React = require('react');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
 
@@ -87,7 +87,7 @@ function OrdersGroupPresets({
87
87
  presets = DEFAULT_GROUP_PRESETS,
88
88
  className
89
89
  }) {
90
- const view = React__namespace.useContext(chunkCGQDCCTT_cjs.cl);
90
+ const view = React__namespace.useContext(chunkPN2PIE2L_cjs.ul);
91
91
  const [active, setActive] = React__namespace.useState("none");
92
92
  const apply = (preset) => {
93
93
  if (!view) return;
@@ -185,10 +185,10 @@ function OrdersGridInner({
185
185
  "data-slot": "orders-grid",
186
186
  "data-testid": dataTestId,
187
187
  className: chunkS5RVSXDV_cjs.cn("flex flex-col gap-2", className),
188
- children: /* @__PURE__ */ jsxRuntime.jsxs(chunkCGQDCCTT_cjs.fl, { type: "http", url, children: [
188
+ children: /* @__PURE__ */ jsxRuntime.jsxs(chunkPN2PIE2L_cjs.ml, { type: "http", url, children: [
189
189
  /* @__PURE__ */ jsxRuntime.jsx(OrdersGroupPresets, {}),
190
190
  /* @__PURE__ */ jsxRuntime.jsx(
191
- chunkCGQDCCTT_cjs.ml,
191
+ chunkPN2PIE2L_cjs.gl,
192
192
  {
193
193
  title,
194
194
  height,
@@ -272,23 +272,23 @@ EncounterOrdersGrid.displayName = "EncounterOrdersGrid";
272
272
 
273
273
  Object.defineProperty(exports, "DataVisNitroContext", {
274
274
  enumerable: true,
275
- get: function () { return chunkCGQDCCTT_cjs.cl; }
275
+ get: function () { return chunkPN2PIE2L_cjs.ul; }
276
276
  });
277
277
  Object.defineProperty(exports, "DataVisNitroGraph", {
278
278
  enumerable: true,
279
- get: function () { return chunkCGQDCCTT_cjs.gl; }
279
+ get: function () { return chunkPN2PIE2L_cjs.vl; }
280
280
  });
281
281
  Object.defineProperty(exports, "DataVisNitroGrid", {
282
282
  enumerable: true,
283
- get: function () { return chunkCGQDCCTT_cjs.ml; }
283
+ get: function () { return chunkPN2PIE2L_cjs.gl; }
284
284
  });
285
285
  Object.defineProperty(exports, "DataVisNitroLanguageSelector", {
286
286
  enumerable: true,
287
- get: function () { return chunkCGQDCCTT_cjs.vl; }
287
+ get: function () { return chunkPN2PIE2L_cjs.bl; }
288
288
  });
289
289
  Object.defineProperty(exports, "DataVisNitroSource", {
290
290
  enumerable: true,
291
- get: function () { return chunkCGQDCCTT_cjs.fl; }
291
+ get: function () { return chunkPN2PIE2L_cjs.ml; }
292
292
  });
293
293
  exports.ChartOrdersGrid = ChartOrdersGrid;
294
294
  exports.EncounterOrdersGrid = EncounterOrdersGrid;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/HealthSurveillance/ordersGridShared.tsx","../src/components/HealthSurveillance/OrdersGrid.tsx"],"names":["React","jsx","Fragment","Badge","cl","jsxs","cn","Button","React2","fl","ml","buildChartOrderRows","buildEncounterOrderRows"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BO,IAAM,aAAA,GAIP;AAAA,EACJ,EAAE,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,MAAM,QAAA,EAAS;AAAA,EACpD,EAAE,KAAA,EAAO,OAAA,EAAS,MAAA,EAAQ,OAAA,EAAS,MAAM,QAAA,EAAS;AAAA,EAClD,EAAE,KAAA,EAAO,QAAA,EAAU,MAAA,EAAQ,QAAA,EAAU,MAAM,QAAA,EAAS;AAAA,EACpD,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,MAAM,QAAA,EAAS;AAAA,EAChD,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,MAAM,MAAA,EAAO;AAAA,EAC9C,EAAE,KAAA,EAAO,SAAA,EAAW,MAAA,EAAQ,KAAA,EAAO,MAAM,MAAA,EAAO;AAAA,EAChD,EAAE,KAAA,EAAO,UAAA,EAAY,MAAA,EAAQ,UAAA,EAAY,MAAM,QAAA,EAAS;AAAA,EACxD,EAAE,KAAA,EAAO,eAAA,EAAiB,MAAA,EAAQ,aAAA,EAAe,MAAM,QAAA,EAAS;AAAA,EAChE,EAAE,KAAA,EAAO,aAAA,EAAe,MAAA,EAAQ,WAAA,EAAa,MAAM,QAAA,EAAS;AAAA,EAC5D,EAAE,KAAA,EAAO,WAAA,EAAa,MAAA,EAAQ,YAAA,EAAc,MAAM,QAAA;AACpD,CAAA;AAGO,IAAM,uBAAuB,aAAA,CAAc,MAAA;AAAA,EAChD,CAAC,CAAA,KAAM,CAAA,CAAE,KAAA,KAAU;AACrB,CAAA,CAAE,GAAA,CAAI,CAAC,CAAA,MAAO,EAAE,KAAA,EAAO,CAAA,CAAE,KAAA,EAAO,WAAA,EAAa,CAAA,CAAE,MAAA,EAAQ,IAAA,EAAM,CAAA,CAAE,MAAK,CAAE,CAAA;AAO/D,SAAS,gBAAgB,IAAA,EAA0B;AACxD,EAAA,MAAM,GAAA,GAAYA,yBAAQ,MAAM;AAC9B,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,QAAA,EAAU,aAAA,CAAc,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,IAAA,EAAK,MAAO,EAAE,KAAA,EAAO,IAAA,EAAK,CAAE,CAAA;AAAA,MAClE,IAAA,EAAM;AAAA,KACR;AACA,IAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,CAAC,KAAK,SAAA,CAAU,OAAO,CAAC,CAAA,EAAG;AAAA,MAC/C,IAAA,EAAM;AAAA,KACP,CAAA;AACD,IAAA,OAAO,GAAA,CAAI,gBAAgB,IAAI,CAAA;AAAA,EACjC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAMA,gBAAA,CAAA,SAAA,CAAU,MAAM,MAAM,GAAA,CAAI,gBAAgB,GAAG,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAC3D,EAAA,OAAO,GAAA;AACT;AAMA,IAAM,cAAA,GAGF;AAAA,EACF,SAAA,EAAW,EAAE,KAAA,EAAO,WAAA,EAAa,SAAS,SAAA,EAAU;AAAA,EACpD,OAAA,EAAS,EAAE,KAAA,EAAO,SAAA,EAAW,SAAS,WAAA,EAAY;AAAA,EAClD,SAAA,EAAW,EAAE,KAAA,EAAO,WAAA,EAAa,SAAS,SAAA,EAAU;AAAA,EACpD,OAAA,EAAS,EAAE,KAAA,EAAO,SAAA,EAAW,SAAS,SAAA;AACxC,CAAA;AAEO,SAAS,gBAAA,CAAiB,EAAE,MAAA,EAAO,EAA+B;AACvE,EAAA,MAAM,IAAA,GAAO,eAAe,MAAM,CAAA;AAClC,EAAA,IAAI,CAAC,IAAA,EAAM,uBAAOC,cAAA,CAAAC,mBAAA,EAAA,EAAG,QAAA,EAAA,MAAA,EAAO,CAAA;AAC5B,EAAA,sCAAQC,uBAAA,EAAA,EAAM,OAAA,EAAS,IAAA,CAAK,OAAA,EAAU,eAAK,KAAA,EAAM,CAAA;AACnD;AAGO,SAAS,eAAA,CACd,KAAA,EACA,IAAA,EACA,MAAA,EACiB;AACjB,EAAA,IAAI,MAAA,CAAO,KAAA,KAAU,QAAA,IAAY,OAAO,UAAU,QAAA,EAAU;AAC1D,IAAA,uBAAOF,cAAA,CAAC,gBAAA,EAAA,EAAiB,MAAA,EAAQ,KAAA,EAAyB,CAAA;AAAA,EAC5D;AACA,EAAA,OAAO,KAAA;AACT;AAaO,IAAM,qBAAA,GAAuC;AAAA,EAClD,EAAE,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,MAAA,EAAO;AAAA,EAC7B,EAAE,GAAA,EAAK,QAAA,EAAU,KAAA,EAAO,WAAA,EAAa,OAAO,QAAA,EAAS;AAAA,EACrD,EAAE,GAAA,EAAK,UAAA,EAAY,KAAA,EAAO,aAAA,EAAe,OAAO,UAAA,EAAW;AAAA,EAC3D,EAAE,GAAA,EAAK,aAAA,EAAe,KAAA,EAAO,gBAAA,EAAkB,OAAO,eAAA,EAAgB;AAAA,EACtE,EAAE,GAAA,EAAK,QAAA,EAAU,KAAA,EAAO,WAAA,EAAa,OAAO,QAAA,EAAS;AAAA,EACrD,EAAE,GAAA,EAAK,MAAA,EAAQ,KAAA,EAAO,SAAA,EAAW,OAAO,MAAA;AAC1C,CAAA;AAMO,SAAS,kBAAA,CAAmB;AAAA,EACjC,OAAA,GAAU,qBAAA;AAAA,EACV;AACF,CAAA,EAGG;AACD,EAAA,MAAM,IAAA,GAAaD,4BAAWI,oBAAmB,CAAA;AACjD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAUJ,0BAAS,MAAM,CAAA;AAEjD,EAAA,MAAM,KAAA,GAAQ,CAAC,MAAA,KAAwB;AACrC,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,SAAA,CAAU,OAAO,GAAG,CAAA;AACpB,IAAA,IAAI,OAAO,KAAA,EAAO;AAChB,MAAA,IAAA,CAAK,QAAA,CAAS,EAAE,UAAA,EAAY,CAAC,EAAE,OAAO,MAAA,CAAO,KAAA,EAAO,CAAA,EAAG,CAAA;AAAA,IACzD,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,UAAA,EAAW;AAAA,IAClB;AAAA,EACF,CAAA;AAEA,EAAA,uBACEK,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,sBAAA;AAAA,MACV,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAW,iBAAA;AAAA,MACX,SAAA,EAAWC,oBAAA,CAAG,qCAAA,EAAuC,SAAS,CAAA;AAAA,MAE9D,QAAA,EAAA;AAAA,wBAAAL,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,2CAAA,EAA4C,QAAA,EAAA,QAAA,EAAM,CAAA;AAAA,QACjE,OAAA,CAAQ,GAAA,CAAI,CAAC,CAAA,qBACZA,cAAA;AAAA,UAACM,wBAAA;AAAA,UAAA;AAAA,YAEC,IAAA,EAAK,QAAA;AAAA,YACL,IAAA,EAAK,IAAA;AAAA,YACL,OAAA,EAAS,MAAA,KAAW,CAAA,CAAE,GAAA,GAAM,SAAA,GAAY,SAAA;AAAA,YACxC,cAAA,EAAc,WAAW,CAAA,CAAE,GAAA;AAAA,YAC3B,OAAA,EAAS,MAAM,KAAA,CAAM,CAAC,CAAA;AAAA,YAErB,QAAA,EAAA,CAAA,CAAE;AAAA,WAAA;AAAA,UAPE,CAAA,CAAE;AAAA,SASV;AAAA;AAAA;AAAA,GACH;AAEJ;ACrGA,SAAS,eAAA,CAAgB;AAAA,EACvB,IAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA,GAAS,OAAA;AAAA,EACT,WAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe;AACjB,CAAA,EASG;AACD,EAAA,MAAM,GAAA,GAAM,gBAAgB,IAAI,CAAA;AAOhC,EAAA,MAAM,UAAA,GAAmBC,yBAAQ,MAAM;AACrC,IAAA,MAAM,WAAA,GAAc,CAAC,GAAA,KAAmB,GAAA;AACxC,IAAA,MAAM,MAGA,EAAC;AACP,IAAA,IAAI,WAAA,EAAa;AACf,MAAA,GAAA,CAAI,IAAA,CAAK;AAAA,QACP,KAAA,EAAO,OAAA;AAAA,QACP,QAAA,EAAU,CAAC,EAAE,IAAA,EAAM,KAAI,KAAM;AAC3B,UAAA,MAAM,QAAA,GAAW,WAAA,CAAY,GAAG,CAAA,CAAE,MAAA;AAAA,YAChC,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW;AAAA,WACtB;AACA,UAAA,IAAI,QAAA,CAAS,MAAA,GAAS,CAAA,EAAG,WAAA,CAAY,QAAQ,CAAA;AAAA,QAC/C;AAAA,OACD,CAAA;AAAA,IACH;AACA,IAAA,IAAI,aAAA,EAAe;AACjB,MAAA,GAAA,CAAI,IAAA,CAAK;AAAA,QACP,KAAA,EAAO,oBAAA;AAAA,QACP,QAAA,EAAU,CAAC,EAAE,IAAA,EAAM,KAAI,KAAM;AAC3B,UAAA,MAAM,QAAA,GAAW,WAAA,CAAY,GAAG,CAAA,CAAE,MAAA;AAAA,YAChC,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,SAAA,IAAa,CAAC,CAAA,CAAE;AAAA,WACtC;AACA,UAAA,IAAI,QAAA,CAAS,MAAA,GAAS,CAAA,EAAG,aAAA,CAAc,QAAQ,CAAA;AAAA,QACjD;AAAA,OACD,CAAA;AAAA,IACH;AACA,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,GAAA,CAAI,IAAA,CAAK;AAAA,QACP,KAAA,EAAO,QAAA;AAAA,QACP,QAAA,EAAU,CAAC,EAAE,IAAA,EAAM,KAAI,KAAM;AAC3B,UAAA,MAAM,QAAA,GAAW,WAAA,CAAY,GAAG,CAAA,CAAE,MAAA;AAAA,YAChC,CAAC,CAAA,KAAM,CAAA,CAAE,MAAA,KAAW,SAAA,IAAa,CAAC,CAAA,CAAE;AAAA,WACtC;AACA,UAAA,IAAI,QAAA,CAAS,MAAA,GAAS,CAAA,EAAG,QAAA,CAAS,QAAQ,CAAA;AAAA,QAC5C;AAAA,OACD,CAAA;AAAA,IACH;AACA,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,CAAC,WAAA,EAAa,aAAA,EAAe,QAAQ,CAAC,CAAA;AAEzC,EAAA,MAAM,OAAA,GAAgBA,gBAAA,CAAA,OAAA;AAAA,IACpB,MACE,aAAA,CAAc,GAAA,CAAI,CAAC,EAAE,KAAA,EAAO,QAAO,MAAO;AAAA,MACxC,KAAA;AAAA,MACA;AAAA,KACF,CAAE,CAAA;AAAA,IACJ;AAAC,GACH;AAEA,EAAA,uBACEP,cAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,aAAA;AAAA,MACV,aAAA,EAAa,UAAA;AAAA,MACb,SAAA,EAAWK,oBAAA,CAAG,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAE9C,QAAA,kBAAAD,eAAAA,CAACI,oBAAA,EAAA,EAAmB,IAAA,EAAK,QAAO,GAAA,EAC9B,QAAA,EAAA;AAAA,wBAAAR,eAAC,kBAAA,EAAA,EAAmB,CAAA;AAAA,wBACpBA,cAAAA;AAAA,UAACS,oBAAA;AAAA,UAAA;AAAA,YACC,KAAA;AAAA,YACA,MAAA;AAAA,YACA,OAAA;AAAA,YACA,aAAA,EAAe,oBAAA;AAAA,YACf,UAAA;AAAA,YAIA,QAAA,EACE;AAAA,cACE,YAAA,EAAc,UAAA;AAAA,cACd,aAAA,EAAe;AAAA,aACjB;AAAA,YAIF,UAAA,EAAY;AAAA;AAAA;AACd,OAAA,EACF;AAAA;AAAA,GACF;AAEJ;AAYO,SAAS,eAAA,CAAgB;AAAA,EAC9B,OAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA,GAAQ,qBAAA;AAAA,EACR,GAAG;AACL,CAAA,EAAyB;AACvB,EAAA,MAAM,IAAA,GAAaF,yBAAQ,MAAM;AAC/B,IAAA,MAAM,IAAA,GAAyB;AAAA,MAC7B,YAAA;AAAA,MACA,GAAA;AAAA,MACA,aAAA;AAAA,MACA,WAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,OAAOG,qCAAA,CAAoB,OAAA,EAAS,QAAA,EAAU,IAAI,CAAA;AAAA,EACpD,CAAA,EAAG;AAAA,IACD,OAAA;AAAA,IACA,QAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBAAOV,cAAAA,CAAC,eAAA,EAAA,EAAgB,IAAA,EAAY,KAAA,EAAe,GAAG,IAAA,EAAM,CAAA;AAC9D;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAYvB,SAAS,mBAAA,CAAoB;AAAA,EAClC,OAAA;AAAA,EACA,QAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,WAAA;AAAA,EACA,GAAA;AAAA,EACA,KAAA,GAAQ,kBAAA;AAAA,EACR,GAAG;AACL,CAAA,EAA6B;AAC3B,EAAA,MAAM,IAAA,GAAaO,yBAAQ,MAAM;AAC/B,IAAA,MAAM,IAAA,GAAyB;AAAA,MAC7B,YAAA;AAAA,MACA,GAAA;AAAA,MACA,aAAA;AAAA,MACA;AAAA,KACF;AACA,IAAA,OAAOI,yCAAA,CAAwB,OAAA,EAAS,QAAA,EAAU,WAAA,EAAa,IAAI,CAAA;AAAA,EACrE,CAAA,EAAG;AAAA,IACD,OAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,GAAA;AAAA,IACA,aAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,uBAAOX,cAAAA,CAAC,eAAA,EAAA,EAAgB,IAAA,EAAY,KAAA,EAAe,GAAG,IAAA,EAAM,CAAA;AAC9D;AAEA,mBAAA,CAAoB,WAAA,GAAc,qBAAA","file":"datavis.cjs","sourcesContent":["'use client';\n\n/**\n * Shared internals for the NITRO-backed orders grids\n * (ChartOrdersGrid / EncounterOrdersGrid).\n *\n * - {@link useOrderRowsUrl} — feeds in-memory {@link OrderRow}s to\n * `DataVisNitroSource` through a short-lived object-URL carrying the\n * `{ typeInfo, data }` payload the engine expects (its `local` source type\n * is not implemented yet; same pattern as SuperChat's NITRO table plugin).\n * - {@link OrderStatusBadge} / {@link formatOrderCell} — status chips in grid\n * cells.\n * - {@link OrdersGroupPresets} — one-click \"group by\" chips driving\n * `view.setGroup()` through {@link DataVisNitroContext}.\n *\n * Row selection and mass operations are native NITRO features:\n * `features.rowSelection: 'checkbox'` + the `operations` palette.\n */\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { Badge } from '../Badge/Badge';\nimport { Button } from '../Button';\nimport { DataVisNitroContext } from '../DataVisNITRO';\nimport type { OrderRow, OrderRowStatus } from './orderRows';\n\n// =============================================================================\n// Column + typeInfo metadata\n// =============================================================================\n\n/** Grid columns, in display order, with control-panel display names. */\nexport const ORDER_COLUMNS: {\n field: keyof OrderRow;\n header: string;\n type: 'string' | 'date';\n}[] = [\n { field: 'status', header: 'Status', type: 'string' },\n { field: 'order', header: 'Order', type: 'string' },\n { field: 'reason', header: 'Reason', type: 'string' },\n { field: 'kind', header: 'Kind', type: 'string' },\n { field: 'date', header: 'Date', type: 'date' },\n { field: 'dueDate', header: 'Due', type: 'date' },\n { field: 'provider', header: 'Provider', type: 'string' },\n { field: 'requisitionId', header: 'Requisition', type: 'string' },\n { field: 'encounterId', header: 'Encounter', type: 'string' },\n { field: 'blockedBy', header: 'Blocked by', type: 'string' },\n];\n\n/** Fields offered in the grid's Group/Filter control panel. */\nexport const ORDER_CONTROL_FIELDS = ORDER_COLUMNS.filter(\n (c) => c.field !== 'blockedBy'\n).map((c) => ({ field: c.field, displayName: c.header, type: c.type }));\n\n// =============================================================================\n// useOrderRowsUrl\n// =============================================================================\n\n/** Serialize rows into an object-URL `{ typeInfo, data }` source. */\nexport function useOrderRowsUrl(rows: OrderRow[]): string {\n const url = React.useMemo(() => {\n const payload = {\n typeInfo: ORDER_COLUMNS.map(({ field, type }) => ({ field, type })),\n data: rows,\n };\n const blob = new Blob([JSON.stringify(payload)], {\n type: 'application/json',\n });\n return URL.createObjectURL(blob);\n }, [rows]);\n\n React.useEffect(() => () => URL.revokeObjectURL(url), [url]);\n return url;\n}\n\n// =============================================================================\n// Status badge\n// =============================================================================\n\nconst STATUS_VARIANT: Record<\n OrderRowStatus,\n { label: string; variant: 'success' | 'secondary' | 'warning' | 'default' }\n> = {\n completed: { label: 'Completed', variant: 'success' },\n pending: { label: 'Pending', variant: 'secondary' },\n available: { label: 'Available', variant: 'warning' },\n blocked: { label: 'Blocked', variant: 'default' },\n};\n\nexport function OrderStatusBadge({ status }: { status: OrderRowStatus }) {\n const meta = STATUS_VARIANT[status];\n if (!meta) return <>{status}</>;\n return <Badge variant={meta.variant}>{meta.label}</Badge>;\n}\n\n/** `formatCell` for DataVisNitroGrid — renders the status column as a badge. */\nexport function formatOrderCell(\n value: unknown,\n _row: unknown,\n column: { field: string }\n): React.ReactNode {\n if (column.field === 'status' && typeof value === 'string') {\n return <OrderStatusBadge status={value as OrderRowStatus} />;\n }\n return value as React.ReactNode;\n}\n\n// =============================================================================\n// Group presets\n// =============================================================================\n\nexport interface GroupPreset {\n key: string;\n label: string;\n /** Field to group by; undefined = clear grouping */\n field?: keyof OrderRow;\n}\n\nexport const DEFAULT_GROUP_PRESETS: GroupPreset[] = [\n { key: 'none', label: 'Flat' },\n { key: 'reason', label: 'By reason', field: 'reason' },\n { key: 'provider', label: 'By provider', field: 'provider' },\n { key: 'requisition', label: 'By requisition', field: 'requisitionId' },\n { key: 'status', label: 'By status', field: 'status' },\n { key: 'date', label: 'By date', field: 'date' },\n];\n\n/**\n * One-click group-by chips. Must render inside `DataVisNitroSource` — drives\n * the shared view via `setGroup({ fieldNames: [{ field }] })`.\n */\nexport function OrdersGroupPresets({\n presets = DEFAULT_GROUP_PRESETS,\n className,\n}: {\n presets?: GroupPreset[];\n className?: string;\n}) {\n const view = React.useContext(DataVisNitroContext);\n const [active, setActive] = React.useState('none');\n\n const apply = (preset: GroupPreset) => {\n if (!view) return;\n setActive(preset.key);\n if (preset.field) {\n view.setGroup({ fieldNames: [{ field: preset.field }] });\n } else {\n view.clearGroup();\n }\n };\n\n return (\n <div\n data-slot=\"orders-group-presets\"\n role=\"group\"\n aria-label=\"Group orders by\"\n className={cn('flex flex-wrap items-center gap-1.5', className)}\n >\n <span className=\"text-muted-foreground text-xs font-medium\">Group:</span>\n {presets.map((p) => (\n <Button\n key={p.key}\n type=\"button\"\n size=\"sm\"\n variant={active === p.key ? 'primary' : 'outline'}\n aria-pressed={active === p.key}\n onClick={() => apply(p)}\n >\n {p.label}\n </Button>\n ))}\n </div>\n );\n}\n","'use client';\n\n/**\n * NITRO-backed orders grids.\n *\n * - {@link ChartOrdersGrid} — chart-wide: every pending and past **encounter\n * order** across all encounters, plus the actionable due-list orders. Group\n * and filter by reason (program), provider, requisition, status, kind, and\n * date — via the one-click presets or the grid's own control panel.\n * - {@link EncounterOrdersGrid} — the current encounter's orders (its pending\n * unprocessed items are the mass-operation targets) plus the due-list\n * orders available to place this visit.\n *\n * Encounter orders get bundled into **requisitions** — documents routing a\n * batch of orders to a provider/referral. The grids only emit callbacks\n * (`onOrderRows`, `onRequisition`, `onCancel`); document generation is the\n * host application's job.\n *\n * Rendering is `@mieweb/ui/datavis` (`DataVisNitroSource` + `DataVisNitroGrid`)\n * fed through an object-URL source — see ordersGridShared.tsx.\n */\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { DataVisNitroGrid, DataVisNitroSource } from '../DataVisNITRO';\nimport {\n buildChartOrderRows,\n buildEncounterOrderRows,\n type OrderRow,\n type OrderRowsOptions,\n} from './orderRows';\nimport {\n ORDER_COLUMNS,\n ORDER_CONTROL_FIELDS,\n formatOrderCell,\n useOrderRowsUrl,\n OrdersGroupPresets,\n} from './ordersGridShared';\nimport type { PatientHistory } from './history';\nimport type { ProgramsMap } from './evaluate';\n\n// =============================================================================\n// Shared props + inner grid\n// =============================================================================\n\ninterface OrdersGridBaseProps {\n history: PatientHistory;\n /** Program metadata — programs.json contents (`programs` field) */\n programs: ProgramsMap;\n /** Occupational enrollments; quality measures apply to everyone in-gate */\n enrolledKeys?: string[];\n /** Display labels for program keys (falls back to the key) */\n programLabels?: Record<string, string>;\n /** Display labels for order keys (falls back to history labels, then key) */\n orderLabels?: Record<string, string>;\n /** Evaluation clock (defaults to today; inject for deterministic stories) */\n now?: Date;\n /** Place the selected available orders */\n onOrderRows?: (rows: OrderRow[]) => void;\n /** Bundle selected pending unprocessed orders into a requisition */\n onRequisition?: (rows: OrderRow[]) => void;\n /** Cancel selected pending unprocessed orders */\n onCancel?: (rows: OrderRow[]) => void;\n /** Grid height (CSS value) */\n height?: string;\n /** Grid title */\n title?: string;\n className?: string;\n 'data-testid'?: string;\n}\n\nfunction OrdersGridInner({\n rows,\n title,\n height = '480px',\n onOrderRows,\n onRequisition,\n onCancel,\n className,\n 'data-testid': dataTestId,\n}: {\n rows: OrderRow[];\n title: string;\n height?: string;\n onOrderRows?: (rows: OrderRow[]) => void;\n onRequisition?: (rows: OrderRow[]) => void;\n onCancel?: (rows: OrderRow[]) => void;\n className?: string;\n 'data-testid'?: string;\n}) {\n const url = useOrderRowsUrl(rows);\n\n // Mass operations over the native checkbox selection. The palette hands\n // each callback the selected rows' data (OrderRow-shaped after the\n // object-URL round trip); each operation applies only to eligible rows:\n // 'available' can be ordered, pending unprocessed (no requisition yet)\n // can be bundled into a requisition or cancelled.\n const operations = React.useMemo(() => {\n const asOrderRows = (sel: unknown[]) => sel as OrderRow[];\n const ops: {\n label: string;\n callback: (ctx: { rows: unknown[] }) => void;\n }[] = [];\n if (onOrderRows) {\n ops.push({\n label: 'Order',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'available'\n );\n if (eligible.length > 0) onOrderRows(eligible);\n },\n });\n }\n if (onRequisition) {\n ops.push({\n label: 'Create requisition',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'pending' && !r.requisitionId\n );\n if (eligible.length > 0) onRequisition(eligible);\n },\n });\n }\n if (onCancel) {\n ops.push({\n label: 'Cancel',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'pending' && !r.requisitionId\n );\n if (eligible.length > 0) onCancel(eligible);\n },\n });\n }\n return ops;\n }, [onOrderRows, onRequisition, onCancel]);\n\n const columns = React.useMemo(\n () =>\n ORDER_COLUMNS.map(({ field, header }) => ({\n field: field as string,\n header,\n })),\n []\n );\n\n return (\n <div\n data-slot=\"orders-grid\"\n data-testid={dataTestId}\n className={cn('flex flex-col gap-2', className)}\n >\n <DataVisNitroSource type=\"http\" url={url}>\n <OrdersGroupPresets />\n <DataVisNitroGrid\n title={title}\n height={height}\n columns={columns}\n controlFields={ORDER_CONTROL_FIELDS}\n operations={operations}\n // 'checkbox' selection ships in @mieweb/datavis > 1.1.0 (native\n // leading checkbox column + tri-state select-all header); the\n // published typings still say `boolean`, hence the cast.\n features={\n {\n rowSelection: 'checkbox',\n stickyHeaders: true,\n } as unknown as React.ComponentProps<\n typeof DataVisNitroGrid\n >['features']\n }\n formatCell={formatOrderCell}\n />\n </DataVisNitroSource>\n </div>\n );\n}\n\n// =============================================================================\n// ChartOrdersGrid\n// =============================================================================\n\nexport interface ChartOrdersGridProps extends OrdersGridBaseProps {\n /** Include not-yet-placed due-list orders as available/blocked rows */\n includeDue?: boolean;\n}\n\n/** Chart-wide order history across all encounters. */\nexport function ChartOrdersGrid({\n history,\n programs,\n enrolledKeys,\n programLabels,\n orderLabels,\n now,\n includeDue,\n title = 'Orders — chart',\n ...rest\n}: ChartOrdersGridProps) {\n const rows = React.useMemo(() => {\n const opts: OrderRowsOptions = {\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n includeDue,\n };\n return buildChartOrderRows(history, programs, opts);\n }, [\n history,\n programs,\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n includeDue,\n ]);\n\n return <OrdersGridInner rows={rows} title={title} {...rest} />;\n}\n\nChartOrdersGrid.displayName = 'ChartOrdersGrid';\n\n// =============================================================================\n// EncounterOrdersGrid\n// =============================================================================\n\nexport interface EncounterOrdersGridProps extends OrdersGridBaseProps {\n /** The current encounter (visit) ID */\n encounterId: string;\n}\n\n/** The current encounter's orders + due-list orders placeable this visit. */\nexport function EncounterOrdersGrid({\n history,\n programs,\n encounterId,\n enrolledKeys,\n programLabels,\n orderLabels,\n now,\n title = 'Encounter orders',\n ...rest\n}: EncounterOrdersGridProps) {\n const rows = React.useMemo(() => {\n const opts: OrderRowsOptions = {\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n };\n return buildEncounterOrderRows(history, programs, encounterId, opts);\n }, [\n history,\n programs,\n encounterId,\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n ]);\n\n return <OrdersGridInner rows={rows} title={title} {...rest} />;\n}\n\nEncounterOrdersGrid.displayName = 'EncounterOrdersGrid';\n"]}
1
+ {"version":3,"sources":["../src/components/HealthSurveillance/ordersGridShared.tsx","../src/components/HealthSurveillance/OrdersGrid.tsx"],"names":["React","jsx","Fragment","Badge","ul","jsxs","cn","Button","React2","ml","gl","buildChartOrderRows","buildEncounterOrderRows"],"mappings":"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","file":"datavis.cjs","sourcesContent":["'use client';\n\n/**\n * Shared internals for the NITRO-backed orders grids\n * (ChartOrdersGrid / EncounterOrdersGrid).\n *\n * - {@link useOrderRowsUrl} — feeds in-memory {@link OrderRow}s to\n * `DataVisNitroSource` through a short-lived object-URL carrying the\n * `{ typeInfo, data }` payload the engine expects (its `local` source type\n * is not implemented yet; same pattern as SuperChat's NITRO table plugin).\n * - {@link OrderStatusBadge} / {@link formatOrderCell} — status chips in grid\n * cells.\n * - {@link OrdersGroupPresets} — one-click \"group by\" chips driving\n * `view.setGroup()` through {@link DataVisNitroContext}.\n *\n * Row selection and mass operations are native NITRO features:\n * `features.rowSelection: 'checkbox'` + the `operations` palette.\n */\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { Badge } from '../Badge/Badge';\nimport { Button } from '../Button';\nimport { DataVisNitroContext } from '../DataVisNITRO';\nimport type { OrderRow, OrderRowStatus } from './orderRows';\n\n// =============================================================================\n// Column + typeInfo metadata\n// =============================================================================\n\n/** Grid columns, in display order, with control-panel display names. */\nexport const ORDER_COLUMNS: {\n field: keyof OrderRow;\n header: string;\n type: 'string' | 'date';\n}[] = [\n { field: 'status', header: 'Status', type: 'string' },\n { field: 'order', header: 'Order', type: 'string' },\n { field: 'reason', header: 'Reason', type: 'string' },\n { field: 'kind', header: 'Kind', type: 'string' },\n { field: 'date', header: 'Date', type: 'date' },\n { field: 'dueDate', header: 'Due', type: 'date' },\n { field: 'provider', header: 'Provider', type: 'string' },\n { field: 'requisitionId', header: 'Requisition', type: 'string' },\n { field: 'encounterId', header: 'Encounter', type: 'string' },\n { field: 'blockedBy', header: 'Blocked by', type: 'string' },\n];\n\n/** Fields offered in the grid's Group/Filter control panel. */\nexport const ORDER_CONTROL_FIELDS = ORDER_COLUMNS.filter(\n (c) => c.field !== 'blockedBy'\n).map((c) => ({ field: c.field, displayName: c.header, type: c.type }));\n\n// =============================================================================\n// useOrderRowsUrl\n// =============================================================================\n\n/** Serialize rows into an object-URL `{ typeInfo, data }` source. */\nexport function useOrderRowsUrl(rows: OrderRow[]): string {\n const url = React.useMemo(() => {\n const payload = {\n typeInfo: ORDER_COLUMNS.map(({ field, type }) => ({ field, type })),\n data: rows,\n };\n const blob = new Blob([JSON.stringify(payload)], {\n type: 'application/json',\n });\n return URL.createObjectURL(blob);\n }, [rows]);\n\n React.useEffect(() => () => URL.revokeObjectURL(url), [url]);\n return url;\n}\n\n// =============================================================================\n// Status badge\n// =============================================================================\n\nconst STATUS_VARIANT: Record<\n OrderRowStatus,\n { label: string; variant: 'success' | 'secondary' | 'warning' | 'default' }\n> = {\n completed: { label: 'Completed', variant: 'success' },\n pending: { label: 'Pending', variant: 'secondary' },\n available: { label: 'Available', variant: 'warning' },\n blocked: { label: 'Blocked', variant: 'default' },\n};\n\nexport function OrderStatusBadge({ status }: { status: OrderRowStatus }) {\n const meta = STATUS_VARIANT[status];\n if (!meta) return <>{status}</>;\n return <Badge variant={meta.variant}>{meta.label}</Badge>;\n}\n\n/** `formatCell` for DataVisNitroGrid — renders the status column as a badge. */\nexport function formatOrderCell(\n value: unknown,\n _row: unknown,\n column: { field: string }\n): React.ReactNode {\n if (column.field === 'status' && typeof value === 'string') {\n return <OrderStatusBadge status={value as OrderRowStatus} />;\n }\n return value as React.ReactNode;\n}\n\n// =============================================================================\n// Group presets\n// =============================================================================\n\nexport interface GroupPreset {\n key: string;\n label: string;\n /** Field to group by; undefined = clear grouping */\n field?: keyof OrderRow;\n}\n\nexport const DEFAULT_GROUP_PRESETS: GroupPreset[] = [\n { key: 'none', label: 'Flat' },\n { key: 'reason', label: 'By reason', field: 'reason' },\n { key: 'provider', label: 'By provider', field: 'provider' },\n { key: 'requisition', label: 'By requisition', field: 'requisitionId' },\n { key: 'status', label: 'By status', field: 'status' },\n { key: 'date', label: 'By date', field: 'date' },\n];\n\n/**\n * One-click group-by chips. Must render inside `DataVisNitroSource` — drives\n * the shared view via `setGroup({ fieldNames: [{ field }] })`.\n */\nexport function OrdersGroupPresets({\n presets = DEFAULT_GROUP_PRESETS,\n className,\n}: {\n presets?: GroupPreset[];\n className?: string;\n}) {\n const view = React.useContext(DataVisNitroContext);\n const [active, setActive] = React.useState('none');\n\n const apply = (preset: GroupPreset) => {\n if (!view) return;\n setActive(preset.key);\n if (preset.field) {\n view.setGroup({ fieldNames: [{ field: preset.field }] });\n } else {\n view.clearGroup();\n }\n };\n\n return (\n <div\n data-slot=\"orders-group-presets\"\n role=\"group\"\n aria-label=\"Group orders by\"\n className={cn('flex flex-wrap items-center gap-1.5', className)}\n >\n <span className=\"text-muted-foreground text-xs font-medium\">Group:</span>\n {presets.map((p) => (\n <Button\n key={p.key}\n type=\"button\"\n size=\"sm\"\n variant={active === p.key ? 'primary' : 'outline'}\n aria-pressed={active === p.key}\n onClick={() => apply(p)}\n >\n {p.label}\n </Button>\n ))}\n </div>\n );\n}\n","'use client';\n\n/**\n * NITRO-backed orders grids.\n *\n * - {@link ChartOrdersGrid} — chart-wide: every pending and past **encounter\n * order** across all encounters, plus the actionable due-list orders. Group\n * and filter by reason (program), provider, requisition, status, kind, and\n * date — via the one-click presets or the grid's own control panel.\n * - {@link EncounterOrdersGrid} — the current encounter's orders (its pending\n * unprocessed items are the mass-operation targets) plus the due-list\n * orders available to place this visit.\n *\n * Encounter orders get bundled into **requisitions** — documents routing a\n * batch of orders to a provider/referral. The grids only emit callbacks\n * (`onOrderRows`, `onRequisition`, `onCancel`); document generation is the\n * host application's job.\n *\n * Rendering is `@mieweb/ui/datavis` (`DataVisNitroSource` + `DataVisNitroGrid`)\n * fed through an object-URL source — see ordersGridShared.tsx.\n */\n\nimport * as React from 'react';\nimport { cn } from '../../utils/cn';\nimport { DataVisNitroGrid, DataVisNitroSource } from '../DataVisNITRO';\nimport {\n buildChartOrderRows,\n buildEncounterOrderRows,\n type OrderRow,\n type OrderRowsOptions,\n} from './orderRows';\nimport {\n ORDER_COLUMNS,\n ORDER_CONTROL_FIELDS,\n formatOrderCell,\n useOrderRowsUrl,\n OrdersGroupPresets,\n} from './ordersGridShared';\nimport type { PatientHistory } from './history';\nimport type { ProgramsMap } from './evaluate';\n\n// =============================================================================\n// Shared props + inner grid\n// =============================================================================\n\ninterface OrdersGridBaseProps {\n history: PatientHistory;\n /** Program metadata — programs.json contents (`programs` field) */\n programs: ProgramsMap;\n /** Occupational enrollments; quality measures apply to everyone in-gate */\n enrolledKeys?: string[];\n /** Display labels for program keys (falls back to the key) */\n programLabels?: Record<string, string>;\n /** Display labels for order keys (falls back to history labels, then key) */\n orderLabels?: Record<string, string>;\n /** Evaluation clock (defaults to today; inject for deterministic stories) */\n now?: Date;\n /** Place the selected available orders */\n onOrderRows?: (rows: OrderRow[]) => void;\n /** Bundle selected pending unprocessed orders into a requisition */\n onRequisition?: (rows: OrderRow[]) => void;\n /** Cancel selected pending unprocessed orders */\n onCancel?: (rows: OrderRow[]) => void;\n /** Grid height (CSS value) */\n height?: string;\n /** Grid title */\n title?: string;\n className?: string;\n 'data-testid'?: string;\n}\n\nfunction OrdersGridInner({\n rows,\n title,\n height = '480px',\n onOrderRows,\n onRequisition,\n onCancel,\n className,\n 'data-testid': dataTestId,\n}: {\n rows: OrderRow[];\n title: string;\n height?: string;\n onOrderRows?: (rows: OrderRow[]) => void;\n onRequisition?: (rows: OrderRow[]) => void;\n onCancel?: (rows: OrderRow[]) => void;\n className?: string;\n 'data-testid'?: string;\n}) {\n const url = useOrderRowsUrl(rows);\n\n // Mass operations over the native checkbox selection. The palette hands\n // each callback the selected rows' data (OrderRow-shaped after the\n // object-URL round trip); each operation applies only to eligible rows:\n // 'available' can be ordered, pending unprocessed (no requisition yet)\n // can be bundled into a requisition or cancelled.\n const operations = React.useMemo(() => {\n const asOrderRows = (sel: unknown[]) => sel as OrderRow[];\n const ops: {\n label: string;\n callback: (ctx: { rows: unknown[] }) => void;\n }[] = [];\n if (onOrderRows) {\n ops.push({\n label: 'Order',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'available'\n );\n if (eligible.length > 0) onOrderRows(eligible);\n },\n });\n }\n if (onRequisition) {\n ops.push({\n label: 'Create requisition',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'pending' && !r.requisitionId\n );\n if (eligible.length > 0) onRequisition(eligible);\n },\n });\n }\n if (onCancel) {\n ops.push({\n label: 'Cancel',\n callback: ({ rows: sel }) => {\n const eligible = asOrderRows(sel).filter(\n (r) => r.status === 'pending' && !r.requisitionId\n );\n if (eligible.length > 0) onCancel(eligible);\n },\n });\n }\n return ops;\n }, [onOrderRows, onRequisition, onCancel]);\n\n const columns = React.useMemo(\n () =>\n ORDER_COLUMNS.map(({ field, header }) => ({\n field: field as string,\n header,\n })),\n []\n );\n\n return (\n <div\n data-slot=\"orders-grid\"\n data-testid={dataTestId}\n className={cn('flex flex-col gap-2', className)}\n >\n <DataVisNitroSource type=\"http\" url={url}>\n <OrdersGroupPresets />\n <DataVisNitroGrid\n title={title}\n height={height}\n columns={columns}\n controlFields={ORDER_CONTROL_FIELDS}\n operations={operations}\n // 'checkbox' selection ships in @mieweb/datavis > 1.1.0 (native\n // leading checkbox column + tri-state select-all header); the\n // published typings still say `boolean`, hence the cast.\n features={\n {\n rowSelection: 'checkbox',\n stickyHeaders: true,\n } as unknown as React.ComponentProps<\n typeof DataVisNitroGrid\n >['features']\n }\n formatCell={formatOrderCell}\n />\n </DataVisNitroSource>\n </div>\n );\n}\n\n// =============================================================================\n// ChartOrdersGrid\n// =============================================================================\n\nexport interface ChartOrdersGridProps extends OrdersGridBaseProps {\n /** Include not-yet-placed due-list orders as available/blocked rows */\n includeDue?: boolean;\n}\n\n/** Chart-wide order history across all encounters. */\nexport function ChartOrdersGrid({\n history,\n programs,\n enrolledKeys,\n programLabels,\n orderLabels,\n now,\n includeDue,\n title = 'Orders — chart',\n ...rest\n}: ChartOrdersGridProps) {\n const rows = React.useMemo(() => {\n const opts: OrderRowsOptions = {\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n includeDue,\n };\n return buildChartOrderRows(history, programs, opts);\n }, [\n history,\n programs,\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n includeDue,\n ]);\n\n return <OrdersGridInner rows={rows} title={title} {...rest} />;\n}\n\nChartOrdersGrid.displayName = 'ChartOrdersGrid';\n\n// =============================================================================\n// EncounterOrdersGrid\n// =============================================================================\n\nexport interface EncounterOrdersGridProps extends OrdersGridBaseProps {\n /** The current encounter (visit) ID */\n encounterId: string;\n}\n\n/** The current encounter's orders + due-list orders placeable this visit. */\nexport function EncounterOrdersGrid({\n history,\n programs,\n encounterId,\n enrolledKeys,\n programLabels,\n orderLabels,\n now,\n title = 'Encounter orders',\n ...rest\n}: EncounterOrdersGridProps) {\n const rows = React.useMemo(() => {\n const opts: OrderRowsOptions = {\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n };\n return buildEncounterOrderRows(history, programs, encounterId, opts);\n }, [\n history,\n programs,\n encounterId,\n enrolledKeys,\n now,\n programLabels,\n orderLabels,\n ]);\n\n return <OrdersGridInner rows={rows} title={title} {...rest} />;\n}\n\nEncounterOrdersGrid.displayName = 'EncounterOrdersGrid';\n"]}