@health-samurai/react-components 0.0.0-alpha.2 → 0.0.0-alpha.21

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 (571) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -1
  3. package/dist/bundle.css +2349 -754
  4. package/dist/src/components/button-dropdown.d.ts +10 -0
  5. package/dist/src/components/button-dropdown.d.ts.map +1 -0
  6. package/dist/src/components/button-dropdown.js +70 -0
  7. package/dist/src/components/button-dropdown.js.map +1 -0
  8. package/dist/src/components/button-dropdown.stories.js +48 -0
  9. package/dist/src/components/button-dropdown.stories.js.map +1 -0
  10. package/dist/src/components/code-editor/fhir-autocomplete.d.ts +70 -0
  11. package/dist/src/components/code-editor/fhir-autocomplete.d.ts.map +1 -0
  12. package/dist/src/components/code-editor/fhir-autocomplete.js +1850 -0
  13. package/dist/src/components/code-editor/fhir-autocomplete.js.map +1 -0
  14. package/dist/src/components/code-editor/fhir-autocomplete.test.js +1099 -0
  15. package/dist/src/components/code-editor/fhir-autocomplete.test.js.map +1 -0
  16. package/dist/src/components/code-editor/http/grammar/http.d.ts +3 -0
  17. package/dist/src/components/code-editor/http/grammar/http.d.ts.map +1 -0
  18. package/dist/src/components/code-editor/http/grammar/http.grammar +74 -0
  19. package/dist/src/components/code-editor/http/grammar/http.js +38 -0
  20. package/dist/src/components/code-editor/http/grammar/http.js.map +1 -0
  21. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts +2 -0
  22. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts.map +1 -0
  23. package/dist/src/components/code-editor/http/grammar/http.terms.js +4 -0
  24. package/dist/src/components/code-editor/http/grammar/http.terms.js.map +1 -0
  25. package/dist/src/components/code-editor/http/grammar/http.test.js +80 -0
  26. package/dist/src/components/code-editor/http/grammar/http.test.js.map +1 -0
  27. package/dist/src/components/code-editor/http/index.d.ts +12 -0
  28. package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
  29. package/dist/src/components/code-editor/http/index.js +486 -0
  30. package/dist/src/components/code-editor/http/index.js.map +1 -0
  31. package/dist/src/components/code-editor/index.d.ts +39 -1
  32. package/dist/src/components/code-editor/index.d.ts.map +1 -1
  33. package/dist/src/components/code-editor/index.js +1792 -45
  34. package/dist/src/components/code-editor/index.js.map +1 -1
  35. package/dist/src/components/code-editor/json-ast.d.ts +46 -0
  36. package/dist/src/components/code-editor/json-ast.d.ts.map +1 -0
  37. package/dist/src/components/code-editor/json-ast.js +465 -0
  38. package/dist/src/components/code-editor/json-ast.js.map +1 -0
  39. package/dist/src/components/code-editor/json-ast.test.js +206 -0
  40. package/dist/src/components/code-editor/json-ast.test.js.map +1 -0
  41. package/dist/src/components/code-editor/sql-completion.d.ts +22 -0
  42. package/dist/src/components/code-editor/sql-completion.d.ts.map +1 -0
  43. package/dist/src/components/code-editor/sql-completion.js +897 -0
  44. package/dist/src/components/code-editor/sql-completion.js.map +1 -0
  45. package/dist/src/components/code-editor.stories.js +280 -3
  46. package/dist/src/components/code-editor.stories.js.map +1 -1
  47. package/dist/src/components/copy-icon.d.ts +5 -1
  48. package/dist/src/components/copy-icon.d.ts.map +1 -1
  49. package/dist/src/components/copy-icon.js +41 -3
  50. package/dist/src/components/copy-icon.js.map +1 -1
  51. package/dist/src/components/data-table.d.ts +9 -0
  52. package/dist/src/components/data-table.d.ts.map +1 -0
  53. package/dist/src/components/data-table.js +66 -0
  54. package/dist/src/components/data-table.js.map +1 -0
  55. package/dist/src/components/data-table.stories.js +240 -0
  56. package/dist/src/components/data-table.stories.js.map +1 -0
  57. package/dist/src/components/date-picker-input.d.ts +10 -0
  58. package/dist/src/components/date-picker-input.d.ts.map +1 -0
  59. package/dist/src/components/date-picker-input.js +90 -0
  60. package/dist/src/components/date-picker-input.js.map +1 -0
  61. package/dist/src/components/date-picker-input.stories.js +76 -0
  62. package/dist/src/components/date-picker-input.stories.js.map +1 -0
  63. package/dist/src/components/fhir-structure-view.d.ts +34 -0
  64. package/dist/src/components/fhir-structure-view.d.ts.map +1 -0
  65. package/dist/src/components/fhir-structure-view.js +230 -0
  66. package/dist/src/components/fhir-structure-view.js.map +1 -0
  67. package/dist/src/components/fhir-structure-view.stories.js +447 -0
  68. package/dist/src/components/fhir-structure-view.stories.js.map +1 -0
  69. package/dist/src/components/icon-button.d.ts +12 -0
  70. package/dist/src/components/icon-button.d.ts.map +1 -0
  71. package/dist/src/components/icon-button.js +41 -0
  72. package/dist/src/components/icon-button.js.map +1 -0
  73. package/dist/src/components/icon-button.stories.js +157 -0
  74. package/dist/src/components/icon-button.stories.js.map +1 -0
  75. package/dist/src/components/operation-outcome-view.d.ts +27 -0
  76. package/dist/src/components/operation-outcome-view.d.ts.map +1 -0
  77. package/dist/src/components/operation-outcome-view.js +198 -0
  78. package/dist/src/components/operation-outcome-view.js.map +1 -0
  79. package/dist/src/components/operation-outcome-view.stories.js +207 -0
  80. package/dist/src/components/operation-outcome-view.stories.js.map +1 -0
  81. package/dist/src/components/request-line-editor.d.ts +13 -35
  82. package/dist/src/components/request-line-editor.d.ts.map +1 -1
  83. package/dist/src/components/request-line-editor.js +73 -49
  84. package/dist/src/components/request-line-editor.js.map +1 -1
  85. package/dist/src/components/request-line-editor.stories.js +17 -53
  86. package/dist/src/components/request-line-editor.stories.js.map +1 -1
  87. package/dist/src/components/sandbox.d.ts +13 -0
  88. package/dist/src/components/sandbox.d.ts.map +1 -0
  89. package/dist/src/components/sandbox.js +107 -0
  90. package/dist/src/components/sandbox.js.map +1 -0
  91. package/dist/src/components/sandbox.stories.js +126 -0
  92. package/dist/src/components/sandbox.stories.js.map +1 -0
  93. package/dist/src/components/segment-control.d.ts +13 -0
  94. package/dist/src/components/segment-control.d.ts.map +1 -0
  95. package/dist/src/components/segment-control.js +33 -0
  96. package/dist/src/components/segment-control.js.map +1 -0
  97. package/dist/src/components/segment-control.stories.js +68 -0
  98. package/dist/src/components/segment-control.stories.js.map +1 -0
  99. package/dist/src/components/split-button.d.ts +12 -0
  100. package/dist/src/components/split-button.d.ts.map +1 -0
  101. package/dist/src/components/split-button.js +33 -0
  102. package/dist/src/components/split-button.js.map +1 -0
  103. package/dist/src/components/split-button.stories.js +84 -0
  104. package/dist/src/components/split-button.stories.js.map +1 -0
  105. package/dist/src/components/tag.d.ts +16 -0
  106. package/dist/src/components/tag.d.ts.map +1 -0
  107. package/dist/src/components/tag.js +198 -0
  108. package/dist/src/components/tag.js.map +1 -0
  109. package/dist/src/components/tag.stories.js +459 -0
  110. package/dist/src/components/tag.stories.js.map +1 -0
  111. package/dist/src/components/tile.d.ts +15 -0
  112. package/dist/src/components/tile.d.ts.map +1 -0
  113. package/dist/src/components/tile.js +76 -0
  114. package/dist/src/components/tile.js.map +1 -0
  115. package/dist/src/components/tile.stories.js +167 -0
  116. package/dist/src/components/tile.stories.js.map +1 -0
  117. package/dist/src/components/toolbar.d.ts +18 -0
  118. package/dist/src/components/toolbar.d.ts.map +1 -0
  119. package/dist/src/components/toolbar.js +61 -0
  120. package/dist/src/components/toolbar.js.map +1 -0
  121. package/dist/src/components/toolbar.stories.js +69 -0
  122. package/dist/src/components/toolbar.stories.js.map +1 -0
  123. package/dist/src/components/tree-view.d.ts +47 -0
  124. package/dist/src/components/tree-view.d.ts.map +1 -0
  125. package/dist/src/components/tree-view.js +122 -0
  126. package/dist/src/components/tree-view.js.map +1 -0
  127. package/dist/src/components/tree-view.stories.js +283 -0
  128. package/dist/src/components/tree-view.stories.js.map +1 -0
  129. package/dist/src/icons.d.ts +11 -0
  130. package/dist/src/icons.d.ts.map +1 -0
  131. package/dist/src/icons.js +328 -0
  132. package/dist/src/icons.js.map +1 -0
  133. package/dist/src/index.css +358 -74
  134. package/dist/src/index.d.ts +17 -1
  135. package/dist/src/index.d.ts.map +1 -1
  136. package/dist/src/index.js +17 -1
  137. package/dist/src/index.js.map +1 -1
  138. package/dist/src/shadcn/components/ui/accordion.d.ts +2 -2
  139. package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
  140. package/dist/src/shadcn/components/ui/accordion.js +35 -9
  141. package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
  142. package/dist/src/shadcn/components/ui/alert-dialog.d.ts +12 -4
  143. package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
  144. package/dist/src/shadcn/components/ui/alert-dialog.js +128 -18
  145. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
  146. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +269 -19
  147. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
  148. package/dist/src/shadcn/components/ui/alert.d.ts +29 -6
  149. package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
  150. package/dist/src/shadcn/components/ui/alert.js +50 -19
  151. package/dist/src/shadcn/components/ui/alert.js.map +1 -1
  152. package/dist/src/shadcn/components/ui/alert.stories.js +140 -36
  153. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
  154. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
  155. package/dist/src/shadcn/components/ui/aspect-ratio.js +1 -0
  156. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
  157. package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -1
  158. package/dist/src/shadcn/components/ui/avatar.js +4 -3
  159. package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
  160. package/dist/src/shadcn/components/ui/avatar.stories.js +68 -2
  161. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
  162. package/dist/src/shadcn/components/ui/badge.d.ts +1 -1
  163. package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -1
  164. package/dist/src/shadcn/components/ui/badge.js +16 -5
  165. package/dist/src/shadcn/components/ui/badge.js.map +1 -1
  166. package/dist/src/shadcn/components/ui/breadcrumb.d.ts +5 -2
  167. package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -1
  168. package/dist/src/shadcn/components/ui/breadcrumb.js +98 -13
  169. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
  170. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +205 -45
  171. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
  172. package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
  173. package/dist/src/shadcn/components/ui/button.js +65 -11
  174. package/dist/src/shadcn/components/ui/button.js.map +1 -1
  175. package/dist/src/shadcn/components/ui/button.stories.js +99 -17
  176. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
  177. package/dist/src/shadcn/components/ui/calendar.d.ts +1 -1
  178. package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
  179. package/dist/src/shadcn/components/ui/calendar.js +1 -0
  180. package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
  181. package/dist/src/shadcn/components/ui/card.d.ts +5 -1
  182. package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
  183. package/dist/src/shadcn/components/ui/card.js +28 -7
  184. package/dist/src/shadcn/components/ui/card.js.map +1 -1
  185. package/dist/src/shadcn/components/ui/card.stories.js +23 -2
  186. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
  187. package/dist/src/shadcn/components/ui/carousel.d.ts +1 -1
  188. package/dist/src/shadcn/components/ui/carousel.d.ts.map +1 -1
  189. package/dist/src/shadcn/components/ui/carousel.js +1 -0
  190. package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
  191. package/dist/src/shadcn/components/ui/chart.d.ts +5 -5
  192. package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
  193. package/dist/src/shadcn/components/ui/chart.js +4 -3
  194. package/dist/src/shadcn/components/ui/chart.js.map +1 -1
  195. package/dist/src/shadcn/components/ui/checkbox.d.ts +5 -1
  196. package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
  197. package/dist/src/shadcn/components/ui/checkbox.js +46 -6
  198. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
  199. package/dist/src/shadcn/components/ui/checkbox.stories.js +156 -46
  200. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
  201. package/dist/src/shadcn/components/ui/combobox.d.ts +29 -0
  202. package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
  203. package/dist/src/shadcn/components/ui/combobox.js +226 -0
  204. package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
  205. package/dist/src/shadcn/components/ui/combobox.stories.js +167 -0
  206. package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
  207. package/dist/src/shadcn/components/ui/command.d.ts +4 -2
  208. package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
  209. package/dist/src/shadcn/components/ui/command.js +75 -13
  210. package/dist/src/shadcn/components/ui/command.js.map +1 -1
  211. package/dist/src/shadcn/components/ui/command.stories.js +277 -57
  212. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
  213. package/dist/src/shadcn/components/ui/context-menu.d.ts +7 -3
  214. package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
  215. package/dist/src/shadcn/components/ui/context-menu.js +120 -13
  216. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
  217. package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -1
  218. package/dist/src/shadcn/components/ui/dialog.js +35 -7
  219. package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
  220. package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
  221. package/dist/src/shadcn/components/ui/drawer.js +27 -5
  222. package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
  223. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts +7 -3
  224. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
  225. package/dist/src/shadcn/components/ui/dropdown-menu.js +122 -14
  226. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
  227. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +22 -5
  228. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
  229. package/dist/src/shadcn/components/ui/form.d.ts +2 -2
  230. package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
  231. package/dist/src/shadcn/components/ui/form.js +17 -8
  232. package/dist/src/shadcn/components/ui/form.js.map +1 -1
  233. package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
  234. package/dist/src/shadcn/components/ui/hover-card.js +2 -1
  235. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
  236. package/dist/src/shadcn/components/ui/input-otp.d.ts.map +1 -1
  237. package/dist/src/shadcn/components/ui/input-otp.js +1 -0
  238. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
  239. package/dist/src/shadcn/components/ui/input.d.ts +3 -1
  240. package/dist/src/shadcn/components/ui/input.d.ts.map +1 -1
  241. package/dist/src/shadcn/components/ui/input.js +126 -17
  242. package/dist/src/shadcn/components/ui/input.js.map +1 -1
  243. package/dist/src/shadcn/components/ui/input.stories.js +218 -29
  244. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
  245. package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
  246. package/dist/src/shadcn/components/ui/label.js +9 -1
  247. package/dist/src/shadcn/components/ui/label.js.map +1 -1
  248. package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -1
  249. package/dist/src/shadcn/components/ui/menubar.js +35 -13
  250. package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
  251. package/dist/src/shadcn/components/ui/pagination.d.ts +9 -2
  252. package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -1
  253. package/dist/src/shadcn/components/ui/pagination.js +41 -24
  254. package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
  255. package/dist/src/shadcn/components/ui/pagination.stories.js +44 -37
  256. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
  257. package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
  258. package/dist/src/shadcn/components/ui/popover.js +13 -1
  259. package/dist/src/shadcn/components/ui/popover.js.map +1 -1
  260. package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -1
  261. package/dist/src/shadcn/components/ui/progress.js +6 -2
  262. package/dist/src/shadcn/components/ui/progress.js.map +1 -1
  263. package/dist/src/shadcn/components/ui/radio-button-group.d.ts +21 -0
  264. package/dist/src/shadcn/components/ui/radio-button-group.d.ts.map +1 -0
  265. package/dist/src/shadcn/components/ui/radio-button-group.js +148 -0
  266. package/dist/src/shadcn/components/ui/radio-button-group.js.map +1 -0
  267. package/dist/src/shadcn/components/ui/radio-button-group.stories.js +283 -0
  268. package/dist/src/shadcn/components/ui/radio-button-group.stories.js.map +1 -0
  269. package/dist/src/shadcn/components/ui/radio-group.d.ts +5 -1
  270. package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
  271. package/dist/src/shadcn/components/ui/radio-group.js +40 -7
  272. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
  273. package/dist/src/shadcn/components/ui/radio-group.stories.js +107 -32
  274. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
  275. package/dist/src/shadcn/components/ui/resizable.d.ts.map +1 -1
  276. package/dist/src/shadcn/components/ui/resizable.js +2 -1
  277. package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
  278. package/dist/src/shadcn/components/ui/resizable.stories.js +2 -2
  279. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
  280. package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
  281. package/dist/src/shadcn/components/ui/scroll-area.js +10 -3
  282. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
  283. package/dist/src/shadcn/components/ui/select.d.ts +1 -2
  284. package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
  285. package/dist/src/shadcn/components/ui/select.js +49 -19
  286. package/dist/src/shadcn/components/ui/select.js.map +1 -1
  287. package/dist/src/shadcn/components/ui/select.stories.js +193 -70
  288. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
  289. package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
  290. package/dist/src/shadcn/components/ui/separator.js +8 -1
  291. package/dist/src/shadcn/components/ui/separator.js.map +1 -1
  292. package/dist/src/shadcn/components/ui/sheet.js +1 -1
  293. package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
  294. package/dist/src/shadcn/components/ui/sidebar.d.ts +4 -4
  295. package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
  296. package/dist/src/shadcn/components/ui/sidebar.js +21 -6
  297. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
  298. package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -1
  299. package/dist/src/shadcn/components/ui/skeleton.js +3 -1
  300. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
  301. package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
  302. package/dist/src/shadcn/components/ui/slider.js +35 -4
  303. package/dist/src/shadcn/components/ui/slider.js.map +1 -1
  304. package/dist/src/shadcn/components/ui/sonner.d.ts +24 -2
  305. package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
  306. package/dist/src/shadcn/components/ui/sonner.js +127 -9
  307. package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
  308. package/dist/src/shadcn/components/ui/sonner.stories.js +251 -12
  309. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
  310. package/dist/src/shadcn/components/ui/switch.d.ts +7 -1
  311. package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
  312. package/dist/src/shadcn/components/ui/switch.js +55 -3
  313. package/dist/src/shadcn/components/ui/switch.js.map +1 -1
  314. package/dist/src/shadcn/components/ui/switch.stories.js +84 -9
  315. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
  316. package/dist/src/shadcn/components/ui/table.d.ts +23 -6
  317. package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
  318. package/dist/src/shadcn/components/ui/table.js +65 -20
  319. package/dist/src/shadcn/components/ui/table.js.map +1 -1
  320. package/dist/src/shadcn/components/ui/table.stories.js +217 -97
  321. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
  322. package/dist/src/shadcn/components/ui/tabs.d.ts +30 -5
  323. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
  324. package/dist/src/shadcn/components/ui/tabs.js +470 -23
  325. package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
  326. package/dist/src/shadcn/components/ui/tabs.stories.js +405 -181
  327. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
  328. package/dist/src/shadcn/components/ui/textarea.d.ts +8 -1
  329. package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
  330. package/dist/src/shadcn/components/ui/textarea.js +30 -2
  331. package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
  332. package/dist/src/shadcn/components/ui/textarea.stories.js +85 -4
  333. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
  334. package/dist/src/shadcn/components/ui/toggle-group.d.ts +3 -3
  335. package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
  336. package/dist/src/shadcn/components/ui/toggle-group.js +14 -12
  337. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
  338. package/dist/src/shadcn/components/ui/toggle.d.ts +3 -4
  339. package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
  340. package/dist/src/shadcn/components/ui/toggle.js +44 -16
  341. package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
  342. package/dist/src/shadcn/components/ui/toggle.stories.js +130 -7
  343. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
  344. package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
  345. package/dist/src/shadcn/components/ui/tooltip.js +12 -1
  346. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
  347. package/dist/src/shadcn/components/ui/tree.d.ts +29 -0
  348. package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
  349. package/dist/src/shadcn/components/ui/tree.js +135 -0
  350. package/dist/src/shadcn/components/ui/tree.js.map +1 -0
  351. package/dist/src/shadcn/shadcn.css +4 -4
  352. package/dist/src/tokens.css +50 -20
  353. package/dist/src/typography.css +78 -15
  354. package/package.json +84 -64
  355. package/src/components/button-dropdown.stories.tsx +41 -0
  356. package/src/components/button-dropdown.tsx +97 -0
  357. package/src/components/code-editor/fhir-autocomplete.test.ts +993 -0
  358. package/src/components/code-editor/fhir-autocomplete.ts +2322 -0
  359. package/src/components/code-editor/http/grammar/http.grammar +74 -0
  360. package/src/components/code-editor/http/grammar/http.terms.ts +9 -0
  361. package/src/components/code-editor/http/grammar/http.test.ts +110 -0
  362. package/src/components/code-editor/http/grammar/http.ts +21 -0
  363. package/src/components/code-editor/http/index.ts +424 -0
  364. package/src/components/code-editor/index.tsx +1944 -42
  365. package/src/components/code-editor/json-ast.test.ts +230 -0
  366. package/src/components/code-editor/json-ast.ts +590 -0
  367. package/src/components/code-editor/sql-completion.ts +1112 -0
  368. package/src/components/code-editor.stories.tsx +325 -2
  369. package/src/components/copy-icon.tsx +57 -3
  370. package/src/components/data-table.stories.tsx +91 -0
  371. package/src/components/data-table.tsx +126 -0
  372. package/src/components/date-picker-input.stories.tsx +79 -0
  373. package/src/components/date-picker-input.tsx +104 -0
  374. package/src/components/fhir-structure-view.stories.tsx +439 -0
  375. package/src/components/fhir-structure-view.tsx +233 -0
  376. package/src/components/icon-button.stories.tsx +86 -0
  377. package/src/components/icon-button.tsx +57 -0
  378. package/src/components/operation-outcome-view.stories.tsx +163 -0
  379. package/src/components/operation-outcome-view.tsx +254 -0
  380. package/src/components/request-line-editor.stories.tsx +17 -27
  381. package/src/components/request-line-editor.tsx +103 -61
  382. package/src/components/sandbox.stories.tsx +131 -0
  383. package/src/components/sandbox.tsx +191 -0
  384. package/src/components/segment-control.stories.tsx +61 -0
  385. package/src/components/segment-control.tsx +83 -0
  386. package/src/components/split-button.stories.tsx +68 -0
  387. package/src/components/split-button.tsx +74 -0
  388. package/src/components/tag.stories.tsx +371 -0
  389. package/src/components/tag.tsx +236 -0
  390. package/src/components/tile.stories.tsx +149 -0
  391. package/src/components/tile.tsx +105 -0
  392. package/src/components/toolbar.stories.tsx +64 -0
  393. package/src/components/toolbar.tsx +98 -0
  394. package/src/components/tree-view.stories.tsx +265 -0
  395. package/src/components/tree-view.tsx +246 -0
  396. package/src/icons.tsx +331 -0
  397. package/src/index.css +358 -74
  398. package/src/index.tsx +17 -3
  399. package/src/shadcn/components/ui/accordion.tsx +91 -10
  400. package/src/shadcn/components/ui/alert-dialog.stories.tsx +209 -15
  401. package/src/shadcn/components/ui/alert-dialog.tsx +236 -26
  402. package/src/shadcn/components/ui/alert.stories.tsx +120 -21
  403. package/src/shadcn/components/ui/alert.tsx +125 -28
  404. package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
  405. package/src/shadcn/components/ui/avatar.stories.tsx +74 -1
  406. package/src/shadcn/components/ui/avatar.tsx +22 -6
  407. package/src/shadcn/components/ui/badge.tsx +67 -18
  408. package/src/shadcn/components/ui/breadcrumb.stories.tsx +161 -41
  409. package/src/shadcn/components/ui/breadcrumb.tsx +172 -23
  410. package/src/shadcn/components/ui/button.stories.tsx +106 -18
  411. package/src/shadcn/components/ui/button.tsx +151 -55
  412. package/src/shadcn/components/ui/calendar.tsx +1 -0
  413. package/src/shadcn/components/ui/card.stories.tsx +17 -3
  414. package/src/shadcn/components/ui/card.tsx +89 -14
  415. package/src/shadcn/components/ui/carousel.tsx +1 -0
  416. package/src/shadcn/components/ui/chart.tsx +9 -5
  417. package/src/shadcn/components/ui/checkbox.stories.tsx +78 -30
  418. package/src/shadcn/components/ui/checkbox.tsx +91 -8
  419. package/src/shadcn/components/ui/combobox.stories.tsx +148 -0
  420. package/src/shadcn/components/ui/combobox.tsx +324 -0
  421. package/src/shadcn/components/ui/command.stories.tsx +184 -39
  422. package/src/shadcn/components/ui/command.tsx +218 -37
  423. package/src/shadcn/components/ui/context-menu.tsx +333 -40
  424. package/src/shadcn/components/ui/dialog.tsx +101 -13
  425. package/src/shadcn/components/ui/drawer.tsx +94 -18
  426. package/src/shadcn/components/ui/dropdown-menu.stories.tsx +18 -2
  427. package/src/shadcn/components/ui/dropdown-menu.tsx +334 -68
  428. package/src/shadcn/components/ui/form.tsx +22 -11
  429. package/src/shadcn/components/ui/hover-card.tsx +2 -1
  430. package/src/shadcn/components/ui/input-otp.tsx +1 -0
  431. package/src/shadcn/components/ui/input.stories.tsx +235 -27
  432. package/src/shadcn/components/ui/input.tsx +400 -29
  433. package/src/shadcn/components/ui/label.tsx +22 -4
  434. package/src/shadcn/components/ui/menubar.tsx +188 -43
  435. package/src/shadcn/components/ui/pagination.stories.tsx +8 -2
  436. package/src/shadcn/components/ui/pagination.tsx +65 -8
  437. package/src/shadcn/components/ui/popover.tsx +36 -4
  438. package/src/shadcn/components/ui/progress.tsx +21 -5
  439. package/src/shadcn/components/ui/radio-button-group.stories.tsx +247 -0
  440. package/src/shadcn/components/ui/radio-button-group.tsx +188 -0
  441. package/src/shadcn/components/ui/radio-group.stories.tsx +70 -14
  442. package/src/shadcn/components/ui/radio-group.tsx +85 -9
  443. package/src/shadcn/components/ui/resizable.stories.tsx +2 -2
  444. package/src/shadcn/components/ui/resizable.tsx +2 -1
  445. package/src/shadcn/components/ui/scroll-area.tsx +34 -5
  446. package/src/shadcn/components/ui/select.stories.tsx +108 -32
  447. package/src/shadcn/components/ui/select.tsx +182 -36
  448. package/src/shadcn/components/ui/separator.tsx +16 -5
  449. package/src/shadcn/components/ui/sheet.tsx +1 -1
  450. package/src/shadcn/components/ui/sidebar.tsx +69 -26
  451. package/src/shadcn/components/ui/skeleton.tsx +4 -1
  452. package/src/shadcn/components/ui/slider.tsx +83 -11
  453. package/src/shadcn/components/ui/sonner.stories.tsx +238 -17
  454. package/src/shadcn/components/ui/sonner.tsx +254 -11
  455. package/src/shadcn/components/ui/switch.stories.tsx +52 -5
  456. package/src/shadcn/components/ui/switch.tsx +92 -7
  457. package/src/shadcn/components/ui/table.stories.tsx +252 -72
  458. package/src/shadcn/components/ui/table.tsx +204 -26
  459. package/src/shadcn/components/ui/tabs.stories.tsx +235 -123
  460. package/src/shadcn/components/ui/tabs.tsx +694 -36
  461. package/src/shadcn/components/ui/textarea.stories.tsx +94 -2
  462. package/src/shadcn/components/ui/textarea.tsx +70 -5
  463. package/src/shadcn/components/ui/toggle-group.tsx +35 -13
  464. package/src/shadcn/components/ui/toggle.stories.tsx +92 -5
  465. package/src/shadcn/components/ui/toggle.tsx +96 -23
  466. package/src/shadcn/components/ui/tooltip.tsx +34 -8
  467. package/src/shadcn/components/ui/tree.tsx +257 -0
  468. package/src/shadcn/shadcn.css +4 -4
  469. package/src/tokens.css +50 -20
  470. package/src/typography.css +78 -15
  471. package/dist/src/components/code-editor.stories.d.ts +0 -7
  472. package/dist/src/components/code-editor.stories.d.ts.map +0 -1
  473. package/dist/src/components/request-line-editor.stories.d.ts +0 -11
  474. package/dist/src/components/request-line-editor.stories.d.ts.map +0 -1
  475. package/dist/src/index.stories.d.ts +0 -14
  476. package/dist/src/index.stories.d.ts.map +0 -1
  477. package/dist/src/index.stories.js +0 -19
  478. package/dist/src/index.stories.js.map +0 -1
  479. package/dist/src/shadcn/components/ui/accordion.stories.d.ts +0 -8
  480. package/dist/src/shadcn/components/ui/accordion.stories.d.ts.map +0 -1
  481. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts +0 -8
  482. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts.map +0 -1
  483. package/dist/src/shadcn/components/ui/alert.stories.d.ts +0 -8
  484. package/dist/src/shadcn/components/ui/alert.stories.d.ts.map +0 -1
  485. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts +0 -8
  486. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts.map +0 -1
  487. package/dist/src/shadcn/components/ui/avatar.stories.d.ts +0 -8
  488. package/dist/src/shadcn/components/ui/avatar.stories.d.ts.map +0 -1
  489. package/dist/src/shadcn/components/ui/badge.stories.d.ts +0 -8
  490. package/dist/src/shadcn/components/ui/badge.stories.d.ts.map +0 -1
  491. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts +0 -8
  492. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts.map +0 -1
  493. package/dist/src/shadcn/components/ui/button.stories.d.ts +0 -23
  494. package/dist/src/shadcn/components/ui/button.stories.d.ts.map +0 -1
  495. package/dist/src/shadcn/components/ui/calendar.stories.d.ts +0 -8
  496. package/dist/src/shadcn/components/ui/calendar.stories.d.ts.map +0 -1
  497. package/dist/src/shadcn/components/ui/card.stories.d.ts +0 -8
  498. package/dist/src/shadcn/components/ui/card.stories.d.ts.map +0 -1
  499. package/dist/src/shadcn/components/ui/carousel.stories.d.ts +0 -8
  500. package/dist/src/shadcn/components/ui/carousel.stories.d.ts.map +0 -1
  501. package/dist/src/shadcn/components/ui/chart.stories.d.ts +0 -8
  502. package/dist/src/shadcn/components/ui/chart.stories.d.ts.map +0 -1
  503. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts +0 -8
  504. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +0 -1
  505. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts +0 -8
  506. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts.map +0 -1
  507. package/dist/src/shadcn/components/ui/command.stories.d.ts +0 -8
  508. package/dist/src/shadcn/components/ui/command.stories.d.ts.map +0 -1
  509. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts +0 -8
  510. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts.map +0 -1
  511. package/dist/src/shadcn/components/ui/dialog.stories.d.ts +0 -8
  512. package/dist/src/shadcn/components/ui/dialog.stories.d.ts.map +0 -1
  513. package/dist/src/shadcn/components/ui/drawer.stories.d.ts +0 -8
  514. package/dist/src/shadcn/components/ui/drawer.stories.d.ts.map +0 -1
  515. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts +0 -8
  516. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts.map +0 -1
  517. package/dist/src/shadcn/components/ui/form.stories.d.ts +0 -8
  518. package/dist/src/shadcn/components/ui/form.stories.d.ts.map +0 -1
  519. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts +0 -8
  520. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts.map +0 -1
  521. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts +0 -8
  522. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts.map +0 -1
  523. package/dist/src/shadcn/components/ui/input.stories.d.ts +0 -18
  524. package/dist/src/shadcn/components/ui/input.stories.d.ts.map +0 -1
  525. package/dist/src/shadcn/components/ui/label.stories.d.ts +0 -8
  526. package/dist/src/shadcn/components/ui/label.stories.d.ts.map +0 -1
  527. package/dist/src/shadcn/components/ui/menubar.stories.d.ts +0 -8
  528. package/dist/src/shadcn/components/ui/menubar.stories.d.ts.map +0 -1
  529. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts +0 -8
  530. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts.map +0 -1
  531. package/dist/src/shadcn/components/ui/pagination.stories.d.ts +0 -8
  532. package/dist/src/shadcn/components/ui/pagination.stories.d.ts.map +0 -1
  533. package/dist/src/shadcn/components/ui/popover.stories.d.ts +0 -8
  534. package/dist/src/shadcn/components/ui/popover.stories.d.ts.map +0 -1
  535. package/dist/src/shadcn/components/ui/progress.stories.d.ts +0 -8
  536. package/dist/src/shadcn/components/ui/progress.stories.d.ts.map +0 -1
  537. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts +0 -8
  538. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +0 -1
  539. package/dist/src/shadcn/components/ui/resizable.stories.d.ts +0 -8
  540. package/dist/src/shadcn/components/ui/resizable.stories.d.ts.map +0 -1
  541. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts +0 -8
  542. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts.map +0 -1
  543. package/dist/src/shadcn/components/ui/select.stories.d.ts +0 -11
  544. package/dist/src/shadcn/components/ui/select.stories.d.ts.map +0 -1
  545. package/dist/src/shadcn/components/ui/separator.stories.d.ts +0 -8
  546. package/dist/src/shadcn/components/ui/separator.stories.d.ts.map +0 -1
  547. package/dist/src/shadcn/components/ui/sheet.stories.d.ts +0 -8
  548. package/dist/src/shadcn/components/ui/sheet.stories.d.ts.map +0 -1
  549. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts +0 -11
  550. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts.map +0 -1
  551. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts +0 -8
  552. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts.map +0 -1
  553. package/dist/src/shadcn/components/ui/slider.stories.d.ts +0 -8
  554. package/dist/src/shadcn/components/ui/slider.stories.d.ts.map +0 -1
  555. package/dist/src/shadcn/components/ui/sonner.stories.d.ts +0 -8
  556. package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +0 -1
  557. package/dist/src/shadcn/components/ui/switch.stories.d.ts +0 -8
  558. package/dist/src/shadcn/components/ui/switch.stories.d.ts.map +0 -1
  559. package/dist/src/shadcn/components/ui/table.stories.d.ts +0 -8
  560. package/dist/src/shadcn/components/ui/table.stories.d.ts.map +0 -1
  561. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +0 -32
  562. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +0 -1
  563. package/dist/src/shadcn/components/ui/textarea.stories.d.ts +0 -8
  564. package/dist/src/shadcn/components/ui/textarea.stories.d.ts.map +0 -1
  565. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts +0 -8
  566. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts.map +0 -1
  567. package/dist/src/shadcn/components/ui/toggle.stories.d.ts +0 -8
  568. package/dist/src/shadcn/components/ui/toggle.stories.d.ts.map +0 -1
  569. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts +0 -8
  570. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts.map +0 -1
  571. package/src/index.stories.tsx +0 -21
