@flanksource/clicky-ui 0.3.21 → 0.3.22

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 (1514) 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/DaemonSetIcon.cjs +20 -0
  53. package/dist/components/DaemonSetIcon.cjs.map +1 -0
  54. package/dist/components/DaemonSetIcon.d.ts +8 -0
  55. package/dist/components/DaemonSetIcon.d.ts.map +1 -0
  56. package/dist/components/DaemonSetIcon.js +20 -0
  57. package/dist/components/DaemonSetIcon.js.map +1 -0
  58. package/dist/components/DateField.cjs.map +1 -1
  59. package/dist/components/DateField.d.ts +11 -3
  60. package/dist/components/DateField.d.ts.map +1 -1
  61. package/dist/components/DateField.js.map +1 -1
  62. package/dist/components/DatePicker.cjs +6 -1
  63. package/dist/components/DatePicker.cjs.map +1 -1
  64. package/dist/components/DatePicker.d.ts +11 -3
  65. package/dist/components/DatePicker.d.ts.map +1 -1
  66. package/dist/components/DatePicker.js +6 -1
  67. package/dist/components/DatePicker.js.map +1 -1
  68. package/dist/components/EndpointSelector.cjs +29 -8
  69. package/dist/components/EndpointSelector.cjs.map +1 -1
  70. package/dist/components/EndpointSelector.d.ts +1 -1
  71. package/dist/components/EndpointSelector.d.ts.map +1 -1
  72. package/dist/components/EndpointSelector.js +29 -8
  73. package/dist/components/EndpointSelector.js.map +1 -1
  74. package/dist/components/EndpointSelector.model.cjs.map +1 -1
  75. package/dist/components/EndpointSelector.model.d.ts +5 -0
  76. package/dist/components/EndpointSelector.model.d.ts.map +1 -1
  77. package/dist/components/EndpointSelector.model.js.map +1 -1
  78. package/dist/components/FilterBar.cjs +43 -19
  79. package/dist/components/FilterBar.cjs.map +1 -1
  80. package/dist/components/FilterBar.d.ts +21 -1
  81. package/dist/components/FilterBar.d.ts.map +1 -1
  82. package/dist/components/FilterBar.js +41 -17
  83. package/dist/components/FilterBar.js.map +1 -1
  84. package/dist/components/InputField.cjs +14 -2
  85. package/dist/components/InputField.cjs.map +1 -1
  86. package/dist/components/InputField.d.ts +6 -0
  87. package/dist/components/InputField.d.ts.map +1 -1
  88. package/dist/components/InputField.js +14 -2
  89. package/dist/components/InputField.js.map +1 -1
  90. package/dist/components/ItemActions.cjs +87 -0
  91. package/dist/components/ItemActions.cjs.map +1 -0
  92. package/dist/components/ItemActions.d.ts +33 -0
  93. package/dist/components/ItemActions.d.ts.map +1 -0
  94. package/dist/components/ItemActions.js +87 -0
  95. package/dist/components/ItemActions.js.map +1 -0
  96. package/dist/components/JsonSchemaForm.cjs +1 -1
  97. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  98. package/dist/components/JsonSchemaForm.js +1 -1
  99. package/dist/components/JsonSchemaForm.js.map +1 -1
  100. package/dist/components/MdxEditorCallout.cjs +108 -0
  101. package/dist/components/MdxEditorCallout.cjs.map +1 -0
  102. package/dist/components/MdxEditorCallout.d.ts +27 -0
  103. package/dist/components/MdxEditorCallout.d.ts.map +1 -0
  104. package/dist/components/MdxEditorCallout.js +108 -0
  105. package/dist/components/MdxEditorCallout.js.map +1 -0
  106. package/dist/components/MdxEditorField.cjs.map +1 -1
  107. package/dist/components/MdxEditorField.d.ts +1 -1
  108. package/dist/components/MdxEditorField.d.ts.map +1 -1
  109. package/dist/components/MdxEditorField.js.map +1 -1
  110. package/dist/components/MdxEditorToolbar.cjs +10 -2
  111. package/dist/components/MdxEditorToolbar.cjs.map +1 -1
  112. package/dist/components/MdxEditorToolbar.d.ts.map +1 -1
  113. package/dist/components/MdxEditorToolbar.js +10 -2
  114. package/dist/components/MdxEditorToolbar.js.map +1 -1
  115. package/dist/components/MultiSelect.cjs +3 -1
  116. package/dist/components/MultiSelect.cjs.map +1 -1
  117. package/dist/components/MultiSelect.d.ts.map +1 -1
  118. package/dist/components/MultiSelect.js +3 -1
  119. package/dist/components/MultiSelect.js.map +1 -1
  120. package/dist/components/NamespacePicker.cjs +1 -0
  121. package/dist/components/NamespacePicker.cjs.map +1 -1
  122. package/dist/components/NamespacePicker.d.ts.map +1 -1
  123. package/dist/components/NamespacePicker.js +1 -0
  124. package/dist/components/NamespacePicker.js.map +1 -1
  125. package/dist/components/WorkloadPicker.cjs +117 -31
  126. package/dist/components/WorkloadPicker.cjs.map +1 -1
  127. package/dist/components/WorkloadPicker.d.ts +29 -5
  128. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  129. package/dist/components/WorkloadPicker.js +119 -33
  130. package/dist/components/WorkloadPicker.js.map +1 -1
  131. package/dist/components/button-variants.d.ts +1 -1
  132. package/dist/components/button.d.ts +1 -1
  133. package/dist/components/combobox-types.d.ts +13 -0
  134. package/dist/components/combobox-types.d.ts.map +1 -1
  135. package/dist/components/combobox-utils.cjs +16 -0
  136. package/dist/components/combobox-utils.cjs.map +1 -1
  137. package/dist/components/combobox-utils.d.ts +1 -0
  138. package/dist/components/combobox-utils.d.ts.map +1 -1
  139. package/dist/components/combobox-utils.js +16 -0
  140. package/dist/components/combobox-utils.js.map +1 -1
  141. package/dist/components/filter-bar-multi.cjs +1 -1
  142. package/dist/components/filter-bar-multi.cjs.map +1 -1
  143. package/dist/components/filter-bar-multi.js +1 -1
  144. package/dist/components/filter-bar-multi.js.map +1 -1
  145. package/dist/components/filter-bar-utils.cjs +14 -2
  146. package/dist/components/filter-bar-utils.cjs.map +1 -1
  147. package/dist/components/filter-bar-utils.d.ts +2 -1
  148. package/dist/components/filter-bar-utils.d.ts.map +1 -1
  149. package/dist/components/filter-bar-utils.js +14 -2
  150. package/dist/components/filter-bar-utils.js.map +1 -1
  151. package/dist/components/jotai-bindings-core.cjs +11 -0
  152. package/dist/components/jotai-bindings-core.cjs.map +1 -1
  153. package/dist/components/jotai-bindings-core.d.ts +3 -2
  154. package/dist/components/jotai-bindings-core.d.ts.map +1 -1
  155. package/dist/components/jotai-bindings-core.js +11 -0
  156. package/dist/components/jotai-bindings-core.js.map +1 -1
  157. package/dist/components/json-schema-form-accordion-array.cjs +54 -190
  158. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -1
  159. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -1
  160. package/dist/components/json-schema-form-accordion-array.js +59 -195
  161. package/dist/components/json-schema-form-accordion-array.js.map +1 -1
  162. package/dist/components/json-schema-form-array.cjs +46 -146
  163. package/dist/components/json-schema-form-array.cjs.map +1 -1
  164. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  165. package/dist/components/json-schema-form-array.js +47 -147
  166. package/dist/components/json-schema-form-array.js.map +1 -1
  167. package/dist/components/json-schema-form-cards-array.cjs +9 -7
  168. package/dist/components/json-schema-form-cards-array.cjs.map +1 -1
  169. package/dist/components/json-schema-form-cards-array.d.ts.map +1 -1
  170. package/dist/components/json-schema-form-cards-array.js +11 -9
  171. package/dist/components/json-schema-form-cards-array.js.map +1 -1
  172. package/dist/components/json-schema-form-error-display.js +1 -1
  173. package/dist/components/json-schema-form-errors.cjs +17 -4
  174. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  175. package/dist/components/json-schema-form-errors.d.ts +1 -0
  176. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  177. package/dist/components/json-schema-form-errors.js +16 -3
  178. package/dist/components/json-schema-form-errors.js.map +1 -1
  179. package/dist/components/json-schema-form-fields.cjs +18 -2
  180. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  181. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  182. package/dist/components/json-schema-form-fields.js +18 -2
  183. package/dist/components/json-schema-form-fields.js.map +1 -1
  184. package/dist/components/json-schema-form-item-row.cjs +17 -46
  185. package/dist/components/json-schema-form-item-row.cjs.map +1 -1
  186. package/dist/components/json-schema-form-item-row.d.ts +3 -10
  187. package/dist/components/json-schema-form-item-row.d.ts.map +1 -1
  188. package/dist/components/json-schema-form-item-row.js +18 -47
  189. package/dist/components/json-schema-form-item-row.js.map +1 -1
  190. package/dist/components/json-schema-form-item-summary.cjs +18 -4
  191. package/dist/components/json-schema-form-item-summary.cjs.map +1 -1
  192. package/dist/components/json-schema-form-item-summary.d.ts +2 -1
  193. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -1
  194. package/dist/components/json-schema-form-item-summary.js +15 -1
  195. package/dist/components/json-schema-form-item-summary.js.map +1 -1
  196. package/dist/components/json-schema-form-lookup-tree.cjs +2 -5
  197. package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -1
  198. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -1
  199. package/dist/components/json-schema-form-lookup-tree.js +2 -5
  200. package/dist/components/json-schema-form-lookup-tree.js.map +1 -1
  201. package/dist/components/json-schema-form-object.cjs +3 -2
  202. package/dist/components/json-schema-form-object.cjs.map +1 -1
  203. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  204. package/dist/components/json-schema-form-object.js +2 -1
  205. package/dist/components/json-schema-form-object.js.map +1 -1
  206. package/dist/components/json-schema-form-render.cjs +4 -1
  207. package/dist/components/json-schema-form-render.cjs.map +1 -1
  208. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  209. package/dist/components/json-schema-form-render.js +5 -2
  210. package/dist/components/json-schema-form-render.js.map +1 -1
  211. package/dist/components/json-schema-form-resolve.cjs +21 -13
  212. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  213. package/dist/components/json-schema-form-resolve.d.ts +2 -2
  214. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  215. package/dist/components/json-schema-form-resolve.js +16 -8
  216. package/dist/components/json-schema-form-resolve.js.map +1 -1
  217. package/dist/components/json-schema-form-table-array.cjs +4 -3
  218. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  219. package/dist/components/json-schema-form-table-array.d.ts.map +1 -1
  220. package/dist/components/json-schema-form-table-array.js +2 -1
  221. package/dist/components/json-schema-form-table-array.js.map +1 -1
  222. package/dist/components/json-schema-form-tags-combobox.cjs +55 -0
  223. package/dist/components/json-schema-form-tags-combobox.cjs.map +1 -0
  224. package/dist/components/json-schema-form-tags-combobox.d.ts +17 -0
  225. package/dist/components/json-schema-form-tags-combobox.d.ts.map +1 -0
  226. package/dist/components/json-schema-form-tags-combobox.js +55 -0
  227. package/dist/components/json-schema-form-tags-combobox.js.map +1 -0
  228. package/dist/components/json-schema-form-types.d.ts +8 -1
  229. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  230. package/dist/components/json-schema-form-utils.cjs +5 -28
  231. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  232. package/dist/components/json-schema-form-utils.d.ts +1 -5
  233. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  234. package/dist/components/json-schema-form-utils.js +5 -28
  235. package/dist/components/json-schema-form-utils.js.map +1 -1
  236. package/dist/components/jsonPathTree.cjs +10 -3
  237. package/dist/components/jsonPathTree.cjs.map +1 -1
  238. package/dist/components/jsonPathTree.d.ts +17 -0
  239. package/dist/components/jsonPathTree.d.ts.map +1 -1
  240. package/dist/components/jsonPathTree.js +10 -3
  241. package/dist/components/jsonPathTree.js.map +1 -1
  242. package/dist/components/mdx-editor-callout-model.cjs +26 -0
  243. package/dist/components/mdx-editor-callout-model.cjs.map +1 -0
  244. package/dist/components/mdx-editor-callout-model.d.ts +14 -0
  245. package/dist/components/mdx-editor-callout-model.d.ts.map +1 -0
  246. package/dist/components/mdx-editor-callout-model.js +26 -0
  247. package/dist/components/mdx-editor-callout-model.js.map +1 -0
  248. package/dist/components/mdx-editor-callout.cjs +39 -0
  249. package/dist/components/mdx-editor-callout.cjs.map +1 -0
  250. package/dist/components/mdx-editor-callout.d.ts +27 -0
  251. package/dist/components/mdx-editor-callout.d.ts.map +1 -0
  252. package/dist/components/mdx-editor-callout.js +39 -0
  253. package/dist/components/mdx-editor-callout.js.map +1 -0
  254. package/dist/components/mdx-editor-field-plugins.cjs +14 -0
  255. package/dist/components/mdx-editor-field-plugins.cjs.map +1 -1
  256. package/dist/components/mdx-editor-field-plugins.d.ts.map +1 -1
  257. package/dist/components/mdx-editor-field-plugins.js +14 -0
  258. package/dist/components/mdx-editor-field-plugins.js.map +1 -1
  259. package/dist/components/mdx-editor-jsx-attributes.cjs +23 -0
  260. package/dist/components/mdx-editor-jsx-attributes.cjs.map +1 -0
  261. package/dist/components/mdx-editor-jsx-attributes.d.ts +29 -0
  262. package/dist/components/mdx-editor-jsx-attributes.d.ts.map +1 -0
  263. package/dist/components/mdx-editor-jsx-attributes.js +23 -0
  264. package/dist/components/mdx-editor-jsx-attributes.js.map +1 -0
  265. package/dist/components/mdx-editor-options.d.ts +79 -0
  266. package/dist/components/mdx-editor-options.d.ts.map +1 -1
  267. package/dist/components/workload-picker-utils.cjs +17 -4
  268. package/dist/components/workload-picker-utils.cjs.map +1 -1
  269. package/dist/components/workload-picker-utils.d.ts +3 -1
  270. package/dist/components/workload-picker-utils.d.ts.map +1 -1
  271. package/dist/components/workload-picker-utils.js +18 -5
  272. package/dist/components/workload-picker-utils.js.map +1 -1
  273. package/dist/components.cjs +13 -0
  274. package/dist/components.cjs.map +1 -1
  275. package/dist/components.d.ts +8 -3
  276. package/dist/components.d.ts.map +1 -1
  277. package/dist/components.js +13 -0
  278. package/dist/components.js.map +1 -1
  279. package/dist/data/Callout.cjs +48 -0
  280. package/dist/data/Callout.cjs.map +1 -0
  281. package/dist/data/Callout.d.ts +58 -0
  282. package/dist/data/Callout.d.ts.map +1 -0
  283. package/dist/data/Callout.js +48 -0
  284. package/dist/data/Callout.js.map +1 -0
  285. package/dist/data/Clicky.cjs +307 -248
  286. package/dist/data/Clicky.cjs.map +1 -1
  287. package/dist/data/Clicky.d.ts +37 -2
  288. package/dist/data/Clicky.d.ts.map +1 -1
  289. package/dist/data/Clicky.js +310 -251
  290. package/dist/data/Clicky.js.map +1 -1
  291. package/dist/data/DataTable.cjs +245 -115
  292. package/dist/data/DataTable.cjs.map +1 -1
  293. package/dist/data/DataTable.d.ts +48 -3
  294. package/dist/data/DataTable.d.ts.map +1 -1
  295. package/dist/data/DataTable.grouping.cjs.map +1 -1
  296. package/dist/data/DataTable.grouping.d.ts +11 -1
  297. package/dist/data/DataTable.grouping.d.ts.map +1 -1
  298. package/dist/data/DataTable.grouping.js.map +1 -1
  299. package/dist/data/DataTable.js +247 -117
  300. package/dist/data/DataTable.js.map +1 -1
  301. package/dist/data/Markdown.cjs +31 -2
  302. package/dist/data/Markdown.cjs.map +1 -1
  303. package/dist/data/Markdown.d.ts +10 -1
  304. package/dist/data/Markdown.d.ts.map +1 -1
  305. package/dist/data/Markdown.js +31 -2
  306. package/dist/data/Markdown.js.map +1 -1
  307. package/dist/data/MarkdownEditor.cjs +1 -1
  308. package/dist/data/MarkdownEditor.cjs.map +1 -1
  309. package/dist/data/MarkdownEditor.js +1 -1
  310. package/dist/data/MarkdownEditor.js.map +1 -1
  311. package/dist/data/ObjectGraph.cjs +108 -23
  312. package/dist/data/ObjectGraph.cjs.map +1 -1
  313. package/dist/data/ObjectGraph.d.ts +28 -22
  314. package/dist/data/ObjectGraph.d.ts.map +1 -1
  315. package/dist/data/ObjectGraph.js +109 -24
  316. package/dist/data/ObjectGraph.js.map +1 -1
  317. package/dist/data/PromptBanner.cjs +1 -1
  318. package/dist/data/PromptBanner.cjs.map +1 -1
  319. package/dist/data/PromptBanner.js +1 -1
  320. package/dist/data/PromptBanner.js.map +1 -1
  321. package/dist/data/Tree.cjs +39 -35
  322. package/dist/data/Tree.cjs.map +1 -1
  323. package/dist/data/Tree.d.ts +7 -1
  324. package/dist/data/Tree.d.ts.map +1 -1
  325. package/dist/data/Tree.js +39 -35
  326. package/dist/data/Tree.js.map +1 -1
  327. package/dist/data/ai/ChatButton.cjs +26 -0
  328. package/dist/data/ai/ChatButton.cjs.map +1 -0
  329. package/dist/data/ai/ChatButton.d.ts +5 -0
  330. package/dist/data/ai/ChatButton.d.ts.map +1 -0
  331. package/dist/data/ai/ChatButton.js +26 -0
  332. package/dist/data/ai/ChatButton.js.map +1 -0
  333. package/dist/data/ai/ChatFab.cjs +11 -6
  334. package/dist/data/ai/ChatFab.cjs.map +1 -1
  335. package/dist/data/ai/ChatFab.d.ts +5 -3
  336. package/dist/data/ai/ChatFab.d.ts.map +1 -1
  337. package/dist/data/ai/ChatFab.js +11 -6
  338. package/dist/data/ai/ChatFab.js.map +1 -1
  339. package/dist/data/ai/PromptRunEditor/index.cjs +16 -4
  340. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  341. package/dist/data/ai/PromptRunEditor/index.d.ts +7 -2
  342. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  343. package/dist/data/ai/PromptRunEditor/index.js +16 -4
  344. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  345. package/dist/data/ai/SandboxConnectionsSection.cjs +71 -0
  346. package/dist/data/ai/SandboxConnectionsSection.cjs.map +1 -0
  347. package/dist/data/ai/SandboxConnectionsSection.d.ts +8 -0
  348. package/dist/data/ai/SandboxConnectionsSection.d.ts.map +1 -0
  349. package/dist/data/ai/SandboxConnectionsSection.js +71 -0
  350. package/dist/data/ai/SandboxConnectionsSection.js.map +1 -0
  351. package/dist/data/ai/SandboxCreateWizard.cjs +288 -0
  352. package/dist/data/ai/SandboxCreateWizard.cjs.map +1 -0
  353. package/dist/data/ai/SandboxCreateWizard.d.ts +11 -0
  354. package/dist/data/ai/SandboxCreateWizard.d.ts.map +1 -0
  355. package/dist/data/ai/SandboxCreateWizard.js +288 -0
  356. package/dist/data/ai/SandboxCreateWizard.js.map +1 -0
  357. package/dist/data/ai/SandboxCreateWizard.model.cjs +77 -0
  358. package/dist/data/ai/SandboxCreateWizard.model.cjs.map +1 -0
  359. package/dist/data/ai/SandboxCreateWizard.model.d.ts +32 -0
  360. package/dist/data/ai/SandboxCreateWizard.model.d.ts.map +1 -0
  361. package/dist/data/ai/SandboxCreateWizard.model.js +77 -0
  362. package/dist/data/ai/SandboxCreateWizard.model.js.map +1 -0
  363. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +6 -6
  364. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  365. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  366. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +6 -6
  367. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  368. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +11 -8
  369. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
  370. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +11 -8
  371. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
  372. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +247 -0
  373. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -0
  374. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +12 -0
  375. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -0
  376. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +247 -0
  377. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -0
  378. package/dist/data/ai/SpecRuntimeEditor/fields.cjs +31 -22
  379. package/dist/data/ai/SpecRuntimeEditor/fields.cjs.map +1 -1
  380. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts +6 -4
  381. package/dist/data/ai/SpecRuntimeEditor/fields.d.ts.map +1 -1
  382. package/dist/data/ai/SpecRuntimeEditor/fields.js +32 -23
  383. package/dist/data/ai/SpecRuntimeEditor/fields.js.map +1 -1
  384. package/dist/data/ai/SpecRuntimeEditor/index.cjs +15 -1
  385. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  386. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +8 -3
  387. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  388. package/dist/data/ai/SpecRuntimeEditor/index.js +15 -1
  389. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  390. package/dist/data/ai/SpecRuntimeEditor/types.cjs +11 -0
  391. package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
  392. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +53 -1
  393. package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
  394. package/dist/data/ai/SpecRuntimeEditor/types.js +11 -0
  395. package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
  396. package/dist/data/ai/SpecRuntimeEditor/update.cjs +23 -0
  397. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  398. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +23 -1
  399. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  400. package/dist/data/ai/SpecRuntimeEditor/update.js +23 -0
  401. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  402. package/dist/data/ai/SpecRuntimeEditor.model.cjs +28 -0
  403. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  404. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +35 -0
  405. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  406. package/dist/data/ai/SpecRuntimeEditor.model.js +28 -0
  407. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  408. package/dist/data/ai/index.d.ts +6 -2
  409. package/dist/data/ai/index.d.ts.map +1 -1
  410. package/dist/data/ai/sandbox-kind-meta.cjs +16 -0
  411. package/dist/data/ai/sandbox-kind-meta.cjs.map +1 -0
  412. package/dist/data/ai/sandbox-kind-meta.d.ts +8 -0
  413. package/dist/data/ai/sandbox-kind-meta.d.ts.map +1 -0
  414. package/dist/data/ai/sandbox-kind-meta.js +16 -0
  415. package/dist/data/ai/sandbox-kind-meta.js.map +1 -0
  416. package/dist/data/badge-variants.d.ts +1 -1
  417. package/dist/data/cache-browser/CacheTree.cjs +1 -1
  418. package/dist/data/cache-browser/CacheTree.cjs.map +1 -1
  419. package/dist/data/cache-browser/CacheTree.js +1 -1
  420. package/dist/data/cache-browser/CacheTree.js.map +1 -1
  421. package/dist/data/callout-tones.cjs +95 -0
  422. package/dist/data/callout-tones.cjs.map +1 -0
  423. package/dist/data/callout-tones.d.ts +32 -0
  424. package/dist/data/callout-tones.d.ts.map +1 -0
  425. package/dist/data/callout-tones.js +95 -0
  426. package/dist/data/callout-tones.js.map +1 -0
  427. package/dist/data/chat/PromptInput.cjs +1 -1
  428. package/dist/data/chat/PromptInput.cjs.map +1 -1
  429. package/dist/data/chat/PromptInput.js +1 -1
  430. package/dist/data/chat/PromptInput.js.map +1 -1
  431. package/dist/data/clicky-export/ClickyExportDialog.cjs +145 -0
  432. package/dist/data/clicky-export/ClickyExportDialog.cjs.map +1 -0
  433. package/dist/data/clicky-export/ClickyExportDialog.d.ts +43 -0
  434. package/dist/data/clicky-export/ClickyExportDialog.d.ts.map +1 -0
  435. package/dist/data/clicky-export/ClickyExportDialog.js +145 -0
  436. package/dist/data/clicky-export/ClickyExportDialog.js.map +1 -0
  437. package/dist/data/clicky-export/index.d.ts +3 -0
  438. package/dist/data/clicky-export/index.d.ts.map +1 -0
  439. package/dist/data/clicky-export/useClickyExport.cjs +44 -0
  440. package/dist/data/clicky-export/useClickyExport.cjs.map +1 -0
  441. package/dist/data/clicky-export/useClickyExport.d.ts +30 -0
  442. package/dist/data/clicky-export/useClickyExport.d.ts.map +1 -0
  443. package/dist/data/clicky-export/useClickyExport.js +44 -0
  444. package/dist/data/clicky-export/useClickyExport.js.map +1 -0
  445. package/dist/data/data-table-server-filters.cjs +15 -2
  446. package/dist/data/data-table-server-filters.cjs.map +1 -1
  447. package/dist/data/data-table-server-filters.d.ts +12 -1
  448. package/dist/data/data-table-server-filters.d.ts.map +1 -1
  449. package/dist/data/data-table-server-filters.js +15 -2
  450. package/dist/data/data-table-server-filters.js.map +1 -1
  451. package/dist/data/diagnostics/ErrorDetails.cjs +29 -7
  452. package/dist/data/diagnostics/ErrorDetails.cjs.map +1 -1
  453. package/dist/data/diagnostics/ErrorDetails.d.ts +2 -1
  454. package/dist/data/diagnostics/ErrorDetails.d.ts.map +1 -1
  455. package/dist/data/diagnostics/ErrorDetails.js +29 -7
  456. package/dist/data/diagnostics/ErrorDetails.js.map +1 -1
  457. package/dist/data/diagnostics/error-diagnostics.cjs +17 -2
  458. package/dist/data/diagnostics/error-diagnostics.cjs.map +1 -1
  459. package/dist/data/diagnostics/error-diagnostics.d.ts +5 -0
  460. package/dist/data/diagnostics/error-diagnostics.d.ts.map +1 -1
  461. package/dist/data/diagnostics/error-diagnostics.js +17 -2
  462. package/dist/data/diagnostics/error-diagnostics.js.map +1 -1
  463. package/dist/data/logs-normalize.cjs +18 -3
  464. package/dist/data/logs-normalize.cjs.map +1 -1
  465. package/dist/data/logs-normalize.d.ts +17 -0
  466. package/dist/data/logs-normalize.d.ts.map +1 -1
  467. package/dist/data/logs-normalize.js +18 -3
  468. package/dist/data/logs-normalize.js.map +1 -1
  469. package/dist/data/object-graph-nodes.cjs +24 -0
  470. package/dist/data/object-graph-nodes.cjs.map +1 -0
  471. package/dist/data/object-graph-nodes.d.ts +34 -0
  472. package/dist/data/object-graph-nodes.d.ts.map +1 -0
  473. package/dist/data/object-graph-nodes.js +24 -0
  474. package/dist/data/object-graph-nodes.js.map +1 -0
  475. package/dist/data/query-browser/QueryBrowser.cjs +52 -32
  476. package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
  477. package/dist/data/query-browser/QueryBrowser.d.ts +1 -1
  478. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  479. package/dist/data/query-browser/QueryBrowser.js +53 -33
  480. package/dist/data/query-browser/QueryBrowser.js.map +1 -1
  481. package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -1
  482. package/dist/data/query-browser/QueryBrowser.types.d.ts +12 -0
  483. package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -1
  484. package/dist/data/query-browser/QueryBrowser.types.js.map +1 -1
  485. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +58 -10
  486. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -1
  487. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -1
  488. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +58 -10
  489. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -1
  490. package/dist/data/query-browser/QueryBrowserResults.cjs +4 -4
  491. package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -1
  492. package/dist/data/query-browser/QueryBrowserResults.d.ts +4 -2
  493. package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -1
  494. package/dist/data/query-browser/QueryBrowserResults.js +4 -4
  495. package/dist/data/query-browser/QueryBrowserResults.js.map +1 -1
  496. package/dist/data/query-info/QueryInfoDialog.cjs +106 -0
  497. package/dist/data/query-info/QueryInfoDialog.cjs.map +1 -0
  498. package/dist/data/query-info/QueryInfoDialog.d.ts +16 -0
  499. package/dist/data/query-info/QueryInfoDialog.d.ts.map +1 -0
  500. package/dist/data/query-info/QueryInfoDialog.js +106 -0
  501. package/dist/data/query-info/QueryInfoDialog.js.map +1 -0
  502. package/dist/data/query-info/index.d.ts +4 -0
  503. package/dist/data/query-info/index.d.ts.map +1 -0
  504. package/dist/data/query-info/queryInfo.cjs +42 -0
  505. package/dist/data/query-info/queryInfo.cjs.map +1 -0
  506. package/dist/data/query-info/queryInfo.d.ts +45 -0
  507. package/dist/data/query-info/queryInfo.d.ts.map +1 -0
  508. package/dist/data/query-info/queryInfo.js +42 -0
  509. package/dist/data/query-info/queryInfo.js.map +1 -0
  510. package/dist/data/query-info/useQueryInfo.cjs +48 -0
  511. package/dist/data/query-info/useQueryInfo.cjs.map +1 -0
  512. package/dist/data/query-info/useQueryInfo.d.ts +26 -0
  513. package/dist/data/query-info/useQueryInfo.d.ts.map +1 -0
  514. package/dist/data/query-info/useQueryInfo.js +48 -0
  515. package/dist/data/query-info/useQueryInfo.js.map +1 -0
  516. package/dist/data/use-infinite-rows.cjs +20 -0
  517. package/dist/data/use-infinite-rows.cjs.map +1 -0
  518. package/dist/data/use-infinite-rows.d.ts +20 -0
  519. package/dist/data/use-infinite-rows.d.ts.map +1 -0
  520. package/dist/data/use-infinite-rows.js +20 -0
  521. package/dist/data/use-infinite-rows.js.map +1 -0
  522. package/dist/data/version-info.cjs +3 -3
  523. package/dist/data/version-info.js +3 -3
  524. package/dist/data.cjs +44 -0
  525. package/dist/data.cjs.map +1 -1
  526. package/dist/data.d.ts +8 -3
  527. package/dist/data.d.ts.map +1 -1
  528. package/dist/data.js +44 -0
  529. package/dist/data.js.map +1 -1
  530. package/dist/hooks/use-log-tail.cjs +213 -0
  531. package/dist/hooks/use-log-tail.cjs.map +1 -0
  532. package/dist/hooks/use-log-tail.d.ts +112 -0
  533. package/dist/hooks/use-log-tail.d.ts.map +1 -0
  534. package/dist/hooks/use-log-tail.js +213 -0
  535. package/dist/hooks/use-log-tail.js.map +1 -0
  536. package/dist/hooks.cjs +10 -0
  537. package/dist/hooks.cjs.map +1 -1
  538. package/dist/hooks.d.ts +2 -0
  539. package/dist/hooks.d.ts.map +1 -1
  540. package/dist/hooks.js +10 -0
  541. package/dist/hooks.js.map +1 -1
  542. package/dist/icons/components/UiArrowsCounterClockwise.cjs +15 -0
  543. package/dist/icons/components/UiArrowsCounterClockwise.cjs.map +1 -0
  544. package/dist/icons/components/UiArrowsCounterClockwise.d.ts +15 -0
  545. package/dist/icons/components/UiArrowsCounterClockwise.d.ts.map +1 -0
  546. package/dist/icons/components/UiArrowsCounterClockwise.js +15 -0
  547. package/dist/icons/components/UiArrowsCounterClockwise.js.map +1 -0
  548. package/dist/icons/components/UiClipboardText.cjs +15 -0
  549. package/dist/icons/components/UiClipboardText.cjs.map +1 -0
  550. package/dist/icons/components/UiClipboardText.d.ts +15 -0
  551. package/dist/icons/components/UiClipboardText.d.ts.map +1 -0
  552. package/dist/icons/components/UiClipboardText.js +15 -0
  553. package/dist/icons/components/UiClipboardText.js.map +1 -0
  554. package/dist/icons/components/UiIdentificationCard.cjs +15 -0
  555. package/dist/icons/components/UiIdentificationCard.cjs.map +1 -0
  556. package/dist/icons/components/UiIdentificationCard.d.ts +15 -0
  557. package/dist/icons/components/UiIdentificationCard.d.ts.map +1 -0
  558. package/dist/icons/components/UiIdentificationCard.js +15 -0
  559. package/dist/icons/components/UiIdentificationCard.js.map +1 -0
  560. package/dist/icons/components/UiLockKey.cjs +15 -0
  561. package/dist/icons/components/UiLockKey.cjs.map +1 -0
  562. package/dist/icons/components/UiLockKey.d.ts +15 -0
  563. package/dist/icons/components/UiLockKey.d.ts.map +1 -0
  564. package/dist/icons/components/UiLockKey.js +15 -0
  565. package/dist/icons/components/UiLockKey.js.map +1 -0
  566. package/dist/icons/components/UiSteps.cjs +15 -0
  567. package/dist/icons/components/UiSteps.cjs.map +1 -0
  568. package/dist/icons/components/UiSteps.d.ts +15 -0
  569. package/dist/icons/components/UiSteps.d.ts.map +1 -0
  570. package/dist/icons/components/UiSteps.js +15 -0
  571. package/dist/icons/components/UiSteps.js.map +1 -0
  572. package/dist/icons/components/UiUserGear.cjs +15 -0
  573. package/dist/icons/components/UiUserGear.cjs.map +1 -0
  574. package/dist/icons/components/UiUserGear.d.ts +15 -0
  575. package/dist/icons/components/UiUserGear.d.ts.map +1 -0
  576. package/dist/icons/components/UiUserGear.js +15 -0
  577. package/dist/icons/components/UiUserGear.js.map +1 -0
  578. package/dist/icons/components/UiUsersFour.cjs +15 -0
  579. package/dist/icons/components/UiUsersFour.cjs.map +1 -0
  580. package/dist/icons/components/UiUsersFour.d.ts +15 -0
  581. package/dist/icons/components/UiUsersFour.d.ts.map +1 -0
  582. package/dist/icons/components/UiUsersFour.js +15 -0
  583. package/dist/icons/components/UiUsersFour.js.map +1 -0
  584. package/dist/icons/index.d.ts +14 -0
  585. package/dist/icons/index.d.ts.map +1 -1
  586. package/dist/icons/registry.cjs +15 -1
  587. package/dist/icons/registry.cjs.map +1 -1
  588. package/dist/icons/registry.d.ts.map +1 -1
  589. package/dist/icons/registry.js +15 -1
  590. package/dist/icons/registry.js.map +1 -1
  591. package/dist/icons.cjs +21 -0
  592. package/dist/icons.cjs.map +1 -1
  593. package/dist/icons.js +21 -0
  594. package/dist/icons.js.map +1 -1
  595. package/dist/index.cjs +75 -0
  596. package/dist/index.cjs.map +1 -1
  597. package/dist/index.js +75 -0
  598. package/dist/index.js.map +1 -1
  599. package/dist/jotai.d.ts +1 -1
  600. package/dist/jotai.d.ts.map +1 -1
  601. package/dist/lib/collections.cjs +31 -0
  602. package/dist/lib/collections.cjs.map +1 -0
  603. package/dist/lib/collections.d.ts +6 -0
  604. package/dist/lib/collections.d.ts.map +1 -0
  605. package/dist/lib/collections.js +31 -0
  606. package/dist/lib/collections.js.map +1 -0
  607. package/dist/mdx-editor.cjs +12 -0
  608. package/dist/mdx-editor.cjs.map +1 -1
  609. package/dist/mdx-editor.css +1 -1
  610. package/dist/mdx-editor.d.ts +4 -1
  611. package/dist/mdx-editor.d.ts.map +1 -1
  612. package/dist/mdx-editor.js +13 -1
  613. package/dist/mdx-editor.js.map +1 -1
  614. package/dist/overlay/CommandPalette.cjs +1 -1
  615. package/dist/overlay/CommandPalette.cjs.map +1 -1
  616. package/dist/overlay/CommandPalette.js +1 -1
  617. package/dist/overlay/CommandPalette.js.map +1 -1
  618. package/dist/profiles/cel/celEditor.cjs +395 -0
  619. package/dist/profiles/cel/celEditor.cjs.map +1 -0
  620. package/dist/profiles/cel/celEditor.d.ts +51 -0
  621. package/dist/profiles/cel/celEditor.d.ts.map +1 -0
  622. package/dist/profiles/cel/celEditor.js +395 -0
  623. package/dist/profiles/cel/celEditor.js.map +1 -0
  624. package/dist/profiles/cel/celEditorExtension.cjs +15 -0
  625. package/dist/profiles/cel/celEditorExtension.cjs.map +1 -0
  626. package/dist/profiles/cel/celEditorExtension.d.ts +5 -0
  627. package/dist/profiles/cel/celEditorExtension.d.ts.map +1 -0
  628. package/dist/profiles/cel/celEditorExtension.js +15 -0
  629. package/dist/profiles/cel/celEditorExtension.js.map +1 -0
  630. package/dist/profiles/cel/celExpression.cjs +174 -0
  631. package/dist/profiles/cel/celExpression.cjs.map +1 -0
  632. package/dist/profiles/cel/celExpression.d.ts +138 -0
  633. package/dist/profiles/cel/celExpression.d.ts.map +1 -0
  634. package/dist/profiles/cel/celExpression.js +174 -0
  635. package/dist/profiles/cel/celExpression.js.map +1 -0
  636. package/dist/profiles/cel/celPath.cjs +47 -0
  637. package/dist/profiles/cel/celPath.cjs.map +1 -0
  638. package/dist/profiles/cel/celPath.d.ts +31 -0
  639. package/dist/profiles/cel/celPath.d.ts.map +1 -0
  640. package/dist/profiles/cel/celPath.js +47 -0
  641. package/dist/profiles/cel/celPath.js.map +1 -0
  642. package/dist/profiles/cel/index.d.ts +5 -0
  643. package/dist/profiles/cel/index.d.ts.map +1 -0
  644. package/dist/profiles/connections/catalogTree.cjs +133 -0
  645. package/dist/profiles/connections/catalogTree.cjs.map +1 -0
  646. package/dist/profiles/connections/catalogTree.d.ts.map +1 -0
  647. package/dist/profiles/connections/catalogTree.js +133 -0
  648. package/dist/profiles/connections/catalogTree.js.map +1 -0
  649. package/dist/profiles/connections/connectionBrowserModel.cjs +191 -0
  650. package/dist/profiles/connections/connectionBrowserModel.cjs.map +1 -0
  651. package/dist/profiles/connections/connectionBrowserModel.d.ts +177 -0
  652. package/dist/profiles/connections/connectionBrowserModel.d.ts.map +1 -0
  653. package/dist/profiles/connections/connectionBrowserModel.js +191 -0
  654. package/dist/profiles/connections/connectionBrowserModel.js.map +1 -0
  655. package/dist/profiles/connections/connectionQueryWorkspace.cjs +196 -0
  656. package/dist/profiles/connections/connectionQueryWorkspace.cjs.map +1 -0
  657. package/dist/profiles/connections/connectionQueryWorkspace.d.ts +63 -0
  658. package/dist/profiles/connections/connectionQueryWorkspace.d.ts.map +1 -0
  659. package/dist/profiles/connections/connectionQueryWorkspace.js +196 -0
  660. package/dist/profiles/connections/connectionQueryWorkspace.js.map +1 -0
  661. package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs +28 -0
  662. package/dist/profiles/connections/connectionQueryWorkspaceModel.cjs.map +1 -0
  663. package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts +38 -0
  664. package/dist/profiles/connections/connectionQueryWorkspaceModel.d.ts.map +1 -0
  665. package/dist/profiles/connections/connectionQueryWorkspaceModel.js +28 -0
  666. package/dist/profiles/connections/connectionQueryWorkspaceModel.js.map +1 -0
  667. package/dist/profiles/connections/index.d.ts +5 -0
  668. package/dist/profiles/connections/index.d.ts.map +1 -0
  669. package/dist/profiles/editor/index.d.ts +12 -0
  670. package/dist/profiles/editor/index.d.ts.map +1 -0
  671. package/dist/profiles/editor/profileBuilder.cjs +65 -0
  672. package/dist/profiles/editor/profileBuilder.cjs.map +1 -0
  673. package/dist/profiles/editor/profileBuilder.d.ts.map +1 -0
  674. package/dist/profiles/editor/profileBuilder.js +65 -0
  675. package/dist/profiles/editor/profileBuilder.js.map +1 -0
  676. package/dist/profiles/editor/profileBuilderExtension.cjs.map +1 -0
  677. package/dist/profiles/editor/profileBuilderExtension.d.ts +5 -0
  678. package/dist/profiles/editor/profileBuilderExtension.d.ts.map +1 -0
  679. package/dist/profiles/editor/profileBuilderExtension.js.map +1 -0
  680. package/dist/profiles/editor/profileBuilderModel.cjs +44 -0
  681. package/dist/profiles/editor/profileBuilderModel.cjs.map +1 -0
  682. package/dist/profiles/editor/profileBuilderModel.d.ts +4 -0
  683. package/dist/profiles/editor/profileBuilderModel.d.ts.map +1 -0
  684. package/dist/profiles/editor/profileBuilderModel.js +44 -0
  685. package/dist/profiles/editor/profileBuilderModel.js.map +1 -0
  686. package/dist/profiles/editor/profileBuilderWorkspace.cjs +333 -0
  687. package/dist/profiles/editor/profileBuilderWorkspace.cjs.map +1 -0
  688. package/dist/profiles/editor/profileBuilderWorkspace.d.ts +21 -0
  689. package/dist/profiles/editor/profileBuilderWorkspace.d.ts.map +1 -0
  690. package/dist/profiles/editor/profileBuilderWorkspace.js +333 -0
  691. package/dist/profiles/editor/profileBuilderWorkspace.js.map +1 -0
  692. package/dist/profiles/editor/profileEditor.cjs +471 -0
  693. package/dist/profiles/editor/profileEditor.cjs.map +1 -0
  694. package/dist/profiles/editor/profileEditor.d.ts +20 -0
  695. package/dist/profiles/editor/profileEditor.d.ts.map +1 -0
  696. package/dist/profiles/editor/profileEditor.js +471 -0
  697. package/dist/profiles/editor/profileEditor.js.map +1 -0
  698. package/dist/profiles/editor/profileEditorModel.cjs +206 -0
  699. package/dist/profiles/editor/profileEditorModel.cjs.map +1 -0
  700. package/dist/profiles/editor/profileEditorModel.d.ts +76 -0
  701. package/dist/profiles/editor/profileEditorModel.d.ts.map +1 -0
  702. package/dist/profiles/editor/profileEditorModel.js +206 -0
  703. package/dist/profiles/editor/profileEditorModel.js.map +1 -0
  704. package/dist/profiles/editor/profileEditorPreview.cjs.map +1 -0
  705. package/dist/profiles/editor/profileEditorPreview.d.ts +12 -0
  706. package/dist/profiles/editor/profileEditorPreview.d.ts.map +1 -0
  707. package/dist/profiles/editor/profileEditorPreview.js.map +1 -0
  708. package/dist/profiles/editor/profileEditorRail.cjs.map +1 -0
  709. package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -0
  710. package/dist/profiles/editor/profileEditorRail.js.map +1 -0
  711. package/dist/profiles/editor/profileEditorRaw.cjs +118 -0
  712. package/dist/profiles/editor/profileEditorRaw.cjs.map +1 -0
  713. package/dist/profiles/editor/profileEditorRaw.d.ts +7 -0
  714. package/dist/profiles/editor/profileEditorRaw.d.ts.map +1 -0
  715. package/dist/profiles/editor/profileEditorRaw.js +118 -0
  716. package/dist/profiles/editor/profileEditorRaw.js.map +1 -0
  717. package/dist/profiles/editor/profileEditorRoutes.cjs.map +1 -0
  718. package/dist/profiles/editor/profileEditorRoutes.d.ts.map +1 -0
  719. package/dist/profiles/editor/profileEditorRoutes.js.map +1 -0
  720. package/dist/profiles/editor/profileEditorSections.cjs +247 -0
  721. package/dist/profiles/editor/profileEditorSections.cjs.map +1 -0
  722. package/dist/profiles/editor/profileEditorSections.d.ts +26 -0
  723. package/dist/profiles/editor/profileEditorSections.d.ts.map +1 -0
  724. package/dist/profiles/editor/profileEditorSections.js +247 -0
  725. package/dist/profiles/editor/profileEditorSections.js.map +1 -0
  726. package/dist/profiles/editor/profileYaml.cjs +19 -0
  727. package/dist/profiles/editor/profileYaml.cjs.map +1 -0
  728. package/dist/profiles/editor/profileYaml.d.ts +4 -0
  729. package/dist/profiles/editor/profileYaml.d.ts.map +1 -0
  730. package/dist/profiles/editor/profileYaml.js +19 -0
  731. package/dist/profiles/editor/profileYaml.js.map +1 -0
  732. package/dist/profiles/editor/testSchema.d.ts +3 -0
  733. package/dist/profiles/editor/testSchema.d.ts.map +1 -0
  734. package/dist/profiles/elasticsearch/esFieldValues.cjs +57 -0
  735. package/dist/profiles/elasticsearch/esFieldValues.cjs.map +1 -0
  736. package/dist/profiles/elasticsearch/esFieldValues.d.ts +45 -0
  737. package/dist/profiles/elasticsearch/esFieldValues.d.ts.map +1 -0
  738. package/dist/profiles/elasticsearch/esFieldValues.js +57 -0
  739. package/dist/profiles/elasticsearch/esFieldValues.js.map +1 -0
  740. package/dist/profiles/elasticsearch/esParamMappingModel.cjs +301 -0
  741. package/dist/profiles/elasticsearch/esParamMappingModel.cjs.map +1 -0
  742. package/dist/profiles/elasticsearch/esParamMappingModel.d.ts +37 -0
  743. package/dist/profiles/elasticsearch/esParamMappingModel.d.ts.map +1 -0
  744. package/dist/profiles/elasticsearch/esParamMappingModel.js +301 -0
  745. package/dist/profiles/elasticsearch/esParamMappingModel.js.map +1 -0
  746. package/dist/profiles/elasticsearch/esParamMappingPill.cjs.map +1 -0
  747. package/dist/profiles/elasticsearch/esParamMappingPill.d.ts.map +1 -0
  748. package/dist/profiles/elasticsearch/esParamMappingPill.js.map +1 -0
  749. package/dist/profiles/elasticsearch/esParamOperandExtension.cjs +75 -0
  750. package/dist/profiles/elasticsearch/esParamOperandExtension.cjs.map +1 -0
  751. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts +11 -0
  752. package/dist/profiles/elasticsearch/esParamOperandExtension.d.ts.map +1 -0
  753. package/dist/profiles/elasticsearch/esParamOperandExtension.js +75 -0
  754. package/dist/profiles/elasticsearch/esParamOperandExtension.js.map +1 -0
  755. package/dist/profiles/elasticsearch/esQueryBuilder.cjs +249 -0
  756. package/dist/profiles/elasticsearch/esQueryBuilder.cjs.map +1 -0
  757. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts +35 -0
  758. package/dist/profiles/elasticsearch/esQueryBuilder.d.ts.map +1 -0
  759. package/dist/profiles/elasticsearch/esQueryBuilder.js +249 -0
  760. package/dist/profiles/elasticsearch/esQueryBuilder.js.map +1 -0
  761. package/dist/profiles/elasticsearch/esQueryBuilderExtension.cjs.map +1 -0
  762. package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts +5 -0
  763. package/dist/profiles/elasticsearch/esQueryBuilderExtension.d.ts.map +1 -0
  764. package/dist/profiles/elasticsearch/esQueryBuilderExtension.js.map +1 -0
  765. package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs +59 -0
  766. package/dist/profiles/elasticsearch/esQueryBuilderForm.cjs.map +1 -0
  767. package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts +25 -0
  768. package/dist/profiles/elasticsearch/esQueryBuilderForm.d.ts.map +1 -0
  769. package/dist/profiles/elasticsearch/esQueryBuilderForm.js +59 -0
  770. package/dist/profiles/elasticsearch/esQueryBuilderForm.js.map +1 -0
  771. package/dist/profiles/elasticsearch/esQueryBuilderModel.cjs.map +1 -0
  772. package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts +110 -0
  773. package/dist/profiles/elasticsearch/esQueryBuilderModel.d.ts.map +1 -0
  774. package/dist/profiles/elasticsearch/esQueryBuilderModel.js.map +1 -0
  775. package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs +144 -0
  776. package/dist/profiles/elasticsearch/esQueryClauseGroup.cjs.map +1 -0
  777. package/dist/profiles/elasticsearch/esQueryClauseGroup.d.ts.map +1 -0
  778. package/dist/profiles/elasticsearch/esQueryClauseGroup.js +144 -0
  779. package/dist/profiles/elasticsearch/esQueryClauseGroup.js.map +1 -0
  780. package/dist/profiles/elasticsearch/esQueryCompile.cjs +48 -0
  781. package/dist/profiles/elasticsearch/esQueryCompile.cjs.map +1 -0
  782. package/dist/profiles/elasticsearch/esQueryCompile.d.ts +40 -0
  783. package/dist/profiles/elasticsearch/esQueryCompile.d.ts.map +1 -0
  784. package/dist/profiles/elasticsearch/esQueryCompile.js +48 -0
  785. package/dist/profiles/elasticsearch/esQueryCompile.js.map +1 -0
  786. package/dist/profiles/elasticsearch/esQueryConditionRow.cjs +168 -0
  787. package/dist/profiles/elasticsearch/esQueryConditionRow.cjs.map +1 -0
  788. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts +37 -0
  789. package/dist/profiles/elasticsearch/esQueryConditionRow.d.ts.map +1 -0
  790. package/dist/profiles/elasticsearch/esQueryConditionRow.js +168 -0
  791. package/dist/profiles/elasticsearch/esQueryConditionRow.js.map +1 -0
  792. package/dist/profiles/elasticsearch/esQueryGroupModel.cjs.map +1 -0
  793. package/dist/profiles/elasticsearch/esQueryGroupModel.d.ts.map +1 -0
  794. package/dist/profiles/elasticsearch/esQueryGroupModel.js.map +1 -0
  795. package/dist/profiles/elasticsearch/esQueryOccur.cjs.map +1 -0
  796. package/dist/profiles/elasticsearch/esQueryOccur.d.ts.map +1 -0
  797. package/dist/profiles/elasticsearch/esQueryOccur.js.map +1 -0
  798. package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs +279 -0
  799. package/dist/profiles/elasticsearch/esQueryOperandEditors.cjs.map +1 -0
  800. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts +24 -0
  801. package/dist/profiles/elasticsearch/esQueryOperandEditors.d.ts.map +1 -0
  802. package/dist/profiles/elasticsearch/esQueryOperandEditors.js +279 -0
  803. package/dist/profiles/elasticsearch/esQueryOperandEditors.js.map +1 -0
  804. package/dist/profiles/elasticsearch/esQueryOperandModel.cjs.map +1 -0
  805. package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts +17 -0
  806. package/dist/profiles/elasticsearch/esQueryOperandModel.d.ts.map +1 -0
  807. package/dist/profiles/elasticsearch/esQueryOperandModel.js.map +1 -0
  808. package/dist/profiles/elasticsearch/esQueryOperators.cjs +166 -0
  809. package/dist/profiles/elasticsearch/esQueryOperators.cjs.map +1 -0
  810. package/dist/profiles/elasticsearch/esQueryOperators.d.ts +84 -0
  811. package/dist/profiles/elasticsearch/esQueryOperators.d.ts.map +1 -0
  812. package/dist/profiles/elasticsearch/esQueryOperators.js +166 -0
  813. package/dist/profiles/elasticsearch/esQueryOperators.js.map +1 -0
  814. package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs +138 -0
  815. package/dist/profiles/elasticsearch/esQueryOutputEditor.cjs.map +1 -0
  816. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts +7 -0
  817. package/dist/profiles/elasticsearch/esQueryOutputEditor.d.ts.map +1 -0
  818. package/dist/profiles/elasticsearch/esQueryOutputEditor.js +138 -0
  819. package/dist/profiles/elasticsearch/esQueryOutputEditor.js.map +1 -0
  820. package/dist/profiles/elasticsearch/esQueryOutputModel.cjs.map +1 -0
  821. package/dist/profiles/elasticsearch/esQueryOutputModel.d.ts.map +1 -0
  822. package/dist/profiles/elasticsearch/esQueryOutputModel.js.map +1 -0
  823. package/dist/profiles/elasticsearch/esQueryPreview.cjs.map +1 -0
  824. package/dist/profiles/elasticsearch/esQueryPreview.d.ts.map +1 -0
  825. package/dist/profiles/elasticsearch/esQueryPreview.js.map +1 -0
  826. package/dist/profiles/elasticsearch/esQuerySortEditor.cjs +143 -0
  827. package/dist/profiles/elasticsearch/esQuerySortEditor.cjs.map +1 -0
  828. package/dist/profiles/elasticsearch/esQuerySortEditor.d.ts.map +1 -0
  829. package/dist/profiles/elasticsearch/esQuerySortEditor.js +143 -0
  830. package/dist/profiles/elasticsearch/esQuerySortEditor.js.map +1 -0
  831. package/dist/profiles/elasticsearch/esQuerySortModel.cjs.map +1 -0
  832. package/dist/profiles/elasticsearch/esQuerySortModel.d.ts.map +1 -0
  833. package/dist/profiles/elasticsearch/esQuerySortModel.js.map +1 -0
  834. package/dist/profiles/elasticsearch/esValueCombobox.cjs +86 -0
  835. package/dist/profiles/elasticsearch/esValueCombobox.cjs.map +1 -0
  836. package/dist/profiles/elasticsearch/esValueCombobox.d.ts.map +1 -0
  837. package/dist/profiles/elasticsearch/esValueCombobox.js +86 -0
  838. package/dist/profiles/elasticsearch/esValueCombobox.js.map +1 -0
  839. package/dist/profiles/elasticsearch/index.d.ts +23 -0
  840. package/dist/profiles/elasticsearch/index.d.ts.map +1 -0
  841. package/dist/profiles/fields/index.d.ts +9 -0
  842. package/dist/profiles/fields/index.d.ts.map +1 -0
  843. package/dist/profiles/fields/profileColumnModel.cjs.map +1 -0
  844. package/dist/profiles/fields/profileColumnModel.d.ts +8 -0
  845. package/dist/profiles/fields/profileColumnModel.d.ts.map +1 -0
  846. package/dist/profiles/fields/profileColumnModel.js.map +1 -0
  847. package/dist/profiles/fields/profileColumnPicker.cjs +68 -0
  848. package/dist/profiles/fields/profileColumnPicker.cjs.map +1 -0
  849. package/dist/profiles/fields/profileColumnPicker.d.ts +11 -0
  850. package/dist/profiles/fields/profileColumnPicker.d.ts.map +1 -0
  851. package/dist/profiles/fields/profileColumnPicker.js +68 -0
  852. package/dist/profiles/fields/profileColumnPicker.js.map +1 -0
  853. package/dist/profiles/fields/profileFieldControls.cjs +50 -0
  854. package/dist/profiles/fields/profileFieldControls.cjs.map +1 -0
  855. package/dist/profiles/fields/profileFieldControls.d.ts +37 -0
  856. package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -0
  857. package/dist/profiles/fields/profileFieldControls.js +50 -0
  858. package/dist/profiles/fields/profileFieldControls.js.map +1 -0
  859. package/dist/profiles/fields/profileFieldEditor.cjs +198 -0
  860. package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -0
  861. package/dist/profiles/fields/profileFieldEditor.d.ts +34 -0
  862. package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -0
  863. package/dist/profiles/fields/profileFieldEditor.js +198 -0
  864. package/dist/profiles/fields/profileFieldEditor.js.map +1 -0
  865. package/dist/profiles/fields/profileFieldFilterEditor.cjs +122 -0
  866. package/dist/profiles/fields/profileFieldFilterEditor.cjs.map +1 -0
  867. package/dist/profiles/fields/profileFieldFilterEditor.d.ts +16 -0
  868. package/dist/profiles/fields/profileFieldFilterEditor.d.ts.map +1 -0
  869. package/dist/profiles/fields/profileFieldFilterEditor.js +122 -0
  870. package/dist/profiles/fields/profileFieldFilterEditor.js.map +1 -0
  871. package/dist/profiles/fields/profileFieldIcons.cjs +102 -0
  872. package/dist/profiles/fields/profileFieldIcons.cjs.map +1 -0
  873. package/dist/profiles/fields/profileFieldIcons.d.ts +10 -0
  874. package/dist/profiles/fields/profileFieldIcons.d.ts.map +1 -0
  875. package/dist/profiles/fields/profileFieldIcons.js +102 -0
  876. package/dist/profiles/fields/profileFieldIcons.js.map +1 -0
  877. package/dist/profiles/fields/profileFieldList.cjs +215 -0
  878. package/dist/profiles/fields/profileFieldList.cjs.map +1 -0
  879. package/dist/profiles/fields/profileFieldList.d.ts +24 -0
  880. package/dist/profiles/fields/profileFieldList.d.ts.map +1 -0
  881. package/dist/profiles/fields/profileFieldList.js +215 -0
  882. package/dist/profiles/fields/profileFieldList.js.map +1 -0
  883. package/dist/profiles/fields/profileFieldManager.cjs +103 -0
  884. package/dist/profiles/fields/profileFieldManager.cjs.map +1 -0
  885. package/dist/profiles/fields/profileFieldManager.d.ts.map +1 -0
  886. package/dist/profiles/fields/profileFieldManager.js +103 -0
  887. package/dist/profiles/fields/profileFieldManager.js.map +1 -0
  888. package/dist/profiles/fields/profileFieldState.cjs +136 -0
  889. package/dist/profiles/fields/profileFieldState.cjs.map +1 -0
  890. package/dist/profiles/fields/profileFieldState.d.ts +41 -0
  891. package/dist/profiles/fields/profileFieldState.d.ts.map +1 -0
  892. package/dist/profiles/fields/profileFieldState.js +136 -0
  893. package/dist/profiles/fields/profileFieldState.js.map +1 -0
  894. package/dist/profiles/fields/profileFieldTypes.cjs.map +1 -0
  895. package/dist/profiles/fields/profileFieldTypes.d.ts +8 -0
  896. package/dist/profiles/fields/profileFieldTypes.d.ts.map +1 -0
  897. package/dist/profiles/fields/profileFieldTypes.js.map +1 -0
  898. package/dist/profiles/fields/profileParamModel.cjs.map +1 -0
  899. package/dist/profiles/fields/profileParamModel.d.ts +3 -0
  900. package/dist/profiles/fields/profileParamModel.d.ts.map +1 -0
  901. package/dist/profiles/fields/profileParamModel.js.map +1 -0
  902. package/dist/profiles/processor/index.d.ts +6 -0
  903. package/dist/profiles/processor/index.d.ts.map +1 -0
  904. package/dist/profiles/processor/processorConfig.cjs +185 -0
  905. package/dist/profiles/processor/processorConfig.cjs.map +1 -0
  906. package/dist/profiles/processor/processorConfig.d.ts +34 -0
  907. package/dist/profiles/processor/processorConfig.d.ts.map +1 -0
  908. package/dist/profiles/processor/processorConfig.js +185 -0
  909. package/dist/profiles/processor/processorConfig.js.map +1 -0
  910. package/dist/profiles/processor/processorPipeline.cjs +300 -0
  911. package/dist/profiles/processor/processorPipeline.cjs.map +1 -0
  912. package/dist/profiles/processor/processorPipeline.d.ts +11 -0
  913. package/dist/profiles/processor/processorPipeline.d.ts.map +1 -0
  914. package/dist/profiles/processor/processorPipeline.js +300 -0
  915. package/dist/profiles/processor/processorPipeline.js.map +1 -0
  916. package/dist/profiles/processor/processorPipelineEditor.cjs +330 -0
  917. package/dist/profiles/processor/processorPipelineEditor.cjs.map +1 -0
  918. package/dist/profiles/processor/processorPipelineEditor.d.ts +16 -0
  919. package/dist/profiles/processor/processorPipelineEditor.d.ts.map +1 -0
  920. package/dist/profiles/processor/processorPipelineEditor.js +330 -0
  921. package/dist/profiles/processor/processorPipelineEditor.js.map +1 -0
  922. package/dist/profiles/processor/processorPipelineExtension.cjs +28 -0
  923. package/dist/profiles/processor/processorPipelineExtension.cjs.map +1 -0
  924. package/dist/profiles/processor/processorPipelineExtension.d.ts +5 -0
  925. package/dist/profiles/processor/processorPipelineExtension.d.ts.map +1 -0
  926. package/dist/profiles/processor/processorPipelineExtension.js +28 -0
  927. package/dist/profiles/processor/processorPipelineExtension.js.map +1 -0
  928. package/dist/profiles/processor/processorPreview.cjs +55 -0
  929. package/dist/profiles/processor/processorPreview.cjs.map +1 -0
  930. package/dist/profiles/processor/processorPreview.d.ts +20 -0
  931. package/dist/profiles/processor/processorPreview.d.ts.map +1 -0
  932. package/dist/profiles/processor/processorPreview.js +55 -0
  933. package/dist/profiles/processor/processorPreview.js.map +1 -0
  934. package/dist/profiles/processor/processorPreviewTable.cjs +103 -0
  935. package/dist/profiles/processor/processorPreviewTable.cjs.map +1 -0
  936. package/dist/profiles/processor/processorPreviewTable.d.ts +6 -0
  937. package/dist/profiles/processor/processorPreviewTable.d.ts.map +1 -0
  938. package/dist/profiles/processor/processorPreviewTable.js +103 -0
  939. package/dist/profiles/processor/processorPreviewTable.js.map +1 -0
  940. package/dist/profiles/processor/processorSampleParams.cjs +38 -0
  941. package/dist/profiles/processor/processorSampleParams.cjs.map +1 -0
  942. package/dist/profiles/processor/processorSampleParams.d.ts +6 -0
  943. package/dist/profiles/processor/processorSampleParams.d.ts.map +1 -0
  944. package/dist/profiles/processor/processorSampleParams.js +38 -0
  945. package/dist/profiles/processor/processorSampleParams.js.map +1 -0
  946. package/dist/profiles/profileApi.cjs +16 -0
  947. package/dist/profiles/profileApi.cjs.map +1 -1
  948. package/dist/profiles/profileApi.d.ts +36 -3
  949. package/dist/profiles/profileApi.d.ts.map +1 -1
  950. package/dist/profiles/profileApi.js +16 -0
  951. package/dist/profiles/profileApi.js.map +1 -1
  952. package/dist/profiles/query/index.d.ts +9 -0
  953. package/dist/profiles/query/index.d.ts.map +1 -0
  954. package/dist/profiles/query/jsonPathSample.cjs +75 -0
  955. package/dist/profiles/query/jsonPathSample.cjs.map +1 -0
  956. package/dist/profiles/query/jsonPathSample.d.ts +27 -0
  957. package/dist/profiles/query/jsonPathSample.d.ts.map +1 -0
  958. package/dist/profiles/query/jsonPathSample.js +75 -0
  959. package/dist/profiles/query/jsonPathSample.js.map +1 -0
  960. package/dist/profiles/query/jsonPathSampleRow.cjs.map +1 -0
  961. package/dist/profiles/query/jsonPathSampleRow.d.ts.map +1 -0
  962. package/dist/profiles/query/jsonPathSampleRow.js.map +1 -0
  963. package/dist/profiles/query/kubernetesWorkloadTarget.cjs +43 -0
  964. package/dist/profiles/query/kubernetesWorkloadTarget.cjs.map +1 -0
  965. package/dist/profiles/query/kubernetesWorkloadTarget.d.ts +3 -0
  966. package/dist/profiles/query/kubernetesWorkloadTarget.d.ts.map +1 -0
  967. package/dist/profiles/query/kubernetesWorkloadTarget.js +43 -0
  968. package/dist/profiles/query/kubernetesWorkloadTarget.js.map +1 -0
  969. package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs +53 -0
  970. package/dist/profiles/query/kubernetesWorkloadTargetPicker.cjs.map +1 -0
  971. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts +12 -0
  972. package/dist/profiles/query/kubernetesWorkloadTargetPicker.d.ts.map +1 -0
  973. package/dist/profiles/query/kubernetesWorkloadTargetPicker.js +53 -0
  974. package/dist/profiles/query/kubernetesWorkloadTargetPicker.js.map +1 -0
  975. package/dist/profiles/query/profileSamplePayload.cjs.map +1 -0
  976. package/dist/profiles/query/profileSamplePayload.d.ts +13 -0
  977. package/dist/profiles/query/profileSamplePayload.d.ts.map +1 -0
  978. package/dist/profiles/query/profileSamplePayload.js.map +1 -0
  979. package/dist/profiles/query/prometheusResults.cjs +60 -0
  980. package/dist/profiles/query/prometheusResults.cjs.map +1 -0
  981. package/dist/profiles/query/prometheusResults.d.ts +7 -0
  982. package/dist/profiles/query/prometheusResults.d.ts.map +1 -0
  983. package/dist/profiles/query/prometheusResults.js +60 -0
  984. package/dist/profiles/query/prometheusResults.js.map +1 -0
  985. package/dist/profiles/query/queryRowLimits.cjs +82 -0
  986. package/dist/profiles/query/queryRowLimits.cjs.map +1 -0
  987. package/dist/profiles/query/queryRowLimits.d.ts +9 -0
  988. package/dist/profiles/query/queryRowLimits.d.ts.map +1 -0
  989. package/dist/profiles/query/queryRowLimits.js +82 -0
  990. package/dist/profiles/query/queryRowLimits.js.map +1 -0
  991. package/dist/profiles/query/queryRowLimitsModel.cjs.map +1 -0
  992. package/dist/profiles/query/queryRowLimitsModel.d.ts +9 -0
  993. package/dist/profiles/query/queryRowLimitsModel.d.ts.map +1 -0
  994. package/dist/profiles/query/queryRowLimitsModel.js.map +1 -0
  995. package/dist/profiles/query/queryTargetPicker.cjs +42 -0
  996. package/dist/profiles/query/queryTargetPicker.cjs.map +1 -0
  997. package/dist/profiles/query/queryTargetPicker.d.ts +8 -0
  998. package/dist/profiles/query/queryTargetPicker.d.ts.map +1 -0
  999. package/dist/profiles/query/queryTargetPicker.js +42 -0
  1000. package/dist/profiles/query/queryTargetPicker.js.map +1 -0
  1001. package/dist/profiles/wizard/index.d.ts +6 -0
  1002. package/dist/profiles/wizard/index.d.ts.map +1 -0
  1003. package/dist/profiles/wizard/profileWizard.cjs +257 -0
  1004. package/dist/profiles/wizard/profileWizard.cjs.map +1 -0
  1005. package/dist/profiles/wizard/profileWizard.d.ts +12 -0
  1006. package/dist/profiles/wizard/profileWizard.d.ts.map +1 -0
  1007. package/dist/profiles/wizard/profileWizard.js +257 -0
  1008. package/dist/profiles/wizard/profileWizard.js.map +1 -0
  1009. package/dist/profiles/wizard/profileWizardHelp.cjs.map +1 -0
  1010. package/dist/profiles/wizard/profileWizardHelp.d.ts.map +1 -0
  1011. package/dist/profiles/wizard/profileWizardHelp.js.map +1 -0
  1012. package/dist/profiles/wizard/profileWizardModel.cjs +204 -0
  1013. package/dist/profiles/wizard/profileWizardModel.cjs.map +1 -0
  1014. package/dist/profiles/wizard/profileWizardModel.d.ts +266 -0
  1015. package/dist/profiles/wizard/profileWizardModel.d.ts.map +1 -0
  1016. package/dist/profiles/wizard/profileWizardModel.js +204 -0
  1017. package/dist/profiles/wizard/profileWizardModel.js.map +1 -0
  1018. package/dist/profiles/wizard/profileWizardQueryStep.cjs +215 -0
  1019. package/dist/profiles/wizard/profileWizardQueryStep.cjs.map +1 -0
  1020. package/dist/profiles/wizard/profileWizardQueryStep.d.ts.map +1 -0
  1021. package/dist/profiles/wizard/profileWizardQueryStep.js +215 -0
  1022. package/dist/profiles/wizard/profileWizardQueryStep.js.map +1 -0
  1023. package/dist/profiles/wizard/profileWizardSteps.cjs +214 -0
  1024. package/dist/profiles/wizard/profileWizardSteps.cjs.map +1 -0
  1025. package/dist/profiles/wizard/profileWizardSteps.d.ts.map +1 -0
  1026. package/dist/profiles/wizard/profileWizardSteps.js +214 -0
  1027. package/dist/profiles/wizard/profileWizardSteps.js.map +1 -0
  1028. package/dist/profiles.cjs +237 -178
  1029. package/dist/profiles.cjs.map +1 -1
  1030. package/dist/profiles.d.ts +8 -55
  1031. package/dist/profiles.d.ts.map +1 -1
  1032. package/dist/profiles.js +117 -58
  1033. package/dist/profiles.js.map +1 -1
  1034. package/dist/rpc/ChatLayer.cjs +27 -0
  1035. package/dist/rpc/ChatLayer.cjs.map +1 -0
  1036. package/dist/rpc/ChatLayer.d.ts +11 -0
  1037. package/dist/rpc/ChatLayer.d.ts.map +1 -0
  1038. package/dist/rpc/ChatLayer.js +27 -0
  1039. package/dist/rpc/ChatLayer.js.map +1 -0
  1040. package/dist/rpc/CommandForm.cjs +1 -1
  1041. package/dist/rpc/CommandForm.cjs.map +1 -1
  1042. package/dist/rpc/CommandForm.js +1 -1
  1043. package/dist/rpc/CommandForm.js.map +1 -1
  1044. package/dist/rpc/CommandOutput.cjs +29 -4
  1045. package/dist/rpc/CommandOutput.cjs.map +1 -1
  1046. package/dist/rpc/CommandOutput.d.ts +6 -2
  1047. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  1048. package/dist/rpc/CommandOutput.js +29 -4
  1049. package/dist/rpc/CommandOutput.js.map +1 -1
  1050. package/dist/rpc/EndpointList.cjs +1 -1
  1051. package/dist/rpc/EndpointList.cjs.map +1 -1
  1052. package/dist/rpc/EndpointList.js +1 -1
  1053. package/dist/rpc/EndpointList.js.map +1 -1
  1054. package/dist/rpc/EntityExplorerApp.cjs +4 -1
  1055. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  1056. package/dist/rpc/EntityExplorerApp.d.ts +3 -1
  1057. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  1058. package/dist/rpc/EntityExplorerApp.js +4 -1
  1059. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  1060. package/dist/rpc/FilterForm.cjs +66 -80
  1061. package/dist/rpc/FilterForm.cjs.map +1 -1
  1062. package/dist/rpc/FilterForm.d.ts.map +1 -1
  1063. package/dist/rpc/FilterForm.js +68 -82
  1064. package/dist/rpc/FilterForm.js.map +1 -1
  1065. package/dist/rpc/InlineError.cjs +19 -2
  1066. package/dist/rpc/InlineError.cjs.map +1 -1
  1067. package/dist/rpc/InlineError.d.ts +5 -1
  1068. package/dist/rpc/InlineError.d.ts.map +1 -1
  1069. package/dist/rpc/InlineError.js +19 -2
  1070. package/dist/rpc/InlineError.js.map +1 -1
  1071. package/dist/rpc/OperationCatalog.cjs +96 -100
  1072. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  1073. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  1074. package/dist/rpc/OperationCatalog.js +98 -102
  1075. package/dist/rpc/OperationCatalog.js.map +1 -1
  1076. package/dist/rpc/OperationCommandPage.cjs +19 -7
  1077. package/dist/rpc/OperationCommandPage.cjs.map +1 -1
  1078. package/dist/rpc/OperationCommandPage.d.ts.map +1 -1
  1079. package/dist/rpc/OperationCommandPage.js +21 -9
  1080. package/dist/rpc/OperationCommandPage.js.map +1 -1
  1081. package/dist/rpc/OperationEntityContextPicker.cjs +25 -13
  1082. package/dist/rpc/OperationEntityContextPicker.cjs.map +1 -1
  1083. package/dist/rpc/OperationEntityContextPicker.d.ts.map +1 -1
  1084. package/dist/rpc/OperationEntityContextPicker.js +26 -14
  1085. package/dist/rpc/OperationEntityContextPicker.js.map +1 -1
  1086. package/dist/rpc/OperationEntityPage.cjs +2 -8
  1087. package/dist/rpc/OperationEntityPage.cjs.map +1 -1
  1088. package/dist/rpc/OperationEntityPage.d.ts.map +1 -1
  1089. package/dist/rpc/OperationEntityPage.js +2 -8
  1090. package/dist/rpc/OperationEntityPage.js.map +1 -1
  1091. package/dist/rpc/OperationResultView.cjs +13 -2
  1092. package/dist/rpc/OperationResultView.cjs.map +1 -1
  1093. package/dist/rpc/OperationResultView.d.ts +34 -2
  1094. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  1095. package/dist/rpc/OperationResultView.js +13 -2
  1096. package/dist/rpc/OperationResultView.js.map +1 -1
  1097. package/dist/rpc/apiClient.cjs +11 -1
  1098. package/dist/rpc/apiClient.cjs.map +1 -1
  1099. package/dist/rpc/apiClient.d.ts +15 -5
  1100. package/dist/rpc/apiClient.d.ts.map +1 -1
  1101. package/dist/rpc/apiClient.js +12 -2
  1102. package/dist/rpc/apiClient.js.map +1 -1
  1103. package/dist/rpc/cursorStale.cjs +35 -0
  1104. package/dist/rpc/cursorStale.cjs.map +1 -0
  1105. package/dist/rpc/cursorStale.d.ts +23 -0
  1106. package/dist/rpc/cursorStale.d.ts.map +1 -0
  1107. package/dist/rpc/cursorStale.js +35 -0
  1108. package/dist/rpc/cursorStale.js.map +1 -0
  1109. package/dist/rpc/executionPages.cjs +94 -0
  1110. package/dist/rpc/executionPages.cjs.map +1 -0
  1111. package/dist/rpc/executionPages.d.ts +18 -0
  1112. package/dist/rpc/executionPages.d.ts.map +1 -0
  1113. package/dist/rpc/executionPages.js +94 -0
  1114. package/dist/rpc/executionPages.js.map +1 -0
  1115. package/dist/rpc/filterShapes.cjs +17 -0
  1116. package/dist/rpc/filterShapes.cjs.map +1 -0
  1117. package/dist/rpc/filterShapes.d.ts +22 -0
  1118. package/dist/rpc/filterShapes.d.ts.map +1 -0
  1119. package/dist/rpc/filterShapes.js +17 -0
  1120. package/dist/rpc/filterShapes.js.map +1 -0
  1121. package/dist/rpc/formMetadata.cjs +225 -50
  1122. package/dist/rpc/formMetadata.cjs.map +1 -1
  1123. package/dist/rpc/formMetadata.d.ts +18 -1
  1124. package/dist/rpc/formMetadata.d.ts.map +1 -1
  1125. package/dist/rpc/formMetadata.js +227 -52
  1126. package/dist/rpc/formMetadata.js.map +1 -1
  1127. package/dist/rpc/operationErrorDiagnostics.cjs +100 -0
  1128. package/dist/rpc/operationErrorDiagnostics.cjs.map +1 -0
  1129. package/dist/rpc/operationErrorDiagnostics.d.ts +4 -0
  1130. package/dist/rpc/operationErrorDiagnostics.d.ts.map +1 -0
  1131. package/dist/rpc/operationErrorDiagnostics.js +100 -0
  1132. package/dist/rpc/operationErrorDiagnostics.js.map +1 -0
  1133. package/dist/rpc/operationFilterSearch.cjs +1 -1
  1134. package/dist/rpc/operationFilterSearch.cjs.map +1 -1
  1135. package/dist/rpc/operationFilterSearch.js +2 -2
  1136. package/dist/rpc/operationFilterSearch.js.map +1 -1
  1137. package/dist/rpc/types.cjs.map +1 -1
  1138. package/dist/rpc/types.d.ts +54 -3
  1139. package/dist/rpc/types.d.ts.map +1 -1
  1140. package/dist/rpc/types.js.map +1 -1
  1141. package/dist/rpc/useOperationPages.cjs +111 -0
  1142. package/dist/rpc/useOperationPages.cjs.map +1 -0
  1143. package/dist/rpc/useOperationPages.d.ts +46 -0
  1144. package/dist/rpc/useOperationPages.d.ts.map +1 -0
  1145. package/dist/rpc/useOperationPages.js +111 -0
  1146. package/dist/rpc/useOperationPages.js.map +1 -0
  1147. package/dist/rpc/useOperations.cjs +7 -4
  1148. package/dist/rpc/useOperations.cjs.map +1 -1
  1149. package/dist/rpc/useOperations.d.ts.map +1 -1
  1150. package/dist/rpc/useOperations.js +7 -4
  1151. package/dist/rpc/useOperations.js.map +1 -1
  1152. package/dist/rpc.cjs +2 -0
  1153. package/dist/rpc.cjs.map +1 -1
  1154. package/dist/rpc.d.ts +2 -1
  1155. package/dist/rpc.d.ts.map +1 -1
  1156. package/dist/rpc.js +2 -0
  1157. package/dist/rpc.js.map +1 -1
  1158. package/dist/styles.css +2 -2
  1159. package/dist/tailwind-preset.cjs +6 -3
  1160. package/dist/tailwind-preset.cjs.map +1 -1
  1161. package/dist/tailwind-preset.d.ts.map +1 -1
  1162. package/dist/tailwind-preset.js +6 -3
  1163. package/dist/tailwind-preset.js.map +1 -1
  1164. package/dist/utils.cjs +6 -0
  1165. package/dist/utils.cjs.map +1 -1
  1166. package/dist/utils.d.ts +1 -0
  1167. package/dist/utils.d.ts.map +1 -1
  1168. package/dist/utils.js +6 -0
  1169. package/dist/utils.js.map +1 -1
  1170. package/package.json +5 -5
  1171. package/dist/profiles/catalogTree.cjs +0 -133
  1172. package/dist/profiles/catalogTree.cjs.map +0 -1
  1173. package/dist/profiles/catalogTree.d.ts.map +0 -1
  1174. package/dist/profiles/catalogTree.js +0 -133
  1175. package/dist/profiles/catalogTree.js.map +0 -1
  1176. package/dist/profiles/connectionBrowserModel.cjs +0 -185
  1177. package/dist/profiles/connectionBrowserModel.cjs.map +0 -1
  1178. package/dist/profiles/connectionBrowserModel.d.ts +0 -169
  1179. package/dist/profiles/connectionBrowserModel.d.ts.map +0 -1
  1180. package/dist/profiles/connectionBrowserModel.js +0 -185
  1181. package/dist/profiles/connectionBrowserModel.js.map +0 -1
  1182. package/dist/profiles/connectionQueryWorkspace.cjs +0 -185
  1183. package/dist/profiles/connectionQueryWorkspace.cjs.map +0 -1
  1184. package/dist/profiles/connectionQueryWorkspace.d.ts +0 -63
  1185. package/dist/profiles/connectionQueryWorkspace.d.ts.map +0 -1
  1186. package/dist/profiles/connectionQueryWorkspace.js +0 -185
  1187. package/dist/profiles/connectionQueryWorkspace.js.map +0 -1
  1188. package/dist/profiles/connectionQueryWorkspaceModel.cjs +0 -28
  1189. package/dist/profiles/connectionQueryWorkspaceModel.cjs.map +0 -1
  1190. package/dist/profiles/connectionQueryWorkspaceModel.d.ts +0 -38
  1191. package/dist/profiles/connectionQueryWorkspaceModel.d.ts.map +0 -1
  1192. package/dist/profiles/connectionQueryWorkspaceModel.js +0 -28
  1193. package/dist/profiles/connectionQueryWorkspaceModel.js.map +0 -1
  1194. package/dist/profiles/esFieldValues.cjs +0 -64
  1195. package/dist/profiles/esFieldValues.cjs.map +0 -1
  1196. package/dist/profiles/esFieldValues.d.ts +0 -48
  1197. package/dist/profiles/esFieldValues.d.ts.map +0 -1
  1198. package/dist/profiles/esFieldValues.js +0 -64
  1199. package/dist/profiles/esFieldValues.js.map +0 -1
  1200. package/dist/profiles/esParamMappingModel.cjs +0 -301
  1201. package/dist/profiles/esParamMappingModel.cjs.map +0 -1
  1202. package/dist/profiles/esParamMappingModel.d.ts +0 -37
  1203. package/dist/profiles/esParamMappingModel.d.ts.map +0 -1
  1204. package/dist/profiles/esParamMappingModel.js +0 -301
  1205. package/dist/profiles/esParamMappingModel.js.map +0 -1
  1206. package/dist/profiles/esParamMappingPill.cjs.map +0 -1
  1207. package/dist/profiles/esParamMappingPill.d.ts.map +0 -1
  1208. package/dist/profiles/esParamMappingPill.js.map +0 -1
  1209. package/dist/profiles/esParamOperandExtension.cjs +0 -75
  1210. package/dist/profiles/esParamOperandExtension.cjs.map +0 -1
  1211. package/dist/profiles/esParamOperandExtension.d.ts +0 -11
  1212. package/dist/profiles/esParamOperandExtension.d.ts.map +0 -1
  1213. package/dist/profiles/esParamOperandExtension.js +0 -75
  1214. package/dist/profiles/esParamOperandExtension.js.map +0 -1
  1215. package/dist/profiles/esQueryBuilder.cjs +0 -205
  1216. package/dist/profiles/esQueryBuilder.cjs.map +0 -1
  1217. package/dist/profiles/esQueryBuilder.d.ts +0 -35
  1218. package/dist/profiles/esQueryBuilder.d.ts.map +0 -1
  1219. package/dist/profiles/esQueryBuilder.js +0 -205
  1220. package/dist/profiles/esQueryBuilder.js.map +0 -1
  1221. package/dist/profiles/esQueryBuilderExtension.cjs.map +0 -1
  1222. package/dist/profiles/esQueryBuilderExtension.d.ts +0 -5
  1223. package/dist/profiles/esQueryBuilderExtension.d.ts.map +0 -1
  1224. package/dist/profiles/esQueryBuilderExtension.js.map +0 -1
  1225. package/dist/profiles/esQueryBuilderForm.cjs +0 -26
  1226. package/dist/profiles/esQueryBuilderForm.cjs.map +0 -1
  1227. package/dist/profiles/esQueryBuilderForm.d.ts +0 -18
  1228. package/dist/profiles/esQueryBuilderForm.d.ts.map +0 -1
  1229. package/dist/profiles/esQueryBuilderForm.js +0 -26
  1230. package/dist/profiles/esQueryBuilderForm.js.map +0 -1
  1231. package/dist/profiles/esQueryBuilderModel.cjs.map +0 -1
  1232. package/dist/profiles/esQueryBuilderModel.d.ts +0 -108
  1233. package/dist/profiles/esQueryBuilderModel.d.ts.map +0 -1
  1234. package/dist/profiles/esQueryBuilderModel.js.map +0 -1
  1235. package/dist/profiles/esQueryClauseGroup.cjs +0 -144
  1236. package/dist/profiles/esQueryClauseGroup.cjs.map +0 -1
  1237. package/dist/profiles/esQueryClauseGroup.d.ts.map +0 -1
  1238. package/dist/profiles/esQueryClauseGroup.js +0 -144
  1239. package/dist/profiles/esQueryClauseGroup.js.map +0 -1
  1240. package/dist/profiles/esQueryCompile.cjs +0 -47
  1241. package/dist/profiles/esQueryCompile.cjs.map +0 -1
  1242. package/dist/profiles/esQueryCompile.d.ts +0 -39
  1243. package/dist/profiles/esQueryCompile.d.ts.map +0 -1
  1244. package/dist/profiles/esQueryCompile.js +0 -47
  1245. package/dist/profiles/esQueryCompile.js.map +0 -1
  1246. package/dist/profiles/esQueryConditionRow.cjs +0 -168
  1247. package/dist/profiles/esQueryConditionRow.cjs.map +0 -1
  1248. package/dist/profiles/esQueryConditionRow.d.ts +0 -37
  1249. package/dist/profiles/esQueryConditionRow.d.ts.map +0 -1
  1250. package/dist/profiles/esQueryConditionRow.js +0 -168
  1251. package/dist/profiles/esQueryConditionRow.js.map +0 -1
  1252. package/dist/profiles/esQueryGroupModel.cjs.map +0 -1
  1253. package/dist/profiles/esQueryGroupModel.d.ts.map +0 -1
  1254. package/dist/profiles/esQueryGroupModel.js.map +0 -1
  1255. package/dist/profiles/esQueryOccur.cjs.map +0 -1
  1256. package/dist/profiles/esQueryOccur.d.ts.map +0 -1
  1257. package/dist/profiles/esQueryOccur.js.map +0 -1
  1258. package/dist/profiles/esQueryOperandEditors.cjs +0 -279
  1259. package/dist/profiles/esQueryOperandEditors.cjs.map +0 -1
  1260. package/dist/profiles/esQueryOperandEditors.d.ts +0 -24
  1261. package/dist/profiles/esQueryOperandEditors.d.ts.map +0 -1
  1262. package/dist/profiles/esQueryOperandEditors.js +0 -279
  1263. package/dist/profiles/esQueryOperandEditors.js.map +0 -1
  1264. package/dist/profiles/esQueryOperandModel.cjs.map +0 -1
  1265. package/dist/profiles/esQueryOperandModel.d.ts +0 -17
  1266. package/dist/profiles/esQueryOperandModel.d.ts.map +0 -1
  1267. package/dist/profiles/esQueryOperandModel.js.map +0 -1
  1268. package/dist/profiles/esQueryOperators.cjs +0 -165
  1269. package/dist/profiles/esQueryOperators.cjs.map +0 -1
  1270. package/dist/profiles/esQueryOperators.d.ts +0 -83
  1271. package/dist/profiles/esQueryOperators.d.ts.map +0 -1
  1272. package/dist/profiles/esQueryOperators.js +0 -165
  1273. package/dist/profiles/esQueryOperators.js.map +0 -1
  1274. package/dist/profiles/esQueryOutputEditor.cjs +0 -138
  1275. package/dist/profiles/esQueryOutputEditor.cjs.map +0 -1
  1276. package/dist/profiles/esQueryOutputEditor.d.ts +0 -7
  1277. package/dist/profiles/esQueryOutputEditor.d.ts.map +0 -1
  1278. package/dist/profiles/esQueryOutputEditor.js +0 -138
  1279. package/dist/profiles/esQueryOutputEditor.js.map +0 -1
  1280. package/dist/profiles/esQueryOutputModel.cjs.map +0 -1
  1281. package/dist/profiles/esQueryOutputModel.d.ts.map +0 -1
  1282. package/dist/profiles/esQueryOutputModel.js.map +0 -1
  1283. package/dist/profiles/esQueryPreview.cjs.map +0 -1
  1284. package/dist/profiles/esQueryPreview.d.ts.map +0 -1
  1285. package/dist/profiles/esQueryPreview.js.map +0 -1
  1286. package/dist/profiles/esQuerySortEditor.cjs +0 -143
  1287. package/dist/profiles/esQuerySortEditor.cjs.map +0 -1
  1288. package/dist/profiles/esQuerySortEditor.d.ts.map +0 -1
  1289. package/dist/profiles/esQuerySortEditor.js +0 -143
  1290. package/dist/profiles/esQuerySortEditor.js.map +0 -1
  1291. package/dist/profiles/esQuerySortModel.cjs.map +0 -1
  1292. package/dist/profiles/esQuerySortModel.d.ts.map +0 -1
  1293. package/dist/profiles/esQuerySortModel.js.map +0 -1
  1294. package/dist/profiles/esValueCombobox.cjs +0 -86
  1295. package/dist/profiles/esValueCombobox.cjs.map +0 -1
  1296. package/dist/profiles/esValueCombobox.d.ts.map +0 -1
  1297. package/dist/profiles/esValueCombobox.js +0 -86
  1298. package/dist/profiles/esValueCombobox.js.map +0 -1
  1299. package/dist/profiles/jsonPathSample.cjs +0 -75
  1300. package/dist/profiles/jsonPathSample.cjs.map +0 -1
  1301. package/dist/profiles/jsonPathSample.d.ts +0 -27
  1302. package/dist/profiles/jsonPathSample.d.ts.map +0 -1
  1303. package/dist/profiles/jsonPathSample.js +0 -75
  1304. package/dist/profiles/jsonPathSample.js.map +0 -1
  1305. package/dist/profiles/jsonPathSampleRow.cjs.map +0 -1
  1306. package/dist/profiles/jsonPathSampleRow.d.ts.map +0 -1
  1307. package/dist/profiles/jsonPathSampleRow.js.map +0 -1
  1308. package/dist/profiles/profileBuilder.cjs +0 -65
  1309. package/dist/profiles/profileBuilder.cjs.map +0 -1
  1310. package/dist/profiles/profileBuilder.d.ts.map +0 -1
  1311. package/dist/profiles/profileBuilder.js +0 -65
  1312. package/dist/profiles/profileBuilder.js.map +0 -1
  1313. package/dist/profiles/profileBuilderExtension.cjs.map +0 -1
  1314. package/dist/profiles/profileBuilderExtension.d.ts +0 -5
  1315. package/dist/profiles/profileBuilderExtension.d.ts.map +0 -1
  1316. package/dist/profiles/profileBuilderExtension.js.map +0 -1
  1317. package/dist/profiles/profileBuilderWorkspace.cjs +0 -368
  1318. package/dist/profiles/profileBuilderWorkspace.cjs.map +0 -1
  1319. package/dist/profiles/profileBuilderWorkspace.d.ts +0 -21
  1320. package/dist/profiles/profileBuilderWorkspace.d.ts.map +0 -1
  1321. package/dist/profiles/profileBuilderWorkspace.js +0 -368
  1322. package/dist/profiles/profileBuilderWorkspace.js.map +0 -1
  1323. package/dist/profiles/profileColumnModel.cjs.map +0 -1
  1324. package/dist/profiles/profileColumnModel.d.ts +0 -8
  1325. package/dist/profiles/profileColumnModel.d.ts.map +0 -1
  1326. package/dist/profiles/profileColumnModel.js.map +0 -1
  1327. package/dist/profiles/profileColumnPicker.cjs +0 -68
  1328. package/dist/profiles/profileColumnPicker.cjs.map +0 -1
  1329. package/dist/profiles/profileColumnPicker.d.ts +0 -11
  1330. package/dist/profiles/profileColumnPicker.d.ts.map +0 -1
  1331. package/dist/profiles/profileColumnPicker.js +0 -68
  1332. package/dist/profiles/profileColumnPicker.js.map +0 -1
  1333. package/dist/profiles/profileEditor.cjs +0 -386
  1334. package/dist/profiles/profileEditor.cjs.map +0 -1
  1335. package/dist/profiles/profileEditor.d.ts +0 -19
  1336. package/dist/profiles/profileEditor.d.ts.map +0 -1
  1337. package/dist/profiles/profileEditor.js +0 -386
  1338. package/dist/profiles/profileEditor.js.map +0 -1
  1339. package/dist/profiles/profileEditorModel.cjs +0 -181
  1340. package/dist/profiles/profileEditorModel.cjs.map +0 -1
  1341. package/dist/profiles/profileEditorModel.d.ts +0 -74
  1342. package/dist/profiles/profileEditorModel.d.ts.map +0 -1
  1343. package/dist/profiles/profileEditorModel.js +0 -181
  1344. package/dist/profiles/profileEditorModel.js.map +0 -1
  1345. package/dist/profiles/profileEditorPreview.cjs.map +0 -1
  1346. package/dist/profiles/profileEditorPreview.d.ts +0 -12
  1347. package/dist/profiles/profileEditorPreview.d.ts.map +0 -1
  1348. package/dist/profiles/profileEditorPreview.js.map +0 -1
  1349. package/dist/profiles/profileEditorRail.cjs.map +0 -1
  1350. package/dist/profiles/profileEditorRail.d.ts.map +0 -1
  1351. package/dist/profiles/profileEditorRail.js.map +0 -1
  1352. package/dist/profiles/profileEditorRaw.cjs +0 -118
  1353. package/dist/profiles/profileEditorRaw.cjs.map +0 -1
  1354. package/dist/profiles/profileEditorRaw.d.ts +0 -7
  1355. package/dist/profiles/profileEditorRaw.d.ts.map +0 -1
  1356. package/dist/profiles/profileEditorRaw.js +0 -118
  1357. package/dist/profiles/profileEditorRaw.js.map +0 -1
  1358. package/dist/profiles/profileEditorRoutes.cjs.map +0 -1
  1359. package/dist/profiles/profileEditorRoutes.d.ts.map +0 -1
  1360. package/dist/profiles/profileEditorRoutes.js.map +0 -1
  1361. package/dist/profiles/profileEditorSections.cjs +0 -213
  1362. package/dist/profiles/profileEditorSections.cjs.map +0 -1
  1363. package/dist/profiles/profileEditorSections.d.ts +0 -23
  1364. package/dist/profiles/profileEditorSections.d.ts.map +0 -1
  1365. package/dist/profiles/profileEditorSections.js +0 -213
  1366. package/dist/profiles/profileEditorSections.js.map +0 -1
  1367. package/dist/profiles/profileFieldEditor.cjs +0 -200
  1368. package/dist/profiles/profileFieldEditor.cjs.map +0 -1
  1369. package/dist/profiles/profileFieldEditor.d.ts +0 -34
  1370. package/dist/profiles/profileFieldEditor.d.ts.map +0 -1
  1371. package/dist/profiles/profileFieldEditor.js +0 -200
  1372. package/dist/profiles/profileFieldEditor.js.map +0 -1
  1373. package/dist/profiles/profileFieldGrid.cjs +0 -250
  1374. package/dist/profiles/profileFieldGrid.cjs.map +0 -1
  1375. package/dist/profiles/profileFieldGrid.d.ts +0 -20
  1376. package/dist/profiles/profileFieldGrid.d.ts.map +0 -1
  1377. package/dist/profiles/profileFieldGrid.js +0 -250
  1378. package/dist/profiles/profileFieldGrid.js.map +0 -1
  1379. package/dist/profiles/profileFieldManager.cjs +0 -103
  1380. package/dist/profiles/profileFieldManager.cjs.map +0 -1
  1381. package/dist/profiles/profileFieldManager.d.ts.map +0 -1
  1382. package/dist/profiles/profileFieldManager.js +0 -103
  1383. package/dist/profiles/profileFieldManager.js.map +0 -1
  1384. package/dist/profiles/profileFieldState.cjs +0 -136
  1385. package/dist/profiles/profileFieldState.cjs.map +0 -1
  1386. package/dist/profiles/profileFieldState.d.ts +0 -41
  1387. package/dist/profiles/profileFieldState.d.ts.map +0 -1
  1388. package/dist/profiles/profileFieldState.js +0 -136
  1389. package/dist/profiles/profileFieldState.js.map +0 -1
  1390. package/dist/profiles/profileFieldTypes.cjs.map +0 -1
  1391. package/dist/profiles/profileFieldTypes.d.ts +0 -8
  1392. package/dist/profiles/profileFieldTypes.d.ts.map +0 -1
  1393. package/dist/profiles/profileFieldTypes.js.map +0 -1
  1394. package/dist/profiles/profileParamModel.cjs.map +0 -1
  1395. package/dist/profiles/profileParamModel.d.ts +0 -3
  1396. package/dist/profiles/profileParamModel.d.ts.map +0 -1
  1397. package/dist/profiles/profileParamModel.js.map +0 -1
  1398. package/dist/profiles/profileSamplePayload.cjs.map +0 -1
  1399. package/dist/profiles/profileSamplePayload.d.ts +0 -13
  1400. package/dist/profiles/profileSamplePayload.d.ts.map +0 -1
  1401. package/dist/profiles/profileSamplePayload.js.map +0 -1
  1402. package/dist/profiles/profileWizard.cjs +0 -257
  1403. package/dist/profiles/profileWizard.cjs.map +0 -1
  1404. package/dist/profiles/profileWizard.d.ts +0 -12
  1405. package/dist/profiles/profileWizard.d.ts.map +0 -1
  1406. package/dist/profiles/profileWizard.js +0 -257
  1407. package/dist/profiles/profileWizard.js.map +0 -1
  1408. package/dist/profiles/profileWizardHelp.cjs.map +0 -1
  1409. package/dist/profiles/profileWizardHelp.d.ts.map +0 -1
  1410. package/dist/profiles/profileWizardHelp.js.map +0 -1
  1411. package/dist/profiles/profileWizardModel.cjs +0 -198
  1412. package/dist/profiles/profileWizardModel.cjs.map +0 -1
  1413. package/dist/profiles/profileWizardModel.d.ts +0 -255
  1414. package/dist/profiles/profileWizardModel.d.ts.map +0 -1
  1415. package/dist/profiles/profileWizardModel.js +0 -198
  1416. package/dist/profiles/profileWizardModel.js.map +0 -1
  1417. package/dist/profiles/profileWizardQueryStep.cjs +0 -215
  1418. package/dist/profiles/profileWizardQueryStep.cjs.map +0 -1
  1419. package/dist/profiles/profileWizardQueryStep.d.ts.map +0 -1
  1420. package/dist/profiles/profileWizardQueryStep.js +0 -215
  1421. package/dist/profiles/profileWizardQueryStep.js.map +0 -1
  1422. package/dist/profiles/profileWizardSteps.cjs +0 -214
  1423. package/dist/profiles/profileWizardSteps.cjs.map +0 -1
  1424. package/dist/profiles/profileWizardSteps.d.ts.map +0 -1
  1425. package/dist/profiles/profileWizardSteps.js +0 -214
  1426. package/dist/profiles/profileWizardSteps.js.map +0 -1
  1427. package/dist/profiles/profileYaml.cjs +0 -19
  1428. package/dist/profiles/profileYaml.cjs.map +0 -1
  1429. package/dist/profiles/profileYaml.d.ts +0 -4
  1430. package/dist/profiles/profileYaml.d.ts.map +0 -1
  1431. package/dist/profiles/profileYaml.js +0 -19
  1432. package/dist/profiles/profileYaml.js.map +0 -1
  1433. package/dist/profiles/prometheusResults.cjs +0 -60
  1434. package/dist/profiles/prometheusResults.cjs.map +0 -1
  1435. package/dist/profiles/prometheusResults.d.ts +0 -7
  1436. package/dist/profiles/prometheusResults.d.ts.map +0 -1
  1437. package/dist/profiles/prometheusResults.js +0 -60
  1438. package/dist/profiles/prometheusResults.js.map +0 -1
  1439. package/dist/profiles/queryRowLimits.cjs +0 -82
  1440. package/dist/profiles/queryRowLimits.cjs.map +0 -1
  1441. package/dist/profiles/queryRowLimits.d.ts +0 -9
  1442. package/dist/profiles/queryRowLimits.d.ts.map +0 -1
  1443. package/dist/profiles/queryRowLimits.js +0 -82
  1444. package/dist/profiles/queryRowLimits.js.map +0 -1
  1445. package/dist/profiles/queryRowLimitsModel.cjs.map +0 -1
  1446. package/dist/profiles/queryRowLimitsModel.d.ts +0 -9
  1447. package/dist/profiles/queryRowLimitsModel.d.ts.map +0 -1
  1448. package/dist/profiles/queryRowLimitsModel.js.map +0 -1
  1449. package/dist/profiles/queryTargetPicker.cjs +0 -42
  1450. package/dist/profiles/queryTargetPicker.cjs.map +0 -1
  1451. package/dist/profiles/queryTargetPicker.d.ts +0 -8
  1452. package/dist/profiles/queryTargetPicker.d.ts.map +0 -1
  1453. package/dist/profiles/queryTargetPicker.js +0 -42
  1454. package/dist/profiles/queryTargetPicker.js.map +0 -1
  1455. package/dist/profiles/testSchema.d.ts +0 -3
  1456. package/dist/profiles/testSchema.d.ts.map +0 -1
  1457. /package/dist/profiles/{catalogTree.d.ts → connections/catalogTree.d.ts} +0 -0
  1458. /package/dist/profiles/{profileBuilder.d.ts → editor/profileBuilder.d.ts} +0 -0
  1459. /package/dist/profiles/{profileBuilderExtension.cjs → editor/profileBuilderExtension.cjs} +0 -0
  1460. /package/dist/profiles/{profileBuilderExtension.js → editor/profileBuilderExtension.js} +0 -0
  1461. /package/dist/profiles/{profileEditorPreview.cjs → editor/profileEditorPreview.cjs} +0 -0
  1462. /package/dist/profiles/{profileEditorPreview.js → editor/profileEditorPreview.js} +0 -0
  1463. /package/dist/profiles/{profileEditorRail.cjs → editor/profileEditorRail.cjs} +0 -0
  1464. /package/dist/profiles/{profileEditorRail.d.ts → editor/profileEditorRail.d.ts} +0 -0
  1465. /package/dist/profiles/{profileEditorRail.js → editor/profileEditorRail.js} +0 -0
  1466. /package/dist/profiles/{profileEditorRoutes.cjs → editor/profileEditorRoutes.cjs} +0 -0
  1467. /package/dist/profiles/{profileEditorRoutes.d.ts → editor/profileEditorRoutes.d.ts} +0 -0
  1468. /package/dist/profiles/{profileEditorRoutes.js → editor/profileEditorRoutes.js} +0 -0
  1469. /package/dist/profiles/{esParamMappingPill.cjs → elasticsearch/esParamMappingPill.cjs} +0 -0
  1470. /package/dist/profiles/{esParamMappingPill.d.ts → elasticsearch/esParamMappingPill.d.ts} +0 -0
  1471. /package/dist/profiles/{esParamMappingPill.js → elasticsearch/esParamMappingPill.js} +0 -0
  1472. /package/dist/profiles/{esQueryBuilderExtension.cjs → elasticsearch/esQueryBuilderExtension.cjs} +0 -0
  1473. /package/dist/profiles/{esQueryBuilderExtension.js → elasticsearch/esQueryBuilderExtension.js} +0 -0
  1474. /package/dist/profiles/{esQueryBuilderModel.cjs → elasticsearch/esQueryBuilderModel.cjs} +0 -0
  1475. /package/dist/profiles/{esQueryBuilderModel.js → elasticsearch/esQueryBuilderModel.js} +0 -0
  1476. /package/dist/profiles/{esQueryClauseGroup.d.ts → elasticsearch/esQueryClauseGroup.d.ts} +0 -0
  1477. /package/dist/profiles/{esQueryGroupModel.cjs → elasticsearch/esQueryGroupModel.cjs} +0 -0
  1478. /package/dist/profiles/{esQueryGroupModel.d.ts → elasticsearch/esQueryGroupModel.d.ts} +0 -0
  1479. /package/dist/profiles/{esQueryGroupModel.js → elasticsearch/esQueryGroupModel.js} +0 -0
  1480. /package/dist/profiles/{esQueryOccur.cjs → elasticsearch/esQueryOccur.cjs} +0 -0
  1481. /package/dist/profiles/{esQueryOccur.d.ts → elasticsearch/esQueryOccur.d.ts} +0 -0
  1482. /package/dist/profiles/{esQueryOccur.js → elasticsearch/esQueryOccur.js} +0 -0
  1483. /package/dist/profiles/{esQueryOperandModel.cjs → elasticsearch/esQueryOperandModel.cjs} +0 -0
  1484. /package/dist/profiles/{esQueryOperandModel.js → elasticsearch/esQueryOperandModel.js} +0 -0
  1485. /package/dist/profiles/{esQueryOutputModel.cjs → elasticsearch/esQueryOutputModel.cjs} +0 -0
  1486. /package/dist/profiles/{esQueryOutputModel.d.ts → elasticsearch/esQueryOutputModel.d.ts} +0 -0
  1487. /package/dist/profiles/{esQueryOutputModel.js → elasticsearch/esQueryOutputModel.js} +0 -0
  1488. /package/dist/profiles/{esQueryPreview.cjs → elasticsearch/esQueryPreview.cjs} +0 -0
  1489. /package/dist/profiles/{esQueryPreview.d.ts → elasticsearch/esQueryPreview.d.ts} +0 -0
  1490. /package/dist/profiles/{esQueryPreview.js → elasticsearch/esQueryPreview.js} +0 -0
  1491. /package/dist/profiles/{esQuerySortEditor.d.ts → elasticsearch/esQuerySortEditor.d.ts} +0 -0
  1492. /package/dist/profiles/{esQuerySortModel.cjs → elasticsearch/esQuerySortModel.cjs} +0 -0
  1493. /package/dist/profiles/{esQuerySortModel.d.ts → elasticsearch/esQuerySortModel.d.ts} +0 -0
  1494. /package/dist/profiles/{esQuerySortModel.js → elasticsearch/esQuerySortModel.js} +0 -0
  1495. /package/dist/profiles/{esValueCombobox.d.ts → elasticsearch/esValueCombobox.d.ts} +0 -0
  1496. /package/dist/profiles/{profileColumnModel.cjs → fields/profileColumnModel.cjs} +0 -0
  1497. /package/dist/profiles/{profileColumnModel.js → fields/profileColumnModel.js} +0 -0
  1498. /package/dist/profiles/{profileFieldManager.d.ts → fields/profileFieldManager.d.ts} +0 -0
  1499. /package/dist/profiles/{profileFieldTypes.cjs → fields/profileFieldTypes.cjs} +0 -0
  1500. /package/dist/profiles/{profileFieldTypes.js → fields/profileFieldTypes.js} +0 -0
  1501. /package/dist/profiles/{profileParamModel.cjs → fields/profileParamModel.cjs} +0 -0
  1502. /package/dist/profiles/{profileParamModel.js → fields/profileParamModel.js} +0 -0
  1503. /package/dist/profiles/{jsonPathSampleRow.cjs → query/jsonPathSampleRow.cjs} +0 -0
  1504. /package/dist/profiles/{jsonPathSampleRow.d.ts → query/jsonPathSampleRow.d.ts} +0 -0
  1505. /package/dist/profiles/{jsonPathSampleRow.js → query/jsonPathSampleRow.js} +0 -0
  1506. /package/dist/profiles/{profileSamplePayload.cjs → query/profileSamplePayload.cjs} +0 -0
  1507. /package/dist/profiles/{profileSamplePayload.js → query/profileSamplePayload.js} +0 -0
  1508. /package/dist/profiles/{queryRowLimitsModel.cjs → query/queryRowLimitsModel.cjs} +0 -0
  1509. /package/dist/profiles/{queryRowLimitsModel.js → query/queryRowLimitsModel.js} +0 -0
  1510. /package/dist/profiles/{profileWizardHelp.cjs → wizard/profileWizardHelp.cjs} +0 -0
  1511. /package/dist/profiles/{profileWizardHelp.d.ts → wizard/profileWizardHelp.d.ts} +0 -0
  1512. /package/dist/profiles/{profileWizardHelp.js → wizard/profileWizardHelp.js} +0 -0
  1513. /package/dist/profiles/{profileWizardQueryStep.d.ts → wizard/profileWizardQueryStep.d.ts} +0 -0
  1514. /package/dist/profiles/{profileWizardSteps.d.ts → wizard/profileWizardSteps.d.ts} +0 -0
