@flanksource/clicky-ui 0.3.21 → 0.3.23

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 (1627) hide show
  1. package/NOTICE.md +14 -0
  2. package/README.md +8 -1
  3. package/dist/ai.cjs +10 -0
  4. package/dist/ai.cjs.map +1 -1
  5. package/dist/ai.js +10 -0
  6. package/dist/ai.js.map +1 -1
  7. package/dist/comments/MentionTextarea.cjs +1 -1
  8. package/dist/comments/MentionTextarea.cjs.map +1 -1
  9. package/dist/comments/MentionTextarea.js +1 -1
  10. package/dist/comments/MentionTextarea.js.map +1 -1
  11. package/dist/components/AccordionList.cjs +320 -0
  12. package/dist/components/AccordionList.cjs.map +1 -0
  13. package/dist/components/AccordionList.d.ts +93 -0
  14. package/dist/components/AccordionList.d.ts.map +1 -0
  15. package/dist/components/AccordionList.js +320 -0
  16. package/dist/components/AccordionList.js.map +1 -0
  17. package/dist/components/Combobox.cjs +41 -3
  18. package/dist/components/Combobox.cjs.map +1 -1
  19. package/dist/components/Combobox.d.ts.map +1 -1
  20. package/dist/components/Combobox.js +42 -4
  21. package/dist/components/Combobox.js.map +1 -1
  22. package/dist/components/ComboboxControl.cjs +6 -0
  23. package/dist/components/ComboboxControl.cjs.map +1 -1
  24. package/dist/components/ComboboxControl.d.ts +7 -3
  25. package/dist/components/ComboboxControl.d.ts.map +1 -1
  26. package/dist/components/ComboboxControl.js +6 -0
  27. package/dist/components/ComboboxControl.js.map +1 -1
  28. package/dist/components/ComboboxMenu.cjs +2 -1
  29. package/dist/components/ComboboxMenu.cjs.map +1 -1
  30. package/dist/components/ComboboxMenu.d.ts +3 -1
  31. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  32. package/dist/components/ComboboxMenu.js +2 -1
  33. package/dist/components/ComboboxMenu.js.map +1 -1
  34. package/dist/components/ComboboxTags.cjs +42 -11
  35. package/dist/components/ComboboxTags.cjs.map +1 -1
  36. package/dist/components/ComboboxTags.d.ts +5 -2
  37. package/dist/components/ComboboxTags.d.ts.map +1 -1
  38. package/dist/components/ComboboxTags.js +42 -11
  39. package/dist/components/ComboboxTags.js.map +1 -1
  40. package/dist/components/ConnectionLoggingPolicy.cjs +268 -0
  41. package/dist/components/ConnectionLoggingPolicy.cjs.map +1 -0
  42. package/dist/components/ConnectionLoggingPolicy.d.ts +3 -0
  43. package/dist/components/ConnectionLoggingPolicy.d.ts.map +1 -0
  44. package/dist/components/ConnectionLoggingPolicy.js +268 -0
  45. package/dist/components/ConnectionLoggingPolicy.js.map +1 -0
  46. package/dist/components/ConnectionLoggingPolicy.model.cjs +52 -0
  47. package/dist/components/ConnectionLoggingPolicy.model.cjs.map +1 -0
  48. package/dist/components/ConnectionLoggingPolicy.model.d.ts +35 -0
  49. package/dist/components/ConnectionLoggingPolicy.model.d.ts.map +1 -0
  50. package/dist/components/ConnectionLoggingPolicy.model.js +52 -0
  51. package/dist/components/ConnectionLoggingPolicy.model.js.map +1 -0
  52. package/dist/components/CountryFlag.cjs +55 -0
  53. package/dist/components/CountryFlag.cjs.map +1 -0
  54. package/dist/components/CountryFlag.d.ts +8 -0
  55. package/dist/components/CountryFlag.d.ts.map +1 -0
  56. package/dist/components/CountryFlag.js +38 -0
  57. package/dist/components/CountryFlag.js.map +1 -0
  58. package/dist/components/CountryPicker.cjs +35 -0
  59. package/dist/components/CountryPicker.cjs.map +1 -0
  60. package/dist/components/CountryPicker.d.ts +4 -0
  61. package/dist/components/CountryPicker.d.ts.map +1 -0
  62. package/dist/components/CountryPicker.js +35 -0
  63. package/dist/components/CountryPicker.js.map +1 -0
  64. package/dist/components/DaemonSetIcon.cjs +20 -0
  65. package/dist/components/DaemonSetIcon.cjs.map +1 -0
  66. package/dist/components/DaemonSetIcon.d.ts +8 -0
  67. package/dist/components/DaemonSetIcon.d.ts.map +1 -0
  68. package/dist/components/DaemonSetIcon.js +20 -0
  69. package/dist/components/DaemonSetIcon.js.map +1 -0
  70. package/dist/components/DateField.cjs.map +1 -1
  71. package/dist/components/DateField.d.ts +11 -3
  72. package/dist/components/DateField.d.ts.map +1 -1
  73. package/dist/components/DateField.js.map +1 -1
  74. package/dist/components/DatePicker.cjs +6 -1
  75. package/dist/components/DatePicker.cjs.map +1 -1
  76. package/dist/components/DatePicker.d.ts +11 -3
  77. package/dist/components/DatePicker.d.ts.map +1 -1
  78. package/dist/components/DatePicker.js +6 -1
  79. package/dist/components/DatePicker.js.map +1 -1
  80. package/dist/components/EndpointSelector.cjs +29 -8
  81. package/dist/components/EndpointSelector.cjs.map +1 -1
  82. package/dist/components/EndpointSelector.d.ts +1 -1
  83. package/dist/components/EndpointSelector.d.ts.map +1 -1
  84. package/dist/components/EndpointSelector.js +29 -8
  85. package/dist/components/EndpointSelector.js.map +1 -1
  86. package/dist/components/EndpointSelector.model.cjs.map +1 -1
  87. package/dist/components/EndpointSelector.model.d.ts +5 -0
  88. package/dist/components/EndpointSelector.model.d.ts.map +1 -1
  89. package/dist/components/EndpointSelector.model.js.map +1 -1
  90. package/dist/components/FilterBar.cjs +43 -19
  91. package/dist/components/FilterBar.cjs.map +1 -1
  92. package/dist/components/FilterBar.d.ts +21 -1
  93. package/dist/components/FilterBar.d.ts.map +1 -1
  94. package/dist/components/FilterBar.js +41 -17
  95. package/dist/components/FilterBar.js.map +1 -1
  96. package/dist/components/InputField.cjs +14 -2
  97. package/dist/components/InputField.cjs.map +1 -1
  98. package/dist/components/InputField.d.ts +6 -0
  99. package/dist/components/InputField.d.ts.map +1 -1
  100. package/dist/components/InputField.js +14 -2
  101. package/dist/components/InputField.js.map +1 -1
  102. package/dist/components/ItemActions.cjs +87 -0
  103. package/dist/components/ItemActions.cjs.map +1 -0
  104. package/dist/components/ItemActions.d.ts +33 -0
  105. package/dist/components/ItemActions.d.ts.map +1 -0
  106. package/dist/components/ItemActions.js +87 -0
  107. package/dist/components/ItemActions.js.map +1 -0
  108. package/dist/components/JsonSchemaForm.cjs +1 -1
  109. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  110. package/dist/components/JsonSchemaForm.js +1 -1
  111. package/dist/components/JsonSchemaForm.js.map +1 -1
  112. package/dist/components/MdxEditorCallout.cjs +108 -0
  113. package/dist/components/MdxEditorCallout.cjs.map +1 -0
  114. package/dist/components/MdxEditorCallout.d.ts +27 -0
  115. package/dist/components/MdxEditorCallout.d.ts.map +1 -0
  116. package/dist/components/MdxEditorCallout.js +108 -0
  117. package/dist/components/MdxEditorCallout.js.map +1 -0
  118. package/dist/components/MdxEditorField.cjs.map +1 -1
  119. package/dist/components/MdxEditorField.d.ts +1 -1
  120. package/dist/components/MdxEditorField.d.ts.map +1 -1
  121. package/dist/components/MdxEditorField.js.map +1 -1
  122. package/dist/components/MdxEditorToolbar.cjs +10 -2
  123. package/dist/components/MdxEditorToolbar.cjs.map +1 -1
  124. package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
  125. package/dist/components/MdxEditorToolbar.js +10 -2
  126. package/dist/components/MdxEditorToolbar.js.map +1 -1
  127. package/dist/components/MultiSelect.cjs +3 -1
  128. package/dist/components/MultiSelect.cjs.map +1 -1
  129. package/dist/components/MultiSelect.d.ts.map +1 -1
  130. package/dist/components/MultiSelect.js +3 -1
  131. package/dist/components/MultiSelect.js.map +1 -1
  132. package/dist/components/NamespacePicker.cjs +1 -0
  133. package/dist/components/NamespacePicker.cjs.map +1 -1
  134. package/dist/components/NamespacePicker.d.ts.map +1 -1
  135. package/dist/components/NamespacePicker.js +1 -0
  136. package/dist/components/NamespacePicker.js.map +1 -1
  137. package/dist/components/SplitButton.cjs +3 -2
  138. package/dist/components/SplitButton.cjs.map +1 -1
  139. package/dist/components/SplitButton.d.ts +6 -1
  140. package/dist/components/SplitButton.d.ts.map +1 -1
  141. package/dist/components/SplitButton.js +3 -2
  142. package/dist/components/SplitButton.js.map +1 -1
  143. package/dist/components/WorkloadPicker.cjs +117 -31
  144. package/dist/components/WorkloadPicker.cjs.map +1 -1
  145. package/dist/components/WorkloadPicker.d.ts +29 -5
  146. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  147. package/dist/components/WorkloadPicker.js +119 -33
  148. package/dist/components/WorkloadPicker.js.map +1 -1
  149. package/dist/components/button-variants.d.ts +1 -1
  150. package/dist/components/button.d.ts +1 -1
  151. package/dist/components/combobox-types.d.ts +13 -0
  152. package/dist/components/combobox-types.d.ts.map +1 -1
  153. package/dist/components/combobox-utils.cjs +16 -0
  154. package/dist/components/combobox-utils.cjs.map +1 -1
  155. package/dist/components/combobox-utils.d.ts +1 -0
  156. package/dist/components/combobox-utils.d.ts.map +1 -1
  157. package/dist/components/combobox-utils.js +16 -0
  158. package/dist/components/combobox-utils.js.map +1 -1
  159. package/dist/components/country-options.cjs +34 -0
  160. package/dist/components/country-options.cjs.map +1 -0
  161. package/dist/components/country-options.d.ts +8 -0
  162. package/dist/components/country-options.d.ts.map +1 -0
  163. package/dist/components/country-options.js +34 -0
  164. package/dist/components/country-options.js.map +1 -0
  165. package/dist/components/filter-bar-multi.cjs +1 -1
  166. package/dist/components/filter-bar-multi.cjs.map +1 -1
  167. package/dist/components/filter-bar-multi.js +1 -1
  168. package/dist/components/filter-bar-multi.js.map +1 -1
  169. package/dist/components/filter-bar-utils.cjs +14 -2
  170. package/dist/components/filter-bar-utils.cjs.map +1 -1
  171. package/dist/components/filter-bar-utils.d.ts +2 -1
  172. package/dist/components/filter-bar-utils.d.ts.map +1 -1
  173. package/dist/components/filter-bar-utils.js +14 -2
  174. package/dist/components/filter-bar-utils.js.map +1 -1
  175. package/dist/components/jotai-bindings-core.cjs +11 -0
  176. package/dist/components/jotai-bindings-core.cjs.map +1 -1
  177. package/dist/components/jotai-bindings-core.d.ts +3 -2
  178. package/dist/components/jotai-bindings-core.d.ts.map +1 -1
  179. package/dist/components/jotai-bindings-core.js +11 -0
  180. package/dist/components/jotai-bindings-core.js.map +1 -1
  181. package/dist/components/json-schema-form-accordion-array.cjs +54 -190
  182. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  183. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  184. package/dist/components/json-schema-form-accordion-array.js +59 -195
  185. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  186. package/dist/components/json-schema-form-array.cjs +46 -146
  187. package/dist/components/json-schema-form-array.cjs.map +1 -1
  188. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  189. package/dist/components/json-schema-form-array.js +47 -147
  190. package/dist/components/json-schema-form-array.js.map +1 -1
  191. package/dist/components/json-schema-form-cards-array.cjs +9 -7
  192. package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
  193. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  194. package/dist/components/json-schema-form-cards-array.js +11 -9
  195. package/dist/components/json-schema-form-cards-array.js.map +1 -1
  196. package/dist/components/json-schema-form-error-display.js +1 -1
  197. package/dist/components/json-schema-form-errors.cjs +17 -4
  198. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  199. package/dist/components/json-schema-form-errors.d.ts +1 -0
  200. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  201. package/dist/components/json-schema-form-errors.js +16 -3
  202. package/dist/components/json-schema-form-errors.js.map +1 -1
  203. package/dist/components/json-schema-form-fields.cjs +18 -2
  204. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  205. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  206. package/dist/components/json-schema-form-fields.js +18 -2
  207. package/dist/components/json-schema-form-fields.js.map +1 -1
  208. package/dist/components/json-schema-form-item-row.cjs +17 -46
  209. package/dist/components/json-schema-form-item-row.cjs.map +1 -1
  210. package/dist/components/json-schema-form-item-row.d.ts +3 -10
  211. package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
  212. package/dist/components/json-schema-form-item-row.js +18 -47
  213. package/dist/components/json-schema-form-item-row.js.map +1 -1
  214. package/dist/components/json-schema-form-item-summary.cjs +18 -4
  215. package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
  216. package/dist/components/json-schema-form-item-summary.d.ts +2 -1
  217. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
  218. package/dist/components/json-schema-form-item-summary.js +15 -1
  219. package/dist/components/json-schema-form-item-summary.js.map +1 -1
  220. package/dist/components/json-schema-form-lookup-tree.cjs +2 -5
  221. package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -1
  222. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
  223. package/dist/components/json-schema-form-lookup-tree.js +2 -5
  224. package/dist/components/json-schema-form-lookup-tree.js.map +1 -1
  225. package/dist/components/json-schema-form-object.cjs +3 -2
  226. package/dist/components/json-schema-form-object.cjs.map +1 -1
  227. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  228. package/dist/components/json-schema-form-object.js +2 -1
  229. package/dist/components/json-schema-form-object.js.map +1 -1
  230. package/dist/components/json-schema-form-render.cjs +4 -1
  231. package/dist/components/json-schema-form-render.cjs.map +1 -1
  232. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  233. package/dist/components/json-schema-form-render.js +5 -2
  234. package/dist/components/json-schema-form-render.js.map +1 -1
  235. package/dist/components/json-schema-form-resolve.cjs +21 -13
  236. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  237. package/dist/components/json-schema-form-resolve.d.ts +2 -2
  238. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  239. package/dist/components/json-schema-form-resolve.js +16 -8
  240. package/dist/components/json-schema-form-resolve.js.map +1 -1
  241. package/dist/components/json-schema-form-table-array.cjs +4 -3
  242. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  243. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  244. package/dist/components/json-schema-form-table-array.js +2 -1
  245. package/dist/components/json-schema-form-table-array.js.map +1 -1
  246. package/dist/components/json-schema-form-tags-combobox.cjs +55 -0
  247. package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -0
  248. package/dist/components/json-schema-form-tags-combobox.d.ts +17 -0
  249. package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -0
  250. package/dist/components/json-schema-form-tags-combobox.js +55 -0
  251. package/dist/components/json-schema-form-tags-combobox.js.map +1 -0
  252. package/dist/components/json-schema-form-types.d.ts +8 -1
  253. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  254. package/dist/components/json-schema-form-utils.cjs +5 -28
  255. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  256. package/dist/components/json-schema-form-utils.d.ts +1 -5
  257. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  258. package/dist/components/json-schema-form-utils.js +5 -28
  259. package/dist/components/json-schema-form-utils.js.map +1 -1
  260. package/dist/components/jsonPathTree.cjs +10 -3
  261. package/dist/components/jsonPathTree.cjs.map +1 -1
  262. package/dist/components/jsonPathTree.d.ts +17 -0
  263. package/dist/components/jsonPathTree.d.ts.map +1 -1
  264. package/dist/components/jsonPathTree.js +10 -3
  265. package/dist/components/jsonPathTree.js.map +1 -1
  266. package/dist/components/mdx-editor-callout-model.cjs +26 -0
  267. package/dist/components/mdx-editor-callout-model.cjs.map +1 -0
  268. package/dist/components/mdx-editor-callout-model.d.ts +14 -0
  269. package/dist/components/mdx-editor-callout-model.d.ts.map +1 -0
  270. package/dist/components/mdx-editor-callout-model.js +26 -0
  271. package/dist/components/mdx-editor-callout-model.js.map +1 -0
  272. package/dist/components/mdx-editor-callout.cjs +39 -0
  273. package/dist/components/mdx-editor-callout.cjs.map +1 -0
  274. package/dist/components/mdx-editor-callout.d.ts +27 -0
  275. package/dist/components/mdx-editor-callout.d.ts.map +1 -0
  276. package/dist/components/mdx-editor-callout.js +39 -0
  277. package/dist/components/mdx-editor-callout.js.map +1 -0
  278. package/dist/components/mdx-editor-field-plugins.cjs +14 -0
  279. package/dist/components/mdx-editor-field-plugins.cjs.map +1 -1
  280. package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -1
  281. package/dist/components/mdx-editor-field-plugins.js +14 -0
  282. package/dist/components/mdx-editor-field-plugins.js.map +1 -1
  283. package/dist/components/mdx-editor-jsx-attributes.cjs +23 -0
  284. package/dist/components/mdx-editor-jsx-attributes.cjs.map +1 -0
  285. package/dist/components/mdx-editor-jsx-attributes.d.ts +29 -0
  286. package/dist/components/mdx-editor-jsx-attributes.d.ts.map +1 -0
  287. package/dist/components/mdx-editor-jsx-attributes.js +23 -0
  288. package/dist/components/mdx-editor-jsx-attributes.js.map +1 -0
  289. package/dist/components/mdx-editor-options.d.ts +79 -0
  290. package/dist/components/mdx-editor-options.d.ts.map +1 -1
  291. package/dist/components/workload-picker-utils.cjs +17 -4
  292. package/dist/components/workload-picker-utils.cjs.map +1 -1
  293. package/dist/components/workload-picker-utils.d.ts +3 -1
  294. package/dist/components/workload-picker-utils.d.ts.map +1 -1
  295. package/dist/components/workload-picker-utils.js +18 -5
  296. package/dist/components/workload-picker-utils.js.map +1 -1
  297. package/dist/components.cjs +24 -0
  298. package/dist/components.cjs.map +1 -1
  299. package/dist/components.d.ts +12 -3
  300. package/dist/components.d.ts.map +1 -1
  301. package/dist/components.js +24 -0
  302. package/dist/components.js.map +1 -1
  303. package/dist/data/Callout.cjs +48 -0
  304. package/dist/data/Callout.cjs.map +1 -0
  305. package/dist/data/Callout.d.ts +58 -0
  306. package/dist/data/Callout.d.ts.map +1 -0
  307. package/dist/data/Callout.js +48 -0
  308. package/dist/data/Callout.js.map +1 -0
  309. package/dist/data/Clicky.cjs +311 -249
  310. package/dist/data/Clicky.cjs.map +1 -1
  311. package/dist/data/Clicky.d.ts +37 -2
  312. package/dist/data/Clicky.d.ts.map +1 -1
  313. package/dist/data/Clicky.js +314 -252
  314. package/dist/data/Clicky.js.map +1 -1
  315. package/dist/data/CodeDiff.cjs +3 -18
  316. package/dist/data/CodeDiff.cjs.map +1 -1
  317. package/dist/data/CodeDiff.d.ts.map +1 -1
  318. package/dist/data/CodeDiff.js +3 -18
  319. package/dist/data/CodeDiff.js.map +1 -1
  320. package/dist/data/DataTable.cjs +420 -172
  321. package/dist/data/DataTable.cjs.map +1 -1
  322. package/dist/data/DataTable.d.ts +57 -4
  323. package/dist/data/DataTable.d.ts.map +1 -1
  324. package/dist/data/DataTable.grouping.cjs +26 -0
  325. package/dist/data/DataTable.grouping.cjs.map +1 -1
  326. package/dist/data/DataTable.grouping.d.ts +49 -1
  327. package/dist/data/DataTable.grouping.d.ts.map +1 -1
  328. package/dist/data/DataTable.grouping.js +26 -0
  329. package/dist/data/DataTable.grouping.js.map +1 -1
  330. package/dist/data/DataTable.js +423 -175
  331. package/dist/data/DataTable.js.map +1 -1
  332. package/dist/data/DataTableGroupingControls.cjs +84 -0
  333. package/dist/data/DataTableGroupingControls.cjs.map +1 -0
  334. package/dist/data/DataTableGroupingControls.d.ts +17 -0
  335. package/dist/data/DataTableGroupingControls.d.ts.map +1 -0
  336. package/dist/data/DataTableGroupingControls.js +84 -0
  337. package/dist/data/DataTableGroupingControls.js.map +1 -0
  338. package/dist/data/HighlightedTokens.cjs +21 -0
  339. package/dist/data/HighlightedTokens.cjs.map +1 -0
  340. package/dist/data/HighlightedTokens.d.ts +6 -0
  341. package/dist/data/HighlightedTokens.d.ts.map +1 -0
  342. package/dist/data/HighlightedTokens.js +21 -0
  343. package/dist/data/HighlightedTokens.js.map +1 -0
  344. package/dist/data/Markdown.cjs +31 -2
  345. package/dist/data/Markdown.cjs.map +1 -1
  346. package/dist/data/Markdown.d.ts +10 -1
  347. package/dist/data/Markdown.d.ts.map +1 -1
  348. package/dist/data/Markdown.js +31 -2
  349. package/dist/data/Markdown.js.map +1 -1
  350. package/dist/data/MarkdownEditor.cjs +1 -1
  351. package/dist/data/MarkdownEditor.cjs.map +1 -1
  352. package/dist/data/MarkdownEditor.js +1 -1
  353. package/dist/data/MarkdownEditor.js.map +1 -1
  354. package/dist/data/ObjectGraph.cjs +108 -23
  355. package/dist/data/ObjectGraph.cjs.map +1 -1
  356. package/dist/data/ObjectGraph.d.ts +28 -22
  357. package/dist/data/ObjectGraph.d.ts.map +1 -1
  358. package/dist/data/ObjectGraph.js +109 -24
  359. package/dist/data/ObjectGraph.js.map +1 -1
  360. package/dist/data/PromptBanner.cjs +1 -1
  361. package/dist/data/PromptBanner.cjs.map +1 -1
  362. package/dist/data/PromptBanner.js +1 -1
  363. package/dist/data/PromptBanner.js.map +1 -1
  364. package/dist/data/Tree.cjs +39 -35
  365. package/dist/data/Tree.cjs.map +1 -1
  366. package/dist/data/Tree.d.ts +7 -1
  367. package/dist/data/Tree.d.ts.map +1 -1
  368. package/dist/data/Tree.js +39 -35
  369. package/dist/data/Tree.js.map +1 -1
  370. package/dist/data/ai/ChatButton.cjs +26 -0
  371. package/dist/data/ai/ChatButton.cjs.map +1 -0
  372. package/dist/data/ai/ChatButton.d.ts +5 -0
  373. package/dist/data/ai/ChatButton.d.ts.map +1 -0
  374. package/dist/data/ai/ChatButton.js +26 -0
  375. package/dist/data/ai/ChatButton.js.map +1 -0
  376. package/dist/data/ai/ChatFab.cjs +11 -6
  377. package/dist/data/ai/ChatFab.cjs.map +1 -1
  378. package/dist/data/ai/ChatFab.d.ts +5 -3
  379. package/dist/data/ai/ChatFab.d.ts.map +1 -1
  380. package/dist/data/ai/ChatFab.js +11 -6
  381. package/dist/data/ai/ChatFab.js.map +1 -1
  382. package/dist/data/ai/PromptRunEditor/index.cjs +16 -4
  383. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  384. package/dist/data/ai/PromptRunEditor/index.d.ts +7 -2
  385. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  386. package/dist/data/ai/PromptRunEditor/index.js +16 -4
  387. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  388. package/dist/data/ai/SandboxConnectionsSection.cjs +71 -0
  389. package/dist/data/ai/SandboxConnectionsSection.cjs.map +1 -0
  390. package/dist/data/ai/SandboxConnectionsSection.d.ts +8 -0
  391. package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -0
  392. package/dist/data/ai/SandboxConnectionsSection.js +71 -0
  393. package/dist/data/ai/SandboxConnectionsSection.js.map +1 -0
  394. package/dist/data/ai/SandboxCreateWizard.cjs +288 -0
  395. package/dist/data/ai/SandboxCreateWizard.cjs.map +1 -0
  396. package/dist/data/ai/SandboxCreateWizard.d.ts +11 -0
  397. package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -0
  398. package/dist/data/ai/SandboxCreateWizard.js +288 -0
  399. package/dist/data/ai/SandboxCreateWizard.js.map +1 -0
  400. package/dist/data/ai/SandboxCreateWizard.model.cjs +77 -0
  401. package/dist/data/ai/SandboxCreateWizard.model.cjs.map +1 -0
  402. package/dist/data/ai/SandboxCreateWizard.model.d.ts +32 -0
  403. package/dist/data/ai/SandboxCreateWizard.model.d.ts.map +1 -0
  404. package/dist/data/ai/SandboxCreateWizard.model.js +77 -0
  405. package/dist/data/ai/SandboxCreateWizard.model.js.map +1 -0
  406. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +6 -6
  407. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  408. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  409. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +6 -6
  410. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  411. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +11 -8
  412. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
  413. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +11 -8
  414. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
  415. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +247 -0
  416. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -0
  417. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +12 -0
  418. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -0
  419. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +247 -0
  420. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -0
  421. package/dist/data/ai/SpecRuntimeEditor/fields.cjs +31 -22
  422. package/dist/data/ai/SpecRuntimeEditor/fields.cjs.map +1 -1
  423. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +6 -4
  424. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
  425. package/dist/data/ai/SpecRuntimeEditor/fields.js +32 -23
  426. package/dist/data/ai/SpecRuntimeEditor/fields.js.map +1 -1
  427. package/dist/data/ai/SpecRuntimeEditor/index.cjs +15 -1
  428. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  429. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +8 -3
  430. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  431. package/dist/data/ai/SpecRuntimeEditor/index.js +15 -1
  432. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  433. package/dist/data/ai/SpecRuntimeEditor/types.cjs +11 -0
  434. package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
  435. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +53 -1
  436. package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
  437. package/dist/data/ai/SpecRuntimeEditor/types.js +11 -0
  438. package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
  439. package/dist/data/ai/SpecRuntimeEditor/update.cjs +23 -0
  440. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  441. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +23 -1
  442. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  443. package/dist/data/ai/SpecRuntimeEditor/update.js +23 -0
  444. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  445. package/dist/data/ai/SpecRuntimeEditor.model.cjs +28 -0
  446. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  447. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +35 -0
  448. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  449. package/dist/data/ai/SpecRuntimeEditor.model.js +28 -0
  450. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  451. package/dist/data/ai/index.d.ts +6 -2
  452. package/dist/data/ai/index.d.ts.map +1 -1
  453. package/dist/data/ai/sandbox-kind-meta.cjs +16 -0
  454. package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -0
  455. package/dist/data/ai/sandbox-kind-meta.d.ts +8 -0
  456. package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -0
  457. package/dist/data/ai/sandbox-kind-meta.js +16 -0
  458. package/dist/data/ai/sandbox-kind-meta.js.map +1 -0
  459. package/dist/data/badge-variants.d.ts +1 -1
  460. package/dist/data/cache-browser/CacheTree.cjs +1 -1
  461. package/dist/data/cache-browser/CacheTree.cjs.map +1 -1
  462. package/dist/data/cache-browser/CacheTree.js +1 -1
  463. package/dist/data/cache-browser/CacheTree.js.map +1 -1
  464. package/dist/data/callout-tones.cjs +95 -0
  465. package/dist/data/callout-tones.cjs.map +1 -0
  466. package/dist/data/callout-tones.d.ts +32 -0
  467. package/dist/data/callout-tones.d.ts.map +1 -0
  468. package/dist/data/callout-tones.js +95 -0
  469. package/dist/data/callout-tones.js.map +1 -0
  470. package/dist/data/chat/PromptInput.cjs +1 -1
  471. package/dist/data/chat/PromptInput.cjs.map +1 -1
  472. package/dist/data/chat/PromptInput.js +1 -1
  473. package/dist/data/chat/PromptInput.js.map +1 -1
  474. package/dist/data/clicky-export/ClickyExportDialog.cjs +145 -0
  475. package/dist/data/clicky-export/ClickyExportDialog.cjs.map +1 -0
  476. package/dist/data/clicky-export/ClickyExportDialog.d.ts +43 -0
  477. package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -0
  478. package/dist/data/clicky-export/ClickyExportDialog.js +145 -0
  479. package/dist/data/clicky-export/ClickyExportDialog.js.map +1 -0
  480. package/dist/data/clicky-export/index.d.ts +3 -0
  481. package/dist/data/clicky-export/index.d.ts.map +1 -0
  482. package/dist/data/clicky-export/useClickyExport.cjs +44 -0
  483. package/dist/data/clicky-export/useClickyExport.cjs.map +1 -0
  484. package/dist/data/clicky-export/useClickyExport.d.ts +30 -0
  485. package/dist/data/clicky-export/useClickyExport.d.ts.map +1 -0
  486. package/dist/data/clicky-export/useClickyExport.js +44 -0
  487. package/dist/data/clicky-export/useClickyExport.js.map +1 -0
  488. package/dist/data/code-highlight.cjs +0 -6
  489. package/dist/data/code-highlight.cjs.map +1 -1
  490. package/dist/data/code-highlight.d.ts +4 -3
  491. package/dist/data/code-highlight.d.ts.map +1 -1
  492. package/dist/data/code-highlight.js +1 -7
  493. package/dist/data/code-highlight.js.map +1 -1
  494. package/dist/data/data-table-server-filters.cjs +15 -2
  495. package/dist/data/data-table-server-filters.cjs.map +1 -1
  496. package/dist/data/data-table-server-filters.d.ts +12 -1
  497. package/dist/data/data-table-server-filters.d.ts.map +1 -1
  498. package/dist/data/data-table-server-filters.js +15 -2
  499. package/dist/data/data-table-server-filters.js.map +1 -1
  500. package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs +6 -2
  501. package/dist/data/diagnostics/DiagnosticsDetailPanel.cjs.map +1 -1
  502. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts +8 -1
  503. package/dist/data/diagnostics/DiagnosticsDetailPanel.d.ts.map +1 -1
  504. package/dist/data/diagnostics/DiagnosticsDetailPanel.js +6 -2
  505. package/dist/data/diagnostics/DiagnosticsDetailPanel.js.map +1 -1
  506. package/dist/data/diagnostics/ErrorDetails.cjs +58 -12
  507. package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
  508. package/dist/data/diagnostics/ErrorDetails.d.ts +5 -2
  509. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
  510. package/dist/data/diagnostics/ErrorDetails.js +58 -12
  511. package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
  512. package/dist/data/diagnostics/FrameSourceWindow.cjs +54 -24
  513. package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
  514. package/dist/data/diagnostics/FrameSourceWindow.d.ts +2 -1
  515. package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
  516. package/dist/data/diagnostics/FrameSourceWindow.js +54 -24
  517. package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
  518. package/dist/data/diagnostics/FrameSourceWindow.utils.cjs.map +1 -1
  519. package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts +3 -0
  520. package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts.map +1 -1
  521. package/dist/data/diagnostics/FrameSourceWindow.utils.js.map +1 -1
  522. package/dist/data/diagnostics/JvmStackTrace.cjs +14 -30
  523. package/dist/data/diagnostics/JvmStackTrace.cjs.map +1 -1
  524. package/dist/data/diagnostics/JvmStackTrace.d.ts +6 -9
  525. package/dist/data/diagnostics/JvmStackTrace.d.ts.map +1 -1
  526. package/dist/data/diagnostics/JvmStackTrace.js +15 -31
  527. package/dist/data/diagnostics/JvmStackTrace.js.map +1 -1
  528. package/dist/data/diagnostics/RenderedStackTrace.cjs +14 -144
  529. package/dist/data/diagnostics/RenderedStackTrace.cjs.map +1 -1
  530. package/dist/data/diagnostics/RenderedStackTrace.d.ts +6 -6
  531. package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
  532. package/dist/data/diagnostics/RenderedStackTrace.js +15 -145
  533. package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -1
  534. package/dist/data/diagnostics/StackFrameRow.cjs +65 -0
  535. package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -0
  536. package/dist/data/diagnostics/StackFrameRow.d.ts +13 -0
  537. package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -0
  538. package/dist/data/diagnostics/StackFrameRow.js +65 -0
  539. package/dist/data/diagnostics/StackFrameRow.js.map +1 -0
  540. package/dist/data/diagnostics/ThreadCard.cjs +9 -2
  541. package/dist/data/diagnostics/ThreadCard.cjs.map +1 -1
  542. package/dist/data/diagnostics/ThreadCard.d.ts +3 -1
  543. package/dist/data/diagnostics/ThreadCard.d.ts.map +1 -1
  544. package/dist/data/diagnostics/ThreadCard.js +9 -2
  545. package/dist/data/diagnostics/ThreadCard.js.map +1 -1
  546. package/dist/data/diagnostics/error-diagnostics.cjs +17 -2
  547. package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
  548. package/dist/data/diagnostics/error-diagnostics.d.ts +5 -0
  549. package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
  550. package/dist/data/diagnostics/error-diagnostics.js +17 -2
  551. package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
  552. package/dist/data/diagnostics/frame-heuristics.cjs +26 -0
  553. package/dist/data/diagnostics/frame-heuristics.cjs.map +1 -0
  554. package/dist/data/diagnostics/frame-heuristics.d.ts +5 -0
  555. package/dist/data/diagnostics/frame-heuristics.d.ts.map +1 -0
  556. package/dist/data/diagnostics/frame-heuristics.js +26 -0
  557. package/dist/data/diagnostics/frame-heuristics.js.map +1 -0
  558. package/dist/data/diagnostics/jvm-stacktrace.cjs +5 -7
  559. package/dist/data/diagnostics/jvm-stacktrace.cjs.map +1 -1
  560. package/dist/data/diagnostics/jvm-stacktrace.d.ts.map +1 -1
  561. package/dist/data/diagnostics/jvm-stacktrace.js +5 -7
  562. package/dist/data/diagnostics/jvm-stacktrace.js.map +1 -1
  563. package/dist/data/diagnostics/stacktrace-parse.cjs +4 -9
  564. package/dist/data/diagnostics/stacktrace-parse.cjs.map +1 -1
  565. package/dist/data/diagnostics/stacktrace-parse.d.ts.map +1 -1
  566. package/dist/data/diagnostics/stacktrace-parse.js +4 -9
  567. package/dist/data/diagnostics/stacktrace-parse.js.map +1 -1
  568. package/dist/data/logs-normalize.cjs +18 -3
  569. package/dist/data/logs-normalize.cjs.map +1 -1
  570. package/dist/data/logs-normalize.d.ts +17 -0
  571. package/dist/data/logs-normalize.d.ts.map +1 -1
  572. package/dist/data/logs-normalize.js +18 -3
  573. package/dist/data/logs-normalize.js.map +1 -1
  574. package/dist/data/object-graph-nodes.cjs +24 -0
  575. package/dist/data/object-graph-nodes.cjs.map +1 -0
  576. package/dist/data/object-graph-nodes.d.ts +34 -0
  577. package/dist/data/object-graph-nodes.d.ts.map +1 -0
  578. package/dist/data/object-graph-nodes.js +24 -0
  579. package/dist/data/object-graph-nodes.js.map +1 -0
  580. package/dist/data/query-browser/QueryBrowser.cjs +52 -32
  581. package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
  582. package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
  583. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  584. package/dist/data/query-browser/QueryBrowser.js +53 -33
  585. package/dist/data/query-browser/QueryBrowser.js.map +1 -1
  586. package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -1
  587. package/dist/data/query-browser/QueryBrowser.types.d.ts +12 -0
  588. package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -1
  589. package/dist/data/query-browser/QueryBrowser.types.js.map +1 -1
  590. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +58 -10
  591. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -1
  592. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
  593. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +58 -10
  594. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -1
  595. package/dist/data/query-browser/QueryBrowserResults.cjs +4 -4
  596. package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -1
  597. package/dist/data/query-browser/QueryBrowserResults.d.ts +4 -2
  598. package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
  599. package/dist/data/query-browser/QueryBrowserResults.js +4 -4
  600. package/dist/data/query-browser/QueryBrowserResults.js.map +1 -1
  601. package/dist/data/query-info/QueryInfoDialog.cjs +106 -0
  602. package/dist/data/query-info/QueryInfoDialog.cjs.map +1 -0
  603. package/dist/data/query-info/QueryInfoDialog.d.ts +16 -0
  604. package/dist/data/query-info/QueryInfoDialog.d.ts.map +1 -0
  605. package/dist/data/query-info/QueryInfoDialog.js +106 -0
  606. package/dist/data/query-info/QueryInfoDialog.js.map +1 -0
  607. package/dist/data/query-info/index.d.ts +4 -0
  608. package/dist/data/query-info/index.d.ts.map +1 -0
  609. package/dist/data/query-info/queryInfo.cjs +42 -0
  610. package/dist/data/query-info/queryInfo.cjs.map +1 -0
  611. package/dist/data/query-info/queryInfo.d.ts +45 -0
  612. package/dist/data/query-info/queryInfo.d.ts.map +1 -0
  613. package/dist/data/query-info/queryInfo.js +42 -0
  614. package/dist/data/query-info/queryInfo.js.map +1 -0
  615. package/dist/data/query-info/useQueryInfo.cjs +48 -0
  616. package/dist/data/query-info/useQueryInfo.cjs.map +1 -0
  617. package/dist/data/query-info/useQueryInfo.d.ts +26 -0
  618. package/dist/data/query-info/useQueryInfo.d.ts.map +1 -0
  619. package/dist/data/query-info/useQueryInfo.js +48 -0
  620. package/dist/data/query-info/useQueryInfo.js.map +1 -0
  621. package/dist/data/use-infinite-rows.cjs +20 -0
  622. package/dist/data/use-infinite-rows.cjs.map +1 -0
  623. package/dist/data/use-infinite-rows.d.ts +20 -0
  624. package/dist/data/use-infinite-rows.d.ts.map +1 -0
  625. package/dist/data/use-infinite-rows.js +20 -0
  626. package/dist/data/use-infinite-rows.js.map +1 -0
  627. package/dist/data/version-info.cjs +3 -3
  628. package/dist/data/version-info.js +3 -3
  629. package/dist/data.cjs +51 -1
  630. package/dist/data.cjs.map +1 -1
  631. package/dist/data.d.ts +11 -4
  632. package/dist/data.d.ts.map +1 -1
  633. package/dist/data.js +52 -2
  634. package/dist/data.js.map +1 -1
  635. package/dist/hooks/use-log-tail.cjs +213 -0
  636. package/dist/hooks/use-log-tail.cjs.map +1 -0
  637. package/dist/hooks/use-log-tail.d.ts +112 -0
  638. package/dist/hooks/use-log-tail.d.ts.map +1 -0
  639. package/dist/hooks/use-log-tail.js +213 -0
  640. package/dist/hooks/use-log-tail.js.map +1 -0
  641. package/dist/hooks.cjs +10 -0
  642. package/dist/hooks.cjs.map +1 -1
  643. package/dist/hooks.d.ts +2 -0
  644. package/dist/hooks.d.ts.map +1 -1
  645. package/dist/hooks.js +10 -0
  646. package/dist/hooks.js.map +1 -1
  647. package/dist/icons/components/UiArrowsCounterClockwise.cjs +15 -0
  648. package/dist/icons/components/UiArrowsCounterClockwise.cjs.map +1 -0
  649. package/dist/icons/components/UiArrowsCounterClockwise.d.ts +15 -0
  650. package/dist/icons/components/UiArrowsCounterClockwise.d.ts.map +1 -0
  651. package/dist/icons/components/UiArrowsCounterClockwise.js +15 -0
  652. package/dist/icons/components/UiArrowsCounterClockwise.js.map +1 -0
  653. package/dist/icons/components/UiClipboardText.cjs +15 -0
  654. package/dist/icons/components/UiClipboardText.cjs.map +1 -0
  655. package/dist/icons/components/UiClipboardText.d.ts +15 -0
  656. package/dist/icons/components/UiClipboardText.d.ts.map +1 -0
  657. package/dist/icons/components/UiClipboardText.js +15 -0
  658. package/dist/icons/components/UiClipboardText.js.map +1 -0
  659. package/dist/icons/components/UiIdentificationCard.cjs +15 -0
  660. package/dist/icons/components/UiIdentificationCard.cjs.map +1 -0
  661. package/dist/icons/components/UiIdentificationCard.d.ts +15 -0
  662. package/dist/icons/components/UiIdentificationCard.d.ts.map +1 -0
  663. package/dist/icons/components/UiIdentificationCard.js +15 -0
  664. package/dist/icons/components/UiIdentificationCard.js.map +1 -0
  665. package/dist/icons/components/UiLockKey.cjs +15 -0
  666. package/dist/icons/components/UiLockKey.cjs.map +1 -0
  667. package/dist/icons/components/UiLockKey.d.ts +15 -0
  668. package/dist/icons/components/UiLockKey.d.ts.map +1 -0
  669. package/dist/icons/components/UiLockKey.js +15 -0
  670. package/dist/icons/components/UiLockKey.js.map +1 -0
  671. package/dist/icons/components/UiSteps.cjs +15 -0
  672. package/dist/icons/components/UiSteps.cjs.map +1 -0
  673. package/dist/icons/components/UiSteps.d.ts +15 -0
  674. package/dist/icons/components/UiSteps.d.ts.map +1 -0
  675. package/dist/icons/components/UiSteps.js +15 -0
  676. package/dist/icons/components/UiSteps.js.map +1 -0
  677. package/dist/icons/components/UiUserGear.cjs +15 -0
  678. package/dist/icons/components/UiUserGear.cjs.map +1 -0
  679. package/dist/icons/components/UiUserGear.d.ts +15 -0
  680. package/dist/icons/components/UiUserGear.d.ts.map +1 -0
  681. package/dist/icons/components/UiUserGear.js +15 -0
  682. package/dist/icons/components/UiUserGear.js.map +1 -0
  683. package/dist/icons/components/UiUsersFour.cjs +15 -0
  684. package/dist/icons/components/UiUsersFour.cjs.map +1 -0
  685. package/dist/icons/components/UiUsersFour.d.ts +15 -0
  686. package/dist/icons/components/UiUsersFour.d.ts.map +1 -0
  687. package/dist/icons/components/UiUsersFour.js +15 -0
  688. package/dist/icons/components/UiUsersFour.js.map +1 -0
  689. package/dist/icons/index.d.ts +14 -0
  690. package/dist/icons/index.d.ts.map +1 -1
  691. package/dist/icons/registry.cjs +15 -1
  692. package/dist/icons/registry.cjs.map +1 -1
  693. package/dist/icons/registry.d.ts.map +1 -1
  694. package/dist/icons/registry.js +15 -1
  695. package/dist/icons/registry.js.map +1 -1
  696. package/dist/icons.cjs +21 -0
  697. package/dist/icons.cjs.map +1 -1
  698. package/dist/icons.js +21 -0
  699. package/dist/icons.js.map +1 -1
  700. package/dist/index.cjs +93 -1
  701. package/dist/index.cjs.map +1 -1
  702. package/dist/index.js +94 -2
  703. package/dist/index.js.map +1 -1
  704. package/dist/jotai.d.ts +1 -1
  705. package/dist/jotai.d.ts.map +1 -1
  706. package/dist/lib/collections.cjs +31 -0
  707. package/dist/lib/collections.cjs.map +1 -0
  708. package/dist/lib/collections.d.ts +6 -0
  709. package/dist/lib/collections.d.ts.map +1 -0
  710. package/dist/lib/collections.js +31 -0
  711. package/dist/lib/collections.js.map +1 -0
  712. package/dist/mdx-editor.cjs +12 -0
  713. package/dist/mdx-editor.cjs.map +1 -1
  714. package/dist/mdx-editor.css +1 -1
  715. package/dist/mdx-editor.d.ts +4 -1
  716. package/dist/mdx-editor.d.ts.map +1 -1
  717. package/dist/mdx-editor.js +13 -1
  718. package/dist/mdx-editor.js.map +1 -1
  719. package/dist/overlay/CommandPalette.cjs +1 -1
  720. package/dist/overlay/CommandPalette.cjs.map +1 -1
  721. package/dist/overlay/CommandPalette.js +1 -1
  722. package/dist/overlay/CommandPalette.js.map +1 -1
  723. package/dist/profiles/cel/celEditor.cjs +395 -0
  724. package/dist/profiles/cel/celEditor.cjs.map +1 -0
  725. package/dist/profiles/cel/celEditor.d.ts +51 -0
  726. package/dist/profiles/cel/celEditor.d.ts.map +1 -0
  727. package/dist/profiles/cel/celEditor.js +395 -0
  728. package/dist/profiles/cel/celEditor.js.map +1 -0
  729. package/dist/profiles/cel/celEditorExtension.cjs +15 -0
  730. package/dist/profiles/cel/celEditorExtension.cjs.map +1 -0
  731. package/dist/profiles/cel/celEditorExtension.d.ts +5 -0
  732. package/dist/profiles/cel/celEditorExtension.d.ts.map +1 -0
  733. package/dist/profiles/cel/celEditorExtension.js +15 -0
  734. package/dist/profiles/cel/celEditorExtension.js.map +1 -0
  735. package/dist/profiles/cel/celExpression.cjs +174 -0
  736. package/dist/profiles/cel/celExpression.cjs.map +1 -0
  737. package/dist/profiles/cel/celExpression.d.ts +138 -0
  738. package/dist/profiles/cel/celExpression.d.ts.map +1 -0
  739. package/dist/profiles/cel/celExpression.js +174 -0
  740. package/dist/profiles/cel/celExpression.js.map +1 -0
  741. package/dist/profiles/cel/celPath.cjs +47 -0
  742. package/dist/profiles/cel/celPath.cjs.map +1 -0
  743. package/dist/profiles/cel/celPath.d.ts +31 -0
  744. package/dist/profiles/cel/celPath.d.ts.map +1 -0
  745. package/dist/profiles/cel/celPath.js +47 -0
  746. package/dist/profiles/cel/celPath.js.map +1 -0
  747. package/dist/profiles/cel/index.d.ts +5 -0
  748. package/dist/profiles/cel/index.d.ts.map +1 -0
  749. package/dist/profiles/connections/catalogTree.cjs +133 -0
  750. package/dist/profiles/connections/catalogTree.cjs.map +1 -0
  751. package/dist/profiles/connections/catalogTree.d.ts.map +1 -0
  752. package/dist/profiles/connections/catalogTree.js +133 -0
  753. package/dist/profiles/connections/catalogTree.js.map +1 -0
  754. package/dist/profiles/connections/connectionBrowserModel.cjs +191 -0
  755. package/dist/profiles/connections/connectionBrowserModel.cjs.map +1 -0
  756. package/dist/profiles/connections/connectionBrowserModel.d.ts +177 -0
  757. package/dist/profiles/connections/connectionBrowserModel.d.ts.map +1 -0
  758. package/dist/profiles/connections/connectionBrowserModel.js +191 -0
  759. package/dist/profiles/connections/connectionBrowserModel.js.map +1 -0
  760. package/dist/profiles/connections/connectionQueryWorkspace.cjs +196 -0
  761. package/dist/profiles/connections/connectionQueryWorkspace.cjs.map +1 -0
  762. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +63 -0
  763. package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -0
  764. package/dist/profiles/connections/connectionQueryWorkspace.js +196 -0
  765. package/dist/profiles/connections/connectionQueryWorkspace.js.map +1 -0
  766. package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs +28 -0
  767. package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs.map +1 -0
  768. package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts +38 -0
  769. package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts.map +1 -0
  770. package/dist/profiles/connections/connectionQueryWorkspaceModel.js +28 -0
  771. package/dist/profiles/connections/connectionQueryWorkspaceModel.js.map +1 -0
  772. package/dist/profiles/connections/index.d.ts +5 -0
  773. package/dist/profiles/connections/index.d.ts.map +1 -0
  774. package/dist/profiles/editor/index.d.ts +12 -0
  775. package/dist/profiles/editor/index.d.ts.map +1 -0
  776. package/dist/profiles/editor/profileBuilder.cjs +65 -0
  777. package/dist/profiles/editor/profileBuilder.cjs.map +1 -0
  778. package/dist/profiles/editor/profileBuilder.d.ts.map +1 -0
  779. package/dist/profiles/editor/profileBuilder.js +65 -0
  780. package/dist/profiles/editor/profileBuilder.js.map +1 -0
  781. package/dist/profiles/editor/profileBuilderExtension.cjs.map +1 -0
  782. package/dist/profiles/editor/profileBuilderExtension.d.ts +5 -0
  783. package/dist/profiles/editor/profileBuilderExtension.d.ts.map +1 -0
  784. package/dist/profiles/editor/profileBuilderExtension.js.map +1 -0
  785. package/dist/profiles/editor/profileBuilderModel.cjs +44 -0
  786. package/dist/profiles/editor/profileBuilderModel.cjs.map +1 -0
  787. package/dist/profiles/editor/profileBuilderModel.d.ts +4 -0
  788. package/dist/profiles/editor/profileBuilderModel.d.ts.map +1 -0
  789. package/dist/profiles/editor/profileBuilderModel.js +44 -0
  790. package/dist/profiles/editor/profileBuilderModel.js.map +1 -0
  791. package/dist/profiles/editor/profileBuilderWorkspace.cjs +333 -0
  792. package/dist/profiles/editor/profileBuilderWorkspace.cjs.map +1 -0
  793. package/dist/profiles/editor/profileBuilderWorkspace.d.ts +21 -0
  794. package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -0
  795. package/dist/profiles/editor/profileBuilderWorkspace.js +333 -0
  796. package/dist/profiles/editor/profileBuilderWorkspace.js.map +1 -0
  797. package/dist/profiles/editor/profileEditor.cjs +471 -0
  798. package/dist/profiles/editor/profileEditor.cjs.map +1 -0
  799. package/dist/profiles/editor/profileEditor.d.ts +20 -0
  800. package/dist/profiles/editor/profileEditor.d.ts.map +1 -0
  801. package/dist/profiles/editor/profileEditor.js +471 -0
  802. package/dist/profiles/editor/profileEditor.js.map +1 -0
  803. package/dist/profiles/editor/profileEditorModel.cjs +206 -0
  804. package/dist/profiles/editor/profileEditorModel.cjs.map +1 -0
  805. package/dist/profiles/editor/profileEditorModel.d.ts +76 -0
  806. package/dist/profiles/editor/profileEditorModel.d.ts.map +1 -0
  807. package/dist/profiles/editor/profileEditorModel.js +206 -0
  808. package/dist/profiles/editor/profileEditorModel.js.map +1 -0
  809. package/dist/profiles/editor/profileEditorPreview.cjs.map +1 -0
  810. package/dist/profiles/editor/profileEditorPreview.d.ts +12 -0
  811. package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -0
  812. package/dist/profiles/editor/profileEditorPreview.js.map +1 -0
  813. package/dist/profiles/editor/profileEditorRail.cjs.map +1 -0
  814. package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -0
  815. package/dist/profiles/editor/profileEditorRail.js.map +1 -0
  816. package/dist/profiles/editor/profileEditorRaw.cjs +118 -0
  817. package/dist/profiles/editor/profileEditorRaw.cjs.map +1 -0
  818. package/dist/profiles/editor/profileEditorRaw.d.ts +7 -0
  819. package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -0
  820. package/dist/profiles/editor/profileEditorRaw.js +118 -0
  821. package/dist/profiles/editor/profileEditorRaw.js.map +1 -0
  822. package/dist/profiles/editor/profileEditorRoutes.cjs.map +1 -0
  823. package/dist/profiles/editor/profileEditorRoutes.d.ts.map +1 -0
  824. package/dist/profiles/editor/profileEditorRoutes.js.map +1 -0
  825. package/dist/profiles/editor/profileEditorSections.cjs +247 -0
  826. package/dist/profiles/editor/profileEditorSections.cjs.map +1 -0
  827. package/dist/profiles/editor/profileEditorSections.d.ts +26 -0
  828. package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -0
  829. package/dist/profiles/editor/profileEditorSections.js +247 -0
  830. package/dist/profiles/editor/profileEditorSections.js.map +1 -0
  831. package/dist/profiles/editor/profileYaml.cjs +19 -0
  832. package/dist/profiles/editor/profileYaml.cjs.map +1 -0
  833. package/dist/profiles/editor/profileYaml.d.ts +4 -0
  834. package/dist/profiles/editor/profileYaml.d.ts.map +1 -0
  835. package/dist/profiles/editor/profileYaml.js +19 -0
  836. package/dist/profiles/editor/profileYaml.js.map +1 -0
  837. package/dist/profiles/editor/testSchema.d.ts +3 -0
  838. package/dist/profiles/editor/testSchema.d.ts.map +1 -0
  839. package/dist/profiles/elasticsearch/esFieldValues.cjs +57 -0
  840. package/dist/profiles/elasticsearch/esFieldValues.cjs.map +1 -0
  841. package/dist/profiles/elasticsearch/esFieldValues.d.ts +45 -0
  842. package/dist/profiles/elasticsearch/esFieldValues.d.ts.map +1 -0
  843. package/dist/profiles/elasticsearch/esFieldValues.js +57 -0
  844. package/dist/profiles/elasticsearch/esFieldValues.js.map +1 -0
  845. package/dist/profiles/elasticsearch/esParamMappingModel.cjs +301 -0
  846. package/dist/profiles/elasticsearch/esParamMappingModel.cjs.map +1 -0
  847. package/dist/profiles/elasticsearch/esParamMappingModel.d.ts +37 -0
  848. package/dist/profiles/elasticsearch/esParamMappingModel.d.ts.map +1 -0
  849. package/dist/profiles/elasticsearch/esParamMappingModel.js +301 -0
  850. package/dist/profiles/elasticsearch/esParamMappingModel.js.map +1 -0
  851. package/dist/profiles/elasticsearch/esParamMappingPill.cjs.map +1 -0
  852. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -0
  853. package/dist/profiles/elasticsearch/esParamMappingPill.js.map +1 -0
  854. package/dist/profiles/elasticsearch/esParamOperandExtension.cjs +75 -0
  855. package/dist/profiles/elasticsearch/esParamOperandExtension.cjs.map +1 -0
  856. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +11 -0
  857. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts.map +1 -0
  858. package/dist/profiles/elasticsearch/esParamOperandExtension.js +75 -0
  859. package/dist/profiles/elasticsearch/esParamOperandExtension.js.map +1 -0
  860. package/dist/profiles/elasticsearch/esQueryBuilder.cjs +249 -0
  861. package/dist/profiles/elasticsearch/esQueryBuilder.cjs.map +1 -0
  862. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +35 -0
  863. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -0
  864. package/dist/profiles/elasticsearch/esQueryBuilder.js +249 -0
  865. package/dist/profiles/elasticsearch/esQueryBuilder.js.map +1 -0
  866. package/dist/profiles/elasticsearch/esQueryBuilderExtension.cjs.map +1 -0
  867. package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts +5 -0
  868. package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts.map +1 -0
  869. package/dist/profiles/elasticsearch/esQueryBuilderExtension.js.map +1 -0
  870. package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs +59 -0
  871. package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs.map +1 -0
  872. package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts +25 -0
  873. package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts.map +1 -0
  874. package/dist/profiles/elasticsearch/esQueryBuilderForm.js +59 -0
  875. package/dist/profiles/elasticsearch/esQueryBuilderForm.js.map +1 -0
  876. package/dist/profiles/elasticsearch/esQueryBuilderModel.cjs.map +1 -0
  877. package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts +110 -0
  878. package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts.map +1 -0
  879. package/dist/profiles/elasticsearch/esQueryBuilderModel.js.map +1 -0
  880. package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs +144 -0
  881. package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs.map +1 -0
  882. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -0
  883. package/dist/profiles/elasticsearch/esQueryClauseGroup.js +144 -0
  884. package/dist/profiles/elasticsearch/esQueryClauseGroup.js.map +1 -0
  885. package/dist/profiles/elasticsearch/esQueryCompile.cjs +48 -0
  886. package/dist/profiles/elasticsearch/esQueryCompile.cjs.map +1 -0
  887. package/dist/profiles/elasticsearch/esQueryCompile.d.ts +40 -0
  888. package/dist/profiles/elasticsearch/esQueryCompile.d.ts.map +1 -0
  889. package/dist/profiles/elasticsearch/esQueryCompile.js +48 -0
  890. package/dist/profiles/elasticsearch/esQueryCompile.js.map +1 -0
  891. package/dist/profiles/elasticsearch/esQueryConditionRow.cjs +168 -0
  892. package/dist/profiles/elasticsearch/esQueryConditionRow.cjs.map +1 -0
  893. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +37 -0
  894. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -0
  895. package/dist/profiles/elasticsearch/esQueryConditionRow.js +168 -0
  896. package/dist/profiles/elasticsearch/esQueryConditionRow.js.map +1 -0
  897. package/dist/profiles/elasticsearch/esQueryGroupModel.cjs.map +1 -0
  898. package/dist/profiles/elasticsearch/esQueryGroupModel.d.ts.map +1 -0
  899. package/dist/profiles/elasticsearch/esQueryGroupModel.js.map +1 -0
  900. package/dist/profiles/elasticsearch/esQueryOccur.cjs.map +1 -0
  901. package/dist/profiles/elasticsearch/esQueryOccur.d.ts.map +1 -0
  902. package/dist/profiles/elasticsearch/esQueryOccur.js.map +1 -0
  903. package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs +279 -0
  904. package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs.map +1 -0
  905. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +24 -0
  906. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -0
  907. package/dist/profiles/elasticsearch/esQueryOperandEditors.js +279 -0
  908. package/dist/profiles/elasticsearch/esQueryOperandEditors.js.map +1 -0
  909. package/dist/profiles/elasticsearch/esQueryOperandModel.cjs.map +1 -0
  910. package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts +17 -0
  911. package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts.map +1 -0
  912. package/dist/profiles/elasticsearch/esQueryOperandModel.js.map +1 -0
  913. package/dist/profiles/elasticsearch/esQueryOperators.cjs +166 -0
  914. package/dist/profiles/elasticsearch/esQueryOperators.cjs.map +1 -0
  915. package/dist/profiles/elasticsearch/esQueryOperators.d.ts +84 -0
  916. package/dist/profiles/elasticsearch/esQueryOperators.d.ts.map +1 -0
  917. package/dist/profiles/elasticsearch/esQueryOperators.js +166 -0
  918. package/dist/profiles/elasticsearch/esQueryOperators.js.map +1 -0
  919. package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs +138 -0
  920. package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs.map +1 -0
  921. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +7 -0
  922. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -0
  923. package/dist/profiles/elasticsearch/esQueryOutputEditor.js +138 -0
  924. package/dist/profiles/elasticsearch/esQueryOutputEditor.js.map +1 -0
  925. package/dist/profiles/elasticsearch/esQueryOutputModel.cjs.map +1 -0
  926. package/dist/profiles/elasticsearch/esQueryOutputModel.d.ts.map +1 -0
  927. package/dist/profiles/elasticsearch/esQueryOutputModel.js.map +1 -0
  928. package/dist/profiles/elasticsearch/esQueryPreview.cjs.map +1 -0
  929. package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -0
  930. package/dist/profiles/elasticsearch/esQueryPreview.js.map +1 -0
  931. package/dist/profiles/elasticsearch/esQuerySortEditor.cjs +143 -0
  932. package/dist/profiles/elasticsearch/esQuerySortEditor.cjs.map +1 -0
  933. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -0
  934. package/dist/profiles/elasticsearch/esQuerySortEditor.js +143 -0
  935. package/dist/profiles/elasticsearch/esQuerySortEditor.js.map +1 -0
  936. package/dist/profiles/elasticsearch/esQuerySortModel.cjs.map +1 -0
  937. package/dist/profiles/elasticsearch/esQuerySortModel.d.ts.map +1 -0
  938. package/dist/profiles/elasticsearch/esQuerySortModel.js.map +1 -0
  939. package/dist/profiles/elasticsearch/esValueCombobox.cjs +86 -0
  940. package/dist/profiles/elasticsearch/esValueCombobox.cjs.map +1 -0
  941. package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -0
  942. package/dist/profiles/elasticsearch/esValueCombobox.js +86 -0
  943. package/dist/profiles/elasticsearch/esValueCombobox.js.map +1 -0
  944. package/dist/profiles/elasticsearch/index.d.ts +23 -0
  945. package/dist/profiles/elasticsearch/index.d.ts.map +1 -0
  946. package/dist/profiles/fields/index.d.ts +9 -0
  947. package/dist/profiles/fields/index.d.ts.map +1 -0
  948. package/dist/profiles/fields/profileColumnModel.cjs.map +1 -0
  949. package/dist/profiles/fields/profileColumnModel.d.ts +8 -0
  950. package/dist/profiles/fields/profileColumnModel.d.ts.map +1 -0
  951. package/dist/profiles/fields/profileColumnModel.js.map +1 -0
  952. package/dist/profiles/fields/profileColumnPicker.cjs +68 -0
  953. package/dist/profiles/fields/profileColumnPicker.cjs.map +1 -0
  954. package/dist/profiles/fields/profileColumnPicker.d.ts +11 -0
  955. package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -0
  956. package/dist/profiles/fields/profileColumnPicker.js +68 -0
  957. package/dist/profiles/fields/profileColumnPicker.js.map +1 -0
  958. package/dist/profiles/fields/profileFieldControls.cjs +50 -0
  959. package/dist/profiles/fields/profileFieldControls.cjs.map +1 -0
  960. package/dist/profiles/fields/profileFieldControls.d.ts +37 -0
  961. package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -0
  962. package/dist/profiles/fields/profileFieldControls.js +50 -0
  963. package/dist/profiles/fields/profileFieldControls.js.map +1 -0
  964. package/dist/profiles/fields/profileFieldEditor.cjs +198 -0
  965. package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -0
  966. package/dist/profiles/fields/profileFieldEditor.d.ts +34 -0
  967. package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -0
  968. package/dist/profiles/fields/profileFieldEditor.js +198 -0
  969. package/dist/profiles/fields/profileFieldEditor.js.map +1 -0
  970. package/dist/profiles/fields/profileFieldFilterEditor.cjs +122 -0
  971. package/dist/profiles/fields/profileFieldFilterEditor.cjs.map +1 -0
  972. package/dist/profiles/fields/profileFieldFilterEditor.d.ts +16 -0
  973. package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -0
  974. package/dist/profiles/fields/profileFieldFilterEditor.js +122 -0
  975. package/dist/profiles/fields/profileFieldFilterEditor.js.map +1 -0
  976. package/dist/profiles/fields/profileFieldIcons.cjs +102 -0
  977. package/dist/profiles/fields/profileFieldIcons.cjs.map +1 -0
  978. package/dist/profiles/fields/profileFieldIcons.d.ts +10 -0
  979. package/dist/profiles/fields/profileFieldIcons.d.ts.map +1 -0
  980. package/dist/profiles/fields/profileFieldIcons.js +102 -0
  981. package/dist/profiles/fields/profileFieldIcons.js.map +1 -0
  982. package/dist/profiles/fields/profileFieldList.cjs +215 -0
  983. package/dist/profiles/fields/profileFieldList.cjs.map +1 -0
  984. package/dist/profiles/fields/profileFieldList.d.ts +24 -0
  985. package/dist/profiles/fields/profileFieldList.d.ts.map +1 -0
  986. package/dist/profiles/fields/profileFieldList.js +215 -0
  987. package/dist/profiles/fields/profileFieldList.js.map +1 -0
  988. package/dist/profiles/fields/profileFieldManager.cjs +103 -0
  989. package/dist/profiles/fields/profileFieldManager.cjs.map +1 -0
  990. package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -0
  991. package/dist/profiles/fields/profileFieldManager.js +103 -0
  992. package/dist/profiles/fields/profileFieldManager.js.map +1 -0
  993. package/dist/profiles/fields/profileFieldState.cjs +136 -0
  994. package/dist/profiles/fields/profileFieldState.cjs.map +1 -0
  995. package/dist/profiles/fields/profileFieldState.d.ts +41 -0
  996. package/dist/profiles/fields/profileFieldState.d.ts.map +1 -0
  997. package/dist/profiles/fields/profileFieldState.js +136 -0
  998. package/dist/profiles/fields/profileFieldState.js.map +1 -0
  999. package/dist/profiles/fields/profileFieldTypes.cjs.map +1 -0
  1000. package/dist/profiles/fields/profileFieldTypes.d.ts +8 -0
  1001. package/dist/profiles/fields/profileFieldTypes.d.ts.map +1 -0
  1002. package/dist/profiles/fields/profileFieldTypes.js.map +1 -0
  1003. package/dist/profiles/fields/profileParamModel.cjs.map +1 -0
  1004. package/dist/profiles/fields/profileParamModel.d.ts +3 -0
  1005. package/dist/profiles/fields/profileParamModel.d.ts.map +1 -0
  1006. package/dist/profiles/fields/profileParamModel.js.map +1 -0
  1007. package/dist/profiles/processor/index.d.ts +6 -0
  1008. package/dist/profiles/processor/index.d.ts.map +1 -0
  1009. package/dist/profiles/processor/processorConfig.cjs +185 -0
  1010. package/dist/profiles/processor/processorConfig.cjs.map +1 -0
  1011. package/dist/profiles/processor/processorConfig.d.ts +34 -0
  1012. package/dist/profiles/processor/processorConfig.d.ts.map +1 -0
  1013. package/dist/profiles/processor/processorConfig.js +185 -0
  1014. package/dist/profiles/processor/processorConfig.js.map +1 -0
  1015. package/dist/profiles/processor/processorPipeline.cjs +300 -0
  1016. package/dist/profiles/processor/processorPipeline.cjs.map +1 -0
  1017. package/dist/profiles/processor/processorPipeline.d.ts +11 -0
  1018. package/dist/profiles/processor/processorPipeline.d.ts.map +1 -0
  1019. package/dist/profiles/processor/processorPipeline.js +300 -0
  1020. package/dist/profiles/processor/processorPipeline.js.map +1 -0
  1021. package/dist/profiles/processor/processorPipelineEditor.cjs +330 -0
  1022. package/dist/profiles/processor/processorPipelineEditor.cjs.map +1 -0
  1023. package/dist/profiles/processor/processorPipelineEditor.d.ts +16 -0
  1024. package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -0
  1025. package/dist/profiles/processor/processorPipelineEditor.js +330 -0
  1026. package/dist/profiles/processor/processorPipelineEditor.js.map +1 -0
  1027. package/dist/profiles/processor/processorPipelineExtension.cjs +28 -0
  1028. package/dist/profiles/processor/processorPipelineExtension.cjs.map +1 -0
  1029. package/dist/profiles/processor/processorPipelineExtension.d.ts +5 -0
  1030. package/dist/profiles/processor/processorPipelineExtension.d.ts.map +1 -0
  1031. package/dist/profiles/processor/processorPipelineExtension.js +28 -0
  1032. package/dist/profiles/processor/processorPipelineExtension.js.map +1 -0
  1033. package/dist/profiles/processor/processorPreview.cjs +55 -0
  1034. package/dist/profiles/processor/processorPreview.cjs.map +1 -0
  1035. package/dist/profiles/processor/processorPreview.d.ts +20 -0
  1036. package/dist/profiles/processor/processorPreview.d.ts.map +1 -0
  1037. package/dist/profiles/processor/processorPreview.js +55 -0
  1038. package/dist/profiles/processor/processorPreview.js.map +1 -0
  1039. package/dist/profiles/processor/processorPreviewTable.cjs +103 -0
  1040. package/dist/profiles/processor/processorPreviewTable.cjs.map +1 -0
  1041. package/dist/profiles/processor/processorPreviewTable.d.ts +6 -0
  1042. package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -0
  1043. package/dist/profiles/processor/processorPreviewTable.js +103 -0
  1044. package/dist/profiles/processor/processorPreviewTable.js.map +1 -0
  1045. package/dist/profiles/processor/processorSampleParams.cjs +38 -0
  1046. package/dist/profiles/processor/processorSampleParams.cjs.map +1 -0
  1047. package/dist/profiles/processor/processorSampleParams.d.ts +6 -0
  1048. package/dist/profiles/processor/processorSampleParams.d.ts.map +1 -0
  1049. package/dist/profiles/processor/processorSampleParams.js +38 -0
  1050. package/dist/profiles/processor/processorSampleParams.js.map +1 -0
  1051. package/dist/profiles/profileApi.cjs +16 -0
  1052. package/dist/profiles/profileApi.cjs.map +1 -1
  1053. package/dist/profiles/profileApi.d.ts +36 -3
  1054. package/dist/profiles/profileApi.d.ts.map +1 -1
  1055. package/dist/profiles/profileApi.js +16 -0
  1056. package/dist/profiles/profileApi.js.map +1 -1
  1057. package/dist/profiles/query/index.d.ts +9 -0
  1058. package/dist/profiles/query/index.d.ts.map +1 -0
  1059. package/dist/profiles/query/jsonPathSample.cjs +75 -0
  1060. package/dist/profiles/query/jsonPathSample.cjs.map +1 -0
  1061. package/dist/profiles/query/jsonPathSample.d.ts +27 -0
  1062. package/dist/profiles/query/jsonPathSample.d.ts.map +1 -0
  1063. package/dist/profiles/query/jsonPathSample.js +75 -0
  1064. package/dist/profiles/query/jsonPathSample.js.map +1 -0
  1065. package/dist/profiles/query/jsonPathSampleRow.cjs.map +1 -0
  1066. package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -0
  1067. package/dist/profiles/query/jsonPathSampleRow.js.map +1 -0
  1068. package/dist/profiles/query/kubernetesWorkloadTarget.cjs +43 -0
  1069. package/dist/profiles/query/kubernetesWorkloadTarget.cjs.map +1 -0
  1070. package/dist/profiles/query/kubernetesWorkloadTarget.d.ts +3 -0
  1071. package/dist/profiles/query/kubernetesWorkloadTarget.d.ts.map +1 -0
  1072. package/dist/profiles/query/kubernetesWorkloadTarget.js +43 -0
  1073. package/dist/profiles/query/kubernetesWorkloadTarget.js.map +1 -0
  1074. package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs +53 -0
  1075. package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs.map +1 -0
  1076. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +12 -0
  1077. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -0
  1078. package/dist/profiles/query/kubernetesWorkloadTargetPicker.js +53 -0
  1079. package/dist/profiles/query/kubernetesWorkloadTargetPicker.js.map +1 -0
  1080. package/dist/profiles/query/profileSamplePayload.cjs.map +1 -0
  1081. package/dist/profiles/query/profileSamplePayload.d.ts +13 -0
  1082. package/dist/profiles/query/profileSamplePayload.d.ts.map +1 -0
  1083. package/dist/profiles/query/profileSamplePayload.js.map +1 -0
  1084. package/dist/profiles/query/prometheusResults.cjs +60 -0
  1085. package/dist/profiles/query/prometheusResults.cjs.map +1 -0
  1086. package/dist/profiles/query/prometheusResults.d.ts +7 -0
  1087. package/dist/profiles/query/prometheusResults.d.ts.map +1 -0
  1088. package/dist/profiles/query/prometheusResults.js +60 -0
  1089. package/dist/profiles/query/prometheusResults.js.map +1 -0
  1090. package/dist/profiles/query/queryRowLimits.cjs +82 -0
  1091. package/dist/profiles/query/queryRowLimits.cjs.map +1 -0
  1092. package/dist/profiles/query/queryRowLimits.d.ts +9 -0
  1093. package/dist/profiles/query/queryRowLimits.d.ts.map +1 -0
  1094. package/dist/profiles/query/queryRowLimits.js +82 -0
  1095. package/dist/profiles/query/queryRowLimits.js.map +1 -0
  1096. package/dist/profiles/query/queryRowLimitsModel.cjs.map +1 -0
  1097. package/dist/profiles/query/queryRowLimitsModel.d.ts +9 -0
  1098. package/dist/profiles/query/queryRowLimitsModel.d.ts.map +1 -0
  1099. package/dist/profiles/query/queryRowLimitsModel.js.map +1 -0
  1100. package/dist/profiles/query/queryTargetPicker.cjs +42 -0
  1101. package/dist/profiles/query/queryTargetPicker.cjs.map +1 -0
  1102. package/dist/profiles/query/queryTargetPicker.d.ts +8 -0
  1103. package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -0
  1104. package/dist/profiles/query/queryTargetPicker.js +42 -0
  1105. package/dist/profiles/query/queryTargetPicker.js.map +1 -0
  1106. package/dist/profiles/wizard/index.d.ts +6 -0
  1107. package/dist/profiles/wizard/index.d.ts.map +1 -0
  1108. package/dist/profiles/wizard/profileWizard.cjs +257 -0
  1109. package/dist/profiles/wizard/profileWizard.cjs.map +1 -0
  1110. package/dist/profiles/wizard/profileWizard.d.ts +12 -0
  1111. package/dist/profiles/wizard/profileWizard.d.ts.map +1 -0
  1112. package/dist/profiles/wizard/profileWizard.js +257 -0
  1113. package/dist/profiles/wizard/profileWizard.js.map +1 -0
  1114. package/dist/profiles/wizard/profileWizardHelp.cjs.map +1 -0
  1115. package/dist/profiles/wizard/profileWizardHelp.d.ts.map +1 -0
  1116. package/dist/profiles/wizard/profileWizardHelp.js.map +1 -0
  1117. package/dist/profiles/wizard/profileWizardModel.cjs +204 -0
  1118. package/dist/profiles/wizard/profileWizardModel.cjs.map +1 -0
  1119. package/dist/profiles/wizard/profileWizardModel.d.ts +266 -0
  1120. package/dist/profiles/wizard/profileWizardModel.d.ts.map +1 -0
  1121. package/dist/profiles/wizard/profileWizardModel.js +204 -0
  1122. package/dist/profiles/wizard/profileWizardModel.js.map +1 -0
  1123. package/dist/profiles/wizard/profileWizardQueryStep.cjs +215 -0
  1124. package/dist/profiles/wizard/profileWizardQueryStep.cjs.map +1 -0
  1125. package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -0
  1126. package/dist/profiles/wizard/profileWizardQueryStep.js +215 -0
  1127. package/dist/profiles/wizard/profileWizardQueryStep.js.map +1 -0
  1128. package/dist/profiles/wizard/profileWizardSteps.cjs +214 -0
  1129. package/dist/profiles/wizard/profileWizardSteps.cjs.map +1 -0
  1130. package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -0
  1131. package/dist/profiles/wizard/profileWizardSteps.js +214 -0
  1132. package/dist/profiles/wizard/profileWizardSteps.js.map +1 -0
  1133. package/dist/profiles.cjs +237 -178
  1134. package/dist/profiles.cjs.map +1 -1
  1135. package/dist/profiles.d.ts +8 -55
  1136. package/dist/profiles.d.ts.map +1 -1
  1137. package/dist/profiles.js +117 -58
  1138. package/dist/profiles.js.map +1 -1
  1139. package/dist/rpc/ChatLayer.cjs +27 -0
  1140. package/dist/rpc/ChatLayer.cjs.map +1 -0
  1141. package/dist/rpc/ChatLayer.d.ts +11 -0
  1142. package/dist/rpc/ChatLayer.d.ts.map +1 -0
  1143. package/dist/rpc/ChatLayer.js +27 -0
  1144. package/dist/rpc/ChatLayer.js.map +1 -0
  1145. package/dist/rpc/CommandForm.cjs +9 -19
  1146. package/dist/rpc/CommandForm.cjs.map +1 -1
  1147. package/dist/rpc/CommandForm.d.ts +8 -2
  1148. package/dist/rpc/CommandForm.d.ts.map +1 -1
  1149. package/dist/rpc/CommandForm.js +10 -20
  1150. package/dist/rpc/CommandForm.js.map +1 -1
  1151. package/dist/rpc/CommandOutput.cjs +29 -4
  1152. package/dist/rpc/CommandOutput.cjs.map +1 -1
  1153. package/dist/rpc/CommandOutput.d.ts +6 -2
  1154. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  1155. package/dist/rpc/CommandOutput.js +29 -4
  1156. package/dist/rpc/CommandOutput.js.map +1 -1
  1157. package/dist/rpc/EndpointList.cjs +1 -1
  1158. package/dist/rpc/EndpointList.cjs.map +1 -1
  1159. package/dist/rpc/EndpointList.js +1 -1
  1160. package/dist/rpc/EndpointList.js.map +1 -1
  1161. package/dist/rpc/EntityExplorerApp.cjs +4 -1
  1162. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  1163. package/dist/rpc/EntityExplorerApp.d.ts +3 -1
  1164. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  1165. package/dist/rpc/EntityExplorerApp.js +4 -1
  1166. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  1167. package/dist/rpc/FilterForm.cjs +66 -80
  1168. package/dist/rpc/FilterForm.cjs.map +1 -1
  1169. package/dist/rpc/FilterForm.d.ts.map +1 -1
  1170. package/dist/rpc/FilterForm.js +68 -82
  1171. package/dist/rpc/FilterForm.js.map +1 -1
  1172. package/dist/rpc/InlineError.cjs +19 -2
  1173. package/dist/rpc/InlineError.cjs.map +1 -1
  1174. package/dist/rpc/InlineError.d.ts +5 -1
  1175. package/dist/rpc/InlineError.d.ts.map +1 -1
  1176. package/dist/rpc/InlineError.js +19 -2
  1177. package/dist/rpc/InlineError.js.map +1 -1
  1178. package/dist/rpc/OperationActionDialog.cjs +3 -3
  1179. package/dist/rpc/OperationActionDialog.cjs.map +1 -1
  1180. package/dist/rpc/OperationActionDialog.js +3 -3
  1181. package/dist/rpc/OperationActionDialog.js.map +1 -1
  1182. package/dist/rpc/OperationCatalog.cjs +96 -100
  1183. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  1184. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  1185. package/dist/rpc/OperationCatalog.js +98 -102
  1186. package/dist/rpc/OperationCatalog.js.map +1 -1
  1187. package/dist/rpc/OperationCommandPage.cjs +26 -14
  1188. package/dist/rpc/OperationCommandPage.cjs.map +1 -1
  1189. package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
  1190. package/dist/rpc/OperationCommandPage.js +28 -16
  1191. package/dist/rpc/OperationCommandPage.js.map +1 -1
  1192. package/dist/rpc/OperationEntityContextPicker.cjs +25 -13
  1193. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  1194. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  1195. package/dist/rpc/OperationEntityContextPicker.js +26 -14
  1196. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  1197. package/dist/rpc/OperationEntityPage.cjs +2 -8
  1198. package/dist/rpc/OperationEntityPage.cjs.map +1 -1
  1199. package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
  1200. package/dist/rpc/OperationEntityPage.js +2 -8
  1201. package/dist/rpc/OperationEntityPage.js.map +1 -1
  1202. package/dist/rpc/OperationResultView.cjs +13 -2
  1203. package/dist/rpc/OperationResultView.cjs.map +1 -1
  1204. package/dist/rpc/OperationResultView.d.ts +34 -2
  1205. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  1206. package/dist/rpc/OperationResultView.js +13 -2
  1207. package/dist/rpc/OperationResultView.js.map +1 -1
  1208. package/dist/rpc/apiClient.cjs +28 -4
  1209. package/dist/rpc/apiClient.cjs.map +1 -1
  1210. package/dist/rpc/apiClient.d.ts +19 -9
  1211. package/dist/rpc/apiClient.d.ts.map +1 -1
  1212. package/dist/rpc/apiClient.js +29 -5
  1213. package/dist/rpc/apiClient.js.map +1 -1
  1214. package/dist/rpc/cursorStale.cjs +35 -0
  1215. package/dist/rpc/cursorStale.cjs.map +1 -0
  1216. package/dist/rpc/cursorStale.d.ts +23 -0
  1217. package/dist/rpc/cursorStale.d.ts.map +1 -0
  1218. package/dist/rpc/cursorStale.js +35 -0
  1219. package/dist/rpc/cursorStale.js.map +1 -0
  1220. package/dist/rpc/executionPages.cjs +94 -0
  1221. package/dist/rpc/executionPages.cjs.map +1 -0
  1222. package/dist/rpc/executionPages.d.ts +18 -0
  1223. package/dist/rpc/executionPages.d.ts.map +1 -0
  1224. package/dist/rpc/executionPages.js +94 -0
  1225. package/dist/rpc/executionPages.js.map +1 -0
  1226. package/dist/rpc/filterShapes.cjs +17 -0
  1227. package/dist/rpc/filterShapes.cjs.map +1 -0
  1228. package/dist/rpc/filterShapes.d.ts +22 -0
  1229. package/dist/rpc/filterShapes.d.ts.map +1 -0
  1230. package/dist/rpc/filterShapes.js +17 -0
  1231. package/dist/rpc/filterShapes.js.map +1 -0
  1232. package/dist/rpc/formMetadata.cjs +228 -57
  1233. package/dist/rpc/formMetadata.cjs.map +1 -1
  1234. package/dist/rpc/formMetadata.d.ts +19 -2
  1235. package/dist/rpc/formMetadata.d.ts.map +1 -1
  1236. package/dist/rpc/formMetadata.js +230 -59
  1237. package/dist/rpc/formMetadata.js.map +1 -1
  1238. package/dist/rpc/operationErrorDiagnostics.cjs +100 -0
  1239. package/dist/rpc/operationErrorDiagnostics.cjs.map +1 -0
  1240. package/dist/rpc/operationErrorDiagnostics.d.ts +4 -0
  1241. package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -0
  1242. package/dist/rpc/operationErrorDiagnostics.js +100 -0
  1243. package/dist/rpc/operationErrorDiagnostics.js.map +1 -0
  1244. package/dist/rpc/operationFilterSearch.cjs +1 -1
  1245. package/dist/rpc/operationFilterSearch.cjs.map +1 -1
  1246. package/dist/rpc/operationFilterSearch.js +2 -2
  1247. package/dist/rpc/operationFilterSearch.js.map +1 -1
  1248. package/dist/rpc/rpc-story.fixtures.d.ts.map +1 -1
  1249. package/dist/rpc/types.cjs.map +1 -1
  1250. package/dist/rpc/types.d.ts +55 -3
  1251. package/dist/rpc/types.d.ts.map +1 -1
  1252. package/dist/rpc/types.js.map +1 -1
  1253. package/dist/rpc/useOperationPages.cjs +111 -0
  1254. package/dist/rpc/useOperationPages.cjs.map +1 -0
  1255. package/dist/rpc/useOperationPages.d.ts +46 -0
  1256. package/dist/rpc/useOperationPages.d.ts.map +1 -0
  1257. package/dist/rpc/useOperationPages.js +111 -0
  1258. package/dist/rpc/useOperationPages.js.map +1 -0
  1259. package/dist/rpc/useOperations.cjs +7 -4
  1260. package/dist/rpc/useOperations.cjs.map +1 -1
  1261. package/dist/rpc/useOperations.d.ts +4 -4
  1262. package/dist/rpc/useOperations.d.ts.map +1 -1
  1263. package/dist/rpc/useOperations.js +7 -4
  1264. package/dist/rpc/useOperations.js.map +1 -1
  1265. package/dist/rpc.cjs +2 -0
  1266. package/dist/rpc.cjs.map +1 -1
  1267. package/dist/rpc.d.ts +3 -2
  1268. package/dist/rpc.d.ts.map +1 -1
  1269. package/dist/rpc.js +2 -0
  1270. package/dist/rpc.js.map +1 -1
  1271. package/dist/styles.css +2 -2
  1272. package/dist/tailwind-preset.cjs +6 -3
  1273. package/dist/tailwind-preset.cjs.map +1 -1
  1274. package/dist/tailwind-preset.d.ts.map +1 -1
  1275. package/dist/tailwind-preset.js +6 -3
  1276. package/dist/tailwind-preset.js.map +1 -1
  1277. package/dist/utils.cjs +6 -0
  1278. package/dist/utils.cjs.map +1 -1
  1279. package/dist/utils.d.ts +1 -0
  1280. package/dist/utils.d.ts.map +1 -1
  1281. package/dist/utils.js +6 -0
  1282. package/dist/utils.js.map +1 -1
  1283. package/package.json +6 -5
  1284. package/dist/profiles/catalogTree.cjs +0 -133
  1285. package/dist/profiles/catalogTree.cjs.map +0 -1
  1286. package/dist/profiles/catalogTree.d.ts.map +0 -1
  1287. package/dist/profiles/catalogTree.js +0 -133
  1288. package/dist/profiles/catalogTree.js.map +0 -1
  1289. package/dist/profiles/connectionBrowserModel.cjs +0 -185
  1290. package/dist/profiles/connectionBrowserModel.cjs.map +0 -1
  1291. package/dist/profiles/connectionBrowserModel.d.ts +0 -169
  1292. package/dist/profiles/connectionBrowserModel.d.ts.map +0 -1
  1293. package/dist/profiles/connectionBrowserModel.js +0 -185
  1294. package/dist/profiles/connectionBrowserModel.js.map +0 -1
  1295. package/dist/profiles/connectionQueryWorkspace.cjs +0 -185
  1296. package/dist/profiles/connectionQueryWorkspace.cjs.map +0 -1
  1297. package/dist/profiles/connectionQueryWorkspace.d.ts +0 -63
  1298. package/dist/profiles/connectionQueryWorkspace.d.ts.map +0 -1
  1299. package/dist/profiles/connectionQueryWorkspace.js +0 -185
  1300. package/dist/profiles/connectionQueryWorkspace.js.map +0 -1
  1301. package/dist/profiles/connectionQueryWorkspaceModel.cjs +0 -28
  1302. package/dist/profiles/connectionQueryWorkspaceModel.cjs.map +0 -1
  1303. package/dist/profiles/connectionQueryWorkspaceModel.d.ts +0 -38
  1304. package/dist/profiles/connectionQueryWorkspaceModel.d.ts.map +0 -1
  1305. package/dist/profiles/connectionQueryWorkspaceModel.js +0 -28
  1306. package/dist/profiles/connectionQueryWorkspaceModel.js.map +0 -1
  1307. package/dist/profiles/esFieldValues.cjs +0 -64
  1308. package/dist/profiles/esFieldValues.cjs.map +0 -1
  1309. package/dist/profiles/esFieldValues.d.ts +0 -48
  1310. package/dist/profiles/esFieldValues.d.ts.map +0 -1
  1311. package/dist/profiles/esFieldValues.js +0 -64
  1312. package/dist/profiles/esFieldValues.js.map +0 -1
  1313. package/dist/profiles/esParamMappingModel.cjs +0 -301
  1314. package/dist/profiles/esParamMappingModel.cjs.map +0 -1
  1315. package/dist/profiles/esParamMappingModel.d.ts +0 -37
  1316. package/dist/profiles/esParamMappingModel.d.ts.map +0 -1
  1317. package/dist/profiles/esParamMappingModel.js +0 -301
  1318. package/dist/profiles/esParamMappingModel.js.map +0 -1
  1319. package/dist/profiles/esParamMappingPill.cjs.map +0 -1
  1320. package/dist/profiles/esParamMappingPill.d.ts.map +0 -1
  1321. package/dist/profiles/esParamMappingPill.js.map +0 -1
  1322. package/dist/profiles/esParamOperandExtension.cjs +0 -75
  1323. package/dist/profiles/esParamOperandExtension.cjs.map +0 -1
  1324. package/dist/profiles/esParamOperandExtension.d.ts +0 -11
  1325. package/dist/profiles/esParamOperandExtension.d.ts.map +0 -1
  1326. package/dist/profiles/esParamOperandExtension.js +0 -75
  1327. package/dist/profiles/esParamOperandExtension.js.map +0 -1
  1328. package/dist/profiles/esQueryBuilder.cjs +0 -205
  1329. package/dist/profiles/esQueryBuilder.cjs.map +0 -1
  1330. package/dist/profiles/esQueryBuilder.d.ts +0 -35
  1331. package/dist/profiles/esQueryBuilder.d.ts.map +0 -1
  1332. package/dist/profiles/esQueryBuilder.js +0 -205
  1333. package/dist/profiles/esQueryBuilder.js.map +0 -1
  1334. package/dist/profiles/esQueryBuilderExtension.cjs.map +0 -1
  1335. package/dist/profiles/esQueryBuilderExtension.d.ts +0 -5
  1336. package/dist/profiles/esQueryBuilderExtension.d.ts.map +0 -1
  1337. package/dist/profiles/esQueryBuilderExtension.js.map +0 -1
  1338. package/dist/profiles/esQueryBuilderForm.cjs +0 -26
  1339. package/dist/profiles/esQueryBuilderForm.cjs.map +0 -1
  1340. package/dist/profiles/esQueryBuilderForm.d.ts +0 -18
  1341. package/dist/profiles/esQueryBuilderForm.d.ts.map +0 -1
  1342. package/dist/profiles/esQueryBuilderForm.js +0 -26
  1343. package/dist/profiles/esQueryBuilderForm.js.map +0 -1
  1344. package/dist/profiles/esQueryBuilderModel.cjs.map +0 -1
  1345. package/dist/profiles/esQueryBuilderModel.d.ts +0 -108
  1346. package/dist/profiles/esQueryBuilderModel.d.ts.map +0 -1
  1347. package/dist/profiles/esQueryBuilderModel.js.map +0 -1
  1348. package/dist/profiles/esQueryClauseGroup.cjs +0 -144
  1349. package/dist/profiles/esQueryClauseGroup.cjs.map +0 -1
  1350. package/dist/profiles/esQueryClauseGroup.d.ts.map +0 -1
  1351. package/dist/profiles/esQueryClauseGroup.js +0 -144
  1352. package/dist/profiles/esQueryClauseGroup.js.map +0 -1
  1353. package/dist/profiles/esQueryCompile.cjs +0 -47
  1354. package/dist/profiles/esQueryCompile.cjs.map +0 -1
  1355. package/dist/profiles/esQueryCompile.d.ts +0 -39
  1356. package/dist/profiles/esQueryCompile.d.ts.map +0 -1
  1357. package/dist/profiles/esQueryCompile.js +0 -47
  1358. package/dist/profiles/esQueryCompile.js.map +0 -1
  1359. package/dist/profiles/esQueryConditionRow.cjs +0 -168
  1360. package/dist/profiles/esQueryConditionRow.cjs.map +0 -1
  1361. package/dist/profiles/esQueryConditionRow.d.ts +0 -37
  1362. package/dist/profiles/esQueryConditionRow.d.ts.map +0 -1
  1363. package/dist/profiles/esQueryConditionRow.js +0 -168
  1364. package/dist/profiles/esQueryConditionRow.js.map +0 -1
  1365. package/dist/profiles/esQueryGroupModel.cjs.map +0 -1
  1366. package/dist/profiles/esQueryGroupModel.d.ts.map +0 -1
  1367. package/dist/profiles/esQueryGroupModel.js.map +0 -1
  1368. package/dist/profiles/esQueryOccur.cjs.map +0 -1
  1369. package/dist/profiles/esQueryOccur.d.ts.map +0 -1
  1370. package/dist/profiles/esQueryOccur.js.map +0 -1
  1371. package/dist/profiles/esQueryOperandEditors.cjs +0 -279
  1372. package/dist/profiles/esQueryOperandEditors.cjs.map +0 -1
  1373. package/dist/profiles/esQueryOperandEditors.d.ts +0 -24
  1374. package/dist/profiles/esQueryOperandEditors.d.ts.map +0 -1
  1375. package/dist/profiles/esQueryOperandEditors.js +0 -279
  1376. package/dist/profiles/esQueryOperandEditors.js.map +0 -1
  1377. package/dist/profiles/esQueryOperandModel.cjs.map +0 -1
  1378. package/dist/profiles/esQueryOperandModel.d.ts +0 -17
  1379. package/dist/profiles/esQueryOperandModel.d.ts.map +0 -1
  1380. package/dist/profiles/esQueryOperandModel.js.map +0 -1
  1381. package/dist/profiles/esQueryOperators.cjs +0 -165
  1382. package/dist/profiles/esQueryOperators.cjs.map +0 -1
  1383. package/dist/profiles/esQueryOperators.d.ts +0 -83
  1384. package/dist/profiles/esQueryOperators.d.ts.map +0 -1
  1385. package/dist/profiles/esQueryOperators.js +0 -165
  1386. package/dist/profiles/esQueryOperators.js.map +0 -1
  1387. package/dist/profiles/esQueryOutputEditor.cjs +0 -138
  1388. package/dist/profiles/esQueryOutputEditor.cjs.map +0 -1
  1389. package/dist/profiles/esQueryOutputEditor.d.ts +0 -7
  1390. package/dist/profiles/esQueryOutputEditor.d.ts.map +0 -1
  1391. package/dist/profiles/esQueryOutputEditor.js +0 -138
  1392. package/dist/profiles/esQueryOutputEditor.js.map +0 -1
  1393. package/dist/profiles/esQueryOutputModel.cjs.map +0 -1
  1394. package/dist/profiles/esQueryOutputModel.d.ts.map +0 -1
  1395. package/dist/profiles/esQueryOutputModel.js.map +0 -1
  1396. package/dist/profiles/esQueryPreview.cjs.map +0 -1
  1397. package/dist/profiles/esQueryPreview.d.ts.map +0 -1
  1398. package/dist/profiles/esQueryPreview.js.map +0 -1
  1399. package/dist/profiles/esQuerySortEditor.cjs +0 -143
  1400. package/dist/profiles/esQuerySortEditor.cjs.map +0 -1
  1401. package/dist/profiles/esQuerySortEditor.d.ts.map +0 -1
  1402. package/dist/profiles/esQuerySortEditor.js +0 -143
  1403. package/dist/profiles/esQuerySortEditor.js.map +0 -1
  1404. package/dist/profiles/esQuerySortModel.cjs.map +0 -1
  1405. package/dist/profiles/esQuerySortModel.d.ts.map +0 -1
  1406. package/dist/profiles/esQuerySortModel.js.map +0 -1
  1407. package/dist/profiles/esValueCombobox.cjs +0 -86
  1408. package/dist/profiles/esValueCombobox.cjs.map +0 -1
  1409. package/dist/profiles/esValueCombobox.d.ts.map +0 -1
  1410. package/dist/profiles/esValueCombobox.js +0 -86
  1411. package/dist/profiles/esValueCombobox.js.map +0 -1
  1412. package/dist/profiles/jsonPathSample.cjs +0 -75
  1413. package/dist/profiles/jsonPathSample.cjs.map +0 -1
  1414. package/dist/profiles/jsonPathSample.d.ts +0 -27
  1415. package/dist/profiles/jsonPathSample.d.ts.map +0 -1
  1416. package/dist/profiles/jsonPathSample.js +0 -75
  1417. package/dist/profiles/jsonPathSample.js.map +0 -1
  1418. package/dist/profiles/jsonPathSampleRow.cjs.map +0 -1
  1419. package/dist/profiles/jsonPathSampleRow.d.ts.map +0 -1
  1420. package/dist/profiles/jsonPathSampleRow.js.map +0 -1
  1421. package/dist/profiles/profileBuilder.cjs +0 -65
  1422. package/dist/profiles/profileBuilder.cjs.map +0 -1
  1423. package/dist/profiles/profileBuilder.d.ts.map +0 -1
  1424. package/dist/profiles/profileBuilder.js +0 -65
  1425. package/dist/profiles/profileBuilder.js.map +0 -1
  1426. package/dist/profiles/profileBuilderExtension.cjs.map +0 -1
  1427. package/dist/profiles/profileBuilderExtension.d.ts +0 -5
  1428. package/dist/profiles/profileBuilderExtension.d.ts.map +0 -1
  1429. package/dist/profiles/profileBuilderExtension.js.map +0 -1
  1430. package/dist/profiles/profileBuilderWorkspace.cjs +0 -368
  1431. package/dist/profiles/profileBuilderWorkspace.cjs.map +0 -1
  1432. package/dist/profiles/profileBuilderWorkspace.d.ts +0 -21
  1433. package/dist/profiles/profileBuilderWorkspace.d.ts.map +0 -1
  1434. package/dist/profiles/profileBuilderWorkspace.js +0 -368
  1435. package/dist/profiles/profileBuilderWorkspace.js.map +0 -1
  1436. package/dist/profiles/profileColumnModel.cjs.map +0 -1
  1437. package/dist/profiles/profileColumnModel.d.ts +0 -8
  1438. package/dist/profiles/profileColumnModel.d.ts.map +0 -1
  1439. package/dist/profiles/profileColumnModel.js.map +0 -1
  1440. package/dist/profiles/profileColumnPicker.cjs +0 -68
  1441. package/dist/profiles/profileColumnPicker.cjs.map +0 -1
  1442. package/dist/profiles/profileColumnPicker.d.ts +0 -11
  1443. package/dist/profiles/profileColumnPicker.d.ts.map +0 -1
  1444. package/dist/profiles/profileColumnPicker.js +0 -68
  1445. package/dist/profiles/profileColumnPicker.js.map +0 -1
  1446. package/dist/profiles/profileEditor.cjs +0 -386
  1447. package/dist/profiles/profileEditor.cjs.map +0 -1
  1448. package/dist/profiles/profileEditor.d.ts +0 -19
  1449. package/dist/profiles/profileEditor.d.ts.map +0 -1
  1450. package/dist/profiles/profileEditor.js +0 -386
  1451. package/dist/profiles/profileEditor.js.map +0 -1
  1452. package/dist/profiles/profileEditorModel.cjs +0 -181
  1453. package/dist/profiles/profileEditorModel.cjs.map +0 -1
  1454. package/dist/profiles/profileEditorModel.d.ts +0 -74
  1455. package/dist/profiles/profileEditorModel.d.ts.map +0 -1
  1456. package/dist/profiles/profileEditorModel.js +0 -181
  1457. package/dist/profiles/profileEditorModel.js.map +0 -1
  1458. package/dist/profiles/profileEditorPreview.cjs.map +0 -1
  1459. package/dist/profiles/profileEditorPreview.d.ts +0 -12
  1460. package/dist/profiles/profileEditorPreview.d.ts.map +0 -1
  1461. package/dist/profiles/profileEditorPreview.js.map +0 -1
  1462. package/dist/profiles/profileEditorRail.cjs.map +0 -1
  1463. package/dist/profiles/profileEditorRail.d.ts.map +0 -1
  1464. package/dist/profiles/profileEditorRail.js.map +0 -1
  1465. package/dist/profiles/profileEditorRaw.cjs +0 -118
  1466. package/dist/profiles/profileEditorRaw.cjs.map +0 -1
  1467. package/dist/profiles/profileEditorRaw.d.ts +0 -7
  1468. package/dist/profiles/profileEditorRaw.d.ts.map +0 -1
  1469. package/dist/profiles/profileEditorRaw.js +0 -118
  1470. package/dist/profiles/profileEditorRaw.js.map +0 -1
  1471. package/dist/profiles/profileEditorRoutes.cjs.map +0 -1
  1472. package/dist/profiles/profileEditorRoutes.d.ts.map +0 -1
  1473. package/dist/profiles/profileEditorRoutes.js.map +0 -1
  1474. package/dist/profiles/profileEditorSections.cjs +0 -213
  1475. package/dist/profiles/profileEditorSections.cjs.map +0 -1
  1476. package/dist/profiles/profileEditorSections.d.ts +0 -23
  1477. package/dist/profiles/profileEditorSections.d.ts.map +0 -1
  1478. package/dist/profiles/profileEditorSections.js +0 -213
  1479. package/dist/profiles/profileEditorSections.js.map +0 -1
  1480. package/dist/profiles/profileFieldEditor.cjs +0 -200
  1481. package/dist/profiles/profileFieldEditor.cjs.map +0 -1
  1482. package/dist/profiles/profileFieldEditor.d.ts +0 -34
  1483. package/dist/profiles/profileFieldEditor.d.ts.map +0 -1
  1484. package/dist/profiles/profileFieldEditor.js +0 -200
  1485. package/dist/profiles/profileFieldEditor.js.map +0 -1
  1486. package/dist/profiles/profileFieldGrid.cjs +0 -250
  1487. package/dist/profiles/profileFieldGrid.cjs.map +0 -1
  1488. package/dist/profiles/profileFieldGrid.d.ts +0 -20
  1489. package/dist/profiles/profileFieldGrid.d.ts.map +0 -1
  1490. package/dist/profiles/profileFieldGrid.js +0 -250
  1491. package/dist/profiles/profileFieldGrid.js.map +0 -1
  1492. package/dist/profiles/profileFieldManager.cjs +0 -103
  1493. package/dist/profiles/profileFieldManager.cjs.map +0 -1
  1494. package/dist/profiles/profileFieldManager.d.ts.map +0 -1
  1495. package/dist/profiles/profileFieldManager.js +0 -103
  1496. package/dist/profiles/profileFieldManager.js.map +0 -1
  1497. package/dist/profiles/profileFieldState.cjs +0 -136
  1498. package/dist/profiles/profileFieldState.cjs.map +0 -1
  1499. package/dist/profiles/profileFieldState.d.ts +0 -41
  1500. package/dist/profiles/profileFieldState.d.ts.map +0 -1
  1501. package/dist/profiles/profileFieldState.js +0 -136
  1502. package/dist/profiles/profileFieldState.js.map +0 -1
  1503. package/dist/profiles/profileFieldTypes.cjs.map +0 -1
  1504. package/dist/profiles/profileFieldTypes.d.ts +0 -8
  1505. package/dist/profiles/profileFieldTypes.d.ts.map +0 -1
  1506. package/dist/profiles/profileFieldTypes.js.map +0 -1
  1507. package/dist/profiles/profileParamModel.cjs.map +0 -1
  1508. package/dist/profiles/profileParamModel.d.ts +0 -3
  1509. package/dist/profiles/profileParamModel.d.ts.map +0 -1
  1510. package/dist/profiles/profileParamModel.js.map +0 -1
  1511. package/dist/profiles/profileSamplePayload.cjs.map +0 -1
  1512. package/dist/profiles/profileSamplePayload.d.ts +0 -13
  1513. package/dist/profiles/profileSamplePayload.d.ts.map +0 -1
  1514. package/dist/profiles/profileSamplePayload.js.map +0 -1
  1515. package/dist/profiles/profileWizard.cjs +0 -257
  1516. package/dist/profiles/profileWizard.cjs.map +0 -1
  1517. package/dist/profiles/profileWizard.d.ts +0 -12
  1518. package/dist/profiles/profileWizard.d.ts.map +0 -1
  1519. package/dist/profiles/profileWizard.js +0 -257
  1520. package/dist/profiles/profileWizard.js.map +0 -1
  1521. package/dist/profiles/profileWizardHelp.cjs.map +0 -1
  1522. package/dist/profiles/profileWizardHelp.d.ts.map +0 -1
  1523. package/dist/profiles/profileWizardHelp.js.map +0 -1
  1524. package/dist/profiles/profileWizardModel.cjs +0 -198
  1525. package/dist/profiles/profileWizardModel.cjs.map +0 -1
  1526. package/dist/profiles/profileWizardModel.d.ts +0 -255
  1527. package/dist/profiles/profileWizardModel.d.ts.map +0 -1
  1528. package/dist/profiles/profileWizardModel.js +0 -198
  1529. package/dist/profiles/profileWizardModel.js.map +0 -1
  1530. package/dist/profiles/profileWizardQueryStep.cjs +0 -215
  1531. package/dist/profiles/profileWizardQueryStep.cjs.map +0 -1
  1532. package/dist/profiles/profileWizardQueryStep.d.ts.map +0 -1
  1533. package/dist/profiles/profileWizardQueryStep.js +0 -215
  1534. package/dist/profiles/profileWizardQueryStep.js.map +0 -1
  1535. package/dist/profiles/profileWizardSteps.cjs +0 -214
  1536. package/dist/profiles/profileWizardSteps.cjs.map +0 -1
  1537. package/dist/profiles/profileWizardSteps.d.ts.map +0 -1
  1538. package/dist/profiles/profileWizardSteps.js +0 -214
  1539. package/dist/profiles/profileWizardSteps.js.map +0 -1
  1540. package/dist/profiles/profileYaml.cjs +0 -19
  1541. package/dist/profiles/profileYaml.cjs.map +0 -1
  1542. package/dist/profiles/profileYaml.d.ts +0 -4
  1543. package/dist/profiles/profileYaml.d.ts.map +0 -1
  1544. package/dist/profiles/profileYaml.js +0 -19
  1545. package/dist/profiles/profileYaml.js.map +0 -1
  1546. package/dist/profiles/prometheusResults.cjs +0 -60
  1547. package/dist/profiles/prometheusResults.cjs.map +0 -1
  1548. package/dist/profiles/prometheusResults.d.ts +0 -7
  1549. package/dist/profiles/prometheusResults.d.ts.map +0 -1
  1550. package/dist/profiles/prometheusResults.js +0 -60
  1551. package/dist/profiles/prometheusResults.js.map +0 -1
  1552. package/dist/profiles/queryRowLimits.cjs +0 -82
  1553. package/dist/profiles/queryRowLimits.cjs.map +0 -1
  1554. package/dist/profiles/queryRowLimits.d.ts +0 -9
  1555. package/dist/profiles/queryRowLimits.d.ts.map +0 -1
  1556. package/dist/profiles/queryRowLimits.js +0 -82
  1557. package/dist/profiles/queryRowLimits.js.map +0 -1
  1558. package/dist/profiles/queryRowLimitsModel.cjs.map +0 -1
  1559. package/dist/profiles/queryRowLimitsModel.d.ts +0 -9
  1560. package/dist/profiles/queryRowLimitsModel.d.ts.map +0 -1
  1561. package/dist/profiles/queryRowLimitsModel.js.map +0 -1
  1562. package/dist/profiles/queryTargetPicker.cjs +0 -42
  1563. package/dist/profiles/queryTargetPicker.cjs.map +0 -1
  1564. package/dist/profiles/queryTargetPicker.d.ts +0 -8
  1565. package/dist/profiles/queryTargetPicker.d.ts.map +0 -1
  1566. package/dist/profiles/queryTargetPicker.js +0 -42
  1567. package/dist/profiles/queryTargetPicker.js.map +0 -1
  1568. package/dist/profiles/testSchema.d.ts +0 -3
  1569. package/dist/profiles/testSchema.d.ts.map +0 -1
  1570. /package/dist/profiles/{catalogTree.d.ts → connections/catalogTree.d.ts} +0 -0
  1571. /package/dist/profiles/{profileBuilder.d.ts → editor/profileBuilder.d.ts} +0 -0
  1572. /package/dist/profiles/{profileBuilderExtension.cjs → editor/profileBuilderExtension.cjs} +0 -0
  1573. /package/dist/profiles/{profileBuilderExtension.js → editor/profileBuilderExtension.js} +0 -0
  1574. /package/dist/profiles/{profileEditorPreview.cjs → editor/profileEditorPreview.cjs} +0 -0
  1575. /package/dist/profiles/{profileEditorPreview.js → editor/profileEditorPreview.js} +0 -0
  1576. /package/dist/profiles/{profileEditorRail.cjs → editor/profileEditorRail.cjs} +0 -0
  1577. /package/dist/profiles/{profileEditorRail.d.ts → editor/profileEditorRail.d.ts} +0 -0
  1578. /package/dist/profiles/{profileEditorRail.js → editor/profileEditorRail.js} +0 -0
  1579. /package/dist/profiles/{profileEditorRoutes.cjs → editor/profileEditorRoutes.cjs} +0 -0
  1580. /package/dist/profiles/{profileEditorRoutes.d.ts → editor/profileEditorRoutes.d.ts} +0 -0
  1581. /package/dist/profiles/{profileEditorRoutes.js → editor/profileEditorRoutes.js} +0 -0
  1582. /package/dist/profiles/{esParamMappingPill.cjs → elasticsearch/esParamMappingPill.cjs} +0 -0
  1583. /package/dist/profiles/{esParamMappingPill.d.ts → elasticsearch/esParamMappingPill.d.ts} +0 -0
  1584. /package/dist/profiles/{esParamMappingPill.js → elasticsearch/esParamMappingPill.js} +0 -0
  1585. /package/dist/profiles/{esQueryBuilderExtension.cjs → elasticsearch/esQueryBuilderExtension.cjs} +0 -0
  1586. /package/dist/profiles/{esQueryBuilderExtension.js → elasticsearch/esQueryBuilderExtension.js} +0 -0
  1587. /package/dist/profiles/{esQueryBuilderModel.cjs → elasticsearch/esQueryBuilderModel.cjs} +0 -0
  1588. /package/dist/profiles/{esQueryBuilderModel.js → elasticsearch/esQueryBuilderModel.js} +0 -0
  1589. /package/dist/profiles/{esQueryClauseGroup.d.ts → elasticsearch/esQueryClauseGroup.d.ts} +0 -0
  1590. /package/dist/profiles/{esQueryGroupModel.cjs → elasticsearch/esQueryGroupModel.cjs} +0 -0
  1591. /package/dist/profiles/{esQueryGroupModel.d.ts → elasticsearch/esQueryGroupModel.d.ts} +0 -0
  1592. /package/dist/profiles/{esQueryGroupModel.js → elasticsearch/esQueryGroupModel.js} +0 -0
  1593. /package/dist/profiles/{esQueryOccur.cjs → elasticsearch/esQueryOccur.cjs} +0 -0
  1594. /package/dist/profiles/{esQueryOccur.d.ts → elasticsearch/esQueryOccur.d.ts} +0 -0
  1595. /package/dist/profiles/{esQueryOccur.js → elasticsearch/esQueryOccur.js} +0 -0
  1596. /package/dist/profiles/{esQueryOperandModel.cjs → elasticsearch/esQueryOperandModel.cjs} +0 -0
  1597. /package/dist/profiles/{esQueryOperandModel.js → elasticsearch/esQueryOperandModel.js} +0 -0
  1598. /package/dist/profiles/{esQueryOutputModel.cjs → elasticsearch/esQueryOutputModel.cjs} +0 -0
  1599. /package/dist/profiles/{esQueryOutputModel.d.ts → elasticsearch/esQueryOutputModel.d.ts} +0 -0
  1600. /package/dist/profiles/{esQueryOutputModel.js → elasticsearch/esQueryOutputModel.js} +0 -0
  1601. /package/dist/profiles/{esQueryPreview.cjs → elasticsearch/esQueryPreview.cjs} +0 -0
  1602. /package/dist/profiles/{esQueryPreview.d.ts → elasticsearch/esQueryPreview.d.ts} +0 -0
  1603. /package/dist/profiles/{esQueryPreview.js → elasticsearch/esQueryPreview.js} +0 -0
  1604. /package/dist/profiles/{esQuerySortEditor.d.ts → elasticsearch/esQuerySortEditor.d.ts} +0 -0
  1605. /package/dist/profiles/{esQuerySortModel.cjs → elasticsearch/esQuerySortModel.cjs} +0 -0
  1606. /package/dist/profiles/{esQuerySortModel.d.ts → elasticsearch/esQuerySortModel.d.ts} +0 -0
  1607. /package/dist/profiles/{esQuerySortModel.js → elasticsearch/esQuerySortModel.js} +0 -0
  1608. /package/dist/profiles/{esValueCombobox.d.ts → elasticsearch/esValueCombobox.d.ts} +0 -0
  1609. /package/dist/profiles/{profileColumnModel.cjs → fields/profileColumnModel.cjs} +0 -0
  1610. /package/dist/profiles/{profileColumnModel.js → fields/profileColumnModel.js} +0 -0
  1611. /package/dist/profiles/{profileFieldManager.d.ts → fields/profileFieldManager.d.ts} +0 -0
  1612. /package/dist/profiles/{profileFieldTypes.cjs → fields/profileFieldTypes.cjs} +0 -0
  1613. /package/dist/profiles/{profileFieldTypes.js → fields/profileFieldTypes.js} +0 -0
  1614. /package/dist/profiles/{profileParamModel.cjs → fields/profileParamModel.cjs} +0 -0
  1615. /package/dist/profiles/{profileParamModel.js → fields/profileParamModel.js} +0 -0
  1616. /package/dist/profiles/{jsonPathSampleRow.cjs → query/jsonPathSampleRow.cjs} +0 -0
  1617. /package/dist/profiles/{jsonPathSampleRow.d.ts → query/jsonPathSampleRow.d.ts} +0 -0
  1618. /package/dist/profiles/{jsonPathSampleRow.js → query/jsonPathSampleRow.js} +0 -0
  1619. /package/dist/profiles/{profileSamplePayload.cjs → query/profileSamplePayload.cjs} +0 -0
  1620. /package/dist/profiles/{profileSamplePayload.js → query/profileSamplePayload.js} +0 -0
  1621. /package/dist/profiles/{queryRowLimitsModel.cjs → query/queryRowLimitsModel.cjs} +0 -0
  1622. /package/dist/profiles/{queryRowLimitsModel.js → query/queryRowLimitsModel.js} +0 -0
  1623. /package/dist/profiles/{profileWizardHelp.cjs → wizard/profileWizardHelp.cjs} +0 -0
  1624. /package/dist/profiles/{profileWizardHelp.d.ts → wizard/profileWizardHelp.d.ts} +0 -0
  1625. /package/dist/profiles/{profileWizardHelp.js → wizard/profileWizardHelp.js} +0 -0
  1626. /package/dist/profiles/{profileWizardQueryStep.d.ts → wizard/profileWizardQueryStep.d.ts} +0 -0
  1627. /package/dist/profiles/{profileWizardSteps.d.ts → wizard/profileWizardSteps.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.cjs","sources":["../../src/data/Tree.tsx"],"sourcesContent":["import { useMemo, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"./Icon\";\nimport { UiClose, UiCollapseAll, UiExpandAll, UiSearch } from \"../icons\";\nimport { TreeNode, type TreeNodeProps } from \"./TreeNode\";\n\nexport type TreeProps<T> = Omit<\n TreeNodeProps<T>,\n \"node\" | \"depth\" | \"expandAll\" | \"forcedOpenKeys\"\n> & {\n /** Root nodes to render. */\n roots: T[];\n /** Empty-state content when no roots are provided. */\n empty?: ReactNode;\n /** Classes applied to the tree root. */\n className?: string;\n /** Accessible name applied to the tree root. */\n ariaLabel?: string;\n /**\n * Render the Expand all / Collapse all toolbar above the tree. Enabled by\n * default. Set to false to suppress when the tree is tiny or the controls\n * are owned externally.\n */\n showControls?: boolean;\n /**\n * Externally controlled expand-all state. When provided together with\n * `onExpandAllChange`, the tree is controlled; otherwise it manages the\n * toolbar state internally.\n */\n expandAll?: boolean | null;\n /** Called when the toolbar expand-all state changes. */\n onExpandAllChange?: (next: boolean | null) => void;\n /** Classes applied to the search/control toolbar. */\n toolbarClassName?: string;\n /**\n * Override the text the filter matches against for a given node.\n * Defaults to a recursive walk of the node's own fields (excluding\n * its `children` and any secondary children), which works for\n * plain-shape trees but leaks text from nested domain objects —\n * e.g. a SQL Table's Field rows are marked secondary, yet the\n * parent record still carries `record.fields[].field` strings that\n * the default walker would collect. Callers that need precise\n * control over search behaviour should return only the text they\n * want surfaced (the node's own display label / id / type).\n */\n getSearchText?: (node: T) => string;\n /**\n * Force-open the ancestors of the `selected` node so it is always revealed,\n * even when its branch was collapsed (a deep-link, a programmatic selection\n * from outside the tree, or simply a folder the user never opened). While a\n * node is selected its ancestors cannot be collapsed. Off by default; other\n * nodes keep their normal expand state. Requires `selected` to be set.\n */\n revealSelected?: boolean;\n};\n\n// ancestorPathKeys returns the keys of every ancestor on the path from a root\n// down to `target` (excluding target itself — opening the ancestors is what\n// makes target render). Matches by getKey so it is robust to object identity\n// across roots rebuilds. Returns null when target is not found.\nfunction ancestorPathKeys<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n target: T,\n): Set<string | number> | null {\n const targetKey = getKey(target);\n const path: (string | number)[] = [];\n const visit = (node: T): boolean => {\n if (getKey(node) === targetKey) return true;\n for (const child of getChildren(node) ?? []) {\n if (visit(child)) {\n path.push(getKey(node));\n return true;\n }\n }\n return false;\n };\n for (const root of roots) {\n if (visit(root)) return path.length ? new Set(path) : null;\n }\n return null;\n}\n\n// mergeKeySets unions two optional key sets, preserving the null fast-path when\n// both are empty so consumers without a filter or reveal pass null downstream.\nfunction mergeKeySets(\n a: Set<string | number> | null,\n b: Set<string | number> | null,\n): Set<string | number> | null {\n if (!a) return b;\n if (!b) return a;\n return new Set([...a, ...b]);\n}\n\n// Edge counting, search-text collection and filtering all walk the tree through\n// the synchronous `getChildren` only. A lazy node (one declared via\n// `hasMoreChildren` whose children have not been fetched yet) therefore\n// contributes no edges and no search text until the operator expands it — so it\n// is invisible to \"expand all\" and to the filter while still collapsed. This is\n// intentional: we never trigger network loads from bulk/search operations.\nfunction countTreeEdges<T>(roots: T[], getChildren: TreeProps<T>[\"getChildren\"]) {\n let total = 0;\n const stack = [...roots];\n\n while (stack.length > 0) {\n const node = stack.pop()!;\n const children = getChildren(node) ?? [];\n total += children.length;\n stack.push(...children);\n }\n\n return total;\n}\n\nfunction collectTreeSearchText(\n value: unknown,\n excluded = new Set<unknown>(),\n seen = new Set<unknown>(),\n): string {\n if (value == null || excluded.has(value)) return \"\";\n\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\"\n ) {\n return String(value);\n }\n\n if (typeof value !== \"object\") return \"\";\n if (seen.has(value)) return \"\";\n seen.add(value);\n\n if (Array.isArray(value)) {\n return value\n .map((entry) => collectTreeSearchText(entry, excluded, seen))\n .filter(Boolean)\n .join(\" \");\n }\n\n const preferredKeys = [\"label\", \"name\", \"title\", \"text\", \"plain\", \"id\", \"content\"];\n const record = value as Record<string, unknown>;\n const chunks: string[] = [];\n\n for (const key of preferredKeys) {\n if (!(key in record)) continue;\n const text = collectTreeSearchText(record[key], excluded, seen);\n if (text) chunks.push(text);\n }\n\n for (const [key, entry] of Object.entries(record)) {\n if (key === \"children\" || preferredKeys.includes(key)) continue;\n const text = collectTreeSearchText(entry, excluded, seen);\n if (text) chunks.push(text);\n }\n\n return chunks.join(\" \");\n}\n\nfunction nodeSearchText<T>(node: T, children: ReturnType<TreeProps<T>[\"getChildren\"]>) {\n const excluded = new Set<unknown>();\n if (children) excluded.add(children);\n return collectTreeSearchText(node, excluded).trim().toLowerCase();\n}\n\nfunction filterTreeRoots<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n query: string,\n isSecondary?: (node: T) => boolean,\n getSearchText?: (node: T) => string,\n) {\n const normalizedQuery = query.trim().toLowerCase();\n if (!normalizedQuery) {\n return {\n roots,\n filteredChildren: null as Map<string | number, T[]> | null,\n forcedOpenKeys: null as Set<string | number> | null,\n };\n }\n\n const filteredChildren = new Map<string | number, T[]>();\n const forcedOpenKeys = new Set<string | number>();\n\n function matchText(node: T, children: T[]): string {\n // Honour the caller-supplied text extractor first — it's the\n // only way to get precise control over what the filter sees when\n // the node carries domain data whose fields would otherwise leak\n // into the default walker.\n if (getSearchText) return getSearchText(node).trim().toLowerCase();\n // Match-text skips secondary children so e.g. a Table's search\n // text only draws from the Table itself, not from its Field\n // rows. The Table is primary, so its own text still counts.\n const searchChildren = children.filter((c) => !isSecondary?.(c));\n return nodeSearchText(node, searchChildren);\n }\n\n function visit(node: T): boolean {\n // A secondary node never drives a filter match — it's\n // effectively invisible to search. Still rendered when the\n // caller opens the parent manually. This is what lets a 28k-row\n // field tree stay searchable at the record level without \"field\n // name contains 'x'\" matches spamming the results.\n if (isSecondary?.(node)) return false;\n\n const key = getKey(node);\n const children = getChildren(node) ?? [];\n const childrenAllSecondary =\n children.length > 0 && children.every((child) => isSecondary?.(child));\n const matches = matchText(node, children).includes(normalizedQuery);\n const visibleChildren: T[] = [];\n\n for (const child of children) {\n if (visit(child)) visibleChildren.push(child);\n }\n\n if (matches) {\n if (children.length > 0) {\n filteredChildren.set(key, children);\n if (!childrenAllSecondary) forcedOpenKeys.add(key);\n }\n return true;\n }\n\n if (visibleChildren.length > 0) {\n filteredChildren.set(key, visibleChildren);\n forcedOpenKeys.add(key);\n return true;\n }\n\n return false;\n }\n\n return {\n roots: roots.filter((root) => visit(root)),\n filteredChildren,\n forcedOpenKeys,\n };\n}\n\nexport function Tree<T>({\n roots,\n empty,\n className,\n ariaLabel,\n showControls = true,\n expandAll: controlledExpandAll,\n onExpandAllChange,\n toolbarClassName,\n getSearchText,\n revealSelected = false,\n ...nodeProps\n}: TreeProps<T>) {\n const [internalExpandAll, setInternalExpandAll] = useState<boolean | null>(null);\n const [filterQuery, setFilterQuery] = useState(\"\");\n const basePaddingPx = nodeProps.basePaddingPx ?? 8;\n const isControlled = onExpandAllChange !== undefined;\n const expandAll = isControlled ? (controlledExpandAll ?? null) : internalExpandAll;\n const totalEdges = useMemo(\n () => countTreeEdges(roots, nodeProps.getChildren),\n [roots, nodeProps.getChildren],\n );\n const showFilter = totalEdges > 20;\n const activeFilter = showFilter ? filterQuery : \"\";\n const filteredTree = useMemo(\n () =>\n filterTreeRoots(\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ),\n [\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ],\n );\n const treeRoots = filteredTree.roots;\n const filteredChildren = filteredTree.filteredChildren;\n // Force-open the selected node's ancestors when revealSelected is set, unioned\n // with the filter's own forced-open keys. Recomputed when the selection moves\n // so the tree follows it without a remount.\n const revealKeys = useMemo(\n () =>\n revealSelected && nodeProps.selected\n ? ancestorPathKeys(roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected)\n : null,\n [revealSelected, roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected],\n );\n const forcedOpenKeys = useMemo(\n () => mergeKeySets(filteredTree.forcedOpenKeys, revealKeys),\n [filteredTree.forcedOpenKeys, revealKeys],\n );\n const effectiveGetChildren = filteredChildren\n ? (node: T) => filteredChildren.get(nodeProps.getKey(node)) ?? []\n : nodeProps.getChildren;\n const effectiveExpandAll = expandAll;\n const effectiveEmpty = activeFilter.trim() ? (\n <div className=\"px-3 py-4 text-sm text-muted-foreground\">No matching tree nodes.</div>\n ) : (\n empty\n );\n const showControlButtons = showControls && roots.length > 0;\n const showVirtualRow = showFilter || showControlButtons;\n const setExpandAll = (next: boolean | null) => {\n if (isControlled) onExpandAllChange?.(next);\n else setInternalExpandAll(next);\n };\n\n if (treeRoots.length === 0 && !showVirtualRow) return <>{effectiveEmpty ?? null}</>;\n\n return (\n <div className={cn(\"flex flex-col min-h-0\", className)}>\n <div\n role=\"tree\"\n aria-label={ariaLabel}\n className=\"min-h-0 flex-1 overflow-auto\"\n >\n {showVirtualRow && (\n <div\n role=\"presentation\"\n className={cn(\n \"sticky top-0 z-10 flex items-center gap-1.5 border-b border-border/70 bg-background/95 py-1 pr-2 text-sm backdrop-blur supports-[backdrop-filter]:bg-background/80\",\n toolbarClassName,\n )}\n style={{ paddingLeft: `${basePaddingPx}px` }}\n >\n {showFilter ? (\n <Icon icon={UiSearch} className=\"w-3 shrink-0 text-xs text-muted-foreground\" />\n ) : (\n <span className=\"w-3 shrink-0\" aria-hidden />\n )}\n\n {showFilter ? (\n <label className=\"flex min-w-0 flex-1 items-center gap-2 rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground shadow-sm\">\n <input\n type=\"search\"\n value={filterQuery}\n onChange={(event) => setFilterQuery(event.target.value)}\n placeholder=\"Filter tree\"\n className=\"h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-muted-foreground\"\n aria-label=\"Filter tree nodes\"\n />\n {filterQuery && (\n <button\n type=\"button\"\n onClick={() => setFilterQuery(\"\")}\n className=\"inline-flex items-center rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-accent-foreground\"\n aria-label=\"Clear tree filter\"\n title=\"Clear tree filter\"\n >\n <Icon icon={UiClose} className=\"text-xs\" />\n </button>\n )}\n </label>\n ) : (\n <span className=\"flex-1\" />\n )}\n\n {showControlButtons && (\n <div className=\"ml-auto flex items-center gap-1\">\n <button\n type=\"button\"\n onClick={() => setExpandAll(true)}\n aria-pressed={effectiveExpandAll === true}\n aria-label=\"Expand all\"\n title=\"Expand all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === true && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiExpandAll} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setExpandAll(false)}\n aria-pressed={effectiveExpandAll === false}\n aria-label=\"Collapse all\"\n title=\"Collapse all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === false && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiCollapseAll} className=\"text-sm\" />\n </button>\n </div>\n )}\n </div>\n )}\n\n {treeRoots.length === 0 ? (\n (effectiveEmpty ?? null)\n ) : (\n <>\n {treeRoots.map((root) => (\n <TreeNode<T>\n {...nodeProps}\n key={nodeProps.getKey(root)}\n node={root}\n expandAll={effectiveExpandAll}\n forcedOpenKeys={forcedOpenKeys}\n getChildren={effectiveGetChildren}\n />\n ))}\n </>\n )}\n </div>\n </div>\n );\n}\n"],"names":["useState","useMemo","jsx","Fragment","cn","jsxs","Icon","UiSearch","UiClose","UiExpandAll","UiCollapseAll","createElement","TreeNode"],"mappings":"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"}
