@flanksource/clicky-ui 0.3.19 → 0.3.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 (450) hide show
  1. package/dist/components/ErrorWrapper.cjs +1 -1
  2. package/dist/components/ErrorWrapper.cjs.map +1 -1
  3. package/dist/components/ErrorWrapper.js +1 -1
  4. package/dist/components/ErrorWrapper.js.map +1 -1
  5. package/dist/components/UnitStepControls.cjs +55 -0
  6. package/dist/components/UnitStepControls.cjs.map +1 -0
  7. package/dist/components/UnitStepControls.d.ts +10 -0
  8. package/dist/components/UnitStepControls.d.ts.map +1 -0
  9. package/dist/components/UnitStepControls.js +55 -0
  10. package/dist/components/UnitStepControls.js.map +1 -0
  11. package/dist/components/json-schema-form-accordion-array.cjs +5 -73
  12. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  13. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  14. package/dist/components/json-schema-form-accordion-array.js +3 -71
  15. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  16. package/dist/components/json-schema-form-array.cjs +6 -1
  17. package/dist/components/json-schema-form-array.cjs.map +1 -1
  18. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  19. package/dist/components/json-schema-form-array.js +6 -1
  20. package/dist/components/json-schema-form-array.js.map +1 -1
  21. package/dist/components/json-schema-form-cards-array.cjs +96 -0
  22. package/dist/components/json-schema-form-cards-array.cjs.map +1 -0
  23. package/dist/components/json-schema-form-cards-array.d.ts +7 -0
  24. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -0
  25. package/dist/components/json-schema-form-cards-array.js +96 -0
  26. package/dist/components/json-schema-form-cards-array.js.map +1 -0
  27. package/dist/components/json-schema-form-item-row.cjs +81 -0
  28. package/dist/components/json-schema-form-item-row.cjs.map +1 -0
  29. package/dist/components/json-schema-form-item-row.d.ts +19 -0
  30. package/dist/components/json-schema-form-item-row.d.ts.map +1 -0
  31. package/dist/components/json-schema-form-item-row.js +81 -0
  32. package/dist/components/json-schema-form-item-row.js.map +1 -0
  33. package/dist/components/json-schema-form-render.cjs +2 -2
  34. package/dist/components/json-schema-form-render.cjs.map +1 -1
  35. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  36. package/dist/components/json-schema-form-render.js +2 -2
  37. package/dist/components/json-schema-form-render.js.map +1 -1
  38. package/dist/components/json-schema-form-resolve.cjs +1 -1
  39. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  40. package/dist/components/json-schema-form-resolve.js +1 -1
  41. package/dist/components/json-schema-form-resolve.js.map +1 -1
  42. package/dist/components/json-schema-form-tone.cjs +12 -0
  43. package/dist/components/json-schema-form-tone.cjs.map +1 -1
  44. package/dist/components/json-schema-form-tone.js +12 -0
  45. package/dist/components/json-schema-form-tone.js.map +1 -1
  46. package/dist/components/json-schema-form-types.d.ts +1 -1
  47. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  48. package/dist/components/unit-form-extension.cjs +126 -0
  49. package/dist/components/unit-form-extension.cjs.map +1 -0
  50. package/dist/components/unit-form-extension.d.ts +8 -0
  51. package/dist/components/unit-form-extension.d.ts.map +1 -0
  52. package/dist/components/unit-form-extension.js +126 -0
  53. package/dist/components/unit-form-extension.js.map +1 -0
  54. package/dist/components.cjs +4 -0
  55. package/dist/components.cjs.map +1 -1
  56. package/dist/components.d.ts +1 -0
  57. package/dist/components.d.ts.map +1 -1
  58. package/dist/components.js +4 -0
  59. package/dist/components.js.map +1 -1
  60. package/dist/data/diagnostics/ErrorDetails.cjs +61 -8
  61. package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
  62. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
  63. package/dist/data/diagnostics/ErrorDetails.js +61 -8
  64. package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
  65. package/dist/data/diagnostics/error-diagnostics.cjs +10 -4
  66. package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
  67. package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
  68. package/dist/data/diagnostics/error-diagnostics.js +10 -4
  69. package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
  70. package/dist/data/query-browser/QueryBrowser.cjs +12 -6
  71. package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
  72. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  73. package/dist/data/query-browser/QueryBrowser.js +12 -6
  74. package/dist/data/query-browser/QueryBrowser.js.map +1 -1
  75. package/dist/data/query-browser/QueryBrowser.types.cjs +2 -1
  76. package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -1
  77. package/dist/data/query-browser/QueryBrowser.types.d.ts +16 -14
  78. package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -1
  79. package/dist/data/query-browser/QueryBrowser.types.js +2 -1
  80. package/dist/data/query-browser/QueryBrowser.types.js.map +1 -1
  81. package/dist/data/version-info.cjs +3 -3
  82. package/dist/data/version-info.js +3 -3
  83. package/dist/index.cjs +4 -0
  84. package/dist/index.cjs.map +1 -1
  85. package/dist/index.js +4 -0
  86. package/dist/index.js.map +1 -1
  87. package/dist/lib/string.cjs +8 -0
  88. package/dist/lib/string.cjs.map +1 -1
  89. package/dist/lib/string.d.ts +1 -0
  90. package/dist/lib/string.d.ts.map +1 -1
  91. package/dist/lib/string.js +8 -0
  92. package/dist/lib/string.js.map +1 -1
  93. package/dist/profiles/catalogTree.cjs +133 -0
  94. package/dist/profiles/catalogTree.cjs.map +1 -0
  95. package/dist/profiles/catalogTree.d.ts +11 -0
  96. package/dist/profiles/catalogTree.d.ts.map +1 -0
  97. package/dist/profiles/catalogTree.js +133 -0
  98. package/dist/profiles/catalogTree.js.map +1 -0
  99. package/dist/profiles/connectionBrowserModel.cjs +185 -0
  100. package/dist/profiles/connectionBrowserModel.cjs.map +1 -0
  101. package/dist/profiles/connectionBrowserModel.d.ts +169 -0
  102. package/dist/profiles/connectionBrowserModel.d.ts.map +1 -0
  103. package/dist/profiles/connectionBrowserModel.js +185 -0
  104. package/dist/profiles/connectionBrowserModel.js.map +1 -0
  105. package/dist/profiles/connectionQueryWorkspace.cjs +185 -0
  106. package/dist/profiles/connectionQueryWorkspace.cjs.map +1 -0
  107. package/dist/profiles/connectionQueryWorkspace.d.ts +63 -0
  108. package/dist/profiles/connectionQueryWorkspace.d.ts.map +1 -0
  109. package/dist/profiles/connectionQueryWorkspace.js +185 -0
  110. package/dist/profiles/connectionQueryWorkspace.js.map +1 -0
  111. package/dist/profiles/connectionQueryWorkspaceModel.cjs +28 -0
  112. package/dist/profiles/connectionQueryWorkspaceModel.cjs.map +1 -0
  113. package/dist/profiles/connectionQueryWorkspaceModel.d.ts +38 -0
  114. package/dist/profiles/connectionQueryWorkspaceModel.d.ts.map +1 -0
  115. package/dist/profiles/connectionQueryWorkspaceModel.js +28 -0
  116. package/dist/profiles/connectionQueryWorkspaceModel.js.map +1 -0
  117. package/dist/profiles/esFieldValues.cjs +64 -0
  118. package/dist/profiles/esFieldValues.cjs.map +1 -0
  119. package/dist/profiles/esFieldValues.d.ts +48 -0
  120. package/dist/profiles/esFieldValues.d.ts.map +1 -0
  121. package/dist/profiles/esFieldValues.js +64 -0
  122. package/dist/profiles/esFieldValues.js.map +1 -0
  123. package/dist/profiles/esParamMappingModel.cjs +301 -0
  124. package/dist/profiles/esParamMappingModel.cjs.map +1 -0
  125. package/dist/profiles/esParamMappingModel.d.ts +37 -0
  126. package/dist/profiles/esParamMappingModel.d.ts.map +1 -0
  127. package/dist/profiles/esParamMappingModel.js +301 -0
  128. package/dist/profiles/esParamMappingModel.js.map +1 -0
  129. package/dist/profiles/esParamMappingPill.cjs +24 -0
  130. package/dist/profiles/esParamMappingPill.cjs.map +1 -0
  131. package/dist/profiles/esParamMappingPill.d.ts +13 -0
  132. package/dist/profiles/esParamMappingPill.d.ts.map +1 -0
  133. package/dist/profiles/esParamMappingPill.js +24 -0
  134. package/dist/profiles/esParamMappingPill.js.map +1 -0
  135. package/dist/profiles/esParamOperandExtension.cjs +75 -0
  136. package/dist/profiles/esParamOperandExtension.cjs.map +1 -0
  137. package/dist/profiles/esParamOperandExtension.d.ts +11 -0
  138. package/dist/profiles/esParamOperandExtension.d.ts.map +1 -0
  139. package/dist/profiles/esParamOperandExtension.js +75 -0
  140. package/dist/profiles/esParamOperandExtension.js.map +1 -0
  141. package/dist/profiles/esQueryBuilder.cjs +205 -0
  142. package/dist/profiles/esQueryBuilder.cjs.map +1 -0
  143. package/dist/profiles/esQueryBuilder.d.ts +35 -0
  144. package/dist/profiles/esQueryBuilder.d.ts.map +1 -0
  145. package/dist/profiles/esQueryBuilder.js +205 -0
  146. package/dist/profiles/esQueryBuilder.js.map +1 -0
  147. package/dist/profiles/esQueryBuilderExtension.cjs +23 -0
  148. package/dist/profiles/esQueryBuilderExtension.cjs.map +1 -0
  149. package/dist/profiles/esQueryBuilderExtension.d.ts +5 -0
  150. package/dist/profiles/esQueryBuilderExtension.d.ts.map +1 -0
  151. package/dist/profiles/esQueryBuilderExtension.js +23 -0
  152. package/dist/profiles/esQueryBuilderExtension.js.map +1 -0
  153. package/dist/profiles/esQueryBuilderForm.cjs +26 -0
  154. package/dist/profiles/esQueryBuilderForm.cjs.map +1 -0
  155. package/dist/profiles/esQueryBuilderForm.d.ts +18 -0
  156. package/dist/profiles/esQueryBuilderForm.d.ts.map +1 -0
  157. package/dist/profiles/esQueryBuilderForm.js +26 -0
  158. package/dist/profiles/esQueryBuilderForm.js.map +1 -0
  159. package/dist/profiles/esQueryBuilderModel.cjs +131 -0
  160. package/dist/profiles/esQueryBuilderModel.cjs.map +1 -0
  161. package/dist/profiles/esQueryBuilderModel.d.ts +108 -0
  162. package/dist/profiles/esQueryBuilderModel.d.ts.map +1 -0
  163. package/dist/profiles/esQueryBuilderModel.js +131 -0
  164. package/dist/profiles/esQueryBuilderModel.js.map +1 -0
  165. package/dist/profiles/esQueryClauseGroup.cjs +144 -0
  166. package/dist/profiles/esQueryClauseGroup.cjs.map +1 -0
  167. package/dist/profiles/esQueryClauseGroup.d.ts +10 -0
  168. package/dist/profiles/esQueryClauseGroup.d.ts.map +1 -0
  169. package/dist/profiles/esQueryClauseGroup.js +144 -0
  170. package/dist/profiles/esQueryClauseGroup.js.map +1 -0
  171. package/dist/profiles/esQueryCompile.cjs +47 -0
  172. package/dist/profiles/esQueryCompile.cjs.map +1 -0
  173. package/dist/profiles/esQueryCompile.d.ts +39 -0
  174. package/dist/profiles/esQueryCompile.d.ts.map +1 -0
  175. package/dist/profiles/esQueryCompile.js +47 -0
  176. package/dist/profiles/esQueryCompile.js.map +1 -0
  177. package/dist/profiles/esQueryConditionRow.cjs +168 -0
  178. package/dist/profiles/esQueryConditionRow.cjs.map +1 -0
  179. package/dist/profiles/esQueryConditionRow.d.ts +37 -0
  180. package/dist/profiles/esQueryConditionRow.d.ts.map +1 -0
  181. package/dist/profiles/esQueryConditionRow.js +168 -0
  182. package/dist/profiles/esQueryConditionRow.js.map +1 -0
  183. package/dist/profiles/esQueryGroupModel.cjs +12 -0
  184. package/dist/profiles/esQueryGroupModel.cjs.map +1 -0
  185. package/dist/profiles/esQueryGroupModel.d.ts +9 -0
  186. package/dist/profiles/esQueryGroupModel.d.ts.map +1 -0
  187. package/dist/profiles/esQueryGroupModel.js +12 -0
  188. package/dist/profiles/esQueryGroupModel.js.map +1 -0
  189. package/dist/profiles/esQueryOccur.cjs +16 -0
  190. package/dist/profiles/esQueryOccur.cjs.map +1 -0
  191. package/dist/profiles/esQueryOccur.d.ts +11 -0
  192. package/dist/profiles/esQueryOccur.d.ts.map +1 -0
  193. package/dist/profiles/esQueryOccur.js +16 -0
  194. package/dist/profiles/esQueryOccur.js.map +1 -0
  195. package/dist/profiles/esQueryOperandEditors.cjs +279 -0
  196. package/dist/profiles/esQueryOperandEditors.cjs.map +1 -0
  197. package/dist/profiles/esQueryOperandEditors.d.ts +24 -0
  198. package/dist/profiles/esQueryOperandEditors.d.ts.map +1 -0
  199. package/dist/profiles/esQueryOperandEditors.js +279 -0
  200. package/dist/profiles/esQueryOperandEditors.js.map +1 -0
  201. package/dist/profiles/esQueryOperandModel.cjs +28 -0
  202. package/dist/profiles/esQueryOperandModel.cjs.map +1 -0
  203. package/dist/profiles/esQueryOperandModel.d.ts +17 -0
  204. package/dist/profiles/esQueryOperandModel.d.ts.map +1 -0
  205. package/dist/profiles/esQueryOperandModel.js +28 -0
  206. package/dist/profiles/esQueryOperandModel.js.map +1 -0
  207. package/dist/profiles/esQueryOperators.cjs +165 -0
  208. package/dist/profiles/esQueryOperators.cjs.map +1 -0
  209. package/dist/profiles/esQueryOperators.d.ts +83 -0
  210. package/dist/profiles/esQueryOperators.d.ts.map +1 -0
  211. package/dist/profiles/esQueryOperators.js +165 -0
  212. package/dist/profiles/esQueryOperators.js.map +1 -0
  213. package/dist/profiles/esQueryOutputEditor.cjs +138 -0
  214. package/dist/profiles/esQueryOutputEditor.cjs.map +1 -0
  215. package/dist/profiles/esQueryOutputEditor.d.ts +7 -0
  216. package/dist/profiles/esQueryOutputEditor.d.ts.map +1 -0
  217. package/dist/profiles/esQueryOutputEditor.js +138 -0
  218. package/dist/profiles/esQueryOutputEditor.js.map +1 -0
  219. package/dist/profiles/esQueryOutputModel.cjs +16 -0
  220. package/dist/profiles/esQueryOutputModel.cjs.map +1 -0
  221. package/dist/profiles/esQueryOutputModel.d.ts +14 -0
  222. package/dist/profiles/esQueryOutputModel.d.ts.map +1 -0
  223. package/dist/profiles/esQueryOutputModel.js +16 -0
  224. package/dist/profiles/esQueryOutputModel.js.map +1 -0
  225. package/dist/profiles/esQueryPreview.cjs +30 -0
  226. package/dist/profiles/esQueryPreview.cjs.map +1 -0
  227. package/dist/profiles/esQueryPreview.d.ts +6 -0
  228. package/dist/profiles/esQueryPreview.d.ts.map +1 -0
  229. package/dist/profiles/esQueryPreview.js +30 -0
  230. package/dist/profiles/esQueryPreview.js.map +1 -0
  231. package/dist/profiles/esQuerySortEditor.cjs +143 -0
  232. package/dist/profiles/esQuerySortEditor.cjs.map +1 -0
  233. package/dist/profiles/esQuerySortEditor.d.ts +9 -0
  234. package/dist/profiles/esQuerySortEditor.d.ts.map +1 -0
  235. package/dist/profiles/esQuerySortEditor.js +143 -0
  236. package/dist/profiles/esQuerySortEditor.js.map +1 -0
  237. package/dist/profiles/esQuerySortModel.cjs +13 -0
  238. package/dist/profiles/esQuerySortModel.cjs.map +1 -0
  239. package/dist/profiles/esQuerySortModel.d.ts +4 -0
  240. package/dist/profiles/esQuerySortModel.d.ts.map +1 -0
  241. package/dist/profiles/esQuerySortModel.js +13 -0
  242. package/dist/profiles/esQuerySortModel.js.map +1 -0
  243. package/dist/profiles/esValueCombobox.cjs +86 -0
  244. package/dist/profiles/esValueCombobox.cjs.map +1 -0
  245. package/dist/profiles/esValueCombobox.d.ts +15 -0
  246. package/dist/profiles/esValueCombobox.d.ts.map +1 -0
  247. package/dist/profiles/esValueCombobox.js +86 -0
  248. package/dist/profiles/esValueCombobox.js.map +1 -0
  249. package/dist/profiles/jsonPathSample.cjs +75 -0
  250. package/dist/profiles/jsonPathSample.cjs.map +1 -0
  251. package/dist/profiles/jsonPathSample.d.ts +27 -0
  252. package/dist/profiles/jsonPathSample.d.ts.map +1 -0
  253. package/dist/profiles/jsonPathSample.js +75 -0
  254. package/dist/profiles/jsonPathSample.js.map +1 -0
  255. package/dist/profiles/jsonPathSampleRow.cjs +14 -0
  256. package/dist/profiles/jsonPathSampleRow.cjs.map +1 -0
  257. package/dist/profiles/jsonPathSampleRow.d.ts +6 -0
  258. package/dist/profiles/jsonPathSampleRow.d.ts.map +1 -0
  259. package/dist/profiles/jsonPathSampleRow.js +14 -0
  260. package/dist/profiles/jsonPathSampleRow.js.map +1 -0
  261. package/dist/profiles/profileApi.cjs +37 -0
  262. package/dist/profiles/profileApi.cjs.map +1 -0
  263. package/dist/profiles/profileApi.d.ts +32 -0
  264. package/dist/profiles/profileApi.d.ts.map +1 -0
  265. package/dist/profiles/profileApi.js +37 -0
  266. package/dist/profiles/profileApi.js.map +1 -0
  267. package/dist/profiles/profileBuilder.cjs +65 -0
  268. package/dist/profiles/profileBuilder.cjs.map +1 -0
  269. package/dist/profiles/profileBuilder.d.ts +11 -0
  270. package/dist/profiles/profileBuilder.d.ts.map +1 -0
  271. package/dist/profiles/profileBuilder.js +65 -0
  272. package/dist/profiles/profileBuilder.js.map +1 -0
  273. package/dist/profiles/profileBuilderExtension.cjs +25 -0
  274. package/dist/profiles/profileBuilderExtension.cjs.map +1 -0
  275. package/dist/profiles/profileBuilderExtension.d.ts +5 -0
  276. package/dist/profiles/profileBuilderExtension.d.ts.map +1 -0
  277. package/dist/profiles/profileBuilderExtension.js +25 -0
  278. package/dist/profiles/profileBuilderExtension.js.map +1 -0
  279. package/dist/profiles/profileBuilderWorkspace.cjs +368 -0
  280. package/dist/profiles/profileBuilderWorkspace.cjs.map +1 -0
  281. package/dist/profiles/profileBuilderWorkspace.d.ts +21 -0
  282. package/dist/profiles/profileBuilderWorkspace.d.ts.map +1 -0
  283. package/dist/profiles/profileBuilderWorkspace.js +368 -0
  284. package/dist/profiles/profileBuilderWorkspace.js.map +1 -0
  285. package/dist/profiles/profileColumnModel.cjs +23 -0
  286. package/dist/profiles/profileColumnModel.cjs.map +1 -0
  287. package/dist/profiles/profileColumnModel.d.ts +8 -0
  288. package/dist/profiles/profileColumnModel.d.ts.map +1 -0
  289. package/dist/profiles/profileColumnModel.js +23 -0
  290. package/dist/profiles/profileColumnModel.js.map +1 -0
  291. package/dist/profiles/profileColumnPicker.cjs +68 -0
  292. package/dist/profiles/profileColumnPicker.cjs.map +1 -0
  293. package/dist/profiles/profileColumnPicker.d.ts +11 -0
  294. package/dist/profiles/profileColumnPicker.d.ts.map +1 -0
  295. package/dist/profiles/profileColumnPicker.js +68 -0
  296. package/dist/profiles/profileColumnPicker.js.map +1 -0
  297. package/dist/profiles/profileEditor.cjs +386 -0
  298. package/dist/profiles/profileEditor.cjs.map +1 -0
  299. package/dist/profiles/profileEditor.d.ts +19 -0
  300. package/dist/profiles/profileEditor.d.ts.map +1 -0
  301. package/dist/profiles/profileEditor.js +386 -0
  302. package/dist/profiles/profileEditor.js.map +1 -0
  303. package/dist/profiles/profileEditorModel.cjs +181 -0
  304. package/dist/profiles/profileEditorModel.cjs.map +1 -0
  305. package/dist/profiles/profileEditorModel.d.ts +74 -0
  306. package/dist/profiles/profileEditorModel.d.ts.map +1 -0
  307. package/dist/profiles/profileEditorModel.js +181 -0
  308. package/dist/profiles/profileEditorModel.js.map +1 -0
  309. package/dist/profiles/profileEditorPreview.cjs +38 -0
  310. package/dist/profiles/profileEditorPreview.cjs.map +1 -0
  311. package/dist/profiles/profileEditorPreview.d.ts +12 -0
  312. package/dist/profiles/profileEditorPreview.d.ts.map +1 -0
  313. package/dist/profiles/profileEditorPreview.js +38 -0
  314. package/dist/profiles/profileEditorPreview.js.map +1 -0
  315. package/dist/profiles/profileEditorRail.cjs +46 -0
  316. package/dist/profiles/profileEditorRail.cjs.map +1 -0
  317. package/dist/profiles/profileEditorRail.d.ts +8 -0
  318. package/dist/profiles/profileEditorRail.d.ts.map +1 -0
  319. package/dist/profiles/profileEditorRail.js +46 -0
  320. package/dist/profiles/profileEditorRail.js.map +1 -0
  321. package/dist/profiles/profileEditorRaw.cjs +118 -0
  322. package/dist/profiles/profileEditorRaw.cjs.map +1 -0
  323. package/dist/profiles/profileEditorRaw.d.ts +7 -0
  324. package/dist/profiles/profileEditorRaw.d.ts.map +1 -0
  325. package/dist/profiles/profileEditorRaw.js +118 -0
  326. package/dist/profiles/profileEditorRaw.js.map +1 -0
  327. package/dist/profiles/profileEditorRoutes.cjs +7 -0
  328. package/dist/profiles/profileEditorRoutes.cjs.map +1 -0
  329. package/dist/profiles/profileEditorRoutes.d.ts +2 -0
  330. package/dist/profiles/profileEditorRoutes.d.ts.map +1 -0
  331. package/dist/profiles/profileEditorRoutes.js +7 -0
  332. package/dist/profiles/profileEditorRoutes.js.map +1 -0
  333. package/dist/profiles/profileEditorSections.cjs +213 -0
  334. package/dist/profiles/profileEditorSections.cjs.map +1 -0
  335. package/dist/profiles/profileEditorSections.d.ts +23 -0
  336. package/dist/profiles/profileEditorSections.d.ts.map +1 -0
  337. package/dist/profiles/profileEditorSections.js +213 -0
  338. package/dist/profiles/profileEditorSections.js.map +1 -0
  339. package/dist/profiles/profileFieldEditor.cjs +200 -0
  340. package/dist/profiles/profileFieldEditor.cjs.map +1 -0
  341. package/dist/profiles/profileFieldEditor.d.ts +34 -0
  342. package/dist/profiles/profileFieldEditor.d.ts.map +1 -0
  343. package/dist/profiles/profileFieldEditor.js +200 -0
  344. package/dist/profiles/profileFieldEditor.js.map +1 -0
  345. package/dist/profiles/profileFieldGrid.cjs +250 -0
  346. package/dist/profiles/profileFieldGrid.cjs.map +1 -0
  347. package/dist/profiles/profileFieldGrid.d.ts +20 -0
  348. package/dist/profiles/profileFieldGrid.d.ts.map +1 -0
  349. package/dist/profiles/profileFieldGrid.js +250 -0
  350. package/dist/profiles/profileFieldGrid.js.map +1 -0
  351. package/dist/profiles/profileFieldManager.cjs +103 -0
  352. package/dist/profiles/profileFieldManager.cjs.map +1 -0
  353. package/dist/profiles/profileFieldManager.d.ts +9 -0
  354. package/dist/profiles/profileFieldManager.d.ts.map +1 -0
  355. package/dist/profiles/profileFieldManager.js +103 -0
  356. package/dist/profiles/profileFieldManager.js.map +1 -0
  357. package/dist/profiles/profileFieldState.cjs +136 -0
  358. package/dist/profiles/profileFieldState.cjs.map +1 -0
  359. package/dist/profiles/profileFieldState.d.ts +41 -0
  360. package/dist/profiles/profileFieldState.d.ts.map +1 -0
  361. package/dist/profiles/profileFieldState.js +136 -0
  362. package/dist/profiles/profileFieldState.js.map +1 -0
  363. package/dist/profiles/profileFieldTypes.cjs +17 -0
  364. package/dist/profiles/profileFieldTypes.cjs.map +1 -0
  365. package/dist/profiles/profileFieldTypes.d.ts +8 -0
  366. package/dist/profiles/profileFieldTypes.d.ts.map +1 -0
  367. package/dist/profiles/profileFieldTypes.js +17 -0
  368. package/dist/profiles/profileFieldTypes.js.map +1 -0
  369. package/dist/profiles/profileParamModel.cjs +78 -0
  370. package/dist/profiles/profileParamModel.cjs.map +1 -0
  371. package/dist/profiles/profileParamModel.d.ts +3 -0
  372. package/dist/profiles/profileParamModel.d.ts.map +1 -0
  373. package/dist/profiles/profileParamModel.js +78 -0
  374. package/dist/profiles/profileParamModel.js.map +1 -0
  375. package/dist/profiles/profileSamplePayload.cjs +15 -0
  376. package/dist/profiles/profileSamplePayload.cjs.map +1 -0
  377. package/dist/profiles/profileSamplePayload.d.ts +13 -0
  378. package/dist/profiles/profileSamplePayload.d.ts.map +1 -0
  379. package/dist/profiles/profileSamplePayload.js +15 -0
  380. package/dist/profiles/profileSamplePayload.js.map +1 -0
  381. package/dist/profiles/profileWizard.cjs +257 -0
  382. package/dist/profiles/profileWizard.cjs.map +1 -0
  383. package/dist/profiles/profileWizard.d.ts +12 -0
  384. package/dist/profiles/profileWizard.d.ts.map +1 -0
  385. package/dist/profiles/profileWizard.js +257 -0
  386. package/dist/profiles/profileWizard.js.map +1 -0
  387. package/dist/profiles/profileWizardHelp.cjs +10 -0
  388. package/dist/profiles/profileWizardHelp.cjs.map +1 -0
  389. package/dist/profiles/profileWizardHelp.d.ts +13 -0
  390. package/dist/profiles/profileWizardHelp.d.ts.map +1 -0
  391. package/dist/profiles/profileWizardHelp.js +10 -0
  392. package/dist/profiles/profileWizardHelp.js.map +1 -0
  393. package/dist/profiles/profileWizardModel.cjs +198 -0
  394. package/dist/profiles/profileWizardModel.cjs.map +1 -0
  395. package/dist/profiles/profileWizardModel.d.ts +255 -0
  396. package/dist/profiles/profileWizardModel.d.ts.map +1 -0
  397. package/dist/profiles/profileWizardModel.js +198 -0
  398. package/dist/profiles/profileWizardModel.js.map +1 -0
  399. package/dist/profiles/profileWizardQueryStep.cjs +215 -0
  400. package/dist/profiles/profileWizardQueryStep.cjs.map +1 -0
  401. package/dist/profiles/profileWizardQueryStep.d.ts +18 -0
  402. package/dist/profiles/profileWizardQueryStep.d.ts.map +1 -0
  403. package/dist/profiles/profileWizardQueryStep.js +215 -0
  404. package/dist/profiles/profileWizardQueryStep.js.map +1 -0
  405. package/dist/profiles/profileWizardSteps.cjs +214 -0
  406. package/dist/profiles/profileWizardSteps.cjs.map +1 -0
  407. package/dist/profiles/profileWizardSteps.d.ts +35 -0
  408. package/dist/profiles/profileWizardSteps.d.ts.map +1 -0
  409. package/dist/profiles/profileWizardSteps.js +214 -0
  410. package/dist/profiles/profileWizardSteps.js.map +1 -0
  411. package/dist/profiles/profileYaml.cjs +19 -0
  412. package/dist/profiles/profileYaml.cjs.map +1 -0
  413. package/dist/profiles/profileYaml.d.ts +4 -0
  414. package/dist/profiles/profileYaml.d.ts.map +1 -0
  415. package/dist/profiles/profileYaml.js +19 -0
  416. package/dist/profiles/profileYaml.js.map +1 -0
  417. package/dist/profiles/prometheusResults.cjs +60 -0
  418. package/dist/profiles/prometheusResults.cjs.map +1 -0
  419. package/dist/profiles/prometheusResults.d.ts +7 -0
  420. package/dist/profiles/prometheusResults.d.ts.map +1 -0
  421. package/dist/profiles/prometheusResults.js +60 -0
  422. package/dist/profiles/prometheusResults.js.map +1 -0
  423. package/dist/profiles/queryRowLimits.cjs +82 -0
  424. package/dist/profiles/queryRowLimits.cjs.map +1 -0
  425. package/dist/profiles/queryRowLimits.d.ts +9 -0
  426. package/dist/profiles/queryRowLimits.d.ts.map +1 -0
  427. package/dist/profiles/queryRowLimits.js +82 -0
  428. package/dist/profiles/queryRowLimits.js.map +1 -0
  429. package/dist/profiles/queryRowLimitsModel.cjs +10 -0
  430. package/dist/profiles/queryRowLimitsModel.cjs.map +1 -0
  431. package/dist/profiles/queryRowLimitsModel.d.ts +9 -0
  432. package/dist/profiles/queryRowLimitsModel.d.ts.map +1 -0
  433. package/dist/profiles/queryRowLimitsModel.js +10 -0
  434. package/dist/profiles/queryRowLimitsModel.js.map +1 -0
  435. package/dist/profiles/queryTargetPicker.cjs +42 -0
  436. package/dist/profiles/queryTargetPicker.cjs.map +1 -0
  437. package/dist/profiles/queryTargetPicker.d.ts +8 -0
  438. package/dist/profiles/queryTargetPicker.d.ts.map +1 -0
  439. package/dist/profiles/queryTargetPicker.js +42 -0
  440. package/dist/profiles/queryTargetPicker.js.map +1 -0
  441. package/dist/profiles/testSchema.d.ts +3 -0
  442. package/dist/profiles/testSchema.d.ts.map +1 -0
  443. package/dist/profiles.cjs +223 -0
  444. package/dist/profiles.cjs.map +1 -0
  445. package/dist/profiles.d.ts +68 -0
  446. package/dist/profiles.d.ts.map +1 -0
  447. package/dist/profiles.js +223 -0
  448. package/dist/profiles.js.map +1 -0
  449. package/dist/styles.css +1 -1
  450. package/package.json +6 -1