@@ -1,26 +1,56 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { useState, useEffect, useMemo } from "react";
2
+ import { useState, useRef, useEffect, useMemo } from "react";
3
3
  import { cn } from "../lib/utils.js";
4
4
  import { Combobox } from "./Combobox.js";
5
- import { ALL_WORKLOAD_KINDS, buildWorkloadOptions, loadedWorkloads, kindForValue, WORKLOAD_META } from "./workload-picker-utils.js";
5
+ import { NamespacePicker } from "./NamespacePicker.js";
6
+ import { parseWorkloadKey, ALL_WORKLOAD_KINDS, buildWorkloadOptions, loadedWorkloads, kindForValue, WORKLOAD_META, namespaceKey } from "./workload-picker-utils.js";
6
7
  function WorkloadPicker({
7
8
  value,
8
9
  onChange,
9
10
  loadWorkloads,
10
11
  namespace,
12
+ allowNamespaceSelection = false,
13
+ loadNamespaces,
14
+ onNamespaceChange,
11
15
  kinds = ALL_WORKLOAD_KINDS,
12
16
  strict = false,
13
17
  allowCustomValue = true,
18
+ collapseSingleOption = false,
19
+ disabled = false,
14
20
  placeholder = "Select workload / service…",
15
21
  className
16
22
  }) {
23
+ const initialNamespace = value ? parseWorkloadKey(value).namespace : void 0;
24
+ const [selectedNamespace, setSelectedNamespace] = useState(
25
+ initialNamespace ?? namespace ?? ""
26
+ );
17
27
  const [byKind, setByKind] = useState({});
18
28
  const [loading, setLoading] = useState(false);
29
+ const defaultNamespaceRef = useRef(namespace);
30
+ const effectiveNamespace = allowNamespaceSelection ? selectedNamespace || void 0 : namespace;
31
+ useEffect(() => {
32
+ if (!allowNamespaceSelection || !value) return;
33
+ const valueNamespace = parseWorkloadKey(value).namespace;
34
+ if (valueNamespace) setSelectedNamespace(valueNamespace);
35
+ }, [allowNamespaceSelection, value]);
36
+ useEffect(() => {
37
+ if (!allowNamespaceSelection || defaultNamespaceRef.current === namespace) {
38
+ return;
39
+ }
40
+ defaultNamespaceRef.current = namespace;
41
+ if (!value) setSelectedNamespace(namespace ?? "");
42
+ }, [allowNamespaceSelection, namespace, value]);
19
43
  const kindsKey = kinds.join(",");
20
44
  useEffect(() => {
45
+ if (allowNamespaceSelection && !effectiveNamespace) {
46
+ setByKind({});
47
+ setLoading(false);
48
+ return;
49
+ }
21
50
  let cancelled = false;
22
51
  setLoading(true);
23
- loadWorkloads(kinds).then((res) => {
52
+ const request = effectiveNamespace ? loadWorkloads(kinds, effectiveNamespace) : loadWorkloads(kinds);
53
+ request.then((res) => {
24
54
  if (!cancelled) setByKind(res);
25
55
  }).finally(() => {
26
56
  if (!cancelled) setLoading(false);
@@ -28,41 +58,97 @@ function WorkloadPicker({
28
58
  return () => {
29
59
  cancelled = true;
30
60
  };
31
- }, [loadWorkloads, kindsKey]);
61
+ }, [allowNamespaceSelection, effectiveNamespace, loadWorkloads, kindsKey]);
62
+ const workloadValue = value && parseWorkloadKey(value).name ? value : "";
32
63
  const options = useMemo(
33
- () => buildWorkloadOptions(namespace, byKind, kinds, value),
34
- [namespace, byKind, kinds, value]
64
+ () => buildWorkloadOptions(effectiveNamespace, byKind, kinds, workloadValue),
65
+ [effectiveNamespace, byKind, kinds, workloadValue]
35
66
  );
36
67
  const invalid = useMemo(() => {
37
- if (!strict || !value || loading) return false;
38
- const { keys, names } = loadedWorkloads(namespace, byKind, kinds);
39
- return !keys.has(value) && !names.has(value);
40
- }, [strict, value, loading, namespace, byKind, kinds]);
41
- const selectedKind = kindForValue(kinds, value);
68
+ if (!strict || !workloadValue || loading) return false;
69
+ const { keys, names } = loadedWorkloads(effectiveNamespace, byKind, kinds);
70
+ return !keys.has(workloadValue) && !names.has(workloadValue);
71
+ }, [strict, workloadValue, loading, effectiveNamespace, byKind, kinds]);
72
+ const selectedKind = kindForValue(kinds, workloadValue);
42
73
  const leadMeta = WORKLOAD_META[selectedKind];
43
74
  const LeadIcon = leadMeta.Icon;
44
- return /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-2", className), children: [
45
- /* @__PURE__ */ jsx(
46
- LeadIcon,
47
- {
48
- className: "h-4 w-4 shrink-0 text-muted-foreground",
49
- title: leadMeta.label,
50
- "aria-label": leadMeta.label
51
- }
52
- ),
53
- /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsx(
54
- Combobox,
55
- {
56
- options,
57
- value,
58
- onChange,
59
- allowCustomValue,
60
- loading,
61
- invalid,
62
- placeholder
63
- }
64
- ) })
65
- ] });
75
+ const soleOption = collapseSingleOption && !loading && options.length === 1 && (!workloadValue || workloadValue === options[0].value) ? options[0] : void 0;
76
+ const control = /* @__PURE__ */ jsxs(
77
+ "div",
78
+ {
79
+ className: cn(
80
+ "flex items-center gap-2",
81
+ allowNamespaceSelection ? "min-w-0 flex-1" : className
82
+ ),
83
+ children: [
84
+ /* @__PURE__ */ jsx(
85
+ LeadIcon,
86
+ {
87
+ className: "h-4 w-4 shrink-0 text-muted-foreground",
88
+ title: leadMeta.label,
89
+ "aria-label": leadMeta.label
90
+ }
91
+ ),
92
+ /* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: soleOption ? /* @__PURE__ */ jsx(
93
+ "span",
94
+ {
95
+ className: "block truncate text-sm text-foreground",
96
+ title: soleOption.label,
97
+ "aria-label": "Workload",
98
+ children: soleOption.label
99
+ }
100
+ ) : /* @__PURE__ */ jsx(
101
+ Combobox,
102
+ {
103
+ options,
104
+ value: workloadValue,
105
+ onChange: (next) => onChange(
106
+ next || (allowNamespaceSelection ? namespaceKey(effectiveNamespace) : "")
107
+ ),
108
+ ariaLabel: "Workload",
109
+ allowCustomValue,
110
+ loading,
111
+ invalid,
112
+ disabled,
113
+ placeholder
114
+ }
115
+ ) })
116
+ ]
117
+ }
118
+ );
119
+ if (!allowNamespaceSelection) return control;
120
+ if (!loadNamespaces) {
121
+ throw new Error(
122
+ "WorkloadPicker namespace selection requires loadNamespaces"
123
+ );
124
+ }
125
+ return /* @__PURE__ */ jsxs(
126
+ "div",
127
+ {
128
+ className: cn(
129
+ "flex w-full min-w-0 flex-nowrap items-center gap-density-2",
130
+ className
131
+ ),
132
+ children: [
133
+ /* @__PURE__ */ jsx(
134
+ NamespacePicker,
135
+ {
136
+ className: "min-w-0 shrink grow-0 basis-28",
137
+ value: selectedNamespace,
138
+ onChange: (nextNamespace) => {
139
+ setSelectedNamespace(nextNamespace);
140
+ setByKind({});
141
+ onNamespaceChange == null ? void 0 : onNamespaceChange(nextNamespace || void 0);
142
+ onChange(namespaceKey(nextNamespace));
143
+ },
144
+ loadNamespaces,
145
+ strict: true
146
+ }
147
+ ),
148
+ control
149
+ ]
150
+ }
151
+ );
66
152
  }
