@flanksource/clicky-ui 0.3.17 → 0.3.19

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 (923) hide show
  1. package/dist/ai.cjs +12 -6
  2. package/dist/ai.cjs.map +1 -1
  3. package/dist/ai.js +10 -4
  4. package/dist/ai.js.map +1 -1
  5. package/dist/chat.cjs +36 -0
  6. package/dist/chat.cjs.map +1 -1
  7. package/dist/chat.js +37 -1
  8. package/dist/chat.js.map +1 -1
  9. package/dist/components/Combobox.cjs +122 -153
  10. package/dist/components/Combobox.cjs.map +1 -1
  11. package/dist/components/Combobox.d.ts.map +1 -1
  12. package/dist/components/Combobox.js +124 -155
  13. package/dist/components/Combobox.js.map +1 -1
  14. package/dist/components/ComboboxControl.cjs +145 -0
  15. package/dist/components/ComboboxControl.cjs.map +1 -0
  16. package/dist/components/ComboboxControl.d.ts +37 -0
  17. package/dist/components/ComboboxControl.d.ts.map +1 -0
  18. package/dist/components/ComboboxControl.js +145 -0
  19. package/dist/components/ComboboxControl.js.map +1 -0
  20. package/dist/components/ComboboxMenu.cjs +35 -14
  21. package/dist/components/ComboboxMenu.cjs.map +1 -1
  22. package/dist/components/ComboboxMenu.d.ts.map +1 -1
  23. package/dist/components/ComboboxMenu.js +35 -14
  24. package/dist/components/ComboboxMenu.js.map +1 -1
  25. package/dist/components/ComboboxTags.cjs +40 -0
  26. package/dist/components/ComboboxTags.cjs.map +1 -0
  27. package/dist/components/ComboboxTags.d.ts +8 -0
  28. package/dist/components/ComboboxTags.d.ts.map +1 -0
  29. package/dist/components/ComboboxTags.js +40 -0
  30. package/dist/components/ComboboxTags.js.map +1 -0
  31. package/dist/components/EndpointSelector.model.cjs +96 -0
  32. package/dist/components/EndpointSelector.model.cjs.map +1 -0
  33. package/dist/components/EndpointSelector.model.d.ts +2 -0
  34. package/dist/components/EndpointSelector.model.d.ts.map +1 -1
  35. package/dist/components/EndpointSelector.model.js +96 -0
  36. package/dist/components/EndpointSelector.model.js.map +1 -0
  37. package/dist/components/ErrorWrapper.cjs +168 -0
  38. package/dist/components/ErrorWrapper.cjs.map +1 -0
  39. package/dist/components/ErrorWrapper.d.ts +19 -0
  40. package/dist/components/ErrorWrapper.d.ts.map +1 -0
  41. package/dist/components/ErrorWrapper.js +168 -0
  42. package/dist/components/ErrorWrapper.js.map +1 -0
  43. package/dist/components/FilterBar.cjs +116 -4
  44. package/dist/components/FilterBar.cjs.map +1 -1
  45. package/dist/components/FilterBar.d.ts +37 -2
  46. package/dist/components/FilterBar.d.ts.map +1 -1
  47. package/dist/components/FilterBar.js +116 -4
  48. package/dist/components/FilterBar.js.map +1 -1
  49. package/dist/components/JSONPathField.cjs +112 -0
  50. package/dist/components/JSONPathField.cjs.map +1 -0
  51. package/dist/components/JSONPathField.d.ts +36 -0
  52. package/dist/components/JSONPathField.d.ts.map +1 -0
  53. package/dist/components/JSONPathField.js +112 -0
  54. package/dist/components/JSONPathField.js.map +1 -0
  55. package/dist/components/JSONPathPlayground.cjs +225 -0
  56. package/dist/components/JSONPathPlayground.cjs.map +1 -0
  57. package/dist/components/JSONPathPlayground.d.ts +59 -0
  58. package/dist/components/JSONPathPlayground.d.ts.map +1 -0
  59. package/dist/components/JSONPathPlayground.js +225 -0
  60. package/dist/components/JSONPathPlayground.js.map +1 -0
  61. package/dist/components/JsonSchemaForm.cjs +8 -4
  62. package/dist/components/JsonSchemaForm.cjs.map +1 -1
  63. package/dist/components/JsonSchemaForm.d.ts.map +1 -1
  64. package/dist/components/JsonSchemaForm.js +8 -4
  65. package/dist/components/JsonSchemaForm.js.map +1 -1
  66. package/dist/components/OnePasswordSelector.cjs +178 -0
  67. package/dist/components/OnePasswordSelector.cjs.map +1 -0
  68. package/dist/components/OnePasswordSelector.d.ts +8 -0
  69. package/dist/components/OnePasswordSelector.d.ts.map +1 -0
  70. package/dist/components/OnePasswordSelector.js +178 -0
  71. package/dist/components/OnePasswordSelector.js.map +1 -0
  72. package/dist/components/OnePasswordSelector.model.cjs +31 -0
  73. package/dist/components/OnePasswordSelector.model.cjs.map +1 -0
  74. package/dist/components/OnePasswordSelector.model.d.ts +27 -0
  75. package/dist/components/OnePasswordSelector.model.d.ts.map +1 -0
  76. package/dist/components/OnePasswordSelector.model.js +31 -0
  77. package/dist/components/OnePasswordSelector.model.js.map +1 -0
  78. package/dist/components/SecretFormField.cjs +142 -0
  79. package/dist/components/SecretFormField.cjs.map +1 -0
  80. package/dist/components/SecretFormField.d.ts +9 -0
  81. package/dist/components/SecretFormField.d.ts.map +1 -0
  82. package/dist/components/SecretFormField.js +142 -0
  83. package/dist/components/SecretFormField.js.map +1 -0
  84. package/dist/components/SecretKeySelector.cjs +20 -14
  85. package/dist/components/SecretKeySelector.cjs.map +1 -1
  86. package/dist/components/SecretKeySelector.d.ts +4 -1
  87. package/dist/components/SecretKeySelector.d.ts.map +1 -1
  88. package/dist/components/SecretKeySelector.js +20 -14
  89. package/dist/components/SecretKeySelector.js.map +1 -1
  90. package/dist/components/TreePickerField.cjs +71 -27
  91. package/dist/components/TreePickerField.cjs.map +1 -1
  92. package/dist/components/TreePickerField.d.ts +31 -2
  93. package/dist/components/TreePickerField.d.ts.map +1 -1
  94. package/dist/components/TreePickerField.js +72 -28
  95. package/dist/components/TreePickerField.js.map +1 -1
  96. package/dist/components/TriStateToggle.cjs +53 -0
  97. package/dist/components/TriStateToggle.cjs.map +1 -0
  98. package/dist/components/TriStateToggle.d.ts +27 -0
  99. package/dist/components/TriStateToggle.d.ts.map +1 -0
  100. package/dist/components/TriStateToggle.js +53 -0
  101. package/dist/components/TriStateToggle.js.map +1 -0
  102. package/dist/components/combobox-types.d.ts +25 -1
  103. package/dist/components/combobox-types.d.ts.map +1 -1
  104. package/dist/components/combobox-utils.cjs +26 -0
  105. package/dist/components/combobox-utils.cjs.map +1 -1
  106. package/dist/components/combobox-utils.d.ts +10 -0
  107. package/dist/components/combobox-utils.d.ts.map +1 -1
  108. package/dist/components/combobox-utils.js +26 -0
  109. package/dist/components/combobox-utils.js.map +1 -1
  110. package/dist/components/filter-bar-utils.cjs +12 -0
  111. package/dist/components/filter-bar-utils.cjs.map +1 -1
  112. package/dist/components/filter-bar-utils.d.ts.map +1 -1
  113. package/dist/components/filter-bar-utils.js +12 -0
  114. package/dist/components/filter-bar-utils.js.map +1 -1
  115. package/dist/components/jotai-bindings-core.cjs.map +1 -1
  116. package/dist/components/jotai-bindings-core.d.ts +4 -1
  117. package/dist/components/jotai-bindings-core.d.ts.map +1 -1
  118. package/dist/components/jotai-bindings-core.js.map +1 -1
  119. package/dist/components/json-schema-form-accordion-array.cjs +290 -0
  120. package/dist/components/json-schema-form-accordion-array.cjs.map +1 -0
  121. package/dist/components/json-schema-form-accordion-array.d.ts +7 -0
  122. package/dist/components/json-schema-form-accordion-array.d.ts.map +1 -0
  123. package/dist/components/json-schema-form-accordion-array.js +290 -0
  124. package/dist/components/json-schema-form-accordion-array.js.map +1 -0
  125. package/dist/components/json-schema-form-array.cjs +99 -110
  126. package/dist/components/json-schema-form-array.cjs.map +1 -1
  127. package/dist/components/json-schema-form-array.d.ts +1 -1
  128. package/dist/components/json-schema-form-array.d.ts.map +1 -1
  129. package/dist/components/json-schema-form-array.js +98 -109
  130. package/dist/components/json-schema-form-array.js.map +1 -1
  131. package/dist/components/json-schema-form-error-display.cjs +4 -2
  132. package/dist/components/json-schema-form-error-display.cjs.map +1 -1
  133. package/dist/components/json-schema-form-error-display.d.ts +4 -2
  134. package/dist/components/json-schema-form-error-display.d.ts.map +1 -1
  135. package/dist/components/json-schema-form-error-display.js +4 -2
  136. package/dist/components/json-schema-form-error-display.js.map +1 -1
  137. package/dist/components/json-schema-form-extensions.cjs +10 -0
  138. package/dist/components/json-schema-form-extensions.cjs.map +1 -0
  139. package/dist/components/json-schema-form-extensions.d.ts +8 -0
  140. package/dist/components/json-schema-form-extensions.d.ts.map +1 -0
  141. package/dist/components/json-schema-form-extensions.js +10 -0
  142. package/dist/components/json-schema-form-extensions.js.map +1 -0
  143. package/dist/components/json-schema-form-fields.cjs +25 -101
  144. package/dist/components/json-schema-form-fields.cjs.map +1 -1
  145. package/dist/components/json-schema-form-fields.d.ts +1 -32
  146. package/dist/components/json-schema-form-fields.d.ts.map +1 -1
  147. package/dist/components/json-schema-form-fields.js +28 -104
  148. package/dist/components/json-schema-form-fields.js.map +1 -1
  149. package/dist/components/json-schema-form-item-summary.cjs +131 -0
  150. package/dist/components/json-schema-form-item-summary.cjs.map +1 -0
  151. package/dist/components/json-schema-form-item-summary.d.ts +13 -0
  152. package/dist/components/json-schema-form-item-summary.d.ts.map +1 -0
  153. package/dist/components/json-schema-form-item-summary.js +131 -0
  154. package/dist/components/json-schema-form-item-summary.js.map +1 -0
  155. package/dist/components/json-schema-form-layout.cjs +156 -0
  156. package/dist/components/json-schema-form-layout.cjs.map +1 -0
  157. package/dist/components/json-schema-form-layout.d.ts +43 -0
  158. package/dist/components/json-schema-form-layout.d.ts.map +1 -0
  159. package/dist/components/json-schema-form-layout.js +156 -0
  160. package/dist/components/json-schema-form-layout.js.map +1 -0
  161. package/dist/components/json-schema-form-lookup-tree.cjs +149 -0
  162. package/dist/components/json-schema-form-lookup-tree.cjs.map +1 -0
  163. package/dist/components/json-schema-form-lookup-tree.d.ts +22 -0
  164. package/dist/components/json-schema-form-lookup-tree.d.ts.map +1 -0
  165. package/dist/components/json-schema-form-lookup-tree.js +149 -0
  166. package/dist/components/json-schema-form-lookup-tree.js.map +1 -0
  167. package/dist/components/json-schema-form-object.cjs +11 -4
  168. package/dist/components/json-schema-form-object.cjs.map +1 -1
  169. package/dist/components/json-schema-form-object.d.ts.map +1 -1
  170. package/dist/components/json-schema-form-object.js +11 -4
  171. package/dist/components/json-schema-form-object.js.map +1 -1
  172. package/dist/components/json-schema-form-render.cjs +53 -29
  173. package/dist/components/json-schema-form-render.cjs.map +1 -1
  174. package/dist/components/json-schema-form-render.d.ts.map +1 -1
  175. package/dist/components/json-schema-form-render.js +53 -29
  176. package/dist/components/json-schema-form-render.js.map +1 -1
  177. package/dist/components/json-schema-form-resolve.cjs +62 -13
  178. package/dist/components/json-schema-form-resolve.cjs.map +1 -1
  179. package/dist/components/json-schema-form-resolve.d.ts +1 -0
  180. package/dist/components/json-schema-form-resolve.d.ts.map +1 -1
  181. package/dist/components/json-schema-form-resolve.js +62 -13
  182. package/dist/components/json-schema-form-resolve.js.map +1 -1
  183. package/dist/components/json-schema-form-table-array.cjs +123 -0
  184. package/dist/components/json-schema-form-table-array.cjs.map +1 -0
  185. package/dist/components/json-schema-form-table-array.d.ts +7 -0
  186. package/dist/components/json-schema-form-table-array.d.ts.map +1 -0
  187. package/dist/components/json-schema-form-table-array.js +123 -0
  188. package/dist/components/json-schema-form-table-array.js.map +1 -0
  189. package/dist/components/json-schema-form-tone.cjs +34 -0
  190. package/dist/components/json-schema-form-tone.cjs.map +1 -0
  191. package/dist/components/json-schema-form-tone.d.ts +8 -0
  192. package/dist/components/json-schema-form-tone.d.ts.map +1 -0
  193. package/dist/components/json-schema-form-tone.js +34 -0
  194. package/dist/components/json-schema-form-tone.js.map +1 -0
  195. package/dist/components/json-schema-form-types.d.ts +88 -10
  196. package/dist/components/json-schema-form-types.d.ts.map +1 -1
  197. package/dist/components/json-schema-form-utils.cjs +47 -4
  198. package/dist/components/json-schema-form-utils.cjs.map +1 -1
  199. package/dist/components/json-schema-form-utils.d.ts +19 -4
  200. package/dist/components/json-schema-form-utils.d.ts.map +1 -1
  201. package/dist/components/json-schema-form-utils.js +47 -4
  202. package/dist/components/json-schema-form-utils.js.map +1 -1
  203. package/dist/components/jsonPathTree.cjs +189 -0
  204. package/dist/components/jsonPathTree.cjs.map +1 -0
  205. package/dist/components/jsonPathTree.d.ts +92 -0
  206. package/dist/components/jsonPathTree.d.ts.map +1 -0
  207. package/dist/components/jsonPathTree.js +189 -0
  208. package/dist/components/jsonPathTree.js.map +1 -0
  209. package/dist/components/secret-form-extension.cjs +30 -0
  210. package/dist/components/secret-form-extension.cjs.map +1 -0
  211. package/dist/components/secret-form-extension.d.ts +23 -0
  212. package/dist/components/secret-form-extension.d.ts.map +1 -0
  213. package/dist/components/secret-form-extension.js +30 -0
  214. package/dist/components/secret-form-extension.js.map +1 -0
  215. package/dist/components/tri-state.cjs +8 -0
  216. package/dist/components/tri-state.cjs.map +1 -0
  217. package/dist/components/tri-state.d.ts +5 -0
  218. package/dist/components/tri-state.d.ts.map +1 -0
  219. package/dist/components/tri-state.js +8 -0
  220. package/dist/components/tri-state.js.map +1 -0
  221. package/dist/components/useComboboxLayout.cjs +59 -0
  222. package/dist/components/useComboboxLayout.cjs.map +1 -0
  223. package/dist/components/useComboboxLayout.d.ts +5 -0
  224. package/dist/components/useComboboxLayout.d.ts.map +1 -0
  225. package/dist/components/useComboboxLayout.js +59 -0
  226. package/dist/components/useComboboxLayout.js.map +1 -0
  227. package/dist/components.cjs +37 -0
  228. package/dist/components.cjs.map +1 -1
  229. package/dist/components.d.ts +20 -4
  230. package/dist/components.d.ts.map +1 -1
  231. package/dist/components.js +38 -1
  232. package/dist/components.js.map +1 -1
  233. package/dist/data/Clicky.cjs +51 -2
  234. package/dist/data/Clicky.cjs.map +1 -1
  235. package/dist/data/Clicky.d.ts +10 -1
  236. package/dist/data/Clicky.d.ts.map +1 -1
  237. package/dist/data/Clicky.js +51 -2
  238. package/dist/data/Clicky.js.map +1 -1
  239. package/dist/data/DataTable.cjs +185 -53
  240. package/dist/data/DataTable.cjs.map +1 -1
  241. package/dist/data/DataTable.d.ts +63 -3
  242. package/dist/data/DataTable.d.ts.map +1 -1
  243. package/dist/data/DataTable.js +185 -53
  244. package/dist/data/DataTable.js.map +1 -1
  245. package/dist/data/LogsTable.cjs +10 -1
  246. package/dist/data/LogsTable.cjs.map +1 -1
  247. package/dist/data/LogsTable.d.ts +3 -1
  248. package/dist/data/LogsTable.d.ts.map +1 -1
  249. package/dist/data/LogsTable.js +10 -1
  250. package/dist/data/LogsTable.js.map +1 -1
  251. package/dist/data/TaskExecDetails.cjs +40 -0
  252. package/dist/data/TaskExecDetails.cjs.map +1 -0
  253. package/dist/data/TaskExecDetails.d.ts +5 -0
  254. package/dist/data/TaskExecDetails.d.ts.map +1 -0
  255. package/dist/data/TaskExecDetails.js +40 -0
  256. package/dist/data/TaskExecDetails.js.map +1 -0
  257. package/dist/data/TaskManager.cjs +99 -14
  258. package/dist/data/TaskManager.cjs.map +1 -1
  259. package/dist/data/TaskManager.d.ts.map +1 -1
  260. package/dist/data/TaskManager.js +100 -15
  261. package/dist/data/TaskManager.js.map +1 -1
  262. package/dist/data/TaskProgress.cjs +59 -14
  263. package/dist/data/TaskProgress.cjs.map +1 -1
  264. package/dist/data/TaskProgress.d.ts +2 -1
  265. package/dist/data/TaskProgress.d.ts.map +1 -1
  266. package/dist/data/TaskProgress.js +59 -14
  267. package/dist/data/TaskProgress.js.map +1 -1
  268. package/dist/data/TaskSnapshot.cjs.map +1 -1
  269. package/dist/data/TaskSnapshot.d.ts +12 -1
  270. package/dist/data/TaskSnapshot.d.ts.map +1 -1
  271. package/dist/data/TaskSnapshot.js.map +1 -1
  272. package/dist/data/TreeNode.cjs +3 -0
  273. package/dist/data/TreeNode.cjs.map +1 -1
  274. package/dist/data/TreeNode.d.ts.map +1 -1
  275. package/dist/data/TreeNode.js +3 -0
  276. package/dist/data/TreeNode.js.map +1 -1
  277. package/dist/data/ai/AdvancedChatConfig.cjs +289 -0
  278. package/dist/data/ai/AdvancedChatConfig.cjs.map +1 -0
  279. package/dist/data/ai/AdvancedChatConfig.d.ts +21 -0
  280. package/dist/data/ai/AdvancedChatConfig.d.ts.map +1 -0
  281. package/dist/data/ai/AdvancedChatConfig.js +289 -0
  282. package/dist/data/ai/AdvancedChatConfig.js.map +1 -0
  283. package/dist/data/ai/AdvancedCostsPanel.cjs +120 -0
  284. package/dist/data/ai/AdvancedCostsPanel.cjs.map +1 -0
  285. package/dist/data/ai/AdvancedCostsPanel.d.ts +16 -0
  286. package/dist/data/ai/AdvancedCostsPanel.d.ts.map +1 -0
  287. package/dist/data/ai/AdvancedCostsPanel.js +120 -0
  288. package/dist/data/ai/AdvancedCostsPanel.js.map +1 -0
  289. package/dist/data/ai/ChatWindow.catalogs.cjs +74 -0
  290. package/dist/data/ai/ChatWindow.catalogs.cjs.map +1 -0
  291. package/dist/data/ai/ChatWindow.catalogs.d.ts +16 -0
  292. package/dist/data/ai/ChatWindow.catalogs.d.ts.map +1 -0
  293. package/dist/data/ai/ChatWindow.catalogs.js +74 -0
  294. package/dist/data/ai/ChatWindow.catalogs.js.map +1 -0
  295. package/dist/data/ai/ChatWindow.cjs +78 -100
  296. package/dist/data/ai/ChatWindow.cjs.map +1 -1
  297. package/dist/data/ai/ChatWindow.d.ts +1 -1
  298. package/dist/data/ai/ChatWindow.d.ts.map +1 -1
  299. package/dist/data/ai/ChatWindow.js +80 -102
  300. package/dist/data/ai/ChatWindow.js.map +1 -1
  301. package/dist/data/ai/ChatWindow.preferences.cjs.map +1 -1
  302. package/dist/data/ai/ChatWindow.preferences.d.ts +2 -4
  303. package/dist/data/ai/ChatWindow.preferences.d.ts.map +1 -1
  304. package/dist/data/ai/ChatWindow.preferences.js.map +1 -1
  305. package/dist/data/ai/ChatWindow.runtime.cjs +120 -0
  306. package/dist/data/ai/ChatWindow.runtime.cjs.map +1 -0
  307. package/dist/data/ai/ChatWindow.runtime.d.ts +20 -0
  308. package/dist/data/ai/ChatWindow.runtime.d.ts.map +1 -0
  309. package/dist/data/ai/ChatWindow.runtime.js +120 -0
  310. package/dist/data/ai/ChatWindow.runtime.js.map +1 -0
  311. package/dist/data/ai/ChatWindow.thread.cjs +1 -1
  312. package/dist/data/ai/ChatWindow.thread.cjs.map +1 -1
  313. package/dist/data/ai/ChatWindow.thread.js +1 -1
  314. package/dist/data/ai/ChatWindow.thread.js.map +1 -1
  315. package/dist/data/ai/ChatWindow.tool-catalog.cjs +20 -0
  316. package/dist/data/ai/ChatWindow.tool-catalog.cjs.map +1 -1
  317. package/dist/data/ai/ChatWindow.tool-catalog.d.ts +17 -1
  318. package/dist/data/ai/ChatWindow.tool-catalog.d.ts.map +1 -1
  319. package/dist/data/ai/ChatWindow.tool-catalog.js +20 -0
  320. package/dist/data/ai/ChatWindow.tool-catalog.js.map +1 -1
  321. package/dist/data/ai/ChatWindow.types.d.ts +13 -5
  322. package/dist/data/ai/ChatWindow.types.d.ts.map +1 -1
  323. package/dist/data/ai/ChatWindowManager.cjs +3 -1
  324. package/dist/data/ai/ChatWindowManager.cjs.map +1 -1
  325. package/dist/data/ai/ChatWindowManager.d.ts.map +1 -1
  326. package/dist/data/ai/ChatWindowManager.js +3 -1
  327. package/dist/data/ai/ChatWindowManager.js.map +1 -1
  328. package/dist/data/ai/PromptPicker/PromptPicker.cjs +1 -1
  329. package/dist/data/ai/PromptPicker/PromptPicker.cjs.map +1 -1
  330. package/dist/data/ai/PromptPicker/PromptPicker.d.ts +1 -1
  331. package/dist/data/ai/PromptPicker/PromptPicker.d.ts.map +1 -1
  332. package/dist/data/ai/PromptPicker/PromptPicker.js +1 -1
  333. package/dist/data/ai/PromptPicker/PromptPicker.js.map +1 -1
  334. package/dist/data/ai/PromptRunEditor/index.cjs +2 -2
  335. package/dist/data/ai/PromptRunEditor/index.cjs.map +1 -1
  336. package/dist/data/ai/PromptRunEditor/index.d.ts +1 -1
  337. package/dist/data/ai/PromptRunEditor/index.d.ts.map +1 -1
  338. package/dist/data/ai/PromptRunEditor/index.js +2 -2
  339. package/dist/data/ai/PromptRunEditor/index.js.map +1 -1
  340. package/dist/data/ai/RuntimeModePicker.cjs +1 -1
  341. package/dist/data/ai/RuntimeModePicker.cjs.map +1 -1
  342. package/dist/data/ai/RuntimeModePicker.d.ts +1 -1
  343. package/dist/data/ai/RuntimeModePicker.d.ts.map +1 -1
  344. package/dist/data/ai/RuntimeModePicker.js +1 -1
  345. package/dist/data/ai/RuntimeModePicker.js.map +1 -1
  346. package/dist/data/ai/SessionInspector.files.cjs +26 -43
  347. package/dist/data/ai/SessionInspector.files.cjs.map +1 -1
  348. package/dist/data/ai/SessionInspector.files.d.ts.map +1 -1
  349. package/dist/data/ai/SessionInspector.files.js +26 -43
  350. package/dist/data/ai/SessionInspector.files.js.map +1 -1
  351. package/dist/data/ai/SessionInspector.hierarchy.cjs +1 -1
  352. package/dist/data/ai/SessionInspector.hierarchy.cjs.map +1 -1
  353. package/dist/data/ai/SessionInspector.hierarchy.js +1 -1
  354. package/dist/data/ai/SessionInspector.hierarchy.js.map +1 -1
  355. package/dist/data/ai/SessionInspector.model.cjs +1 -1
  356. package/dist/data/ai/SessionInspector.model.cjs.map +1 -1
  357. package/dist/data/ai/SessionInspector.model.js +1 -1
  358. package/dist/data/ai/SessionInspector.model.js.map +1 -1
  359. package/dist/data/ai/SessionViewer.rows.cjs +4 -16
  360. package/dist/data/ai/SessionViewer.rows.cjs.map +1 -1
  361. package/dist/data/ai/SessionViewer.rows.d.ts.map +1 -1
  362. package/dist/data/ai/SessionViewer.rows.js +4 -16
  363. package/dist/data/ai/SessionViewer.rows.js.map +1 -1
  364. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs +12 -3
  365. package/dist/data/ai/SpecRuntimeEditor/ModelSection.cjs.map +1 -1
  366. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts +1 -1
  367. package/dist/data/ai/SpecRuntimeEditor/ModelSection.d.ts.map +1 -1
  368. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js +12 -3
  369. package/dist/data/ai/SpecRuntimeEditor/ModelSection.js.map +1 -1
  370. package/dist/data/ai/SpecRuntimeEditor/VerifySection.cjs.map +1 -1
  371. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts +1 -1
  372. package/dist/data/ai/SpecRuntimeEditor/VerifySection.d.ts.map +1 -1
  373. package/dist/data/ai/SpecRuntimeEditor/VerifySection.js.map +1 -1
  374. package/dist/data/ai/SpecRuntimeEditor/fields.js +1 -1
  375. package/dist/data/ai/SpecRuntimeEditor/index.cjs.map +1 -1
  376. package/dist/data/ai/SpecRuntimeEditor/index.d.ts +2 -2
  377. package/dist/data/ai/SpecRuntimeEditor/index.d.ts.map +1 -1
  378. package/dist/data/ai/SpecRuntimeEditor/index.js.map +1 -1
  379. package/dist/data/ai/ThreadPicker.cjs +65 -3
  380. package/dist/data/ai/ThreadPicker.cjs.map +1 -1
  381. package/dist/data/ai/ThreadPicker.d.ts +11 -5
  382. package/dist/data/ai/ThreadPicker.d.ts.map +1 -1
  383. package/dist/data/ai/ThreadPicker.js +65 -3
  384. package/dist/data/ai/ThreadPicker.js.map +1 -1
  385. package/dist/data/ai/ToolPreferences.cjs +65 -685
  386. package/dist/data/ai/ToolPreferences.cjs.map +1 -1
  387. package/dist/data/ai/ToolPreferences.d.ts +15 -17
  388. package/dist/data/ai/ToolPreferences.d.ts.map +1 -1
  389. package/dist/data/ai/ToolPreferences.js +64 -683
  390. package/dist/data/ai/ToolPreferences.js.map +1 -1
  391. package/dist/data/ai/ToolPreferences.model.cjs +148 -0
  392. package/dist/data/ai/ToolPreferences.model.cjs.map +1 -0
  393. package/dist/data/ai/ToolPreferences.model.d.ts +31 -0
  394. package/dist/data/ai/ToolPreferences.model.d.ts.map +1 -0
  395. package/dist/data/ai/ToolPreferences.model.js +148 -0
  396. package/dist/data/ai/ToolPreferences.model.js.map +1 -0
  397. package/dist/data/ai/ToolPreferencesList.cjs +270 -0
  398. package/dist/data/ai/ToolPreferencesList.cjs.map +1 -0
  399. package/dist/data/ai/ToolPreferencesList.d.ts +18 -0
  400. package/dist/data/ai/ToolPreferencesList.d.ts.map +1 -0
  401. package/dist/data/ai/ToolPreferencesList.js +270 -0
  402. package/dist/data/ai/ToolPreferencesList.js.map +1 -0
  403. package/dist/data/ai/agent-action-icons.cjs.map +1 -1
  404. package/dist/data/ai/agent-action-icons.js.map +1 -1
  405. package/dist/data/ai/chat-window-context.cjs +4 -1
  406. package/dist/data/ai/chat-window-context.cjs.map +1 -1
  407. package/dist/data/ai/chat-window-context.d.ts +7 -0
  408. package/dist/data/ai/chat-window-context.d.ts.map +1 -1
  409. package/dist/data/ai/chat-window-context.js +4 -1
  410. package/dist/data/ai/chat-window-context.js.map +1 -1
  411. package/dist/data/ai/index.d.ts +6 -3
  412. package/dist/data/ai/index.d.ts.map +1 -1
  413. package/dist/data/ai/session-tones.cjs +67 -0
  414. package/dist/data/ai/session-tones.cjs.map +1 -0
  415. package/dist/data/ai/session-tones.d.ts +34 -0
  416. package/dist/data/ai/session-tones.d.ts.map +1 -0
  417. package/dist/data/ai/session-tones.js +67 -0
  418. package/dist/data/ai/session-tones.js.map +1 -0
  419. package/dist/data/ai/thread-costs.cjs +39 -0
  420. package/dist/data/ai/thread-costs.cjs.map +1 -0
  421. package/dist/data/ai/thread-costs.d.ts +62 -0
  422. package/dist/data/ai/thread-costs.d.ts.map +1 -0
  423. package/dist/data/ai/thread-costs.js +39 -0
  424. package/dist/data/ai/thread-costs.js.map +1 -0
  425. package/dist/data/cells/CellFilterActions.cjs +68 -0
  426. package/dist/data/cells/CellFilterActions.cjs.map +1 -0
  427. package/dist/data/cells/CellFilterActions.d.ts +15 -0
  428. package/dist/data/cells/CellFilterActions.d.ts.map +1 -0
  429. package/dist/data/cells/CellFilterActions.js +68 -0
  430. package/dist/data/cells/CellFilterActions.js.map +1 -0
  431. package/dist/data/chat/Chat.cjs +156 -113
  432. package/dist/data/chat/Chat.cjs.map +1 -1
  433. package/dist/data/chat/Chat.d.ts +24 -7
  434. package/dist/data/chat/Chat.d.ts.map +1 -1
  435. package/dist/data/chat/Chat.fixtures.cjs +48 -3
  436. package/dist/data/chat/Chat.fixtures.cjs.map +1 -1
  437. package/dist/data/chat/Chat.fixtures.d.ts +1 -1
  438. package/dist/data/chat/Chat.fixtures.d.ts.map +1 -1
  439. package/dist/data/chat/Chat.fixtures.js +48 -3
  440. package/dist/data/chat/Chat.fixtures.js.map +1 -1
  441. package/dist/data/chat/Chat.js +160 -117
  442. package/dist/data/chat/Chat.js.map +1 -1
  443. package/dist/data/chat/Chat.runtime.cjs +63 -0
  444. package/dist/data/chat/Chat.runtime.cjs.map +1 -0
  445. package/dist/data/chat/Chat.runtime.d.ts +16 -0
  446. package/dist/data/chat/Chat.runtime.d.ts.map +1 -0
  447. package/dist/data/chat/Chat.runtime.js +63 -0
  448. package/dist/data/chat/Chat.runtime.js.map +1 -0
  449. package/dist/data/chat/ChatRuntimeToolbar.cjs +62 -0
  450. package/dist/data/chat/ChatRuntimeToolbar.cjs.map +1 -0
  451. package/dist/data/chat/ChatRuntimeToolbar.d.ts +14 -0
  452. package/dist/data/chat/ChatRuntimeToolbar.d.ts.map +1 -0
  453. package/dist/data/chat/ChatRuntimeToolbar.js +62 -0
  454. package/dist/data/chat/ChatRuntimeToolbar.js.map +1 -0
  455. package/dist/data/chat/ToolCall.cjs +86 -24
  456. package/dist/data/chat/ToolCall.cjs.map +1 -1
  457. package/dist/data/chat/ToolCall.d.ts +12 -5
  458. package/dist/data/chat/ToolCall.d.ts.map +1 -1
  459. package/dist/data/chat/ToolCall.js +86 -24
  460. package/dist/data/chat/ToolCall.js.map +1 -1
  461. package/dist/data/chat/approval.cjs +49 -6
  462. package/dist/data/chat/approval.cjs.map +1 -1
  463. package/dist/data/chat/approval.d.ts +11 -4
  464. package/dist/data/chat/approval.d.ts.map +1 -1
  465. package/dist/data/chat/approval.js +49 -6
  466. package/dist/data/chat/approval.js.map +1 -1
  467. package/dist/data/chat/index.d.ts +5 -3
  468. package/dist/data/chat/index.d.ts.map +1 -1
  469. package/dist/data/chat/tool-render/ToolArgs.cjs +50 -0
  470. package/dist/data/chat/tool-render/ToolArgs.cjs.map +1 -0
  471. package/dist/data/chat/tool-render/ToolArgs.d.ts +7 -0
  472. package/dist/data/chat/tool-render/ToolArgs.d.ts.map +1 -0
  473. package/dist/data/chat/tool-render/ToolArgs.js +50 -0
  474. package/dist/data/chat/tool-render/ToolArgs.js.map +1 -0
  475. package/dist/data/chat/tool-render/ToolParams.cjs +155 -0
  476. package/dist/data/chat/tool-render/ToolParams.cjs.map +1 -0
  477. package/dist/data/chat/tool-render/ToolParams.d.ts +20 -0
  478. package/dist/data/chat/tool-render/ToolParams.d.ts.map +1 -0
  479. package/dist/data/chat/tool-render/ToolParams.js +155 -0
  480. package/dist/data/chat/tool-render/ToolParams.js.map +1 -0
  481. package/dist/data/chat/tool-render/ToolValue.cjs +140 -0
  482. package/dist/data/chat/tool-render/ToolValue.cjs.map +1 -0
  483. package/dist/data/chat/tool-render/ToolValue.d.ts +16 -0
  484. package/dist/data/chat/tool-render/ToolValue.d.ts.map +1 -0
  485. package/dist/data/chat/tool-render/ToolValue.js +140 -0
  486. package/dist/data/chat/tool-render/ToolValue.js.map +1 -0
  487. package/dist/data/chat/tool-render/adapter.cjs +48 -0
  488. package/dist/data/chat/tool-render/adapter.cjs.map +1 -0
  489. package/dist/data/chat/tool-render/adapter.d.ts +57 -0
  490. package/dist/data/chat/tool-render/adapter.d.ts.map +1 -0
  491. package/dist/data/chat/tool-render/adapter.js +48 -0
  492. package/dist/data/chat/tool-render/adapter.js.map +1 -0
  493. package/dist/data/chat/tool-render/context.cjs +16 -0
  494. package/dist/data/chat/tool-render/context.cjs.map +1 -0
  495. package/dist/data/chat/tool-render/context.d.ts +6 -0
  496. package/dist/data/chat/tool-render/context.d.ts.map +1 -0
  497. package/dist/data/chat/tool-render/context.js +16 -0
  498. package/dist/data/chat/tool-render/context.js.map +1 -0
  499. package/dist/data/chat/tool-render/defaults.cjs +45 -0
  500. package/dist/data/chat/tool-render/defaults.cjs.map +1 -0
  501. package/dist/data/chat/tool-render/defaults.d.ts +11 -0
  502. package/dist/data/chat/tool-render/defaults.d.ts.map +1 -0
  503. package/dist/data/chat/tool-render/defaults.js +45 -0
  504. package/dist/data/chat/tool-render/defaults.js.map +1 -0
  505. package/dist/data/chat/tool-render/index.d.ts +13 -0
  506. package/dist/data/chat/tool-render/index.d.ts.map +1 -0
  507. package/dist/data/chat/tool-render/known-tool-views.cjs +208 -0
  508. package/dist/data/chat/tool-render/known-tool-views.cjs.map +1 -0
  509. package/dist/data/chat/tool-render/known-tool-views.d.ts +10 -0
  510. package/dist/data/chat/tool-render/known-tool-views.d.ts.map +1 -0
  511. package/dist/data/chat/tool-render/known-tool-views.js +208 -0
  512. package/dist/data/chat/tool-render/known-tool-views.js.map +1 -0
  513. package/dist/data/chat/tool-render/known-tools.cjs +58 -0
  514. package/dist/data/chat/tool-render/known-tools.cjs.map +1 -0
  515. package/dist/data/chat/tool-render/known-tools.d.ts +4 -0
  516. package/dist/data/chat/tool-render/known-tools.d.ts.map +1 -0
  517. package/dist/data/chat/tool-render/known-tools.js +58 -0
  518. package/dist/data/chat/tool-render/known-tools.js.map +1 -0
  519. package/dist/data/chat/tool-render/normalize.cjs +42 -0
  520. package/dist/data/chat/tool-render/normalize.cjs.map +1 -0
  521. package/dist/data/chat/tool-render/normalize.d.ts +13 -0
  522. package/dist/data/chat/tool-render/normalize.d.ts.map +1 -0
  523. package/dist/data/chat/tool-render/normalize.js +42 -0
  524. package/dist/data/chat/tool-render/normalize.js.map +1 -0
  525. package/dist/data/chat/tool-render/registry.cjs +14 -0
  526. package/dist/data/chat/tool-render/registry.cjs.map +1 -0
  527. package/dist/data/chat/tool-render/registry.d.ts +7 -0
  528. package/dist/data/chat/tool-render/registry.d.ts.map +1 -0
  529. package/dist/data/chat/tool-render/registry.js +14 -0
  530. package/dist/data/chat/tool-render/registry.js.map +1 -0
  531. package/dist/data/chat/tool-render/schema.cjs +57 -0
  532. package/dist/data/chat/tool-render/schema.cjs.map +1 -0
  533. package/dist/data/chat/tool-render/schema.d.ts +28 -0
  534. package/dist/data/chat/tool-render/schema.d.ts.map +1 -0
  535. package/dist/data/chat/tool-render/schema.js +57 -0
  536. package/dist/data/chat/tool-render/schema.js.map +1 -0
  537. package/dist/data/chat/tool-render/shape.cjs +94 -0
  538. package/dist/data/chat/tool-render/shape.cjs.map +1 -0
  539. package/dist/data/chat/tool-render/shape.d.ts +39 -0
  540. package/dist/data/chat/tool-render/shape.d.ts.map +1 -0
  541. package/dist/data/chat/tool-render/shape.js +94 -0
  542. package/dist/data/chat/tool-render/shape.js.map +1 -0
  543. package/dist/data/chat/tool-render/summary.cjs +34 -0
  544. package/dist/data/chat/tool-render/summary.cjs.map +1 -0
  545. package/dist/data/chat/tool-render/summary.d.ts +8 -0
  546. package/dist/data/chat/tool-render/summary.d.ts.map +1 -0
  547. package/dist/data/chat/tool-render/summary.js +34 -0
  548. package/dist/data/chat/tool-render/summary.js.map +1 -0
  549. package/dist/data/chat/types.cjs.map +1 -1
  550. package/dist/data/chat/types.d.ts +7 -0
  551. package/dist/data/chat/types.d.ts.map +1 -1
  552. package/dist/data/chat/types.js.map +1 -1
  553. package/dist/data/chat/usage-snapshot.cjs +17 -0
  554. package/dist/data/chat/usage-snapshot.cjs.map +1 -0
  555. package/dist/data/chat/usage-snapshot.d.ts +21 -0
  556. package/dist/data/chat/usage-snapshot.d.ts.map +1 -0
  557. package/dist/data/chat/usage-snapshot.js +17 -0
  558. package/dist/data/chat/usage-snapshot.js.map +1 -0
  559. package/dist/data/data-table-filter-values.cjs +103 -0
  560. package/dist/data/data-table-filter-values.cjs.map +1 -0
  561. package/dist/data/data-table-filter-values.d.ts +34 -0
  562. package/dist/data/data-table-filter-values.d.ts.map +1 -0
  563. package/dist/data/data-table-filter-values.js +103 -0
  564. package/dist/data/data-table-filter-values.js.map +1 -0
  565. package/dist/data/data-table-server-filters.cjs +165 -0
  566. package/dist/data/data-table-server-filters.cjs.map +1 -0
  567. package/dist/data/data-table-server-filters.d.ts +128 -0
  568. package/dist/data/data-table-server-filters.d.ts.map +1 -0
  569. package/dist/data/data-table-server-filters.js +165 -0
  570. package/dist/data/data-table-server-filters.js.map +1 -0
  571. package/dist/data/query-browser/QueryBrowser.cjs +204 -155
  572. package/dist/data/query-browser/QueryBrowser.cjs.map +1 -1
  573. package/dist/data/query-browser/QueryBrowser.d.ts +2 -41
  574. package/dist/data/query-browser/QueryBrowser.d.ts.map +1 -1
  575. package/dist/data/query-browser/QueryBrowser.editor.cjs +88 -0
  576. package/dist/data/query-browser/QueryBrowser.editor.cjs.map +1 -0
  577. package/dist/data/query-browser/QueryBrowser.editor.d.ts +12 -0
  578. package/dist/data/query-browser/QueryBrowser.editor.d.ts.map +1 -0
  579. package/dist/data/query-browser/QueryBrowser.editor.js +88 -0
  580. package/dist/data/query-browser/QueryBrowser.editor.js.map +1 -0
  581. package/dist/data/query-browser/QueryBrowser.js +205 -156
  582. package/dist/data/query-browser/QueryBrowser.js.map +1 -1
  583. package/dist/data/query-browser/QueryBrowser.types.cjs +11 -0
  584. package/dist/data/query-browser/QueryBrowser.types.cjs.map +1 -0
  585. package/dist/data/query-browser/QueryBrowser.types.d.ts +92 -0
  586. package/dist/data/query-browser/QueryBrowser.types.d.ts.map +1 -0
  587. package/dist/data/query-browser/QueryBrowser.types.js +11 -0
  588. package/dist/data/query-browser/QueryBrowser.types.js.map +1 -0
  589. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs +56 -0
  590. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.cjs.map +1 -0
  591. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts +5 -0
  592. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.d.ts.map +1 -0
  593. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js +56 -0
  594. package/dist/data/query-browser/QueryBrowserDiagnosticsPanel.js.map +1 -0
  595. package/dist/data/query-browser/QueryBrowserResults.cjs +80 -0
  596. package/dist/data/query-browser/QueryBrowserResults.cjs.map +1 -0
  597. package/dist/data/query-browser/QueryBrowserResults.d.ts +16 -0
  598. package/dist/data/query-browser/QueryBrowserResults.d.ts.map +1 -0
  599. package/dist/data/query-browser/QueryBrowserResults.js +80 -0
  600. package/dist/data/query-browser/QueryBrowserResults.js.map +1 -0
  601. package/dist/data/query-browser/index.d.ts +2 -1
  602. package/dist/data/query-browser/index.d.ts.map +1 -1
  603. package/dist/data/runtime/ProviderStatusPanel.cjs +187 -0
  604. package/dist/data/runtime/ProviderStatusPanel.cjs.map +1 -0
  605. package/dist/data/runtime/ProviderStatusPanel.d.ts +10 -0
  606. package/dist/data/runtime/ProviderStatusPanel.d.ts.map +1 -0
  607. package/dist/data/runtime/ProviderStatusPanel.js +187 -0
  608. package/dist/data/runtime/ProviderStatusPanel.js.map +1 -0
  609. package/dist/data/runtime/RuntimeBar.cjs +147 -0
  610. package/dist/data/runtime/RuntimeBar.cjs.map +1 -0
  611. package/dist/data/{ai → runtime}/RuntimeBar.d.ts +8 -6
  612. package/dist/data/runtime/RuntimeBar.d.ts.map +1 -0
  613. package/dist/data/runtime/RuntimeBar.js +147 -0
  614. package/dist/data/runtime/RuntimeBar.js.map +1 -0
  615. package/dist/data/runtime/RuntimeBar.model.cjs.map +1 -0
  616. package/dist/data/{ai → runtime}/RuntimeBar.model.d.ts +2 -2
  617. package/dist/data/runtime/RuntimeBar.model.d.ts.map +1 -0
  618. package/dist/data/runtime/RuntimeBar.model.js.map +1 -0
  619. package/dist/data/{ai → runtime}/RuntimeBarCombo.cjs +25 -30
  620. package/dist/data/runtime/RuntimeBarCombo.cjs.map +1 -0
  621. package/dist/data/{ai → runtime}/RuntimeBarCombo.d.ts +4 -3
  622. package/dist/data/runtime/RuntimeBarCombo.d.ts.map +1 -0
  623. package/dist/data/{ai → runtime}/RuntimeBarCombo.js +25 -30
  624. package/dist/data/runtime/RuntimeBarCombo.js.map +1 -0
  625. package/dist/data/{ai/RuntimeBar.cjs → runtime/RuntimeBarSegments.cjs} +54 -120
  626. package/dist/data/runtime/RuntimeBarSegments.cjs.map +1 -0
  627. package/dist/data/runtime/RuntimeBarSegments.d.ts +25 -0
  628. package/dist/data/runtime/RuntimeBarSegments.d.ts.map +1 -0
  629. package/dist/data/{ai/RuntimeBar.js → runtime/RuntimeBarSegments.js} +58 -124
  630. package/dist/data/runtime/RuntimeBarSegments.js.map +1 -0
  631. package/dist/data/runtime/availability.cjs +11 -0
  632. package/dist/data/runtime/availability.cjs.map +1 -0
  633. package/dist/data/runtime/availability.d.ts +6 -0
  634. package/dist/data/runtime/availability.d.ts.map +1 -0
  635. package/dist/data/runtime/availability.js +11 -0
  636. package/dist/data/runtime/availability.js.map +1 -0
  637. package/dist/data/runtime/model-capabilities.cjs.map +1 -0
  638. package/dist/data/runtime/model-capabilities.d.ts.map +1 -0
  639. package/dist/data/runtime/model-capabilities.js.map +1 -0
  640. package/dist/data/runtime/provider-status.cjs +106 -0
  641. package/dist/data/runtime/provider-status.cjs.map +1 -0
  642. package/dist/data/runtime/provider-status.d.ts +24 -0
  643. package/dist/data/runtime/provider-status.d.ts.map +1 -0
  644. package/dist/data/runtime/provider-status.js +106 -0
  645. package/dist/data/runtime/provider-status.js.map +1 -0
  646. package/dist/data/{ai → runtime}/runtime-mode.cjs +119 -27
  647. package/dist/data/runtime/runtime-mode.cjs.map +1 -0
  648. package/dist/data/{ai → runtime}/runtime-mode.d.ts +7 -1
  649. package/dist/data/runtime/runtime-mode.d.ts.map +1 -0
  650. package/dist/data/{ai → runtime}/runtime-mode.js +120 -28
  651. package/dist/data/runtime/runtime-mode.js.map +1 -0
  652. package/dist/data/task-exec-details.cjs +9 -0
  653. package/dist/data/task-exec-details.cjs.map +1 -0
  654. package/dist/data/task-exec-details.d.ts +3 -0
  655. package/dist/data/task-exec-details.d.ts.map +1 -0
  656. package/dist/data/task-exec-details.js +9 -0
  657. package/dist/data/task-exec-details.js.map +1 -0
  658. package/dist/data/task-query-keys.cjs +26 -0
  659. package/dist/data/task-query-keys.cjs.map +1 -0
  660. package/dist/data/task-query-keys.d.ts +27 -0
  661. package/dist/data/task-query-keys.d.ts.map +1 -0
  662. package/dist/data/task-query-keys.js +26 -0
  663. package/dist/data/task-query-keys.js.map +1 -0
  664. package/dist/data/version-info.cjs +3 -3
  665. package/dist/data/version-info.js +3 -3
  666. package/dist/data.cjs +18 -0
  667. package/dist/data.cjs.map +1 -1
  668. package/dist/data.d.ts +6 -2
  669. package/dist/data.d.ts.map +1 -1
  670. package/dist/data.js +18 -0
  671. package/dist/data.js.map +1 -1
  672. package/dist/hooks/use-hotkey.cjs +6 -1
  673. package/dist/hooks/use-hotkey.cjs.map +1 -1
  674. package/dist/hooks/use-hotkey.d.ts.map +1 -1
  675. package/dist/hooks/use-hotkey.js +6 -1
  676. package/dist/hooks/use-hotkey.js.map +1 -1
  677. package/dist/hooks/use-task-run.cjs +7 -4
  678. package/dist/hooks/use-task-run.cjs.map +1 -1
  679. package/dist/hooks/use-task-run.d.ts +12 -0
  680. package/dist/hooks/use-task-run.d.ts.map +1 -1
  681. package/dist/hooks/use-task-run.js +7 -4
  682. package/dist/hooks/use-task-run.js.map +1 -1
  683. package/dist/icons/index.d.ts +1 -0
  684. package/dist/icons/index.d.ts.map +1 -1
  685. package/dist/icons/registry.cjs +692 -0
  686. package/dist/icons/registry.cjs.map +1 -0
  687. package/dist/icons/registry.d.ts +21 -0
  688. package/dist/icons/registry.d.ts.map +1 -0
  689. package/dist/icons/registry.js +692 -0
  690. package/dist/icons/registry.js.map +1 -0
  691. package/dist/icons.cjs +3 -0
  692. package/dist/icons.cjs.map +1 -1
  693. package/dist/icons.js +4 -1
  694. package/dist/icons.js.map +1 -1
  695. package/dist/index.cjs +65 -0
  696. package/dist/index.cjs.map +1 -1
  697. package/dist/index.js +67 -2
  698. package/dist/index.js.map +1 -1
  699. package/dist/layout/AppShell.cjs +92 -56
  700. package/dist/layout/AppShell.cjs.map +1 -1
  701. package/dist/layout/AppShell.d.ts +49 -1
  702. package/dist/layout/AppShell.d.ts.map +1 -1
  703. package/dist/layout/AppShell.js +92 -56
  704. package/dist/layout/AppShell.js.map +1 -1
  705. package/dist/layout/AppShell.nav.cjs +144 -19
  706. package/dist/layout/AppShell.nav.cjs.map +1 -1
  707. package/dist/layout/AppShell.nav.d.ts +6 -1
  708. package/dist/layout/AppShell.nav.d.ts.map +1 -1
  709. package/dist/layout/AppShell.nav.js +144 -19
  710. package/dist/layout/AppShell.nav.js.map +1 -1
  711. package/dist/layout/SplitPane.cjs +23 -7
  712. package/dist/layout/SplitPane.cjs.map +1 -1
  713. package/dist/layout/SplitPane.d.ts +3 -1
  714. package/dist/layout/SplitPane.d.ts.map +1 -1
  715. package/dist/layout/SplitPane.js +23 -7
  716. package/dist/layout/SplitPane.js.map +1 -1
  717. package/dist/lib/format.cjs +86 -4
  718. package/dist/lib/format.cjs.map +1 -1
  719. package/dist/lib/format.d.ts +69 -0
  720. package/dist/lib/format.d.ts.map +1 -1
  721. package/dist/lib/format.js +86 -4
  722. package/dist/lib/format.js.map +1 -1
  723. package/dist/lib/path-tree.cjs +69 -0
  724. package/dist/lib/path-tree.cjs.map +1 -0
  725. package/dist/lib/path-tree.d.ts +54 -0
  726. package/dist/lib/path-tree.d.ts.map +1 -0
  727. package/dist/lib/path-tree.js +69 -0
  728. package/dist/lib/path-tree.js.map +1 -0
  729. package/dist/monaco.d.ts +1 -0
  730. package/dist/monaco.d.ts.map +1 -1
  731. package/dist/overlay/DropdownMenuSubmenu.cjs +13 -7
  732. package/dist/overlay/DropdownMenuSubmenu.cjs.map +1 -1
  733. package/dist/overlay/DropdownMenuSubmenu.d.ts.map +1 -1
  734. package/dist/overlay/DropdownMenuSubmenu.js +13 -7
  735. package/dist/overlay/DropdownMenuSubmenu.js.map +1 -1
  736. package/dist/overlay/Tour.cjs +173 -0
  737. package/dist/overlay/Tour.cjs.map +1 -0
  738. package/dist/overlay/Tour.d.ts +61 -0
  739. package/dist/overlay/Tour.d.ts.map +1 -0
  740. package/dist/overlay/Tour.js +173 -0
  741. package/dist/overlay/Tour.js.map +1 -0
  742. package/dist/overlay/TourCard.cjs +108 -0
  743. package/dist/overlay/TourCard.cjs.map +1 -0
  744. package/dist/overlay/TourCard.d.ts +23 -0
  745. package/dist/overlay/TourCard.d.ts.map +1 -0
  746. package/dist/overlay/TourCard.js +108 -0
  747. package/dist/overlay/TourCard.js.map +1 -0
  748. package/dist/overlay/TourProvider.cjs +160 -0
  749. package/dist/overlay/TourProvider.cjs.map +1 -0
  750. package/dist/overlay/TourProvider.d.ts +31 -0
  751. package/dist/overlay/TourProvider.d.ts.map +1 -0
  752. package/dist/overlay/TourProvider.js +160 -0
  753. package/dist/overlay/TourProvider.js.map +1 -0
  754. package/dist/overlay/TourSpotlight.cjs +47 -0
  755. package/dist/overlay/TourSpotlight.cjs.map +1 -0
  756. package/dist/overlay/TourSpotlight.d.ts +12 -0
  757. package/dist/overlay/TourSpotlight.d.ts.map +1 -0
  758. package/dist/overlay/TourSpotlight.js +47 -0
  759. package/dist/overlay/TourSpotlight.js.map +1 -0
  760. package/dist/overlay/modalStack.cjs +18 -4
  761. package/dist/overlay/modalStack.cjs.map +1 -1
  762. package/dist/overlay/modalStack.d.ts +10 -2
  763. package/dist/overlay/modalStack.d.ts.map +1 -1
  764. package/dist/overlay/modalStack.js +19 -5
  765. package/dist/overlay/modalStack.js.map +1 -1
  766. package/dist/overlay/tour-anchor.cjs +114 -0
  767. package/dist/overlay/tour-anchor.cjs.map +1 -0
  768. package/dist/overlay/tour-anchor.d.ts +30 -0
  769. package/dist/overlay/tour-anchor.d.ts.map +1 -0
  770. package/dist/overlay/tour-anchor.js +114 -0
  771. package/dist/overlay/tour-anchor.js.map +1 -0
  772. package/dist/overlay/tour-context.cjs +12 -0
  773. package/dist/overlay/tour-context.cjs.map +1 -0
  774. package/dist/overlay/tour-context.d.ts +40 -0
  775. package/dist/overlay/tour-context.d.ts.map +1 -0
  776. package/dist/overlay/tour-context.js +12 -0
  777. package/dist/overlay/tour-context.js.map +1 -0
  778. package/dist/overlay/tour-geometry.cjs +65 -0
  779. package/dist/overlay/tour-geometry.cjs.map +1 -0
  780. package/dist/overlay/tour-geometry.d.ts +47 -0
  781. package/dist/overlay/tour-geometry.d.ts.map +1 -0
  782. package/dist/overlay/tour-geometry.js +65 -0
  783. package/dist/overlay/tour-geometry.js.map +1 -0
  784. package/dist/overlay/tour-model.cjs +79 -0
  785. package/dist/overlay/tour-model.cjs.map +1 -0
  786. package/dist/overlay/tour-model.d.ts +29 -0
  787. package/dist/overlay/tour-model.d.ts.map +1 -0
  788. package/dist/overlay/tour-model.js +79 -0
  789. package/dist/overlay/tour-model.js.map +1 -0
  790. package/dist/overlay/tour-progress.cjs +54 -0
  791. package/dist/overlay/tour-progress.cjs.map +1 -0
  792. package/dist/overlay/tour-progress.d.ts +40 -0
  793. package/dist/overlay/tour-progress.d.ts.map +1 -0
  794. package/dist/overlay/tour-progress.js +54 -0
  795. package/dist/overlay/tour-progress.js.map +1 -0
  796. package/dist/overlay/tour-types.d.ts +144 -0
  797. package/dist/overlay/tour-types.d.ts.map +1 -0
  798. package/dist/overlay/use-tour-anchor.cjs +43 -0
  799. package/dist/overlay/use-tour-anchor.cjs.map +1 -0
  800. package/dist/overlay/use-tour-anchor.d.ts +23 -0
  801. package/dist/overlay/use-tour-anchor.d.ts.map +1 -0
  802. package/dist/overlay/use-tour-anchor.js +43 -0
  803. package/dist/overlay/use-tour-anchor.js.map +1 -0
  804. package/dist/overlay/use-tour-rect.cjs +33 -0
  805. package/dist/overlay/use-tour-rect.cjs.map +1 -0
  806. package/dist/overlay/use-tour-rect.d.ts +12 -0
  807. package/dist/overlay/use-tour-rect.d.ts.map +1 -0
  808. package/dist/overlay/use-tour-rect.js +33 -0
  809. package/dist/overlay/use-tour-rect.js.map +1 -0
  810. package/dist/overlay/use-tour-step.cjs +66 -0
  811. package/dist/overlay/use-tour-step.cjs.map +1 -0
  812. package/dist/overlay/use-tour-step.d.ts +45 -0
  813. package/dist/overlay/use-tour-step.d.ts.map +1 -0
  814. package/dist/overlay/use-tour-step.js +66 -0
  815. package/dist/overlay/use-tour-step.js.map +1 -0
  816. package/dist/overlay/zIndex.cjs +8 -0
  817. package/dist/overlay/zIndex.cjs.map +1 -1
  818. package/dist/overlay/zIndex.d.ts +8 -0
  819. package/dist/overlay/zIndex.d.ts.map +1 -1
  820. package/dist/overlay/zIndex.js +8 -0
  821. package/dist/overlay/zIndex.js.map +1 -1
  822. package/dist/rpc/CommandOutput.cjs +8 -0
  823. package/dist/rpc/CommandOutput.cjs.map +1 -1
  824. package/dist/rpc/CommandOutput.d.ts +4 -1
  825. package/dist/rpc/CommandOutput.d.ts.map +1 -1
  826. package/dist/rpc/CommandOutput.js +8 -0
  827. package/dist/rpc/CommandOutput.js.map +1 -1
  828. package/dist/rpc/EntityExplorerApp.cjs +10 -16
  829. package/dist/rpc/EntityExplorerApp.cjs.map +1 -1
  830. package/dist/rpc/EntityExplorerApp.d.ts.map +1 -1
  831. package/dist/rpc/EntityExplorerApp.js +10 -16
  832. package/dist/rpc/EntityExplorerApp.js.map +1 -1
  833. package/dist/rpc/FilterForm.cjs +20 -0
  834. package/dist/rpc/FilterForm.cjs.map +1 -1
  835. package/dist/rpc/FilterForm.js +20 -0
  836. package/dist/rpc/FilterForm.js.map +1 -1
  837. package/dist/rpc/OperationActionBar.cjs +1 -1
  838. package/dist/rpc/OperationActionBar.cjs.map +1 -1
  839. package/dist/rpc/OperationActionBar.js +1 -1
  840. package/dist/rpc/OperationActionBar.js.map +1 -1
  841. package/dist/rpc/OperationCatalog.cjs +83 -7
  842. package/dist/rpc/OperationCatalog.cjs.map +1 -1
  843. package/dist/rpc/OperationCatalog.d.ts.map +1 -1
  844. package/dist/rpc/OperationCatalog.js +84 -8
  845. package/dist/rpc/OperationCatalog.js.map +1 -1
  846. package/dist/rpc/OperationResultView.cjs +2 -0
  847. package/dist/rpc/OperationResultView.cjs.map +1 -1
  848. package/dist/rpc/OperationResultView.d.ts +6 -0
  849. package/dist/rpc/OperationResultView.d.ts.map +1 -1
  850. package/dist/rpc/OperationResultView.js +2 -0
  851. package/dist/rpc/OperationResultView.js.map +1 -1
  852. package/dist/rpc/SchemaActionForm.cjs +2 -21
  853. package/dist/rpc/SchemaActionForm.cjs.map +1 -1
  854. package/dist/rpc/SchemaActionForm.d.ts.map +1 -1
  855. package/dist/rpc/SchemaActionForm.js +3 -22
  856. package/dist/rpc/SchemaActionForm.js.map +1 -1
  857. package/dist/rpc/apiClient.cjs +16 -2
  858. package/dist/rpc/apiClient.cjs.map +1 -1
  859. package/dist/rpc/apiClient.d.ts.map +1 -1
  860. package/dist/rpc/apiClient.js +16 -2
  861. package/dist/rpc/apiClient.js.map +1 -1
  862. package/dist/rpc/formMetadata.cjs +123 -49
  863. package/dist/rpc/formMetadata.cjs.map +1 -1
  864. package/dist/rpc/formMetadata.d.ts +14 -6
  865. package/dist/rpc/formMetadata.d.ts.map +1 -1
  866. package/dist/rpc/formMetadata.js +121 -47
  867. package/dist/rpc/formMetadata.js.map +1 -1
  868. package/dist/rpc/operationFilterSearch.cjs +23 -0
  869. package/dist/rpc/operationFilterSearch.cjs.map +1 -0
  870. package/dist/rpc/operationFilterSearch.d.ts +22 -0
  871. package/dist/rpc/operationFilterSearch.d.ts.map +1 -0
  872. package/dist/rpc/operationFilterSearch.js +23 -0
  873. package/dist/rpc/operationFilterSearch.js.map +1 -0
  874. package/dist/rpc/operationLookupFetcher.cjs +28 -0
  875. package/dist/rpc/operationLookupFetcher.cjs.map +1 -0
  876. package/dist/rpc/operationLookupFetcher.d.ts +17 -0
  877. package/dist/rpc/operationLookupFetcher.d.ts.map +1 -0
  878. package/dist/rpc/operationLookupFetcher.js +28 -0
  879. package/dist/rpc/operationLookupFetcher.js.map +1 -0
  880. package/dist/rpc/surfaceNav.cjs +77 -0
  881. package/dist/rpc/surfaceNav.cjs.map +1 -0
  882. package/dist/rpc/surfaceNav.d.ts +19 -0
  883. package/dist/rpc/surfaceNav.d.ts.map +1 -0
  884. package/dist/rpc/surfaceNav.js +77 -0
  885. package/dist/rpc/surfaceNav.js.map +1 -0
  886. package/dist/rpc/types.cjs.map +1 -1
  887. package/dist/rpc/types.d.ts +21 -2
  888. package/dist/rpc/types.d.ts.map +1 -1
  889. package/dist/rpc/types.js.map +1 -1
  890. package/dist/rpc.cjs +2 -0
  891. package/dist/rpc.cjs.map +1 -1
  892. package/dist/rpc.d.ts +1 -0
  893. package/dist/rpc.d.ts.map +1 -1
  894. package/dist/rpc.js +2 -0
  895. package/dist/rpc.js.map +1 -1
  896. package/dist/styles.css +1 -1
  897. package/dist/utils.cjs +8 -0
  898. package/dist/utils.cjs.map +1 -1
  899. package/dist/utils.d.ts +2 -1
  900. package/dist/utils.d.ts.map +1 -1
  901. package/dist/utils.js +10 -2
  902. package/dist/utils.js.map +1 -1
  903. package/package.json +1 -1
  904. package/dist/data/ai/RuntimeBar.cjs.map +0 -1
  905. package/dist/data/ai/RuntimeBar.d.ts.map +0 -1
  906. package/dist/data/ai/RuntimeBar.js.map +0 -1
  907. package/dist/data/ai/RuntimeBar.model.cjs.map +0 -1
  908. package/dist/data/ai/RuntimeBar.model.d.ts.map +0 -1
  909. package/dist/data/ai/RuntimeBar.model.js.map +0 -1
  910. package/dist/data/ai/RuntimeBarCombo.cjs.map +0 -1
  911. package/dist/data/ai/RuntimeBarCombo.d.ts.map +0 -1
  912. package/dist/data/ai/RuntimeBarCombo.js.map +0 -1
  913. package/dist/data/ai/model-capabilities.cjs.map +0 -1
  914. package/dist/data/ai/model-capabilities.d.ts.map +0 -1
  915. package/dist/data/ai/model-capabilities.js.map +0 -1
  916. package/dist/data/ai/runtime-mode.cjs.map +0 -1
  917. package/dist/data/ai/runtime-mode.d.ts.map +0 -1
  918. package/dist/data/ai/runtime-mode.js.map +0 -1
  919. /package/dist/data/{ai → runtime}/RuntimeBar.model.cjs +0 -0
  920. /package/dist/data/{ai → runtime}/RuntimeBar.model.js +0 -0
  921. /package/dist/data/{ai → runtime}/model-capabilities.cjs +0 -0
  922. /package/dist/data/{ai → runtime}/model-capabilities.d.ts +0 -0
  923. /package/dist/data/{ai → runtime}/model-capabilities.js +0 -0
