@flanksource/clicky-ui 0.3.35 → 0.3.37

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 (2759) hide show
  1. package/NOTICE.md +462 -16
  2. package/README.md +16 -0
  3. package/dist/ai.cjs +26 -5
  4. package/dist/ai.cjs.map +1 -1
  5. package/dist/ai.js +23 -2
  6. package/dist/ai.js.map +1 -1
  7. package/dist/clicky.d.ts +1 -1
  8. package/dist/clicky.d.ts.map +1 -1
  9. package/dist/comments/CommentComposer.cjs +18 -5
  10. package/dist/comments/CommentComposer.cjs.map +1 -1
  11. package/dist/comments/CommentComposer.d.ts +5 -3
  12. package/dist/comments/CommentComposer.d.ts.map +1 -1
  13. package/dist/comments/CommentComposer.js +18 -5
  14. package/dist/comments/CommentComposer.js.map +1 -1
  15. package/dist/comments/CommentSidePanel.cjs +4 -1
  16. package/dist/comments/CommentSidePanel.cjs.map +1 -1
  17. package/dist/comments/CommentSidePanel.d.ts +2 -1
  18. package/dist/comments/CommentSidePanel.d.ts.map +1 -1
  19. package/dist/comments/CommentSidePanel.js +4 -1
  20. package/dist/comments/CommentSidePanel.js.map +1 -1
  21. package/dist/comments/CommentThread.cjs +2 -0
  22. package/dist/comments/CommentThread.cjs.map +1 -1
  23. package/dist/comments/CommentThread.d.ts +3 -2
  24. package/dist/comments/CommentThread.d.ts.map +1 -1
  25. package/dist/comments/CommentThread.js +2 -0
  26. package/dist/comments/CommentThread.js.map +1 -1
  27. package/dist/comments/comment-types.cjs.map +1 -1
  28. package/dist/comments/comment-types.d.ts +5 -1
  29. package/dist/comments/comment-types.d.ts.map +1 -1
  30. package/dist/comments/comment-types.js.map +1 -1
  31. package/dist/components/Combobox.cjs +1 -0
  32. package/dist/components/Combobox.cjs.map +1 -1
  33. package/dist/components/Combobox.d.ts.map +1 -1
  34. package/dist/components/Combobox.js +1 -0
  35. package/dist/components/Combobox.js.map +1 -1
  36. package/dist/components/ComboboxMenu.cjs +2 -1
  37. package/dist/components/ComboboxMenu.cjs.map +1 -1
  38. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  39. package/dist/components/ComboboxMenu.js +2 -1
  40. package/dist/components/ComboboxMenu.js.map +1 -1
  41. package/dist/components/ErrorWrapper.cjs +1 -1
  42. package/dist/components/ErrorWrapper.cjs.map +1 -1
  43. package/dist/components/ErrorWrapper.d.ts +2 -2
  44. package/dist/components/ErrorWrapper.d.ts.map +1 -1
  45. package/dist/components/ErrorWrapper.js +2 -2
  46. package/dist/components/ErrorWrapper.js.map +1 -1
  47. package/dist/components/FilterBar.cjs +588 -228
  48. package/dist/components/FilterBar.cjs.map +1 -1
  49. package/dist/components/FilterBar.d.ts +42 -3
  50. package/dist/components/FilterBar.d.ts.map +1 -1
  51. package/dist/components/FilterBar.js +586 -226
  52. package/dist/components/FilterBar.js.map +1 -1
  53. package/dist/components/JsonSchemaForm.cjs +15 -6
  54. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  55. package/dist/components/JsonSchemaForm.d.ts +1 -1
  56. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  57. package/dist/components/JsonSchemaForm.js +15 -6
  58. package/dist/components/JsonSchemaForm.js.map +1 -1
  59. package/dist/components/MultiSelect.cjs.map +1 -1
  60. package/dist/components/MultiSelect.d.ts +6 -0
  61. package/dist/components/MultiSelect.d.ts.map +1 -1
  62. package/dist/components/MultiSelect.js.map +1 -1
  63. package/dist/components/ScheduleEditor.cjs +184 -0
  64. package/dist/components/ScheduleEditor.cjs.map +1 -0
  65. package/dist/components/ScheduleEditor.d.ts +27 -0
  66. package/dist/components/ScheduleEditor.d.ts.map +1 -0
  67. package/dist/components/ScheduleEditor.js +184 -0
  68. package/dist/components/ScheduleEditor.js.map +1 -0
  69. package/dist/components/TimeRange.cjs +7 -4
  70. package/dist/components/TimeRange.cjs.map +1 -1
  71. package/dist/components/TimeRange.d.ts +6 -1
  72. package/dist/components/TimeRange.d.ts.map +1 -1
  73. package/dist/components/TimeRange.js +7 -4
  74. package/dist/components/TimeRange.js.map +1 -1
  75. package/dist/components/combobox-types.d.ts +6 -0
  76. package/dist/components/combobox-types.d.ts.map +1 -1
  77. package/dist/components/filter-bar-context.cjs +2 -1
  78. package/dist/components/filter-bar-context.cjs.map +1 -1
  79. package/dist/components/filter-bar-context.d.ts +1 -0
  80. package/dist/components/filter-bar-context.d.ts.map +1 -1
  81. package/dist/components/filter-bar-context.js +2 -1
  82. package/dist/components/filter-bar-context.js.map +1 -1
  83. package/dist/components/filter-bar-multi.cjs +7 -2
  84. package/dist/components/filter-bar-multi.cjs.map +1 -1
  85. package/dist/components/filter-bar-multi.d.ts.map +1 -1
  86. package/dist/components/filter-bar-multi.js +7 -2
  87. package/dist/components/filter-bar-multi.js.map +1 -1
  88. package/dist/components/filter-bar-utils.cjs +2 -2
  89. package/dist/components/filter-bar-utils.cjs.map +1 -1
  90. package/dist/components/filter-bar-utils.d.ts.map +1 -1
  91. package/dist/components/filter-bar-utils.js +2 -2
  92. package/dist/components/filter-bar-utils.js.map +1 -1
  93. package/dist/components/jotai-bindings-core.cjs +14 -1
  94. package/dist/components/jotai-bindings-core.cjs.map +1 -1
  95. package/dist/components/jotai-bindings-core.d.ts +3 -2
  96. package/dist/components/jotai-bindings-core.d.ts.map +1 -1
  97. package/dist/components/jotai-bindings-core.js +14 -1
  98. package/dist/components/jotai-bindings-core.js.map +1 -1
  99. package/dist/components/json-schema-form-errors.cjs +5 -3
  100. package/dist/components/json-schema-form-errors.cjs.map +1 -1
  101. package/dist/components/json-schema-form-errors.d.ts +3 -1
  102. package/dist/components/json-schema-form-errors.d.ts.map +1 -1
  103. package/dist/components/json-schema-form-errors.js +5 -3
  104. package/dist/components/json-schema-form-errors.js.map +1 -1
  105. package/dist/components/json-schema-form-fields.cjs +19 -13
  106. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  107. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  108. package/dist/components/json-schema-form-fields.js +20 -14
  109. package/dist/components/json-schema-form-fields.js.map +1 -1
  110. package/dist/components/json-schema-form-layout.cjs +2 -1
  111. package/dist/components/json-schema-form-layout.cjs.map +1 -1
  112. package/dist/components/json-schema-form-layout.d.ts.map +1 -1
  113. package/dist/components/json-schema-form-layout.js +2 -1
  114. package/dist/components/json-schema-form-layout.js.map +1 -1
  115. package/dist/components/json-schema-form-render.cjs +32 -1
  116. package/dist/components/json-schema-form-render.cjs.map +1 -1
  117. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  118. package/dist/components/json-schema-form-render.js +33 -2
  119. package/dist/components/json-schema-form-render.js.map +1 -1
  120. package/dist/components/json-schema-form-resolve.cjs +13 -1
  121. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  122. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  123. package/dist/components/json-schema-form-resolve.js +13 -1
  124. package/dist/components/json-schema-form-resolve.js.map +1 -1
  125. package/dist/components/json-schema-form-runtime-types.d.ts +18 -0
  126. package/dist/components/json-schema-form-runtime-types.d.ts.map +1 -1
  127. package/dist/components/json-schema-form-table-array.cjs +1 -1
  128. package/dist/components/json-schema-form-table-array.cjs.map +1 -1
  129. package/dist/components/json-schema-form-table-array.js +1 -1
  130. package/dist/components/json-schema-form-table-array.js.map +1 -1
  131. package/dist/components/json-schema-form-template-menu.cjs +4 -0
  132. package/dist/components/json-schema-form-template-menu.cjs.map +1 -1
  133. package/dist/components/json-schema-form-template-menu.d.ts.map +1 -1
  134. package/dist/components/json-schema-form-template-menu.js +4 -0
  135. package/dist/components/json-schema-form-template-menu.js.map +1 -1
  136. package/dist/components/json-schema-form-template.cjs +5 -4
  137. package/dist/components/json-schema-form-template.cjs.map +1 -1
  138. package/dist/components/json-schema-form-template.d.ts +3 -1
  139. package/dist/components/json-schema-form-template.d.ts.map +1 -1
  140. package/dist/components/json-schema-form-template.js +5 -4
  141. package/dist/components/json-schema-form-template.js.map +1 -1
  142. package/dist/components/schedule-cron-model.cjs +68 -0
  143. package/dist/components/schedule-cron-model.cjs.map +1 -0
  144. package/dist/components/schedule-cron-model.d.ts +7 -0
  145. package/dist/components/schedule-cron-model.d.ts.map +1 -0
  146. package/dist/components/schedule-cron-model.js +68 -0
  147. package/dist/components/schedule-cron-model.js.map +1 -0
  148. package/dist/components/schedule-types.cjs +13 -0
  149. package/dist/components/schedule-types.cjs.map +1 -0
  150. package/dist/components/schedule-types.d.ts +8 -0
  151. package/dist/components/schedule-types.d.ts.map +1 -0
  152. package/dist/components/schedule-types.js +13 -0
  153. package/dist/components/schedule-types.js.map +1 -0
  154. package/dist/components/useComboboxLayout.cjs +2 -1
  155. package/dist/components/useComboboxLayout.cjs.map +1 -1
  156. package/dist/components/useComboboxLayout.d.ts.map +1 -1
  157. package/dist/components/useComboboxLayout.js +2 -1
  158. package/dist/components/useComboboxLayout.js.map +1 -1
  159. package/dist/components.cjs +11 -0
  160. package/dist/components.cjs.map +1 -1
  161. package/dist/components.d.ts +6 -2
  162. package/dist/components.d.ts.map +1 -1
  163. package/dist/components.js +12 -1
  164. package/dist/components.js.map +1 -1
  165. package/dist/data/Badge.cjs +9 -4
  166. package/dist/data/Badge.cjs.map +1 -1
  167. package/dist/data/Badge.d.ts.map +1 -1
  168. package/dist/data/Badge.js +9 -4
  169. package/dist/data/Badge.js.map +1 -1
  170. package/dist/data/Clicky.cjs +188 -19
  171. package/dist/data/Clicky.cjs.map +1 -1
  172. package/dist/data/Clicky.d.ts +48 -2
  173. package/dist/data/Clicky.d.ts.map +1 -1
  174. package/dist/data/Clicky.js +188 -19
  175. package/dist/data/Clicky.js.map +1 -1
  176. package/dist/data/CodeBlock.cjs +29 -3
  177. package/dist/data/CodeBlock.cjs.map +1 -1
  178. package/dist/data/CodeBlock.d.ts +12 -1
  179. package/dist/data/CodeBlock.d.ts.map +1 -1
  180. package/dist/data/CodeBlock.js +29 -3
  181. package/dist/data/CodeBlock.js.map +1 -1
  182. package/dist/data/DataTable.cjs +268 -392
  183. package/dist/data/DataTable.cjs.map +1 -1
  184. package/dist/data/DataTable.d.ts +18 -1
  185. package/dist/data/DataTable.d.ts.map +1 -1
  186. package/dist/data/DataTable.js +250 -374
  187. package/dist/data/DataTable.js.map +1 -1
  188. package/dist/data/DataTableMenuSections.cjs +263 -0
  189. package/dist/data/DataTableMenuSections.cjs.map +1 -0
  190. package/dist/data/DataTableMenuSections.d.ts +23 -0
  191. package/dist/data/DataTableMenuSections.d.ts.map +1 -0
  192. package/dist/data/DataTableMenuSections.js +263 -0
  193. package/dist/data/DataTableMenuSections.js.map +1 -0
  194. package/dist/data/DataTableOverflowCue.cjs +77 -0
  195. package/dist/data/DataTableOverflowCue.cjs.map +1 -0
  196. package/dist/data/DataTableOverflowCue.d.ts +4 -0
  197. package/dist/data/DataTableOverflowCue.d.ts.map +1 -0
  198. package/dist/data/DataTableOverflowCue.js +77 -0
  199. package/dist/data/DataTableOverflowCue.js.map +1 -0
  200. package/dist/data/DataTablePreferencesSheet.cjs +136 -0
  201. package/dist/data/DataTablePreferencesSheet.cjs.map +1 -0
  202. package/dist/data/DataTablePreferencesSheet.d.ts +23 -0
  203. package/dist/data/DataTablePreferencesSheet.d.ts.map +1 -0
  204. package/dist/data/DataTablePreferencesSheet.js +136 -0
  205. package/dist/data/DataTablePreferencesSheet.js.map +1 -0
  206. package/dist/data/ExecutionTree.cjs +4 -0
  207. package/dist/data/ExecutionTree.cjs.map +1 -1
  208. package/dist/data/ExecutionTree.d.ts +10 -1
  209. package/dist/data/ExecutionTree.d.ts.map +1 -1
  210. package/dist/data/ExecutionTree.js +4 -0
  211. package/dist/data/ExecutionTree.js.map +1 -1
  212. package/dist/data/GraphDiagram.cjs +201 -0
  213. package/dist/data/GraphDiagram.cjs.map +1 -0
  214. package/dist/data/GraphDiagram.d.ts +36 -0
  215. package/dist/data/GraphDiagram.d.ts.map +1 -0
  216. package/dist/data/GraphDiagram.js +201 -0
  217. package/dist/data/GraphDiagram.js.map +1 -0
  218. package/dist/data/JsonView.cjs +1 -1
  219. package/dist/data/JsonView.cjs.map +1 -1
  220. package/dist/data/JsonView.d.ts.map +1 -1
  221. package/dist/data/JsonView.js +1 -1
  222. package/dist/data/JsonView.js.map +1 -1
  223. package/dist/data/MarkdownEditor.model.d.ts +1 -1
  224. package/dist/data/MatrixTable.cjs +5 -4
  225. package/dist/data/MatrixTable.cjs.map +1 -1
  226. package/dist/data/MatrixTable.d.ts.map +1 -1
  227. package/dist/data/MatrixTable.js +5 -4
  228. package/dist/data/MatrixTable.js.map +1 -1
  229. package/dist/data/ObjectGraph.cjs +5 -2
  230. package/dist/data/ObjectGraph.cjs.map +1 -1
  231. package/dist/data/ObjectGraph.d.ts +8 -1
  232. package/dist/data/ObjectGraph.d.ts.map +1 -1
  233. package/dist/data/ObjectGraph.js +5 -2
  234. package/dist/data/ObjectGraph.js.map +1 -1
  235. package/dist/data/TaskExecDetails.cjs +31 -5
  236. package/dist/data/TaskExecDetails.cjs.map +1 -1
  237. package/dist/data/TaskExecDetails.d.ts +2 -1
  238. package/dist/data/TaskExecDetails.d.ts.map +1 -1
  239. package/dist/data/TaskExecDetails.js +31 -5
  240. package/dist/data/TaskExecDetails.js.map +1 -1
  241. package/dist/data/TaskHeaderExtras.cjs +35 -0
  242. package/dist/data/TaskHeaderExtras.cjs.map +1 -0
  243. package/dist/data/TaskHeaderExtras.d.ts +27 -0
  244. package/dist/data/TaskHeaderExtras.d.ts.map +1 -0
  245. package/dist/data/TaskHeaderExtras.js +35 -0
  246. package/dist/data/TaskHeaderExtras.js.map +1 -0
  247. package/dist/data/TaskManager.cjs +18 -6
  248. package/dist/data/TaskManager.cjs.map +1 -1
  249. package/dist/data/TaskManager.d.ts +13 -1
  250. package/dist/data/TaskManager.d.ts.map +1 -1
  251. package/dist/data/TaskManager.js +18 -6
  252. package/dist/data/TaskManager.js.map +1 -1
  253. package/dist/data/TaskProcessDetails.cjs +4 -1
  254. package/dist/data/TaskProcessDetails.cjs.map +1 -1
  255. package/dist/data/TaskProcessDetails.d.ts.map +1 -1
  256. package/dist/data/TaskProcessDetails.js +4 -1
  257. package/dist/data/TaskProcessDetails.js.map +1 -1
  258. package/dist/data/TaskProcessMetadata.cjs +50 -0
  259. package/dist/data/TaskProcessMetadata.cjs.map +1 -0
  260. package/dist/data/TaskProcessMetadata.d.ts +20 -0
  261. package/dist/data/TaskProcessMetadata.d.ts.map +1 -0
  262. package/dist/data/TaskProcessMetadata.js +50 -0
  263. package/dist/data/TaskProcessMetadata.js.map +1 -0
  264. package/dist/data/TaskProgress.cjs +30 -32
  265. package/dist/data/TaskProgress.cjs.map +1 -1
  266. package/dist/data/TaskProgress.d.ts +14 -1
  267. package/dist/data/TaskProgress.d.ts.map +1 -1
  268. package/dist/data/TaskProgress.js +30 -32
  269. package/dist/data/TaskProgress.js.map +1 -1
  270. package/dist/data/TaskSnapshot.cjs.map +1 -1
  271. package/dist/data/TaskSnapshot.d.ts +24 -1
  272. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  273. package/dist/data/TaskSnapshot.js.map +1 -1
  274. package/dist/data/TaskStreamTabs.cjs +78 -0
  275. package/dist/data/TaskStreamTabs.cjs.map +1 -0
  276. package/dist/data/TaskStreamTabs.d.ts +35 -0
  277. package/dist/data/TaskStreamTabs.d.ts.map +1 -0
  278. package/dist/data/TaskStreamTabs.js +78 -0
  279. package/dist/data/TaskStreamTabs.js.map +1 -0
  280. package/dist/data/TreeNode.cjs +28 -1
  281. package/dist/data/TreeNode.cjs.map +1 -1
  282. package/dist/data/TreeNode.d.ts +13 -1
  283. package/dist/data/TreeNode.d.ts.map +1 -1
  284. package/dist/data/TreeNode.js +28 -1
  285. package/dist/data/TreeNode.js.map +1 -1
  286. package/dist/data/ai/ChatWindow.cjs +2 -2
  287. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  288. package/dist/data/ai/ChatWindow.js +2 -2
  289. package/dist/data/ai/ChatWindow.js.map +1 -1
  290. package/dist/data/ai/ChatWindowManager.cjs +2 -2
  291. package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
  292. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  293. package/dist/data/ai/ChatWindowManager.js +3 -3
  294. package/dist/data/ai/ChatWindowManager.js.map +1 -1
  295. package/dist/data/ai/PromptRunEditor/PromptBlocks.cjs +125 -0
  296. package/dist/data/ai/PromptRunEditor/PromptBlocks.cjs.map +1 -0
  297. package/dist/data/ai/PromptRunEditor/PromptBlocks.d.ts +24 -0
  298. package/dist/data/ai/PromptRunEditor/PromptBlocks.d.ts.map +1 -0
  299. package/dist/data/ai/PromptRunEditor/PromptBlocks.js +125 -0
  300. package/dist/data/ai/PromptRunEditor/PromptBlocks.js.map +1 -0
  301. package/dist/data/ai/PromptRunEditor/RecentRuntimes.cjs +69 -0
  302. package/dist/data/ai/PromptRunEditor/RecentRuntimes.cjs.map +1 -0
  303. package/dist/data/ai/PromptRunEditor/RecentRuntimes.d.ts +10 -0
  304. package/dist/data/ai/PromptRunEditor/RecentRuntimes.d.ts.map +1 -0
  305. package/dist/data/ai/PromptRunEditor/RecentRuntimes.js +69 -0
  306. package/dist/data/ai/PromptRunEditor/RecentRuntimes.js.map +1 -0
  307. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs +118 -0
  308. package/dist/data/ai/PromptRunEditor/RuntimeRows.cjs.map +1 -0
  309. package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts +16 -0
  310. package/dist/data/ai/PromptRunEditor/RuntimeRows.d.ts.map +1 -0
  311. package/dist/data/ai/PromptRunEditor/RuntimeRows.js +118 -0
  312. package/dist/data/ai/PromptRunEditor/RuntimeRows.js.map +1 -0
  313. package/dist/data/ai/PromptRunEditor/index.cjs +157 -253
  314. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  315. package/dist/data/ai/PromptRunEditor/index.d.ts +20 -8
  316. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  317. package/dist/data/ai/PromptRunEditor/index.js +158 -254
  318. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  319. package/dist/data/ai/PromptRunEditor/model.cjs +56 -0
  320. package/dist/data/ai/PromptRunEditor/model.cjs.map +1 -1
  321. package/dist/data/ai/PromptRunEditor/model.d.ts +13 -1
  322. package/dist/data/ai/PromptRunEditor/model.d.ts.map +1 -1
  323. package/dist/data/ai/PromptRunEditor/model.js +57 -1
  324. package/dist/data/ai/PromptRunEditor/model.js.map +1 -1
  325. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs +194 -0
  326. package/dist/data/ai/PromptRunEditor/runtimeActions.cjs.map +1 -0
  327. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts +30 -0
  328. package/dist/data/ai/PromptRunEditor/runtimeActions.d.ts.map +1 -0
  329. package/dist/data/ai/PromptRunEditor/runtimeActions.js +194 -0
  330. package/dist/data/ai/PromptRunEditor/runtimeActions.js.map +1 -0
  331. package/dist/data/ai/PromptRunEditor/yaml.cjs +47 -0
  332. package/dist/data/ai/PromptRunEditor/yaml.cjs.map +1 -0
  333. package/dist/data/ai/PromptRunEditor/yaml.d.ts +9 -0
  334. package/dist/data/ai/PromptRunEditor/yaml.d.ts.map +1 -0
  335. package/dist/data/ai/PromptRunEditor/yaml.js +47 -0
  336. package/dist/data/ai/PromptRunEditor/yaml.js.map +1 -0
  337. package/dist/data/ai/SessionChatComposer.cjs +72 -2
  338. package/dist/data/ai/SessionChatComposer.cjs.map +1 -1
  339. package/dist/data/ai/SessionChatComposer.d.ts +12 -1
  340. package/dist/data/ai/SessionChatComposer.d.ts.map +1 -1
  341. package/dist/data/ai/SessionChatComposer.js +73 -3
  342. package/dist/data/ai/SessionChatComposer.js.map +1 -1
  343. package/dist/data/ai/SessionInspector.approvals-model.cjs +9 -0
  344. package/dist/data/ai/SessionInspector.approvals-model.cjs.map +1 -0
  345. package/dist/data/ai/SessionInspector.approvals-model.d.ts +17 -0
  346. package/dist/data/ai/SessionInspector.approvals-model.d.ts.map +1 -0
  347. package/dist/data/ai/SessionInspector.approvals-model.js +9 -0
  348. package/dist/data/ai/SessionInspector.approvals-model.js.map +1 -0
  349. package/dist/data/ai/SessionInspector.approvals.cjs +7 -11
  350. package/dist/data/ai/SessionInspector.approvals.cjs.map +1 -1
  351. package/dist/data/ai/SessionInspector.approvals.d.ts +2 -10
  352. package/dist/data/ai/SessionInspector.approvals.d.ts.map +1 -1
  353. package/dist/data/ai/SessionInspector.approvals.js +4 -8
  354. package/dist/data/ai/SessionInspector.approvals.js.map +1 -1
  355. package/dist/data/ai/SessionInspector.cjs +219 -144
  356. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  357. package/dist/data/ai/SessionInspector.compact.cjs +91 -0
  358. package/dist/data/ai/SessionInspector.compact.cjs.map +1 -0
  359. package/dist/data/ai/SessionInspector.compact.d.ts +19 -0
  360. package/dist/data/ai/SessionInspector.compact.d.ts.map +1 -0
  361. package/dist/data/ai/SessionInspector.compact.js +91 -0
  362. package/dist/data/ai/SessionInspector.compact.js.map +1 -0
  363. package/dist/data/ai/SessionInspector.d.ts +11 -3
  364. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  365. package/dist/data/ai/SessionInspector.hierarchy.cjs +48 -33
  366. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  367. package/dist/data/ai/SessionInspector.hierarchy.d.ts +6 -0
  368. package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -1
  369. package/dist/data/ai/SessionInspector.hierarchy.js +50 -35
  370. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  371. package/dist/data/ai/SessionInspector.js +222 -147
  372. package/dist/data/ai/SessionInspector.js.map +1 -1
  373. package/dist/data/ai/SessionInspector.panel-parts.cjs +0 -13
  374. package/dist/data/ai/SessionInspector.panel-parts.cjs.map +1 -1
  375. package/dist/data/ai/SessionInspector.panel-parts.d.ts +4 -5
  376. package/dist/data/ai/SessionInspector.panel-parts.d.ts.map +1 -1
  377. package/dist/data/ai/SessionInspector.panel-parts.js +1 -14
  378. package/dist/data/ai/SessionInspector.panel-parts.js.map +1 -1
  379. package/dist/data/ai/SessionInspector.panel-values.cjs +18 -0
  380. package/dist/data/ai/SessionInspector.panel-values.cjs.map +1 -0
  381. package/dist/data/ai/SessionInspector.panel-values.d.ts +13 -0
  382. package/dist/data/ai/SessionInspector.panel-values.d.ts.map +1 -0
  383. package/dist/data/ai/SessionInspector.panel-values.js +18 -0
  384. package/dist/data/ai/SessionInspector.panel-values.js.map +1 -0
  385. package/dist/data/ai/SessionInspector.panels.cjs +42 -26
  386. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -1
  387. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -1
  388. package/dist/data/ai/SessionInspector.panels.js +17 -1
  389. package/dist/data/ai/SessionInspector.panels.js.map +1 -1
  390. package/dist/data/ai/SessionInspector.summary.cjs +25 -0
  391. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -1
  392. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -1
  393. package/dist/data/ai/SessionInspector.summary.js +25 -0
  394. package/dist/data/ai/SessionInspector.summary.js.map +1 -1
  395. package/dist/data/ai/SessionInspector.tabs.cjs +34 -0
  396. package/dist/data/ai/SessionInspector.tabs.cjs.map +1 -0
  397. package/dist/data/ai/SessionInspector.tabs.d.ts +8 -0
  398. package/dist/data/ai/SessionInspector.tabs.d.ts.map +1 -0
  399. package/dist/data/ai/SessionInspector.tabs.js +34 -0
  400. package/dist/data/ai/SessionInspector.tabs.js.map +1 -0
  401. package/dist/data/ai/SessionInspector.tabs.model.cjs +70 -0
  402. package/dist/data/ai/SessionInspector.tabs.model.cjs.map +1 -0
  403. package/dist/data/ai/SessionInspector.tabs.model.d.ts +9 -0
  404. package/dist/data/ai/SessionInspector.tabs.model.d.ts.map +1 -0
  405. package/dist/data/ai/SessionInspector.tabs.model.js +70 -0
  406. package/dist/data/ai/SessionInspector.tabs.model.js.map +1 -0
  407. package/dist/data/ai/SessionViewer.cjs +16 -5
  408. package/dist/data/ai/SessionViewer.cjs.map +1 -1
  409. package/dist/data/ai/SessionViewer.d.ts +3 -1
  410. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  411. package/dist/data/ai/SessionViewer.header.cjs +36 -1
  412. package/dist/data/ai/SessionViewer.header.cjs.map +1 -1
  413. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -1
  414. package/dist/data/ai/SessionViewer.header.js +36 -1
  415. package/dist/data/ai/SessionViewer.header.js.map +1 -1
  416. package/dist/data/ai/SessionViewer.input.cjs +1 -0
  417. package/dist/data/ai/SessionViewer.input.cjs.map +1 -1
  418. package/dist/data/ai/SessionViewer.input.d.ts +1 -0
  419. package/dist/data/ai/SessionViewer.input.d.ts.map +1 -1
  420. package/dist/data/ai/SessionViewer.input.js +1 -0
  421. package/dist/data/ai/SessionViewer.input.js.map +1 -1
  422. package/dist/data/ai/SessionViewer.js +16 -5
  423. package/dist/data/ai/SessionViewer.js.map +1 -1
  424. package/dist/data/ai/SessionViewer.model.cjs +12 -0
  425. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  426. package/dist/data/ai/SessionViewer.model.d.ts +4 -0
  427. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  428. package/dist/data/ai/SessionViewer.model.js +12 -0
  429. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  430. package/dist/data/ai/SessionViewer.rows.cjs +9 -5
  431. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  432. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  433. package/dist/data/ai/SessionViewer.rows.js +9 -5
  434. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  435. package/dist/data/ai/SessionViewer.tool-row.cjs +79 -72
  436. package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -1
  437. package/dist/data/ai/SessionViewer.tool-row.js +79 -72
  438. package/dist/data/ai/SessionViewer.tool-row.js.map +1 -1
  439. package/dist/data/ai/SessionViewer.unified.d.ts +4 -0
  440. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  441. package/dist/data/ai/SessionViewerMenu.cjs +2 -0
  442. package/dist/data/ai/SessionViewerMenu.cjs.map +1 -1
  443. package/dist/data/ai/SessionViewerMenu.d.ts +3 -1
  444. package/dist/data/ai/SessionViewerMenu.d.ts.map +1 -1
  445. package/dist/data/ai/SessionViewerMenu.js +2 -0
  446. package/dist/data/ai/SessionViewerMenu.js.map +1 -1
  447. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +5 -4
  448. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  449. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +3 -1
  450. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  451. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +5 -4
  452. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  453. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs +41 -31
  454. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.cjs.map +1 -1
  455. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts +7 -0
  456. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.d.ts.map +1 -1
  457. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js +43 -33
  458. package/dist/data/ai/SpecRuntimeEditor/PermissionModeField.js.map +1 -1
  459. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs +13 -171
  460. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.cjs.map +1 -1
  461. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts +6 -2
  462. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.d.ts.map +1 -1
  463. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js +14 -172
  464. package/dist/data/ai/SpecRuntimeEditor/PermissionsSection.js.map +1 -1
  465. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +6 -2
  466. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  467. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts +1 -1
  468. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  469. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +7 -3
  470. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  471. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs +1 -29
  472. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.cjs.map +1 -1
  473. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts +2 -3
  474. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.d.ts.map +1 -1
  475. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js +2 -30
  476. package/dist/data/ai/SpecRuntimeEditor/SandboxSection.js.map +1 -1
  477. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs +9 -1
  478. package/dist/data/ai/SpecRuntimeEditor/SectionCard.cjs.map +1 -1
  479. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts +3 -2
  480. package/dist/data/ai/SpecRuntimeEditor/SectionCard.d.ts.map +1 -1
  481. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js +9 -1
  482. package/dist/data/ai/SpecRuntimeEditor/SectionCard.js.map +1 -1
  483. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.cjs +62 -0
  484. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.cjs.map +1 -0
  485. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.d.ts +12 -0
  486. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.d.ts.map +1 -0
  487. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.js +62 -0
  488. package/dist/data/ai/SpecRuntimeEditor/SectionTabs.js.map +1 -0
  489. package/dist/data/ai/SpecRuntimeEditor/index.cjs +80 -51
  490. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  491. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +15 -5
  492. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  493. package/dist/data/ai/SpecRuntimeEditor/index.js +80 -51
  494. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  495. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs +8 -3
  496. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.cjs.map +1 -1
  497. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js +8 -3
  498. package/dist/data/ai/SpecRuntimeEditor/permission-mode-visuals.js.map +1 -1
  499. package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs +20 -0
  500. package/dist/data/ai/SpecRuntimeEditor/permissions-model.cjs.map +1 -1
  501. package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts +3 -1
  502. package/dist/data/ai/SpecRuntimeEditor/permissions-model.d.ts.map +1 -1
  503. package/dist/data/ai/SpecRuntimeEditor/permissions-model.js +20 -0
  504. package/dist/data/ai/SpecRuntimeEditor/permissions-model.js.map +1 -1
  505. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  506. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  507. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  508. package/dist/data/ai/SpecRuntimeEditor/types.cjs +17 -4
  509. package/dist/data/ai/SpecRuntimeEditor/types.cjs.map +1 -1
  510. package/dist/data/ai/SpecRuntimeEditor/types.d.ts +16 -0
  511. package/dist/data/ai/SpecRuntimeEditor/types.d.ts.map +1 -1
  512. package/dist/data/ai/SpecRuntimeEditor/types.js +18 -5
  513. package/dist/data/ai/SpecRuntimeEditor/types.js.map +1 -1
  514. package/dist/data/ai/SpecRuntimeEditor/update.cjs +10 -9
  515. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  516. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +1 -1
  517. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  518. package/dist/data/ai/SpecRuntimeEditor/update.js +10 -9
  519. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  520. package/dist/data/ai/SpecRuntimeEditor.model.cjs +6 -1
  521. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  522. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  523. package/dist/data/ai/SpecRuntimeEditor.model.js +8 -3
  524. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  525. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs +5 -13
  526. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.cjs.map +1 -1
  527. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts +0 -1
  528. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.d.ts.map +1 -1
  529. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js +5 -13
  530. package/dist/data/ai/SpecRuntimeEditor.sandbox-model.js.map +1 -1
  531. package/dist/data/ai/chat-window-context.cjs +15 -1
  532. package/dist/data/ai/chat-window-context.cjs.map +1 -1
  533. package/dist/data/ai/chat-window-context.d.ts +1 -0
  534. package/dist/data/ai/chat-window-context.d.ts.map +1 -1
  535. package/dist/data/ai/chat-window-context.js +15 -1
  536. package/dist/data/ai/chat-window-context.js.map +1 -1
  537. package/dist/data/ai/index.d.ts +11 -5
  538. package/dist/data/ai/index.d.ts.map +1 -1
  539. package/dist/data/ai/runtime-profile.cjs +1 -71
  540. package/dist/data/ai/runtime-profile.cjs.map +1 -1
  541. package/dist/data/ai/runtime-profile.d.ts +12 -11
  542. package/dist/data/ai/runtime-profile.d.ts.map +1 -1
  543. package/dist/data/ai/runtime-profile.js +1 -71
  544. package/dist/data/ai/runtime-profile.js.map +1 -1
  545. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs +2 -2
  546. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.cjs.map +1 -1
  547. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js +2 -2
  548. package/dist/data/ai/runtime-profiles/OrderedPresetSelect.js.map +1 -1
  549. package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs +0 -8
  550. package/dist/data/ai/runtime-profiles/PresetSpecEditor.cjs.map +1 -1
  551. package/dist/data/ai/runtime-profiles/PresetSpecEditor.d.ts.map +1 -1
  552. package/dist/data/ai/runtime-profiles/PresetSpecEditor.js +0 -8
  553. package/dist/data/ai/runtime-profiles/PresetSpecEditor.js.map +1 -1
  554. package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs +12 -3
  555. package/dist/data/ai/runtime-profiles/PresetWorkspace.cjs.map +1 -1
  556. package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts +3 -2
  557. package/dist/data/ai/runtime-profiles/PresetWorkspace.d.ts.map +1 -1
  558. package/dist/data/ai/runtime-profiles/PresetWorkspace.js +12 -3
  559. package/dist/data/ai/runtime-profiles/PresetWorkspace.js.map +1 -1
  560. package/dist/data/ai/runtime-profiles/ProfilePresetChips.cjs +59 -0
  561. package/dist/data/ai/runtime-profiles/ProfilePresetChips.cjs.map +1 -0
  562. package/dist/data/ai/runtime-profiles/ProfilePresetChips.d.ts +7 -0
  563. package/dist/data/ai/runtime-profiles/ProfilePresetChips.d.ts.map +1 -0
  564. package/dist/data/ai/runtime-profiles/ProfilePresetChips.js +59 -0
  565. package/dist/data/ai/runtime-profiles/ProfilePresetChips.js.map +1 -0
  566. package/dist/data/ai/runtime-profiles/ResolutionInspector.cjs.map +1 -1
  567. package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts +2 -2
  568. package/dist/data/ai/runtime-profiles/ResolutionInspector.d.ts.map +1 -1
  569. package/dist/data/ai/runtime-profiles/ResolutionInspector.js.map +1 -1
  570. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs +136 -150
  571. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.cjs.map +1 -1
  572. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts +2 -5
  573. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.d.ts.map +1 -1
  574. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js +137 -151
  575. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.js.map +1 -1
  576. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs +0 -15
  577. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.cjs.map +1 -1
  578. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js +1 -16
  579. package/dist/data/ai/runtime-profiles/RuntimeProfilePicker.model.js.map +1 -1
  580. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs +8 -62
  581. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.cjs.map +1 -1
  582. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts +1 -1
  583. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.d.ts.map +1 -1
  584. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js +10 -64
  585. package/dist/data/ai/runtime-profiles/RuntimeProfilesWorkspace.js.map +1 -1
  586. package/dist/data/ai/runtime-profiles/index.d.ts +1 -1
  587. package/dist/data/ai/runtime-profiles/index.d.ts.map +1 -1
  588. package/dist/data/ai/runtime-profiles/types.d.ts +4 -2
  589. package/dist/data/ai/runtime-profiles/types.d.ts.map +1 -1
  590. package/dist/data/ai/runtime-profiles/use-resolution.cjs +33 -0
  591. package/dist/data/ai/runtime-profiles/use-resolution.cjs.map +1 -1
  592. package/dist/data/ai/runtime-profiles/use-resolution.d.ts +1 -0
  593. package/dist/data/ai/runtime-profiles/use-resolution.d.ts.map +1 -1
  594. package/dist/data/ai/runtime-profiles/use-resolution.js +33 -0
  595. package/dist/data/ai/runtime-profiles/use-resolution.js.map +1 -1
  596. package/dist/data/cells/TagList.cjs +5 -3
  597. package/dist/data/cells/TagList.cjs.map +1 -1
  598. package/dist/data/cells/TagList.d.ts.map +1 -1
  599. package/dist/data/cells/TagList.js +5 -3
  600. package/dist/data/cells/TagList.js.map +1 -1
  601. package/dist/data/chat/Chat.runtime.cjs +4 -6
  602. package/dist/data/chat/Chat.runtime.cjs.map +1 -1
  603. package/dist/data/chat/Chat.runtime.d.ts.map +1 -1
  604. package/dist/data/chat/Chat.runtime.js +4 -6
  605. package/dist/data/chat/Chat.runtime.js.map +1 -1
  606. package/dist/data/chat/ContextMeter.bar.cjs +150 -0
  607. package/dist/data/chat/ContextMeter.bar.cjs.map +1 -0
  608. package/dist/data/chat/ContextMeter.bar.d.ts +16 -0
  609. package/dist/data/chat/ContextMeter.bar.d.ts.map +1 -0
  610. package/dist/data/chat/ContextMeter.bar.js +150 -0
  611. package/dist/data/chat/ContextMeter.bar.js.map +1 -0
  612. package/dist/data/chat/ContextMeter.cjs +33 -58
  613. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  614. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  615. package/dist/data/chat/ContextMeter.js +28 -53
  616. package/dist/data/chat/ContextMeter.js.map +1 -1
  617. package/dist/data/chat/ContextMeter.model.cjs +42 -0
  618. package/dist/data/chat/ContextMeter.model.cjs.map +1 -0
  619. package/dist/data/chat/ContextMeter.model.d.ts +2 -0
  620. package/dist/data/chat/ContextMeter.model.d.ts.map +1 -0
  621. package/dist/data/chat/ContextMeter.model.js +42 -0
  622. package/dist/data/chat/ContextMeter.model.js.map +1 -0
  623. package/dist/data/chat/ContextMeter.styles.cjs +21 -0
  624. package/dist/data/chat/ContextMeter.styles.cjs.map +1 -0
  625. package/dist/data/chat/ContextMeter.styles.d.ts +7 -0
  626. package/dist/data/chat/ContextMeter.styles.d.ts.map +1 -0
  627. package/dist/data/chat/ContextMeter.styles.js +21 -0
  628. package/dist/data/chat/ContextMeter.styles.js.map +1 -0
  629. package/dist/data/chat/Message.cjs +2 -29
  630. package/dist/data/chat/Message.cjs.map +1 -1
  631. package/dist/data/chat/Message.d.ts.map +1 -1
  632. package/dist/data/chat/Message.js +2 -29
  633. package/dist/data/chat/Message.js.map +1 -1
  634. package/dist/data/chat/MessageFilePart.cjs +36 -0
  635. package/dist/data/chat/MessageFilePart.cjs.map +1 -0
  636. package/dist/data/chat/MessageFilePart.d.ts +9 -0
  637. package/dist/data/chat/MessageFilePart.d.ts.map +1 -0
  638. package/dist/data/chat/MessageFilePart.js +36 -0
  639. package/dist/data/chat/MessageFilePart.js.map +1 -0
  640. package/dist/data/code-block-actions.cjs +4 -3
  641. package/dist/data/code-block-actions.cjs.map +1 -1
  642. package/dist/data/code-block-actions.d.ts +3 -1
  643. package/dist/data/code-block-actions.d.ts.map +1 -1
  644. package/dist/data/code-block-actions.js +4 -3
  645. package/dist/data/code-block-actions.js.map +1 -1
  646. package/dist/data/code-highlight.cjs +59 -9
  647. package/dist/data/code-highlight.cjs.map +1 -1
  648. package/dist/data/code-highlight.d.ts.map +1 -1
  649. package/dist/data/code-highlight.js +59 -9
  650. package/dist/data/code-highlight.js.map +1 -1
  651. package/dist/data/data-table-filter-values.cjs +68 -8
  652. package/dist/data/data-table-filter-values.cjs.map +1 -1
  653. package/dist/data/data-table-filter-values.d.ts +13 -4
  654. package/dist/data/data-table-filter-values.d.ts.map +1 -1
  655. package/dist/data/data-table-filter-values.js +68 -8
  656. package/dist/data/data-table-filter-values.js.map +1 -1
  657. package/dist/data/data-table-server-filters.cjs +52 -11
  658. package/dist/data/data-table-server-filters.cjs.map +1 -1
  659. package/dist/data/data-table-server-filters.d.ts.map +1 -1
  660. package/dist/data/data-table-server-filters.js +53 -12
  661. package/dist/data/data-table-server-filters.js.map +1 -1
  662. package/dist/data/data-table-utils.cjs +9 -0
  663. package/dist/data/data-table-utils.cjs.map +1 -1
  664. package/dist/data/data-table-utils.d.ts +2 -0
  665. package/dist/data/data-table-utils.d.ts.map +1 -1
  666. package/dist/data/data-table-utils.js +9 -0
  667. package/dist/data/data-table-utils.js.map +1 -1
  668. package/dist/data/dataTableMenuPosition.cjs +64 -0
  669. package/dist/data/dataTableMenuPosition.cjs.map +1 -0
  670. package/dist/data/dataTableMenuPosition.d.ts +32 -0
  671. package/dist/data/dataTableMenuPosition.d.ts.map +1 -0
  672. package/dist/data/dataTableMenuPosition.js +64 -0
  673. package/dist/data/dataTableMenuPosition.js.map +1 -0
  674. package/dist/data/diagnostics/FrameSourceWindow.cjs +7 -4
  675. package/dist/data/diagnostics/FrameSourceWindow.cjs.map +1 -1
  676. package/dist/data/diagnostics/FrameSourceWindow.d.ts +8 -1
  677. package/dist/data/diagnostics/FrameSourceWindow.d.ts.map +1 -1
  678. package/dist/data/diagnostics/FrameSourceWindow.js +7 -4
  679. package/dist/data/diagnostics/FrameSourceWindow.js.map +1 -1
  680. package/dist/data/diagnostics/FrameSourceWindow.utils.cjs.map +1 -1
  681. package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts +3 -1
  682. package/dist/data/diagnostics/FrameSourceWindow.utils.d.ts.map +1 -1
  683. package/dist/data/diagnostics/FrameSourceWindow.utils.js.map +1 -1
  684. package/dist/data/diagnostics/RenderedStackTrace.cjs +19 -11
  685. package/dist/data/diagnostics/RenderedStackTrace.cjs.map +1 -1
  686. package/dist/data/diagnostics/RenderedStackTrace.d.ts +13 -2
  687. package/dist/data/diagnostics/RenderedStackTrace.d.ts.map +1 -1
  688. package/dist/data/diagnostics/RenderedStackTrace.js +19 -11
  689. package/dist/data/diagnostics/RenderedStackTrace.js.map +1 -1
  690. package/dist/data/diagnostics/StackFrameRow.cjs +20 -6
  691. package/dist/data/diagnostics/StackFrameRow.cjs.map +1 -1
  692. package/dist/data/diagnostics/StackFrameRow.d.ts +11 -1
  693. package/dist/data/diagnostics/StackFrameRow.d.ts.map +1 -1
  694. package/dist/data/diagnostics/StackFrameRow.js +20 -6
  695. package/dist/data/diagnostics/StackFrameRow.js.map +1 -1
  696. package/dist/data/graph-layout.cjs +128 -0
  697. package/dist/data/graph-layout.cjs.map +1 -0
  698. package/dist/data/graph-layout.d.ts +64 -0
  699. package/dist/data/graph-layout.d.ts.map +1 -0
  700. package/dist/data/graph-layout.js +128 -0
  701. package/dist/data/graph-layout.js.map +1 -0
  702. package/dist/data/runtime/RuntimeBar.cjs +61 -26
  703. package/dist/data/runtime/RuntimeBar.cjs.map +1 -1
  704. package/dist/data/runtime/RuntimeBar.context.cjs +8 -0
  705. package/dist/data/runtime/RuntimeBar.context.cjs.map +1 -0
  706. package/dist/data/runtime/RuntimeBar.context.d.ts +2 -0
  707. package/dist/data/runtime/RuntimeBar.context.d.ts.map +1 -0
  708. package/dist/data/runtime/RuntimeBar.context.js +8 -0
  709. package/dist/data/runtime/RuntimeBar.context.js.map +1 -0
  710. package/dist/data/runtime/RuntimeBar.d.ts +11 -1
  711. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -1
  712. package/dist/data/runtime/RuntimeBar.js +62 -27
  713. package/dist/data/runtime/RuntimeBar.js.map +1 -1
  714. package/dist/data/runtime/RuntimeBar.limits.cjs +34 -0
  715. package/dist/data/runtime/RuntimeBar.limits.cjs.map +1 -0
  716. package/dist/data/runtime/RuntimeBar.limits.d.ts +14 -0
  717. package/dist/data/runtime/RuntimeBar.limits.d.ts.map +1 -0
  718. package/dist/data/runtime/RuntimeBar.limits.js +34 -0
  719. package/dist/data/runtime/RuntimeBar.limits.js.map +1 -0
  720. package/dist/data/runtime/RuntimeBarActions.cjs +74 -0
  721. package/dist/data/runtime/RuntimeBarActions.cjs.map +1 -0
  722. package/dist/data/runtime/RuntimeBarActions.d.ts +39 -0
  723. package/dist/data/runtime/RuntimeBarActions.d.ts.map +1 -0
  724. package/dist/data/runtime/RuntimeBarActions.js +74 -0
  725. package/dist/data/runtime/RuntimeBarActions.js.map +1 -0
  726. package/dist/data/runtime/RuntimeBarCombo.cjs +99 -49
  727. package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -1
  728. package/dist/data/runtime/RuntimeBarCombo.d.ts +8 -1
  729. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -1
  730. package/dist/data/runtime/RuntimeBarCombo.js +100 -50
  731. package/dist/data/runtime/RuntimeBarCombo.js.map +1 -1
  732. package/dist/data/runtime/RuntimeBarLimits.cjs +262 -0
  733. package/dist/data/runtime/RuntimeBarLimits.cjs.map +1 -0
  734. package/dist/data/runtime/RuntimeBarLimits.d.ts +17 -0
  735. package/dist/data/runtime/RuntimeBarLimits.d.ts.map +1 -0
  736. package/dist/data/runtime/RuntimeBarLimits.js +262 -0
  737. package/dist/data/runtime/RuntimeBarLimits.js.map +1 -0
  738. package/dist/data/runtime/RuntimeBarSegment.cjs +83 -0
  739. package/dist/data/runtime/RuntimeBarSegment.cjs.map +1 -0
  740. package/dist/data/runtime/RuntimeBarSegment.d.ts +22 -0
  741. package/dist/data/runtime/RuntimeBarSegment.d.ts.map +1 -0
  742. package/dist/data/runtime/RuntimeBarSegment.js +83 -0
  743. package/dist/data/runtime/RuntimeBarSegment.js.map +1 -0
  744. package/dist/data/runtime/RuntimeBarSegments.cjs +182 -187
  745. package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -1
  746. package/dist/data/runtime/RuntimeBarSegments.d.ts +10 -1
  747. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -1
  748. package/dist/data/runtime/RuntimeBarSegments.js +183 -188
  749. package/dist/data/runtime/RuntimeBarSegments.js.map +1 -1
  750. package/dist/data/runtime/model-capabilities.cjs +6 -5
  751. package/dist/data/runtime/model-capabilities.cjs.map +1 -1
  752. package/dist/data/runtime/model-capabilities.d.ts +9 -2
  753. package/dist/data/runtime/model-capabilities.d.ts.map +1 -1
  754. package/dist/data/runtime/model-capabilities.js +6 -5
  755. package/dist/data/runtime/model-capabilities.js.map +1 -1
  756. package/dist/data/runtime/runtime-mode.cjs +11 -1
  757. package/dist/data/runtime/runtime-mode.cjs.map +1 -1
  758. package/dist/data/runtime/runtime-mode.d.ts +3 -0
  759. package/dist/data/runtime/runtime-mode.d.ts.map +1 -1
  760. package/dist/data/runtime/runtime-mode.js +13 -2
  761. package/dist/data/runtime/runtime-mode.js.map +1 -1
  762. package/dist/data/runtime/unspecified.cjs +16 -0
  763. package/dist/data/runtime/unspecified.cjs.map +1 -0
  764. package/dist/data/runtime/unspecified.d.ts +7 -0
  765. package/dist/data/runtime/unspecified.d.ts.map +1 -0
  766. package/dist/data/runtime/unspecified.js +16 -0
  767. package/dist/data/runtime/unspecified.js.map +1 -0
  768. package/dist/data/task-copy.cjs +19 -2
  769. package/dist/data/task-copy.cjs.map +1 -1
  770. package/dist/data/task-copy.d.ts.map +1 -1
  771. package/dist/data/task-copy.js +19 -2
  772. package/dist/data/task-copy.js.map +1 -1
  773. package/dist/data/task-metadata.cjs +36 -0
  774. package/dist/data/task-metadata.cjs.map +1 -0
  775. package/dist/data/task-metadata.d.ts +39 -0
  776. package/dist/data/task-metadata.d.ts.map +1 -0
  777. package/dist/data/task-metadata.js +36 -0
  778. package/dist/data/task-metadata.js.map +1 -0
  779. package/dist/data/task-streams.cjs +39 -0
  780. package/dist/data/task-streams.cjs.map +1 -0
  781. package/dist/data/task-streams.d.ts +60 -0
  782. package/dist/data/task-streams.d.ts.map +1 -0
  783. package/dist/data/task-streams.js +39 -0
  784. package/dist/data/task-streams.js.map +1 -0
  785. package/dist/data/version-info.cjs +3 -3
  786. package/dist/data/version-info.js +3 -3
  787. package/dist/data.cjs +709 -0
  788. package/dist/data.cjs.map +1 -1
  789. package/dist/data.d.ts +10 -3
  790. package/dist/data.d.ts.map +1 -1
  791. package/dist/data.js +710 -1
  792. package/dist/data.js.map +1 -1
  793. package/dist/expressions/playground/ExpressionPlayground.cjs +44 -16
  794. package/dist/expressions/playground/ExpressionPlayground.cjs.map +1 -1
  795. package/dist/expressions/playground/ExpressionPlayground.d.ts +23 -2
  796. package/dist/expressions/playground/ExpressionPlayground.d.ts.map +1 -1
  797. package/dist/expressions/playground/ExpressionPlayground.js +44 -16
  798. package/dist/expressions/playground/ExpressionPlayground.js.map +1 -1
  799. package/dist/expressions/playground/RunControls.cjs +8 -6
  800. package/dist/expressions/playground/RunControls.cjs.map +1 -1
  801. package/dist/expressions/playground/RunControls.d.ts +3 -1
  802. package/dist/expressions/playground/RunControls.d.ts.map +1 -1
  803. package/dist/expressions/playground/RunControls.js +8 -6
  804. package/dist/expressions/playground/RunControls.js.map +1 -1
  805. package/dist/expressions/playground/api.cjs.map +1 -1
  806. package/dist/expressions/playground/api.d.ts +24 -0
  807. package/dist/expressions/playground/api.d.ts.map +1 -1
  808. package/dist/expressions/playground/api.js.map +1 -1
  809. package/dist/expressions/playground/panels/ExpectationStrip.cjs +62 -0
  810. package/dist/expressions/playground/panels/ExpectationStrip.cjs.map +1 -0
  811. package/dist/expressions/playground/panels/ExpectationStrip.d.ts +18 -0
  812. package/dist/expressions/playground/panels/ExpectationStrip.d.ts.map +1 -0
  813. package/dist/expressions/playground/panels/ExpectationStrip.js +62 -0
  814. package/dist/expressions/playground/panels/ExpectationStrip.js.map +1 -0
  815. package/dist/expressions/playground/panels/GraphPanel.cjs +3 -2
  816. package/dist/expressions/playground/panels/GraphPanel.cjs.map +1 -1
  817. package/dist/expressions/playground/panels/GraphPanel.d.ts +2 -1
  818. package/dist/expressions/playground/panels/GraphPanel.d.ts.map +1 -1
  819. package/dist/expressions/playground/panels/GraphPanel.js +3 -2
  820. package/dist/expressions/playground/panels/GraphPanel.js.map +1 -1
  821. package/dist/expressions/playground/panels/ResultPanel.cjs +61 -36
  822. package/dist/expressions/playground/panels/ResultPanel.cjs.map +1 -1
  823. package/dist/expressions/playground/panels/ResultPanel.d.ts +18 -2
  824. package/dist/expressions/playground/panels/ResultPanel.d.ts.map +1 -1
  825. package/dist/expressions/playground/panels/ResultPanel.js +62 -37
  826. package/dist/expressions/playground/panels/ResultPanel.js.map +1 -1
  827. package/dist/expressions/playground/panels/ResultView.cjs +45 -0
  828. package/dist/expressions/playground/panels/ResultView.cjs.map +1 -0
  829. package/dist/expressions/playground/panels/ResultView.d.ts +17 -0
  830. package/dist/expressions/playground/panels/ResultView.d.ts.map +1 -0
  831. package/dist/expressions/playground/panels/ResultView.js +45 -0
  832. package/dist/expressions/playground/panels/ResultView.js.map +1 -0
  833. package/dist/expressions/playground/panels/SamplesPanel.cjs +165 -0
  834. package/dist/expressions/playground/panels/SamplesPanel.cjs.map +1 -0
  835. package/dist/expressions/playground/panels/SamplesPanel.d.ts +19 -0
  836. package/dist/expressions/playground/panels/SamplesPanel.d.ts.map +1 -0
  837. package/dist/expressions/playground/panels/SamplesPanel.js +165 -0
  838. package/dist/expressions/playground/panels/SamplesPanel.js.map +1 -0
  839. package/dist/expressions/playground/sampleOutcome.cjs +29 -0
  840. package/dist/expressions/playground/sampleOutcome.cjs.map +1 -0
  841. package/dist/expressions/playground/sampleOutcome.d.ts +20 -0
  842. package/dist/expressions/playground/sampleOutcome.d.ts.map +1 -0
  843. package/dist/expressions/playground/sampleOutcome.js +29 -0
  844. package/dist/expressions/playground/sampleOutcome.js.map +1 -0
  845. package/dist/expressions/playground/useEvaluator.cjs +39 -18
  846. package/dist/expressions/playground/useEvaluator.cjs.map +1 -1
  847. package/dist/expressions/playground/useEvaluator.d.ts +9 -2
  848. package/dist/expressions/playground/useEvaluator.d.ts.map +1 -1
  849. package/dist/expressions/playground/useEvaluator.js +39 -18
  850. package/dist/expressions/playground/useEvaluator.js.map +1 -1
  851. package/dist/expressions/playground/useSampleRuns.cjs +73 -0
  852. package/dist/expressions/playground/useSampleRuns.cjs.map +1 -0
  853. package/dist/expressions/playground/useSampleRuns.d.ts +34 -0
  854. package/dist/expressions/playground/useSampleRuns.d.ts.map +1 -0
  855. package/dist/expressions/playground/useSampleRuns.js +73 -0
  856. package/dist/expressions/playground/useSampleRuns.js.map +1 -0
  857. package/dist/expressions/playground.cjs +6 -0
  858. package/dist/expressions/playground.cjs.map +1 -1
  859. package/dist/expressions/playground.d.ts +6 -2
  860. package/dist/expressions/playground.d.ts.map +1 -1
  861. package/dist/expressions/playground.js +7 -1
  862. package/dist/expressions/playground.js.map +1 -1
  863. package/dist/hooks/theme-provider.cjs +5 -7
  864. package/dist/hooks/theme-provider.cjs.map +1 -1
  865. package/dist/hooks/theme-provider.d.ts.map +1 -1
  866. package/dist/hooks/theme-provider.js +6 -8
  867. package/dist/hooks/theme-provider.js.map +1 -1
  868. package/dist/hooks/use-container-width.cjs +31 -0
  869. package/dist/hooks/use-container-width.cjs.map +1 -0
  870. package/dist/hooks/use-container-width.d.ts +18 -0
  871. package/dist/hooks/use-container-width.d.ts.map +1 -0
  872. package/dist/hooks/use-container-width.js +31 -0
  873. package/dist/hooks/use-container-width.js.map +1 -0
  874. package/dist/hooks/use-log-tail.cjs +49 -66
  875. package/dist/hooks/use-log-tail.cjs.map +1 -1
  876. package/dist/hooks/use-log-tail.d.ts +38 -10
  877. package/dist/hooks/use-log-tail.d.ts.map +1 -1
  878. package/dist/hooks/use-log-tail.js +49 -66
  879. package/dist/hooks/use-log-tail.js.map +1 -1
  880. package/dist/hooks/use-media-query.cjs +41 -0
  881. package/dist/hooks/use-media-query.cjs.map +1 -0
  882. package/dist/hooks/use-media-query.d.ts +33 -0
  883. package/dist/hooks/use-media-query.d.ts.map +1 -0
  884. package/dist/hooks/use-media-query.js +41 -0
  885. package/dist/hooks/use-media-query.js.map +1 -0
  886. package/dist/hooks/use-task-run.cjs +18 -16
  887. package/dist/hooks/use-task-run.cjs.map +1 -1
  888. package/dist/hooks/use-task-run.d.ts.map +1 -1
  889. package/dist/hooks/use-task-run.js +19 -17
  890. package/dist/hooks/use-task-run.js.map +1 -1
  891. package/dist/hooks/use-theme.cjs +11 -9
  892. package/dist/hooks/use-theme.cjs.map +1 -1
  893. package/dist/hooks/use-theme.d.ts +1 -0
  894. package/dist/hooks/use-theme.d.ts.map +1 -1
  895. package/dist/hooks/use-theme.js +11 -9
  896. package/dist/hooks/use-theme.js.map +1 -1
  897. package/dist/hooks.cjs +6 -1
  898. package/dist/hooks.cjs.map +1 -1
  899. package/dist/hooks.d.ts +3 -1
  900. package/dist/hooks.d.ts.map +1 -1
  901. package/dist/hooks.js +7 -2
  902. package/dist/hooks.js.map +1 -1
  903. package/dist/icons/components/UiAccessProtected.cjs +15 -0
  904. package/dist/icons/components/UiAccessProtected.cjs.map +1 -0
  905. package/dist/icons/components/UiAccessProtected.d.ts +15 -0
  906. package/dist/icons/components/UiAccessProtected.d.ts.map +1 -0
  907. package/dist/icons/components/UiAccessProtected.js +15 -0
  908. package/dist/icons/components/UiAccessProtected.js.map +1 -0
  909. package/dist/icons/components/UiAccessPublic.cjs +23 -0
  910. package/dist/icons/components/UiAccessPublic.cjs.map +1 -0
  911. package/dist/icons/components/UiAccessPublic.d.ts +15 -0
  912. package/dist/icons/components/UiAccessPublic.d.ts.map +1 -0
  913. package/dist/icons/components/UiAccessPublic.js +23 -0
  914. package/dist/icons/components/UiAccessPublic.js.map +1 -0
  915. package/dist/icons/components/UiAddChangeset.cjs +29 -0
  916. package/dist/icons/components/UiAddChangeset.cjs.map +1 -0
  917. package/dist/icons/components/UiAddChangeset.d.ts +15 -0
  918. package/dist/icons/components/UiAddChangeset.d.ts.map +1 -0
  919. package/dist/icons/components/UiAddChangeset.js +29 -0
  920. package/dist/icons/components/UiAddChangeset.js.map +1 -0
  921. package/dist/icons/components/UiAggregate.cjs +21 -0
  922. package/dist/icons/components/UiAggregate.cjs.map +1 -0
  923. package/dist/icons/components/UiAggregate.d.ts +15 -0
  924. package/dist/icons/components/UiAggregate.d.ts.map +1 -0
  925. package/dist/icons/components/UiAggregate.js +21 -0
  926. package/dist/icons/components/UiAggregate.js.map +1 -0
  927. package/dist/icons/components/UiAlias.cjs +25 -0
  928. package/dist/icons/components/UiAlias.cjs.map +1 -0
  929. package/dist/icons/components/UiAlias.d.ts +15 -0
  930. package/dist/icons/components/UiAlias.d.ts.map +1 -0
  931. package/dist/icons/components/UiAlias.js +25 -0
  932. package/dist/icons/components/UiAlias.js.map +1 -0
  933. package/dist/icons/components/UiAnnotation.cjs +21 -0
  934. package/dist/icons/components/UiAnnotation.cjs.map +1 -0
  935. package/dist/icons/components/UiAnnotation.d.ts +15 -0
  936. package/dist/icons/components/UiAnnotation.d.ts.map +1 -0
  937. package/dist/icons/components/UiAnnotation.js +21 -0
  938. package/dist/icons/components/UiAnnotation.js.map +1 -0
  939. package/dist/icons/components/UiAopAroundAdvice.cjs +15 -0
  940. package/dist/icons/components/UiAopAroundAdvice.cjs.map +1 -0
  941. package/dist/icons/components/UiAopAroundAdvice.d.ts +9 -0
  942. package/dist/icons/components/UiAopAroundAdvice.d.ts.map +1 -0
  943. package/dist/icons/components/UiAopAroundAdvice.js +15 -0
  944. package/dist/icons/components/UiAopAroundAdvice.js.map +1 -0
  945. package/dist/icons/components/UiAopBeforeAdvice.cjs +15 -0
  946. package/dist/icons/components/UiAopBeforeAdvice.cjs.map +1 -0
  947. package/dist/icons/components/UiAopBeforeAdvice.d.ts +9 -0
  948. package/dist/icons/components/UiAopBeforeAdvice.d.ts.map +1 -0
  949. package/dist/icons/components/UiAopBeforeAdvice.js +15 -0
  950. package/dist/icons/components/UiAopBeforeAdvice.js.map +1 -0
  951. package/dist/icons/components/UiAopPointcut.cjs +13 -0
  952. package/dist/icons/components/UiAopPointcut.cjs.map +1 -0
  953. package/dist/icons/components/UiAopPointcut.d.ts +9 -0
  954. package/dist/icons/components/UiAopPointcut.d.ts.map +1 -0
  955. package/dist/icons/components/UiAopPointcut.js +13 -0
  956. package/dist/icons/components/UiAopPointcut.js.map +1 -0
  957. package/dist/icons/components/UiArtifact.cjs +31 -0
  958. package/dist/icons/components/UiArtifact.cjs.map +1 -0
  959. package/dist/icons/components/UiArtifact.d.ts +15 -0
  960. package/dist/icons/components/UiArtifact.d.ts.map +1 -0
  961. package/dist/icons/components/UiArtifact.js +31 -0
  962. package/dist/icons/components/UiArtifact.js.map +1 -0
  963. package/dist/icons/components/UiAttachDebugger.cjs +21 -0
  964. package/dist/icons/components/UiAttachDebugger.cjs.map +1 -0
  965. package/dist/icons/components/UiAttachDebugger.d.ts +15 -0
  966. package/dist/icons/components/UiAttachDebugger.d.ts.map +1 -0
  967. package/dist/icons/components/UiAttachDebugger.js +21 -0
  968. package/dist/icons/components/UiAttachDebugger.js.map +1 -0
  969. package/dist/icons/components/UiAttachToProcess.cjs +25 -0
  970. package/dist/icons/components/UiAttachToProcess.cjs.map +1 -0
  971. package/dist/icons/components/UiAttachToProcess.d.ts +15 -0
  972. package/dist/icons/components/UiAttachToProcess.d.ts.map +1 -0
  973. package/dist/icons/components/UiAttachToProcess.js +25 -0
  974. package/dist/icons/components/UiAttachToProcess.js.map +1 -0
  975. package/dist/icons/components/UiAuditLog.cjs +14 -0
  976. package/dist/icons/components/UiAuditLog.cjs.map +1 -0
  977. package/dist/icons/components/UiAuditLog.d.ts +9 -0
  978. package/dist/icons/components/UiAuditLog.d.ts.map +1 -0
  979. package/dist/icons/components/UiAuditLog.js +14 -0
  980. package/dist/icons/components/UiAuditLog.js.map +1 -0
  981. package/dist/icons/components/UiBlueKey.cjs +15 -0
  982. package/dist/icons/components/UiBlueKey.cjs.map +1 -0
  983. package/dist/icons/components/UiBlueKey.d.ts +15 -0
  984. package/dist/icons/components/UiBlueKey.d.ts.map +1 -0
  985. package/dist/icons/components/UiBlueKey.js +15 -0
  986. package/dist/icons/components/UiBlueKey.js.map +1 -0
  987. package/dist/icons/components/UiBoolean.cjs +15 -0
  988. package/dist/icons/components/UiBoolean.cjs.map +1 -0
  989. package/dist/icons/components/UiBoolean.d.ts +9 -0
  990. package/dist/icons/components/UiBoolean.d.ts.map +1 -0
  991. package/dist/icons/components/UiBoolean.js +15 -0
  992. package/dist/icons/components/UiBoolean.js.map +1 -0
  993. package/dist/icons/components/UiBreakpoint.cjs +10 -0
  994. package/dist/icons/components/UiBreakpoint.cjs.map +1 -0
  995. package/dist/icons/components/UiBreakpoint.d.ts +9 -0
  996. package/dist/icons/components/UiBreakpoint.d.ts.map +1 -0
  997. package/dist/icons/components/UiBreakpoint.js +10 -0
  998. package/dist/icons/components/UiBreakpoint.js.map +1 -0
  999. package/dist/icons/components/UiBreakpoint1.cjs +21 -0
  1000. package/dist/icons/components/UiBreakpoint1.cjs.map +1 -0
  1001. package/dist/icons/components/UiBreakpoint1.d.ts +15 -0
  1002. package/dist/icons/components/UiBreakpoint1.d.ts.map +1 -0
  1003. package/dist/icons/components/UiBreakpoint1.js +21 -0
  1004. package/dist/icons/components/UiBreakpoint1.js.map +1 -0
  1005. package/dist/icons/components/UiBreakpoint2.cjs +15 -0
  1006. package/dist/icons/components/UiBreakpoint2.cjs.map +1 -0
  1007. package/dist/icons/components/UiBreakpoint2.d.ts +15 -0
  1008. package/dist/icons/components/UiBreakpoint2.d.ts.map +1 -0
  1009. package/dist/icons/components/UiBreakpoint2.js +15 -0
  1010. package/dist/icons/components/UiBreakpoint2.js.map +1 -0
  1011. package/dist/icons/components/UiBreakpoint3.cjs +15 -0
  1012. package/dist/icons/components/UiBreakpoint3.cjs.map +1 -0
  1013. package/dist/icons/components/UiBreakpoint3.d.ts +15 -0
  1014. package/dist/icons/components/UiBreakpoint3.d.ts.map +1 -0
  1015. package/dist/icons/components/UiBreakpoint3.js +15 -0
  1016. package/dist/icons/components/UiBreakpoint3.js.map +1 -0
  1017. package/dist/icons/components/UiBreakpoint4.cjs +23 -0
  1018. package/dist/icons/components/UiBreakpoint4.cjs.map +1 -0
  1019. package/dist/icons/components/UiBreakpoint4.d.ts +15 -0
  1020. package/dist/icons/components/UiBreakpoint4.d.ts.map +1 -0
  1021. package/dist/icons/components/UiBreakpoint4.js +23 -0
  1022. package/dist/icons/components/UiBreakpoint4.js.map +1 -0
  1023. package/dist/icons/components/UiBreakpointDisabled.cjs +10 -0
  1024. package/dist/icons/components/UiBreakpointDisabled.cjs.map +1 -0
  1025. package/dist/icons/components/UiBreakpointDisabled.d.ts +9 -0
  1026. package/dist/icons/components/UiBreakpointDisabled.d.ts.map +1 -0
  1027. package/dist/icons/components/UiBreakpointDisabled.js +10 -0
  1028. package/dist/icons/components/UiBreakpointDisabled.js.map +1 -0
  1029. package/dist/icons/components/UiBreakpointField.cjs +13 -0
  1030. package/dist/icons/components/UiBreakpointField.cjs.map +1 -0
  1031. package/dist/icons/components/UiBreakpointField.d.ts +9 -0
  1032. package/dist/icons/components/UiBreakpointField.d.ts.map +1 -0
  1033. package/dist/icons/components/UiBreakpointField.js +13 -0
  1034. package/dist/icons/components/UiBreakpointField.js.map +1 -0
  1035. package/dist/icons/components/UiBreakpointMethod.cjs +10 -0
  1036. package/dist/icons/components/UiBreakpointMethod.cjs.map +1 -0
  1037. package/dist/icons/components/UiBreakpointMethod.d.ts +9 -0
  1038. package/dist/icons/components/UiBreakpointMethod.d.ts.map +1 -0
  1039. package/dist/icons/components/UiBreakpointMethod.js +10 -0
  1040. package/dist/icons/components/UiBreakpointMethod.js.map +1 -0
  1041. package/dist/icons/components/UiCache.cjs +15 -0
  1042. package/dist/icons/components/UiCache.cjs.map +1 -0
  1043. package/dist/icons/components/UiCache.d.ts +9 -0
  1044. package/dist/icons/components/UiCache.d.ts.map +1 -0
  1045. package/dist/icons/components/UiCache.js +15 -0
  1046. package/dist/icons/components/UiCache.js.map +1 -0
  1047. package/dist/icons/components/UiCheckConstraint.cjs +25 -0
  1048. package/dist/icons/components/UiCheckConstraint.cjs.map +1 -0
  1049. package/dist/icons/components/UiCheckConstraint.d.ts +15 -0
  1050. package/dist/icons/components/UiCheckConstraint.d.ts.map +1 -0
  1051. package/dist/icons/components/UiCheckConstraint.js +25 -0
  1052. package/dist/icons/components/UiCheckConstraint.js.map +1 -0
  1053. package/dist/icons/components/UiClass1.cjs +33 -0
  1054. package/dist/icons/components/UiClass1.cjs.map +1 -0
  1055. package/dist/icons/components/UiClass1.d.ts +15 -0
  1056. package/dist/icons/components/UiClass1.d.ts.map +1 -0
  1057. package/dist/icons/components/UiClass1.js +33 -0
  1058. package/dist/icons/components/UiClass1.js.map +1 -0
  1059. package/dist/icons/components/UiClass2.cjs +21 -0
  1060. package/dist/icons/components/UiClass2.cjs.map +1 -0
  1061. package/dist/icons/components/UiClass2.d.ts +15 -0
  1062. package/dist/icons/components/UiClass2.d.ts.map +1 -0
  1063. package/dist/icons/components/UiClass2.js +21 -0
  1064. package/dist/icons/components/UiClass2.js.map +1 -0
  1065. package/dist/icons/components/UiClass3.cjs +21 -0
  1066. package/dist/icons/components/UiClass3.cjs.map +1 -0
  1067. package/dist/icons/components/UiClass3.d.ts +15 -0
  1068. package/dist/icons/components/UiClass3.d.ts.map +1 -0
  1069. package/dist/icons/components/UiClass3.js +21 -0
  1070. package/dist/icons/components/UiClass3.js.map +1 -0
  1071. package/dist/icons/components/UiClass4.cjs +23 -0
  1072. package/dist/icons/components/UiClass4.cjs.map +1 -0
  1073. package/dist/icons/components/UiClass4.d.ts +15 -0
  1074. package/dist/icons/components/UiClass4.d.ts.map +1 -0
  1075. package/dist/icons/components/UiClass4.js +23 -0
  1076. package/dist/icons/components/UiClass4.js.map +1 -0
  1077. package/dist/icons/components/UiClass5.cjs +23 -0
  1078. package/dist/icons/components/UiClass5.cjs.map +1 -0
  1079. package/dist/icons/components/UiClass5.d.ts +15 -0
  1080. package/dist/icons/components/UiClass5.d.ts.map +1 -0
  1081. package/dist/icons/components/UiClass5.js +23 -0
  1082. package/dist/icons/components/UiClass5.js.map +1 -0
  1083. package/dist/icons/components/UiClass6.cjs +21 -0
  1084. package/dist/icons/components/UiClass6.cjs.map +1 -0
  1085. package/dist/icons/components/UiClass6.d.ts +15 -0
  1086. package/dist/icons/components/UiClass6.d.ts.map +1 -0
  1087. package/dist/icons/components/UiClass6.js +21 -0
  1088. package/dist/icons/components/UiClass6.js.map +1 -0
  1089. package/dist/icons/components/UiClass7.cjs +23 -0
  1090. package/dist/icons/components/UiClass7.cjs.map +1 -0
  1091. package/dist/icons/components/UiClass7.d.ts +15 -0
  1092. package/dist/icons/components/UiClass7.d.ts.map +1 -0
  1093. package/dist/icons/components/UiClass7.js +23 -0
  1094. package/dist/icons/components/UiClass7.js.map +1 -0
  1095. package/dist/icons/components/UiClearCash.cjs +23 -0
  1096. package/dist/icons/components/UiClearCash.cjs.map +1 -0
  1097. package/dist/icons/components/UiClearCash.d.ts +15 -0
  1098. package/dist/icons/components/UiClearCash.d.ts.map +1 -0
  1099. package/dist/icons/components/UiClearCash.js +23 -0
  1100. package/dist/icons/components/UiClearCash.js.map +1 -0
  1101. package/dist/icons/components/UiCollection.cjs +27 -0
  1102. package/dist/icons/components/UiCollection.cjs.map +1 -0
  1103. package/dist/icons/components/UiCollection.d.ts +15 -0
  1104. package/dist/icons/components/UiCollection.d.ts.map +1 -0
  1105. package/dist/icons/components/UiCollection.js +27 -0
  1106. package/dist/icons/components/UiCollection.js.map +1 -0
  1107. package/dist/icons/components/UiCollectionType.cjs +27 -0
  1108. package/dist/icons/components/UiCollectionType.cjs.map +1 -0
  1109. package/dist/icons/components/UiCollectionType.d.ts +15 -0
  1110. package/dist/icons/components/UiCollectionType.d.ts.map +1 -0
  1111. package/dist/icons/components/UiCollectionType.js +27 -0
  1112. package/dist/icons/components/UiCollectionType.js.map +1 -0
  1113. package/dist/icons/components/UiColumn.cjs +21 -0
  1114. package/dist/icons/components/UiColumn.cjs.map +1 -0
  1115. package/dist/icons/components/UiColumn.d.ts +15 -0
  1116. package/dist/icons/components/UiColumn.d.ts.map +1 -0
  1117. package/dist/icons/components/UiColumn.js +21 -0
  1118. package/dist/icons/components/UiColumn.js.map +1 -0
  1119. package/dist/icons/components/UiColumn1.cjs +26 -0
  1120. package/dist/icons/components/UiColumn1.cjs.map +1 -0
  1121. package/dist/icons/components/UiColumn1.d.ts +15 -0
  1122. package/dist/icons/components/UiColumn1.d.ts.map +1 -0
  1123. package/dist/icons/components/UiColumn1.js +26 -0
  1124. package/dist/icons/components/UiColumn1.js.map +1 -0
  1125. package/dist/icons/components/UiColumn2.cjs +28 -0
  1126. package/dist/icons/components/UiColumn2.cjs.map +1 -0
  1127. package/dist/icons/components/UiColumn2.d.ts +15 -0
  1128. package/dist/icons/components/UiColumn2.d.ts.map +1 -0
  1129. package/dist/icons/components/UiColumn2.js +28 -0
  1130. package/dist/icons/components/UiColumn2.js.map +1 -0
  1131. package/dist/icons/components/UiColumn3.cjs +26 -0
  1132. package/dist/icons/components/UiColumn3.cjs.map +1 -0
  1133. package/dist/icons/components/UiColumn3.d.ts +15 -0
  1134. package/dist/icons/components/UiColumn3.d.ts.map +1 -0
  1135. package/dist/icons/components/UiColumn3.js +26 -0
  1136. package/dist/icons/components/UiColumn3.js.map +1 -0
  1137. package/dist/icons/components/UiColumn4.cjs +26 -0
  1138. package/dist/icons/components/UiColumn4.cjs.map +1 -0
  1139. package/dist/icons/components/UiColumn4.d.ts +15 -0
  1140. package/dist/icons/components/UiColumn4.d.ts.map +1 -0
  1141. package/dist/icons/components/UiColumn4.js +26 -0
  1142. package/dist/icons/components/UiColumn4.js.map +1 -0
  1143. package/dist/icons/components/UiColumn5.cjs +21 -0
  1144. package/dist/icons/components/UiColumn5.cjs.map +1 -0
  1145. package/dist/icons/components/UiColumn5.d.ts +15 -0
  1146. package/dist/icons/components/UiColumn5.d.ts.map +1 -0
  1147. package/dist/icons/components/UiColumn5.js +21 -0
  1148. package/dist/icons/components/UiColumn5.js.map +1 -0
  1149. package/dist/icons/components/UiConfigMap.cjs +31 -0
  1150. package/dist/icons/components/UiConfigMap.cjs.map +1 -0
  1151. package/dist/icons/components/UiConfigMap.d.ts +15 -0
  1152. package/dist/icons/components/UiConfigMap.d.ts.map +1 -0
  1153. package/dist/icons/components/UiConfigMap.js +31 -0
  1154. package/dist/icons/components/UiConfigMap.js.map +1 -0
  1155. package/dist/icons/components/UiConnector.cjs +15 -0
  1156. package/dist/icons/components/UiConnector.cjs.map +1 -0
  1157. package/dist/icons/components/UiConnector.d.ts +15 -0
  1158. package/dist/icons/components/UiConnector.d.ts.map +1 -0
  1159. package/dist/icons/components/UiConnector.js +15 -0
  1160. package/dist/icons/components/UiConnector.js.map +1 -0
  1161. package/dist/icons/components/UiConstant1.cjs +23 -0
  1162. package/dist/icons/components/UiConstant1.cjs.map +1 -0
  1163. package/dist/icons/components/UiConstant1.d.ts +15 -0
  1164. package/dist/icons/components/UiConstant1.d.ts.map +1 -0
  1165. package/dist/icons/components/UiConstant1.js +23 -0
  1166. package/dist/icons/components/UiConstant1.js.map +1 -0
  1167. package/dist/icons/components/UiConverter.cjs +23 -0
  1168. package/dist/icons/components/UiConverter.cjs.map +1 -0
  1169. package/dist/icons/components/UiConverter.d.ts +15 -0
  1170. package/dist/icons/components/UiConverter.d.ts.map +1 -0
  1171. package/dist/icons/components/UiConverter.js +23 -0
  1172. package/dist/icons/components/UiConverter.js.map +1 -0
  1173. package/dist/icons/components/UiConverter1.cjs +23 -0
  1174. package/dist/icons/components/UiConverter1.cjs.map +1 -0
  1175. package/dist/icons/components/UiConverter1.d.ts +15 -0
  1176. package/dist/icons/components/UiConverter1.d.ts.map +1 -0
  1177. package/dist/icons/components/UiConverter1.js +23 -0
  1178. package/dist/icons/components/UiConverter1.js.map +1 -0
  1179. package/dist/icons/components/UiCreateConstraint.cjs +23 -0
  1180. package/dist/icons/components/UiCreateConstraint.cjs.map +1 -0
  1181. package/dist/icons/components/UiCreateConstraint.d.ts +15 -0
  1182. package/dist/icons/components/UiCreateConstraint.d.ts.map +1 -0
  1183. package/dist/icons/components/UiCreateConstraint.js +23 -0
  1184. package/dist/icons/components/UiCreateConstraint.js.map +1 -0
  1185. package/dist/icons/components/UiCustomResource.cjs +21 -0
  1186. package/dist/icons/components/UiCustomResource.cjs.map +1 -0
  1187. package/dist/icons/components/UiCustomResource.d.ts +15 -0
  1188. package/dist/icons/components/UiCustomResource.d.ts.map +1 -0
  1189. package/dist/icons/components/UiCustomResource.js +21 -0
  1190. package/dist/icons/components/UiCustomResource.js.map +1 -0
  1191. package/dist/icons/components/UiDataSchema.cjs +23 -0
  1192. package/dist/icons/components/UiDataSchema.cjs.map +1 -0
  1193. package/dist/icons/components/UiDataSchema.d.ts +15 -0
  1194. package/dist/icons/components/UiDataSchema.d.ts.map +1 -0
  1195. package/dist/icons/components/UiDataSchema.js +23 -0
  1196. package/dist/icons/components/UiDataSchema.js.map +1 -0
  1197. package/dist/icons/components/UiDataShare.cjs +21 -0
  1198. package/dist/icons/components/UiDataShare.cjs.map +1 -0
  1199. package/dist/icons/components/UiDataShare.d.ts +15 -0
  1200. package/dist/icons/components/UiDataShare.d.ts.map +1 -0
  1201. package/dist/icons/components/UiDataShare.js +21 -0
  1202. package/dist/icons/components/UiDataShare.js.map +1 -0
  1203. package/dist/icons/components/UiDatabaseEventStream.cjs +17 -0
  1204. package/dist/icons/components/UiDatabaseEventStream.cjs.map +1 -0
  1205. package/dist/icons/components/UiDatabaseEventStream.d.ts +9 -0
  1206. package/dist/icons/components/UiDatabaseEventStream.d.ts.map +1 -0
  1207. package/dist/icons/components/UiDatabaseEventStream.js +17 -0
  1208. package/dist/icons/components/UiDatabaseEventStream.js.map +1 -0
  1209. package/dist/icons/components/UiDatabaseLink.cjs +21 -0
  1210. package/dist/icons/components/UiDatabaseLink.cjs.map +1 -0
  1211. package/dist/icons/components/UiDatabaseLink.d.ts +15 -0
  1212. package/dist/icons/components/UiDatabaseLink.d.ts.map +1 -0
  1213. package/dist/icons/components/UiDatabaseLink.js +21 -0
  1214. package/dist/icons/components/UiDatabaseLink.js.map +1 -0
  1215. package/dist/icons/components/UiDebugDisabled.cjs +23 -0
  1216. package/dist/icons/components/UiDebugDisabled.cjs.map +1 -0
  1217. package/dist/icons/components/UiDebugDisabled.d.ts +15 -0
  1218. package/dist/icons/components/UiDebugDisabled.d.ts.map +1 -0
  1219. package/dist/icons/components/UiDebugDisabled.js +23 -0
  1220. package/dist/icons/components/UiDebugDisabled.js.map +1 -0
  1221. package/dist/icons/components/UiDebugSelection.cjs +31 -0
  1222. package/dist/icons/components/UiDebugSelection.cjs.map +1 -0
  1223. package/dist/icons/components/UiDebugSelection.d.ts +15 -0
  1224. package/dist/icons/components/UiDebugSelection.d.ts.map +1 -0
  1225. package/dist/icons/components/UiDebugSelection.js +31 -0
  1226. package/dist/icons/components/UiDebugSelection.js.map +1 -0
  1227. package/dist/icons/components/UiDeploy.cjs +23 -0
  1228. package/dist/icons/components/UiDeploy.cjs.map +1 -0
  1229. package/dist/icons/components/UiDeploy.d.ts +15 -0
  1230. package/dist/icons/components/UiDeploy.d.ts.map +1 -0
  1231. package/dist/icons/components/UiDeploy.js +23 -0
  1232. package/dist/icons/components/UiDeploy.js.map +1 -0
  1233. package/dist/icons/components/UiDetach.cjs +21 -0
  1234. package/dist/icons/components/UiDetach.cjs.map +1 -0
  1235. package/dist/icons/components/UiDetach.d.ts +15 -0
  1236. package/dist/icons/components/UiDetach.d.ts.map +1 -0
  1237. package/dist/icons/components/UiDetach.js +21 -0
  1238. package/dist/icons/components/UiDetach.js.map +1 -0
  1239. package/dist/icons/components/UiDiagramDiff.cjs +21 -0
  1240. package/dist/icons/components/UiDiagramDiff.cjs.map +1 -0
  1241. package/dist/icons/components/UiDiagramDiff.d.ts +15 -0
  1242. package/dist/icons/components/UiDiagramDiff.d.ts.map +1 -0
  1243. package/dist/icons/components/UiDiagramDiff.js +21 -0
  1244. package/dist/icons/components/UiDiagramDiff.js.map +1 -0
  1245. package/dist/icons/components/UiDumpThreads.cjs +23 -0
  1246. package/dist/icons/components/UiDumpThreads.cjs.map +1 -0
  1247. package/dist/icons/components/UiDumpThreads.d.ts +15 -0
  1248. package/dist/icons/components/UiDumpThreads.d.ts.map +1 -0
  1249. package/dist/icons/components/UiDumpThreads.js +23 -0
  1250. package/dist/icons/components/UiDumpThreads.js.map +1 -0
  1251. package/dist/icons/components/UiEditMode.cjs +41 -0
  1252. package/dist/icons/components/UiEditMode.cjs.map +1 -0
  1253. package/dist/icons/components/UiEditMode.d.ts +15 -0
  1254. package/dist/icons/components/UiEditMode.d.ts.map +1 -0
  1255. package/dist/icons/components/UiEditMode.js +41 -0
  1256. package/dist/icons/components/UiEditMode.js.map +1 -0
  1257. package/dist/icons/components/UiEvaluateExpression.cjs +33 -0
  1258. package/dist/icons/components/UiEvaluateExpression.cjs.map +1 -0
  1259. package/dist/icons/components/UiEvaluateExpression.d.ts +15 -0
  1260. package/dist/icons/components/UiEvaluateExpression.d.ts.map +1 -0
  1261. package/dist/icons/components/UiEvaluateExpression.js +33 -0
  1262. package/dist/icons/components/UiEvaluateExpression.js.map +1 -0
  1263. package/dist/icons/components/UiException.cjs +21 -0
  1264. package/dist/icons/components/UiException.cjs.map +1 -0
  1265. package/dist/icons/components/UiException.d.ts +15 -0
  1266. package/dist/icons/components/UiException.d.ts.map +1 -0
  1267. package/dist/icons/components/UiException.js +21 -0
  1268. package/dist/icons/components/UiException.js.map +1 -0
  1269. package/dist/icons/components/UiExceptionAnalyzerImportant.cjs +21 -0
  1270. package/dist/icons/components/UiExceptionAnalyzerImportant.cjs.map +1 -0
  1271. package/dist/icons/components/UiExceptionAnalyzerImportant.d.ts +15 -0
  1272. package/dist/icons/components/UiExceptionAnalyzerImportant.d.ts.map +1 -0
  1273. package/dist/icons/components/UiExceptionAnalyzerImportant.js +21 -0
  1274. package/dist/icons/components/UiExceptionAnalyzerImportant.js.map +1 -0
  1275. package/dist/icons/components/UiExcludedGenerated.cjs +35 -0
  1276. package/dist/icons/components/UiExcludedGenerated.cjs.map +1 -0
  1277. package/dist/icons/components/UiExcludedGenerated.d.ts +15 -0
  1278. package/dist/icons/components/UiExcludedGenerated.d.ts.map +1 -0
  1279. package/dist/icons/components/UiExcludedGenerated.js +35 -0
  1280. package/dist/icons/components/UiExcludedGenerated.js.map +1 -0
  1281. package/dist/icons/components/UiExtension.cjs +15 -0
  1282. package/dist/icons/components/UiExtension.cjs.map +1 -0
  1283. package/dist/icons/components/UiExtension.d.ts +15 -0
  1284. package/dist/icons/components/UiExtension.d.ts.map +1 -0
  1285. package/dist/icons/components/UiExtension.js +15 -0
  1286. package/dist/icons/components/UiExtension.js.map +1 -0
  1287. package/dist/icons/components/UiFailedInProgress.cjs +29 -0
  1288. package/dist/icons/components/UiFailedInProgress.cjs.map +1 -0
  1289. package/dist/icons/components/UiFailedInProgress.d.ts +15 -0
  1290. package/dist/icons/components/UiFailedInProgress.d.ts.map +1 -0
  1291. package/dist/icons/components/UiFailedInProgress.js +29 -0
  1292. package/dist/icons/components/UiFailedInProgress.js.map +1 -0
  1293. package/dist/icons/components/UiField.cjs +1 -1
  1294. package/dist/icons/components/UiField.cjs.map +1 -1
  1295. package/dist/icons/components/UiField.js +1 -1
  1296. package/dist/icons/components/UiField.js.map +1 -1
  1297. package/dist/icons/components/UiField1.cjs +21 -0
  1298. package/dist/icons/components/UiField1.cjs.map +1 -0
  1299. package/dist/icons/components/UiField1.d.ts +15 -0
  1300. package/dist/icons/components/UiField1.d.ts.map +1 -0
  1301. package/dist/icons/components/UiField1.js +21 -0
  1302. package/dist/icons/components/UiField1.js.map +1 -0
  1303. package/dist/icons/components/UiField2.cjs +21 -0
  1304. package/dist/icons/components/UiField2.cjs.map +1 -0
  1305. package/dist/icons/components/UiField2.d.ts +15 -0
  1306. package/dist/icons/components/UiField2.d.ts.map +1 -0
  1307. package/dist/icons/components/UiField2.js +21 -0
  1308. package/dist/icons/components/UiField2.js.map +1 -0
  1309. package/dist/icons/components/UiField3.cjs +21 -0
  1310. package/dist/icons/components/UiField3.cjs.map +1 -0
  1311. package/dist/icons/components/UiField3.d.ts +15 -0
  1312. package/dist/icons/components/UiField3.d.ts.map +1 -0
  1313. package/dist/icons/components/UiField3.js +21 -0
  1314. package/dist/icons/components/UiField3.js.map +1 -0
  1315. package/dist/icons/components/UiField4.cjs +21 -0
  1316. package/dist/icons/components/UiField4.cjs.map +1 -0
  1317. package/dist/icons/components/UiField4.d.ts +15 -0
  1318. package/dist/icons/components/UiField4.d.ts.map +1 -0
  1319. package/dist/icons/components/UiField4.js +21 -0
  1320. package/dist/icons/components/UiField4.js.map +1 -0
  1321. package/dist/icons/components/UiField5.cjs +21 -0
  1322. package/dist/icons/components/UiField5.cjs.map +1 -0
  1323. package/dist/icons/components/UiField5.d.ts +15 -0
  1324. package/dist/icons/components/UiField5.d.ts.map +1 -0
  1325. package/dist/icons/components/UiField5.js +21 -0
  1326. package/dist/icons/components/UiField5.js.map +1 -0
  1327. package/dist/icons/components/UiField6.cjs +21 -0
  1328. package/dist/icons/components/UiField6.cjs.map +1 -0
  1329. package/dist/icons/components/UiField6.d.ts +15 -0
  1330. package/dist/icons/components/UiField6.d.ts.map +1 -0
  1331. package/dist/icons/components/UiField6.js +21 -0
  1332. package/dist/icons/components/UiField6.js.map +1 -0
  1333. package/dist/icons/components/UiFieldProtected.cjs +10 -0
  1334. package/dist/icons/components/UiFieldProtected.cjs.map +1 -0
  1335. package/dist/icons/components/UiFieldProtected.d.ts +9 -0
  1336. package/dist/icons/components/UiFieldProtected.d.ts.map +1 -0
  1337. package/dist/icons/components/UiFieldProtected.js +10 -0
  1338. package/dist/icons/components/UiFieldProtected.js.map +1 -0
  1339. package/dist/icons/components/UiFieldReadAccess.cjs +13 -0
  1340. package/dist/icons/components/UiFieldReadAccess.cjs.map +1 -0
  1341. package/dist/icons/components/UiFieldReadAccess.d.ts +9 -0
  1342. package/dist/icons/components/UiFieldReadAccess.d.ts.map +1 -0
  1343. package/dist/icons/components/UiFieldReadAccess.js +13 -0
  1344. package/dist/icons/components/UiFieldReadAccess.js.map +1 -0
  1345. package/dist/icons/components/UiFieldType.cjs +14 -0
  1346. package/dist/icons/components/UiFieldType.cjs.map +1 -0
  1347. package/dist/icons/components/UiFieldType.d.ts +9 -0
  1348. package/dist/icons/components/UiFieldType.d.ts.map +1 -0
  1349. package/dist/icons/components/UiFieldType.js +14 -0
  1350. package/dist/icons/components/UiFieldType.js.map +1 -0
  1351. package/dist/icons/components/UiFieldWriteAccess.cjs +13 -0
  1352. package/dist/icons/components/UiFieldWriteAccess.cjs.map +1 -0
  1353. package/dist/icons/components/UiFieldWriteAccess.d.ts +9 -0
  1354. package/dist/icons/components/UiFieldWriteAccess.d.ts.map +1 -0
  1355. package/dist/icons/components/UiFieldWriteAccess.js +13 -0
  1356. package/dist/icons/components/UiFieldWriteAccess.js.map +1 -0
  1357. package/dist/icons/components/UiFileFormat.cjs +23 -0
  1358. package/dist/icons/components/UiFileFormat.cjs.map +1 -0
  1359. package/dist/icons/components/UiFileFormat.d.ts +15 -0
  1360. package/dist/icons/components/UiFileFormat.d.ts.map +1 -0
  1361. package/dist/icons/components/UiFileFormat.js +23 -0
  1362. package/dist/icons/components/UiFileFormat.js.map +1 -0
  1363. package/dist/icons/components/UiForeignServer.cjs +21 -0
  1364. package/dist/icons/components/UiForeignServer.cjs.map +1 -0
  1365. package/dist/icons/components/UiForeignServer.d.ts +15 -0
  1366. package/dist/icons/components/UiForeignServer.d.ts.map +1 -0
  1367. package/dist/icons/components/UiForeignServer.js +21 -0
  1368. package/dist/icons/components/UiForeignServer.js.map +1 -0
  1369. package/dist/icons/components/UiFreemarker.cjs +15 -0
  1370. package/dist/icons/components/UiFreemarker.cjs.map +1 -0
  1371. package/dist/icons/components/UiFreemarker.d.ts +15 -0
  1372. package/dist/icons/components/UiFreemarker.d.ts.map +1 -0
  1373. package/dist/icons/components/UiFreemarker.js +15 -0
  1374. package/dist/icons/components/UiFreemarker.js.map +1 -0
  1375. package/dist/icons/components/UiFunction1.cjs +25 -0
  1376. package/dist/icons/components/UiFunction1.cjs.map +1 -0
  1377. package/dist/icons/components/UiFunction1.d.ts +15 -0
  1378. package/dist/icons/components/UiFunction1.d.ts.map +1 -0
  1379. package/dist/icons/components/UiFunction1.js +25 -0
  1380. package/dist/icons/components/UiFunction1.js.map +1 -0
  1381. package/dist/icons/components/UiFunction2.cjs +27 -0
  1382. package/dist/icons/components/UiFunction2.cjs.map +1 -0
  1383. package/dist/icons/components/UiFunction2.d.ts +15 -0
  1384. package/dist/icons/components/UiFunction2.d.ts.map +1 -0
  1385. package/dist/icons/components/UiFunction2.js +27 -0
  1386. package/dist/icons/components/UiFunction2.js.map +1 -0
  1387. package/dist/icons/components/UiFunction3.cjs +31 -0
  1388. package/dist/icons/components/UiFunction3.cjs.map +1 -0
  1389. package/dist/icons/components/UiFunction3.d.ts +15 -0
  1390. package/dist/icons/components/UiFunction3.d.ts.map +1 -0
  1391. package/dist/icons/components/UiFunction3.js +31 -0
  1392. package/dist/icons/components/UiFunction3.js.map +1 -0
  1393. package/dist/icons/components/UiFunction4.cjs +21 -0
  1394. package/dist/icons/components/UiFunction4.cjs.map +1 -0
  1395. package/dist/icons/components/UiFunction4.d.ts +15 -0
  1396. package/dist/icons/components/UiFunction4.d.ts.map +1 -0
  1397. package/dist/icons/components/UiFunction4.js +21 -0
  1398. package/dist/icons/components/UiFunction4.js.map +1 -0
  1399. package/dist/icons/components/UiGreyKey.cjs +15 -0
  1400. package/dist/icons/components/UiGreyKey.cjs.map +1 -0
  1401. package/dist/icons/components/UiGreyKey.d.ts +15 -0
  1402. package/dist/icons/components/UiGreyKey.d.ts.map +1 -0
  1403. package/dist/icons/components/UiGreyKey.js +15 -0
  1404. package/dist/icons/components/UiGreyKey.js.map +1 -0
  1405. package/dist/icons/components/UiGroupByModuleGroup.cjs +29 -0
  1406. package/dist/icons/components/UiGroupByModuleGroup.cjs.map +1 -0
  1407. package/dist/icons/components/UiGroupByModuleGroup.d.ts +15 -0
  1408. package/dist/icons/components/UiGroupByModuleGroup.d.ts.map +1 -0
  1409. package/dist/icons/components/UiGroupByModuleGroup.js +29 -0
  1410. package/dist/icons/components/UiGroupByModuleGroup.js.map +1 -0
  1411. package/dist/icons/components/UiGroupByPackage.cjs +23 -0
  1412. package/dist/icons/components/UiGroupByPackage.cjs.map +1 -0
  1413. package/dist/icons/components/UiGroupByPackage.d.ts +15 -0
  1414. package/dist/icons/components/UiGroupByPackage.d.ts.map +1 -0
  1415. package/dist/icons/components/UiGroupByPackage.js +23 -0
  1416. package/dist/icons/components/UiGroupByPackage.js.map +1 -0
  1417. package/dist/icons/components/UiGroupByTestProduction.cjs +25 -0
  1418. package/dist/icons/components/UiGroupByTestProduction.cjs.map +1 -0
  1419. package/dist/icons/components/UiGroupByTestProduction.d.ts +15 -0
  1420. package/dist/icons/components/UiGroupByTestProduction.d.ts.map +1 -0
  1421. package/dist/icons/components/UiGroupByTestProduction.js +25 -0
  1422. package/dist/icons/components/UiGroupByTestProduction.js.map +1 -0
  1423. package/dist/icons/components/UiHibernate.cjs +25 -0
  1424. package/dist/icons/components/UiHibernate.cjs.map +1 -0
  1425. package/dist/icons/components/UiHibernate.d.ts +15 -0
  1426. package/dist/icons/components/UiHibernate.d.ts.map +1 -0
  1427. package/dist/icons/components/UiHibernate.js +25 -0
  1428. package/dist/icons/components/UiHibernate.js.map +1 -0
  1429. package/dist/icons/components/UiHibernateEvent.cjs +21 -0
  1430. package/dist/icons/components/UiHibernateEvent.cjs.map +1 -0
  1431. package/dist/icons/components/UiHibernateEvent.d.ts +15 -0
  1432. package/dist/icons/components/UiHibernateEvent.d.ts.map +1 -0
  1433. package/dist/icons/components/UiHibernateEvent.js +21 -0
  1434. package/dist/icons/components/UiHibernateEvent.js.map +1 -0
  1435. package/dist/icons/components/UiId.cjs +23 -0
  1436. package/dist/icons/components/UiId.cjs.map +1 -0
  1437. package/dist/icons/components/UiId.d.ts +15 -0
  1438. package/dist/icons/components/UiId.d.ts.map +1 -0
  1439. package/dist/icons/components/UiId.js +23 -0
  1440. package/dist/icons/components/UiId.js.map +1 -0
  1441. package/dist/icons/components/UiIndex.cjs +21 -0
  1442. package/dist/icons/components/UiIndex.cjs.map +1 -0
  1443. package/dist/icons/components/UiIndex.d.ts +15 -0
  1444. package/dist/icons/components/UiIndex.d.ts.map +1 -0
  1445. package/dist/icons/components/UiIndex.js +21 -0
  1446. package/dist/icons/components/UiIndex.js.map +1 -0
  1447. package/dist/icons/components/UiIndex1.cjs +28 -0
  1448. package/dist/icons/components/UiIndex1.cjs.map +1 -0
  1449. package/dist/icons/components/UiIndex1.d.ts +15 -0
  1450. package/dist/icons/components/UiIndex1.d.ts.map +1 -0
  1451. package/dist/icons/components/UiIndex1.js +28 -0
  1452. package/dist/icons/components/UiIndex1.js.map +1 -0
  1453. package/dist/icons/components/UiIndex2.cjs +26 -0
  1454. package/dist/icons/components/UiIndex2.cjs.map +1 -0
  1455. package/dist/icons/components/UiIndex2.d.ts +15 -0
  1456. package/dist/icons/components/UiIndex2.d.ts.map +1 -0
  1457. package/dist/icons/components/UiIndex2.js +26 -0
  1458. package/dist/icons/components/UiIndex2.js.map +1 -0
  1459. package/dist/icons/components/UiIndex3.cjs +21 -0
  1460. package/dist/icons/components/UiIndex3.cjs.map +1 -0
  1461. package/dist/icons/components/UiIndex3.d.ts +15 -0
  1462. package/dist/icons/components/UiIndex3.d.ts.map +1 -0
  1463. package/dist/icons/components/UiIndex3.js +21 -0
  1464. package/dist/icons/components/UiIndex3.js.map +1 -0
  1465. package/dist/icons/components/UiIndex4.cjs +21 -0
  1466. package/dist/icons/components/UiIndex4.cjs.map +1 -0
  1467. package/dist/icons/components/UiIndex4.d.ts +15 -0
  1468. package/dist/icons/components/UiIndex4.d.ts.map +1 -0
  1469. package/dist/icons/components/UiIndex4.js +21 -0
  1470. package/dist/icons/components/UiIndex4.js.map +1 -0
  1471. package/dist/icons/components/UiIndex5.cjs +23 -0
  1472. package/dist/icons/components/UiIndex5.cjs.map +1 -0
  1473. package/dist/icons/components/UiIndex5.d.ts +15 -0
  1474. package/dist/icons/components/UiIndex5.d.ts.map +1 -0
  1475. package/dist/icons/components/UiIndex5.js +23 -0
  1476. package/dist/icons/components/UiIndex5.js.map +1 -0
  1477. package/dist/icons/components/UiIndex6.cjs +23 -0
  1478. package/dist/icons/components/UiIndex6.cjs.map +1 -0
  1479. package/dist/icons/components/UiIndex6.d.ts +15 -0
  1480. package/dist/icons/components/UiIndex6.d.ts.map +1 -0
  1481. package/dist/icons/components/UiIndex6.js +23 -0
  1482. package/dist/icons/components/UiIndex6.js.map +1 -0
  1483. package/dist/icons/components/UiInspectionsGrammar.cjs +21 -0
  1484. package/dist/icons/components/UiInspectionsGrammar.cjs.map +1 -0
  1485. package/dist/icons/components/UiInspectionsGrammar.d.ts +15 -0
  1486. package/dist/icons/components/UiInspectionsGrammar.d.ts.map +1 -0
  1487. package/dist/icons/components/UiInspectionsGrammar.js +21 -0
  1488. package/dist/icons/components/UiInspectionsGrammar.js.map +1 -0
  1489. package/dist/icons/components/UiJpaAttribute.cjs +13 -0
  1490. package/dist/icons/components/UiJpaAttribute.cjs.map +1 -0
  1491. package/dist/icons/components/UiJpaAttribute.d.ts +9 -0
  1492. package/dist/icons/components/UiJpaAttribute.d.ts.map +1 -0
  1493. package/dist/icons/components/UiJpaAttribute.js +13 -0
  1494. package/dist/icons/components/UiJpaAttribute.js.map +1 -0
  1495. package/dist/icons/components/UiJpaId.cjs +15 -0
  1496. package/dist/icons/components/UiJpaId.cjs.map +1 -0
  1497. package/dist/icons/components/UiJpaId.d.ts +9 -0
  1498. package/dist/icons/components/UiJpaId.d.ts.map +1 -0
  1499. package/dist/icons/components/UiJpaId.js +15 -0
  1500. package/dist/icons/components/UiJpaId.js.map +1 -0
  1501. package/dist/icons/components/UiJpaRelationship.cjs +14 -0
  1502. package/dist/icons/components/UiJpaRelationship.cjs.map +1 -0
  1503. package/dist/icons/components/UiJpaRelationship.d.ts +9 -0
  1504. package/dist/icons/components/UiJpaRelationship.d.ts.map +1 -0
  1505. package/dist/icons/components/UiJpaRelationship.js +14 -0
  1506. package/dist/icons/components/UiJpaRelationship.js.map +1 -0
  1507. package/dist/icons/components/UiKillDataSourceProcess.cjs +21 -0
  1508. package/dist/icons/components/UiKillDataSourceProcess.cjs.map +1 -0
  1509. package/dist/icons/components/UiKillDataSourceProcess.d.ts +15 -0
  1510. package/dist/icons/components/UiKillDataSourceProcess.d.ts.map +1 -0
  1511. package/dist/icons/components/UiKillDataSourceProcess.js +21 -0
  1512. package/dist/icons/components/UiKillDataSourceProcess.js.map +1 -0
  1513. package/dist/icons/components/UiKubeConfigMap.cjs +18 -0
  1514. package/dist/icons/components/UiKubeConfigMap.cjs.map +1 -0
  1515. package/dist/icons/components/UiKubeConfigMap.d.ts +9 -0
  1516. package/dist/icons/components/UiKubeConfigMap.d.ts.map +1 -0
  1517. package/dist/icons/components/UiKubeConfigMap.js +18 -0
  1518. package/dist/icons/components/UiKubeConfigMap.js.map +1 -0
  1519. package/dist/icons/components/UiKubeDeployment.cjs +10 -0
  1520. package/dist/icons/components/UiKubeDeployment.cjs.map +1 -0
  1521. package/dist/icons/components/UiKubeDeployment.d.ts +9 -0
  1522. package/dist/icons/components/UiKubeDeployment.d.ts.map +1 -0
  1523. package/dist/icons/components/UiKubeDeployment.js +10 -0
  1524. package/dist/icons/components/UiKubeDeployment.js.map +1 -0
  1525. package/dist/icons/components/UiKubeJob.cjs +25 -0
  1526. package/dist/icons/components/UiKubeJob.cjs.map +1 -0
  1527. package/dist/icons/components/UiKubeJob.d.ts +9 -0
  1528. package/dist/icons/components/UiKubeJob.d.ts.map +1 -0
  1529. package/dist/icons/components/UiKubeJob.js +25 -0
  1530. package/dist/icons/components/UiKubeJob.js.map +1 -0
  1531. package/dist/icons/components/UiKubeNamespace.cjs +15 -0
  1532. package/dist/icons/components/UiKubeNamespace.cjs.map +1 -0
  1533. package/dist/icons/components/UiKubeNamespace.d.ts +9 -0
  1534. package/dist/icons/components/UiKubeNamespace.d.ts.map +1 -0
  1535. package/dist/icons/components/UiKubeNamespace.js +15 -0
  1536. package/dist/icons/components/UiKubeNamespace.js.map +1 -0
  1537. package/dist/icons/components/UiKubePod.cjs +13 -0
  1538. package/dist/icons/components/UiKubePod.cjs.map +1 -0
  1539. package/dist/icons/components/UiKubePod.d.ts +9 -0
  1540. package/dist/icons/components/UiKubePod.d.ts.map +1 -0
  1541. package/dist/icons/components/UiKubePod.js +13 -0
  1542. package/dist/icons/components/UiKubePod.js.map +1 -0
  1543. package/dist/icons/components/UiLangJava.cjs +14 -0
  1544. package/dist/icons/components/UiLangJava.cjs.map +1 -0
  1545. package/dist/icons/components/UiLangJava.d.ts +9 -0
  1546. package/dist/icons/components/UiLangJava.d.ts.map +1 -0
  1547. package/dist/icons/components/UiLangJava.js +14 -0
  1548. package/dist/icons/components/UiLangJava.js.map +1 -0
  1549. package/dist/icons/components/UiLangJavascript.cjs +14 -0
  1550. package/dist/icons/components/UiLangJavascript.cjs.map +1 -0
  1551. package/dist/icons/components/UiLangJavascript.d.ts +9 -0
  1552. package/dist/icons/components/UiLangJavascript.d.ts.map +1 -0
  1553. package/dist/icons/components/UiLangJavascript.js +14 -0
  1554. package/dist/icons/components/UiLangJavascript.js.map +1 -0
  1555. package/dist/icons/components/UiLangPython.cjs +13 -0
  1556. package/dist/icons/components/UiLangPython.cjs.map +1 -0
  1557. package/dist/icons/components/UiLangPython.d.ts +9 -0
  1558. package/dist/icons/components/UiLangPython.d.ts.map +1 -0
  1559. package/dist/icons/components/UiLangPython.js +13 -0
  1560. package/dist/icons/components/UiLangPython.js.map +1 -0
  1561. package/dist/icons/components/UiMaterializedLog.cjs +15 -0
  1562. package/dist/icons/components/UiMaterializedLog.cjs.map +1 -0
  1563. package/dist/icons/components/UiMaterializedLog.d.ts +15 -0
  1564. package/dist/icons/components/UiMaterializedLog.d.ts.map +1 -0
  1565. package/dist/icons/components/UiMaterializedLog.js +15 -0
  1566. package/dist/icons/components/UiMaterializedLog.js.map +1 -0
  1567. package/dist/icons/components/UiMemoryProfile.cjs +15 -0
  1568. package/dist/icons/components/UiMemoryProfile.cjs.map +1 -0
  1569. package/dist/icons/components/UiMemoryProfile.d.ts +9 -0
  1570. package/dist/icons/components/UiMemoryProfile.d.ts.map +1 -0
  1571. package/dist/icons/components/UiMemoryProfile.js +15 -0
  1572. package/dist/icons/components/UiMemoryProfile.js.map +1 -0
  1573. package/dist/icons/components/UiMessageQueue.cjs +13 -0
  1574. package/dist/icons/components/UiMessageQueue.cjs.map +1 -0
  1575. package/dist/icons/components/UiMessageQueue.d.ts +9 -0
  1576. package/dist/icons/components/UiMessageQueue.d.ts.map +1 -0
  1577. package/dist/icons/components/UiMessageQueue.js +13 -0
  1578. package/dist/icons/components/UiMessageQueue.js.map +1 -0
  1579. package/dist/icons/components/UiMessageQueue1.cjs +25 -0
  1580. package/dist/icons/components/UiMessageQueue1.cjs.map +1 -0
  1581. package/dist/icons/components/UiMessageQueue1.d.ts +15 -0
  1582. package/dist/icons/components/UiMessageQueue1.d.ts.map +1 -0
  1583. package/dist/icons/components/UiMessageQueue1.js +25 -0
  1584. package/dist/icons/components/UiMessageQueue1.js.map +1 -0
  1585. package/dist/icons/components/UiMethod1.cjs +27 -0
  1586. package/dist/icons/components/UiMethod1.cjs.map +1 -0
  1587. package/dist/icons/components/UiMethod1.d.ts +15 -0
  1588. package/dist/icons/components/UiMethod1.d.ts.map +1 -0
  1589. package/dist/icons/components/UiMethod1.js +27 -0
  1590. package/dist/icons/components/UiMethod1.js.map +1 -0
  1591. package/dist/icons/components/UiMethod10.cjs +25 -0
  1592. package/dist/icons/components/UiMethod10.cjs.map +1 -0
  1593. package/dist/icons/components/UiMethod10.d.ts +15 -0
  1594. package/dist/icons/components/UiMethod10.d.ts.map +1 -0
  1595. package/dist/icons/components/UiMethod10.js +25 -0
  1596. package/dist/icons/components/UiMethod10.js.map +1 -0
  1597. package/dist/icons/components/UiMethod11.cjs +21 -0
  1598. package/dist/icons/components/UiMethod11.cjs.map +1 -0
  1599. package/dist/icons/components/UiMethod11.d.ts +15 -0
  1600. package/dist/icons/components/UiMethod11.d.ts.map +1 -0
  1601. package/dist/icons/components/UiMethod11.js +21 -0
  1602. package/dist/icons/components/UiMethod11.js.map +1 -0
  1603. package/dist/icons/components/UiMethod2.cjs +25 -0
  1604. package/dist/icons/components/UiMethod2.cjs.map +1 -0
  1605. package/dist/icons/components/UiMethod2.d.ts +15 -0
  1606. package/dist/icons/components/UiMethod2.d.ts.map +1 -0
  1607. package/dist/icons/components/UiMethod2.js +25 -0
  1608. package/dist/icons/components/UiMethod2.js.map +1 -0
  1609. package/dist/icons/components/UiMethod3.cjs +23 -0
  1610. package/dist/icons/components/UiMethod3.cjs.map +1 -0
  1611. package/dist/icons/components/UiMethod3.d.ts +15 -0
  1612. package/dist/icons/components/UiMethod3.d.ts.map +1 -0
  1613. package/dist/icons/components/UiMethod3.js +23 -0
  1614. package/dist/icons/components/UiMethod3.js.map +1 -0
  1615. package/dist/icons/components/UiMethod4.cjs +25 -0
  1616. package/dist/icons/components/UiMethod4.cjs.map +1 -0
  1617. package/dist/icons/components/UiMethod4.d.ts +15 -0
  1618. package/dist/icons/components/UiMethod4.d.ts.map +1 -0
  1619. package/dist/icons/components/UiMethod4.js +25 -0
  1620. package/dist/icons/components/UiMethod4.js.map +1 -0
  1621. package/dist/icons/components/UiMethod5.cjs +25 -0
  1622. package/dist/icons/components/UiMethod5.cjs.map +1 -0
  1623. package/dist/icons/components/UiMethod5.d.ts +15 -0
  1624. package/dist/icons/components/UiMethod5.d.ts.map +1 -0
  1625. package/dist/icons/components/UiMethod5.js +25 -0
  1626. package/dist/icons/components/UiMethod5.js.map +1 -0
  1627. package/dist/icons/components/UiMethod6.cjs +21 -0
  1628. package/dist/icons/components/UiMethod6.cjs.map +1 -0
  1629. package/dist/icons/components/UiMethod6.d.ts +15 -0
  1630. package/dist/icons/components/UiMethod6.d.ts.map +1 -0
  1631. package/dist/icons/components/UiMethod6.js +21 -0
  1632. package/dist/icons/components/UiMethod6.js.map +1 -0
  1633. package/dist/icons/components/UiMethod7.cjs +23 -0
  1634. package/dist/icons/components/UiMethod7.cjs.map +1 -0
  1635. package/dist/icons/components/UiMethod7.d.ts +15 -0
  1636. package/dist/icons/components/UiMethod7.d.ts.map +1 -0
  1637. package/dist/icons/components/UiMethod7.js +23 -0
  1638. package/dist/icons/components/UiMethod7.js.map +1 -0
  1639. package/dist/icons/components/UiMethod8.cjs +23 -0
  1640. package/dist/icons/components/UiMethod8.cjs.map +1 -0
  1641. package/dist/icons/components/UiMethod8.d.ts +15 -0
  1642. package/dist/icons/components/UiMethod8.d.ts.map +1 -0
  1643. package/dist/icons/components/UiMethod8.js +23 -0
  1644. package/dist/icons/components/UiMethod8.js.map +1 -0
  1645. package/dist/icons/components/UiMethod9.cjs +25 -0
  1646. package/dist/icons/components/UiMethod9.cjs.map +1 -0
  1647. package/dist/icons/components/UiMethod9.d.ts +15 -0
  1648. package/dist/icons/components/UiMethod9.d.ts.map +1 -0
  1649. package/dist/icons/components/UiMethod9.js +25 -0
  1650. package/dist/icons/components/UiMethod9.js.map +1 -0
  1651. package/dist/icons/components/UiModels.cjs +25 -0
  1652. package/dist/icons/components/UiModels.cjs.map +1 -0
  1653. package/dist/icons/components/UiModels.d.ts +15 -0
  1654. package/dist/icons/components/UiModels.d.ts.map +1 -0
  1655. package/dist/icons/components/UiModels.js +25 -0
  1656. package/dist/icons/components/UiModels.js.map +1 -0
  1657. package/dist/icons/components/UiModule1.cjs +23 -0
  1658. package/dist/icons/components/UiModule1.cjs.map +1 -0
  1659. package/dist/icons/components/UiModule1.d.ts +15 -0
  1660. package/dist/icons/components/UiModule1.d.ts.map +1 -0
  1661. package/dist/icons/components/UiModule1.js +23 -0
  1662. package/dist/icons/components/UiModule1.js.map +1 -0
  1663. package/dist/icons/components/UiName.cjs +21 -0
  1664. package/dist/icons/components/UiName.cjs.map +1 -0
  1665. package/dist/icons/components/UiName.d.ts +15 -0
  1666. package/dist/icons/components/UiName.d.ts.map +1 -0
  1667. package/dist/icons/components/UiName.js +21 -0
  1668. package/dist/icons/components/UiName.js.map +1 -0
  1669. package/dist/icons/components/UiOpenBlock.cjs +23 -0
  1670. package/dist/icons/components/UiOpenBlock.cjs.map +1 -0
  1671. package/dist/icons/components/UiOpenBlock.d.ts +15 -0
  1672. package/dist/icons/components/UiOpenBlock.d.ts.map +1 -0
  1673. package/dist/icons/components/UiOpenBlock.js +23 -0
  1674. package/dist/icons/components/UiOpenBlock.js.map +1 -0
  1675. package/dist/icons/components/UiOperator1.cjs +21 -0
  1676. package/dist/icons/components/UiOperator1.cjs.map +1 -0
  1677. package/dist/icons/components/UiOperator1.d.ts +15 -0
  1678. package/dist/icons/components/UiOperator1.d.ts.map +1 -0
  1679. package/dist/icons/components/UiOperator1.js +21 -0
  1680. package/dist/icons/components/UiOperator1.js.map +1 -0
  1681. package/dist/icons/components/UiPartition.cjs +23 -0
  1682. package/dist/icons/components/UiPartition.cjs.map +1 -0
  1683. package/dist/icons/components/UiPartition.d.ts +15 -0
  1684. package/dist/icons/components/UiPartition.d.ts.map +1 -0
  1685. package/dist/icons/components/UiPartition.js +23 -0
  1686. package/dist/icons/components/UiPartition.js.map +1 -0
  1687. package/dist/icons/components/UiPending.cjs +21 -0
  1688. package/dist/icons/components/UiPending.cjs.map +1 -0
  1689. package/dist/icons/components/UiPending.d.ts +15 -0
  1690. package/dist/icons/components/UiPending.d.ts.map +1 -0
  1691. package/dist/icons/components/UiPending.js +21 -0
  1692. package/dist/icons/components/UiPending.js.map +1 -0
  1693. package/dist/icons/components/UiPercent.cjs +10 -0
  1694. package/dist/icons/components/UiPercent.cjs.map +1 -0
  1695. package/dist/icons/components/UiPercent.d.ts +9 -0
  1696. package/dist/icons/components/UiPercent.d.ts.map +1 -0
  1697. package/dist/icons/components/UiPercent.js +10 -0
  1698. package/dist/icons/components/UiPercent.js.map +1 -0
  1699. package/dist/icons/components/UiPluginModule.cjs +25 -0
  1700. package/dist/icons/components/UiPluginModule.cjs.map +1 -0
  1701. package/dist/icons/components/UiPluginModule.d.ts +15 -0
  1702. package/dist/icons/components/UiPluginModule.d.ts.map +1 -0
  1703. package/dist/icons/components/UiPluginModule.js +25 -0
  1704. package/dist/icons/components/UiPluginModule.js.map +1 -0
  1705. package/dist/icons/components/UiPluginV2.cjs +25 -0
  1706. package/dist/icons/components/UiPluginV2.cjs.map +1 -0
  1707. package/dist/icons/components/UiPluginV2.d.ts +15 -0
  1708. package/dist/icons/components/UiPluginV2.d.ts.map +1 -0
  1709. package/dist/icons/components/UiPluginV2.js +25 -0
  1710. package/dist/icons/components/UiPluginV2.js.map +1 -0
  1711. package/dist/icons/components/UiPointcut.cjs +21 -0
  1712. package/dist/icons/components/UiPointcut.cjs.map +1 -0
  1713. package/dist/icons/components/UiPointcut.d.ts +15 -0
  1714. package/dist/icons/components/UiPointcut.d.ts.map +1 -0
  1715. package/dist/icons/components/UiPointcut.js +21 -0
  1716. package/dist/icons/components/UiPointcut.js.map +1 -0
  1717. package/dist/icons/components/UiProcedure.cjs +21 -0
  1718. package/dist/icons/components/UiProcedure.cjs.map +1 -0
  1719. package/dist/icons/components/UiProcedure.d.ts +15 -0
  1720. package/dist/icons/components/UiProcedure.d.ts.map +1 -0
  1721. package/dist/icons/components/UiProcedure.js +21 -0
  1722. package/dist/icons/components/UiProcedure.js.map +1 -0
  1723. package/dist/icons/components/UiProfile.cjs +25 -0
  1724. package/dist/icons/components/UiProfile.cjs.map +1 -0
  1725. package/dist/icons/components/UiProfile.d.ts +15 -0
  1726. package/dist/icons/components/UiProfile.d.ts.map +1 -0
  1727. package/dist/icons/components/UiProfile.js +25 -0
  1728. package/dist/icons/components/UiProfile.js.map +1 -0
  1729. package/dist/icons/components/UiProfile1.cjs +21 -0
  1730. package/dist/icons/components/UiProfile1.cjs.map +1 -0
  1731. package/dist/icons/components/UiProfile1.d.ts +15 -0
  1732. package/dist/icons/components/UiProfile1.d.ts.map +1 -0
  1733. package/dist/icons/components/UiProfile1.js +21 -0
  1734. package/dist/icons/components/UiProfile1.js.map +1 -0
  1735. package/dist/icons/components/UiProfile2.cjs +25 -0
  1736. package/dist/icons/components/UiProfile2.cjs.map +1 -0
  1737. package/dist/icons/components/UiProfile2.d.ts +15 -0
  1738. package/dist/icons/components/UiProfile2.d.ts.map +1 -0
  1739. package/dist/icons/components/UiProfile2.js +25 -0
  1740. package/dist/icons/components/UiProfile2.js.map +1 -0
  1741. package/dist/icons/components/UiProfile3.cjs +33 -0
  1742. package/dist/icons/components/UiProfile3.cjs.map +1 -0
  1743. package/dist/icons/components/UiProfile3.d.ts +15 -0
  1744. package/dist/icons/components/UiProfile3.d.ts.map +1 -0
  1745. package/dist/icons/components/UiProfile3.js +33 -0
  1746. package/dist/icons/components/UiProfile3.js.map +1 -0
  1747. package/dist/icons/components/UiProfile4.cjs +25 -0
  1748. package/dist/icons/components/UiProfile4.cjs.map +1 -0
  1749. package/dist/icons/components/UiProfile4.d.ts +15 -0
  1750. package/dist/icons/components/UiProfile4.d.ts.map +1 -0
  1751. package/dist/icons/components/UiProfile4.js +25 -0
  1752. package/dist/icons/components/UiProfile4.js.map +1 -0
  1753. package/dist/icons/components/UiProfiler.cjs +13 -0
  1754. package/dist/icons/components/UiProfiler.cjs.map +1 -0
  1755. package/dist/icons/components/UiProfiler.d.ts +9 -0
  1756. package/dist/icons/components/UiProfiler.d.ts.map +1 -0
  1757. package/dist/icons/components/UiProfiler.js +13 -0
  1758. package/dist/icons/components/UiProfiler.js.map +1 -0
  1759. package/dist/icons/components/UiProfilerBackTrace.cjs +10 -0
  1760. package/dist/icons/components/UiProfilerBackTrace.cjs.map +1 -0
  1761. package/dist/icons/components/UiProfilerBackTrace.d.ts +9 -0
  1762. package/dist/icons/components/UiProfilerBackTrace.d.ts.map +1 -0
  1763. package/dist/icons/components/UiProfilerBackTrace.js +10 -0
  1764. package/dist/icons/components/UiProfilerBackTrace.js.map +1 -0
  1765. package/dist/icons/components/UiProfilerMergeCallees.cjs +10 -0
  1766. package/dist/icons/components/UiProfilerMergeCallees.cjs.map +1 -0
  1767. package/dist/icons/components/UiProfilerMergeCallees.d.ts +9 -0
  1768. package/dist/icons/components/UiProfilerMergeCallees.d.ts.map +1 -0
  1769. package/dist/icons/components/UiProfilerMergeCallees.js +10 -0
  1770. package/dist/icons/components/UiProfilerMergeCallees.js.map +1 -0
  1771. package/dist/icons/components/UiProjectStructure.cjs +23 -0
  1772. package/dist/icons/components/UiProjectStructure.cjs.map +1 -0
  1773. package/dist/icons/components/UiProjectStructure.d.ts +15 -0
  1774. package/dist/icons/components/UiProjectStructure.d.ts.map +1 -0
  1775. package/dist/icons/components/UiProjectStructure.js +23 -0
  1776. package/dist/icons/components/UiProjectStructure.js.map +1 -0
  1777. package/dist/icons/components/UiProjection.cjs +21 -0
  1778. package/dist/icons/components/UiProjection.cjs.map +1 -0
  1779. package/dist/icons/components/UiProjection.d.ts +15 -0
  1780. package/dist/icons/components/UiProjection.d.ts.map +1 -0
  1781. package/dist/icons/components/UiProjection.js +21 -0
  1782. package/dist/icons/components/UiProjection.js.map +1 -0
  1783. package/dist/icons/components/UiReadAccess.cjs +21 -0
  1784. package/dist/icons/components/UiReadAccess.cjs.map +1 -0
  1785. package/dist/icons/components/UiReadAccess.d.ts +15 -0
  1786. package/dist/icons/components/UiReadAccess.d.ts.map +1 -0
  1787. package/dist/icons/components/UiReadAccess.js +21 -0
  1788. package/dist/icons/components/UiReadAccess.js.map +1 -0
  1789. package/dist/icons/components/UiRecord1.cjs +21 -0
  1790. package/dist/icons/components/UiRecord1.cjs.map +1 -0
  1791. package/dist/icons/components/UiRecord1.d.ts +15 -0
  1792. package/dist/icons/components/UiRecord1.d.ts.map +1 -0
  1793. package/dist/icons/components/UiRecord1.js +21 -0
  1794. package/dist/icons/components/UiRecord1.js.map +1 -0
  1795. package/dist/icons/components/UiRegex.cjs +21 -0
  1796. package/dist/icons/components/UiRegex.cjs.map +1 -0
  1797. package/dist/icons/components/UiRegex.d.ts +15 -0
  1798. package/dist/icons/components/UiRegex.d.ts.map +1 -0
  1799. package/dist/icons/components/UiRegex.js +21 -0
  1800. package/dist/icons/components/UiRegex.js.map +1 -0
  1801. package/dist/icons/components/UiRelationship.cjs +23 -0
  1802. package/dist/icons/components/UiRelationship.cjs.map +1 -0
  1803. package/dist/icons/components/UiRelationship.d.ts +15 -0
  1804. package/dist/icons/components/UiRelationship.d.ts.map +1 -0
  1805. package/dist/icons/components/UiRelationship.js +23 -0
  1806. package/dist/icons/components/UiRelationship.js.map +1 -0
  1807. package/dist/icons/components/UiRelay.cjs +15 -0
  1808. package/dist/icons/components/UiRelay.cjs.map +1 -0
  1809. package/dist/icons/components/UiRelay.d.ts +15 -0
  1810. package/dist/icons/components/UiRelay.d.ts.map +1 -0
  1811. package/dist/icons/components/UiRelay.js +15 -0
  1812. package/dist/icons/components/UiRelay.js.map +1 -0
  1813. package/dist/icons/components/UiRole.cjs +25 -0
  1814. package/dist/icons/components/UiRole.cjs.map +1 -0
  1815. package/dist/icons/components/UiRole.d.ts +15 -0
  1816. package/dist/icons/components/UiRole.d.ts.map +1 -0
  1817. package/dist/icons/components/UiRole.js +25 -0
  1818. package/dist/icons/components/UiRole.js.map +1 -0
  1819. package/dist/icons/components/UiRollback.cjs +15 -0
  1820. package/dist/icons/components/UiRollback.cjs.map +1 -0
  1821. package/dist/icons/components/UiRollback.d.ts +15 -0
  1822. package/dist/icons/components/UiRollback.d.ts.map +1 -0
  1823. package/dist/icons/components/UiRollback.js +15 -0
  1824. package/dist/icons/components/UiRollback.js.map +1 -0
  1825. package/dist/icons/components/UiRoutine.cjs +21 -0
  1826. package/dist/icons/components/UiRoutine.cjs.map +1 -0
  1827. package/dist/icons/components/UiRoutine.d.ts +15 -0
  1828. package/dist/icons/components/UiRoutine.d.ts.map +1 -0
  1829. package/dist/icons/components/UiRoutine.js +21 -0
  1830. package/dist/icons/components/UiRoutine.js.map +1 -0
  1831. package/dist/icons/components/UiRun.cjs +15 -0
  1832. package/dist/icons/components/UiRun.cjs.map +1 -0
  1833. package/dist/icons/components/UiRun.d.ts +15 -0
  1834. package/dist/icons/components/UiRun.d.ts.map +1 -0
  1835. package/dist/icons/components/UiRun.js +15 -0
  1836. package/dist/icons/components/UiRun.js.map +1 -0
  1837. package/dist/icons/components/UiRun1.cjs +23 -0
  1838. package/dist/icons/components/UiRun1.cjs.map +1 -0
  1839. package/dist/icons/components/UiRun1.d.ts +15 -0
  1840. package/dist/icons/components/UiRun1.d.ts.map +1 -0
  1841. package/dist/icons/components/UiRun1.js +23 -0
  1842. package/dist/icons/components/UiRun1.js.map +1 -0
  1843. package/dist/icons/components/UiRun10.cjs +27 -0
  1844. package/dist/icons/components/UiRun10.cjs.map +1 -0
  1845. package/dist/icons/components/UiRun10.d.ts +15 -0
  1846. package/dist/icons/components/UiRun10.d.ts.map +1 -0
  1847. package/dist/icons/components/UiRun10.js +27 -0
  1848. package/dist/icons/components/UiRun10.js.map +1 -0
  1849. package/dist/icons/components/UiRun11.cjs +23 -0
  1850. package/dist/icons/components/UiRun11.cjs.map +1 -0
  1851. package/dist/icons/components/UiRun11.d.ts +15 -0
  1852. package/dist/icons/components/UiRun11.d.ts.map +1 -0
  1853. package/dist/icons/components/UiRun11.js +23 -0
  1854. package/dist/icons/components/UiRun11.js.map +1 -0
  1855. package/dist/icons/components/UiRun12.cjs +25 -0
  1856. package/dist/icons/components/UiRun12.cjs.map +1 -0
  1857. package/dist/icons/components/UiRun12.d.ts +15 -0
  1858. package/dist/icons/components/UiRun12.d.ts.map +1 -0
  1859. package/dist/icons/components/UiRun12.js +25 -0
  1860. package/dist/icons/components/UiRun12.js.map +1 -0
  1861. package/dist/icons/components/UiRun13.cjs +15 -0
  1862. package/dist/icons/components/UiRun13.cjs.map +1 -0
  1863. package/dist/icons/components/UiRun13.d.ts +15 -0
  1864. package/dist/icons/components/UiRun13.d.ts.map +1 -0
  1865. package/dist/icons/components/UiRun13.js +15 -0
  1866. package/dist/icons/components/UiRun13.js.map +1 -0
  1867. package/dist/icons/components/UiRun14.cjs +25 -0
  1868. package/dist/icons/components/UiRun14.cjs.map +1 -0
  1869. package/dist/icons/components/UiRun14.d.ts +15 -0
  1870. package/dist/icons/components/UiRun14.d.ts.map +1 -0
  1871. package/dist/icons/components/UiRun14.js +25 -0
  1872. package/dist/icons/components/UiRun14.js.map +1 -0
  1873. package/dist/icons/components/UiRun2.cjs +27 -0
  1874. package/dist/icons/components/UiRun2.cjs.map +1 -0
  1875. package/dist/icons/components/UiRun2.d.ts +15 -0
  1876. package/dist/icons/components/UiRun2.d.ts.map +1 -0
  1877. package/dist/icons/components/UiRun2.js +27 -0
  1878. package/dist/icons/components/UiRun2.js.map +1 -0
  1879. package/dist/icons/components/UiRun3.cjs +23 -0
  1880. package/dist/icons/components/UiRun3.cjs.map +1 -0
  1881. package/dist/icons/components/UiRun3.d.ts +15 -0
  1882. package/dist/icons/components/UiRun3.d.ts.map +1 -0
  1883. package/dist/icons/components/UiRun3.js +23 -0
  1884. package/dist/icons/components/UiRun3.js.map +1 -0
  1885. package/dist/icons/components/UiRun4.cjs +23 -0
  1886. package/dist/icons/components/UiRun4.cjs.map +1 -0
  1887. package/dist/icons/components/UiRun4.d.ts +15 -0
  1888. package/dist/icons/components/UiRun4.d.ts.map +1 -0
  1889. package/dist/icons/components/UiRun4.js +23 -0
  1890. package/dist/icons/components/UiRun4.js.map +1 -0
  1891. package/dist/icons/components/UiRun5.cjs +25 -0
  1892. package/dist/icons/components/UiRun5.cjs.map +1 -0
  1893. package/dist/icons/components/UiRun5.d.ts +15 -0
  1894. package/dist/icons/components/UiRun5.d.ts.map +1 -0
  1895. package/dist/icons/components/UiRun5.js +25 -0
  1896. package/dist/icons/components/UiRun5.js.map +1 -0
  1897. package/dist/icons/components/UiRun6.cjs +34 -0
  1898. package/dist/icons/components/UiRun6.cjs.map +1 -0
  1899. package/dist/icons/components/UiRun6.d.ts +15 -0
  1900. package/dist/icons/components/UiRun6.d.ts.map +1 -0
  1901. package/dist/icons/components/UiRun6.js +34 -0
  1902. package/dist/icons/components/UiRun6.js.map +1 -0
  1903. package/dist/icons/components/UiRun7.cjs +21 -0
  1904. package/dist/icons/components/UiRun7.cjs.map +1 -0
  1905. package/dist/icons/components/UiRun7.d.ts +15 -0
  1906. package/dist/icons/components/UiRun7.d.ts.map +1 -0
  1907. package/dist/icons/components/UiRun7.js +21 -0
  1908. package/dist/icons/components/UiRun7.js.map +1 -0
  1909. package/dist/icons/components/UiRun8.cjs +23 -0
  1910. package/dist/icons/components/UiRun8.cjs.map +1 -0
  1911. package/dist/icons/components/UiRun8.d.ts +15 -0
  1912. package/dist/icons/components/UiRun8.d.ts.map +1 -0
  1913. package/dist/icons/components/UiRun8.js +23 -0
  1914. package/dist/icons/components/UiRun8.js.map +1 -0
  1915. package/dist/icons/components/UiRun9.cjs +29 -0
  1916. package/dist/icons/components/UiRun9.cjs.map +1 -0
  1917. package/dist/icons/components/UiRun9.d.ts +15 -0
  1918. package/dist/icons/components/UiRun9.d.ts.map +1 -0
  1919. package/dist/icons/components/UiRun9.js +29 -0
  1920. package/dist/icons/components/UiRun9.js.map +1 -0
  1921. package/dist/icons/components/UiSecurityRole.cjs +15 -0
  1922. package/dist/icons/components/UiSecurityRole.cjs.map +1 -0
  1923. package/dist/icons/components/UiSecurityRole.d.ts +15 -0
  1924. package/dist/icons/components/UiSecurityRole.d.ts.map +1 -0
  1925. package/dist/icons/components/UiSecurityRole.js +15 -0
  1926. package/dist/icons/components/UiSecurityRole.js.map +1 -0
  1927. package/dist/icons/components/UiSequence.cjs +23 -0
  1928. package/dist/icons/components/UiSequence.cjs.map +1 -0
  1929. package/dist/icons/components/UiSequence.d.ts +15 -0
  1930. package/dist/icons/components/UiSequence.d.ts.map +1 -0
  1931. package/dist/icons/components/UiSequence.js +23 -0
  1932. package/dist/icons/components/UiSequence.js.map +1 -0
  1933. package/dist/icons/components/UiSequence1.cjs +31 -0
  1934. package/dist/icons/components/UiSequence1.cjs.map +1 -0
  1935. package/dist/icons/components/UiSequence1.d.ts +15 -0
  1936. package/dist/icons/components/UiSequence1.d.ts.map +1 -0
  1937. package/dist/icons/components/UiSequence1.js +31 -0
  1938. package/dist/icons/components/UiSequence1.js.map +1 -0
  1939. package/dist/icons/components/UiSequence2.cjs +29 -0
  1940. package/dist/icons/components/UiSequence2.cjs.map +1 -0
  1941. package/dist/icons/components/UiSequence2.d.ts +15 -0
  1942. package/dist/icons/components/UiSequence2.d.ts.map +1 -0
  1943. package/dist/icons/components/UiSequence2.js +29 -0
  1944. package/dist/icons/components/UiSequence2.js.map +1 -0
  1945. package/dist/icons/components/UiSequence3.cjs +23 -0
  1946. package/dist/icons/components/UiSequence3.cjs.map +1 -0
  1947. package/dist/icons/components/UiSequence3.d.ts +15 -0
  1948. package/dist/icons/components/UiSequence3.d.ts.map +1 -0
  1949. package/dist/icons/components/UiSequence3.js +23 -0
  1950. package/dist/icons/components/UiSequence3.js.map +1 -0
  1951. package/dist/icons/components/UiSequence4.cjs +23 -0
  1952. package/dist/icons/components/UiSequence4.cjs.map +1 -0
  1953. package/dist/icons/components/UiSequence4.d.ts +15 -0
  1954. package/dist/icons/components/UiSequence4.d.ts.map +1 -0
  1955. package/dist/icons/components/UiSequence4.js +23 -0
  1956. package/dist/icons/components/UiSequence4.js.map +1 -0
  1957. package/dist/icons/components/UiSetKey.cjs +29 -0
  1958. package/dist/icons/components/UiSetKey.cjs.map +1 -0
  1959. package/dist/icons/components/UiSetKey.d.ts +15 -0
  1960. package/dist/icons/components/UiSetKey.d.ts.map +1 -0
  1961. package/dist/icons/components/UiSetKey.js +29 -0
  1962. package/dist/icons/components/UiSetKey.js.map +1 -0
  1963. package/dist/icons/components/UiShortcutFilter.cjs +25 -0
  1964. package/dist/icons/components/UiShortcutFilter.cjs.map +1 -0
  1965. package/dist/icons/components/UiShortcutFilter.d.ts +15 -0
  1966. package/dist/icons/components/UiShortcutFilter.d.ts.map +1 -0
  1967. package/dist/icons/components/UiShortcutFilter.js +25 -0
  1968. package/dist/icons/components/UiShortcutFilter.js.map +1 -0
  1969. package/dist/icons/components/UiShowCurrentFrame.cjs +23 -0
  1970. package/dist/icons/components/UiShowCurrentFrame.cjs.map +1 -0
  1971. package/dist/icons/components/UiShowCurrentFrame.d.ts +15 -0
  1972. package/dist/icons/components/UiShowCurrentFrame.d.ts.map +1 -0
  1973. package/dist/icons/components/UiShowCurrentFrame.js +23 -0
  1974. package/dist/icons/components/UiShowCurrentFrame.js.map +1 -0
  1975. package/dist/icons/components/UiShowMembers.cjs +27 -0
  1976. package/dist/icons/components/UiShowMembers.cjs.map +1 -0
  1977. package/dist/icons/components/UiShowMembers.d.ts +15 -0
  1978. package/dist/icons/components/UiShowMembers.d.ts.map +1 -0
  1979. package/dist/icons/components/UiShowMembers.js +27 -0
  1980. package/dist/icons/components/UiShowMembers.js.map +1 -0
  1981. package/dist/icons/components/UiShowToImplement.cjs +27 -0
  1982. package/dist/icons/components/UiShowToImplement.cjs.map +1 -0
  1983. package/dist/icons/components/UiShowToImplement.d.ts +15 -0
  1984. package/dist/icons/components/UiShowToImplement.d.ts.map +1 -0
  1985. package/dist/icons/components/UiShowToImplement.js +27 -0
  1986. package/dist/icons/components/UiShowToImplement.js.map +1 -0
  1987. package/dist/icons/components/UiSortAlphabetically.cjs +23 -0
  1988. package/dist/icons/components/UiSortAlphabetically.cjs.map +1 -0
  1989. package/dist/icons/components/UiSortAlphabetically.d.ts +15 -0
  1990. package/dist/icons/components/UiSortAlphabetically.d.ts.map +1 -0
  1991. package/dist/icons/components/UiSortAlphabetically.js +23 -0
  1992. package/dist/icons/components/UiSortAlphabetically.js.map +1 -0
  1993. package/dist/icons/components/UiSortByType.cjs +23 -0
  1994. package/dist/icons/components/UiSortByType.cjs.map +1 -0
  1995. package/dist/icons/components/UiSortByType.d.ts +15 -0
  1996. package/dist/icons/components/UiSortByType.d.ts.map +1 -0
  1997. package/dist/icons/components/UiSortByType.js +23 -0
  1998. package/dist/icons/components/UiSortByType.js.map +1 -0
  1999. package/dist/icons/components/UiSortByUsage.cjs +21 -0
  2000. package/dist/icons/components/UiSortByUsage.cjs.map +1 -0
  2001. package/dist/icons/components/UiSortByUsage.d.ts +15 -0
  2002. package/dist/icons/components/UiSortByUsage.d.ts.map +1 -0
  2003. package/dist/icons/components/UiSortByUsage.js +21 -0
  2004. package/dist/icons/components/UiSortByUsage.js.map +1 -0
  2005. package/dist/icons/components/UiSortByVisibility.cjs +23 -0
  2006. package/dist/icons/components/UiSortByVisibility.cjs.map +1 -0
  2007. package/dist/icons/components/UiSortByVisibility.d.ts +15 -0
  2008. package/dist/icons/components/UiSortByVisibility.d.ts.map +1 -0
  2009. package/dist/icons/components/UiSortByVisibility.js +23 -0
  2010. package/dist/icons/components/UiSortByVisibility.js.map +1 -0
  2011. package/dist/icons/components/UiSpringBoot.cjs +29 -0
  2012. package/dist/icons/components/UiSpringBoot.cjs.map +1 -0
  2013. package/dist/icons/components/UiSpringBoot.d.ts +15 -0
  2014. package/dist/icons/components/UiSpringBoot.d.ts.map +1 -0
  2015. package/dist/icons/components/UiSpringBoot.js +29 -0
  2016. package/dist/icons/components/UiSpringBoot.js.map +1 -0
  2017. package/dist/icons/components/UiSqlColumn.cjs +1 -1
  2018. package/dist/icons/components/UiSqlColumn.cjs.map +1 -1
  2019. package/dist/icons/components/UiSqlColumn.js +1 -1
  2020. package/dist/icons/components/UiSqlColumn.js.map +1 -1
  2021. package/dist/icons/components/UiSqlConstraint.cjs +7 -2
  2022. package/dist/icons/components/UiSqlConstraint.cjs.map +1 -1
  2023. package/dist/icons/components/UiSqlConstraint.js +8 -3
  2024. package/dist/icons/components/UiSqlConstraint.js.map +1 -1
  2025. package/dist/icons/components/UiSqlDatabase.cjs +3 -4
  2026. package/dist/icons/components/UiSqlDatabase.cjs.map +1 -1
  2027. package/dist/icons/components/UiSqlDatabase.js +3 -4
  2028. package/dist/icons/components/UiSqlDatabase.js.map +1 -1
  2029. package/dist/icons/components/UiSqlForeignKey.cjs +4 -3
  2030. package/dist/icons/components/UiSqlForeignKey.cjs.map +1 -1
  2031. package/dist/icons/components/UiSqlForeignKey.js +4 -3
  2032. package/dist/icons/components/UiSqlForeignKey.js.map +1 -1
  2033. package/dist/icons/components/UiSqlFunction.cjs +3 -3
  2034. package/dist/icons/components/UiSqlFunction.cjs.map +1 -1
  2035. package/dist/icons/components/UiSqlFunction.js +3 -3
  2036. package/dist/icons/components/UiSqlFunction.js.map +1 -1
  2037. package/dist/icons/components/UiSqlIndex.cjs +3 -3
  2038. package/dist/icons/components/UiSqlIndex.cjs.map +1 -1
  2039. package/dist/icons/components/UiSqlIndex.js +3 -3
  2040. package/dist/icons/components/UiSqlIndex.js.map +1 -1
  2041. package/dist/icons/components/UiSqlPrimaryKey.cjs +3 -2
  2042. package/dist/icons/components/UiSqlPrimaryKey.cjs.map +1 -1
  2043. package/dist/icons/components/UiSqlPrimaryKey.js +3 -2
  2044. package/dist/icons/components/UiSqlPrimaryKey.js.map +1 -1
  2045. package/dist/icons/components/UiSqlQuery.cjs +10 -2
  2046. package/dist/icons/components/UiSqlQuery.cjs.map +1 -1
  2047. package/dist/icons/components/UiSqlQuery.js +11 -3
  2048. package/dist/icons/components/UiSqlQuery.js.map +1 -1
  2049. package/dist/icons/components/UiSqlSchema.cjs +6 -3
  2050. package/dist/icons/components/UiSqlSchema.cjs.map +1 -1
  2051. package/dist/icons/components/UiSqlSchema.js +6 -3
  2052. package/dist/icons/components/UiSqlSchema.js.map +1 -1
  2053. package/dist/icons/components/UiSqlSequence.cjs +4 -4
  2054. package/dist/icons/components/UiSqlSequence.cjs.map +1 -1
  2055. package/dist/icons/components/UiSqlSequence.js +4 -4
  2056. package/dist/icons/components/UiSqlSequence.js.map +1 -1
  2057. package/dist/icons/components/UiSqlStoredProc.cjs +3 -3
  2058. package/dist/icons/components/UiSqlStoredProc.cjs.map +1 -1
  2059. package/dist/icons/components/UiSqlStoredProc.js +3 -3
  2060. package/dist/icons/components/UiSqlStoredProc.js.map +1 -1
  2061. package/dist/icons/components/UiSqlTable.cjs +7 -2
  2062. package/dist/icons/components/UiSqlTable.cjs.map +1 -1
  2063. package/dist/icons/components/UiSqlTable.js +7 -2
  2064. package/dist/icons/components/UiSqlTable.js.map +1 -1
  2065. package/dist/icons/components/UiSqlTrigger.cjs +6 -2
  2066. package/dist/icons/components/UiSqlTrigger.cjs.map +1 -1
  2067. package/dist/icons/components/UiSqlTrigger.js +7 -3
  2068. package/dist/icons/components/UiSqlTrigger.js.map +1 -1
  2069. package/dist/icons/components/UiSqlView.cjs +4 -5
  2070. package/dist/icons/components/UiSqlView.cjs.map +1 -1
  2071. package/dist/icons/components/UiSqlView.js +4 -5
  2072. package/dist/icons/components/UiSqlView.js.map +1 -1
  2073. package/dist/icons/components/UiStackTrace.cjs +15 -0
  2074. package/dist/icons/components/UiStackTrace.cjs.map +1 -0
  2075. package/dist/icons/components/UiStackTrace.d.ts +9 -0
  2076. package/dist/icons/components/UiStackTrace.d.ts.map +1 -0
  2077. package/dist/icons/components/UiStackTrace.js +15 -0
  2078. package/dist/icons/components/UiStackTrace.js.map +1 -0
  2079. package/dist/icons/components/UiStartTimer.cjs +27 -0
  2080. package/dist/icons/components/UiStartTimer.cjs.map +1 -0
  2081. package/dist/icons/components/UiStartTimer.d.ts +15 -0
  2082. package/dist/icons/components/UiStartTimer.d.ts.map +1 -0
  2083. package/dist/icons/components/UiStartTimer.js +27 -0
  2084. package/dist/icons/components/UiStartTimer.js.map +1 -0
  2085. package/dist/icons/components/UiStatic.cjs +21 -0
  2086. package/dist/icons/components/UiStatic.cjs.map +1 -0
  2087. package/dist/icons/components/UiStatic.d.ts +15 -0
  2088. package/dist/icons/components/UiStatic.d.ts.map +1 -0
  2089. package/dist/icons/components/UiStatic.js +21 -0
  2090. package/dist/icons/components/UiStatic.js.map +1 -0
  2091. package/dist/icons/components/UiStep.cjs +21 -0
  2092. package/dist/icons/components/UiStep.cjs.map +1 -0
  2093. package/dist/icons/components/UiStep.d.ts +15 -0
  2094. package/dist/icons/components/UiStep.d.ts.map +1 -0
  2095. package/dist/icons/components/UiStep.js +21 -0
  2096. package/dist/icons/components/UiStep.js.map +1 -0
  2097. package/dist/icons/components/UiStep1.cjs +29 -0
  2098. package/dist/icons/components/UiStep1.cjs.map +1 -0
  2099. package/dist/icons/components/UiStep1.d.ts +15 -0
  2100. package/dist/icons/components/UiStep1.d.ts.map +1 -0
  2101. package/dist/icons/components/UiStep1.js +29 -0
  2102. package/dist/icons/components/UiStep1.js.map +1 -0
  2103. package/dist/icons/components/UiStep2.cjs +21 -0
  2104. package/dist/icons/components/UiStep2.cjs.map +1 -0
  2105. package/dist/icons/components/UiStep2.d.ts +15 -0
  2106. package/dist/icons/components/UiStep2.d.ts.map +1 -0
  2107. package/dist/icons/components/UiStep2.js +21 -0
  2108. package/dist/icons/components/UiStep2.js.map +1 -0
  2109. package/dist/icons/components/UiStep3.cjs +21 -0
  2110. package/dist/icons/components/UiStep3.cjs.map +1 -0
  2111. package/dist/icons/components/UiStep3.d.ts +15 -0
  2112. package/dist/icons/components/UiStep3.d.ts.map +1 -0
  2113. package/dist/icons/components/UiStep3.js +21 -0
  2114. package/dist/icons/components/UiStep3.js.map +1 -0
  2115. package/dist/icons/components/UiStep4.cjs +31 -0
  2116. package/dist/icons/components/UiStep4.cjs.map +1 -0
  2117. package/dist/icons/components/UiStep4.d.ts +15 -0
  2118. package/dist/icons/components/UiStep4.d.ts.map +1 -0
  2119. package/dist/icons/components/UiStep4.js +31 -0
  2120. package/dist/icons/components/UiStep4.js.map +1 -0
  2121. package/dist/icons/components/UiStep5.cjs +27 -0
  2122. package/dist/icons/components/UiStep5.cjs.map +1 -0
  2123. package/dist/icons/components/UiStep5.d.ts +15 -0
  2124. package/dist/icons/components/UiStep5.d.ts.map +1 -0
  2125. package/dist/icons/components/UiStep5.js +27 -0
  2126. package/dist/icons/components/UiStep5.js.map +1 -0
  2127. package/dist/icons/components/UiStep6.cjs +23 -0
  2128. package/dist/icons/components/UiStep6.cjs.map +1 -0
  2129. package/dist/icons/components/UiStep6.d.ts +15 -0
  2130. package/dist/icons/components/UiStep6.d.ts.map +1 -0
  2131. package/dist/icons/components/UiStep6.js +23 -0
  2132. package/dist/icons/components/UiStep6.js.map +1 -0
  2133. package/dist/icons/components/UiStep7.cjs +21 -0
  2134. package/dist/icons/components/UiStep7.cjs.map +1 -0
  2135. package/dist/icons/components/UiStep7.d.ts +15 -0
  2136. package/dist/icons/components/UiStep7.d.ts.map +1 -0
  2137. package/dist/icons/components/UiStep7.js +21 -0
  2138. package/dist/icons/components/UiStep7.js.map +1 -0
  2139. package/dist/icons/components/UiStep8.cjs +28 -0
  2140. package/dist/icons/components/UiStep8.cjs.map +1 -0
  2141. package/dist/icons/components/UiStep8.d.ts +15 -0
  2142. package/dist/icons/components/UiStep8.d.ts.map +1 -0
  2143. package/dist/icons/components/UiStep8.js +28 -0
  2144. package/dist/icons/components/UiStep8.js.map +1 -0
  2145. package/dist/icons/components/UiStep9.cjs +21 -0
  2146. package/dist/icons/components/UiStep9.cjs.map +1 -0
  2147. package/dist/icons/components/UiStep9.d.ts +15 -0
  2148. package/dist/icons/components/UiStep9.d.ts.map +1 -0
  2149. package/dist/icons/components/UiStep9.js +21 -0
  2150. package/dist/icons/components/UiStep9.js.map +1 -0
  2151. package/dist/icons/components/UiStream.cjs +23 -0
  2152. package/dist/icons/components/UiStream.cjs.map +1 -0
  2153. package/dist/icons/components/UiStream.d.ts +15 -0
  2154. package/dist/icons/components/UiStream.d.ts.map +1 -0
  2155. package/dist/icons/components/UiStream.js +23 -0
  2156. package/dist/icons/components/UiStream.js.map +1 -0
  2157. package/dist/icons/components/UiStreamKey.cjs +31 -0
  2158. package/dist/icons/components/UiStreamKey.cjs.map +1 -0
  2159. package/dist/icons/components/UiStreamKey.d.ts +15 -0
  2160. package/dist/icons/components/UiStreamKey.d.ts.map +1 -0
  2161. package/dist/icons/components/UiStreamKey.js +31 -0
  2162. package/dist/icons/components/UiStreamKey.js.map +1 -0
  2163. package/dist/icons/components/UiSubmitDB.cjs +15 -0
  2164. package/dist/icons/components/UiSubmitDB.cjs.map +1 -0
  2165. package/dist/icons/components/UiSubmitDB.d.ts +15 -0
  2166. package/dist/icons/components/UiSubmitDB.d.ts.map +1 -0
  2167. package/dist/icons/components/UiSubmitDB.js +15 -0
  2168. package/dist/icons/components/UiSubmitDB.js.map +1 -0
  2169. package/dist/icons/components/UiSubscription.cjs +21 -0
  2170. package/dist/icons/components/UiSubscription.cjs.map +1 -0
  2171. package/dist/icons/components/UiSubscription.d.ts +15 -0
  2172. package/dist/icons/components/UiSubscription.d.ts.map +1 -0
  2173. package/dist/icons/components/UiSubscription.js +21 -0
  2174. package/dist/icons/components/UiSubscription.js.map +1 -0
  2175. package/dist/icons/components/UiSymbol.cjs +25 -0
  2176. package/dist/icons/components/UiSymbol.cjs.map +1 -0
  2177. package/dist/icons/components/UiSymbol.d.ts +15 -0
  2178. package/dist/icons/components/UiSymbol.d.ts.map +1 -0
  2179. package/dist/icons/components/UiSymbol.js +25 -0
  2180. package/dist/icons/components/UiSymbol.js.map +1 -0
  2181. package/dist/icons/components/UiTable1.cjs +23 -0
  2182. package/dist/icons/components/UiTable1.cjs.map +1 -0
  2183. package/dist/icons/components/UiTable1.d.ts +15 -0
  2184. package/dist/icons/components/UiTable1.d.ts.map +1 -0
  2185. package/dist/icons/components/UiTable1.js +23 -0
  2186. package/dist/icons/components/UiTable1.js.map +1 -0
  2187. package/dist/icons/components/UiTable10.cjs +25 -0
  2188. package/dist/icons/components/UiTable10.cjs.map +1 -0
  2189. package/dist/icons/components/UiTable10.d.ts +15 -0
  2190. package/dist/icons/components/UiTable10.d.ts.map +1 -0
  2191. package/dist/icons/components/UiTable10.js +25 -0
  2192. package/dist/icons/components/UiTable10.js.map +1 -0
  2193. package/dist/icons/components/UiTable11.cjs +25 -0
  2194. package/dist/icons/components/UiTable11.cjs.map +1 -0
  2195. package/dist/icons/components/UiTable11.d.ts +15 -0
  2196. package/dist/icons/components/UiTable11.d.ts.map +1 -0
  2197. package/dist/icons/components/UiTable11.js +25 -0
  2198. package/dist/icons/components/UiTable11.js.map +1 -0
  2199. package/dist/icons/components/UiTable12.cjs +23 -0
  2200. package/dist/icons/components/UiTable12.cjs.map +1 -0
  2201. package/dist/icons/components/UiTable12.d.ts +15 -0
  2202. package/dist/icons/components/UiTable12.d.ts.map +1 -0
  2203. package/dist/icons/components/UiTable12.js +23 -0
  2204. package/dist/icons/components/UiTable12.js.map +1 -0
  2205. package/dist/icons/components/UiTable2.cjs +21 -0
  2206. package/dist/icons/components/UiTable2.cjs.map +1 -0
  2207. package/dist/icons/components/UiTable2.d.ts +15 -0
  2208. package/dist/icons/components/UiTable2.d.ts.map +1 -0
  2209. package/dist/icons/components/UiTable2.js +21 -0
  2210. package/dist/icons/components/UiTable2.js.map +1 -0
  2211. package/dist/icons/components/UiTable3.cjs +33 -0
  2212. package/dist/icons/components/UiTable3.cjs.map +1 -0
  2213. package/dist/icons/components/UiTable3.d.ts +15 -0
  2214. package/dist/icons/components/UiTable3.d.ts.map +1 -0
  2215. package/dist/icons/components/UiTable3.js +33 -0
  2216. package/dist/icons/components/UiTable3.js.map +1 -0
  2217. package/dist/icons/components/UiTable4.cjs +55 -0
  2218. package/dist/icons/components/UiTable4.cjs.map +1 -0
  2219. package/dist/icons/components/UiTable4.d.ts +15 -0
  2220. package/dist/icons/components/UiTable4.d.ts.map +1 -0
  2221. package/dist/icons/components/UiTable4.js +55 -0
  2222. package/dist/icons/components/UiTable4.js.map +1 -0
  2223. package/dist/icons/components/UiTable5.cjs +25 -0
  2224. package/dist/icons/components/UiTable5.cjs.map +1 -0
  2225. package/dist/icons/components/UiTable5.d.ts +15 -0
  2226. package/dist/icons/components/UiTable5.d.ts.map +1 -0
  2227. package/dist/icons/components/UiTable5.js +25 -0
  2228. package/dist/icons/components/UiTable5.js.map +1 -0
  2229. package/dist/icons/components/UiTable6.cjs +31 -0
  2230. package/dist/icons/components/UiTable6.cjs.map +1 -0
  2231. package/dist/icons/components/UiTable6.d.ts +15 -0
  2232. package/dist/icons/components/UiTable6.d.ts.map +1 -0
  2233. package/dist/icons/components/UiTable6.js +31 -0
  2234. package/dist/icons/components/UiTable6.js.map +1 -0
  2235. package/dist/icons/components/UiTable7.cjs +24 -0
  2236. package/dist/icons/components/UiTable7.cjs.map +1 -0
  2237. package/dist/icons/components/UiTable7.d.ts +15 -0
  2238. package/dist/icons/components/UiTable7.d.ts.map +1 -0
  2239. package/dist/icons/components/UiTable7.js +24 -0
  2240. package/dist/icons/components/UiTable7.js.map +1 -0
  2241. package/dist/icons/components/UiTable8.cjs +25 -0
  2242. package/dist/icons/components/UiTable8.cjs.map +1 -0
  2243. package/dist/icons/components/UiTable8.d.ts +15 -0
  2244. package/dist/icons/components/UiTable8.d.ts.map +1 -0
  2245. package/dist/icons/components/UiTable8.js +25 -0
  2246. package/dist/icons/components/UiTable8.js.map +1 -0
  2247. package/dist/icons/components/UiTable9.cjs +25 -0
  2248. package/dist/icons/components/UiTable9.cjs.map +1 -0
  2249. package/dist/icons/components/UiTable9.d.ts +15 -0
  2250. package/dist/icons/components/UiTable9.d.ts.map +1 -0
  2251. package/dist/icons/components/UiTable9.js +25 -0
  2252. package/dist/icons/components/UiTable9.js.map +1 -0
  2253. package/dist/icons/components/UiTemplate.cjs +21 -0
  2254. package/dist/icons/components/UiTemplate.cjs.map +1 -0
  2255. package/dist/icons/components/UiTemplate.d.ts +15 -0
  2256. package/dist/icons/components/UiTemplate.d.ts.map +1 -0
  2257. package/dist/icons/components/UiTemplate.js +21 -0
  2258. package/dist/icons/components/UiTemplate.js.map +1 -0
  2259. package/dist/icons/components/UiTest1.cjs +24 -0
  2260. package/dist/icons/components/UiTest1.cjs.map +1 -0
  2261. package/dist/icons/components/UiTest1.d.ts +15 -0
  2262. package/dist/icons/components/UiTest1.d.ts.map +1 -0
  2263. package/dist/icons/components/UiTest1.js +24 -0
  2264. package/dist/icons/components/UiTest1.js.map +1 -0
  2265. package/dist/icons/components/UiTest2.cjs +21 -0
  2266. package/dist/icons/components/UiTest2.cjs.map +1 -0
  2267. package/dist/icons/components/UiTest2.d.ts +15 -0
  2268. package/dist/icons/components/UiTest2.d.ts.map +1 -0
  2269. package/dist/icons/components/UiTest2.js +21 -0
  2270. package/dist/icons/components/UiTest2.js.map +1 -0
  2271. package/dist/icons/components/UiTest3.cjs +21 -0
  2272. package/dist/icons/components/UiTest3.cjs.map +1 -0
  2273. package/dist/icons/components/UiTest3.d.ts +15 -0
  2274. package/dist/icons/components/UiTest3.d.ts.map +1 -0
  2275. package/dist/icons/components/UiTest3.js +21 -0
  2276. package/dist/icons/components/UiTest3.js.map +1 -0
  2277. package/dist/icons/components/UiTest4.cjs +15 -0
  2278. package/dist/icons/components/UiTest4.cjs.map +1 -0
  2279. package/dist/icons/components/UiTest4.d.ts +15 -0
  2280. package/dist/icons/components/UiTest4.d.ts.map +1 -0
  2281. package/dist/icons/components/UiTest4.js +15 -0
  2282. package/dist/icons/components/UiTest4.js.map +1 -0
  2283. package/dist/icons/components/UiTest5.cjs +25 -0
  2284. package/dist/icons/components/UiTest5.cjs.map +1 -0
  2285. package/dist/icons/components/UiTest5.d.ts +15 -0
  2286. package/dist/icons/components/UiTest5.d.ts.map +1 -0
  2287. package/dist/icons/components/UiTest5.js +25 -0
  2288. package/dist/icons/components/UiTest5.js.map +1 -0
  2289. package/dist/icons/components/UiTest6.cjs +30 -0
  2290. package/dist/icons/components/UiTest6.cjs.map +1 -0
  2291. package/dist/icons/components/UiTest6.d.ts +15 -0
  2292. package/dist/icons/components/UiTest6.d.ts.map +1 -0
  2293. package/dist/icons/components/UiTest6.js +30 -0
  2294. package/dist/icons/components/UiTest6.js.map +1 -0
  2295. package/dist/icons/components/UiTest7.cjs +25 -0
  2296. package/dist/icons/components/UiTest7.cjs.map +1 -0
  2297. package/dist/icons/components/UiTest7.d.ts +15 -0
  2298. package/dist/icons/components/UiTest7.d.ts.map +1 -0
  2299. package/dist/icons/components/UiTest7.js +25 -0
  2300. package/dist/icons/components/UiTest7.js.map +1 -0
  2301. package/dist/icons/components/UiText.cjs +21 -0
  2302. package/dist/icons/components/UiText.cjs.map +1 -0
  2303. package/dist/icons/components/UiText.d.ts +15 -0
  2304. package/dist/icons/components/UiText.d.ts.map +1 -0
  2305. package/dist/icons/components/UiText.js +21 -0
  2306. package/dist/icons/components/UiText.js.map +1 -0
  2307. package/dist/icons/components/UiTransactionStart.cjs +31 -0
  2308. package/dist/icons/components/UiTransactionStart.cjs.map +1 -0
  2309. package/dist/icons/components/UiTransactionStart.d.ts +15 -0
  2310. package/dist/icons/components/UiTransactionStart.d.ts.map +1 -0
  2311. package/dist/icons/components/UiTransactionStart.js +31 -0
  2312. package/dist/icons/components/UiTransactionStart.js.map +1 -0
  2313. package/dist/icons/components/UiTypeScriptIndexSignature.cjs +29 -0
  2314. package/dist/icons/components/UiTypeScriptIndexSignature.cjs.map +1 -0
  2315. package/dist/icons/components/UiTypeScriptIndexSignature.d.ts +15 -0
  2316. package/dist/icons/components/UiTypeScriptIndexSignature.d.ts.map +1 -0
  2317. package/dist/icons/components/UiTypeScriptIndexSignature.js +29 -0
  2318. package/dist/icons/components/UiTypeScriptIndexSignature.js.map +1 -0
  2319. package/dist/icons/components/UiUndeploy.cjs +29 -0
  2320. package/dist/icons/components/UiUndeploy.cjs.map +1 -0
  2321. package/dist/icons/components/UiUndeploy.d.ts +15 -0
  2322. package/dist/icons/components/UiUndeploy.d.ts.map +1 -0
  2323. package/dist/icons/components/UiUndeploy.js +29 -0
  2324. package/dist/icons/components/UiUndeploy.js.map +1 -0
  2325. package/dist/icons/components/UiVariable1.cjs +29 -0
  2326. package/dist/icons/components/UiVariable1.cjs.map +1 -0
  2327. package/dist/icons/components/UiVariable1.d.ts +15 -0
  2328. package/dist/icons/components/UiVariable1.d.ts.map +1 -0
  2329. package/dist/icons/components/UiVariable1.js +29 -0
  2330. package/dist/icons/components/UiVariable1.js.map +1 -0
  2331. package/dist/icons/components/UiVariable2.cjs +21 -0
  2332. package/dist/icons/components/UiVariable2.cjs.map +1 -0
  2333. package/dist/icons/components/UiVariable2.d.ts +15 -0
  2334. package/dist/icons/components/UiVariable2.d.ts.map +1 -0
  2335. package/dist/icons/components/UiVariable2.js +21 -0
  2336. package/dist/icons/components/UiVariable2.js.map +1 -0
  2337. package/dist/icons/components/UiVariable3.cjs +25 -0
  2338. package/dist/icons/components/UiVariable3.cjs.map +1 -0
  2339. package/dist/icons/components/UiVariable3.d.ts +15 -0
  2340. package/dist/icons/components/UiVariable3.d.ts.map +1 -0
  2341. package/dist/icons/components/UiVariable3.js +25 -0
  2342. package/dist/icons/components/UiVariable3.js.map +1 -0
  2343. package/dist/icons/components/UiVariable4.cjs +31 -0
  2344. package/dist/icons/components/UiVariable4.cjs.map +1 -0
  2345. package/dist/icons/components/UiVariable4.d.ts +15 -0
  2346. package/dist/icons/components/UiVariable4.d.ts.map +1 -0
  2347. package/dist/icons/components/UiVariable4.js +31 -0
  2348. package/dist/icons/components/UiVariable4.js.map +1 -0
  2349. package/dist/icons/components/UiVariable5.cjs +21 -0
  2350. package/dist/icons/components/UiVariable5.cjs.map +1 -0
  2351. package/dist/icons/components/UiVariable5.d.ts +15 -0
  2352. package/dist/icons/components/UiVariable5.d.ts.map +1 -0
  2353. package/dist/icons/components/UiVariable5.js +21 -0
  2354. package/dist/icons/components/UiVariable5.js.map +1 -0
  2355. package/dist/icons/components/UiVariable6.cjs +21 -0
  2356. package/dist/icons/components/UiVariable6.cjs.map +1 -0
  2357. package/dist/icons/components/UiVariable6.d.ts +15 -0
  2358. package/dist/icons/components/UiVariable6.d.ts.map +1 -0
  2359. package/dist/icons/components/UiVariable6.js +21 -0
  2360. package/dist/icons/components/UiVariable6.js.map +1 -0
  2361. package/dist/icons/components/UiVirtualForeignKey.cjs +25 -0
  2362. package/dist/icons/components/UiVirtualForeignKey.cjs.map +1 -0
  2363. package/dist/icons/components/UiVirtualForeignKey.d.ts +15 -0
  2364. package/dist/icons/components/UiVirtualForeignKey.d.ts.map +1 -0
  2365. package/dist/icons/components/UiVirtualForeignKey.js +25 -0
  2366. package/dist/icons/components/UiVirtualForeignKey.js.map +1 -0
  2367. package/dist/icons/components/UiWebArtifact.cjs +47 -0
  2368. package/dist/icons/components/UiWebArtifact.cjs.map +1 -0
  2369. package/dist/icons/components/UiWebArtifact.d.ts +15 -0
  2370. package/dist/icons/components/UiWebArtifact.d.ts.map +1 -0
  2371. package/dist/icons/components/UiWebArtifact.js +47 -0
  2372. package/dist/icons/components/UiWebArtifact.js.map +1 -0
  2373. package/dist/icons/components/UiWebServiceClient.cjs +27 -0
  2374. package/dist/icons/components/UiWebServiceClient.cjs.map +1 -0
  2375. package/dist/icons/components/UiWebServiceClient.d.ts +15 -0
  2376. package/dist/icons/components/UiWebServiceClient.d.ts.map +1 -0
  2377. package/dist/icons/components/UiWebServiceClient.js +27 -0
  2378. package/dist/icons/components/UiWebServiceClient.js.map +1 -0
  2379. package/dist/icons/components/UiWriteAccess.cjs +21 -0
  2380. package/dist/icons/components/UiWriteAccess.cjs.map +1 -0
  2381. package/dist/icons/components/UiWriteAccess.d.ts +15 -0
  2382. package/dist/icons/components/UiWriteAccess.d.ts.map +1 -0
  2383. package/dist/icons/components/UiWriteAccess.js +21 -0
  2384. package/dist/icons/components/UiWriteAccess.js.map +1 -0
  2385. package/dist/icons/components/UiXpath.cjs +21 -0
  2386. package/dist/icons/components/UiXpath.cjs.map +1 -0
  2387. package/dist/icons/components/UiXpath.d.ts +15 -0
  2388. package/dist/icons/components/UiXpath.d.ts.map +1 -0
  2389. package/dist/icons/components/UiXpath.js +21 -0
  2390. package/dist/icons/components/UiXpath.js.map +1 -0
  2391. package/dist/icons/components/UiXpath1.cjs +21 -0
  2392. package/dist/icons/components/UiXpath1.cjs.map +1 -0
  2393. package/dist/icons/components/UiXpath1.d.ts +15 -0
  2394. package/dist/icons/components/UiXpath1.d.ts.map +1 -0
  2395. package/dist/icons/components/UiXpath1.js +21 -0
  2396. package/dist/icons/components/UiXpath1.js.map +1 -0
  2397. package/dist/icons/index.d.ts +447 -0
  2398. package/dist/icons/index.d.ts.map +1 -1
  2399. package/dist/icons/programmingCatalog.cjs +418 -0
  2400. package/dist/icons/programmingCatalog.cjs.map +1 -0
  2401. package/dist/icons/programmingCatalog.d.ts +16 -0
  2402. package/dist/icons/programmingCatalog.d.ts.map +1 -0
  2403. package/dist/icons/programmingCatalog.js +418 -0
  2404. package/dist/icons/programmingCatalog.js.map +1 -0
  2405. package/dist/icons/registry.cjs +479 -1
  2406. package/dist/icons/registry.cjs.map +1 -1
  2407. package/dist/icons/registry.d.ts.map +1 -1
  2408. package/dist/icons/registry.js +479 -1
  2409. package/dist/icons/registry.js.map +1 -1
  2410. package/dist/icons.cjs +686 -0
  2411. package/dist/icons.cjs.map +1 -1
  2412. package/dist/icons.js +687 -1
  2413. package/dist/icons.js.map +1 -1
  2414. package/dist/index.cjs +766 -1
  2415. package/dist/index.cjs.map +1 -1
  2416. package/dist/index.js +763 -4
  2417. package/dist/index.js.map +1 -1
  2418. package/dist/jotai.d.ts +1 -1
  2419. package/dist/jotai.d.ts.map +1 -1
  2420. package/dist/layout/AppShell.cjs +6 -0
  2421. package/dist/layout/AppShell.cjs.map +1 -1
  2422. package/dist/layout/AppShell.d.ts.map +1 -1
  2423. package/dist/layout/AppShell.js +6 -0
  2424. package/dist/layout/AppShell.js.map +1 -1
  2425. package/dist/layout/Workspace.model.cjs +5 -0
  2426. package/dist/layout/Workspace.model.cjs.map +1 -1
  2427. package/dist/layout/Workspace.model.d.ts +2 -0
  2428. package/dist/layout/Workspace.model.d.ts.map +1 -1
  2429. package/dist/layout/Workspace.model.js +5 -0
  2430. package/dist/layout/Workspace.model.js.map +1 -1
  2431. package/dist/layout/Workspace.regions.cjs +2 -2
  2432. package/dist/layout/Workspace.regions.cjs.map +1 -1
  2433. package/dist/layout/Workspace.regions.d.ts.map +1 -1
  2434. package/dist/layout/Workspace.regions.js +2 -2
  2435. package/dist/layout/Workspace.regions.js.map +1 -1
  2436. package/dist/lib/duration.cjs +67 -0
  2437. package/dist/lib/duration.cjs.map +1 -0
  2438. package/dist/lib/duration.d.ts +15 -0
  2439. package/dist/lib/duration.d.ts.map +1 -0
  2440. package/dist/lib/duration.js +67 -0
  2441. package/dist/lib/duration.js.map +1 -0
  2442. package/dist/lib/runtime-profile-model.cjs +1 -1
  2443. package/dist/lib/runtime-profile-model.cjs.map +1 -1
  2444. package/dist/lib/runtime-profile-model.d.ts.map +1 -1
  2445. package/dist/lib/runtime-profile-model.js +1 -1
  2446. package/dist/lib/runtime-profile-model.js.map +1 -1
  2447. package/dist/lib/shell-command.cjs +17 -0
  2448. package/dist/lib/shell-command.cjs.map +1 -0
  2449. package/dist/lib/shell-command.d.ts +7 -0
  2450. package/dist/lib/shell-command.d.ts.map +1 -0
  2451. package/dist/lib/shell-command.js +17 -0
  2452. package/dist/lib/shell-command.js.map +1 -0
  2453. package/dist/lib/string.cjs +29 -4
  2454. package/dist/lib/string.cjs.map +1 -1
  2455. package/dist/lib/string.d.ts +3 -1
  2456. package/dist/lib/string.d.ts.map +1 -1
  2457. package/dist/lib/string.js +29 -4
  2458. package/dist/lib/string.js.map +1 -1
  2459. package/dist/monaco/MonacoEditor.cjs +7 -1
  2460. package/dist/monaco/MonacoEditor.cjs.map +1 -1
  2461. package/dist/monaco/MonacoEditor.d.ts.map +1 -1
  2462. package/dist/monaco/MonacoEditor.js +7 -1
  2463. package/dist/monaco/MonacoEditor.js.map +1 -1
  2464. package/dist/overlay/ConfirmDialog.cjs +70 -0
  2465. package/dist/overlay/ConfirmDialog.cjs.map +1 -0
  2466. package/dist/overlay/ConfirmDialog.d.ts +40 -0
  2467. package/dist/overlay/ConfirmDialog.d.ts.map +1 -0
  2468. package/dist/overlay/ConfirmDialog.js +70 -0
  2469. package/dist/overlay/ConfirmDialog.js.map +1 -0
  2470. package/dist/overlay/Modal.cjs +2 -1
  2471. package/dist/overlay/Modal.cjs.map +1 -1
  2472. package/dist/overlay/Modal.d.ts.map +1 -1
  2473. package/dist/overlay/Modal.js +2 -1
  2474. package/dist/overlay/Modal.js.map +1 -1
  2475. package/dist/overlay/confirmMemory.cjs +50 -0
  2476. package/dist/overlay/confirmMemory.cjs.map +1 -0
  2477. package/dist/overlay/confirmMemory.d.ts +8 -0
  2478. package/dist/overlay/confirmMemory.d.ts.map +1 -0
  2479. package/dist/overlay/confirmMemory.js +50 -0
  2480. package/dist/overlay/confirmMemory.js.map +1 -0
  2481. package/dist/overlay/useConfirm.cjs +45 -0
  2482. package/dist/overlay/useConfirm.cjs.map +1 -0
  2483. package/dist/overlay/useConfirm.d.ts +19 -0
  2484. package/dist/overlay/useConfirm.d.ts.map +1 -0
  2485. package/dist/overlay/useConfirm.js +45 -0
  2486. package/dist/overlay/useConfirm.js.map +1 -0
  2487. package/dist/profiles/cel/celEditor.cjs +44 -134
  2488. package/dist/profiles/cel/celEditor.cjs.map +1 -1
  2489. package/dist/profiles/cel/celEditor.d.ts +4 -3
  2490. package/dist/profiles/cel/celEditor.d.ts.map +1 -1
  2491. package/dist/profiles/cel/celEditor.js +45 -135
  2492. package/dist/profiles/cel/celEditor.js.map +1 -1
  2493. package/dist/profiles/cel/celEditorResults.cjs +133 -0
  2494. package/dist/profiles/cel/celEditorResults.cjs.map +1 -0
  2495. package/dist/profiles/cel/celEditorResults.d.ts +37 -0
  2496. package/dist/profiles/cel/celEditorResults.d.ts.map +1 -0
  2497. package/dist/profiles/cel/celEditorResults.js +133 -0
  2498. package/dist/profiles/cel/celEditorResults.js.map +1 -0
  2499. package/dist/profiles/cel/celExamples.cjs +134 -0
  2500. package/dist/profiles/cel/celExamples.cjs.map +1 -0
  2501. package/dist/profiles/cel/celExamples.d.ts +30 -0
  2502. package/dist/profiles/cel/celExamples.d.ts.map +1 -0
  2503. package/dist/profiles/cel/celExamples.js +134 -0
  2504. package/dist/profiles/cel/celExamples.js.map +1 -0
  2505. package/dist/profiles/cel/celExpression.cjs +16 -63
  2506. package/dist/profiles/cel/celExpression.cjs.map +1 -1
  2507. package/dist/profiles/cel/celExpression.d.ts +36 -21
  2508. package/dist/profiles/cel/celExpression.d.ts.map +1 -1
  2509. package/dist/profiles/cel/celExpression.js +16 -63
  2510. package/dist/profiles/cel/celExpression.js.map +1 -1
  2511. package/dist/profiles/cel/celPath.cjs +2 -1
  2512. package/dist/profiles/cel/celPath.cjs.map +1 -1
  2513. package/dist/profiles/cel/celPath.d.ts +3 -0
  2514. package/dist/profiles/cel/celPath.d.ts.map +1 -1
  2515. package/dist/profiles/cel/celPath.js +2 -1
  2516. package/dist/profiles/cel/celPath.js.map +1 -1
  2517. package/dist/profiles/cel/index.d.ts +1 -0
  2518. package/dist/profiles/cel/index.d.ts.map +1 -1
  2519. package/dist/profiles/connections/catalogTree.cjs +4 -4
  2520. package/dist/profiles/connections/catalogTree.cjs.map +1 -1
  2521. package/dist/profiles/connections/catalogTree.js +4 -4
  2522. package/dist/profiles/connections/catalogTree.js.map +1 -1
  2523. package/dist/profiles/editor/profileEditor.cjs +106 -79
  2524. package/dist/profiles/editor/profileEditor.cjs.map +1 -1
  2525. package/dist/profiles/editor/profileEditor.d.ts +2 -2
  2526. package/dist/profiles/editor/profileEditor.d.ts.map +1 -1
  2527. package/dist/profiles/editor/profileEditor.js +110 -83
  2528. package/dist/profiles/editor/profileEditor.js.map +1 -1
  2529. package/dist/profiles/editor/profileEditorModel.cjs +3 -2
  2530. package/dist/profiles/editor/profileEditorModel.cjs.map +1 -1
  2531. package/dist/profiles/editor/profileEditorModel.d.ts.map +1 -1
  2532. package/dist/profiles/editor/profileEditorModel.js +4 -3
  2533. package/dist/profiles/editor/profileEditorModel.js.map +1 -1
  2534. package/dist/profiles/editor/profileEditorRail.cjs +85 -28
  2535. package/dist/profiles/editor/profileEditorRail.cjs.map +1 -1
  2536. package/dist/profiles/editor/profileEditorRail.d.ts +5 -2
  2537. package/dist/profiles/editor/profileEditorRail.d.ts.map +1 -1
  2538. package/dist/profiles/editor/profileEditorRail.js +85 -28
  2539. package/dist/profiles/editor/profileEditorRail.js.map +1 -1
  2540. package/dist/profiles/editor/profileParameterEditor.cjs +228 -0
  2541. package/dist/profiles/editor/profileParameterEditor.cjs.map +1 -0
  2542. package/dist/profiles/editor/profileParameterEditor.d.ts +12 -0
  2543. package/dist/profiles/editor/profileParameterEditor.d.ts.map +1 -0
  2544. package/dist/profiles/editor/profileParameterEditor.js +228 -0
  2545. package/dist/profiles/editor/profileParameterEditor.js.map +1 -0
  2546. package/dist/profiles/editor/profileYaml.cjs +1 -1
  2547. package/dist/profiles/editor/profileYaml.cjs.map +1 -1
  2548. package/dist/profiles/editor/profileYaml.js +2 -2
  2549. package/dist/profiles/editor/profileYaml.js.map +1 -1
  2550. package/dist/profiles/editor/testSchema.d.ts.map +1 -1
  2551. package/dist/profiles/fields/profileFieldControls.cjs +26 -13
  2552. package/dist/profiles/fields/profileFieldControls.cjs.map +1 -1
  2553. package/dist/profiles/fields/profileFieldControls.d.ts +3 -6
  2554. package/dist/profiles/fields/profileFieldControls.d.ts.map +1 -1
  2555. package/dist/profiles/fields/profileFieldControls.js +26 -13
  2556. package/dist/profiles/fields/profileFieldControls.js.map +1 -1
  2557. package/dist/profiles/fields/profileFieldEditor.cjs +0 -1
  2558. package/dist/profiles/fields/profileFieldEditor.cjs.map +1 -1
  2559. package/dist/profiles/fields/profileFieldEditor.d.ts.map +1 -1
  2560. package/dist/profiles/fields/profileFieldEditor.js +0 -1
  2561. package/dist/profiles/fields/profileFieldEditor.js.map +1 -1
  2562. package/dist/profiles/fields/profileFieldList.cjs +229 -12
  2563. package/dist/profiles/fields/profileFieldList.cjs.map +1 -1
  2564. package/dist/profiles/fields/profileFieldList.d.ts +10 -0
  2565. package/dist/profiles/fields/profileFieldList.d.ts.map +1 -1
  2566. package/dist/profiles/fields/profileFieldList.js +230 -13
  2567. package/dist/profiles/fields/profileFieldList.js.map +1 -1
  2568. package/dist/profiles/processor/processorPipeline.cjs +126 -78
  2569. package/dist/profiles/processor/processorPipeline.cjs.map +1 -1
  2570. package/dist/profiles/processor/processorPipeline.d.ts +6 -1
  2571. package/dist/profiles/processor/processorPipeline.d.ts.map +1 -1
  2572. package/dist/profiles/processor/processorPipeline.js +126 -78
  2573. package/dist/profiles/processor/processorPipeline.js.map +1 -1
  2574. package/dist/profiles.cjs +4 -1
  2575. package/dist/profiles.cjs.map +1 -1
  2576. package/dist/profiles.js +5 -2
  2577. package/dist/profiles.js.map +1 -1
  2578. package/dist/rpc/CommandOutput.cjs +29 -1
  2579. package/dist/rpc/CommandOutput.cjs.map +1 -1
  2580. package/dist/rpc/CommandOutput.d.ts +10 -2
  2581. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  2582. package/dist/rpc/CommandOutput.js +29 -1
  2583. package/dist/rpc/CommandOutput.js.map +1 -1
  2584. package/dist/rpc/EndpointList.cjs.map +1 -1
  2585. package/dist/rpc/EndpointList.d.ts +7 -1
  2586. package/dist/rpc/EndpointList.d.ts.map +1 -1
  2587. package/dist/rpc/EndpointList.js.map +1 -1
  2588. package/dist/rpc/FilterFormFields.cjs +25 -4
  2589. package/dist/rpc/FilterFormFields.cjs.map +1 -1
  2590. package/dist/rpc/FilterFormFields.d.ts.map +1 -1
  2591. package/dist/rpc/FilterFormFields.js +25 -4
  2592. package/dist/rpc/FilterFormFields.js.map +1 -1
  2593. package/dist/rpc/OperationCatalog.cjs +201 -91
  2594. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  2595. package/dist/rpc/OperationCatalog.d.ts +71 -2
  2596. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  2597. package/dist/rpc/OperationCatalog.js +202 -92
  2598. package/dist/rpc/OperationCatalog.js.map +1 -1
  2599. package/dist/rpc/OperationCatalogFollowStatus.cjs +61 -0
  2600. package/dist/rpc/OperationCatalogFollowStatus.cjs.map +1 -0
  2601. package/dist/rpc/OperationCatalogFollowStatus.d.ts +20 -0
  2602. package/dist/rpc/OperationCatalogFollowStatus.d.ts.map +1 -0
  2603. package/dist/rpc/OperationCatalogFollowStatus.js +61 -0
  2604. package/dist/rpc/OperationCatalogFollowStatus.js.map +1 -0
  2605. package/dist/rpc/OperationPicker.cjs +45 -0
  2606. package/dist/rpc/OperationPicker.cjs.map +1 -0
  2607. package/dist/rpc/OperationPicker.d.ts +11 -0
  2608. package/dist/rpc/OperationPicker.d.ts.map +1 -0
  2609. package/dist/rpc/OperationPicker.js +45 -0
  2610. package/dist/rpc/OperationPicker.js.map +1 -0
  2611. package/dist/rpc/OperationResultView.cjs +16 -2
  2612. package/dist/rpc/OperationResultView.cjs.map +1 -1
  2613. package/dist/rpc/OperationResultView.d.ts +25 -2
  2614. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  2615. package/dist/rpc/OperationResultView.js +16 -2
  2616. package/dist/rpc/OperationResultView.js.map +1 -1
  2617. package/dist/rpc/OperationScheduleDialog.cjs +207 -0
  2618. package/dist/rpc/OperationScheduleDialog.cjs.map +1 -0
  2619. package/dist/rpc/OperationScheduleDialog.d.ts +13 -0
  2620. package/dist/rpc/OperationScheduleDialog.d.ts.map +1 -0
  2621. package/dist/rpc/OperationScheduleDialog.js +207 -0
  2622. package/dist/rpc/OperationScheduleDialog.js.map +1 -0
  2623. package/dist/rpc/OperationSchedules.cjs +216 -0
  2624. package/dist/rpc/OperationSchedules.cjs.map +1 -0
  2625. package/dist/rpc/OperationSchedules.d.ts +3 -0
  2626. package/dist/rpc/OperationSchedules.d.ts.map +1 -0
  2627. package/dist/rpc/OperationSchedules.js +216 -0
  2628. package/dist/rpc/OperationSchedules.js.map +1 -0
  2629. package/dist/rpc/SessionHeader.cjs +149 -0
  2630. package/dist/rpc/SessionHeader.cjs.map +1 -0
  2631. package/dist/rpc/SessionHeader.d.ts +37 -0
  2632. package/dist/rpc/SessionHeader.d.ts.map +1 -0
  2633. package/dist/rpc/SessionHeader.js +149 -0
  2634. package/dist/rpc/SessionHeader.js.map +1 -0
  2635. package/dist/rpc/SessionHeaderControls.cjs +161 -0
  2636. package/dist/rpc/SessionHeaderControls.cjs.map +1 -0
  2637. package/dist/rpc/SessionHeaderControls.d.ts +25 -0
  2638. package/dist/rpc/SessionHeaderControls.d.ts.map +1 -0
  2639. package/dist/rpc/SessionHeaderControls.js +161 -0
  2640. package/dist/rpc/SessionHeaderControls.js.map +1 -0
  2641. package/dist/rpc/SessionsCatalog.cjs +64 -0
  2642. package/dist/rpc/SessionsCatalog.cjs.map +1 -0
  2643. package/dist/rpc/SessionsCatalog.d.ts +37 -0
  2644. package/dist/rpc/SessionsCatalog.d.ts.map +1 -0
  2645. package/dist/rpc/SessionsCatalog.js +64 -0
  2646. package/dist/rpc/SessionsCatalog.js.map +1 -0
  2647. package/dist/rpc/executionPages.cjs +3 -0
  2648. package/dist/rpc/executionPages.cjs.map +1 -1
  2649. package/dist/rpc/executionPages.d.ts +13 -0
  2650. package/dist/rpc/executionPages.d.ts.map +1 -1
  2651. package/dist/rpc/executionPages.js +3 -0
  2652. package/dist/rpc/executionPages.js.map +1 -1
  2653. package/dist/rpc/formMetadata.cjs +56 -5
  2654. package/dist/rpc/formMetadata.cjs.map +1 -1
  2655. package/dist/rpc/formMetadata.d.ts +1 -0
  2656. package/dist/rpc/formMetadata.d.ts.map +1 -1
  2657. package/dist/rpc/formMetadata.js +57 -6
  2658. package/dist/rpc/formMetadata.js.map +1 -1
  2659. package/dist/rpc/operation-cli-command.cjs +43 -0
  2660. package/dist/rpc/operation-cli-command.cjs.map +1 -0
  2661. package/dist/rpc/operation-cli-command.d.ts +4 -0
  2662. package/dist/rpc/operation-cli-command.d.ts.map +1 -0
  2663. package/dist/rpc/operation-cli-command.js +43 -0
  2664. package/dist/rpc/operation-cli-command.js.map +1 -0
  2665. package/dist/rpc/operation-schedule-model.cjs +56 -0
  2666. package/dist/rpc/operation-schedule-model.cjs.map +1 -0
  2667. package/dist/rpc/operation-schedule-model.d.ts +11 -0
  2668. package/dist/rpc/operation-schedule-model.d.ts.map +1 -0
  2669. package/dist/rpc/operation-schedule-model.js +56 -0
  2670. package/dist/rpc/operation-schedule-model.js.map +1 -0
  2671. package/dist/rpc/operation-schedule-types.d.ts +31 -0
  2672. package/dist/rpc/operation-schedule-types.d.ts.map +1 -0
  2673. package/dist/rpc/operationCatalogFilterState.cjs +34 -0
  2674. package/dist/rpc/operationCatalogFilterState.cjs.map +1 -0
  2675. package/dist/rpc/operationCatalogFilterState.d.ts +44 -0
  2676. package/dist/rpc/operationCatalogFilterState.d.ts.map +1 -0
  2677. package/dist/rpc/operationCatalogFilterState.js +34 -0
  2678. package/dist/rpc/operationCatalogFilterState.js.map +1 -0
  2679. package/dist/rpc/operationCatalogFollow.cjs +93 -0
  2680. package/dist/rpc/operationCatalogFollow.cjs.map +1 -0
  2681. package/dist/rpc/operationCatalogFollow.d.ts +85 -0
  2682. package/dist/rpc/operationCatalogFollow.d.ts.map +1 -0
  2683. package/dist/rpc/operationCatalogFollow.js +93 -0
  2684. package/dist/rpc/operationCatalogFollow.js.map +1 -0
  2685. package/dist/rpc/operationCatalogUrl.cjs +19 -4
  2686. package/dist/rpc/operationCatalogUrl.cjs.map +1 -1
  2687. package/dist/rpc/operationCatalogUrl.d.ts +2 -2
  2688. package/dist/rpc/operationCatalogUrl.d.ts.map +1 -1
  2689. package/dist/rpc/operationCatalogUrl.js +19 -4
  2690. package/dist/rpc/operationCatalogUrl.js.map +1 -1
  2691. package/dist/rpc/router.cjs +6 -2
  2692. package/dist/rpc/router.cjs.map +1 -1
  2693. package/dist/rpc/router.d.ts.map +1 -1
  2694. package/dist/rpc/router.js +6 -2
  2695. package/dist/rpc/router.js.map +1 -1
  2696. package/dist/rpc/session-story.fixtures.d.ts +13 -0
  2697. package/dist/rpc/session-story.fixtures.d.ts.map +1 -0
  2698. package/dist/rpc/sessionHeaderModel.cjs +54 -0
  2699. package/dist/rpc/sessionHeaderModel.cjs.map +1 -0
  2700. package/dist/rpc/sessionHeaderModel.d.ts +39 -0
  2701. package/dist/rpc/sessionHeaderModel.d.ts.map +1 -0
  2702. package/dist/rpc/sessionHeaderModel.js +54 -0
  2703. package/dist/rpc/sessionHeaderModel.js.map +1 -0
  2704. package/dist/rpc/sessionTypes.cjs +108 -0
  2705. package/dist/rpc/sessionTypes.cjs.map +1 -0
  2706. package/dist/rpc/sessionTypes.d.ts +99 -0
  2707. package/dist/rpc/sessionTypes.d.ts.map +1 -0
  2708. package/dist/rpc/sessionTypes.js +108 -0
  2709. package/dist/rpc/sessionTypes.js.map +1 -0
  2710. package/dist/rpc/types.cjs.map +1 -1
  2711. package/dist/rpc/types.d.ts +17 -3
  2712. package/dist/rpc/types.d.ts.map +1 -1
  2713. package/dist/rpc/types.js.map +1 -1
  2714. package/dist/rpc/useOperationCatalogFollow.cjs +37 -0
  2715. package/dist/rpc/useOperationCatalogFollow.cjs.map +1 -0
  2716. package/dist/rpc/useOperationCatalogFollow.d.ts +37 -0
  2717. package/dist/rpc/useOperationCatalogFollow.d.ts.map +1 -0
  2718. package/dist/rpc/useOperationCatalogFollow.js +37 -0
  2719. package/dist/rpc/useOperationCatalogFollow.js.map +1 -0
  2720. package/dist/rpc/useOperationPages.cjs +13 -6
  2721. package/dist/rpc/useOperationPages.cjs.map +1 -1
  2722. package/dist/rpc/useOperationPages.d.ts +10 -6
  2723. package/dist/rpc/useOperationPages.d.ts.map +1 -1
  2724. package/dist/rpc/useOperationPages.js +13 -6
  2725. package/dist/rpc/useOperationPages.js.map +1 -1
  2726. package/dist/rpc/useSession.cjs +86 -0
  2727. package/dist/rpc/useSession.cjs.map +1 -0
  2728. package/dist/rpc/useSession.d.ts +37 -0
  2729. package/dist/rpc/useSession.d.ts.map +1 -0
  2730. package/dist/rpc/useSession.js +86 -0
  2731. package/dist/rpc/useSession.js.map +1 -0
  2732. package/dist/rpc.cjs +37 -0
  2733. package/dist/rpc.cjs.map +1 -1
  2734. package/dist/rpc.d.ts +11 -0
  2735. package/dist/rpc.d.ts.map +1 -1
  2736. package/dist/rpc.js +31 -0
  2737. package/dist/rpc.js.map +1 -1
  2738. package/dist/styles.css +1 -1
  2739. package/dist/utils.cjs +3 -0
  2740. package/dist/utils.cjs.map +1 -1
  2741. package/dist/utils.d.ts +1 -0
  2742. package/dist/utils.d.ts.map +1 -1
  2743. package/dist/utils.js +3 -0
  2744. package/dist/utils.js.map +1 -1
  2745. package/package.json +1 -1
  2746. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts +0 -8
  2747. package/dist/data/ai/SpecRuntimeEditor/PresetCards.d.ts.map +0 -1
  2748. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs +0 -35
  2749. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.cjs.map +0 -1
  2750. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts +0 -5
  2751. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.d.ts.map +0 -1
  2752. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js +0 -35
  2753. package/dist/data/ai/SpecRuntimeEditor/permission-preset-storage.js.map +0 -1
  2754. package/dist/data/ai/SpecRuntimeEditor/presets.cjs +0 -207
  2755. package/dist/data/ai/SpecRuntimeEditor/presets.cjs.map +0 -1
  2756. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts +0 -34
  2757. package/dist/data/ai/SpecRuntimeEditor/presets.d.ts.map +0 -1
  2758. package/dist/data/ai/SpecRuntimeEditor/presets.js +0 -207
  2759. package/dist/data/ai/SpecRuntimeEditor/presets.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FilterBar.cjs","sources":["../../src/components/FilterBar.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useMergeRefs,\n useRole,\n type Placement,\n} from \"@floating-ui/react\";\nimport { FilterPill } from \"../data/FilterPill\";\nimport { FILTER_INPUT_DEBOUNCE_MS, FilterBarContext } from \"./filter-bar-context\";\nimport {\n comboboxLabelProps,\n lookupFieldWidthClass,\n multiSelectOptionText,\n nextFilterMode,\n sizedIcon,\n summarizeMultiFilter,\n updateMultiFilterValue,\n useDebouncedMultiDraft,\n type FilterBarMultiFilterMode,\n} from \"./filter-bar-field-utils\";\nimport {\n MultiFilterField,\n MultiFilterPanel,\n type FilterBarMultiFilter,\n} from \"./filter-bar-multi\";\nimport {\n clearFilterBarFilter,\n dateRangeFilterProps,\n isFilterBarFilterActive,\n} from \"./filter-bar-utils\";\n\nexport { TriStateMultiSelect, type TriStateMultiSelectProps } from \"./filter-bar-multi\";\nexport type { FilterBarMultiFilter, FilterBarMultiFilterMode };\nimport { Icon, LabelIcon, type LabelIconSpec } from \"../data/Icon\";\nimport { formatDateTimeRelative } from \"../data/cells/timestamp-format\";\nimport { UiChevronDown, UiChevronRight, UiChevronUp, UiClose, UiFilter, UiSearch } from \"../icons\";\nimport { cn } from \"../lib/utils\";\nimport { Modal } from \"../overlay/Modal\";\nimport { useEscapeLayer, useFloatingZIndex } from \"../overlay/modalStack\";\nimport { Button } from \"./button\";\nimport { Combobox, type ComboboxOption } from \"./Combobox\";\nimport { DateTimePicker } from \"./DateTimePicker\";\nimport { MultiSelect, type MultiSelectOption } from \"./MultiSelect\";\nimport { RangeSlider } from \"./RangeSlider\";\nimport { TimeRange, type TimeRangePresetGroup } from \"./TimeRange\";\nimport { TriStateToggle, type TriState, type TriStateLabels } from \"./TriStateToggle\";\nimport { WorkloadPicker } from \"./WorkloadPicker\";\nimport type { WorkloadKind, WorkloadResource } from \"./workload-picker-utils\";\n\nconst FILTER_BAR_GAP_PX = 8;\nconst FILTER_BAR_OVERFLOW_TRIGGER_ESTIMATE_PX = 44;\n\nexport type FilterBarSearchProps = {\n /** Controlled search text. */\n value: string;\n /** Called with the next search text. Debounced when `autoSubmit` is true. */\n onChange: (value: string) => void;\n /** Placeholder shown in the search input. */\n placeholder?: string;\n /** Accessible label for the search input. */\n ariaLabel?: string;\n /** Classes applied to the search input. */\n className?: string;\n};\n\nexport type FilterBarTextFilter = {\n /** Stable filter key used for rendering and overflow measurement. */\n key: string;\n /** Renders a free-text input. */\n kind: \"text\";\n /** Filter label shown on the control. */\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n /** Optional helper text shown in filter popovers. */\n description?: string;\n /** Controlled input value. */\n value: string;\n /** Called with the next input value. */\n onChange: (value: string) => void;\n /** Placeholder shown in the input. */\n placeholder?: string;\n /** Disables this filter. */\n disabled?: boolean;\n /** Classes applied to this filter control. */\n className?: string;\n};\n\nexport type FilterBarLookupOption = {\n /** Option value written to filter state. */\n value: string;\n /** Optional display label; falls back to `value`. */\n label?: string;\n /** Prevents choosing the option. */\n disabled?: boolean;\n /** Optional browser tooltip. */\n title?: string;\n};\n\nexport type FilterBarLookupInputType = \"text\" | \"number\" | \"date\";\n\nexport type FilterBarLookupFilter = {\n key: string;\n /** Renders an input backed by a datalist-style option set. */\n kind: \"lookup\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled selected or typed value. */\n value: string;\n /** Suggestions for the lookup input. */\n options: FilterBarLookupOption[];\n onChange: (value: string) => void;\n placeholder?: string;\n /** Native input type for the lookup field. */\n inputType?: FilterBarLookupInputType;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarLookupMultiFilter = {\n key: string;\n /** Renders a multi-value lookup filter. */\n kind: \"lookup-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 /** Controlled selected values. */\n value: string[];\n /** Suggestions for the lookup input. */\n options: FilterBarLookupOption[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n /**\n * Optional async search invoked (debounced) as the user types; the consumer\n * fetches matching options and feeds them back via `options`. When set, the\n * typeahead is server-driven (results replace the list); when absent it\n * filters the static `options` client-side.\n */\n onSearch?: (query: string) => void;\n /** Shows a loading indicator while a search is in flight. */\n loading?: boolean;\n /** True when `options` is a capped head of a larger server-side result set. */\n truncated?: boolean;\n /** Total distinct option count behind a truncated result set. */\n total?: number;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarNestedMultiGroup = {\n /** Stable group id. */\n groupKey: string;\n /** Optional visible group label. */\n label?: string;\n /** Options in this group. */\n options: MultiSelectOption[];\n};\n\nexport type FilterBarNestedMultiFilter = {\n key: string;\n /** Renders grouped include/exclude chips. */\n kind: \"nested-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 // Same wire shape as FilterBarMultiFilter so consumers can swap kinds\n // without changing their state slot.\n value: Record<string, FilterBarMultiFilterMode>;\n groups: FilterBarNestedMultiGroup[];\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarWorkloadFilter = {\n key: string;\n /** Renders the shared Kubernetes workload picker. */\n kind: \"workload\";\n label: string;\n icon?: LabelIconSpec;\n description?: string;\n value: string;\n onChange: (value: string) => void;\n loadWorkloads: (\n kinds: WorkloadKind[],\n namespace?: string,\n ) => Promise<Partial<Record<WorkloadKind, WorkloadResource[]>>>;\n kinds?: WorkloadKind[];\n /**\n * Render the sole loaded workload as plain text rather than a picker. See\n * {@link WorkloadPickerProps.collapseSingleOption}.\n */\n collapseSingleOption?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarSelectMultiFilter = {\n key: string;\n /** Renders a compact multi-select dropdown. */\n kind: \"select-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 /** Controlled selected values. */\n value: string[];\n /** Available dropdown options. */\n options: MultiSelectOption[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarNumberValue = {\n /** Minimum bound as a string so callers can preserve draft input. */\n min?: string;\n /** Maximum bound as a string so callers can preserve draft input. */\n max?: string;\n};\n\nexport type FilterBarNumberFilter = {\n key: string;\n /** Renders paired min/max numeric controls. */\n kind: \"number\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled min/max value. */\n value: FilterBarNumberValue;\n onChange: (value: FilterBarNumberValue) => void;\n /** Lower bound used by the optional range slider. */\n domainMin?: number;\n /** Upper bound used by the optional range slider. */\n domainMax?: number;\n /** Step size for number inputs and slider movement. */\n step?: number;\n /** Formatter used for slider labels. */\n formatValue?: (value: number) => string;\n minPlaceholder?: string;\n maxPlaceholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarEnumFilter = {\n key: string;\n /** Renders a single-select dropdown. */\n kind: \"enum\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled selected value. */\n value: string;\n /** Available enum options. */\n options: Array<{ value: string; label?: string }>;\n onChange: (value: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarBooleanFilter = {\n key: string;\n /** Renders a boolean toggle. */\n kind: \"boolean\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled checked state. */\n value: boolean;\n onChange: (value: boolean) => void;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarTriStateFilter = {\n key: string;\n /** Renders a yes/no/any toggle for a nullable boolean field. */\n kind: \"tristate\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled state; undefined means the filter is off. */\n value: TriState;\n onChange: (value: TriState) => void;\n /** Per-state wording, e.g. { on: \"Deductible\", off: \"Not deductible\" }. */\n labels?: TriStateLabels;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarFilter =\n | FilterBarTextFilter\n | FilterBarLookupFilter\n | FilterBarLookupMultiFilter\n | FilterBarMultiFilter\n | FilterBarNestedMultiFilter\n | FilterBarWorkloadFilter\n | FilterBarSelectMultiFilter\n | FilterBarNumberFilter\n | FilterBarEnumFilter\n | FilterBarBooleanFilter\n | FilterBarTriStateFilter\n | FilterBarDateRangeFilter;\n\nexport type FilterBarRangePreset = {\n /** Visible preset label. */\n label: string;\n /** Start value applied by the preset. */\n from: string;\n /** End value applied by the preset. */\n to: string;\n};\n\nexport type FilterBarRangeProps = {\n /** Current start value. */\n from?: string;\n /** Current end value. */\n to?: string;\n /** Called when the user applies the range. */\n onApply: (from: string, to: string) => void;\n /** Presets or preset groups shown in the range popup. */\n presets?: Array<FilterBarRangePreset | TimeRangePresetGroup>;\n /** Enables time inputs when using date-time values. */\n timeEnabled?: boolean;\n /** Selected timezone. */\n timeZone?: string;\n /** Available timezone options. */\n timeZones?: string[];\n fromPlaceholder?: string;\n toPlaceholder?: string;\n emptyLabel?: string;\n className?: string;\n disabled?: boolean;\n};\n\n/**\n * A date range that lives among the filters rather than in the bar's trailing\n * range slot.\n *\n * The trailing slot holds one range, which is right when a result has one\n * timestamp and the range is the primary way through it. A result with several\n * — `created_at` and `updated_at`, `@timestamp` and `event.ingested` — has no\n * such primary, and each of the others is a filter like any other.\n */\nexport type FilterBarDateRangeFilter = FilterBarRangeProps & {\n key: string;\n kind: \"date-range\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n};\n\n/** The bar's own row. Shared with the overlay so the two cannot drift apart. */\nconst FILTER_BAR_ROW_CLASS =\n \"flex items-center gap-2 overflow-visible bg-background py-1.5\";\n\nexport type FilterBarProps = {\n /** Optional global search control shown first. */\n search?: FilterBarSearchProps;\n /** Structured filters rendered after search. */\n filters?: FilterBarFilter[];\n /** Date-time range control. */\n timeRange?: FilterBarRangeProps;\n /** Date-only range control. */\n dateRange?: FilterBarRangeProps;\n /** Additional content rendered in the filter row. */\n children?: ReactNode;\n /** Content rendered before search and filters. */\n leading?: ReactNode;\n /** Content rendered at the end of the bar. */\n trailing?: ReactNode;\n /** Classes applied to the root bar. */\n className?: string;\n /**\n * When false, debounced fields forward edits immediately and an Apply button\n * is rendered in the trailing slot. Defaults to true.\n */\n autoSubmit?: boolean;\n /** Called by the Apply button when `autoSubmit` is false. */\n onApply?: () => void;\n /** Label for the Apply button. */\n applyLabel?: string;\n /** Shows a pending state on the Apply button. */\n isPending?: boolean;\n /** `responsive` moves hidden filters into an overflow popover; `wrap` lets them wrap. */\n overflowMode?: \"responsive\" | \"wrap\";\n /**\n * Content that takes the bar's place while it is present — a bulk-action bar\n * that owns the row while rows are selected, say.\n *\n * The bar's own controls stay mounted, hidden rather than unmounted, so a\n * half-typed search survives the takeover and the row keeps whichever of the\n * two is taller. Nothing below it moves.\n */\n overlay?: ReactNode;\n};\n\nexport function FilterBar({\n search,\n filters,\n timeRange,\n dateRange,\n children,\n leading,\n trailing,\n className,\n autoSubmit = true,\n onApply,\n applyLabel = \"Apply\",\n isPending = false,\n overflowMode = \"responsive\",\n overlay,\n}: FilterBarProps) {\n const hasRangeControls = Boolean(timeRange || dateRange);\n const showApply = !autoSubmit && !!onApply;\n const contextValue = useMemo(() => ({ autoSubmit }), [autoSubmit]);\n const allFilters = filters ?? [];\n const responsiveOverflow = overflowMode === \"responsive\" && allFilters.length > 0;\n const mobileFilterOverflow = useMediaQuery(\"(max-width: 767px)\");\n const mobilePageOverflow = useMediaQuery(\"(max-width: 639px)\");\n const filterListRef = useRef<HTMLDivElement>(null);\n const overflowTriggerRef = useRef<HTMLButtonElement>(null);\n const filterNodeRefs = useRef(new Map<string, HTMLDivElement>());\n const filterWidthCache = useRef(new Map<string, number>());\n const filterKeys = useMemo(\n () => allFilters.map((filter) => filter.key).join(\"\\u0000\"),\n [allFilters],\n );\n const [visibleFilterCount, setVisibleFilterCount] = useState(allFilters.length);\n\n // Latest-value refs so measureOverflow can be a stable useCallback. Reading\n // the current values through refs sidesteps the closure-staleness problem\n // without putting array references in the dep list — which is what caused\n // the \"Maximum update depth exceeded\" cascade (allFilters in the deps made\n // measureOverflow change on every render → ResizeObserver effect re-ran →\n // setVisibleFilterCount fired → repeat).\n const allFiltersRef = useRef(allFilters);\n const responsiveOverflowRef = useRef(responsiveOverflow);\n const mobileFilterOverflowRef = useRef(mobileFilterOverflow);\n allFiltersRef.current = allFilters;\n responsiveOverflowRef.current = responsiveOverflow;\n mobileFilterOverflowRef.current = mobileFilterOverflow;\n\n useLayoutEffect(() => {\n setVisibleFilterCount(\n responsiveOverflowRef.current && mobileFilterOverflowRef.current\n ? 0\n : allFiltersRef.current.length,\n );\n }, [filterKeys, mobileFilterOverflow]);\n\n const measureOverflow = useCallback(() => {\n const current = allFiltersRef.current;\n if (!responsiveOverflowRef.current) {\n setVisibleFilterCount(current.length);\n return;\n }\n if (mobileFilterOverflowRef.current) {\n setVisibleFilterCount(0);\n return;\n }\n\n const filterList = filterListRef.current;\n if (!filterList) return;\n\n const availableWidth = Math.floor(filterList.getBoundingClientRect().width);\n if (availableWidth <= 0) return;\n\n const widths = current.map((filter) => {\n const node = filterNodeRefs.current.get(filter.key);\n const measured = node?.getBoundingClientRect().width ?? 0;\n if (measured > 0) {\n const width = Math.ceil(measured);\n filterWidthCache.current.set(filter.key, width);\n return width;\n }\n return filterWidthCache.current.get(filter.key) ?? estimateFilterWidth(filter);\n });\n\n const triggerWidth = Math.ceil(\n overflowTriggerRef.current?.getBoundingClientRect().width ??\n FILTER_BAR_OVERFLOW_TRIGGER_ESTIMATE_PX,\n );\n const triggerGap = triggerWidth > 0 ? FILTER_BAR_GAP_PX : 0;\n const allFiltersWidth = sumFilterWidths(widths);\n const nextVisible =\n allFiltersWidth <= availableWidth\n ? current.length\n : calculateVisibleFilterCount(\n widths,\n Math.max(0, availableWidth - triggerWidth - triggerGap),\n );\n setVisibleFilterCount((prev) => (prev === nextVisible ? prev : nextVisible));\n }, []);\n\n useLayoutEffect(() => {\n measureOverflow();\n }, [measureOverflow]);\n\n useEffect(() => {\n if (!responsiveOverflow) return;\n\n const filterList = filterListRef.current;\n const trigger = overflowTriggerRef.current;\n const ResizeObserverCtor = typeof ResizeObserver === \"undefined\" ? null : ResizeObserver;\n\n if (!ResizeObserverCtor) {\n window.addEventListener(\"resize\", measureOverflow);\n measureOverflow();\n return () => window.removeEventListener(\"resize\", measureOverflow);\n }\n\n const observer = new ResizeObserverCtor(() => measureOverflow());\n if (filterList) observer.observe(filterList);\n if (trigger) observer.observe(trigger);\n window.addEventListener(\"resize\", measureOverflow);\n measureOverflow();\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", measureOverflow);\n };\n }, [measureOverflow, responsiveOverflow, mobileFilterOverflow]);\n\n const inlineFilters = responsiveOverflow\n ? allFilters.slice(0, Math.min(visibleFilterCount, allFilters.length))\n : allFilters;\n const overflowFilters = responsiveOverflow\n ? allFilters.slice(Math.min(visibleFilterCount, allFilters.length))\n : [];\n const activeOverflowCount = overflowFilters.filter(isFilterBarFilterActive).length;\n\n const setFilterNode = useCallback((key: string, node: HTMLDivElement | null) => {\n if (!node) {\n filterNodeRefs.current.delete(key);\n return;\n }\n filterNodeRefs.current.set(key, node);\n }, []);\n\n const row = (\n <FilterBarContext.Provider value={contextValue}>\n <div\n data-slot=\"filter-bar\"\n className={cn(\n FILTER_BAR_ROW_CLASS,\n // `wrap` has to drop the md:flex-nowrap entirely rather than add a\n // plain flex-wrap beside it: the two live in different variant groups,\n // so twMerge keeps both and the breakpoint variant still wins above\n // md — which made the documented escape hatch do nothing on exactly\n // the desktop widths where a crowded bar overflows the viewport.\n overflowMode === \"wrap\" ? \"flex-wrap\" : \"flex-wrap md:flex-nowrap\",\n className,\n // Hidden rather than unmounted, so a half-typed search survives the\n // takeover. `visibility: hidden` is not focusable per spec, so this\n // leaves the tab order without needing `inert`.\n overlay && \"invisible pointer-events-none\",\n )}\n {...(overlay ? { \"aria-hidden\": true } : {})}\n >\n {leading && <div className=\"flex shrink-0 items-center gap-2\">{leading}</div>}\n\n {search && <SearchField search={search} />}\n\n {children}\n\n {allFilters.length > 0 && (\n <div\n ref={filterListRef}\n data-filter-bar-list\n className={cn(\n \"flex min-w-0 items-center gap-2\",\n overflowMode === \"wrap\" ? \"flex-wrap\" : \"flex-1\",\n )}\n >\n {inlineFilters.map((filter, index) => (\n <div\n key={filter.key}\n ref={(node) => setFilterNode(filter.key, node)}\n data-filter-bar-item={filter.key}\n className=\"min-w-0 shrink-0\"\n >\n {renderFilterField(filter, !search && index === 0)}\n </div>\n ))}\n </div>\n )}\n\n {responsiveOverflow && overflowFilters.length > 0 && (\n <OverflowFiltersMenu\n triggerRef={overflowTriggerRef}\n filters={overflowFilters}\n activeHidden={activeOverflowCount}\n mobilePage={mobilePageOverflow}\n {...(onApply ? { onApply } : {})}\n />\n )}\n\n {(hasRangeControls || trailing || showApply) && (\n <div className=\"ml-auto flex min-w-0 shrink-0 flex-wrap items-center justify-end gap-2\">\n {dateRange && <RangeControlButton kind=\"date\" label=\"Date range\" {...dateRange} />}\n {timeRange && (\n <RangeControlButton\n kind={timeRange.timeEnabled === false ? \"date\" : \"time\"}\n label={timeRange.timeEnabled === false ? \"Date range\" : \"Time range\"}\n {...timeRange}\n />\n )}\n {trailing}\n {showApply && (\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"sm\"\n disabled={isPending}\n onClick={onApply}\n >\n {isPending ? \"Loading…\" : applyLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </FilterBarContext.Provider>\n );\n\n if (!overlay) return row;\n\n // Both rows share one grid cell, so the cell is as tall as the taller of the\n // two and neither can move the table underneath it. A min-height guess would\n // not do: the bar's height depends on which controls a caller supplied, so\n // there is no constant to guess.\n return (\n <div className=\"grid\">\n <div className=\"col-start-1 row-start-1 min-w-0\">{row}</div>\n <div\n data-slot=\"filter-bar-overlay\"\n className={cn(FILTER_BAR_ROW_CLASS, \"col-start-1 row-start-1 min-w-0 flex-wrap\")}\n >\n {overlay}\n </div>\n </div>\n );\n}\n\ntype FilterBarFilterPanelChrome = \"full\" | \"embedded\";\n\nexport function FilterBarFilterPanel({\n filter,\n chrome = \"full\",\n autoSubmit = true,\n}: {\n filter: FilterBarFilter;\n chrome?: FilterBarFilterPanelChrome;\n autoSubmit?: boolean;\n}) {\n const contextValue = useMemo(() => ({ autoSubmit }), [autoSubmit]);\n\n return (\n <FilterBarContext.Provider value={contextValue}>\n <FilterBarFilterPanelContent filter={filter} chrome={chrome} />\n </FilterBarContext.Provider>\n );\n}\n\nfunction FilterBarFilterPanelContent({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n return (\n <>\n {filter.kind === \"lookup\" && <LookupFilterField filter={filter} grow />}\n {filter.kind === \"lookup-multi\" && <LookupMultiFilterField filter={filter} grow />}\n {filter.kind === \"multi\" && <MultiFilterPanel filter={filter} chrome={chrome} />}\n {filter.kind === \"nested-multi\" && <NestedMultiFilterPanel filter={filter} chrome={chrome} />}\n {filter.kind === \"workload\" && <WorkloadFilterField filter={filter} grow />}\n {filter.kind === \"select-multi\" && <SelectMultiFilterField filter={filter} grow />}\n {filter.kind === \"number\" && <NumberFilterPanel filter={filter} chrome={chrome} />}\n {filter.kind === \"enum\" && <EnumFilterField filter={filter} grow />}\n {filter.kind === \"boolean\" && <BooleanFilterField filter={filter} />}\n {filter.kind === \"tristate\" && <TriStateFilterField filter={filter} />}\n {filter.kind === \"date-range\" && (\n <FilterBarRangePanel\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n )}\n {filter.kind === \"text\" && <TextFilterField filter={filter} grow />}\n </>\n );\n}\n\nfunction renderFilterField(filter: FilterBarFilter, grow: boolean) {\n if (filter.kind === \"lookup\") {\n return <LookupFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"lookup-multi\") {\n return <LookupMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"multi\") {\n return <MultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"nested-multi\") {\n return <NestedMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"workload\") {\n return <WorkloadFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"select-multi\") {\n return <SelectMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"number\") {\n return <NumberFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"enum\") {\n return <EnumFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"boolean\") {\n return <BooleanFilterField filter={filter} />;\n }\n\n if (filter.kind === \"tristate\") {\n return <TriStateFilterField filter={filter} />;\n }\n\n if (filter.kind === \"date-range\") {\n return (\n <RangeControlButton\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n );\n }\n\n return <TextFilterField filter={filter} grow={grow} />;\n}\n\nfunction OverflowFiltersMenu({\n triggerRef,\n filters,\n activeHidden,\n mobilePage,\n onApply,\n}: {\n triggerRef: RefObject<HTMLButtonElement | null>;\n filters: FilterBarFilter[];\n activeHidden: number;\n mobilePage: boolean;\n onApply?: () => void;\n}) {\n const [open, setOpen] = useState(false);\n const [stagedValues, setStagedValues] = useState<Record<string, FilterBarValue>>({});\n const hasHidden = filters.length > 0;\n const hiddenFilterKeys = useMemo(\n () => filters.map((filter) => filter.key).join(\"\\u0000\"),\n [filters],\n );\n // Re-stage from the live filters on every open/close so an un-applied edit is\n // discarded, preserving the prior close behaviour.\n const { refs, floatingStyles, context, floatingZ, getReferenceProps, getFloatingProps } =\n useAnchoredPopup(\n open && !mobilePage,\n (next) => {\n setStagedValues(createFilterValueMap(filters));\n setOpen(next);\n },\n \"bottom-end\",\n );\n const closeOverflowMenu = useCallback(() => {\n setStagedValues(createFilterValueMap(filters));\n setOpen(false);\n }, [filters]);\n // Merge floating-ui's reference ref with the caller's triggerRef (the parent\n // measures the trigger width through it for overflow layout).\n const setTriggerRef = useMergeRefs([refs.setReference, triggerRef]);\n\n useEffect(() => {\n if (!hasHidden) closeOverflowMenu();\n }, [closeOverflowMenu, hasHidden]);\n\n useEffect(() => {\n if (!open) return;\n setStagedValues(createFilterValueMap(filters));\n }, [hiddenFilterKeys, open]);\n\n const stagedFilters = filters.map((filter) =>\n filterWithStagedValue(\n filter,\n // Key presence, not `??`: a tri-state cycled to unset stages `undefined`,\n // which must render as unset instead of falling back to the live value.\n Object.hasOwn(stagedValues, filter.key)\n ? stagedValues[filter.key]\n : filterBarFilterValue(filter),\n (next) =>\n setStagedValues((current) => ({\n ...current,\n [filter.key]: next,\n })),\n ),\n );\n const applyOverflowFilters = () => {\n applyStagedFilterValues(filters, stagedValues);\n onApply?.();\n setOpen(false);\n };\n const clearAll = (\n <button\n type=\"button\"\n className=\"rounded px-1.5 py-0.5 text-xs text-primary transition-colors hover:bg-accent focus:bg-accent focus:outline-none disabled:text-muted-foreground\"\n onClick={() => stagedFilters.forEach(clearFilterBarFilter)}\n disabled={stagedFilters.every((filter) => !isFilterBarFilterActive(filter))}\n >\n Clear all\n </button>\n );\n const actions = (\n <OverflowFilterActions onClose={closeOverflowMenu} onApply={applyOverflowFilters} />\n );\n\n return (\n <div\n className={cn(\"inline-flex shrink-0\", !hasHidden && \"invisible pointer-events-none\")}\n aria-hidden={!hasHidden || undefined}\n >\n <Button\n ref={setTriggerRef}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label=\"More filters\"\n tabIndex={hasHidden ? 0 : -1}\n title={hasHidden ? \"More filters\" : undefined}\n className={cn(\n \"h-8 min-w-0 gap-1.5 px-2 text-xs font-normal\",\n activeHidden > 0 && \"border-primary/40 text-primary\",\n )}\n {...getReferenceProps()}\n aria-expanded={open}\n >\n <Icon icon={UiFilter} className=\"text-[14px]\" />\n {activeHidden > 0 && (\n <span className=\"rounded-full bg-muted px-1.5 text-[10px] font-medium text-muted-foreground\">\n {activeHidden}\n </span>\n )}\n </Button>\n\n {mobilePage && (\n <Modal\n open={hasHidden && open}\n onClose={closeOverflowMenu}\n title=\"Filters\"\n headerSlot={clearAll}\n footer={actions}\n scrollBody={false}\n >\n <OverflowFilterRows filters={stagedFilters} mobilePage />\n </Modal>\n )}\n\n {!mobilePage && hasHidden && open && (\n <FloatingPortal>\n <FloatingFocusManager context={context} modal={false}>\n <div\n ref={refs.setFloating}\n role=\"dialog\"\n aria-label=\"Overflow filters\"\n style={{ ...floatingStyles, zIndex: floatingZ }}\n className=\"flex max-h-[min(34rem,calc(100vh-2rem))] w-[min(34rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/10\"\n {...getFloatingProps()}\n >\n <div className=\"mb-2 flex items-center justify-between gap-2 px-1\">\n <div className=\"text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n Filters\n </div>\n <div className=\"flex items-center gap-1\">\n {clearAll}\n <button\n type=\"button\"\n aria-label=\"Close overflow filters\"\n title=\"Close\"\n className=\"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:outline-none\"\n onClick={closeOverflowMenu}\n >\n <Icon icon={UiClose} className=\"text-sm\" />\n </button>\n </div>\n </div>\n <OverflowFilterRows filters={stagedFilters} />\n <div className=\"mt-3\">{actions}</div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction OverflowFilterRows({\n filters,\n mobilePage = false,\n}: {\n filters: FilterBarFilter[];\n mobilePage?: boolean;\n}) {\n return (\n <div\n className={cn(\n \"min-h-0 flex-1 divide-y divide-border/70 overflow-y-auto\",\n mobilePage ? \"bg-background\" : \"rounded-md border border-border/70\",\n )}\n >\n {filters.map((filter) => {\n const active = isFilterBarFilterActive(filter);\n return (\n <div\n key={filter.key}\n data-overflow-filter-row={filter.key}\n className=\"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-2 overflow-visible p-4 md:h-12 md:grid-cols-[minmax(7rem,10rem)_auto_minmax(0,1fr)_auto] md:items-center md:p-2\"\n >\n <label\n htmlFor={filterInputId(filter)}\n className=\"col-span-2 flex min-w-0 items-center gap-1 truncate text-[10px] font-medium uppercase tracking-wide text-muted-foreground md:col-span-1\"\n title={filter.description ?? filter.label}\n >\n <LabelIcon icon={sizedIcon(filter.icon, 12)} className=\"text-[12px] normal-case\" />\n <span className=\"truncate\">{filter.label}</span>\n </label>\n <span className=\"hidden text-sm text-muted-foreground md:block\">=</span>\n <div className=\"min-w-0 overflow-visible\">\n <FilterBarContext.Provider value={{ autoSubmit: false }}>\n <FilterBarKeyValueControl filter={filter} />\n </FilterBarContext.Provider>\n </div>\n <button\n type=\"button\"\n aria-label={`Clear ${filter.label}`}\n title={`Clear ${filter.label}`}\n className=\"inline-flex h-6 w-6 self-center items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:outline-none disabled:text-muted-foreground/40\"\n onClick={() => clearFilterBarFilter(filter)}\n disabled={!active}\n >\n <Icon icon={UiClose} className=\"text-sm\" />\n </button>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction OverflowFilterActions({\n onClose,\n onApply,\n}: {\n onClose: () => void;\n onApply: () => void;\n}) {\n return (\n <div className=\"flex justify-end gap-2\">\n <Button type=\"button\" variant=\"ghost\" size=\"sm\" className=\"h-8 px-3 text-xs\" onClick={onClose}>\n Close\n </Button>\n <Button type=\"button\" variant=\"default\" size=\"sm\" className=\"h-8 px-3 text-xs\" onClick={onApply}>\n Apply\n </Button>\n </div>\n );\n}\n\nfunction FilterBarKeyValueControl({ filter }: { filter: FilterBarFilter }) {\n if (filter.kind === \"date-range\") {\n return (\n <RangeControlButton\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n );\n }\n if (filter.kind === \"text\") {\n return <TextFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"lookup\") {\n return <LookupFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"lookup-multi\") {\n return <LookupMultiFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"enum\") {\n return <EnumFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"boolean\") {\n return <BooleanFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"select-multi\") {\n return <SelectMultiFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"multi\") {\n return <MultiFilterField filter={filter} grow />;\n }\n if (filter.kind === \"nested-multi\") {\n return <NestedMultiFilterField filter={filter} grow />;\n }\n if (filter.kind === \"workload\") {\n return <WorkloadFilterField filter={filter} grow />;\n }\n if (filter.kind === \"tristate\") {\n return <TriStateFilterValueControl filter={filter} />;\n }\n return <NumberFilterField filter={filter} grow />;\n}\n\nfunction filterInputId(filter: FilterBarFilter) {\n return `filterbar-overflow-${filter.key}`;\n}\n\nfunction lookupOptionsToCombobox(options: FilterBarLookupOption[]): ComboboxOption[] {\n return options.map((option) => ({\n value: option.value,\n label: option.label ?? option.value,\n ...(option.disabled !== undefined ? { disabled: option.disabled } : {}),\n }));\n}\n\nfunction WorkloadFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarWorkloadFilter;\n grow: boolean;\n}) {\n return (\n <div className={cn(\"min-w-[14rem]\", grow && \"flex-1\", filter.className)}>\n <WorkloadPicker\n value={filter.value}\n onChange={filter.onChange}\n loadWorkloads={filter.loadWorkloads}\n {...(filter.kinds ? { kinds: filter.kinds } : {})}\n {...(filter.collapseSingleOption ? { collapseSingleOption: true } : {})}\n allowCustomValue={false}\n strict\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n placeholder={`Select ${filter.label.toLowerCase()}…`}\n />\n </div>\n );\n}\n\nfunction valueInputClassName(disabled?: boolean) {\n return cn(\n \"h-8 w-full rounded-md border border-input bg-background px-2 text-sm text-foreground outline-none placeholder:text-placeholder focus-visible:ring-2 focus-visible:ring-ring\",\n disabled && \"cursor-not-allowed opacity-60\",\n );\n}\n\nfunction TextFilterValueControl({ filter }: { filter: FilterBarTextFilter }) {\n const [draft, setDraft] = useDebouncedTextDraft(filter.value, filter.onChange);\n\n return (\n <input\n id={filterInputId(filter)}\n type=\"text\"\n aria-label={filter.label}\n className={valueInputClassName(filter.disabled)}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n );\n}\n\nfunction LookupFilterValueControl({ filter }: { filter: FilterBarLookupFilter }) {\n const [draft, setDraft] = useDebouncedTextDraft(filter.value, filter.onChange);\n\n if (filter.inputType === \"date\") {\n return (\n <DateTimePicker\n id={filterInputId(filter)}\n aria-label={filter.label}\n className=\"w-full\"\n inputClassName={valueInputClassName(filter.disabled)}\n buttonClassName=\"right-1\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={setDraft}\n />\n );\n }\n\n if (filter.inputType === \"number\") {\n return (\n <input\n id={filterInputId(filter)}\n type=\"number\"\n aria-label={filter.label}\n className={valueInputClassName(filter.disabled)}\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n );\n }\n\n // The overflow panel renders the filter label as a separate row header, so\n // the Combobox here omits its own inline label to avoid duplication.\n return (\n <Combobox\n id={filterInputId(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n className=\"w-full\"\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction LookupMultiFilterValueControl({ filter }: { filter: FilterBarLookupMultiFilter }) {\n return (\n <Combobox\n multiple\n id={filterInputId(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n footer={lookupMultiFilterFooter(filter)}\n size=\"sm\"\n className=\"w-full\"\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction enumOptionsToCombobox(\n options: FilterBarEnumFilter[\"options\"],\n): ComboboxOption[] {\n return options.map((option) => ({\n value: option.value,\n label: option.label ?? option.value,\n }));\n}\n\nfunction EnumFilterValueControl({ filter }: { filter: FilterBarEnumFilter }) {\n return (\n <Combobox\n id={filterInputId(filter)}\n options={enumOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n className=\"w-full\"\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction BooleanFilterValueControl({ filter }: { filter: FilterBarBooleanFilter }) {\n return (\n <div className=\"flex h-8 items-center\">\n <input\n id={filterInputId(filter)}\n type=\"checkbox\"\n aria-label={filter.label}\n className=\"h-4 w-4 accent-primary\"\n checked={filter.value}\n disabled={filter.disabled}\n onChange={(event) => filter.onChange(event.target.checked)}\n />\n </div>\n );\n}\n\nfunction TriStateFilterValueControl({ filter }: { filter: FilterBarTriStateFilter }) {\n return (\n <div className=\"flex h-8 items-center\">\n <TriStateToggle\n id={filterInputId(filter)}\n value={filter.value}\n onChange={filter.onChange}\n label={filter.label}\n size=\"md\"\n {...(filter.labels ? { labels: filter.labels } : {})}\n {...(filter.disabled ? { disabled: filter.disabled } : {})}\n />\n </div>\n );\n}\n\nfunction SelectMultiFilterValueControl({ filter }: { filter: FilterBarSelectMultiFilter }) {\n return (\n <MultiSelect\n options={filter.options}\n value={filter.value}\n onChange={filter.onChange}\n ariaLabel={`${filter.label} filter`}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n triggerClassName=\"h-8 w-full rounded-md border border-input bg-background px-2 text-sm shadow-none\"\n menuClassName=\"left-auto right-0\"\n />\n );\n}\n\nexport function FilterBarRangePanel({\n kind,\n label,\n from = \"\",\n to = \"\",\n onApply,\n presets,\n timeEnabled,\n timeZone,\n timeZones,\n fromPlaceholder,\n toPlaceholder,\n emptyLabel,\n disabled,\n}: FilterBarRangeProps & { kind: \"date\" | \"time\"; label: string }) {\n return (\n <div className=\"w-72 p-3 text-popover-foreground\">\n <TimeRange\n kind={kind}\n label={label}\n align=\"left\"\n from={from}\n to={to}\n onApply={onApply}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(presets ? { presets } : {})}\n {...(timeEnabled !== undefined ? { timeEnabled } : {})}\n {...(timeZone ? { timeZone } : {})}\n {...(timeZones ? { timeZones } : {})}\n {...(fromPlaceholder ? { fromPlaceholder } : {})}\n {...(toPlaceholder ? { toPlaceholder } : {})}\n {...(emptyLabel ? { emptyLabel } : {})}\n panelClassName=\"left-0 right-auto\"\n />\n </div>\n );\n}\n\nfunction EnumFilterField({ filter, grow }: { filter: FilterBarEnumFilter; grow: boolean }) {\n return (\n <Combobox\n {...comboboxLabelProps(filter)}\n options={enumOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction TriStateFilterField({ filter }: { filter: FilterBarTriStateFilter }) {\n return (\n <div\n title={filter.description}\n className={cn(\n \"flex h-8 shrink-0 items-center gap-2 rounded-md border border-input bg-muted/30 px-2 text-xs\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <TriStateToggle\n value={filter.value}\n onChange={filter.onChange}\n label={filter.label}\n {...(filter.labels ? { labels: filter.labels } : {})}\n {...(filter.disabled ? { disabled: filter.disabled } : {})}\n />\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n </div>\n );\n}\n\nfunction BooleanFilterField({ filter }: { filter: FilterBarBooleanFilter }) {\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 shrink-0 items-center gap-2 rounded-md border border-input bg-muted/30 px-2 text-xs\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <input\n type=\"checkbox\"\n aria-label={filter.label}\n className=\"h-3.5 w-3.5 accent-primary\"\n checked={filter.value}\n disabled={filter.disabled}\n onChange={(event) => filter.onChange(event.target.checked)}\n />\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n </label>\n );\n}\n\nfunction SearchField({ search }: { search: FilterBarSearchProps }) {\n const [draft, setDraft] = useDebouncedTextDraft(search.value, search.onChange);\n\n return (\n <div className=\"flex min-w-0 flex-[1_1_14rem] items-center gap-2 md:min-w-[14rem] md:max-w-[24rem]\">\n <label\n className={cn(\n \"flex h-8 min-w-0 flex-1 items-center rounded-md border border-input bg-background px-3 text-sm\",\n search.className,\n )}\n >\n {draft.trim() ? (\n <span className=\"mr-2 whitespace-nowrap text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {search.ariaLabel ?? \"Search\"}\n </span>\n ) : (\n <Icon icon={UiSearch} className=\"mr-2 shrink-0 text-muted-foreground\" />\n )}\n <input\n type=\"search\"\n aria-label={search.ariaLabel ?? search.placeholder ?? \"Search\"}\n className=\"w-full bg-transparent outline-none placeholder:text-placeholder\"\n placeholder={search.placeholder ?? \"Search…\"}\n value={draft}\n onChange={(event) => setDraft(event.target.value)}\n />\n </label>\n </div>\n );\n}\n\nfunction TextFilterField({ filter, grow }: { filter: FilterBarTextFilter; grow: boolean }) {\n const [draft, setDraft] = useDebouncedTextDraft(filter.value, filter.onChange);\n\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-2 text-xs\",\n grow ? \"min-w-[12rem] max-w-[18rem] flex-1\" : \"min-w-[11rem] max-w-[15rem] shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n <input\n type=\"text\"\n aria-label={filter.label}\n className=\"w-full min-w-0 bg-transparent text-sm text-foreground outline-none placeholder:text-placeholder disabled:cursor-not-allowed\"\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n </label>\n );\n}\n\n// FilterFieldLabel is the uppercase label shown inside inline filter shells,\n// with an optional leading glyph from the filter's `icon`.\nfunction FilterFieldLabel({ icon, label }: { icon?: LabelIconSpec; label: string }) {\n return (\n <span className=\"flex items-center gap-1 whitespace-nowrap font-medium uppercase tracking-wide text-muted-foreground\">\n <LabelIcon icon={icon} className=\"text-[13px] normal-case\" />\n {label}\n </span>\n );\n}\n\nfunction LookupFilterField({ filter, grow }: { filter: FilterBarLookupFilter; grow: boolean }) {\n const [draft, setDraft] = useDebouncedTextDraft(filter.value, filter.onChange);\n\n // Date and number lookups keep their specialized inputs in the label shell;\n // text lookups use the Combobox with its own inline label.\n if (filter.inputType === \"date\" || filter.inputType === \"number\") {\n // For a date lookup with a value, surface the human-readable absolute +\n // relative form (e.g. \"Apr 15, 2026, 12:00 PM (2h ago)\") as the hover title.\n const dateTitle =\n filter.inputType === \"date\" && draft ? formatDateTimeRelative(draft) : undefined;\n return (\n <label\n title={dateTitle ?? filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-2 text-xs\",\n lookupFieldWidthClass(grow),\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n {filter.inputType === \"date\" ? (\n <DateTimePicker\n aria-label={filter.label}\n className=\"w-full\"\n inputClassName=\"w-full min-w-0 border-0 bg-transparent px-0 pr-6 text-sm text-foreground shadow-none focus-visible:ring-0\"\n buttonClassName=\"right-0\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={setDraft}\n />\n ) : (\n <input\n type=\"number\"\n aria-label={filter.label}\n className=\"w-full min-w-0 bg-transparent text-sm text-foreground outline-none placeholder:text-placeholder disabled:cursor-not-allowed\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n )}\n </label>\n );\n }\n\n return (\n <Combobox\n {...comboboxLabelProps(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction LookupMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarLookupMultiFilter;\n grow: boolean;\n}) {\n return (\n <Combobox\n multiple\n {...comboboxLabelProps(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n footer={lookupMultiFilterFooter(filter)}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.onSearch !== undefined ? { onSearch: filter.onSearch } : {})}\n {...(filter.loading !== undefined ? { loading: filter.loading } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction lookupMultiFilterFooter(filter: FilterBarLookupMultiFilter) {\n const moreCount =\n filter.truncated && filter.total ? Math.max(filter.total - filter.options.length, 0) : 0;\n if (moreCount === 0) return undefined;\n return (\n <>\n … and {moreCount.toLocaleString()} more\n {filter.onSearch ? \" — type to search all\" : \"\"}\n </>\n );\n}\n\nfunction NumberFilterField({ filter, grow }: { filter: FilterBarNumberFilter; grow: boolean }) {\n const [open, setOpen] = useState(false);\n const popup = useAnchoredPopup(open, setOpen);\n\n const bounds = resolveNumberFilterBounds(filter);\n const [draft, setDraft] = useDebouncedNumberDraft(filter.value, filter.onChange);\n const sliderMin = clampNumber(parseFilterNumber(draft.min) ?? bounds.min, bounds.min, bounds.max);\n const sliderMax = clampNumber(parseFilterNumber(draft.max) ?? bounds.max, bounds.min, bounds.max);\n const activeMin = Math.min(sliderMin, sliderMax);\n const activeMax = Math.max(sliderMin, sliderMax);\n const summary = summarizeNumberFilter(filter, bounds, draft);\n\n return (\n <div\n title={filter.description}\n className={cn(\n \"inline-flex min-w-0\",\n grow ? \"min-w-[8rem] max-w-[12rem] flex-1\" : \"shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <Button\n ref={popup.refs.setReference as Ref<HTMLButtonElement>}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label={`${filter.label} filter`}\n disabled={filter.disabled}\n className={cn(\n \"min-w-0 gap-2 font-normal\",\n grow ? \"w-full max-w-[12rem] justify-between\" : \"w-auto max-w-[9.5rem] px-2.5\",\n summary === filter.label && \"text-muted-foreground\",\n )}\n {...popup.getReferenceProps()}\n >\n <LabelIcon icon={filter.icon} className=\"text-[14px] text-muted-foreground\" />\n <span className=\"truncate\">{summary}</span>\n <Icon icon={open ? UiChevronUp : UiChevronDown} className=\"text-muted-foreground\" />\n </Button>\n\n {open && (\n <FloatingPortal>\n <FloatingFocusManager context={popup.context} modal={false}>\n <div\n ref={popup.refs.setFloating}\n role=\"dialog\"\n aria-label={filter.label}\n style={{ ...popup.floatingStyles, zIndex: popup.floatingZ }}\n className=\"min-w-[18rem] max-w-[22rem] rounded-md border border-border bg-popover p-3 text-popover-foreground shadow-lg shadow-black/5\"\n {...popup.getFloatingProps()}\n >\n <div className=\"mb-3 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={() => {\n setDraft({});\n filter.onChange({});\n }}\n disabled={!String(draft.min ?? \"\").trim() && !String(draft.max ?? \"\").trim()}\n >\n Clear all\n </button>\n </div>\n\n <div className=\"space-y-3\">\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-[11px] text-muted-foreground\">\n <span>{formatNumberValue(bounds.min, filter)}</span>\n <span>{formatNumberValue(bounds.max, filter)}</span>\n </div>\n <div className=\"relative h-6\">\n <RangeSlider\n min={bounds.min}\n max={bounds.max}\n step={bounds.step}\n value={[activeMin, activeMax]}\n ariaLabelMin={`${filter.label} minimum slider`}\n ariaLabelMax={`${filter.label} maximum slider`}\n onChange={([nextMin, nextMax]) =>\n setDraft(numberFilterValueFromSlider([nextMin, nextMax], bounds))\n }\n />\n </div>\n </div>\n\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <label className=\"text-[10px] text-muted-foreground\">Min</label>\n <input\n type=\"number\"\n inputMode=\"decimal\"\n step={bounds.step}\n aria-label={`${filter.label} minimum`}\n className=\"h-8 w-full rounded-md border border-input bg-background px-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n {...(filter.minPlaceholder !== undefined ? { placeholder: filter.minPlaceholder } : {})}\n value={draft.min ?? \"\"}\n onChange={(event) =>\n setDraft(\n normalizeNumberFilterValue(\n { min: event.target.value, max: draft.max ?? \"\" },\n \"min-input\",\n ),\n )\n }\n />\n </div>\n <div className=\"space-y-1\">\n <label className=\"text-[10px] text-muted-foreground\">Max</label>\n <input\n type=\"number\"\n inputMode=\"decimal\"\n step={bounds.step}\n aria-label={`${filter.label} maximum`}\n className=\"h-8 w-full rounded-md border border-input bg-background px-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n {...(filter.maxPlaceholder !== undefined ? { placeholder: filter.maxPlaceholder } : {})}\n value={draft.max ?? \"\"}\n onChange={(event) =>\n setDraft(\n normalizeNumberFilterValue(\n { min: draft.min ?? \"\", max: event.target.value },\n \"max-input\",\n ),\n )\n }\n />\n </div>\n </div>\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction NumberFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarNumberFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n const bounds = resolveNumberFilterBounds(filter);\n const [draft, setDraft] = useDebouncedNumberDraft(filter.value, filter.onChange);\n const sliderMin = clampNumber(parseFilterNumber(draft.min) ?? bounds.min, bounds.min, bounds.max);\n const sliderMax = clampNumber(parseFilterNumber(draft.max) ?? bounds.max, bounds.min, bounds.max);\n const activeMin = Math.min(sliderMin, sliderMax);\n const activeMax = Math.max(sliderMin, sliderMax);\n const embedded = chrome === \"embedded\";\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-3 shadow-sm shadow-black/5\",\n )}\n >\n {!embedded && (\n <div className=\"mb-3 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={() => {\n setDraft({});\n filter.onChange({});\n }}\n disabled={!String(draft.min ?? \"\").trim() && !String(draft.max ?? \"\").trim()}\n >\n Clear all\n </button>\n </div>\n )}\n\n <div className=\"space-y-3\">\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-[11px] text-muted-foreground\">\n <span>{formatNumberValue(bounds.min, filter)}</span>\n <span>{formatNumberValue(bounds.max, filter)}</span>\n </div>\n <div className=\"relative h-6\">\n <RangeSlider\n min={bounds.min}\n max={bounds.max}\n step={bounds.step}\n value={[activeMin, activeMax]}\n ariaLabelMin={`${filter.label} minimum slider`}\n ariaLabelMax={`${filter.label} maximum slider`}\n onChange={([nextMin, nextMax]) =>\n setDraft(numberFilterValueFromSlider([nextMin, nextMax], bounds))\n }\n />\n </div>\n </div>\n\n <div className=\"grid grid-cols-2 gap-2\">\n <div className=\"space-y-1\">\n <label className=\"text-[10px] text-muted-foreground\">Min</label>\n <input\n type=\"number\"\n inputMode=\"decimal\"\n step={bounds.step}\n aria-label={`${filter.label} minimum`}\n className=\"h-8 w-full rounded-md border border-input bg-background px-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n {...(filter.minPlaceholder !== undefined ? { placeholder: filter.minPlaceholder } : {})}\n value={draft.min ?? \"\"}\n onChange={(event) =>\n setDraft(\n normalizeNumberFilterValue(\n { min: event.target.value, max: draft.max ?? \"\" },\n \"min-input\",\n ),\n )\n }\n />\n </div>\n <div className=\"space-y-1\">\n <label className=\"text-[10px] text-muted-foreground\">Max</label>\n <input\n type=\"number\"\n inputMode=\"decimal\"\n step={bounds.step}\n aria-label={`${filter.label} maximum`}\n className=\"h-8 w-full rounded-md border border-input bg-background px-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n {...(filter.maxPlaceholder !== undefined ? { placeholder: filter.maxPlaceholder } : {})}\n value={draft.max ?? \"\"}\n onChange={(event) =>\n setDraft(\n normalizeNumberFilterValue(\n { min: draft.min ?? \"\", max: event.target.value },\n \"max-input\",\n ),\n )\n }\n />\n </div>\n </div>\n </div>\n </div>\n );\n}\n\nfunction NestedMultiFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarNestedMultiFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n const [activeGroup, setActiveGroup] = useState<string | null>(filter.groups[0]?.groupKey ?? null);\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n const groups = filter.groups;\n const embedded = chrome === \"embedded\";\n const activeGroupData = useMemo(\n () => groups.find((group) => group.groupKey === activeGroup) ?? groups[0] ?? null,\n [groups, activeGroup],\n );\n\n const selectedByGroup = useMemo(() => {\n const counts: Record<string, number> = {};\n for (const group of groups) {\n let n = 0;\n for (const option of group.options) {\n if (draft[option.value]) n += 1;\n }\n counts[group.groupKey] = n;\n }\n return counts;\n }, [groups, draft]);\n\n const sortedGroups = useMemo(() => {\n const selected: typeof groups = [];\n const rest: typeof groups = [];\n for (const group of groups) {\n if ((selectedByGroup[group.groupKey] ?? 0) > 0) selected.push(group);\n else rest.push(group);\n }\n return [...selected, ...rest];\n }, [groups, selectedByGroup]);\n\n const clearGroup = (groupKey: string) => {\n const group = groups.find((g) => g.groupKey === groupKey);\n if (!group) return;\n const next = { ...draft };\n for (const option of group.options) {\n delete next[option.value];\n }\n setDraft(next);\n };\n\n return (\n <div role=\"dialog\" className=\"flex\">\n <div\n data-filter-panel-chrome={chrome}\n className={cn(\n \"min-w-[14rem] max-w-[16rem] 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 <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {sortedGroups.map((group) => {\n const selected = selectedByGroup[group.groupKey] ?? 0;\n const isActive = group.groupKey === activeGroup;\n return (\n <div\n key={group.groupKey}\n role=\"button\"\n tabIndex={0}\n onMouseEnter={() => setActiveGroup(group.groupKey)}\n onFocus={() => setActiveGroup(group.groupKey)}\n onClick={() => setActiveGroup(group.groupKey)}\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \" || event.key === \"ArrowRight\") {\n event.preventDefault();\n setActiveGroup(group.groupKey);\n }\n }}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-2 rounded-md px-1.5 py-0.5 text-sm\",\n \"hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\",\n isActive && \"bg-accent/60\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">{group.label ?? group.groupKey}</span>\n {selected > 0 && (\n <span className=\"rounded-full bg-primary/15 px-1.5 text-[10px] font-medium text-primary\">\n {selected}/{group.options.length}\n </span>\n )}\n <Icon icon={UiChevronRight} className=\"shrink-0 text-muted-foreground\" />\n </div>\n );\n })}\n {groups.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No groups</div>\n )}\n </div>\n </div>\n\n {activeGroupData && (\n <div\n onMouseEnter={() => setActiveGroup(activeGroupData.groupKey)}\n className=\"ml-1.5 min-w-[16rem] max-w-[20rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-sm shadow-black/5\"\n >\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 {activeGroupData.label ?? activeGroupData.groupKey}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => clearGroup(activeGroupData.groupKey)}\n disabled={(selectedByGroup[activeGroupData.groupKey] ?? 0) === 0}\n >\n Clear\n </button>\n </div>\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {activeGroupData.options.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title = option.title ?? multiSelectOptionText(option);\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 } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setActiveGroup(null);\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n label={renderNestedOptionLabel(option, activeGroupData.groupKey)}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) =>\n setDraft(updateMultiFilterValue(draft, option.value, next))\n }\n />\n </div>\n );\n })}\n {activeGroupData.options.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No values</div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n\nfunction NestedMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarNestedMultiFilter;\n grow: boolean;\n}) {\n const [open, setOpen] = useState(false);\n const [activeGroup, setActiveGroup] = useState<string | null>(null);\n const [draft, setDraft] = useDebouncedMultiDraft(filter.value, filter.onChange);\n\n const popup = useAnchoredPopup(open, (next) => {\n setOpen(next);\n if (!next) setActiveGroup(null);\n });\n\n const summary = summarizeMultiFilter(filter.label, draft);\n const groups = filter.groups;\n const activeGroupData = useMemo(\n () => groups.find((group) => group.groupKey === activeGroup) ?? null,\n [groups, activeGroup],\n );\n\n // Selected count per group, used in the outer list.\n const selectedByGroup = useMemo(() => {\n const counts: Record<string, number> = {};\n for (const group of groups) {\n let n = 0;\n for (const option of group.options) {\n if (draft[option.value]) n += 1;\n }\n counts[group.groupKey] = n;\n }\n return counts;\n }, [groups, draft]);\n\n // Groups with active selections sort to the top so the user always sees\n // what's filtered without scrolling. Within each partition, the original\n // order from the consumer is preserved.\n const sortedGroups = useMemo(() => {\n const selected: typeof groups = [];\n const rest: typeof groups = [];\n for (const group of groups) {\n if ((selectedByGroup[group.groupKey] ?? 0) > 0) selected.push(group);\n else rest.push(group);\n }\n return [...selected, ...rest];\n }, [groups, selectedByGroup]);\n\n const clearGroup = (groupKey: string) => {\n const group = groups.find((g) => g.groupKey === groupKey);\n if (!group) return;\n const next = { ...draft };\n for (const option of group.options) {\n delete next[option.value];\n }\n setDraft(next);\n };\n\n return (\n <div\n title={filter.description}\n className={cn(\n \"inline-flex min-w-0\",\n grow ? \"min-w-[8rem] max-w-[12rem] flex-1\" : \"shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <Button\n ref={popup.refs.setReference as Ref<HTMLButtonElement>}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label={`${filter.label} filter`}\n disabled={filter.disabled}\n className={cn(\n \"min-w-0 gap-2 font-normal\",\n grow ? \"w-full max-w-[12rem] justify-between\" : \"w-auto max-w-[8.5rem] px-2.5\",\n summary === filter.label && \"text-muted-foreground\",\n )}\n {...popup.getReferenceProps()}\n >\n <span className=\"truncate\">{summary}</span>\n <Icon icon={open ? UiChevronUp : UiChevronDown} className=\"text-muted-foreground\" />\n </Button>\n\n {open && (\n <FloatingPortal>\n <FloatingFocusManager context={popup.context} modal={false}>\n <div\n ref={popup.refs.setFloating}\n role=\"dialog\"\n aria-label={filter.label}\n style={{ ...popup.floatingStyles, zIndex: popup.floatingZ }}\n className=\"flex\"\n {...popup.getFloatingProps()}\n >\n <div className=\"min-w-[14rem] max-w-[16rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/5\">\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 <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {sortedGroups.map((group) => {\n const selected = selectedByGroup[group.groupKey] ?? 0;\n const isActive = group.groupKey === activeGroup;\n return (\n <div\n key={group.groupKey}\n role=\"button\"\n tabIndex={0}\n onMouseEnter={() => setActiveGroup(group.groupKey)}\n onFocus={() => setActiveGroup(group.groupKey)}\n onClick={() => setActiveGroup(group.groupKey)}\n onKeyDown={(event) => {\n if (\n event.key === \"Enter\" ||\n event.key === \" \" ||\n event.key === \"ArrowRight\"\n ) {\n event.preventDefault();\n setActiveGroup(group.groupKey);\n }\n }}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-2 rounded-md px-1.5 py-0.5 text-sm\",\n \"hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\",\n isActive && \"bg-accent/60\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">{group.label ?? group.groupKey}</span>\n {selected > 0 && (\n <span className=\"rounded-full bg-primary/15 px-1.5 text-[10px] font-medium text-primary\">\n {selected}/{group.options.length}\n </span>\n )}\n <Icon icon={UiChevronRight} className=\"shrink-0 text-muted-foreground\" />\n </div>\n );\n })}\n {groups.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No groups</div>\n )}\n </div>\n </div>\n\n {activeGroupData && (\n <div\n onMouseEnter={() => setActiveGroup(activeGroupData.groupKey)}\n className=\"ml-1.5 min-w-[16rem] max-w-[20rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/5\"\n >\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 {activeGroupData.label ?? activeGroupData.groupKey}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => clearGroup(activeGroupData.groupKey)}\n disabled={(selectedByGroup[activeGroupData.groupKey] ?? 0) === 0}\n >\n Clear\n </button>\n </div>\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {activeGroupData.options.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title = option.title ?? multiSelectOptionText(option);\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(\n updateMultiFilterValue(draft, option.value, nextFilterMode(mode)),\n );\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setActiveGroup(null);\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n // Show only the value side here — the key is already\n // implied by the parent group panel.\n label={renderNestedOptionLabel(option, activeGroupData.groupKey)}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) =>\n setDraft(updateMultiFilterValue(draft, option.value, next))\n }\n />\n </div>\n );\n })}\n {activeGroupData.options.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">No values</div>\n )}\n </div>\n </div>\n )}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction renderNestedOptionLabel(option: MultiSelectOption, groupKey: string): ReactNode {\n // If the option label already strips the key prefix, use it. Otherwise\n // strip it here so the inner panel doesn't repeat the key on every row.\n if (typeof option.label === \"string\") {\n const prefix = `${groupKey}=`;\n if (option.label.startsWith(prefix)) return option.label.slice(prefix.length);\n return option.label;\n }\n return option.label ?? option.value;\n}\n\nfunction SelectMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarSelectMultiFilter;\n grow: boolean;\n}) {\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-1 text-xs\",\n grow ? \"min-w-[12rem] max-w-[18rem] flex-1\" : \"min-w-[11rem] max-w-[15rem] shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <span className=\"whitespace-nowrap font-medium uppercase tracking-wide text-muted-foreground\">\n {filter.label}\n </span>\n <MultiSelect\n options={filter.options}\n value={filter.value}\n onChange={filter.onChange}\n ariaLabel={`${filter.label} filter`}\n {...(filter.placeholder !== undefined ? { placeholder: filter.placeholder } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n triggerClassName=\"h-6 min-w-0 border-0 bg-transparent px-1 text-xs shadow-none focus-visible:ring-0\"\n menuClassName=\"left-auto right-0\"\n />\n </label>\n );\n}\n\nfunction RangeControlButton({\n kind,\n label,\n from = \"\",\n to = \"\",\n onApply,\n presets,\n timeEnabled,\n timeZone,\n timeZones,\n fromPlaceholder,\n toPlaceholder,\n emptyLabel,\n className,\n disabled,\n}: FilterBarRangeProps & { kind: \"date\" | \"time\"; label: string }) {\n return (\n <TimeRange\n kind={kind}\n label={label}\n from={from}\n to={to}\n onApply={onApply}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(presets ? { presets } : {})}\n {...(timeEnabled !== undefined ? { timeEnabled } : {})}\n {...(timeZone ? { timeZone } : {})}\n {...(timeZones ? { timeZones } : {})}\n {...(fromPlaceholder ? { fromPlaceholder } : {})}\n {...(toPlaceholder ? { toPlaceholder } : {})}\n {...(emptyLabel ? { emptyLabel } : {})}\n {...(className ? { className } : {})}\n />\n );\n}\n\n// Anchored popup wired through floating-ui's portal so it escapes `overflow`\n// clipping from scroll-container ancestors (e.g. AppLayout's `<main>`), matching\n// Combobox/DropdownMenu. `flip`/`shift` keep it on-screen at viewport edges.\nfunction useAnchoredPopup(\n open: boolean,\n onOpenChange: (open: boolean) => void,\n placement: Placement = \"bottom-start\",\n) {\n const floatingZ = useFloatingZIndex();\n const { refs, floatingStyles, context } = useFloating({\n open,\n onOpenChange,\n placement,\n whileElementsMounted: autoUpdate,\n middleware: [offset(6), flip({ padding: 8 }), shift({ padding: 8 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useClick(context),\n useDismiss(context, { escapeKey: false }),\n useRole(context, { role: \"dialog\" }),\n ]);\n useEscapeLayer(open, () => {\n onOpenChange(false);\n if (refs.domReference.current instanceof HTMLElement) refs.domReference.current.focus();\n });\n return { refs, floatingStyles, context, floatingZ, getReferenceProps, getFloatingProps };\n}\n\nfunction useMediaQuery(query: string) {\n const [matches, setMatches] = useState(() => {\n if (typeof window === \"undefined\" || !window.matchMedia) return false;\n return window.matchMedia(query).matches;\n });\n\n useEffect(() => {\n if (typeof window === \"undefined\" || !window.matchMedia) return;\n const media = window.matchMedia(query);\n const onChange = () => setMatches(media.matches);\n onChange();\n media.addEventListener?.(\"change\", onChange);\n return () => media.removeEventListener?.(\"change\", onChange);\n }, [query]);\n\n return matches;\n}\n\nfunction useDebouncedTextDraft(value: string, onChange: (value: string) => void) {\n const { autoSubmit } = useContext(FilterBarContext);\n const [draft, setDraft] = useState(value);\n const latestOnChange = useRef(onChange);\n\n useEffect(() => {\n latestOnChange.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n setDraft(value);\n }, [value]);\n\n useEffect(() => {\n if (draft === value) return;\n\n if (!autoSubmit) {\n latestOnChange.current(draft);\n return;\n }\n\n const timeoutId = window.setTimeout(() => {\n latestOnChange.current(draft);\n }, FILTER_INPUT_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timeoutId);\n }, [autoSubmit, draft, value]);\n\n return [draft, setDraft] as const;\n}\n\nfunction useDebouncedNumberDraft(\n value: FilterBarNumberValue,\n onChange: (value: FilterBarNumberValue) => void,\n) {\n const { autoSubmit } = useContext(FilterBarContext);\n const [draft, setDraft] = useState(value);\n const latestOnChange = useRef(onChange);\n\n useEffect(() => {\n latestOnChange.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n setDraft(value);\n }, [value.max, value.min]);\n\n useEffect(() => {\n if (sameNumberFilterValue(draft, value)) return;\n\n if (!autoSubmit) {\n latestOnChange.current(draft);\n return;\n }\n\n const timeoutId = window.setTimeout(() => {\n latestOnChange.current(draft);\n }, FILTER_INPUT_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timeoutId);\n }, [autoSubmit, draft, value]);\n\n return [draft, setDraft] as const;\n}\n\nfunction sameNumberFilterValue(left: FilterBarNumberValue, right: FilterBarNumberValue) {\n return (left.min ?? \"\") === (right.min ?? \"\") && (left.max ?? \"\") === (right.max ?? \"\");\n}\n\ntype NumberFilterBounds = {\n min: number;\n max: number;\n step: number;\n};\n\ntype NumberFilterSource = \"min-input\" | \"max-input\";\n\nfunction resolveNumberFilterBounds(filter: FilterBarNumberFilter): NumberFilterBounds {\n const parsedMin = parseFilterNumber(filter.value.min);\n const parsedMax = parseFilterNumber(filter.value.max);\n const fallbackMin = parsedMin ?? 0;\n const fallbackMax = parsedMax ?? Math.max(fallbackMin + 100, 100);\n const min = filter.domainMin ?? Math.min(fallbackMin, fallbackMax);\n const max = filter.domainMax ?? Math.max(fallbackMax, min + 100);\n const step = filter.step && filter.step > 0 ? filter.step : 1;\n\n return {\n min,\n max: max <= min ? min + step : max,\n step,\n };\n}\n\nfunction summarizeNumberFilter(\n filter: FilterBarNumberFilter,\n bounds: NumberFilterBounds,\n value: FilterBarNumberValue,\n) {\n const parsedMin = parseFilterNumber(value.min);\n const parsedMax = parseFilterNumber(value.max);\n const hasMin = String(value.min ?? \"\").trim() !== \"\";\n const hasMax = String(value.max ?? \"\").trim() !== \"\";\n\n if (!hasMin && !hasMax) {\n return filter.label;\n }\n\n const minLabel =\n parsedMin == null\n ? formatNumberValue(bounds.min, filter)\n : formatNumberValue(parsedMin, filter);\n const maxLabel =\n parsedMax == null\n ? formatNumberValue(bounds.max, filter)\n : formatNumberValue(parsedMax, filter);\n\n if (hasMin && hasMax) {\n if (minLabel === maxLabel) {\n return `${filter.label} ${minLabel}`;\n }\n return `${filter.label} ${minLabel}-${maxLabel}`;\n }\n\n if (hasMin) {\n return `${filter.label} >=${minLabel}`;\n }\n\n return `${filter.label} <=${maxLabel}`;\n}\n\nfunction normalizeNumberFilterValue(\n nextValue: FilterBarNumberValue,\n source: NumberFilterSource,\n): FilterBarNumberValue {\n let min = nextValue.min ?? \"\";\n let max = nextValue.max ?? \"\";\n\n const parsedMin = parseFilterNumber(min);\n const parsedMax = parseFilterNumber(max);\n\n if (parsedMin != null && parsedMax != null && parsedMin > parsedMax) {\n if (source.startsWith(\"min\")) {\n max = min;\n } else {\n min = max;\n }\n }\n\n return { min, max };\n}\n\nfunction numberFilterValueFromSlider(\n value: [number, number],\n bounds: NumberFilterBounds,\n): FilterBarNumberValue {\n const [min, max] = value;\n return {\n min: min <= bounds.min ? \"\" : formatRawNumber(clampNumber(min, bounds.min, bounds.max)),\n max: max >= bounds.max ? \"\" : formatRawNumber(clampNumber(max, bounds.min, bounds.max)),\n };\n}\n\nfunction parseFilterNumber(value: string | undefined) {\n if (!value?.trim()) return null;\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : null;\n}\n\nfunction clampNumber(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction formatNumberValue(value: number, filter: FilterBarNumberFilter) {\n if (filter.formatValue) {\n return filter.formatValue(value);\n }\n\n return formatRawNumber(value);\n}\n\nfunction formatRawNumber(value: number) {\n return Number.isInteger(value) ? String(value) : String(Number(value.toFixed(6)));\n}\n\ntype FilterBarValue =\n | string\n | string[]\n | boolean\n // A tri-state filter's \"off\" position is undefined, so it is a real staged\n // value rather than the absence of one.\n | undefined\n | FilterBarNumberValue\n | Record<string, FilterBarMultiFilterMode>;\n\nfunction createFilterValueMap(filters: FilterBarFilter[]) {\n return Object.fromEntries(filters.map((filter) => [filter.key, filterBarFilterValue(filter)]));\n}\n\n// A date range applies the moment it is applied in its own panel, exactly as\n// the bar's trailing range control does, so it has no value to stage and\n// nothing here ever writes one back to it.\nfunction isStageableFilter(\n filter: FilterBarFilter,\n): filter is Exclude<FilterBarFilter, FilterBarDateRangeFilter> {\n return filter.kind !== \"date-range\";\n}\n\nfunction filterBarFilterValue(filter: FilterBarFilter): FilterBarValue {\n if (!isStageableFilter(filter)) return undefined;\n return filter.value;\n}\n\nfunction filterWithStagedValue(\n filter: FilterBarFilter,\n value: FilterBarValue,\n onChange: (value: FilterBarValue) => void,\n): FilterBarFilter {\n if (!isStageableFilter(filter)) return filter;\n if (filter.kind === \"text\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"lookup\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"workload\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"lookup-multi\") {\n return {\n ...filter,\n value: Array.isArray(value) ? value.map(String) : [],\n onChange: (next: string[]) => onChange(next),\n };\n }\n if (filter.kind === \"multi\") {\n return {\n ...filter,\n value: isMultiFilterValue(value) ? value : {},\n onChange: (next: Record<string, FilterBarMultiFilterMode>) => onChange(next),\n };\n }\n if (filter.kind === \"nested-multi\") {\n return {\n ...filter,\n value: isMultiFilterValue(value) ? value : {},\n onChange: (next: Record<string, FilterBarMultiFilterMode>) => onChange(next),\n };\n }\n if (filter.kind === \"select-multi\") {\n return {\n ...filter,\n value: Array.isArray(value) ? value.map(String) : [],\n onChange: (next: string[]) => onChange(next),\n };\n }\n if (filter.kind === \"number\") {\n return {\n ...filter,\n value: isNumberFilterValue(value) ? value : {},\n onChange: (next: FilterBarNumberValue) => onChange(next),\n };\n }\n if (filter.kind === \"enum\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"tristate\") {\n return {\n ...filter,\n value: value === undefined ? undefined : Boolean(value),\n onChange: (next: TriState) => onChange(next),\n };\n }\n return {\n ...filter,\n value: Boolean(value),\n onChange: (next: boolean) => onChange(next),\n };\n}\n\nfunction applyStagedFilterValues(\n filters: FilterBarFilter[],\n stagedValues: Record<string, FilterBarValue>,\n) {\n for (const filter of filters) {\n if (!isStageableFilter(filter)) continue;\n // Key presence, not `??`: undefined is a tri-state filter's \"off\" value and\n // must still be applied over a live true/false.\n const next = Object.hasOwn(stagedValues, filter.key)\n ? stagedValues[filter.key]\n : filterBarFilterValue(filter);\n if (sameFilterBarValue(filterBarFilterValue(filter), next)) continue;\n applyFilterBarValue(filter, next);\n }\n}\n\nfunction applyFilterBarValue(filter: FilterBarFilter, value: FilterBarValue) {\n if (!isStageableFilter(filter)) return;\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n filter.onChange(String(value ?? \"\"));\n return;\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange(Array.isArray(value) ? value.map(String) : []);\n return;\n }\n if (filter.kind === \"number\") {\n filter.onChange(isNumberFilterValue(value) ? value : {});\n return;\n }\n if (filter.kind === \"boolean\") {\n filter.onChange(Boolean(value));\n return;\n }\n if (filter.kind === \"tristate\") {\n filter.onChange(value === undefined ? undefined : Boolean(value));\n return;\n }\n filter.onChange(isMultiFilterValue(value) ? value : {});\n}\n\nfunction sameFilterBarValue(left: FilterBarValue, right: FilterBarValue) {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction isNumberFilterValue(value: FilterBarValue): value is FilterBarNumberValue {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isMultiFilterValue(\n value: FilterBarValue,\n): value is Record<string, FilterBarMultiFilterMode> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction calculateVisibleFilterCount(widths: number[], availableWidth: number) {\n if (widths.length === 0) return 0;\n\n let used = 0;\n let count = 0;\n for (const width of widths) {\n const nextUsed = used + (count > 0 ? FILTER_BAR_GAP_PX : 0) + width;\n if (nextUsed > availableWidth) break;\n used = nextUsed;\n count += 1;\n }\n return count;\n}\n\nfunction sumFilterWidths(widths: number[]) {\n if (widths.length === 0) return 0;\n return (\n widths.reduce((total, width) => total + width, 0) + (widths.length - 1) * FILTER_BAR_GAP_PX\n );\n}\n\nfunction estimateFilterWidth(filter: FilterBarFilter) {\n if (filter.kind === \"boolean\") return Math.max(88, filter.label.length * 8 + 40);\n // Multi renders as a combobox field (min-w-[11rem] ≈ 176px); nested keeps\n // its compact trigger button.\n if (filter.kind === \"multi\") return 176;\n if (filter.kind === \"nested-multi\") return 136;\n if (filter.kind === \"workload\") return 224;\n if (filter.kind === \"number\") return 152;\n return Math.max(144, filter.label.length * 8 + 96);\n}\n"],"names":["useMemo","useRef","useState","useLayoutEffect","useCallback","useEffect","isFilterBarFilterActive","jsx","FilterBarContext","jsxs","cn","Button","Fragment","MultiFilterPanel","dateRangeFilterProps","MultiFilterField","useMergeRefs","clearFilterBarFilter","Icon","UiFilter","Modal","FloatingPortal","FloatingFocusManager","UiClose","LabelIcon","sizedIcon","WorkloadPicker","DateTimePicker","Combobox","TriStateToggle","MultiSelect","TimeRange","comboboxLabelProps","lookupFieldWidthClass","UiSearch","formatDateTimeRelative","UiChevronUp","UiChevronDown","RangeSlider","useDebouncedMultiDraft","UiChevronRight","multiSelectOptionText","updateMultiFilterValue","nextFilterMode","FilterPill","summarizeMultiFilter","useFloatingZIndex","useFloating","autoUpdate","offset","flip","shift","useInteractions","useClick","useDismiss","useRole","useEscapeLayer","_a","useContext","FILTER_INPUT_DEBOUNCE_MS"],"mappings":"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"}
1
+ {"version":3,"file":"FilterBar.cjs","sources":["../../src/components/FilterBar.tsx"],"sourcesContent":["import {\n useCallback,\n useContext,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport {\n autoUpdate,\n flip,\n FloatingFocusManager,\n FloatingPortal,\n offset,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useMergeRefs,\n useRole,\n type Placement,\n} from \"@floating-ui/react\";\nimport { FilterPill } from \"../data/FilterPill\";\nimport {\n FILTER_INPUT_DEBOUNCE_MS,\n FilterBarContext,\n} from \"./filter-bar-context\";\nimport {\n comboboxLabelProps,\n lookupFieldWidthClass,\n multiSelectOptionText,\n nextFilterMode,\n sizedIcon,\n summarizeMultiFilter,\n updateMultiFilterValue,\n useDebouncedMultiDraft,\n type FilterBarMultiFilterMode,\n} from \"./filter-bar-field-utils\";\nimport {\n MultiFilterField,\n MultiFilterPanel,\n type FilterBarMultiFilter,\n} from \"./filter-bar-multi\";\nimport {\n clearFilterBarFilter,\n dateRangeFilterProps,\n isFilterBarFilterActive,\n} from \"./filter-bar-utils\";\n\nexport {\n TriStateMultiSelect,\n type TriStateMultiSelectProps,\n} from \"./filter-bar-multi\";\nexport type { FilterBarMultiFilter, FilterBarMultiFilterMode };\nimport { Icon, LabelIcon, type LabelIconSpec } from \"../data/Icon\";\nimport { formatDateTimeRelative } from \"../data/cells/timestamp-format\";\nimport {\n UiChevronDown,\n UiChevronRight,\n UiChevronUp,\n UiClose,\n UiFilter,\n UiSearch,\n} from \"../icons\";\nimport { cn } from \"../lib/utils\";\nimport { useMediaQuery } from \"../hooks/use-media-query\";\nimport { Modal } from \"../overlay/Modal\";\nimport { useEscapeLayer, useFloatingZIndex } from \"../overlay/modalStack\";\nimport { Button } from \"./button\";\nimport { Combobox, type ComboboxOption } from \"./Combobox\";\nimport { DateTimePicker } from \"./DateTimePicker\";\nimport { MultiSelect, type MultiSelectOption } from \"./MultiSelect\";\nimport { RangeSlider } from \"./RangeSlider\";\nimport { TimeRange, type TimeRangePresetGroup } from \"./TimeRange\";\nimport {\n TriStateToggle,\n type TriState,\n type TriStateLabels,\n} from \"./TriStateToggle\";\nimport { WorkloadPicker } from \"./WorkloadPicker\";\nimport type { WorkloadKind, WorkloadResource } from \"./workload-picker-utils\";\n\nconst FILTER_BAR_GAP_PX = 8;\nconst FILTER_BAR_OVERFLOW_TRIGGER_ESTIMATE_PX = 44;\n\nexport type FilterBarSearchProps = {\n /** Controlled search text. */\n value: string;\n /** Called with the next search text. Debounced when `autoSubmit` is true. */\n onChange: (value: string) => void;\n /** Placeholder shown in the search input. */\n placeholder?: string;\n /** Accessible label for the search input. */\n ariaLabel?: string;\n /** Classes applied to the search input. */\n className?: string;\n};\n\nexport type FilterBarTextFilter = {\n /** Stable filter key used for rendering and overflow measurement. */\n key: string;\n /** Renders a free-text input. */\n kind: \"text\";\n /** Filter label shown on the control. */\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n /** Optional helper text shown in filter popovers. */\n description?: string;\n /** Controlled input value. */\n value: string;\n /** Called with the next input value. */\n onChange: (value: string) => void;\n /** Placeholder shown in the input. */\n placeholder?: string;\n /** Disables this filter. */\n disabled?: boolean;\n /** Classes applied to this filter control. */\n className?: string;\n};\n\nexport type FilterBarLookupOption = {\n /** Option value written to filter state. */\n value: string;\n /** Optional display label; falls back to `value`. */\n label?: string;\n /** Prevents choosing the option. */\n disabled?: boolean;\n /** Optional browser tooltip. */\n title?: string;\n /** Row count behind this option, rendered as a trailing badge. */\n count?: number;\n};\n\nexport type FilterBarLookupInputType = \"text\" | \"number\" | \"date\";\n\nexport type FilterBarLookupFilter = {\n key: string;\n /** Renders an input backed by a datalist-style option set. */\n kind: \"lookup\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled selected or typed value. */\n value: string;\n /** Suggestions for the lookup input. */\n options: FilterBarLookupOption[];\n onChange: (value: string) => void;\n placeholder?: string;\n /** Native input type for the lookup field. */\n inputType?: FilterBarLookupInputType;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarLookupMultiFilter = {\n key: string;\n /** Renders a multi-value lookup filter. */\n kind: \"lookup-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 /** Controlled selected values. */\n value: string[];\n /** Suggestions for the lookup input. */\n options: FilterBarLookupOption[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n /**\n * Optional async search invoked (debounced) as the user types; the consumer\n * fetches matching options and feeds them back via `options`. When set, the\n * typeahead is server-driven (results replace the list); when absent it\n * filters the static `options` client-side.\n */\n onSearch?: (query: string) => void;\n /** Shows a loading indicator while a search is in flight. */\n loading?: boolean;\n /** True when `options` is a capped head of a larger server-side result set. */\n truncated?: boolean;\n /** Total distinct option count behind a truncated result set. */\n total?: number;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarNestedMultiGroup = {\n /** Stable group id. */\n groupKey: string;\n /** Optional visible group label. */\n label?: string;\n /** Options in this group. */\n options: MultiSelectOption[];\n};\n\nexport type FilterBarNestedMultiFilter = {\n key: string;\n /** Renders grouped include/exclude chips. */\n kind: \"nested-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 // Same wire shape as FilterBarMultiFilter so consumers can swap kinds\n // without changing their state slot.\n value: Record<string, FilterBarMultiFilterMode>;\n groups: FilterBarNestedMultiGroup[];\n onChange: (value: Record<string, FilterBarMultiFilterMode>) => void;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarWorkloadFilter = {\n key: string;\n /** Renders the shared Kubernetes workload picker. */\n kind: \"workload\";\n label: string;\n icon?: LabelIconSpec;\n description?: string;\n value: string;\n onChange: (value: string) => void;\n loadWorkloads: (\n kinds: WorkloadKind[],\n namespace?: string,\n ) => Promise<Partial<Record<WorkloadKind, WorkloadResource[]>>>;\n kinds?: WorkloadKind[];\n /**\n * Render the sole loaded workload as plain text rather than a picker. See\n * {@link WorkloadPickerProps.collapseSingleOption}.\n */\n collapseSingleOption?: boolean;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarSelectMultiFilter = {\n key: string;\n /** Renders a compact multi-select dropdown. */\n kind: \"select-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 /** Controlled selected values. */\n value: string[];\n /** Available dropdown options. */\n options: MultiSelectOption[];\n onChange: (value: string[]) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarNumberValue = {\n /** Minimum bound as a string so callers can preserve draft input. */\n min?: string;\n /** Comparison used by the lower edge. Defaults to inclusive. */\n minOperator?: \">\" | \">=\";\n /** Maximum bound as a string so callers can preserve draft input. */\n max?: string;\n /** Comparison used by the upper edge. Defaults to inclusive. */\n maxOperator?: \"<\" | \"<=\";\n};\n\nexport type FilterBarDurationUnit = \"ms\" | \"s\" | \"m\" | \"h\";\n\nexport type FilterBarDurationValue = FilterBarNumberValue & {\n minUnit?: FilterBarDurationUnit;\n maxUnit?: FilterBarDurationUnit;\n};\n\nexport type FilterBarNumberFilter = {\n key: string;\n /** Renders paired min/max numeric controls. */\n kind: \"number\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled min/max value. */\n value: FilterBarNumberValue;\n onChange: (value: FilterBarNumberValue) => void;\n /** Lower bound used by the optional range slider. */\n domainMin?: number;\n /** Upper bound used by the optional range slider. */\n domainMax?: number;\n /** Step size for number inputs and slider movement. */\n step?: number;\n /** Formatter used for slider labels. */\n formatValue?: (value: number) => string;\n /** Fixed display unit; values are never converted by the control. */\n unit?: string;\n minPlaceholder?: string;\n maxPlaceholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarDurationFilter = {\n key: string;\n /** Renders paired duration bounds with an operator and unit per edge. */\n kind: \"duration\";\n label: string;\n icon?: LabelIconSpec;\n description?: string;\n value: FilterBarDurationValue;\n onChange: (value: FilterBarDurationValue) => void;\n /** Storage unit used for bare values and as the default selector value. */\n unit?: FilterBarDurationUnit;\n domainMin?: number;\n domainMax?: number;\n step?: number;\n minPlaceholder?: string;\n maxPlaceholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarEnumFilter = {\n key: string;\n /** Renders a single-select dropdown. */\n kind: \"enum\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled selected value. */\n value: string;\n /** Available enum options. */\n options: Array<{ value: string; label?: string }>;\n onChange: (value: string) => void;\n placeholder?: string;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarBooleanFilter = {\n key: string;\n /** Renders a boolean toggle. */\n kind: \"boolean\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled checked state. */\n value: boolean;\n onChange: (value: boolean) => void;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarTriStateFilter = {\n key: string;\n /** Renders a yes/no/any toggle for a nullable boolean field. */\n kind: \"tristate\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n /** Controlled state; undefined means the filter is off. */\n value: TriState;\n onChange: (value: TriState) => void;\n /** Per-state wording, e.g. { on: \"Deductible\", off: \"Not deductible\" }. */\n labels?: TriStateLabels;\n disabled?: boolean;\n className?: string;\n};\n\nexport type FilterBarFilter = (\n | FilterBarTextFilter\n | FilterBarLookupFilter\n | FilterBarLookupMultiFilter\n | FilterBarMultiFilter\n | FilterBarNestedMultiFilter\n | FilterBarWorkloadFilter\n | FilterBarSelectMultiFilter\n | FilterBarNumberFilter\n | FilterBarDurationFilter\n | FilterBarEnumFilter\n | FilterBarBooleanFilter\n | FilterBarTriStateFilter\n | FilterBarDateRangeFilter\n) & {\n /** Keeps a secondary filter in the overflow menu without removing it. */\n placement?: \"auto\" | \"overflow\";\n};\n\nexport type FilterBarRangePreset = {\n /** Visible preset label. */\n label: string;\n /** Start value applied by the preset. */\n from: string;\n /** End value applied by the preset. */\n to: string;\n};\n\nexport type FilterBarRangeProps = {\n /** Current start value. */\n from?: string;\n /** Current end value. */\n to?: string;\n /** Called when the user applies the range. */\n onApply: (from: string, to: string) => void;\n /** Presets or preset groups shown in the range popup. */\n presets?: Array<FilterBarRangePreset | TimeRangePresetGroup>;\n /** Enables time inputs when using date-time values. */\n timeEnabled?: boolean;\n /** Selected timezone. */\n timeZone?: string;\n /** Available timezone options. */\n timeZones?: string[];\n fromPlaceholder?: string;\n toPlaceholder?: string;\n emptyLabel?: string;\n className?: string;\n disabled?: boolean;\n};\n\n/**\n * A date range that lives among the filters rather than in the bar's trailing\n * range slot.\n *\n * The trailing slot holds one range, which is right when a result has one\n * timestamp and the range is the primary way through it. A result with several\n * — `created_at` and `updated_at`, `@timestamp` and `event.ingested` — has no\n * such primary, and each of the others is a filter like any other.\n */\nexport type FilterBarDateRangeFilter = FilterBarRangeProps & {\n key: string;\n kind: \"date-range\";\n label: string;\n /** Leading glyph shown before the label: a runtime icon name or a node. */\n icon?: LabelIconSpec;\n description?: string;\n};\n\n/** The bar's own row. Shared with the overlay so the two cannot drift apart. */\nconst FILTER_BAR_ROW_CLASS =\n \"flex items-center gap-2 overflow-visible bg-background py-1.5\";\n\nexport type FilterBarProps = {\n /** Optional global search control shown first. */\n search?: FilterBarSearchProps;\n /** Structured filters rendered after search. */\n filters?: FilterBarFilter[];\n /** Date-time range control. */\n timeRange?: FilterBarRangeProps;\n /** Date-only range control. */\n dateRange?: FilterBarRangeProps;\n /** Additional content rendered in the filter row. */\n children?: ReactNode;\n /** Content rendered before search and filters. */\n leading?: ReactNode;\n /** Content rendered at the end of the bar. */\n trailing?: ReactNode;\n /** Classes applied to the root bar. */\n className?: string;\n /**\n * When false, debounced fields forward edits immediately and an Apply button\n * is rendered in the trailing slot. Defaults to true.\n */\n autoSubmit?: boolean;\n /** Called by the Apply button when `autoSubmit` is false. */\n onApply?: () => void;\n /** Label for the Apply button. */\n applyLabel?: string;\n /** Shows a pending state on the Apply button. */\n isPending?: boolean;\n /**\n * `responsive` moves hidden filters into an overflow popover; `wrap` lets\n * them wrap. Below the `md` breakpoint both modes collapse every filter into\n * the Filters sheet, so a phone never stacks one filter per row.\n */\n overflowMode?: \"responsive\" | \"wrap\";\n /**\n * Content that takes the bar's place while it is present — a bulk-action bar\n * that owns the row while rows are selected, say.\n *\n * The bar's own controls stay mounted, hidden rather than unmounted, so a\n * half-typed search survives the takeover and the row keeps whichever of the\n * two is taller. Nothing below it moves.\n */\n overlay?: ReactNode;\n};\n\nexport function FilterBar({\n search,\n filters,\n timeRange,\n dateRange,\n children,\n leading,\n trailing,\n className,\n autoSubmit = true,\n onApply,\n applyLabel = \"Apply\",\n isPending = false,\n overflowMode = \"responsive\",\n overlay,\n}: FilterBarProps) {\n const hasRangeControls = Boolean(timeRange || dateRange);\n const showApply = !autoSubmit && !!onApply;\n const allFilters = useMemo(() => {\n const configured = filters ?? [];\n return [\n ...configured.filter((filter) => filter.placement !== \"overflow\"),\n ...configured.filter((filter) => filter.placement === \"overflow\"),\n ];\n }, [filters]);\n const inlineFilterLimit = allFilters.findIndex(\n (filter) => filter.placement === \"overflow\",\n );\n const maximumInlineFilters =\n inlineFilterLimit === -1 ? allFilters.length : inlineFilterLimit;\n const hasForcedOverflow = maximumInlineFilters < allFilters.length;\n const mobileFilterOverflow = useMediaQuery(\"(max-width: 767px)\");\n const mobilePageOverflow = useMediaQuery(\"(max-width: 639px)\");\n const contextValue = useMemo(\n () => ({ autoSubmit, compact: mobileFilterOverflow }),\n [autoSubmit, mobileFilterOverflow],\n );\n // `wrap` describes how a crowded bar behaves on a desktop: it wraps instead\n // of hiding filters behind a trigger. At phone widths wrapping stacks every\n // filter into its own row and pushes the table off the screen, so below the\n // sheet breakpoint both modes collapse into the Filters sheet. Between the\n // sheet and `md` breakpoints wrap mode keeps wrapping: collapsing there would\n // hide filters a tablet has room for behind a popover.\n const mobileCollapse =\n overflowMode === \"responsive\" ? mobileFilterOverflow : mobilePageOverflow;\n const responsiveOverflow =\n allFilters.length > 0 &&\n (overflowMode === \"responsive\" || mobileCollapse || hasForcedOverflow);\n const filterListRef = useRef<HTMLDivElement>(null);\n const overflowTriggerRef = useRef<HTMLButtonElement>(null);\n const filterNodeRefs = useRef(new Map<string, HTMLDivElement>());\n const filterWidthCache = useRef(new Map<string, number>());\n const filterKeys = useMemo(\n () =>\n allFilters\n .map((filter) => `${filter.key}:${filter.placement ?? \"auto\"}`)\n .join(\"\\u0000\"),\n [allFilters],\n );\n const [visibleFilterCount, setVisibleFilterCount] =\n useState(maximumInlineFilters);\n\n // Latest-value refs so measureOverflow can be a stable useCallback. Reading\n // the current values through refs sidesteps the closure-staleness problem\n // without putting array references in the dep list — which is what caused\n // the \"Maximum update depth exceeded\" cascade (allFilters in the deps made\n // measureOverflow change on every render → ResizeObserver effect re-ran →\n // setVisibleFilterCount fired → repeat).\n const allFiltersRef = useRef(allFilters);\n const responsiveOverflowRef = useRef(responsiveOverflow);\n const mobileCollapseRef = useRef(mobileCollapse);\n const maximumInlineFiltersRef = useRef(maximumInlineFilters);\n allFiltersRef.current = allFilters;\n responsiveOverflowRef.current = responsiveOverflow;\n mobileCollapseRef.current = mobileCollapse;\n maximumInlineFiltersRef.current = maximumInlineFilters;\n\n useLayoutEffect(() => {\n setVisibleFilterCount(\n responsiveOverflowRef.current && mobileCollapseRef.current\n ? 0\n : maximumInlineFiltersRef.current,\n );\n }, [filterKeys, mobileCollapse]);\n\n const measureOverflow = useCallback(() => {\n const current = allFiltersRef.current;\n const maximumInline = maximumInlineFiltersRef.current;\n if (!responsiveOverflowRef.current) {\n setVisibleFilterCount(current.length);\n return;\n }\n if (mobileCollapseRef.current) {\n setVisibleFilterCount(0);\n return;\n }\n\n const filterList = filterListRef.current;\n if (!filterList) return;\n\n const availableWidth = Math.floor(filterList.getBoundingClientRect().width);\n if (availableWidth <= 0) return;\n\n const widths = current.slice(0, maximumInline).map((filter) => {\n const node = filterNodeRefs.current.get(filter.key);\n const measured = node?.getBoundingClientRect().width ?? 0;\n if (measured > 0) {\n const width = Math.ceil(measured);\n filterWidthCache.current.set(filter.key, width);\n return width;\n }\n return (\n filterWidthCache.current.get(filter.key) ?? estimateFilterWidth(filter)\n );\n });\n\n const triggerWidth = Math.ceil(\n overflowTriggerRef.current?.getBoundingClientRect().width ??\n FILTER_BAR_OVERFLOW_TRIGGER_ESTIMATE_PX,\n );\n const triggerGap = triggerWidth > 0 ? FILTER_BAR_GAP_PX : 0;\n const allInlineWidth = sumFilterWidths(widths);\n const forcedOverflow = maximumInline < current.length;\n const nextVisible =\n !forcedOverflow && allInlineWidth <= availableWidth\n ? maximumInline\n : calculateVisibleFilterCount(\n widths,\n Math.max(0, availableWidth - triggerWidth - triggerGap),\n );\n setVisibleFilterCount((prev) =>\n prev === nextVisible ? prev : nextVisible,\n );\n }, []);\n\n useLayoutEffect(() => {\n measureOverflow();\n }, [measureOverflow]);\n\n useEffect(() => {\n if (!responsiveOverflow) return;\n\n const filterList = filterListRef.current;\n const trigger = overflowTriggerRef.current;\n const ResizeObserverCtor =\n typeof ResizeObserver === \"undefined\" ? null : ResizeObserver;\n\n if (!ResizeObserverCtor) {\n window.addEventListener(\"resize\", measureOverflow);\n measureOverflow();\n return () => window.removeEventListener(\"resize\", measureOverflow);\n }\n\n const observer = new ResizeObserverCtor(() => measureOverflow());\n if (filterList) observer.observe(filterList);\n if (trigger) observer.observe(trigger);\n window.addEventListener(\"resize\", measureOverflow);\n measureOverflow();\n\n return () => {\n observer.disconnect();\n window.removeEventListener(\"resize\", measureOverflow);\n };\n }, [measureOverflow, responsiveOverflow, mobileCollapse]);\n\n const inlineEnd = Math.min(visibleFilterCount, maximumInlineFilters);\n const inlineFilters = responsiveOverflow\n ? allFilters.slice(0, inlineEnd)\n : allFilters;\n const overflowFilters = responsiveOverflow ? allFilters.slice(inlineEnd) : [];\n const activeOverflowCount = overflowFilters.filter(\n isFilterBarFilterActive,\n ).length;\n\n const setFilterNode = useCallback(\n (key: string, node: HTMLDivElement | null) => {\n if (!node) {\n filterNodeRefs.current.delete(key);\n return;\n }\n filterNodeRefs.current.set(key, node);\n },\n [],\n );\n\n const row = (\n <FilterBarContext.Provider value={contextValue}>\n <div\n data-slot=\"filter-bar\"\n className={cn(\n FILTER_BAR_ROW_CLASS,\n // `wrap` has to drop the md:flex-nowrap entirely rather than add a\n // plain flex-wrap beside it: the two live in different variant groups,\n // so twMerge keeps both and the breakpoint variant still wins above\n // md — which made the documented escape hatch do nothing on exactly\n // the desktop widths where a crowded bar overflows the viewport.\n // Below `sm` the row only ever holds search, the Filters trigger\n // and the trailing group, so it never needs a second line.\n overflowMode === \"wrap\"\n ? \"flex-wrap max-sm:flex-nowrap\"\n : \"flex-wrap max-sm:flex-nowrap md:flex-nowrap\",\n className,\n // Hidden rather than unmounted, so a half-typed search survives the\n // takeover. `visibility: hidden` is not focusable per spec, so this\n // leaves the tab order without needing `inert`.\n overlay && \"invisible pointer-events-none\",\n )}\n {...(overlay ? { \"aria-hidden\": true } : {})}\n >\n {leading && (\n <div className=\"flex shrink-0 items-center gap-2\">{leading}</div>\n )}\n\n {search && <SearchField search={search} />}\n\n {children}\n\n {allFilters.length > 0 && (\n <div\n ref={filterListRef}\n data-filter-bar-list\n className={cn(\n \"flex min-w-0 items-center gap-2\",\n overflowMode === \"wrap\" ? \"flex-wrap\" : \"flex-1\",\n )}\n >\n {inlineFilters.map((filter, index) => (\n <div\n key={filter.key}\n ref={(node) => setFilterNode(filter.key, node)}\n data-filter-bar-item={filter.key}\n className=\"min-w-0 shrink-0\"\n >\n {renderFilterField(filter, !search && index === 0)}\n </div>\n ))}\n </div>\n )}\n\n {responsiveOverflow && overflowFilters.length > 0 && (\n <OverflowFiltersMenu\n triggerRef={overflowTriggerRef}\n filters={overflowFilters}\n activeHidden={activeOverflowCount}\n allHidden={inlineFilters.length === 0}\n mobilePage={mobilePageOverflow}\n {...(onApply ? { onApply } : {})}\n />\n )}\n\n {(hasRangeControls || trailing || showApply) && (\n <div className=\"ml-auto flex min-w-0 items-center justify-end gap-2 max-md:flex-nowrap md:shrink-0 md:flex-wrap\">\n {dateRange && (\n <RangeControlButton\n kind=\"date\"\n label=\"Date range\"\n {...dateRange}\n />\n )}\n {timeRange && (\n <RangeControlButton\n kind={timeRange.timeEnabled === false ? \"date\" : \"time\"}\n label={\n timeRange.timeEnabled === false ? \"Date range\" : \"Time range\"\n }\n {...timeRange}\n />\n )}\n {trailing}\n {showApply && (\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"sm\"\n disabled={isPending}\n onClick={onApply}\n >\n {isPending ? \"Loading…\" : applyLabel}\n </Button>\n )}\n </div>\n )}\n </div>\n </FilterBarContext.Provider>\n );\n\n if (!overlay) return row;\n\n // Both rows share one grid cell, so the cell is as tall as the taller of the\n // two and neither can move the table underneath it. A min-height guess would\n // not do: the bar's height depends on which controls a caller supplied, so\n // there is no constant to guess.\n return (\n <div className=\"grid\">\n <div className=\"col-start-1 row-start-1 min-w-0\">{row}</div>\n <div\n data-slot=\"filter-bar-overlay\"\n className={cn(\n FILTER_BAR_ROW_CLASS,\n \"col-start-1 row-start-1 min-w-0 flex-wrap\",\n )}\n >\n {overlay}\n </div>\n </div>\n );\n}\n\ntype FilterBarFilterPanelChrome = \"full\" | \"embedded\";\n\nexport function FilterBarFilterPanel({\n filter,\n chrome = \"full\",\n autoSubmit = true,\n}: {\n filter: FilterBarFilter;\n chrome?: FilterBarFilterPanelChrome;\n autoSubmit?: boolean;\n}) {\n const contextValue = useMemo(\n () => ({ autoSubmit, compact: false }),\n [autoSubmit],\n );\n\n return (\n <FilterBarContext.Provider value={contextValue}>\n <FilterBarFilterPanelContent filter={filter} chrome={chrome} />\n </FilterBarContext.Provider>\n );\n}\n\nfunction FilterBarFilterPanelContent({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n return (\n <>\n {filter.kind === \"lookup\" && <LookupFilterField filter={filter} grow />}\n {filter.kind === \"lookup-multi\" && (\n <LookupMultiFilterField filter={filter} grow />\n )}\n {filter.kind === \"multi\" && (\n <MultiFilterPanel filter={filter} chrome={chrome} />\n )}\n {filter.kind === \"nested-multi\" && (\n <NestedMultiFilterPanel filter={filter} chrome={chrome} />\n )}\n {filter.kind === \"workload\" && (\n <WorkloadFilterField filter={filter} grow />\n )}\n {filter.kind === \"select-multi\" && (\n <SelectMultiFilterField filter={filter} grow />\n )}\n {(filter.kind === \"number\" || filter.kind === \"duration\") && (\n <NumberFilterPanel filter={filter} chrome={chrome} />\n )}\n {filter.kind === \"enum\" && <EnumFilterField filter={filter} grow />}\n {filter.kind === \"boolean\" && <BooleanFilterField filter={filter} />}\n {filter.kind === \"tristate\" && <TriStateFilterField filter={filter} />}\n {filter.kind === \"date-range\" && (\n <FilterBarRangePanel\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n )}\n {filter.kind === \"text\" && <TextFilterField filter={filter} grow />}\n </>\n );\n}\n\nfunction renderFilterField(filter: FilterBarFilter, grow: boolean) {\n if (filter.kind === \"lookup\") {\n return <LookupFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"lookup-multi\") {\n return <LookupMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"multi\") {\n return <MultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"nested-multi\") {\n return <NestedMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"workload\") {\n return <WorkloadFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"select-multi\") {\n return <SelectMultiFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"number\" || filter.kind === \"duration\") {\n return <NumberFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"enum\") {\n return <EnumFilterField filter={filter} grow={grow} />;\n }\n\n if (filter.kind === \"boolean\") {\n return <BooleanFilterField filter={filter} />;\n }\n\n if (filter.kind === \"tristate\") {\n return <TriStateFilterField filter={filter} />;\n }\n\n if (filter.kind === \"date-range\") {\n return (\n <RangeControlButton\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n );\n }\n\n return <TextFilterField filter={filter} grow={grow} />;\n}\n\nfunction OverflowFiltersMenu({\n triggerRef,\n filters,\n activeHidden,\n allHidden,\n mobilePage,\n onApply,\n}: {\n triggerRef: RefObject<HTMLButtonElement | null>;\n filters: FilterBarFilter[];\n activeHidden: number;\n /**\n * No filter is inline, so this trigger is the only way in. It then carries a\n * visible \"Filters\" label: a bare glyph beside a search box gives a phone\n * user nothing to say that filters exist at all.\n */\n allHidden: boolean;\n mobilePage: boolean;\n onApply?: () => void;\n}) {\n const [open, setOpen] = useState(false);\n const [stagedValues, setStagedValues] = useState<\n Record<string, FilterBarValue>\n >({});\n const hasHidden = filters.length > 0;\n const hiddenFilterKeys = useMemo(\n () => filters.map((filter) => filter.key).join(\"\\u0000\"),\n [filters],\n );\n // Re-stage from the live filters on every open/close so an un-applied edit is\n // discarded, preserving the prior close behaviour.\n const {\n refs,\n floatingStyles,\n context,\n floatingZ,\n getReferenceProps,\n getFloatingProps,\n } = useAnchoredPopup(\n open && !mobilePage,\n (next) => {\n setStagedValues(createFilterValueMap(filters));\n setOpen(next);\n },\n \"bottom-end\",\n );\n const closeOverflowMenu = useCallback(() => {\n setStagedValues(createFilterValueMap(filters));\n setOpen(false);\n }, [filters]);\n // Merge floating-ui's reference ref with the caller's triggerRef (the parent\n // measures the trigger width through it for overflow layout).\n const setTriggerRef = useMergeRefs([refs.setReference, triggerRef]);\n\n useEffect(() => {\n if (!hasHidden) closeOverflowMenu();\n }, [closeOverflowMenu, hasHidden]);\n\n useEffect(() => {\n if (!open) return;\n setStagedValues(createFilterValueMap(filters));\n }, [hiddenFilterKeys, open]);\n\n const stagedFilters = filters.map((filter) =>\n filterWithStagedValue(\n filter,\n // Key presence, not `??`: a tri-state cycled to unset stages `undefined`,\n // which must render as unset instead of falling back to the live value.\n Object.hasOwn(stagedValues, filter.key)\n ? stagedValues[filter.key]\n : filterBarFilterValue(filter),\n (next) =>\n setStagedValues((current) => ({\n ...current,\n [filter.key]: next,\n })),\n ),\n );\n const applyOverflowFilters = () => {\n applyStagedFilterValues(filters, stagedValues);\n onApply?.();\n setOpen(false);\n };\n const clearAll = (\n <button\n type=\"button\"\n className={cn(\n \"rounded text-primary transition-colors hover:bg-accent focus:bg-accent focus:outline-none disabled:text-muted-foreground\",\n // The sheet is a touch surface: its controls need finger-sized targets.\n mobilePage ? \"h-10 px-3 text-sm\" : \"px-1.5 py-0.5 text-xs\",\n )}\n onClick={() => stagedFilters.forEach(clearFilterBarFilter)}\n disabled={stagedFilters.every(\n (filter) => !isFilterBarFilterActive(filter),\n )}\n >\n Clear all\n </button>\n );\n const actions = (\n <OverflowFilterActions\n onClose={closeOverflowMenu}\n onApply={applyOverflowFilters}\n mobilePage={mobilePage}\n />\n );\n const triggerLabel = allHidden ? \"Filters\" : \"More filters\";\n\n return (\n <div\n className={cn(\n \"inline-flex shrink-0\",\n !hasHidden && \"invisible pointer-events-none\",\n )}\n aria-hidden={!hasHidden || undefined}\n >\n <Button\n ref={setTriggerRef}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label={triggerLabel}\n tabIndex={hasHidden ? 0 : -1}\n title={hasHidden ? triggerLabel : undefined}\n className={cn(\n \"h-8 min-w-0 gap-1.5 px-2 text-xs font-normal max-md:h-9\",\n activeHidden > 0 && \"border-primary/40 text-primary\",\n )}\n {...getReferenceProps()}\n aria-expanded={open}\n >\n <Icon icon={UiFilter} className=\"text-[14px]\" />\n {allHidden && <span>Filters</span>}\n {activeHidden > 0 && (\n <span className=\"rounded-full bg-muted px-1.5 text-[10px] font-medium text-muted-foreground\">\n {activeHidden}\n </span>\n )}\n </Button>\n\n {mobilePage && (\n <Modal\n open={hasHidden && open}\n onClose={closeOverflowMenu}\n title=\"Filters\"\n headerSlot={clearAll}\n footer={actions}\n scrollBody={false}\n >\n <OverflowFilterRows filters={stagedFilters} mobilePage />\n </Modal>\n )}\n\n {!mobilePage && hasHidden && open && (\n <FloatingPortal>\n <FloatingFocusManager context={context} modal={false}>\n <div\n ref={refs.setFloating}\n role=\"dialog\"\n aria-label=\"Overflow filters\"\n style={{ ...floatingStyles, zIndex: floatingZ }}\n className=\"flex max-h-[min(34rem,calc(100vh-2rem))] w-[min(34rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/10\"\n {...getFloatingProps()}\n >\n <div className=\"mb-2 flex items-center justify-between gap-2 px-1\">\n <div className=\"text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n Filters\n </div>\n <div className=\"flex items-center gap-1\">\n {clearAll}\n <button\n type=\"button\"\n aria-label=\"Close overflow filters\"\n title=\"Close\"\n className=\"inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:outline-none\"\n onClick={closeOverflowMenu}\n >\n <Icon icon={UiClose} className=\"text-sm\" />\n </button>\n </div>\n </div>\n <OverflowFilterRows filters={stagedFilters} />\n <div className=\"mt-3\">{actions}</div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction OverflowFilterRows({\n filters,\n mobilePage = false,\n}: {\n filters: FilterBarFilter[];\n mobilePage?: boolean;\n}) {\n return (\n <div\n className={cn(\n \"min-h-0 flex-1 divide-y divide-border/70 overflow-y-auto\",\n mobilePage ? \"bg-background\" : \"rounded-md border border-border/70\",\n )}\n >\n {filters.map((filter) => {\n const active = isFilterBarFilterActive(filter);\n return (\n <div\n key={filter.key}\n data-overflow-filter-row={filter.key}\n className=\"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-2 overflow-visible p-4 md:h-12 md:grid-cols-[minmax(7rem,10rem)_auto_minmax(0,1fr)_auto] md:items-center md:p-2\"\n >\n <label\n htmlFor={filterInputId(filter)}\n className=\"col-span-2 flex min-w-0 items-center gap-1 truncate text-[10px] font-medium uppercase tracking-wide text-muted-foreground md:col-span-1\"\n title={filter.description ?? filter.label}\n >\n <LabelIcon\n icon={sizedIcon(filter.icon, 12)}\n className=\"text-[12px] normal-case\"\n />\n <span className=\"truncate\">{filter.label}</span>\n </label>\n <span className=\"hidden text-sm text-muted-foreground md:block\">\n =\n </span>\n <div className=\"min-w-0 overflow-visible\">\n <FilterBarContext.Provider\n value={{ autoSubmit: false, compact: false }}\n >\n <FilterBarKeyValueControl filter={filter} />\n </FilterBarContext.Provider>\n </div>\n <button\n type=\"button\"\n aria-label={`Clear ${filter.label}`}\n title={`Clear ${filter.label}`}\n className={cn(\n \"inline-flex self-center items-center justify-center rounded text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:outline-none disabled:text-muted-foreground/40\",\n mobilePage ? \"h-10 w-10\" : \"h-6 w-6\",\n )}\n onClick={() => clearFilterBarFilter(filter)}\n disabled={!active}\n >\n <Icon icon={UiClose} className=\"text-sm\" />\n </button>\n </div>\n );\n })}\n </div>\n );\n}\n\nfunction OverflowFilterActions({\n onClose,\n onApply,\n mobilePage = false,\n}: {\n onClose: () => void;\n onApply: () => void;\n mobilePage?: boolean;\n}) {\n const size = mobilePage ? \"h-10 px-4 text-sm\" : \"h-8 px-3 text-xs\";\n return (\n <div className=\"flex justify-end gap-2\">\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n className={size}\n onClick={onClose}\n >\n Close\n </Button>\n <Button\n type=\"button\"\n variant=\"default\"\n size=\"sm\"\n className={size}\n onClick={onApply}\n >\n Apply\n </Button>\n </div>\n );\n}\n\nfunction FilterBarKeyValueControl({ filter }: { filter: FilterBarFilter }) {\n if (filter.kind === \"date-range\") {\n return (\n <RangeControlButton\n kind={filter.timeEnabled === false ? \"date\" : \"time\"}\n label={filter.label}\n {...dateRangeFilterProps(filter)}\n />\n );\n }\n if (filter.kind === \"text\") {\n return <TextFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"lookup\") {\n return <LookupFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"lookup-multi\") {\n return <LookupMultiFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"enum\") {\n return <EnumFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"boolean\") {\n return <BooleanFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"select-multi\") {\n return <SelectMultiFilterValueControl filter={filter} />;\n }\n if (filter.kind === \"multi\") {\n return <MultiFilterField filter={filter} grow />;\n }\n if (filter.kind === \"nested-multi\") {\n return <NestedMultiFilterField filter={filter} grow />;\n }\n if (filter.kind === \"workload\") {\n return <WorkloadFilterField filter={filter} grow />;\n }\n if (filter.kind === \"tristate\") {\n return <TriStateFilterValueControl filter={filter} />;\n }\n return <NumberFilterField filter={filter} grow />;\n}\n\nfunction filterInputId(filter: FilterBarFilter) {\n return `filterbar-overflow-${filter.key}`;\n}\n\nfunction lookupOptionsToCombobox(\n options: FilterBarLookupOption[],\n): ComboboxOption[] {\n return options.map((option) => ({\n value: option.value,\n label: option.label ?? option.value,\n ...(option.disabled !== undefined ? { disabled: option.disabled } : {}),\n // Neither \"lookup\" nor \"lookup-multi\" renders tristate, so the count\n // reaches the row through `trailing`, not the tristate pill's badge.\n ...(option.count !== undefined\n ? { trailing: <span>{option.count.toLocaleString()}</span> }\n : {}),\n }));\n}\n\nfunction WorkloadFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarWorkloadFilter;\n grow: boolean;\n}) {\n return (\n <div className={cn(\"min-w-[14rem]\", grow && \"flex-1\", filter.className)}>\n <WorkloadPicker\n value={filter.value}\n onChange={filter.onChange}\n loadWorkloads={filter.loadWorkloads}\n {...(filter.kinds ? { kinds: filter.kinds } : {})}\n {...(filter.collapseSingleOption ? { collapseSingleOption: true } : {})}\n allowCustomValue={false}\n strict\n {...(filter.disabled !== undefined\n ? { disabled: filter.disabled }\n : {})}\n placeholder={`Select ${filter.label.toLowerCase()}…`}\n />\n </div>\n );\n}\n\nfunction valueInputClassName(disabled?: boolean) {\n return cn(\n \"h-8 w-full rounded-md border border-input bg-background px-2 text-sm text-foreground outline-none placeholder:text-placeholder focus-visible:ring-2 focus-visible:ring-ring\",\n disabled && \"cursor-not-allowed opacity-60\",\n );\n}\n\nfunction TextFilterValueControl({ filter }: { filter: FilterBarTextFilter }) {\n const [draft, setDraft] = useDebouncedTextDraft(\n filter.value,\n filter.onChange,\n );\n\n return (\n <input\n id={filterInputId(filter)}\n type=\"text\"\n aria-label={filter.label}\n className={valueInputClassName(filter.disabled)}\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n );\n}\n\nfunction LookupFilterValueControl({\n filter,\n}: {\n filter: FilterBarLookupFilter;\n}) {\n const [draft, setDraft] = useDebouncedTextDraft(\n filter.value,\n filter.onChange,\n );\n\n if (filter.inputType === \"date\") {\n return (\n <DateTimePicker\n id={filterInputId(filter)}\n aria-label={filter.label}\n className=\"w-full\"\n inputClassName={valueInputClassName(filter.disabled)}\n buttonClassName=\"right-1\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={setDraft}\n />\n );\n }\n\n if (filter.inputType === \"number\") {\n return (\n <input\n id={filterInputId(filter)}\n type=\"number\"\n aria-label={filter.label}\n className={valueInputClassName(filter.disabled)}\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n );\n }\n\n // The overflow panel renders the filter label as a separate row header, so\n // the Combobox here omits its own inline label to avoid duplication.\n return (\n <Combobox\n id={filterInputId(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n className=\"w-full\"\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction LookupMultiFilterValueControl({\n filter,\n}: {\n filter: FilterBarLookupMultiFilter;\n}) {\n return (\n <Combobox\n multiple\n id={filterInputId(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n footer={lookupMultiFilterFooter(filter)}\n size=\"sm\"\n className=\"w-full\"\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction enumOptionsToCombobox(\n options: FilterBarEnumFilter[\"options\"],\n): ComboboxOption[] {\n return options.map((option) => ({\n value: option.value,\n label: option.label ?? option.value,\n }));\n}\n\nfunction EnumFilterValueControl({ filter }: { filter: FilterBarEnumFilter }) {\n return (\n <Combobox\n id={filterInputId(filter)}\n options={enumOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n className=\"w-full\"\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction BooleanFilterValueControl({\n filter,\n}: {\n filter: FilterBarBooleanFilter;\n}) {\n return (\n <div className=\"flex h-8 items-center\">\n <input\n id={filterInputId(filter)}\n type=\"checkbox\"\n aria-label={filter.label}\n className=\"h-4 w-4 accent-primary\"\n checked={filter.value}\n disabled={filter.disabled}\n onChange={(event) => filter.onChange(event.target.checked)}\n />\n </div>\n );\n}\n\nfunction TriStateFilterValueControl({\n filter,\n}: {\n filter: FilterBarTriStateFilter;\n}) {\n return (\n <div className=\"flex h-8 items-center\">\n <TriStateToggle\n id={filterInputId(filter)}\n value={filter.value}\n onChange={filter.onChange}\n label={filter.label}\n size=\"md\"\n {...(filter.labels ? { labels: filter.labels } : {})}\n {...(filter.disabled ? { disabled: filter.disabled } : {})}\n />\n </div>\n );\n}\n\nfunction SelectMultiFilterValueControl({\n filter,\n}: {\n filter: FilterBarSelectMultiFilter;\n}) {\n return (\n <MultiSelect\n options={filter.options}\n value={filter.value}\n onChange={filter.onChange}\n ariaLabel={`${filter.label} filter`}\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n triggerClassName=\"h-8 w-full rounded-md border border-input bg-background px-2 text-sm shadow-none\"\n menuClassName=\"left-auto right-0\"\n />\n );\n}\n\nexport function FilterBarRangePanel({\n kind,\n label,\n from = \"\",\n to = \"\",\n onApply,\n presets,\n timeEnabled,\n timeZone,\n timeZones,\n fromPlaceholder,\n toPlaceholder,\n emptyLabel,\n disabled,\n}: FilterBarRangeProps & { kind: \"date\" | \"time\"; label: string }) {\n return (\n <div className=\"w-72 p-3 text-popover-foreground\">\n <TimeRange\n kind={kind}\n label={label}\n align=\"left\"\n from={from}\n to={to}\n onApply={onApply}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(presets ? { presets } : {})}\n {...(timeEnabled !== undefined ? { timeEnabled } : {})}\n {...(timeZone ? { timeZone } : {})}\n {...(timeZones ? { timeZones } : {})}\n {...(fromPlaceholder ? { fromPlaceholder } : {})}\n {...(toPlaceholder ? { toPlaceholder } : {})}\n {...(emptyLabel ? { emptyLabel } : {})}\n panelClassName=\"left-0 right-auto\"\n />\n </div>\n );\n}\n\nfunction EnumFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarEnumFilter;\n grow: boolean;\n}) {\n return (\n <Combobox\n {...comboboxLabelProps(filter)}\n options={enumOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction TriStateFilterField({ filter }: { filter: FilterBarTriStateFilter }) {\n return (\n <div\n title={filter.description}\n className={cn(\n \"flex h-8 shrink-0 items-center gap-2 rounded-md border border-input bg-muted/30 px-2 text-xs\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <TriStateToggle\n value={filter.value}\n onChange={filter.onChange}\n label={filter.label}\n {...(filter.labels ? { labels: filter.labels } : {})}\n {...(filter.disabled ? { disabled: filter.disabled } : {})}\n />\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n </div>\n );\n}\n\nfunction BooleanFilterField({ filter }: { filter: FilterBarBooleanFilter }) {\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 shrink-0 items-center gap-2 rounded-md border border-input bg-muted/30 px-2 text-xs\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <input\n type=\"checkbox\"\n aria-label={filter.label}\n className=\"h-3.5 w-3.5 accent-primary\"\n checked={filter.value}\n disabled={filter.disabled}\n onChange={(event) => filter.onChange(event.target.checked)}\n />\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n </label>\n );\n}\n\nfunction SearchField({ search }: { search: FilterBarSearchProps }) {\n const [draft, setDraft] = useDebouncedTextDraft(\n search.value,\n search.onChange,\n );\n\n return (\n <div className=\"flex min-w-0 flex-1 items-center gap-2 md:flex-[1_1_14rem] md:min-w-[14rem] md:max-w-[24rem]\">\n <label\n className={cn(\n \"flex h-8 min-w-0 flex-1 items-center rounded-md border border-input bg-background px-3 text-sm\",\n search.className,\n )}\n >\n {draft.trim() ? (\n <span className=\"mr-2 whitespace-nowrap text-[10px] font-medium uppercase tracking-wide text-muted-foreground\">\n {search.ariaLabel ?? \"Search\"}\n </span>\n ) : (\n <Icon\n icon={UiSearch}\n className=\"mr-2 shrink-0 text-muted-foreground\"\n />\n )}\n <input\n type=\"search\"\n aria-label={search.ariaLabel ?? search.placeholder ?? \"Search\"}\n className=\"w-full min-w-0 bg-transparent outline-none placeholder:text-placeholder\"\n placeholder={search.placeholder ?? \"Search…\"}\n value={draft}\n onChange={(event) => setDraft(event.target.value)}\n />\n </label>\n </div>\n );\n}\n\nfunction TextFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarTextFilter;\n grow: boolean;\n}) {\n const [draft, setDraft] = useDebouncedTextDraft(\n filter.value,\n filter.onChange,\n );\n\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-2 text-xs\",\n grow\n ? \"min-w-[12rem] max-w-[18rem] flex-1\"\n : \"min-w-[11rem] max-w-[15rem] shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n <input\n type=\"text\"\n aria-label={filter.label}\n className=\"w-full min-w-0 bg-transparent text-sm text-foreground outline-none placeholder:text-placeholder disabled:cursor-not-allowed\"\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n </label>\n );\n}\n\n// FilterFieldLabel is the uppercase label shown inside inline filter shells,\n// with an optional leading glyph from the filter's `icon`.\nfunction FilterFieldLabel({\n icon,\n label,\n}: {\n icon?: LabelIconSpec;\n label: string;\n}) {\n return (\n <span className=\"flex items-center gap-1 whitespace-nowrap font-medium uppercase tracking-wide text-muted-foreground\">\n <LabelIcon icon={icon} className=\"text-[13px] normal-case\" />\n {label}\n </span>\n );\n}\n\nfunction LookupFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarLookupFilter;\n grow: boolean;\n}) {\n const [draft, setDraft] = useDebouncedTextDraft(\n filter.value,\n filter.onChange,\n );\n\n // Date and number lookups keep their specialized inputs in the label shell;\n // text lookups use the Combobox with its own inline label.\n if (filter.inputType === \"date\" || filter.inputType === \"number\") {\n // For a date lookup with a value, surface the human-readable absolute +\n // relative form (e.g. \"Apr 15, 2026, 12:00 PM (2h ago)\") as the hover title.\n const dateTitle =\n filter.inputType === \"date\" && draft\n ? formatDateTimeRelative(draft)\n : undefined;\n return (\n <label\n title={dateTitle ?? filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-2 text-xs\",\n lookupFieldWidthClass(grow),\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <FilterFieldLabel icon={filter.icon} label={filter.label} />\n {filter.inputType === \"date\" ? (\n <DateTimePicker\n aria-label={filter.label}\n className=\"w-full\"\n inputClassName=\"w-full min-w-0 border-0 bg-transparent px-0 pr-6 text-sm text-foreground shadow-none focus-visible:ring-0\"\n buttonClassName=\"right-0\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={setDraft}\n />\n ) : (\n <input\n type=\"number\"\n aria-label={filter.label}\n className=\"w-full min-w-0 bg-transparent text-sm text-foreground outline-none placeholder:text-placeholder disabled:cursor-not-allowed\"\n placeholder={filter.placeholder}\n value={draft}\n disabled={filter.disabled}\n onChange={(event) => setDraft(event.target.value)}\n />\n )}\n </label>\n );\n }\n\n return (\n <Combobox\n {...comboboxLabelProps(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction LookupMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarLookupMultiFilter;\n grow: boolean;\n}) {\n return (\n <Combobox\n multiple\n {...comboboxLabelProps(filter)}\n options={lookupOptionsToCombobox(filter.options)}\n value={filter.value}\n onChange={filter.onChange}\n allowCustomValue={false}\n footer={lookupMultiFilterFooter(filter)}\n size=\"sm\"\n className={cn(lookupFieldWidthClass(grow), filter.className)}\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.onSearch !== undefined ? { onSearch: filter.onSearch } : {})}\n {...(filter.loading !== undefined ? { loading: filter.loading } : {})}\n {...(filter.disabled !== undefined ? { disabled: filter.disabled } : {})}\n />\n );\n}\n\nfunction lookupMultiFilterFooter(filter: FilterBarLookupMultiFilter) {\n const moreCount =\n filter.truncated && filter.total\n ? Math.max(filter.total - filter.options.length, 0)\n : 0;\n if (moreCount === 0) return undefined;\n return (\n <>\n … and {moreCount.toLocaleString()} more\n {filter.onSearch ? \" — type to search all\" : \"\"}\n </>\n );\n}\n\ntype FilterBarBoundedFilter = FilterBarNumberFilter | FilterBarDurationFilter;\n\nfunction NumberFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarBoundedFilter;\n grow: boolean;\n}) {\n const [open, setOpen] = useState(false);\n const popup = useAnchoredPopup(open, setOpen);\n\n const bounds = resolveNumberFilterBounds(filter);\n const [draft, setDraft] = useDebouncedNumberDraft(filter.value, (next) =>\n applyBoundedFilterValue(filter, next),\n );\n const sliderMin = clampNumber(\n parseFilterNumber(draft.min) ?? bounds.min,\n bounds.min,\n bounds.max,\n );\n const sliderMax = clampNumber(\n parseFilterNumber(draft.max) ?? bounds.max,\n bounds.min,\n bounds.max,\n );\n const activeMin = Math.min(sliderMin, sliderMax);\n const activeMax = Math.max(sliderMin, sliderMax);\n const summary = summarizeNumberFilter(filter, bounds, draft);\n const showSlider =\n filter.domainMin !== undefined && filter.domainMax !== undefined;\n\n return (\n <div\n title={filter.description}\n className={cn(\n \"inline-flex min-w-0\",\n grow ? \"min-w-[8rem] max-w-[12rem] flex-1\" : \"shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <Button\n ref={popup.refs.setReference as Ref<HTMLButtonElement>}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label={`${filter.label} filter`}\n disabled={filter.disabled}\n className={cn(\n \"min-w-0 gap-2 font-normal\",\n grow\n ? \"w-full max-w-[12rem] justify-between\"\n : \"w-auto max-w-[9.5rem] px-2.5\",\n summary === filter.label && \"text-muted-foreground\",\n )}\n {...popup.getReferenceProps()}\n >\n <LabelIcon\n icon={filter.icon}\n className=\"text-[14px] text-muted-foreground\"\n />\n <span className=\"truncate\">{summary}</span>\n <Icon\n icon={open ? UiChevronUp : UiChevronDown}\n className=\"text-muted-foreground\"\n />\n </Button>\n\n {open && (\n <FloatingPortal>\n <FloatingFocusManager context={popup.context} modal={false}>\n <div\n ref={popup.refs.setFloating}\n role=\"dialog\"\n aria-label={filter.label}\n style={{ ...popup.floatingStyles, zIndex: popup.floatingZ }}\n className=\"min-w-[18rem] max-w-[22rem] rounded-md border border-border bg-popover p-3 text-popover-foreground shadow-lg shadow-black/5\"\n {...popup.getFloatingProps()}\n >\n <div className=\"mb-3 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={() => {\n setDraft({});\n applyBoundedFilterValue(filter, {});\n }}\n disabled={\n !String(draft.min ?? \"\").trim() &&\n !String(draft.max ?? \"\").trim()\n }\n >\n Clear all\n </button>\n </div>\n\n <div className=\"space-y-3\">\n {showSlider && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-[11px] text-muted-foreground\">\n <span>{formatNumberValue(bounds.min, filter)}</span>\n <span>{formatNumberValue(bounds.max, filter)}</span>\n </div>\n <div className=\"relative h-6\">\n <RangeSlider\n min={bounds.min}\n max={bounds.max}\n step={bounds.step}\n value={[activeMin, activeMax]}\n ariaLabelMin={`${filter.label} minimum slider`}\n ariaLabelMax={`${filter.label} maximum slider`}\n onChange={([nextMin, nextMax]) =>\n setDraft(\n numberFilterValueFromSlider(\n [nextMin, nextMax],\n bounds,\n filter,\n ),\n )\n }\n />\n </div>\n </div>\n )}\n\n <NumberFilterInputs\n filter={filter}\n value={draft}\n onChange={setDraft}\n bounds={bounds}\n />\n </div>\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction NumberFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarBoundedFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n const bounds = resolveNumberFilterBounds(filter);\n const [draft, setDraft] = useDebouncedNumberDraft(filter.value, (next) =>\n applyBoundedFilterValue(filter, next),\n );\n const sliderMin = clampNumber(\n parseFilterNumber(draft.min) ?? bounds.min,\n bounds.min,\n bounds.max,\n );\n const sliderMax = clampNumber(\n parseFilterNumber(draft.max) ?? bounds.max,\n bounds.min,\n bounds.max,\n );\n const activeMin = Math.min(sliderMin, sliderMax);\n const activeMax = Math.max(sliderMin, sliderMax);\n const embedded = chrome === \"embedded\";\n const showSlider =\n filter.domainMin !== undefined && filter.domainMax !== undefined;\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-3 shadow-sm shadow-black/5\",\n )}\n >\n {!embedded && (\n <div className=\"mb-3 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={() => {\n setDraft({});\n applyBoundedFilterValue(filter, {});\n }}\n disabled={\n !String(draft.min ?? \"\").trim() && !String(draft.max ?? \"\").trim()\n }\n >\n Clear all\n </button>\n </div>\n )}\n\n <div className=\"space-y-3\">\n {showSlider && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-[11px] text-muted-foreground\">\n <span>{formatNumberValue(bounds.min, filter)}</span>\n <span>{formatNumberValue(bounds.max, filter)}</span>\n </div>\n <div className=\"relative h-6\">\n <RangeSlider\n min={bounds.min}\n max={bounds.max}\n step={bounds.step}\n value={[activeMin, activeMax]}\n ariaLabelMin={`${filter.label} minimum slider`}\n ariaLabelMax={`${filter.label} maximum slider`}\n onChange={([nextMin, nextMax]) =>\n setDraft(\n numberFilterValueFromSlider(\n [nextMin, nextMax],\n bounds,\n filter,\n ),\n )\n }\n />\n </div>\n </div>\n )}\n\n <NumberFilterInputs\n filter={filter}\n value={draft}\n onChange={setDraft}\n bounds={bounds}\n />\n </div>\n </div>\n );\n}\n\nfunction NumberFilterInputs({\n filter,\n value,\n onChange,\n bounds,\n}: {\n filter: FilterBarBoundedFilter;\n value: FilterBarNumberValue;\n onChange: (value: FilterBarNumberValue) => void;\n bounds: NumberFilterBounds;\n}) {\n return (\n <div className=\"space-y-2\">\n <NumberFilterEdge\n filter={filter}\n value={value}\n onChange={onChange}\n bounds={bounds}\n edge=\"min\"\n />\n <NumberFilterEdge\n filter={filter}\n value={value}\n onChange={onChange}\n bounds={bounds}\n edge=\"max\"\n />\n </div>\n );\n}\n\nfunction NumberFilterEdge({\n filter,\n value,\n onChange,\n bounds,\n edge,\n}: {\n filter: FilterBarBoundedFilter;\n value: FilterBarNumberValue;\n onChange: (value: FilterBarNumberValue) => void;\n bounds: NumberFilterBounds;\n edge: \"min\" | \"max\";\n}) {\n const minimum = edge === \"min\";\n const label = minimum ? \"minimum\" : \"maximum\";\n const operator = minimum\n ? (value.minOperator ?? \">=\")\n : (value.maxOperator ?? \"<=\");\n const operand = minimum ? (value.min ?? \"\") : (value.max ?? \"\");\n const duration =\n filter.kind === \"duration\" ? (value as FilterBarDurationValue) : undefined;\n const unit = minimum ? duration?.minUnit : duration?.maxUnit;\n const setOperand = (next: string) => {\n const nextValue = minimum\n ? { ...value, min: next }\n : { ...value, max: next };\n onChange(\n filter.kind === \"duration\"\n ? nextValue\n : normalizeNumberFilterValue(\n nextValue,\n minimum ? \"min-input\" : \"max-input\",\n ),\n );\n };\n const setOperator = (next: string) =>\n onChange(\n minimum\n ? { ...value, minOperator: next as \">\" | \">=\" }\n : { ...value, maxOperator: next as \"<\" | \"<=\" },\n );\n\n return (\n <div className=\"grid grid-cols-[2.5rem_3.5rem_minmax(0,1fr)_auto] items-center gap-1.5\">\n <span className=\"text-[10px] text-muted-foreground\">\n {minimum ? \"Min\" : \"Max\"}\n </span>\n <select\n aria-label={`${filter.label} ${label} operator`}\n className=\"h-8 rounded-md border border-input bg-background px-1 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n value={operator}\n disabled={filter.disabled}\n onChange={(event) => setOperator(event.target.value)}\n >\n {(minimum ? [\">=\", \">\"] : [\"<=\", \"<\"]).map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n <input\n type=\"number\"\n inputMode=\"decimal\"\n step={bounds.step}\n aria-label={`${filter.label} ${label}`}\n className=\"h-8 min-w-0 rounded-md border border-input bg-background px-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n {...((minimum ? filter.minPlaceholder : filter.maxPlaceholder) !==\n undefined\n ? {\n placeholder: minimum\n ? filter.minPlaceholder\n : filter.maxPlaceholder,\n }\n : {})}\n value={operand}\n disabled={filter.disabled}\n onChange={(event) => setOperand(event.target.value)}\n />\n <NumberFilterUnit\n filter={filter}\n value={value}\n edge={edge}\n {...(unit ? { unit } : {})}\n onChange={onChange}\n />\n </div>\n );\n}\n\nfunction NumberFilterUnit({\n filter,\n value,\n edge,\n unit,\n onChange,\n}: {\n filter: FilterBarBoundedFilter;\n value: FilterBarNumberValue;\n edge: \"min\" | \"max\";\n unit?: FilterBarDurationUnit;\n onChange: (value: FilterBarNumberValue) => void;\n}) {\n if (filter.kind === \"number\") {\n return filter.unit ? (\n <span className=\"min-w-8 text-xs text-muted-foreground\">\n {filter.unit}\n </span>\n ) : null;\n }\n const selected = unit ?? filter.unit ?? \"ms\";\n return (\n <select\n aria-label={`${filter.label} ${edge === \"min\" ? \"minimum\" : \"maximum\"} unit`}\n className=\"h-8 rounded-md border border-input bg-background px-1 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n value={selected}\n disabled={filter.disabled}\n onChange={(event) => {\n const next: FilterBarDurationValue =\n edge === \"min\"\n ? { ...value, minUnit: event.target.value as FilterBarDurationUnit }\n : {\n ...value,\n maxUnit: event.target.value as FilterBarDurationUnit,\n };\n onChange(next);\n }}\n >\n {([\"ms\", \"s\", \"m\", \"h\"] as FilterBarDurationUnit[]).map((option) => (\n <option key={option} value={option}>\n {option}\n </option>\n ))}\n </select>\n );\n}\n\nfunction NestedMultiFilterPanel({\n filter,\n chrome = \"full\",\n}: {\n filter: FilterBarNestedMultiFilter;\n chrome?: FilterBarFilterPanelChrome;\n}) {\n const [activeGroup, setActiveGroup] = useState<string | null>(\n filter.groups[0]?.groupKey ?? null,\n );\n const [draft, setDraft] = useDebouncedMultiDraft(\n filter.value,\n filter.onChange,\n );\n const groups = filter.groups;\n const embedded = chrome === \"embedded\";\n const activeGroupData = useMemo(\n () =>\n groups.find((group) => group.groupKey === activeGroup) ??\n groups[0] ??\n null,\n [groups, activeGroup],\n );\n\n const selectedByGroup = useMemo(() => {\n const counts: Record<string, number> = {};\n for (const group of groups) {\n let n = 0;\n for (const option of group.options) {\n if (draft[option.value]) n += 1;\n }\n counts[group.groupKey] = n;\n }\n return counts;\n }, [groups, draft]);\n\n const sortedGroups = useMemo(() => {\n const selected: typeof groups = [];\n const rest: typeof groups = [];\n for (const group of groups) {\n if ((selectedByGroup[group.groupKey] ?? 0) > 0) selected.push(group);\n else rest.push(group);\n }\n return [...selected, ...rest];\n }, [groups, selectedByGroup]);\n\n const clearGroup = (groupKey: string) => {\n const group = groups.find((g) => g.groupKey === groupKey);\n if (!group) return;\n const next = { ...draft };\n for (const option of group.options) {\n delete next[option.value];\n }\n setDraft(next);\n };\n\n return (\n <div role=\"dialog\" className=\"flex\">\n <div\n data-filter-panel-chrome={chrome}\n className={cn(\n \"min-w-[14rem] max-w-[16rem] 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 <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {sortedGroups.map((group) => {\n const selected = selectedByGroup[group.groupKey] ?? 0;\n const isActive = group.groupKey === activeGroup;\n return (\n <div\n key={group.groupKey}\n role=\"button\"\n tabIndex={0}\n onMouseEnter={() => setActiveGroup(group.groupKey)}\n onFocus={() => setActiveGroup(group.groupKey)}\n onClick={() => setActiveGroup(group.groupKey)}\n onKeyDown={(event) => {\n if (\n event.key === \"Enter\" ||\n event.key === \" \" ||\n event.key === \"ArrowRight\"\n ) {\n event.preventDefault();\n setActiveGroup(group.groupKey);\n }\n }}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-2 rounded-md px-1.5 py-0.5 text-sm\",\n \"hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\",\n isActive && \"bg-accent/60\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">\n {group.label ?? group.groupKey}\n </span>\n {selected > 0 && (\n <span className=\"rounded-full bg-primary/15 px-1.5 text-[10px] font-medium text-primary\">\n {selected}/{group.options.length}\n </span>\n )}\n <Icon\n icon={UiChevronRight}\n className=\"shrink-0 text-muted-foreground\"\n />\n </div>\n );\n })}\n {groups.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">\n No groups\n </div>\n )}\n </div>\n </div>\n\n {activeGroupData && (\n <div\n onMouseEnter={() => setActiveGroup(activeGroupData.groupKey)}\n className=\"ml-1.5 min-w-[16rem] max-w-[20rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-sm shadow-black/5\"\n >\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 {activeGroupData.label ?? activeGroupData.groupKey}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => clearGroup(activeGroupData.groupKey)}\n disabled={(selectedByGroup[activeGroupData.groupKey] ?? 0) === 0}\n >\n Clear\n </button>\n </div>\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {activeGroupData.options.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title = option.title ?? multiSelectOptionText(option);\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(\n updateMultiFilterValue(\n draft,\n option.value,\n nextFilterMode(mode),\n ),\n )\n }\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setDraft(\n updateMultiFilterValue(\n draft,\n option.value,\n nextFilterMode(mode),\n ),\n );\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setActiveGroup(null);\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n label={renderNestedOptionLabel(\n option,\n activeGroupData.groupKey,\n )}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) =>\n setDraft(\n updateMultiFilterValue(draft, option.value, next),\n )\n }\n />\n </div>\n );\n })}\n {activeGroupData.options.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">\n No values\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n\nfunction NestedMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarNestedMultiFilter;\n grow: boolean;\n}) {\n const [open, setOpen] = useState(false);\n const [activeGroup, setActiveGroup] = useState<string | null>(null);\n const [draft, setDraft] = useDebouncedMultiDraft(\n filter.value,\n filter.onChange,\n );\n\n const popup = useAnchoredPopup(open, (next) => {\n setOpen(next);\n if (!next) setActiveGroup(null);\n });\n\n const summary = summarizeMultiFilter(filter.label, draft);\n const groups = filter.groups;\n const activeGroupData = useMemo(\n () => groups.find((group) => group.groupKey === activeGroup) ?? null,\n [groups, activeGroup],\n );\n\n // Selected count per group, used in the outer list.\n const selectedByGroup = useMemo(() => {\n const counts: Record<string, number> = {};\n for (const group of groups) {\n let n = 0;\n for (const option of group.options) {\n if (draft[option.value]) n += 1;\n }\n counts[group.groupKey] = n;\n }\n return counts;\n }, [groups, draft]);\n\n // Groups with active selections sort to the top so the user always sees\n // what's filtered without scrolling. Within each partition, the original\n // order from the consumer is preserved.\n const sortedGroups = useMemo(() => {\n const selected: typeof groups = [];\n const rest: typeof groups = [];\n for (const group of groups) {\n if ((selectedByGroup[group.groupKey] ?? 0) > 0) selected.push(group);\n else rest.push(group);\n }\n return [...selected, ...rest];\n }, [groups, selectedByGroup]);\n\n const clearGroup = (groupKey: string) => {\n const group = groups.find((g) => g.groupKey === groupKey);\n if (!group) return;\n const next = { ...draft };\n for (const option of group.options) {\n delete next[option.value];\n }\n setDraft(next);\n };\n\n return (\n <div\n title={filter.description}\n className={cn(\n \"inline-flex min-w-0\",\n grow ? \"min-w-[8rem] max-w-[12rem] flex-1\" : \"shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <Button\n ref={popup.refs.setReference as Ref<HTMLButtonElement>}\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n aria-label={`${filter.label} filter`}\n disabled={filter.disabled}\n className={cn(\n \"min-w-0 gap-2 font-normal\",\n grow\n ? \"w-full max-w-[12rem] justify-between\"\n : \"w-auto max-w-[8.5rem] px-2.5\",\n summary === filter.label && \"text-muted-foreground\",\n )}\n {...popup.getReferenceProps()}\n >\n <span className=\"truncate\">{summary}</span>\n <Icon\n icon={open ? UiChevronUp : UiChevronDown}\n className=\"text-muted-foreground\"\n />\n </Button>\n\n {open && (\n <FloatingPortal>\n <FloatingFocusManager context={popup.context} modal={false}>\n <div\n ref={popup.refs.setFloating}\n role=\"dialog\"\n aria-label={filter.label}\n style={{ ...popup.floatingStyles, zIndex: popup.floatingZ }}\n className=\"flex\"\n {...popup.getFloatingProps()}\n >\n <div className=\"min-w-[14rem] max-w-[16rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/5\">\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 <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {sortedGroups.map((group) => {\n const selected = selectedByGroup[group.groupKey] ?? 0;\n const isActive = group.groupKey === activeGroup;\n return (\n <div\n key={group.groupKey}\n role=\"button\"\n tabIndex={0}\n onMouseEnter={() => setActiveGroup(group.groupKey)}\n onFocus={() => setActiveGroup(group.groupKey)}\n onClick={() => setActiveGroup(group.groupKey)}\n onKeyDown={(event) => {\n if (\n event.key === \"Enter\" ||\n event.key === \" \" ||\n event.key === \"ArrowRight\"\n ) {\n event.preventDefault();\n setActiveGroup(group.groupKey);\n }\n }}\n className={cn(\n \"flex cursor-pointer items-center justify-between gap-2 rounded-md px-1.5 py-0.5 text-sm\",\n \"hover:bg-accent/50 focus-visible:bg-accent/50 focus-visible:outline-none\",\n isActive && \"bg-accent/60\",\n )}\n >\n <span className=\"min-w-0 flex-1 truncate\">\n {group.label ?? group.groupKey}\n </span>\n {selected > 0 && (\n <span className=\"rounded-full bg-primary/15 px-1.5 text-[10px] font-medium text-primary\">\n {selected}/{group.options.length}\n </span>\n )}\n <Icon\n icon={UiChevronRight}\n className=\"shrink-0 text-muted-foreground\"\n />\n </div>\n );\n })}\n {groups.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">\n No groups\n </div>\n )}\n </div>\n </div>\n\n {activeGroupData && (\n <div\n onMouseEnter={() => setActiveGroup(activeGroupData.groupKey)}\n className=\"ml-1.5 min-w-[16rem] max-w-[20rem] rounded-md border border-border bg-popover p-2 text-popover-foreground shadow-lg shadow-black/5\"\n >\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 {activeGroupData.label ?? activeGroupData.groupKey}\n </div>\n <button\n type=\"button\"\n className=\"text-[10px] text-primary disabled:text-muted-foreground\"\n onClick={() => clearGroup(activeGroupData.groupKey)}\n disabled={\n (selectedByGroup[activeGroupData.groupKey] ?? 0) === 0\n }\n >\n Clear\n </button>\n </div>\n\n <div className=\"max-h-72 space-y-0.5 overflow-auto\">\n {activeGroupData.options.map((option) => {\n const mode = draft[option.value] ?? \"neutral\";\n const title =\n option.title ?? multiSelectOptionText(option);\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(\n updateMultiFilterValue(\n draft,\n option.value,\n nextFilterMode(mode),\n ),\n )\n }\n onKeyDown={(event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n setDraft(\n updateMultiFilterValue(\n draft,\n option.value,\n nextFilterMode(mode),\n ),\n );\n } else if (event.key === \"ArrowLeft\") {\n event.preventDefault();\n setActiveGroup(null);\n }\n }}\n >\n <FilterPill\n className=\"w-full justify-between\"\n // Show only the value side here — the key is already\n // implied by the parent group panel.\n label={renderNestedOptionLabel(\n option,\n activeGroupData.groupKey,\n )}\n mode={mode}\n title={title}\n togglePosition=\"right\"\n onModeChange={(next) =>\n setDraft(\n updateMultiFilterValue(\n draft,\n option.value,\n next,\n ),\n )\n }\n />\n </div>\n );\n })}\n {activeGroupData.options.length === 0 && (\n <div className=\"px-2 py-3 text-sm text-muted-foreground\">\n No values\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </FloatingFocusManager>\n </FloatingPortal>\n )}\n </div>\n );\n}\n\nfunction renderNestedOptionLabel(\n option: MultiSelectOption,\n groupKey: string,\n): ReactNode {\n // If the option label already strips the key prefix, use it. Otherwise\n // strip it here so the inner panel doesn't repeat the key on every row.\n if (typeof option.label === \"string\") {\n const prefix = `${groupKey}=`;\n if (option.label.startsWith(prefix))\n return option.label.slice(prefix.length);\n return option.label;\n }\n return option.label ?? option.value;\n}\n\nfunction SelectMultiFilterField({\n filter,\n grow,\n}: {\n filter: FilterBarSelectMultiFilter;\n grow: boolean;\n}) {\n return (\n <label\n title={filter.description}\n className={cn(\n \"flex h-8 items-center gap-2 rounded-md border border-input bg-muted/30 pl-2 pr-1 text-xs\",\n grow\n ? \"min-w-[12rem] max-w-[18rem] flex-1\"\n : \"min-w-[11rem] max-w-[15rem] shrink-0\",\n filter.disabled && \"opacity-60\",\n filter.className,\n )}\n >\n <span className=\"whitespace-nowrap font-medium uppercase tracking-wide text-muted-foreground\">\n {filter.label}\n </span>\n <MultiSelect\n options={filter.options}\n value={filter.value}\n onChange={filter.onChange}\n ariaLabel={`${filter.label} filter`}\n {...(filter.placeholder !== undefined\n ? { placeholder: filter.placeholder }\n : {})}\n {...(filter.disabled !== undefined\n ? { disabled: filter.disabled }\n : {})}\n triggerClassName=\"h-6 min-w-0 border-0 bg-transparent px-1 text-xs shadow-none focus-visible:ring-0\"\n menuClassName=\"left-auto right-0\"\n />\n </label>\n );\n}\n\nfunction RangeControlButton({\n kind,\n label,\n from = \"\",\n to = \"\",\n onApply,\n presets,\n timeEnabled,\n timeZone,\n timeZones,\n fromPlaceholder,\n toPlaceholder,\n emptyLabel,\n className,\n disabled,\n}: FilterBarRangeProps & { kind: \"date\" | \"time\"; label: string }) {\n const { compact } = useContext(FilterBarContext);\n return (\n <TimeRange\n kind={kind}\n label={label}\n from={from}\n to={to}\n onApply={onApply}\n compact={compact}\n {...(disabled !== undefined ? { disabled } : {})}\n {...(presets ? { presets } : {})}\n {...(timeEnabled !== undefined ? { timeEnabled } : {})}\n {...(timeZone ? { timeZone } : {})}\n {...(timeZones ? { timeZones } : {})}\n {...(fromPlaceholder ? { fromPlaceholder } : {})}\n {...(toPlaceholder ? { toPlaceholder } : {})}\n {...(emptyLabel ? { emptyLabel } : {})}\n {...(className ? { className } : {})}\n />\n );\n}\n\n// Anchored popup wired through floating-ui's portal so it escapes `overflow`\n// clipping from scroll-container ancestors (e.g. AppLayout's `<main>`), matching\n// Combobox/DropdownMenu. `flip`/`shift` keep it on-screen at viewport edges.\nfunction useAnchoredPopup(\n open: boolean,\n onOpenChange: (open: boolean) => void,\n placement: Placement = \"bottom-start\",\n) {\n const floatingZ = useFloatingZIndex();\n const { refs, floatingStyles, context } = useFloating({\n open,\n onOpenChange,\n placement,\n whileElementsMounted: autoUpdate,\n middleware: [offset(6), flip({ padding: 8 }), shift({ padding: 8 })],\n });\n const { getReferenceProps, getFloatingProps } = useInteractions([\n useClick(context),\n useDismiss(context, { escapeKey: false }),\n useRole(context, { role: \"dialog\" }),\n ]);\n useEscapeLayer(open, () => {\n onOpenChange(false);\n if (refs.domReference.current instanceof HTMLElement)\n refs.domReference.current.focus();\n });\n return {\n refs,\n floatingStyles,\n context,\n floatingZ,\n getReferenceProps,\n getFloatingProps,\n };\n}\n\nfunction useDebouncedTextDraft(\n value: string,\n onChange: (value: string) => void,\n) {\n const { autoSubmit } = useContext(FilterBarContext);\n const [draft, setDraft] = useState(value);\n const latestOnChange = useRef(onChange);\n const lastValue = useRef(value);\n const skipDraftChange = useRef(false);\n\n useEffect(() => {\n latestOnChange.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n if (lastValue.current === value) return;\n lastValue.current = value;\n skipDraftChange.current = true;\n setDraft(value);\n }, [value]);\n\n useEffect(() => {\n if (skipDraftChange.current) {\n skipDraftChange.current = false;\n return;\n }\n if (draft === value) return;\n\n if (!autoSubmit || draft === \"\") {\n latestOnChange.current(draft);\n return;\n }\n\n const timeoutId = window.setTimeout(() => {\n latestOnChange.current(draft);\n }, FILTER_INPUT_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timeoutId);\n }, [autoSubmit, draft, value]);\n\n return [draft, setDraft] as const;\n}\n\nfunction useDebouncedNumberDraft(\n value: FilterBarNumberValue,\n onChange: (value: FilterBarNumberValue) => void,\n) {\n const { autoSubmit } = useContext(FilterBarContext);\n const [draft, setDraft] = useState(value);\n const latestOnChange = useRef(onChange);\n\n useEffect(() => {\n latestOnChange.current = onChange;\n }, [onChange]);\n\n useEffect(() => {\n setDraft(value);\n }, [\n value.max,\n value.maxOperator,\n (value as FilterBarDurationValue).maxUnit,\n value.min,\n value.minOperator,\n (value as FilterBarDurationValue).minUnit,\n ]);\n\n useEffect(() => {\n if (sameNumberFilterValue(draft, value)) return;\n\n if (!autoSubmit) {\n latestOnChange.current(draft);\n return;\n }\n\n const timeoutId = window.setTimeout(() => {\n latestOnChange.current(draft);\n }, FILTER_INPUT_DEBOUNCE_MS);\n\n return () => window.clearTimeout(timeoutId);\n }, [autoSubmit, draft, value]);\n\n return [draft, setDraft] as const;\n}\n\nfunction sameNumberFilterValue(\n left: FilterBarNumberValue,\n right: FilterBarNumberValue,\n) {\n const leftDuration = left as FilterBarDurationValue;\n const rightDuration = right as FilterBarDurationValue;\n return (\n (left.min ?? \"\") === (right.min ?? \"\") &&\n (left.minOperator ?? \">=\") === (right.minOperator ?? \">=\") &&\n (leftDuration.minUnit ?? \"\") === (rightDuration.minUnit ?? \"\") &&\n (left.max ?? \"\") === (right.max ?? \"\") &&\n (left.maxOperator ?? \"<=\") === (right.maxOperator ?? \"<=\") &&\n (leftDuration.maxUnit ?? \"\") === (rightDuration.maxUnit ?? \"\")\n );\n}\n\ntype NumberFilterBounds = {\n min: number;\n max: number;\n step: number;\n};\n\ntype NumberFilterSource = \"min-input\" | \"max-input\";\n\nfunction resolveNumberFilterBounds(\n filter: FilterBarBoundedFilter,\n): NumberFilterBounds {\n const parsedMin = parseFilterNumber(filter.value.min);\n const parsedMax = parseFilterNumber(filter.value.max);\n const fallbackMin = parsedMin ?? 0;\n const fallbackMax = parsedMax ?? Math.max(fallbackMin + 100, 100);\n const min = filter.domainMin ?? Math.min(fallbackMin, fallbackMax);\n const max = filter.domainMax ?? Math.max(fallbackMax, min + 100);\n const step = filter.step && filter.step > 0 ? filter.step : 1;\n\n return {\n min,\n max: max <= min ? min + step : max,\n step,\n };\n}\n\nfunction summarizeNumberFilter(\n filter: FilterBarBoundedFilter,\n bounds: NumberFilterBounds,\n value: FilterBarNumberValue,\n) {\n const parsedMin = parseFilterNumber(value.min);\n const parsedMax = parseFilterNumber(value.max);\n const hasMin = String(value.min ?? \"\").trim() !== \"\";\n const hasMax = String(value.max ?? \"\").trim() !== \"\";\n\n if (!hasMin && !hasMax) {\n return filter.label;\n }\n\n const minLabel = formatNumberOperand(\n parsedMin ?? bounds.min,\n filter,\n value,\n \"min\",\n );\n const maxLabel = formatNumberOperand(\n parsedMax ?? bounds.max,\n filter,\n value,\n \"max\",\n );\n\n if (hasMin && hasMax) {\n return `${filter.label} ${value.minOperator ?? \">=\"}${minLabel}, ${value.maxOperator ?? \"<=\"}${maxLabel}`;\n }\n\n if (hasMin) {\n return `${filter.label} ${value.minOperator ?? \">=\"}${minLabel}`;\n }\n\n return `${filter.label} ${value.maxOperator ?? \"<=\"}${maxLabel}`;\n}\n\nfunction normalizeNumberFilterValue(\n nextValue: FilterBarNumberValue,\n source: NumberFilterSource,\n): FilterBarNumberValue {\n let min = nextValue.min ?? \"\";\n let max = nextValue.max ?? \"\";\n\n const parsedMin = parseFilterNumber(min);\n const parsedMax = parseFilterNumber(max);\n\n if (parsedMin != null && parsedMax != null && parsedMin > parsedMax) {\n if (source.startsWith(\"min\")) {\n max = min;\n } else {\n min = max;\n }\n }\n\n return { ...nextValue, min, max };\n}\n\nfunction numberFilterValueFromSlider(\n value: [number, number],\n bounds: NumberFilterBounds,\n filter: FilterBarBoundedFilter,\n): FilterBarNumberValue {\n const [min, max] = value;\n const next: FilterBarDurationValue = {\n min:\n min <= bounds.min\n ? \"\"\n : formatRawNumber(clampNumber(min, bounds.min, bounds.max)),\n minOperator: \">=\",\n max:\n max >= bounds.max\n ? \"\"\n : formatRawNumber(clampNumber(max, bounds.min, bounds.max)),\n maxOperator: \"<=\",\n };\n if (filter.kind === \"duration\") {\n next.minUnit = filter.unit ?? \"ms\";\n next.maxUnit = filter.unit ?? \"ms\";\n }\n return next;\n}\n\nfunction parseFilterNumber(value: string | undefined) {\n if (!value?.trim()) return null;\n const parsed = Number(value);\n return Number.isFinite(parsed) ? parsed : null;\n}\n\nfunction clampNumber(value: number, min: number, max: number) {\n return Math.min(max, Math.max(min, value));\n}\n\nfunction formatNumberValue(value: number, filter: FilterBarBoundedFilter) {\n if (filter.kind === \"number\" && filter.formatValue) {\n return filter.formatValue(value);\n }\n if (filter.kind === \"duration\") {\n return `${formatRawNumber(value)} ${filter.unit ?? \"ms\"}`;\n }\n return filter.unit\n ? `${formatRawNumber(value)} ${filter.unit}`\n : formatRawNumber(value);\n}\n\nfunction formatNumberOperand(\n value: number,\n filter: FilterBarBoundedFilter,\n bounds: FilterBarNumberValue,\n edge: \"min\" | \"max\",\n) {\n if (filter.kind !== \"duration\") return formatNumberValue(value, filter);\n const duration = bounds as FilterBarDurationValue;\n const unit = edge === \"min\" ? duration.minUnit : duration.maxUnit;\n return `${formatRawNumber(value)} ${unit ?? filter.unit ?? \"ms\"}`;\n}\n\nfunction applyBoundedFilterValue(\n filter: FilterBarBoundedFilter,\n value: FilterBarDurationValue,\n) {\n filter.onChange(value);\n}\n\nfunction formatRawNumber(value: number) {\n return Number.isInteger(value)\n ? String(value)\n : String(Number(value.toFixed(6)));\n}\n\ntype FilterBarValue =\n | string\n | string[]\n | boolean\n // A tri-state filter's \"off\" position is undefined, so it is a real staged\n // value rather than the absence of one.\n | undefined\n | FilterBarNumberValue\n | Record<string, FilterBarMultiFilterMode>;\n\nfunction createFilterValueMap(filters: FilterBarFilter[]) {\n return Object.fromEntries(\n filters.map((filter) => [filter.key, filterBarFilterValue(filter)]),\n );\n}\n\n// A date range applies the moment it is applied in its own panel, exactly as\n// the bar's trailing range control does, so it has no value to stage and\n// nothing here ever writes one back to it.\nfunction isStageableFilter(\n filter: FilterBarFilter,\n): filter is Exclude<FilterBarFilter, FilterBarDateRangeFilter> {\n return filter.kind !== \"date-range\";\n}\n\nfunction filterBarFilterValue(filter: FilterBarFilter): FilterBarValue {\n if (!isStageableFilter(filter)) return undefined;\n return filter.value;\n}\n\nfunction filterWithStagedValue(\n filter: FilterBarFilter,\n value: FilterBarValue,\n onChange: (value: FilterBarValue) => void,\n): FilterBarFilter {\n if (!isStageableFilter(filter)) return filter;\n if (filter.kind === \"text\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"lookup\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"workload\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"lookup-multi\") {\n return {\n ...filter,\n value: Array.isArray(value) ? value.map(String) : [],\n onChange: (next: string[]) => onChange(next),\n };\n }\n if (filter.kind === \"multi\") {\n return {\n ...filter,\n value: isMultiFilterValue(value) ? value : {},\n onChange: (next: Record<string, FilterBarMultiFilterMode>) =>\n onChange(next),\n };\n }\n if (filter.kind === \"nested-multi\") {\n return {\n ...filter,\n value: isMultiFilterValue(value) ? value : {},\n onChange: (next: Record<string, FilterBarMultiFilterMode>) =>\n onChange(next),\n };\n }\n if (filter.kind === \"select-multi\") {\n return {\n ...filter,\n value: Array.isArray(value) ? value.map(String) : [],\n onChange: (next: string[]) => onChange(next),\n };\n }\n if (filter.kind === \"number\" || filter.kind === \"duration\") {\n return {\n ...filter,\n value: isNumberFilterValue(value) ? value : {},\n onChange: (next: FilterBarNumberValue) => onChange(next),\n } as FilterBarFilter;\n }\n if (filter.kind === \"enum\") {\n return {\n ...filter,\n value: String(value ?? \"\"),\n onChange: (next: string) => onChange(next),\n };\n }\n if (filter.kind === \"tristate\") {\n return {\n ...filter,\n value: value === undefined ? undefined : Boolean(value),\n onChange: (next: TriState) => onChange(next),\n };\n }\n return {\n ...filter,\n value: Boolean(value),\n onChange: (next: boolean) => onChange(next),\n };\n}\n\nfunction applyStagedFilterValues(\n filters: FilterBarFilter[],\n stagedValues: Record<string, FilterBarValue>,\n) {\n for (const filter of filters) {\n if (!isStageableFilter(filter)) continue;\n // Key presence, not `??`: undefined is a tri-state filter's \"off\" value and\n // must still be applied over a live true/false.\n const next = Object.hasOwn(stagedValues, filter.key)\n ? stagedValues[filter.key]\n : filterBarFilterValue(filter);\n if (sameFilterBarValue(filterBarFilterValue(filter), next)) continue;\n applyFilterBarValue(filter, next);\n }\n}\n\nfunction applyFilterBarValue(filter: FilterBarFilter, value: FilterBarValue) {\n if (!isStageableFilter(filter)) return;\n if (\n filter.kind === \"text\" ||\n filter.kind === \"lookup\" ||\n filter.kind === \"workload\" ||\n filter.kind === \"enum\"\n ) {\n filter.onChange(String(value ?? \"\"));\n return;\n }\n if (filter.kind === \"lookup-multi\" || filter.kind === \"select-multi\") {\n filter.onChange(Array.isArray(value) ? value.map(String) : []);\n return;\n }\n if (filter.kind === \"number\" || filter.kind === \"duration\") {\n const next = isNumberFilterValue(value) ? value : {};\n applyBoundedFilterValue(filter, next);\n return;\n }\n if (filter.kind === \"boolean\") {\n filter.onChange(Boolean(value));\n return;\n }\n if (filter.kind === \"tristate\") {\n filter.onChange(value === undefined ? undefined : Boolean(value));\n return;\n }\n filter.onChange(isMultiFilterValue(value) ? value : {});\n}\n\nfunction sameFilterBarValue(left: FilterBarValue, right: FilterBarValue) {\n return JSON.stringify(left) === JSON.stringify(right);\n}\n\nfunction isNumberFilterValue(\n value: FilterBarValue,\n): value is FilterBarNumberValue {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction isMultiFilterValue(\n value: FilterBarValue,\n): value is Record<string, FilterBarMultiFilterMode> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction calculateVisibleFilterCount(widths: number[], availableWidth: number) {\n if (widths.length === 0) return 0;\n\n let used = 0;\n let count = 0;\n for (const width of widths) {\n const nextUsed = used + (count > 0 ? FILTER_BAR_GAP_PX : 0) + width;\n if (nextUsed > availableWidth) break;\n used = nextUsed;\n count += 1;\n }\n return count;\n}\n\nfunction sumFilterWidths(widths: number[]) {\n if (widths.length === 0) return 0;\n return (\n widths.reduce((total, width) => total + width, 0) +\n (widths.length - 1) * FILTER_BAR_GAP_PX\n );\n}\n\nfunction estimateFilterWidth(filter: FilterBarFilter) {\n if (filter.kind === \"boolean\")\n return Math.max(88, filter.label.length * 8 + 40);\n // Multi renders as a combobox field (min-w-[11rem] ≈ 176px); nested keeps\n // its compact trigger button.\n if (filter.kind === \"multi\") return 176;\n if (filter.kind === \"nested-multi\") return 136;\n if (filter.kind === \"workload\") return 224;\n if (filter.kind === \"number\" || filter.kind === \"duration\") return 152;\n return Math.max(144, filter.label.length * 8 + 96);\n}\n"],"names":["useMemo","useMediaQuery","useRef","useState","useLayoutEffect","useCallback","useEffect","isFilterBarFilterActive","jsx","FilterBarContext","jsxs","cn","Button","Fragment","MultiFilterPanel","dateRangeFilterProps","MultiFilterField","useMergeRefs","clearFilterBarFilter","Icon","UiFilter","Modal","FloatingPortal","FloatingFocusManager","UiClose","LabelIcon","sizedIcon","WorkloadPicker","DateTimePicker","Combobox","TriStateToggle","MultiSelect","TimeRange","comboboxLabelProps","lookupFieldWidthClass","UiSearch","formatDateTimeRelative","UiChevronUp","UiChevronDown","RangeSlider","useDebouncedMultiDraft","UiChevronRight","multiSelectOptionText","updateMultiFilterValue","nextFilterMode","FilterPill","summarizeMultiFilter","useContext","useFloatingZIndex","useFloating","autoUpdate","offset","flip","shift","useInteractions","useClick","useDismiss","useRole","useEscapeLayer","FILTER_INPUT_DEBOUNCE_MS"],"mappings":"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"}