@@ -0,0 +1,214 @@
1
+ import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
+ import { ProfileFieldManager } from "./profileFieldManager.js";
3
+ import { profileConnectionID, profileWizardErrorMessage, profileWizardSteps } from "./profileWizardModel.js";
4
+ function WizardProgress({
5
+ stepIndex,
6
+ onStepChange
7
+ }) {
8
+ return /* @__PURE__ */ jsx("ol", { className: "grid grid-cols-4 gap-2", "aria-label": "Profile builder progress", children: profileWizardSteps.map((step, index) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs(
9
+ "button",
10
+ {
11
+ type: "button",
12
+ disabled: index > stepIndex,
13
+ "aria-current": index === stepIndex ? "step" : void 0,
14
+ className: `flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left ${index === stepIndex ? "bg-primary/10 text-foreground" : "text-muted-foreground"}`,
15
+ onClick: () => onStepChange(index),
16
+ children: [
17
+ /* @__PURE__ */ jsx(
18
+ "span",
19
+ {
20
+ className: `grid size-6 shrink-0 place-items-center rounded-full text-xs font-semibold ${index <= stepIndex ? "bg-primary text-primary-foreground" : "bg-muted"}`,
21
+ children: index + 1
22
+ }
23
+ ),
24
+ /* @__PURE__ */ jsxs("span", { className: "hidden min-w-0 md:block", children: [
25
+ /* @__PURE__ */ jsx("span", { className: "block truncate text-xs font-medium", children: step.label }),
26
+ /* @__PURE__ */ jsx("span", { className: "block truncate text-[10px]", children: step.description })
27
+ ] })
28
+ ]
29
+ }
30
+ ) }, step.id)) });
31
+ }
32
+ function SourceStep({
33
+ choices,
34
+ loading,
35
+ error,
36
+ truncated,
37
+ total,
38
+ search,
39
+ selected,
40
+ selectedType,
41
+ onSearchChange,
42
+ onSelect
43
+ }) {
44
+ return /* @__PURE__ */ jsxs("div", { className: "mx-auto grid max-w-4xl gap-5 lg:grid-cols-[1fr_18rem]", children: [
45
+ /* @__PURE__ */ jsxs("section", { className: "overflow-hidden rounded-xl border bg-card", children: [
46
+ /* @__PURE__ */ jsx("div", { className: "border-b p-4", children: /* @__PURE__ */ jsxs("label", { className: "grid gap-1.5 text-sm font-medium", children: [
47
+ "Find a saved connection",
48
+ /* @__PURE__ */ jsx(
49
+ "input",
50
+ {
51
+ type: "search",
52
+ value: search,
53
+ autoFocus: true,
54
+ placeholder: "Search connections",
55
+ className: "rounded-md border border-input bg-background px-3 py-2.5 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15",
56
+ onChange: (event) => onSearchChange(event.target.value)
57
+ }
58
+ )
59
+ ] }) }),
60
+ /* @__PURE__ */ jsxs("div", { className: "max-h-[26rem] overflow-auto p-2", children: [
61
+ choices.map((choice) => /* @__PURE__ */ jsxs(
62
+ "button",
63
+ {
64
+ type: "button",
65
+ className: `flex w-full items-center justify-between rounded-lg border px-4 py-3 text-left transition-colors ${selected === choice.value ? "border-primary bg-primary/8" : "border-transparent hover:bg-muted/60"}`,
66
+ onClick: () => onSelect(choice),
67
+ children: [
68
+ /* @__PURE__ */ jsxs("span", { children: [
69
+ /* @__PURE__ */ jsx("span", { className: "block text-sm font-medium", children: choice.name }),
70
+ /* @__PURE__ */ jsx("span", { className: "block text-xs text-muted-foreground", children: "Saved connection" })
71
+ ] }),
72
+ /* @__PURE__ */ jsx("span", { className: "rounded-full bg-muted px-2.5 py-1 text-xs font-medium", children: choice.providerType })
73
+ ]
74
+ },
75
+ choice.value
76
+ )),
77
+ loading ? /* @__PURE__ */ jsx("p", { className: "p-8 text-center text-sm text-muted-foreground", children: "Loading connections…" }) : null,
78
+ error ? /* @__PURE__ */ jsx("p", { className: "p-8 text-center text-sm text-destructive", children: profileWizardErrorMessage(error, "Unable to load connections") }) : null,
79
+ !loading && !error && choices.length === 0 ? /* @__PURE__ */ jsx("p", { className: "p-8 text-center text-sm text-muted-foreground", children: "No saved connections match this search." }) : null
80
+ ] }),
81
+ truncated ? /* @__PURE__ */ jsxs("p", { className: "border-t px-4 py-2 text-xs text-muted-foreground", children: [
82
+ "Showing the first ",
83
+ choices.length,
84
+ " of ",
85
+ total ?? "many",
86
+ ". Search to narrow the list."
87
+ ] }) : null
88
+ ] }),
89
+ /* @__PURE__ */ jsxs("aside", { className: "rounded-xl border bg-muted/25 p-5", children: [
90
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Selected source" }),
91
+ selected ? /* @__PURE__ */ jsxs(Fragment, { children: [
92
+ /* @__PURE__ */ jsx("h3", { className: "mt-3 font-semibold", children: profileConnectionID(selected) }),
93
+ /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: selectedType }),
94
+ /* @__PURE__ */ jsx("p", { className: "mt-5 text-sm leading-6 text-muted-foreground", children: "The next step loads this connection's catalog, query language, and sampling controls." })
95
+ ] }) : /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm leading-6 text-muted-foreground", children: "Choose a connection to begin. Connection credentials stay on the server and are never copied into the profile." })
96
+ ] })
97
+ ] });
98
+ }
99
+ function FieldsStep({
100
+ draft,
101
+ discovered,
102
+ activeField,
103
+ onDraftChange,
104
+ onActiveFieldChange
105
+ }) {
106
+ return /* @__PURE__ */ jsxs("div", { className: "grid gap-5", children: [
107
+ /* @__PURE__ */ jsxs("section", { className: "grid gap-4 rounded-xl border bg-muted/25 p-4 md:grid-cols-2", children: [
108
+ /* @__PURE__ */ jsxs("label", { className: "grid gap-1.5 text-sm font-medium", children: [
109
+ "Profile name ",
110
+ /* @__PURE__ */ jsx("span", { className: "text-destructive", children: "*" }),
111
+ /* @__PURE__ */ jsx(
112
+ "input",
113
+ {
114
+ value: draft.profile ?? "",
115
+ placeholder: "e.g. service-logs",
116
+ className: "rounded-md border border-input bg-background px-3 py-2 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15",
117
+ onChange: (event) => onDraftChange({ ...draft, profile: event.target.value })
118
+ }
119
+ )
120
+ ] }),
121
+ /* @__PURE__ */ jsxs("label", { className: "grid gap-1.5 text-sm font-medium", children: [
122
+ "Namespace ",
123
+ /* @__PURE__ */ jsx("span", { className: "font-normal text-muted-foreground", children: "Optional" }),
124
+ /* @__PURE__ */ jsx(
125
+ "input",
126
+ {
127
+ value: draft.namespace ?? "",
128
+ placeholder: "e.g. observability",
129
+ className: "rounded-md border border-input bg-background px-3 py-2 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15",
130
+ onChange: (event) => onDraftChange({ ...draft, namespace: event.target.value })
131
+ }
132
+ )
133
+ ] })
134
+ ] }),
135
+ /* @__PURE__ */ jsx(
136
+ ProfileFieldManager,
137
+ {
138
+ discovered,
139
+ configured: draft.columns ?? [],
140
+ activeName: activeField,
141
+ onConfiguredChange: (columns) => onDraftChange({ ...draft, columns }),
142
+ onActiveNameChange: onActiveFieldChange
143
+ }
144
+ )
145
+ ] });
146
+ }
147
+ function ReviewStep({
148
+ draft,
149
+ discovered
150
+ }) {
151
+ var _a, _b, _c, _d, _e, _f;
152
+ const connection = profileConnectionID(((_a = draft.provider) == null ? void 0 : _a.connection) ?? "");
153
+ return /* @__PURE__ */ jsxs("div", { className: "mx-auto grid max-w-5xl gap-4 lg:grid-cols-2", children: [
154
+ /* @__PURE__ */ jsx(ReviewCard, { label: "Profile", value: draft.profile || "Unnamed", children: draft.namespace ? `Namespace: ${draft.namespace}` : "Default namespace" }),
155
+ /* @__PURE__ */ jsx(ReviewCard, { label: "Source", value: connection || "Not selected", children: ((_b = draft.provider) == null ? void 0 : _b.type) || "Unknown provider" }),
156
+ /* @__PURE__ */ jsxs("section", { className: "rounded-xl border bg-card p-5 lg:col-span-2", children: [
157
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4", children: [
158
+ /* @__PURE__ */ jsxs("div", { children: [
159
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Fields" }),
160
+ /* @__PURE__ */ jsxs("h3", { className: "mt-1 font-semibold", children: [
161
+ ((_c = draft.columns) == null ? void 0 : _c.length) ?? 0,
162
+ " of ",
163
+ discovered.length,
164
+ " included"
165
+ ] })
166
+ ] }),
167
+ /* @__PURE__ */ jsxs("span", { className: "rounded-full bg-primary/10 px-3 py-1 text-xs font-medium text-primary", children: [
168
+ ((_d = draft.columns) == null ? void 0 : _d.filter((field) => field.hidden).length) ?? 0,
169
+ " hidden"
170
+ ] })
171
+ ] }),
172
+ /* @__PURE__ */ jsxs("div", { className: "mt-4 flex flex-wrap gap-2", children: [
173
+ (draft.columns ?? []).slice(0, 16).map((field) => /* @__PURE__ */ jsxs(
174
+ "span",
175
+ {
176
+ className: "rounded-md border bg-muted/30 px-2.5 py-1.5 font-mono text-xs",
177
+ children: [
178
+ field.label || field.name,
179
+ /* @__PURE__ */ jsx("span", { className: "ml-2 text-muted-foreground", children: field.type || "auto" })
180
+ ]
181
+ },
182
+ field.name
183
+ )),
184
+ (((_e = draft.columns) == null ? void 0 : _e.length) ?? 0) > 16 ? /* @__PURE__ */ jsxs("span", { className: "px-2 py-1.5 text-xs text-muted-foreground", children: [
185
+ "+",
186
+ (((_f = draft.columns) == null ? void 0 : _f.length) ?? 0) - 16,
187
+ " more"
188
+ ] }) : null
189
+ ] })
190
+ ] }),
191
+ /* @__PURE__ */ jsxs("section", { className: "rounded-xl border bg-card p-5 lg:col-span-2", children: [
192
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: "Query" }),
193
+ /* @__PURE__ */ jsx("pre", { className: "mt-3 max-h-72 overflow-auto whitespace-pre-wrap rounded-lg bg-muted/50 p-4 font-mono text-xs leading-6", children: draft.query })
194
+ ] })
195
+ ] });
196
+ }
197
+ function ReviewCard({
198
+ label,
199
+ value,
200
+ children
201
+ }) {
202
+ return /* @__PURE__ */ jsxs("section", { className: "rounded-xl border bg-card p-5", children: [
203
+ /* @__PURE__ */ jsx("p", { className: "text-xs font-semibold uppercase tracking-wide text-muted-foreground", children: label }),
204
+ /* @__PURE__ */ jsx("h3", { className: "mt-2 text-lg font-semibold", children: value }),
205
+ /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children })
206
+ ] });
207
+ }
208
+ export {
209
+ FieldsStep,
210
+ ReviewStep,
211
+ SourceStep,
212
+ WizardProgress
213
+ };
214
+ //# sourceMappingURL=profileWizardSteps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileWizardSteps.js","sources":["../../src/profiles/profileWizardSteps.tsx"],"sourcesContent":["import type { ReactNode } from \"react\";\nimport { ProfileFieldManager } from \"./profileFieldManager\";\nimport {\n profileConnectionID,\n profileWizardErrorMessage,\n profileWizardSteps,\n type ProfileColumn,\n type ProfileWizardDraft,\n} from \"./profileWizardModel\";\n\nexport type ConnectionChoice = {\n value: string;\n label: string;\n name: string;\n providerType: string;\n};\n\nexport function WizardProgress({\n stepIndex,\n onStepChange,\n}: {\n stepIndex: number;\n onStepChange: (index: number) => void;\n}) {\n return (\n <ol className=\"grid grid-cols-4 gap-2\" aria-label=\"Profile builder progress\">\n {profileWizardSteps.map((step, index) => (\n <li key={step.id}>\n <button\n type=\"button\"\n disabled={index > stepIndex}\n aria-current={index === stepIndex ? \"step\" : undefined}\n className={`flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-left ${index === stepIndex ? \"bg-primary/10 text-foreground\" : \"text-muted-foreground\"}`}\n onClick={() => onStepChange(index)}\n >\n <span\n className={`grid size-6 shrink-0 place-items-center rounded-full text-xs font-semibold ${index <= stepIndex ? \"bg-primary text-primary-foreground\" : \"bg-muted\"}`}\n >\n {index + 1}\n </span>\n <span className=\"hidden min-w-0 md:block\">\n <span className=\"block truncate text-xs font-medium\">{step.label}</span>\n <span className=\"block truncate text-[10px]\">{step.description}</span>\n </span>\n </button>\n </li>\n ))}\n </ol>\n );\n}\n\nexport function SourceStep({\n choices,\n loading,\n error,\n truncated,\n total,\n search,\n selected,\n selectedType,\n onSearchChange,\n onSelect,\n}: {\n choices: ConnectionChoice[];\n loading: boolean;\n error: unknown;\n truncated?: boolean;\n total?: number;\n search: string;\n selected: string;\n selectedType: string;\n onSearchChange: (search: string) => void;\n onSelect: (choice: ConnectionChoice) => void;\n}) {\n return (\n <div className=\"mx-auto grid max-w-4xl gap-5 lg:grid-cols-[1fr_18rem]\">\n <section className=\"overflow-hidden rounded-xl border bg-card\">\n <div className=\"border-b p-4\">\n <label className=\"grid gap-1.5 text-sm font-medium\">\n Find a saved connection\n <input\n type=\"search\"\n value={search}\n autoFocus\n placeholder=\"Search connections\"\n className=\"rounded-md border border-input bg-background px-3 py-2.5 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15\"\n onChange={(event) => onSearchChange(event.target.value)}\n />\n </label>\n </div>\n <div className=\"max-h-[26rem] overflow-auto p-2\">\n {choices.map((choice) => (\n <button\n key={choice.value}\n type=\"button\"\n className={`flex w-full items-center justify-between rounded-lg border px-4 py-3 text-left transition-colors ${selected === choice.value ? \"border-primary bg-primary/8\" : \"border-transparent hover:bg-muted/60\"}`}\n onClick={() => onSelect(choice)}\n >\n <span>\n <span className=\"block text-sm font-medium\">{choice.name}</span>\n <span className=\"block text-xs text-muted-foreground\">\n Saved connection\n </span>\n </span>\n <span className=\"rounded-full bg-muted px-2.5 py-1 text-xs font-medium\">\n {choice.providerType}\n </span>\n </button>\n ))}\n {loading ? (\n <p className=\"p-8 text-center text-sm text-muted-foreground\">\n Loading connections…\n </p>\n ) : null}\n {error ? (\n <p className=\"p-8 text-center text-sm text-destructive\">\n {profileWizardErrorMessage(error, \"Unable to load connections\")}\n </p>\n ) : null}\n {!loading && !error && choices.length === 0 ? (\n <p className=\"p-8 text-center text-sm text-muted-foreground\">\n No saved connections match this search.\n </p>\n ) : null}\n </div>\n {truncated ? (\n <p className=\"border-t px-4 py-2 text-xs text-muted-foreground\">\n Showing the first {choices.length} of {total ?? \"many\"}. Search to narrow the list.\n </p>\n ) : null}\n </section>\n <aside className=\"rounded-xl border bg-muted/25 p-5\">\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Selected source\n </p>\n {selected ? (\n <>\n <h3 className=\"mt-3 font-semibold\">{profileConnectionID(selected)}</h3>\n <p className=\"mt-1 text-sm text-muted-foreground\">{selectedType}</p>\n <p className=\"mt-5 text-sm leading-6 text-muted-foreground\">\n The next step loads this connection&apos;s catalog, query language,\n and sampling controls.\n </p>\n </>\n ) : (\n <p className=\"mt-3 text-sm leading-6 text-muted-foreground\">\n Choose a connection to begin. Connection credentials stay on the\n server and are never copied into the profile.\n </p>\n )}\n </aside>\n </div>\n );\n}\n\nexport function FieldsStep({\n draft,\n discovered,\n activeField,\n onDraftChange,\n onActiveFieldChange,\n}: {\n draft: ProfileWizardDraft;\n discovered: ProfileColumn[];\n activeField: string;\n onDraftChange: (draft: ProfileWizardDraft) => void;\n onActiveFieldChange: (name: string) => void;\n}) {\n return (\n <div className=\"grid gap-5\">\n <section className=\"grid gap-4 rounded-xl border bg-muted/25 p-4 md:grid-cols-2\">\n <label className=\"grid gap-1.5 text-sm font-medium\">\n Profile name <span className=\"text-destructive\">*</span>\n <input\n value={draft.profile ?? \"\"}\n placeholder=\"e.g. service-logs\"\n className=\"rounded-md border border-input bg-background px-3 py-2 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15\"\n onChange={(event) =>\n onDraftChange({ ...draft, profile: event.target.value })\n }\n />\n </label>\n <label className=\"grid gap-1.5 text-sm font-medium\">\n Namespace <span className=\"font-normal text-muted-foreground\">Optional</span>\n <input\n value={draft.namespace ?? \"\"}\n placeholder=\"e.g. observability\"\n className=\"rounded-md border border-input bg-background px-3 py-2 outline-none focus:border-primary focus:ring-2 focus:ring-primary/15\"\n onChange={(event) =>\n onDraftChange({ ...draft, namespace: event.target.value })\n }\n />\n </label>\n </section>\n <ProfileFieldManager\n discovered={discovered}\n configured={draft.columns ?? []}\n activeName={activeField}\n onConfiguredChange={(columns) => onDraftChange({ ...draft, columns })}\n onActiveNameChange={onActiveFieldChange}\n />\n </div>\n );\n}\n\nexport function ReviewStep({\n draft,\n discovered,\n}: {\n draft: ProfileWizardDraft;\n discovered: ProfileColumn[];\n}) {\n const connection = profileConnectionID(draft.provider?.connection ?? \"\");\n return (\n <div className=\"mx-auto grid max-w-5xl gap-4 lg:grid-cols-2\">\n <ReviewCard label=\"Profile\" value={draft.profile || \"Unnamed\"}>\n {draft.namespace ? `Namespace: ${draft.namespace}` : \"Default namespace\"}\n </ReviewCard>\n <ReviewCard label=\"Source\" value={connection || \"Not selected\"}>\n {draft.provider?.type || \"Unknown provider\"}\n </ReviewCard>\n <section className=\"rounded-xl border bg-card p-5 lg:col-span-2\">\n <div className=\"flex items-center justify-between gap-4\">\n <div>\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Fields\n </p>\n <h3 className=\"mt-1 font-semibold\">\n {draft.columns?.length ?? 0} of {discovered.length} included\n </h3>\n </div>\n <span className=\"rounded-full bg-primary/10 px-3 py-1 text-xs font-medium text-primary\">\n {draft.columns?.filter((field) => field.hidden).length ?? 0} hidden\n </span>\n </div>\n <div className=\"mt-4 flex flex-wrap gap-2\">\n {(draft.columns ?? []).slice(0, 16).map((field) => (\n <span\n key={field.name}\n className=\"rounded-md border bg-muted/30 px-2.5 py-1.5 font-mono text-xs\"\n >\n {field.label || field.name}\n <span className=\"ml-2 text-muted-foreground\">\n {field.type || \"auto\"}\n </span>\n </span>\n ))}\n {(draft.columns?.length ?? 0) > 16 ? (\n <span className=\"px-2 py-1.5 text-xs text-muted-foreground\">\n +{(draft.columns?.length ?? 0) - 16} more\n </span>\n ) : null}\n </div>\n </section>\n <section className=\"rounded-xl border bg-card p-5 lg:col-span-2\">\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n Query\n </p>\n <pre className=\"mt-3 max-h-72 overflow-auto whitespace-pre-wrap rounded-lg bg-muted/50 p-4 font-mono text-xs leading-6\">\n {draft.query}\n </pre>\n </section>\n </div>\n );\n}\n\nfunction ReviewCard({\n label,\n value,\n children,\n}: {\n label: string;\n value: ReactNode;\n children: ReactNode;\n}) {\n return (\n <section className=\"rounded-xl border bg-card p-5\">\n <p className=\"text-xs font-semibold uppercase tracking-wide text-muted-foreground\">\n {label}\n </p>\n <h3 className=\"mt-2 text-lg font-semibold\">{value}</h3>\n <p className=\"mt-1 text-sm text-muted-foreground\">{children}</p>\n </section>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const yaml = require("yaml");
4
+ const string = require("../lib/string.cjs");
5
+ function parseProfileYamlDocument(value) {
6
+ const parsed = yaml.parse(value);
7
+ if (!isRecord(parsed)) throw new Error("Profile YAML must contain an object");
8
+ return parsed;
9
+ }
10
+ function profileYamlFilename(name) {
11
+ const safeName = name === void 0 ? void 0 : string.stripSurroundingDashes(name.trim().replace(/[^a-zA-Z0-9._-]+/g, "-"));
12
+ return `${safeName || "profile"}.yaml`;
13
+ }
14
+ function isRecord(value) {
15
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
16
+ }
17
+ exports.parseProfileYamlDocument = parseProfileYamlDocument;
18
+ exports.profileYamlFilename = profileYamlFilename;
19
+ //# sourceMappingURL=profileYaml.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileYaml.cjs","sources":["../../src/profiles/profileYaml.ts"],"sourcesContent":["import { parse } from \"yaml\";\nimport { stripSurroundingDashes } from \"../lib/string\";\nimport type { ProfileWizardDraft } from \"./profileWizardModel\";\n\nexport function parseProfileYamlDocument(value: string): ProfileWizardDraft {\n const parsed = parse(value);\n if (!isRecord(parsed)) throw new Error(\"Profile YAML must contain an object\");\n return parsed as ProfileWizardDraft;\n}\n\nexport function profileYamlFilename(name?: string): string {\n const safeName =\n name === undefined\n ? undefined\n : stripSurroundingDashes(name.trim().replace(/[^a-zA-Z0-9._-]+/g, \"-\"));\n return `${safeName || \"profile\"}.yaml`;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n"],"names":["parse","stripSurroundingDashes"],"mappings":";;;;AAIO,SAAS,yBAAyB,OAAmC;AAC1E,QAAM,SAASA,KAAAA,MAAM,KAAK;AAC1B,MAAI,CAAC,SAAS,MAAM,EAAG,OAAM,IAAI,MAAM,qCAAqC;AAC5E,SAAO;AACT;AAEO,SAAS,oBAAoB,MAAuB;AACzD,QAAM,WACJ,SAAS,SACL,SACAC,OAAAA,uBAAuB,KAAK,OAAO,QAAQ,qBAAqB,GAAG,CAAC;AAC1E,SAAO,GAAG,YAAY,SAAS;AACjC;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,QAAQ,KAAK,KAAK,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;;;"}
@@ -0,0 +1,4 @@
1
+ import { ProfileWizardDraft } from './profileWizardModel';
2
+ export declare function parseProfileYamlDocument(value: string): ProfileWizardDraft;
3
+ export declare function profileYamlFilename(name?: string): string;
4
+ //# sourceMappingURL=profileYaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileYaml.d.ts","sourceRoot":"","sources":["../../src/profiles/profileYaml.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE/D,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAI1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAMzD"}
@@ -0,0 +1,19 @@
1
+ import { parse } from "yaml";
2
+ import { stripSurroundingDashes } from "../lib/string.js";
3
+ function parseProfileYamlDocument(value) {
4
+ const parsed = parse(value);
5
+ if (!isRecord(parsed)) throw new Error("Profile YAML must contain an object");
6
+ return parsed;
7
+ }
8
+ function profileYamlFilename(name) {
9
+ const safeName = name === void 0 ? void 0 : stripSurroundingDashes(name.trim().replace(/[^a-zA-Z0-9._-]+/g, "-"));
10
+ return `${safeName || "profile"}.yaml`;
11
+ }
12
+ function isRecord(value) {
13
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
14
+ }
15
+ export {
16
+ parseProfileYamlDocument,
17
+ profileYamlFilename
18
+ };
19
+ //# sourceMappingURL=profileYaml.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileYaml.js","sources":["../../src/profiles/profileYaml.ts"],"sourcesContent":["import { parse } from \"yaml\";\nimport { stripSurroundingDashes } from \"../lib/string\";\nimport type { ProfileWizardDraft } from \"./profileWizardModel\";\n\nexport function parseProfileYamlDocument(value: string): ProfileWizardDraft {\n const parsed = parse(value);\n if (!isRecord(parsed)) throw new Error(\"Profile YAML must contain an object\");\n return parsed as ProfileWizardDraft;\n}\n\nexport function profileYamlFilename(name?: string): string {\n const safeName =\n name === undefined\n ? undefined\n : stripSurroundingDashes(name.trim().replace(/[^a-zA-Z0-9._-]+/g, \"-\"));\n return `${safeName || \"profile\"}.yaml`;\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n"],"names":[],"mappings":";;AAIO,SAAS,yBAAyB,OAAmC;AAC1E,QAAM,SAAS,MAAM,KAAK;AAC1B,MAAI,CAAC,SAAS,MAAM,EAAG,OAAM,IAAI,MAAM,qCAAqC;AAC5E,SAAO;AACT;AAEO,SAAS,oBAAoB,MAAuB;AACzD,QAAM,WACJ,SAAS,SACL,SACA,uBAAuB,KAAK,OAAO,QAAQ,qBAAqB,GAAG,CAAC;AAC1E,SAAO,GAAG,YAAY,SAAS;AACjC;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,QAAQ,KAAK,KAAK,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC5E;"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const TimeseriesPanel = require("../data/TimeseriesPanel.cjs");
5
+ const react = require("react");
6
+ function PrometheusResults({
7
+ result,
8
+ fallback
9
+ }) {
10
+ const chart = react.useMemo(
11
+ () => prometheusSeries(result.rows ?? []),
12
+ [result.rows]
13
+ );
14
+ if (!chart) return fallback;
15
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
16
+ /* @__PURE__ */ jsxRuntime.jsx(
17
+ TimeseriesPanel.TimeseriesPanel,
18
+ {
19
+ title: "Prometheus query",
20
+ baseUrl: "/query-browser/",
21
+ series: chart.series,
22
+ refreshMs: 0,
23
+ height: 240,
24
+ fetcher: async (url) => {
25
+ var _a;
26
+ const id = ((_a = url.split("?")[0]) == null ? void 0 : _a.split("/").filter(Boolean).pop()) ?? "";
27
+ return chart.responses[id] ?? { id, points: [] };
28
+ }
29
+ }
30
+ ),
31
+ fallback
32
+ ] });
33
+ }
34
+ function prometheusSeries(rows) {
35
+ const withTime = rows.filter(
36
+ (row) => row.timestamp != null && typeof row.value === "number"
37
+ );
38
+ if (withTime.length < 2) return null;
39
+ const groups = /* @__PURE__ */ new Map();
40
+ for (const row of withTime) {
41
+ const labels = Object.entries(row).filter(([key]) => key !== "timestamp" && key !== "value").sort(([a], [b]) => a.localeCompare(b));
42
+ const label = labels.map(([key, value]) => `${key}=${String(value)}`).join(", ") || "value";
43
+ const group = groups.get(label) ?? { label, points: [] };
44
+ group.points.push({
45
+ at: new Date(String(row.timestamp)).toISOString(),
46
+ value: Number(row.value)
47
+ });
48
+ groups.set(label, group);
49
+ }
50
+ const series = [];
51
+ const responses = {};
52
+ [...groups.values()].forEach((group, index) => {
53
+ const id = `series-${index}`;
54
+ series.push({ id, label: group.label });
55
+ responses[id] = { id, points: group.points };
56
+ });
57
+ return { series, responses };
58
+ }
59
+ exports.PrometheusResults = PrometheusResults;
60
+ //# sourceMappingURL=prometheusResults.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheusResults.cjs","sources":["../../src/profiles/prometheusResults.tsx"],"sourcesContent":["import { TimeseriesPanel } from \"../data/TimeseriesPanel\";\nimport type { TimeseriesResponse, TimeseriesSeries } from \"../data/TimeseriesPanel.model\";\nimport type { QueryBrowserResult } from \"../data/query-browser/QueryBrowser.types\";\nimport { useMemo, type ReactNode } from \"react\";\n\nexport function PrometheusResults({\n result,\n fallback,\n}: {\n result: QueryBrowserResult;\n fallback: ReactNode;\n}) {\n const chart = useMemo(\n () => prometheusSeries(result.rows ?? []),\n [result.rows],\n );\n if (!chart) return fallback;\n return (\n <div className=\"space-y-3\">\n <TimeseriesPanel\n title=\"Prometheus query\"\n baseUrl=\"/query-browser/\"\n series={chart.series}\n refreshMs={0}\n height={240}\n fetcher={async (url) => {\n const id = url.split(\"?\")[0]?.split(\"/\").filter(Boolean).pop() ?? \"\";\n return chart.responses[id] ?? { id, points: [] };\n }}\n />\n {fallback}\n </div>\n );\n}\n\nfunction prometheusSeries(rows: Record<string, unknown>[]): {\n series: TimeseriesSeries[];\n responses: Record<string, TimeseriesResponse>;\n} | null {\n const withTime = rows.filter(\n (row) => row.timestamp != null && typeof row.value === \"number\",\n );\n if (withTime.length < 2) return null;\n const groups = new Map<\n string,\n { label: string; points: { at: string; value: number }[] }\n >();\n for (const row of withTime) {\n const labels = Object.entries(row)\n .filter(([key]) => key !== \"timestamp\" && key !== \"value\")\n .sort(([a], [b]) => a.localeCompare(b));\n const label =\n labels.map(([key, value]) => `${key}=${String(value)}`).join(\", \") ||\n \"value\";\n const group = groups.get(label) ?? { label, points: [] };\n group.points.push({\n at: new Date(String(row.timestamp)).toISOString(),\n value: Number(row.value),\n });\n groups.set(label, group);\n }\n const series: TimeseriesSeries[] = [];\n const responses: Record<string, TimeseriesResponse> = {};\n [...groups.values()].forEach((group, index) => {\n const id = `series-${index}`;\n series.push({ id, label: group.label });\n responses[id] = { id, points: group.points };\n });\n return { series, responses };\n}\n"],"names":["useMemo","jsxs","jsx","TimeseriesPanel"],"mappings":";;;;;AAKO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAGG;AACD,QAAM,QAAQA,MAAAA;AAAAA,IACZ,MAAM,iBAAiB,OAAO,QAAQ,EAAE;AAAA,IACxC,CAAC,OAAO,IAAI;AAAA,EAAA;AAEd,MAAI,CAAC,MAAO,QAAO;AACnB,SACEC,2BAAAA,KAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAACC,gBAAAA;AAAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,QAAQ,MAAM;AAAA,QACd,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS,OAAO,QAAQ;;AACtB,gBAAM,OAAK,SAAI,MAAM,GAAG,EAAE,CAAC,MAAhB,mBAAmB,MAAM,KAAK,OAAO,SAAS,UAAS;AAClE,iBAAO,MAAM,UAAU,EAAE,KAAK,EAAE,IAAI,QAAQ,GAAC;AAAA,QAC/C;AAAA,MAAA;AAAA,IAAA;AAAA,IAED;AAAA,EAAA,GACH;AAEJ;AAEA,SAAS,iBAAiB,MAGjB;AACP,QAAM,WAAW,KAAK;AAAA,IACpB,CAAC,QAAQ,IAAI,aAAa,QAAQ,OAAO,IAAI,UAAU;AAAA,EAAA;AAEzD,MAAI,SAAS,SAAS,EAAG,QAAO;AAChC,QAAM,6BAAa,IAAA;AAInB,aAAW,OAAO,UAAU;AAC1B,UAAM,SAAS,OAAO,QAAQ,GAAG,EAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,QAAQ,eAAe,QAAQ,OAAO,EACxD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACxC,UAAM,QACJ,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,KACjE;AACF,UAAM,QAAQ,OAAO,IAAI,KAAK,KAAK,EAAE,OAAO,QAAQ,GAAC;AACrD,UAAM,OAAO,KAAK;AAAA,MAChB,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,EAAE,YAAA;AAAA,MACpC,OAAO,OAAO,IAAI,KAAK;AAAA,IAAA,CACxB;AACD,WAAO,IAAI,OAAO,KAAK;AAAA,EACzB;AACA,QAAM,SAA6B,CAAA;AACnC,QAAM,YAAgD,CAAA;AACtD,GAAC,GAAG,OAAO,OAAA,CAAQ,EAAE,QAAQ,CAAC,OAAO,UAAU;AAC7C,UAAM,KAAK,UAAU,KAAK;AAC1B,WAAO,KAAK,EAAE,IAAI,OAAO,MAAM,OAAO;AACtC,cAAU,EAAE,IAAI,EAAE,IAAI,QAAQ,MAAM,OAAA;AAAA,EACtC,CAAC;AACD,SAAO,EAAE,QAAQ,UAAA;AACnB;;"}
@@ -0,0 +1,7 @@
1
+ import { QueryBrowserResult } from '../data/query-browser/QueryBrowser.types';
2
+ import { ReactNode } from 'react';
3
+ export declare function PrometheusResults({ result, fallback, }: {
4
+ result: QueryBrowserResult;
5
+ fallback: ReactNode;
6
+ }): string | number | boolean | Iterable<ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;
7
+ //# sourceMappingURL=prometheusResults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheusResults.d.ts","sourceRoot":"","sources":["../../src/profiles/prometheusResults.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEhD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,kBAAkB,CAAC;IAC3B,QAAQ,EAAE,SAAS,CAAC;CACrB,gHAsBA"}
@@ -0,0 +1,60 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { TimeseriesPanel } from "../data/TimeseriesPanel.js";
3
+ import { useMemo } from "react";
4
+ function PrometheusResults({
5
+ result,
6
+ fallback
7
+ }) {
8
+ const chart = useMemo(
9
+ () => prometheusSeries(result.rows ?? []),
10
+ [result.rows]
11
+ );
12
+ if (!chart) return fallback;
13
+ return /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
14
+ /* @__PURE__ */ jsx(
15
+ TimeseriesPanel,
16
+ {
17
+ title: "Prometheus query",
18
+ baseUrl: "/query-browser/",
19
+ series: chart.series,
20
+ refreshMs: 0,
21
+ height: 240,
22
+ fetcher: async (url) => {
23
+ var _a;
24
+ const id = ((_a = url.split("?")[0]) == null ? void 0 : _a.split("/").filter(Boolean).pop()) ?? "";
25
+ return chart.responses[id] ?? { id, points: [] };
26
+ }
27
+ }
28
+ ),
29
+ fallback
30
+ ] });
31
+ }
32
+ function prometheusSeries(rows) {
33
+ const withTime = rows.filter(
34
+ (row) => row.timestamp != null && typeof row.value === "number"
35
+ );
36
+ if (withTime.length < 2) return null;
37
+ const groups = /* @__PURE__ */ new Map();
38
+ for (const row of withTime) {
39
+ const labels = Object.entries(row).filter(([key]) => key !== "timestamp" && key !== "value").sort(([a], [b]) => a.localeCompare(b));
40
+ const label = labels.map(([key, value]) => `${key}=${String(value)}`).join(", ") || "value";
41
+ const group = groups.get(label) ?? { label, points: [] };
42
+ group.points.push({
43
+ at: new Date(String(row.timestamp)).toISOString(),
44
+ value: Number(row.value)
45
+ });
46
+ groups.set(label, group);
47
+ }
48
+ const series = [];
49
+ const responses = {};
50
+ [...groups.values()].forEach((group, index) => {
51
+ const id = `series-${index}`;
52
+ series.push({ id, label: group.label });
53
+ responses[id] = { id, points: group.points };
54
+ });
55
+ return { series, responses };
56
+ }
57
+ export {
58
+ PrometheusResults
59
+ };
60
+ //# sourceMappingURL=prometheusResults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheusResults.js","sources":["../../src/profiles/prometheusResults.tsx"],"sourcesContent":["import { TimeseriesPanel } from \"../data/TimeseriesPanel\";\nimport type { TimeseriesResponse, TimeseriesSeries } from \"../data/TimeseriesPanel.model\";\nimport type { QueryBrowserResult } from \"../data/query-browser/QueryBrowser.types\";\nimport { useMemo, type ReactNode } from \"react\";\n\nexport function PrometheusResults({\n result,\n fallback,\n}: {\n result: QueryBrowserResult;\n fallback: ReactNode;\n}) {\n const chart = useMemo(\n () => prometheusSeries(result.rows ?? []),\n [result.rows],\n );\n if (!chart) return fallback;\n return (\n <div className=\"space-y-3\">\n <TimeseriesPanel\n title=\"Prometheus query\"\n baseUrl=\"/query-browser/\"\n series={chart.series}\n refreshMs={0}\n height={240}\n fetcher={async (url) => {\n const id = url.split(\"?\")[0]?.split(\"/\").filter(Boolean).pop() ?? \"\";\n return chart.responses[id] ?? { id, points: [] };\n }}\n />\n {fallback}\n </div>\n );\n}\n\nfunction prometheusSeries(rows: Record<string, unknown>[]): {\n series: TimeseriesSeries[];\n responses: Record<string, TimeseriesResponse>;\n} | null {\n const withTime = rows.filter(\n (row) => row.timestamp != null && typeof row.value === \"number\",\n );\n if (withTime.length < 2) return null;\n const groups = new Map<\n string,\n { label: string; points: { at: string; value: number }[] }\n >();\n for (const row of withTime) {\n const labels = Object.entries(row)\n .filter(([key]) => key !== \"timestamp\" && key !== \"value\")\n .sort(([a], [b]) => a.localeCompare(b));\n const label =\n labels.map(([key, value]) => `${key}=${String(value)}`).join(\", \") ||\n \"value\";\n const group = groups.get(label) ?? { label, points: [] };\n group.points.push({\n at: new Date(String(row.timestamp)).toISOString(),\n value: Number(row.value),\n });\n groups.set(label, group);\n }\n const series: TimeseriesSeries[] = [];\n const responses: Record<string, TimeseriesResponse> = {};\n [...groups.values()].forEach((group, index) => {\n const id = `series-${index}`;\n series.push({ id, label: group.label });\n responses[id] = { id, points: group.points };\n });\n return { series, responses };\n}\n"],"names":[],"mappings":";;;AAKO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AACF,GAGG;AACD,QAAM,QAAQ;AAAA,IACZ,MAAM,iBAAiB,OAAO,QAAQ,EAAE;AAAA,IACxC,CAAC,OAAO,IAAI;AAAA,EAAA;AAEd,MAAI,CAAC,MAAO,QAAO;AACnB,SACE,qBAAC,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,SAAQ;AAAA,QACR,QAAQ,MAAM;AAAA,QACd,WAAW;AAAA,QACX,QAAQ;AAAA,QACR,SAAS,OAAO,QAAQ;;AACtB,gBAAM,OAAK,SAAI,MAAM,GAAG,EAAE,CAAC,MAAhB,mBAAmB,MAAM,KAAK,OAAO,SAAS,UAAS;AAClE,iBAAO,MAAM,UAAU,EAAE,KAAK,EAAE,IAAI,QAAQ,GAAC;AAAA,QAC/C;AAAA,MAAA;AAAA,IAAA;AAAA,IAED;AAAA,EAAA,GACH;AAEJ;AAEA,SAAS,iBAAiB,MAGjB;AACP,QAAM,WAAW,KAAK;AAAA,IACpB,CAAC,QAAQ,IAAI,aAAa,QAAQ,OAAO,IAAI,UAAU;AAAA,EAAA;AAEzD,MAAI,SAAS,SAAS,EAAG,QAAO;AAChC,QAAM,6BAAa,IAAA;AAInB,aAAW,OAAO,UAAU;AAC1B,UAAM,SAAS,OAAO,QAAQ,GAAG,EAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,QAAQ,eAAe,QAAQ,OAAO,EACxD,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;AACxC,UAAM,QACJ,OAAO,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,GAAG,GAAG,IAAI,OAAO,KAAK,CAAC,EAAE,EAAE,KAAK,IAAI,KACjE;AACF,UAAM,QAAQ,OAAO,IAAI,KAAK,KAAK,EAAE,OAAO,QAAQ,GAAC;AACrD,UAAM,OAAO,KAAK;AAAA,MAChB,IAAI,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,EAAE,YAAA;AAAA,MACpC,OAAO,OAAO,IAAI,KAAK;AAAA,IAAA,CACxB;AACD,WAAO,IAAI,OAAO,KAAK;AAAA,EACzB;AACA,QAAM,SAA6B,CAAA;AACnC,QAAM,YAAgD,CAAA;AACtD,GAAC,GAAG,OAAO,OAAA,CAAQ,EAAE,QAAQ,CAAC,OAAO,UAAU;AAC7C,UAAM,KAAK,UAAU,KAAK;AAC1B,WAAO,KAAK,EAAE,IAAI,OAAO,MAAM,OAAO;AACtC,cAAU,EAAE,IAAI,EAAE,IAAI,QAAQ,MAAM,OAAA;AAAA,EACtC,CAAC;AACD,SAAO,EAAE,QAAQ,UAAA;AACnB;"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const InputField = require("../components/InputField.cjs");
5
+ const queryRowLimitsModel = require("./queryRowLimitsModel.cjs");
6
+ const profileCaps = [
7
+ {
8
+ key: "pageSize",
9
+ label: "Page size",
10
+ title: "Rows one page returns when the caller asks for no size.",
11
+ fallback: "pageSize"
12
+ },
13
+ {
14
+ key: "maxPageSize",
15
+ label: "Max page",
16
+ title: "Largest single page a caller may ask this profile for.",
17
+ fallback: "maxPageSize"
18
+ },
19
+ {
20
+ key: "maxExportRows",
21
+ label: "Max export",
22
+ title: "Where an all-row export of this profile stops.",
23
+ fallback: "maxExportRows"
24
+ }
25
+ ];
26
+ function QueryRowLimits({
27
+ value,
28
+ onChange,
29
+ defaults,
30
+ limits,
31
+ onLimitsChange
32
+ }) {
33
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-end gap-3", children: [
34
+ /* @__PURE__ */ jsxRuntime.jsx(
35
+ RowLimitField,
36
+ {
37
+ label: "Limit",
38
+ title: "Rows this query asks the source for.",
39
+ value,
40
+ placeholder: "rows",
41
+ onChange
42
+ }
43
+ ),
44
+ onLimitsChange ? profileCaps.map((cap) => /* @__PURE__ */ jsxRuntime.jsx(
45
+ RowLimitField,
46
+ {
47
+ label: cap.label,
48
+ title: cap.title,
49
+ value: (limits == null ? void 0 : limits[cap.key]) === void 0 ? "" : String(limits[cap.key]),
50
+ placeholder: defaults ? defaults[cap.fallback].toLocaleString("en-US") : "",
51
+ onChange: (text) => onLimitsChange(queryRowLimitsModel.applyRowLimit(limits, cap.key, text))
52
+ },
53
+ cap.key
54
+ )) : null
55
+ ] });
56
+ }
57
+ function RowLimitField({
58
+ label,
59
+ title,
60
+ value,
61
+ placeholder,
62
+ onChange
63
+ }) {
64
+ return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: "flex flex-col gap-1", children: [
65
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-xs font-medium text-muted-foreground", children: label }),
66
+ /* @__PURE__ */ jsxRuntime.jsx(
67
+ InputField.InputField,
68
+ {
69
+ "aria-label": label,
70
+ className: "w-24",
71
+ type: "number",
72
+ min: "1",
73
+ placeholder,
74
+ title,
75
+ value,
76
+ onChange
77
+ }
78
+ )
79
+ ] });
80
+ }
81
+ exports.QueryRowLimits = QueryRowLimits;
82
+ //# sourceMappingURL=queryRowLimits.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryRowLimits.cjs","sources":["../../src/profiles/queryRowLimits.tsx"],"sourcesContent":["/**\n * The four row caps, edited beside the filters they bound rather than buried in\n * the generic options form. They answer different questions and so get a field\n * each: Limit is how many rows the query asks the source for (a provider\n * option), while the page a caller gets by default, the largest page it may ask\n * for and where an export stops belong to the profile. A cap the profile leaves\n * empty shows the inherited default as its placeholder.\n */\n\nimport { InputField } from \"../components/InputField\";\nimport type {\n BrowserRowLimits,\n ProfileRowLimits,\n} from \"./connectionBrowserModel\";\nimport { applyRowLimit } from \"./queryRowLimitsModel\";\n\nconst profileCaps: {\n key: keyof ProfileRowLimits;\n label: string;\n title: string;\n fallback: keyof BrowserRowLimits;\n}[] = [\n {\n key: \"pageSize\",\n label: \"Page size\",\n title: \"Rows one page returns when the caller asks for no size.\",\n fallback: \"pageSize\",\n },\n {\n key: \"maxPageSize\",\n label: \"Max page\",\n title: \"Largest single page a caller may ask this profile for.\",\n fallback: \"maxPageSize\",\n },\n {\n key: \"maxExportRows\",\n label: \"Max export\",\n title: \"Where an all-row export of this profile stops.\",\n fallback: \"maxExportRows\",\n },\n];\n\nexport function QueryRowLimits({\n value,\n onChange,\n defaults,\n limits,\n onLimitsChange,\n}: {\n value: string;\n onChange: (limit: string) => void;\n defaults?: BrowserRowLimits;\n limits?: ProfileRowLimits;\n onLimitsChange?: (limits: ProfileRowLimits | undefined) => void;\n}) {\n return (\n <div className=\"flex flex-wrap items-end gap-3\">\n <RowLimitField\n label=\"Limit\"\n title=\"Rows this query asks the source for.\"\n value={value}\n placeholder=\"rows\"\n onChange={onChange}\n />\n {onLimitsChange\n ? profileCaps.map((cap) => (\n <RowLimitField\n key={cap.key}\n label={cap.label}\n title={cap.title}\n value={limits?.[cap.key] === undefined ? \"\" : String(limits[cap.key])}\n placeholder={\n defaults ? defaults[cap.fallback].toLocaleString(\"en-US\") : \"\"\n }\n onChange={(text) =>\n onLimitsChange(applyRowLimit(limits, cap.key, text))\n }\n />\n ))\n : null}\n </div>\n );\n}\n\nfunction RowLimitField({\n label,\n title,\n value,\n placeholder,\n onChange,\n}: {\n label: string;\n title: string;\n value: string;\n placeholder: string;\n onChange: (text: string) => void;\n}) {\n return (\n <label className=\"flex flex-col gap-1\">\n <span className=\"text-xs font-medium text-muted-foreground\">{label}</span>\n <InputField\n aria-label={label}\n className=\"w-24\"\n type=\"number\"\n min=\"1\"\n placeholder={placeholder}\n title={title}\n value={value}\n onChange={onChange}\n />\n </label>\n );\n}\n"],"names":["jsxs","jsx","applyRowLimit","InputField"],"mappings":";;;;;AAgBA,MAAM,cAKA;AAAA,EACJ;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAAA,EAEZ;AAAA,IACE,KAAK;AAAA,IACL,OAAO;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,EAAA;AAEd;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AACD,SACEA,2BAAAA,KAAC,OAAA,EAAI,WAAU,kCACb,UAAA;AAAA,IAAAC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAM;AAAA,QACN,OAAM;AAAA,QACN;AAAA,QACA,aAAY;AAAA,QACZ;AAAA,MAAA;AAAA,IAAA;AAAA,IAED,iBACG,YAAY,IAAI,CAAC,QACfA,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QAEC,OAAO,IAAI;AAAA,QACX,OAAO,IAAI;AAAA,QACX,QAAO,iCAAS,IAAI,UAAS,SAAY,KAAK,OAAO,OAAO,IAAI,GAAG,CAAC;AAAA,QACpE,aACE,WAAW,SAAS,IAAI,QAAQ,EAAE,eAAe,OAAO,IAAI;AAAA,QAE9D,UAAU,CAAC,SACT,eAAeC,oBAAAA,cAAc,QAAQ,IAAI,KAAK,IAAI,CAAC;AAAA,MAAA;AAAA,MARhD,IAAI;AAAA,IAAA,CAWZ,IACD;AAAA,EAAA,GACN;AAEJ;AAEA,SAAS,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAMG;AACD,SACEF,2BAAAA,KAAC,SAAA,EAAM,WAAU,uBACf,UAAA;AAAA,IAAAC,2BAAAA,IAAC,QAAA,EAAK,WAAU,6CAA6C,UAAA,OAAM;AAAA,IACnEA,2BAAAA;AAAAA,MAACE,WAAAA;AAAAA,MAAA;AAAA,QACC,cAAY;AAAA,QACZ,WAAU;AAAA,QACV,MAAK;AAAA,QACL,KAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;;"}
@@ -0,0 +1,9 @@
1
+ import { BrowserRowLimits, ProfileRowLimits } from './connectionBrowserModel';
2
+ export declare function QueryRowLimits({ value, onChange, defaults, limits, onLimitsChange, }: {
3
+ value: string;
4
+ onChange: (limit: string) => void;
5
+ defaults?: BrowserRowLimits;
6
+ limits?: ProfileRowLimits;
7
+ onLimitsChange?: (limits: ProfileRowLimits | undefined) => void;
8
+ }): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=queryRowLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryRowLimits.d.ts","sourceRoot":"","sources":["../../src/profiles/queryRowLimits.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,0BAA0B,CAAC;AA6BlC,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,GACf,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,GAAG,SAAS,KAAK,IAAI,CAAC;CACjE,2CA4BA"}