@@ -0,0 +1,290 @@
1
+ import { jsxs, jsx } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect } from "react";
3
+ import { cn } from "../lib/utils.js";
4
+ import { Icon, LabelIcon } from "../data/Icon.js";
5
+ import { appendInstancePath } from "./json-schema-form-errors.js";
6
+ import { resolveItemSpec, emptyItemsCopy, noItemsLabel, itemCountLabel, itemSummaryFor, addItemLabel } from "./json-schema-form-item-summary.js";
7
+ import { labelSizeClass, controlHeightClass } from "./json-schema-form-size.js";
8
+ import { TONE_GLYPH_CLASS } from "./json-schema-form-tone.js";
9
+ import { fieldInputId, setIndex, removeIndex, duplicateIndex, moveItem, seedFromSchema } from "./json-schema-form-utils.js";
10
+ import { UiChevronDown } from "../icons/components/UiChevronDown.js";
11
+ import { UiChevronRight } from "../icons/components/UiChevronRight.js";
12
+ import { UiAsterisk } from "../icons/components/UiAsterisk.js";
13
+ import { UiChevronUp } from "../icons/components/UiChevronUp.js";
14
+ import { UiCopy } from "../icons/components/UiCopy.js";
15
+ import { UiTrash } from "../icons/components/UiTrash.js";
16
+ import { UiAdd } from "../icons/components/UiAdd.js";
17
+ function AccordionArray({
18
+ field,
19
+ ctx,
20
+ readOnly
21
+ }) {
22
+ const items = Array.isArray(field.value) ? field.value : [];
23
+ const itemSchema = field.itemSchema ?? { type: "object" };
24
+ const spec = field.itemSpec ?? resolveItemSpec(field.schema, itemSchema);
25
+ const emptyCopy = emptyItemsCopy(spec, field.schema);
26
+ const childCtx = {
27
+ ...ctx,
28
+ readOnly,
29
+ depth: ctx.depth + 1,
30
+ ...field.helpDisplay ? { layout: { ...ctx.layout, help: field.helpDisplay } } : {}
31
+ };
32
+ const [expanded, setExpanded] = useState(null);
33
+ const rowRefs = useRef([]);
34
+ const addRef = useRef(null);
35
+ const pendingFocus = useRef(null);
36
+ useEffect(() => {
37
+ var _a, _b;
38
+ const pending = pendingFocus.current;
39
+ if (!pending) return;
40
+ pendingFocus.current = null;
41
+ if (pending.kind === "add") {
42
+ (_a = addRef.current) == null ? void 0 : _a.focus();
43
+ return;
44
+ }
45
+ const row = rowRefs.current[pending.index];
46
+ if (pending.kind === "row") {
47
+ row == null ? void 0 : row.focus();
48
+ return;
49
+ }
50
+ const panel = document.getElementById(panelId(pending.index));
51
+ const input = panel == null ? void 0 : panel.querySelector("[data-jsf-input]");
52
+ (_b = input ?? row) == null ? void 0 : _b.focus();
53
+ });
54
+ function panelId(index) {
55
+ return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-panel`;
56
+ }
57
+ function headerId(index) {
58
+ return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-header`;
59
+ }
60
+ function commit(next) {
61
+ field.onChange(next);
62
+ }
63
+ function add() {
64
+ pendingFocus.current = { kind: "panel", index: items.length };
65
+ setExpanded(items.length);
66
+ commit([...items, seedFromSchema(itemSchema)]);
67
+ }
68
+ function remove(index) {
69
+ setExpanded((open) => open === index ? null : open !== null && open > index ? open - 1 : open);
70
+ pendingFocus.current = items.length === 1 ? { kind: "add", index: 0 } : { kind: "row", index: Math.max(index - 1, 0) };
71
+ commit(removeIndex(items, index));
72
+ }
73
+ function duplicate(index) {
74
+ setExpanded((open) => open !== null && open > index ? open + 1 : open);
75
+ pendingFocus.current = { kind: "row", index: index + 1 };
76
+ commit(duplicateIndex(items, index));
77
+ }
78
+ function move(index, to) {
79
+ setExpanded((open) => open === index ? to : open === to ? index : open);
80
+ pendingFocus.current = { kind: "row", index: to };
81
+ commit(moveItem(items, index, to));
82
+ }
83
+ function handleKeyDown(e, index) {
84
+ const stops = rowRefs.current.length;
85
+ const focusAt = (i) => {
86
+ var _a;
87
+ e.preventDefault();
88
+ (_a = i >= stops ? addRef.current : rowRefs.current[i]) == null ? void 0 : _a.focus();
89
+ };
90
+ if (e.key === "ArrowDown") focusAt(Math.min(index + 1, stops));
91
+ else if (e.key === "ArrowUp" && index > 0) focusAt(index - 1);
92
+ else if (e.key === "Home") focusAt(0);
93
+ else if (e.key === "End") focusAt(stops);
94
+ }
95
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
96
+ /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", labelSizeClass[ctx.size]), children: items.length === 0 ? noItemsLabel(spec) : itemCountLabel(spec, items.length) }),
97
+ /* @__PURE__ */ jsxs("div", { className: "divide-y divide-border rounded-lg border border-border", children: [
98
+ items.map((item, i) => {
99
+ var _a, _b;
100
+ const open = expanded === i;
101
+ const summary = ((_a = field.itemSummary) == null ? void 0 : _a.call(field, { item, index: i })) ?? itemSummaryFor({ item, index: i, spec, itemSchema });
102
+ return /* @__PURE__ */ jsxs("div", { className: "group", children: [
103
+ /* @__PURE__ */ jsxs(
104
+ "div",
105
+ {
106
+ className: cn(
107
+ "flex w-full items-center gap-2 px-3 py-2 hover:bg-accent/40",
108
+ open && "bg-accent/30"
109
+ ),
110
+ children: [
111
+ /* @__PURE__ */ jsxs(
112
+ "button",
113
+ {
114
+ type: "button",
115
+ id: headerId(i),
116
+ "aria-expanded": open,
117
+ "aria-controls": panelId(i),
118
+ ref: (el) => {
119
+ rowRefs.current[i] = el;
120
+ },
121
+ onKeyDown: (e) => handleKeyDown(e, i),
122
+ onClick: () => setExpanded(open ? null : i),
123
+ className: "flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring",
124
+ children: [
125
+ /* @__PURE__ */ jsx(
126
+ Icon,
127
+ {
128
+ icon: open ? UiChevronDown : UiChevronRight,
129
+ className: "shrink-0 text-sm text-muted-foreground"
130
+ }
131
+ ),
132
+ /* @__PURE__ */ jsx(ItemGlyph, { glyph: summary.glyph }),
133
+ /* @__PURE__ */ jsx("span", { className: "shrink-0 text-sm font-medium", children: summary.title }),
134
+ /* @__PURE__ */ jsx(ItemBadge, { badge: summary.badge }),
135
+ summary.flagged && /* @__PURE__ */ jsx(RequiredMark, {}),
136
+ summary.summary && /* @__PURE__ */ jsx("code", { className: "truncate font-mono text-xs text-muted-foreground", children: summary.summary })
137
+ ]
138
+ }
139
+ ),
140
+ !readOnly && /* @__PURE__ */ jsx(
141
+ ItemRowActions,
142
+ {
143
+ index: i,
144
+ title: summary.title,
145
+ size: ctx.size,
146
+ ...i > 0 ? { onUp: () => move(i, i - 1) } : {},
147
+ ...i < items.length - 1 ? { onDown: () => move(i, i + 1) } : {},
148
+ onDuplicate: () => duplicate(i),
149
+ onRemove: () => remove(i)
150
+ }
151
+ )
152
+ ]
153
+ }
154
+ ),
155
+ open && /* @__PURE__ */ jsx(
156
+ "div",
157
+ {
158
+ id: panelId(i),
159
+ role: "region",
160
+ "aria-labelledby": headerId(i),
161
+ className: "border-t border-border bg-muted/20 p-3",
162
+ children: ((_b = ctx.render.renderFieldNodes(
163
+ {
164
+ key: `${field.key}[${i}]`,
165
+ prop: itemSchema,
166
+ required: false,
167
+ value: item,
168
+ onChange: (next) => commit(setIndex(items, i, next)),
169
+ instancePath: appendInstancePath(ctx.instancePath, i)
170
+ },
171
+ childCtx
172
+ )) == null ? void 0 : _b.value) ?? null
173
+ }
174
+ )
175
+ ] }, i);
176
+ }),
177
+ !readOnly && /* @__PURE__ */ jsx(
178
+ AddItemRow,
179
+ {
180
+ buttonRef: addRef,
181
+ label: addItemLabel(spec),
182
+ empty: items.length === 0,
183
+ onAdd: add,
184
+ onKeyDown: (e) => handleKeyDown(e, items.length),
185
+ ...emptyCopy ? { copy: emptyCopy } : {}
186
+ }
187
+ )
188
+ ] })
189
+ ] });
190
+ }
191
+ function AddItemRow({
192
+ label,
193
+ copy,
194
+ empty,
195
+ onAdd,
196
+ onKeyDown,
197
+ buttonRef
198
+ }) {
199
+ return /* @__PURE__ */ jsxs(
200
+ "button",
201
+ {
202
+ type: "button",
203
+ ref: (el) => {
204
+ buttonRef.current = el;
205
+ },
206
+ onClick: onAdd,
207
+ onKeyDown,
208
+ className: cn(
209
+ "group/add flex w-full items-center gap-2 px-3 py-2 text-left text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring",
210
+ empty && "items-start py-5"
211
+ ),
212
+ children: [
213
+ /* @__PURE__ */ jsx(Icon, { icon: UiChevronRight, className: "shrink-0 text-sm opacity-0" }),
214
+ /* @__PURE__ */ jsx("span", { className: "inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-dashed border-border text-foreground/60 group-hover/add:border-primary group-hover/add:text-primary", children: /* @__PURE__ */ jsx(Icon, { icon: UiAdd, className: "text-[13px]" }) }),
215
+ /* @__PURE__ */ jsxs("span", { className: "flex min-w-0 flex-col gap-0.5", children: [
216
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium text-foreground", children: label }),
217
+ copy && /* @__PURE__ */ jsx("span", { className: cn("text-xs", empty ? "max-w-xl leading-snug" : "truncate"), children: copy })
218
+ ] })
219
+ ]
220
+ }
221
+ );
222
+ }
223
+ function ItemGlyph({ glyph }) {
224
+ if (!glyph) return null;
225
+ return /* @__PURE__ */ jsx(
226
+ "span",
227
+ {
228
+ title: glyph.label,
229
+ className: cn(
230
+ "inline-flex size-6 shrink-0 items-center justify-center rounded-md ring-1 ring-inset",
231
+ TONE_GLYPH_CLASS[glyph.tone]
232
+ ),
233
+ children: glyph.icon != null && /* @__PURE__ */ jsx(LabelIcon, { icon: glyph.icon, className: "text-[13px]" })
234
+ }
235
+ );
236
+ }
237
+ function ItemBadge({ badge }) {
238
+ if (!badge) return null;
239
+ return /* @__PURE__ */ jsxs("span", { className: "inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-0.5 text-[11px] text-muted-foreground", children: [
240
+ badge.icon != null && /* @__PURE__ */ jsx(LabelIcon, { icon: badge.icon, className: "text-[13px]" }),
241
+ badge.label
242
+ ] });
243
+ }
244
+ function RequiredMark() {
245
+ return /* @__PURE__ */ jsx("span", { title: "Required", className: "inline-flex shrink-0 items-center text-destructive", children: /* @__PURE__ */ jsx(Icon, { icon: UiAsterisk, className: "text-[11px]" }) });
246
+ }
247
+ function ItemRowActions({
248
+ index,
249
+ title,
250
+ size,
251
+ onUp,
252
+ onDown,
253
+ onDuplicate,
254
+ onRemove
255
+ }) {
256
+ const action = cn(
257
+ "inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30",
258
+ controlHeightClass[size]
259
+ );
260
+ return /* @__PURE__ */ jsxs("div", { className: "ml-auto flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover:opacity-100", children: [
261
+ /* @__PURE__ */ jsx("button", { type: "button", "aria-label": `Move ${title} up`, disabled: !onUp, className: action, onClick: onUp, children: /* @__PURE__ */ jsx(Icon, { icon: UiChevronUp, className: "text-sm" }) }),
262
+ /* @__PURE__ */ jsx(
263
+ "button",
264
+ {
265
+ type: "button",
266
+ "aria-label": `Move ${title} down`,
267
+ disabled: !onDown,
268
+ className: action,
269
+ onClick: onDown,
270
+ children: /* @__PURE__ */ jsx(Icon, { icon: UiChevronDown, className: "text-sm" })
271
+ }
272
+ ),
273
+ /* @__PURE__ */ jsx("button", { type: "button", "aria-label": `Duplicate ${title}`, className: action, onClick: onDuplicate, children: /* @__PURE__ */ jsx(Icon, { icon: UiCopy, className: "text-sm" }) }),
274
+ /* @__PURE__ */ jsx(
275
+ "button",
276
+ {
277
+ type: "button",
278
+ "aria-label": `Remove ${title}`,
279
+ className: cn(action, "hover:bg-destructive/10 hover:text-destructive"),
280
+ onClick: onRemove,
281
+ "data-item-index": index,
282
+ children: /* @__PURE__ */ jsx(Icon, { icon: UiTrash, className: "text-sm" })
283
+ }
284
+ )
285
+ ] });
286
+ }
287
+ export {
288
+ AccordionArray
289
+ };
290
+ //# sourceMappingURL=json-schema-form-accordion-array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-schema-form-accordion-array.js","sources":["../../src/components/json-schema-form-accordion-array.tsx"],"sourcesContent":["import {\n useEffect,\n useRef,\n useState,\n type KeyboardEvent,\n type MutableRefObject,\n} from \"react\";\nimport { cn } from \"../lib/utils\";\nimport { Icon, LabelIcon } from \"../data/Icon\";\nimport {\n UiAdd,\n UiAsterisk,\n UiChevronDown,\n UiChevronRight,\n UiChevronUp,\n UiCopy,\n UiTrash,\n} from \"../icons\";\nimport { appendInstancePath } from \"./json-schema-form-errors\";\nimport {\n addItemLabel,\n emptyItemsCopy,\n itemCountLabel,\n itemSummaryFor,\n noItemsLabel,\n resolveItemSpec,\n} from \"./json-schema-form-item-summary\";\nimport { controlHeightClass, labelSizeClass, type FormSize } from \"./json-schema-form-size\";\nimport { TONE_GLYPH_CLASS } from \"./json-schema-form-tone\";\nimport {\n duplicateIndex,\n fieldInputId,\n moveItem,\n removeIndex,\n seedFromSchema,\n setIndex,\n} from \"./json-schema-form-utils\";\nimport type {\n ArrayItemSummary,\n FieldControl,\n RenderContext,\n} from \"./json-schema-form-types\";\n\n// AccordionArray renders an object-item array as a list of one-line summary\n// rows, expanding one at a time into the item's own sub-form. It exists because\n// a ten-property item stacked in full costs ~700px of screen each, and a list of\n// them says nothing about which item is which.\n//\n// \"Add\" is the list's own last row rather than a button beside it: the\n// affordance sits exactly where the next item will appear, and at zero items\n// that same row IS the empty state — one control, no separate screen.\nexport function AccordionArray({\n field,\n ctx,\n readOnly,\n}: {\n field: FieldControl;\n ctx: RenderContext;\n readOnly: boolean;\n}) {\n const items = Array.isArray(field.value) ? field.value : [];\n const itemSchema = field.itemSchema ?? { type: \"object\" };\n const spec = field.itemSpec ?? resolveItemSpec(field.schema, itemSchema);\n const emptyCopy = emptyItemsCopy(spec, field.schema);\n // The array's help mode governs its whole subtree. Without this the fields\n // inside an expanded row keep the form-level default, so an accordion that\n // resolved to \"hover\" would still stack a two-line paragraph under every\n // control — the exact height the summary rows exist to reclaim.\n const childCtx: RenderContext = {\n ...ctx,\n readOnly,\n depth: ctx.depth + 1,\n ...(field.helpDisplay\n ? { layout: { ...ctx.layout, help: field.helpDisplay } }\n : {}),\n };\n\n // Which row is open is transient view state, like the form's field filter —\n // it is deliberately local and never persisted. The INDEX is the key, not the\n // item: every keystroke replaces the item object (setIndex returns a fresh\n // one), so any identity-based map would die on the first character typed.\n // That makes it the mutators' job to keep this pointing at the same row.\n const [expanded, setExpanded] = useState<number | null>(null);\n const rowRefs = useRef<Array<HTMLButtonElement | null>>([]);\n const addRef = useRef<HTMLButtonElement | null>(null);\n const pendingFocus = useRef<{ kind: \"panel\" | \"row\" | \"add\"; index: number } | null>(null);\n\n useEffect(() => {\n const pending = pendingFocus.current;\n if (!pending) return;\n pendingFocus.current = null;\n if (pending.kind === \"add\") {\n addRef.current?.focus();\n return;\n }\n const row = rowRefs.current[pending.index];\n if (pending.kind === \"row\") {\n row?.focus();\n return;\n }\n // Land in the new item's first editable control, so adding an item leaves\n // the caret where the author is about to type.\n const panel = document.getElementById(panelId(pending.index));\n const input = panel?.querySelector<HTMLElement>(\"[data-jsf-input]\");\n (input ?? row)?.focus();\n });\n\n function panelId(index: number): string {\n return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-panel`;\n }\n function headerId(index: number): string {\n return `${fieldInputId(appendInstancePath(ctx.instancePath, index), ctx.idPrefix)}-header`;\n }\n\n function commit(next: unknown[]) {\n field.onChange(next);\n }\n\n function add() {\n pendingFocus.current = { kind: \"panel\", index: items.length };\n setExpanded(items.length);\n commit([...items, seedFromSchema(itemSchema)]);\n }\n\n function remove(index: number) {\n setExpanded((open) => (open === index ? null : open !== null && open > index ? open - 1 : open));\n pendingFocus.current =\n items.length === 1 ? { kind: \"add\", index: 0 } : { kind: \"row\", index: Math.max(index - 1, 0) };\n commit(removeIndex(items, index));\n }\n\n function duplicate(index: number) {\n setExpanded((open) => (open !== null && open > index ? open + 1 : open));\n pendingFocus.current = { kind: \"row\", index: index + 1 };\n commit(duplicateIndex(items, index));\n }\n\n function move(index: number, to: number) {\n // Follow the item, not the slot — otherwise moving an open row silently\n // expands whichever row took its place.\n setExpanded((open) => (open === index ? to : open === to ? index : open));\n pendingFocus.current = { kind: \"row\", index: to };\n commit(moveItem(items, index, to));\n }\n\n // Roving focus across the headers, with the add row as the final stop.\n function handleKeyDown(e: KeyboardEvent<HTMLButtonElement>, index: number) {\n const stops = rowRefs.current.length;\n const focusAt = (i: number) => {\n e.preventDefault();\n (i >= stops ? addRef.current : rowRefs.current[i])?.focus();\n };\n if (e.key === \"ArrowDown\") focusAt(Math.min(index + 1, stops));\n else if (e.key === \"ArrowUp\" && index > 0) focusAt(index - 1);\n else if (e.key === \"Home\") focusAt(0);\n else if (e.key === \"End\") focusAt(stops);\n }\n\n return (\n <div className=\"flex flex-col gap-2\">\n <p className={cn(\"text-muted-foreground\", labelSizeClass[ctx.size])}>\n {items.length === 0 ? noItemsLabel(spec) : itemCountLabel(spec, items.length)}\n </p>\n <div className=\"divide-y divide-border rounded-lg border border-border\">\n {items.map((item, i) => {\n const open = expanded === i;\n const summary =\n field.itemSummary?.({ item, index: i }) ??\n itemSummaryFor({ item, index: i, spec, itemSchema });\n return (\n <div key={i} className=\"group\">\n {/* The row is a plain element, NOT a button: the actions beside it\n are buttons, and nesting interactive content is invalid DOM\n with undefined click targeting. Only the disclosure toggles. */}\n <div\n className={cn(\n \"flex w-full items-center gap-2 px-3 py-2 hover:bg-accent/40\",\n open && \"bg-accent/30\",\n )}\n >\n <button\n type=\"button\"\n id={headerId(i)}\n aria-expanded={open}\n aria-controls={panelId(i)}\n ref={(el) => {\n rowRefs.current[i] = el;\n }}\n onKeyDown={(e) => handleKeyDown(e, i)}\n onClick={() => setExpanded(open ? null : i)}\n className=\"flex min-w-0 flex-1 items-center gap-2 text-left focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n >\n <Icon\n icon={open ? UiChevronDown : UiChevronRight}\n className=\"shrink-0 text-sm text-muted-foreground\"\n />\n <ItemGlyph glyph={summary.glyph} />\n <span className=\"shrink-0 text-sm font-medium\">{summary.title}</span>\n <ItemBadge badge={summary.badge} />\n {summary.flagged && <RequiredMark />}\n {summary.summary && (\n <code className=\"truncate font-mono text-xs text-muted-foreground\">\n {summary.summary}\n </code>\n )}\n </button>\n {!readOnly && (\n <ItemRowActions\n index={i}\n title={summary.title}\n size={ctx.size}\n {...(i > 0 ? { onUp: () => move(i, i - 1) } : {})}\n {...(i < items.length - 1 ? { onDown: () => move(i, i + 1) } : {})}\n onDuplicate={() => duplicate(i)}\n onRemove={() => remove(i)}\n />\n )}\n </div>\n {open && (\n <div\n id={panelId(i)}\n role=\"region\"\n aria-labelledby={headerId(i)}\n className=\"border-t border-border bg-muted/20 p-3\"\n >\n {/* Recurse through the shared pipeline so consumer pre/post\n extensions still apply to the item and its properties. */}\n {ctx.render.renderFieldNodes(\n {\n key: `${field.key}[${i}]`,\n prop: itemSchema,\n required: false,\n value: item,\n onChange: (next) => commit(setIndex(items, i, next)),\n instancePath: appendInstancePath(ctx.instancePath, i),\n },\n childCtx,\n )?.value ?? null}\n </div>\n )}\n </div>\n );\n })}\n {!readOnly && (\n <AddItemRow\n buttonRef={addRef}\n label={addItemLabel(spec)}\n empty={items.length === 0}\n onAdd={add}\n onKeyDown={(e) => handleKeyDown(e, items.length)}\n {...(emptyCopy ? { copy: emptyCopy } : {})}\n />\n )}\n </div>\n </div>\n );\n}\n\n// AddItemRow is the list's own final row. At zero items it grows to carry the\n// schema's explanation of what an item is — so the empty state is the same\n// control the author will use, not a separate screen they have to leave.\nfunction AddItemRow({\n label,\n copy,\n empty,\n onAdd,\n onKeyDown,\n buttonRef,\n}: {\n label: string;\n copy?: string;\n empty: boolean;\n onAdd: () => void;\n onKeyDown: (e: KeyboardEvent<HTMLButtonElement>) => void;\n buttonRef: MutableRefObject<HTMLButtonElement | null>;\n}) {\n return (\n <button\n type=\"button\"\n ref={(el) => {\n buttonRef.current = el;\n }}\n onClick={onAdd}\n onKeyDown={onKeyDown}\n className={cn(\n \"group/add flex w-full items-center gap-2 px-3 py-2 text-left text-muted-foreground hover:bg-accent/40 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring\",\n empty && \"items-start py-5\",\n )}\n >\n {/* Holds the chevron column, so this row lines up with the ones above it. */}\n <Icon icon={UiChevronRight} className=\"shrink-0 text-sm opacity-0\" />\n <span className=\"inline-flex size-6 shrink-0 items-center justify-center rounded-md border border-dashed border-border text-foreground/60 group-hover/add:border-primary group-hover/add:text-primary\">\n <Icon icon={UiAdd} className=\"text-[13px]\" />\n </span>\n <span className=\"flex min-w-0 flex-col gap-0.5\">\n <span className=\"text-sm font-medium text-foreground\">{label}</span>\n {copy && (\n <span className={cn(\"text-xs\", empty ? \"max-w-xl leading-snug\" : \"truncate\")}>{copy}</span>\n )}\n </span>\n </button>\n );\n}\n\nfunction ItemGlyph({ glyph }: { glyph?: ArrayItemSummary[\"glyph\"] }) {\n if (!glyph) return null;\n return (\n <span\n title={glyph.label}\n className={cn(\n \"inline-flex size-6 shrink-0 items-center justify-center rounded-md ring-1 ring-inset\",\n TONE_GLYPH_CLASS[glyph.tone],\n )}\n >\n {glyph.icon != null && <LabelIcon icon={glyph.icon} className=\"text-[13px]\" />}\n </span>\n );\n}\n\nfunction ItemBadge({ badge }: { badge?: ArrayItemSummary[\"badge\"] }) {\n if (!badge) return null;\n return (\n <span className=\"inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-2 py-0.5 text-[11px] text-muted-foreground\">\n {badge.icon != null && <LabelIcon icon={badge.icon} className=\"text-[13px]\" />}\n {badge.label}\n </span>\n );\n}\n\nfunction RequiredMark() {\n return (\n <span title=\"Required\" className=\"inline-flex shrink-0 items-center text-destructive\">\n <Icon icon={UiAsterisk} className=\"text-[11px]\" />\n </span>\n );\n}\n\nfunction ItemRowActions({\n index,\n title,\n size,\n onUp,\n onDown,\n onDuplicate,\n onRemove,\n}: {\n index: number;\n title: string;\n size: FormSize;\n onUp?: () => void;\n onDown?: () => void;\n onDuplicate: () => void;\n onRemove: () => void;\n}) {\n // Hidden until the row is hovered or something inside it takes focus, so a\n // long list is not a wall of permanently dim icons — but keyboard users see\n // them the moment they arrive.\n const action = cn(\n \"inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground disabled:opacity-30\",\n controlHeightClass[size],\n );\n return (\n <div className=\"ml-auto flex shrink-0 items-center gap-0.5 opacity-0 transition-opacity focus-within:opacity-100 group-hover:opacity-100\">\n <button type=\"button\" aria-label={`Move ${title} up`} disabled={!onUp} className={action} onClick={onUp}>\n <Icon icon={UiChevronUp} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n aria-label={`Move ${title} down`}\n disabled={!onDown}\n className={action}\n onClick={onDown}\n >\n <Icon icon={UiChevronDown} className=\"text-sm\" />\n </button>\n <button type=\"button\" aria-label={`Duplicate ${title}`} className={action} onClick={onDuplicate}>\n <Icon icon={UiCopy} className=\"text-sm\" />\n </button>\n <button\n type=\"button\"\n aria-label={`Remove ${title}`}\n className={cn(action, \"hover:bg-destructive/10 hover:text-destructive\")}\n onClick={onRemove}\n data-item-index={index}\n >\n <Icon icon={UiTrash} className=\"text-sm\" />\n </button>\n </div>\n );\n}\n"],"names":[],"mappings":"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"}
@@ -7,67 +7,101 @@ const Icon = require("../data/Icon.cjs");
7
7
  const FilterPill = require("../data/FilterPill.cjs");