67
153
  export {
68
154
  WorkloadPicker
@@ -1 +1 @@
1
- {"version":3,"file":"WorkloadPicker.js","sources":["../../src/components/WorkloadPicker.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Combobox } from \"./Combobox\";\nimport {\n ALL_WORKLOAD_KINDS,\n WORKLOAD_META,\n buildWorkloadOptions,\n kindForValue,\n loadedWorkloads,\n type WorkloadKind,\n type WorkloadResource,\n} from \"./workload-picker-utils\";\n\n// WorkloadPicker selects a backing Kubernetes workload (Service / Ingress /\n// Deployment / StatefulSet) for an endpoint. Options from every kind are merged\n// into one Combobox, grouped by kind via the Combobox group-header support and\n// labelled with the kind's icon.\n//\n// The emitted value is a `[namespace/]kind/name` key (see workloadKey /\n// parseWorkloadKey in workload-picker-utils) so two workloads of different\n// kinds that share a name don't collide. An ingress's name-part is its first\n// host (the routable address), labelled with the ingress name for context;\n// every other kind uses its name.\n//\n// The component is presentational: the kind→group/icon mapping and the key\n// encoding live in workload-picker-utils; it fetches nothing — the consumer\n// supplies an async `loadWorkloads` getter.\n\nexport type WorkloadPickerProps = {\n /**\n * Controlled selected value — a `[namespace/]kind/name` key (see\n * {@link workloadKey} / {@link parseWorkloadKey}).\n */\n value: string;\n /** Called with the chosen `[namespace/]kind/name` key (or \"\" when cleared). */\n onChange: (value: string) => void;\n /**\n * Async getter the component calls to load the requested kinds' workloads.\n * Returns a map keyed by kind. The consumer owns fetching/caching.\n */\n loadWorkloads: (kinds: WorkloadKind[]) => Promise<Record<WorkloadKind, WorkloadResource[]>>;\n /**\n * Namespace the workloads live in. When set it prefixes the emitted key\n * (`namespace/kind/name`), so values stay distinct across namespaces.\n */\n namespace?: string;\n /** Kinds to offer, in display order. Defaults to all four. */\n kinds?: WorkloadKind[];\n /**\n * When true, a non-empty value that does not match any loaded workload (once\n * loading settles) is flagged invalid — the picked workload doesn't exist in\n * the namespace. The value is still shown (pinned) so the user can see and\n * fix it; freeform entry is not rejected, only marked.\n */\n strict?: boolean;\n /**\n * Whether a typed name absent from the loaded resources may be committed.\n * Defaults to true for the existing free-form workload picker behavior.\n */\n allowCustomValue?: boolean;\n placeholder?: string;\n className?: string;\n};\n\nexport function WorkloadPicker({\n value,\n onChange,\n loadWorkloads,\n namespace,\n kinds = ALL_WORKLOAD_KINDS,\n strict = false,\n allowCustomValue = true,\n placeholder = \"Select workload / service…\",\n className,\n}: WorkloadPickerProps) {\n const [byKind, setByKind] = useState<Partial<Record<WorkloadKind, WorkloadResource[]>>>({});\n const [loading, setLoading] = useState(false);\n\n const kindsKey = kinds.join(\",\");\n useEffect(() => {\n let cancelled = false;\n setLoading(true);\n loadWorkloads(kinds)\n .then((res) => {\n if (!cancelled) setByKind(res);\n })\n .finally(() => {\n if (!cancelled) setLoading(false);\n });\n return () => {\n cancelled = true;\n };\n // loadWorkloads is expected to be stable (memoized by the consumer); kindsKey\n // is the joined `kinds` so a changed selection reloads without depending on\n // the array's identity.\n }, [loadWorkloads, kindsKey]);\n\n const options = useMemo(\n () => buildWorkloadOptions(namespace, byKind, kinds, value),\n [namespace, byKind, kinds, value],\n );\n\n // In strict mode a non-empty value is invalid once loading settles unless it\n // matches a loaded workload — either by its full `[namespace/]kind/name` key\n // (what the picker emits) or by its bare name-part (what consumers that\n // persist only the resolved name, e.g. a Service name or ingress host, feed\n // back in). buildWorkloadOptions pins an unmatched value first, so test\n // membership against the loaded set, not `options`.\n const invalid = useMemo(() => {\n if (!strict || !value || loading) return false;\n const { keys, names } = loadedWorkloads(namespace, byKind, kinds);\n return !keys.has(value) && !names.has(value);\n }, [strict, value, loading, namespace, byKind, kinds]);\n\n // The lead icon reflects the selected workload's kind (read from the value's\n // key), falling back to the first offered kind when nothing is selected or the\n // value carries no recognised kind (e.g. freeform input).\n const selectedKind = kindForValue(kinds, value);\n const leadMeta = WORKLOAD_META[selectedKind];\n const LeadIcon = leadMeta.Icon;\n return (\n <div className={cn(\"flex items-center gap-2\", className)}>\n <LeadIcon\n className=\"h-4 w-4 shrink-0 text-muted-foreground\"\n title={leadMeta.label}\n aria-label={leadMeta.label}\n />\n <div className=\"min-w-0 flex-1\">\n <Combobox\n options={options}\n value={value}\n onChange={onChange}\n allowCustomValue={allowCustomValue}\n loading={loading}\n invalid={invalid}\n placeholder={placeholder}\n />\n </div>\n </div>\n );\n}\n"],"names":[],"mappings":";;;;;AAgEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd;AACF,GAAwB;AACtB,QAAM,CAAC,QAAQ,SAAS,IAAI,SAA4D,CAAA,CAAE;AAC1F,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAE5C,QAAM,WAAW,MAAM,KAAK,GAAG;AAC/B,YAAU,MAAM;AACd,QAAI,YAAY;AAChB,eAAW,IAAI;AACf,kBAAc,KAAK,EAChB,KAAK,CAAC,QAAQ;AACb,UAAI,CAAC,UAAW,WAAU,GAAG;AAAA,IAC/B,CAAC,EACA,QAAQ,MAAM;AACb,UAAI,CAAC,UAAW,YAAW,KAAK;AAAA,IAClC,CAAC;AACH,WAAO,MAAM;AACX,kBAAY;AAAA,IACd;AAAA,EAIF,GAAG,CAAC,eAAe,QAAQ,CAAC;AAE5B,QAAM,UAAU;AAAA,IACd,MAAM,qBAAqB,WAAW,QAAQ,OAAO,KAAK;AAAA,IAC1D,CAAC,WAAW,QAAQ,OAAO,KAAK;AAAA,EAAA;AASlC,QAAM,UAAU,QAAQ,MAAM;AAC5B,QAAI,CAAC,UAAU,CAAC,SAAS,QAAS,QAAO;AACzC,UAAM,EAAE,MAAM,MAAA,IAAU,gBAAgB,WAAW,QAAQ,KAAK;AAChE,WAAO,CAAC,KAAK,IAAI,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK;AAAA,EAC7C,GAAG,CAAC,QAAQ,OAAO,SAAS,WAAW,QAAQ,KAAK,CAAC;AAKrD,QAAM,eAAe,aAAa,OAAO,KAAK;AAC9C,QAAM,WAAW,cAAc,YAAY;AAC3C,QAAM,WAAW,SAAS;AAC1B,8BACG,OAAA,EAAI,WAAW,GAAG,2BAA2B,SAAS,GACrD,UAAA;AAAA,IAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO,SAAS;AAAA,QAChB,cAAY,SAAS;AAAA,MAAA;AAAA,IAAA;AAAA,IAEvB,oBAAC,OAAA,EAAI,WAAU,kBACb,UAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAAA,EACF,CACF;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"WorkloadPicker.js","sources":["../../src/components/WorkloadPicker.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Combobox } from \"./Combobox\";\nimport { NamespacePicker, type NamespacePickerProps } from \"./NamespacePicker\";\nimport {\n ALL_WORKLOAD_KINDS,\n WORKLOAD_META,\n buildWorkloadOptions,\n kindForValue,\n loadedWorkloads,\n namespaceKey,\n parseWorkloadKey,\n type WorkloadKind,\n type WorkloadResource,\n} from \"./workload-picker-utils\";\n\n// WorkloadPicker selects a backing Kubernetes workload for an endpoint or\n// query. Options from every requested kind are merged into one Combobox,\n// grouped by kind via the Combobox group-header support and labelled with the\n// kind's icon.\n//\n// The emitted value is a `[namespace/]kind/name` key (see workloadKey /\n// parseWorkloadKey in workload-picker-utils) so two workloads of different\n// kinds that share a name don't collide. An ingress's name-part is its first\n// host (the routable address), labelled with the ingress name for context;\n// every other kind uses its name.\n//\n// The component is presentational: the kind→group/icon mapping and the key\n// encoding live in workload-picker-utils; it fetches nothing — the consumer\n// supplies an async `loadWorkloads` getter.\n\nexport type WorkloadPickerProps = {\n /**\n * Controlled selected value — a `[namespace/]kind/name` key (see\n * {@link workloadKey} / {@link parseWorkloadKey}), or a `namespace/` key when\n * a namespace is in scope with no workload picked in it yet.\n */\n value: string;\n /**\n * Called with the chosen `[namespace/]kind/name` key. When namespace\n * selection is on and no workload is picked it receives the `namespace/` key\n * (see {@link namespaceKey}) rather than \"\", so a consumer persisting the\n * value keeps the namespace; \"\" means nothing at all is selected.\n */\n onChange: (value: string) => void;\n /**\n * Async getter the component calls to load the requested kinds' workloads.\n * Returns a map keyed by kind. The consumer owns fetching/caching.\n */\n loadWorkloads: (\n kinds: WorkloadKind[],\n namespace?: string,\n ) => Promise<Partial<Record<WorkloadKind, WorkloadResource[]>>>;\n /**\n * Namespace the workloads live in. When set it prefixes the emitted key\n * (`namespace/kind/name`), so values stay distinct across namespaces.\n */\n namespace?: string;\n /** Lets the user choose the namespace used to load and key workloads. */\n allowNamespaceSelection?: boolean;\n /** Required when namespace selection is enabled. */\n loadNamespaces?: NamespacePickerProps[\"loadNamespaces\"];\n /** Reports the namespace independently of workload selection. */\n onNamespaceChange?: (namespace: string | undefined) => void;\n /** Kinds to offer, in display order. Defaults to every supported kind. */\n kinds?: WorkloadKind[];\n /**\n * When true, a non-empty value that does not match any loaded workload (once\n * loading settles) is flagged invalid — the picked workload doesn't exist in\n * the namespace. The value is still shown (pinned) so the user can see and\n * fix it; freeform entry is not rejected, only marked.\n */\n strict?: boolean;\n /**\n * Whether a typed name absent from the loaded resources may be committed.\n * Defaults to true for the existing free-form workload picker behavior.\n */\n allowCustomValue?: boolean;\n /**\n * Render the sole loaded workload as plain text instead of a picker.\n *\n * A dropdown whose only entry is the one already in effect asks a question\n * with one answer. This is for a scope that leaves nothing to choose — a\n * Deployment with a single pod — where the workload is a fact to state rather\n * than a selection to make. No value is emitted: the caller is already scoped\n * to it, so writing it back would only add a filter that changes nothing.\n */\n collapseSingleOption?: boolean;\n disabled?: boolean;\n placeholder?: string;\n className?: string;\n};\n\nexport function WorkloadPicker({\n value,\n onChange,\n loadWorkloads,\n namespace,\n allowNamespaceSelection = false,\n loadNamespaces,\n onNamespaceChange,\n kinds = ALL_WORKLOAD_KINDS,\n strict = false,\n allowCustomValue = true,\n collapseSingleOption = false,\n disabled = false,\n placeholder = \"Select workload / service…\",\n className,\n}: WorkloadPickerProps) {\n const initialNamespace = value\n ? parseWorkloadKey(value).namespace\n : undefined;\n const [selectedNamespace, setSelectedNamespace] = useState(\n initialNamespace ?? namespace ?? \"\",\n );\n const [byKind, setByKind] = useState<Partial<Record<WorkloadKind, WorkloadResource[]>>>({});\n const [loading, setLoading] = useState(false);\n const defaultNamespaceRef = useRef(namespace);\n const effectiveNamespace = allowNamespaceSelection\n ? selectedNamespace || undefined\n : namespace;\n\n useEffect(() => {\n if (!allowNamespaceSelection || !value) return;\n const valueNamespace = parseWorkloadKey(value).namespace;\n if (valueNamespace) setSelectedNamespace(valueNamespace);\n }, [allowNamespaceSelection, value]);\n\n useEffect(() => {\n if (\n !allowNamespaceSelection ||\n defaultNamespaceRef.current === namespace\n ) {\n return;\n }\n defaultNamespaceRef.current = namespace;\n if (!value) setSelectedNamespace(namespace ?? \"\");\n }, [allowNamespaceSelection, namespace, value]);\n\n const kindsKey = kinds.join(\",\");\n useEffect(() => {\n if (allowNamespaceSelection && !effectiveNamespace) {\n setByKind({});\n setLoading(false);\n return;\n }\n let cancelled = false;\n setLoading(true);\n const request = effectiveNamespace\n ? loadWorkloads(kinds, effectiveNamespace)\n : loadWorkloads(kinds);\n request\n .then((res) => {\n if (!cancelled) setByKind(res);\n })\n .finally(() => {\n if (!cancelled) setLoading(false);\n });\n return () => {\n cancelled = true;\n };\n // loadWorkloads is expected to be stable (memoized by the consumer); kindsKey\n // is the joined `kinds` so a changed selection reloads without depending on\n // the array's identity.\n }, [allowNamespaceSelection, effectiveNamespace, loadWorkloads, kindsKey]);\n\n // The workload half of the value. A `namespace/` key names a namespace with\n // nothing picked in it, so every question the workload combobox asks of the\n // selection — which option is current, is it valid, which kind's icon leads —\n // reads it as no workload rather than as a workload called \"namespace/\".\n const workloadValue = value && parseWorkloadKey(value).name ? value : \"\";\n\n const options = useMemo(\n () => buildWorkloadOptions(effectiveNamespace, byKind, kinds, workloadValue),\n [effectiveNamespace, byKind, kinds, workloadValue],\n );\n\n // In strict mode a non-empty value is invalid once loading settles unless it\n // matches a loaded workload — either by its full `[namespace/]kind/name` key\n // (what the picker emits) or by its bare name-part (what consumers that\n // persist only the resolved name, e.g. a Service name or ingress host, feed\n // back in). buildWorkloadOptions pins an unmatched value first, so test\n // membership against the loaded set, not `options`.\n const invalid = useMemo(() => {\n if (!strict || !workloadValue || loading) return false;\n const { keys, names } = loadedWorkloads(effectiveNamespace, byKind, kinds);\n return !keys.has(workloadValue) && !names.has(workloadValue);\n }, [strict, workloadValue, loading, effectiveNamespace, byKind, kinds]);\n\n // The lead icon reflects the selected workload's kind (read from the value's\n // key), falling back to the first offered kind when nothing is selected or the\n // value carries no recognised kind (e.g. freeform input).\n const selectedKind = kindForValue(kinds, workloadValue);\n const leadMeta = WORKLOAD_META[selectedKind];\n const LeadIcon = leadMeta.Icon;\n // Only once loading settles, and only while the sole option is not contested\n // by a selection that named something else — a value the load did not return\n // is exactly the case `strict` exists to surface, and hiding the control\n // would hide it too.\n const soleOption =\n collapseSingleOption && !loading && options.length === 1 && (!workloadValue || workloadValue === options[0]!.value)\n ? options[0]!\n : undefined;\n const control = (\n <div\n className={cn(\n \"flex items-center gap-2\",\n allowNamespaceSelection ? \"min-w-0 flex-1\" : className,\n )}\n >\n <LeadIcon\n className=\"h-4 w-4 shrink-0 text-muted-foreground\"\n title={leadMeta.label}\n aria-label={leadMeta.label}\n />\n <div className=\"min-w-0 flex-1\">\n {soleOption ? (\n <span\n className=\"block truncate text-sm text-foreground\"\n title={soleOption.label}\n aria-label=\"Workload\"\n >\n {soleOption.label}\n </span>\n ) : (\n <Combobox\n options={options}\n value={workloadValue}\n // Clearing the workload falls back to the namespace still in scope\n // rather than to nothing, so the namespace survives the clear. Only\n // when this picker owns the namespace — a consumer that fixed the\n // namespace itself already knows it and expects a bare \"\".\n onChange={(next) =>\n onChange(\n next ||\n (allowNamespaceSelection\n ? namespaceKey(effectiveNamespace)\n : \"\"),\n )\n }\n ariaLabel=\"Workload\"\n allowCustomValue={allowCustomValue}\n loading={loading}\n invalid={invalid}\n disabled={disabled}\n placeholder={placeholder}\n />\n )}\n </div>\n </div>\n );\n if (!allowNamespaceSelection) return control;\n if (!loadNamespaces) {\n throw new Error(\n \"WorkloadPicker namespace selection requires loadNamespaces\",\n );\n }\n\n // Namespace and workload read as one address, so they share a row. The\n // namespace is the shorter half: it gets a compact basis that shrinks but\n // never grows, leaving the rest to the workload, whose `[kind/]name` labels\n // are what need the width — this lives in a ~28% split pane. Its placeholder\n // and aria-label carry the naming the stacked <Field label> used to.\n return (\n <div\n className={cn(\n \"flex w-full min-w-0 flex-nowrap items-center gap-density-2\",\n className,\n )}\n >\n <NamespacePicker\n className=\"min-w-0 shrink grow-0 basis-28\"\n value={selectedNamespace}\n onChange={(nextNamespace) => {\n setSelectedNamespace(nextNamespace);\n setByKind({});\n onNamespaceChange?.(nextNamespace || undefined);\n // The workload the old namespace named cannot survive the move, but\n // the new namespace is itself a selection worth reporting — emitting\n // \"\" here is what used to drop it before it could be persisted.\n onChange(namespaceKey(nextNamespace));\n }}\n loadNamespaces={loadNamespaces}\n strict\n />\n {control}\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export declare const buttonVariants: (props?: ({
2
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
2
+ variant?: "link" | "default" | "outline" | "destructive" | "secondary" | "ghost" | null | undefined;
3
3
  size?: "sm" | "lg" | "icon" | "default" | null | undefined;
4
4
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
5
5
  //# sourceMappingURL=button-variants.d.ts.map
@@ -10,7 +10,7 @@ export type ButtonProps = ButtonHTMLAttributes<HTMLButtonElement> & VariantProps
10
10
  loadingLabel?: ReactNode;
11
11
  };
