@flanksource/clicky-ui 0.3.1 → 0.3.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 (382) hide show
  1. package/dist/comments/CommentAuthor.cjs +58 -0
  2. package/dist/comments/CommentAuthor.cjs.map +1 -0
  3. package/dist/comments/CommentAuthor.d.ts +17 -0
  4. package/dist/comments/CommentAuthor.d.ts.map +1 -0
  5. package/dist/comments/CommentAuthor.js +58 -0
  6. package/dist/comments/CommentAuthor.js.map +1 -0
  7. package/dist/comments/CommentCard.cjs +343 -0
  8. package/dist/comments/CommentCard.cjs.map +1 -0
  9. package/dist/comments/CommentCard.d.ts +27 -0
  10. package/dist/comments/CommentCard.d.ts.map +1 -0
  11. package/dist/comments/CommentCard.js +343 -0
  12. package/dist/comments/CommentCard.js.map +1 -0
  13. package/dist/comments/CommentComposer.cjs +207 -0
  14. package/dist/comments/CommentComposer.cjs.map +1 -0
  15. package/dist/comments/CommentComposer.d.ts +23 -0
  16. package/dist/comments/CommentComposer.d.ts.map +1 -0
  17. package/dist/comments/CommentComposer.js +207 -0
  18. package/dist/comments/CommentComposer.js.map +1 -0
  19. package/dist/comments/CommentFilterBar.cjs +145 -0
  20. package/dist/comments/CommentFilterBar.cjs.map +1 -0
  21. package/dist/comments/CommentFilterBar.d.ts +15 -0
  22. package/dist/comments/CommentFilterBar.d.ts.map +1 -0
  23. package/dist/comments/CommentFilterBar.js +145 -0
  24. package/dist/comments/CommentFilterBar.js.map +1 -0
  25. package/dist/comments/CommentMarkdown.cjs +156 -0
  26. package/dist/comments/CommentMarkdown.cjs.map +1 -0
  27. package/dist/comments/CommentMarkdown.d.ts +13 -0
  28. package/dist/comments/CommentMarkdown.d.ts.map +1 -0
  29. package/dist/comments/CommentMarkdown.js +156 -0
  30. package/dist/comments/CommentMarkdown.js.map +1 -0
  31. package/dist/comments/CommentProgress.cjs +86 -0
  32. package/dist/comments/CommentProgress.cjs.map +1 -0
  33. package/dist/comments/CommentProgress.d.ts +16 -0
  34. package/dist/comments/CommentProgress.d.ts.map +1 -0
  35. package/dist/comments/CommentProgress.js +86 -0
  36. package/dist/comments/CommentProgress.js.map +1 -0
  37. package/dist/comments/CommentProvider.cjs +99 -0
  38. package/dist/comments/CommentProvider.cjs.map +1 -0
  39. package/dist/comments/CommentProvider.d.ts +19 -0
  40. package/dist/comments/CommentProvider.d.ts.map +1 -0
  41. package/dist/comments/CommentProvider.js +99 -0
  42. package/dist/comments/CommentProvider.js.map +1 -0
  43. package/dist/comments/CommentSidePanel.cjs +219 -0
  44. package/dist/comments/CommentSidePanel.cjs.map +1 -0
  45. package/dist/comments/CommentSidePanel.d.ts +16 -0
  46. package/dist/comments/CommentSidePanel.d.ts.map +1 -0
  47. package/dist/comments/CommentSidePanel.js +219 -0
  48. package/dist/comments/CommentSidePanel.js.map +1 -0
  49. package/dist/comments/CommentThread.cjs +57 -0
  50. package/dist/comments/CommentThread.cjs.map +1 -0
  51. package/dist/comments/CommentThread.d.ts +24 -0
  52. package/dist/comments/CommentThread.d.ts.map +1 -0
  53. package/dist/comments/CommentThread.js +57 -0
  54. package/dist/comments/CommentThread.js.map +1 -0
  55. package/dist/comments/CommentThreadList.cjs +124 -0
  56. package/dist/comments/CommentThreadList.cjs.map +1 -0
  57. package/dist/comments/CommentThreadList.d.ts +25 -0
  58. package/dist/comments/CommentThreadList.d.ts.map +1 -0
  59. package/dist/comments/CommentThreadList.js +124 -0
  60. package/dist/comments/CommentThreadList.js.map +1 -0
  61. package/dist/comments/GroupedComments.cjs +74 -0
  62. package/dist/comments/GroupedComments.cjs.map +1 -0
  63. package/dist/comments/GroupedComments.d.ts +18 -0
  64. package/dist/comments/GroupedComments.d.ts.map +1 -0
  65. package/dist/comments/GroupedComments.js +74 -0
  66. package/dist/comments/GroupedComments.js.map +1 -0
  67. package/dist/comments/MentionTextarea.cjs +253 -0
  68. package/dist/comments/MentionTextarea.cjs.map +1 -0
  69. package/dist/comments/MentionTextarea.d.ts +28 -0
  70. package/dist/comments/MentionTextarea.d.ts.map +1 -0
  71. package/dist/comments/MentionTextarea.js +253 -0
  72. package/dist/comments/MentionTextarea.js.map +1 -0
  73. package/dist/comments/comment-context.cjs +33 -0
  74. package/dist/comments/comment-context.cjs.map +1 -0
  75. package/dist/comments/comment-context.d.ts +32 -0
  76. package/dist/comments/comment-context.d.ts.map +1 -0
  77. package/dist/comments/comment-context.js +33 -0
  78. package/dist/comments/comment-context.js.map +1 -0
  79. package/dist/comments/comment-fixtures.d.ts +11 -0
  80. package/dist/comments/comment-fixtures.d.ts.map +1 -0
  81. package/dist/comments/comment-types.cjs +19 -0
  82. package/dist/comments/comment-types.cjs.map +1 -0
  83. package/dist/comments/comment-types.d.ts +170 -0
  84. package/dist/comments/comment-types.d.ts.map +1 -0
  85. package/dist/comments/comment-types.js +19 -0
  86. package/dist/comments/comment-types.js.map +1 -0
  87. package/dist/comments/comment-utils.cjs +216 -0
  88. package/dist/comments/comment-utils.cjs.map +1 -0
  89. package/dist/comments/comment-utils.d.ts +59 -0
  90. package/dist/comments/comment-utils.d.ts.map +1 -0
  91. package/dist/comments/comment-utils.js +216 -0
  92. package/dist/comments/comment-utils.js.map +1 -0
  93. package/dist/comments.cjs +57 -0
  94. package/dist/comments.cjs.map +1 -0
  95. package/dist/comments.d.ts +16 -0
  96. package/dist/comments.d.ts.map +1 -0
  97. package/dist/comments.js +57 -0
  98. package/dist/comments.js.map +1 -0
  99. package/dist/components/FilterBar.cjs +13 -3
  100. package/dist/components/FilterBar.cjs.map +1 -1
  101. package/dist/components/FilterBar.js +13 -3
  102. package/dist/components/FilterBar.js.map +1 -1
  103. package/dist/components/JsonSchemaForm.cjs +20 -6
  104. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  105. package/dist/components/JsonSchemaForm.d.ts +1 -1
  106. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  107. package/dist/components/JsonSchemaForm.js +22 -8
  108. package/dist/components/JsonSchemaForm.js.map +1 -1
  109. package/dist/components/NamespacePicker.cjs +52 -0
  110. package/dist/components/NamespacePicker.cjs.map +1 -0
  111. package/dist/components/NamespacePicker.d.ts +17 -0
  112. package/dist/components/NamespacePicker.d.ts.map +1 -0
  113. package/dist/components/NamespacePicker.js +52 -0
  114. package/dist/components/NamespacePicker.js.map +1 -0
  115. package/dist/components/form-lookup-context.cjs +36 -0
  116. package/dist/components/form-lookup-context.cjs.map +1 -0
  117. package/dist/components/form-lookup-context.d.ts +9 -0
  118. package/dist/components/form-lookup-context.d.ts.map +1 -0
  119. package/dist/components/form-lookup-context.js +36 -0
  120. package/dist/components/form-lookup-context.js.map +1 -0
  121. package/dist/components/json-schema-form-discriminator.cjs +67 -0
  122. package/dist/components/json-schema-form-discriminator.cjs.map +1 -0
  123. package/dist/components/json-schema-form-discriminator.d.ts +10 -0
  124. package/dist/components/json-schema-form-discriminator.d.ts.map +1 -0
  125. package/dist/components/json-schema-form-discriminator.js +67 -0
  126. package/dist/components/json-schema-form-discriminator.js.map +1 -0
  127. package/dist/components/json-schema-form-fields.cjs +66 -1
  128. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  129. package/dist/components/json-schema-form-fields.d.ts +7 -0
  130. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  131. package/dist/components/json-schema-form-fields.js +66 -1
  132. package/dist/components/json-schema-form-fields.js.map +1 -1
  133. package/dist/components/json-schema-form-grid.cjs +92 -0
  134. package/dist/components/json-schema-form-grid.cjs.map +1 -0
  135. package/dist/components/json-schema-form-grid.d.ts +9 -0
  136. package/dist/components/json-schema-form-grid.d.ts.map +1 -0
  137. package/dist/components/json-schema-form-grid.js +92 -0
  138. package/dist/components/json-schema-form-grid.js.map +1 -0
  139. package/dist/components/json-schema-form-render.cjs +20 -3
  140. package/dist/components/json-schema-form-render.cjs.map +1 -1
  141. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  142. package/dist/components/json-schema-form-render.js +22 -5
  143. package/dist/components/json-schema-form-render.js.map +1 -1
  144. package/dist/components/json-schema-form-resolve.cjs +24 -2
  145. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  146. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  147. package/dist/components/json-schema-form-resolve.js +24 -2
  148. package/dist/components/json-schema-form-resolve.js.map +1 -1
  149. package/dist/components/json-schema-form-types.d.ts +37 -2
  150. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  151. package/dist/components/json-schema-form-utils.cjs +8 -0
  152. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  153. package/dist/components/json-schema-form-utils.d.ts +1 -0
  154. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  155. package/dist/components/json-schema-form-utils.js +8 -0
  156. package/dist/components/json-schema-form-utils.js.map +1 -1
  157. package/dist/components/workload-picker-utils.cjs.map +1 -1
  158. package/dist/components/workload-picker-utils.d.ts +11 -1
  159. package/dist/components/workload-picker-utils.d.ts.map +1 -1
  160. package/dist/components/workload-picker-utils.js.map +1 -1
  161. package/dist/components.cjs +6 -0
  162. package/dist/components.cjs.map +1 -1
  163. package/dist/components.d.ts +4 -2
  164. package/dist/components.d.ts.map +1 -1
  165. package/dist/components.js +6 -0
  166. package/dist/components.js.map +1 -1
  167. package/dist/data/Clicky.cjs +225 -60
  168. package/dist/data/Clicky.cjs.map +1 -1
  169. package/dist/data/Clicky.d.ts +7 -1
  170. package/dist/data/Clicky.d.ts.map +1 -1
  171. package/dist/data/Clicky.fixtures.d.ts +3 -1
  172. package/dist/data/Clicky.fixtures.d.ts.map +1 -1
  173. package/dist/data/Clicky.js +226 -61
  174. package/dist/data/Clicky.js.map +1 -1
  175. package/dist/data/ExecutionTree.cjs +68 -0
  176. package/dist/data/ExecutionTree.cjs.map +1 -0
  177. package/dist/data/ExecutionTree.d.ts +40 -0
  178. package/dist/data/ExecutionTree.d.ts.map +1 -0
  179. package/dist/data/ExecutionTree.js +68 -0
  180. package/dist/data/ExecutionTree.js.map +1 -0
  181. package/dist/data/GaugeHoverCard.cjs +35 -0
  182. package/dist/data/GaugeHoverCard.cjs.map +1 -0
  183. package/dist/data/GaugeHoverCard.d.ts +25 -0
  184. package/dist/data/GaugeHoverCard.d.ts.map +1 -0
  185. package/dist/data/GaugeHoverCard.js +35 -0
  186. package/dist/data/GaugeHoverCard.js.map +1 -0
  187. package/dist/data/MarkdownEditor.cjs +616 -0
  188. package/dist/data/MarkdownEditor.cjs.map +1 -0
  189. package/dist/data/MarkdownEditor.d.ts +61 -0
  190. package/dist/data/MarkdownEditor.d.ts.map +1 -0
  191. package/dist/data/MarkdownEditor.js +616 -0
  192. package/dist/data/MarkdownEditor.js.map +1 -0
  193. package/dist/data/MarkdownEditor.model.cjs +27 -0
  194. package/dist/data/MarkdownEditor.model.cjs.map +1 -0
  195. package/dist/data/MarkdownEditor.model.d.ts +38 -0
  196. package/dist/data/MarkdownEditor.model.d.ts.map +1 -0
  197. package/dist/data/MarkdownEditor.model.js +27 -0
  198. package/dist/data/MarkdownEditor.model.js.map +1 -0
  199. package/dist/data/ObjectGraph.cjs +44 -0
  200. package/dist/data/ObjectGraph.cjs.map +1 -0
  201. package/dist/data/ObjectGraph.d.ts +39 -0
  202. package/dist/data/ObjectGraph.d.ts.map +1 -0
  203. package/dist/data/ObjectGraph.js +44 -0
  204. package/dist/data/ObjectGraph.js.map +1 -0
  205. package/dist/data/SchemaViewer.cjs +152 -0
  206. package/dist/data/SchemaViewer.cjs.map +1 -0
  207. package/dist/data/SchemaViewer.d.ts +27 -0
  208. package/dist/data/SchemaViewer.d.ts.map +1 -0
  209. package/dist/data/SchemaViewer.js +152 -0
  210. package/dist/data/SchemaViewer.js.map +1 -0
  211. package/dist/data/TimeseriesCoreBars.cjs +51 -12
  212. package/dist/data/TimeseriesCoreBars.cjs.map +1 -1
  213. package/dist/data/TimeseriesCoreBars.d.ts +32 -5
  214. package/dist/data/TimeseriesCoreBars.d.ts.map +1 -1
  215. package/dist/data/TimeseriesCoreBars.js +51 -12
  216. package/dist/data/TimeseriesCoreBars.js.map +1 -1
  217. package/dist/data/TimeseriesCoreBars.model.cjs +5 -5
  218. package/dist/data/TimeseriesCoreBars.model.cjs.map +1 -1
  219. package/dist/data/TimeseriesCoreBars.model.d.ts +4 -4
  220. package/dist/data/TimeseriesCoreBars.model.d.ts.map +1 -1
  221. package/dist/data/TimeseriesCoreBars.model.js +5 -5
  222. package/dist/data/TimeseriesCoreBars.model.js.map +1 -1
  223. package/dist/data/TimeseriesGauge.cjs +103 -65
  224. package/dist/data/TimeseriesGauge.cjs.map +1 -1
  225. package/dist/data/TimeseriesGauge.d.ts +10 -1
  226. package/dist/data/TimeseriesGauge.d.ts.map +1 -1
  227. package/dist/data/TimeseriesGauge.js +104 -66
  228. package/dist/data/TimeseriesGauge.js.map +1 -1
  229. package/dist/data/WorkloadCard.cjs +4 -4
  230. package/dist/data/WorkloadCard.cjs.map +1 -1
  231. package/dist/data/WorkloadCard.d.ts +3 -2
  232. package/dist/data/WorkloadCard.d.ts.map +1 -1
  233. package/dist/data/WorkloadCard.js +4 -4
  234. package/dist/data/WorkloadCard.js.map +1 -1
  235. package/dist/data/ai/ChatWindow.cjs +11 -19
  236. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  237. package/dist/data/ai/ChatWindow.d.ts +1 -7
  238. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  239. package/dist/data/ai/ChatWindow.js +11 -19
  240. package/dist/data/ai/ChatWindow.js.map +1 -1
  241. package/dist/data/ai/ChatWindowRequestBody.cjs +20 -0
  242. package/dist/data/ai/ChatWindowRequestBody.cjs.map +1 -0
  243. package/dist/data/ai/ChatWindowRequestBody.d.ts +9 -0
  244. package/dist/data/ai/ChatWindowRequestBody.d.ts.map +1 -0
  245. package/dist/data/ai/ChatWindowRequestBody.js +20 -0
  246. package/dist/data/ai/ChatWindowRequestBody.js.map +1 -0
  247. package/dist/data/chat/Chat.cjs +12 -0
  248. package/dist/data/chat/Chat.cjs.map +1 -1
  249. package/dist/data/chat/Chat.d.ts +8 -1
  250. package/dist/data/chat/Chat.d.ts.map +1 -1
  251. package/dist/data/chat/Chat.js +12 -0
  252. package/dist/data/chat/Chat.js.map +1 -1
  253. package/dist/data/gauge-stats.cjs +19 -0
  254. package/dist/data/gauge-stats.cjs.map +1 -0
  255. package/dist/data/gauge-stats.d.ts +15 -0
  256. package/dist/data/gauge-stats.d.ts.map +1 -0
  257. package/dist/data/gauge-stats.js +19 -0
  258. package/dist/data/gauge-stats.js.map +1 -0
  259. package/dist/data/schema-viewer-model.cjs +436 -0
  260. package/dist/data/schema-viewer-model.cjs.map +1 -0
  261. package/dist/data/schema-viewer-model.d.ts +64 -0
  262. package/dist/data/schema-viewer-model.d.ts.map +1 -0
  263. package/dist/data/schema-viewer-model.js +436 -0
  264. package/dist/data/schema-viewer-model.js.map +1 -0
  265. package/dist/data/version-info.cjs +2 -2
  266. package/dist/data/version-info.js +2 -2
  267. package/dist/data.cjs +23 -0
  268. package/dist/data.cjs.map +1 -1
  269. package/dist/data.d.ts +11 -3
  270. package/dist/data.d.ts.map +1 -1
  271. package/dist/data.js +23 -0
  272. package/dist/data.js.map +1 -1
  273. package/dist/index.cjs +87 -2
  274. package/dist/index.cjs.map +1 -1
  275. package/dist/index.d.ts +1 -0
  276. package/dist/index.d.ts.map +1 -1
  277. package/dist/index.js +87 -2
  278. package/dist/index.js.map +1 -1
  279. package/dist/rpc/EntityExplorerApp.cjs +102 -143
  280. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  281. package/dist/rpc/EntityExplorerApp.d.ts +34 -1
  282. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  283. package/dist/rpc/EntityExplorerApp.js +105 -146
  284. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  285. package/dist/rpc/OperationActionBar.cjs +135 -0
  286. package/dist/rpc/OperationActionBar.cjs.map +1 -0
  287. package/dist/rpc/OperationActionBar.d.ts +20 -0
  288. package/dist/rpc/OperationActionBar.d.ts.map +1 -0
  289. package/dist/rpc/OperationActionBar.js +135 -0
  290. package/dist/rpc/OperationActionBar.js.map +1 -0
  291. package/dist/rpc/OperationCatalog.cjs +79 -116
  292. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  293. package/dist/rpc/OperationCatalog.d.ts +8 -1
  294. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  295. package/dist/rpc/OperationCatalog.js +80 -117
  296. package/dist/rpc/OperationCatalog.js.map +1 -1
  297. package/dist/rpc/OperationCommandPage.cjs +134 -223
  298. package/dist/rpc/OperationCommandPage.cjs.map +1 -1
  299. package/dist/rpc/OperationCommandPage.d.ts +1 -1
  300. package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
  301. package/dist/rpc/OperationCommandPage.js +135 -224
  302. package/dist/rpc/OperationCommandPage.js.map +1 -1
  303. package/dist/rpc/OperationEntityPage.cjs +49 -100
  304. package/dist/rpc/OperationEntityPage.cjs.map +1 -1
  305. package/dist/rpc/OperationEntityPage.d.ts +6 -1
  306. package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
  307. package/dist/rpc/OperationEntityPage.js +50 -101
  308. package/dist/rpc/OperationEntityPage.js.map +1 -1
  309. package/dist/rpc/OperationResultView.cjs +43 -0
  310. package/dist/rpc/OperationResultView.cjs.map +1 -0
  311. package/dist/rpc/OperationResultView.d.ts +30 -0
  312. package/dist/rpc/OperationResultView.d.ts.map +1 -0
  313. package/dist/rpc/OperationResultView.js +43 -0
  314. package/dist/rpc/OperationResultView.js.map +1 -0
  315. package/dist/rpc/SchemaActionForm.cjs +102 -0
  316. package/dist/rpc/SchemaActionForm.cjs.map +1 -0
  317. package/dist/rpc/SchemaActionForm.d.ts +23 -0
  318. package/dist/rpc/SchemaActionForm.d.ts.map +1 -0
  319. package/dist/rpc/SchemaActionForm.js +102 -0
  320. package/dist/rpc/SchemaActionForm.js.map +1 -0
  321. package/dist/rpc/accept-options.cjs.map +1 -1
  322. package/dist/rpc/accept-options.d.ts +0 -1
  323. package/dist/rpc/accept-options.d.ts.map +1 -1
  324. package/dist/rpc/accept-options.js.map +1 -1
  325. package/dist/rpc/apiClient.cjs +34 -2
  326. package/dist/rpc/apiClient.cjs.map +1 -1
  327. package/dist/rpc/apiClient.d.ts +4 -1
  328. package/dist/rpc/apiClient.d.ts.map +1 -1
  329. package/dist/rpc/apiClient.js +34 -2
  330. package/dist/rpc/apiClient.js.map +1 -1
  331. package/dist/rpc/clickyMetadata.cjs +4 -4
  332. package/dist/rpc/clickyMetadata.cjs.map +1 -1
  333. package/dist/rpc/clickyMetadata.d.ts +0 -1
  334. package/dist/rpc/clickyMetadata.d.ts.map +1 -1
  335. package/dist/rpc/clickyMetadata.js +4 -4
  336. package/dist/rpc/clickyMetadata.js.map +1 -1
  337. package/dist/rpc/formMetadata.cjs +1 -0
  338. package/dist/rpc/formMetadata.cjs.map +1 -1
  339. package/dist/rpc/formMetadata.d.ts +6 -1
  340. package/dist/rpc/formMetadata.d.ts.map +1 -1
  341. package/dist/rpc/formMetadata.js +1 -0
  342. package/dist/rpc/formMetadata.js.map +1 -1
  343. package/dist/rpc/rowNavigation.cjs +86 -0
  344. package/dist/rpc/rowNavigation.cjs.map +1 -0
  345. package/dist/rpc/rowNavigation.d.ts +14 -0
  346. package/dist/rpc/rowNavigation.d.ts.map +1 -0
  347. package/dist/rpc/rowNavigation.js +86 -0
  348. package/dist/rpc/rowNavigation.js.map +1 -0
  349. package/dist/rpc/schemaActionPath.cjs +22 -0
  350. package/dist/rpc/schemaActionPath.cjs.map +1 -0
  351. package/dist/rpc/schemaActionPath.d.ts +4 -0
  352. package/dist/rpc/schemaActionPath.d.ts.map +1 -0
  353. package/dist/rpc/schemaActionPath.js +22 -0
  354. package/dist/rpc/schemaActionPath.js.map +1 -0
  355. package/dist/rpc/surfaceIconMap.cjs +35 -0
  356. package/dist/rpc/surfaceIconMap.cjs.map +1 -0
  357. package/dist/rpc/surfaceIconMap.d.ts +3 -0
  358. package/dist/rpc/surfaceIconMap.d.ts.map +1 -0
  359. package/dist/rpc/surfaceIconMap.js +35 -0
  360. package/dist/rpc/surfaceIconMap.js.map +1 -0
  361. package/dist/rpc/types.cjs.map +1 -1
  362. package/dist/rpc/types.d.ts +2 -0
  363. package/dist/rpc/types.d.ts.map +1 -1
  364. package/dist/rpc/types.js.map +1 -1
  365. package/dist/rpc/useOperations.cjs.map +1 -1
  366. package/dist/rpc/useOperations.d.ts +4 -1
  367. package/dist/rpc/useOperations.d.ts.map +1 -1
  368. package/dist/rpc/useOperations.js.map +1 -1
  369. package/dist/rpc.cjs +4 -2
  370. package/dist/rpc.cjs.map +1 -1
  371. package/dist/rpc.d.ts +7 -6
  372. package/dist/rpc.d.ts.map +1 -1
  373. package/dist/rpc.js +4 -2
  374. package/dist/rpc.js.map +1 -1
  375. package/dist/styles.css +1 -1
  376. package/package.json +6 -1
  377. package/dist/rpc/AcceptPicker.cjs +0 -137
  378. package/dist/rpc/AcceptPicker.cjs.map +0 -1
  379. package/dist/rpc/AcceptPicker.d.ts +0 -12
  380. package/dist/rpc/AcceptPicker.d.ts.map +0 -1
  381. package/dist/rpc/AcceptPicker.js +0 -137
  382. package/dist/rpc/AcceptPicker.js.map +0 -1