1
+ {"version":3,"file":"Tree.cjs","sources":["../../src/data/Tree.tsx"],"sourcesContent":["import { useMemo, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"./Icon\";\nimport { UiClose, UiCollapseAll, UiExpandAll, UiSearch } from \"../icons\";\nimport { TreeNode, type TreeNodeProps } from \"./TreeNode\";\n\nexport type TreeProps<T> = Omit<\n TreeNodeProps<T>,\n \"node\" | \"depth\" | \"expandAll\" | \"forcedOpenKeys\"\n> & {\n /** Root nodes to render. */\n roots: T[];\n /** Empty-state content when no roots are provided. */\n empty?: ReactNode;\n /** Classes applied to the tree root. */\n className?: string;\n /** Accessible name applied to the tree root. */\n ariaLabel?: string;\n /**\n * Render the Expand all / Collapse all toolbar above the tree. Enabled by\n * default. Set to false to suppress when the tree is tiny or the controls\n * are owned externally.\n */\n showControls?: boolean;\n /**\n * Externally controlled expand-all state. When provided together with\n * `onExpandAllChange`, the tree is controlled; otherwise it manages the\n * toolbar state internally.\n */\n expandAll?: boolean | null;\n /** Called when the toolbar expand-all state changes. */\n onExpandAllChange?: (next: boolean | null) => void;\n /** Classes applied to the search/control toolbar. */\n toolbarClassName?: string;\n /**\n * Extra controls rendered in the toolbar's right-hand group, before Expand\n * all / Collapse all. Providing actions shows the toolbar even when the tree\n * is too small for the filter and `showControls` is off.\n */\n actions?: ReactNode;\n /**\n * Override the text the filter matches against for a given node.\n * Defaults to a recursive walk of the node's own fields (excluding\n * its `children` and any secondary children), which works for\n * plain-shape trees but leaks text from nested domain objects —\n * e.g. a SQL Table's Field rows are marked secondary, yet the\n * parent record still carries `record.fields[].field` strings that\n * the default walker would collect. Callers that need precise\n * control over search behaviour should return only the text they\n * want surfaced (the node's own display label / id / type).\n */\n getSearchText?: (node: T) => string;\n /**\n * Force-open the ancestors of the `selected` node so it is always revealed,\n * even when its branch was collapsed (a deep-link, a programmatic selection\n * from outside the tree, or simply a folder the user never opened). While a\n * node is selected its ancestors cannot be collapsed. Off by default; other\n * nodes keep their normal expand state. Requires `selected` to be set.\n */\n revealSelected?: boolean;\n};\n\n// ancestorPathKeys returns the keys of every ancestor on the path from a root\n// down to `target` (excluding target itself — opening the ancestors is what\n// makes target render). Matches by getKey so it is robust to object identity\n// across roots rebuilds. Returns null when target is not found.\nfunction ancestorPathKeys<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n target: T,\n): Set<string | number> | null {\n const targetKey = getKey(target);\n const path: (string | number)[] = [];\n const visit = (node: T): boolean => {\n if (getKey(node) === targetKey) return true;\n for (const child of getChildren(node) ?? []) {\n if (visit(child)) {\n path.push(getKey(node));\n return true;\n }\n }\n return false;\n };\n for (const root of roots) {\n if (visit(root)) return path.length ? new Set(path) : null;\n }\n return null;\n}\n\n// mergeKeySets unions two optional key sets, preserving the null fast-path when\n// both are empty so consumers without a filter or reveal pass null downstream.\nfunction mergeKeySets(\n a: Set<string | number> | null,\n b: Set<string | number> | null,\n): Set<string | number> | null {\n if (!a) return b;\n if (!b) return a;\n return new Set([...a, ...b]);\n}\n\n// Edge counting, search-text collection and filtering all walk the tree through\n// the synchronous `getChildren` only. A lazy node (one declared via\n// `hasMoreChildren` whose children have not been fetched yet) therefore\n// contributes no edges and no search text until the operator expands it — so it\n// is invisible to \"expand all\" and to the filter while still collapsed. This is\n// intentional: we never trigger network loads from bulk/search operations.\nfunction countTreeEdges<T>(roots: T[], getChildren: TreeProps<T>[\"getChildren\"]) {\n let total = 0;\n const stack = [...roots];\n\n while (stack.length > 0) {\n const node = stack.pop()!;\n const children = getChildren(node) ?? [];\n total += children.length;\n stack.push(...children);\n }\n\n return total;\n}\n\nfunction collectTreeSearchText(\n value: unknown,\n excluded = new Set<unknown>(),\n seen = new Set<unknown>(),\n): string {\n if (value == null || excluded.has(value)) return \"\";\n\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\"\n ) {\n return String(value);\n }\n\n if (typeof value !== \"object\") return \"\";\n if (seen.has(value)) return \"\";\n seen.add(value);\n\n if (Array.isArray(value)) {\n return value\n .map((entry) => collectTreeSearchText(entry, excluded, seen))\n .filter(Boolean)\n .join(\" \");\n }\n\n const preferredKeys = [\"label\", \"name\", \"title\", \"text\", \"plain\", \"id\", \"content\"];\n const record = value as Record<string, unknown>;\n const chunks: string[] = [];\n\n for (const key of preferredKeys) {\n if (!(key in record)) continue;\n const text = collectTreeSearchText(record[key], excluded, seen);\n if (text) chunks.push(text);\n }\n\n for (const [key, entry] of Object.entries(record)) {\n if (key === \"children\" || preferredKeys.includes(key)) continue;\n const text = collectTreeSearchText(entry, excluded, seen);\n if (text) chunks.push(text);\n }\n\n return chunks.join(\" \");\n}\n\nfunction nodeSearchText<T>(node: T, children: ReturnType<TreeProps<T>[\"getChildren\"]>) {\n const excluded = new Set<unknown>();\n if (children) excluded.add(children);\n return collectTreeSearchText(node, excluded).trim().toLowerCase();\n}\n\nfunction filterTreeRoots<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n query: string,\n isSecondary?: (node: T) => boolean,\n getSearchText?: (node: T) => string,\n) {\n const normalizedQuery = query.trim().toLowerCase();\n if (!normalizedQuery) {\n return {\n roots,\n filteredChildren: null as Map<string | number, T[]> | null,\n forcedOpenKeys: null as Set<string | number> | null,\n };\n }\n\n const filteredChildren = new Map<string | number, T[]>();\n const forcedOpenKeys = new Set<string | number>();\n\n function matchText(node: T, children: T[]): string {\n // Honour the caller-supplied text extractor first — it's the\n // only way to get precise control over what the filter sees when\n // the node carries domain data whose fields would otherwise leak\n // into the default walker.\n if (getSearchText) return getSearchText(node).trim().toLowerCase();\n // Match-text skips secondary children so e.g. a Table's search\n // text only draws from the Table itself, not from its Field\n // rows. The Table is primary, so its own text still counts.\n const searchChildren = children.filter((c) => !isSecondary?.(c));\n return nodeSearchText(node, searchChildren);\n }\n\n function visit(node: T): boolean {\n // A secondary node never drives a filter match — it's\n // effectively invisible to search. Still rendered when the\n // caller opens the parent manually. This is what lets a 28k-row\n // field tree stay searchable at the record level without \"field\n // name contains 'x'\" matches spamming the results.\n if (isSecondary?.(node)) return false;\n\n const key = getKey(node);\n const children = getChildren(node) ?? [];\n const childrenAllSecondary =\n children.length > 0 && children.every((child) => isSecondary?.(child));\n const matches = matchText(node, children).includes(normalizedQuery);\n const visibleChildren: T[] = [];\n\n for (const child of children) {\n if (visit(child)) visibleChildren.push(child);\n }\n\n if (matches) {\n if (children.length > 0) {\n filteredChildren.set(key, children);\n if (!childrenAllSecondary) forcedOpenKeys.add(key);\n }\n return true;\n }\n\n if (visibleChildren.length > 0) {\n filteredChildren.set(key, visibleChildren);\n forcedOpenKeys.add(key);\n return true;\n }\n\n return false;\n }\n\n return {\n roots: roots.filter((root) => visit(root)),\n filteredChildren,\n forcedOpenKeys,\n };\n}\n\nexport function Tree<T>({\n roots,\n empty,\n className,\n ariaLabel,\n showControls = true,\n expandAll: controlledExpandAll,\n onExpandAllChange,\n toolbarClassName,\n actions,\n getSearchText,\n revealSelected = false,\n ...nodeProps\n}: TreeProps<T>) {\n const [internalExpandAll, setInternalExpandAll] = useState<boolean | null>(null);\n const [filterQuery, setFilterQuery] = useState(\"\");\n const basePaddingPx = nodeProps.basePaddingPx ?? 8;\n const isControlled = onExpandAllChange !== undefined;\n const expandAll = isControlled ? (controlledExpandAll ?? null) : internalExpandAll;\n const totalEdges = useMemo(\n () => countTreeEdges(roots, nodeProps.getChildren),\n [roots, nodeProps.getChildren],\n );\n const showFilter = totalEdges > 20;\n const activeFilter = showFilter ? filterQuery : \"\";\n const filteredTree = useMemo(\n () =>\n filterTreeRoots(\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ),\n [\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ],\n );\n const treeRoots = filteredTree.roots;\n const filteredChildren = filteredTree.filteredChildren;\n // Force-open the selected node's ancestors when revealSelected is set, unioned\n // with the filter's own forced-open keys. Recomputed when the selection moves\n // so the tree follows it without a remount.\n const revealKeys = useMemo(\n () =>\n revealSelected && nodeProps.selected\n ? ancestorPathKeys(roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected)\n : null,\n [revealSelected, roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected],\n );\n const forcedOpenKeys = useMemo(\n () => mergeKeySets(filteredTree.forcedOpenKeys, revealKeys),\n [filteredTree.forcedOpenKeys, revealKeys],\n );\n const effectiveGetChildren = filteredChildren\n ? (node: T) => filteredChildren.get(nodeProps.getKey(node)) ?? []\n : nodeProps.getChildren;\n const effectiveExpandAll = expandAll;\n const effectiveEmpty = activeFilter.trim() ? (\n <div className=\"px-3 py-4 text-sm text-muted-foreground\">No matching tree nodes.</div>\n ) : (\n empty\n );\n const showControlButtons = showControls && roots.length > 0;\n const showVirtualRow = showFilter || showControlButtons || actions != null;\n const setExpandAll = (next: boolean | null) => {\n if (isControlled) onExpandAllChange?.(next);\n else setInternalExpandAll(next);\n };\n\n if (treeRoots.length === 0 && !showVirtualRow) return <>{effectiveEmpty ?? null}</>;\n\n return (\n <div className={cn(\"flex flex-col min-h-0\", className)}>\n <div\n role=\"tree\"\n aria-label={ariaLabel}\n className=\"min-h-0 flex-1 overflow-auto\"\n >\n {showVirtualRow && (\n <div\n role=\"presentation\"\n className={cn(\n \"sticky top-0 z-10 flex items-center gap-1.5 border-b border-border/70 bg-background/95 py-1 pr-2 text-sm backdrop-blur supports-[backdrop-filter]:bg-background/80\",\n toolbarClassName,\n )}\n style={{ paddingLeft: `${basePaddingPx}px` }}\n >\n {showFilter ? (\n <Icon icon={UiSearch} className=\"w-3 shrink-0 text-xs text-muted-foreground\" />\n ) : (\n <span className=\"w-3 shrink-0\" aria-hidden />\n )}\n\n {showFilter ? (\n <label className=\"flex min-w-0 flex-1 items-center gap-2 rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground shadow-sm\">\n <input\n type=\"search\"\n value={filterQuery}\n onChange={(event) => setFilterQuery(event.target.value)}\n placeholder=\"Filter tree\"\n className=\"h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-placeholder\"\n aria-label=\"Filter tree nodes\"\n />\n {filterQuery && (\n <button\n type=\"button\"\n onClick={() => setFilterQuery(\"\")}\n className=\"inline-flex items-center rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-accent-foreground\"\n aria-label=\"Clear tree filter\"\n title=\"Clear tree filter\"\n >\n <Icon icon={UiClose} className=\"text-xs\" />\n </button>\n )}\n </label>\n ) : (\n <span className=\"flex-1\" />\n )}\n\n {(showControlButtons || actions != null) && (\n <div className=\"ml-auto flex items-center gap-1\">\n {actions}\n {showControlButtons && (\n <>\n <button\n type=\"button\"\n onClick={() => setExpandAll(true)}\n aria-pressed={effectiveExpandAll === true}\n aria-label=\"Expand all\"\n title=\"Expand all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === true && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiExpandAll} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setExpandAll(false)}\n aria-pressed={effectiveExpandAll === false}\n aria-label=\"Collapse all\"\n title=\"Collapse all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === false && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiCollapseAll} className=\"text-sm\" />\n </button>\n </>\n )}\n </div>\n )}\n </div>\n )}\n\n {treeRoots.length === 0 ? (\n (effectiveEmpty ?? null)\n ) : (\n <>\n {treeRoots.map((root) => (\n <TreeNode<T>\n {...nodeProps}\n key={nodeProps.getKey(root)}\n node={root}\n expandAll={effectiveExpandAll}\n forcedOpenKeys={forcedOpenKeys}\n getChildren={effectiveGetChildren}\n />\n ))}\n </>\n )}\n </div>\n </div>\n );\n}\n"],"names":["useState","useMemo","jsx","Fragment","cn","jsxs","Icon","UiSearch","UiClose","UiExpandAll","UiCollapseAll","createElement","TreeNode"],"mappings":"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"}
@@ -25,6 +25,12 @@ export type TreeProps<T> = Omit<TreeNodeProps<T>, "node" | "depth" | "expandAll"
25
25
  onExpandAllChange?: (next: boolean | null) => void;