@@ -0,0 +1,486 @@
1
+ import { foldInside, foldNodeProp, LanguageSupport, LRLanguage, syntaxTree } from "@codemirror/language";
2
+ import { RangeSetBuilder } from "@codemirror/state";
3
+ import { Decoration, EditorView, ViewPlugin } from "@codemirror/view";
4
+ import { parseMixed } from "@lezer/common";
5
+ import { styleTags, tags } from "@lezer/highlight";
6
+ import { parser } from "./grammar/http.js";
7
+ import { HttpRequestMethod } from "./grammar/http.terms.js";
8
+ function makeParser(bodyLanguages) {
9
+ return parser.configure({
10
+ props: [
11
+ styleTags({
12
+ HttpHeaderName: tags.variableName,
13
+ HttpHeaderValue: tags.attributeValue
14
+ }),
15
+ foldNodeProp.add({
16
+ HttpHeaders: foldInside
17
+ })
18
+ ],
19
+ wrap: parseMixed((node, input)=>{
20
+ if (node.name !== "HttpBody") {
21
+ return null;
22
+ }
23
+ const headers = node.node.prevSibling;
24
+ if (headers?.name !== "HttpHeaders") {
25
+ return null;
26
+ }
27
+ let contentType = null;
28
+ for(let child = headers.firstChild; child !== null; child = child.nextSibling){
29
+ const headerNameNode = child.getChild("HttpHeaderName");
30
+ if (headerNameNode === null) {
31
+ continue;
32
+ }
33
+ const headerName = input.read(headerNameNode.from, headerNameNode.to);
34
+ if (headerName.toLowerCase() !== "content-type") {
35
+ continue;
36
+ }
37
+ if (contentType !== null) {
38
+ // Disallow multiple content types
39
+ return null;
40
+ }
41
+ const headerValueNode = child.getChild("HttpHeaderValue");
42
+ if (headerValueNode === null) {
43
+ continue;
44
+ }
45
+ contentType = input.read(headerValueNode.from, headerValueNode.to);
46
+ }
47
+ if (contentType === null) {
48
+ return null;
49
+ }
50
+ const language = bodyLanguages(contentType);
51
+ if (language === null) {
52
+ return null;
53
+ }
54
+ return {
55
+ parser: language.parser
56
+ };
57
+ })
58
+ });
59
+ }
60
+ const methodDecorations = {
61
+ GET: Decoration.mark({
62
+ class: "cm-http-method-get"
63
+ }),
64
+ POST: Decoration.mark({
65
+ class: "cm-http-method-post"
66
+ }),
67
+ PUT: Decoration.mark({
68
+ class: "cm-http-method-put"
69
+ }),
70
+ PATCH: Decoration.mark({
71
+ class: "cm-http-method-patch"
72
+ }),
73
+ DELETE: Decoration.mark({
74
+ class: "cm-http-method-delete"
75
+ })
76
+ };
77
+ function buildMethodDecorations(view) {
78
+ const builder = new RangeSetBuilder();
79
+ const tree = syntaxTree(view.state);
80
+ tree.iterate({
81
+ enter (node) {
82
+ if (node.type.id === HttpRequestMethod) {
83
+ const text = view.state.sliceDoc(node.from, node.to).toUpperCase();
84
+ const deco = methodDecorations[text];
85
+ if (deco) {
86
+ builder.add(node.from, node.to, deco);
87
+ }
88
+ }
89
+ }
90
+ });
91
+ return builder.finish();
92
+ }
93
+ const httpMethodHighlighter = ViewPlugin.fromClass(class {
94
+ decorations;
95
+ constructor(view){
96
+ this.decorations = buildMethodDecorations(view);
97
+ }
98
+ update(update) {
99
+ if (update.docChanged || update.viewportChanged) {
100
+ this.decorations = buildMethodDecorations(update.view);
101
+ }
102
+ }
103
+ }, {
104
+ decorations: (v)=>v.decorations
105
+ });
106
+ const httpMethodTheme = EditorView.baseTheme({
107
+ ".cm-http-method-get": {
108
+ color: "var(--color-utility-green)"
109
+ },
110
+ ".cm-http-method-post": {
111
+ color: "var(--color-utility-yellow)"
112
+ },
113
+ ".cm-http-method-put": {
114
+ color: "var(--color-utility-blue)"
115
+ },
116
+ ".cm-http-method-patch": {
117
+ color: "var(--color-utility-violet)"
118
+ },
119
+ ".cm-http-method-delete": {
120
+ color: "var(--color-utility-red)"
121
+ }
122
+ });
123
+ import { HttpHeaderName, HttpHeaders, HttpHeaderValue, HttpRequestPath } from "./grammar/http.terms.js";
124
+ const COMMON_HEADERS = [
125
+ // Standard HTTP
126
+ {
127
+ label: "Accept",
128
+ type: "header",
129
+ apply: "Accept: "
130
+ },
131
+ {
132
+ label: "Accept-Encoding",
133
+ type: "header",
134
+ apply: "Accept-Encoding: "
135
+ },
136
+ {
137
+ label: "Accept-Language",
138
+ type: "header",
139
+ apply: "Accept-Language: "
140
+ },
141
+ {
142
+ label: "Authorization",
143
+ type: "header",
144
+ apply: "Authorization: "
145
+ },
146
+ {
147
+ label: "Cache-Control",
148
+ type: "header",
149
+ apply: "Cache-Control: "
150
+ },
151
+ {
152
+ label: "Content-Type",
153
+ type: "header",
154
+ apply: "Content-Type: "
155
+ },
156
+ {
157
+ label: "Cookie",
158
+ type: "header",
159
+ apply: "Cookie: "
160
+ },
161
+ {
162
+ label: "Host",
163
+ type: "header",
164
+ apply: "Host: "
165
+ },
166
+ {
167
+ label: "If-Match",
168
+ type: "header",
169
+ apply: "If-Match: "
170
+ },
171
+ {
172
+ label: "If-Modified-Since",
173
+ type: "header",
174
+ apply: "If-Modified-Since: "
175
+ },
176
+ {
177
+ label: "If-None-Match",
178
+ type: "header",
179
+ apply: "If-None-Match: "
180
+ },
181
+ {
182
+ label: "Origin",
183
+ type: "header",
184
+ apply: "Origin: "
185
+ },
186
+ {
187
+ label: "Prefer",
188
+ type: "header",
189
+ apply: "Prefer: "
190
+ },
191
+ // Aidbox-specific
192
+ {
193
+ label: "x-audit",
194
+ type: "header",
195
+ apply: "x-audit: "
196
+ },
197
+ {
198
+ label: "x-correlation-id",
199
+ type: "header",
200
+ apply: "x-correlation-id: "
201
+ },
202
+ {
203
+ label: "x-debug",
204
+ type: "header",
205
+ apply: "x-debug: "
206
+ },
207
+ {
208
+ label: "x-external-user-id",
209
+ type: "header",
210
+ apply: "x-external-user-id: "
211
+ },
212
+ {
213
+ label: "x-max-isolation-level",
214
+ type: "header",
215
+ apply: "x-max-isolation-level: "
216
+ },
217
+ {
218
+ label: "x-original-uri",
219
+ type: "header",
220
+ apply: "x-original-uri: "
221
+ },
222
+ {
223
+ label: "x-request-id",
224
+ type: "header",
225
+ apply: "x-request-id: "
226
+ },
227
+ {
228
+ label: "x-use-ro-replica",
229
+ type: "header",
230
+ apply: "x-use-ro-replica: "
231
+ },
232
+ {
233
+ label: "su",
234
+ type: "header",
235
+ apply: "su: "
236
+ },
237
+ {
238
+ label: "traceparent",
239
+ type: "header",
240
+ apply: "traceparent: "
241
+ }
242
+ ];
243
+ // Header value completions by header name
244
+ const HEADER_VALUES = {
245
+ "content-type": [
246
+ {
247
+ label: "application/json",
248
+ type: "text"
249
+ },
250
+ {
251
+ label: "application/fhir+json",
252
+ type: "text"
253
+ },
254
+ {
255
+ label: "text/yaml",
256
+ type: "text"
257
+ },
258
+ {
259
+ label: "application/ndjson",
260
+ type: "text"
261
+ },
262
+ {
263
+ label: "application/gzip",
264
+ type: "text"
265
+ },
266
+ {
267
+ label: "text/csv",
268
+ type: "text"
269
+ }
270
+ ],
271
+ accept: [
272
+ {
273
+ label: "application/json",
274
+ type: "text"
275
+ },
276
+ {
277
+ label: "application/yaml",
278
+ type: "text"
279
+ },
280
+ {
281
+ label: "text/yaml",
282
+ type: "text"
283
+ }
284
+ ],
285
+ prefer: [
286
+ {
287
+ label: "respond-async",
288
+ type: "text"
289
+ },
290
+ {
291
+ label: "return=minimal",
292
+ type: "text"
293
+ },
294
+ {
295
+ label: "return=representation",
296
+ type: "text"
297
+ },
298
+ {
299
+ label: "return=OperationOutcome",
300
+ type: "text"
301
+ }
302
+ ],
303
+ "x-debug": [
304
+ {
305
+ label: "policy",
306
+ type: "text"
307
+ }
308
+ ],
309
+ "x-max-isolation-level": [
310
+ {
311
+ label: "read-committed",
312
+ type: "text"
313
+ },
314
+ {
315
+ label: "repeatable-read",
316
+ type: "text"
317
+ },
318
+ {
319
+ label: "serializable",
320
+ type: "text"
321
+ }
322
+ ],
323
+ "cache-control": [
324
+ {
325
+ label: "no-cache",
326
+ type: "text"
327
+ },
328
+ {
329
+ label: "no-store",
330
+ type: "text"
331
+ },
332
+ {
333
+ label: "max-age=0",
334
+ type: "text"
335
+ }
336
+ ],
337
+ authorization: [
338
+ {
339
+ label: "Bearer ",
340
+ type: "text"
341
+ },
342
+ {
343
+ label: "Basic ",
344
+ type: "text"
345
+ }
346
+ ]
347
+ };
348
+ const HTTP_METHODS = [
349
+ "GET",
350
+ "POST",
351
+ "PUT",
352
+ "PATCH",
353
+ "DELETE"
354
+ ].map((method)=>({
355
+ label: method,
356
+ type: "keyword",
357
+ apply: (view, _c, from, to)=>{
358
+ const line = view.state.doc.lineAt(from);
359
+ const afterTo = line.text.slice(to - line.from);
360
+ // Skip whitespace after the method word to avoid double spaces
361
+ const wsMatch = afterTo.match(/^(\s*)/);
362
+ const actualTo = to + (wsMatch?.[1]?.length ?? 0);
363
+ const rest = line.text.slice(actualTo - line.from);
364
+ const insert = rest.startsWith("/") ? `${method} ` : `${method} /`;
365
+ view.dispatch({
366
+ changes: {
367
+ from,
368
+ to: actualTo,
369
+ insert
370
+ },
371
+ selection: {
372
+ anchor: from + insert.length
373
+ }
374
+ });
375
+ }
376
+ }));
377
+ function httpCompletionSource(context) {
378
+ const { state, pos } = context;
379
+ const tree = syntaxTree(state);
380
+ const node = tree.resolveInner(pos, -1);
381
+ const line = state.doc.lineAt(pos);
382
+ const beforeCursor = line.text.slice(0, pos - line.from);
383
+ // Request method completion — first line, typing method
384
+ if (node.type.id === HttpRequestMethod || line.number === 1 && /^\s*[a-zA-Z]*$/.test(beforeCursor)) {
385
+ const word = context.matchBefore(/[a-zA-Z]*/);
386
+ return {
387
+ from: word?.from ?? pos,
388
+ options: HTTP_METHODS,
389
+ validFor: /^[a-zA-Z]*$/i
390
+ };
391
+ }
392
+ // Header value completion — after colon
393
+ const colonIdx = beforeCursor.indexOf(":");
394
+ if (colonIdx >= 0) {
395
+ const inHeaderValue = node.type.id === HttpHeaderValue;
396
+ const parentIsHeaders = node.parent?.type.id === HttpHeaders;
397
+ if (!inHeaderValue && !parentIsHeaders && node.parent?.parent?.type.id !== HttpHeaders) return null;
398
+ const headerName = beforeCursor.slice(0, colonIdx).trim().toLowerCase();
399
+ const values = HEADER_VALUES[headerName];
400
+ if (!values) return null;
401
+ const word = context.matchBefore(/\S*/);
402
+ return {
403
+ from: word?.from ?? pos,
404
+ options: values,
405
+ validFor: /^\S*$/
406
+ };
407
+ }
408
+ // Header name completion — before colon
409
+ const inHeaderName = node.type.id === HttpHeaderName;
410
+ const inHeaders = node.type.id === HttpHeaders;
411
+ const parentIsHeaders = node.parent?.type.id === HttpHeaders;
412
+ if (!inHeaderName && !inHeaders && !parentIsHeaders) return null;
413
+ const word = context.matchBefore(/[\w-]+/);
414
+ if (!word) return null;
415
+ return {
416
+ from: word.from,
417
+ options: COMMON_HEADERS,
418
+ validFor: /^[\w-]+$/
419
+ };
420
+ }
421
+ function httpUrlCompletionSource(getUrlSuggestions) {
422
+ return async (context)=>{
423
+ const { state, pos } = context;
424
+ const tree = syntaxTree(state);
425
+ const node = tree.resolveInner(pos, -1);
426
+ if (node.type.id !== HttpRequestPath) return null;
427
+ const line = state.doc.lineAt(pos);
428
+ const lineText = line.text;
429
+ // Extract method from the beginning of the line
430
+ const methodMatch = lineText.match(/^\s*(\w+)\s+/);
431
+ if (!methodMatch?.[1]) return null;
432
+ const method = methodMatch[1].toUpperCase();
433
+ const pathStart = line.from + methodMatch[0].length;
434
+ const currentPath = state.sliceDoc(pathStart, pos);
435
+ const suggestions = await getUrlSuggestions(currentPath, method);
436
+ if (suggestions.length === 0) return null;
437
+ const options = suggestions.map((s)=>{
438
+ const c = {
439
+ label: s.label,
440
+ type: s.type === "resource-type" ? "type" : s.type === "operation" ? "function" : s.type === "search-param" ? "search-param" : "text"
441
+ };
442
+ if (s.type === "search-param") c.apply = `${s.label}=`;
443
+ else if (s.type === "path" && s.label === "fhir") c.apply = `${s.label}/`;
444
+ if (s.description) c.detail = s.description.toUpperCase();
445
+ if (s.expression) c.info = s.expression;
446
+ return c;
447
+ });
448
+ // Match from the last segment separator (/ or ? or &)
449
+ const hasQuery = currentPath.includes("?");
450
+ let from;
451
+ if (hasQuery) {
452
+ const lastSep = Math.max(currentPath.lastIndexOf("?"), currentPath.lastIndexOf("&"));
453
+ from = pathStart + lastSep + 1;
454
+ } else {
455
+ const lastSlash = currentPath.lastIndexOf("/");
456
+ from = pathStart + lastSlash + 1;
457
+ }
458
+ return {
459
+ from,
460
+ options,
461
+ validFor: /^[^\s&=]*/
462
+ };
463
+ };
464
+ }
465
+ function http(bodyLanguages, getUrlSuggestions) {
466
+ const parser = makeParser(bodyLanguages);
467
+ const language = LRLanguage.define({
468
+ parser: parser
469
+ });
470
+ const extensions = [
471
+ httpMethodHighlighter,
472
+ httpMethodTheme,
473
+ language.data.of({
474
+ autocomplete: httpCompletionSource
475
+ })
476
+ ];
477
+ if (getUrlSuggestions) {
478
+ extensions.push(language.data.of({
479
+ autocomplete: httpUrlCompletionSource(getUrlSuggestions)
480
+ }));
481
+ }
482
+ return new LanguageSupport(language, extensions);
483
+ }
484
+ export { http };
485
+
486
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/code-editor/http/index.ts"],"sourcesContent":["import {\n\tfoldInside,\n\tfoldNodeProp,\n\ttype Language,\n\tLanguageSupport,\n\tLRLanguage,\n\tsyntaxTree,\n} from \"@codemirror/language\";\nimport { RangeSetBuilder } from \"@codemirror/state\";\nimport {\n\tDecoration,\n\ttype DecorationSet,\n\tEditorView,\n\tViewPlugin,\n\ttype ViewUpdate,\n} from \"@codemirror/view\";\nimport { parseMixed } from \"@lezer/common\";\nimport { styleTags, tags } from \"@lezer/highlight\";\nimport type { LRParser } from \"@lezer/lr\";\nimport { parser } from \"./grammar/http\";\nimport { HttpRequestMethod } from \"./grammar/http.terms\";\n\nfunction makeParser(\n\tbodyLanguages: (contentType: string) => Language | null,\n): LRParser {\n\treturn parser.configure({\n\t\tprops: [\n\t\t\tstyleTags({\n\t\t\t\tHttpHeaderName: tags.variableName,\n\t\t\t\tHttpHeaderValue: tags.attributeValue,\n\t\t\t}),\n\n\t\t\tfoldNodeProp.add({\n\t\t\t\tHttpHeaders: foldInside,\n\t\t\t}),\n\t\t],\n\t\twrap: parseMixed((node, input) => {\n\t\t\tif (node.name !== \"HttpBody\") {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst headers = node.node.prevSibling;\n\t\t\tif (headers?.name !== \"HttpHeaders\") {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet contentType: string | null = null;\n\n\t\t\tfor (\n\t\t\t\tlet child = headers.firstChild;\n\t\t\t\tchild !== null;\n\t\t\t\tchild = child.nextSibling\n\t\t\t) {\n\t\t\t\tconst headerNameNode = child.getChild(\"HttpHeaderName\");\n\t\t\t\tif (headerNameNode === null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst headerName = input.read(headerNameNode.from, headerNameNode.to);\n\t\t\t\tif (headerName.toLowerCase() !== \"content-type\") {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (contentType !== null) {\n\t\t\t\t\t// Disallow multiple content types\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tconst headerValueNode = child.getChild(\"HttpHeaderValue\");\n\t\t\t\tif (headerValueNode === null) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentType = input.read(headerValueNode.from, headerValueNode.to);\n\t\t\t}\n\n\t\t\tif (contentType === null) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst language = bodyLanguages(contentType);\n\t\t\tif (language === null) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\treturn { parser: language.parser };\n\t\t}),\n\t});\n}\n\nconst methodDecorations: Record<string, Decoration> = {\n\tGET: Decoration.mark({ class: \"cm-http-method-get\" }),\n\tPOST: Decoration.mark({ class: \"cm-http-method-post\" }),\n\tPUT: Decoration.mark({ class: \"cm-http-method-put\" }),\n\tPATCH: Decoration.mark({ class: \"cm-http-method-patch\" }),\n\tDELETE: Decoration.mark({ class: \"cm-http-method-delete\" }),\n};\n\nfunction buildMethodDecorations(view: EditorView): DecorationSet {\n\tconst builder = new RangeSetBuilder<Decoration>();\n\tconst tree = syntaxTree(view.state);\n\ttree.iterate({\n\t\tenter(node) {\n\t\t\tif (node.type.id === HttpRequestMethod) {\n\t\t\t\tconst text = view.state.sliceDoc(node.from, node.to).toUpperCase();\n\t\t\t\tconst deco = methodDecorations[text];\n\t\t\t\tif (deco) {\n\t\t\t\t\tbuilder.add(node.from, node.to, deco);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t});\n\treturn builder.finish();\n}\n\nconst httpMethodHighlighter = ViewPlugin.fromClass(\n\tclass {\n\t\tdecorations: DecorationSet;\n\t\tconstructor(view: EditorView) {\n\t\t\tthis.decorations = buildMethodDecorations(view);\n\t\t}\n\t\tupdate(update: ViewUpdate) {\n\t\t\tif (update.docChanged || update.viewportChanged) {\n\t\t\t\tthis.decorations = buildMethodDecorations(update.view);\n\t\t\t}\n\t\t}\n\t},\n\t{ decorations: (v) => v.decorations },\n);\n\nconst httpMethodTheme = EditorView.baseTheme({\n\t\".cm-http-method-get\": {\n\t\tcolor: \"var(--color-utility-green)\",\n\t},\n\t\".cm-http-method-post\": {\n\t\tcolor: \"var(--color-utility-yellow)\",\n\t},\n\t\".cm-http-method-put\": {\n\t\tcolor: \"var(--color-utility-blue)\",\n\t},\n\t\".cm-http-method-patch\": {\n\t\tcolor: \"var(--color-utility-violet)\",\n\t},\n\t\".cm-http-method-delete\": {\n\t\tcolor: \"var(--color-utility-red)\",\n\t},\n});\n\n// ── HTTP header autocomplete ────────────────────────────────────────────\n\nimport type {\n\tCompletion,\n\tCompletionContext,\n\tCompletionResult,\n} from \"@codemirror/autocomplete\";\nimport {\n\tHttpHeaderName,\n\tHttpHeaders,\n\tHttpHeaderValue,\n\tHttpRequestPath,\n} from \"./grammar/http.terms\";\n\nconst COMMON_HEADERS: Completion[] = [\n\t// Standard HTTP\n\t{ label: \"Accept\", type: \"header\", apply: \"Accept: \" },\n\t{ label: \"Accept-Encoding\", type: \"header\", apply: \"Accept-Encoding: \" },\n\t{ label: \"Accept-Language\", type: \"header\", apply: \"Accept-Language: \" },\n\t{ label: \"Authorization\", type: \"header\", apply: \"Authorization: \" },\n\t{ label: \"Cache-Control\", type: \"header\", apply: \"Cache-Control: \" },\n\t{ label: \"Content-Type\", type: \"header\", apply: \"Content-Type: \" },\n\t{ label: \"Cookie\", type: \"header\", apply: \"Cookie: \" },\n\t{ label: \"Host\", type: \"header\", apply: \"Host: \" },\n\t{ label: \"If-Match\", type: \"header\", apply: \"If-Match: \" },\n\t{ label: \"If-Modified-Since\", type: \"header\", apply: \"If-Modified-Since: \" },\n\t{ label: \"If-None-Match\", type: \"header\", apply: \"If-None-Match: \" },\n\t{ label: \"Origin\", type: \"header\", apply: \"Origin: \" },\n\t{ label: \"Prefer\", type: \"header\", apply: \"Prefer: \" },\n\t// Aidbox-specific\n\t{ label: \"x-audit\", type: \"header\", apply: \"x-audit: \" },\n\t{ label: \"x-correlation-id\", type: \"header\", apply: \"x-correlation-id: \" },\n\t{ label: \"x-debug\", type: \"header\", apply: \"x-debug: \" },\n\t{\n\t\tlabel: \"x-external-user-id\",\n\t\ttype: \"header\",\n\t\tapply: \"x-external-user-id: \",\n\t},\n\t{\n\t\tlabel: \"x-max-isolation-level\",\n\t\ttype: \"header\",\n\t\tapply: \"x-max-isolation-level: \",\n\t},\n\t{ label: \"x-original-uri\", type: \"header\", apply: \"x-original-uri: \" },\n\t{ label: \"x-request-id\", type: \"header\", apply: \"x-request-id: \" },\n\t{ label: \"x-use-ro-replica\", type: \"header\", apply: \"x-use-ro-replica: \" },\n\t{ label: \"su\", type: \"header\", apply: \"su: \" },\n\t{ label: \"traceparent\", type: \"header\", apply: \"traceparent: \" },\n];\n\n// Header value completions by header name\nconst HEADER_VALUES: Record<string, Completion[]> = {\n\t\"content-type\": [\n\t\t{ label: \"application/json\", type: \"text\" },\n\t\t{ label: \"application/fhir+json\", type: \"text\" },\n\t\t{ label: \"text/yaml\", type: \"text\" },\n\t\t{ label: \"application/ndjson\", type: \"text\" },\n\t\t{ label: \"application/gzip\", type: \"text\" },\n\t\t{ label: \"text/csv\", type: \"text\" },\n\t],\n\taccept: [\n\t\t{ label: \"application/json\", type: \"text\" },\n\t\t{ label: \"application/yaml\", type: \"text\" },\n\t\t{ label: \"text/yaml\", type: \"text\" },\n\t],\n\tprefer: [\n\t\t{ label: \"respond-async\", type: \"text\" },\n\t\t{ label: \"return=minimal\", type: \"text\" },\n\t\t{ label: \"return=representation\", type: \"text\" },\n\t\t{ label: \"return=OperationOutcome\", type: \"text\" },\n\t],\n\t\"x-debug\": [{ label: \"policy\", type: \"text\" }],\n\t\"x-max-isolation-level\": [\n\t\t{ label: \"read-committed\", type: \"text\" },\n\t\t{ label: \"repeatable-read\", type: \"text\" },\n\t\t{ label: \"serializable\", type: \"text\" },\n\t],\n\t\"cache-control\": [\n\t\t{ label: \"no-cache\", type: \"text\" },\n\t\t{ label: \"no-store\", type: \"text\" },\n\t\t{ label: \"max-age=0\", type: \"text\" },\n\t],\n\tauthorization: [\n\t\t{ label: \"Bearer \", type: \"text\" },\n\t\t{ label: \"Basic \", type: \"text\" },\n\t],\n};\n\nconst HTTP_METHODS: Completion[] = [\n\t\"GET\",\n\t\"POST\",\n\t\"PUT\",\n\t\"PATCH\",\n\t\"DELETE\",\n].map((method) => ({\n\tlabel: method,\n\ttype: \"keyword\" as const,\n\tapply: (view: EditorView, _c: Completion, from: number, to: number) => {\n\t\tconst line = view.state.doc.lineAt(from);\n\t\tconst afterTo = line.text.slice(to - line.from);\n\t\t// Skip whitespace after the method word to avoid double spaces\n\t\tconst wsMatch = afterTo.match(/^(\\s*)/);\n\t\tconst actualTo = to + (wsMatch?.[1]?.length ?? 0);\n\t\tconst rest = line.text.slice(actualTo - line.from);\n\t\tconst insert = rest.startsWith(\"/\") ? `${method} ` : `${method} /`;\n\t\tview.dispatch({\n\t\t\tchanges: { from, to: actualTo, insert },\n\t\t\tselection: { anchor: from + insert.length },\n\t\t});\n\t},\n}));\n\nfunction httpCompletionSource(\n\tcontext: CompletionContext,\n): CompletionResult | null {\n\tconst { state, pos } = context;\n\tconst tree = syntaxTree(state);\n\tconst node = tree.resolveInner(pos, -1);\n\n\tconst line = state.doc.lineAt(pos);\n\tconst beforeCursor = line.text.slice(0, pos - line.from);\n\n\t// Request method completion — first line, typing method\n\tif (\n\t\tnode.type.id === HttpRequestMethod ||\n\t\t(line.number === 1 && /^\\s*[a-zA-Z]*$/.test(beforeCursor))\n\t) {\n\t\tconst word = context.matchBefore(/[a-zA-Z]*/);\n\t\treturn {\n\t\t\tfrom: word?.from ?? pos,\n\t\t\toptions: HTTP_METHODS,\n\t\t\tvalidFor: /^[a-zA-Z]*$/i,\n\t\t};\n\t}\n\n\t// Header value completion — after colon\n\tconst colonIdx = beforeCursor.indexOf(\":\");\n\tif (colonIdx >= 0) {\n\t\tconst inHeaderValue = node.type.id === HttpHeaderValue;\n\t\tconst parentIsHeaders = node.parent?.type.id === HttpHeaders;\n\t\tif (\n\t\t\t!inHeaderValue &&\n\t\t\t!parentIsHeaders &&\n\t\t\tnode.parent?.parent?.type.id !== HttpHeaders\n\t\t)\n\t\t\treturn null;\n\n\t\tconst headerName = beforeCursor.slice(0, colonIdx).trim().toLowerCase();\n\t\tconst values = HEADER_VALUES[headerName];\n\t\tif (!values) return null;\n\n\t\tconst word = context.matchBefore(/\\S*/);\n\t\treturn {\n\t\t\tfrom: word?.from ?? pos,\n\t\t\toptions: values,\n\t\t\tvalidFor: /^\\S*$/,\n\t\t};\n\t}\n\n\t// Header name completion — before colon\n\tconst inHeaderName = node.type.id === HttpHeaderName;\n\tconst inHeaders = node.type.id === HttpHeaders;\n\tconst parentIsHeaders = node.parent?.type.id === HttpHeaders;\n\n\tif (!inHeaderName && !inHeaders && !parentIsHeaders) return null;\n\n\tconst word = context.matchBefore(/[\\w-]+/);\n\tif (!word) return null;\n\treturn {\n\t\tfrom: word.from,\n\t\toptions: COMMON_HEADERS,\n\t\tvalidFor: /^[\\w-]+$/,\n\t};\n}\n\nexport interface UrlSuggestion {\n\tlabel: string;\n\tvalue: string;\n\ttype?: string;\n\tdescription?: string;\n\texpression?: string;\n}\n\nexport type GetUrlSuggestions = (\n\tpath: string,\n\tmethod: string,\n) => UrlSuggestion[] | Promise<UrlSuggestion[]>;\n\nfunction httpUrlCompletionSource(\n\tgetUrlSuggestions: GetUrlSuggestions,\n): (context: CompletionContext) => Promise<CompletionResult | null> {\n\treturn async (\n\t\tcontext: CompletionContext,\n\t): Promise<CompletionResult | null> => {\n\t\tconst { state, pos } = context;\n\t\tconst tree = syntaxTree(state);\n\t\tconst node = tree.resolveInner(pos, -1);\n\n\t\tif (node.type.id !== HttpRequestPath) return null;\n\n\t\tconst line = state.doc.lineAt(pos);\n\t\tconst lineText = line.text;\n\t\t// Extract method from the beginning of the line\n\t\tconst methodMatch = lineText.match(/^\\s*(\\w+)\\s+/);\n\t\tif (!methodMatch?.[1]) return null;\n\t\tconst method = methodMatch[1].toUpperCase();\n\n\t\tconst pathStart = line.from + methodMatch[0].length;\n\t\tconst currentPath = state.sliceDoc(pathStart, pos);\n\n\t\tconst suggestions = await getUrlSuggestions(currentPath, method);\n\t\tif (suggestions.length === 0) return null;\n\n\t\tconst options: Completion[] = suggestions.map((s) => {\n\t\t\tconst c: Completion = {\n\t\t\t\tlabel: s.label,\n\t\t\t\ttype:\n\t\t\t\t\ts.type === \"resource-type\"\n\t\t\t\t\t\t? \"type\"\n\t\t\t\t\t\t: s.type === \"operation\"\n\t\t\t\t\t\t\t? \"function\"\n\t\t\t\t\t\t\t: s.type === \"search-param\"\n\t\t\t\t\t\t\t\t? \"search-param\"\n\t\t\t\t\t\t\t\t: \"text\",\n\t\t\t};\n\t\t\tif (s.type === \"search-param\") c.apply = `${s.label}=`;\n\t\t\telse if (s.type === \"path\" && s.label === \"fhir\") c.apply = `${s.label}/`;\n\t\t\tif (s.description) c.detail = s.description.toUpperCase();\n\t\t\tif (s.expression) c.info = s.expression;\n\t\t\treturn c;\n\t\t});\n\n\t\t// Match from the last segment separator (/ or ? or &)\n\t\tconst hasQuery = currentPath.includes(\"?\");\n\t\tlet from: number;\n\t\tif (hasQuery) {\n\t\t\tconst lastSep = Math.max(\n\t\t\t\tcurrentPath.lastIndexOf(\"?\"),\n\t\t\t\tcurrentPath.lastIndexOf(\"&\"),\n\t\t\t);\n\t\t\tfrom = pathStart + lastSep + 1;\n\t\t} else {\n\t\t\tconst lastSlash = currentPath.lastIndexOf(\"/\");\n\t\t\tfrom = pathStart + lastSlash + 1;\n\t\t}\n\n\t\treturn {\n\t\t\tfrom,\n\t\t\toptions,\n\t\t\tvalidFor: /^[^\\s&=]*/,\n\t\t};\n\t};\n}\n\nfunction http(\n\tbodyLanguages: (contentType: string) => Language | null,\n\tgetUrlSuggestions?: GetUrlSuggestions,\n) {\n\tconst parser = makeParser(bodyLanguages);\n\tconst language = LRLanguage.define({ parser: parser });\n\tconst extensions = [\n\t\thttpMethodHighlighter,\n\t\thttpMethodTheme,\n\t\tlanguage.data.of({ autocomplete: httpCompletionSource }),\n\t];\n\tif (getUrlSuggestions) {\n\t\textensions.push(\n\t\t\tlanguage.data.of({\n\t\t\t\tautocomplete: httpUrlCompletionSource(getUrlSuggestions),\n\t\t\t}),\n\t\t);\n\t}\n\treturn new LanguageSupport(language, extensions);\n}\n\nexport { http };\n"],"names":["foldInside","foldNodeProp","LanguageSupport","LRLanguage","syntaxTree","RangeSetBuilder","Decoration","EditorView","ViewPlugin","parseMixed","styleTags","tags","parser","HttpRequestMethod","makeParser","bodyLanguages","configure","props","HttpHeaderName","variableName","HttpHeaderValue","attributeValue","add","HttpHeaders","wrap","node","input","name","headers","prevSibling","contentType","child","firstChild","nextSibling","headerNameNode","getChild","headerName","read","from","to","toLowerCase","headerValueNode","language","methodDecorations","GET","mark","class","POST","PUT","PATCH","DELETE","buildMethodDecorations","view","builder","tree","state","iterate","enter","type","id","text","sliceDoc","toUpperCase","deco","finish","httpMethodHighlighter","fromClass","decorations","update","docChanged","viewportChanged","v","httpMethodTheme","baseTheme","color","HttpRequestPath","COMMON_HEADERS","label","apply","HEADER_VALUES","accept","prefer","authorization","HTTP_METHODS","map","method","_c","line","doc","lineAt","afterTo","slice","wsMatch","match","actualTo","length","rest","insert","startsWith","dispatch","changes","selection","anchor","httpCompletionSource","context","pos","resolveInner","beforeCursor","number","test","word","matchBefore","options","validFor","colonIdx","indexOf","inHeaderValue","parentIsHeaders","parent","trim","values","inHeaderName","inHeaders","httpUrlCompletionSource","getUrlSuggestions","lineText","methodMatch","pathStart","currentPath","suggestions","s","c","description","detail","expression","info","hasQuery","includes","lastSep","Math","max","lastIndexOf","lastSlash","http","define","extensions","data","of","autocomplete","push"],"mappings":"AAAA,SACCA,UAAU,EACVC,YAAY,EAEZC,eAAe,EACfC,UAAU,EACVC,UAAU,QACJ,uBAAuB;AAC9B,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SACCC,UAAU,EAEVC,UAAU,EACVC,UAAU,QAEJ,mBAAmB;AAC1B,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,SAAS,EAAEC,IAAI,QAAQ,mBAAmB;AAEnD,SAASC,MAAM,QAAQ,oBAAiB;AACxC,SAASC,iBAAiB,QAAQ,0BAAuB;AAEzD,SAASC,WACRC,aAAuD;IAEvD,OAAOH,OAAOI,SAAS,CAAC;QACvBC,OAAO;YACNP,UAAU;gBACTQ,gBAAgBP,KAAKQ,YAAY;gBACjCC,iBAAiBT,KAAKU,cAAc;YACrC;YAEApB,aAAaqB,GAAG,CAAC;gBAChBC,aAAavB;YACd;SACA;QACDwB,MAAMf,WAAW,CAACgB,MAAMC;YACvB,IAAID,KAAKE,IAAI,KAAK,YAAY;gBAC7B,OAAO;YACR;YAEA,MAAMC,UAAUH,KAAKA,IAAI,CAACI,WAAW;YACrC,IAAID,SAASD,SAAS,eAAe;gBACpC,OAAO;YACR;YAEA,IAAIG,cAA6B;YAEjC,IACC,IAAIC,QAAQH,QAAQI,UAAU,EAC9BD,UAAU,MACVA,QAAQA,MAAME,WAAW,CACxB;gBACD,MAAMC,iBAAiBH,MAAMI,QAAQ,CAAC;gBACtC,IAAID,mBAAmB,MAAM;oBAC5B;gBACD;gBAEA,MAAME,aAAaV,MAAMW,IAAI,CAACH,eAAeI,IAAI,EAAEJ,eAAeK,EAAE;gBACpE,IAAIH,WAAWI,WAAW,OAAO,gBAAgB;oBAChD;gBACD;gBAEA,IAAIV,gBAAgB,MAAM;oBACzB,kCAAkC;oBAClC,OAAO;gBACR;gBAEA,MAAMW,kBAAkBV,MAAMI,QAAQ,CAAC;gBACvC,IAAIM,oBAAoB,MAAM;oBAC7B;gBACD;gBAEAX,cAAcJ,MAAMW,IAAI,CAACI,gBAAgBH,IAAI,EAAEG,gBAAgBF,EAAE;YAClE;YAEA,IAAIT,gBAAgB,MAAM;gBACzB,OAAO;YACR;YAEA,MAAMY,WAAW3B,cAAce;YAC/B,IAAIY,aAAa,MAAM;gBACtB,OAAO;YACR;YAEA,OAAO;gBAAE9B,QAAQ8B,SAAS9B,MAAM;YAAC;QAClC;IACD;AACD;AAEA,MAAM+B,oBAAgD;IACrDC,KAAKtC,WAAWuC,IAAI,CAAC;QAAEC,OAAO;IAAqB;IACnDC,MAAMzC,WAAWuC,IAAI,CAAC;QAAEC,OAAO;IAAsB;IACrDE,KAAK1C,WAAWuC,IAAI,CAAC;QAAEC,OAAO;IAAqB;IACnDG,OAAO3C,WAAWuC,IAAI,CAAC;QAAEC,OAAO;IAAuB;IACvDI,QAAQ5C,WAAWuC,IAAI,CAAC;QAAEC,OAAO;IAAwB;AAC1D;AAEA,SAASK,uBAAuBC,IAAgB;IAC/C,MAAMC,UAAU,IAAIhD;IACpB,MAAMiD,OAAOlD,WAAWgD,KAAKG,KAAK;IAClCD,KAAKE,OAAO,CAAC;QACZC,OAAMhC,IAAI;YACT,IAAIA,KAAKiC,IAAI,CAACC,EAAE,KAAK9C,mBAAmB;gBACvC,MAAM+C,OAAOR,KAAKG,KAAK,CAACM,QAAQ,CAACpC,KAAKa,IAAI,EAAEb,KAAKc,EAAE,EAAEuB,WAAW;gBAChE,MAAMC,OAAOpB,iBAAiB,CAACiB,KAAK;gBACpC,IAAIG,MAAM;oBACTV,QAAQ/B,GAAG,CAACG,KAAKa,IAAI,EAAEb,KAAKc,EAAE,EAAEwB;gBACjC;YACD;QACD;IACD;IACA,OAAOV,QAAQW,MAAM;AACtB;AAEA,MAAMC,wBAAwBzD,WAAW0D,SAAS,CACjD;IACCC,YAA2B;IAC3B,YAAYf,IAAgB,CAAE;QAC7B,IAAI,CAACe,WAAW,GAAGhB,uBAAuBC;IAC3C;IACAgB,OAAOA,MAAkB,EAAE;QAC1B,IAAIA,OAAOC,UAAU,IAAID,OAAOE,eAAe,EAAE;YAChD,IAAI,CAACH,WAAW,GAAGhB,uBAAuBiB,OAAOhB,IAAI;QACtD;IACD;AACD,GACA;IAAEe,aAAa,CAACI,IAAMA,EAAEJ,WAAW;AAAC;AAGrC,MAAMK,kBAAkBjE,WAAWkE,SAAS,CAAC;IAC5C,uBAAuB;QACtBC,OAAO;IACR;IACA,wBAAwB;QACvBA,OAAO;IACR;IACA,uBAAuB;QACtBA,OAAO;IACR;IACA,yBAAyB;QACxBA,OAAO;IACR;IACA,0BAA0B;QACzBA,OAAO;IACR;AACD;AASA,SACCxD,cAAc,EACdK,WAAW,EACXH,eAAe,EACfuD,eAAe,QACT,0BAAuB;AAE9B,MAAMC,iBAA+B;IACpC,gBAAgB;IAChB;QAAEC,OAAO;QAAUnB,MAAM;QAAUoB,OAAO;IAAW;IACrD;QAAED,OAAO;QAAmBnB,MAAM;QAAUoB,OAAO;IAAoB;IACvE;QAAED,OAAO;QAAmBnB,MAAM;QAAUoB,OAAO;IAAoB;IACvE;QAAED,OAAO;QAAiBnB,MAAM;QAAUoB,OAAO;IAAkB;IACnE;QAAED,OAAO;QAAiBnB,MAAM;QAAUoB,OAAO;IAAkB;IACnE;QAAED,OAAO;QAAgBnB,MAAM;QAAUoB,OAAO;IAAiB;IACjE;QAAED,OAAO;QAAUnB,MAAM;QAAUoB,OAAO;IAAW;IACrD;QAAED,OAAO;QAAQnB,MAAM;QAAUoB,OAAO;IAAS;IACjD;QAAED,OAAO;QAAYnB,MAAM;QAAUoB,OAAO;IAAa;IACzD;QAAED,OAAO;QAAqBnB,MAAM;QAAUoB,OAAO;IAAsB;IAC3E;QAAED,OAAO;QAAiBnB,MAAM;QAAUoB,OAAO;IAAkB;IACnE;QAAED,OAAO;QAAUnB,MAAM;QAAUoB,OAAO;IAAW;IACrD;QAAED,OAAO;QAAUnB,MAAM;QAAUoB,OAAO;IAAW;IACrD,kBAAkB;IAClB;QAAED,OAAO;QAAWnB,MAAM;QAAUoB,OAAO;IAAY;IACvD;QAAED,OAAO;QAAoBnB,MAAM;QAAUoB,OAAO;IAAqB;IACzE;QAAED,OAAO;QAAWnB,MAAM;QAAUoB,OAAO;IAAY;IACvD;QACCD,OAAO;QACPnB,MAAM;QACNoB,OAAO;IACR;IACA;QACCD,OAAO;QACPnB,MAAM;QACNoB,OAAO;IACR;IACA;QAAED,OAAO;QAAkBnB,MAAM;QAAUoB,OAAO;IAAmB;IACrE;QAAED,OAAO;QAAgBnB,MAAM;QAAUoB,OAAO;IAAiB;IACjE;QAAED,OAAO;QAAoBnB,MAAM;QAAUoB,OAAO;IAAqB;IACzE;QAAED,OAAO;QAAMnB,MAAM;QAAUoB,OAAO;IAAO;IAC7C;QAAED,OAAO;QAAenB,MAAM;QAAUoB,OAAO;IAAgB;CAC/D;AAED,0CAA0C;AAC1C,MAAMC,gBAA8C;IACnD,gBAAgB;QACf;YAAEF,OAAO;YAAoBnB,MAAM;QAAO;QAC1C;YAAEmB,OAAO;YAAyBnB,MAAM;QAAO;QAC/C;YAAEmB,OAAO;YAAanB,MAAM;QAAO;QACnC;YAAEmB,OAAO;YAAsBnB,MAAM;QAAO;QAC5C;YAAEmB,OAAO;YAAoBnB,MAAM;QAAO;QAC1C;YAAEmB,OAAO;YAAYnB,MAAM;QAAO;KAClC;IACDsB,QAAQ;QACP;YAAEH,OAAO;YAAoBnB,MAAM;QAAO;QAC1C;YAAEmB,OAAO;YAAoBnB,MAAM;QAAO;QAC1C;YAAEmB,OAAO;YAAanB,MAAM;QAAO;KACnC;IACDuB,QAAQ;QACP;YAAEJ,OAAO;YAAiBnB,MAAM;QAAO;QACvC;YAAEmB,OAAO;YAAkBnB,MAAM;QAAO;QACxC;YAAEmB,OAAO;YAAyBnB,MAAM;QAAO;QAC/C;YAAEmB,OAAO;YAA2BnB,MAAM;QAAO;KACjD;IACD,WAAW;QAAC;YAAEmB,OAAO;YAAUnB,MAAM;QAAO;KAAE;IAC9C,yBAAyB;QACxB;YAAEmB,OAAO;YAAkBnB,MAAM;QAAO;QACxC;YAAEmB,OAAO;YAAmBnB,MAAM;QAAO;QACzC;YAAEmB,OAAO;YAAgBnB,MAAM;QAAO;KACtC;IACD,iBAAiB;QAChB;YAAEmB,OAAO;YAAYnB,MAAM;QAAO;QAClC;YAAEmB,OAAO;YAAYnB,MAAM;QAAO;QAClC;YAAEmB,OAAO;YAAanB,MAAM;QAAO;KACnC;IACDwB,eAAe;QACd;YAAEL,OAAO;YAAWnB,MAAM;QAAO;QACjC;YAAEmB,OAAO;YAAUnB,MAAM;QAAO;KAChC;AACF;AAEA,MAAMyB,eAA6B;IAClC;IACA;IACA;IACA;IACA;CACA,CAACC,GAAG,CAAC,CAACC,SAAY,CAAA;QAClBR,OAAOQ;QACP3B,MAAM;QACNoB,OAAO,CAAC1B,MAAkBkC,IAAgBhD,MAAcC;YACvD,MAAMgD,OAAOnC,KAAKG,KAAK,CAACiC,GAAG,CAACC,MAAM,CAACnD;YACnC,MAAMoD,UAAUH,KAAK3B,IAAI,CAAC+B,KAAK,CAACpD,KAAKgD,KAAKjD,IAAI;YAC9C,+DAA+D;YAC/D,MAAMsD,UAAUF,QAAQG,KAAK,CAAC;YAC9B,MAAMC,WAAWvD,KAAMqD,CAAAA,SAAS,CAAC,EAAE,EAAEG,UAAU,CAAA;YAC/C,MAAMC,OAAOT,KAAK3B,IAAI,CAAC+B,KAAK,CAACG,WAAWP,KAAKjD,IAAI;YACjD,MAAM2D,SAASD,KAAKE,UAAU,CAAC,OAAO,GAAGb,OAAO,CAAC,CAAC,GAAG,GAAGA,OAAO,EAAE,CAAC;YAClEjC,KAAK+C,QAAQ,CAAC;gBACbC,SAAS;oBAAE9D;oBAAMC,IAAIuD;oBAAUG;gBAAO;gBACtCI,WAAW;oBAAEC,QAAQhE,OAAO2D,OAAOF,MAAM;gBAAC;YAC3C;QACD;IACD,CAAA;AAEA,SAASQ,qBACRC,OAA0B;IAE1B,MAAM,EAAEjD,KAAK,EAAEkD,GAAG,EAAE,GAAGD;IACvB,MAAMlD,OAAOlD,WAAWmD;IACxB,MAAM9B,OAAO6B,KAAKoD,YAAY,CAACD,KAAK,CAAC;IAErC,MAAMlB,OAAOhC,MAAMiC,GAAG,CAACC,MAAM,CAACgB;IAC9B,MAAME,eAAepB,KAAK3B,IAAI,CAAC+B,KAAK,CAAC,GAAGc,MAAMlB,KAAKjD,IAAI;IAEvD,wDAAwD;IACxD,IACCb,KAAKiC,IAAI,CAACC,EAAE,KAAK9C,qBAChB0E,KAAKqB,MAAM,KAAK,KAAK,iBAAiBC,IAAI,CAACF,eAC3C;QACD,MAAMG,OAAON,QAAQO,WAAW,CAAC;QACjC,OAAO;YACNzE,MAAMwE,MAAMxE,QAAQmE;YACpBO,SAAS7B;YACT8B,UAAU;QACX;IACD;IAEA,wCAAwC;IACxC,MAAMC,WAAWP,aAAaQ,OAAO,CAAC;IACtC,IAAID,YAAY,GAAG;QAClB,MAAME,gBAAgB3F,KAAKiC,IAAI,CAACC,EAAE,KAAKvC;QACvC,MAAMiG,kBAAkB5F,KAAK6F,MAAM,EAAE5D,KAAKC,OAAOpC;QACjD,IACC,CAAC6F,iBACD,CAACC,mBACD5F,KAAK6F,MAAM,EAAEA,QAAQ5D,KAAKC,OAAOpC,aAEjC,OAAO;QAER,MAAMa,aAAauE,aAAahB,KAAK,CAAC,GAAGuB,UAAUK,IAAI,GAAG/E,WAAW;QACrE,MAAMgF,SAASzC,aAAa,CAAC3C,WAAW;QACxC,IAAI,CAACoF,QAAQ,OAAO;QAEpB,MAAMV,OAAON,QAAQO,WAAW,CAAC;QACjC,OAAO;YACNzE,MAAMwE,MAAMxE,QAAQmE;YACpBO,SAASQ;YACTP,UAAU;QACX;IACD;IAEA,wCAAwC;IACxC,MAAMQ,eAAehG,KAAKiC,IAAI,CAACC,EAAE,KAAKzC;IACtC,MAAMwG,YAAYjG,KAAKiC,IAAI,CAACC,EAAE,KAAKpC;IACnC,MAAM8F,kBAAkB5F,KAAK6F,MAAM,EAAE5D,KAAKC,OAAOpC;IAEjD,IAAI,CAACkG,gBAAgB,CAACC,aAAa,CAACL,iBAAiB,OAAO;IAE5D,MAAMP,OAAON,QAAQO,WAAW,CAAC;IACjC,IAAI,CAACD,MAAM,OAAO;IAClB,OAAO;QACNxE,MAAMwE,KAAKxE,IAAI;QACf0E,SAASpC;QACTqC,UAAU;IACX;AACD;AAeA,SAASU,wBACRC,iBAAoC;IAEpC,OAAO,OACNpB;QAEA,MAAM,EAAEjD,KAAK,EAAEkD,GAAG,EAAE,GAAGD;QACvB,MAAMlD,OAAOlD,WAAWmD;QACxB,MAAM9B,OAAO6B,KAAKoD,YAAY,CAACD,KAAK,CAAC;QAErC,IAAIhF,KAAKiC,IAAI,CAACC,EAAE,KAAKgB,iBAAiB,OAAO;QAE7C,MAAMY,OAAOhC,MAAMiC,GAAG,CAACC,MAAM,CAACgB;QAC9B,MAAMoB,WAAWtC,KAAK3B,IAAI;QAC1B,gDAAgD;QAChD,MAAMkE,cAAcD,SAAShC,KAAK,CAAC;QACnC,IAAI,CAACiC,aAAa,CAAC,EAAE,EAAE,OAAO;QAC9B,MAAMzC,SAASyC,WAAW,CAAC,EAAE,CAAChE,WAAW;QAEzC,MAAMiE,YAAYxC,KAAKjD,IAAI,GAAGwF,WAAW,CAAC,EAAE,CAAC/B,MAAM;QACnD,MAAMiC,cAAczE,MAAMM,QAAQ,CAACkE,WAAWtB;QAE9C,MAAMwB,cAAc,MAAML,kBAAkBI,aAAa3C;QACzD,IAAI4C,YAAYlC,MAAM,KAAK,GAAG,OAAO;QAErC,MAAMiB,UAAwBiB,YAAY7C,GAAG,CAAC,CAAC8C;YAC9C,MAAMC,IAAgB;gBACrBtD,OAAOqD,EAAErD,KAAK;gBACdnB,MACCwE,EAAExE,IAAI,KAAK,kBACR,SACAwE,EAAExE,IAAI,KAAK,cACV,aACAwE,EAAExE,IAAI,KAAK,iBACV,iBACA;YACP;YACA,IAAIwE,EAAExE,IAAI,KAAK,gBAAgByE,EAAErD,KAAK,GAAG,GAAGoD,EAAErD,KAAK,CAAC,CAAC,CAAC;iBACjD,IAAIqD,EAAExE,IAAI,KAAK,UAAUwE,EAAErD,KAAK,KAAK,QAAQsD,EAAErD,KAAK,GAAG,GAAGoD,EAAErD,KAAK,CAAC,CAAC,CAAC;YACzE,IAAIqD,EAAEE,WAAW,EAAED,EAAEE,MAAM,GAAGH,EAAEE,WAAW,CAACtE,WAAW;YACvD,IAAIoE,EAAEI,UAAU,EAAEH,EAAEI,IAAI,GAAGL,EAAEI,UAAU;YACvC,OAAOH;QACR;QAEA,sDAAsD;QACtD,MAAMK,WAAWR,YAAYS,QAAQ,CAAC;QACtC,IAAInG;QACJ,IAAIkG,UAAU;YACb,MAAME,UAAUC,KAAKC,GAAG,CACvBZ,YAAYa,WAAW,CAAC,MACxBb,YAAYa,WAAW,CAAC;YAEzBvG,OAAOyF,YAAYW,UAAU;QAC9B,OAAO;YACN,MAAMI,YAAYd,YAAYa,WAAW,CAAC;YAC1CvG,OAAOyF,YAAYe,YAAY;QAChC;QAEA,OAAO;YACNxG;YACA0E;YACAC,UAAU;QACX;IACD;AACD;AAEA,SAAS8B,KACRhI,aAAuD,EACvD6G,iBAAqC;IAErC,MAAMhH,SAASE,WAAWC;IAC1B,MAAM2B,WAAWvC,WAAW6I,MAAM,CAAC;QAAEpI,QAAQA;IAAO;IACpD,MAAMqI,aAAa;QAClBhF;QACAO;QACA9B,SAASwG,IAAI,CAACC,EAAE,CAAC;YAAEC,cAAc7C;QAAqB;KACtD;IACD,IAAIqB,mBAAmB;QACtBqB,WAAWI,IAAI,CACd3G,SAASwG,IAAI,CAACC,EAAE,CAAC;YAChBC,cAAczB,wBAAwBC;QACvC;IAEF;IACA,OAAO,IAAI1H,gBAAgBwC,UAAUuG;AACtC;AAEA,SAASF,IAAI,GAAG"}
@@ -1,5 +1,43 @@
1
- export declare function CodeEditor({ defaultValue, onChange, }: {
1
+ import { type Extension } from "@codemirror/state";
2
+ import { EditorView, type ViewUpdate } from "@codemirror/view";
3
+ import { type ExpandValueSet, type GetStructureDefinitions } from "./fhir-autocomplete";
4
+ import { type GetUrlSuggestions } from "./http";
5
+ import { type SqlConfig } from "./sql-completion";
6
+ type LanguageMode = "json" | "http" | "sql" | "yaml";
7
+ type CodeEditorProps = {
8
+ readOnly?: boolean;
9
+ isReadOnlyTheme?: boolean;
2
10
  defaultValue?: string;
11
+ currentValue?: string;
12
+ onChange?: (value: string) => void;
13
+ onUpdate?: (update: ViewUpdate) => void;
14
+ id?: string;
15
+ mode?: LanguageMode;
16
+ viewCallback?: (view: EditorView) => void;
17
+ additionalExtensions?: Extension[];
18
+ issueLineNumbers?: {
19
+ line: number;
20
+ message?: string;
21
+ }[];
22
+ foldGutter?: boolean;
23
+ lineNumbers?: boolean;
24
+ sql?: SqlConfig;
25
+ getStructureDefinitions?: GetStructureDefinitions;
26
+ resourceTypeHint?: string;
27
+ expandValueSet?: ExpandValueSet;
28
+ getUrlSuggestions?: GetUrlSuggestions;
29
+ vimMode?: boolean;
30
+ };
31
+ export type CodeEditorView = EditorView;
32
+ export type { ExpandValueSet, GetStructureDefinitions, } from "./fhir-autocomplete";
33
+ export type { GetUrlSuggestions } from "./http";
34
+ export type { SqlConfig, SqlMetadata, SqlQueryType, } from "./sql-completion";
35
+ export declare function CodeEditor({ defaultValue, currentValue, onChange, onUpdate, viewCallback, readOnly, id, mode, isReadOnlyTheme, additionalExtensions, issueLineNumbers, foldGutter: enableFoldGutter, lineNumbers: enableLineNumbers, sql, getStructureDefinitions, resourceTypeHint, expandValueSet, getUrlSuggestions, vimMode, }: CodeEditorProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function EditorInput({ additionalExtensions, id, defaultValue, currentValue, onChange, }: {
37
+ additionalExtensions?: Extension[];
38
+ id: string;
39
+ defaultValue?: string;
40
+ currentValue?: string;
3
41
  onChange?: (value: string) => void;
4
42
  }): import("react/jsx-runtime").JSX.Element;
5
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/index.tsx"],"names":[],"mappings":"AAgFA,wBAAgB,UAAU,CAAC,EAC1B,YAAY,EACZ,QAAQ,GACR,EAAE;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,2CAwDA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/code-editor/index.tsx"],"names":[],"mappings":"AAmCA,OAAO,EAGN,KAAK,SAAS,EAKd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAKN,UAAU,EAOV,KAAK,UAAU,EACf,MAAM,kBAAkB,CAAC;AAsB1B,OAAO,EAEN,KAAK,cAAc,EAEnB,KAAK,uBAAuB,EAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,KAAK,iBAAiB,EAAQ,MAAM,QAAQ,CAAC;AACtD,OAAO,EAGN,KAAK,SAAS,EACd,MAAM,kBAAkB,CAAC;AAsoC1B,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AA+GrD,KAAK,eAAe,GAAG;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1C,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;IACnC,gBAAgB,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC;AAExC,YAAY,EACX,cAAc,EACd,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAChD,YAAY,EACX,SAAS,EACT,WAAW,EACX,YAAY,GACZ,MAAM,kBAAkB,CAAC;AAE1B,wBAAgB,UAAU,CAAC,EAC1B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,QAAgB,EAChB,EAAE,EACF,IAAa,EACb,eAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EAAE,gBAAuB,EACnC,WAAW,EAAE,iBAAwB,EACrC,GAAG,EACH,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,OAAe,GACf,EAAE,eAAe,2CAqVjB;AAyKD,wBAAgB,WAAW,CAAC,EAC3B,oBAAoB,EACpB,EAAE,EACF,YAAY,EACZ,YAAY,EACZ,QAAQ,GACR,EAAE;IACF,oBAAoB,CAAC,EAAE,SAAS,EAAE,CAAC;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,2CA4GA"}