@@ -3,17 +3,16 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const react = require("react");
5
5
  const reactQuery = require("@tanstack/react-query");
6
- const FilterBar = require("../components/FilterBar.cjs");
7
6
  const MethodBadge = require("../data/MethodBadge.cjs");
8
- const AcceptPicker = require("./AcceptPicker.cjs");
9
7
  const CommandForm = require("./CommandForm.cjs");
10
8
  const commandFormUtils = require("./command-form-utils.cjs");
11
- const CommandOutput = require("./CommandOutput.cjs");
12
9
  const formMetadata = require("./formMetadata.cjs");
13
10
  const InlineError = require("./InlineError.cjs");
14
11
  const OperationActionDialog = require("./OperationActionDialog.cjs");
15
- const types = require("./types.cjs");
12
+ const OperationResultView = require("./OperationResultView.cjs");
13
+ const rowNavigation = require("./rowNavigation.cjs");
16
14
  const useOperations = require("./useOperations.cjs");
15
+ const RESULT_ACCEPT = "application/clicky+json";
17
16
  const EMPTY_PARAMETER_VALUES = {};
18
17
  function OperationCommandPage({
19
18
  client,
@@ -26,18 +25,19 @@ function OperationCommandPage({
26
25
  backLabel = "Back",
27
26
  renderLink,
28
27
  onNavigate,
28
+ commandRuntime,
29
29
  hideLockedPathFilters = Boolean(providedOperation),
30
30
  className
31
31
  }) {
32
- const lookup = useOperations.useOperationById(client, providedOperation ? void 0 : operationId);
32
+ const lookup = useOperations.useOperationById(
33
+ client,
34
+ providedOperation ? void 0 : operationId
35
+ );
33
36
  const operation = providedOperation ?? lookup.operation;
34
37
  const isLoading = providedOperation ? false : lookup.isLoading;
35
- const [accept, setAccept] = react.useState("application/clicky+json");
36
- const [previewMode, setPreviewMode] = react.useState("hidden");
37
38
  const [isExecuting, setIsExecuting] = react.useState(false);
38
39
  const [result, setResult] = react.useState(null);
39
40
  const [error, setError] = react.useState(null);
40
- const [submitError, setSubmitError] = react.useState("");
41
41
  const [hasAutoRun, setHasAutoRun] = react.useState(false);
42
42
  const parameters = (operation == null ? void 0 : operation.operation.parameters) ?? [];
43
43
  const isGet = ((operation == null ? void 0 : operation.method) ?? "").toUpperCase() === "GET";
@@ -59,7 +59,10 @@ function OperationCommandPage({
59
59
  parameters,
60
60
  operation.method,
61
61
  {},
62
- stripRunnerParams(initialValues)
62
+ {
63
+ ...readQueryParameterValuesFromUrl(parameters),
64
+ ...stripRunnerParams(initialValues)
65
+ }
63
66
  ) : stripRunnerParams(initialValues),
64
67
  [initialValues, operation == null ? void 0 : operation.method, parameterSignature]
65
68
  );
@@ -85,11 +88,19 @@ function OperationCommandPage({
85
88
  const [values, setValues] = react.useState(effectiveInitialValues);
86
89
  react.useEffect(() => {
87
90
  setValues(effectiveInitialValues);
88
- setSubmitError("");
89
91
  }, [effectiveInitialValues]);
90
92
  const debouncedValues = formMetadata.useDebouncedRecord(values, 250);
93
+ react.useEffect(() => {
94
+ if (!isGet || !operation) return;
95
+ writeQueryParameterValuesToUrl(debouncedValues, parameters);
96
+ }, [isGet, operationKey, debouncedValues, parameterSignature]);
91
97
  const lookupQuery = reactQuery.useQuery({
92
- queryKey: ["operation-query-lookup", operation == null ? void 0 : operation.method, operation == null ? void 0 : operation.path, debouncedValues],
98
+ queryKey: [
99
+ "operation-query-lookup",
100
+ operation == null ? void 0 : operation.method,
101
+ operation == null ? void 0 : operation.path,
102
+ debouncedValues
103
+ ],
93
104
  queryFn: async () => {
94
105
  var _a;
95
106
  if (!operation) return { filters: {} };
@@ -112,30 +123,19 @@ function OperationCommandPage({
112
123
  lockedValues: lockedPathValues,
113
124
  hideLocked: hideLockedPathFilters
114
125
  });
115
- }, [isGet, parameters, values, lookupQuery.data, lockedPathValues, hideLockedPathFilters]);
126
+ }, [
127
+ isGet,
128
+ parameters,
129
+ values,
130
+ lookupQuery.data,
131
+ lockedPathValues,
132
+ hideLockedPathFilters
133
+ ]);
116
134
  const dataTablePagination = react.useMemo(
117
135
  () => formMetadata.dataTablePaginationFromForm(formConfig.pagination, result),
118
136
  [formConfig.pagination, result]
119
137
  );
120
138
  const lastSubmittedSignature = react.useRef("");
121
- function handleManualSubmit() {
122
- if (!operation) return;
123
- const merged = { ...values, ...lockedPathValues };
124
- const missingRequired = parameters.filter((param) => {
125
- if (!param.required) return false;
126
- return (merged[param.name] ?? "").trim() === "";
127
- });
128
- if (missingRequired.length > 0) {
129
- setSubmitError(
130
- `Missing required fields: ${missingRequired.map((param) => formMetadata.titleCase(param.name)).join(", ")}`
131
- );
132
- return;
133
- }
134
- setSubmitError("");
135
- setHasAutoRun(true);
136
- lastSubmittedSignature.current = JSON.stringify(formMetadata.pruneParameterValues(merged));
137
- void executeOperation(merged);
138
- }
139
139
  async function executeOperation(values2) {
140
140
  if (!operation) return;
141
141
  setIsExecuting(true);
@@ -145,7 +145,7 @@ function OperationCommandPage({
145
145
  operation.path,
146
146
  operation.method,
147
147
  formMetadata.packParameterValues(values2, operation.operation.parameters ?? []),
148
- { Accept: accept }
148
+ { Accept: RESULT_ACCEPT }
149
149
  );
150
150
  setResult(response);
151
151
  } catch (err) {
@@ -169,10 +169,11 @@ function OperationCommandPage({
169
169
  });
170
170
  if (missingRequired.length > 0) return;
171
171
  setHasAutoRun(true);
172
- lastSubmittedSignature.current = JSON.stringify(formMetadata.pruneParameterValues(effectiveInitialValues));
172
+ lastSubmittedSignature.current = JSON.stringify(
173
+ formMetadata.pruneParameterValues(effectiveInitialValues)
174
+ );
173
175
  void executeOperation(effectiveInitialValues);
174
176
  }, [
175
- accept,
176
177
  effectiveAutoRun,
177
178
  effectiveInitialValues,
178
179
  hasAutoRun,
@@ -191,28 +192,25 @@ function OperationCommandPage({
191
192
  if (lastSubmittedSignature.current === signature) return;
192
193
  lastSubmittedSignature.current = signature;
193
194
  void executeOperation(merged);
194
- }, [isGet, hasAutoRun, debouncedValues, lockedPathValues, parameterSignature]);
195
- const getRowDetailHref = react.useCallback(
196
- (row) => {
197
- if (!detailOperation) return void 0;
198
- const id = getClickyRowId(row);
199
- if (!id) return void 0;
200
- return hrefForOperation(detailOperation, [], { id });
201
- },
202
- [detailOperation]
203
- );
204
- const handleTableRowClick = react.useCallback(
205
- (row) => {
206
- const href = getRowDetailHref(row);
207
- if (href) onNavigate == null ? void 0 : onNavigate(href);
208
- },
209
- [getRowDetailHref, onNavigate]
210
- );
195
+ }, [
196
+ isGet,
197
+ hasAutoRun,
198
+ debouncedValues,
199
+ lockedPathValues,
200
+ parameterSignature
201
+ ]);
211
202
  const backLink = backHref == null ? null : renderLink ? renderLink({
212
203
  to: backHref,
213
204
  className: "text-sm text-primary underline-offset-4 hover:underline",
214
205
  children: backLabel
215
- }) : /* @__PURE__ */ jsxRuntime.jsx("a", { href: backHref, className: "text-sm text-primary underline-offset-4 hover:underline", children: backLabel });
206
+ }) : /* @__PURE__ */ jsxRuntime.jsx(
207
+ "a",
208
+ {
209
+ href: backHref,
210
+ className: "text-sm text-primary underline-offset-4 hover:underline",
211
+ children: backLabel
212
+ }
213
+ );
216
214
  if (isLoading) {
217
215
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-sm text-muted-foreground", children: "Loading operation..." });
218
216
  }
@@ -226,7 +224,6 @@ function OperationCommandPage({
226
224
  ] });
227
225
  }
