@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 +1 @@
1
- {"version":3,"file":"filter-bar-multi.js","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":[],"mappings":"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"}
1
+ {"version":3,"file":"filter-bar-multi.js","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":[],"mappings":"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"}
@@ -4,8 +4,19 @@ function applyFilterExtensions(filter, extensions) {
4
4
  if (!extensions || extensions.length === 0) return filter;
5
5
  return extensions.reduce((current, ext) => ext(current), filter);
6
6
  }
7
+ function dateRangeFilterProps(filter) {
8
+ const {
9
+ key: _key,
10
+ kind: _kind,
11
+ label: _label,
12
+ icon: _icon,
13
+ description: _description,
14
+ ...range
15
+ } = filter;
16
+ return range;
17
+ }
7
18
  function clearFilterBarFilter(filter) {
8
- if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "enum") {
19
+ if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "workload" || filter.kind === "enum") {
9
20
  filter.onChange("");
10
21
  return;
11
22
  }
@@ -35,7 +46,7 @@ function isFilterBarFilterActive(filter) {
35
46
  if (filter.kind === "date-range") {
36
47
  return String(filter.from ?? "").trim() !== "" || String(filter.to ?? "").trim() !== "";
37
48
  }
38
- if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "enum") {
49
+ if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "workload" || filter.kind === "enum") {
39
50
  return String(filter.value ?? "").trim() !== "";
40
51
  }