8
8
  const button = require("./button.cjs");
9
9
  const jsonSchemaFormSize = require("./json-schema-form-size.cjs");
10
+ const jsonSchemaFormAccordionArray = require("./json-schema-form-accordion-array.cjs");
10
11
  const jsonSchemaFormResolve = require("./json-schema-form-resolve.cjs");
11
12
  const jsonSchemaFormErrors = require("./json-schema-form-errors.cjs");
13
+ const jsonSchemaFormTableArray = require("./json-schema-form-table-array.cjs");
12
14
  const jsonSchemaFormUtils = require("./json-schema-form-utils.cjs");
13
15
  const UiAdd = require("../icons/components/UiAdd.cjs");
14
16
  const UiClose = require("../icons/components/UiClose.cjs");
15
- const UiTrash = require("../icons/components/UiTrash.cjs");
16
17
  const UiChevronUp = require("../icons/components/UiChevronUp.cjs");
17
18
  const UiChevronDown = require("../icons/components/UiChevronDown.cjs");
18
- function ArrayControl({ field, fieldId, ctx }) {
19
+ const UiTrash = require("../icons/components/UiTrash.cjs");
20
+ function ArrayControl({
21
+ field,
22
+ fieldId,
23
+ ctx
24
+ }) {
19
25
  const readOnly = ctx.readOnly || field.readOnly === true;
20
26
  if (field.arrayDisplay === "filter-pills" && enumItemOptions(field).length > 0) {
21
- return /* @__PURE__ */ jsxRuntime.jsx(FilterPillArray, { field, fieldId, readOnly, size: ctx.size });
27
+ return /* @__PURE__ */ jsxRuntime.jsx(
28
+ FilterPillArray,
29
+ {
30
+ field,
31
+ fieldId,
32
+ readOnly,
33
+ size: ctx.size
34
+ }
35
+ );
36
+ }
37
+ if (field.arrayDisplay === "accordion" && jsonSchemaFormUtils.hasObjectItemProperties(field.itemSchema)) {
38
+ return /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormAccordionArray.AccordionArray, { field, ctx, readOnly });
22
39
  }
23
40
  if (jsonSchemaFormResolve.isScalarStringItems(field.itemSchema)) {
24
- return /* @__PURE__ */ jsxRuntime.jsx(TagArray, { field, fieldId, readOnly, size: ctx.size });
41
+ return /* @__PURE__ */ jsxRuntime.jsx(
42
+ TagArray,
43
+ {
44
+ field,
45
+ fieldId,
46
+ readOnly,
47
+ size: ctx.size
48
+ }
49
+ );
25
50
  }
26
- if (field.layout === "table" && hasObjectItemProperties(field.itemSchema)) {
27
- return /* @__PURE__ */ jsxRuntime.jsx(TableArray, { field, ctx, readOnly });
51
+ if (field.layout === "table" && jsonSchemaFormUtils.hasObjectItemProperties(field.itemSchema)) {
52
+ return /* @__PURE__ */ jsxRuntime.jsx(jsonSchemaFormTableArray.TableArray, { field, ctx, readOnly });
28
53
  }
29
54
  const items = Array.isArray(field.value) ? field.value : [];
30
55
  const itemSchema = field.itemSchema ?? { type: "string" };
31
56
  const childCtx = { ...ctx, readOnly, depth: ctx.depth + 1 };
32
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils.cn("flex flex-col rounded-md border border-input p-2", jsonSchemaFormSize.fieldInnerGapClass[ctx.size]), children: [
33
- items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_auto] items-start gap-2", children: [
34
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: ctx.render.renderFieldRow(
35
- {
36
- key: `${field.key}[${i}]`,
37
- prop: itemSchema,
38
- required: false,
39
- value: item,
40
- onChange: (next) => field.onChange(jsonSchemaFormUtils.setIndex(items, i, next)),
41
- instancePath: jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, i)
42
- },
43
- childCtx,
44
- { labelOverride: `Item ${i + 1}` }
45
- ) }),
46
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
47
- ItemControls,
48
- {
49
- onUp: i > 0 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i - 1)) : void 0,
50
- onDown: i < items.length - 1 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i + 1)) : void 0,
51
- onRemove: () => field.onChange(jsonSchemaFormUtils.removeIndex(items, i)),
52
- index: i,
53
- size: ctx.size
54
- }
55
- )
56
- ] }, i)),
57
- !readOnly && /* @__PURE__ */ jsxRuntime.jsxs(
58
- button.Button,
59
- {
60
- type: "button",
61
- variant: "outline",
62
- className: utils.cn("gap-1.5", jsonSchemaFormSize.inputSizeClass[ctx.size]),
63
- onClick: () => field.onChange([...items, jsonSchemaFormUtils.seedFromSchema(itemSchema)]),
64
- children: [
65
- /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiAdd.UiAdd, className: "text-sm" }),
66
- "Add item"
67
- ]
68
- }
69
- )
70
- ] });
57
+ return /* @__PURE__ */ jsxRuntime.jsxs(
58
+ "div",
59
+ {
60
+ className: utils.cn(
61
+ "flex flex-col rounded-md border border-input p-2",
62
+ jsonSchemaFormSize.fieldInnerGapClass[ctx.size]
63
+ ),
64
+ children: [
65
+ items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-[1fr_auto] items-start gap-2", children: [
66
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "min-w-0", children: ctx.render.renderFieldRow(
67
+ {
68
+ key: `${field.key}[${i}]`,
69
+ prop: itemSchema,
70
+ required: false,
71
+ value: item,
72
+ onChange: (next) => field.onChange(jsonSchemaFormUtils.setIndex(items, i, next)),
73
+ instancePath: jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, i)
74
+ },
75
+ childCtx,
76
+ { labelOverride: `Item ${i + 1}` }
77
+ ) }),
78
+ !readOnly && /* @__PURE__ */ jsxRuntime.jsx(
79
+ ItemControls,
80
+ {
81
+ onUp: i > 0 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i - 1)) : void 0,
82
+ onDown: i < items.length - 1 ? () => field.onChange(jsonSchemaFormUtils.moveItem(items, i, i + 1)) : void 0,
83
+ onRemove: () => field.onChange(jsonSchemaFormUtils.removeIndex(items, i)),
84
+ index: i,
85
+ size: ctx.size
86
+ }
87
+ )
88
+ ] }, i)),
89
+ !readOnly && /* @__PURE__ */ jsxRuntime.jsxs(
90
+ button.Button,
91
+ {
92
+ type: "button",
93
+ variant: "outline",
94
+ className: utils.cn("gap-1.5", jsonSchemaFormSize.inputSizeClass[ctx.size]),
95
+ onClick: () => field.onChange([...items, jsonSchemaFormUtils.seedFromSchema(itemSchema)]),
96
+ children: [
97
+ /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiAdd.UiAdd, className: "text-sm" }),
98
+ "Add item"
99
+ ]
100
+ }
101
+ )
102
+ ]
103
+ }
104
+ );
71
105
  }