228
226
  const { path, method, operation: op } = operation;
229
- const preview = buildOperationPreview(operation, effectiveInitialValues, accept, previewMode);
230
227
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: className ?? "min-w-0 flex-1 space-y-6 p-6", children: [
231
228
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-start justify-between gap-4", children: [
232
229
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0 flex-1", children: [
@@ -239,102 +236,64 @@ function OperationCommandPage({
239
236
  op.operationId && op.summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-2 font-mono text-xs text-muted-foreground", children: op.operationId }),
240
237
  op.description && op.description !== op.summary && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: op.description })
241
238
  ] }),
242
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex shrink-0 flex-col items-end gap-3", children: [
243
- /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
244
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mb-1 text-right text-[10px] font-semibold uppercase tracking-wider text-muted-foreground", children: "Accept" }),
245
- /* @__PURE__ */ jsxRuntime.jsx(
246
- AcceptPicker.AcceptPicker,
247
- {
248
- value: accept,
249
- onChange: setAccept,
250
- previewMode,
251
- onPreviewModeChange: setPreviewMode
252
- }
253
- )
254
- ] }),
255
- relatedOperations.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap justify-end gap-2", children: relatedOperations.map(
256
- (related) => related.href ? renderLink ? renderLink({
257
- key: `${related.operation.method}:${related.operation.path}`,
258
- to: related.href,
239
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex shrink-0 flex-col items-end gap-3", children: relatedOperations.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-wrap justify-end gap-2", children: relatedOperations.map(
240
+ (related) => related.href ? renderLink ? renderLink({
241
+ key: `${related.operation.method}:${related.operation.path}`,
242
+ to: related.href,
243
+ className: "inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground",
244
+ children: related.label
245
+ }) : /* @__PURE__ */ jsxRuntime.jsx(
246
+ "a",
247
+ {
248
+ href: related.href,
259
249
  className: "inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground",
260
250
  children: related.label
261
- }) : /* @__PURE__ */ jsxRuntime.jsx(
262
- "a",
263
- {
264
- href: related.href,
265
- className: "inline-flex h-8 items-center justify-center gap-2 rounded-md border border-input bg-background px-3 text-xs font-medium hover:bg-accent hover:text-accent-foreground",
266
- children: related.label
267
- },
268
- `${related.operation.method}:${related.operation.path}`
269
- ) : /* @__PURE__ */ jsxRuntime.jsx(
270
- OperationActionDialog.OperationActionDialog,
271
- {
272
- operation: related.operation,
273
- client,
274
- initialValues: lockedPathValues,
275
- label: related.label,
276
- defaultAccept: accept,
277
- ...onNavigate ? { onNavigateAction: onNavigate } : {}
278
- },
279
- `${related.operation.method}:${related.operation.path}`
280
- )
281
- ) })
282
- ] })
251
+ },
252
+ `${related.operation.method}:${related.operation.path}`
253
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
254
+ OperationActionDialog.OperationActionDialog,
255
+ {
256
+ operation: related.operation,
257
+ client,
258
+ initialValues: lockedPathValues,
259
+ label: related.label,
260
+ defaultAccept: RESULT_ACCEPT,
261
+ ...onNavigate ? { onNavigateAction: onNavigate } : {}
262
+ },
263
+ `${related.operation.method}:${related.operation.path}`
264
+ )
265
+ ) }) })
283
266
  ] }),