41
52
  if (filter.kind === "lookup-multi" || filter.kind === "select-multi") {
@@ -50,5 +61,6 @@ function isFilterBarFilterActive(filter) {
50
61
  }
51
62
  exports.applyFilterExtensions = applyFilterExtensions;
52
63
  exports.clearFilterBarFilter = clearFilterBarFilter;
64
+ exports.dateRangeFilterProps = dateRangeFilterProps;
53
65
  exports.isFilterBarFilterActive = isFilterBarFilterActive;
54
66
  //# sourceMappingURL=filter-bar-utils.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar-utils.cjs","sources":["../../src/components/filter-bar-utils.ts"],"sourcesContent":["import type { FilterBarFilter } from \"./FilterBar\";\n\n// FilterExtension decorates a resolved filter before it renders — the FilterBar\n// analogue of JsonSchemaForm's PreExtension. Consumers compose these in array\n// order (each sees the prior's output) to stamp domain-specific touches such as\n// an entity `icon` keyed on the filter's name, keeping FilterBar domain-agnostic.\nexport type FilterExtension = (filter: FilterBarFilter) => FilterBarFilter;\n\n// applyFilterExtensions runs a filter through the composed extension stack.\nexport function applyFilterExtensions(\n filter: FilterBarFilter,\n extensions: FilterExtension[] | undefined,\n): FilterBarFilter {\n if (!extensions || extensions.length === 0) return filter;\n return extensions.reduce((current, ext) => ext(current), filter);\n}\n\nexport function clearFilterBarFilter(filter: FilterBarFilter) {\n if (filter.kind === \"text\" || filter.kind === \"lookup\" || filter.kind === \"enum\") {\n filter.onChange(\"\");\n return;\n }\n\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange([]);\n return;\n }\n\n if (filter.kind === \"number\") {\n filter.onChange({});\n return;\n }\n\n if (filter.kind === \"boolean\") {\n filter.onChange(false);\n return;\n }\n\n if (filter.kind === \"tristate\") {\n filter.onChange(undefined);\n return;\n }\n\n if (filter.kind === \"date-range\") {\n filter.onApply(\"\", \"\");\n return;\n }\n\n filter.onChange({});\n}\n\nexport function isFilterBarFilterActive(filter: FilterBarFilter) {\n if (filter.kind === \"date-range\") {\n return String(filter.from ?? \"\").trim() !== \"\" || String(filter.to ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"text\" || filter.kind === \"lookup\" || filter.kind === \"enum\") {\n return String(filter.value ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n return filter.value.length > 0;\n }\n if (filter.kind === \"number\") {\n return (\n String(filter.value.min ?? \"\").trim() !== \"\" || String(filter.value.max ?? \"\").trim() !== \"\"\n );\n }\n if (filter.kind === \"boolean\") return filter.value;\n // Unset is \"no filter\"; both true and false narrow the result set.\n if (filter.kind === \"tristate\") return filter.value !== undefined;\n return Object.keys(filter.value).length > 0;\n}\n"],"names":[],"mappings":";;AASO,SAAS,sBACd,QACA,YACiB;AACjB,MAAI,CAAC,cAAc,WAAW,WAAW,EAAG,QAAO;AACnD,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,OAAO,GAAG,MAAM;AACjE;AAEO,SAAS,qBAAqB,QAAyB;AAC5D,MAAI,OAAO,SAAS,UAAU,OAAO,SAAS,YAAY,OAAO,SAAS,QAAQ;AAChF,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,WAAW;AAC7B,WAAO,SAAS,KAAK;AACrB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,YAAY;AAC9B,WAAO,SAAS,MAAS;AACzB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,QAAQ,IAAI,EAAE;AACrB;AAAA,EACF;AAEA,SAAO,SAAS,EAAE;AACpB;AAEO,SAAS,wBAAwB,QAAyB;AAC/D,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,OAAO,OAAO,QAAQ,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,EAAE,EAAE,WAAW;AAAA,EACvF;AACA,MAAI,OAAO,SAAS,UAAU,OAAO,SAAS,YAAY,OAAO,SAAS,QAAQ;AAChF,WAAO,OAAO,OAAO,SAAS,EAAE,EAAE,WAAW;AAAA,EAC/C;AACA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,OAAO,MAAM,SAAS;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,WACE,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,WAAW;AAAA,EAE9F;AACA,MAAI,OAAO,SAAS,UAAW,QAAO,OAAO;AAE7C,MAAI,OAAO,SAAS,WAAY,QAAO,OAAO,UAAU;AACxD,SAAO,OAAO,KAAK,OAAO,KAAK,EAAE,SAAS;AAC5C;;;;"}
1
+ {"version":3,"file":"filter-bar-utils.cjs","sources":["../../src/components/filter-bar-utils.ts"],"sourcesContent":["import type {\n FilterBarDateRangeFilter,\n FilterBarFilter,\n FilterBarRangeProps,\n} from \"./FilterBar\";\n\n// FilterExtension decorates a resolved filter before it renders — the FilterBar\n// analogue of JsonSchemaForm's PreExtension. Consumers compose these in array\n// order (each sees the prior's output) to stamp domain-specific touches such as\n// an entity `icon` keyed on the filter's name, keeping FilterBar domain-agnostic.\nexport type FilterExtension = (filter: FilterBarFilter) => FilterBarFilter;\n\n// applyFilterExtensions runs a filter through the composed extension stack.\nexport function applyFilterExtensions(\n filter: FilterBarFilter,\n extensions: FilterExtension[] | undefined,\n): FilterBarFilter {\n if (!extensions || extensions.length === 0) return filter;\n return extensions.reduce((current, ext) => ext(current), filter);\n}\n\n// dateRangeFilterProps strips the filter's identity off, leaving the range the\n// controls take. `key` in particular must not reach a component as a prop.\n//\n// It is also how a date-range filter is promoted out of the filter list into a\n// bar's trailing range slot, which is why it lives here rather than beside the\n// controls that spread it.\nexport function dateRangeFilterProps(filter: FilterBarDateRangeFilter): FilterBarRangeProps {\n const {\n key: _key,\n kind: _kind,\n label: _label,\n icon: _icon,\n description: _description,\n ...range\n } = filter;\n return range;\n}\n\nexport function clearFilterBarFilter(filter: FilterBarFilter) {\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n filter.onChange(\"\");\n return;\n }\n\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange([]);\n return;\n }\n\n if (filter.kind === \"number\") {\n filter.onChange({});\n return;\n }\n\n if (filter.kind === \"boolean\") {\n filter.onChange(false);\n return;\n }\n\n if (filter.kind === \"tristate\") {\n filter.onChange(undefined);\n return;\n }\n\n if (filter.kind === \"date-range\") {\n filter.onApply(\"\", \"\");\n return;\n }\n\n filter.onChange({});\n}\n\nexport function isFilterBarFilterActive(filter: FilterBarFilter) {\n if (filter.kind === \"date-range\") {\n return String(filter.from ?? \"\").trim() !== \"\" || String(filter.to ?? \"\").trim() !== \"\";\n }\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n return String(filter.value ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n return filter.value.length > 0;\n }\n if (filter.kind === \"number\") {\n return (\n String(filter.value.min ?? \"\").trim() !== \"\" || String(filter.value.max ?? \"\").trim() !== \"\"\n );\n }\n if (filter.kind === \"boolean\") return filter.value;\n // Unset is \"no filter\"; both true and false narrow the result set.\n if (filter.kind === \"tristate\") return filter.value !== undefined;\n return Object.keys(filter.value).length > 0;\n}\n"],"names":[],"mappings":";;AAaO,SAAS,sBACd,QACA,YACiB;AACjB,MAAI,CAAC,cAAc,WAAW,WAAW,EAAG,QAAO;AACnD,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,OAAO,GAAG,MAAM;AACjE;AAQO,SAAS,qBAAqB,QAAuD;AAC1F,QAAM;AAAA,IACJ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,GAAG;AAAA,EAAA,IACD;AACJ,SAAO;AACT;AAEO,SAAS,qBAAqB,QAAyB;AAC5D,MACE,OAAO,SAAS,UAChB,OAAO,SAAS,YAChB,OAAO,SAAS,cAChB,OAAO,SAAS,QAChB;AACA,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,WAAW;AAC7B,WAAO,SAAS,KAAK;AACrB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,YAAY;AAC9B,WAAO,SAAS,MAAS;AACzB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,QAAQ,IAAI,EAAE;AACrB;AAAA,EACF;AAEA,SAAO,SAAS,EAAE;AACpB;AAEO,SAAS,wBAAwB,QAAyB;AAC/D,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,OAAO,OAAO,QAAQ,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,EAAE,EAAE,WAAW;AAAA,EACvF;AACA,MACE,OAAO,SAAS,UAChB,OAAO,SAAS,YAChB,OAAO,SAAS,cAChB,OAAO,SAAS,QAChB;AACA,WAAO,OAAO,OAAO,SAAS,EAAE,EAAE,WAAW;AAAA,EAC/C;AACA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,OAAO,MAAM,SAAS;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,WACE,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,WAAW;AAAA,EAE9F;AACA,MAAI,OAAO,SAAS,UAAW,QAAO,OAAO;AAE7C,MAAI,OAAO,SAAS,WAAY,QAAO,OAAO,UAAU;AACxD,SAAO,OAAO,KAAK,OAAO,KAAK,EAAE,SAAS;AAC5C;;;;;"}
@@ -1,6 +1,7 @@
1
- import { FilterBarFilter } from './FilterBar';
1
+ import { FilterBarDateRangeFilter, FilterBarFilter, FilterBarRangeProps } from './FilterBar';
2
2
  export type FilterExtension = (filter: FilterBarFilter) => FilterBarFilter;
3
3
  export declare function applyFilterExtensions(filter: FilterBarFilter, extensions: FilterExtension[] | undefined): FilterBarFilter;
4
+ export declare function dateRangeFilterProps(filter: FilterBarDateRangeFilter): FilterBarRangeProps;
4
5
  export declare function clearFilterBarFilter(filter: FilterBarFilter): void;
5
6
  export declare function isFilterBarFilterActive(filter: FilterBarFilter): boolean;
6
7
  //# sourceMappingURL=filter-bar-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar-utils.d.ts","sourceRoot":"","sources":["../../src/components/filter-bar-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnD,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,CAAC;AAG3E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,eAAe,EAAE,GAAG,SAAS,GACxC,eAAe,CAGjB;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,QAgC3D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,WAmB9D"}
1
+ {"version":3,"file":"filter-bar-utils.d.ts","sourceRoot":"","sources":["../../src/components/filter-bar-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,KAAK,eAAe,CAAC;AAG3E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,eAAe,EAAE,GAAG,SAAS,GACxC,eAAe,CAGjB;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,mBAAmB,CAU1F;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,QAqC3D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,WAwB9D"}
@@ -2,8 +2,19 @@ function applyFilterExtensions(filter, extensions) {
2
2
  if (!extensions || extensions.length === 0) return filter;
3
3
  return extensions.reduce((current, ext) => ext(current), filter);
4
4
  }
5
+ function dateRangeFilterProps(filter) {
6
+ const {
7
+ key: _key,
8
+ kind: _kind,
9
+ label: _label,
10
+ icon: _icon,
11
+ description: _description,
12
+ ...range
13
+ } = filter;
14
+ return range;
15
+ }
5
16
  function clearFilterBarFilter(filter) {
6
- if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "enum") {
17
+ if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "workload" || filter.kind === "enum") {
7
18
  filter.onChange("");
8
19
  return;
9
20
  }
@@ -33,7 +44,7 @@ function isFilterBarFilterActive(filter) {
33
44
  if (filter.kind === "date-range") {
34
45
  return String(filter.from ?? "").trim() !== "" || String(filter.to ?? "").trim() !== "";
35
46
  }
36
- if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "enum") {
47
+ if (filter.kind === "text" || filter.kind === "lookup" || filter.kind === "workload" || filter.kind === "enum") {
37
48
  return String(filter.value ?? "").trim() !== "";
38
49
  }
39
50
  if (filter.kind === "lookup-multi" || filter.kind === "select-multi") {
@@ -49,6 +60,7 @@ function isFilterBarFilterActive(filter) {
49
60
  export {
50
61
  applyFilterExtensions,
51
62
  clearFilterBarFilter,
63
+ dateRangeFilterProps,
52
64
  isFilterBarFilterActive
53
65
  };
54
66
  //# sourceMappingURL=filter-bar-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"filter-bar-utils.js","sources":["../../src/components/filter-bar-utils.ts"],"sourcesContent":["import type { FilterBarFilter } from \"./FilterBar\";\n\n// FilterExtension decorates a resolved filter before it renders — the FilterBar\n// analogue of JsonSchemaForm's PreExtension. Consumers compose these in array\n// order (each sees the prior's output) to stamp domain-specific touches such as\n// an entity `icon` keyed on the filter's name, keeping FilterBar domain-agnostic.\nexport type FilterExtension = (filter: FilterBarFilter) => FilterBarFilter;\n\n// applyFilterExtensions runs a filter through the composed extension stack.\nexport function applyFilterExtensions(\n filter: FilterBarFilter,\n extensions: FilterExtension[] | undefined,\n): FilterBarFilter {\n if (!extensions || extensions.length === 0) return filter;\n return extensions.reduce((current, ext) => ext(current), filter);\n}\n\nexport function clearFilterBarFilter(filter: FilterBarFilter) {\n if (filter.kind === \"text\" || filter.kind === \"lookup\" || filter.kind === \"enum\") {\n filter.onChange(\"\");\n return;\n }\n\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange([]);\n return;\n }\n\n if (filter.kind === \"number\") {\n filter.onChange({});\n return;\n }\n\n if (filter.kind === \"boolean\") {\n filter.onChange(false);\n return;\n }\n\n if (filter.kind === \"tristate\") {\n filter.onChange(undefined);\n return;\n }\n\n if (filter.kind === \"date-range\") {\n filter.onApply(\"\", \"\");\n return;\n }\n\n filter.onChange({});\n}\n\nexport function isFilterBarFilterActive(filter: FilterBarFilter) {\n if (filter.kind === \"date-range\") {\n return String(filter.from ?? \"\").trim() !== \"\" || String(filter.to ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"text\" || filter.kind === \"lookup\" || filter.kind === \"enum\") {\n return String(filter.value ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n return filter.value.length > 0;\n }\n if (filter.kind === \"number\") {\n return (\n String(filter.value.min ?? \"\").trim() !== \"\" || String(filter.value.max ?? \"\").trim() !== \"\"\n );\n }\n if (filter.kind === \"boolean\") return filter.value;\n // Unset is \"no filter\"; both true and false narrow the result set.\n if (filter.kind === \"tristate\") return filter.value !== undefined;\n return Object.keys(filter.value).length > 0;\n}\n"],"names":[],"mappings":"AASO,SAAS,sBACd,QACA,YACiB;AACjB,MAAI,CAAC,cAAc,WAAW,WAAW,EAAG,QAAO;AACnD,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,OAAO,GAAG,MAAM;AACjE;AAEO,SAAS,qBAAqB,QAAyB;AAC5D,MAAI,OAAO,SAAS,UAAU,OAAO,SAAS,YAAY,OAAO,SAAS,QAAQ;AAChF,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,WAAW;AAC7B,WAAO,SAAS,KAAK;AACrB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,YAAY;AAC9B,WAAO,SAAS,MAAS;AACzB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,QAAQ,IAAI,EAAE;AACrB;AAAA,EACF;AAEA,SAAO,SAAS,EAAE;AACpB;AAEO,SAAS,wBAAwB,QAAyB;AAC/D,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,OAAO,OAAO,QAAQ,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,EAAE,EAAE,WAAW;AAAA,EACvF;AACA,MAAI,OAAO,SAAS,UAAU,OAAO,SAAS,YAAY,OAAO,SAAS,QAAQ;AAChF,WAAO,OAAO,OAAO,SAAS,EAAE,EAAE,WAAW;AAAA,EAC/C;AACA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,OAAO,MAAM,SAAS;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,WACE,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,WAAW;AAAA,EAE9F;AACA,MAAI,OAAO,SAAS,UAAW,QAAO,OAAO;AAE7C,MAAI,OAAO,SAAS,WAAY,QAAO,OAAO,UAAU;AACxD,SAAO,OAAO,KAAK,OAAO,KAAK,EAAE,SAAS;AAC5C;"}
1
+ {"version":3,"file":"filter-bar-utils.js","sources":["../../src/components/filter-bar-utils.ts"],"sourcesContent":["import type {\n FilterBarDateRangeFilter,\n FilterBarFilter,\n FilterBarRangeProps,\n} from \"./FilterBar\";\n\n// FilterExtension decorates a resolved filter before it renders — the FilterBar\n// analogue of JsonSchemaForm's PreExtension. Consumers compose these in array\n// order (each sees the prior's output) to stamp domain-specific touches such as\n// an entity `icon` keyed on the filter's name, keeping FilterBar domain-agnostic.\nexport type FilterExtension = (filter: FilterBarFilter) => FilterBarFilter;\n\n// applyFilterExtensions runs a filter through the composed extension stack.\nexport function applyFilterExtensions(\n filter: FilterBarFilter,\n extensions: FilterExtension[] | undefined,\n): FilterBarFilter {\n if (!extensions || extensions.length === 0) return filter;\n return extensions.reduce((current, ext) => ext(current), filter);\n}\n\n// dateRangeFilterProps strips the filter's identity off, leaving the range the\n// controls take. `key` in particular must not reach a component as a prop.\n//\n// It is also how a date-range filter is promoted out of the filter list into a\n// bar's trailing range slot, which is why it lives here rather than beside the\n// controls that spread it.\nexport function dateRangeFilterProps(filter: FilterBarDateRangeFilter): FilterBarRangeProps {\n const {\n key: _key,\n kind: _kind,\n label: _label,\n icon: _icon,\n description: _description,\n ...range\n } = filter;\n return range;\n}\n\nexport function clearFilterBarFilter(filter: FilterBarFilter) {\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n filter.onChange(\"\");\n return;\n }\n\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange([]);\n return;\n }\n\n if (filter.kind === \"number\") {\n filter.onChange({});\n return;\n }\n\n if (filter.kind === \"boolean\") {\n filter.onChange(false);\n return;\n }\n\n if (filter.kind === \"tristate\") {\n filter.onChange(undefined);\n return;\n }\n\n if (filter.kind === \"date-range\") {\n filter.onApply(\"\", \"\");\n return;\n }\n\n filter.onChange({});\n}\n\nexport function isFilterBarFilterActive(filter: FilterBarFilter) {\n if (filter.kind === \"date-range\") {\n return String(filter.from ?? \"\").trim() !== \"\" || String(filter.to ?? \"\").trim() !== \"\";\n }\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n return String(filter.value ?? \"\").trim() !== \"\";\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n return filter.value.length > 0;\n }\n if (filter.kind === \"number\") {\n return (\n String(filter.value.min ?? \"\").trim() !== \"\" || String(filter.value.max ?? \"\").trim() !== \"\"\n );\n }\n if (filter.kind === \"boolean\") return filter.value;\n // Unset is \"no filter\"; both true and false narrow the result set.\n if (filter.kind === \"tristate\") return filter.value !== undefined;\n return Object.keys(filter.value).length > 0;\n}\n"],"names":[],"mappings":"AAaO,SAAS,sBACd,QACA,YACiB;AACjB,MAAI,CAAC,cAAc,WAAW,WAAW,EAAG,QAAO;AACnD,SAAO,WAAW,OAAO,CAAC,SAAS,QAAQ,IAAI,OAAO,GAAG,MAAM;AACjE;AAQO,SAAS,qBAAqB,QAAuD;AAC1F,QAAM;AAAA,IACJ,KAAK;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,IACb,GAAG;AAAA,EAAA,IACD;AACJ,SAAO;AACT;AAEO,SAAS,qBAAqB,QAAyB;AAC5D,MACE,OAAO,SAAS,UAChB,OAAO,SAAS,YAChB,OAAO,SAAS,cAChB,OAAO,SAAS,QAChB;AACA,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,UAAU;AAC5B,WAAO,SAAS,EAAE;AAClB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,WAAW;AAC7B,WAAO,SAAS,KAAK;AACrB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,YAAY;AAC9B,WAAO,SAAS,MAAS;AACzB;AAAA,EACF;AAEA,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,QAAQ,IAAI,EAAE;AACrB;AAAA,EACF;AAEA,SAAO,SAAS,EAAE;AACpB;AAEO,SAAS,wBAAwB,QAAyB;AAC/D,MAAI,OAAO,SAAS,cAAc;AAChC,WAAO,OAAO,OAAO,QAAQ,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,EAAE,EAAE,WAAW;AAAA,EACvF;AACA,MACE,OAAO,SAAS,UAChB,OAAO,SAAS,YAChB,OAAO,SAAS,cAChB,OAAO,SAAS,QAChB;AACA,WAAO,OAAO,OAAO,SAAS,EAAE,EAAE,WAAW;AAAA,EAC/C;AACA,MAAI,OAAO,SAAS,kBAAkB,OAAO,SAAS,gBAAgB;AACpE,WAAO,OAAO,MAAM,SAAS;AAAA,EAC/B;AACA,MAAI,OAAO,SAAS,UAAU;AAC5B,WACE,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,KAAA,MAAW,MAAM,OAAO,OAAO,MAAM,OAAO,EAAE,EAAE,WAAW;AAAA,EAE9F;AACA,MAAI,OAAO,SAAS,UAAW,QAAO,OAAO;AAE7C,MAAI,OAAO,SAAS,WAAY,QAAO,OAAO,UAAU;AACxD,SAAO,OAAO,KAAK,OAAO,KAAK,EAAE,SAAS;AAC5C;"}
@@ -113,6 +113,17 @@ function bindJotaiFilter(store, filter) {
113
113
  }
114
114
  };
115
115
  }
116
+ case "workload": {
117
+ const { atom, onChange, ...rest } = filter;
118
+ return {
119
+ ...rest,
120
+ value: store.get(atom),
121
+ onChange: (next) => {
122
+ store.set(atom, next);
123
+ onChange == null ? void 0 : onChange(next);
124
+ }
125
+ };
126
+ }
116
127
  case "lookup-multi":
117
128
  case "select-multi": {
118
129
  const { atom, onChange, ...rest } = filter;
@@ -1 +1 @@
1
- {"version":3,"file":"jotai-bindings-core.cjs","sources":["../../src/components/jotai-bindings-core.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useStore, type WritableAtom } from \"jotai\";\nimport type {\n FilterBarBooleanFilter,\n FilterBarEnumFilter,\n FilterBarFilter,\n FilterBarLookupFilter,\n FilterBarLookupMultiFilter,\n FilterBarMultiFilter,\n FilterBarNestedMultiFilter,\n FilterBarNumberFilter,\n FilterBarProps,\n FilterBarRangeProps,\n FilterBarSearchProps,\n FilterBarSelectMultiFilter,\n FilterBarTextFilter,\n} from \"./FilterBar\";\nimport type { JsonSchemaFormProps } from \"./json-schema-form-types\";\n\nexport type JotaiWritableAtom<Value> = WritableAtom<Value, [Value], unknown>;\nexport type JotaiJsonSchemaFormAtom = JotaiWritableAtom<Record<string, unknown>>;\n\nexport type JotaiJsonSchemaFormProps = Omit<JsonSchemaFormProps, \"value\" | \"onChange\"> & {\n atom: JotaiJsonSchemaFormAtom;\n onChange?: JsonSchemaFormProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarSearchProps = Omit<FilterBarSearchProps, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<string>;\n onChange?: FilterBarSearchProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarRangeValue = {\n from?: string;\n to?: string;\n};\n\nexport type JotaiFilterBarRangeProps = Omit<FilterBarRangeProps, \"from\" | \"to\" | \"onApply\"> & {\n atom: JotaiWritableAtom<JotaiFilterBarRangeValue>;\n onApply?: FilterBarRangeProps[\"onApply\"];\n};\n\n// Only a filter that holds a value can be backed by an atom. A date range\n// carries two edges it applies together, and is bound through\n// JotaiFilterBarRangeProps instead.\ntype ValuedFilterBarFilter = Extract<FilterBarFilter, { value: unknown }>;\n\ntype AtomizedFilter<TFilter extends ValuedFilterBarFilter> = Omit<TFilter, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<TFilter[\"value\"]>;\n onChange?: TFilter[\"onChange\"];\n};\n\nexport type JotaiFilterBarTextFilter = AtomizedFilter<FilterBarTextFilter>;\nexport type JotaiFilterBarLookupFilter = AtomizedFilter<FilterBarLookupFilter>;\nexport type JotaiFilterBarLookupMultiFilter = AtomizedFilter<FilterBarLookupMultiFilter>;\nexport type JotaiFilterBarMultiFilter = AtomizedFilter<FilterBarMultiFilter>;\nexport type JotaiFilterBarNestedMultiFilter = AtomizedFilter<FilterBarNestedMultiFilter>;\nexport type JotaiFilterBarSelectMultiFilter = AtomizedFilter<FilterBarSelectMultiFilter>;\nexport type JotaiFilterBarNumberFilter = AtomizedFilter<FilterBarNumberFilter>;\nexport type JotaiFilterBarEnumFilter = AtomizedFilter<FilterBarEnumFilter>;\nexport type JotaiFilterBarBooleanFilter = AtomizedFilter<FilterBarBooleanFilter>;\n\nexport type JotaiFilterBarFilter =\n | JotaiFilterBarTextFilter\n | JotaiFilterBarLookupFilter\n | JotaiFilterBarLookupMultiFilter\n | JotaiFilterBarMultiFilter\n | JotaiFilterBarNestedMultiFilter\n | JotaiFilterBarSelectMultiFilter\n | JotaiFilterBarNumberFilter\n | JotaiFilterBarEnumFilter\n | JotaiFilterBarBooleanFilter;\n\nexport type JotaiFilterBarProps = Omit<\n FilterBarProps,\n \"search\" | \"filters\" | \"timeRange\" | \"dateRange\"\n> & {\n search?: JotaiFilterBarSearchProps;\n filters?: JotaiFilterBarFilter[];\n timeRange?: JotaiFilterBarRangeProps;\n dateRange?: JotaiFilterBarRangeProps;\n};\n\ntype AnyJotaiAtom = JotaiWritableAtom<unknown>;\n\nfunction useAtomSubscriptions(atoms: AnyJotaiAtom[]) {\n const store = useStore();\n const [, forceRender] = useReducer((count: number) => count + 1, 0);\n const uniqueAtoms = useMemo(() => Array.from(new Set(atoms)), [atoms]);\n\n useEffect(() => {\n if (uniqueAtoms.length === 0) return undefined;\n const unsubscribers = uniqueAtoms.map((atom) => store.sub(atom, forceRender));\n return () => {\n unsubscribers.forEach((unsubscribe) => unsubscribe());\n };\n }, [store, uniqueAtoms]);\n}\n\nfunction useAtomValueSetter<Value>(atom: JotaiWritableAtom<Value>) {\n const store = useStore();\n const value = store.get(atom);\n const setValue = useCallback(\n (next: Value) => {\n store.set(atom, next);\n },\n [atom, store],\n );\n return [value, setValue] as const;\n}\n\nexport function useJotaiJsonSchemaFormProps(\n atom: JotaiJsonSchemaFormAtom,\n onChange?: JsonSchemaFormProps[\"onChange\"],\n): Pick<JsonSchemaFormProps, \"value\" | \"onChange\"> {\n const atoms = useMemo(() => [atom as AnyJotaiAtom], [atom]);\n useAtomSubscriptions(atoms);\n const [value, setValue] = useAtomValueSetter(atom);\n\n return useMemo(\n () => ({\n value,\n onChange: (next: Record<string, unknown>) => {\n setValue(next);\n onChange?.(next);\n },\n }),\n [onChange, setValue, value],\n );\n}\n\nfunction useJotaiFilterBarAtoms({\n search,\n filters,\n timeRange,\n dateRange,\n}: {\n search?: JotaiFilterBarSearchProps | undefined;\n filters?: JotaiFilterBarFilter[] | undefined;\n timeRange?: JotaiFilterBarRangeProps | undefined;\n dateRange?: JotaiFilterBarRangeProps | undefined;\n}) {\n const atoms = useMemo(() => {\n const next: AnyJotaiAtom[] = [];\n if (search) next.push(search.atom as AnyJotaiAtom);\n filters?.forEach((filter) => next.push(filter.atom as AnyJotaiAtom));\n if (timeRange) next.push(timeRange.atom as AnyJotaiAtom);\n if (dateRange) next.push(dateRange.atom as AnyJotaiAtom);\n return next;\n }, [dateRange, filters, search, timeRange]);\n useAtomSubscriptions(atoms);\n}\n\nfunction useJotaiSearch(search: JotaiFilterBarSearchProps | undefined): FilterBarSearchProps | undefined {\n const store = useStore();\n if (!search) return undefined;\n const { atom, onChange, ...rest } = search;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n}\n\nfunction useJotaiRange(range: JotaiFilterBarRangeProps | undefined): FilterBarRangeProps | undefined {\n const store = useStore();\n if (!range) return undefined;\n const { atom, onApply, ...rest } = range;\n const value = store.get(atom);\n return {\n ...rest,\n ...(value.from !== undefined ? { from: value.from } : {}),\n ...(value.to !== undefined ? { to: value.to } : {}),\n onApply: (from: string, to: string) => {\n store.set(atom, { from, to });\n onApply?.(from, to);\n },\n };\n}\n\nfunction useJotaiFilters(filters: JotaiFilterBarFilter[] | undefined): FilterBarFilter[] | undefined {\n const store = useStore();\n if (!filters) return undefined;\n return filters.map((filter) => bindJotaiFilter(store, filter));\n}\n\nfunction bindJotaiFilter(store: ReturnType<typeof useStore>, filter: JotaiFilterBarFilter): FilterBarFilter {\n switch (filter.kind) {\n case \"text\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup-multi\":\n case \"select-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string[]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"multi\":\n case \"nested-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarMultiFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"number\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarNumberFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"enum\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"boolean\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: boolean) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n }\n}\n\nexport function useJotaiFilterBarProps({\n search,\n filters,\n timeRange,\n dateRange,\n ...props\n}: JotaiFilterBarProps): FilterBarProps {\n useJotaiFilterBarAtoms({ search, filters, timeRange, dateRange });\n const controlledSearch = useJotaiSearch(search);\n const controlledFilters = useJotaiFilters(filters);\n const controlledTimeRange = useJotaiRange(timeRange);\n const controlledDateRange = useJotaiRange(dateRange);\n\n return {\n ...props,\n ...(controlledSearch ? { search: controlledSearch } : {}),\n ...(controlledFilters ? { filters: controlledFilters } : {}),\n ...(controlledTimeRange ? { timeRange: controlledTimeRange } : {}),\n ...(controlledDateRange ? { dateRange: controlledDateRange } : {}),\n };\n}\n"],"names":["useStore","useReducer","useMemo","useEffect","useCallback"],"mappings":"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"}
1
+ {"version":3,"file":"jotai-bindings-core.cjs","sources":["../../src/components/jotai-bindings-core.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useStore, type WritableAtom } from \"jotai\";\nimport type {\n FilterBarBooleanFilter,\n FilterBarEnumFilter,\n FilterBarFilter,\n FilterBarLookupFilter,\n FilterBarLookupMultiFilter,\n FilterBarMultiFilter,\n FilterBarNestedMultiFilter,\n FilterBarNumberFilter,\n FilterBarProps,\n FilterBarRangeProps,\n FilterBarSearchProps,\n FilterBarSelectMultiFilter,\n FilterBarTextFilter,\n FilterBarWorkloadFilter,\n} from \"./FilterBar\";\nimport type { JsonSchemaFormProps } from \"./json-schema-form-types\";\n\nexport type JotaiWritableAtom<Value> = WritableAtom<Value, [Value], unknown>;\nexport type JotaiJsonSchemaFormAtom = JotaiWritableAtom<Record<string, unknown>>;\n\nexport type JotaiJsonSchemaFormProps = Omit<JsonSchemaFormProps, \"value\" | \"onChange\"> & {\n atom: JotaiJsonSchemaFormAtom;\n onChange?: JsonSchemaFormProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarSearchProps = Omit<FilterBarSearchProps, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<string>;\n onChange?: FilterBarSearchProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarRangeValue = {\n from?: string;\n to?: string;\n};\n\nexport type JotaiFilterBarRangeProps = Omit<FilterBarRangeProps, \"from\" | \"to\" | \"onApply\"> & {\n atom: JotaiWritableAtom<JotaiFilterBarRangeValue>;\n onApply?: FilterBarRangeProps[\"onApply\"];\n};\n\n// Only a filter that holds a value can be backed by an atom. A date range\n// carries two edges it applies together, and is bound through\n// JotaiFilterBarRangeProps instead.\ntype ValuedFilterBarFilter = Extract<FilterBarFilter, { value: unknown }>;\n\ntype AtomizedFilter<TFilter extends ValuedFilterBarFilter> = Omit<TFilter, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<TFilter[\"value\"]>;\n onChange?: TFilter[\"onChange\"];\n};\n\nexport type JotaiFilterBarTextFilter = AtomizedFilter<FilterBarTextFilter>;\nexport type JotaiFilterBarWorkloadFilter = AtomizedFilter<FilterBarWorkloadFilter>;\nexport type JotaiFilterBarLookupFilter = AtomizedFilter<FilterBarLookupFilter>;\nexport type JotaiFilterBarLookupMultiFilter = AtomizedFilter<FilterBarLookupMultiFilter>;\nexport type JotaiFilterBarMultiFilter = AtomizedFilter<FilterBarMultiFilter>;\nexport type JotaiFilterBarNestedMultiFilter = AtomizedFilter<FilterBarNestedMultiFilter>;\nexport type JotaiFilterBarSelectMultiFilter = AtomizedFilter<FilterBarSelectMultiFilter>;\nexport type JotaiFilterBarNumberFilter = AtomizedFilter<FilterBarNumberFilter>;\nexport type JotaiFilterBarEnumFilter = AtomizedFilter<FilterBarEnumFilter>;\nexport type JotaiFilterBarBooleanFilter = AtomizedFilter<FilterBarBooleanFilter>;\n\nexport type JotaiFilterBarFilter =\n | JotaiFilterBarTextFilter\n | JotaiFilterBarWorkloadFilter\n | JotaiFilterBarLookupFilter\n | JotaiFilterBarLookupMultiFilter\n | JotaiFilterBarMultiFilter\n | JotaiFilterBarNestedMultiFilter\n | JotaiFilterBarSelectMultiFilter\n | JotaiFilterBarNumberFilter\n | JotaiFilterBarEnumFilter\n | JotaiFilterBarBooleanFilter;\n\nexport type JotaiFilterBarProps = Omit<\n FilterBarProps,\n \"search\" | \"filters\" | \"timeRange\" | \"dateRange\"\n> & {\n search?: JotaiFilterBarSearchProps;\n filters?: JotaiFilterBarFilter[];\n timeRange?: JotaiFilterBarRangeProps;\n dateRange?: JotaiFilterBarRangeProps;\n};\n\ntype AnyJotaiAtom = JotaiWritableAtom<unknown>;\n\nfunction useAtomSubscriptions(atoms: AnyJotaiAtom[]) {\n const store = useStore();\n const [, forceRender] = useReducer((count: number) => count + 1, 0);\n const uniqueAtoms = useMemo(() => Array.from(new Set(atoms)), [atoms]);\n\n useEffect(() => {\n if (uniqueAtoms.length === 0) return undefined;\n const unsubscribers = uniqueAtoms.map((atom) => store.sub(atom, forceRender));\n return () => {\n unsubscribers.forEach((unsubscribe) => unsubscribe());\n };\n }, [store, uniqueAtoms]);\n}\n\nfunction useAtomValueSetter<Value>(atom: JotaiWritableAtom<Value>) {\n const store = useStore();\n const value = store.get(atom);\n const setValue = useCallback(\n (next: Value) => {\n store.set(atom, next);\n },\n [atom, store],\n );\n return [value, setValue] as const;\n}\n\nexport function useJotaiJsonSchemaFormProps(\n atom: JotaiJsonSchemaFormAtom,\n onChange?: JsonSchemaFormProps[\"onChange\"],\n): Pick<JsonSchemaFormProps, \"value\" | \"onChange\"> {\n const atoms = useMemo(() => [atom as AnyJotaiAtom], [atom]);\n useAtomSubscriptions(atoms);\n const [value, setValue] = useAtomValueSetter(atom);\n\n return useMemo(\n () => ({\n value,\n onChange: (next: Record<string, unknown>) => {\n setValue(next);\n onChange?.(next);\n },\n }),\n [onChange, setValue, value],\n );\n}\n\nfunction useJotaiFilterBarAtoms({\n search,\n filters,\n timeRange,\n dateRange,\n}: {\n search?: JotaiFilterBarSearchProps | undefined;\n filters?: JotaiFilterBarFilter[] | undefined;\n timeRange?: JotaiFilterBarRangeProps | undefined;\n dateRange?: JotaiFilterBarRangeProps | undefined;\n}) {\n const atoms = useMemo(() => {\n const next: AnyJotaiAtom[] = [];\n if (search) next.push(search.atom as AnyJotaiAtom);\n filters?.forEach((filter) => next.push(filter.atom as AnyJotaiAtom));\n if (timeRange) next.push(timeRange.atom as AnyJotaiAtom);\n if (dateRange) next.push(dateRange.atom as AnyJotaiAtom);\n return next;\n }, [dateRange, filters, search, timeRange]);\n useAtomSubscriptions(atoms);\n}\n\nfunction useJotaiSearch(search: JotaiFilterBarSearchProps | undefined): FilterBarSearchProps | undefined {\n const store = useStore();\n if (!search) return undefined;\n const { atom, onChange, ...rest } = search;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n}\n\nfunction useJotaiRange(range: JotaiFilterBarRangeProps | undefined): FilterBarRangeProps | undefined {\n const store = useStore();\n if (!range) return undefined;\n const { atom, onApply, ...rest } = range;\n const value = store.get(atom);\n return {\n ...rest,\n ...(value.from !== undefined ? { from: value.from } : {}),\n ...(value.to !== undefined ? { to: value.to } : {}),\n onApply: (from: string, to: string) => {\n store.set(atom, { from, to });\n onApply?.(from, to);\n },\n };\n}\n\nfunction useJotaiFilters(filters: JotaiFilterBarFilter[] | undefined): FilterBarFilter[] | undefined {\n const store = useStore();\n if (!filters) return undefined;\n return filters.map((filter) => bindJotaiFilter(store, filter));\n}\n\nfunction bindJotaiFilter(store: ReturnType<typeof useStore>, filter: JotaiFilterBarFilter): FilterBarFilter {\n switch (filter.kind) {\n case \"text\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"workload\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup-multi\":\n case \"select-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string[]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"multi\":\n case \"nested-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarMultiFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"number\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarNumberFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"enum\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"boolean\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: boolean) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n }\n}\n\nexport function useJotaiFilterBarProps({\n search,\n filters,\n timeRange,\n dateRange,\n ...props\n}: JotaiFilterBarProps): FilterBarProps {\n useJotaiFilterBarAtoms({ search, filters, timeRange, dateRange });\n const controlledSearch = useJotaiSearch(search);\n const controlledFilters = useJotaiFilters(filters);\n const controlledTimeRange = useJotaiRange(timeRange);\n const controlledDateRange = useJotaiRange(dateRange);\n\n return {\n ...props,\n ...(controlledSearch ? { search: controlledSearch } : {}),\n ...(controlledFilters ? { filters: controlledFilters } : {}),\n ...(controlledTimeRange ? { timeRange: controlledTimeRange } : {}),\n ...(controlledDateRange ? { dateRange: controlledDateRange } : {}),\n };\n}\n"],"names":["useStore","useReducer","useMemo","useEffect","useCallback"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { WritableAtom } from 'jotai';
2
- import { FilterBarBooleanFilter, FilterBarEnumFilter, FilterBarFilter, FilterBarLookupFilter, FilterBarLookupMultiFilter, FilterBarMultiFilter, FilterBarNestedMultiFilter, FilterBarNumberFilter, FilterBarProps, FilterBarRangeProps, FilterBarSearchProps, FilterBarSelectMultiFilter, FilterBarTextFilter } from './FilterBar';
2
+ import { FilterBarBooleanFilter, FilterBarEnumFilter, FilterBarFilter, FilterBarLookupFilter, FilterBarLookupMultiFilter, FilterBarMultiFilter, FilterBarNestedMultiFilter, FilterBarNumberFilter, FilterBarProps, FilterBarRangeProps, FilterBarSearchProps, FilterBarSelectMultiFilter, FilterBarTextFilter, FilterBarWorkloadFilter } from './FilterBar';
3
3
  import { JsonSchemaFormProps } from './json-schema-form-types';
4
4
  export type JotaiWritableAtom<Value> = WritableAtom<Value, [Value], unknown>;
5
5
  export type JotaiJsonSchemaFormAtom = JotaiWritableAtom<Record<string, unknown>>;
@@ -27,6 +27,7 @@ type AtomizedFilter<TFilter extends ValuedFilterBarFilter> = Omit<TFilter, "valu
27
27
  onChange?: TFilter["onChange"];
28
28
  };
29
29
  export type JotaiFilterBarTextFilter = AtomizedFilter<FilterBarTextFilter>;
30
+ export type JotaiFilterBarWorkloadFilter = AtomizedFilter<FilterBarWorkloadFilter>;
30
31
  export type JotaiFilterBarLookupFilter = AtomizedFilter<FilterBarLookupFilter>;
31
32
  export type JotaiFilterBarLookupMultiFilter = AtomizedFilter<FilterBarLookupMultiFilter>;
32
33
  export type JotaiFilterBarMultiFilter = AtomizedFilter<FilterBarMultiFilter>;
@@ -35,7 +36,7 @@ export type JotaiFilterBarSelectMultiFilter = AtomizedFilter<FilterBarSelectMult
35
36
  export type JotaiFilterBarNumberFilter = AtomizedFilter<FilterBarNumberFilter>;
36
37
  export type JotaiFilterBarEnumFilter = AtomizedFilter<FilterBarEnumFilter>;
37
38
  export type JotaiFilterBarBooleanFilter = AtomizedFilter<FilterBarBooleanFilter>;
38
- export type JotaiFilterBarFilter = JotaiFilterBarTextFilter | JotaiFilterBarLookupFilter | JotaiFilterBarLookupMultiFilter | JotaiFilterBarMultiFilter | JotaiFilterBarNestedMultiFilter | JotaiFilterBarSelectMultiFilter | JotaiFilterBarNumberFilter | JotaiFilterBarEnumFilter | JotaiFilterBarBooleanFilter;
39
+ export type JotaiFilterBarFilter = JotaiFilterBarTextFilter | JotaiFilterBarWorkloadFilter | JotaiFilterBarLookupFilter | JotaiFilterBarLookupMultiFilter | JotaiFilterBarMultiFilter | JotaiFilterBarNestedMultiFilter | JotaiFilterBarSelectMultiFilter | JotaiFilterBarNumberFilter | JotaiFilterBarEnumFilter | JotaiFilterBarBooleanFilter;
39
40
  export type JotaiFilterBarProps = Omit<FilterBarProps, "search" | "filters" | "timeRange" | "dateRange"> & {
40
41
  search?: JotaiFilterBarSearchProps;
41
42
  filters?: JotaiFilterBarFilter[];
@@ -1 +1 @@
1
- {"version":3,"file":"jotai-bindings-core.d.ts","sourceRoot":"","sources":["../../src/components/jotai-bindings-core.ts"],"names":[],"mappings":"AACA,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,0BAA0B,EAC1B,qBAAqB,EACrB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACpB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAEpE,MAAM,MAAM,iBAAiB,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;AAC7E,MAAM,MAAM,uBAAuB,GAAG,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEjF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACvF,IAAI,EAAE,uBAAuB,CAAC;IAC9B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACzF,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,mBAAmB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,GAAG;IAC5F,IAAI,EAAE,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;CAC1C,CAAC;AAKF,KAAK,qBAAqB,GAAG,OAAO,CAAC,eAAe,EAAE;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE1E,KAAK,cAAc,CAAC,OAAO,SAAS,qBAAqB,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAAC,GAAG;IACjG,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAC/E,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,0BAA0B,CAAC,CAAC;AACzF,MAAM,MAAM,yBAAyB,GAAG,cAAc,CAAC,oBAAoB,CAAC,CAAC;AAC7E,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,0BAA0B,CAAC,CAAC;AACzF,MAAM,MAAM,+BAA+B,GAAG,cAAc,CAAC,0BAA0B,CAAC,CAAC;AACzF,MAAM,MAAM,0BAA0B,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC;AAC/E,MAAM,MAAM,wBAAwB,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC;AAC3E,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC,sBAAsB,CAAC,CAAC;AAEjF,MAAM,MAAM,oBAAoB,GAC5B,wBAAwB,GACxB,0BAA0B,GAC1B,+BAA+B,GAC/B,yBAAyB,GACzB,+BAA+B,GAC/B,+BAA+B,GAC/B,0BAA0B,GAC1B,wBAAwB,GACxB,2BAA2B,CAAC;AAEhC,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,cAAc,EACd,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,CACjD,GAAG;IACF,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,wBAAwB,CAAC;IACrC,SAAS,CAAC,EAAE,wBAAwB,CAAC;CACtC,CAAC;AA8BF,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,uBAAuB,EAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,GACzC,IAAI,CAAC,mBAAmB,EAAE,OAAO,GAAG,UAAU,CAAC,CAejD;AAgJD,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,OAAO,EACP,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE,mBAAmB,GAAG,cAAc,CActC"}
1
+ {"version":3,"file":"jotai-bindings-core.d.ts","sourceRoot":"","sources":["../../src/components/jotai-bindings-core.ts"],"names":[],"mappings":"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"}
@@ -111,6 +111,17 @@ function bindJotaiFilter(store, filter) {
111
111
  }
112
112
  };
113
113
  }