72
106
  function enumItemOptions(field) {
73
107
  var _a;
@@ -90,9 +124,13 @@ function FilterPillArray({
90
124
  }) {
91
125
  const options = enumItemOptions(field);
92
126
  const validValues = new Set(options.map((option) => option.value));
93
- const explicitValues = toStringArray(field.value).filter((value) => validValues.has(value));
127
+ const explicitValues = toStringArray(field.value).filter(
128
+ (value) => validValues.has(value)
129
+ );
94
130
  const implicitAll = explicitValues.length === 0;
95
- const selected = new Set(implicitAll ? options.map((option) => option.value) : explicitValues);
131
+ const selected = new Set(
132
+ implicitAll ? options.map((option) => option.value) : explicitValues
133
+ );
96
134
  function commit(nextSelected) {
97
135
  const next = options.map((option) => option.value).filter((value) => nextSelected.has(value));
98
136
  field.onChange(next.length === options.length ? [] : next);
@@ -132,67 +170,6 @@ function FilterPillArray({
132
170
  }
133
171
  );
134
172
  }
135
- function hasObjectItemProperties(items) {
136
- return !!items && !!items.properties && Object.keys(items.properties).length > 0;
137
- }
138
- function TableArray({ field, ctx, readOnly }) {
139
- const items = Array.isArray(field.value) ? field.value : [];
140
- const itemSchema = field.itemSchema ?? { type: "object" };
141
- const columns = Object.entries(itemSchema.properties ?? {});
142
- const childCtx = { ...ctx, readOnly, depth: ctx.depth + 1 };
143
- function cell(item, rowIndex, col, prop) {
144
- const obj = jsonSchemaFormUtils.isPlainObject(item) ? item : {};
145
- const nodes = ctx.render.renderFieldNodes(
146
- {
147
- key: `${field.key}[${rowIndex}].${col}`,
148
- prop,
149
- required: false,
150
- value: obj[col],
151
- onChange: (next) => field.onChange(jsonSchemaFormUtils.setIndex(items, rowIndex, { ...obj, [col]: next })),
152
- instancePath: jsonSchemaFormErrors.appendInstancePath(jsonSchemaFormErrors.appendInstancePath(ctx.instancePath, rowIndex), col)
153
- },
154
- childCtx
155
- );
156
- return (nodes == null ? void 0 : nodes.value) ?? null;
157
- }
158
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "overflow-x-auto rounded-md border border-input", children: [
159
- /* @__PURE__ */ jsxRuntime.jsxs("table", { className: "w-full text-sm", children: [
160
- /* @__PURE__ */ jsxRuntime.jsx("thead", { children: /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-input bg-muted/40 text-left", children: [
161
- columns.map(([col, prop]) => /* @__PURE__ */ jsxRuntime.jsx("th", { className: "px-2 py-1 text-xs font-medium text-muted-foreground", children: typeof prop.title === "string" && prop.title ? prop.title : col }, col)),
162
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx("th", { className: "w-10 px-2 py-1" })
163
- ] }) }),
164
- /* @__PURE__ */ jsxRuntime.jsx("tbody", { children: items.map((item, i) => /* @__PURE__ */ jsxRuntime.jsxs("tr", { className: "border-b border-input last:border-b-0 align-top", children: [
165
- columns.map(([col, prop]) => /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-2 py-1", children: cell(item, i, col, prop) }, col)),
166
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx("td", { className: "px-2 py-1", children: /* @__PURE__ */ jsxRuntime.jsx(
167
- "button",
168
- {
169
- type: "button",
170
- "aria-label": `Remove item ${i + 1}`,
171
- className: utils.cn(
172
- "inline-flex aspect-square items-center justify-center rounded text-muted-foreground hover:bg-accent hover:text-foreground",
173
- jsonSchemaFormSize.controlHeightClass[ctx.size]
174
- ),
175
- onClick: () => field.onChange(jsonSchemaFormUtils.removeIndex(items, i)),
176
- children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiTrash.UiTrash, className: "text-sm" })
177
- }
178
- ) })
179
- ] }, i)) })
180
- ] }),
181
- !readOnly && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "p-2", children: /* @__PURE__ */ jsxRuntime.jsxs(
182
- button.Button,
183
- {
184
- type: "button",
185
- variant: "outline",
186
- className: utils.cn("gap-1.5", jsonSchemaFormSize.inputSizeClass[ctx.size]),
187
- onClick: () => field.onChange([...items, jsonSchemaFormUtils.seedFromSchema(itemSchema)]),
188
- children: [
189
- /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiAdd.UiAdd, className: "text-sm" }),
190
- "Add item"
191
- ]
192
- }
193
- ) })
194
- ] });
195
- }
196
173
  function ItemControls({
197
174
  onUp,
198
175
  onDown,
@@ -227,7 +204,16 @@ function ItemControls({
227
204
  children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiChevronDown.UiChevronDown, className: "text-sm" })
228
205
  }
229
206
  ),