284
- /* @__PURE__ */ jsxRuntime.jsxs("section", { className: "space-y-3", children: [
285
- method.toUpperCase() === "GET" ? parameters.length > 0 ? (
286
- // Before a result lands the FilterBar lives here so users can
287
- // fill in path params / required inputs and submit. Once a
288
- // result is showing AND auto-run is on (sidebar flow), the same
289
- // filter chips relocate into the DataTable's filter bar via
290
- // externalFilters, which is the unified placement the user asked
291
- // for. The two branches share `formConfig.filters` so the values
292
- // stay in sync.
293
- !result || !effectiveAutoRun ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-2", children: [
294
- /* @__PURE__ */ jsxRuntime.jsx(
295
- FilterBar.FilterBar,
296
- {
297
- autoSubmit: effectiveAutoRun,
298
- filters: formConfig.filters,
299
- ...!effectiveAutoRun ? { onApply: () => handleManualSubmit() } : {},
300
- applyLabel: "Execute request",
301
- isPending: isExecuting,
302
- ...formConfig.timeRange ? { timeRange: formConfig.timeRange } : {}
303
- }
304
- ),
305
- submitError && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-md border border-destructive/40 bg-destructive/5 p-3 text-sm text-destructive", children: submitError })
306
- ] }) : null
307
- ) : null : /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
308
- CommandForm.CommandForm,
309
- {
310
- parameters,
311
- onExecute: (params) => executeOperation(params),
312
- isPending: isExecuting,
313
- method,
314
- path,
315
- accept,
316
- initialValues: effectiveInitialValues
317
- }
318
- ) }),
319
- preview && /* @__PURE__ */ jsxRuntime.jsx("pre", { className: "overflow-x-auto rounded-md bg-muted p-3 font-mono text-xs", children: preview })
320
- ] }),
321
- error ? /* @__PURE__ */ jsxRuntime.jsx(InlineError.InlineError, { title: `Failed to load ${path} as ${accept}`, error }) : isExecuting || result ? /* @__PURE__ */ jsxRuntime.jsx("div", { role: "region", "aria-label": "Response body", children: /* @__PURE__ */ jsxRuntime.jsx(
322
- CommandOutput.CommandOutput,
267
+ method.toUpperCase() !== "GET" && /* @__PURE__ */ jsxRuntime.jsx("section", { className: "space-y-3", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "rounded-lg border p-4", children: /* @__PURE__ */ jsxRuntime.jsx(
268
+ CommandForm.CommandForm,
269
+ {
270
+ parameters,
271
+ onExecute: (params) => executeOperation(params),
272
+ isPending: isExecuting,
273
+ method,
274
+ path,
275
+ accept: RESULT_ACCEPT,
276
+ initialValues: effectiveInitialValues
277
+ }
278
+ ) }) }),
279
+ error ? /* @__PURE__ */ jsxRuntime.jsx(InlineError.InlineError, { title: `Failed to load ${path}`, error }) : isExecuting || result ? /* @__PURE__ */ jsxRuntime.jsx(
280
+ OperationResultView.OperationResultView,
323
281
  {
324
282
  response: result,
325
283
  loading: isExecuting,
326
284
  loadingMessage: "Loading execution results…",
327
- bare: true,
328
- ...detailOperation ? {
329
- getTableRowHref: getRowDetailHref,
330
- onTableRowClick: handleTableRowClick,
331
- isTableRowClickable: (row) => Boolean(getRowDetailHref(row))
285
+ ariaLabel: "Response body",
286
+ detailOperation,
287
+ ...commandRuntime ? { commandRuntime } : {},
288
+ ...isGet && effectiveAutoRun ? {
289
+ filterConfig: {
290
+ filters: formConfig.filters,
291
+ ...formConfig.timeRange ? { timeRange: formConfig.timeRange } : {}
292
+ }
332
293
  } : {},
333
- ...isGet && effectiveAutoRun && formConfig.filters.length > 0 ? { externalFilters: formConfig.filters } : {},
334
- ...isGet && effectiveAutoRun && formConfig.timeRange ? { timeRange: formConfig.timeRange } : {},
335
294
  ...isGet && effectiveAutoRun && dataTablePagination ? { pagination: dataTablePagination } : {}
336
295
  }
337
- ) }) : null
296
+ ) : null
338
297
  ] });