114
+ case "workload": {
115
+ const { atom, onChange, ...rest } = filter;
116
+ return {
117
+ ...rest,
118
+ value: store.get(atom),
119
+ onChange: (next) => {
120
+ store.set(atom, next);
121
+ onChange == null ? void 0 : onChange(next);
122
+ }
123
+ };
124
+ }
114
125
  case "lookup-multi":
115
126
  case "select-multi": {
116
127
  const { atom, onChange, ...rest } = filter;
@@ -1 +1 @@
1
- {"version":3,"file":"jotai-bindings-core.js","sources":["../../src/components/jotai-bindings-core.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useStore, type WritableAtom } from \"jotai\";\nimport type {\n FilterBarBooleanFilter,\n FilterBarEnumFilter,\n FilterBarFilter,\n FilterBarLookupFilter,\n FilterBarLookupMultiFilter,\n FilterBarMultiFilter,\n FilterBarNestedMultiFilter,\n FilterBarNumberFilter,\n FilterBarProps,\n FilterBarRangeProps,\n FilterBarSearchProps,\n FilterBarSelectMultiFilter,\n FilterBarTextFilter,\n} from \"./FilterBar\";\nimport type { JsonSchemaFormProps } from \"./json-schema-form-types\";\n\nexport type JotaiWritableAtom<Value> = WritableAtom<Value, [Value], unknown>;\nexport type JotaiJsonSchemaFormAtom = JotaiWritableAtom<Record<string, unknown>>;\n\nexport type JotaiJsonSchemaFormProps = Omit<JsonSchemaFormProps, \"value\" | \"onChange\"> & {\n atom: JotaiJsonSchemaFormAtom;\n onChange?: JsonSchemaFormProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarSearchProps = Omit<FilterBarSearchProps, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<string>;\n onChange?: FilterBarSearchProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarRangeValue = {\n from?: string;\n to?: string;\n};\n\nexport type JotaiFilterBarRangeProps = Omit<FilterBarRangeProps, \"from\" | \"to\" | \"onApply\"> & {\n atom: JotaiWritableAtom<JotaiFilterBarRangeValue>;\n onApply?: FilterBarRangeProps[\"onApply\"];\n};\n\n// Only a filter that holds a value can be backed by an atom. A date range\n// carries two edges it applies together, and is bound through\n// JotaiFilterBarRangeProps instead.\ntype ValuedFilterBarFilter = Extract<FilterBarFilter, { value: unknown }>;\n\ntype AtomizedFilter<TFilter extends ValuedFilterBarFilter> = Omit<TFilter, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<TFilter[\"value\"]>;\n onChange?: TFilter[\"onChange\"];\n};\n\nexport type JotaiFilterBarTextFilter = AtomizedFilter<FilterBarTextFilter>;\nexport type JotaiFilterBarLookupFilter = AtomizedFilter<FilterBarLookupFilter>;\nexport type JotaiFilterBarLookupMultiFilter = AtomizedFilter<FilterBarLookupMultiFilter>;\nexport type JotaiFilterBarMultiFilter = AtomizedFilter<FilterBarMultiFilter>;\nexport type JotaiFilterBarNestedMultiFilter = AtomizedFilter<FilterBarNestedMultiFilter>;\nexport type JotaiFilterBarSelectMultiFilter = AtomizedFilter<FilterBarSelectMultiFilter>;\nexport type JotaiFilterBarNumberFilter = AtomizedFilter<FilterBarNumberFilter>;\nexport type JotaiFilterBarEnumFilter = AtomizedFilter<FilterBarEnumFilter>;\nexport type JotaiFilterBarBooleanFilter = AtomizedFilter<FilterBarBooleanFilter>;\n\nexport type JotaiFilterBarFilter =\n | JotaiFilterBarTextFilter\n | JotaiFilterBarLookupFilter\n | JotaiFilterBarLookupMultiFilter\n | JotaiFilterBarMultiFilter\n | JotaiFilterBarNestedMultiFilter\n | JotaiFilterBarSelectMultiFilter\n | JotaiFilterBarNumberFilter\n | JotaiFilterBarEnumFilter\n | JotaiFilterBarBooleanFilter;\n\nexport type JotaiFilterBarProps = Omit<\n FilterBarProps,\n \"search\" | \"filters\" | \"timeRange\" | \"dateRange\"\n> & {\n search?: JotaiFilterBarSearchProps;\n filters?: JotaiFilterBarFilter[];\n timeRange?: JotaiFilterBarRangeProps;\n dateRange?: JotaiFilterBarRangeProps;\n};\n\ntype AnyJotaiAtom = JotaiWritableAtom<unknown>;\n\nfunction useAtomSubscriptions(atoms: AnyJotaiAtom[]) {\n const store = useStore();\n const [, forceRender] = useReducer((count: number) => count + 1, 0);\n const uniqueAtoms = useMemo(() => Array.from(new Set(atoms)), [atoms]);\n\n useEffect(() => {\n if (uniqueAtoms.length === 0) return undefined;\n const unsubscribers = uniqueAtoms.map((atom) => store.sub(atom, forceRender));\n return () => {\n unsubscribers.forEach((unsubscribe) => unsubscribe());\n };\n }, [store, uniqueAtoms]);\n}\n\nfunction useAtomValueSetter<Value>(atom: JotaiWritableAtom<Value>) {\n const store = useStore();\n const value = store.get(atom);\n const setValue = useCallback(\n (next: Value) => {\n store.set(atom, next);\n },\n [atom, store],\n );\n return [value, setValue] as const;\n}\n\nexport function useJotaiJsonSchemaFormProps(\n atom: JotaiJsonSchemaFormAtom,\n onChange?: JsonSchemaFormProps[\"onChange\"],\n): Pick<JsonSchemaFormProps, \"value\" | \"onChange\"> {\n const atoms = useMemo(() => [atom as AnyJotaiAtom], [atom]);\n useAtomSubscriptions(atoms);\n const [value, setValue] = useAtomValueSetter(atom);\n\n return useMemo(\n () => ({\n value,\n onChange: (next: Record<string, unknown>) => {\n setValue(next);\n onChange?.(next);\n },\n }),\n [onChange, setValue, value],\n );\n}\n\nfunction useJotaiFilterBarAtoms({\n search,\n filters,\n timeRange,\n dateRange,\n}: {\n search?: JotaiFilterBarSearchProps | undefined;\n filters?: JotaiFilterBarFilter[] | undefined;\n timeRange?: JotaiFilterBarRangeProps | undefined;\n dateRange?: JotaiFilterBarRangeProps | undefined;\n}) {\n const atoms = useMemo(() => {\n const next: AnyJotaiAtom[] = [];\n if (search) next.push(search.atom as AnyJotaiAtom);\n filters?.forEach((filter) => next.push(filter.atom as AnyJotaiAtom));\n if (timeRange) next.push(timeRange.atom as AnyJotaiAtom);\n if (dateRange) next.push(dateRange.atom as AnyJotaiAtom);\n return next;\n }, [dateRange, filters, search, timeRange]);\n useAtomSubscriptions(atoms);\n}\n\nfunction useJotaiSearch(search: JotaiFilterBarSearchProps | undefined): FilterBarSearchProps | undefined {\n const store = useStore();\n if (!search) return undefined;\n const { atom, onChange, ...rest } = search;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n}\n\nfunction useJotaiRange(range: JotaiFilterBarRangeProps | undefined): FilterBarRangeProps | undefined {\n const store = useStore();\n if (!range) return undefined;\n const { atom, onApply, ...rest } = range;\n const value = store.get(atom);\n return {\n ...rest,\n ...(value.from !== undefined ? { from: value.from } : {}),\n ...(value.to !== undefined ? { to: value.to } : {}),\n onApply: (from: string, to: string) => {\n store.set(atom, { from, to });\n onApply?.(from, to);\n },\n };\n}\n\nfunction useJotaiFilters(filters: JotaiFilterBarFilter[] | undefined): FilterBarFilter[] | undefined {\n const store = useStore();\n if (!filters) return undefined;\n return filters.map((filter) => bindJotaiFilter(store, filter));\n}\n\nfunction bindJotaiFilter(store: ReturnType<typeof useStore>, filter: JotaiFilterBarFilter): FilterBarFilter {\n switch (filter.kind) {\n case \"text\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup-multi\":\n case \"select-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string[]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"multi\":\n case \"nested-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarMultiFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"number\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarNumberFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"enum\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"boolean\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: boolean) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n }\n}\n\nexport function useJotaiFilterBarProps({\n search,\n filters,\n timeRange,\n dateRange,\n ...props\n}: JotaiFilterBarProps): FilterBarProps {\n useJotaiFilterBarAtoms({ search, filters, timeRange, dateRange });\n const controlledSearch = useJotaiSearch(search);\n const controlledFilters = useJotaiFilters(filters);\n const controlledTimeRange = useJotaiRange(timeRange);\n const controlledDateRange = useJotaiRange(dateRange);\n\n return {\n ...props,\n ...(controlledSearch ? { search: controlledSearch } : {}),\n ...(controlledFilters ? { filters: controlledFilters } : {}),\n ...(controlledTimeRange ? { timeRange: controlledTimeRange } : {}),\n ...(controlledDateRange ? { dateRange: controlledDateRange } : {}),\n };\n}\n"],"names":[],"mappings":";;AAqFA,SAAS,qBAAqB,OAAuB;AACnD,QAAM,QAAQ,SAAA;AACd,QAAM,CAAA,EAAG,WAAW,IAAI,WAAW,CAAC,UAAkB,QAAQ,GAAG,CAAC;AAClE,QAAM,cAAc,QAAQ,MAAM,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;AAErE,YAAU,MAAM;AACd,QAAI,YAAY,WAAW,EAAG,QAAO;AACrC,UAAM,gBAAgB,YAAY,IAAI,CAAC,SAAS,MAAM,IAAI,MAAM,WAAW,CAAC;AAC5E,WAAO,MAAM;AACX,oBAAc,QAAQ,CAAC,gBAAgB,YAAA,CAAa;AAAA,IACtD;AAAA,EACF,GAAG,CAAC,OAAO,WAAW,CAAC;AACzB;AAEA,SAAS,mBAA0B,MAAgC;AACjE,QAAM,QAAQ,SAAA;AACd,QAAM,QAAQ,MAAM,IAAI,IAAI;AAC5B,QAAM,WAAW;AAAA,IACf,CAAC,SAAgB;AACf,YAAM,IAAI,MAAM,IAAI;AAAA,IACtB;AAAA,IACA,CAAC,MAAM,KAAK;AAAA,EAAA;AAEd,SAAO,CAAC,OAAO,QAAQ;AACzB;AAEO,SAAS,4BACd,MACA,UACiD;AACjD,QAAM,QAAQ,QAAQ,MAAM,CAAC,IAAoB,GAAG,CAAC,IAAI,CAAC;AAC1D,uBAAqB,KAAK;AAC1B,QAAM,CAAC,OAAO,QAAQ,IAAI,mBAAmB,IAAI;AAEjD,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA,UAAU,CAAC,SAAkC;AAC3C,iBAAS,IAAI;AACb,6CAAW;AAAA,MACb;AAAA,IAAA;AAAA,IAEF,CAAC,UAAU,UAAU,KAAK;AAAA,EAAA;AAE9B;AAEA,SAAS,uBAAuB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAKG;AACD,QAAM,QAAQ,QAAQ,MAAM;AAC1B,UAAM,OAAuB,CAAA;AAC7B,QAAI,OAAQ,MAAK,KAAK,OAAO,IAAoB;AACjD,uCAAS,QAAQ,CAAC,WAAW,KAAK,KAAK,OAAO,IAAoB;AAClE,QAAI,UAAW,MAAK,KAAK,UAAU,IAAoB;AACvD,QAAI,UAAW,MAAK,KAAK,UAAU,IAAoB;AACvD,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,SAAS,QAAQ,SAAS,CAAC;AAC1C,uBAAqB,KAAK;AAC5B;AAEA,SAAS,eAAe,QAAiF;AACvG,QAAM,QAAQ,SAAA;AACd,MAAI,CAAC,OAAQ,QAAO;AACpB,QAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,OAAO,MAAM,IAAI,IAAI;AAAA,IACrB,UAAU,CAAC,SAAiB;AAC1B,YAAM,IAAI,MAAM,IAAI;AACpB,2CAAW;AAAA,IACb;AAAA,EAAA;AAEJ;AAEA,SAAS,cAAc,OAA8E;AACnG,QAAM,QAAQ,SAAA;AACd,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,EAAE,MAAM,SAAS,GAAG,SAAS;AACnC,QAAM,QAAQ,MAAM,IAAI,IAAI;AAC5B,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAI,MAAM,SAAS,SAAY,EAAE,MAAM,MAAM,KAAA,IAAS,CAAA;AAAA,IACtD,GAAI,MAAM,OAAO,SAAY,EAAE,IAAI,MAAM,GAAA,IAAO,CAAA;AAAA,IAChD,SAAS,CAAC,MAAc,OAAe;AACrC,YAAM,IAAI,MAAM,EAAE,MAAM,IAAI;AAC5B,yCAAU,MAAM;AAAA,IAClB;AAAA,EAAA;AAEJ;AAEA,SAAS,gBAAgB,SAA4E;AACnG,QAAM,QAAQ,SAAA;AACd,MAAI,CAAC,QAAS,QAAO;AACrB,SAAO,QAAQ,IAAI,CAAC,WAAW,gBAAgB,OAAO,MAAM,CAAC;AAC/D;AAEA,SAAS,gBAAgB,OAAoC,QAA+C;AAC1G,UAAQ,OAAO,MAAA;AAAA,IACb,KAAK,QAAQ;AACX,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAiB;AAC1B,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK,UAAU;AACb,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAiB;AAC1B,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAmB;AAC5B,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK;AAAA,IACL,KAAK,gBAAgB;AACnB,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAwC;AACjD,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK,UAAU;AACb,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAyC;AAClD,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK,QAAQ;AACX,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAiB;AAC1B,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,IACA,KAAK,WAAW;AACd,YAAM,EAAE,MAAM,UAAU,GAAG,SAAS;AACpC,aAAO;AAAA,QACL,GAAG;AAAA,QACH,OAAO,MAAM,IAAI,IAAI;AAAA,QACrB,UAAU,CAAC,SAAkB;AAC3B,gBAAM,IAAI,MAAM,IAAI;AACpB,+CAAW;AAAA,QACb;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAEJ;AAEO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAwC;AACtC,yBAAuB,EAAE,QAAQ,SAAS,WAAW,WAAW;AAChE,QAAM,mBAAmB,eAAe,MAAM;AAC9C,QAAM,oBAAoB,gBAAgB,OAAO;AACjD,QAAM,sBAAsB,cAAc,SAAS;AACnD,QAAM,sBAAsB,cAAc,SAAS;AAEnD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAI,mBAAmB,EAAE,QAAQ,iBAAA,IAAqB,CAAA;AAAA,IACtD,GAAI,oBAAoB,EAAE,SAAS,kBAAA,IAAsB,CAAA;AAAA,IACzD,GAAI,sBAAsB,EAAE,WAAW,oBAAA,IAAwB,CAAA;AAAA,IAC/D,GAAI,sBAAsB,EAAE,WAAW,wBAAwB,CAAA;AAAA,EAAC;AAEpE;"}
1
+ {"version":3,"file":"jotai-bindings-core.js","sources":["../../src/components/jotai-bindings-core.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useReducer } from \"react\";\nimport { useStore, type WritableAtom } from \"jotai\";\nimport type {\n FilterBarBooleanFilter,\n FilterBarEnumFilter,\n FilterBarFilter,\n FilterBarLookupFilter,\n FilterBarLookupMultiFilter,\n FilterBarMultiFilter,\n FilterBarNestedMultiFilter,\n FilterBarNumberFilter,\n FilterBarProps,\n FilterBarRangeProps,\n FilterBarSearchProps,\n FilterBarSelectMultiFilter,\n FilterBarTextFilter,\n FilterBarWorkloadFilter,\n} from \"./FilterBar\";\nimport type { JsonSchemaFormProps } from \"./json-schema-form-types\";\n\nexport type JotaiWritableAtom<Value> = WritableAtom<Value, [Value], unknown>;\nexport type JotaiJsonSchemaFormAtom = JotaiWritableAtom<Record<string, unknown>>;\n\nexport type JotaiJsonSchemaFormProps = Omit<JsonSchemaFormProps, \"value\" | \"onChange\"> & {\n atom: JotaiJsonSchemaFormAtom;\n onChange?: JsonSchemaFormProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarSearchProps = Omit<FilterBarSearchProps, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<string>;\n onChange?: FilterBarSearchProps[\"onChange\"];\n};\n\nexport type JotaiFilterBarRangeValue = {\n from?: string;\n to?: string;\n};\n\nexport type JotaiFilterBarRangeProps = Omit<FilterBarRangeProps, \"from\" | \"to\" | \"onApply\"> & {\n atom: JotaiWritableAtom<JotaiFilterBarRangeValue>;\n onApply?: FilterBarRangeProps[\"onApply\"];\n};\n\n// Only a filter that holds a value can be backed by an atom. A date range\n// carries two edges it applies together, and is bound through\n// JotaiFilterBarRangeProps instead.\ntype ValuedFilterBarFilter = Extract<FilterBarFilter, { value: unknown }>;\n\ntype AtomizedFilter<TFilter extends ValuedFilterBarFilter> = Omit<TFilter, \"value\" | \"onChange\"> & {\n atom: JotaiWritableAtom<TFilter[\"value\"]>;\n onChange?: TFilter[\"onChange\"];\n};\n\nexport type JotaiFilterBarTextFilter = AtomizedFilter<FilterBarTextFilter>;\nexport type JotaiFilterBarWorkloadFilter = AtomizedFilter<FilterBarWorkloadFilter>;\nexport type JotaiFilterBarLookupFilter = AtomizedFilter<FilterBarLookupFilter>;\nexport type JotaiFilterBarLookupMultiFilter = AtomizedFilter<FilterBarLookupMultiFilter>;\nexport type JotaiFilterBarMultiFilter = AtomizedFilter<FilterBarMultiFilter>;\nexport type JotaiFilterBarNestedMultiFilter = AtomizedFilter<FilterBarNestedMultiFilter>;\nexport type JotaiFilterBarSelectMultiFilter = AtomizedFilter<FilterBarSelectMultiFilter>;\nexport type JotaiFilterBarNumberFilter = AtomizedFilter<FilterBarNumberFilter>;\nexport type JotaiFilterBarEnumFilter = AtomizedFilter<FilterBarEnumFilter>;\nexport type JotaiFilterBarBooleanFilter = AtomizedFilter<FilterBarBooleanFilter>;\n\nexport type JotaiFilterBarFilter =\n | JotaiFilterBarTextFilter\n | JotaiFilterBarWorkloadFilter\n | JotaiFilterBarLookupFilter\n | JotaiFilterBarLookupMultiFilter\n | JotaiFilterBarMultiFilter\n | JotaiFilterBarNestedMultiFilter\n | JotaiFilterBarSelectMultiFilter\n | JotaiFilterBarNumberFilter\n | JotaiFilterBarEnumFilter\n | JotaiFilterBarBooleanFilter;\n\nexport type JotaiFilterBarProps = Omit<\n FilterBarProps,\n \"search\" | \"filters\" | \"timeRange\" | \"dateRange\"\n> & {\n search?: JotaiFilterBarSearchProps;\n filters?: JotaiFilterBarFilter[];\n timeRange?: JotaiFilterBarRangeProps;\n dateRange?: JotaiFilterBarRangeProps;\n};\n\ntype AnyJotaiAtom = JotaiWritableAtom<unknown>;\n\nfunction useAtomSubscriptions(atoms: AnyJotaiAtom[]) {\n const store = useStore();\n const [, forceRender] = useReducer((count: number) => count + 1, 0);\n const uniqueAtoms = useMemo(() => Array.from(new Set(atoms)), [atoms]);\n\n useEffect(() => {\n if (uniqueAtoms.length === 0) return undefined;\n const unsubscribers = uniqueAtoms.map((atom) => store.sub(atom, forceRender));\n return () => {\n unsubscribers.forEach((unsubscribe) => unsubscribe());\n };\n }, [store, uniqueAtoms]);\n}\n\nfunction useAtomValueSetter<Value>(atom: JotaiWritableAtom<Value>) {\n const store = useStore();\n const value = store.get(atom);\n const setValue = useCallback(\n (next: Value) => {\n store.set(atom, next);\n },\n [atom, store],\n );\n return [value, setValue] as const;\n}\n\nexport function useJotaiJsonSchemaFormProps(\n atom: JotaiJsonSchemaFormAtom,\n onChange?: JsonSchemaFormProps[\"onChange\"],\n): Pick<JsonSchemaFormProps, \"value\" | \"onChange\"> {\n const atoms = useMemo(() => [atom as AnyJotaiAtom], [atom]);\n useAtomSubscriptions(atoms);\n const [value, setValue] = useAtomValueSetter(atom);\n\n return useMemo(\n () => ({\n value,\n onChange: (next: Record<string, unknown>) => {\n setValue(next);\n onChange?.(next);\n },\n }),\n [onChange, setValue, value],\n );\n}\n\nfunction useJotaiFilterBarAtoms({\n search,\n filters,\n timeRange,\n dateRange,\n}: {\n search?: JotaiFilterBarSearchProps | undefined;\n filters?: JotaiFilterBarFilter[] | undefined;\n timeRange?: JotaiFilterBarRangeProps | undefined;\n dateRange?: JotaiFilterBarRangeProps | undefined;\n}) {\n const atoms = useMemo(() => {\n const next: AnyJotaiAtom[] = [];\n if (search) next.push(search.atom as AnyJotaiAtom);\n filters?.forEach((filter) => next.push(filter.atom as AnyJotaiAtom));\n if (timeRange) next.push(timeRange.atom as AnyJotaiAtom);\n if (dateRange) next.push(dateRange.atom as AnyJotaiAtom);\n return next;\n }, [dateRange, filters, search, timeRange]);\n useAtomSubscriptions(atoms);\n}\n\nfunction useJotaiSearch(search: JotaiFilterBarSearchProps | undefined): FilterBarSearchProps | undefined {\n const store = useStore();\n if (!search) return undefined;\n const { atom, onChange, ...rest } = search;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n}\n\nfunction useJotaiRange(range: JotaiFilterBarRangeProps | undefined): FilterBarRangeProps | undefined {\n const store = useStore();\n if (!range) return undefined;\n const { atom, onApply, ...rest } = range;\n const value = store.get(atom);\n return {\n ...rest,\n ...(value.from !== undefined ? { from: value.from } : {}),\n ...(value.to !== undefined ? { to: value.to } : {}),\n onApply: (from: string, to: string) => {\n store.set(atom, { from, to });\n onApply?.(from, to);\n },\n };\n}\n\nfunction useJotaiFilters(filters: JotaiFilterBarFilter[] | undefined): FilterBarFilter[] | undefined {\n const store = useStore();\n if (!filters) return undefined;\n return filters.map((filter) => bindJotaiFilter(store, filter));\n}\n\nfunction bindJotaiFilter(store: ReturnType<typeof useStore>, filter: JotaiFilterBarFilter): FilterBarFilter {\n switch (filter.kind) {\n case \"text\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"workload\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"lookup-multi\":\n case \"select-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string[]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"multi\":\n case \"nested-multi\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarMultiFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n } as FilterBarFilter;\n }\n case \"number\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: FilterBarNumberFilter[\"value\"]) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"enum\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: string) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n case \"boolean\": {\n const { atom, onChange, ...rest } = filter;\n return {\n ...rest,\n value: store.get(atom),\n onChange: (next: boolean) => {\n store.set(atom, next);\n onChange?.(next);\n },\n };\n }\n }\n}\n\nexport function useJotaiFilterBarProps({\n search,\n filters,\n timeRange,\n dateRange,\n ...props\n}: JotaiFilterBarProps): FilterBarProps {\n useJotaiFilterBarAtoms({ search, filters, timeRange, dateRange });\n const controlledSearch = useJotaiSearch(search);\n const controlledFilters = useJotaiFilters(filters);\n const controlledTimeRange = useJotaiRange(timeRange);\n const controlledDateRange = useJotaiRange(dateRange);\n\n return {\n ...props,\n ...(controlledSearch ? { search: controlledSearch } : {}),\n ...(controlledFilters ? { filters: controlledFilters } : {}),\n ...(controlledTimeRange ? { timeRange: controlledTimeRange } : {}),\n ...(controlledDateRange ? { dateRange: controlledDateRange } : {}),\n };\n}\n"],"names":[],"mappings":"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"}