@flanksource/clicky-ui 0.3.15 → 0.3.16

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 (754) hide show
  1. package/NOTICE.md +10 -0
  2. package/dist/ai.cjs +33 -4
  3. package/dist/ai.cjs.map +1 -1
  4. package/dist/ai.js +31 -2
  5. package/dist/ai.js.map +1 -1
  6. package/dist/chat.cjs +6 -0
  7. package/dist/chat.cjs.map +1 -1
  8. package/dist/chat.js +7 -1
  9. package/dist/chat.js.map +1 -1
  10. package/dist/components/Combobox.cjs +92 -170
  11. package/dist/components/Combobox.cjs.map +1 -1
  12. package/dist/components/Combobox.d.ts +2 -111
  13. package/dist/components/Combobox.d.ts.map +1 -1
  14. package/dist/components/Combobox.js +95 -173
  15. package/dist/components/Combobox.js.map +1 -1
  16. package/dist/components/ComboboxActions.cjs +70 -0
  17. package/dist/components/ComboboxActions.cjs.map +1 -0
  18. package/dist/components/ComboboxActions.d.ts +8 -0
  19. package/dist/components/ComboboxActions.d.ts.map +1 -0
  20. package/dist/components/ComboboxActions.js +70 -0
  21. package/dist/components/ComboboxActions.js.map +1 -0
  22. package/dist/components/ComboboxMenu.cjs +160 -0
  23. package/dist/components/ComboboxMenu.cjs.map +1 -0
  24. package/dist/components/ComboboxMenu.d.ts +22 -0
  25. package/dist/components/ComboboxMenu.d.ts.map +1 -0
  26. package/dist/components/ComboboxMenu.js +160 -0
  27. package/dist/components/ComboboxMenu.js.map +1 -0
  28. package/dist/components/EndpointSelector.cjs +407 -0
  29. package/dist/components/EndpointSelector.cjs.map +1 -0
  30. package/dist/components/EndpointSelector.d.ts +3 -0
  31. package/dist/components/EndpointSelector.d.ts.map +1 -0
  32. package/dist/components/EndpointSelector.js +407 -0
  33. package/dist/components/EndpointSelector.js.map +1 -0
  34. package/dist/components/EndpointSelector.model.d.ts +52 -0
  35. package/dist/components/EndpointSelector.model.d.ts.map +1 -0
  36. package/dist/components/FilterBar.cjs +12 -0
  37. package/dist/components/FilterBar.cjs.map +1 -1
  38. package/dist/components/FilterBar.d.ts +4 -0
  39. package/dist/components/FilterBar.d.ts.map +1 -1
  40. package/dist/components/FilterBar.js +12 -0
  41. package/dist/components/FilterBar.js.map +1 -1
  42. package/dist/components/InputField.cjs +11 -12
  43. package/dist/components/InputField.cjs.map +1 -1
  44. package/dist/components/InputField.d.ts +7 -0
  45. package/dist/components/InputField.d.ts.map +1 -1
  46. package/dist/components/InputField.js +12 -13
  47. package/dist/components/InputField.js.map +1 -1
  48. package/dist/components/JsonSchemaForm.cjs +22 -16
  49. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  50. package/dist/components/JsonSchemaForm.d.ts +1 -1
  51. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  52. package/dist/components/JsonSchemaForm.js +22 -16
  53. package/dist/components/JsonSchemaForm.js.map +1 -1
  54. package/dist/components/MultiSelect.cjs +3 -3
  55. package/dist/components/MultiSelect.cjs.map +1 -1
  56. package/dist/components/MultiSelect.d.ts.map +1 -1
  57. package/dist/components/MultiSelect.js +3 -3
  58. package/dist/components/MultiSelect.js.map +1 -1
  59. package/dist/components/SecretKeySelector.cjs +150 -77
  60. package/dist/components/SecretKeySelector.cjs.map +1 -1
  61. package/dist/components/SecretKeySelector.d.ts.map +1 -1
  62. package/dist/components/SecretKeySelector.js +151 -78
  63. package/dist/components/SecretKeySelector.js.map +1 -1
  64. package/dist/components/WorkloadPicker.cjs +2 -1
  65. package/dist/components/WorkloadPicker.cjs.map +1 -1
  66. package/dist/components/WorkloadPicker.d.ts +6 -1
  67. package/dist/components/WorkloadPicker.d.ts.map +1 -1
  68. package/dist/components/WorkloadPicker.js +2 -1
  69. package/dist/components/WorkloadPicker.js.map +1 -1
  70. package/dist/components/combobox-types.d.ts +107 -0
  71. package/dist/components/combobox-types.d.ts.map +1 -0
  72. package/dist/components/combobox-utils.cjs +21 -0
  73. package/dist/components/combobox-utils.cjs.map +1 -0
  74. package/dist/components/combobox-utils.d.ts +15 -0
  75. package/dist/components/combobox-utils.d.ts.map +1 -0
  76. package/dist/components/combobox-utils.js +21 -0
  77. package/dist/components/combobox-utils.js.map +1 -0
  78. package/dist/components/endpoint-port.cjs +12 -0
  79. package/dist/components/endpoint-port.cjs.map +1 -0
  80. package/dist/components/endpoint-port.d.ts +4 -0
  81. package/dist/components/endpoint-port.d.ts.map +1 -0
  82. package/dist/components/endpoint-port.js +12 -0
  83. package/dist/components/endpoint-port.js.map +1 -0
  84. package/dist/components/json-schema-form-array.cjs +12 -23
  85. package/dist/components/json-schema-form-array.cjs.map +1 -1
  86. package/dist/components/json-schema-form-array.d.ts +1 -1
  87. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  88. package/dist/components/json-schema-form-array.js +12 -23
  89. package/dist/components/json-schema-form-array.js.map +1 -1
  90. package/dist/components/json-schema-form-discriminator.cjs +6 -2
  91. package/dist/components/json-schema-form-discriminator.cjs.map +1 -1
  92. package/dist/components/json-schema-form-discriminator.d.ts.map +1 -1
  93. package/dist/components/json-schema-form-discriminator.js +6 -2
  94. package/dist/components/json-schema-form-discriminator.js.map +1 -1
  95. package/dist/components/json-schema-form-error-display.cjs +50 -0
  96. package/dist/components/json-schema-form-error-display.cjs.map +1 -0
  97. package/dist/components/json-schema-form-error-display.d.ts +12 -0
  98. package/dist/components/json-schema-form-error-display.d.ts.map +1 -0
  99. package/dist/components/json-schema-form-error-display.js +50 -0
  100. package/dist/components/json-schema-form-error-display.js.map +1 -0
  101. package/dist/components/json-schema-form-error-types.d.ts +26 -0
  102. package/dist/components/json-schema-form-error-types.d.ts.map +1 -0
  103. package/dist/components/json-schema-form-errors.cjs +169 -0
  104. package/dist/components/json-schema-form-errors.cjs.map +1 -0
  105. package/dist/components/json-schema-form-errors.d.ts +14 -0
  106. package/dist/components/json-schema-form-errors.d.ts.map +1 -0
  107. package/dist/components/json-schema-form-errors.js +169 -0
  108. package/dist/components/json-schema-form-errors.js.map +1 -0
  109. package/dist/components/json-schema-form-object.cjs +12 -2
  110. package/dist/components/json-schema-form-object.cjs.map +1 -1
  111. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  112. package/dist/components/json-schema-form-object.js +12 -2
  113. package/dist/components/json-schema-form-object.js.map +1 -1
  114. package/dist/components/json-schema-form-refs.cjs +84 -19
  115. package/dist/components/json-schema-form-refs.cjs.map +1 -1
  116. package/dist/components/json-schema-form-refs.d.ts.map +1 -1
  117. package/dist/components/json-schema-form-refs.js +84 -19
  118. package/dist/components/json-schema-form-refs.js.map +1 -1
  119. package/dist/components/json-schema-form-render.cjs +33 -10
  120. package/dist/components/json-schema-form-render.cjs.map +1 -1
  121. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  122. package/dist/components/json-schema-form-render.js +34 -11
  123. package/dist/components/json-schema-form-render.js.map +1 -1
  124. package/dist/components/json-schema-form-resolve.cjs +16 -4
  125. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  126. package/dist/components/json-schema-form-resolve.d.ts +1 -0
  127. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  128. package/dist/components/json-schema-form-resolve.js +17 -5
  129. package/dist/components/json-schema-form-resolve.js.map +1 -1
  130. package/dist/components/json-schema-form-types.d.ts +4 -3
  131. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  132. package/dist/components.cjs +13 -0
  133. package/dist/components.cjs.map +1 -1
  134. package/dist/components.d.ts +8 -1
  135. package/dist/components.d.ts.map +1 -1
  136. package/dist/components.js +15 -2
  137. package/dist/components.js.map +1 -1
  138. package/dist/data/DataTable.cjs +177 -6
  139. package/dist/data/DataTable.cjs.map +1 -1
  140. package/dist/data/DataTable.d.ts +39 -0
  141. package/dist/data/DataTable.d.ts.map +1 -1
  142. package/dist/data/DataTable.grouping.cjs +21 -0
  143. package/dist/data/DataTable.grouping.cjs.map +1 -0
  144. package/dist/data/DataTable.grouping.d.ts +26 -0
  145. package/dist/data/DataTable.grouping.d.ts.map +1 -0
  146. package/dist/data/DataTable.grouping.js +21 -0
  147. package/dist/data/DataTable.grouping.js.map +1 -0
  148. package/dist/data/DataTable.js +177 -6
  149. package/dist/data/DataTable.js.map +1 -1
  150. package/dist/data/Markdown.cjs +45 -1
  151. package/dist/data/Markdown.cjs.map +1 -1
  152. package/dist/data/Markdown.d.ts +3 -2
  153. package/dist/data/Markdown.d.ts.map +1 -1
  154. package/dist/data/Markdown.js +45 -1
  155. package/dist/data/Markdown.js.map +1 -1
  156. package/dist/data/MarkdownEditor.cjs +4 -3
  157. package/dist/data/MarkdownEditor.cjs.map +1 -1
  158. package/dist/data/MarkdownEditor.d.ts +6 -2
  159. package/dist/data/MarkdownEditor.d.ts.map +1 -1
  160. package/dist/data/MarkdownEditor.js +4 -3
  161. package/dist/data/MarkdownEditor.js.map +1 -1
  162. package/dist/data/StatStrip.cjs +99 -0
  163. package/dist/data/StatStrip.cjs.map +1 -0
  164. package/dist/data/StatStrip.d.ts +41 -0
  165. package/dist/data/StatStrip.d.ts.map +1 -0
  166. package/dist/data/StatStrip.js +99 -0
  167. package/dist/data/StatStrip.js.map +1 -0
  168. package/dist/data/TaskManager.cjs +20 -1
  169. package/dist/data/TaskManager.cjs.map +1 -1
  170. package/dist/data/TaskManager.d.ts +3 -1
  171. package/dist/data/TaskManager.d.ts.map +1 -1
  172. package/dist/data/TaskManager.js +20 -1
  173. package/dist/data/TaskManager.js.map +1 -1
  174. package/dist/data/TaskManagerButton.cjs +49 -0
  175. package/dist/data/TaskManagerButton.cjs.map +1 -0
  176. package/dist/data/TaskManagerButton.d.ts +8 -0
  177. package/dist/data/TaskManagerButton.d.ts.map +1 -0
  178. package/dist/data/TaskManagerButton.js +49 -0
  179. package/dist/data/TaskManagerButton.js.map +1 -0
  180. package/dist/data/TaskProcessDetails.cjs +113 -0
  181. package/dist/data/TaskProcessDetails.cjs.map +1 -0
  182. package/dist/data/TaskProcessDetails.d.ts +6 -0
  183. package/dist/data/TaskProcessDetails.d.ts.map +1 -0
  184. package/dist/data/TaskProcessDetails.js +113 -0
  185. package/dist/data/TaskProcessDetails.js.map +1 -0
  186. package/dist/data/TaskProgress.cjs +106 -19
  187. package/dist/data/TaskProgress.cjs.map +1 -1
  188. package/dist/data/TaskProgress.d.ts +4 -2
  189. package/dist/data/TaskProgress.d.ts.map +1 -1
  190. package/dist/data/TaskProgress.js +107 -20
  191. package/dist/data/TaskProgress.js.map +1 -1
  192. package/dist/data/TaskSnapshot.cjs.map +1 -1
  193. package/dist/data/TaskSnapshot.d.ts +43 -0
  194. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  195. package/dist/data/TaskSnapshot.js.map +1 -1
  196. package/dist/data/Tree.cjs +91 -82
  197. package/dist/data/Tree.cjs.map +1 -1
  198. package/dist/data/Tree.d.ts +3 -1
  199. package/dist/data/Tree.d.ts.map +1 -1
  200. package/dist/data/Tree.js +91 -82
  201. package/dist/data/Tree.js.map +1 -1
  202. package/dist/data/TreeNode.cjs +3 -0
  203. package/dist/data/TreeNode.cjs.map +1 -1
  204. package/dist/data/TreeNode.d.ts +2 -1
  205. package/dist/data/TreeNode.d.ts.map +1 -1
  206. package/dist/data/TreeNode.js +3 -0
  207. package/dist/data/TreeNode.js.map +1 -1
  208. package/dist/data/ai/ChatWindow.cjs +9 -140
  209. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  210. package/dist/data/ai/ChatWindow.d.ts +2 -40
  211. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  212. package/dist/data/ai/ChatWindow.js +6 -137
  213. package/dist/data/ai/ChatWindow.js.map +1 -1
  214. package/dist/data/ai/ChatWindow.models.cjs +11 -0
  215. package/dist/data/ai/ChatWindow.models.cjs.map +1 -0
  216. package/dist/data/ai/ChatWindow.models.d.ts +3 -0
  217. package/dist/data/ai/ChatWindow.models.d.ts.map +1 -0
  218. package/dist/data/ai/ChatWindow.models.js +11 -0
  219. package/dist/data/ai/ChatWindow.models.js.map +1 -0
  220. package/dist/data/ai/ChatWindow.preferences.cjs +57 -0
  221. package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -0
  222. package/dist/data/ai/ChatWindow.preferences.d.ts +13 -0
  223. package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -0
  224. package/dist/data/ai/ChatWindow.preferences.js +57 -0
  225. package/dist/data/ai/ChatWindow.preferences.js.map +1 -0
  226. package/dist/data/ai/ChatWindow.tool-catalog.cjs +99 -0
  227. package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -0
  228. package/dist/data/ai/ChatWindow.tool-catalog.d.ts +3 -0
  229. package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -0
  230. package/dist/data/ai/ChatWindow.tool-catalog.js +99 -0
  231. package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -0
  232. package/dist/data/ai/ChatWindow.types.d.ts +41 -0
  233. package/dist/data/ai/ChatWindow.types.d.ts.map +1 -0
  234. package/dist/data/ai/ContextBadges.cjs +76 -46
  235. package/dist/data/ai/ContextBadges.cjs.map +1 -1
  236. package/dist/data/ai/ContextBadges.d.ts.map +1 -1
  237. package/dist/data/ai/ContextBadges.js +77 -47
  238. package/dist/data/ai/ContextBadges.js.map +1 -1
  239. package/dist/data/ai/PromptPicker/PromptPicker.cjs +151 -32
  240. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  241. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +7 -4
  242. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  243. package/dist/data/ai/PromptPicker/PromptPicker.js +152 -33
  244. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  245. package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs +133 -0
  246. package/dist/data/ai/PromptPicker/PromptSourceRepair.cjs.map +1 -0
  247. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts +11 -0
  248. package/dist/data/ai/PromptPicker/PromptSourceRepair.d.ts.map +1 -0
  249. package/dist/data/ai/PromptPicker/PromptSourceRepair.js +133 -0
  250. package/dist/data/ai/PromptPicker/PromptSourceRepair.js.map +1 -0
  251. package/dist/data/ai/PromptPicker/index.d.ts +2 -1
  252. package/dist/data/ai/PromptPicker/index.d.ts.map +1 -1
  253. package/dist/data/ai/PromptPicker/types.cjs +7 -0
  254. package/dist/data/ai/PromptPicker/types.cjs.map +1 -0
  255. package/dist/data/ai/PromptPicker/types.d.ts +18 -2
  256. package/dist/data/ai/PromptPicker/types.d.ts.map +1 -1
  257. package/dist/data/ai/PromptPicker/types.js +7 -0
  258. package/dist/data/ai/PromptPicker/types.js.map +1 -0
  259. package/dist/data/ai/PromptRunEditor/index.cjs +82 -14
  260. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  261. package/dist/data/ai/PromptRunEditor/index.d.ts +5 -1
  262. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  263. package/dist/data/ai/PromptRunEditor/index.js +83 -15
  264. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  265. package/dist/data/ai/RuntimeBar.cjs +336 -0
  266. package/dist/data/ai/RuntimeBar.cjs.map +1 -0
  267. package/dist/data/ai/RuntimeBar.d.ts +27 -0
  268. package/dist/data/ai/RuntimeBar.d.ts.map +1 -0
  269. package/dist/data/ai/RuntimeBar.js +336 -0
  270. package/dist/data/ai/RuntimeBar.js.map +1 -0
  271. package/dist/data/ai/SessionChatComposer.cjs +56 -0
  272. package/dist/data/ai/SessionChatComposer.cjs.map +1 -0
  273. package/dist/data/ai/SessionChatComposer.d.ts +24 -0
  274. package/dist/data/ai/SessionChatComposer.d.ts.map +1 -0
  275. package/dist/data/ai/SessionChatComposer.js +56 -0
  276. package/dist/data/ai/SessionChatComposer.js.map +1 -0
  277. package/dist/data/ai/SessionInspector.cjs +222 -382
  278. package/dist/data/ai/SessionInspector.cjs.map +1 -1
  279. package/dist/data/ai/SessionInspector.collection-types.d.ts +55 -0
  280. package/dist/data/ai/SessionInspector.collection-types.d.ts.map +1 -0
  281. package/dist/data/ai/SessionInspector.collection.cjs +377 -0
  282. package/dist/data/ai/SessionInspector.collection.cjs.map +1 -0
  283. package/dist/data/ai/SessionInspector.collection.d.ts +15 -0
  284. package/dist/data/ai/SessionInspector.collection.d.ts.map +1 -0
  285. package/dist/data/ai/SessionInspector.collection.js +377 -0
  286. package/dist/data/ai/SessionInspector.collection.js.map +1 -0
  287. package/dist/data/ai/SessionInspector.d.ts +9 -4
  288. package/dist/data/ai/SessionInspector.d.ts.map +1 -1
  289. package/dist/data/ai/SessionInspector.files.cjs +162 -0
  290. package/dist/data/ai/SessionInspector.files.cjs.map +1 -0
  291. package/dist/data/ai/SessionInspector.files.d.ts +5 -0
  292. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -0
  293. package/dist/data/ai/SessionInspector.files.js +162 -0
  294. package/dist/data/ai/SessionInspector.files.js.map +1 -0
  295. package/dist/data/ai/SessionInspector.hierarchy-state.cjs +148 -0
  296. package/dist/data/ai/SessionInspector.hierarchy-state.cjs.map +1 -0
  297. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts +15 -0
  298. package/dist/data/ai/SessionInspector.hierarchy-state.d.ts.map +1 -0
  299. package/dist/data/ai/SessionInspector.hierarchy-state.js +148 -0
  300. package/dist/data/ai/SessionInspector.hierarchy-state.js.map +1 -0
  301. package/dist/data/ai/SessionInspector.hierarchy.cjs +256 -0
  302. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -0
  303. package/dist/data/ai/SessionInspector.hierarchy.d.ts +9 -0
  304. package/dist/data/ai/SessionInspector.hierarchy.d.ts.map +1 -0
  305. package/dist/data/ai/SessionInspector.hierarchy.js +256 -0
  306. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -0
  307. package/dist/data/ai/SessionInspector.js +224 -384
  308. package/dist/data/ai/SessionInspector.js.map +1 -1
  309. package/dist/data/ai/SessionInspector.model.cjs +125 -0
  310. package/dist/data/ai/SessionInspector.model.cjs.map +1 -0
  311. package/dist/data/ai/SessionInspector.model.d.ts +14 -0
  312. package/dist/data/ai/SessionInspector.model.d.ts.map +1 -0
  313. package/dist/data/ai/SessionInspector.model.js +125 -0
  314. package/dist/data/ai/SessionInspector.model.js.map +1 -0
  315. package/dist/data/ai/SessionInspector.panels.cjs +265 -0
  316. package/dist/data/ai/SessionInspector.panels.cjs.map +1 -0
  317. package/dist/data/ai/SessionInspector.panels.d.ts +10 -0
  318. package/dist/data/ai/SessionInspector.panels.d.ts.map +1 -0
  319. package/dist/data/ai/SessionInspector.panels.js +265 -0
  320. package/dist/data/ai/SessionInspector.panels.js.map +1 -0
  321. package/dist/data/ai/SessionInspector.plan.cjs +77 -0
  322. package/dist/data/ai/SessionInspector.plan.cjs.map +1 -0
  323. package/dist/data/ai/SessionInspector.plan.d.ts +6 -0
  324. package/dist/data/ai/SessionInspector.plan.d.ts.map +1 -0
  325. package/dist/data/ai/SessionInspector.plan.js +77 -0
  326. package/dist/data/ai/SessionInspector.plan.js.map +1 -0
  327. package/dist/data/ai/SessionInspector.summary.cjs +182 -0
  328. package/dist/data/ai/SessionInspector.summary.cjs.map +1 -0
  329. package/dist/data/ai/SessionInspector.summary.d.ts +8 -0
  330. package/dist/data/ai/SessionInspector.summary.d.ts.map +1 -0
  331. package/dist/data/ai/SessionInspector.summary.js +182 -0
  332. package/dist/data/ai/SessionInspector.summary.js.map +1 -0
  333. package/dist/data/ai/SessionInspector.transcript.cjs +94 -0
  334. package/dist/data/ai/SessionInspector.transcript.cjs.map +1 -0
  335. package/dist/data/ai/SessionInspector.transcript.d.ts +7 -0
  336. package/dist/data/ai/SessionInspector.transcript.d.ts.map +1 -0
  337. package/dist/data/ai/SessionInspector.transcript.js +94 -0
  338. package/dist/data/ai/SessionInspector.transcript.js.map +1 -0
  339. package/dist/data/ai/SessionInspector.turns.d.ts +11 -0
  340. package/dist/data/ai/SessionInspector.turns.d.ts.map +1 -0
  341. package/dist/data/ai/SessionViewer.cjs +86 -121
  342. package/dist/data/ai/SessionViewer.cjs.map +1 -1
  343. package/dist/data/ai/SessionViewer.d.ts +8 -1
  344. package/dist/data/ai/SessionViewer.d.ts.map +1 -1
  345. package/dist/data/ai/SessionViewer.fixtures.d.ts +2 -0
  346. package/dist/data/ai/SessionViewer.fixtures.d.ts.map +1 -1
  347. package/dist/data/ai/SessionViewer.header.cjs +110 -0
  348. package/dist/data/ai/SessionViewer.header.cjs.map +1 -0
  349. package/dist/data/ai/SessionViewer.header.d.ts +11 -0
  350. package/dist/data/ai/SessionViewer.header.d.ts.map +1 -0
  351. package/dist/data/ai/SessionViewer.header.js +110 -0
  352. package/dist/data/ai/SessionViewer.header.js.map +1 -0
  353. package/dist/data/ai/SessionViewer.js +87 -122
  354. package/dist/data/ai/SessionViewer.js.map +1 -1
  355. package/dist/data/ai/SessionViewer.model.cjs +109 -39
  356. package/dist/data/ai/SessionViewer.model.cjs.map +1 -1
  357. package/dist/data/ai/SessionViewer.model.d.ts +2 -0
  358. package/dist/data/ai/SessionViewer.model.d.ts.map +1 -1
  359. package/dist/data/ai/SessionViewer.model.js +109 -39
  360. package/dist/data/ai/SessionViewer.model.js.map +1 -1
  361. package/dist/data/ai/SessionViewer.row-metadata.cjs +132 -0
  362. package/dist/data/ai/SessionViewer.row-metadata.cjs.map +1 -0
  363. package/dist/data/ai/SessionViewer.row-metadata.d.ts +14 -0
  364. package/dist/data/ai/SessionViewer.row-metadata.d.ts.map +1 -0
  365. package/dist/data/ai/SessionViewer.row-metadata.js +132 -0
  366. package/dist/data/ai/SessionViewer.row-metadata.js.map +1 -0
  367. package/dist/data/ai/SessionViewer.row-time.cjs +15 -0
  368. package/dist/data/ai/SessionViewer.row-time.cjs.map +1 -0
  369. package/dist/data/ai/SessionViewer.row-time.d.ts +3 -0
  370. package/dist/data/ai/SessionViewer.row-time.d.ts.map +1 -0
  371. package/dist/data/ai/SessionViewer.row-time.js +15 -0
  372. package/dist/data/ai/SessionViewer.row-time.js.map +1 -0
  373. package/dist/data/ai/SessionViewer.rows.cjs +37 -424
  374. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  375. package/dist/data/ai/SessionViewer.rows.d.ts +5 -2
  376. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  377. package/dist/data/ai/SessionViewer.rows.js +31 -418
  378. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  379. package/dist/data/ai/SessionViewer.tool-details.cjs +65 -0
  380. package/dist/data/ai/SessionViewer.tool-details.cjs.map +1 -0
  381. package/dist/data/ai/SessionViewer.tool-details.d.ts +20 -0
  382. package/dist/data/ai/SessionViewer.tool-details.d.ts.map +1 -0
  383. package/dist/data/ai/SessionViewer.tool-details.js +65 -0
  384. package/dist/data/ai/SessionViewer.tool-details.js.map +1 -0
  385. package/dist/data/ai/SessionViewer.tool-row.cjs +404 -0
  386. package/dist/data/ai/SessionViewer.tool-row.cjs.map +1 -0
  387. package/dist/data/ai/SessionViewer.tool-row.d.ts +12 -0
  388. package/dist/data/ai/SessionViewer.tool-row.d.ts.map +1 -0
  389. package/dist/data/ai/SessionViewer.tool-row.js +404 -0
  390. package/dist/data/ai/SessionViewer.tool-row.js.map +1 -0
  391. package/dist/data/ai/SessionViewer.unified.d.ts +10 -2
  392. package/dist/data/ai/SessionViewer.unified.d.ts.map +1 -1
  393. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs +44 -26
  394. package/dist/data/ai/SpecRuntimeEditor/CommitSection.cjs.map +1 -1
  395. package/dist/data/ai/SpecRuntimeEditor/CommitSection.d.ts.map +1 -1
  396. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js +47 -29
  397. package/dist/data/ai/SpecRuntimeEditor/CommitSection.js.map +1 -1
  398. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +45 -153
  399. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  400. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  401. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +51 -159
  402. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  403. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs +0 -1
  404. package/dist/data/ai/SpecRuntimeEditor/PromptSection.cjs.map +1 -1
  405. package/dist/data/ai/SpecRuntimeEditor/PromptSection.d.ts.map +1 -1
  406. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js +0 -1
  407. package/dist/data/ai/SpecRuntimeEditor/PromptSection.js.map +1 -1
  408. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs +0 -5
  409. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.cjs.map +1 -1
  410. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.d.ts.map +1 -1
  411. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js +0 -5
  412. package/dist/data/ai/SpecRuntimeEditor/WorkspaceSection.js.map +1 -1
  413. package/dist/data/ai/SpecRuntimeEditor/summaries.cjs.map +1 -1
  414. package/dist/data/ai/SpecRuntimeEditor/summaries.d.ts.map +1 -1
  415. package/dist/data/ai/SpecRuntimeEditor/summaries.js.map +1 -1
  416. package/dist/data/ai/SpecRuntimeEditor/update.cjs +19 -6
  417. package/dist/data/ai/SpecRuntimeEditor/update.cjs.map +1 -1
  418. package/dist/data/ai/SpecRuntimeEditor/update.d.ts +5 -2
  419. package/dist/data/ai/SpecRuntimeEditor/update.d.ts.map +1 -1
  420. package/dist/data/ai/SpecRuntimeEditor/update.js +19 -6
  421. package/dist/data/ai/SpecRuntimeEditor/update.js.map +1 -1
  422. package/dist/data/ai/SpecRuntimeEditor.model.cjs +67 -10
  423. package/dist/data/ai/SpecRuntimeEditor.model.cjs.map +1 -1
  424. package/dist/data/ai/SpecRuntimeEditor.model.d.ts +31 -4
  425. package/dist/data/ai/SpecRuntimeEditor.model.d.ts.map +1 -1
  426. package/dist/data/ai/SpecRuntimeEditor.model.js +67 -10
  427. package/dist/data/ai/SpecRuntimeEditor.model.js.map +1 -1
  428. package/dist/data/ai/ToolPreferences.cjs +2 -1
  429. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  430. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  431. package/dist/data/ai/ToolPreferences.js +2 -1
  432. package/dist/data/ai/ToolPreferences.js.map +1 -1
  433. package/dist/data/ai/agent-action-icons.cjs +7 -10
  434. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  435. package/dist/data/ai/agent-action-icons.d.ts +1 -2
  436. package/dist/data/ai/agent-action-icons.d.ts.map +1 -1
  437. package/dist/data/ai/agent-action-icons.js +8 -11
  438. package/dist/data/ai/agent-action-icons.js.map +1 -1
  439. package/dist/data/ai/context.cjs.map +1 -1
  440. package/dist/data/ai/context.d.ts +4 -0
  441. package/dist/data/ai/context.d.ts.map +1 -1
  442. package/dist/data/ai/context.js.map +1 -1
  443. package/dist/data/ai/examples/sessions/claude-complete.cjs +513 -0
  444. package/dist/data/ai/examples/sessions/claude-complete.cjs.map +1 -0
  445. package/dist/data/ai/examples/sessions/claude-complete.d.ts +3 -0
  446. package/dist/data/ai/examples/sessions/claude-complete.d.ts.map +1 -0
  447. package/dist/data/ai/examples/sessions/claude-complete.js +513 -0
  448. package/dist/data/ai/examples/sessions/claude-complete.js.map +1 -0
  449. package/dist/data/ai/examples/sessions/claude.cjs +252 -0
  450. package/dist/data/ai/examples/sessions/claude.cjs.map +1 -0
  451. package/dist/data/ai/examples/sessions/claude.d.ts +3 -0
  452. package/dist/data/ai/examples/sessions/claude.d.ts.map +1 -0
  453. package/dist/data/ai/examples/sessions/claude.js +252 -0
  454. package/dist/data/ai/examples/sessions/claude.js.map +1 -0
  455. package/dist/data/ai/examples/sessions/codex-complete.cjs +394 -0
  456. package/dist/data/ai/examples/sessions/codex-complete.cjs.map +1 -0
  457. package/dist/data/ai/examples/sessions/codex-complete.d.ts +3 -0
  458. package/dist/data/ai/examples/sessions/codex-complete.d.ts.map +1 -0
  459. package/dist/data/ai/examples/sessions/codex-complete.js +394 -0
  460. package/dist/data/ai/examples/sessions/codex-complete.js.map +1 -0
  461. package/dist/data/ai/examples/sessions/codex.cjs +236 -0
  462. package/dist/data/ai/examples/sessions/codex.cjs.map +1 -0
  463. package/dist/data/ai/examples/sessions/codex.d.ts +3 -0
  464. package/dist/data/ai/examples/sessions/codex.d.ts.map +1 -0
  465. package/dist/data/ai/examples/sessions/codex.js +236 -0
  466. package/dist/data/ai/examples/sessions/codex.js.map +1 -0
  467. package/dist/data/ai/examples/sessions/index.cjs +21 -0
  468. package/dist/data/ai/examples/sessions/index.cjs.map +1 -0
  469. package/dist/data/ai/examples/sessions/index.d.ts +10 -0
  470. package/dist/data/ai/examples/sessions/index.d.ts.map +1 -0
  471. package/dist/data/ai/examples/sessions/index.js +21 -0
  472. package/dist/data/ai/examples/sessions/index.js.map +1 -0
  473. package/dist/data/ai/index.d.ts +8 -3
  474. package/dist/data/ai/index.d.ts.map +1 -1
  475. package/dist/data/ai/runtime-mode.cjs +62 -0
  476. package/dist/data/ai/runtime-mode.cjs.map +1 -1
  477. package/dist/data/ai/runtime-mode.d.ts +27 -0
  478. package/dist/data/ai/runtime-mode.d.ts.map +1 -1
  479. package/dist/data/ai/runtime-mode.js +62 -0
  480. package/dist/data/ai/runtime-mode.js.map +1 -1
  481. package/dist/data/cells/EntityCell.cjs +64 -0
  482. package/dist/data/cells/EntityCell.cjs.map +1 -0
  483. package/dist/data/cells/EntityCell.d.ts +27 -0
  484. package/dist/data/cells/EntityCell.d.ts.map +1 -0
  485. package/dist/data/cells/EntityCell.js +64 -0
  486. package/dist/data/cells/EntityCell.js.map +1 -0
  487. package/dist/data/chat/Attachment.cjs +53 -13
  488. package/dist/data/chat/Attachment.cjs.map +1 -1
  489. package/dist/data/chat/Attachment.d.ts +9 -3
  490. package/dist/data/chat/Attachment.d.ts.map +1 -1
  491. package/dist/data/chat/Attachment.js +54 -14
  492. package/dist/data/chat/Attachment.js.map +1 -1
  493. package/dist/data/chat/Chat.cjs +25 -17
  494. package/dist/data/chat/Chat.cjs.map +1 -1
  495. package/dist/data/chat/Chat.d.ts +8 -4
  496. package/dist/data/chat/Chat.d.ts.map +1 -1
  497. package/dist/data/chat/Chat.js +22 -14
  498. package/dist/data/chat/Chat.js.map +1 -1
  499. package/dist/data/chat/ContextMeter.cjs +142 -39
  500. package/dist/data/chat/ContextMeter.cjs.map +1 -1
  501. package/dist/data/chat/ContextMeter.d.ts +4 -1
  502. package/dist/data/chat/ContextMeter.d.ts.map +1 -1
  503. package/dist/data/chat/ContextMeter.js +143 -40
  504. package/dist/data/chat/ContextMeter.js.map +1 -1
  505. package/dist/data/chat/Conversation.cjs +55 -3
  506. package/dist/data/chat/Conversation.cjs.map +1 -1
  507. package/dist/data/chat/Conversation.d.ts +5 -1
  508. package/dist/data/chat/Conversation.d.ts.map +1 -1
  509. package/dist/data/chat/Conversation.js +55 -3
  510. package/dist/data/chat/Conversation.js.map +1 -1
  511. package/dist/data/chat/ModelSelector.cjs +8 -10
  512. package/dist/data/chat/ModelSelector.cjs.map +1 -1
  513. package/dist/data/chat/ModelSelector.d.ts.map +1 -1
  514. package/dist/data/chat/ModelSelector.js +9 -11
  515. package/dist/data/chat/ModelSelector.js.map +1 -1
  516. package/dist/data/chat/PromptInput.cjs +56 -5
  517. package/dist/data/chat/PromptInput.cjs.map +1 -1
  518. package/dist/data/chat/PromptInput.d.ts +10 -1
  519. package/dist/data/chat/PromptInput.d.ts.map +1 -1
  520. package/dist/data/chat/PromptInput.js +57 -6
  521. package/dist/data/chat/PromptInput.js.map +1 -1
  522. package/dist/data/chat/attachment-upload.cjs +33 -0
  523. package/dist/data/chat/attachment-upload.cjs.map +1 -0
  524. package/dist/data/chat/attachment-upload.d.ts +21 -0
  525. package/dist/data/chat/attachment-upload.d.ts.map +1 -0
  526. package/dist/data/chat/attachment-upload.js +33 -0
  527. package/dist/data/chat/attachment-upload.js.map +1 -0
  528. package/dist/data/chat/effort-icons.cjs +36 -6
  529. package/dist/data/chat/effort-icons.cjs.map +1 -1
  530. package/dist/data/chat/effort-icons.d.ts +6 -3
  531. package/dist/data/chat/effort-icons.d.ts.map +1 -1
  532. package/dist/data/chat/effort-icons.js +37 -7
  533. package/dist/data/chat/effort-icons.js.map +1 -1
  534. package/dist/data/chat/index.d.ts +3 -1
  535. package/dist/data/chat/index.d.ts.map +1 -1
  536. package/dist/data/chat/models.cjs +8 -0
  537. package/dist/data/chat/models.cjs.map +1 -0
  538. package/dist/data/chat/models.d.ts +11 -0
  539. package/dist/data/chat/models.d.ts.map +1 -0
  540. package/dist/data/chat/models.js +8 -0
  541. package/dist/data/chat/models.js.map +1 -0
  542. package/dist/data/chat/provider-icons.cjs +49 -16
  543. package/dist/data/chat/provider-icons.cjs.map +1 -1
  544. package/dist/data/chat/provider-icons.d.ts +2 -0
  545. package/dist/data/chat/provider-icons.d.ts.map +1 -1
  546. package/dist/data/chat/provider-icons.js +50 -17
  547. package/dist/data/chat/provider-icons.js.map +1 -1
  548. package/dist/data/chat/types.cjs.map +1 -1
  549. package/dist/data/chat/types.d.ts +9 -0
  550. package/dist/data/chat/types.d.ts.map +1 -1
  551. package/dist/data/chat/types.js.map +1 -1
  552. package/dist/data/examples/markdown-preview-mock.cjs +45 -0
  553. package/dist/data/examples/markdown-preview-mock.cjs.map +1 -0
  554. package/dist/data/examples/markdown-preview-mock.d.ts +23 -0
  555. package/dist/data/examples/markdown-preview-mock.d.ts.map +1 -0
  556. package/dist/data/examples/markdown-preview-mock.js +45 -0
  557. package/dist/data/examples/markdown-preview-mock.js.map +1 -0
  558. package/dist/data/examples/markdown-syntax.cjs +36 -0
  559. package/dist/data/examples/markdown-syntax.cjs.map +1 -0
  560. package/dist/data/examples/markdown-syntax.d.ts +12 -0
  561. package/dist/data/examples/markdown-syntax.d.ts.map +1 -0
  562. package/dist/data/examples/markdown-syntax.js +36 -0
  563. package/dist/data/examples/markdown-syntax.js.map +1 -0
  564. package/dist/data/examples/markdown-syntax.md.cjs +4 -0
  565. package/dist/data/examples/markdown-syntax.md.cjs.map +1 -0
  566. package/dist/data/examples/markdown-syntax.md.js +5 -0
  567. package/dist/data/examples/markdown-syntax.md.js.map +1 -0
  568. package/dist/data/task-process-details.cjs +48 -0
  569. package/dist/data/task-process-details.cjs.map +1 -0
  570. package/dist/data/task-process-details.d.ts +5 -0
  571. package/dist/data/task-process-details.d.ts.map +1 -0
  572. package/dist/data/task-process-details.js +48 -0
  573. package/dist/data/task-process-details.js.map +1 -0
  574. package/dist/data/version-info.cjs +2 -2
  575. package/dist/data/version-info.js +2 -2
  576. package/dist/data.cjs +30 -0
  577. package/dist/data.cjs.map +1 -1
  578. package/dist/data.d.ts +7 -1
  579. package/dist/data.d.ts.map +1 -1
  580. package/dist/data.js +30 -0
  581. package/dist/data.js.map +1 -1
  582. package/dist/hooks/use-hotkey.cjs +98 -0
  583. package/dist/hooks/use-hotkey.cjs.map +1 -0
  584. package/dist/hooks/use-hotkey.d.ts +42 -0
  585. package/dist/hooks/use-hotkey.d.ts.map +1 -0
  586. package/dist/hooks/use-hotkey.js +98 -0
  587. package/dist/hooks/use-hotkey.js.map +1 -0
  588. package/dist/hooks/use-task-run.cjs +23 -1
  589. package/dist/hooks/use-task-run.cjs.map +1 -1
  590. package/dist/hooks/use-task-run.d.ts.map +1 -1
  591. package/dist/hooks/use-task-run.js +23 -1
  592. package/dist/hooks/use-task-run.js.map +1 -1
  593. package/dist/hooks.cjs +4 -0
  594. package/dist/hooks.cjs.map +1 -1
  595. package/dist/hooks.d.ts +1 -0
  596. package/dist/hooks.d.ts.map +1 -1
  597. package/dist/hooks.js +4 -0
  598. package/dist/hooks.js.map +1 -1
  599. package/dist/icons/components/UiBank.cjs +15 -0
  600. package/dist/icons/components/UiBank.cjs.map +1 -0
  601. package/dist/icons/components/UiBank.d.ts +15 -0
  602. package/dist/icons/components/UiBank.d.ts.map +1 -0
  603. package/dist/icons/components/UiBank.js +15 -0
  604. package/dist/icons/components/UiBank.js.map +1 -0
  605. package/dist/icons/components/UiChartOfAccounts.cjs +15 -0
  606. package/dist/icons/components/UiChartOfAccounts.cjs.map +1 -0
  607. package/dist/icons/components/UiChartOfAccounts.d.ts +15 -0
  608. package/dist/icons/components/UiChartOfAccounts.d.ts.map +1 -0
  609. package/dist/icons/components/UiChartOfAccounts.js +15 -0
  610. package/dist/icons/components/UiChartOfAccounts.js.map +1 -0
  611. package/dist/icons/components/UiCloudUpload.cjs +15 -0
  612. package/dist/icons/components/UiCloudUpload.cjs.map +1 -0
  613. package/dist/icons/components/UiCloudUpload.d.ts +15 -0
  614. package/dist/icons/components/UiCloudUpload.d.ts.map +1 -0
  615. package/dist/icons/components/UiCloudUpload.js +15 -0
  616. package/dist/icons/components/UiCloudUpload.js.map +1 -0
  617. package/dist/icons/components/UiLedger.cjs +15 -0
  618. package/dist/icons/components/UiLedger.cjs.map +1 -0
  619. package/dist/icons/components/UiLedger.d.ts +15 -0
  620. package/dist/icons/components/UiLedger.d.ts.map +1 -0
  621. package/dist/icons/components/UiLedger.js +15 -0
  622. package/dist/icons/components/UiLedger.js.map +1 -0
  623. package/dist/icons/components/UiReceipt.cjs +15 -0
  624. package/dist/icons/components/UiReceipt.cjs.map +1 -0
  625. package/dist/icons/components/UiReceipt.d.ts +15 -0
  626. package/dist/icons/components/UiReceipt.d.ts.map +1 -0
  627. package/dist/icons/components/UiReceipt.js +15 -0
  628. package/dist/icons/components/UiReceipt.js.map +1 -0
  629. package/dist/icons/index.d.ts +10 -0
  630. package/dist/icons/index.d.ts.map +1 -1
  631. package/dist/icons.cjs +15 -0
  632. package/dist/icons.cjs.map +1 -1
  633. package/dist/icons.js +15 -0
  634. package/dist/icons.js.map +1 -1
  635. package/dist/index.cjs +47 -0
  636. package/dist/index.cjs.map +1 -1
  637. package/dist/index.js +49 -2
  638. package/dist/index.js.map +1 -1
  639. package/dist/layout/AppShell.cjs +270 -238
  640. package/dist/layout/AppShell.cjs.map +1 -1
  641. package/dist/layout/AppShell.d.ts +9 -0
  642. package/dist/layout/AppShell.d.ts.map +1 -1
  643. package/dist/layout/AppShell.debug.cjs +53 -0
  644. package/dist/layout/AppShell.debug.cjs.map +1 -0
  645. package/dist/layout/AppShell.debug.d.ts +6 -0
  646. package/dist/layout/AppShell.debug.d.ts.map +1 -0
  647. package/dist/layout/AppShell.debug.js +53 -0
  648. package/dist/layout/AppShell.debug.js.map +1 -0
  649. package/dist/layout/AppShell.js +269 -237
  650. package/dist/layout/AppShell.js.map +1 -1
  651. package/dist/layout/AppShell.nav.cjs +90 -0
  652. package/dist/layout/AppShell.nav.cjs.map +1 -0
  653. package/dist/layout/AppShell.nav.d.ts +7 -0
  654. package/dist/layout/AppShell.nav.d.ts.map +1 -0
  655. package/dist/layout/AppShell.nav.js +90 -0
  656. package/dist/layout/AppShell.nav.js.map +1 -0
  657. package/dist/layout/AppSidebar.cjs +35 -5
  658. package/dist/layout/AppSidebar.cjs.map +1 -1
  659. package/dist/layout/AppSidebar.d.ts +4 -1
  660. package/dist/layout/AppSidebar.d.ts.map +1 -1
  661. package/dist/layout/AppSidebar.js +35 -5
  662. package/dist/layout/AppSidebar.js.map +1 -1
  663. package/dist/layout/Panel.cjs +25 -41
  664. package/dist/layout/Panel.cjs.map +1 -1
  665. package/dist/layout/Panel.d.ts +2 -1
  666. package/dist/layout/Panel.d.ts.map +1 -1
  667. package/dist/layout/Panel.js +26 -42
  668. package/dist/layout/Panel.js.map +1 -1
  669. package/dist/layout/PanelFrame.cjs +56 -0
  670. package/dist/layout/PanelFrame.cjs.map +1 -0
  671. package/dist/layout/PanelFrame.d.ts +15 -0
  672. package/dist/layout/PanelFrame.d.ts.map +1 -0
  673. package/dist/layout/PanelFrame.js +56 -0
  674. package/dist/layout/PanelFrame.js.map +1 -0
  675. package/dist/layout/Section.cjs +51 -41
  676. package/dist/layout/Section.cjs.map +1 -1
  677. package/dist/layout/Section.d.ts +3 -2
  678. package/dist/layout/Section.d.ts.map +1 -1
  679. package/dist/layout/Section.js +51 -41
  680. package/dist/layout/Section.js.map +1 -1
  681. package/dist/layout/content-width.cjs +8 -0
  682. package/dist/layout/content-width.cjs.map +1 -0
  683. package/dist/layout/content-width.d.ts +3 -0
  684. package/dist/layout/content-width.d.ts.map +1 -0
  685. package/dist/layout/content-width.js +8 -0
  686. package/dist/layout/content-width.js.map +1 -0
  687. package/dist/overlay/CommandPalette.cjs +207 -0
  688. package/dist/overlay/CommandPalette.cjs.map +1 -0
  689. package/dist/overlay/CommandPalette.d.ts +71 -0
  690. package/dist/overlay/CommandPalette.d.ts.map +1 -0
  691. package/dist/overlay/CommandPalette.js +207 -0
  692. package/dist/overlay/CommandPalette.js.map +1 -0
  693. package/dist/overlay/CommandPalette.model.cjs +70 -0
  694. package/dist/overlay/CommandPalette.model.cjs.map +1 -0
  695. package/dist/overlay/CommandPalette.model.d.ts +71 -0
  696. package/dist/overlay/CommandPalette.model.d.ts.map +1 -0
  697. package/dist/overlay/CommandPalette.model.js +70 -0
  698. package/dist/overlay/CommandPalette.model.js.map +1 -0
  699. package/dist/overlay/CommandPaletteList.cjs +88 -0
  700. package/dist/overlay/CommandPaletteList.cjs.map +1 -0
  701. package/dist/overlay/CommandPaletteList.d.ts +23 -0
  702. package/dist/overlay/CommandPaletteList.d.ts.map +1 -0
  703. package/dist/overlay/CommandPaletteList.js +88 -0
  704. package/dist/overlay/CommandPaletteList.js.map +1 -0
  705. package/dist/overlay/CommandPaletteTrigger.cjs +36 -0
  706. package/dist/overlay/CommandPaletteTrigger.cjs.map +1 -0
  707. package/dist/overlay/CommandPaletteTrigger.d.ts +22 -0
  708. package/dist/overlay/CommandPaletteTrigger.d.ts.map +1 -0
  709. package/dist/overlay/CommandPaletteTrigger.js +36 -0
  710. package/dist/overlay/CommandPaletteTrigger.js.map +1 -0
  711. package/dist/overlay/Modal.cjs +12 -5
  712. package/dist/overlay/Modal.cjs.map +1 -1
  713. package/dist/overlay/Modal.d.ts.map +1 -1
  714. package/dist/overlay/Modal.js +12 -5
  715. package/dist/overlay/Modal.js.map +1 -1
  716. package/dist/overlay/modalStack.js +1 -1
  717. package/dist/overlay/zIndex.cjs +2 -0
  718. package/dist/overlay/zIndex.cjs.map +1 -1
  719. package/dist/overlay/zIndex.js +2 -0
  720. package/dist/overlay/zIndex.js.map +1 -1
  721. package/dist/rpc/EntityExplorerApp.cjs +6 -0
  722. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  723. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  724. package/dist/rpc/EntityExplorerApp.js +6 -0
  725. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  726. package/dist/rpc/OperationCatalog.cjs +49 -52
  727. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  728. package/dist/rpc/OperationCatalog.d.ts +17 -2
  729. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  730. package/dist/rpc/OperationCatalog.js +49 -52
  731. package/dist/rpc/OperationCatalog.js.map +1 -1
  732. package/dist/rpc/clickyMetadata.cjs +2 -1
  733. package/dist/rpc/clickyMetadata.cjs.map +1 -1
  734. package/dist/rpc/clickyMetadata.d.ts.map +1 -1
  735. package/dist/rpc/clickyMetadata.js +2 -1
  736. package/dist/rpc/clickyMetadata.js.map +1 -1
  737. package/dist/rpc/rpc-story-fixtures/orders.fixture.d.ts.map +1 -1
  738. package/dist/rpc/rpc-story-fixtures/services.fixture.d.ts.map +1 -1
  739. package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts +25 -2
  740. package/dist/rpc/rpc-story-fixtures/surface-fixture.d.ts.map +1 -1
  741. package/dist/rpc/rpc-story-fixtures/widgets.fixture.d.ts.map +1 -1
  742. package/dist/rpc/rpc-story.fixtures.d.ts +2 -1
  743. package/dist/rpc/rpc-story.fixtures.d.ts.map +1 -1
  744. package/dist/rpc/types.cjs.map +1 -1
  745. package/dist/rpc/types.d.ts +1 -0
  746. package/dist/rpc/types.d.ts.map +1 -1
  747. package/dist/rpc/types.js.map +1 -1
  748. package/dist/styles.css +1 -1
  749. package/dist/tailwind-preset.cjs +11 -0
  750. package/dist/tailwind-preset.cjs.map +1 -1
  751. package/dist/tailwind-preset.d.ts.map +1 -1
  752. package/dist/tailwind-preset.js +11 -0
  753. package/dist/tailwind-preset.js.map +1 -1
  754. package/package.json +2 -2