339
298
  }
340
299
  function findRelatedOperations(current, operations, pathValues) {
@@ -349,13 +308,15 @@ function findRelatedOperations(current, operations, pathValues) {
349
308
  return method === "GET" || method === "POST" || method === "PUT" || method === "DELETE";
350
309
  }).map((related) => {
351
310
  const method = related.method.toUpperCase();
352
- const href = method === "GET" ? hrefForOperation(related, [], pathValues) : void 0;
311
+ const href = method === "GET" ? rowNavigation.hrefForOperation(related, [], pathValues) : void 0;
353
312
  return {
354
313
  operation: related,
355
314
  label: operationLabel(related),
356
315
  ...href ? { href } : {}
357
316
  };
358
- }).filter((related) => related.operation.method.toUpperCase() !== "GET" || related.href);
317
+ }).filter(
318
+ (related) => related.operation.method.toUpperCase() !== "GET" || related.href
319
+ );
359
320
  }
360
321
  function findDetailOperation(current, operations) {
361
322
  const method = current.method.toUpperCase();
@@ -369,28 +330,6 @@ function findDetailOperation(current, operations) {
369
330
  }
370
331
  );
371
332
  }
372
- function hrefForOperation(operation, args = [], flags = {}) {
373
- let route = apiPathToRoutePath(operation.path);
374
- const consumedFlags = /* @__PURE__ */ new Set();
375
- commandFormUtils.pathParamNames(operation.path).forEach((name, index) => {
376
- const value = flags[name] ?? args[index];
377
- if (!value) return;
378
- consumedFlags.add(name);
379
- route = route.replace(`:${name}`, encodeURIComponent(value));
380
- });
381
- if (route.includes(":")) return void 0;
382
- const search = new URLSearchParams();
383
- for (const [key, value] of Object.entries(flags)) {
384
- if (value && !consumedFlags.has(key)) search.set(key, value);
385
- }
386
- const query = search.toString();
387
- return query ? `${route}?${query}` : route;
388
- }
389
- function apiPathToRoutePath(path) {
390
- const cliPath = path.trim().replace(/^\/api\/v1\/?/, "").replace(/^\/+/, "").replace(/\/+$/, "");
391
- if (!cliPath) return "/";
392
- return `/${cliPath.replace(/\{([^}]+)\}/g, ":$1")}`;
393
- }
394
333
  function pathTemplateSatisfied(path, values) {
395
334
  return commandFormUtils.pathParamNames(path).every((name) => Boolean(values[name]));
396
335
  }