26
26
  /** Classes applied to the search/control toolbar. */
27
27
  toolbarClassName?: string;
28
+ /**
29
+ * Extra controls rendered in the toolbar's right-hand group, before Expand
30
+ * all / Collapse all. Providing actions shows the toolbar even when the tree
31
+ * is too small for the filter and `showControls` is off.
32
+ */
33
+ actions?: ReactNode;
28
34
  /**
29
35
  * Override the text the filter matches against for a given node.
30
36
  * Defaults to a recursive walk of the node's own fields (excluding
@@ -46,5 +52,5 @@ export type TreeProps<T> = Omit<TreeNodeProps<T>, "node" | "depth" | "expandAll"
46
52
  */
47
53
  revealSelected?: boolean;
48
54
  };
49
- export declare function Tree<T>({ roots, empty, className, ariaLabel, showControls, expandAll: controlledExpandAll, onExpandAllChange, toolbarClassName, getSearchText, revealSelected, ...nodeProps }: TreeProps<T>): import("react/jsx-runtime").JSX.Element;
55
+ export declare function Tree<T>({ roots, empty, className, ariaLabel, showControls, expandAll: controlledExpandAll, onExpandAllChange, toolbarClassName, actions, getSearchText, revealSelected, ...nodeProps }: TreeProps<T>): import("react/jsx-runtime").JSX.Element;
50
56
  //# sourceMappingURL=Tree.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../src/data/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,IAAI,CAC7B,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,gBAAgB,CAClD,GAAG;IACF,4BAA4B;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AA6LF,wBAAgB,IAAI,CAAC,CAAC,EAAE,EACtB,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAmB,EACnB,SAAS,EAAE,mBAAmB,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,cAAsB,EACtB,GAAG,SAAS,EACb,EAAE,SAAS,CAAC,CAAC,CAAC,2CAuKd"}
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../src/data/Tree.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI1D,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,IAAI,CAC7B,aAAa,CAAC,CAAC,CAAC,EAChB,MAAM,GAAG,OAAO,GAAG,WAAW,GAAG,gBAAgB,CAClD,GAAG;IACF,4BAA4B;IAC5B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,sDAAsD;IACtD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,wDAAwD;IACxD,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AA6LF,wBAAgB,IAAI,CAAC,CAAC,EAAE,EACtB,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,YAAmB,EACnB,SAAS,EAAE,mBAAmB,EAC9B,iBAAiB,EACjB,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,cAAsB,EACtB,GAAG,SAAS,EACb,EAAE,SAAS,CAAC,CAAC,CAAC,2CA4Kd"}
package/dist/data/Tree.js CHANGED
@@ -127,6 +127,7 @@ function Tree({
127
127
  expandAll: controlledExpandAll,
128
128
  onExpandAllChange,
129
129
  toolbarClassName,
130
+ actions,
130
131
  getSearchText,
131
132
  revealSelected = false,
132
133
  ...nodeProps
@@ -174,7 +175,7 @@ function Tree({
174
175
  const effectiveExpandAll = expandAll;
175
176
  const effectiveEmpty = activeFilter.trim() ? /* @__PURE__ */ jsx("div", { className: "px-3 py-4 text-sm text-muted-foreground", children: "No matching tree nodes." }) : empty;
176
177
  const showControlButtons = showControls && roots.length > 0;
177
- const showVirtualRow = showFilter || showControlButtons;
178
+ const showVirtualRow = showFilter || showControlButtons || actions != null;
178
179
  const setExpandAll = (next) => {
179
180
  if (isControlled) onExpandAllChange == null ? void 0 : onExpandAllChange(next);
180
181
  else setInternalExpandAll(next);
@@ -206,7 +207,7 @@ function Tree({
206
207
  value: filterQuery,
207
208
  onChange: (event) => setFilterQuery(event.target.value),
208
209
  placeholder: "Filter tree",
209
- className: "h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-muted-foreground",
210
+ className: "h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-placeholder",
210
211
  "aria-label": "Filter tree nodes"
211
212
  }
212
213
  ),
@@ -222,39 +223,42 @@ function Tree({
222
223
  }
223
224
  )
224
225
  ] }) : /* @__PURE__ */ jsx("span", { className: "flex-1" }),
225
- showControlButtons && /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-1", children: [
226
- /* @__PURE__ */ jsx(
227
- "button",
228
- {
229
- type: "button",
230
- onClick: () => setExpandAll(true),
231
- "aria-pressed": effectiveExpandAll === true,
232
- "aria-label": "Expand all",
233
- title: "Expand all",
234
- disabled: activeFilter.trim().length > 0,
235
- className: cn(
236
- "inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50",
237
- effectiveExpandAll === true && "bg-accent text-accent-foreground"
238
- ),
239
- children: /* @__PURE__ */ jsx(Icon, { icon: UiExpandAll, className: "text-sm" })
240
- }
241
- ),
242
- /* @__PURE__ */ jsx(
243
- "button",
244
- {
245
- type: "button",
246
- onClick: () => setExpandAll(false),
247
- "aria-pressed": effectiveExpandAll === false,
248
- "aria-label": "Collapse all",
249
- title: "Collapse all",
250
- disabled: activeFilter.trim().length > 0,
251
- className: cn(
252
- "inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50",
253
- effectiveExpandAll === false && "bg-accent text-accent-foreground"
254
- ),
255
- children: /* @__PURE__ */ jsx(Icon, { icon: UiCollapseAll, className: "text-sm" })
256
- }
257
- )
226
+ (showControlButtons || actions != null) && /* @__PURE__ */ jsxs("div", { className: "ml-auto flex items-center gap-1", children: [
227
+ actions,
228
+ showControlButtons && /* @__PURE__ */ jsxs(Fragment, { children: [
229
+ /* @__PURE__ */ jsx(
230
+ "button",
231
+ {
232
+ type: "button",
233
+ onClick: () => setExpandAll(true),
234
+ "aria-pressed": effectiveExpandAll === true,
235
+ "aria-label": "Expand all",
236
+ title: "Expand all",
237
+ disabled: activeFilter.trim().length > 0,
238
+ className: cn(
239
+ "inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50",
240
+ effectiveExpandAll === true && "bg-accent text-accent-foreground"
241
+ ),
242
+ children: /* @__PURE__ */ jsx(Icon, { icon: UiExpandAll, className: "text-sm" })
243
+ }
244
+ ),
245
+ /* @__PURE__ */ jsx(
246
+ "button",
247
+ {
248
+ type: "button",
249
+ onClick: () => setExpandAll(false),
250
+ "aria-pressed": effectiveExpandAll === false,
251
+ "aria-label": "Collapse all",
252
+ title: "Collapse all",
253
+ disabled: activeFilter.trim().length > 0,
254
+ className: cn(
255
+ "inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50",
256
+ effectiveExpandAll === false && "bg-accent text-accent-foreground"
257
+ ),
258
+ children: /* @__PURE__ */ jsx(Icon, { icon: UiCollapseAll, className: "text-sm" })
259
+ }
260
+ )
261
+ ] })
258
262
  ] })
259
263
  ]
260
264
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tree.js","sources":["../../src/data/Tree.tsx"],"sourcesContent":["import { useMemo, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"./Icon\";\nimport { UiClose, UiCollapseAll, UiExpandAll, UiSearch } from \"../icons\";\nimport { TreeNode, type TreeNodeProps } from \"./TreeNode\";\n\nexport type TreeProps<T> = Omit<\n TreeNodeProps<T>,\n \"node\" | \"depth\" | \"expandAll\" | \"forcedOpenKeys\"\n> & {\n /** Root nodes to render. */\n roots: T[];\n /** Empty-state content when no roots are provided. */\n empty?: ReactNode;\n /** Classes applied to the tree root. */\n className?: string;\n /** Accessible name applied to the tree root. */\n ariaLabel?: string;\n /**\n * Render the Expand all / Collapse all toolbar above the tree. Enabled by\n * default. Set to false to suppress when the tree is tiny or the controls\n * are owned externally.\n */\n showControls?: boolean;\n /**\n * Externally controlled expand-all state. When provided together with\n * `onExpandAllChange`, the tree is controlled; otherwise it manages the\n * toolbar state internally.\n */\n expandAll?: boolean | null;\n /** Called when the toolbar expand-all state changes. */\n onExpandAllChange?: (next: boolean | null) => void;\n /** Classes applied to the search/control toolbar. */\n toolbarClassName?: string;\n /**\n * Override the text the filter matches against for a given node.\n * Defaults to a recursive walk of the node's own fields (excluding\n * its `children` and any secondary children), which works for\n * plain-shape trees but leaks text from nested domain objects —\n * e.g. a SQL Table's Field rows are marked secondary, yet the\n * parent record still carries `record.fields[].field` strings that\n * the default walker would collect. Callers that need precise\n * control over search behaviour should return only the text they\n * want surfaced (the node's own display label / id / type).\n */\n getSearchText?: (node: T) => string;\n /**\n * Force-open the ancestors of the `selected` node so it is always revealed,\n * even when its branch was collapsed (a deep-link, a programmatic selection\n * from outside the tree, or simply a folder the user never opened). While a\n * node is selected its ancestors cannot be collapsed. Off by default; other\n * nodes keep their normal expand state. Requires `selected` to be set.\n */\n revealSelected?: boolean;\n};\n\n// ancestorPathKeys returns the keys of every ancestor on the path from a root\n// down to `target` (excluding target itself — opening the ancestors is what\n// makes target render). Matches by getKey so it is robust to object identity\n// across roots rebuilds. Returns null when target is not found.\nfunction ancestorPathKeys<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n target: T,\n): Set<string | number> | null {\n const targetKey = getKey(target);\n const path: (string | number)[] = [];\n const visit = (node: T): boolean => {\n if (getKey(node) === targetKey) return true;\n for (const child of getChildren(node) ?? []) {\n if (visit(child)) {\n path.push(getKey(node));\n return true;\n }\n }\n return false;\n };\n for (const root of roots) {\n if (visit(root)) return path.length ? new Set(path) : null;\n }\n return null;\n}\n\n// mergeKeySets unions two optional key sets, preserving the null fast-path when\n// both are empty so consumers without a filter or reveal pass null downstream.\nfunction mergeKeySets(\n a: Set<string | number> | null,\n b: Set<string | number> | null,\n): Set<string | number> | null {\n if (!a) return b;\n if (!b) return a;\n return new Set([...a, ...b]);\n}\n\n// Edge counting, search-text collection and filtering all walk the tree through\n// the synchronous `getChildren` only. A lazy node (one declared via\n// `hasMoreChildren` whose children have not been fetched yet) therefore\n// contributes no edges and no search text until the operator expands it — so it\n// is invisible to \"expand all\" and to the filter while still collapsed. This is\n// intentional: we never trigger network loads from bulk/search operations.\nfunction countTreeEdges<T>(roots: T[], getChildren: TreeProps<T>[\"getChildren\"]) {\n let total = 0;\n const stack = [...roots];\n\n while (stack.length > 0) {\n const node = stack.pop()!;\n const children = getChildren(node) ?? [];\n total += children.length;\n stack.push(...children);\n }\n\n return total;\n}\n\nfunction collectTreeSearchText(\n value: unknown,\n excluded = new Set<unknown>(),\n seen = new Set<unknown>(),\n): string {\n if (value == null || excluded.has(value)) return \"\";\n\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\"\n ) {\n return String(value);\n }\n\n if (typeof value !== \"object\") return \"\";\n if (seen.has(value)) return \"\";\n seen.add(value);\n\n if (Array.isArray(value)) {\n return value\n .map((entry) => collectTreeSearchText(entry, excluded, seen))\n .filter(Boolean)\n .join(\" \");\n }\n\n const preferredKeys = [\"label\", \"name\", \"title\", \"text\", \"plain\", \"id\", \"content\"];\n const record = value as Record<string, unknown>;\n const chunks: string[] = [];\n\n for (const key of preferredKeys) {\n if (!(key in record)) continue;\n const text = collectTreeSearchText(record[key], excluded, seen);\n if (text) chunks.push(text);\n }\n\n for (const [key, entry] of Object.entries(record)) {\n if (key === \"children\" || preferredKeys.includes(key)) continue;\n const text = collectTreeSearchText(entry, excluded, seen);\n if (text) chunks.push(text);\n }\n\n return chunks.join(\" \");\n}\n\nfunction nodeSearchText<T>(node: T, children: ReturnType<TreeProps<T>[\"getChildren\"]>) {\n const excluded = new Set<unknown>();\n if (children) excluded.add(children);\n return collectTreeSearchText(node, excluded).trim().toLowerCase();\n}\n\nfunction filterTreeRoots<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n query: string,\n isSecondary?: (node: T) => boolean,\n getSearchText?: (node: T) => string,\n) {\n const normalizedQuery = query.trim().toLowerCase();\n if (!normalizedQuery) {\n return {\n roots,\n filteredChildren: null as Map<string | number, T[]> | null,\n forcedOpenKeys: null as Set<string | number> | null,\n };\n }\n\n const filteredChildren = new Map<string | number, T[]>();\n const forcedOpenKeys = new Set<string | number>();\n\n function matchText(node: T, children: T[]): string {\n // Honour the caller-supplied text extractor first — it's the\n // only way to get precise control over what the filter sees when\n // the node carries domain data whose fields would otherwise leak\n // into the default walker.\n if (getSearchText) return getSearchText(node).trim().toLowerCase();\n // Match-text skips secondary children so e.g. a Table's search\n // text only draws from the Table itself, not from its Field\n // rows. The Table is primary, so its own text still counts.\n const searchChildren = children.filter((c) => !isSecondary?.(c));\n return nodeSearchText(node, searchChildren);\n }\n\n function visit(node: T): boolean {\n // A secondary node never drives a filter match — it's\n // effectively invisible to search. Still rendered when the\n // caller opens the parent manually. This is what lets a 28k-row\n // field tree stay searchable at the record level without \"field\n // name contains 'x'\" matches spamming the results.\n if (isSecondary?.(node)) return false;\n\n const key = getKey(node);\n const children = getChildren(node) ?? [];\n const childrenAllSecondary =\n children.length > 0 && children.every((child) => isSecondary?.(child));\n const matches = matchText(node, children).includes(normalizedQuery);\n const visibleChildren: T[] = [];\n\n for (const child of children) {\n if (visit(child)) visibleChildren.push(child);\n }\n\n if (matches) {\n if (children.length > 0) {\n filteredChildren.set(key, children);\n if (!childrenAllSecondary) forcedOpenKeys.add(key);\n }\n return true;\n }\n\n if (visibleChildren.length > 0) {\n filteredChildren.set(key, visibleChildren);\n forcedOpenKeys.add(key);\n return true;\n }\n\n return false;\n }\n\n return {\n roots: roots.filter((root) => visit(root)),\n filteredChildren,\n forcedOpenKeys,\n };\n}\n\nexport function Tree<T>({\n roots,\n empty,\n className,\n ariaLabel,\n showControls = true,\n expandAll: controlledExpandAll,\n onExpandAllChange,\n toolbarClassName,\n getSearchText,\n revealSelected = false,\n ...nodeProps\n}: TreeProps<T>) {\n const [internalExpandAll, setInternalExpandAll] = useState<boolean | null>(null);\n const [filterQuery, setFilterQuery] = useState(\"\");\n const basePaddingPx = nodeProps.basePaddingPx ?? 8;\n const isControlled = onExpandAllChange !== undefined;\n const expandAll = isControlled ? (controlledExpandAll ?? null) : internalExpandAll;\n const totalEdges = useMemo(\n () => countTreeEdges(roots, nodeProps.getChildren),\n [roots, nodeProps.getChildren],\n );\n const showFilter = totalEdges > 20;\n const activeFilter = showFilter ? filterQuery : \"\";\n const filteredTree = useMemo(\n () =>\n filterTreeRoots(\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ),\n [\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ],\n );\n const treeRoots = filteredTree.roots;\n const filteredChildren = filteredTree.filteredChildren;\n // Force-open the selected node's ancestors when revealSelected is set, unioned\n // with the filter's own forced-open keys. Recomputed when the selection moves\n // so the tree follows it without a remount.\n const revealKeys = useMemo(\n () =>\n revealSelected && nodeProps.selected\n ? ancestorPathKeys(roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected)\n : null,\n [revealSelected, roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected],\n );\n const forcedOpenKeys = useMemo(\n () => mergeKeySets(filteredTree.forcedOpenKeys, revealKeys),\n [filteredTree.forcedOpenKeys, revealKeys],\n );\n const effectiveGetChildren = filteredChildren\n ? (node: T) => filteredChildren.get(nodeProps.getKey(node)) ?? []\n : nodeProps.getChildren;\n const effectiveExpandAll = expandAll;\n const effectiveEmpty = activeFilter.trim() ? (\n <div className=\"px-3 py-4 text-sm text-muted-foreground\">No matching tree nodes.</div>\n ) : (\n empty\n );\n const showControlButtons = showControls && roots.length > 0;\n const showVirtualRow = showFilter || showControlButtons;\n const setExpandAll = (next: boolean | null) => {\n if (isControlled) onExpandAllChange?.(next);\n else setInternalExpandAll(next);\n };\n\n if (treeRoots.length === 0 && !showVirtualRow) return <>{effectiveEmpty ?? null}</>;\n\n return (\n <div className={cn(\"flex flex-col min-h-0\", className)}>\n <div\n role=\"tree\"\n aria-label={ariaLabel}\n className=\"min-h-0 flex-1 overflow-auto\"\n >\n {showVirtualRow && (\n <div\n role=\"presentation\"\n className={cn(\n \"sticky top-0 z-10 flex items-center gap-1.5 border-b border-border/70 bg-background/95 py-1 pr-2 text-sm backdrop-blur supports-[backdrop-filter]:bg-background/80\",\n toolbarClassName,\n )}\n style={{ paddingLeft: `${basePaddingPx}px` }}\n >\n {showFilter ? (\n <Icon icon={UiSearch} className=\"w-3 shrink-0 text-xs text-muted-foreground\" />\n ) : (\n <span className=\"w-3 shrink-0\" aria-hidden />\n )}\n\n {showFilter ? (\n <label className=\"flex min-w-0 flex-1 items-center gap-2 rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground shadow-sm\">\n <input\n type=\"search\"\n value={filterQuery}\n onChange={(event) => setFilterQuery(event.target.value)}\n placeholder=\"Filter tree\"\n className=\"h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-muted-foreground\"\n aria-label=\"Filter tree nodes\"\n />\n {filterQuery && (\n <button\n type=\"button\"\n onClick={() => setFilterQuery(\"\")}\n className=\"inline-flex items-center rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-accent-foreground\"\n aria-label=\"Clear tree filter\"\n title=\"Clear tree filter\"\n >\n <Icon icon={UiClose} className=\"text-xs\" />\n </button>\n )}\n </label>\n ) : (\n <span className=\"flex-1\" />\n )}\n\n {showControlButtons && (\n <div className=\"ml-auto flex items-center gap-1\">\n <button\n type=\"button\"\n onClick={() => setExpandAll(true)}\n aria-pressed={effectiveExpandAll === true}\n aria-label=\"Expand all\"\n title=\"Expand all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === true && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiExpandAll} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setExpandAll(false)}\n aria-pressed={effectiveExpandAll === false}\n aria-label=\"Collapse all\"\n title=\"Collapse all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === false && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiCollapseAll} className=\"text-sm\" />\n </button>\n </div>\n )}\n </div>\n )}\n\n {treeRoots.length === 0 ? (\n (effectiveEmpty ?? null)\n ) : (\n <>\n {treeRoots.map((root) => (\n <TreeNode<T>\n {...nodeProps}\n key={nodeProps.getKey(root)}\n node={root}\n expandAll={effectiveExpandAll}\n forcedOpenKeys={forcedOpenKeys}\n getChildren={effectiveGetChildren}\n />\n ))}\n </>\n )}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Tree.js","sources":["../../src/data/Tree.tsx"],"sourcesContent":["import { useMemo, useState, type ReactNode } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon } from \"./Icon\";\nimport { UiClose, UiCollapseAll, UiExpandAll, UiSearch } from \"../icons\";\nimport { TreeNode, type TreeNodeProps } from \"./TreeNode\";\n\nexport type TreeProps<T> = Omit<\n TreeNodeProps<T>,\n \"node\" | \"depth\" | \"expandAll\" | \"forcedOpenKeys\"\n> & {\n /** Root nodes to render. */\n roots: T[];\n /** Empty-state content when no roots are provided. */\n empty?: ReactNode;\n /** Classes applied to the tree root. */\n className?: string;\n /** Accessible name applied to the tree root. */\n ariaLabel?: string;\n /**\n * Render the Expand all / Collapse all toolbar above the tree. Enabled by\n * default. Set to false to suppress when the tree is tiny or the controls\n * are owned externally.\n */\n showControls?: boolean;\n /**\n * Externally controlled expand-all state. When provided together with\n * `onExpandAllChange`, the tree is controlled; otherwise it manages the\n * toolbar state internally.\n */\n expandAll?: boolean | null;\n /** Called when the toolbar expand-all state changes. */\n onExpandAllChange?: (next: boolean | null) => void;\n /** Classes applied to the search/control toolbar. */\n toolbarClassName?: string;\n /**\n * Extra controls rendered in the toolbar's right-hand group, before Expand\n * all / Collapse all. Providing actions shows the toolbar even when the tree\n * is too small for the filter and `showControls` is off.\n */\n actions?: ReactNode;\n /**\n * Override the text the filter matches against for a given node.\n * Defaults to a recursive walk of the node's own fields (excluding\n * its `children` and any secondary children), which works for\n * plain-shape trees but leaks text from nested domain objects —\n * e.g. a SQL Table's Field rows are marked secondary, yet the\n * parent record still carries `record.fields[].field` strings that\n * the default walker would collect. Callers that need precise\n * control over search behaviour should return only the text they\n * want surfaced (the node's own display label / id / type).\n */\n getSearchText?: (node: T) => string;\n /**\n * Force-open the ancestors of the `selected` node so it is always revealed,\n * even when its branch was collapsed (a deep-link, a programmatic selection\n * from outside the tree, or simply a folder the user never opened). While a\n * node is selected its ancestors cannot be collapsed. Off by default; other\n * nodes keep their normal expand state. Requires `selected` to be set.\n */\n revealSelected?: boolean;\n};\n\n// ancestorPathKeys returns the keys of every ancestor on the path from a root\n// down to `target` (excluding target itself — opening the ancestors is what\n// makes target render). Matches by getKey so it is robust to object identity\n// across roots rebuilds. Returns null when target is not found.\nfunction ancestorPathKeys<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n target: T,\n): Set<string | number> | null {\n const targetKey = getKey(target);\n const path: (string | number)[] = [];\n const visit = (node: T): boolean => {\n if (getKey(node) === targetKey) return true;\n for (const child of getChildren(node) ?? []) {\n if (visit(child)) {\n path.push(getKey(node));\n return true;\n }\n }\n return false;\n };\n for (const root of roots) {\n if (visit(root)) return path.length ? new Set(path) : null;\n }\n return null;\n}\n\n// mergeKeySets unions two optional key sets, preserving the null fast-path when\n// both are empty so consumers without a filter or reveal pass null downstream.\nfunction mergeKeySets(\n a: Set<string | number> | null,\n b: Set<string | number> | null,\n): Set<string | number> | null {\n if (!a) return b;\n if (!b) return a;\n return new Set([...a, ...b]);\n}\n\n// Edge counting, search-text collection and filtering all walk the tree through\n// the synchronous `getChildren` only. A lazy node (one declared via\n// `hasMoreChildren` whose children have not been fetched yet) therefore\n// contributes no edges and no search text until the operator expands it — so it\n// is invisible to \"expand all\" and to the filter while still collapsed. This is\n// intentional: we never trigger network loads from bulk/search operations.\nfunction countTreeEdges<T>(roots: T[], getChildren: TreeProps<T>[\"getChildren\"]) {\n let total = 0;\n const stack = [...roots];\n\n while (stack.length > 0) {\n const node = stack.pop()!;\n const children = getChildren(node) ?? [];\n total += children.length;\n stack.push(...children);\n }\n\n return total;\n}\n\nfunction collectTreeSearchText(\n value: unknown,\n excluded = new Set<unknown>(),\n seen = new Set<unknown>(),\n): string {\n if (value == null || excluded.has(value)) return \"\";\n\n if (\n typeof value === \"string\" ||\n typeof value === \"number\" ||\n typeof value === \"boolean\" ||\n typeof value === \"bigint\"\n ) {\n return String(value);\n }\n\n if (typeof value !== \"object\") return \"\";\n if (seen.has(value)) return \"\";\n seen.add(value);\n\n if (Array.isArray(value)) {\n return value\n .map((entry) => collectTreeSearchText(entry, excluded, seen))\n .filter(Boolean)\n .join(\" \");\n }\n\n const preferredKeys = [\"label\", \"name\", \"title\", \"text\", \"plain\", \"id\", \"content\"];\n const record = value as Record<string, unknown>;\n const chunks: string[] = [];\n\n for (const key of preferredKeys) {\n if (!(key in record)) continue;\n const text = collectTreeSearchText(record[key], excluded, seen);\n if (text) chunks.push(text);\n }\n\n for (const [key, entry] of Object.entries(record)) {\n if (key === \"children\" || preferredKeys.includes(key)) continue;\n const text = collectTreeSearchText(entry, excluded, seen);\n if (text) chunks.push(text);\n }\n\n return chunks.join(\" \");\n}\n\nfunction nodeSearchText<T>(node: T, children: ReturnType<TreeProps<T>[\"getChildren\"]>) {\n const excluded = new Set<unknown>();\n if (children) excluded.add(children);\n return collectTreeSearchText(node, excluded).trim().toLowerCase();\n}\n\nfunction filterTreeRoots<T>(\n roots: T[],\n getChildren: TreeProps<T>[\"getChildren\"],\n getKey: TreeProps<T>[\"getKey\"],\n query: string,\n isSecondary?: (node: T) => boolean,\n getSearchText?: (node: T) => string,\n) {\n const normalizedQuery = query.trim().toLowerCase();\n if (!normalizedQuery) {\n return {\n roots,\n filteredChildren: null as Map<string | number, T[]> | null,\n forcedOpenKeys: null as Set<string | number> | null,\n };\n }\n\n const filteredChildren = new Map<string | number, T[]>();\n const forcedOpenKeys = new Set<string | number>();\n\n function matchText(node: T, children: T[]): string {\n // Honour the caller-supplied text extractor first — it's the\n // only way to get precise control over what the filter sees when\n // the node carries domain data whose fields would otherwise leak\n // into the default walker.\n if (getSearchText) return getSearchText(node).trim().toLowerCase();\n // Match-text skips secondary children so e.g. a Table's search\n // text only draws from the Table itself, not from its Field\n // rows. The Table is primary, so its own text still counts.\n const searchChildren = children.filter((c) => !isSecondary?.(c));\n return nodeSearchText(node, searchChildren);\n }\n\n function visit(node: T): boolean {\n // A secondary node never drives a filter match — it's\n // effectively invisible to search. Still rendered when the\n // caller opens the parent manually. This is what lets a 28k-row\n // field tree stay searchable at the record level without \"field\n // name contains 'x'\" matches spamming the results.\n if (isSecondary?.(node)) return false;\n\n const key = getKey(node);\n const children = getChildren(node) ?? [];\n const childrenAllSecondary =\n children.length > 0 && children.every((child) => isSecondary?.(child));\n const matches = matchText(node, children).includes(normalizedQuery);\n const visibleChildren: T[] = [];\n\n for (const child of children) {\n if (visit(child)) visibleChildren.push(child);\n }\n\n if (matches) {\n if (children.length > 0) {\n filteredChildren.set(key, children);\n if (!childrenAllSecondary) forcedOpenKeys.add(key);\n }\n return true;\n }\n\n if (visibleChildren.length > 0) {\n filteredChildren.set(key, visibleChildren);\n forcedOpenKeys.add(key);\n return true;\n }\n\n return false;\n }\n\n return {\n roots: roots.filter((root) => visit(root)),\n filteredChildren,\n forcedOpenKeys,\n };\n}\n\nexport function Tree<T>({\n roots,\n empty,\n className,\n ariaLabel,\n showControls = true,\n expandAll: controlledExpandAll,\n onExpandAllChange,\n toolbarClassName,\n actions,\n getSearchText,\n revealSelected = false,\n ...nodeProps\n}: TreeProps<T>) {\n const [internalExpandAll, setInternalExpandAll] = useState<boolean | null>(null);\n const [filterQuery, setFilterQuery] = useState(\"\");\n const basePaddingPx = nodeProps.basePaddingPx ?? 8;\n const isControlled = onExpandAllChange !== undefined;\n const expandAll = isControlled ? (controlledExpandAll ?? null) : internalExpandAll;\n const totalEdges = useMemo(\n () => countTreeEdges(roots, nodeProps.getChildren),\n [roots, nodeProps.getChildren],\n );\n const showFilter = totalEdges > 20;\n const activeFilter = showFilter ? filterQuery : \"\";\n const filteredTree = useMemo(\n () =>\n filterTreeRoots(\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ),\n [\n roots,\n nodeProps.getChildren,\n nodeProps.getKey,\n activeFilter,\n nodeProps.isSecondary,\n getSearchText,\n ],\n );\n const treeRoots = filteredTree.roots;\n const filteredChildren = filteredTree.filteredChildren;\n // Force-open the selected node's ancestors when revealSelected is set, unioned\n // with the filter's own forced-open keys. Recomputed when the selection moves\n // so the tree follows it without a remount.\n const revealKeys = useMemo(\n () =>\n revealSelected && nodeProps.selected\n ? ancestorPathKeys(roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected)\n : null,\n [revealSelected, roots, nodeProps.getChildren, nodeProps.getKey, nodeProps.selected],\n );\n const forcedOpenKeys = useMemo(\n () => mergeKeySets(filteredTree.forcedOpenKeys, revealKeys),\n [filteredTree.forcedOpenKeys, revealKeys],\n );\n const effectiveGetChildren = filteredChildren\n ? (node: T) => filteredChildren.get(nodeProps.getKey(node)) ?? []\n : nodeProps.getChildren;\n const effectiveExpandAll = expandAll;\n const effectiveEmpty = activeFilter.trim() ? (\n <div className=\"px-3 py-4 text-sm text-muted-foreground\">No matching tree nodes.</div>\n ) : (\n empty\n );\n const showControlButtons = showControls && roots.length > 0;\n const showVirtualRow = showFilter || showControlButtons || actions != null;\n const setExpandAll = (next: boolean | null) => {\n if (isControlled) onExpandAllChange?.(next);\n else setInternalExpandAll(next);\n };\n\n if (treeRoots.length === 0 && !showVirtualRow) return <>{effectiveEmpty ?? null}</>;\n\n return (\n <div className={cn(\"flex flex-col min-h-0\", className)}>\n <div\n role=\"tree\"\n aria-label={ariaLabel}\n className=\"min-h-0 flex-1 overflow-auto\"\n >\n {showVirtualRow && (\n <div\n role=\"presentation\"\n className={cn(\n \"sticky top-0 z-10 flex items-center gap-1.5 border-b border-border/70 bg-background/95 py-1 pr-2 text-sm backdrop-blur supports-[backdrop-filter]:bg-background/80\",\n toolbarClassName,\n )}\n style={{ paddingLeft: `${basePaddingPx}px` }}\n >\n {showFilter ? (\n <Icon icon={UiSearch} className=\"w-3 shrink-0 text-xs text-muted-foreground\" />\n ) : (\n <span className=\"w-3 shrink-0\" aria-hidden />\n )}\n\n {showFilter ? (\n <label className=\"flex min-w-0 flex-1 items-center gap-2 rounded-md border border-border bg-background px-2 py-1 text-xs text-foreground shadow-sm\">\n <input\n type=\"search\"\n value={filterQuery}\n onChange={(event) => setFilterQuery(event.target.value)}\n placeholder=\"Filter tree\"\n className=\"h-5 w-full min-w-0 border-0 bg-transparent p-0 text-xs outline-none placeholder:text-placeholder\"\n aria-label=\"Filter tree nodes\"\n />\n {filterQuery && (\n <button\n type=\"button\"\n onClick={() => setFilterQuery(\"\")}\n className=\"inline-flex items-center rounded p-0.5 text-muted-foreground hover:bg-accent hover:text-accent-foreground\"\n aria-label=\"Clear tree filter\"\n title=\"Clear tree filter\"\n >\n <Icon icon={UiClose} className=\"text-xs\" />\n </button>\n )}\n </label>\n ) : (\n <span className=\"flex-1\" />\n )}\n\n {(showControlButtons || actions != null) && (\n <div className=\"ml-auto flex items-center gap-1\">\n {actions}\n {showControlButtons && (\n <>\n <button\n type=\"button\"\n onClick={() => setExpandAll(true)}\n aria-pressed={effectiveExpandAll === true}\n aria-label=\"Expand all\"\n title=\"Expand all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === true && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiExpandAll} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setExpandAll(false)}\n aria-pressed={effectiveExpandAll === false}\n aria-label=\"Collapse all\"\n title=\"Collapse all\"\n disabled={activeFilter.trim().length > 0}\n className={cn(\n \"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-accent-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n effectiveExpandAll === false && \"bg-accent text-accent-foreground\",\n )}\n >\n <Icon icon={UiCollapseAll} className=\"text-sm\" />\n </button>\n </>\n )}\n </div>\n )}\n </div>\n )}\n\n {treeRoots.length === 0 ? (\n (effectiveEmpty ?? null)\n ) : (\n <>\n {treeRoots.map((root) => (\n <TreeNode<T>\n {...nodeProps}\n key={nodeProps.getKey(root)}\n node={root}\n expandAll={effectiveExpandAll}\n forcedOpenKeys={forcedOpenKeys}\n getChildren={effectiveGetChildren}\n />\n ))}\n </>\n )}\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const jsxRuntime = require("react/jsx-runtime");
4
+ const utils = require("../../lib/utils.cjs");
5
+ const ChatFab = require("./ChatFab.cjs");
6
+ const UiSparkles = require("../../icons/components/UiSparkles.cjs");
7
+ function ChatButton({
8
+ icon = UiSparkles.UiSparkles,
9
+ label = "Open chat",
10
+ className
11
+ }) {
12
+ return /* @__PURE__ */ jsxRuntime.jsx(
13
+ ChatFab.ChatFab,
14
+ {
15
+ persistent: true,
16
+ icon,
17
+ label,
18
+ className: utils.cn(
19
+ "static size-9 rounded-md bg-transparent text-foreground shadow-none hover:bg-accent",
20
+ className
21
+ )
22
+ }
23
+ );
24
+ }
25
+ exports.ChatButton = ChatButton;
26
+ //# sourceMappingURL=ChatButton.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatButton.cjs","sources":["../../../src/data/ai/ChatButton.tsx"],"sourcesContent":["import { UiSparkles } from \"../../icons\";\nimport { cn } from \"../../lib/utils\";\nimport { ChatFab, type ChatFabProps } from \"./ChatFab\";\n\nexport type ChatButtonProps = Omit<ChatFabProps, \"persistent\">;\n\n/** A persistent chat trigger styled as navbar chrome for AppShell actions. */\nexport function ChatButton({\n icon = UiSparkles,\n label = \"Open chat\",\n className,\n}: ChatButtonProps) {\n return (\n <ChatFab\n persistent\n icon={icon}\n label={label}\n className={cn(\n \"static size-9 rounded-md bg-transparent text-foreground shadow-none hover:bg-accent\",\n className,\n )}\n />\n );\n}\n"],"names":["UiSparkles","jsx","ChatFab","cn"],"mappings":";;;;;;AAOO,SAAS,WAAW;AAAA,EACzB,OAAOA,WAAAA;AAAAA,EACP,QAAQ;AAAA,EACR;AACF,GAAoB;AAClB,SACEC,2BAAAA;AAAAA,IAACC,QAAAA;AAAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;;"}
@@ -0,0 +1,5 @@
1
+ import { ChatFabProps } from './ChatFab';
2
+ export type ChatButtonProps = Omit<ChatFabProps, "persistent">;
3
+ /** A persistent chat trigger styled as navbar chrome for AppShell actions. */
4
+ export declare function ChatButton({ icon, label, className, }: ChatButtonProps): import("react/jsx-runtime").JSX.Element;
5
+ //# sourceMappingURL=ChatButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatButton.d.ts","sourceRoot":"","sources":["../../../src/data/ai/ChatButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,WAAW,CAAC;AAEvD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAE/D,8EAA8E;AAC9E,wBAAgB,UAAU,CAAC,EACzB,IAAiB,EACjB,KAAmB,EACnB,SAAS,GACV,EAAE,eAAe,2CAYjB"}
@@ -0,0 +1,26 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "../../lib/utils.js";
3
+ import { ChatFab } from "./ChatFab.js";
4
+ import { UiSparkles } from "../../icons/components/UiSparkles.js";
5
+ function ChatButton({
6
+ icon = UiSparkles,
7
+ label = "Open chat",
8
+ className
9
+ }) {
10
+ return /* @__PURE__ */ jsx(
11
+ ChatFab,
12
+ {
13
+ persistent: true,
14
+ icon,
15
+ label,
16
+ className: cn(
17
+ "static size-9 rounded-md bg-transparent text-foreground shadow-none hover:bg-accent",
18
+ className
19
+ )
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ ChatButton
25
+ };
26
+ //# sourceMappingURL=ChatButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChatButton.js","sources":["../../../src/data/ai/ChatButton.tsx"],"sourcesContent":["import { UiSparkles } from \"../../icons\";\nimport { cn } from \"../../lib/utils\";\nimport { ChatFab, type ChatFabProps } from \"./ChatFab\";\n\nexport type ChatButtonProps = Omit<ChatFabProps, \"persistent\">;\n\n/** A persistent chat trigger styled as navbar chrome for AppShell actions. */\nexport function ChatButton({\n icon = UiSparkles,\n label = \"Open chat\",\n className,\n}: ChatButtonProps) {\n return (\n <ChatFab\n persistent\n icon={icon}\n label={label}\n className={cn(\n \"static size-9 rounded-md bg-transparent text-foreground shadow-none hover:bg-accent\",\n className,\n )}\n />\n );\n}\n"],"names":[],"mappings":";;;;AAOO,SAAS,WAAW;AAAA,EACzB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR;AACF,GAAoB;AAClB,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,YAAU;AAAA,MACV;AAAA,MACA;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN;"}
@@ -5,10 +5,15 @@ const utils = require("../../lib/utils.cjs");
5
5
  const Icon = require("../Icon.cjs");
6
6
  const chatWindowContext = require("./chat-window-context.cjs");
7
7
  const zIndex = require("../../overlay/zIndex.cjs");
8
- const UiComment = require("../../icons/components/UiComment.cjs");
9
- function ChatFab({ icon = UiComment.UiComment, label = "Open chat", className }) {
10
- const { panels, openPanel } = chatWindowContext.useChatWindowManager();
11
- if (panels.length > 0) return null;
8
+ const UiSparkles = require("../../icons/components/UiSparkles.cjs");
9
+ function ChatFab({
10
+ icon = UiSparkles.UiSparkles,
11
+ label = "Open chat",
12
+ persistent = false,
13
+ className
14
+ }) {
15
+ const { panels, openPanel, findOrCreatePanel } = chatWindowContext.useChatWindowManager();
16
+ if (!persistent && panels.length > 0) return null;
12
17
  return /* @__PURE__ */ jsxRuntime.jsx(
13
18
  "button",
14
19
  {
@@ -16,8 +21,8 @@ function ChatFab({ icon = UiComment.UiComment, label = "Open chat", className })
16
21
  "data-testid": "chat-fab",
17
22
  title: label,
18
23
  "aria-label": label,
19
- onClick: () => openPanel(),
20
- style: { zIndex: zIndex.zIndex.chatFab },
24
+ onClick: () => persistent ? findOrCreatePanel() : openPanel(),
25
+ ...!persistent ? { style: { zIndex: zIndex.zIndex.chatFab } } : {},
21
26
  className: utils.cn(
22
27
  "fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center",
23
28
  "rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90",
@@ -1 +1 @@
1
- {"version":3,"file":"ChatFab.cjs","sources":["../../../src/data/ai/ChatFab.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../Icon\";\nimport { UiComment } from \"../../icons\";\nimport { useChatWindowManager } from \"./chat-window-context\";\nimport { zIndex } from \"../../overlay/zIndex\";\n\nexport type ChatFabProps = {\n /** Iconify name or imported icon component shown in the button. */\n icon?: string | StaticIconComponent;\n /** Accessible label / tooltip. */\n label?: string;\n className?: string;\n};\n\n/** A fixed bottom-right launch button that opens the first chat window. It\n * hides itself once any window is open (the windows carry their own controls). */\nexport function ChatFab({ icon = UiComment, label = \"Open chat\", className }: ChatFabProps) {\n const { panels, openPanel } = useChatWindowManager();\n if (panels.length > 0) return null;\n\n return (\n <button\n type=\"button\"\n data-testid=\"chat-fab\"\n title={label}\n aria-label={label}\n onClick={() => openPanel()}\n style={{ zIndex: zIndex.chatFab }}\n className={cn(\n \"fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center\",\n \"rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90\",\n className,\n )}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} className=\"size-5\" />\n </button>\n );\n}\n"],"names":["UiComment","useChatWindowManager","jsx","zIndex","cn","Icon"],"mappings":";;;;;;;;AAgBO,SAAS,QAAQ,EAAE,OAAOA,UAAAA,WAAW,QAAQ,aAAa,aAA2B;AAC1F,QAAM,EAAE,QAAQ,UAAA,IAAcC,uCAAA;AAC9B,MAAI,OAAO,SAAS,EAAG,QAAO;AAE9B,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAY;AAAA,MACZ,SAAS,MAAM,UAAA;AAAA,MACf,OAAO,EAAE,QAAQC,OAAAA,OAAO,QAAA;AAAA,MACxB,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAAF,2BAAAA,IAACG,KAAAA,MAAA,EAAM,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAA,IAAS,EAAE,KAAA,GAAS,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3F;;"}
1
+ {"version":3,"file":"ChatFab.cjs","sources":["../../../src/data/ai/ChatFab.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../Icon\";\nimport { UiSparkles } from \"../../icons\";\nimport { useChatWindowManager } from \"./chat-window-context\";\nimport { zIndex } from \"../../overlay/zIndex\";\n\nexport type ChatFabProps = {\n /** Iconify name or imported icon component shown in the button. */\n icon?: string | StaticIconComponent;\n /** Accessible label / tooltip. */\n label?: string;\n /** Keep navbar chrome visible and focus an existing window when clicked. */\n persistent?: boolean;\n className?: string;\n};\n\n/** A fixed bottom-right chat launcher. By default it hides while a window is\n * open; persistent launchers remain visible and focus the existing window. */\nexport function ChatFab({\n icon = UiSparkles,\n label = \"Open chat\",\n persistent = false,\n className,\n}: ChatFabProps) {\n const { panels, openPanel, findOrCreatePanel } = useChatWindowManager();\n if (!persistent && panels.length > 0) return null;\n\n return (\n <button\n type=\"button\"\n data-testid=\"chat-fab\"\n title={label}\n aria-label={label}\n onClick={() => (persistent ? findOrCreatePanel() : openPanel())}\n {...(!persistent ? { style: { zIndex: zIndex.chatFab } } : {})}\n className={cn(\n \"fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center\",\n \"rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90\",\n className,\n )}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} className=\"size-5\" />\n </button>\n );\n}\n"],"names":["UiSparkles","useChatWindowManager","jsx","zIndex","cn","Icon"],"mappings":";;;;;;;;AAkBO,SAAS,QAAQ;AAAA,EACtB,OAAOA,WAAAA;AAAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb;AACF,GAAiB;AACf,QAAM,EAAE,QAAQ,WAAW,kBAAA,IAAsBC,kBAAAA,qBAAA;AACjD,MAAI,CAAC,cAAc,OAAO,SAAS,EAAG,QAAO;AAE7C,SACEC,2BAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAY;AAAA,MACZ,SAAS,MAAO,aAAa,kBAAA,IAAsB,UAAA;AAAA,MAClD,GAAI,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQC,cAAO,QAAA,EAAQ,IAAM,CAAA;AAAA,MAC3D,WAAWC,MAAAA;AAAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAAF,2BAAAA,IAACG,KAAAA,MAAA,EAAM,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAA,IAAS,EAAE,KAAA,GAAS,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3F;;"}
@@ -4,9 +4,11 @@ export type ChatFabProps = {
4
4
  icon?: string | StaticIconComponent;
5
5
  /** Accessible label / tooltip. */
6
6
  label?: string;
7
+ /** Keep navbar chrome visible and focus an existing window when clicked. */
8
+ persistent?: boolean;
7
9
  className?: string;
8
10
  };
9
- /** A fixed bottom-right launch button that opens the first chat window. It
10
- * hides itself once any window is open (the windows carry their own controls). */
11
- export declare function ChatFab({ icon, label, className }: ChatFabProps): import("react/jsx-runtime").JSX.Element | null;
11
+ /** A fixed bottom-right chat launcher. By default it hides while a window is
12
+ * open; persistent launchers remain visible and focus the existing window. */
13
+ export declare function ChatFab({ icon, label, persistent, className, }: ChatFabProps): import("react/jsx-runtime").JSX.Element | null;
12
14
  //# sourceMappingURL=ChatFab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatFab.d.ts","sourceRoot":"","sources":["../../../src/data/ai/ChatFab.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKzD,MAAM,MAAM,YAAY,GAAG;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;mFACmF;AACnF,wBAAgB,OAAO,CAAC,EAAE,IAAgB,EAAE,KAAmB,EAAE,SAAS,EAAE,EAAE,YAAY,kDAqBzF"}
1
+ {"version":3,"file":"ChatFab.d.ts","sourceRoot":"","sources":["../../../src/data/ai/ChatFab.tsx"],"names":[],"mappings":"AACA,OAAO,EAAQ,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAKzD,MAAM,MAAM,YAAY,GAAG;IACzB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IACpC,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4EAA4E;IAC5E,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;8EAC8E;AAC9E,wBAAgB,OAAO,CAAC,EACtB,IAAiB,EACjB,KAAmB,EACnB,UAAkB,EAClB,SAAS,GACV,EAAE,YAAY,kDAqBd"}
@@ -3,10 +3,15 @@ import { cn } from "../../lib/utils.js";
3
3
  import { Icon } from "../Icon.js";
4
4
  import { useChatWindowManager } from "./chat-window-context.js";
5
5
  import { zIndex } from "../../overlay/zIndex.js";
6
- import { UiComment } from "../../icons/components/UiComment.js";
7
- function ChatFab({ icon = UiComment, label = "Open chat", className }) {
8
- const { panels, openPanel } = useChatWindowManager();
9
- if (panels.length > 0) return null;
6
+ import { UiSparkles } from "../../icons/components/UiSparkles.js";
7
+ function ChatFab({
8
+ icon = UiSparkles,
9
+ label = "Open chat",
10
+ persistent = false,
11
+ className
12
+ }) {
13
+ const { panels, openPanel, findOrCreatePanel } = useChatWindowManager();
14
+ if (!persistent && panels.length > 0) return null;
10
15
  return /* @__PURE__ */ jsx(
11
16
  "button",
12
17
  {
@@ -14,8 +19,8 @@ function ChatFab({ icon = UiComment, label = "Open chat", className }) {
14
19
  "data-testid": "chat-fab",
15
20
  title: label,
16
21
  "aria-label": label,
17
- onClick: () => openPanel(),
18
- style: { zIndex: zIndex.chatFab },
22
+ onClick: () => persistent ? findOrCreatePanel() : openPanel(),
23
+ ...!persistent ? { style: { zIndex: zIndex.chatFab } } : {},
19
24
  className: cn(
20
25
  "fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center",
21
26
  "rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90",
@@ -1 +1 @@
1
- {"version":3,"file":"ChatFab.js","sources":["../../../src/data/ai/ChatFab.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../Icon\";\nimport { UiComment } from \"../../icons\";\nimport { useChatWindowManager } from \"./chat-window-context\";\nimport { zIndex } from \"../../overlay/zIndex\";\n\nexport type ChatFabProps = {\n /** Iconify name or imported icon component shown in the button. */\n icon?: string | StaticIconComponent;\n /** Accessible label / tooltip. */\n label?: string;\n className?: string;\n};\n\n/** A fixed bottom-right launch button that opens the first chat window. It\n * hides itself once any window is open (the windows carry their own controls). */\nexport function ChatFab({ icon = UiComment, label = \"Open chat\", className }: ChatFabProps) {\n const { panels, openPanel } = useChatWindowManager();\n if (panels.length > 0) return null;\n\n return (\n <button\n type=\"button\"\n data-testid=\"chat-fab\"\n title={label}\n aria-label={label}\n onClick={() => openPanel()}\n style={{ zIndex: zIndex.chatFab }}\n className={cn(\n \"fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center\",\n \"rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90\",\n className,\n )}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} className=\"size-5\" />\n </button>\n );\n}\n"],"names":[],"mappings":";;;;;;AAgBO,SAAS,QAAQ,EAAE,OAAO,WAAW,QAAQ,aAAa,aAA2B;AAC1F,QAAM,EAAE,QAAQ,UAAA,IAAc,qBAAA;AAC9B,MAAI,OAAO,SAAS,EAAG,QAAO;AAE9B,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAY;AAAA,MACZ,SAAS,MAAM,UAAA;AAAA,MACf,OAAO,EAAE,QAAQ,OAAO,QAAA;AAAA,MACxB,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAA,oBAAC,MAAA,EAAM,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAA,IAAS,EAAE,KAAA,GAAS,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3F;"}
1
+ {"version":3,"file":"ChatFab.js","sources":["../../../src/data/ai/ChatFab.tsx"],"sourcesContent":["import { cn } from \"../../lib/utils\";\nimport { Icon, type StaticIconComponent } from \"../Icon\";\nimport { UiSparkles } from \"../../icons\";\nimport { useChatWindowManager } from \"./chat-window-context\";\nimport { zIndex } from \"../../overlay/zIndex\";\n\nexport type ChatFabProps = {\n /** Iconify name or imported icon component shown in the button. */\n icon?: string | StaticIconComponent;\n /** Accessible label / tooltip. */\n label?: string;\n /** Keep navbar chrome visible and focus an existing window when clicked. */\n persistent?: boolean;\n className?: string;\n};\n\n/** A fixed bottom-right chat launcher. By default it hides while a window is\n * open; persistent launchers remain visible and focus the existing window. */\nexport function ChatFab({\n icon = UiSparkles,\n label = \"Open chat\",\n persistent = false,\n className,\n}: ChatFabProps) {\n const { panels, openPanel, findOrCreatePanel } = useChatWindowManager();\n if (!persistent && panels.length > 0) return null;\n\n return (\n <button\n type=\"button\"\n data-testid=\"chat-fab\"\n title={label}\n aria-label={label}\n onClick={() => (persistent ? findOrCreatePanel() : openPanel())}\n {...(!persistent ? { style: { zIndex: zIndex.chatFab } } : {})}\n className={cn(\n \"fixed bottom-4 right-4 flex h-12 w-12 items-center justify-center\",\n \"rounded-full bg-primary text-primary-foreground shadow-lg transition-colors hover:bg-primary/90\",\n className,\n )}\n >\n <Icon {...(typeof icon === \"string\" ? { name: icon } : { icon })} className=\"size-5\" />\n </button>\n );\n}\n"],"names":[],"mappings":";;;;;;AAkBO,SAAS,QAAQ;AAAA,EACtB,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,aAAa;AAAA,EACb;AACF,GAAiB;AACf,QAAM,EAAE,QAAQ,WAAW,kBAAA,IAAsB,qBAAA;AACjD,MAAI,CAAC,cAAc,OAAO,SAAS,EAAG,QAAO;AAE7C,SACE;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,eAAY;AAAA,MACZ,OAAO;AAAA,MACP,cAAY;AAAA,MACZ,SAAS,MAAO,aAAa,kBAAA,IAAsB,UAAA;AAAA,MAClD,GAAI,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,OAAO,QAAA,EAAQ,IAAM,CAAA;AAAA,MAC3D,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,MAGF,UAAA,oBAAC,MAAA,EAAM,GAAI,OAAO,SAAS,WAAW,EAAE,MAAM,KAAA,IAAS,EAAE,KAAA,GAAS,WAAU,SAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAG3F;"}
@@ -27,6 +27,8 @@ function PromptRunEditor({
27
27
  permissionCatalog,
28
28
  secretSelector,
29
29
  cliOptions,
30
+ sandboxCatalog,
31
+ sandboxCreate,
30
32
  reasoningEfforts = effortIcons.DEFAULT_REASONING_EFFORTS,
31
33
  variablesSchema,
32
34
  onVariablesValidityChange,
@@ -136,10 +138,18 @@ function PromptRunEditor({
136
138
  ]
137
139
  }
138
140
  ),
139
- /* @__PURE__ */ jsxRuntime.jsxs(button.Button, { size: "sm", variant: "outline", onClick: () => setSpecOpen(true), children: [
140
- /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiGearSix.UiGearSix, className: "size-4" }),
141
- editSpecLabel
142
- ] })
141
+ /* @__PURE__ */ jsxRuntime.jsxs(
142
+ button.Button,
143
+ {
144
+ size: "sm",
145
+ variant: "outline",
146
+ onClick: () => setSpecOpen(true),
147
+ children: [
148
+ /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiGearSix.UiGearSix, className: "size-4" }),
149
+ editSpecLabel
150
+ ]
151
+ }
152
+ )
143
153
  ] })
144
154
  ] }),
145
155
  children
@@ -238,6 +248,8 @@ function PromptRunEditor({
238
248
  ...permissionCatalog ? { permissionCatalog } : {},
239
249
  ...secretSelector ? { secretSelector } : {},
240
250
  ...cliOptions ? { cliOptions } : {},
251
+ ...sandboxCatalog ? { sandboxCatalog } : {},
252
+ ...sandboxCreate ? { sandboxCreate } : {},
241
253
  ...specSections ? { sections: specSections } : {},
242
254
  onSave: () => setSpecOpen(false),
243
255
  onCancel: () => setSpecOpen(false),