230
- /* @__PURE__ */ jsxRuntime.jsx("button", { type: "button", "aria-label": `Remove item ${index + 1}`, className: actionClassName, onClick: onRemove, children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiTrash.UiTrash, className: "text-sm" }) })
207
+ /* @__PURE__ */ jsxRuntime.jsx(
208
+ "button",
209
+ {
210
+ type: "button",
211
+ "aria-label": `Remove item ${index + 1}`,
212
+ className: actionClassName,
213
+ onClick: onRemove,
214
+ children: /* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { icon: UiTrash.UiTrash, className: "text-sm" })
215
+ }
216
+ )
231
217
  ] });
232
218
  }
233
219
  function TagArray({
@@ -287,7 +273,10 @@ function TagArray({
287
273
  {
288
274
  id: fieldId,
289
275
  "data-jsf-input": true,
290
- className: utils.cn("min-w-32 flex-1 bg-transparent px-1 py-1 outline-none", jsonSchemaFormSize.labelSizeClass[size]),
276
+ className: utils.cn(
277
+ "min-w-32 flex-1 bg-transparent px-1 py-1 outline-none",
278
+ jsonSchemaFormSize.labelSizeClass[size]
279
+ ),
291
280
  placeholder: tags.length === 0 ? jsonSchemaFormUtils.defaultPlaceholder(field.schema) : "",
292
281
  onKeyDown: handleKeyDown,
293
282
  onBlur: (e) => commit(e.currentTarget.value, e.currentTarget)