@@ -8,6 +8,7 @@ import { StaticIconComponent } from './Icon';
8
8
  import { TimestampOptions } from './cells/timestamp-format';
9
9
  import { TagActionsContextValue, TagsOptions } from './cells/tag-utils';
10
10
  import { BadgeStatus } from './Badge';
11
+ import { DataTableGrouping } from './DataTable.grouping';
11
12
  export type { TimestampOptions, TagsOptions };
12
13
  export type DataTableColumnKind = "timestamp" | "tags" | "status";
13
14
  export type StatusOptions<T extends Record<string, unknown> = Record<string, unknown>> = {
@@ -122,6 +123,22 @@ export type DataTableRowSelection<T extends Record<string, unknown> = Record<str
122
123
  /** Toggle selection when the user clicks anywhere on a selectable row. */
123
124
  toggleOnRowClick?: boolean;
124
125
  };
126
+ /** Passed to `selectionActions` while rows are selected. */
127
+ export type DataTableSelectionContext<T extends Record<string, unknown> = Record<string, unknown>> = {
128
+ selectedRowIds: string[];
129
+ /** The selected rows currently loaded, in render order. */
130
+ selectedRows: T[];
131
+ /** Empties the selection through the same `onSelectionChange` callback. */
132
+ clearSelection: () => void;
133
+ };
134
+ /** Passed to a `footer` render function. */
135
+ export type DataTableFooterContext = {
136
+ /** Rows left after filtering — what the table is showing. */
137
+ visibleRowCount: number;
138
+ /** Rows handed to the table before filtering. */
139
+ totalRowCount: number;
140
+ loading: boolean;
141
+ };
125
142
  type DataTableInnerProps<T extends Record<string, unknown> = Record<string, unknown>> = {
126
143
  /** Rows to render. The table does not fetch or mutate row data. */
127
144
  data: T[];
@@ -213,6 +230,28 @@ type DataTableInnerProps<T extends Record<string, unknown> = Record<string, unkn
213
230
  getRowId?: (row: T, index: number) => string;
214
231
  /** Controlled checkbox selection for entity/bulk-action tables. */
215
232
  rowSelection?: DataTableRowSelection<T>;
233
+ /**
234
+ * Bulk action bar, pinned to the bottom of the table shell while
235
+ * `rowSelection` holds a non-empty selection. Ignored without `rowSelection`.
236
+ */
237
+ selectionActions?: (context: DataTableSelectionContext<T>) => ReactNode;
238
+ /**
239
+ * Extra classes for a row's `<tr>`, applied last so tailwind-merge lets the
240
+ * caller override the built-in hover / selected backgrounds.
241
+ */
242
+ getRowClassName?: (row: T) => string | undefined;
243
+ /**
244
+ * Replaces the default "N of M rows" strip below the table. When
245
+ * `pagination` is also set, this renders directly above the pager instead.
246
+ */
247
+ footer?: ReactNode | ((context: DataTableFooterContext) => ReactNode);
248
+ /**
249
+ * Splits the rendered rows into collapsible groups, each introduced by a
250
+ * full-width header row. Grouping presents what is already on screen: it
251
+ * runs after filtering, sorting and pagination, so it never reorders rows
252
+ * within a group and never pulls in rows from another page.
253
+ */
254
+ grouping?: DataTableGrouping<T>;
216
255
  /** Called when a clickable row is selected. */
217
256
  onRowClick?: (row: T) => void;
218
257
  /** Predicate controlling whether a row is clickable. */
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/data/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../src/data/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function groupRecords(records, getGroupKey) {
4
+ const byKey = /* @__PURE__ */ new Map();
5
+ for (const record of records) {
6
+ const key = getGroupKey(record);
7
+ const bucket = byKey.get(key);
8
+ if (bucket) bucket.push(record);
9
+ else byKey.set(key, [record]);
10
+ }
11
+ return Array.from(byKey, ([key, rows]) => ({ key, rows }));
12
+ }
13
+ function isGroupCollapsedByDefault(group, defaultCollapsed) {
14
+ if (typeof defaultCollapsed === "function") {
15
+ return defaultCollapsed(group.key, group.rows);
16
+ }
17
+ return defaultCollapsed === true;
18
+ }
19
+ exports.groupRecords = groupRecords;
20
+ exports.isGroupCollapsedByDefault = isGroupCollapsedByDefault;
21
+ //# sourceMappingURL=DataTable.grouping.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.grouping.cjs","sources":["../../src/data/DataTable.grouping.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\n/** One contiguous run of rows sharing a group key, in post-sort order. */\nexport type DataTableGroup<T> = {\n key: string;\n rows: T[];\n};\n\nexport type DataTableGrouping<T> = {\n /** Groups rows by the returned key. */\n getGroupKey: (row: T) => string;\n /** Human label for a group header. Defaults to the group key. */\n getGroupLabel?: (key: string, rows: T[]) => ReactNode;\n /** Summary rendered at the trailing edge of the group header. */\n getGroupMeta?: (key: string, rows: T[]) => ReactNode;\n /** Whether a group starts collapsed. Defaults to expanded. */\n defaultCollapsed?: boolean | ((key: string, rows: T[]) => boolean);\n /** Reorders groups. Omit to keep first-appearance order, which follows the sort. */\n compareGroups?: (a: DataTableGroup<T>, b: DataTableGroup<T>) => number;\n};\n\n/**\n * Buckets `records` by `getGroupKey`, preserving first-appearance order so\n * grouping never fights the active sort. Pure — no React, no DOM.\n */\nexport function groupRecords<T>(\n records: readonly T[],\n getGroupKey: (row: T) => string,\n): Array<DataTableGroup<T>> {\n const byKey = new Map<string, T[]>();\n for (const record of records) {\n const key = getGroupKey(record);\n const bucket = byKey.get(key);\n if (bucket) bucket.push(record);\n else byKey.set(key, [record]);\n }\n return Array.from(byKey, ([key, rows]) => ({ key, rows }));\n}\n\n/** Resolves `defaultCollapsed` for one group. */\nexport function isGroupCollapsedByDefault<T>(\n group: DataTableGroup<T>,\n defaultCollapsed: DataTableGrouping<T>[\"defaultCollapsed\"],\n): boolean {\n if (typeof defaultCollapsed === \"function\") {\n return defaultCollapsed(group.key, group.rows);\n }\n return defaultCollapsed === true;\n}\n"],"names":[],"mappings":";;AAyBO,SAAS,aACd,SACA,aAC0B;AAC1B,QAAM,4BAAY,IAAA;AAClB,aAAW,UAAU,SAAS;AAC5B,UAAM,MAAM,YAAY,MAAM;AAC9B,UAAM,SAAS,MAAM,IAAI,GAAG;AAC5B,QAAI,OAAQ,QAAO,KAAK,MAAM;AAAA,QACzB,OAAM,IAAI,KAAK,CAAC,MAAM,CAAC;AAAA,EAC9B;AACA,SAAO,MAAM,KAAK,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,KAAA,EAAO;AAC3D;AAGO,SAAS,0BACd,OACA,kBACS;AACT,MAAI,OAAO,qBAAqB,YAAY;AAC1C,WAAO,iBAAiB,MAAM,KAAK,MAAM,IAAI;AAAA,EAC/C;AACA,SAAO,qBAAqB;AAC9B;;;"}
@@ -0,0 +1,26 @@
1
+ import { ReactNode } from 'react';
2
+ /** One contiguous run of rows sharing a group key, in post-sort order. */
3
+ export type DataTableGroup<T> = {
4
+ key: string;
5
+ rows: T[];
6
+ };
7
+ export type DataTableGrouping<T> = {
8
+ /** Groups rows by the returned key. */
9
+ getGroupKey: (row: T) => string;
10
+ /** Human label for a group header. Defaults to the group key. */
11
+ getGroupLabel?: (key: string, rows: T[]) => ReactNode;
12
+ /** Summary rendered at the trailing edge of the group header. */
13
+ getGroupMeta?: (key: string, rows: T[]) => ReactNode;
14
+ /** Whether a group starts collapsed. Defaults to expanded. */
15
+ defaultCollapsed?: boolean | ((key: string, rows: T[]) => boolean);
16
+ /** Reorders groups. Omit to keep first-appearance order, which follows the sort. */
17
+ compareGroups?: (a: DataTableGroup<T>, b: DataTableGroup<T>) => number;
18
+ };
19
+ /**
20
+ * Buckets `records` by `getGroupKey`, preserving first-appearance order so
21
+ * grouping never fights the active sort. Pure — no React, no DOM.
22
+ */
23
+ export declare function groupRecords<T>(records: readonly T[], getGroupKey: (row: T) => string): Array<DataTableGroup<T>>;
24
+ /** Resolves `defaultCollapsed` for one group. */
25
+ export declare function isGroupCollapsedByDefault<T>(group: DataTableGroup<T>, defaultCollapsed: DataTableGrouping<T>["defaultCollapsed"]): boolean;
26
+ //# sourceMappingURL=DataTable.grouping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.grouping.d.ts","sourceRoot":"","sources":["../../src/data/DataTable.grouping.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,0EAA0E;AAC1E,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,CAAC,EAAE,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI;IACjC,uCAAuC;IACvC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAChC,iEAAiE;IACjE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC;IACtD,iEAAiE;IACjE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC;IACrD,8DAA8D;IAC9D,gBAAgB,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;IACnE,oFAAoF;IACpF,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC;CACxE,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,OAAO,EAAE,SAAS,CAAC,EAAE,EACrB,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,GAC9B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAS1B;AAED,iDAAiD;AACjD,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EACxB,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,GACzD,OAAO,CAKT"}
@@ -0,0 +1,21 @@
1
+ function groupRecords(records, getGroupKey) {
2
+ const byKey = /* @__PURE__ */ new Map();
3
+ for (const record of records) {
4
+ const key = getGroupKey(record);
5
+ const bucket = byKey.get(key);
6
+ if (bucket) bucket.push(record);
7
+ else byKey.set(key, [record]);
8
+ }
9
+ return Array.from(byKey, ([key, rows]) => ({ key, rows }));
10
+ }
11
+ function isGroupCollapsedByDefault(group, defaultCollapsed) {
12
+ if (typeof defaultCollapsed === "function") {
13
+ return defaultCollapsed(group.key, group.rows);
14
+ }
15
+ return defaultCollapsed === true;
16
+ }
17
+ export {
18
+ groupRecords,
19
+ isGroupCollapsedByDefault
20
+ };
21
+ //# sourceMappingURL=DataTable.grouping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataTable.grouping.js","sources":["../../src/data/DataTable.grouping.ts"],"sourcesContent":["import type { ReactNode } from \"react\";\n\n/** One contiguous run of rows sharing a group key, in post-sort order. */\nexport type DataTableGroup<T> = {\n key: string;\n rows: T[];\n};\n\nexport type DataTableGrouping<T> = {\n /** Groups rows by the returned key. */\n getGroupKey: (row: T) => string;\n /** Human label for a group header. Defaults to the group key. */\n getGroupLabel?: (key: string, rows: T[]) => ReactNode;\n /** Summary rendered at the trailing edge of the group header. */\n getGroupMeta?: (key: string, rows: T[]) => ReactNode;\n /** Whether a group starts collapsed. Defaults to expanded. */\n defaultCollapsed?: boolean | ((key: string, rows: T[]) => boolean);\n /** Reorders groups. Omit to keep first-appearance order, which follows the sort. */\n compareGroups?: (a: DataTableGroup<T>, b: DataTableGroup<T>) => number;\n};\n\n/**\n * Buckets `records` by `getGroupKey`, preserving first-appearance order so\n * grouping never fights the active sort. Pure — no React, no DOM.\n */\nexport function groupRecords<T>(\n records: readonly T[],\n getGroupKey: (row: T) => string,\n): Array<DataTableGroup<T>> {\n const byKey = new Map<string, T[]>();\n for (const record of records) {\n const key = getGroupKey(record);\n const bucket = byKey.get(key);\n if (bucket) bucket.push(record);\n else byKey.set(key, [record]);\n }\n return Array.from(byKey, ([key, rows]) => ({ key, rows }));\n}\n\n/** Resolves `defaultCollapsed` for one group. */\nexport function isGroupCollapsedByDefault<T>(\n group: DataTableGroup<T>,\n defaultCollapsed: DataTableGrouping<T>[\"defaultCollapsed\"],\n): boolean {\n if (typeof defaultCollapsed === \"function\") {\n return defaultCollapsed(group.key, group.rows);\n }\n return defaultCollapsed === true;\n}\n"],"names":[],"mappings":"AAyBO,SAAS,aACd,SACA,aAC0B;AAC1B,QAAM,4BAAY,IAAA;AAClB,aAAW,UAAU,SAAS;AAC5B,UAAM,MAAM,YAAY,MAAM;AAC9B,UAAM,SAAS,MAAM,IAAI,GAAG;AAC5B,QAAI,OAAQ,QAAO,KAAK,MAAM;AAAA,QACzB,OAAM,IAAI,KAAK,CAAC,MAAM,CAAC;AAAA,EAC9B;AACA,SAAO,MAAM,KAAK,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,EAAE,KAAK,KAAA,EAAO;AAC3D;AAGO,SAAS,0BACd,OACA,kBACS;AACT,MAAI,OAAO,qBAAqB,YAAY;AAC1C,WAAO,iBAAiB,MAAM,KAAK,MAAM,IAAI;AAAA,EAC/C;AACA,SAAO,qBAAqB;AAC9B;"}
@@ -19,8 +19,11 @@ import { TagActionsProvider, TagList } from "./cells/TagList.js";
19
19
  import { tagActionsFromRecord, tagFilterTokens, normalizeTags, splitTagToken } from "./cells/tag-utils.js";
20
20
  import { StatusDot } from "./cells/StatusDot.js";
21
21
  import { normalizeStatus } from "./cells/status-mapping.js";
22
+ import { groupRecords, isGroupCollapsedByDefault } from "./DataTable.grouping.js";
22
23
  import { UiEllipsis } from "../icons/components/UiEllipsis.js";
23
24
  import { UiFilterFilled, UiFilter } from "../icons/components/UiFilter.js";
25
+ import { UiChevronRight } from "../icons/components/UiChevronRight.js";
26
+ import { UiChevronDown } from "../icons/components/UiChevronDown.js";
24
27
  import { UiArrowLeft } from "../icons/components/UiArrowLeft.js";
25
28
  import { UiArrowRight } from "../icons/components/UiArrowRight.js";
26
29
  import { UiEyeClosed } from "../icons/components/UiEyeClosed.js";
@@ -83,6 +86,10 @@ function DataTableInner({
83
86
  pagination,
84
87
  getRowId,
85
88
  rowSelection,
89
+ selectionActions,
90
+ getRowClassName,
91
+ footer,
92
+ grouping,
86
93
  onRowClick,
87
94
  isRowClickable,
88
95
  getRowHref,
@@ -316,13 +323,13 @@ function DataTableInner({
316
323
  const fitsMulti = options.length >= 2 && options.length <= multiCap;
317
324
  if (column.kind === "tags" && fitsMulti) {
318
325
  const separator = ((_a = column.tags) == null ? void 0 : _a.separator) ?? "=";
319
- const groups = groupTagOptions(options, separator);
320
- if (groups.length >= 2) {
326
+ const groups2 = groupTagOptions(options, separator);
327
+ if (groups2.length >= 2) {
321
328
  return {
322
329
  column,
323
330
  kind: "nested-multi",
324
331
  options,
325
- groups
332
+ groups: groups2
326
333
  };
327
334
  }
328
335
  }
@@ -623,6 +630,74 @@ function DataTableInner({
623
630
  selectableVisibleRows,
624
631
  selectedRowIDs
625
632
  ]);
633
+ const selectionBar = useMemo(() => {
634
+ if (!rowSelection || !selectionActions) return null;
635
+ const selected = rows.filter((record) => selectedRowIDs.has(record.id));
636
+ if (selected.length === 0) return null;
637
+ return selectionActions({
638
+ selectedRowIds: selected.map((record) => record.id),
639
+ selectedRows: selected.map((record) => record.row),
640
+ clearSelection: () => notifySelection(/* @__PURE__ */ new Set())
641
+ });
642
+ }, [notifySelection, rowSelection, rows, selectedRowIDs, selectionActions]);
643
+ const renderedFooter = footer !== void 0 ? typeof footer === "function" ? footer({
644
+ visibleRowCount: sorted.length,
645
+ totalRowCount: data.length,
646
+ loading
647
+ }) : footer : pagination ? null : loading ? loadingMessage : `${sorted.length} of ${data.length} row${data.length === 1 ? "" : "s"}`;
648
+ const [collapsedGroups, setCollapsedGroups] = useState({});
649
+ const groups = useMemo(() => {
650
+ if (!grouping) return null;
651
+ const buckets = groupRecords(
652
+ visibleSorted,
653
+ (record) => grouping.getGroupKey(record.row)
654
+ );
655
+ const resolved = buckets.map((bucket) => ({
656
+ key: bucket.key,
657
+ records: bucket.rows,
658
+ rows: bucket.rows.map((record) => record.row)
659
+ }));
660
+ if (grouping.compareGroups) {
661
+ resolved.sort((a, b) => grouping.compareGroups(a, b));
662
+ }
663
+ return resolved.map((group) => {
664
+ var _a, _b;
665
+ return {
666
+ ...group,
667
+ label: ((_a = grouping.getGroupLabel) == null ? void 0 : _a.call(grouping, group.key, group.rows)) ?? group.key,
668
+ meta: (_b = grouping.getGroupMeta) == null ? void 0 : _b.call(grouping, group.key, group.rows),
669
+ collapsed: collapsedGroups[group.key] ?? isGroupCollapsedByDefault(group, grouping.defaultCollapsed)
670
+ };
671
+ });
672
+ }, [collapsedGroups, grouping, visibleSorted]);
673
+ const rowStream = useMemo(() => {
674
+ if (!groups) {
675
+ return visibleSorted.map((record) => ({ kind: "row", record }));
676
+ }
677
+ return groups.flatMap((group) => [
678
+ { kind: "group", group },
679
+ ...group.collapsed ? [] : group.records.map((record) => ({ kind: "row", record }))
680
+ ]);
681
+ }, [groups, visibleSorted]);
682
+ const toggleGroupSelection = useCallback(
683
+ (records) => {
684
+ if (!rowSelection) return;
685
+ const selectable = records.filter(
686
+ (record) => {
687
+ var _a;
688
+ return ((_a = rowSelection.isRowSelectable) == null ? void 0 : _a.call(rowSelection, record.row)) ?? true;
689
+ }
690
+ );
691
+ const next = new Set(selectedRowIDs);
692
+ const allSelected = selectable.length > 0 && selectable.every((record) => next.has(record.id));
693
+ for (const record of selectable) {
694
+ if (allSelected) next.delete(record.id);
695
+ else next.add(record.id);
696
+ }
697
+ notifySelection(next);
698
+ },
699
+ [notifySelection, rowSelection, selectedRowIDs]
700
+ );
626
701
  const revealSentinelRef = useCallback(
627
702
  (node) => {
628
703
  if (revealObserver.current) revealObserver.current.disconnect();
@@ -860,8 +935,43 @@ function DataTableInner({
860
935
  message: loadingMessage,
861
936
  selection: !!rowSelection
862
937
  }
863
- ) : visibleSorted.map((record) => {
938
+ ) : rowStream.map((item) => {
864
939
  var _a;
940
+ if (item.kind === "group") {
941
+ return /* @__PURE__ */ jsx(
942
+ DataTableGroupHeaderRow,
943
+ {
944
+ label: item.group.label,
945
+ meta: item.group.meta,
946
+ count: item.group.records.length,
947
+ colSpan: visibleColumns.length + (rowSelection ? 1 : 0),
948
+ collapsed: item.group.collapsed,
949
+ onToggleCollapsed: () => setCollapsedGroups((current) => ({
950
+ ...current,
951
+ [item.group.key]: !item.group.collapsed
952
+ })),
953
+ ...rowSelection ? {
954
+ selection: {
955
+ selectableCount: item.group.records.filter(
956
+ (record2) => {
957
+ var _a2;
958
+ return ((_a2 = rowSelection.isRowSelectable) == null ? void 0 : _a2.call(
959
+ rowSelection,
960
+ record2.row
961
+ )) ?? true;
962
+ }
963
+ ).length,
964
+ selectedCount: item.group.records.filter(
965
+ (record2) => selectedRowIDs.has(record2.id)
966
+ ).length,
967
+ onToggle: () => toggleGroupSelection(item.group.records)
968
+ }
969
+ } : {}
970
+ },
971
+ `group:${item.group.key}`
972
+ );
973
+ }
974
+ const record = item.record;
865
975
  const href = getRowHref == null ? void 0 : getRowHref(record.row);
866
976
  const expanded = expandedRows[record.id] ?? false;
867
977
  const expandedContent = (renderExpandedRow == null ? void 0 : renderExpandedRow(record.row, {
@@ -883,7 +993,8 @@ function DataTableInner({
883
993
  className: cn(
884
994
  "relative border-b border-border/60 align-top",
885
995
  clickable && "cursor-pointer hover:bg-accent/40",
886
- selectedRowIDs.has(record.id) && "bg-accent/50"
996
+ selectedRowIDs.has(record.id) && "bg-accent/50",
997
+ getRowClassName == null ? void 0 : getRowClassName(record.row)
887
998
  ),
888
999
  onClick: () => {
889
1000
  if (selectionClickEnabled) toggleRowSelection(record);
@@ -995,6 +1106,15 @@ function DataTableInner({
995
1106
  }
996
1107
  )
997
1108
  ] }),
1109
+ selectionBar ? /* @__PURE__ */ jsx(
1110
+ "div",
1111
+ {
1112
+ "data-testid": "data-table-selection-actions",
1113
+ className: "sticky bottom-2 z-10 flex shrink-0 items-center justify-between gap-density-3 rounded-md border border-border bg-card p-density-2 shadow-md",
1114
+ children: selectionBar
1115
+ }
1116
+ ) : null,
1117
+ renderedFooter !== null && /* @__PURE__ */ jsx("div", { className: "shrink-0 px-1 text-xs text-muted-foreground", children: renderedFooter }),
998
1118
  pagination ? /* @__PURE__ */ jsx(
999
1119
  DataTablePaginationFooter,
1000
1120
  {
@@ -1003,7 +1123,7 @@ function DataTableInner({
1003
1123
  loading,
1004
1124
  loadingMessage
1005
1125
  }
1006
- ) : /* @__PURE__ */ jsx("div", { className: "shrink-0 px-1 text-xs text-muted-foreground", children: loading ? loadingMessage : `${sorted.length} of ${data.length} row${data.length === 1 ? "" : "s"}` }),
1126
+ ) : null,
1007
1127
  detailStyle === "dialog" && renderExpandedRow && /* @__PURE__ */ jsx(
1008
1128
  Modal,
1009
1129
  {
@@ -1122,6 +1242,57 @@ function DataTablePaginationFooter({
1122
1242
  ] })
1123
1243
  ] });
1124
1244
  }
1245
+ function DataTableGroupHeaderRow({
1246
+ label,
1247
+ meta,
1248
+ count,
1249
+ colSpan,
1250
+ collapsed,
1251
+ onToggleCollapsed,
1252
+ selection
1253
+ }) {
1254
+ const allSelected = !!selection && selection.selectableCount > 0 && selection.selectedCount === selection.selectableCount;
1255
+ const someSelected = !!selection && selection.selectedCount > 0 && !allSelected;
1256
+ const checkboxRef = useRef(null);
1257
+ useEffect(() => {
1258
+ if (checkboxRef.current) checkboxRef.current.indeterminate = someSelected;
1259
+ }, [someSelected]);
1260
+ return /* @__PURE__ */ jsx("tr", { className: "border-b border-border/60 bg-muted/40", children: /* @__PURE__ */ jsx("td", { colSpan, className: "px-density-2 py-density-1", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
1261
+ selection ? /* @__PURE__ */ jsx(
1262
+ "input",
1263
+ {
1264
+ ref: checkboxRef,
1265
+ type: "checkbox",
1266
+ "aria-label": `Select group ${typeof label === "string" ? label : count}`,
1267
+ checked: allSelected,
1268
+ disabled: selection.selectableCount === 0,
1269
+ onChange: selection.onToggle,
1270
+ className: "size-3.5 rounded border-border accent-primary"
1271
+ }
1272
+ ) : null,
1273
+ /* @__PURE__ */ jsxs(
1274
+ "button",
1275
+ {
1276
+ type: "button",
1277
+ "aria-expanded": !collapsed,
1278
+ onClick: onToggleCollapsed,
1279
+ className: "flex min-w-0 flex-1 items-center gap-1.5 text-left text-xs font-semibold text-foreground hover:text-primary",
1280
+ children: [
1281
+ /* @__PURE__ */ jsx(
1282
+ Icon,
1283
+ {
1284
+ icon: collapsed ? UiChevronRight : UiChevronDown,
1285
+ className: "shrink-0 text-muted-foreground"
1286
+ }
1287
+ ),
1288
+ /* @__PURE__ */ jsx("span", { className: "truncate", children: label }),
1289
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 font-normal text-muted-foreground", children: count })
1290
+ ]
1291
+ }
1292
+ ),
1293
+ meta ? /* @__PURE__ */ jsx("div", { className: "shrink-0 text-xs text-muted-foreground", children: meta }) : null
1294
+ ] }) }) });
1295
+ }
1125
1296
  function DataTableLoadingRows({
1126
1297
  columns,
1127
1298
  rowCount,