@@ -399,52 +338,6 @@ function operationLabel(operation) {
399
338
  const actionName = ((_a = operation.operation["x-clicky"]) == null ? void 0 : _a.actionName) || operation.path.split("/").filter(Boolean).at(-1) || operation.operation.operationId || operation.method;
400
339
  return formMetadata.titleCase(actionName.replace(/[_-]+/g, " "));
401
340
  }
402
- function buildOperationPreview(operation, values, accept, mode) {
403
- if (mode === "hidden") return "";
404
- if (mode === "cli") return buildCliPreview(operation, values);
405
- return buildCurlPreview(operation, values, accept);
406
- }
407
- function buildCurlPreview(operation, values, accept) {
408
- const params = operation.operation.parameters ?? [];
409
- const parts = [`curl -X ${operation.method.toUpperCase()}`];
410
- if (accept !== "application/json") parts.push(`-H "Accept: ${accept}"`);
411
- let url = operation.path;
412
- const queryParts = [];
413
- for (const param of params) {
414
- const value = commandFormUtils.submitValue(param, values[param.name]);
415
- if (!value) continue;
416
- if (param.in === "path") {
417
- url = url.replace(`{${param.name}}`, encodeURIComponent(value));
418
- } else if (param.in === "query") {
419
- queryParts.push(`${encodeURIComponent(param.name)}=${encodeURIComponent(value)}`);
420
- }
421
- }
422
- if (queryParts.length > 0) url += `?${queryParts.join("&")}`;
423
- parts.push(`"${url}"`);
424
- return parts.join(" ");
425
- }
426
- function buildCliPreview(operation, values) {
427
- var _a;
428
- const command = (_a = operation.operation["x-clicky"]) == null ? void 0 : _a.command;
429
- if (!command) return buildCurlPreview(operation, values, "application/json");
430
- const params = operation.operation.parameters ?? [];
431
- const positionalNames = new Set(params.filter(types.isPositionalParam).map((param) => param.name));
432
- const parts = [command.replaceAll("/", " ")];
433
- for (const param of params) {
434
- const value = commandFormUtils.submitValue(param, values[param.name]);
435
- if (!value) continue;
436
- if (param.in === "path" || positionalNames.has(param.name)) {
437
- parts.push(shellQuote(value));
438
- continue;
439
- }
440
- parts.push(`--${param.name}`, shellQuote(value));
441
- }
442
- return parts.join(" ");
443
- }
444
- function shellQuote(value) {
445
- if (/^[a-zA-Z0-9_./:@-]+$/.test(value)) return value;
446
- return `'${value.replaceAll("'", "'\\''")}'`;
447
- }
448
341
  function stripRunnerParams(values) {
449
342
  const next = {};
450
343
  for (const [key, value] of Object.entries(values)) {
@@ -453,23 +346,41 @@ function stripRunnerParams(values) {
453
346
  }
454
347
  return next;
455
348
  }
456
- function getClickyRowId(row) {
457
- const candidates = ["_id", "id", "ID", "guid", "GUID"];
458
- for (const key of candidates) {
459
- const value = clickyNodeText(row.cells[key]);
460
- if (value) return value;
349
+ function readQueryParameterValuesFromUrl(parameters) {
350
+ if (typeof window === "undefined") return {};
351
+ const queryParamNames = new Set(
352
+ parameters.filter((param) => param.in === "query").map((p) => p.name)
353
+ );
354
+ if (queryParamNames.size === 0) return {};
355
+ const values = {};
356
+ const search = new URLSearchParams(window.location.search);
357
+ for (const name of queryParamNames) {
358
+ const value = search.get(name);
359
+ if (value != null && value !== "") {
360
+ values[name] = value;
361
+ }
461
362
  }
462
- return void 0;
363
+ return values;
463
364
  }
464
- function clickyNodeText(node) {
465
- if (!node) return "";
466
- if (node.plain) return node.plain;
467
- if (node.text) return node.text;
468
- if (node.source) return node.source;
469
- if (node.children) return node.children.map(clickyNodeText).join("");
470
- if (node.items) return node.items.map(clickyNodeText).join(" ");
471
- if (node.fields) return node.fields.map((field) => clickyNodeText(field.value)).join(" ");
472
- return "";
365
+ function writeQueryParameterValuesToUrl(values, parameters) {
366
+ if (typeof window === "undefined") return;
367
+ const queryParameters = parameters.filter((param) => param.in === "query");
368
+ if (queryParameters.length === 0) return;
369
+ const search = new URLSearchParams(window.location.search);
370
+ for (const param of queryParameters) {
371
+ const value = commandFormUtils.submitValue(param, values[param.name]);
372
+ if (value == null) {
373
+ search.delete(param.name);
374
+ } else {
375
+ search.set(param.name, value);
376
+ }
377
+ }
378
+ const query = search.toString();
379
+ const next = `${window.location.pathname}${query ? `?${query}` : ""}${window.location.hash}`;
380
+ const current = `${window.location.pathname}${window.location.search}${window.location.hash}`;
381
+ if (next !== current) {
382
+ window.history.replaceState(window.history.state, "", next);
383
+ }
473
384
  }
474
385
  exports.OperationCommandPage = OperationCommandPage;
475
386
  //# sourceMappingURL=OperationCommandPage.cjs.map