12
12
  export declare const Button: import('react').ForwardRefExoticComponent<ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
13
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
13
+ variant?: "link" | "default" | "outline" | "destructive" | "secondary" | "ghost" | null | undefined;
14
14
  size?: "sm" | "lg" | "icon" | "default" | null | undefined;
15
15
  } & import('class-variance-authority/types').ClassProp) | undefined) => string> & {
16
16
  /** Render the button styles onto the child element via Radix Slot. */
@@ -116,6 +116,13 @@ export type ComboboxMultiProps = ComboboxBaseProps & {
116
116
  tristate?: false;
117
117
  /** Renders selected values as wrapping removable pills instead of a summary. */
118
118
  variant?: "default" | "tags";
119
+ /**
120
+ * Characters that commit the typed text as a value, alongside Enter — and
121
+ * that pasted text is split on (newlines always split too). For a list of
122
+ * short values that is usually typed or pasted comma-separated. Tags variant
123
+ * only; needs `allowCustomValue`.
124
+ */
125
+ separators?: string[];
119
126
  value: string[];
120
127
  onChange: (value: string[]) => void;
121
128
  };
@@ -123,6 +130,12 @@ export type ComboboxTriStateMode = "include" | "exclude";
123
130
  export type ComboboxTriStateProps = ComboboxBaseProps & {
124
131
  multiple: true;
125
132
  tristate: true;
133
+ /**
134
+ * Renders each value as a pill carrying its mode (included / excluded) instead
135
+ * of the `+n -n` summary. The pill cycles include ↔ exclude on click and its
136
+ * close button returns the value to neutral.
137
+ */
138
+ variant?: "default" | "tags";
126
139
  value: Record<string, ComboboxTriStateMode>;
127
140
  onChange: (value: Record<string, ComboboxTriStateMode>) => void;
128
141
  };
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-types.d.ts","sourceRoot":"","sources":["../../src/components/combobox-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combobox-types.d.ts","sourceRoot":"","sources":["../../src/components/combobox-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAExD,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,6EAA6E;IAC7E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+EAA+E;IAC/E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,yDAAyD;IACzD,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC;IACjD;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC;IACrD,qCAAqC;IACrC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,iDAAiD;IACjD,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IACzD,gFAAgF;IAChF,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG;IACpD,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACnD,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,gFAAgF;IAChF,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzD,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,GAAG;IACtD,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,KAAK,IAAI,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,aAAa,GACrB,mBAAmB,GACnB,kBAAkB,GAClB,qBAAqB,CAAC"}
@@ -22,6 +22,21 @@ function multipleComboboxLabel(options, selectedValues) {
22
22
  if (labels.length <= 2) return labels.join(", ");
23
23
  return `${labels.length} selected`;
24
24
  }
25
+ function splitOnComboboxSeparators(text, separators) {
26
+ const marks = /* @__PURE__ */ new Set([...separators, "\n", "\r"]);
27
+ const parts = [];
28
+ let current = "";
29
+ for (const char of text) {
30
+ if (marks.has(char)) {
31
+ parts.push(current);
32
+ current = "";
33
+ continue;
34
+ }
35
+ current += char;
36
+ }
37
+ parts.push(current);
38
+ return parts;
39
+ }
25
40
  function createComboboxCustomEntry(options) {
26
41
  const {
27
42
  allowCustomValue,
@@ -43,5 +58,6 @@ exports.COMBOBOX_MENU_MAX_WIDTH_PX = COMBOBOX_MENU_MAX_WIDTH_PX;
43
58
  exports.comboboxLabelPadding = comboboxLabelPadding;
44
59
  exports.createComboboxCustomEntry = createComboboxCustomEntry;
45
60
  exports.multipleComboboxLabel = multipleComboboxLabel;
61
+ exports.splitOnComboboxSeparators = splitOnComboboxSeparators;
46
62
  exports.withSelectedComboboxOptions = withSelectedComboboxOptions;
47
63
  //# sourceMappingURL=combobox-utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-utils.cjs","sources":["../../src/components/combobox-utils.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"./combobox-types\";\n\nexport const COMBOBOX_MENU_MAX_WIDTH_PX = 400;\nexport const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;\n\nexport type ComboboxMenuPosition = {\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n maxWidth: number;\n maxHeight: number;\n};\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":";;AAGO,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AAWpC,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;;;;;;;"}
1
+ {"version":3,"file":"combobox-utils.cjs","sources":["../../src/components/combobox-utils.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"./combobox-types\";\n\nexport const COMBOBOX_MENU_MAX_WIDTH_PX = 400;\nexport const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;\n\nexport type ComboboxMenuPosition = {\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n maxWidth: number;\n maxHeight: number;\n};\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\n// Splits pasted text into one entry per value. Newlines always separate — a\n// list copied out of a file or a column of cells arrives that way — plus\n// whichever characters the consumer declared. Empty entries are the caller's to\n// drop, so \"a,,b\" and a trailing comma stay visible here.\nexport function splitOnComboboxSeparators(\n text: string,\n separators: string[],\n): string[] {\n const marks = new Set([...separators, \"\\n\", \"\\r\"]);\n const parts: string[] = [];\n let current = \"\";\n for (const char of text) {\n if (marks.has(char)) {\n parts.push(current);\n current = \"\";\n continue;\n }\n current += char;\n }\n parts.push(current);\n return parts;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":";;AAGO,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AAWpC,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAMO,SAAS,0BACd,MACA,YACU;AACV,QAAM,4BAAY,IAAI,CAAC,GAAG,YAAY,MAAM,IAAI,CAAC;AACjD,QAAM,QAAkB,CAAA;AACxB,MAAI,UAAU;AACd,aAAW,QAAQ,MAAM;AACvB,QAAI,MAAM,IAAI,IAAI,GAAG;AACnB,YAAM,KAAK,OAAO;AAClB,gBAAU;AACV;AAAA,IACF;AACA,eAAW;AAAA,EACb;AACA,QAAM,KAAK,OAAO;AAClB,SAAO;AACT;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;;;;;;;;"}
@@ -13,6 +13,7 @@ export type ComboboxMenuPosition = {
13
13
  export declare function comboboxLabelPadding(label: ReactNode, measuredWidth: number): CSSProperties;
14
14
  export declare function withSelectedComboboxOptions(options: ComboboxOption[], selectedValues: string[]): ComboboxOption[];
15
15
  export declare function multipleComboboxLabel(options: ComboboxOption[], selectedValues: string[]): string;
16
+ export declare function splitOnComboboxSeparators(text: string, separators: string[]): string[];
16
17
  export declare function createComboboxCustomEntry(options: {
17
18
  allowCustomValue: boolean;
18
19
  query: string;
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-utils.d.ts","sourceRoot":"","sources":["../../src/components/combobox-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,GACpB,aAAa,CAMf;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,cAAc,EAAE,CAMlB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,MAAM,CAOR;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,GAAG,cAAc,GAAG,IAAI,CAqBxB"}
1
+ {"version":3,"file":"combobox-utils.d.ts","sourceRoot":"","sources":["../../src/components/combobox-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAC9C,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,MAAM,GACpB,aAAa,CAMf;AAED,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,cAAc,EAAE,CAMlB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,EAAE,EACzB,cAAc,EAAE,MAAM,EAAE,GACvB,MAAM,CAOR;AAMD,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAAE,GACnB,MAAM,EAAE,CAcV;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,cAAc,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B,GAAG,cAAc,GAAG,IAAI,CAqBxB"}
@@ -20,6 +20,21 @@ function multipleComboboxLabel(options, selectedValues) {
20
20
  if (labels.length <= 2) return labels.join(", ");
21
21
  return `${labels.length} selected`;
22
22
  }
23
+ function splitOnComboboxSeparators(text, separators) {
24
+ const marks = /* @__PURE__ */ new Set([...separators, "\n", "\r"]);
25
+ const parts = [];
26
+ let current = "";
27
+ for (const char of text) {
28
+ if (marks.has(char)) {
29
+ parts.push(current);
30
+ current = "";
31
+ continue;
32
+ }
33
+ current += char;
34
+ }
35
+ parts.push(current);
36
+ return parts;
37
+ }
23
38
  function createComboboxCustomEntry(options) {
24
39
  const {
25
40
  allowCustomValue,
@@ -42,6 +57,7 @@ export {
42
57
  comboboxLabelPadding,
43
58
  createComboboxCustomEntry,
44
59
  multipleComboboxLabel,
60
+ splitOnComboboxSeparators,
45
61
  withSelectedComboboxOptions
46
62
  };
47
63
  //# sourceMappingURL=combobox-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-utils.js","sources":["../../src/components/combobox-utils.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"./combobox-types\";\n\nexport const COMBOBOX_MENU_MAX_WIDTH_PX = 400;\nexport const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;\n\nexport type ComboboxMenuPosition = {\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n maxWidth: number;\n maxHeight: number;\n};\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":"AAGO,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AAWpC,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;"}
1
+ {"version":3,"file":"combobox-utils.js","sources":["../../src/components/combobox-utils.ts"],"sourcesContent":["import type { CSSProperties, ReactNode } from \"react\";\nimport type { ComboboxOption } from \"./combobox-types\";\n\nexport const COMBOBOX_MENU_MAX_WIDTH_PX = 400;\nexport const COMBOBOX_MENU_MAX_HEIGHT_PX = 256;\n\nexport type ComboboxMenuPosition = {\n top?: number;\n bottom?: number;\n left: number;\n width: number;\n maxWidth: number;\n maxHeight: number;\n};\n\nexport function comboboxLabelPadding(\n label: ReactNode,\n measuredWidth: number,\n): CSSProperties {\n if (measuredWidth > 0) {\n return { paddingLeft: `calc(${measuredWidth}px + 0.75rem)` };\n }\n if (typeof label !== \"string\") return { paddingLeft: \"1.75rem\" };\n return { paddingLeft: `${Math.min(label.length * 0.48 + 0.75, 7)}rem` };\n}\n\nexport function withSelectedComboboxOptions(\n options: ComboboxOption[],\n selectedValues: string[],\n): ComboboxOption[] {\n const present = new Set(options.map((option) => option.value));\n const pinned = selectedValues\n .filter((value) => !present.has(value))\n .map((value) => ({ value, label: value }));\n return pinned.length === 0 ? options : [...pinned, ...options];\n}\n\nexport function multipleComboboxLabel(\n options: ComboboxOption[],\n selectedValues: string[],\n): string {\n const labels = selectedValues.map((value) => {\n const option = options.find((entry) => entry.value === value);\n return option?.selectedLabel ?? option?.label ?? value;\n });\n if (labels.length <= 2) return labels.join(\", \");\n return `${labels.length} selected`;\n}\n\n// Splits pasted text into one entry per value. Newlines always separate — a\n// list copied out of a file or a column of cells arrives that way — plus\n// whichever characters the consumer declared. Empty entries are the caller's to\n// drop, so \"a,,b\" and a trailing comma stay visible here.\nexport function splitOnComboboxSeparators(\n text: string,\n separators: string[],\n): string[] {\n const marks = new Set([...separators, \"\\n\", \"\\r\"]);\n const parts: string[] = [];\n let current = \"\";\n for (const char of text) {\n if (marks.has(char)) {\n parts.push(current);\n current = \"\";\n continue;\n }\n current += char;\n }\n parts.push(current);\n return parts;\n}\n\nexport function createComboboxCustomEntry(options: {\n allowCustomValue: boolean;\n query: string;\n multiple: boolean;\n tristate: boolean;\n onNew: ((value: string) => ComboboxOption | null) | undefined;\n choices: ComboboxOption[];\n selectedValues: string[];\n}): ComboboxOption | null {\n const {\n allowCustomValue,\n query,\n multiple,\n tristate,\n onNew,\n choices,\n selectedValues,\n } = options;\n if (\n !allowCustomValue ||\n !query ||\n selectedValues.includes(query) ||\n (!tristate && !multiple && !onNew) ||\n choices.some((option) => option.value === query)\n ) {\n return null;\n }\n if (onNew) return onNew(query);\n return { value: query, label: `Add \"${query}\"` };\n}\n"],"names":[],"mappings":"AAGO,MAAM,6BAA6B;AACnC,MAAM,8BAA8B;AAWpC,SAAS,qBACd,OACA,eACe;AACf,MAAI,gBAAgB,GAAG;AACrB,WAAO,EAAE,aAAa,QAAQ,aAAa,gBAAA;AAAA,EAC7C;AACA,MAAI,OAAO,UAAU,SAAU,QAAO,EAAE,aAAa,UAAA;AACrD,SAAO,EAAE,aAAa,GAAG,KAAK,IAAI,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,MAAA;AAClE;AAEO,SAAS,4BACd,SACA,gBACkB;AAClB,QAAM,UAAU,IAAI,IAAI,QAAQ,IAAI,CAAC,WAAW,OAAO,KAAK,CAAC;AAC7D,QAAM,SAAS,eACZ,OAAO,CAAC,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,EACrC,IAAI,CAAC,WAAW,EAAE,OAAO,OAAO,QAAQ;AAC3C,SAAO,OAAO,WAAW,IAAI,UAAU,CAAC,GAAG,QAAQ,GAAG,OAAO;AAC/D;AAEO,SAAS,sBACd,SACA,gBACQ;AACR,QAAM,SAAS,eAAe,IAAI,CAAC,UAAU;AAC3C,UAAM,SAAS,QAAQ,KAAK,CAAC,UAAU,MAAM,UAAU,KAAK;AAC5D,YAAO,iCAAQ,mBAAiB,iCAAQ,UAAS;AAAA,EACnD,CAAC;AACD,MAAI,OAAO,UAAU,EAAG,QAAO,OAAO,KAAK,IAAI;AAC/C,SAAO,GAAG,OAAO,MAAM;AACzB;AAMO,SAAS,0BACd,MACA,YACU;AACV,QAAM,4BAAY,IAAI,CAAC,GAAG,YAAY,MAAM,IAAI,CAAC;AACjD,QAAM,QAAkB,CAAA;AACxB,MAAI,UAAU;AACd,aAAW,QAAQ,MAAM;AACvB,QAAI,MAAM,IAAI,IAAI,GAAG;AACnB,YAAM,KAAK,OAAO;AAClB,gBAAU;AACV;AAAA,IACF;AACA,eAAW;AAAA,EACb;AACA,QAAM,KAAK,OAAO;AAClB,SAAO;AACT;AAEO,SAAS,0BAA0B,SAQhB;AACxB,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACE;AACJ,MACE,CAAC,oBACD,CAAC,SACD,eAAe,SAAS,KAAK,KAC5B,CAAC,YAAY,CAAC,YAAY,CAAC,SAC5B,QAAQ,KAAK,CAAC,WAAW,OAAO,UAAU,KAAK,GAC/C;AACA,WAAO;AAAA,EACT;AACA,MAAI,MAAO,QAAO,MAAM,KAAK;AAC7B,SAAO,EAAE,OAAO,OAAO,OAAO,QAAQ,KAAK,IAAA;AAC7C;"}
@@ -141,7 +141,7 @@ function MultiFilterPanel({
141
141
  {
142
142
  type: "search",
143
143
  "aria-label": `Filter ${filter.label} options`,
144
- className: "h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground",
144
+ className: "h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-placeholder",
145
145
  placeholder: `Filter ${filter.label.toLowerCase()}`,
146
146
  value: optionQuery,
147
147
  onChange: (event) => setOptionQuery(event.target.value)
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar-multi.cjs","sources":["../../src/components/filter-bar-multi.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { FilterPill } from \"../data/FilterPill\";\nimport { Icon, type LabelIconSpec } from \"../data/Icon\";\nimport { UiSearch } from \"../icons\";\nimport { cn } from \"../lib/utils\";\nimport { Combobox, type ComboboxOption } from \"./Combobox\";\nimport { FilterBarContext } from \"./filter-bar-context\";\nimport {\n comboboxLabelProps,\n lookupFieldWidthClass,\n mergeMultiSelectOptions,\n multiSelectOptionText,\n nextFilterMode,\n updateMultiFilterValue,\n useDebouncedMultiDraft,\n type FilterBarMultiFilterMode,\n} from \"./filter-bar-field-utils\";\nimport type { MultiSelectOption } from \"./MultiSelect\";\n\nexport type { FilterBarMultiFilterMode } from \"./filter-bar-field-utils\";\n\nexport type FilterBarMultiFilter = {\n key: string;\n /** Renders include/exclude chips for each option. */\n kind: \"multi\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Map of option value to include/exclude state. */\n value: Record<string, FilterBarMultiFilterMode>;\n /** Available chip options. When `truncated`, this is only the head set. */\n options: MultiSelectOption[];\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n /** Ghost text shown in the field when no options are selected. */\n placeholder?: string;\n /**\n * True when more options exist than are in `options` (the option set was\n * capped server-side). Renders an \"… and N more\" hint and, with `onSearch`,\n * lets the user search the full set.\n */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives the \"N more\" label. */\n total?: number;\n /**\n * Optional async fetch invoked (debounced) as the user types in the option\n * search box. Returns the options matching the query, which are merged into\n * the displayed list so values beyond the head become selectable. When\n * absent, the search box filters the static `options` client-side only.\n */\n onSearch?: (query: string) => Promise<MultiSelectOption[]> | void;\n /**\n * Lets the user commit a value absent from `options` (a free-typed name or a\n * `*` wildcard). The option search box stays visible and an \"Add\" row appears\n * when the query matches no listed option; committed customs pin to the top so\n * they stay toggleable. Use for MatchItem-style filters (table/login patterns).\n */\n allowCustomValue?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\n// MultiFilterField renders a \"multi\" filter as a tristate Combobox so the bar\n// stays one control family with the lookup fields: same shell, inline label,\n// typeahead input, and portaled listbox of FilterPill rows.\nexport function MultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarMultiFilter;\n grow: boolean;\n}) {\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n // Server-search state: the matches for the active query (they replace the\n // head while searching), plus the in-flight flag. Combobox owns the 250ms\n // debounce; this adapter only resolves the Promise, latest query wins.\n const [searchOptions, setSearchOptions] = useState<MultiSelectOption[]>([]);\n const [loading, setLoading] = useState(false);\n const [activeQuery, setActiveQuery] = useState(\"\");\n const latestQuery = useRef(\"\");\n\n const onSearchProp = filter.onSearch;\n const handleSearch = useCallback(\n (query: string) => {\n latestQuery.current = query;\n setActiveQuery(query);\n if (!query) {\n setSearchOptions([]);\n setLoading(false);\n return;\n }\n setLoading(true);\n Promise.resolve(onSearchProp?.(query))\n .then((opts) => {\n if (latestQuery.current !== query) return;\n setLoading(false);\n setSearchOptions(Array.isArray(opts) ? opts : []);\n })\n .catch(() => {\n if (latestQuery.current !== query) return;\n setLoading(false);\n setSearchOptions([]);\n });\n },\n [onSearchProp],\n );\n\n // allowCustomValue: any toggled value absent from `options` (a free-typed name\n // or a `*` wildcard) is synthesised as a pinned option so it renders and stays\n // toggleable across reopens.\n const allowCustomValue = Boolean(filter.allowCustomValue);\n const baseOptions = useMemo(() => {\n if (!allowCustomValue) return filter.options;\n const known = new Set(filter.options.map((o) => o.value));\n const pinned = Object.keys(draft)\n .filter((v) => !known.has(v))\n .map((v) => ({ value: v, label: v }));\n return mergeMultiSelectOptions(pinned, filter.options);\n }, [allowCustomValue, filter.options, draft]);\n\n // Server search active → the matches REPLACE the head, but any head option\n // the user has already toggled (include/exclude) stays pinned so their\n // selection remains visible and changeable. Selected first, then matches.\n // Without a query (or without onSearch) the head set renders and Combobox\n // client-filters it.\n const visibleOptions = useMemo(() => {\n if (!onSearchProp || !activeQuery) return baseOptions;\n const selectedHead = baseOptions.filter((o) => draft[o.value] !== undefined);\n return mergeMultiSelectOptions(selectedHead, searchOptions);\n }, [onSearchProp, activeQuery, baseOptions, searchOptions, draft]);\n\n const moreCount =\n filter.truncated && filter.total ? Math.max(filter.total - filter.options.length, 0) : 0;\n const footer =\n moreCount > 0 && !activeQuery ? (\n <>\n … and {moreCount.toLocaleString()} more\n {onSearchProp ? \" — type to search all\" : \"\"}\n </>\n ) : undefined;\n\n return (\n <Combobox\n multiple\n tristate\n {...comboboxLabelProps(filter)}\n options={toComboboxOptions(visibleOptions)}\n value={draft}\n onChange={setDraft}\n allowCustomValue={allowCustomValue}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(onSearchProp !== undefined ? { onSearch: handleSearch, loading } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n {...(footer !== undefined ? { footer } : {})}\n />\n );\n}\n\nfunction toComboboxOptions(options: MultiSelectOption[]): ComboboxOption[] {\n return options.map((option) => {\n const title = option.title ?? multiSelectOptionText(option);\n return {\n value: option.value,\n // A node label (e.g. an icon + text span) can't render as the combobox's\n // option row or closed summary, so fall back to the option's title text —\n // the human-readable label — instead of the raw value.\n label: typeof option.label === \"string\" ? option.label : title,\n title,\n ...(option.disabled !== undefined ? { disabled: option.disabled } : {}),\n };\n });\n}\n\nexport type TriStateMultiSelectProps = {\n /** Trigger label and popover heading. */\n label: string;\n /** Map of option value → include/exclude. Neutral options are absent. */\n value: Record<string, FilterBarMultiFilterMode>;\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n /** Chip options. When `truncated`, this is only the head set. */\n options: MultiSelectOption[];\n icon?: LabelIconSpec;\n description?: string;\n truncated?: boolean;\n total?: number;\n onSearch?: (query: string) => Promise<MultiSelectOption[]> | void;\n /** Allow committing free-typed / `*`-wildcard values absent from `options`. */\n allowCustomValue?: boolean;\n disabled?: boolean;\n className?: string;\n /** Fill the available width (form field) vs. shrink to content. Default true. */\n grow?: boolean;\n};\n\n// TriStateMultiSelect is the standalone include/exclude/neutral multi-select used\n// by FilterBar's \"multi\" kind, exposed for hand-written forms. It renders a\n// tristate combobox whose rows cycle neutral → include → exclude. It commits\n// changes immediately (autoSubmit:false) since a controlled form owns the value.\nexport function TriStateMultiSelect({ grow = true, ...rest }: TriStateMultiSelectProps) {\n const filter: FilterBarMultiFilter = { key: rest.label, kind: \"multi\", ...rest };\n return (\n <FilterBarContext.Provider value={{ autoSubmit: false }}>\n <MultiFilterField filter={filter} grow={grow} />\n </FilterBarContext.Provider>\n );\n}\n\n// MultiFilterPanel is the always-open embedded form of the multi filter (the\n// FilterBarFilterPanel / DataTable column-popover surface). Unlike the inline\n// field it is a panel, not an input, so it keeps the FilterPill row list.\nexport function MultiFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarMultiFilter;\n chrome?: \"full\" | \"embedded\";\n}) {\n const [optionQuery, setOptionQuery] = useState(\"\");\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n const showOptionFilter = filter.options.length > 7;\n const embedded = chrome === \"embedded\";\n const visibleOptions = useMemo(() => {\n const query = optionQuery.trim().toLowerCase();\n if (!query) return filter.options;\n return filter.options.filter((option) =>\n multiSelectOptionText(option).toLowerCase().includes(query),\n );\n }, [filter.options, optionQuery]);\n\n return (\n <div\n data-filter-panel-chrome={chrome}\n className={cn(\n \"min-w-[18rem] max-w-[22rem] text-popover-foreground\",\n embedded\n ? \"p-0\"\n : \"rounded-md border border-border bg-popover p-2 shadow-sm shadow-black/5\",\n )}\n >\n {!embedded && (\n <div className=\"mb-2 flex items-center justify-between gap-2\">\n <div className=\"text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {filter.label}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => setDraft({})}\n disabled={Object.keys(draft).length === 0}\n >\n Clear all\n </button>\n </div>\n )}\n\n {showOptionFilter && (\n <div className=\"mb-2 flex items-center gap-2 rounded-md border border-input bg-background px-2\">\n <Icon icon={UiSearch} className=\"shrink-0 text-muted-foreground\" />\n <input\n type=\"search\"\n aria-label={`Filter ${filter.label} options`}\n className=\"h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n placeholder={`Filter ${filter.label.toLowerCase()}`}\n value={optionQuery}\n onChange={(event) => setOptionQuery(event.target.value)}\n />\n </div>\n )}\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {visibleOptions.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title = option.title ?? multiSelectOptionText(option);\n\n return (\n <div\n key={option.value}\n role=\"button\"\n tabIndex={0}\n data-filter-option={option.value}\n className=\"rounded-md px-1.5 py-0.5 hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\"\n onClick={() =>\n setDraft(updateMultiFilterValue(draft, option.value, nextFilterMode(mode)))\n }\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setDraft(updateMultiFilterValue(draft, option.value, nextFilterMode(mode)));\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n label={option.label}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) => setDraft(updateMultiFilterValue(draft, option.value, next))}\n />\n </div>\n );\n })}\n {visibleOptions.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No options found</div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["useDebouncedMultiDraft","useState","useRef","useCallback","useMemo","mergeMultiSelectOptions","jsxs","Fragment","jsx","Combobox","comboboxLabelProps","cn","lookupFieldWidthClass","multiSelectOptionText","FilterBarContext","Icon","UiSearch","updateMultiFilterValue","nextFilterMode","FilterPill"],"mappings":"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"}
1
+ {"version":3,"file":"filter-bar-multi.cjs","sources":["../../src/components/filter-bar-multi.tsx"],"sourcesContent":["import { useCallback, useMemo, useRef, useState } from \"react\";\nimport { FilterPill } from \"../data/FilterPill\";\nimport { Icon, type LabelIconSpec } from \"../data/Icon\";\nimport { UiSearch } from \"../icons\";\nimport { cn } from \"../lib/utils\";\nimport { Combobox, type ComboboxOption } from \"./Combobox\";\nimport { FilterBarContext } from \"./filter-bar-context\";\nimport {\n comboboxLabelProps,\n lookupFieldWidthClass,\n mergeMultiSelectOptions,\n multiSelectOptionText,\n nextFilterMode,\n updateMultiFilterValue,\n useDebouncedMultiDraft,\n type FilterBarMultiFilterMode,\n} from \"./filter-bar-field-utils\";\nimport type { MultiSelectOption } from \"./MultiSelect\";\n\nexport type { FilterBarMultiFilterMode } from \"./filter-bar-field-utils\";\n\nexport type FilterBarMultiFilter = {\n key: string;\n /** Renders include/exclude chips for each option. */\n kind: \"multi\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Map of option value to include/exclude state. */\n value: Record<string, FilterBarMultiFilterMode>;\n /** Available chip options. When `truncated`, this is only the head set. */\n options: MultiSelectOption[];\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n /** Ghost text shown in the field when no options are selected. */\n placeholder?: string;\n /**\n * True when more options exist than are in `options` (the option set was\n * capped server-side). Renders an \"… and N more\" hint and, with `onSearch`,\n * lets the user search the full set.\n */\n truncated?: boolean;\n /** True distinct count behind a truncated option set; drives the \"N more\" label. */\n total?: number;\n /**\n * Optional async fetch invoked (debounced) as the user types in the option\n * search box. Returns the options matching the query, which are merged into\n * the displayed list so values beyond the head become selectable. When\n * absent, the search box filters the static `options` client-side only.\n */\n onSearch?: (query: string) => Promise<MultiSelectOption[]> | void;\n /**\n * Lets the user commit a value absent from `options` (a free-typed name or a\n * `*` wildcard). The option search box stays visible and an \"Add\" row appears\n * when the query matches no listed option; committed customs pin to the top so\n * they stay toggleable. Use for MatchItem-style filters (table/login patterns).\n */\n allowCustomValue?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\n// MultiFilterField renders a \"multi\" filter as a tristate Combobox so the bar\n// stays one control family with the lookup fields: same shell, inline label,\n// typeahead input, and portaled listbox of FilterPill rows.\nexport function MultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarMultiFilter;\n grow: boolean;\n}) {\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n // Server-search state: the matches for the active query (they replace the\n // head while searching), plus the in-flight flag. Combobox owns the 250ms\n // debounce; this adapter only resolves the Promise, latest query wins.\n const [searchOptions, setSearchOptions] = useState<MultiSelectOption[]>([]);\n const [loading, setLoading] = useState(false);\n const [activeQuery, setActiveQuery] = useState(\"\");\n const latestQuery = useRef(\"\");\n\n const onSearchProp = filter.onSearch;\n const handleSearch = useCallback(\n (query: string) => {\n latestQuery.current = query;\n setActiveQuery(query);\n if (!query) {\n setSearchOptions([]);\n setLoading(false);\n return;\n }\n setLoading(true);\n Promise.resolve(onSearchProp?.(query))\n .then((opts) => {\n if (latestQuery.current !== query) return;\n setLoading(false);\n setSearchOptions(Array.isArray(opts) ? opts : []);\n })\n .catch(() => {\n if (latestQuery.current !== query) return;\n setLoading(false);\n setSearchOptions([]);\n });\n },\n [onSearchProp],\n );\n\n // allowCustomValue: any toggled value absent from `options` (a free-typed name\n // or a `*` wildcard) is synthesised as a pinned option so it renders and stays\n // toggleable across reopens.\n const allowCustomValue = Boolean(filter.allowCustomValue);\n const baseOptions = useMemo(() => {\n if (!allowCustomValue) return filter.options;\n const known = new Set(filter.options.map((o) => o.value));\n const pinned = Object.keys(draft)\n .filter((v) => !known.has(v))\n .map((v) => ({ value: v, label: v }));\n return mergeMultiSelectOptions(pinned, filter.options);\n }, [allowCustomValue, filter.options, draft]);\n\n // Server search active → the matches REPLACE the head, but any head option\n // the user has already toggled (include/exclude) stays pinned so their\n // selection remains visible and changeable. Selected first, then matches.\n // Without a query (or without onSearch) the head set renders and Combobox\n // client-filters it.\n const visibleOptions = useMemo(() => {\n if (!onSearchProp || !activeQuery) return baseOptions;\n const selectedHead = baseOptions.filter((o) => draft[o.value] !== undefined);\n return mergeMultiSelectOptions(selectedHead, searchOptions);\n }, [onSearchProp, activeQuery, baseOptions, searchOptions, draft]);\n\n const moreCount =\n filter.truncated && filter.total ? Math.max(filter.total - filter.options.length, 0) : 0;\n const footer =\n moreCount > 0 && !activeQuery ? (\n <>\n … and {moreCount.toLocaleString()} more\n {onSearchProp ? \" — type to search all\" : \"\"}\n </>\n ) : undefined;\n\n return (\n <Combobox\n multiple\n tristate\n {...comboboxLabelProps(filter)}\n options={toComboboxOptions(visibleOptions)}\n value={draft}\n onChange={setDraft}\n allowCustomValue={allowCustomValue}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(onSearchProp !== undefined ? { onSearch: handleSearch, loading } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n {...(footer !== undefined ? { footer } : {})}\n />\n );\n}\n\nfunction toComboboxOptions(options: MultiSelectOption[]): ComboboxOption[] {\n return options.map((option) => {\n const title = option.title ?? multiSelectOptionText(option);\n return {\n value: option.value,\n // A node label (e.g. an icon + text span) can't render as the combobox's\n // option row or closed summary, so fall back to the option's title text —\n // the human-readable label — instead of the raw value.\n label: typeof option.label === \"string\" ? option.label : title,\n title,\n ...(option.disabled !== undefined ? { disabled: option.disabled } : {}),\n };\n });\n}\n\nexport type TriStateMultiSelectProps = {\n /** Trigger label and popover heading. */\n label: string;\n /** Map of option value → include/exclude. Neutral options are absent. */\n value: Record<string, FilterBarMultiFilterMode>;\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n /** Chip options. When `truncated`, this is only the head set. */\n options: MultiSelectOption[];\n icon?: LabelIconSpec;\n description?: string;\n truncated?: boolean;\n total?: number;\n onSearch?: (query: string) => Promise<MultiSelectOption[]> | void;\n /** Allow committing free-typed / `*`-wildcard values absent from `options`. */\n allowCustomValue?: boolean;\n disabled?: boolean;\n className?: string;\n /** Fill the available width (form field) vs. shrink to content. Default true. */\n grow?: boolean;\n};\n\n// TriStateMultiSelect is the standalone include/exclude/neutral multi-select used\n// by FilterBar's \"multi\" kind, exposed for hand-written forms. It renders a\n// tristate combobox whose rows cycle neutral → include → exclude. It commits\n// changes immediately (autoSubmit:false) since a controlled form owns the value.\nexport function TriStateMultiSelect({ grow = true, ...rest }: TriStateMultiSelectProps) {\n const filter: FilterBarMultiFilter = { key: rest.label, kind: \"multi\", ...rest };\n return (\n <FilterBarContext.Provider value={{ autoSubmit: false }}>\n <MultiFilterField filter={filter} grow={grow} />\n </FilterBarContext.Provider>\n );\n}\n\n// MultiFilterPanel is the always-open embedded form of the multi filter (the\n// FilterBarFilterPanel / DataTable column-popover surface). Unlike the inline\n// field it is a panel, not an input, so it keeps the FilterPill row list.\nexport function MultiFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarMultiFilter;\n chrome?: \"full\" | \"embedded\";\n}) {\n const [optionQuery, setOptionQuery] = useState(\"\");\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n const showOptionFilter = filter.options.length > 7;\n const embedded = chrome === \"embedded\";\n const visibleOptions = useMemo(() => {\n const query = optionQuery.trim().toLowerCase();\n if (!query) return filter.options;\n return filter.options.filter((option) =>\n multiSelectOptionText(option).toLowerCase().includes(query),\n );\n }, [filter.options, optionQuery]);\n\n return (\n <div\n data-filter-panel-chrome={chrome}\n className={cn(\n \"min-w-[18rem] max-w-[22rem] text-popover-foreground\",\n embedded\n ? \"p-0\"\n : \"rounded-md border border-border bg-popover p-2 shadow-sm shadow-black/5\",\n )}\n >\n {!embedded && (\n <div className=\"mb-2 flex items-center justify-between gap-2\">\n <div className=\"text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {filter.label}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => setDraft({})}\n disabled={Object.keys(draft).length === 0}\n >\n Clear all\n </button>\n </div>\n )}\n\n {showOptionFilter && (\n <div className=\"mb-2 flex items-center gap-2 rounded-md border border-input bg-background px-2\">\n <Icon icon={UiSearch} className=\"shrink-0 text-muted-foreground\" />\n <input\n type=\"search\"\n aria-label={`Filter ${filter.label} options`}\n className=\"h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-placeholder\"\n placeholder={`Filter ${filter.label.toLowerCase()}`}\n value={optionQuery}\n onChange={(event) => setOptionQuery(event.target.value)}\n />\n </div>\n )}\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {visibleOptions.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title = option.title ?? multiSelectOptionText(option);\n\n return (\n <div\n key={option.value}\n role=\"button\"\n tabIndex={0}\n data-filter-option={option.value}\n className=\"rounded-md px-1.5 py-0.5 hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\"\n onClick={() =>\n setDraft(updateMultiFilterValue(draft, option.value, nextFilterMode(mode)))\n }\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setDraft(updateMultiFilterValue(draft, option.value, nextFilterMode(mode)));\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n label={option.label}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) => setDraft(updateMultiFilterValue(draft, option.value, next))}\n />\n </div>\n );\n })}\n {visibleOptions.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No options found</div>\n )}\n </div>\n </div>\n );\n}\n"],"names":["useDebouncedMultiDraft","useState","useRef","useCallback","useMemo","mergeMultiSelectOptions","jsxs","Fragment","jsx","Combobox","comboboxLabelProps","cn","lookupFieldWidthClass","multiSelectOptionText","FilterBarContext","Icon","UiSearch","updateMultiFilterValue","nextFilterMode","FilterPill"],"mappings":"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"}
@@ -139,7 +139,7 @@ function MultiFilterPanel({
139
139
  {
140
140
  type: "search",
141
141
  "aria-label": `Filter ${filter.label} options`,
142
- className: "h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-muted-foreground",
142
+ className: "h-8 min-w-0 flex-1 bg-transparent text-sm outline-none placeholder:text-placeholder",
143
143
  placeholder: `Filter ${filter.label.toLowerCase()}`,
144
144
  value: optionQuery,
145
145
  onChange: (event) => setOptionQuery(event.target.value)